# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (Arch): Kyle Keen <keenerd@gmail.com>
# # 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 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
pkgrel=1.14
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"
"cataclysm-dda-tileset_msx-tileset.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-tileset_msx-tileset.git/snapshot/cataclysm-dda-tileset_msx-tileset-master.tar.xz"
"cataclysm-dda-mod_msx-tileset-fix.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_msx-tileset-fix.git/snapshot/cataclysm-dda-mod_msx-tileset-fix-master.tar.xz"
"cataclysm-dda-soundpack_damalsksoundpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-soundpack_damalsksoundpack.git/snapshot/cataclysm-dda-soundpack_damalsksoundpack-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_hk-fix.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-mod_hk-fix.git/snapshot/cataclysm-dda-mod_hk-fix-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_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=('730e4730b1ab02769bdd054d1bbf5815fd44e7b185f7d5798168cdbfbddfba243646516ace93b07ebd6866c73bba96d8a4aa8597c87fbe93d34f3fafab7a5856'
'8cff87d80bf30b86f995f77a97cc1ddb7b809148d100f3c0d74e706fe59eac52de55710fb7aed1abd59836c05f2474c7d68455736aac4f229d1cdf806d7240a1'
'8ffff827ed464af678497da5129eb69d3d1a4c6994bbcc00ef7f7b240cd04e7961c3c0ac52d6940252241406c04e647fac19c9327847afced33988eb15973ba8'
'27044686a615eef091b9b4e21c7ff2798127e4ee52c62c7860550120d632183cbd86173020bb948617b9dbd067ec999da78c725156d84e6358b8a552675534df'
'e6c6b3a4cd40e57819d148fdc1f0462332d0cfab37d2021161988cbd4142acf9b5029b70df40fe5b8e286a43398488b248a702e48846da22c8490b7cd5ac182f'
'cc28871e4bccee96b696b76e2c3c87c5106531f41ecee44005b525ff00f13734fcced42391f81dda001f83389a866830e3c44876d39ce4f41c9023bdf74ac04e'
'353fed5883383063b2b2d3a81f3a5d5364a0351d037f5456e9d89d4eeee3b20b3e1f9c74c3d458193deb8ac1fa41d73d86e8364a623a6344c32c55437f362d4b'
'eb4f2c80f9452215eaf89b074fe556afef043d7fcd49768242d09e1a0e707da9f7912e598a81b2cbf60cda8715ab5e452ceaaa0f2377c90f50a3816b11ffddf0'
'7498b57dd0d4a21ed12a5a59344d03b590ce64f96eb47d5375c755c6e19c19aa11762a27bc52cfcc7104d9263b0bdcd2ec2b67c53ec51268140c69f06cea35fd'
'056c950be3e5c5917321d837af5244345f41412a217698f023226d4f9bcca0dffa2bde2f12826b5ddd436e86e373730b608d1806e586fd21d4185ee1d0e2787c'
'7fe03158cd5e05c175601a70952444b7c1d4b33b4e006bbe2de16afe82374ff870c4fb3dc25c9b11878cf1700f1580bd07ffc7a51eadfec2d21ac7218a654223')
# 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
}
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 -r doc/* "$pkgdir/usr/share/doc/cataclysm-dda"
# undo symlink
rm "$pkgdir/usr/share/doc/cataclysm-dda/JSON_LOADING_ORDER.md"
cp 'data/json/LOADING_ORDER.md' "$pkgdir/usr/share/doc/cataclysm-dda/JSON_LOADING_ORDER.md"
# Mods
mv "$srcdir/cataclysm-dda-mod_battle-maid-redone-master" "$srcdir/cataclysm-dda-mod_battle-maid-redone"
cp -r "$srcdir/cataclysm-dda-mod_battle-maid-redone" "$pkgdir/usr/share/cataclysm-dda/mods"
mv "$srcdir/cataclysm-dda-mod_hack-fix-master" "$srcdir/cataclysm-dda-mod_hack-fix"
cp -r "$srcdir/cataclysm-dda-mod_hack-fix" "$pkgdir/usr/share/cataclysm-dda/mods"
mv "$srcdir/cataclysm-dda-mod_hk-fix-master" "$srcdir/cataclysm-dda-mod_hk-fix"
cp -r "$srcdir/cataclysm-dda-mod_hk-fix" "$pkgdir/usr/share/cataclysm-dda/mods"
mv "$srcdir/cataclysm-dda-mod_recipe-fixes-master" "$srcdir/cataclysm-dda-mod_recipe-fixes"
cp -r "$srcdir/cataclysm-dda-mod_recipe-fixes" "$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_msx-tileset-master" "$srcdir/cataclysm-dda-tileset_msx-tileset"
cp -r "$srcdir/cataclysm-dda-tileset_msx-tileset" "$pkgdir/usr/share/cataclysm-dda/gfx"
mv "$srcdir/cataclysm-dda-mod_msx-tileset-fix-master" "$srcdir/cataclysm-dda-mod_msx-tileset-fix"
cp -r "$srcdir/cataclysm-dda-mod_msx-tileset-fix" "$pkgdir/usr/share/cataclysm-dda/mods"
mv "$srcdir/cataclysm-dda-soundpack_damalsksoundpack-master" "$srcdir/cataclysm-dda-soundpack_damalsksoundpack"
cp -r "$srcdir/cataclysm-dda-soundpack_damalsksoundpack" "$pkgdir/usr/share/cataclysm-dda/sound"
mv "$srcdir/cataclysm-dda-musicpack_coag-musicpack-master" "$srcdir/cataclysm-dda-musicpack_coag-musicpack"
install -Dm644 "$srcdir/cataclysm-dda-musicpack_coag-musicpack/musicset.json" "$pkgdir/usr/share/cataclysm-dda/sound/cataclysm-dda-soundpack_damalsksoundpack/musicset.json"
cp -r "$srcdir/cataclysm-dda-musicpack_coag-musicpack/music" "$pkgdir/usr/share/cataclysm-dda/sound/cataclysm-dda-soundpack_damalsksoundpack"
# hack: remove overlapping files
cd "$pkgdir/../cataclysm-dda"
find . -type f -exec rm -f "$pkgdir"/{} \;
cd "$pkgdir"
find . -type d -empty -delete
}