summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: c4e36de997a79b962b396c9bf3a467717d6e533d (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
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (AUR): Harms <thotro at lyse dot net>
# Contributor (AUR): Pascal Grossé <pascal.grosse@gmail.com>

# # I maintain this because:
# AUR version uses /opt
# AUR version uses http
# AUR version uses debug build
# AUR version does not use -O3
# AUR version lacks offline patch
# AUR version lacks DLC

pkgname=tome4
pkgver=1.7.0
pkgrel=1.2
_offlinever=1.7
_ashesver=1.1.0
_orcsver=1.1.7
_cultsver=1.0.9
pkgdesc="An open-source, single-player, role-playing roguelike game set in the world of Eyal."
pkgdesc+="Includes DLC and offline patch."
arch=('i686' 'x86_64' 'aarch64')
url="https://te4.org/"
license=('custom' 'GPL3')
depends=(glu openal libvorbis sdl2_ttf sdl2_image)
makedepends=(premake zip unzip)
options=(emptydirs !makeflags)
source=("${url}dl/t-engine/t-engine4-src-${pkgver}.tar.bz2"
  ashes-urhrok_${_ashesver}.teaac
  orcs_${_orcsver}.teaac
  cults_${_cultsver}.teaac
  offline-donator_${_offlinever}.patch
  premake5.patch
  O3-support.patch
  tome4
  tome4.desktop)
conflicts=('tome4-beta' 'tome4-git' 'tome4-nomusic')
b2sums=('7eb525879836b5127e9b5eb56dfccf409cd2f1ed2ee5a7e45b819f1d39ca961c1bdb68460ff72beb0e4d0255d812b46314b41d440ae7a9e611852d178ecbaa35'
        '126f4ec4037e6c866789eef5952c48182d45f4f335c223084c747257a6ff81b208b7635af5b73275dd0665b688ac090b137c11714e9bead36f1a7505f6407934'
        '465353d7df5e7edaf56367fbee7c77c649b13a2f18c25c444e660f2be56efd3808cafa98f876046ec1f048607a38cb59e6b18e7083a236df46db4fa191e7780d'
        '9542c57215860628e55485728fc98129857e9231305742e0e31c03ea20fc1947f5100b6aee27191367b9f66e823c3eb75d2fe16e4a2258e012087bc38a423bb2'
        'ac66d8cd615d8f5cf9cf8dce140670ebf7b30fdf2d0b84b3d66160ffd740c29324b81dfb589435802308fdcdc5d357f9b09fdab28c43e682e5317acebeb9d49d'
        'e20806e077ef7bdb832040e235739fe6dc2fc7973fcb73628838b2a4b1a5e570379f4b2b4d09806d3bcf7941d276cdd458b4cd17d006deeb3cb23c4d67c6a638'
        '3bab61310c08a6d5a1eab31783e7b0492979008723edbef17a96c9e7b273c96b2ba3e146aff8fc577909776284f40c5c48092b825a3ece48c0b9ac38e5515fe1'
        'd32a8d25c7cdd7d13d530272e880381153fa86a5e99135481559eb81b0c1188dec2aabc1ef7a024b3791da17e2e9e1112a267261b43d49043dc81fb5622645cb'
        '763a8a8a27d8bb94f895489fe2f622f72eee3c7116ab8507235197ba9e3ab996aa2a16ce5f726eab47d361d35b044654b91bdca5742678417116ef18dcb07989')


###############################################################################
# 1. Patch the game.
###############################################################################
prepare() {
  cd t-engine4-src-${pkgver}

  cp "${srcdir}/ashes-urhrok_${_ashesver}.teaac" "${srcdir}/t-engine4-src-${pkgver}/game/addons/ashes-urhrok.teaac"
  cp "${srcdir}/orcs_${_orcsver}.teaac" "${srcdir}/t-engine4-src-${pkgver}/game/addons/orcs.teaac"
  cp "${srcdir}/cults_${_cultsver}.teaac" "${srcdir}/t-engine4-src-${pkgver}/game/addons/cults.teaac"
  patch -p1 -i "${srcdir}/offline-donator_${_offlinever}.patch"
  mv premake4.lua premake5.lua
  patch -p1 -i "${srcdir}/premake5.patch"
  patch -p1 -i "${srcdir}/O3-support.patch"

}

###############################################################################
# 2. Build the game engine from source.
###############################################################################
build() {
  cd t-engine4-src-${pkgver}

  premake5 gmake
  # higher than -j1 or -flto=1 breaks compiling
    export CFLAGS="$CFLAGS -O3 -fstack-protector-all -flto=1 -fPIE"
    export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -flto=1 -fPIE"
    export LDFLAGS="$LDFLAGS,-pie"
  make config=release
}

###############################################################################
# 3. Create the package. Copy all that shall be installed into the package dir.
###############################################################################
package() {
  # Extract and install the icon.
  unzip -oj -qq "${srcdir}/t-engine4-src-${pkgver}/game/engines/te4-${pkgver}.teae" "data/gfx/te4-icon.png" -d "${srcdir}"
  install -Dm644 "${srcdir}/te4-icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
  
  # Install the documents.
  install -Dm644 "${srcdir}/t-engine4-src-${pkgver}/CONTRIBUTING" "${pkgdir}/usr/share/doc/${pkgname}/CONTRIBUTING"
  install -Dm644 "${srcdir}/t-engine4-src-${pkgver}/CREDITS" "${pkgdir}/usr/share/doc/${pkgname}/CREDITS"
  
  # Install the custom license into standard location.
  install -Dm644 "${srcdir}/t-engine4-src-${pkgver}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
  install -Dm644 "${srcdir}/t-engine4-src-${pkgver}/COPYING-MEDIA" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-MEDIA"

  # Install the game executable, and the launcher.
  install -Dm755 "${srcdir}/t-engine4-src-${pkgver}/t-engine" "${pkgdir}/usr/lib/${pkgname}/t-engine"
  install -Dm755 "${srcdir}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
  install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
  
  # Install the game data.
  cp -r "${srcdir}/t-engine4-src-${pkgver}/bootstrap" "${pkgdir}/usr/lib/${pkgname}/"
  cp -r "${srcdir}/t-engine4-src-${pkgver}/game" "${pkgdir}/usr/lib/${pkgname}/"
}