%define ver %(echo %version | tr -d .) %define ioquake3 ioquake3svn1438 Name: openarena Version: 0.8.0 Release: 0%{?dist} Summary: Open source first person shooter Group: Amusements/Games License: GPLv2 URL: http://openarena.ws/ Source0: http://download.tuxfamily.org/openarena/rel/080/oa080.zip Source1: logo.gif Source2: openarena.desktop Source3: http://openarena.ws/svn/source/080/ioquake3svn1438.tar.bz2 Patch0: ioquake3-serverfix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: %{name}-data = %{version} Requires: opengl-games-utils BuildRequires: SDL-devel libXt-devel openal-devel libjpeg-devel BuildRequires: libvorbis-devel curl-devel desktop-file-utils BuildRequires: ImageMagick %ifarch %{ix86} x86_64 BuildRequires: nasm %endif %description OpenArena is an open-source content package for Quake III Arena licensed under the GPL, effectively creating a free stand-alone game. %package data Group: Amusements/Games Summary: Data files for %{name} Requires: %{name} %description data OpenArena is an open-source content package for Quake III Arena licensed under the GPL, effectively creating a free stand-alone game. This package contains data files essential to play OpenArena. %prep # setup section is totally ugly but it's no more ugly than # way of releasing new versions by openarena team %setup -q -n openarena-%{version} #1. let us create wrapper for openarena and for openarena_ded # we can use one wrapper to that task cat > %{name} << EOF #!/bin/bash . /usr/share/opengl-games-utils/opengl-game-functions.sh checkDriOK openarena BASEOA_HOME_DIR=\$HOME/.openarena/baseoa MPACK_HOME_DIR=\$HOME/.openarena/missionpack DATA_DIR=%{_datadir}/%{name} [[ -d \$BASEOA_HOME_DIR ]] || mkdir -p \$BASEOA_HOME_DIR for file in \$(find \$DATA_DIR/\baseoa -type f -printf "%f "); do [[ -a \$BASEOA_HOME_DIR/\$file ]] \ || ln -sf \$DATA_DIR/\baseoa/\$file \$BASEOA_HOME_DIR/\$file done [[ -d \$MPACK_HOME_DIR ]] || mkdir -p \$MPACK_HOME_DIR for file in \$(find \$DATA_DIR/\missionpack -type f -printf "%f "); do [[ -a \$MPACK_HOME_DIR/\$file ]] \ || ln -sf \$DATA_DIR/\missionpack/\$file \$MPACK_HOME_DIR/\$file done if [[ "\$0" =~ "ded" ]]; then exec %{_bindir}/%{name}_ded.bin +set dedicated 1 +set fs_homepath \$HOME/.openarena\ +set fs_game baseoa +set cl_master dpmaster.deathmask.net "\$@" else exec %{_bindir}/%{name}.bin +set fs_game baseoa +set fs_homepath \$HOME/.openarena\ +set cl_master dpmaster.deathmask.net "\$@" fi EOF chmod a+x %{name} ln -s %{name} %{name}_ded #2. copy all documentation to one directory and get rid of unexpected # permissions to make a %files section easier ;-) mkdir doc cp -p CHANGES COPYING CREDITS README doc chmod 644 doc/* #3. fix end-of-line encodings for file in doc/{COPYING,CREDITS,CHANGES,README}; do sed s/\\r// -i $file done #4. convert a .gif file to .png format convert %{SOURCE1} %{name}.png # Prep ioquake3 distribution tar xfj %{SOURCE3} pushd %{ioquake3} %patch0 -p1 rm -fr `find -name .svn` code/AL code/SDL12 code/libcurl code/libs rm -fr code/tools/lcc popd # Copy ioquake3 docs to OA doc directory mkdir doc/ioq3 cp -p %{ioquake3}/{BUGS,ChangeLog,NOTTODO,README,TODO,id-readme.txt,md4-readme.txt} doc/ioq3 %build # the CROSS_COMPILING=1 is a hack to not build q3cc and qvm files # since we've stripped out q3cc as this is not Free Software. make -C %{ioquake3} %{?_smp_mflags} \ OPTIMIZE="$RPM_OPT_FLAGS -fno-strict-aliasing -ffast-math" \ DEFAULT_BASEDIR=%{_datadir}/%{name} USE_CODEC_VORBIS=1 \ USE_LOCAL_HEADERS=0 BUILD_GAME_SO=0 GENERATE_DEPENDENCIES=0 \ CROSS_COMPILING=1 %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/{baseoa,missionpack} mkdir $RPM_BUILD_ROOT%{_datadir}/pixmaps mkdir $RPM_BUILD_ROOT%{_bindir} install -m 755 %{ioquake3}/build/release-linux-*/openarena.* \ $RPM_BUILD_ROOT%{_bindir}/%{name}.bin install -m 755 %{ioquake3}/build/release-linux-*/oa_ded.* \ $RPM_BUILD_ROOT%{_bindir}/%{name}_ded.bin cp -p baseoa/* $RPM_BUILD_ROOT%{_datadir}/%{name}/baseoa cp -p missionpack/* $RPM_BUILD_ROOT%{_datadir}/%{name}/missionpack cp -p %{name} %{name}_ded $RPM_BUILD_ROOT%{_bindir} cp -p %{name}.png $RPM_BUILD_ROOT%{_datadir}/pixmaps chmod -R u=rwX,g=rX,o=rX $RPM_BUILD_ROOT%{_datadir}/%{name}/* desktop-file-install --vendor="fedora" \ --dir=$RPM_BUILD_ROOT%{_datadir}/applications \ %{SOURCE2} %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc doc/* %{_bindir}/%{name}* %{_datadir}/applications/fedora-* %{_datadir}/pixmaps/%{name}.png %files data %dir %{_datadir}/%{name}/ %attr(0644,root,root)%{_datadir}/%{name}/baseoa/* %attr(0644,root,root)%{_datadir}/%{name}/missionpack/* %changelog * Sun Aug 10 2008 Patrick W. Barnes - 0.8.0-0 - New release - Switching back to OA engine - Split back into two packages * Fri Jun 06 2008 Michał Bentkowski - 0.7.7-2 - Fix permissions... * Wed Jun 04 2008 Michał Bentkowski - 0.7.7-1 - Add patch - Get rid of macros from Sources * Wed Apr 23 2008 Michał Bentkowski - 0.7.6-1 - New release - Fix desktop file a bit * Sun Jan 13 2008 Michał Bentkowski - 0.7.1-5 - Fix wrapper to include master server adress * Sat Jan 05 2008 Michał Bentkowski - 0.7.1-4 - Use quake3 package from repo instead of own engine - No -data subpackage since the main package now contains data - Now the spec simple creates wrapper and just copy data to proper dir * Fri Oct 05 2007 Michał Bentkowski - 0.7.1-3 - Add support for opengl-games-utils * Fri Aug 24 2007 Michał Bentkowski - 0.7.1-2 - BuildID rebuild - License tag fix * Mon Aug 13 2007 Jon Ciesla - 0.7.1-1 - Added 0.7.1 patch. - Uses 0.7.0 .zip, took version macro out of URL and setup to accommodate. * Fri Jul 13 2007 Michał Bentkowski - 0.7.0-3 - NO_VM_COMPILED flag on ppc64 * Fri Jul 13 2007 Michał Bentkowski - 0.7.0-2 - Add libvorbis-devel BR * Wed Jul 11 2007 Michał Bentkowski - 0.7.0-1 - Update to 0.7.0 * Fri Jan 12 2007 Michał Bentkowski - 0.6.0-4 - Get rid of -maltivec flag * Wed Jan 10 2007 Michał Bentkowski - 0.6.0-3 - Do some ppc fixes * Wed Jan 03 2007 Michał Bentkowski - 0.6.0-2 - Add COPYING to data subpackage - Remove LINUXNOTES from %%doc * Mon Jan 01 2007 Michał Bentkowski - 0.6.0-1 - Initial new year release