File ioquake3-win32.spec of Package ioquake3-win32
#
# spec file for package ioquake3 (Version 1.35_SVN1189)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%if 0%{?_without_installer:1}
%define with_installer_default 0
%else
%if 0%{?opensuse_bs}
%define with_installer_default 1
%else
%define with_installer_default 0
%endif
%endif
%define with_installer %{?_with_installer:1}%{!?_with_installer:%with_installer_default}
#
BuildRequires: pkgconfig
BuildRequires: cross-mingw-binutils cross-mingw-gcc cross-mingw-runtime cross-mingw-w32api
BuildRequires: nasm
BuildRequires: SDL-win32
BuildRequires: curl-win32
#BuildRequires: speex-win32
BuildRequires: openal-soft-win32
BuildRequires: recode
%if %with_installer
BuildRequires: nsis
%endif
Name: ioquake3-win32
License: GPL v2 or later
Url: http://icculus.org/quake3/
Group: Amusements/Games/3D/Shoot
%{expand:%(sed -n -e '/Version:/p;/^%package/q' < %_sourcedir/ioquake3.spec)}
Release: 1
Summary: Quake III
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: ioquake3-%{version}.tar.bz2
Prefix: %{_prefix}/lib/ioquake3
Source99: ioquake3.spec
%if %with_installer
%package setup
License: GPL v2 or later
Summary: Quake III nsis based installer
Group: Amusements/Games/3D/Shoot
%endif
%description
Quake III first person shooter. This package only includes the binary
files, you still need the data files from the original Quake III CD or
the Demo.
Authors:
--------
Id Software, Inc.
%if %with_installer
%description setup
Quake III first person shooter. This package includes the binary files
repackaged as nsis installer
Authors:
--------
Id Software, Inc.
%endif
%prep
%setup -q -n ioquake3-%{version}
# we want to use our own
rm -r code/SDL12
rm code/libs/win32/*
mv README README.txt
recode utf8..ibmpc README.txt COPYING.txt id-readme.txt voip-readme.txt
%build
cat > dobuild <<'EOF'
#!/bin/sh
export PKG_CONFIG_PATH=/opt/cross/i386-mingw32msvc/lib/pkgconfig
exec make %{?jobs:-j%jobs} \
VERSION=%{version} \
RELEASE=%{release} \
OPTIMIZE="%{optflags} -O3 -ffast-math -fno-strict-aliasing" \
CC=/opt/cross/bin/i386-mingw32msvc-gcc \
WINDRES=/opt/cross/bin/i386-mingw32msvc-windres \
USE_LOCAL_HEADERS=0 \
PLATFORM=mingw32 \
GENERATE_DEPENDENCIES=0 \
USE_CURL=1 \
V=1 \
"$@"
EOF
chmod 755 dobuild
./dobuild release
%install
q3dir=%{buildroot}%{_prefix}/lib/ioquake3-win32
install -d -m 755 $q3dir
install -d -m 755 $q3dir/baseq3
install -d -m 755 $q3dir/missionpack
pushd build/release-*
/opt/cross/bin/i386-mingw32msvc-strip *.exe */*.dll
install -m 755 ioquake3.x86.exe $q3dir/
install -m 755 ioq3ded.x86.exe $q3dir/
install -m 644 baseq3/*.dll $q3dir/baseq3
install -m 644 missionpack/*.dll $q3dir/missionpack
popd
%if %with_installer
for i in libcurl-4.dll SDL.dll OpenAL32.dll; do
install -m 644 /opt/cross/i386-mingw32msvc/bin/$i misc/nsis
/opt/cross/bin/i386-mingw32msvc-strip misc/nsis/$i
done
sed -i -e 's/openal32/OpenAL32/' misc/nsis/ioquake3.nsi.in
./dobuild installer
install -d %buildroot%_prefix/games
mv misc/nsis/ioquake3-%version-%release.x86.exe %buildroot%_prefix/games
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc COPYING.txt README.txt id-readme.txt
%{_prefix}/lib/ioquake3-win32
%if %with_installer
%files setup
%defattr(-,root,root)
%{_prefix}/games/*
%endif