313886d
Name:           quake3
1fc4073
Version:        1.36
9321f90
Release:        12.svn2102%{?dist}
de26f79
Summary:        Quake 3 Arena engine (ioquake3 version)
313886d
Group:          Amusements/Games
313886d
License:        GPLv2+
313886d
URL:            http://ioquake3.org/
313886d
# to regenerate (note included systemlib copies are removed for size, lcc
313886d
# is removed as it is not Free software):
1fc4073
# svn co svn://svn.icculus.org/quake3/tags/%{version} %{name}-%{version}
1fc4073
# pushd %{name}-%{version}
313886d
# rm -fr `find -name .svn` code/AL code/SDL12 code/libcurl code/libs
326117c
# rm -fr code/jpeg-8c code/zlib code/libspeex code/tools/lcc
313886d
# popd
1fc4073
# tar cvfj %{name}-%{version}.tar.bz2 %{name}-%{version}
326117c
Source0:        %{name}-%{version}-svn2102.tar.bz2
313886d
Source1:        %{name}-demo.sh
313886d
Source2:        %{name}.autodlrc
313886d
Source3:        %{name}.desktop
313886d
Source4:        %{name}.png
9781d1b
Source5:        %{name}-update.sh
9781d1b
Source6:        %{name}-update.autodlrc
de26f79
Source7:        urbanterror.sh
de26f79
Source8:        urbanterror.autodlrc
de26f79
Source9:        urbanterror.desktop
de26f79
Source10:       urbanterror.png
de26f79
Source11:       worldofpadman.sh
de26f79
Source12:       worldofpadman.autodlrc
de26f79
Source13:       worldofpadman.desktop
de26f79
Source14:       wop.png
74d9a01
Source15:       jpeg_memsrc.h
74d9a01
Source16:       jpeg_memsrc.c
74d9a01
Patch0:         quake3-1.36-syslibs.patch
326117c
Patch1:         quake3-1.34-rc4-demo-pak.patch
76c158b
# patches from Debian for openarena compatibility (increase some buffer sizes)
326117c
Patch2:         0011-Double-the-maximum-number-of-cvars.patch
326117c
Patch3:         0012-Increase-the-command-buffer-from-16K-to-128K-followi.patch
9321f90
# big-endian build fix
9321f90
Patch4:         quake3-1.36-build.patch
72547ec
BuildRequires:  SDL-devel libXt-devel openal-soft-devel libjpeg-devel
72547ec
BuildRequires:  speex-devel libvorbis-devel curl-devel desktop-file-utils
bd00837
BuildRequires:  zlib-devel
313886d
%ifarch %{ix86} x86_64
313886d
BuildRequires:  nasm
313886d
%endif
de26f79
# for quake3-update
de26f79
Requires:       autodownloader tar
313886d
313886d
%description
de26f79
This package contains the enhanced opensource ioquake3 version of the Quake 3
de26f79
Arena engine. This engine can be used to play a number of games based on this
de26f79
engine, below is an (incomplete list):
9781d1b
72547ec
* OpenArena, Free, Open Source Quake3 like game, recommended!
de26f79
  (packagename: openarena)
de26f79
de26f79
* Urban Terror, gratis, but not Open Source FPS best be described as a
de26f79
  Hollywood tactical shooter, a downloader and installer including an
de26f79
  application menu entry is available in the urbanterror package.
de26f79
de26f79
* World of Padman, gratis, but not Open Source Comic FPS, a downloader and
de26f79
  installer including an application menu entry is available in the
de26f79
  worldofpadman package.
de26f79
de26f79
* Quake3 Arena, the original! A downloader and installer for the gratis, but
de26f79
  not Open Source demo, including an application menu entry is available in
de26f79
  the quake3-demo package.
de26f79
  
de26f79
  If you own a copy of quake 3, you will need to copy pak0.pk3 from the
de26f79
  original CD-ROM and your q3key to /usr/share/quake3/baseq3 or ~/.q3a/baseq3.
de26f79
  Also copy the pak?.pk3 files from the original 1.32 Quake 3 Arena point
de26f79
  release there if you have them available or run quake3-update to download
de26f79
  them for you.
de26f79
de26f79
de26f79
%package demo
de26f79
Summary:        Quake 3 Arena tournament 3D shooter game demo installer
de26f79
Group:          Amusements/Games
76c158b
Requires:       quake3 = %{version}-%{release}
76c158b
Requires:       hicolor-icon-theme opengl-games-utils unzip
de26f79
# quake3-demo used to be part of the quake3 package, make sure that people
de26f79
# who have the old version with the demo included don't all of a sudden have
de26f79
# the demo menu entry disappear.
de26f79
Obsoletes:      quake3 <= 1.34-0.4.rc4.fc9
de26f79
de26f79
%description demo
de26f79
Quake 3 Arena tournament 3D shooter game demo installer. The Quake3 engine is
de26f79
Open Source and as such is available as part of Fedora. The original Quake3
de26f79
datafiles however are not Open Source and thus are not available as part of
de26f79
Fedora. There is a gratis, but not Open Source demo available on the internet.
de26f79
de26f79
This package installs an applications menu entry for playing the Quake3 Arena
de26f79
demo. The first time you click this menu entry, it will offer to download and
de26f79
install the Quake 3 demo datafiles for you.
de26f79
de26f79
de26f79
%package -n urbanterror
de26f79
Summary:        FPS best be described as a Hollywood tactical shooter
de26f79
Group:          Amusements/Games
de26f79
URL:            http://www.urbanterror.net/
76c158b
Requires:       quake3 = %{version}-%{release}
76c158b
Requires:       hicolor-icon-theme opengl-games-utils unzip
de26f79
de26f79
%description -n urbanterror
de26f79
Urban Terror could best be described as a Hollywood tactical shooter; it is
de26f79
realism based to a certain extent (environments/weapons/player models), but
de26f79
also goes by the motto "fun over realism" (fast gameplay and lots of action).
de26f79
This combination of reality and action results in a very unique, enjoyable
de26f79
and addictive game.
de26f79
de26f79
Urban Terror uses the GPL licensed ioquake3 engine, however the Urban Terror
de26f79
datafiles are not freely redistributable. This package will install an Urban
de26f79
Terror menu entry, which will automatically download the necessary datafiles
4816465
(700 MB!) the first time you start Urban Terror.
de26f79
de26f79
de26f79
%package -n worldofpadman
de26f79
Summary:        World Of Padman - Comic 3D-Shooter
de26f79
Group:          Amusements/Games
de26f79
URL:            http://padworld.myexp.de/
76c158b
Requires:       quake3 = %{version}-%{release}
76c158b
Requires:       hicolor-icon-theme opengl-games-utils tar gzip
de26f79
de26f79
%description -n worldofpadman
de26f79
World of Padman (WoP) is a first-person shooter computer game available in
de26f79
both English and German. The idea is based on the Padman comic strip for the
de26f79
magazine PlayStation Games created by the professional cartoon artist Andreas
de26f79
'ENTE' Endres, who is also the man who made many of the maps included with the
de26f79
game in 1998. Most of the maps in the game are lilliput style.
de26f79
de26f79
World of Padman uses the GPL licensed ioquake3 engine, however the Wop data-
de26f79
files are not freely redistributable. This package will install a World of
de26f79
Padman menu entry, which will automatically download the necessary datafiles
8e25a43
(900 MB!) the first time you start World of Padman.
313886d
313886d
313886d
%prep
1fc4073
%setup -q
4543e18
%patch0 -p1
76c158b
%patch1 -p1
4543e18
%patch2 -p1
4543e18
%patch3 -p1
9321f90
%patch4 -p1
74d9a01
# Add jpeg_memsrc
74d9a01
cp -p %{SOURCE15} %{SOURCE16} ./code/renderer/
313886d
313886d
313886d
%build
313886d
# the CROSS_COMPILING=1 is a hack to not build q3cc and qvm files
313886d
# since we've stripped out q3cc as this is not Free Software.
313886d
make %{?_smp_mflags} \
1fc4073
    OPTIMIZE="$RPM_OPT_FLAGS -fno-strict-aliasing" \
313886d
    DEFAULT_BASEDIR=%{_datadir}/%{name} USE_CODEC_VORBIS=1 \
313886d
    USE_LOCAL_HEADERS=0 BUILD_GAME_SO=0 GENERATE_DEPENDENCIES=0 \
326117c
    USE_INTERNAL_SPEEX=0 USE_INTERNAL_ZLIB=0 USE_INTERNAL_JPEG=0 \
326117c
    BUILD_CLIENT_SMP=1 CROSS_COMPILING=1
313886d
313886d
313886d
%install
313886d
mkdir -p $RPM_BUILD_ROOT%{_bindir}
313886d
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
313886d
313886d
install -m 755 build/release-linux-*/ioquake3.* \
313886d
  $RPM_BUILD_ROOT%{_bindir}/quake3
313886d
install -m 755 build/release-linux-*/ioquake3-smp.* \
313886d
  $RPM_BUILD_ROOT%{_bindir}/quake3-smp
313886d
install -m 755 build/release-linux-*/ioq3ded.* \
313886d
  $RPM_BUILD_ROOT%{_bindir}/q3ded
313886d
install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/quake3-demo
313886d
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/%{name}
313886d
9781d1b
install -p -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{_bindir}/quake3-update
9781d1b
install -p -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/%{name}
9781d1b
de26f79
install -p -m 755 %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/urbanterror
de26f79
install -p -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/%{name}
de26f79
de26f79
install -p -m 755 %{SOURCE11} $RPM_BUILD_ROOT%{_bindir}/worldofpadman
de26f79
install -p -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/%{name}
de26f79
313886d
# below is the desktop file and icon stuff.
313886d
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
313886d
desktop-file-install --vendor fedora            \
313886d
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
313886d
  %{SOURCE3}
de26f79
desktop-file-install --vendor fedora            \
de26f79
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
de26f79
  %{SOURCE9}
de26f79
desktop-file-install --vendor fedora            \
de26f79
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
de26f79
  %{SOURCE13}
de26f79
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
313886d
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps
de26f79
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps
313886d
install -p -m 644 %{SOURCE4} \
313886d
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps
de26f79
install -p -m 644 %{SOURCE10} \
de26f79
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps
de26f79
install -p -m 644 %{SOURCE14} \
de26f79
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
313886d
313886d
de26f79
%post demo
326117c
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
313886d
de26f79
%postun demo
326117c
if [ $1 -eq 0 ] ; then
326117c
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
326117c
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
de26f79
fi
de26f79
326117c
%posttrans demo
326117c
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
326117c
326117c
de26f79
%post -n urbanterror
326117c
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
de26f79
de26f79
%postun -n urbanterror
326117c
if [ $1 -eq 0 ] ; then
326117c
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
326117c
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
de26f79
fi
de26f79
326117c
%posttrans -n urbanterror
326117c
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
326117c
326117c
de26f79
%post -n worldofpadman
326117c
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
de26f79
de26f79
%postun -n worldofpadman
326117c
if [ $1 -eq 0 ] ; then
326117c
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
326117c
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
313886d
fi
313886d
326117c
%posttrans -n worldofpadman
326117c
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
326117c
313886d
313886d
%files
313886d
%defattr(-,root,root,-)
313886d
%doc BUGS ChangeLog COPYING.txt id-readme.txt md4-readme.txt NOTTODO README
1fc4073
%doc TODO
de26f79
%{_bindir}/%{name}
de26f79
%{_bindir}/%{name}-smp
de26f79
%{_bindir}/%{name}-update
313886d
%{_bindir}/q3ded
de26f79
%dir %{_datadir}/%{name}
de26f79
%{_datadir}/%{name}/%{name}-update.autodlrc
de26f79
de26f79
%files demo
de26f79
%defattr(-,root,root,-)
de26f79
%{_bindir}/%{name}-demo
de26f79
%{_datadir}/%{name}/%{name}.autodlrc
313886d
%{_datadir}/applications/fedora-%{name}.desktop
313886d
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
313886d
de26f79
%files -n urbanterror
de26f79
%defattr(-,root,root,-)
de26f79
%{_bindir}/urbanterror
de26f79
%{_datadir}/%{name}/urbanterror.autodlrc
de26f79
%{_datadir}/applications/fedora-urbanterror.desktop
de26f79
%{_datadir}/icons/hicolor/128x128/apps/urbanterror.png
de26f79
de26f79
%files -n worldofpadman
de26f79
%defattr(-,root,root,-)
de26f79
%{_bindir}/worldofpadman
de26f79
%{_datadir}/%{name}/worldofpadman.autodlrc
de26f79
%{_datadir}/applications/fedora-worldofpadman.desktop
de26f79
%{_datadir}/icons/hicolor/32x32/apps/wop.png
de26f79
313886d
313886d
%changelog
9321f90
* Tue Aug 09 2011 Dan HorĂ¡k <dan[at]danny.cz> - 1.36-12.svn2102
9321f90
- big-endian build fix
9321f90
326117c
* Thu Jul 28 2011 Hans de Goede <hdegoede@redhat.com> - 1.36-11.svn2102
326117c
- Update to 1.36 svn snapshot r2102
326117c
- This fixes 2 security issues where a malicious server could execute arbitrary
326117c
  code on connecting clients (rhbz#725951):
326117c
  CVE-2011-1412: Execute arbitrary shell commands on connecting clients
326117c
  CVE-2011-2764: Arbitrary code execution when native-code DLLs are enabled
326117c
- Update the autodownload + launch script for UrbanTerror to 4.1.1
326117c
4bf16a4
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.36-10.svn1802
4bf16a4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
4bf16a4
8e25a43
* Tue Jan  4 2011 Hans de Goede <hdegoede@redhat.com> 1.36-9.svn1802
8e25a43
- Update worldofpadman autodownloader files and wrapper script to
8e25a43
  download and play World of Padman version 1.5
8e25a43
76c158b
* Thu Nov 11 2010 Hans de Goede <hdegoede@redhat.com> 1.36-8.svn1802
76c158b
- Update release to svn revision (r1802)
76c158b
- Add a whole bunch of patches from Debian which allow using ioquake3 as an
76c158b
  engine for total conversions and compability with network play with
76c158b
  official openarena servers (#565763)
76c158b
- Remove our own hacks for ioquake3 as an engine for total conversions
76c158b
74d9a01
* Wed May 12 2010 Xavier Lamien <laxathom@fedoraproject.org> - 1.36-7.svn1783
74d9a01
- Update release to svn revision (r1783).
74d9a01
- Remove botlib-strcpy-abuse patch (added upstream).
74d9a01
8582072
* Thu Jan 21 2010 Hans de Goede <hdegoede@redhat.com> 1.36-6
8582072
- Update (fix) autodlrc mirror URL's (#557252)
8582072
239fef9
* Fri Dec 18 2009 Hans de Goede <hdegoede@redhat.com> 1.36-5
239fef9
- Modify Urban Terror launch script to allow downloading of maps by default
239fef9
759e269
* Wed Nov  4 2009 Hans de Goede <hdegoede@redhat.com> 1.36-4
759e269
- Fix bots not working on Intel 64 bit CPU's (#526338)
759e269
72547ec
* Sun Aug 16 2009 Hans de Goede <hdegoede@redhat.com> 1.36-3
72547ec
- Switch to openal-soft
72547ec
b5e40d1
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.36-2
b5e40d1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
b5e40d1
1fc4073
* Mon Apr 27 2009 Hans de Goede <hdegoede@redhat.com> 1.36-1
1fc4073
- New upstream release 1.36
1fc4073
48e9048
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.34-0.11.rc4
48e9048
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
48e9048
107376c
* Tue Jan 27 2009 Hans de Goede <hdegoede@redhat.com> 1.34-0.10.rc4
107376c
- Update (fix) autodlrc mirror URL's (rh 481592)
107376c
ca6458b
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.34-0.9.rc4
ca6458b
- Autorebuild for GCC 4.3
ca6458b
a57b248
* Thu Jan 17 2008 Hans de Goede <j.w.r.degoede@hhs.nl> 1.34-0.8.rc4
a57b248
- Properly recognize the demo pak0 file instead of complaining that no valid
a57b248
  pak0 was found
a57b248
4543e18
* Fri Jan 11 2008 Hans de Goede <j.w.r.degoede@hhs.nl> 1.34-0.7.rc4
4543e18
- Various patches to make openarena work with the generic ioquake3 we ship
4543e18
- Update urbanterror launcher script to set a much bigger com_hunkMegs,
4543e18
  otherwise urbanterror will abort when loading bigger levels
4543e18
4816465
* Sun Dec 23 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.34-0.6.rc4
4816465
- Update urbanterror autodlrc file to refer to version 4.1 (was 4.0)
4816465
de26f79
* Sun Dec 23 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.34-0.5.rc4
de26f79
- Split of the demo launcher into a quake3-demo package, so that when for
de26f79
  example openarena requires quake3 for the engine people don't automatically
de26f79
  get the demo launcher installed
de26f79
- Add installer / launcher for Urban Terror in an urbanterror subpackage
de26f79
  (bz 385771)
de26f79
- Add installer / launcher for World of Padman in a worldofpadman subpackage
de26f79
9781d1b
* Wed Dec 12 2007 Alexey Kuznetsov <kuznetsov.alexey@gmail.com> 1.34-0.4.rc4
9781d1b
- Add quake3-update srcipt.
9781d1b
313886d
* Thu Sep 27 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.34-0.3.rc4
313886d
- Update autodlrc file to use fast mirrors instead of the slow and unreliable
313886d
  official ID software site
313886d
313886d
* Tue Sep 25 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.34-0.2.rc4
313886d
- Use autodownloader to download demo files, thus making the game playable
313886d
  without the original CD
313886d
- Submit for Fedora inclusion now that the game is playable without the CD
313886d
- Update to 1.34-rc4
313886d
- Use system libjpeg, system SDL, OpenAL and curl headers
313886d
313886d
* Mon Sep 18 2006 Matthias Saou <http://freshrpms.net/> 1.34-0.1.rc2.svn908
313886d
- Update to today's svn code (rev. 908), rc2 from the 1.34 branch.
313886d
313886d
* Mon May 29 2006 Matthias Saou <http://freshrpms.net/> 1.34-0.1.rc1.svn792
313886d
- Update to today's svn code (rev. 792).
313886d
- Update the nostrip patch.
313886d
- Fix wrapper script since the binary has been renamed from quake3 to
313886d
  ioquake3.<arch>, which we rename to plain ioquake3 (in the patch).
313886d
- Include new documentation.
313886d
313886d
* Fri Mar 17 2006 Matthias Saou <http://freshrpms.net/> 1.34-0.1.rc1.svn649
313886d
- Update to today's svn code (rev. 649).
313886d
- Update nostrip patch, now pass OPTFLAGS to the build too.
313886d
- Build requires subversion (required for make dist).
313886d
313886d
* Fri Jan 13 2006 Matthias Saou <http://freshrpms.net/> 1.33-0.2.svn470
313886d
- Update to today's svn sode (rev. 470).
313886d
- Add modular xorg build conditional.
313886d
- Revisit nostrip patch for the new code.
313886d
- Add (new?) openal-devel build requirement.
313886d
- Update %%doc files.
313886d
313886d
* Sun Nov 13 2005 Matthias Saou <http://freshrpms.net/> 1.33-0.1.svn338
313886d
- Update to GPL'ed 1.33 and spec file cleanup.
313886d
313886d
* Sun Oct 15 2000 Matthias Saou <http://freshrpms.net/> 1.17-1
313886d
- Initial RPM based on Loki's 1.17 point release
313886d