# Maintainer: Erich Eckner pkgname=openttd-git pkgver=30507.5afb09008 _commit=${pkgver#*.} pkgrel=1 pkgdesc="A FOSS clone of Transport Tycoon Deluxe." arch=('x86_64' 'i686' 'pentium4') url="http://www.openttd.org" license=('GPL2') groups=() _pinned_dependencies=( 'gcc-libs=10.2.0' 'glibc>=2.31' 'libfluidsynth.so=2' 'libfontconfig.so=1' 'libfreetype.so=6' 'libicui18n.so=69' 'libicuuc.so=69' 'libpng=1.6.37' 'lzo=2.10' 'sdl2=2.0.14' 'xz=5.2.5' 'zlib=1:1.2.11' ) depends=( 'hicolor-icon-theme' "${_pinned_dependencies[@]}" ) makedepends=('git' 'cmake') checkdepends=( 'openttd-opengfx' ) optdepends=( 'openttd-opengfx: free graphics' 'openttd-opensfx: free soundset' 'openttd-openmsx: free music' ) provides=('openttd') conflicts=('openttd') replaces=() backup=() options=() source=( "${pkgname}::git://github.com/OpenTTD/OpenTTD.git#commit=${_commit}" # "chunnel-signaltunnel-pre.patch" # "chunnel-underground-pre.patch" # "chunnel.patch" "signaltunnel.patch" "sloped-stations.patch" "underground.patch" 'opntitle.dat' ) sha512sums=('SKIP' 'b73d9af5dcec13918396099b6f92ecefe3a1bb48ee3549fc116c8a477dcde0fa4d42ce6a049dca0946f80cc8f92d6d17f7462decf106c59e9b5aad75af16c0ca' '9b3364ca7f4ebc4b9b71568b3c1a3d5767bcd2701d06d4446e8ff980a1d2afe49df570fd7ede99878b1e7fd8a7f7853244fe801599e51ebbb336cd04a84d8f3b' '021c1e83331ea010b96f53d2d3747a90f127b87424fa8c2a31b42980b91a5601d5940d66003343e422eab3b143bd60d247d0dbae3da21aa7c1e2f18810779be1' 'a3fd5b230b7cdd67a1b6607887433c0cb85ba1dfd30cedfddf573a58b23ccce7c470a22cf7f65a29c173bba12976c5889482cef24f49c8c0a829883a71bcd87d') pkgver() { printf '%s.%s\n' \ "$(( $(git -C "${srcdir}/${pkgname}" rev-list --count "${_commit}" ^f84ad5f7c) + 28004 ))" \ "$( git -C "${srcdir}/${pkgname}" rev-parse --short=9 "${_commit}" )" } prepare() { cd "${srcdir}" # cp chunnel.patch chunnel.pre.patch # patch -p1 -i "chunnel-signaltunnel-pre.patch" # patch -p1 -i "chunnel-underground-pre.patch" cd "${srcdir}/${pkgname}" cp "${srcdir}/opntitle.dat" media/baseset/ ISODATE=$( date -d@$( git log -n1 --pretty=format:%ct ) +'%Y%m%d' ) HASH=$(find {src,bin} -type f -exec sha512sum {} \; | sort | sha512sum - | cut -d' ' -f1) SHORTHASH=$(echo ${HASH} | cut -c1-8) printf '%s\t%s\t%s\t%s\t%s\t%s\t%s\n' \ "${ISODATE}-ewe-g${SHORTHASH}" \ "${ISODATE}" \ "0" \ "${HASH}" \ "0" \ "0" \ "${ISODATE:0:4}" \ > .ottdrev sed -i ' s,"\${CMAKE_SOURCE_DIR}/\.git","/dev/does/not/exist", ' cmake/scripts/FindVersion.cmake # for _p in "${srcdir}/"{signaltunnel,sloped-stations,underground,chunnel.pre}.patch; do for _p in "${srcdir}/"{signaltunnel,underground}.patch; do >&2 echo "patching ${_p##*/} ..." patch -p1 -i "${_p}" >&2 echo "... ok" done } build() { cd "${srcdir}/${pkgname}" mkdir build cd build cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DPERSONAL_DIR=.openttd \ .. make # -DBINARY_DIR=bin \ # -DDATA_DIR=share/openttd \ # -DICON_DIR=share/openttd \ # -DMAN_DIR=share/man \ } check() { cd "${srcdir}/${pkgname}/build" make test || true } package() { cd "${srcdir}/${pkgname}/build" make DESTDIR=$pkgdir install # Remove unnecessary languages cp $pkgdir/usr/share/games/openttd/lang/{english,german}.lng $srcdir rm $pkgdir/usr/share/games/openttd/lang/* install -m 644 $srcdir/{english,german}.lng $pkgdir/usr/share/games/openttd/lang # Remove junk rm -rf $pkgdir/usr/share/games/doc rm -rf $pkgdir/usr/share/games/openttd/scripts }