1
0

Accepting request 143712 from home:jengelh:dev

-lang subpackage/%find_lang not applicable because the files are not in standard locations

OBS-URL: https://build.opensuse.org/request/show/143712
OBS-URL: https://build.opensuse.org/package/show/games/ultimatestunts?expand=0&rev=1
This commit is contained in:
Dominique Leuenberger 2012-11-30 22:29:38 +00:00 committed by Git OBS Bridge
commit 5992b2f702
10 changed files with 500 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,27 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2012-11-25 16:12:06.300523574 +0100
Status: sent to upstream
build: resolve compile error with g++-4.7
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I../shared -DSYSCONFDIR="\"/etc\"" -Wall -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o metaserver.o metaserver.cpp
metaserver.cpp: In member function 'CString CMetaServer::httpReadBodyNormal()':
metaserver.cpp:265:47: error: 'read' was not declared in this scope
[...]
---
simulation/metaserver.cpp | 1 +
1 file changed, 1 insertion(+)
Index: ultimatestunts-srcdata-0771/simulation/metaserver.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/simulation/metaserver.cpp
+++ ultimatestunts-srcdata-0771/simulation/metaserver.cpp
@@ -20,6 +20,7 @@
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
+#include <unistd.h>
#ifdef HAVE_CONFIG_H
#include "config.h"

57
02-fix-type-puns.diff Normal file
View File

@ -0,0 +1,57 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2012-11-25 16:20:56.258246775 +0100
Status: sent to upstream
build: resolve compiler's hard warnings about type punning
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I../shared -DSYSCONFDIR="\"/etc\"" -Wall -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c -o udpnet.o udpnet.cpp
udpnet.cpp: In member function 'virtual bool CUDPNet::sendData(CMessageBuffer&)':
udpnet.cpp:158:33: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../graphics -I../intl -I../shared -DSYSCONFDIR="\"/etc\"" -Wall -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c lw.c
lw.c: In function 'read_float':
lw.c:67:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
---
simulation/udpnet.cpp | 3 ++-
stunts3dedit/lw.c | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
Index: ultimatestunts-srcdata-0771/simulation/udpnet.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/simulation/udpnet.cpp
+++ ultimatestunts-srcdata-0771/simulation/udpnet.cpp
@@ -155,7 +155,8 @@ bool CUDPNet::sendData(CMessageBuffer &d
Uint8 num8[4];
for(unsigned int i=0; i<4; i++)
num8[i] = ipnum[i];
- Uint32 num32 = *((Uint32 *)num8);
+ Uint32 num32;
+ memcpy(&num32, num8, sizeof(num32));
//printf("Sending to %d.%d.%d.%d port %d\n", num8[0], num8[1], num8[2], num8[3], data.getPort());
Index: ultimatestunts-srcdata-0771/stunts3dedit/lw.c
===================================================================
--- ultimatestunts-srcdata-0771.orig/stunts3dedit/lw.c
+++ ultimatestunts-srcdata-0771/stunts3dedit/lw.c
@@ -23,6 +23,7 @@ Modified by CJP
#include "lw.h"
+#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -63,8 +64,11 @@ static Uint32 read_long(FILE *f)
static float read_float(FILE *f)
{
+ float r;
Uint32 x = read_long(f);
- return *((float*)(void*)(&x)); /* CJP note: possibly doesn't work on every architecture */
+ assert(sizeof(float) == sizeof(Uint32));
+ memcpy(&r, &x, sizeof(r));
+ return r;
}
static int read_string(FILE *f, char *s)

View File

@ -0,0 +1,195 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2012-11-25 16:27:14.938909202 +0100
Status: sent to upstream
build: resolve format specifier mismatches
(Using %lu instead of %zu, since I assume you want this runnable
with rather old Windows C runtimes.)
[ 15s] datamanager.cpp: In member function 'CDataObject* CDataManager::getObject(CDataObject::eDataType, unsigned int)':
[ 15s] datamanager.cpp:53:52: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<CDataObject*>::size_type {aka long unsigned int}' [-Wformat]
[ 15s] datamanager.cpp: In member function 'const CDataObject* CDataManager::getObject(CDataObject::eDataType, unsigned int) const':
[ 15s] datamanager.cpp:77:52: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<CDataObject*>::size_type {aka long unsigned int}' [-Wformat]
[ 16s] glbfile.cpp: In member function 'bool CGLBFile::processIndices(CGLBFile::SPrimitive&, CBinBuffer&, unsigned int)':
[ 16s] glbfile.cpp:253:45: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<CGLBFile::SVertex>::size_type {aka long unsigned int}' [-Wformat]
[ 55s] loadobj.cpp: In function 'bool loadOBJ(const CString&, CEditGraphObj&)':
[ 55s] loadobj.cpp:195:81: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<CVector>::size_type {aka long unsigned int}' [-Wformat]
[ 55s] loadobj.cpp:202:58: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<CVertex>::size_type {aka long unsigned int}' [-Wformat]
[ 55s] loadobj.cpp:202:58: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<unsigned int>::size_type {aka long unsigned int}' [-Wformat]
[ 55s] loadobj.cpp:202:58: warning: format '%d' expects argument of type 'int', but argument 4 has type 'std::vector<unsigned int>::size_type {aka long unsigned int}' [-Wformat]
[ 59s] edittrack.cpp: In member function 'void CEditTrack::followTRKRoutes(const CTRKFile&, CTrack::CCheckpoint, int)':
[ 59s] edittrack.cpp:524:62: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<CTrack::CRoute>::size_type {aka long unsigned int}' [-Wformat]
[ 59s] edittrack.cpp:541:73: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<CTrack::CCheckpoint>::size_type {aka long unsigned int}' [-Wformat]
[ 59s] edittrack.cpp:553:88: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<CTrack::CRoute>::size_type {aka long unsigned int}' [-Wformat]
[ 59s] edittrack.cpp:608:30: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<CTrack::CRoute>::size_type {aka long unsigned int}' [-Wformat]
[ 62s] routetracker.cpp: In member function 'void CRouteTracker::trackSingleRoute(unsigned int)':
[ 62s] routetracker.cpp:144:75: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<CTETile::SRoute>::size_type {aka long unsigned int}' [-Wformat]
[ 67s] trkfile.cpp: In member function 'bool CTRKFile::load(const CString&)':
[ 67s] trkfile.cpp:46:70: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<unsigned char>::size_type {aka long unsigned int}' [-Wformat]
[ 73s] music.cpp: In member function 'void CMusic::update()':
[ 73s] music.cpp:213:28: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<unsigned int>::size_type {aka long unsigned int}' [-Wformat]
---
shared/datamanager.cpp | 10 ++++++----
shared/glbfile.cpp | 6 ++++--
stunts3dedit/loadobj.cpp | 8 +++++---
trackedit/edittrack.cpp | 9 +++++----
trackedit/routetracker.cpp | 2 +-
trackedit/trkfile.cpp | 2 +-
ultimatestunts/music.cpp | 4 ++--
7 files changed, 24 insertions(+), 17 deletions(-)
Index: ultimatestunts-srcdata-0771/shared/datamanager.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/shared/datamanager.cpp
+++ ultimatestunts-srcdata-0771/shared/datamanager.cpp
@@ -48,9 +48,10 @@ CDataObject *CDataManager::getObject(CDa
if(type == CDataObject::eTexture) name = "Texture";
if(type == CDataObject::eSample) name = "Sample";
printf("Errror in CDataManager::getObject (shared/datamanager.cpp):\n"
- " Object requested with ID %d, but there are only %d"
+ " Object requested with ID %d, but there are only %lu"
" objects of type %d (%s)\n",
- ID, (m_Objects[type]).size(), type, name.c_str());
+ ID, static_cast<unsigned long>(m_Objects[type].size()),
+ type, name.c_str());
return NULL;
}
@@ -72,9 +73,10 @@ const CDataObject *CDataManager::getObje
if(type == CDataObject::eTexture) name = "Texture";
if(type == CDataObject::eSample) name = "Sample";
printf("Errror in CDataManager::getObject (shared/datamanager.cpp):\n"
- " Object requested with ID %d, but there are only %d"
+ " Object requested with ID %d, but there are only %lu"
" objects of type %d (%s)\n",
- ID, (m_Objects[type]).size(), type, name.c_str());
+ ID, static_cast<unsigned long>(m_Objects[type].size()),
+ type, name.c_str());
return NULL;
}
Index: ultimatestunts-srcdata-0771/shared/glbfile.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/shared/glbfile.cpp
+++ ultimatestunts-srcdata-0771/shared/glbfile.cpp
@@ -249,8 +249,10 @@ bool CGLBFile::processIndices(SPrimitive
unsigned int index = data.getUint32(pos);
if(index >= pr.vertex.size())
{
- printf("Index %d exceeds vertex array size %d in %s\n",
- index, pr.vertex.size(), pr.Name.c_str());
+ printf("Index %d exceeds vertex array size %lu in %s\n",
+ index,
+ static_cast<unsigned long>(pr.vertex.size()),
+ pr.Name.c_str());
return false;
}
Index: ultimatestunts-srcdata-0771/stunts3dedit/loadobj.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/stunts3dedit/loadobj.cpp
+++ ultimatestunts-srcdata-0771/stunts3dedit/loadobj.cpp
@@ -192,14 +192,16 @@ bool loadOBJ(const CString &filename, CE
if(vi >= v_arr.size())
{
printf("In line \"%s\":\n", line.c_str());
- printf("Error: vertex index %d exceeds array size %d\n", vi+1, v_arr.size());
+ printf("Error: vertex index %d exceeds array size %lu\n", vi+1, static_cast<unsigned long>(v_arr.size()));
return false;
}
if(pr.m_Vertex.size() != v_index.size() || pr.m_Vertex.size() != vn_index.size())
{
- printf("Error: array sizes %d, %d and %d do not match\n",
- pr.m_Vertex.size(), v_index.size(), vn_index.size());
+ printf("Error: array sizes %lu, %lu and %lu do not match\n",
+ static_cast<unsigned long>(pr.m_Vertex.size()),
+ static_cast<unsigned long>(v_index.size()),
+ static_cast<unsigned long>(vn_index.size()));
return false;
}
Index: ultimatestunts-srcdata-0771/trackedit/edittrack.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/trackedit/edittrack.cpp
+++ ultimatestunts-srcdata-0771/trackedit/edittrack.cpp
@@ -521,7 +521,7 @@ void CEditTrack::followTRKRoutes(const C
{
if(altdir == -2) //found a join
{
- printf("Stopping route %d on a join\n", m_Routes.size()-1);
+ printf("Stopping route %lu on a join\n", static_cast<unsigned long>(m_Routes.size()) - 1);
m_Routes.back().push_back(start);
break;
}
@@ -538,7 +538,7 @@ void CEditTrack::followTRKRoutes(const C
dir = splitDirs.back();
splitPoints.resize(splitPoints.size()-1);
splitDirs.resize(splitDirs.size()-1);
- printf(" %d splits remaining on this route\n", splitPoints.size());
+ printf(" %lu splits remaining on this route\n", static_cast<unsigned long>(splitPoints.size()));
continue;
}
else
@@ -550,7 +550,7 @@ void CEditTrack::followTRKRoutes(const C
}
//Add tile to current route
- printf("Following route %d: %d %d %d\n", m_Routes.size()-1, start.x, start.y, start.z);
+ printf("Following route %lu: %d %d %d\n", static_cast<unsigned long>(m_Routes.size()) - 1, start.x, start.y, start.z);
if(altdir != -3 && //-3 means skip
( m_Routes.back().size()==0 || !(start == m_Routes.back().back()) ) //is different
)
@@ -604,7 +604,8 @@ void CEditTrack::followTRKRoutes(const C
)
{
start.y = (file.m_Track[start.z][start.x].terrain==0x06);
- printf("Stopping route %d on finish %d %d %d\n", m_Routes.size()-1,
+ printf("Stopping route %lu on finish %d %d %d\n",
+ static_cast<unsigned long>(m_Routes.size()) - 1,
start.x, start.y, start.z);
m_Routes.back().push_back(start);
break;
Index: ultimatestunts-srcdata-0771/trackedit/routetracker.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/trackedit/routetracker.cpp
+++ ultimatestunts-srcdata-0771/trackedit/routetracker.cpp
@@ -141,7 +141,7 @@ void CRouteTracker::trackSingleRoute(uns
{
printf("Error: currentTileRoute >= number of tile routes\n");
printf(" Tile: %s\n", currentModel->getFilename().c_str());
- printf(" %d >= %d\n", currentTileRoute, currentModel->m_Routes.size());
+ printf(" %d >= %lu\n", currentTileRoute, static_cast<unsigned long>(currentModel->m_Routes.size()));
return;
}
Index: ultimatestunts-srcdata-0771/trackedit/trkfile.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/trackedit/trkfile.cpp
+++ ultimatestunts-srcdata-0771/trackedit/trkfile.cpp
@@ -43,7 +43,7 @@ bool CTRKFile::load(const CString &filen
if(bytes.size() != TRKLENGTH)
{
- printf("Expected %d bytes, got %d bytes\n", TRKLENGTH, bytes.size());
+ printf("Expected %d bytes, got %lu bytes\n", TRKLENGTH, static_cast<unsigned long>(bytes.size()));
return false;
}
Index: ultimatestunts-srcdata-0771/ultimatestunts/music.cpp
===================================================================
--- ultimatestunts-srcdata-0771.orig/ultimatestunts/music.cpp
+++ ultimatestunts-srcdata-0771/ultimatestunts/music.cpp
@@ -209,8 +209,8 @@ void CMusic::update()
if (ret == 0)
{
m_streamIsFinished = true;
- printf("Finished loading Ogg music file (used %d buffers)\n",
- m_StreamBuffers.size());
+ printf("Finished loading Ogg music file (used %lu buffers)\n",
+ static_cast<unsigned long>(m_StreamBuffers.size()));
}
else
{

View File

@ -0,0 +1,30 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2012-11-25 16:31:12.746298596 +0100
Status: sent to upstream
build: resolve parallel building problem
When running with `make -j4`,
make[2]: *** No rule to make target `../trackedit/libtrackedit.a', needed by `ustuntstrackedit'. Stop.
make[2]: *** Waiting for unfinished jobs....
can happen. "../trackedit/libtrackedit.a" is not a known object,
but "libtrackedit.a" is. Just use that.
---
trackedit/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: ultimatestunts-srcdata-0771/trackedit/Makefile.am
===================================================================
--- ultimatestunts-srcdata-0771.orig/trackedit/Makefile.am
+++ ultimatestunts-srcdata-0771/trackedit/Makefile.am
@@ -1,6 +1,6 @@
bin_PROGRAMS = ustuntstrackedit
ustuntstrackedit_SOURCES = main.cpp
-ustuntstrackedit_LDADD = $(top_builddir)/trackedit/libtrackedit.a \
+ustuntstrackedit_LDADD = libtrackedit.a \
$(top_builddir)/graphics/libgraphics.a $(top_builddir)/simulation/libsimulation.a \
$(top_builddir)/shared/libshared.a @sdllibs@ @graphlibs@ @LIBINTL@

32
05-fix-destdir.diff Normal file
View File

@ -0,0 +1,32 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2012-11-25 17:12:40.870013467 +0100
Status: sent to upstream
build: resolve installation failure when DESTDIR is used
make install DESTDIR="/tmp/foo" can fail because Makefile.am
still tries to put files in /usr/share/ultimatestunts rather
than /tmp/foo/usr/share/ultimatestunts.
---
data/Makefile.am | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: ultimatestunts-srcdata-0771/data/Makefile.am
===================================================================
--- ultimatestunts-srcdata-0771.orig/data/Makefile.am
+++ ultimatestunts-srcdata-0771/data/Makefile.am
@@ -1,8 +1,8 @@
usdatadir=@usdatadir@
install:
- $(mkinstalldirs) ${usdatadir}
- cp -r cars environment lang misc music textures textures.dat tiles tracks ${usdatadir}
- chmod 644 ${usdatadir}/*.*
- chmod 644 ${usdatadir}/*/*.*
- chmod 644 ${usdatadir}/*/*/*.*
+ $(mkinstalldirs) ${DESTDIR}${usdatadir}
+ cp -r cars environment lang misc music textures textures.dat tiles tracks ${DESTDIR}${usdatadir}
+ chmod 644 ${DESTDIR}${usdatadir}/*.*
+ chmod 644 ${DESTDIR}${usdatadir}/*/*.*
+ chmod 644 ${DESTDIR}${usdatadir}/*/*/*.*

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c71a60c66834645d2d9ef3ec86c1a1bcf97b306320c0cb24dd08fcb1eb13dab0
size 21801760

10
ultimatestunts.changes Normal file
View File

@ -0,0 +1,10 @@
-------------------------------------------------------------------
Fri Nov 30 17:04:52 UTC 2012 - jengelh@inai.de
- RPM group corrections (/Racing -> /Race, d'oh)
- Run fdupes over package
-------------------------------------------------------------------
Fri Nov 30 17:01:32 UTC 2012 - jengelh@inai.de
- Initial package (version 0.7.7.1) for build.opensuse.org

122
ultimatestunts.spec Normal file
View File

@ -0,0 +1,122 @@
#
# spec file for package ultimatestunts
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: ultimatestunts
Version: 0.7.7.1
Release: 0
Summary: A racing game in the style of "Stunts"
License: GPL-2.0+
Group: Amusements/Games/3D/Race
Url: http://ultimatestunts.nl/
#Freecode-URL: http://freecode.com/projects/ultimatestunts
#DL-URL: http://downloads.sf.net/ultimatestunts/ultimatestunts-srcdata-0771.tar.gz
Source: %name-srcdata-0771.tar.xz
Patch1: 01-fix-missing-includes.diff
Patch2: 02-fix-type-puns.diff
Patch3: 03-fix-format-mismatches.diff
Patch4: 04-fix-parallel-build-issue.diff
Patch5: 05-fix-destdir.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: bison
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: xz
%if 0%{?suse_version} >= 1140 || 0%{?fedora_version}
BuildRequires: pkgconfig(SDL_image)
BuildRequires: pkgconfig(freealut)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(openal)
BuildRequires: pkgconfig(sdl) >= 1.1.0
BuildRequires: pkgconfig(vorbisfile) >= 1.0.0
%else
BuildRequires: SDL-devel
BuildRequires: SDL_image-devel
BuildRequires: freealut-devel
BuildRequires: Mesa-devel
BuildRequires: openal-devel
%endif
%if 0%{?suse_version}
BuildRequires: fdupes
%endif
Requires: %name-data
%description
Ultimate Stunts is a remake of the famous DOS-game stunts. Racing in
Ultimate Stunts involves some really spectacular stunts, like
loopings, corkscrews, bridges to jump over, etc. You can also design
your own tracks.
%package data
Summary: Graphics, music, cars and tracks for Ultimate Stunts
Group: Amusements/Games/3D/Race
%if 0%{?suse_version} >= 1210 || 0%{?fedora_version}
BuildArch: noarch
%endif
%description data
This package contains the game data for Ultimate Stunts.
Ultimate Stunts is a remake of the famous DOS-game stunts. Racing in
Ultimate Stunts involves some really spectacular stunts, like
loopings, corkscrews, bridges to jump over, etc. You can also design
your own tracks.
%package lang
Summary: Translations for Ultimate Stunts
Group: Amusements/Games/3D/Race
%if 0%{?suse_version} >= 1210 || 0%{?fedora_version}
BuildArch: noarch
%endif
%description lang
This package contains the translations for Ultimate Stunts.
Ultimate Stunts is a remake of the famous DOS-game stunts. Racing in
Ultimate Stunts involves some really spectacular stunts, like
loopings, corkscrews, bridges to jump over, etc. You can also design
your own tracks.
%prep
%setup -qn %name-srcdata-0771
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -p1
%build
find . -type d -name .svn -exec rm -Rf "{}" "+";
%configure
make %{?_smp_mflags} -j1;
%install
b="%buildroot";
make install DESTDIR="$b" usdatadir="$b/%_datadir/ultimatestunts";
%if 0%{?fdupes:1}
%fdupes %buildroot/%_prefix
%endif
%find_lang %name
%files
%defattr(-,root,root)
%config %_sysconfdir/ultimatestunts.conf
%_bindir/ustunts*
%files data
%defattr(-,root,root)
%_datadir/%name
%_datadir/%name/lang
%changelog