From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kei Kebreau Subject: Re: [PATCH] gnu: Add python-pygame. Date: Fri, 29 Jul 2016 17:28:52 -0400 Message-ID: <8760rorv57.fsf@openmailbox.org> References: <87bn1grvuq.fsf@openmailbox.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40169) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTFLJ-0004lL-2R for guix-devel@gnu.org; Fri, 29 Jul 2016 17:29:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bTFLE-0002Qd-R0 for guix-devel@gnu.org; Fri, 29 Jul 2016 17:29:15 -0400 Received: from mail.openmailbox.org ([62.4.1.34]:33875) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTFLE-0002QQ-G5 for guix-devel@gnu.org; Fri, 29 Jul 2016 17:29:12 -0400 In-Reply-To: <87bn1grvuq.fsf@openmailbox.org> (Kei Kebreau's message of "Fri, 29 Jul 2016 17:13:33 -0400") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Kei Kebreau writes: > The python-pygame patch as promised. Note that it requires the > application of the most recently submitted libsmpeg patch. Would anyone > else like to test this? :-) Please disregard the earlier patch. I had to add the other licenses and a description to the definition. Thanks to Roel for sharing a pygame definition! --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=0001-gnu-Add-python-pygame.patch Content-Transfer-Encoding: quoted-printable From=20af15e77bb84532124660a36ad884ee6434a6136a Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Fri, 29 Jul 2016 17:26:30 -0400 Subject: [PATCH] gnu: Add python-pygame. * gnu/packages/game-development.scm (python-pygame): New variable. =2D-- gnu/packages/game-development.scm | 105 ++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 105 insertions(+) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-developm= ent.scm index 7067a71..b0a281e 100644 =2D-- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -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,104 @@ It offers the following features: OpenGL programs with character rendering services via an application progr= amming 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 =3D -I/usr/include/SDL") + (string-append "SDL =3D -I" sdl-ref "/include/SDL -I."))) + (substitute* "Setup.in" + (("FONT =3D -lSDL_ttf") + (string-append "FONT =3D -I" font-ref "/include/SDL -L" + font-ref "/lib -lSDL_ttf"))) + (substitute* "Setup.in" + (("IMAGE =3D -lSDL_image") + (string-append "IMAGE =3D -I" image-ref "/include/SDL -L" + image-ref "/lib -lSDL_image"= ))) + (substitute* "Setup.in" + (("MIXER =3D -lSDL_mixer") + (string-append "MIXER =3D -I" mixer-ref "/include/SDL -L" + mixer-ref "/lib -lSDL_mixer"= ))) + (substitute* "Setup.in" + (("SMPEG =3D -lsmpeg") + (string-append "SMPEG =3D -I" smpeg-ref "/include/smpeg = -L" + smpeg-ref "/lib -lsmpeg"))) + (substitute* "Setup.in" + (("PNG =3D -lpng") + (string-append "PNG =3D -I" png-ref "/include -L" + png-ref "/lib -lpng"))) + (substitute* "Setup.in" + (("JPEG =3D -ljpeg") + (string-append "JPEG =3D -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"))))))) + ;; The default tries to install libraries into the python directo= ry. + ;; Using --install-lib, we can provide the correct path. + (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 g= ames. +Pygame adds functionality on top of the excellent SDL library. This allows= you +to create fully featured games and multimedia programs in the python langu= age.") + (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+)))) =2D-=20 2.9.2 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXm8qUAAoJEOal7jwZRnoN0NAP/A0dC8LE+VFdR5DqUTSvcpwk /MSp2JScehwYX3uV0L2/rel4pfYKdrmxc+SJi2/E0YV3wJ9te76BYtejtWR28Eht hgmogXXutta71+mQn2Z4aQ+lS3zbSFzMGs4YQ3tMBifUQtm7xTNCJseWDffldwIz u/5kwsp8mUs0ZSzYLvOZTe2Se71qGPA4QsnaLWGCEPoVtjoydt/2xEnmLQViC/8L sGXM4UauYfCoRogCVOE6v/P4abEQqj2IjaWXTAuv2kz0o689xiU0OBJwQcT+LKJh YY6q/CNYEUoWS1fCl2gRmwVZ/3bFMH3lfCGNgEvvqkkx2DRePLLEiNWOxbXawm8z q7RJyGZCG0owyZNbQtj3kb8BTLJwL3b0r6OOx3obadN1C2UmPqF1/053dFesXjfP K9FNkYBGE0AN07z6aim2vkMIVXoOwaVCYbndh7u684Lxbuc9wvuImBMgtLGztb22 wPTqJQikD1X2HAVk8vC9LyWosrvk2srINF4fZG6wYExaZc/PBWKbJs6YAqi0vhkp mnGpzndXMuhc/YQcSHUEmaQ4nh8fyn8Dk9gj8W7VgC00NGGQHnlZZ69WjNDT/4mP fuqnxJ2kGK/juQP07EyEdrojNLDMvOrdRLX3mdMgRmjg+6VxOkKy0EzCyTzt4IFa 8L991ZFJExM2i0VJ55in =bn3b -----END PGP SIGNATURE----- --==-=-=--