blob: a8a8a7553b0eba2581968ce12ac7402da7ab3661 (
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
125
126
127
128
129
|
# Maintainer: Jan Cholasta <grubber at grubber cz>
# Contributor: Christoph Zeiler <rabyte*gmail>
# Build without fmodex:
_fmodex=
# Build with fmodex:
#_fmodex=fmodex
_name=gzdoom
pkgname=${_name}
pkgver=2.3.0
pkgrel=1
pkgdesc='Advanced Doom source port with OpenGL support'
arch=('i686' 'x86_64')
url='http://www.zdoom.org/'
license=('BSD' 'custom:BUILD' 'custom:doom' 'custom:dumb' 'LGPL')
depends=(${_fmodex:+$(LC_ALL=C pacman -Q $_fmodex | sed -r 's/ /=/;s/-.*$//')}
'hicolor-icon-theme'
'libgl'
'libjpeg'
'libgme'
'libsndfile'
'mpg123'
'sdl2')
makedepends=('cmake'
'desktop-file-utils'
'fluidsynth'
'git'
'gtk3'
'imagemagick'
'openal'
'xdg-utils')
optdepends=('blasphemer-wad: Blasphemer (free Heretic) game data'
'chexquest3-wad: Chex Quest 3 game data'
'doom1-wad: Doom shareware game data'
'fluidsynth: FluidSynth MIDI device'
'freedm: FreeDM game data'
'freedoom1: Freedoom: Phase 1 game data'
'freedoom2: Freedoom: Phase 2 game data'
'gtk3: IWAD selection dialog'
'gxmessage: crash dialog (GNOME)'
'hacx-wad: HacX game data'
'harmony-wad: Harmony game data'
'heretic1-wad: Heretic shareware game data'
'hexen1-wad: Hexen demo game data'
'kdialog: crash dialog (KDE)'
'openal: OpenAL sound backend'
'strife0-wad: Strife shareware game data'
'square1-wad: The Adventures of Square, Episode 1 game data'
'timidity++: Timidity MIDI device'
'urbanbrawl-wad: Urban Brawl: Action Doom 2 game data'
'xorg-xmessage: crash dialog (other)')
source=("${_name}::git://github.com/coelckers/${_name}.git#tag=g${pkgver}"
'launcher.desktop')
sha256sums=('SKIP'
'59122e670f72aa2531aff370e7aaab2d886a7642e79e91f27a533d3b4cad4f6d')
build() {
cd $_name
local _nofmod _fmodincdir _fmodlib
if [[ -n "${_fmodex}" ]]; then
_nofmod=OFF
_fmodincdir=$(LC_ALL=C pacman -Ql $_fmodex | grep -Eo '/usr/include/fmodex[^/]*/$')
_fmodlib=$(LC_ALL=C pacman -Ql $_fmodex | grep -Eo '/usr/lib/libfmodex-[^/]*\.so$')
else
_nofmod=ON
fi
cmake -DNO_FMOD=${_nofmod} \
-DGME_INCLUDE_DIR='/usr/include/gme' \
-DFMOD_INCLUDE_DIR="${_fmodincdir}" \
-DFMOD_LIBRARY="${_fmodlib}" \
-DFORCE_INTERNAL_GME=OFF \
-DCMAKE_C_FLAGS="$CFLAGS -DSHARE_DIR=\\\"/usr/share/${_name}\\\"" \
-DCMAKE_CXX_FLAGS="$CXXFLAGS -DSHARE_DIR=\\\"/usr/share/${_name}\\\"" \
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -Wl,-z,noexecstack" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_PATH=lib/$_name \
-DINSTALL_PK3_PATH=share/$_name \
.
make
cat >"${_name}.sh" <<EOF
#!/bin/sh
exec /usr/lib/${_name}/${_name} "\$@"
EOF
cp "${srcdir}/launcher.desktop" "${_name}.desktop"
mkdir -p 'icons'
convert 'src/win32/icon1.ico[2]' 'icons/48.png'
convert 'src/win32/icon1.ico[3]' 'icons/32.png'
convert 'src/win32/icon1.ico[4]' 'icons/16.png'
}
package() {
cd $_name
install -D "${_name}.sh" "${pkgdir}/usr/bin/${_name}"
make install DESTDIR="$pkgdir"
ln -s /usr/share/$_name/${_name}.pk3 "$pkgdir"/usr/lib/$_name/${_name}.pk3
if [[ -n "${_fmodex}" ]]; then
install 'liboutput_sdl.so' "${pkgdir}/usr/lib/${_name}/"
fi
mkdir -p "$pkgdir"/usr/share/licenses
ln -s /usr/share/doc/$_name/licenses "$pkgdir"/usr/share/licenses/$pkgname
desktop-file-install --dir="${pkgdir}/usr/share/applications" "${_name}.desktop"
mkdir -p "${pkgdir}/usr/share/icons/hicolor"
(
cd 'icons'
export XDG_DATA_DIRS="${pkgdir}/usr/share"
local _file
for _file in *.png; do
xdg-icon-resource install --noupdate \
--novendor \
--size "${_file%.png}" \
"${_file}" \
"${_name}"
done
)
}
|