gnu: Add python-pygame.
* gnu/packages/game-development.scm (python-pygame): New variable.
This commit is contained in:
parent
d8841cc52e
commit
4bc37bf0c3
|
@ -31,6 +31,7 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
|
@ -41,8 +42,11 @@
|
|||
#:use-module (gnu packages gnunet)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages zip)
|
||||
#:use-module (gnu packages gl)
|
||||
|
@ -512,3 +516,102 @@ It offers the following features:
|
|||
OpenGL programs with character rendering services via an application programming
|
||||
interface (API).")
|
||||
(license (list license:expat license:lgpl2.1+))))
|
||||
|
||||
(define-public python-pygame
|
||||
(package
|
||||
(name "python-pygame")
|
||||
(version "1.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://pygame.org/ftp/pygame-"
|
||||
version "release.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cyl0ww4fjlf289pjxa53q4klyn55ajvkgymw0qrdgp4593raq52"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
#:tests? #f ; Tests require pygame to be installed first.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Set the paths to the dependencies manually because
|
||||
;; the configure script does not allow passing them as
|
||||
;; parameters. This also means we can skip the configure
|
||||
;; phase.
|
||||
(add-before 'build 'set-library-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((sdl-ref (assoc-ref inputs "sdl"))
|
||||
(font-ref (assoc-ref inputs "sdl-ttf"))
|
||||
(image-ref (assoc-ref inputs "sdl-image"))
|
||||
(mixer-ref (assoc-ref inputs "sdl-mixer"))
|
||||
(smpeg-ref (assoc-ref inputs "libsmpeg"))
|
||||
(png-ref (assoc-ref inputs "libpng"))
|
||||
(jpeg-ref (assoc-ref inputs "libjpeg"))
|
||||
(v4l-ref (assoc-ref inputs "v4l-utils"))
|
||||
(out-ref (assoc-ref outputs "out")))
|
||||
(substitute* "Setup.in"
|
||||
(("SDL = -I/usr/include/SDL")
|
||||
(string-append "SDL = -I" sdl-ref "/include/SDL -I.")))
|
||||
(substitute* "Setup.in"
|
||||
(("FONT = -lSDL_ttf")
|
||||
(string-append "FONT = -I" font-ref "/include/SDL -L"
|
||||
font-ref "/lib -lSDL_ttf")))
|
||||
(substitute* "Setup.in"
|
||||
(("IMAGE = -lSDL_image")
|
||||
(string-append "IMAGE = -I" image-ref "/include/SDL -L"
|
||||
image-ref "/lib -lSDL_image")))
|
||||
(substitute* "Setup.in"
|
||||
(("MIXER = -lSDL_mixer")
|
||||
(string-append "MIXER = -I" mixer-ref "/include/SDL -L"
|
||||
mixer-ref "/lib -lSDL_mixer")))
|
||||
(substitute* "Setup.in"
|
||||
(("SMPEG = -lsmpeg")
|
||||
(string-append "SMPEG = -I" smpeg-ref "/include/smpeg -L"
|
||||
smpeg-ref "/lib -lsmpeg")))
|
||||
(substitute* "Setup.in"
|
||||
(("PNG = -lpng")
|
||||
(string-append "PNG = -I" png-ref "/include -L"
|
||||
png-ref "/lib -lpng")))
|
||||
(substitute* "Setup.in"
|
||||
(("JPEG = -ljpeg")
|
||||
(string-append "JPEG = -I" jpeg-ref "/include -L"
|
||||
jpeg-ref "/lib -ljpeg")))
|
||||
(substitute* "Setup.in"
|
||||
(("^pypm") "#pypm"))
|
||||
(substitute* "src/movie.c")
|
||||
;; Create a path to a header file provided by v4l-utils.
|
||||
(system* "mkdir" "linux")
|
||||
(system* "ln" "--symbolic"
|
||||
(string-append v4l-ref "/include/libv4l1-videodev.h")
|
||||
"linux/videodev.h")
|
||||
(system* "ln" "--symbolic" "Setup.in" "Setup")))))))
|
||||
(native-inputs
|
||||
`(("python-setuptools" ,python-setuptools)))
|
||||
(inputs
|
||||
`(("sdl" ,sdl)
|
||||
("sdl-image" ,sdl-image)
|
||||
("sdl-mixer" ,sdl-mixer)
|
||||
("sdl-ttf" ,sdl-ttf)
|
||||
("sdl-gfx" ,sdl-gfx)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("libX11" ,libx11)
|
||||
("libsmpeg" ,libsmpeg)
|
||||
("portmidi" ,portmidi)
|
||||
("v4l-utils" ,v4l-utils)))
|
||||
(home-page "http://www.pygame.org")
|
||||
(synopsis "SDL wrapper for Python")
|
||||
(description "Pygame is a set of Python modules designed for writing games.
|
||||
Pygame adds functionality on top of the excellent SDL library. This allows you
|
||||
to create fully featured games and multimedia programs in the python language.")
|
||||
(license (list license:bsd-2
|
||||
;; python numeric license as listed by Debian looks like
|
||||
;; an Expat-style license with a warranty disclaimer for
|
||||
;; the U.S. government and the University of California.
|
||||
license:expat
|
||||
license:lgpl2.0+
|
||||
license:lgpl2.1+
|
||||
license:gpl3+
|
||||
license:psfl
|
||||
license:public-domain
|
||||
license:lgpl2.1+))))
|
||||
|
|
Loading…
Reference in New Issue