1212# --without ogg: build without ogg/vorbis music streaming support
1313# --with flac: build with flac music streaming support
1414# --with opus: build with opus music streaming support
15+ # --with xmp: build with libxmp (tracker) music streaming support
1516# --with mikmod: build with mikmod (tracker) music streaming support
1617# --with umx: build with unreal umx music streaming support
1718# --without asm: do not use x86 assembly even on an intel cpu
3132%{! ?_without_ogg:%define ogg_buildopt USE_CODEC_VORBIS= yes}
3233%{! ?_with_flac:%define flac_buildopt USE_CODEC_FLAC= no}
3334%{! ?_with_opus:%define opus_buildopt USE_CODEC_OPUS= no}
35+ %{! ?_with_xmp:%define xmp_buildopt USE_CODEC_XMP= no}
3436%{! ?_with_mikmod:%define mikmod_buildopt USE_CODEC_MIKMOD= no}
3537%{! ?_with_umx:%define umx_buildopt USE_CODEC_UMX= no}
3638# build option overrides
4446%{?_without_ogg:%define ogg_buildopt USE_CODEC_VORBIS= no}
4547%{?_with_flac:%define flac_buildopt USE_CODEC_FLAC= yes}
4648%{?_with_opus:%define opus_buildopt USE_CODEC_OPUS= yes}
49+ %{?_with_xmp:%define xmp_buildopt USE_CODEC_XMP= yes}
4750%{?_with_mikmod:%define mikmod_buildopt USE_CODEC_MIKMOD= yes}
4851%{?_with_umx:%define umx_buildopt USE_CODEC_UMX= yes}
4952# all build options passed to makefile
50- %define engine_buildopt %{asm_buildopt } %{alsa_buildopt } %{midi_buildopt } %{timidity_buildopt } %{wavmusic_buildopt } %{mp3_buildopt } %{mp3_libraryopt } %{ogg_buildopt } %{opus_buildopt } %{flac_buildopt } %{mikmod_buildopt } %{umx_buildopt }
53+ %define engine_buildopt %{asm_buildopt } %{alsa_buildopt } %{midi_buildopt } %{timidity_buildopt } %{wavmusic_buildopt } %{mp3_buildopt } %{mp3_libraryopt } %{ogg_buildopt } %{opus_buildopt } %{flac_buildopt } %{xmp_buildopt } %{ mikmod_buildopt } %{umx_buildopt }
5154
5255%define gamecode_ver 1.29c
5356
@@ -59,14 +62,14 @@ Release: 1
5962Summary: Hexen II: Hammer of Thyrion
6063URL: http://uhexen2.sourceforge.net/
6164Source: http://download.sourceforge.net/uhexen2/hexen2source-%{version }.tgz
62- Source1: http://download.sourceforge.net/uhexen2/hexen2source-gamecode-%{version }.tgz
63- Source2: http://download.sourceforge.net/uhexen2/hexenworld-pakfiles-0.15.tgz
65+ Source1: http://download.sourceforge.net/uhexen2/hexenworld-pakfiles-0.15.tgz
6466BuildRoot: %{_tmppath }/%{name }-%{version }-build
6567BuildRequires: SDL-devel >= 1.2.4
6668%{! ?_without_mp3:BuildRequires: %{! ?_with_mpg123:libmad-devel}%{?_with_mpg123:libmpg123-devel >= 1.12.0}}
6769%{! ?_without_ogg:BuildRequires: libogg-devel libvorbis-devel}
6870%{?_with_flac:BuildRequires: flac-devel}
6971%{?_with_opus:BuildRequires: opus-devel opusfile-devel}
72+ %{?_with_xmp:BuildRequires: libxmp-devel}
7073%{?_with_mikmod:BuildRequires: libmikmod-devel}
7174%{! ?_without_asm:BuildRequires: nasm >= 0.98.38}
7275Obsoletes: hexen2-missionpack
@@ -78,6 +81,7 @@ Requires: SDL >= 1.2.4
7881#%{?_with_opus:Requires: opus opusfile}
7982#%{!?_without_mp3:Requires: %{!?_with_mpg123:libmad}%{?_with_mpg123:libmpg123 >= 1.12.0}}
8083#%{!?_without_ogg:Requires: libvorbis}
84+ #%{?_with_xmp:Requires: libxmp}
8185#%{?_with_mikmod:Requires: libmikmod}
8286
8387%description
@@ -100,7 +104,7 @@ This package contains the files which are required to run a HexenWorld
100104server or client, and a master server application.
101105
102106%prep
103- %setup -q -n hexen2source-%{version } -a1 -a2
107+ %setup -q -n hexen2source-%{version } -a1
104108
105109%build
106110# Build the main game binaries
@@ -125,11 +129,11 @@ server or client, and a master server application.
125129# Build the hcode compiler
126130%{__make} -C utils/hcc
127131# Build the game-code
128- utils/hcc/hcc -src gamecode-%{ gamecode_ver } /hc/h2 -os
129- utils/hcc/hcc -src gamecode-%{ gamecode_ver } /hc/h2 -os -name progs2.src
130- utils/hcc/hcc -src gamecode-%{ gamecode_ver } /hc/portals -os -oi -on
131- utils/hcc/hcc -src gamecode-%{ gamecode_ver } /hc/hw -os -oi -on
132- #utils/hcc/hcc -src gamecode-%{gamecode_ver} /hc/siege -os -oi -on
132+ utils/hcc/hcc -src gamecode/hc/h2 -os
133+ utils/hcc/hcc -src gamecode/hc/h2 -os -name progs2.src
134+ utils/hcc/hcc -src gamecode/hc/portals -os -oi -on
135+ utils/hcc/hcc -src gamecode/hc/hw -os -oi -on
136+ #utils/hcc/hcc -src gamecode/hc/siege -os -oi -on
133137
134138# Done building
135139
@@ -168,69 +172,65 @@ utils/hcc/hcc -src gamecode-%{gamecode_ver}/hc/hw -os -oi -on
168172%{__install} -D -m644 docs/ABOUT %{buildroot }/%{_prefix }/games/%{name }/docs/ABOUT
169173%{__install} -D -m644 docs/AUTHORS %{buildroot }/%{_prefix }/games/%{name }/docs/AUTHORS
170174%{__install} -D -m644 docs/Features %{buildroot }/%{_prefix }/games/%{name }/docs/Features
171- %{__install} -D -m644 docs/CHANGES %{buildroot }/%{_prefix }/games/%{name }/docs/CHANGES
172- %{__install} -D -m644 docs/CHANGES.old %{buildroot }/%{_prefix }/games/%{name }/docs/CHANGES.old
173175%{__install} -D -m644 docs/README.music %{buildroot }/%{_prefix }/games/%{name }/docs/README.music
174- %{__install} -D -m644 docs/README.3dfx %{buildroot }/%{_prefix }/games/%{name }/docs/README.3dfx
175176%{__install} -D -m644 docs/README.hwcl %{buildroot }/%{_prefix }/games/%{name }/docs/README.hwcl
176177%{__install} -D -m644 docs/README.hwsv %{buildroot }/%{_prefix }/games/%{name }/docs/README.hwsv
177178%{__install} -D -m644 docs/README.hwmaster %{buildroot }/%{_prefix }/games/%{name }/docs/README.hwmaster
178- %{__install} -D -m644 docs/SrcNotes.txt %{buildroot }/%{_prefix }/games/%{name }/docs/SrcNotes.txt
179179%{__install} -D -m644 docs/ReleaseNotes %{buildroot }/%{_prefix }/games/%{name }/docs/ReleaseNotes
180180%{__install} -D -m644 docs/ReleaseNotes.old %{buildroot }/%{_prefix }/games/%{name }/docs/ReleaseNotes.old
181181
182182# Install the gamedata
183183%{__mkdir_p} %{buildroot }/%{_prefix }/games/%{name }/data1/
184- %{__install} -D -m644 gamecode-%{ gamecode_ver } /hc/h2/progs.dat %{buildroot }/%{_prefix }/games/%{name }/data1/progs.dat
185- %{__install} -D -m644 gamecode-%{ gamecode_ver } /hc/h2/progs2.dat %{buildroot }/%{_prefix }/games/%{name }/data1/progs2.dat
186- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/h2/hexen.rc %{buildroot }/%{_prefix }/games/%{name }/data1/hexen.rc
187- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/h2/strings.txt %{buildroot }/%{_prefix }/games/%{name }/data1/strings.txt
188- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/h2/default.cfg %{buildroot }/%{_prefix }/games/%{name }/data1/default.cfg
184+ %{__install} -D -m644 gamecode/hc/h2/progs.dat %{buildroot }/%{_prefix }/games/%{name }/data1/progs.dat
185+ %{__install} -D -m644 gamecode/hc/h2/progs2.dat %{buildroot }/%{_prefix }/games/%{name }/data1/progs2.dat
186+ %{__install} -D -m644 gamecode/res/h2/hexen.rc %{buildroot }/%{_prefix }/games/%{name }/data1/hexen.rc
187+ %{__install} -D -m644 gamecode/res/h2/strings.txt %{buildroot }/%{_prefix }/games/%{name }/data1/strings.txt
188+ %{__install} -D -m644 gamecode/res/h2/default.cfg %{buildroot }/%{_prefix }/games/%{name }/data1/default.cfg
189189%{__mkdir_p} %{buildroot }/%{_prefix }/games/%{name }/portals/
190- %{__install} -D -m644 gamecode-%{ gamecode_ver } /hc/portals/progs.dat %{buildroot }/%{_prefix }/games/%{name }/portals/progs.dat
191- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/portals/hexen.rc %{buildroot }/%{_prefix }/games/%{name }/portals/hexen.rc
192- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/portals/strings.txt %{buildroot }/%{_prefix }/games/%{name }/portals/strings.txt
193- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/portals/infolist.txt %{buildroot }/%{_prefix }/games/%{name }/portals/infolist.txt
194- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/portals/maplist.txt %{buildroot }/%{_prefix }/games/%{name }/portals/maplist.txt
195- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/portals/puzzles.txt %{buildroot }/%{_prefix }/games/%{name }/portals/puzzles.txt
196- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/portals/default.cfg %{buildroot }/%{_prefix }/games/%{name }/portals/default.cfg
190+ %{__install} -D -m644 gamecode/hc/portals/progs.dat %{buildroot }/%{_prefix }/games/%{name }/portals/progs.dat
191+ %{__install} -D -m644 gamecode/res/portals/hexen.rc %{buildroot }/%{_prefix }/games/%{name }/portals/hexen.rc
192+ %{__install} -D -m644 gamecode/res/portals/strings.txt %{buildroot }/%{_prefix }/games/%{name }/portals/strings.txt
193+ %{__install} -D -m644 gamecode/res/portals/infolist.txt %{buildroot }/%{_prefix }/games/%{name }/portals/infolist.txt
194+ %{__install} -D -m644 gamecode/res/portals/maplist.txt %{buildroot }/%{_prefix }/games/%{name }/portals/maplist.txt
195+ %{__install} -D -m644 gamecode/res/portals/puzzles.txt %{buildroot }/%{_prefix }/games/%{name }/portals/puzzles.txt
196+ %{__install} -D -m644 gamecode/res/portals/default.cfg %{buildroot }/%{_prefix }/games/%{name }/portals/default.cfg
197197%{__mkdir_p} %{buildroot }/%{_prefix }/games/%{name }/hw/
198- %{__install} -D -m644 gamecode-%{ gamecode_ver } /hc/hw/hwprogs.dat %{buildroot }/%{_prefix }/games/%{name }/hw/hwprogs.dat
199- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/hw/mapcycle.cfg %{buildroot }/%{_prefix }/games/%{name }/hw/mapcycle.cfg
200- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/hw/server.cfg %{buildroot }/%{_prefix }/games/%{name }/hw/server.cfg
201- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/hw/strings.txt %{buildroot }/%{_prefix }/games/%{name }/hw/strings.txt
202- %{__install} -D -m644 gamecode-%{ gamecode_ver } /res/hw/default.cfg %{buildroot }/%{_prefix }/games/%{name }/hw/default.cfg
198+ %{__install} -D -m644 gamecode/hc/hw/hwprogs.dat %{buildroot }/%{_prefix }/games/%{name }/hw/hwprogs.dat
199+ %{__install} -D -m644 gamecode/res/hw/mapcycle.cfg %{buildroot }/%{_prefix }/games/%{name }/hw/mapcycle.cfg
200+ %{__install} -D -m644 gamecode/res/hw/server.cfg %{buildroot }/%{_prefix }/games/%{name }/hw/server.cfg
201+ %{__install} -D -m644 gamecode/res/hw/strings.txt %{buildroot }/%{_prefix }/games/%{name }/hw/strings.txt
202+ %{__install} -D -m644 gamecode/res/hw/default.cfg %{buildroot }/%{_prefix }/games/%{name }/hw/default.cfg
203203%{__install} -D -m644 hw/pak4.pak %{buildroot }/%{_prefix }/games/%{name }/hw/pak4.pak
204204
205205# Install ent fixes handling map quirks
206206%{__mkdir_p} %{buildroot }/%{_prefix }/games/%{name }/data1/maps/
207- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/README.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/README.txt
208- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/cath.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/cath.ent
209- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/cath.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/cath.txt
210- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/demo2.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/demo2.ent
211- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/demo2.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/demo2.txt
212- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/egypt4.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/egypt4.ent
213- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/egypt4.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/egypt4.txt
214- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/egypt5.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/egypt5.ent
215- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/egypt5.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/egypt5.txt
216- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/romeric5.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/romeric5.ent
217- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/romeric5.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/romeric5.txt
218- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/tower.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/tower.ent
219- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/data1/maps/tower.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/tower.txt
220- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/portals/maps/README.txt %{buildroot }/%{_prefix }/games/%{name }/portals/maps/README.txt
221- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/portals/maps/tibet2.ent %{buildroot }/%{_prefix }/games/%{name }/portals/maps/tibet2.ent
222- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/portals/maps/tibet2.txt %{buildroot }/%{_prefix }/games/%{name }/portals/maps/tibet2.txt
223- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/portals/maps/tibet9.ent %{buildroot }/%{_prefix }/games/%{name }/portals/maps/tibet9.ent
224- %{__install} -D -m644 gamecode-%{ gamecode_ver } /mapfixes/portals/maps/tibet9.txt %{buildroot }/%{_prefix }/games/%{name }/portals/maps/tibet9.txt
207+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/README.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/README.txt
208+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/cath.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/cath.ent
209+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/cath.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/cath.txt
210+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/demo2.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/demo2.ent
211+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/demo2.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/demo2.txt
212+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/egypt4.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/egypt4.ent
213+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/egypt4.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/egypt4.txt
214+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/egypt5.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/egypt5.ent
215+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/egypt5.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/egypt5.txt
216+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/romeric5.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/romeric5.ent
217+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/romeric5.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/romeric5.txt
218+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/tower.ent %{buildroot }/%{_prefix }/games/%{name }/data1/maps/tower.ent
219+ %{__install} -D -m644 gamecode/mapfixes/data1/maps/tower.txt %{buildroot }/%{_prefix }/games/%{name }/data1/maps/tower.txt
220+ %{__install} -D -m644 gamecode/mapfixes/portals/maps/README.txt %{buildroot }/%{_prefix }/games/%{name }/portals/maps/README.txt
221+ %{__install} -D -m644 gamecode/mapfixes/portals/maps/tibet2.ent %{buildroot }/%{_prefix }/games/%{name }/portals/maps/tibet2.ent
222+ %{__install} -D -m644 gamecode/mapfixes/portals/maps/tibet2.txt %{buildroot }/%{_prefix }/games/%{name }/portals/maps/tibet2.txt
223+ %{__install} -D -m644 gamecode/mapfixes/portals/maps/tibet9.ent %{buildroot }/%{_prefix }/games/%{name }/portals/maps/tibet9.ent
224+ %{__install} -D -m644 gamecode/mapfixes/portals/maps/tibet9.txt %{buildroot }/%{_prefix }/games/%{name }/portals/maps/tibet9.txt
225225
226226# Install the pak deltas
227227%{__mkdir_p} %{buildroot }/%{_prefix }/games/%{name }/patchdat/
228228%{__mkdir_p} %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1
229- %{__install} -D -m644 gamecode-%{ gamecode_ver } /patch111/patchdat/data1/data1pk0.xd3 %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1/data1pk0.xd3
230- %{__install} -D -m644 gamecode-%{ gamecode_ver } /patch111/patchdat/data1/data1pk1.xd3 %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1/data1pk1.xd3
231- %{__install} -D -m644 gamecode-%{ gamecode_ver } /patch111/patchdat/data1/oem08pk0.xd3 %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1/oem08pk0.xd3
232- %{__install} -D -m644 gamecode-%{ gamecode_ver } /patch111/patchdat/data1/oem08pk2.xd3 %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1/oem08pk2.xd3
233- %{__install} -D -m644 gamecode-%{ gamecode_ver } /patch111/patchdat.txt %{buildroot }/%{_prefix }/games/%{name }/patchdat.txt
229+ %{__install} -D -m644 gamecode/patch111/patchdat/data1/data1pk0.xd3 %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1/data1pk0.xd3
230+ %{__install} -D -m644 gamecode/patch111/patchdat/data1/data1pk1.xd3 %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1/data1pk1.xd3
231+ %{__install} -D -m644 gamecode/patch111/patchdat/data1/oem08pk0.xd3 %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1/oem08pk0.xd3
232+ %{__install} -D -m644 gamecode/patch111/patchdat/data1/oem08pk2.xd3 %{buildroot }/%{_prefix }/games/%{name }/patchdat/data1/oem08pk2.xd3
233+ %{__install} -D -m644 gamecode/patch111/patchdat.txt %{buildroot }/%{_prefix }/games/%{name }/patchdat.txt
234234
235235%{__install} -D -m644 engine/resource/hexen2.png %{buildroot }/%{_prefix }/games/%{name }/hexen2.png
236236
@@ -292,12 +292,8 @@ utils/hcc/hcc -src gamecode-%{gamecode_ver}/hc/hw -os -oi -on
292292%{_prefix }/games/%{name }/docs/ABOUT
293293%{_prefix }/games/%{name }/docs/AUTHORS
294294%{_prefix }/games/%{name }/docs/Features
295- %{_prefix }/games/%{name }/docs/CHANGES
296- %{_prefix }/games/%{name }/docs/CHANGES.old
297295%{_prefix }/games/%{name }/docs/README.music
298- %{_prefix }/games/%{name }/docs/README.3dfx
299296%{_prefix }/games/%{name }/docs/TODO
300- %{_prefix }/games/%{name }/docs/SrcNotes.txt
301297%{_prefix }/games/%{name }/docs/ReleaseNotes
302298%{_prefix }/games/%{name }/docs/ReleaseNotes.old
303299%{_prefix }/games/%{name }/hexen2.png
@@ -322,10 +318,11 @@ utils/hcc/hcc -src gamecode-%{gamecode_ver}/hc/hw -os -oi -on
322318%{_prefix }/games/%{name }/docs/README.hwmaster
323319
324320%changelog
325- *
Mon Sep 11 2023 O.Sezer <[email protected] > 1.5.10-1 321+ *
Thu Feb 15 2024 O.Sezer <[email protected] > 1.5.10-1 326322- Version 1.5.10.
327323- Bump gamecode version to 1.29c
328324- Install oem v1.08 patches
325+ - Added --with xmp build option.
329326
330327*
Tue Feb 20 2018 O.Sezer <[email protected] > 1.5.9-1 331328- Version 1.5.9.
0 commit comments