diff --git a/.cvsignore b/.cvsignore index bd34b02..589ce43 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -alienarena710src.zip +alienarena-7.20.tar.bz2 diff --git a/alienarena-7.20-currentdir-option.patch b/alienarena-7.20-currentdir-option.patch new file mode 100644 index 0000000..0a7fa53 --- /dev/null +++ b/alienarena-7.20-currentdir-option.patch @@ -0,0 +1,36 @@ +diff -Naur source-orig/Makefile source/Makefile +--- source-orig/Makefile 2008-09-03 04:08:01.000000000 +0100 ++++ source/Makefile 2008-09-14 17:27:37.000000000 +0100 +@@ -29,6 +29,8 @@ + WITH_DATADIR?=no + WITH_LIBDIR?=no + ++WITH_CURRENTDIR?=yes ++ + # End of configurable options. + + VERSION= 1.40 +@@ -71,6 +73,10 @@ + BASE_CFLAGS+=-DLIBDIR='\"$(LIBDIR)\"' + endif + ++ifeq ($(strip $(WITH_CURRENTDIR)),yes) ++BASE_CFLAGS+=-DCURRENTDIR='\".\"' ++endif ++ + RELEASE_CFLAGS=$(BASE_CFLAGS) + + ifeq ($(strip $(OPTIMIZED_CFLAGS)),yes) +diff -Naur source-orig/qcommon/files.c source/qcommon/files.c +--- source-orig/qcommon/files.c 2008-09-03 04:07:59.000000000 +0100 ++++ source/qcommon/files.c 2008-09-14 17:36:05.000000000 +0100 +@@ -757,7 +757,9 @@ + #ifdef LIBDIR + FS_AddGameDirectory (va("%s/%s", LIBDIR, dir) ); + #endif ++#ifdef CURRENTDIR + FS_AddGameDirectory (va("%s/%s", fs_basedir->string, dir) ); ++#endif + #ifdef __unix__ + FS_AddHomeAsGameDirectory(dir); + #endif diff --git a/alienarena.desktop b/alienarena.desktop index f196524..635b879 100644 --- a/alienarena.desktop +++ b/alienarena.desktop @@ -1,10 +1,8 @@ [Desktop Entry] -Name=AlienArena -Comment=3d Deathmatch Game -Icon=aa +Name=Alien Arena +Comment=Multiplayer retro sci-fi deathmatch +Icon=alienarena Exec=alienarena -StartupNotify=true Terminal=false Type=Application -Encoding=UTF-8 Categories=Game;ActionGame; diff --git a/alienarena.png b/alienarena.png new file mode 100644 index 0000000..91446f9 Binary files /dev/null and b/alienarena.png differ diff --git a/alienarena.sh b/alienarena.sh deleted file mode 100644 index da24dae..0000000 --- a/alienarena.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -cd /usr/share/alienarena/ -exec /usr/libexec/crx.sdl "$@" diff --git a/alienarena.spec b/alienarena.spec index 4eea2d5..6cde5c7 100644 --- a/alienarena.spec +++ b/alienarena.spec @@ -1,75 +1,158 @@ Name: alienarena Summary: Multiplayer retro sci-fi deathmatch game -Version: 7.10 -Release: 2%{?dist} +Version: 7.20 +Release: 1%{?dist} License: GPLv2+ Group: Amusements/Games -Source0: http://cor.planetquake.gamespy.com/codered/files/alienarena710src.zip -Source1: alienarena.sh -Source2: alienarena.desktop -Source3: GPL.acebot.txt -Patch0: alienarena-7.10-noSGIglext.patch -Patch2: alienarena-7.10-dont-search-dll-in-data-path.patch -Patch3: alienarena-7.10-genericoptflagsonly.patch +# Subversion: https://svn.icculus.org/alienarena/trunk/?sortby=date +# Upstream seems too inept to provide a simple source only tarball, so we use svn. +# Trunk contains the huge data also, so for the exe just get the source dir. +# mkdir alienarena-7.20 && cd alienarena-7.20/ +# svn co svn://svn.icculus.org/alienarena/tags/7.20/source +# svn co svn://svn.icculus.org/alienarena/tags/7.20/docs +# cd ../ +# tar -cvjf alienarena-7.20.tar.bz2 alienarena-7.20 +Source0: alienarena-7.20.tar.bz2 +Source1: alienarena.desktop +Source2: GPL.acebot.txt +Source3: alienarena.png +Patch0: alienarena-7.20-currentdir-option.patch +Patch1: alienarena-7.10-dont-search-dll-in-data-path.patch +Patch2: alienarena-7.10-genericoptflagsonly.patch URL: http://red.planetarena.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libX11-devel, libXext-devel, libXxf86dga-devel, libXxf86vm-devel, libjpeg-devel BuildRequires: mesa-libGL-devel, mesa-libGLU-devel, SDL-devel, curl-devel, libpng-devel BuildRequires: desktop-file-utils -Requires: alienarena-data = 20080603 +Requires: alienarena-data = 20081016 +Requires: desktop-file-utils >= 0.9, opengl-games-utils + %description Alien Arena 2008 is an online deathmatch game with over 30 levels, seven modes of play, loads of mutators, built-in bots, 11 player characters, and 9 weapons (with alt-fire modes). + +%package server +Group: Amusements/Games +Summary: Dedicated server for alienarena, the FPS game +Requires: alienarena-data = 20081016 + + +%description server +Alien Arena 2008 is an online deathmatch game with over 30 levels, seven modes +of play, loads of mutators, built-in bots, 11 player characters, and 9 weapons +(with alt-fire modes). + +This is the dedicated server. + + %prep -%setup -q -c -n %{name}-%{version} -%patch0 -p1 +%setup -q + +# WITH_CURRENTDIR helps a little bit, but is not a proper fix +%patch0 -p0 +%patch1 -p1 %patch2 -p1 -%patch3 -p1 -cp -p %{SOURCE3} . -sed -i 's|"game.so"|"%{_libdir}/%{name}/game.so"|g' source/unix/sys_unix.c + +# Copy license clarification for acebot +cp -p %{SOURCE2} . + +# clean up svn files +find -name "\.svn" -type d -print0 | xargs -0 rm -rf + +# clean up prebuilt binary files +[[ -e crx ]] && rm crded crx crx.sdl {arena,data1}/game.so + +# clean up end-line encoding +[[ -e docs/README.txt ]] && %{__sed} -i 's/\r//' docs/README.txt + %build cd source/ -make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" WITH_DATADIR=yes DATADIR=%{_datadir}/%{name} +make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" PREFIX="%{_prefix}" + WITH_DATADIR=yes WITH_LIBDIR=yes WITH_CURRENTDIR=no + DATADIR=%{_datadir}/%{name} LIBDIR="%{_libdir}/%{name}" + %install -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT%{_bindir} -mkdir -p $RPM_BUILD_ROOT%{_libdir}/alienarena/ -mkdir -p $RPM_BUILD_ROOT%{_libexecdir} -install -m0755 source/release/crded $RPM_BUILD_ROOT%{_bindir} -# Don't install this one, it barely works. The SDL binary works better. -# install -m0755 source/release/crx $RPM_BUILD_ROOT%{_bindir} -install -m0755 -p source/release/crx.sdl $RPM_BUILD_ROOT%{_libexecdir} -install -m0755 -p source/release/game.so $RPM_BUILD_ROOT%{_libdir}/alienarena/ -install -m0755 -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/alienarena -mkdir -p $RPM_BUILD_ROOT%{_datadir}/alienarena/arena/ -mkdir -p $RPM_BUILD_ROOT%{_datadir}/alienarena/data1/ - -mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications +rm -rf %{buildroot} +%{__mkdir_p} %{buildroot}%{_libexecdir}/ + +cd source +install -D -m 755 release/crded %{buildroot}%{_libexecdir}/%{name}-server +# The SDL binary works better. +# install -m0755 release/crx %{buildroot}%{_bindir} +%{__install} -D -m 755 release/crx.sdl %{buildroot}/%{_libexecdir}/%{name} +%{__install} -D -m 755 release/game.so %{buildroot}/%{_libdir}/%{name}/arena/game.so + +# Create the alienarena startup script. +# Changes dir first, due to use of relative dir searches: +# http://corent.proboards42.com/index.cgi?board=bugreport&action=display&thread=3124 +%{__cat} > %{name}.sh << EOF +#!/bin/sh +cd %{_datadir}/%{name} && exec %{_libexecdir}/%{name} "\$@" +EOF +%{__install} -D -m 755 %{name}.sh %{buildroot}/%{_bindir}/%{name} + +# Create the alienarena-server startup script. +%{__cat} > %{name}-server.sh << EOF +#!/bin/sh +cd %{_datadir}/%{name} && exec %{_libexecdir}/%{name}-server "\$@" +EOF +%{__install} -D -m 755 %{name}-server.sh %{buildroot}/%{_bindir}/%{name}-server + +%{__mkdir_p} %{buildroot}%{_datadir}/applications desktop-file-install --vendor "fedora" \ - --dir $RPM_BUILD_ROOT%{_datadir}/applications \ - %{SOURCE2} + --dir %{buildroot}%{_datadir}/applications \ + %{SOURCE1} + +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/ +install -m 644 %{SOURCE3} %{buildroot}/%{_datadir}/icons/hicolor/32x32/apps/%{name}.png + +# Fedora's little opengl checker +ln -s opengl-game-wrapper.sh %{buildroot}/%{_bindir}/%{name}-wrapper + %clean rm -rf $RPM_BUILD_ROOT + +%post +update-desktop-database %{_datadir}/applications 2>/dev/null || : +gtk-update-icon-cache -qf %{_datadir}/icons/hicolor 2>/dev/null || : + + +%postun +update-desktop-database %{_datadir}/applications 2>/dev/null || : +gtk-update-icon-cache -qf %{_datadir}/icons/hicolor 2>/dev/null || : + + %files %defattr(-,root,root,-) %doc GPL.acebot.txt -%{_bindir}/alienarena -%{_bindir}/crded -%dir %{_datadir}/alienarena/ -%dir %{_datadir}/alienarena/arena -%dir %{_datadir}/alienarena/data1 +%{_bindir}/%{name} +%{_bindir}/%{name}-wrapper %{_datadir}/applications/*.desktop -%{_libdir}/alienarena/ -%{_libexecdir}/crx.sdl +%{_datadir}/icons/hicolor/32x32/apps/%{name}.png +%{_libdir}/%{name}/ +%{_libexecdir}/%{name} +%doc docs/* + + +%files server +%defattr(-,root,root,-) +%{_bindir}/%{name}-server +%{_libexecdir}/%{name}-server +%doc docs/* + %changelog +* Mon Oct 20 2008 Tom "spot" Callaway - 7.20-1 +- sync up with Paul Bredbury's spec file +- update to 7.20 + * Fri Sep 26 2008 Tom "spot" Callaway - 7.10-2 - drop fhs patch, use Makefile DATADIR options instead diff --git a/sources b/sources index 6a1f463..b75e679 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -65e0191c2c212991ef8fcbdacb579a8d alienarena710src.zip +70b479b0ff8553440fc0ad7a38b7c59b alienarena-7.20.tar.bz2