diff --git a/README.md b/README.md index 566bc60..fdb76fe 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # pinball +The Emilia Pinball Project is a pinball simulator for Linux and other Unix systems. +There is only one level to play with, but it is very addictive. + diff --git a/pinball-0.3.1-gcc44.patch b/pinball-0.3.1-gcc44.patch new file mode 100644 index 0000000..f59a224 --- /dev/null +++ b/pinball-0.3.1-gcc44.patch @@ -0,0 +1,12 @@ +diff -Nru pinball-0.3.1.orig/base/Config.cpp pinball-0.3.1/base/Config.cpp +--- pinball-0.3.1.orig/base/Config.cpp 2003-11-21 08:59:09.000000000 +0100 ++++ pinball-0.3.1/base/Config.cpp 2009-06-29 13:39:40.000000000 +0200 +@@ -426,7 +426,7 @@ + char* ptr=0; + char* ptrw = 0; + //cout<<"relative to exe file"<getExeDir() ) +- +"/"+ m_sTableName +".cfg"; +-#else +- sFileName = string(EM_HIGHSCORE_DIR) + "/" + sFileName; +-#endif //!rzr- ++ char *home = getenv("HOME"); ++ string sFileName = string(home? home:".") + "/.emilia/" + m_sTableName + ++ ".hiscore"; + + ifstream file(sFileName.c_str()); + if (!file) { +@@ -308,14 +303,10 @@ + cerr << "No current table name! (the first time is normal...)" << endl; + return false; + } +- //!rzr+ : fix w32 +- string sFileName = m_sTableName + "/" + HIGH_SCORES_FILENAME; +-#ifdef RZR_PATHRELATIVE +- sFileName = string( Config::getInstance()->getExeDir() ) +- +"/"+ m_sTableName +".cfg"; +-#else +- sFileName = string(EM_HIGHSCORE_DIR) + "/" + sFileName; +-#endif //!rzr- ++ ++ char *home = getenv("HOME"); ++ string sFileName = string(home? home:".") + "/.emilia/" + m_sTableName + ++ ".hiscore"; + + ofstream file(sFileName.c_str());//, ios_base::out | ios_base::trunc); + if (!file) { diff --git a/pinball-0.3.1-make-3.82.patch b/pinball-0.3.1-make-3.82.patch new file mode 100644 index 0000000..2dbb19c --- /dev/null +++ b/pinball-0.3.1-make-3.82.patch @@ -0,0 +1,24 @@ +diff -Nru pinball-0.3.1.orig//src/Makefile.in pinball-0.3.1/src/Makefile.in +--- pinball-0.3.1.orig//src/Makefile.in 2010-08-23 10:34:57.548877758 +0200 ++++ pinball-0.3.1/src/Makefile.in 2010-08-23 10:35:42.154253834 +0200 +@@ -505,7 +505,7 @@ + uninstall-pinincludeHEADERS uninstall-pinlibLIBRARIES + + +-dnl libemilia_pin_la_SOURCES = $(libemilia_pin_a_SOURCES) ++# libemilia_pin_la_SOURCES = $(libemilia_pin_a_SOURCES) + + # !+rzr : This trick workaround a bad generated rule (under Linux mingw32) + # src/ litool returns: -L/usr/local//lib /usr/lib/libjpeg.so +diff -Nru pinball-0.3.1.orig//test/Makefile.in pinball-0.3.1/test/Makefile.in +--- pinball-0.3.1.orig//test/Makefile.in 2010-08-23 10:34:57.548877758 +0200 ++++ pinball-0.3.1/test/Makefile.in 2010-08-23 10:35:51.722880412 +0200 +@@ -621,7 +621,7 @@ + mostlyclean-generic mostlyclean-libtool tags uninstall \ + uninstall-am uninstall-info-am uninstall-testlibLTLIBRARIES + +-dnl noinst_PROGRAMS = unittest ++# noinst_PROGRAMS = unittest + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: diff --git a/pinball-0.3.1-sys-ltdl.patch b/pinball-0.3.1-sys-ltdl.patch new file mode 100644 index 0000000..19ecad5 --- /dev/null +++ b/pinball-0.3.1-sys-ltdl.patch @@ -0,0 +1,152 @@ +--- pinball-0.3.1/Makefile.in~ 2006-08-03 12:18:40.000000000 +0200 ++++ pinball-0.3.1/Makefile.in 2006-08-03 12:18:40.000000000 +0200 +@@ -107,7 +107,7 @@ + install_sh = @install_sh@ + AUTOMAKE_OPTIONS = gnu + +-SUBDIRS = libltdl addon base data src test ++SUBDIRS = addon base data src test + + EXTRA_DIST = bootstrap pinball.spec clean pinball.desktop + +--- pinball-0.3.1/src/Makefile.in~ 2006-08-03 12:20:12.000000000 +0200 ++++ pinball-0.3.1/src/Makefile.in 2006-08-03 12:20:12.000000000 +0200 +@@ -114,9 +114,9 @@ + + pinlib_LIBRARIES = libemilia_pin.a + +-INCLUDES = -I../base -I../addon @INCLTDL@ ++INCLUDES = -I../base -I../addon + +-pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@ ++pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a -lltdl + pinball_LDFLAGS = -export-dynamic + + pinball_SOURCES = Pinball.cpp +--- pinball-0.3.1/src/Makefile.am~ 2006-08-03 12:20:35.000000000 +0200 ++++ pinball-0.3.1/src/Makefile.am 2006-08-03 12:20:35.000000000 +0200 +@@ -7,9 +7,9 @@ + + pinlib_LIBRARIES = libemilia_pin.a + +-INCLUDES = -I../base -I../addon @INCLTDL@ ++INCLUDES = -I../base -I../addon + +-pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@ ++pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a -lltdl + pinball_LDFLAGS = -export-dynamic + + pinball_SOURCES = Pinball.cpp +--- pinball-0.3.1/Makefile.am~ 2006-08-03 12:18:12.000000000 +0200 ++++ pinball-0.3.1/Makefile.am 2006-08-03 12:18:12.000000000 +0200 +@@ -1,6 +1,6 @@ + AUTOMAKE_OPTIONS = gnu + +-SUBDIRS = libltdl addon base data src test ++SUBDIRS = addon base data src test + + EXTRA_DIST = bootstrap pinball.spec clean pinball.desktop + +--- pinball-0.3.1/configure.ac~ 2006-08-03 12:17:50.000000000 +0200 ++++ pinball-0.3.1/configure.ac 2006-08-03 12:17:50.000000000 +0200 +@@ -14,19 +14,13 @@ + CFLAGS="-g -W -Wall -O2" + CXXFLAGS="-g -W -Wall -O2" + +-AC_CONFIG_SUBDIRS(libltdl) +- + dnl Checks for programs. + AC_PROG_CC + AC_PROG_CXX + AC_PROG_INSTALL + AC_LIBTOOL_DLOPEN +-AC_LIBLTDL_CONVENIENCE + AC_PROG_LIBTOOL + +-AC_SUBST(INCLTDL) +-AC_SUBST(LIBLTDL) +- + dnl ******************************************* + dnl PATHS AND DIRS **************************** + dnl data dirs, fuck I hate autoconf, spent 4 hours getting this right, had to +--- pinball-0.3.1/test/Makefile.in~ 2006-08-03 12:21:11.000000000 +0200 ++++ pinball-0.3.1/test/Makefile.in 2006-08-03 12:21:11.000000000 +0200 +@@ -112,8 +112,8 @@ + + noinst_PROGRAMS = scale simple light texture load explode collision signal billboard font thread menu joy sound trans math misc varray unittest + +-INCLUDES = -I../base -I../addon -I../src @INCLTDL@ +-LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@ ++INCLUDES = -I../base -I../addon -I../src ++LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a -lltdl + + testlib_LTLIBRARIES = libModuleTest.la + +--- pinball-0.3.1/test/Makefile.am~ 2006-08-03 12:20:53.000000000 +0200 ++++ pinball-0.3.1/test/Makefile.am 2006-08-03 12:20:53.000000000 +0200 +@@ -6,8 +6,8 @@ + noinst_PROGRAMS = scale simple light texture load explode collision signal billboard font thread menu joy sound trans math misc varray unittest + dnl noinst_PROGRAMS = unittest + +-INCLUDES = -I../base -I../addon -I../src @INCLTDL@ +-LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@ ++INCLUDES = -I../base -I../addon -I../src ++LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a -lltdl + + testlib_LTLIBRARIES = libModuleTest.la + +--- pinball-0.3.1/configure~ 2006-08-03 12:16:59.000000000 +0200 ++++ pinball-0.3.1/configure 2006-08-03 12:16:59.000000000 +0200 +@@ -431,7 +431,6 @@ + PACKAGE_STRING='pinball 0.3.1' + PACKAGE_BUGREPORT='henqvist@users.sourceforge.net' + +-ac_subdirs_all="$ac_subdirs_all libltdl" + # Factoring default headers for most tests. + ac_includes_default="\ + #include +@@ -469,7 +468,7 @@ + # include + #endif" + +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE subdirs CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE LN_S ECHO RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL INCLTDL LIBLTDL EM_DATADIR EM_LIBDIR EM_BUILD_ROOT EM_HIGHSCORE_DIR X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS MATHLIB GL_LIBS SDL_CONFIG SDL_CFLAGS SDL_LIBS ALLEGRO_CONFIG ALLEGRO_CFLAGS ALLEGRO_LIBS CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE subdirs CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE LN_S ECHO RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL EM_DATADIR EM_LIBDIR EM_BUILD_ROOT EM_HIGHSCORE_DIR X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS MATHLIB GL_LIBS SDL_CONFIG SDL_CFLAGS SDL_LIBS ALLEGRO_CONFIG ALLEGRO_CFLAGS ALLEGRO_LIBS CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS LIBOBJS LTLIBOBJS' + ac_subst_files='' + + # Initialize some variables set by options. +@@ -1959,7 +1958,6 @@ + + + +-subdirs="$subdirs libltdl" + + + ac_ext=c +@@ -3439,18 +3437,6 @@ + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + +- case $enable_ltdl_convenience in +- no) { { echo "$as_me:$LINENO: error: this package needs a convenience libltdl" >&5 +-echo "$as_me: error: this package needs a convenience libltdl" >&2;} +- { (exit 1); exit 1; }; } ;; +- "") enable_ltdl_convenience=yes +- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; +- esac +- LIBLTDL='${top_builddir}/''libltdl'/libltdlc.la +- LTDLINCL='-I${top_srcdir}/''libltdl' +- # For backwards non-gettext consistent compatibility... +- INCLTDL="$LTDLINCL" +- + # Check whether --enable-shared or --disable-shared was given. + if test "${enable_shared+set}" = set; then + enableval="$enable_shared" +@@ -11788,8 +11774,6 @@ + s,@CPP@,$CPP,;t t + s,@EGREP@,$EGREP,;t t + s,@LIBTOOL@,$LIBTOOL,;t t +-s,@INCLTDL@,$INCLTDL,;t t +-s,@LIBLTDL@,$LIBLTDL,;t t + s,@EM_DATADIR@,$EM_DATADIR,;t t + s,@EM_LIBDIR@,$EM_LIBDIR,;t t + s,@EM_BUILD_ROOT@,$EM_BUILD_ROOT,;t t diff --git a/pinball.png b/pinball.png new file mode 100644 index 0000000..ed70525 Binary files /dev/null and b/pinball.png differ diff --git a/pinball.spec b/pinball.spec new file mode 100644 index 0000000..79cf380 --- /dev/null +++ b/pinball.spec @@ -0,0 +1,168 @@ +Name: pinball +Version: 0.3.1 +Release: 4mamba +Summary: The Emilia Pinball Project +Group: Applications/Games +Vendor: openmamba +Distribution: openmamba +Packager: gil +URL: http://pinball.sourceforge.net/ +Source0: http://downloads.sourceforge.net/pinball/pinball-%{version}.tar.gz +Source1: %{name}.png +Patch0: %{name}-0.3.1-sys-ltdl.patch +Patch1: %{name}-0.3.1-hiscore.patch +Patch2: %{name}-0.3.1-gcc44.patch +Patch3: %{name}-0.3.1-make-3.82.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libaudio-devel +BuildRequires: libdirectfb-devel +BuildRequires: libgcc +BuildRequires: libGL-devel +BuildRequires: libGLU-devel +BuildRequires: libICE-devel +BuildRequires: libltdl-devel +BuildRequires: libSDL-devel +BuildRequires: libSDL_image-devel +BuildRequires: libSDL_mixer-devel +BuildRequires: libSM-devel +BuildRequires: libstdc++6-devel +BuildRequires: libX11-devel +BuildRequires: libXau-devel +BuildRequires: libxcb-devel +BuildRequires: libXdmcp-devel +BuildRequires: libXt-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRoot: %{_tmppath}/%{name}-%{version}-root +%description +The Emilia Pinball Project is a pinball simulator for Linux and other Unix systems. +There is only one level to play with, but it is very addictive. + +%package devel +Group: Development/Libraries +Summary: Libraries and headers for %{name} +Requires: %{name} = %{version} + +%description devel +The Emilia Pinball Project is a pinball simulator for Linux and other Unix systems. +There is only one level to play with, but it is very addictive. + +This package contains libraries and header files need for development. +This package contains files not necessary for the proper functioning of %{name}. +%prep + +%setup -q +%patch0 -p1 -z .sys-ltdl +%patch1 -p1 -z .hiscore +%patch2 -p1 +%patch3 -p1 +rm -fr libltdl + +# sigh stop autoxxx from rerunning because of our patches above. +touch aclocal.m4 +touch configure +touch `find -name Makefile.in` +touch pinconfig.h.in +# cleanup a bit +chmod -x ChangeLog */*.h */*.cpp data/*/Module*.cpp +%build +%configure \ + --datadir=%{_datadir}/games + +make CXXFLAGS="$RPM_OPT_FLAGS -DNULL=0" + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +# remove unused global higescorefiles: +rm -fr %{buildroot}%{_localstatedir} +#desktop +mkdir -p %{buildroot}%{_datadir}/pixmaps + +mkdir -p %{buildroot}%{_datadir}/applications + +install -m 644 %{S:1} %{buildroot}%{_datadir}/pixmaps + +cat > %{buildroot}%{_datadir}/applications/EmiliaPinball.desktop << EOF +[Desktop Entry] +Encoding=UTF-8 +Name=Pinball +Comment=Emilia Pinball game +Exec=/usr/bin/pinball +Icon=/usr/share/pixmaps/pinball.png +Terminal=false +Type=Application +Categories=Game;ArcadeGame; +EOF + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/pinball +%dir %{_libdir}/pinball +%{_libdir}/pinball/libModuleProfessor.la +%{_libdir}/pinball/libModuleProfessor.so.0 +%{_libdir}/pinball/libModuleProfessor.so.0.0.0 +%{_libdir}/pinball/libModuleTux.la +%{_libdir}/pinball/libModuleTux.so.0 +%{_libdir}/pinball/libModuleTux.so.0.0.0 +%{_datadir}/pixmaps/pinball.png +%{_datadir}/applications/EmiliaPinball.desktop +%dir %{_datadir}/games/pinball +%{_datadir}/games/pinball/*.pcx +%{_datadir}/games/pinball/*.xpm +%{_datadir}/games/pinball/*.png +%dir %{_datadir}/games/pinball/professor +%{_datadir}/games/pinball/professor/*.wav +%{_datadir}/games/pinball/professor/*.png +%{_datadir}/games/pinball/professor/*.pcx +%{_datadir}/games/pinball/professor/*.ogg +%{_datadir}/games/pinball/professor/*.pbl +%dir %{_datadir}/games/pinball/tux +%{_datadir}/games/pinball/tux/*.wav +%{_datadir}/games/pinball/tux/*.pcx +%{_datadir}/games/pinball/tux/*.pbl +%{_datadir}/games/pinball/tux/*.png +%{_datadir}/games/pinball/tux/*.ogg +%{_datadir}/games/pinball/tux/*.mid +%doc COPYING ChangeLog README + +%files devel +%defattr(-,root,root) +%{_bindir}/pinball-config +%dir %{_includedir}/pinball +%{_includedir}/pinball/*.h +%dir %{_libdir}/pinball +%{_libdir}/pinball/libModuleTest.so.0 +%{_libdir}/pinball/libModuleTest.so.0.0.0 +%{_libdir}/pinball/libModuleTest.la +%{_libdir}/pinball/libModuleTest.so +%{_libdir}/pinball/libModuleTux.so +%{_libdir}/pinball/libModuleProfessor.so +%{_libdir}/pinball/libModuleProfessor.a +%{_libdir}/pinball/libModuleTest.a +%{_libdir}/pinball/libModuleTux.a +%{_libdir}/pinball/libemilia_addon.a +%{_libdir}/pinball/libemilia_base.a +%{_libdir}/pinball/libemilia_pin.a + +%changelog +* Mon Aug 23 2010 Automatic Build System 0.3.1-4mamba +- automatic rebuild by autodist + +* Mon Jun 29 2009 Automatic Build System 0.3.1-3mamba +- automatic rebuild by autodist + +* Thu May 21 2009 Automatic Build System 0.3.1-2mamba +- automatic rebuild by autodist + +* Wed Sep 24 2008 gil 0.3.1-1mamba +- added package devel