# Maintainer: jc_gargma # Maintainer (Arch): Kyle Keen # # I maintain this because: # Arch version lacks additional optimization and hardening flags # Arch version has non-functional desktop file # Arch version lacks the MSX++UnDeadPeopleEdition Legacy tileset # Arch version lacks the @ soundpack # Arch version lacks the CO.AG musicpack # Arch version lacks my custom mods pkgbase=cataclysm-dda pkgname=(cataclysm-dda cataclysm-dda-tiles) pkgname=cataclysm-dda pkgver=0.E.2 _pkgver=0.E-2 pkgrel=1.48 pkgdesc="A post-apocalyptic roguelike." #url="http://cataclysmrl.blogspot.com/" #url="http://www.cataclysm.glyphgryph.com/" #url="http://en.cataclysmdda.com/" url="https://cataclysmdda.org/" arch=('x86_64' 'aarch64') license=("CCPL:by-sa") depends=('ncurses' 'lua' 'hicolor-icon-theme' 'gettext') makedepends=('sdl2_image' 'sdl2_ttf' 'sdl2_mixer' 'freetype2' 'astyle') source=("$pkgname-$_pkgver.tar.gz::https://github.com/CleverRaven/Cataclysm-DDA/archive/$_pkgver.tar.gz" "cataclysm-dda.desktop" "cataclysm-dda-tiles.desktop" "hotfix-vehicle-heater-cooler-intensity-reduced.patch" "hotfix-tacoma-barn-door-position.patch" "0001-quiverfull-house-correct-stairs.patch" "0002-ankle-ammo-pouch-is-not-a-backpack.patch" "0003-inconsistent-ammo-names.patch" "0004-tacoma-clinic-add-missing-floor.patch" "0005-allow-bio-firestarter-on-smoker.patch" "0006-npcs-eat-when-hungry.patch" "cataclysm-dda-tileset_undeadpeople-legacy.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-tileset_undeadpeople-legacy.git/snapshot/cataclysm-dda-tileset_undeadpeople-legacy-master.tar.xz" "cataclysm-dda-soundpack_jcsoundpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-soundpack_jcsoundpack.git/snapshot/cataclysm-dda-soundpack_jcsoundpack-master.tar.xz" "cataclysm-dda-musicpack_coag-musicpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-musicpack_coag-musicpack.git/snapshot/cataclysm-dda-musicpack_coag-musicpack-master.tar.xz" "cataclysm-dda-mod_hack-fix.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_hack-fix.git/snapshot/cataclysm-dda-mod_hack-fix-master.tar.xz" "cataclysm-dda-mod_stackable-currency.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_stackable-currency.git/snapshot/cataclysm-dda-mod_stackable-currency-master.tar.xz" "cataclysm-dda-mod_faction-camp-recipe-expansion.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_faction-camp-recipe-expansion.git/snapshot/cataclysm-dda-mod_faction-camp-recipe-expansion-master.tar.xz" "cataclysm-dda-mod_recipe-fixes.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_recipe-fixes.git/snapshot/cataclysm-dda-mod_recipe-fixes-master.tar.xz" "cataclysm-dda-mod_caseless-crafting.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_caseless-crafting.git/snapshot/cataclysm-dda-mod_caseless-crafting-master.tar.xz" "cataclysm-dda-mod_grenade-crafting.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_grenade-crafting.git/snapshot/cataclysm-dda-mod_grenade-crafting-master.tar.xz" "cataclysm-dda-mod_survivorheadgear-crafting.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_survivorheadgear-crafting.git/snapshot/cataclysm-dda-mod_survivorheadgear-crafting-master.tar.xz" "cataclysm-dda-mod_hk-loadout.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_hk-loadout.git/snapshot/cataclysm-dda-mod_hk-loadout-master.tar.xz" "cataclysm-dda-mod_battle-maid-redone.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_battle-maid-redone.git/snapshot/cataclysm-dda-mod_battle-maid-redone-master.tar.xz" ) b2sums=('a2aa335a762573a8d41f0d0a908ffa16e5b3156aab29062a5e47a1a45d9d3ff793870c5565c86a4efc528f8b6a429a2e9ca6b3a905d5877a3edb4cd150c50638' '8cff87d80bf30b86f995f77a97cc1ddb7b809148d100f3c0d74e706fe59eac52de55710fb7aed1abd59836c05f2474c7d68455736aac4f229d1cdf806d7240a1' '8ffff827ed464af678497da5129eb69d3d1a4c6994bbcc00ef7f7b240cd04e7961c3c0ac52d6940252241406c04e647fac19c9327847afced33988eb15973ba8' '3659d59eec3167bdb647cb622f15fe899516980ac92972393589574db23a580368b449812ec75ec74cfb86082a1c12896fc9f26b7c16c36ed9ad8506d41eac67' 'ce0dd5121e814e0fcd79d68362c80a83bfe70f970be9d5d6f6fe5f6a56ed3f041be4d560aaf02225c3ce7c457dc63bc3adf0709d4b89a81c18184ff5341eb5d3' '8232c6a10fd1f608304982ae7f03eb8afc663be76cdc00aee46ecb58de838e21fdc8673841266ccd00153263f7b15b59dcd1fc6ece86834509d7ccb2cacf08fa' 'af47a9372ba990bc97d17362c8d89847177e6cbefaa241c23bcdc670ef29d82bf150983f4c730753cabaa77a01f8e966307831cdc192a92237d5f3e8e6599d2b' '3936f88fab90b344299a62bb5bc836d03b1bb8293d2ca4cbb8a48468497119db2174f2b37a1775c0aed1be07107c4ae815f6308efa633abf76bbd6ba458ff66b' 'b8a64accada87ee5be989c5307805610c9b5c0327bc107aab237ac3225dd9e4c51b6c79a2a7de15fe187d3c32d7cbe1c462f9b0e9fb5d5a55a74236c7061e96e' 'c2ff7458d4f71a3c328a49795804b89c75ac6c4f4ec193c899501346afdba9673b8624bf60ffa3aea5256412248ff304e8731914971b074aee644b2c465ac483' 'b256081baa22b6c0f2a56c4151393146451fe119cd724fc4d883331643e420348e6e6c54c4f32e34d287090e917f9223cac23b6275677e4c3d23cf4b38229904' '6af4597a1dfa9eeebc41d3fc17b0d48115ea948510917c114528ba37643354d1c8472fb3d92d59f408be10ea396704a6ad7234df02be7970a59275b057bd6105' '6970ad8e1023ffd002be0e36600cbbd4c3c5a45494b121833f1499084922b0720e0b5d79adab19e7eb007b4398fe449e973729936aded2c63a0293649ef628c1' '353fed5883383063b2b2d3a81f3a5d5364a0351d037f5456e9d89d4eeee3b20b3e1f9c74c3d458193deb8ac1fa41d73d86e8364a623a6344c32c55437f362d4b' '7287a10e71580c6924956f18d3f14c21a22bc80f9f40b9e8baa46e7f0c37367cd595879a41fdcd4ca2a27b517a8dfe77c23e71d136154636a14469685987ad99' 'be7eb543443b5b90b539fc2149572544f127951bf281ae8f01aff196b5a3b89abc71e4b34f763ff159fa575a8b070b4f3e2cbd0aece434c98a1a4c327fc8870f' 'aa8313b6fff88d12c4a75cde392caadab7946e65e3306378caaf472367962589532d0155dc61173a92726750158433f43bb3be0c21adc4d279024029e767dea1' '0a3d92f96e8e5e35928ffb421a95805f6953d1c1cb7f7aaab990d3f0091a8eaefe02624c8a303b09a90a736e1da60b754287346ce609f8db6ed558005de31852' '0df5b69f4e56d41cdfc8365d2eda8361ec0dd8f474b578c9f90f7764b803fc63adaff1c4d7d2ebfcbd30a5e210a8836a03267531cb328e5629d96ea491e39ef9' '2bdeb26873ad4ae8c8e202b1f76e411cc30ddf460d593d127ed0babb4466c9cb3848bd9440a668af046a13f3634245333dfc6e628988488bc40eae364b9c849d' '1ba3f9b94d75aaa2b836caf30b8a3d677a551ace1c581a9a41270b9b9b8cf47966900a3d8ea6491bfc826b28ef012586a5bbefb0b6a4732bb5375a9c718c3caf' 'a074d8c2a5a248568ae063b365b32ca731618053269e641f99d491edffe3123b700c9b155143a623615577b734662eb6b8048014fadf182a6e67ce4834132af6' 'c22b2e8668973604029ff62f0b774e6f89853d567553e2314dfdd363a00981890692a558aea5608116902d0e01c255e1cb5c6fcf3a49d7d31030c21388db54b1') # official docs say to use lua51 # but makefile supports lua52? # lua53 works, but git HEAD detects/uses lua51? prepare() { cd "Cataclysm-DDA-$_pkgver" sed -i 's/-Werror//' Makefile sed -i 's/ncursesw5-config/ncursesw6-config/' Makefile #sed -i 's|"\(l.*h\)"|"lua5.1/\1"|' src/catalua.{h,cpp} sed -i 's/shell git/shell false/' Makefile sed -i 's/-Os/-O3/' Makefile # Hotfixes # Fix Vehicle Heater and Cooler to be less severe # Included in 0.F patch -Np1 -i "$srcdir"/hotfix-vehicle-heater-cooler-intensity-reduced.patch # Fix tacoma barn doors being placed in the same spot twice # Included in 0.F patch -Np1 -i "$srcdir"/hotfix-tacoma-barn-door-position.patch # Fix Quiverfull house to have the correct stairs patch -Np1 -i "$srcdir"/0001-quiverfull-house-correct-stairs.patch # Fix Ankle Ammo Pouch to not look like a backpack patch -Np1 -i "$srcdir"/0002-ankle-ammo-pouch-is-not-a-backpack.patch # Fix mulitple inconsistent ammuntion names (.45 ACP, 5.56 NATO, 7.62 NATO, RA110) patch -Np1 -i "$srcdir"/0003-inconsistent-ammo-names.patch # Fix missing floor in tacoma clinic patch -Np1 -i "$srcdir"/0004-tacoma-clinic-add-missing-floor.patch # Fix smoker racks not accepting bionic firestarter patch -Np1 -i "$srcdir"/0005-allow-bio-firestarter-on-smoker.patch # Fix NPCs not eating until they drop below normal weight and not becoming full from eating the basecamp stockpile patch -Np1 -i "$srcdir"/0006-npcs-eat-when-hungry.patch } build() { cd "Cataclysm-DDA-$_pkgver" export CFLAGS="$CFLAGS -O3 -flto=4 -fPIE" export CXXFLAGS="$CXXFLAGS -O3 -flto=4 -fPIE" export LDFLAGS="$LDFLAGS,-pie" # tests "ifdef TILES" so "TILES=0" will enable tiles! # DYNAMIC_LINKING appears to be a windows flag? make PREFIX=/usr RELEASE=1 USE_XDG_DIR=1 BACKTRACE=0 make PREFIX=/usr RELEASE=1 USE_XDG_DIR=1 BACKTRACE=0 TILES=1 SOUND=1 #LUA_BINARY="/usr/bin/lua5.1" } package_cataclysm-dda() { cd "Cataclysm-DDA-$_pkgver" make DESTDIR="$pkgdir" PREFIX="/usr" RELEASE=1 USE_HOME_DIR=1 install # Docs install -d "$pkgdir/usr/share/doc/cataclysm-dda" cp --reflink -r doc/* "$pkgdir/usr/share/doc/cataclysm-dda" # undo symlink rm "$pkgdir/usr/share/doc/cataclysm-dda/JSON_LOADING_ORDER.md" cp --reflink 'data/json/LOADING_ORDER.md' "$pkgdir/usr/share/doc/cataclysm-dda/JSON_LOADING_ORDER.md" # Mods mv "$srcdir/cataclysm-dda-mod_hack-fix-master" "$srcdir/hack-fix" cp --reflink -r "$srcdir/hack-fix" "$pkgdir/usr/share/cataclysm-dda/mods" mv "$srcdir/cataclysm-dda-mod_stackable-currency-master" "$srcdir/stackable-currency" cp --reflink -r "$srcdir/stackable-currency" "$pkgdir/usr/share/cataclysm-dda/mods" mv "$srcdir/cataclysm-dda-mod_faction-camp-recipe-expansion-master" "$srcdir/faction-camp-recipe-expansion" cp --reflink -r "$srcdir/faction-camp-recipe-expansion" "$pkgdir/usr/share/cataclysm-dda/mods" mv "$srcdir/cataclysm-dda-mod_recipe-fixes-master" "$srcdir/recipe-fixes" cp --reflink -r "$srcdir/recipe-fixes" "$pkgdir/usr/share/cataclysm-dda/mods" mv "$srcdir/cataclysm-dda-mod_caseless-crafting-master" "$srcdir/caseless-crafting" cp --reflink -r "$srcdir/caseless-crafting" "$pkgdir/usr/share/cataclysm-dda/mods" mv "$srcdir/cataclysm-dda-mod_grenade-crafting-master" "$srcdir/grenade-crafting" cp --reflink -r "$srcdir/grenade-crafting" "$pkgdir/usr/share/cataclysm-dda/mods" mv "$srcdir/cataclysm-dda-mod_survivorheadgear-crafting-master" "$srcdir/survivorheadgear-crafting" cp --reflink -r "$srcdir/survivorheadgear-crafting" "$pkgdir/usr/share/cataclysm-dda/mods" mv "$srcdir/cataclysm-dda-mod_hk-loadout-master" "$srcdir/hk-loadout" cp --reflink -r "$srcdir/hk-loadout" "$pkgdir/usr/share/cataclysm-dda/mods" mv "$srcdir/cataclysm-dda-mod_battle-maid-redone-master" "$srcdir/battle-maid-redone" cp --reflink -r "$srcdir/battle-maid-redone" "$pkgdir/usr/share/cataclysm-dda/mods" # License install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" # install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" } package_cataclysm-dda-tiles() { pkgdesc="A graphical post-apocalyptic roguelike." depends=('cataclysm-dda' 'sdl2_image' 'sdl2_ttf' 'freetype2' 'sdl2_mixer') cd "Cataclysm-DDA-$_pkgver" make DESTDIR="$pkgdir" PREFIX="/usr" RELEASE=1 TILES=1 SOUND=1 install # Icon install -D 'data/osx/AppIcon.iconset/icon_128x128.png' "$pkgdir/usr/share/icons/hicolor/128x128/apps/$pkgname.png" install -D 'data/osx/AppIcon.iconset/icon_128x128.png' "$pkgdir/usr/share/pixmaps/$pkgname.png" install -Dm644 "${srcdir}/$pkgname.desktop" "${pkgdir}/usr/share/applications/$pkgname.desktop" install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" # Mods mv "$srcdir/cataclysm-dda-tileset_undeadpeople-legacy-master" "$srcdir/undeadpeople-legacy" cp --reflink -r "$srcdir/undeadpeople-legacy" "$pkgdir/usr/share/cataclysm-dda/gfx" mv "$srcdir/cataclysm-dda-soundpack_jcsoundpack-master" "$srcdir/jcsoundpack" cp --reflink -r "$srcdir/jcsoundpack" "$pkgdir/usr/share/cataclysm-dda/sound" mv "$srcdir/cataclysm-dda-musicpack_coag-musicpack-master" "$srcdir/coag-musicpack" install -Dm644 "$srcdir/coag-musicpack/musicset.json" "$pkgdir/usr/share/cataclysm-dda/sound/jcsoundpack/musicset.json" cp --reflink -r "$srcdir/coag-musicpack/music" "$pkgdir/usr/share/cataclysm-dda/sound/jcsoundpack" # hack: remove overlapping files cd "$pkgdir/../cataclysm-dda" find . -type f -exec rm -f "$pkgdir"/{} \; cd "$pkgdir" find . -type d -empty -delete }