summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: 7ae79aaba58c67bd1f467db90172790df872d91f (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.3
pkgrel=1
_offlinever=1.7
_ashesver=1.1.3
_orcsver=1.1.9
_cultsver=1.0.11
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=('5bd39a66ff95268671799580ef98715e2218e808c5e9497fd38d939926d7f1008dd6cec6c245db4ce9d27d23e0c6079982d9416b73f9d3b706dfbfd2b9e047d1'
        'a070bf6b82e6800115894dcdca51a15ebdd2d97bd555f958aa185b6fee0b05856d95b37580abe5a3019a76d1f5b9a7681c87592e2d274d1ece694843361e83c8'
        '50db009a280d72814989328bd8a84705511899f72c9c85b952016ad644b0d3b60c6d777f26d55a2d163d6b4854dba031f47e1cfd48b47cf48abb1f3f408f67ee'
        'f3de4f522ecd216b37819af49aa951c72bbf351def443684f9ae75415e86a670a8885c8f0e8e0a85b8ae995d15045d578dbbff4205e328439ffe92c56fa69cdf'
        '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}/"
}