mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: Add pingus.
* gnu/packages/games.scm (pingus): New variable. * gnu/packages/patches/pingus-sdl-libs-config.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
parent
95faa10714
commit
a83c6a6471
3 changed files with 72 additions and 0 deletions
|
@ -338,6 +338,7 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/perl-no-sys-dirs.patch \
|
gnu/packages/patches/perl-no-sys-dirs.patch \
|
||||||
gnu/packages/patches/perl-tk-x11-discover.patch \
|
gnu/packages/patches/perl-tk-x11-discover.patch \
|
||||||
gnu/packages/patches/petsc-fix-threadcomm.patch \
|
gnu/packages/patches/petsc-fix-threadcomm.patch \
|
||||||
|
gnu/packages/patches/pingus-sdl-libs-config.patch \
|
||||||
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
|
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
|
||||||
gnu/packages/patches/procps-make-3.82.patch \
|
gnu/packages/patches/procps-make-3.82.patch \
|
||||||
gnu/packages/patches/pybugz-encode-error.patch \
|
gnu/packages/patches/pybugz-encode-error.patch \
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
|
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
|
||||||
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
|
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
|
||||||
|
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -21,6 +22,8 @@ (define-module (gnu packages games)
|
||||||
#:use-module (guix licenses)
|
#:use-module (guix licenses)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages gettext)
|
#:use-module (gnu packages gettext)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
|
@ -28,6 +31,7 @@ (define-module (gnu packages games)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages guile)
|
#:use-module (gnu packages guile)
|
||||||
#:use-module (gnu packages libcanberra)
|
#:use-module (gnu packages libcanberra)
|
||||||
|
#:use-module (gnu packages libpng)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages readline)
|
#:use-module (gnu packages readline)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
|
@ -158,3 +162,49 @@ (define input-directories
|
||||||
them, called Jean Raymond, found an old church in which to hide, not knowing
|
them, called Jean Raymond, found an old church in which to hide, not knowing
|
||||||
that beneath its ruins lay buried an ancient evil.")
|
that beneath its ruins lay buried an ancient evil.")
|
||||||
(license gpl3+)))
|
(license gpl3+)))
|
||||||
|
|
||||||
|
(define-public pingus
|
||||||
|
(package
|
||||||
|
(name "pingus")
|
||||||
|
(version "0.7.6")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "http://pingus.googlecode.com/files/pingus-"
|
||||||
|
version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0q34d2k6anzqvb0mf67x85q92lfx9jr71ry13dlp47jx0x9i573m"))
|
||||||
|
(patches (list (search-patch "pingus-sdl-libs-config.patch")))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs `(("pkg-config" ,pkg-config)
|
||||||
|
("scons" ,scons)))
|
||||||
|
(inputs `(("sdl" ,sdl)
|
||||||
|
("sdl-image" ,sdl-image)
|
||||||
|
("sdl-mixer" ,sdl-mixer)
|
||||||
|
("mesa" ,mesa)
|
||||||
|
("libpng" ,libpng)
|
||||||
|
("boost" ,boost)))
|
||||||
|
(arguments
|
||||||
|
'(#:tests? #f ;no check target
|
||||||
|
#:phases
|
||||||
|
(alist-delete
|
||||||
|
'configure
|
||||||
|
(alist-replace
|
||||||
|
'install
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(zero? (system* "make" "install"
|
||||||
|
(string-append "PREFIX="
|
||||||
|
(assoc-ref outputs "out")))))
|
||||||
|
%standard-phases))))
|
||||||
|
(home-page "http://pingus.seul.org/welcome.html")
|
||||||
|
(synopsis "Lemmings clone")
|
||||||
|
(description
|
||||||
|
"Pingus is a free Lemmings-like puzzle game in which the player takes
|
||||||
|
command of a bunch of small animals and has to guide them through levels.
|
||||||
|
Since the animals walk on their own, the player can only influence them by
|
||||||
|
giving them commands, like build a bridge, dig a hole, or redirect all animals
|
||||||
|
in the other direction. Multiple such commands are necessary to reach the
|
||||||
|
level's exit. The game is presented in a 2D side view.")
|
||||||
|
;; Some source files are under bsd-3 and gpl2+ licenses.
|
||||||
|
(license gpl3+)))
|
||||||
|
|
21
gnu/packages/patches/pingus-sdl-libs-config.patch
Normal file
21
gnu/packages/patches/pingus-sdl-libs-config.patch
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
Do not assume the SDL_image and SLD_mixer libraries are installed at the same
|
||||||
|
prefix reported by sdl-config, but instead get flags from the pkg-config files
|
||||||
|
installed with these libraries.
|
||||||
|
|
||||||
|
--- a/SConscript 2011-12-24 15:46:47.000000000 -0600
|
||||||
|
+++ b/SConscript 2014-06-12 21:20:45.702668330 -0500
|
||||||
|
@@ -199,7 +199,13 @@
|
||||||
|
self.fatal_error += " * library 'png' not found\n"
|
||||||
|
|
||||||
|
def configure_sdl(self):
|
||||||
|
- if self.conf.CheckMyProgram('sdl-config'):
|
||||||
|
+ if self.conf.CheckMyProgram('pkg-config'):
|
||||||
|
+ self.conf.env.ParseConfig("pkg-config --cflags --libs sdl")
|
||||||
|
+ for sdllib in ['image', 'mixer']:
|
||||||
|
+ self.conf.env.ParseConfig("pkg-config --cflags --libs SDL_%s" % sdllib)
|
||||||
|
+ if not self.conf.CheckSDLLib(sdllib):
|
||||||
|
+ self.fatal_error += " * SDL library '%s' not found\n" % sdllib
|
||||||
|
+ elif self.conf.CheckMyProgram('sdl-config'):
|
||||||
|
self.conf.env.ParseConfig("sdl-config --cflags --libs | sed 's/-I/-isystem/g'")
|
||||||
|
for sdllib in ['image', 'mixer']:
|
||||||
|
if not self.conf.CheckSDLLib(sdllib):
|
Loading…
Reference in a new issue