quakeforge/RPM/quakeforge.spec.in

439 lines
15 KiB
RPMSpec
Raw Normal View History

%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@'
2002-01-22 20:18:40 +00:00
%define HAVE_XMMS '@HAVE_XMMS@'
2001-08-01 22:43:16 +00:00
%define HAVE_ALSA '@HAVE_ALSA@'
%define HAVE_OSS '@HAVE_OSS@'
%define BUILD_GL '@CAN_BUILD_GL@'
%define BUILD_SW '@CAN_BUILD_SW@'
%define fs_sharepath %{_prefix}/share/games/quakeforge
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: quakeforge-common, quake-game
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.
2001-08-01 22:43:16 +00:00
%package common
Summary: QuakeForge 3D game engine - common files
Group: Amusements/Games
#Requires:
%description common
2001-08-02 02:49:33 +00:00
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.
2001-08-01 22:43:16 +00:00
2002-09-30 18:19:51 +00:00
This package contains files and shared libraries common to all QuakeForge
packages.
2002-05-27 20:28:10 +00:00
2002-09-30 18:19:51 +00:00
%package devel
Summary: QuakeForge 3D game engine - headers and devel libs
Group: Amusements/Games
Requires: quakeforge-common
%description devel
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains headers and static libraries for the development of
utilities and applications for QuakeForge.
%if "%{HAVE_SDL}"=="'yes'"
%package sdl
Summary: QuakeForge 3D game engine - SDL client
Group: Amusements/Games
Requires: quakeforge == %{version}, quakeforge-common == %{version}
%description sdl
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains the SDL versions of the QuakeWorld client and
standalone engine.
%package sgl
Summary: QuakeForge 3D game engine - SDL-GL client
Group: Amusements/Games
Requires: quakeforge == %{version}
%description sgl
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains the SDL-GL versions of the QuakeForge client and
standalone engine.
%endif
%if "%{HAVE_SVGA}"=="'yes'"
%package svga
Summary: QuakeForge 3D game engine - SVGAlib client
Group: Amusements/Games
Requires: quakeforge == %{version}
%description svga
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains the SVGAlib versions of the QuakeWorld client and
standalone engine.
%endif
%if "%{HAVE_X11}"=="'yes'"
%package x11
Summary: QuakeForge 3D game engine - X11 client
Group: Amusements/Games
Requires: quakeforge == %{version}
%description x11
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains the X11 versions of the QuakeForge client and
standalone engine.
%endif
2002-09-30 18:19:51 +00:00
%if "%{HAVE_X11}"=="'yes'"
%package glx
Summary: QuakeForge 3D game engine - glx client
2001-08-01 22:43:16 +00:00
Group: Amusements/Games
2002-09-30 18:19:51 +00:00
Requires: quakeforge == %{version}, quakeforge-common == %{version}
%description glx
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains the GLX versions of the QuakeForge client and
standalone engine.
2001-08-01 22:43:16 +00:00
%endif
2002-09-30 18:19:51 +00:00
%package servers
Summary: QuakeForge 3D game engine - Server
2001-08-01 22:43:16 +00:00
Group: Amusements/Games
2002-09-30 18:19:51 +00:00
Requires: quakeforge == %{version}, quakeforge-common == %{version}
%description servers
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains both the QuakeWorld-compatible and
NetQuake-compatible dedicated servers, as well as a simple
QuakeWorld-compatible master server.
2001-08-01 22:43:16 +00:00
2002-09-30 18:19:51 +00:00
%if "%{BUILD_SW}"=="'yes'"
%package libs-sw
Summary: QuakeForge 3D game engine - Software renderer libraries
Group: Amusements/Games
2001-08-01 22:43:16 +00:00
#Requires:
2002-09-30 18:19:51 +00:00
%description libs-sw
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains the shared libraries needed to use the software
rendering targets.
2001-08-01 22:43:16 +00:00
%endif
%if "%{BUILD_GL}"=="'yes'"
%package libs-gl
Summary: QuakeForge 3D game engine - OpenGL renderer libraries
Group: Amusements/Games
#Requires:
%description libs-gl
2001-08-02 02:49:33 +00:00
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.
2002-09-30 18:19:51 +00:00
This package contains the shared libraries needed to use the OpenGL
rendering targets.
2001-08-01 22:43:16 +00:00
%endif
2002-09-30 18:19:51 +00:00
%if "%{HAVE_OSS}"=="'yes'"
%package oss
Summary: OSS sound plugin for QuakeForge
Group: Amusements/Games
2001-08-01 22:43:16 +00:00
#Requires:
2002-09-30 18:19:51 +00:00
%description oss
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.
2001-08-01 22:43:16 +00:00
%endif
2002-09-30 18:19:51 +00:00
%if "%{HAVE_ALSA}"=="'yes'"
%package alsa
Summary: ALSA 0.9 sound plugin for QuakeForge
2002-01-22 20:18:40 +00:00
Group: Amusements/Games
#Requires:
2002-09-30 18:19:51 +00:00
%description alsa
The ALSA 0.9 plugin for QuakeForge provides digital audio output for QuakeForge
targets that contain clients.
%endif
2002-01-22 20:18:40 +00:00
2002-09-30 18:19:51 +00:00
%package utils
Summary: QuakeForge 3D game engine - utility programs
2002-01-22 20:18:40 +00:00
Group: Amusements/Games
#Requires:
2002-09-30 18:19:51 +00:00
%description utils
This package contains several tools for use with QuakeForge:
* pak, a pakfile management tool.
* zpak, a script for compressing pakfiles.
* qfdefs, a tool for fixing up progs data files so they can be used with
QuakeForge-based servers.
* qfprogs, a "nm" tool for examining progs data files.
* qfwavinfo, a tool to assist in converting "looped" WAV files to Ogg
Vorbis.
2002-01-22 20:18:40 +00:00
2002-09-30 18:19:51 +00:00
%package maptools
2001-08-01 22:43:16 +00:00
Summary: QuakeForge 3D game engine - headers and devel libs
Group: Amusements/Games
Requires: quakeforge-common
2002-09-30 18:19:51 +00:00
%description maptools
This package contains QuakeForge's versions of the tools Id Software used
to create maps for the Quake engine. Included are:
* qfbsp, a program for compiling a map file into a BSP tree.
* qflight, a program for generating lightmaps from the static lights in a
BSP file.
* qfvis, a program for generating the Possibly-Visible Set information from
a BSP and a portal information file (generated by qfbsp).
2001-08-01 22:43:16 +00:00
2002-01-22 20:18:40 +00:00
%package -n qfcc
Summary: QuakeForge QC/Ruamoko compiler
#FIXME correct group?
Group: Amusements/Games
Requires: quakeforge-common
%description -n qfcc
2002-09-30 18:19:51 +00:00
QFCC is an optimizing byte-code compiler for the Ruamoko language, a language
based strongly on Id Software's QuakeC. The bytecode interpreter for QuakeC
and Ruamoko is located inside the Quake engine (though there is a standalone
interpreter available).
QFCC is designed to work with the QuakeForge engines, but will work with
most non-QuakeForge servers with a couple of changes to its command-line
options.
%package stub
Summary: QuakeForge 3D game engine - common files
Group: Amusements/Games
#Requires:
Provides: quake-game
%description stub
2002-01-22 20:18:40 +00:00
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.
2002-09-30 18:19:51 +00:00
This sub-package provides the quake-game pseudo package.
%prep
%setup -n %{name}-%{version}
#%patch -p1
%build
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix}
2001-08-02 02:49:33 +00:00
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
2001-08-01 22:43:16 +00:00
mkdir -p $RPM_BUILD_ROOT/etc
make install DESTDIR=$RPM_BUILD_ROOT
2001-08-01 22:43:16 +00:00
cp RPM/quakeforge.conf $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT/%{fs_sharepath}/id1
%clean
rm -rf $RPM_BUILD_ROOT
2001-08-01 22:43:16 +00:00
%files
%doc COPYING INSTALL TODO doc/*
2001-08-01 22:43:16 +00:00
%files common
%attr(-,root,root) /etc/quakeforge.conf
2002-01-22 20:18:40 +00:00
%attr(-,root,root) %{_prefix}/lib/libQFcd.so.*
%attr(-,root,root) %{_prefix}/lib/libQFconsole.so.*
%attr(-,root,root) %{_prefix}/lib/libQFcsqc.so.*
%attr(-,root,root) %{_prefix}/lib/libQFgamecode.so.*
%attr(-,root,root) %{_prefix}/lib/libQFgamecode_builtins.so.*
%attr(-,root,root) %{_prefix}/lib/libQFgib.so.*
2002-01-22 20:18:40 +00:00
%attr(-,root,root) %{_prefix}/lib/libQFjs.so.*
%attr(-,root,root) %{_prefix}/lib/libQFmodels.so.*
%attr(-,root,root) %{_prefix}/lib/libQFsound.so.*
%attr(-,root,root) %{_prefix}/lib/libQFutil.so.*
2003-02-07 21:46:17 +00:00
%attr(-,root,root) %{fs_sharepath}/QF/menu.dat*
2003-02-07 22:53:35 +00:00
%attr(-,root,root) %{fs_sharepath}/QF/plugins/cd_linux.so*
%attr(-,root,root) %{fs_sharepath}/QF/plugins/console_client.so*
%attr(-,root,root) %{fs_sharepath}/QF/plugins/snd_output_disk.so*
%attr(-,root,root) %{fs_sharepath}/QF/plugins/snd_render_default.so*
2001-08-01 22:43:16 +00:00
2002-09-30 18:19:51 +00:00
%files devel
%attr(-,root,root) %{_prefix}/lib/libQFcd.*a
%attr(-,root,root) %{_prefix}/lib/libQFcd.so
%attr(-,root,root) %{_prefix}/lib/libQFconsole.*a
%attr(-,root,root) %{_prefix}/lib/libQFconsole.so
%attr(-,root,root) %{_prefix}/lib/libQFcsqc.*a
%attr(-,root,root) %{_prefix}/lib/libQFcsqc.so
%attr(-,root,root) %{_prefix}/lib/libQFgamecode.*a
%attr(-,root,root) %{_prefix}/lib/libQFgamecode.so
%attr(-,root,root) %{_prefix}/lib/libQFgamecode_builtins.*a
%attr(-,root,root) %{_prefix}/lib/libQFgamecode_builtins.so
%attr(-,root,root) %{_prefix}/lib/libQFgib.*a
%attr(-,root,root) %{_prefix}/lib/libQFgib.so
2002-09-30 18:19:51 +00:00
%attr(-,root,root) %{_prefix}/lib/libQFjs.*a
%attr(-,root,root) %{_prefix}/lib/libQFjs.so
%attr(-,root,root) %{_prefix}/lib/libQFmodels.*a
%attr(-,root,root) %{_prefix}/lib/libQFmodels.so
%attr(-,root,root) %{_prefix}/lib/libQFsound.*a
%attr(-,root,root) %{_prefix}/lib/libQFsound.so
%attr(-,root,root) %{_prefix}/lib/libQFutil.*a
%attr(-,root,root) %{_prefix}/lib/libQFutil.so
%attr(-,root,root) %{_prefix}/include/QF/GL/*.h
%attr(-,root,root) %{_prefix}/include/QF/*.h
%attr(-,root,root) %{_prefix}/include/QF/plugin/*.h
%if "%{BUILD_GL}"=="'yes'"
%attr(-,root,root) %{_prefix}/lib/libQFmodels_gl.*a
%attr(-,root,root) %{_prefix}/lib/libQFmodels_gl.so
%attr(-,root,root) %{_prefix}/lib/libQFrenderer_gl.*a
%attr(-,root,root) %{_prefix}/lib/libQFrenderer_gl.so
%endif
%if "%{BUILD_SW}"=="'yes'"
%attr(-,root,root) %{_prefix}/lib/libQFmodels_sw.*a
%attr(-,root,root) %{_prefix}/lib/libQFmodels_sw.so
%if "%{HAVE_SDL}"=="'yes'"
%attr(-,root,root) %{_prefix}/lib/libQFrenderer_sw32.*a
%attr(-,root,root) %{_prefix}/lib/libQFrenderer_sw32.so
%endif
%endif
2002-05-27 20:28:10 +00:00
2002-09-30 18:19:51 +00:00
%if "%{BUILD_GL}"=="'yes'"
%files libs-gl
%attr(-,root,root) %{_prefix}/lib/libQFmodels_gl.so.*
%attr(-,root,root) %{_prefix}/lib/libQFrenderer_gl.so.*
%endif
2002-09-30 18:19:51 +00:00
%if "%{BUILD_SW}"=="'yes'"
%files libs-sw
%attr(-,root,root) %{_prefix}/lib/libQFmodels_sw.so.*
%endif
%files servers
%attr(-,root,root) %{_prefix}/bin/qw-server
2001-10-03 19:52:51 +00:00
%attr(-,root,root) %{_prefix}/bin/nq-server
%attr(-,root,root) %{_prefix}/bin/qw-master
2003-02-07 22:53:35 +00:00
%attr(-,root,root) %{fs_sharepath}/QF/plugins/console_server.so*
2002-01-22 20:18:40 +00:00
%if "%{HAVE_X11}"=="'yes'"
%files glx
%attr(-,root,root) %{_prefix}/bin/qw-client-glx
%attr(-,root,root) %{_prefix}/bin/nq-glx
%endif
%if "%{HAVE_SDL}"=="'yes'"
%files sdl
%attr(-,root,root) %{_prefix}/bin/qw-client-sdl
%attr(-,root,root) %{_prefix}/bin/nq-sdl
%files sgl
%attr(-,root,root) %{_prefix}/bin/qw-client-sgl
%attr(-,root,root) %{_prefix}/bin/nq-sgl
%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
%endif
2001-08-01 22:43:16 +00:00
%if "%{HAVE_ALSA}"=="'yes'"
2002-09-30 18:19:51 +00:00
%files alsa
2003-02-07 22:53:35 +00:00
%attr(-,root,root) %{fs_sharepath}/QF/plugins/snd_output_alsa0_9.so*
2001-08-01 22:43:16 +00:00
%endif
%if "%{HAVE_OSS}"=="'yes'"
2002-09-30 18:19:51 +00:00
%files oss
2003-02-07 22:53:35 +00:00
%attr(-,root,root) %{fs_sharepath}/QF/plugins/snd_output_oss.so*
2001-08-01 22:43:16 +00:00
%endif
2002-09-30 18:19:51 +00:00
%files -n qfcc
%attr(-,root,root) %{_prefix}/bin/qfcc
%attr(-,root,root) %{_prefix}/man/man1/qfcc.1.gz
%attr(-,root,root) %{_prefix}/include/QF/ruamoko/*
2002-11-01 18:11:20 +00:00
%attr(-,root,root) %{_prefix}/lib/ruamoko/*
2001-08-01 22:43:16 +00:00
2002-09-30 18:19:51 +00:00
%files utils
%attr(-,root,root) %{_prefix}/bin/pak
%attr(-,root,root) %{_prefix}/bin/zpak
%attr(-,root,root) %{_prefix}/bin/qfdefs
%attr(-,root,root) %{_prefix}/bin/qfprogs
%attr(-,root,root) %{_prefix}/bin/qfwavinfo
%attr(-,root,root) %{_prefix}/man/man1/pak.1.gz
#%attr(-,root,root) %{_prefix}/man/man1/qfprogs.1.gz
#%attr(-,root,root) %{_prefix}/man/man1/qfwavinfo.1.gz
2001-08-01 22:43:16 +00:00
2002-09-30 18:19:51 +00:00
%files maptools
%attr(-,root,root) %{_prefix}/bin/qfbsp
%attr(-,root,root) %{_prefix}/bin/qflight
%attr(-,root,root) %{_prefix}/bin/qfvis
%attr(-,root,root) %{_prefix}/man/man1/qflight.1.gz
%attr(-,root,root) %{_prefix}/man/man1/qfvis.1.gz
2001-08-01 22:43:16 +00:00
2002-09-30 18:19:51 +00:00
%files stub
%attr(-,root,root) %dir %{fs_sharepath}
%attr(-,root,root) %dir %{fs_sharepath}/id1
2002-01-22 20:18:40 +00:00
2002-09-30 18:19:51 +00:00
%post stub
if test ! -f %{fs_sharepath}/id1/pak0.pak; then
2002-09-30 18:19:51 +00:00
echo Warning: %{fs_sharepath}/id1/pak0.pak not found
echo Install either the shareware or registered quake data in
echo %{fs_sharepath}
fi