%define name quakeforge %define version @VERSION@ %define release 1 %define builddir $RPM_BUILD_DIR/%{name}-%{version} %define HAVE_FBDEV '@HAVE_FBDEV@' %define HAVE_SDL '@HAVE_SDL@' %define HAVE_SVGA '@HAVE_SVGA@' %define HAVE_X11 '@HAVE_X@' %define HAVE_ALSA '@HAVE_ALSA@' %define HAVE_OSS '@HAVE_OSS@' %define BUILD_GL '@CAN_BUILD_GL@' %define BUILD_SW '@CAN_BUILD_SW@' Name: %{name} Version: %{version} Release: %{release} Vendor: The QuakeForge Project Packager: The QuakeForge Project quake-devel@lists.sourceforge.net URL: http://www.quakeforge.net/ Source: %{name}-%{version}.tar.gz #Patch: Group: Amusements/Games Copyright: GPL #Icon: #Requires: BuildRoot: /var/tmp/%{name}-%{version} Summary: QuakeForge 3D game engine %description QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %package common Summary: QuakeForge 3D game engine - common files Group: Amusements/Games #Requires: %description common QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %package server Summary: QuakeForge 3D game engine - Server Group: Amusements/Games #Requires: %description server QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %package master Summary: QuakeForge 3D game engine - Master Server Group: Amusements/Games #Requires: %description master QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %if "%{HAVE_FBDEV}"=="'yes'" %package fbdev Summary: QuakeForge 3D game engine - fbdev client Group: Amusements/Games #Requires: %description fbdev QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %if "%{HAVE_X11}"=="'yes'" %package glx Summary: QuakeForge 3D game engine - glx client Group: Amusements/Games #Requires: %description glx QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %if "%{HAVE_SDL}"=="'yes'" %package sdl Summary: QuakeForge 3D game engine - SDL client Group: Amusements/Games #Requires: %description sdl QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %if "%{HAVE_SDL}"=="'yes'" %package sdl32 Summary: QuakeForge 3D game engine - SDL client Group: Amusements/Games #Requires: %description sdl32 QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %if "%{HAVE_SDL}"=="'yes'" %package sgl Summary: QuakeForge 3D game engine - SDL-GL client Group: Amusements/Games #Requires: %description sgl QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %if "%{HAVE_SVGA}"=="'yes'" %package svga Summary: QuakeForge 3D game engine - SVGAlib client Group: Amusements/Games #Requires: %description svga QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %if "%{HAVE_X11}"=="'yes'" %package x11 Summary: QuakeForge 3D game engine - X11 client Group: Amusements/Games #Requires: %description x11 QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %if "%{HAVE_ALSA}"=="'yes'" %package snd-alsa Summary: ALSA 0.9 sound plugin for QuakeForge Group: Amusements/Games #Requires: %description snd-alsa QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. The ALSA 0.9 plugin for QuakeForge provides digital audio output for QuakeForge targets that contain clients. %endif %if "%{HAVE_OSS}"=="'yes'" %package snd-oss Summary: OSS sound plugin for QuakeForge Group: Amusements/Games #Requires: %description snd-oss QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. The OSS plugin for QuakeForge provides digital audio output (using OSS/Linux, OSS/Free, or kernel sound) for QuakeForge targets that contain clients. NOTE: This plugin does not work on all systems, since it uses memory-mapped I/O for the output device. If you have trouble, try the quakeforge-alsa package. %endif %if "%{HAVE_SDL}"=="'yes'" %package snd-sdl Summary: SDL sound plugin for QuakeForge Group: Amusements/Games #Requires: %description snd-sdl QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. The SDL plugin for QuakeForge provides digital audio output for QuakeForge targets that contain clients. %endif %if "%{BUILD_GL}"=="'yes'" %package libs-gl Summary: QuakeForge 3D game engine - OpenGL renderer libraries Group: Amusements/Games #Requires: %description libs-gl QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %if "%{BUILD_SW}"=="'yes'" %package libs-sw Summary: QuakeForge 3D game engine - Software renderer libraries Group: Amusements/Games #Requires: %description libs-sw QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %endif %package devel Summary: QuakeForge 3D game engine - headers and devel libs Group: Amusements/Games Requires: quakeforge-common %description devel QuakeForge is a source port of Quake and QuakeWorld, the successors to id Software's very popular DOOM series. Its primary development goal is to remain compatible with the original games released by id Software while adding portability and optional extensions to enhance gameplay. %prep %setup -n %{name}-%{version} #%patch -p1 %build CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix} if test -f /proc/cpuinfo; then make -j`grep processor /proc/cpuinfo | wc -l` else make fi %install if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi mkdir -p $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc mkdir -p $RPM_BUILD_ROOT/%{_prefix}/share/games/quakeforge make install DESTDIR=$RPM_BUILD_ROOT cp RPM/quakeforge.conf $RPM_BUILD_ROOT/etc %clean rm -rf $RPM_BUILD_ROOT %files %doc COPYING INSTALL TODO doc/* %attr(-,root,root) %dir %{_prefix}/share/games/quakeforge %files common %attr(-,root,root) /etc/quakeforge.conf %attr(-,root,root) %{_prefix}/lib/libQFcd.so.1 %attr(-,root,root) %{_prefix}/lib/libQFcd.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFconsole.so.1 %attr(-,root,root) %{_prefix}/lib/libQFconsole.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFgamecode.so.1 %attr(-,root,root) %{_prefix}/lib/libQFgamecode.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFgamecode_builtins.so.1 %attr(-,root,root) %{_prefix}/lib/libQFgamecode_builtins.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFgib.so.1 %attr(-,root,root) %{_prefix}/lib/libQFgib.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFjs.so.1 %attr(-,root,root) %{_prefix}/lib/libQFjs.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFmodels.so.1 %attr(-,root,root) %{_prefix}/lib/libQFmodels.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFsound.so.1 %attr(-,root,root) %{_prefix}/lib/libQFsound.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFutil.so.1 %attr(-,root,root) %{_prefix}/lib/libQFutil.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/quakeforge/libcd_null.so %attr(-,root,root) %{_prefix}/lib/quakeforge/libcd_null.so.1 %attr(-,root,root) %{_prefix}/lib/quakeforge/libcd_null.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_disk.so %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_disk.so.1 %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_disk.so.1.0.0 #%attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_null.so #%attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_null.so.1 #%attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_null.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_render_default.so %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_render_default.so.1 %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_render_default.so.1.0.0 %files server %attr(-,root,root) %{_prefix}/bin/qw-server %attr(-,root,root) %{_prefix}/bin/nq-server %files master %attr(-,root,root) %{_prefix}/bin/qw-master %if "%{HAVE_FBDEV}"=="'yes'" %files fbdev %attr(-,root,root) %{_prefix}/bin/qw-client-fbdev %attr(-,root,root) %{_prefix}/bin/nq-fbdev %attr(-,root,root) %{_prefix}/lib/libQFfbdev.so.1 %attr(-,root,root) %{_prefix}/lib/libQFfbdev.so.1.0.0 %endif %if "%{HAVE_X11}"=="'yes'" %files glx %attr(-,root,root) %{_prefix}/bin/qw-client-glx %attr(-,root,root) %{_prefix}/bin/nq-glx %attr(-,root,root) %{_prefix}/lib/libQFglx.so.1 %attr(-,root,root) %{_prefix}/lib/libQFglx.so.1.0.0 %endif %if "%{HAVE_SDL}"=="'yes'" %files sdl %attr(-,root,root) %{_prefix}/bin/qw-client-sdl %attr(-,root,root) %{_prefix}/bin/nq-sdl %attr(-,root,root) %{_prefix}/lib/libQFsdl.so.1 %attr(-,root,root) %{_prefix}/lib/libQFsdl.so.1.0.0 %endif %if "%{HAVE_SDL}"=="'yes'" %files sdl32 %attr(-,root,root) %{_prefix}/bin/qw-client-sdl32 %attr(-,root,root) %{_prefix}/bin/nq-sdl32 %attr(-,root,root) %{_prefix}/lib/libQFsdl32.so.1 %attr(-,root,root) %{_prefix}/lib/libQFsdl32.so.1.0.0 %endif %if "%{HAVE_SDL}"=="'yes'" %files sgl %attr(-,root,root) %{_prefix}/bin/qw-client-sgl %attr(-,root,root) %{_prefix}/bin/nq-sgl %attr(-,root,root) %{_prefix}/lib/libQFsgl.so.1 %attr(-,root,root) %{_prefix}/lib/libQFsgl.so.1.0.0 %endif %if "%{HAVE_SVGA}"=="'yes'" %files svga %attr(4755,root,root) %{_prefix}/bin/qw-client-svga %attr(4755,root,root) %{_prefix}/bin/nq-svga %endif %if "%{HAVE_X11}"=="'yes'" %files x11 %attr(-,root,root) %{_prefix}/bin/qw-client-x11 %attr(-,root,root) %{_prefix}/bin/nq-x11 %attr(-,root,root) %{_prefix}/lib/libQFx11.so.1 %attr(-,root,root) %{_prefix}/lib/libQFx11.so.1.0.0 %endif %if "%{HAVE_ALSA}"=="'yes'" %files snd-alsa %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_alsa0_9.so %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_alsa0_9.so.1 %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_alsa0_9.so.1.0.0 %endif %if "%{HAVE_OSS}"=="'yes'" %files snd-oss %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_oss.so %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_oss.so.1 %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_oss.so.1.0.0 %endif %if "%{HAVE_SDL}"=="'yes'" %files snd-sdl %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_sdl.so %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_sdl.so.1 %attr(-,root,root) %{_prefix}/lib/quakeforge/libsnd_output_sdl.so.1.0.0 %endif %if "%{BUILD_GL}"=="'yes'" %files libs-gl %attr(-,root,root) %{_prefix}/lib/libQFmodels_gl.so.1 %attr(-,root,root) %{_prefix}/lib/libQFmodels_gl.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFrenderer_gl.so.1 %attr(-,root,root) %{_prefix}/lib/libQFrenderer_gl.so.1.0.0 %endif %if "%{BUILD_SW}"=="'yes'" %files libs-sw %attr(-,root,root) %{_prefix}/lib/libQFmodels_sw.so.1 %attr(-,root,root) %{_prefix}/lib/libQFmodels_sw.so.1.0.0 %if "%{HAVE_SDL}"=="'yes'" %attr(-,root,root) %{_prefix}/lib/libQFmodels_sw32.so.1 %attr(-,root,root) %{_prefix}/lib/libQFmodels_sw32.so.1.0.0 %attr(-,root,root) %{_prefix}/lib/libQFrenderer_sw32.so.1 %attr(-,root,root) %{_prefix}/lib/libQFrenderer_sw32.so.1.0.0 %endif %endif %files devel %attr(-,root,root) %{_prefix}/lib/libQFcd.a %attr(-,root,root) %{_prefix}/lib/libQFcd.la %attr(-,root,root) %{_prefix}/lib/libQFcd.so %attr(-,root,root) %{_prefix}/lib/libQFconsole.a %attr(-,root,root) %{_prefix}/lib/libQFconsole.la %attr(-,root,root) %{_prefix}/lib/libQFconsole.so %attr(-,root,root) %{_prefix}/lib/libQFgamecode.a %attr(-,root,root) %{_prefix}/lib/libQFgamecode.la %attr(-,root,root) %{_prefix}/lib/libQFgamecode.so %attr(-,root,root) %{_prefix}/lib/libQFgamecode_builtins.a %attr(-,root,root) %{_prefix}/lib/libQFgamecode_builtins.la %attr(-,root,root) %{_prefix}/lib/libQFgamecode_builtins.so %attr(-,root,root) %{_prefix}/lib/libQFgib.a %attr(-,root,root) %{_prefix}/lib/libQFgib.la %attr(-,root,root) %{_prefix}/lib/libQFgib.so %if "%{HAVE_X11}"=="'yes'" %attr(-,root,root) %{_prefix}/lib/libQFglx.a %attr(-,root,root) %{_prefix}/lib/libQFglx.la %attr(-,root,root) %{_prefix}/lib/libQFglx.so %endif %attr(-,root,root) %{_prefix}/lib/libQFjs.a %attr(-,root,root) %{_prefix}/lib/libQFjs.la %attr(-,root,root) %{_prefix}/lib/libQFjs.so %attr(-,root,root) %{_prefix}/lib/libQFmodels.a %attr(-,root,root) %{_prefix}/lib/libQFmodels.la %attr(-,root,root) %{_prefix}/lib/libQFmodels.so %if "%{BUILD_GL}"=="'yes'" %attr(-,root,root) %{_prefix}/lib/libQFrenderer_gl.a %attr(-,root,root) %{_prefix}/lib/libQFrenderer_gl.la %attr(-,root,root) %{_prefix}/lib/libQFrenderer_gl.so %endif %if "%{HAVE_SDL}"=="'yes'" %if "%{BUILD_SW}"=="'yes'" %attr(-,root,root) %{_prefix}/lib/libQFrenderer_sw32.a %attr(-,root,root) %{_prefix}/lib/libQFrenderer_sw32.la %attr(-,root,root) %{_prefix}/lib/libQFrenderer_sw32.so %endif %attr(-,root,root) %{_prefix}/lib/libQFsdl.a %attr(-,root,root) %{_prefix}/lib/libQFsdl.la %attr(-,root,root) %{_prefix}/lib/libQFsdl.so %endif %if "%{HAVE_SDL}"=="'yes'" %attr(-,root,root) %{_prefix}/lib/libQFsgl.a %attr(-,root,root) %{_prefix}/lib/libQFsgl.la %attr(-,root,root) %{_prefix}/lib/libQFsgl.so %endif %attr(-,root,root) %{_prefix}/lib/libQFsound.a %attr(-,root,root) %{_prefix}/lib/libQFsound.la %attr(-,root,root) %{_prefix}/lib/libQFsound.so %attr(-,root,root) %{_prefix}/lib/libQFutil.a %attr(-,root,root) %{_prefix}/lib/libQFutil.la %attr(-,root,root) %{_prefix}/lib/libQFutil.so %if "%{HAVE_X11}"=="'yes'" %attr(-,root,root) %{_prefix}/lib/libQFx11.a %attr(-,root,root) %{_prefix}/lib/libQFx11.la %attr(-,root,root) %{_prefix}/lib/libQFx11.so %endif %attr(-,root,root) %{_prefix}/include/QF/GL/defines.h %attr(-,root,root) %{_prefix}/include/QF/GL/extensions.h %attr(-,root,root) %{_prefix}/include/QF/GL/funcs.h %attr(-,root,root) %{_prefix}/include/QF/GL/qf_funcs_list.h %attr(-,root,root) %{_prefix}/include/QF/GL/qf_rlight.h %attr(-,root,root) %{_prefix}/include/QF/GL/qf_rmain.h %attr(-,root,root) %{_prefix}/include/QF/GL/qf_rsurf.h %attr(-,root,root) %{_prefix}/include/QF/GL/qf_screen.h %attr(-,root,root) %{_prefix}/include/QF/GL/qf_sky.h %attr(-,root,root) %{_prefix}/include/QF/GL/qf_textures.h %attr(-,root,root) %{_prefix}/include/QF/GL/qf_vid.h %attr(-,root,root) %{_prefix}/include/QF/GL/types.h %attr(-,root,root) %{_prefix}/include/QF/bspfile.h %attr(-,root,root) %{_prefix}/include/QF/cdaudio.h %attr(-,root,root) %{_prefix}/include/QF/checksum.h %attr(-,root,root) %{_prefix}/include/QF/clip_hull.h %attr(-,root,root) %{_prefix}/include/QF/cmd.h %attr(-,root,root) %{_prefix}/include/QF/console.h %attr(-,root,root) %{_prefix}/include/QF/crc.h %attr(-,root,root) %{_prefix}/include/QF/cvar.h %attr(-,root,root) %{_prefix}/include/QF/draw.h %attr(-,root,root) %{_prefix}/include/QF/gcc_attr.h %attr(-,root,root) %{_prefix}/include/QF/gib.h %attr(-,root,root) %{_prefix}/include/QF/hash.h %attr(-,root,root) %{_prefix}/include/QF/hl.h %attr(-,root,root) %{_prefix}/include/QF/info.h %attr(-,root,root) %{_prefix}/include/QF/input.h %attr(-,root,root) %{_prefix}/include/QF/joystick.h %attr(-,root,root) %{_prefix}/include/QF/keys.h %attr(-,root,root) %{_prefix}/include/QF/link.h %attr(-,root,root) %{_prefix}/include/QF/locs.h %attr(-,root,root) %{_prefix}/include/QF/mathlib.h %attr(-,root,root) %{_prefix}/include/QF/mdfour.h %attr(-,root,root) %{_prefix}/include/QF/model.h %attr(-,root,root) %{_prefix}/include/QF/modelgen.h %attr(-,root,root) %{_prefix}/include/QF/msg.h %attr(-,root,root) %{_prefix}/include/QF/pcx.h %attr(-,root,root) %{_prefix}/include/QF/plugin.h %attr(-,root,root) %{_prefix}/include/QF/plugin/cd.h %attr(-,root,root) %{_prefix}/include/QF/plugin/console.h %attr(-,root,root) %{_prefix}/include/QF/plugin/general.h %attr(-,root,root) %{_prefix}/include/QF/plugin/input.h %attr(-,root,root) %{_prefix}/include/QF/plugin/snd_output.h %attr(-,root,root) %{_prefix}/include/QF/plugin/snd_render.h %attr(-,root,root) %{_prefix}/include/QF/pr_comp.h %attr(-,root,root) %{_prefix}/include/QF/pr_debug.h %attr(-,root,root) %{_prefix}/include/QF/progs.h %attr(-,root,root) %{_prefix}/include/QF/qargs.h %attr(-,root,root) %{_prefix}/include/QF/qdefs.h %attr(-,root,root) %{_prefix}/include/QF/qendian.h %attr(-,root,root) %{_prefix}/include/QF/qfplist.h %attr(-,root,root) %{_prefix}/include/QF/qtypes.h %attr(-,root,root) %{_prefix}/include/QF/render.h %attr(-,root,root) %{_prefix}/include/QF/screen.h %attr(-,root,root) %{_prefix}/include/QF/sizebuf.h %attr(-,root,root) %{_prefix}/include/QF/skin.h %attr(-,root,root) %{_prefix}/include/QF/sound.h %attr(-,root,root) %{_prefix}/include/QF/spritegn.h %attr(-,root,root) %{_prefix}/include/QF/sys.h %attr(-,root,root) %{_prefix}/include/QF/teamplay.h %attr(-,root,root) %{_prefix}/include/QF/texture.h %attr(-,root,root) %{_prefix}/include/QF/tga.h %attr(-,root,root) %{_prefix}/include/QF/uint32.h %attr(-,root,root) %{_prefix}/include/QF/va.h %attr(-,root,root) %{_prefix}/include/QF/ver_check.h %attr(-,root,root) %{_prefix}/include/QF/vfile.h %attr(-,root,root) %{_prefix}/include/QF/vfs.h %attr(-,root,root) %{_prefix}/include/QF/vid.h %attr(-,root,root) %{_prefix}/include/QF/wad.h %attr(-,root,root) %{_prefix}/include/QF/zone.h