# 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 is not BN pkgbase=cataclysm-bn pkgname=(cataclysm-bn cataclysm-bn-tiles) pkgname=cataclysm-bn pkgver=1820 pkgrel=1 pkgdesc="A post-apocalyptic roguelike." #url="http://cataclysmrl.blogspot.com/" #url="http://www.cataclysm.glyphgryph.com/" #url="http://en.cataclysmdda.com/" url="https://github.com/cataclysmbnteam/Cataclysm-BN" arch=('x86_64' 'aarch64') license=("CCPL:by-sa") depends=('ncurses' 'hicolor-icon-theme' 'gettext') makedepends=('sdl2_image' 'sdl2_ttf' 'sdl2_mixer' 'freetype2' 'astyle') source=("$pkgname-$pkgver.tar.gz::https://github.com/cataclysmbnteam/Cataclysm-BN/archive/refs/tags/$pkgver.tar.gz" "cataclysm-bn.desktop" "cataclysm-bn-tiles.desktop" "0.F_backport-tacoma-barn-door-position.patch" "0.F_backport-make-firestation-shelter-wells-npc-drinkable.patch" "0.F_backport-inhaler-mission-no-autofail.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-lumbermill-gasoline-not-spilled.patch" "0006-community-garden-fertilizer-not-spilled.patch" "0007-oxyacetylene-from-oxygen.patch" "0008-npc-can-use-more-bionics.patch" "0009-22-casings-can-stack.patch" "0010-4570-dragon-can-be-dismantled.patch" "0011-add-missing-mre.patch" "0012-fix-doors-for-npcs.patch" "0013-fix-20x66mm-loudness.patch" "0014-portable-generator-engine.patch" "0015-normalize-drone-volume.patch" "0016-medical-zombies-called-zombies.patch" "0017-nerf-lightstep.patch" "0018-rehide-redacted.patch" "jc_ammo-loudness-ap-times-2.patch" "jc_allow-bio-firestarter-on-smoker.patch" "jc_npcs-eat-when-hungry.patch" "jc_stop-non-faction-npc-sleep-depirvation.patch" "jc_stop-sleeping-on-tables.patch" "custom.patch" "cataclysm-dda-tileset_undeadpeople.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-tileset_undeadpeople.git/snapshot/cataclysm-dda-tileset_undeadpeople-master.tar.xz" "cataclysm-dda-mod_battle-maid-redone-tileset.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_battle-maid-redone-tileset.git/snapshot/cataclysm-dda-mod_battle-maid-redone-tileset-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" ) b2sums=('eb335a60992d9728e5bef81a7e55407fd001dc186dfa0d607ebc6507ff0c625d3dcc073525491dab84d090d69309d8b5e72ba890b3523d1579f24ea02e764428' '069ecde58859b3d44cd687c4b6e718610cefb693ff86e66f199ebfb1b3072023ad2b6f0c28e27ef9c1ce4997f6a5b2ca0d45046996b3ff35a4aeaeb1a7cf9421' 'ad88bc6c1e3c8183a313b5eec42f98d6956afea349feff34a86e4536c9921fa99d2594282caf27de8ebb7ffb56376ed2e76d572227bfd6d8173c7bb1f01e23b8' 'ce0dd5121e814e0fcd79d68362c80a83bfe70f970be9d5d6f6fe5f6a56ed3f041be4d560aaf02225c3ce7c457dc63bc3adf0709d4b89a81c18184ff5341eb5d3' '2cdcf9ab03eb92f384caf1a2d90f82c75f880cb6286811e83217c883e421c116e7844ca193a010dc35e12eec46ede3663171a2f45f660ef5a8be95c474f61bfc' '9e2c26bf0e2bb4fd60de8cad1f9c05f329d99a56c64189bc2747915c48d208b63038d45a90f7a1c8e8bb0ac33461f217acf7e57f752f0acff117e2062459e9bb' '8232c6a10fd1f608304982ae7f03eb8afc663be76cdc00aee46ecb58de838e21fdc8673841266ccd00153263f7b15b59dcd1fc6ece86834509d7ccb2cacf08fa' '025213998583972e7551bd7bd7376ab65857e28d4338fab60ae792a6b3bd48983aec77e5143baaa63d4f3feb7cd590c4bded529c410e4d18f2b8c5813f25daa3' 'ade420aa80816ebcf19485bb4617352a1654c8e436babc3e51290757432e44dd69da3a4403c1e9dab816b2d2d0db70a86504f707e9d3696a192ecef30622fc9b' 'b8a64accada87ee5be989c5307805610c9b5c0327bc107aab237ac3225dd9e4c51b6c79a2a7de15fe187d3c32d7cbe1c462f9b0e9fb5d5a55a74236c7061e96e' '85aeb5920ee5879848be4057324153a077fe907bed527ed8f9b80a3c5ee1ef64786f63ee2999f5ba74e80a43e99ded3280ce27759c1f7b73259a6e2b5e584aa8' '58a94409205f7b670ab5745b8cbc234a38efd6a6217cef4efb7e397f091092e3e0c7790706b0a42accaa83d7509b8e244a98b9f0ba78349ee85f3164745c3501' 'd34d673fe04d4317ef3c1ac3f088b6614f7c20414cfe44aa0ff71bdc932c517c4e6295492f158ced84232af8f54d1672ae56078b156593d58bf8fe7ffc3d475d' 'f3bdbaac5dbe9384571fe5ec14d2d25035f227a977c25349b8188e7343804e3973b898b44c34f9abe9318666294f4fdfe780fd516dcbdb29c4ac52f6d0ed6cad' '67cdb7e097bbb46da5cf04708bc2858b080d1a85742afc4c088da3e4e3fdeb6e4c51240fc5a6b9a1c7d927b30b3d251236e025ee4e5496142a7716d4ba51b82c' '9ad2986261e6613e80b4bb61b89e2d0c703d7c4d28fda98e58fbcc2623a05c05e253cd2045e64c140e5de99aa2278165948e717739eb803849ea17745e974620' '417cd957f188b2b06e41d5413bea5f13481c6d5bfa8f184157379d5ac2afa9ba6f7ebc966856f50603f89b9173b6fbfdb3ccf4e3cc0b1bedb53f935591e4a35c' '80da2c341d8564a47bc460fcdaf9196ac3bb77f0f2ba56bd71089e80e7481728a3ccbdcfcbc3bf70a9c9e5d9d9b01f2ca6615b67c7ab61003808ce00f6545ba3' 'c1b6e59c840aee812570d9fb30f045b371473282c2289aaefe66483e6aae995fb93549882811fcb869d77f1c27a62ba4e486a8e20327846fd0602926739296ae' '74a51f04237fba3caa25b2e0d49659f2e8330ce82288de866943d06b53690f31d48a77a4dd2e57db1f435b715fbca792268f2e191ffb59e57170d327ed41ac0a' '8203bb062d72559da908a5020963503303c0aaa4a2ab61e57cfb713f58de40f1cb50b8b6dfbeec3a9addc41cbec5ae17fbf57230c3614f9b69fe6b0c55bf3fad' '7e49f473cd5c5811ff6456b58be6f8cb438ec712b388c156902f837b556550710bb79924f94f6818a6332e653ec0740d7688165ca105b159faeeeeec2b105dd6' '08f4746882b927bdff6b728630cf1e04a2b79924f694ca2d841e3115c3399feb87a8d363e4d2a0f59179c109cb6be6e840f912aadd44abb0bdb35afd2838cc4d' '651de880cefd51665d854414c451cc80a33ed8f34e7559a95514abd81a2f58348c37dd75f272468eefd56562ba8c99093a6dd9af3ea57796a9db15164a40eda3' '92cde696eec00e6758b58e73e8bc60ad1a73bb2a18d4fdfd24a19b5be715305a047943a02d94a9703c101ca0c769dbeb816f1f28809345bae0fec42fbc27bb34' 'edfccb4ccb70e174648101d68432ea14ee1e7cc9304d4545dddb65184eeafb708a898cc90778e44cf7464c82c9d350209e5ad262c50a50fa0b8ae3a22fca9ff9' '8e9bf6ff4bafc6397c6631392aaddd2866537943ae3bbdb95282945acba385d66f6d9879fd283eeafbb8df4e927f3ecc061fb36ecb5d38dbddecd2fd9c735e56' 'ce82294e480ad42f0001c799fd8131b60024b6097653f3c57564c75e54596616e376f0d7f1cf4e54d8c302a61ef164b4323f795bfa19b2c13ab9e927d37f1600' 'd723fcc6cce65aa296bc519a07a5d003122ad698a73a3d046dac3780ea5a00fef28f78da251bb46f80f2e0577baa26a6ae13cabf525f22a7a742435e95716dae' '8d2085a7c7f0a38ea4feb213a99f2bd93ec98e91aa564f3aa54e39b9ed1dd901f0629c3c0715ce00d84286f3831e8901131eecd0e0e9e79bbbe7928673f4e081' '5a2b07c6b220700df7186c85f1e382b3f2f94d2c86e7c75141d6dc425b9a97000afb35391fe12563bde6f4ccb42724ea11f84f1d855bbbae9a6fb75a00ef5af7' '7613dbc937adf3bc962f1b94d6403ece380e0b235da56e1732e0bcb68f8bb234e8e18c956365e1a8158db7ed45125d163896ffd5f572242278098ef228c991cb' '8fc23de05cc0d4ea63e921dd5c575ee83715753d2f2d0b9f0d503cb14a3263af4970fa5fb19a9b8387414b501f3dc4b8b6c91db4c929f9543556a7973a84a3b1' 'b9309da09b165fb57e83f84e3584d2479bd3336ed86e181e5df2d27daa92bd55d03d7f3fc226f03696af5f0f32d8e0e7ecd26ae7e50eed0200d0b0feaad07efb') prepare() { cd "Cataclysm-BN-$pkgver" sed -i 's/-Werror//' Makefile sed -i 's/ncursesw5-config/ncursesw6-config/' Makefile sed -i 's/shell git/shell false/' Makefile sed -i 's/-Os/-O3/' Makefile # Fix filenames sed -i 's|cataclysm-dda|cataclysm-bn|' CMakeLists.txt sed -i 's|cataclysm-dda|cataclysm-bn|' Makefile sed -i 's|TARGET_NAME = cataclysm|TARGET_NAME = cataclysm-bn|' Makefile sed -i 's|cataclysm.a|cataclysm-bn.a|' Makefile sed -i 's|cataclysm.a|cataclysm-bn.a|' tests/Makefile sed -i 's|cataclysm-dda|cataclysm-bn|' lang/CMakeLists.txt sed -i 's|cataclysm-dda|cataclysm-bn|' src/path_info.cpp # Fix version sed -i 's|VERSION = the-fork|VERSION = 1820|' Makefile # Backports from 0.F # Fix tacoma barn doors being placed in the same spot twice patch -Np1 -i "$srcdir"/0.F_backport-tacoma-barn-door-position.patch # Fix npcs unable to drink from firestation and shelter basecamps wells patch -Np1 -i "$srcdir"/0.F_backport-make-firestation-shelter-wells-npc-drinkable.patch # Fix npcs with the inhaler mission instantly dying upon mission acceptance patch -Np1 -i "$srcdir"/0.F_backport-inhaler-mission-no-autofail.patch # Various other fixes for bugs I came across # Fix Quiverfull house to have the correct stairs that modify json 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 and handloaded status 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 lumbermill gasoline being spilled instead of being inside the gas pump patch -Np1 -i "$srcdir"/0005-lumbermill-gasoline-not-spilled.patch # Fix community garden liquid fertilizer being in a pit instead of in the storage tanks patch -Np1 -i "$srcdir"/0006-community-garden-fertilizer-not-spilled.patch # Fix oxyacetylene to be craftable from oxygen tanks patch -Np1 -i "$srcdir"/0007-oxyacetylene-from-oxygen.patch # Fix npc not being able to install some additional CBMs: # ie, soporific inducer, gasoline fuel cell, enhanced hearing, surgical scalpels patch -Np1 -i "$srcdir"/0008-npc-can-use-more-bionics.patch # Fix .22 casings not stacking when every other casing stacks patch -Np1 -i "$srcdir"/0009-22-casings-can-stack.patch # Fix reloaded 45-70 rounds and reloaded dragon shot were not allowing dismantling when every other non-caseless does patch -Np1 -i "$srcdir"/0010-4570-dragon-can-be-dismantled.patch # Fix the pepperjack beef and burrito bowl MREs never dropping patch -Np1 -i "$srcdir"/0011-add-missing-mre.patch # Fix some doors being unusable by npcs (incorrect door flag) patch -Np1 -i "$srcdir"/0012-fix-doors-for-npcs.patch # Fix the loudness of 20x66mm shotgun shells like other shotguns patch -Np1 -i "$srcdir"/0013-fix-20x66mm-loudness.patch # Replace the portable generator twin engine with a large 1 cylinder so it can actually function as is patch -Np1 -i "$srcdir"/0014-portable-generator-engine.patch # Normalize the manhack volumes to that of the base grenade/explosive patch -Np1 -i "$srcdir"/0015-normalize-drone-volume.patch # Prefix medical zombies with "zombie" like other zombies. patch -Np1 -i "$srcdir"/0016-medical-zombies-called-zombies.patch # Light Step feels too powerful in Bright Nights patch -Np1 -i "$srcdir"/0017-nerf-lightstep.patch # Re-hide something that feels like spoilers patch -Np1 -i "$srcdir"/0018-rehide-redacted.patch # Various other fixes for bugs I came across that modify src # Fix ammo loudness mulitplying by six instead of two patch -Np1 -i "$srcdir"/jc_ammo-loudness-ap-times-2.patch # Fix smoker racks not accepting bionic firestarter patch -Np1 -i "$srcdir"/jc_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"/jc_npcs-eat-when-hungry.patch # Fix Non-Player facton NPCs from becoming sleep deprived patch -Np1 -i "$srcdir"/jc_stop-non-faction-npc-sleep-depirvation.patch # Fix NPCs preferring tables to cots or woodstoves to the floor patch -Np1 -i "$srcdir"/jc_stop-sleeping-on-tables.patch # Some personal quirks that simply lack a means short of patching the source patch -Np1 -i "$srcdir"/custom.patch } build() { cd "Cataclysm-BN-$pkgver" #export CFLAGS="$CFLAGS -fPIE" export CXXFLAGS="$CXXFLAGS -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 ZLEVELS=1 LTO=1 LOCALIZE=1 LANGUAGES=all make PREFIX=/usr RELEASE=1 USE_XDG_DIR=1 BACKTRACE=0 ZLEVELS=1 LTO=1 LOCALIZE=1 LANGUAGES=all TILES=1 SOUND=1 ./lang/compile_mo.sh } package_cataclysm-bn() { cd "Cataclysm-BN-$pkgver" make DESTDIR="$pkgdir" PREFIX="/usr" RELEASE=1 ZLEVELS=1 USE_HOME_DIR=1 LTO=1 LOCALIZE=1 LANGUAGES=all install # Docs install -d "$pkgdir/usr/share/doc/cataclysm-bn" cp --reflink -r doc/* "$pkgdir/usr/share/doc/cataclysm-bn" # undo symlink rm "$pkgdir/usr/share/doc/cataclysm-bn/JSON_LOADING_ORDER.md" cp --reflink 'data/json/LOADING_ORDER.md' "$pkgdir/usr/share/doc/cataclysm-bn/JSON_LOADING_ORDER.md" # License install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" # Languages cd lang/mo for i in *; do install -d "${pkgdir}/usr/share/locale/${i}/LC_MESSAGES" cp "${i}/LC_MESSAGES/cataclysm-bn.mo" "${pkgdir}/usr/share/locale/${i}/LC_MESSAGES" done # Help cd ./../.. cp -r --no-preserve=ownership "./data/help" "${pkgdir}/usr/share/${pkgname}/" # install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" } package_cataclysm-bn-tiles() { pkgdesc="A graphical post-apocalyptic roguelike." depends=('cataclysm-bn' 'sdl2_image' 'sdl2_ttf' 'freetype2' 'sdl2_mixer') cd "Cataclysm-BN-$pkgver" make DESTDIR="$pkgdir" PREFIX="/usr" RELEASE=1 ZLEVELS=1 TILES=1 SOUND=1 LTO=1 LOCALIZE=1 LANGUAGES=all 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" # Tileset mv "$srcdir/cataclysm-dda-tileset_undeadpeople-master" "$srcdir/undeadpeople" cp --reflink -r "$srcdir/undeadpeople" "$pkgdir/usr/share/cataclysm-bn/gfx" rm -rf "$pkgdir/usr/share/cataclysm-bn/gfx/MSX++UnDeadPeopleEdition" #mv "$srcdir/cataclysm-dda-mod_battle-maid-redone-tileset-master" "$srcdir/battle-maid-redone-tileset" cp --reflink -r "$srcdir/cataclysm-dda-mod_battle-maid-redone-tileset-master/battle-maid-redone-tileset-pt1" "$pkgdir/usr/share/cataclysm-bn/mods" cp --reflink -r "$srcdir/cataclysm-dda-mod_battle-maid-redone-tileset-master/battle-maid-redone-tileset-pt2" "$pkgdir/usr/share/cataclysm-bn/mods" # Sound mv "$srcdir/cataclysm-dda-soundpack_jcsoundpack-master" "$srcdir/jcsoundpack" cp --reflink -r "$srcdir/jcsoundpack" "$pkgdir/usr/share/cataclysm-bn/sound" # Music mv "$srcdir/cataclysm-dda-musicpack_coag-musicpack-master" "$srcdir/coag-musicpack" install -Dm644 "$srcdir/coag-musicpack/musicset.json" "$pkgdir/usr/share/cataclysm-bn/sound/jcsoundpack/musicset.json" cp --reflink -r "$srcdir/coag-musicpack/music" "$pkgdir/usr/share/cataclysm-bn/sound/jcsoundpack" # hack: remove overlapping files cd "$pkgdir/../cataclysm-bn" find . -type f -exec rm -f "$pkgdir"/{} \; cd "$pkgdir" find . -type d -empty -delete }