pingus: new recipe; A lemmings-clone based on SDL
authorSander van Grieken <sander@3v8.net>
Wed, 21 Jan 2009 18:27:45 +0000 (19:27 +0100)
committerMichael 'Mickey' Lauer <mickey@vanille-media.de>
Wed, 21 Jan 2009 18:27:45 +0000 (19:27 +0100)
packages/pingus/files/pingus-gta012.sh [new file with mode: 0644]
packages/pingus/files/pingus.desktop [new file with mode: 0644]
packages/pingus/files/pingus.png [new file with mode: 0644]
packages/pingus/files/sconstruct.diff [new file with mode: 0644]
packages/pingus/pingus_0.7.2.bb [new file with mode: 0644]

diff --git a/packages/pingus/files/pingus-gta012.sh b/packages/pingus/files/pingus-gta012.sh
new file mode 100644 (file)
index 0000000..70346c5
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+xrandr -o 3
+pingus.bin --fast-mode -g 640x480 --disable-music --disable-sound --fullscreen
+xrandr -o 0
diff --git a/packages/pingus/files/pingus.desktop b/packages/pingus/files/pingus.desktop
new file mode 100644 (file)
index 0000000..2c70038
--- /dev/null
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Type=Application
+Version=0.7.2
+Name=Pingus
+GenericName=Lemmings Clone
+Comment=Pingus is a free Lemmings-like game
+Icon=pingus
+Exec=pingus -f -g 640x480 -m -s 
+Terminal=false
+StartupNotify=false
+Categories=Application;Games;ArcadeGame;
diff --git a/packages/pingus/files/pingus.png b/packages/pingus/files/pingus.png
new file mode 100644 (file)
index 0000000..020b0eb
Binary files /dev/null and b/packages/pingus/files/pingus.png differ
diff --git a/packages/pingus/files/sconstruct.diff b/packages/pingus/files/sconstruct.diff
new file mode 100644 (file)
index 0000000..0ca3c36
--- /dev/null
@@ -0,0 +1,49 @@
+--- a/SConstruct       2007-10-30 10:23:37.000000000 +0100
++++ b/SConstruct       2008-09-30 01:38:17.000000000 +0200
+@@ -334,8 +334,8 @@
+ def DefineOptions(filename, args):
+    opts = Options(filename, args)
+-   opts.Add('CC', 'C Compiler', 'gcc')
+-   opts.Add('CXX', 'C++ Compiler', 'g++')
++   opts.Add('CC', 'C Compiler', os.environ['CC'])
++   opts.Add('CXX', 'C++ Compiler', os.environ['CXX'])
+ #   opts.Add('debug', 'Build with debugging options', 0)
+ #   opts.Add('profile', 'Build with profiling support', 0)
+@@ -526,14 +526,15 @@
+     ARGUMENTS = {}
\f\f
+ if not ('configure' in COMMAND_LINE_TARGETS):
+-    if ARGUMENTS != {}:
+-        print "Error: You must not supply arguments to the compile step."
+-        print "Use:"
+-        print ""
+-        print "  scons configure [ARGUMENTS]..."
+-        print ""
+-        print "If you want to change the build configuration."
+-        os.sys.exit(1)
++#    if ARGUMENTS != {}:
++#        print "Error: You must not supply arguments to the compile step."
++#        print ARGUMENTS
++#        print "Use:"
++#        print ""
++#        print "  scons configure [ARGUMENTS]..."
++#        print ""
++#        print "If you want to change the build configuration."
++#        os.sys.exit(1)
+         
+     opts = DefineOptions("config.py", {})
+     env = Environment(options = opts)
+@@ -541,6 +542,11 @@
+     opts.Update(env)
+     env['CPPPATH'] += ['.', 'src/']
++    env['ENV']['CXX'] = os.environ['CXX']
++    env['ENV']['CC'] = os.environ['CC']
++    env['ENV']['CPP'] = os.environ['CPP']
++    env['ENV']['RANLIB'] = os.environ['RANLIB']
++    env['ENV']['PATH'] = os.environ['PATH']
+     Default(env.Program('pingus', pingus_sources + env['optional_sources']))
+     Clean('pingus', ['config.py', 'config.h'])
diff --git a/packages/pingus/pingus_0.7.2.bb b/packages/pingus/pingus_0.7.2.bb
new file mode 100644 (file)
index 0000000..610824f
--- /dev/null
@@ -0,0 +1,39 @@
+DESCRIPTION = "Pingus is a free Lemmings clone."
+DEPENDS = "virtual/libsdl libsdl-image libsdl-mixer boost libpng"
+LICENSE = "GPL"
+HOMEPAGE = "http://pingus.seul.org/"
+SECTION = "x11/games"
+PV = "0.7.2"
+PR = "r0"
+
+inherit scons
+
+SRC_URI = "\
+  http://pingus.seul.org/files/pingus-0.7.2.tar.bz2 \
+  file://sconstruct.diff;patch=1 \
+  file://pingus.desktop \
+  file://pingus.png \
+  file://pingus-gta012.sh \
+"
+S = "${WORKDIR}/pingus-0.7.2"
+
+do_install() {
+       install -d ${D}${bindir}
+        install -d ${D}${datadir}/pingus
+       install -d ${D}${datadir}/pixmaps
+       install -d ${D}${datadir}/applications
+       install -m 0644 ${WORKDIR}/pingus.png ${D}${datadir}/pixmaps
+       cp -a ${S}/data ${D}/${datadir}/pingus
+       install -m 0644 ${WORKDIR}/pingus.desktop ${D}${datadir}/applications
+
+       # specialized start script for OM devices
+       if test "${MACHINE}" = om-gta01 || test "${MACHINE}" = om-gta02 ; then
+               install -m 0755 ${WORKDIR}/pingus-gta012.sh ${D}${bindir}/pingus
+               install -m 0755 ${S}/pingus ${D}${bindir}/pingus.bin
+       else
+               install -m 0755 ${S}/pingus ${D}${bindir}/pingus
+       fi
+}
+
+FILES_${PN} += "${datadir}"
+