summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2016-04-04 14:24:20 +0200
committerErich Eckner <git@eckner.net>2016-04-04 14:24:20 +0200
commitc6a36aa869191398710c6f21588c85631cb7de30 (patch)
treeb3f8bbe43eddc1a57613d3c89136cea274884cf1
parent14a5c6b56e201a497b147443290b4cce077095b3 (diff)
downloadarchlinuxewe-c6a36aa869191398710c6f21588c85631cb7de30.tar.xz
openttd-download verbessert
-rwxr-xr-xopenttd-svn/PKGBUILD77
-rw-r--r--openttd-svn/version.patch54
2 files changed, 104 insertions, 27 deletions
diff --git a/openttd-svn/PKGBUILD b/openttd-svn/PKGBUILD
index bc1fb07dc..e05ffc889 100755
--- a/openttd-svn/PKGBUILD
+++ b/openttd-svn/PKGBUILD
@@ -1,53 +1,71 @@
# Maintainer: Erich Eckner <arch at eckner dot net>
pkgname=openttd-svn
pkgver=27534
-pkgrel=1
+pkgrel=2
pkgdesc="A FOSS clone of Transport Tycoon Deluxe."
arch=('x86_64')
url="http://www.openttd.org"
-license=('')
+license=('GPL2')
groups=()
depends=(
'sdl'
- 'libpng'
+ 'xz'
+ 'icu'
'fontconfig'
'lzo'
)
-makedepends=()
+makedepends=('subversion')
checkdepends=()
optdepends=()
-provides=()
+provides=('openttd')
conflicts=()
replaces=()
backup=()
options=()
-gfxversion=0.5.2
-sfxversion=0.2.3
-msxversion=0.3.1
+_gfxversion=0.5.2
+_sfxversion=0.2.3
+_msxversion=0.3.1
source=(
- "http://binaries.openttd.org/extra/opengfx/$gfxversion/opengfx-$gfxversion-all.zip"
- "http://binaries.openttd.org/extra/opensfx/$sfxversion/opensfx-$sfxversion-all.zip"
- "http://binaries.openttd.org/extra/openmsx/$msxversion/openmsx-$msxversion-all.zip"
+ "http://binaries.openttd.org/extra/opengfx/$_gfxversion/opengfx-$_gfxversion-all.zip"
+ "http://binaries.openttd.org/extra/opensfx/$_sfxversion/opensfx-$_sfxversion-all.zip"
+ "http://binaries.openttd.org/extra/openmsx/$_msxversion/openmsx-$_msxversion-all.zip"
"everything.patch"
+ "version.patch"
"clipboard.grf"
)
sha256sums=('19be61f1cb04cbb3cb9602f0b8eb6e6f56ecbefbfdd6e0e03f9579e5a5c1cbc8'
'6831b651b3dc8b494026f7277989a1d757961b67c17b75d3c2e097451f75af02'
'92e293ae89f13ad679f43185e83fb81fb8cad47fe63f4af3d3d9f955130460f5'
'87c17a36bbc0f401e3aad88402e68cbc5ff743c728e403e5492879c931f08757'
+ '69a604a37db76337a2709a0e63f5ca09b325af294225c42f4b7faf43c93ecc4c'
'12b90fe53f2d61d2d45d74ecc6b97d3a5f041c4215a5c1b02a6b1ba162e4572a')
-package() {
+prepare() {
+
+ tar -xf opengfx-$_gfxversion.tar
- tar -xf opengfx-$gfxversion.tar
+ svn export "svn://svn.openttd.org/trunk@r${pkgver}" trunk
+ cd trunk
- git clone "https://git.openttd.org/trunk.git" $pkgname
+ cat $srcdir/everything.patch | \
+ (
+ read zeile
+ while read zeile
+ do
+ [[ "${zeile}" == "diff --git a/"* ]] && break
+ done
+ echo "${zeile}"
+ cat
+ ) | \
+ patch -p1
- cd $pkgname
- git checkout 76fc2426669d3a52d392ab6838ebf30326294589
+ patch -p2 < $srcdir/version.patch
- patch -p1 < $srcdir/everything.patch
+}
+build() {
+
+ cd trunk
./configure --prefix-dir=/usr \
--binary-dir=bin \
--data-dir=share/openttd \
@@ -55,23 +73,28 @@ package() {
--man-dir=share/man \
--personal-dir=.openttd \
--install-dir=$pkgdir \
-
make
+
+}
+
+package() {
+
+ cd trunk
make DESTDIR=$pkgdir install
# Install OpenGFX
- install -d $pkgdir/usr/share/openttd/data/opengfx-$gfxversion
- install -m 644 $srcdir/opengfx-$gfxversion/* $pkgdir/usr/share/openttd/data/opengfx-$gfxversion
- chown -R root:root $pkgdir/usr/share/openttd/data/opengfx-$gfxversion
+ install -d $pkgdir/usr/share/openttd/data/opengfx-$_gfxversion
+ install -m 644 $srcdir/opengfx-$_gfxversion/* $pkgdir/usr/share/openttd/data/opengfx-$_gfxversion
+ chown -R root:root $pkgdir/usr/share/openttd/data/opengfx-$_gfxversion
# Install OpenSFX
- install -d $pkgdir/usr/share/openttd/data/opensfx-$sfxversion
- install -m 644 $srcdir/opensfx-$sfxversion/* $pkgdir/usr/share/openttd/data/opensfx-$sfxversion
- chown -R root:root $pkgdir/usr/share/openttd/data/opensfx-$sfxversion
+ install -d $pkgdir/usr/share/openttd/data/opensfx-$_sfxversion
+ install -m 644 $srcdir/opensfx-$_sfxversion/* $pkgdir/usr/share/openttd/data/opensfx-$_sfxversion
+ chown -R root:root $pkgdir/usr/share/openttd/data/opensfx-$_sfxversion
# Install OpenMSX
install -d $pkgdir/usr/share/openttd/gm
- install -m 644 $srcdir/openmsx-$msxversion/* $pkgdir/usr/share/openttd/gm
+ install -m 644 $srcdir/openmsx-$_msxversion/* $pkgdir/usr/share/openttd/gm
chown -R root:root $pkgdir/usr/share/openttd/gm/*
install -m644 $srcdir/clipboard.grf $pkgdir/usr/share/openttd/baseset/
@@ -83,8 +106,8 @@ package() {
# Remove junk
rm -rf $pkgdir/usr/share/doc
rm -rf $pkgdir/usr/share/openttd/scripts
- rm $pkgdir/usr/share/openttd/data/opengfx-$gfxversion/{changelog,readme}.txt
- rm $pkgdir/usr/share/openttd/data/opensfx-$sfxversion/{changelog,readme}.txt
+ rm $pkgdir/usr/share/openttd/data/opengfx-$_gfxversion/{changelog,readme}.txt
+ rm $pkgdir/usr/share/openttd/data/opensfx-$_sfxversion/{changelog,readme}.txt
rm $pkgdir/usr/share/openttd/gm/{changelog,readme}.txt
}
diff --git a/openttd-svn/version.patch b/openttd-svn/version.patch
new file mode 100644
index 000000000..b09e08d3a
--- /dev/null
+++ b/openttd-svn/version.patch
@@ -0,0 +1,54 @@
+--- a/trunk/findversion.sh 2016-04-04 13:46:56.085550989 +0200
++++ b/trunk/findversion.sh 2016-04-04 14:01:08.537965131 +0200
+@@ -128,10 +128,12 @@
+ exit
+ else
+ # We don't know
+- MODIFIED="1"
+- BRANCH=""
+- REV=""
+- REV_NR=""
++ MODIFIED="2"
++ HASH="$(find $ROOT_DIR/{src,bin} -type f -exec sha512sum {} \; | sha512sum - | cut)"
++ BRANCH="r27534-hard-game-by-ewe"
++ REV="g`echo $HASH | cut -c1-8`"
++ REV_NR="27534"
++ TAG=""
+ fi
+
+ if [ "$MODIFIED" -eq "2" ]; then
+--- a/trunk/config.lib 2016-04-04 14:04:14.881840501 +0200
++++ b/trunk/config.lib 2016-04-04 14:04:25.561871556 +0200
+@@ -1040,32 +1040,6 @@
+ fi
+ fi
+
+- if [ -d "$ROOT_DIR/.svn" ] && [ -n "`svn help 2>/dev/null`" ]; then
+- log 1 "checking revision... svn detection"
+- elif [ -d "$ROOT_DIR/../.svn" ] && [ -n "`svn help 2>/dev/null`" ] && [ -n "`LC_ALL=C svn info $ROOT_DIR/.. | grep '^URL:.*tags$'`" ]; then
+- # subversion changed its behaviour; now not all folders have a .svn folder,
+- # but only the root folder. Since making tags requires a (sparse) checkout
+- # of the tags folder, the folder of the tag does not have a .svn folder
+- # anymore and this fails to detect the subversion repository checkout.
+- log 1 "checking revision... svn detection (tag)"
+- elif [ -d "$ROOT_DIR/.git" ] && [ -n "`git help 2>/dev/null`" ]; then
+- log 1 "checking revision... git detection"
+- elif [ -d "$ROOT_DIR/.hg" ] && [ -n "`HGPLAIN= hg help 2>/dev/null`" ]; then
+- log 1 "checking revision... hg detection"
+- elif [ -f "$ROOT_DIR/.ottdrev" ]; then
+- log 1 "checking revision... source tarball"
+- else
+- log 1 "checking revision... no detection"
+- log 1 "WARNING: there is no means to determine the version."
+- log 1 "WARNING: please use a subversion, mercurial, or git checkout of OpenTTD."
+- log 1 "WARNING: you can only join game servers that have been compiled without"
+- log 1 "WARNING: version detection."
+- log 1 "WARNING: there is a great chance you desync."
+- log 1 "WARNING: USE WITH CAUTION!"
+-
+- sleep 5
+- fi
+-
+ if [ "$doc_dir" = "1" ]; then
+ if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then
+ doc_dir="share/doc/openttd"