summaryrefslogtreecommitdiff
path: root/openttd-git/PKGBUILD
blob: 3ac838e9e3db99f5055f0d4161915a7d32821591 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Maintainer: Erich Eckner <arch at eckner dot net>
pkgname=openttd-git
pkgver=28998.2e23c5ec1
_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=()
depends=(
    'fluidsynth'
    'fontconfig'
    'hicolor-icon-theme'
    'icu'
    'libpng'
    'lzo'
    'sdl'
    'xz'
)
makedepends=('subversion')
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}"
    "signaltunnel.patch"
    "sloped-stations.patch"
    "underground.patch"
)
sha512sums=('SKIP'
            'cfee0dc210d8003f64f1910c8e86210aacc36898c715499d58c513d3499a426493cffcaeeccf9fd4a3600a0b957288bf531ee243e7a30f485729cbda10b9ff05'
            'e758e4a393ba504a3838676ef7f46fe2e7f7b4d85fc8053a176e675c588a55c4883f3fa5bcef9d9e4abd88a0318020d997f4e91b8f91add24d3c83f8a861b4be'
            'b1d5a2b4b69c84898138527776c8cfa9c797bef5ca6ba41d5f679195bcbb6f0fd5dcfa0d2dbc6206057cda73b7dfab96421f3ce6f3a5c94b240fcbc77d8a8dcb')

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}/${pkgname}"

    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\n' \
      "${ISODATE}-ewe-g${SHORTHASH}" \
      "${ISODATE}" \
      "0" \
      "${HASH}" \
      "0" \
      "0" \
      > .ottdrev
    sed -i '
      s,"\$ROOT_DIR/\.git","/dev/does/not/exist",
    ' findversion.sh

    for _p in "${srcdir}/"{signaltunnel,sloped-stations,underground}.patch; do
      >&2 echo "patching ${_p##*/} ..."
      patch -p1 -i "${_p}"
      >&2 echo "... ok"
    done
    sed -i '
      s/readme\.txt/README.md/g
    ' Makefile.bundle.in

}

build() {

    cd "${srcdir}/${pkgname}"
    ./configure ${_targetHost} \
        --prefix-dir=/usr \
        --binary-dir=bin \
        --data-dir=share/openttd \
        --icon-dir=share/openttd \
        --man-dir=share/man \
        --personal-dir=.openttd \
        --install-dir=$pkgdir
    make

}

check() {
    cd "${srcdir}/${pkgname}"
    make test || true
}

package() {

    cd "${srcdir}/${pkgname}"
    make DESTDIR=$pkgdir install

    # Remove unnecessary languages
    cp $pkgdir/usr/share/openttd/lang/{english,german}.lng $srcdir
    rm $pkgdir/usr/share/openttd/lang/*
    install -m 644 $srcdir/{english,german}.lng $pkgdir/usr/share/openttd/lang

    # Remove junk
    rm -rf $pkgdir/usr/share/doc
    rm -rf $pkgdir/usr/share/openttd/scripts

}