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-tk-x11-discover.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/procps-make-3.82.patch			\ | ||||
|   gnu/packages/patches/pybugz-encode-error.patch		\ | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2013 John Darrington <jmd@gnu.org> | ||||
| ;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu> | ||||
| ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -21,6 +22,8 @@ | |||
|   #:use-module (guix licenses) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages boost) | ||||
|   #:use-module (gnu packages gettext) | ||||
|   #:use-module (gnu packages gl) | ||||
|   #:use-module (gnu packages glib) | ||||
|  | @ -28,6 +31,7 @@ | |||
|   #:use-module (gnu packages gtk) | ||||
|   #:use-module (gnu packages guile) | ||||
|   #:use-module (gnu packages libcanberra) | ||||
|   #:use-module (gnu packages libpng) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages readline) | ||||
|   #:use-module (gnu packages xorg) | ||||
|  | @ -158,3 +162,49 @@ expelled by the Catholic Church out of the Languedoc region in France.  One of | |||
| them, called Jean Raymond, found an old church in which to hide, not knowing | ||||
| that beneath its ruins lay buried an ancient evil.") | ||||
|     (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): | ||||
		Reference in a new issue