gnu: Add pinball.

* gnu/packages/games.scm (pinball): New variable.
* gnu/packages/patches/pinball-const-fix.patch,
  gnu/packages/patches/pinball-cstddef.patch,
  gnu/packages/patches/pinball-missing-separators.patch,
  gnu/packages/patches/pinball-src-deps.patch,
  gnu/packages/patches/pinball-system-ltdl.patch: New patches.
* gnu-system.am (dist_patch_DATA): Add them.
This commit is contained in:
Eric Bavier 2016-01-31 23:22:38 -06:00
parent 917708c276
commit e3f755f44c
7 changed files with 236 additions and 1 deletions

View File

@ -655,6 +655,11 @@ dist_patch_DATA = \
gnu/packages/patches/perl-module-pluggable-search.patch \
gnu/packages/patches/perl-source-date-epoch.patch \
gnu/packages/patches/pidgin-add-search-path.patch \
gnu/packages/patches/pinball-const-fix.patch \
gnu/packages/patches/pinball-cstddef.patch \
gnu/packages/patches/pinball-missing-separators.patch \
gnu/packages/patches/pinball-src-deps.patch \
gnu/packages/patches/pinball-system-ltdl.patch \
gnu/packages/patches/pingus-sdl-libs-config.patch \
gnu/packages/patches/plink-1.07-unclobber-i.patch \
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2014, 2015 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
@ -1853,3 +1853,41 @@ usable with any game controller that has at least 4 buttons, theming support,
and a game metadata scraper.")
(home-page "http://www.emulationstation.org")
(license license:expat)))
(define-public pinball
(package
(name "pinball")
(version "0.3.1")
(source
(origin (method url-fetch)
(uri (string-append "mirror://sourceforge/pinball/pinball/"
"pinball-" version "/"
"pinball-" version ".tar.gz"))
(sha256
(base32
"1f2whlrfidwfh8lvr8cspcyirc6840r5d1ajm7x99qmngygrhixs"))
(patches (map search-patch
'("pinball-const-fix.patch"
"pinball-cstddef.patch"
"pinball-missing-separators.patch"
"pinball-src-deps.patch"
"pinball-system-ltdl.patch")))))
(build-system gnu-build-system)
(inputs
`(("glu" ,glu)
("mesa" ,mesa)
("sdl" ,sdl)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)))
(arguments
'(#:configure-flags
(list (string-append "CPPFLAGS=-I"
(assoc-ref %build-inputs "sdl-image")
"/include/SDL -I"
(assoc-ref %build-inputs "sdl-mixer")
"/include/SDL"))))
(home-page "http://pinball.sourceforge.net")
(synopsis "Pinball simulator")
(description "The Emilia Pinball Project is a pinball simulator. There
are only two levels to play with, but they are very addictive.")
(license license:gpl2)))

View File

@ -0,0 +1,11 @@
--- pinball-0.3.1/base/Config.cpp 2009-10-13 18:33:38.000000000 +0200
+++ pinball-0.3.1/base/Config.cpp 2009-10-13 18:37:12.000000000 +0200
@@ -416,7 +416,7 @@
m_sDataDir = string(EM_DATADIR) + "/";
m_sExeDir = "./";
if ( *( m_sDataDir.c_str() ) != '/' ) {
- char* ptr=0;
+ const char* ptr=0;
char* ptrw = 0;
//cout<<"relative to exe file"<<endl;
ptr = (strrchr(argv0,'/')); // unix /cygwin / check win32

View File

@ -0,0 +1,38 @@
Description: Add missing inlcudes of cstddef, fixing FTBFS13.1
Author: Regis Boudin <regis@debian.org>
Bug-Debian: http://bugs.debian.org/624953
Bug-Debian: http://bugs.debian.org/640726
--- pinball-0.3.1/base/Behavior.cpp
+++ pinball-0.3.1/base/Behavior.cpp
@@ -10,6 +10,8 @@
#include "Behavior.h"
#include "Group.h"
+#include <cstddef>
+
Behavior::Behavior() {
//EM_COUT("Behavior::Behavior", 1);
p_Light = NULL;
--- pinball-0.3.1/base/SignalSender.cpp
+++ pinball-0.3.1/base/SignalSender.cpp
@@ -12,6 +12,8 @@
#include "Group.h"
#include "Behavior.h"
+#include <cstddef>
+
SignalSender * SignalSender::p_SignalSender = NULL;
SignalSender::SignalSender() {
--- pinball-0.3.1/base/BehaviorVisitor.cpp
+++ pinball-0.3.1/base/BehaviorVisitor.cpp
@@ -10,6 +10,8 @@
#include "Behavior.h"
#include "Group.h"
+#include <cstddef>
+
BehaviorVisitor * BehaviorVisitor::p_BehaviorVisitor = NULL;
BehaviorVisitor::BehaviorVisitor() {

View File

@ -0,0 +1,101 @@
From: Markus Koschany <apo@gambaru.de>
Date: Sun, 3 Aug 2014 22:50:46 +0200
Subject: missing separators
Bug: https://bugs.debian.org/750082
---
src/Makefile.am | 14 +++++++-------
src/Makefile.in | 14 +++++++-------
test/Makefile.am | 2 +-
test/Makefile.in | 2 +-
4 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index fbd7e8f..96768d3 100755
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -29,7 +29,7 @@ Script.cpp \
StateBehavior.cpp \
Table.cpp
-dnl libemilia_pin_la_SOURCES = $(libemilia_pin_a_SOURCES)
+# libemilia_pin_la_SOURCES = $(libemilia_pin_a_SOURCES)
pininclude_HEADERS = \
ArmBehavior.h \
@@ -56,10 +56,10 @@ Table.h
# libemilia_pin.a libemilia_addon.a libemilia_base.a libltdlc.a
wpinball.exe: ${pinball_OBJECTS} ${pinball_DEPENDENCIES}
${GCCLOCALDIR}g++ -g -W -Wall -O2 -o$@ $^ \
- -lSDL_mixer -lvorbisfile -lvorbis -logg -lsmpeg \
- -lSDL_image -lSDLmain -lSDL \
- -lglu32 -lopengl32 -ljpeg -lpng \
- -lwinmm -luser32 -lgdi32 -ldxguid \
- -lmingw32 -lSDLmain -lSDL -mwindows \
- -L${GCCLOCALDIR}../lib
+ -lSDL_mixer -lvorbisfile -lvorbis -logg -lsmpeg \
+ -lSDL_image -lSDLmain -lSDL \
+ -lglu32 -lopengl32 -ljpeg -lpng \
+ -lwinmm -luser32 -lgdi32 -ldxguid \
+ -lmingw32 -lSDLmain -lSDL -mwindows \
+ -L${GCCLOCALDIR}../lib
# !-rzr : # have to solve it later # -lstdc++
diff --git a/src/Makefile.in b/src/Makefile.in
index ea7651b..8e95cd6 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -505,7 +505,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
uninstall-pinincludeHEADERS uninstall-pinlibLIBRARIES
-dnl libemilia_pin_la_SOURCES = $(libemilia_pin_a_SOURCES)
+ dnl 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
@@ -514,12 +514,12 @@ dnl libemilia_pin_la_SOURCES = $(libemilia_pin_a_SOURCES)
# libemilia_pin.a libemilia_addon.a libemilia_base.a libltdlc.a
wpinball.exe: ${pinball_OBJECTS} ${pinball_DEPENDENCIES}
${GCCLOCALDIR}g++ -g -W -Wall -O2 -o$@ $^ \
- -lSDL_mixer -lvorbisfile -lvorbis -logg -lsmpeg \
- -lSDL_image -lSDLmain -lSDL \
- -lglu32 -lopengl32 -ljpeg -lpng \
- -lwinmm -luser32 -lgdi32 -ldxguid \
- -lmingw32 -lSDLmain -lSDL -mwindows \
- -L${GCCLOCALDIR}../lib
+ -lSDL_mixer -lvorbisfile -lvorbis -logg -lsmpeg \
+ -lSDL_image -lSDLmain -lSDL \
+ -lglu32 -lopengl32 -ljpeg -lpng \
+ -lwinmm -luser32 -lgdi32 -ldxguid \
+ -lmingw32 -lSDLmain -lSDL -mwindows \
+ -L${GCCLOCALDIR}../lib
# !-rzr : # have to solve it later # -lstdc++
# 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.
diff --git a/test/Makefile.am b/test/Makefile.am
index d87cf34..ea3ffc9 100755
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -4,7 +4,7 @@ testlibdir = $(EM_LIBDIR)
testdatadir = $(pkgdatadir)
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
+# 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@
diff --git a/test/Makefile.in b/test/Makefile.in
index 6ba2646..47654dc 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -621,7 +621,7 @@ uninstall-am: uninstall-info-am uninstall-testlibLTLIBRARIES
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:

View File

@ -0,0 +1,24 @@
Fixes error during make:
"No rule to make target '../src/libemilia_pin.a', needed by 'pinball'. Stop."
--- pinball-0.3.1/src/Makefile.in 2003-12-10 05:34:47.000000000 -0600
+++ pinball-0.3.1/src/Makefile.in 2016-01-31 22:29:13.134519889 -0600
@@ -116,7 +116,7 @@
INCLUDES = -I../base -I../addon @INCLTDL@
-pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@
+pinball_LDADD = libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@
pinball_LDFLAGS = -export-dynamic
pinball_SOURCES = Pinball.cpp
@@ -174,7 +174,7 @@
am_pinball_OBJECTS = Pinball.$(OBJEXT)
pinball_OBJECTS = $(am_pinball_OBJECTS)
-pinball_DEPENDENCIES = ../src/libemilia_pin.a ../addon/libemilia_addon.a \
+pinball_DEPENDENCIES = libemilia_pin.a ../addon/libemilia_addon.a \
../base/libemilia_base.a
DEFS = @DEFS@

View File

@ -0,0 +1,18 @@
--- pinball-0.3.1/configure.ac 2010-01-14 17:26:25.000000000 +0100
+++ pinball-0.3.1/configure.ac 2010-01-14 17:26:25.000000000 +0100
@@ -22,14 +22,12 @@
[ --with-cxxflags=CXXFLAGS use CXXFLAGS as compile time arguments.],
[CXXFLAGS=$with_cxxflags; export CXXFLAGS])
-AC_CONFIG_SUBDIRS(libltdl)
-
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_LIBTOOL_DLOPEN
-AC_LIBLTDL_CONVENIENCE
+LTDL_INIT
AC_PROG_LIBTOOL
AC_SUBST(INCLTDL)