From f23d76c1ac2efdfc9757c60dcef2b12c1c15734c Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 18:45:18 +0100 Subject: [PATCH] rebuilt with libtcl 8.6 [release 0.61-4mamba;Tue Jul 02 2013] --- README.md | 3 ++ tuxracer-0.60.1-GL.patch | 13 +++++ tuxracer-0.61-config.patch | 20 +++++++ tuxracer-0.61-gcc33.patch | 81 ++++++++++++++++++++++++++++ tuxracer-0.61-ia64.patch | 105 +++++++++++++++++++++++++++++++++++++ tuxracer.desktop | 12 +++++ tuxracer.png | Bin 0 -> 3370 bytes tuxracer.spec | 95 +++++++++++++++++++++++++++++++++ 8 files changed, 329 insertions(+) create mode 100644 tuxracer-0.60.1-GL.patch create mode 100644 tuxracer-0.61-config.patch create mode 100644 tuxracer-0.61-gcc33.patch create mode 100644 tuxracer-0.61-ia64.patch create mode 100644 tuxracer.desktop create mode 100644 tuxracer.png create mode 100644 tuxracer.spec diff --git a/README.md b/README.md index 8deb364..648bddd 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # tuxracer +Tux Racer is a simple OpenGL-based racing game featuring Tux. +The object of the game is to slide down a snow- and ice-covered mountain as quickly as possible, avoiding the trees and rocks that will slow you down. + diff --git a/tuxracer-0.60.1-GL.patch b/tuxracer-0.60.1-GL.patch new file mode 100644 index 0000000..8c95f62 --- /dev/null +++ b/tuxracer-0.60.1-GL.patch @@ -0,0 +1,13 @@ +--- tuxracer-0.60.1/src/gl_util.h.GL Tue Oct 3 09:34:14 2000 ++++ tuxracer-0.60.1/src/gl_util.h Mon Oct 9 06:23:38 2000 +@@ -51,6 +51,10 @@ + * count on that... */ + #include + ++#ifdef GL_GLEXT_VERSION_EXT ++#define GL_GLEXT_VERSION GL_GLEXT_VERSION_EXT ++#endif ++ + #if !defined(GL_GLEXT_VERSION) || GL_GLEXT_VERSION < 6 + # error "*** You need a more recent copy of glext.h. You can get one at http://oss.sgi.com/projects/ogl-sample/ABI/glext.h ; it goes in /usr/include/GL. ***" + #endif diff --git a/tuxracer-0.61-config.patch b/tuxracer-0.61-config.patch new file mode 100644 index 0000000..f1c24a2 --- /dev/null +++ b/tuxracer-0.61-config.patch @@ -0,0 +1,20 @@ +--- tuxracer-0.61/configure.config 2001-01-23 21:12:19.000000000 +0100 ++++ tuxracer-0.61/configure 2002-07-26 15:34:21.000000000 +0200 +@@ -1795,13 +1795,13 @@ + + + TR_CPPFLAGS="" +-TR_CFLAGS="-O2 -Wall -fomit-frame-pointer -ffast-math -fexpensive-optimizations" +-TR_CXXFLAGS="-O2 -Wall -fomit-frame-pointer -ffast-math -fexpensive-optimizations" ++TR_CFLAGS="$RPM_OPT_FLAGS -Wall -fomit-frame-pointer -ffast-math -fexpensive-optimizations" ++TR_CXXFLAGS="$RPM_OPT_FLAGS -Wall -fomit-frame-pointer -ffast-math -fexpensive-optimizations" + TR_LIBS="" + + case "$host" in +-i*86-*-*) TR_CFLAGS="$TR_CFLAGS -malign-loops=2 -malign-jumps=2 -malign-functions=2"; +- TR_CXXFLAGS="$TR_CXXFLAGS -malign-loops=2 -malign-jumps=2 -malign-functions=2";; ++i*86-*-*) TR_CFLAGS="$TR_CFLAGS -falign-loops=2 -falign-jumps=2 -falign-functions=2"; ++ TR_CXXFLAGS="$TR_CXXFLAGS -falign-loops=2 -falign-jumps=2 -falign-functions=2";; + alpha*-*-linux-*) TR_CFLAGS="$TR_CFLAGS -mieee";; + esac + diff --git a/tuxracer-0.61-gcc33.patch b/tuxracer-0.61-gcc33.patch new file mode 100644 index 0000000..623e5a4 --- /dev/null +++ b/tuxracer-0.61-gcc33.patch @@ -0,0 +1,81 @@ +--- tuxracer-0.61/src/game_config.c.gcc 2003-05-23 16:37:33.000000000 +0200 ++++ tuxracer-0.61/src/game_config.c 2003-06-04 18:35:46.000000000 +0200 +@@ -114,27 +114,26 @@ + */ + + #define INIT_PARAM( nam, val, typename, commnt ) \ +- Params. ## nam ## .loaded = False; \ +- Params. ## nam ## .name = #nam; \ +- Params. ## nam ## .deflt. ## typename ## _val = val; \ +- Params. ## nam ## .comment = commnt; ++ Params. nam .loaded = False; \ ++ Params. nam .name = #nam; \ ++ Params. nam .deflt. typename ## _val = val; \ ++ Params. nam .comment = commnt; + + #define INIT_PARAM_STRING( nam, val, commnt ) \ +- INIT_PARAM( nam, val, string, commnt ); \ +- Params. ## nam ## .type = PARAM_STRING; ++ INIT_PARAM( nam, val, string, commnt ); \ ++ Params. nam .type = PARAM_STRING; + + #define INIT_PARAM_CHAR( nam, val, commnt ) \ +- INIT_PARAM( nam, val, char, commnt ); \ +- Params. ## nam ## .type = PARAM_CHAR; ++ INIT_PARAM( nam, val, char, commnt ); \ ++ Params. nam .type = PARAM_CHAR; + + #define INIT_PARAM_INT( nam, val, commnt ) \ +- INIT_PARAM( nam, val, int, commnt ); \ +- Params. ## nam ## .type = PARAM_INT; ++ INIT_PARAM( nam, val, int, commnt ); \ ++ Params. nam .type = PARAM_INT; + + #define INIT_PARAM_BOOL( nam, val, commnt ) \ +- INIT_PARAM( nam, val, bool, commnt ); \ +- Params. ## nam ## .type = PARAM_BOOL; +- ++ INIT_PARAM( nam, val, bool, commnt ); \ ++ Params. nam .type = PARAM_BOOL; + + /* + * These functions are used to get and set parameter values +@@ -309,26 +308,26 @@ + * Creates set/get functions for each parameter + */ + #define FN_PARAM( name, typename, type ) \ +- type getparam_ ## name() { \ +- if ( !Params. ## name ## .loaded ) { \ +- fetch_param_ ## typename( &( Params. ## name ) ); \ +- } \ +- return Params. ## name ## .val. ## typename ## _val; \ +- } \ +- void setparam_ ## name( type val) { \ +- set_param_ ## typename( &( Params. ## name ), val ); } ++ type getparam_ ## name() { \ ++ if ( !Params. name .loaded ) { \ ++ fetch_param_ ## typename( &( Params. name ) ); \ ++ } \ ++ return Params. name .val. typename ## _val; \ ++ } \ ++ void setparam_ ## name( type val) { \ ++ set_param_ ## typename( &( Params. name ), val ); } + + #define FN_PARAM_STRING( name ) \ +- FN_PARAM( name, string, char* ) ++ FN_PARAM( name, string, char* ) + + #define FN_PARAM_CHAR( name ) \ +- FN_PARAM( name, char, char ) ++ FN_PARAM( name, char, char ) + + #define FN_PARAM_INT( name ) \ +- FN_PARAM( name, int, int ) ++ FN_PARAM( name, int, int ) + + #define FN_PARAM_BOOL( name ) \ +- FN_PARAM( name, bool, bool_t ) ++ FN_PARAM( name, bool, bool_t ) + + + /* diff --git a/tuxracer-0.61-ia64.patch b/tuxracer-0.61-ia64.patch new file mode 100644 index 0000000..cf7a6db --- /dev/null +++ b/tuxracer-0.61-ia64.patch @@ -0,0 +1,105 @@ +--- tuxracer-0.61/src/view.c.ia64 Thu Nov 8 11:56:54 2001 ++++ tuxracer-0.61/src/view.c Thu Nov 8 15:11:31 2001 +@@ -357,7 +357,7 @@ + ( speed - NO_INTERPOLATION_SPEED ) / + ( BASELINE_INTERPOLATION_SPEED - NO_INTERPOLATION_SPEED ))); + +- up_dir = make_vector( 0, 1, 0 ); ++ up_dir = make_vector( 0.0, 1.0, 0.0 ); + + vel_dir = plyr->vel; + normalize_vector( &vel_dir ); +@@ -371,7 +371,7 @@ + /* Camera-on-a-string mode */ + + /* Construct vector from player to camera */ +- view_vec = make_vector( 0, ++ view_vec = make_vector( 0.0, + sin( ANGLES_TO_RADIANS( + course_angle - + CAMERA_ANGLE_ABOVE_SLOPE + +@@ -406,6 +406,7 @@ + } + + /* Interpolate view point */ ++#if !defined(__ia64__) + if ( plyr->view.initialized ) { + /* Interpolate twice to get a second-order filter */ + int i; +@@ -418,7 +419,7 @@ + time_constant_mult ); + } + } +- ++#endif + /* Make sure interpolated view point is above terrain */ + ycoord = find_y_coord( view_pt.x, view_pt.z ); + +@@ -437,6 +438,7 @@ + view_dir = scale_vector( -1.0, + transform_vector( rot_mat, view_vec ) ); + ++#if !defined(__ia64__) + /* Interpolate orientation of camera */ + if ( plyr->view.initialized ) { + /* Interpolate twice to get a second-order filter */ +@@ -448,7 +450,7 @@ + up_dir = make_vector( 0.0, 1.0, 0.0 ); + } + } +- ++#endif + break; + } + +@@ -456,7 +458,7 @@ + { + /* Camera follows player (above and behind) */ + +- up_dir = make_vector( 0, 1, 0 ); ++ up_dir = make_vector( 0.0, 1.0, 0.0 ); + + /* Construct vector from player to camera */ + view_vec = make_vector( 0, +@@ -493,6 +495,7 @@ + view_pt.y = ycoord + MIN_CAMERA_HEIGHT; + } + ++#if !defined(__ia64__) + /* Interpolate view point */ + if ( plyr->view.initialized ) { + /* Interpolate twice to get a second-order filter */ +@@ -506,6 +509,7 @@ + time_constant_mult ); + } + } ++#endif + + /* Make sure interpolate view point is above terrain */ + ycoord = find_y_coord( view_pt.x, view_pt.z ); +@@ -525,6 +529,7 @@ + view_dir = scale_vector( -1.0, + transform_vector( rot_mat, view_vec ) ); + ++#if !defined(__ia64__) + /* Interpolate orientation of camera */ + if ( plyr->view.initialized ) { + /* Interpolate twice to get a second-order filter */ +@@ -536,7 +541,7 @@ + up_dir = make_vector( 0.0, 1.0, 0.0 ); + } + } +- ++#endif + break; + } + +@@ -544,7 +549,7 @@ + { + /* Camera always uphill of player */ + +- up_dir = make_vector( 0, 1, 0 ); ++ up_dir = make_vector( 0.0, 1.0, 0.0 ); + + + /* Construct vector from player to camera */ diff --git a/tuxracer.desktop b/tuxracer.desktop new file mode 100644 index 0000000..0cc892f --- /dev/null +++ b/tuxracer.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Encoding=UTF-8 +Categories=Application;Game;ArcadeGame +Name=Tux Racer +GenericName=Arcade Game +GenericName[it]=Gioco Arcade +Description=Race your penguin down an alpine slope +Description[it]=Conduci il pinguino lungo le discese alpine +Exec=tuxracer +Terminal=0 +Type=Application +Icon=/usr/share/tuxracer/tuxracer.png diff --git a/tuxracer.png b/tuxracer.png new file mode 100644 index 0000000000000000000000000000000000000000..370aec0f95b97ef97d83b893156ef6e6e3e750a7 GIT binary patch literal 3370 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 literal 0 HcmV?d00001 diff --git a/tuxracer.spec b/tuxracer.spec new file mode 100644 index 0000000..402a4e4 --- /dev/null +++ b/tuxracer.spec @@ -0,0 +1,95 @@ +Name: tuxracer +Version: 0.61 +Release: 4mamba +Summary: A simple OpenGL-based racing game featuring Tux +Group: Applications/Games +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://tuxracer.sourceforge.net/ +Source: http://download.sourceforge.net/tuxracer/tuxracer-%{version}.tar.bz2 +Source1: http://download.sourceforge.net/tuxracer/tuxracer-data-%{version}.tar.bz2 +Source2: tuxracer.png +Source3: tuxracer.desktop +Patch: tuxracer-0.60.1-GL.patch +Patch1: tuxracer-0.61-config.patch +Patch2: tuxracer-0.61-ia64.patch +Patch3: tuxracer-0.61-gcc33.patch +License: GPL +BuildRequires: libtcl-devel >= 8.4.7 +BuildRequires: libSDL_mixer-devel >= 1.2.5 +BuildRequires: libSDL-devel >= 1.2.7 +BuildRequires: libGL-devel +BuildRequires: libICE-devel +BuildRequires: libSM-devel +BuildRequires: libogg-devel +Obsoletes: tuxracer-data +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Tux Racer is a simple OpenGL-based racing game featuring Tux. +The object of the game is to slide down a snow- and ice-covered mountain as quickly as possible, avoiding the trees and rocks that will slow you down. + +%prep +%setup -q +%patch -p1 -b .GL +%patch1 -p1 -b .config +%patch3 -p1 -b .gcc33 + + +%build +CFLAGS="-DGLX_GLXEXT_LEGACY $RPM_OPT_FLAGS" \ +%configure \ + --with-data-dir=%{_datadir}/tuxracer \ + --with-tcl-lib-name=tcl8.4 + + #--prefix=%{_prefix} \ + #--with-gl-inc=/usr/X11R6/include \ + #--with-gl-libs=/usr/X11R6/lib \ + #--with-glut-inc=/usr/X11R6/include \ + #--with-glut-libs=/usr/X11R6/lib \ + +make %{?_smp_mflags} + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%makeinstall +#make install \ +# prefix=%{buildroot}%{_prefix} \ +# datadir=%{buildroot}%{_datadir}/tuxracer + +mkdir -p %{buildroot}%{_datadir} +pushd %{buildroot}%{_datadir} +bzip2 -dc %{SOURCE1} | tar xf - +mv tuxracer-data-0.61 tuxracer +cp %{SOURCE2} tuxracer/ +find . -type f | xargs chmod 644 +popd + +mkdir -p %{buildroot}%{_datadir}/applications +install -m 644 %{SOURCE3} %{buildroot}%{_datadir}/applications/tuxracer.desktop + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr (-, root, root, 755) +%{_bindir}/tuxracer +%dir %{_datadir}/tuxracer +%{_datadir}/tuxracer/* +%{_datadir}/applications/tuxracer.desktop +%doc AUTHORS COPYING ChangeLog README contrib + +%changelog +* Tue Jul 02 2013 Silvan Calarco 0.61-4mamba +- rebuilt with libtcl 8.6 + +* Sun Sep 02 2007 Silvan Calarco 0.61-3mamba +- fixed desktop menu link + +* Sun Nov 28 2004 Silvan Calarco 0.61-2qilnx +- rebuilt and moved from devel-contrib to devel repository + +* Thu Nov 11 2004 Matteo Bernasconi 0.61-1qilnx +- First Build \ No newline at end of file