diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/bioinformatics.scm | 3 | ||||
-rw-r--r-- | gnu/packages/game-development.scm | 35 | ||||
-rw-r--r-- | gnu/packages/games.scm | 58 | ||||
-rw-r--r-- | gnu/packages/gnupg.scm | 4 | ||||
-rw-r--r-- | gnu/packages/guile.scm | 77 | ||||
-rw-r--r-- | gnu/packages/music.scm | 24 | ||||
-rw-r--r-- | gnu/packages/openstack.scm | 40 | ||||
-rw-r--r-- | gnu/packages/patches/mars-install.patch | 17 | ||||
-rw-r--r-- | gnu/packages/patches/mars-sfml-2.3.patch | 151 | ||||
-rw-r--r-- | gnu/packages/python.scm | 345 | ||||
-rw-r--r-- | gnu/packages/sdl.scm | 21 | ||||
-rw-r--r-- | gnu/packages/wicd.scm | 3 |
12 files changed, 755 insertions, 23 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 0e0a886cc0..4b7f76b9c6 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -617,6 +617,9 @@ gapped, local, and paired-end alignment modes.") ;; no "configure" script (alist-delete 'configure %standard-phases)))) (inputs `(("zlib" ,zlib))) + ;; Non-portable SSE instructions are used so building fails on platforms + ;; other than x86_64. + (supported-systems '("x86_64-linux")) (home-page "http://bio-bwa.sourceforge.net/") (synopsis "Burrows-Wheeler sequence aligner") (description diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index e8efc2c5a3..fcebf2b548 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Julian Graham <joolean@gmail.com> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages databases) + #:use-module (gnu packages doxygen) #:use-module (gnu packages glib) #:use-module (gnu packages gnunet) #:use-module (gnu packages guile) @@ -225,3 +227,36 @@ Originally created for use in video game prototypes, it can generate random sounds from presets such as \"explosion\" or \"powerup\".") (home-page "http://www.drpetter.se/project_sfxr.html") (license license:expat))) + +(define-public physfs + (package + (name "physfs") + (version "2.0.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://icculus.org/physfs/downloads/physfs-" + version ".tar.bz2")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sbbyqzqhyf0g68fcvvv20n3928j0x6ik1njmhn1yigvq2bj11na")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f)) ; no check target + (inputs + `(("zlib" ,zlib))) + (native-inputs + `(("doxygen" ,doxygen))) + (home-page "http://icculus.org/physfs") + (synopsis "File system abstraction library") + (description + "PhysicsFS is a library to provide abstract access to various archives. +It is intended for use in video games. For security, no file writing done +through the PhysicsFS API can leave a defined @emph{write directory}. For +file reading, a @emph{search path} with archives and directories is defined, +and it becomes a single, transparent hierarchical file system. So archive +files can be accessed in the same way as you access files directly on a disk, +and it makes it easy to ship a new archive that will override a previous +archive on a per-file basis.") + (license license:zlib))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7eb65bb23b..3f1f5a9c94 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,11 +32,14 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages admin) #:use-module (gnu packages audio) #:use-module (gnu packages boost) + #:use-module (gnu packages fribidi) + #:use-module (gnu packages game-development) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -44,6 +48,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libunwind) + #:use-module (gnu packages mp3) #:use-module (gnu packages image) #:use-module (gnu packages ncurses) #:use-module (gnu packages python) @@ -573,6 +578,59 @@ for common mesh file formats, and collision detection.") (home-page "http://irrlicht.sourceforge.net/") (license license:zlib))) +(define-public mars + ;; The latest release on SourceForge relies on an unreleased version of SFML + ;; with a different API, so we take the latest version from the official + ;; repository on Github. + (let ((commit "c855d04409") + (revision "1")) + (package + (name "mars") + (version (string-append "0.7.5." revision "." commit )) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thelaui/M.A.R.S..git") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "1r4c5gap1z2zsv4yjd34qriqkxaq4lb4rykapyzkkdf4g36lc3nh")) + (patches (list (search-patch "mars-sfml-2.3.patch") + (search-patch "mars-install.patch"))))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; There are no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-install-path + (lambda _ + (substitute* "src/CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_PREFIX\\}/games") + "${CMAKE_INSTALL_PREFIX}/bin")) + #t)) + (add-after 'unpack 'fix-data-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/System/settings.cpp" + (("C_dataPath = \"./data/\";") + (string-append "C_dataPath = \"" + (assoc-ref outputs "out") + "/share/games/marsshooter/\";"))) + #t))))) + (inputs + `(("mesa" ,mesa) + ("fribidi" ,fribidi) + ("taglib" ,taglib) + ("sfml" ,sfml))) + (home-page "http://marsshooter.org") + (synopsis "2D space shooter") + (description + "M.A.R.S. is a 2D space shooter with pretty visual effects and +attractive physics. Players can battle each other or computer controlled +enemies in different game modes such as space ball, death match, team death +match, cannon keep, and grave-itation pit.") + (license license:gpl3+)))) + (define minetest-data (package (name "minetest-data") diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 3bd87dccc6..333e88362b 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -193,14 +193,14 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.1.8") + (version "2.1.9") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) (sha256 (base32 - "18w14xp0ynzzwpklyplkzbrncds1hly4k2gjx115swch8qgd1f53")))) + "1dpp555glln6fldk72ad7lkrn8h3cr2bg714z5kfn2qrawx67dqw")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index f77c9dfece..e778bf0f6e 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages gettext) #:use-module (gnu packages gdbm) + #:use-module (gnu packages python) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -592,4 +593,80 @@ interface for reading articles in any format.") key-value cache and store.") (license lgpl3+))) +(define-public guile-wisp + (package + (name "guile-wisp") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (string-append "https://bitbucket.org/ArneBab/" + "wisp/downloads/wisp-" + version ".tar.gz")) + (sha256 + (base32 + "0y5fxacalkgbv9s71h58vdvm2h2ln3rk024dd0vszwcf953as5fq")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((system base compile) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-before + 'configure 'substitute-before-config + + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + ;; configure checks for guile-2.0, but ours is just named "guile" :) + (substitute* "configure" + (("guile-2.0") "guile")) + ;; Puts together some test files with /bin/bash hardcoded + (substitute* "Makefile.in" + (("/bin/bash") + (string-append bash "/bin/bash") )) + #t))) + + ;; auto compilation breaks, but if we set HOME to /tmp, + ;; that works ok + (add-before + 'check 'auto-compile-hacky-workaround + (lambda _ + (setenv "HOME" "/tmp") + #t)) + (replace + 'install + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (module-dir (string-append out "/share/guile/site/2.0")) + (language-dir + (string-append module-dir "/language/wisp")) + (guild (string-append (assoc-ref inputs "guile") + "/bin/guild"))) + ;; Make installation directories. + (mkdir-p module-dir) + (mkdir-p language-dir) + + ;; copy the source + (copy-file "wisp-scheme.scm" + (string-append module-dir "/wisp-scheme.scm")) + (copy-file "language/wisp/spec.scm" + (string-append language-dir "/spec.scm")) + + ;; compile to the destination + (compile-file "wisp-scheme.scm" + #:output-file (string-append + module-dir "/wisp-scheme.go")) + (compile-file "language/wisp/spec.scm" + #:output-file (string-append + language-dir "/spec.go")) + #t)))))) + (home-page "http://draketo.de/english/wisp") + (inputs + `(("guile" ,guile-2.0) + ("python" ,python))) + (synopsis "wisp is a whitespace to lisp syntax for Guile") + (description "wisp is a syntax for Guile which provides a Python-like +whitespace-significant language. It may be easier on the eyes for some +users and in some situations.") + (license gpl3+))) + ;;; guile.scm ends here diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 78310edf0e..7ee6ca1164 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -206,14 +206,22 @@ you to define complex tempo maps for entire songs or performances.") (assoc-ref %build-inputs "font-tex-gyre") "/share/fonts/opentype/")) #:phases - (alist-cons-before - 'configure 'prepare-configuration - (lambda _ - (substitute* "configure" - (("SHELL=/bin/sh") "SHELL=sh")) - (setenv "out" "") - #t) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'hardcode-path-to-gs + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "scm/backend-library.scm" + (("\\(search-executable '\\(\"gs\"\\)\\)") + (string-append "\"" + (assoc-ref inputs "ghostscript") + "/bin/gs" + "\"" ))) + #t)) + (add-before 'configure 'prepare-configuration + (lambda _ + (substitute* "configure" + (("SHELL=/bin/sh") "SHELL=sh")) + (setenv "out" "") + #t))))) (inputs `(("guile" ,guile-1.8) ("font-dejavu" ,font-dejavu) diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 39584d566f..4fd1c803ff 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -25,6 +25,46 @@ #:select (asl2.0)) #:use-module (guix packages)) +(define-public python-bandit + (package + (name "python-bandit") + (version "0.13.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/b/bandit/bandit-" + version ".tar.gz")) + (sha256 + (base32 + "03g3cflvrc99ncjd611iy5nnnscsc2vgnrx4mjaqyx8glbfw8y7g")))) + (build-system python-build-system) + (propagated-inputs + `(("python-appdirs" ,python-appdirs) + ("python-pyyaml" ,python-pyyaml) + ("python-six" ,python-six) + ("python-stevedore" ,python-stevedore))) + (inputs + `(("python-pbr" ,python-pbr) + ("python-setuptools" ,python-setuptools) + ;; Tests + ("python-fixtures" ,python-fixtures) + ("python-mock" ,python-mock) + ("python-testrepository" ,python-testrepository) + ("python-testscenarios" ,python-testscenarios) + ("python-testtools" ,python-testtools))) + (home-page "https://wiki.openstack.org/wiki/Security/Projects/Bandit") + (synopsis "Security oriented static analyser for python code.") + (description + "Bandit is a tool designed to find common security issues in Python code. +To do this Bandit processes each file, builds an AST from it, and runs +appropriate plugins against the AST nodes. Once Bandit has finished scanning +all the files it generates a report.") + (license asl2.0))) + +(define-public python2-bandit + (package-with-python2 python-bandit)) + (define-public python-debtcollector (package (name "python-debtcollector") diff --git a/gnu/packages/patches/mars-install.patch b/gnu/packages/patches/mars-install.patch new file mode 100644 index 0000000000..1e3964c141 --- /dev/null +++ b/gnu/packages/patches/mars-install.patch @@ -0,0 +1,17 @@ +Remove install target for non-existant directory. + +--- a/src/CMakeLists.txt 2015-09-13 20:52:28.517344327 +0200 ++++ b/src/CMakeLists.txt 2015-09-13 20:53:04.842453987 +0200 +@@ -122,12 +122,6 @@ + DESTINATION + ${CMAKE_INSTALL_PREFIX}/share/applications + ) +- install( +- FILES +- ${MARS_SOURCE_DIR}/resources/mars +- DESTINATION +- ${CMAKE_INSTALL_PREFIX}/share/menu +- ) + + else(UNIX) + # executable diff --git a/gnu/packages/patches/mars-sfml-2.3.patch b/gnu/packages/patches/mars-sfml-2.3.patch new file mode 100644 index 0000000000..01ec05ff36 --- /dev/null +++ b/gnu/packages/patches/mars-sfml-2.3.patch @@ -0,0 +1,151 @@ +This is a concatenation of the following two patches: + + https://github.com/jcowgill/M.A.R.S./commit/33d5affabf8ff84f2c028b9303c6a9e83cc824ad.patch + https://patch-diff.githubusercontent.com/raw/thelaui/M.A.R.S./pull/2.patch + +Their purpose is to allow Mars to be built against the latest version of SFML. + +From 33d5affabf8ff84f2c028b9303c6a9e83cc824ad Mon Sep 17 00:00:00 2001 +From: James Cowgill <james410@cowgill.org.uk> +Date: Sat, 9 May 2015 01:54:14 +0100 +Subject: [PATCH] Remove dependency on GLU - fixes build with SFML 2.3 + +--- + premake4.lua | 8 ++++---- + src/Shaders/postFX.cpp | 2 +- + src/System/window.cpp | 12 ++++++------ + 3 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/premake4.lua b/premake4.lua +index 023dddd..5af4495 100755 +--- a/premake4.lua ++++ b/premake4.lua +@@ -11,11 +11,11 @@ project "mars" + defines { "NDEBUG" }
+ flags { "Optimize" }
+ if os.get() == "windows" then
+- links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "glu32", "opengl32", "fribidi-0", "tag" }
++ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "opengl32", "fribidi-0", "tag" }
+ elseif os.get() == "macosx" then
+ links { "sfml-graphics.framework", "sfml-audio.framework", "sfml-system.framework", "sfml-window.framework", "opengl.framework", "fribidi", "tag" }
+ else
+- links { "GLU", "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }
++ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }
+ libdirs { "/usr/lib", "/usr/local/lib" }
+ end
+
+@@ -23,10 +23,10 @@ project "mars" + defines { "_DEBUG", "DEBUG" }
+ flags { "Symbols" }
+ if os.get() == "windows" then
+- links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "glu32", "opengl32", "fribidi-0", "tag" }
++ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "opengl32", "fribidi-0", "tag" }
+ elseif os.get() == "macosx" then
+ links { "sfml-graphics.framework", "sfml-audio.framework", "sfml-system.framework", "sfml-window.framework", "opengl.framework", "fribidi", "tag" }
+ else
+- links { "GLU", "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }
++ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }
+ libdirs { "/usr/lib", "/usr/local/lib" }
+ end
+diff --git a/src/Shaders/postFX.cpp b/src/Shaders/postFX.cpp +index 987f411..f767a47 100644 +--- a/src/Shaders/postFX.cpp ++++ b/src/Shaders/postFX.cpp +@@ -78,7 +78,7 @@ namespace postFX { + postFX_.loadFromFile(settings::C_dataPath + "shaders/bump.frag", sf::Shader::Fragment); + bumpMap_.create(SPACE_X_RESOLUTION*0.5f, SPACE_Y_RESOLUTION*0.5f); + glViewport(0,0,SPACE_X_RESOLUTION*0.5f,SPACE_Y_RESOLUTION*0.5f); +- gluOrtho2D(0, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0); ++ glOrtho(0, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0, -1, 1); + glEnable(GL_BLEND); + glMatrixMode(GL_MODELVIEW); + postFX_.setParameter("BumpMap", bumpMap_.getTexture()); +diff --git a/src/System/window.cpp b/src/System/window.cpp +index e9a099a..8e12dcc 100644 +--- a/src/System/window.cpp ++++ b/src/System/window.cpp +@@ -222,7 +222,7 @@ namespace window { + glLoadIdentity(); + + // Setup translation (according to left-upper corner) +- gluOrtho2D(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f); ++ glOrtho(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f, -1, 1); + + // probably improves performance... + glDisable(GL_LIGHTING); +@@ -247,7 +247,7 @@ namespace window { + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); +- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f); ++ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + +@@ -255,7 +255,7 @@ namespace window { + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); +- gluOrtho2D(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f); ++ glOrtho(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f, -1, 1); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + } +@@ -270,7 +270,7 @@ namespace window { + glLoadIdentity(); + setViewPort(); + +- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f); ++ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); +@@ -284,7 +284,7 @@ namespace window { + glLoadIdentity(); + setViewPort(); + +- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f); ++ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); +@@ -294,7 +294,7 @@ namespace window { + else { + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); +- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f); ++ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + } + +From a97d0d6a19b5b43e3c53081e36f1f1747b6674e6 Mon Sep 17 00:00:00 2001 +From: Sylvain BOILARD <boilard@crans.org> +Date: Wed, 23 Jan 2013 02:02:47 +0100 +Subject: [PATCH] Use sf::Shader::Bind() correctly after latest update of the + SFML's API. + +--- + src/System/window.cpp | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/System/window.cpp b/src/System/window.cpp +index e9a099a..3ffcf65 100644 +--- a/src/System/window.cpp ++++ b/src/System/window.cpp +@@ -307,13 +307,11 @@ namespace window { + window_.setActive(true); + glEnable(GL_TEXTURE_2D); + +- if (shader) +- shader->bind(); ++ sf::Shader::bind(shader); + + window_.draw(toBeDrawn, states); + +- if (shader) +- shader->unbind(); ++ sf::Shader::bind(NULL); + + window_.popGLStates(); + glPopMatrix(); diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ee9173b570..fc4fad6f98 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -32,7 +32,7 @@ #:use-module ((guix licenses) #:select (asl2.0 bsd-4 bsd-3 bsd-2 non-copyleft cc0 x11 x11-style gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ agpl3+ - isc psfl public-domain x11-style)) + isc psfl public-domain x11-style zpl2.1)) #:use-module ((guix licenses) #:select (expat zlib) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages attr) @@ -1566,6 +1566,44 @@ and many external plugins.") (define-public python2-pytest (package-with-python2 python-pytest)) +(define-public python-pytest-runner + (package + (name "python-pytest-runner") + (version "2.6.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/p/" + "pytest-runner/pytest-runner-" + version ".tar.gz")) + (sha256 + (base32 + "1nwcqx0l3fv52kv8526wy8ypzghbq96c96di318d98d3wh7a8xg7")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; The fancy way of setting the version with setuptools_scm does not + ;; seem to work here. + (add-after 'unpack 'set-version + (lambda _ + (substitute* "docs/conf.py" + (("version = setuptools_scm\\.get_version\\(root='\\.\\.')") + (string-append "version = \"" ,version "\""))) + #t))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://bitbucket.org/pytest-dev/pytest-runner") + (synopsis "Invoke py.test as a distutils command") + (description + "This package provides a @command{pytest-runner} command that +@file{setup.py} files can use to run tests.") + (license license:expat))) + +(define-public python2-pytest-runner + (package-with-python2 python-pytest-runner)) + (define-public python-scripttest (package (name "python-scripttest") @@ -1708,7 +1746,14 @@ protocol.") (define-public python2-subunit (package-with-python2 python-subunit)) -(define-public python-fixtures +;; Recent versions of python-fixtures need a recent version of python-pbr, +;; which needs a recent version of python-fixtures. To fix this circular +;; dependency, we keep old versions of python-fixtures and python-pbr to +;; bootstrap the whole thing: +;; - python-fixtures-0.3.16 is used to build python-pbr-0.11 +;; - python-pbr-0.11 is used to build python-fixtures +;; - python-fixtures is used to build python-pbr +(define-public python-fixtures-0.3.16 (package (name "python-fixtures") (version "0.3.16") @@ -1733,6 +1778,70 @@ protocol.") Python tests.") (license (list bsd-3 asl2.0)))) ; at user's option +(define-public python2-fixtures-0.3.16 + (package-with-python2 python-fixtures-0.3.16)) + +(define-public python-pbr-0.11 + (package + (name "python-pbr") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/p/pbr/pbr-" + version ".tar.gz")) + (sha256 + (base32 + "0v9gb7gyqf7q9s99l0nnjj9ww9b0jvyqlwm4d56pcyinxydddw6p")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;; Most tests seem to use the Internet. + (inputs + `(("python-fixtures-0.3.16" ,python-fixtures-0.3.16) + ("python-pip" ,python-pip) + ("python-setuptools" ,python-setuptools))) + (home-page "https://launchpad.net/pbr") + (synopsis "Change the default behavior of Python’s setuptools") + (description + "Python Build Reasonableness (PBR) is a library that injects some useful +and sensible default behaviors into your setuptools run.") + (license asl2.0))) + +(define-public python2-pbr-0.11 + (package-with-python2 python-pbr-0.11)) + +(define-public python-fixtures + (package + (name "python-fixtures") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/f/fixtures/fixtures-" + version ".tar.gz")) + (sha256 + (base32 + "1khpywdh91ijryhxjxiyyi5rmbimhl8hwbbf8lazhgzq6yxz6g5n")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six) + ("python-pbr-0.11" ,python-pbr-0.11))) + (inputs + `(("python-pip" ,python-pip) + ("python-setuptools" ,python-setuptools) + ;; Tests + ("python-testtools" ,python-testtools))) + (arguments + '(#:tests? #f)) ; no setup.py test command + (home-page "https://launchpad.net/python-fixtures") + (synopsis "Python test fixture library") + (description + "Fixtures provides a way to create reusable state, useful when writing +Python tests.") + (license (list bsd-3 asl2.0)))) ; at user's option + (define-public python2-fixtures (package-with-python2 python-fixtures)) @@ -1751,7 +1860,7 @@ Python tests.") "1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m")))) (build-system python-build-system) (propagated-inputs - `(("python-fixtures" ,python-fixtures) + `(("python-fixtures-0.3.16" ,python-fixtures-0.3.16) ("python-testtools" ,python-testtools))) (inputs `(("python-setuptools" ,python-setuptools) @@ -3679,6 +3788,204 @@ cluster without needing to write any wrapper code yourself.") (define-public python2-gridmap (package-with-python2 python-gridmap)) +(define-public python-pexpect + (package + (name "python-pexpect") + (version "3.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/p/" + "pexpect/pexpect-" version ".tar.gz")) + (sha256 + (base32 "1fp5gm976z7ghm8jw57463rj19cv06c8zw842prgyg788f6n3snz")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check (lambda _ (zero? (system* "nosetests"))))))) + (native-inputs + `(("python-nose" ,python-nose))) + (home-page "http://pexpect.readthedocs.org/") + (synopsis "Controlling interactive console applications") + (description + "Pexpect is a pure Python module for spawning child applications; +controlling them; and responding to expected patterns in their output. +Pexpect works like Don Libes’ Expect. Pexpect allows your script to spawn a +child application and control it as if a human were typing commands.") + (license isc))) + +(define-public python2-pexpect + (package-with-python2 python-pexpect)) + +(define-public python-setuptools-scm + (package + (name "python-setuptools-scm") + (version "1.8.0") + (source (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/s/" + "setuptools_scm/setuptools_scm-" + version ".tar.bz2")) + (sha256 + (base32 + "00p60v2yfqy1r58pjcx9wy6dvqd7wkpfs5z1dzwf7y75c1g3dgyx")))) + (build-system python-build-system) + (home-page "https://github.com/pypa/setuptools_scm/") + (synopsis "Manage Python package versions in SCM metadata") + (description + "setuptools_scm handles managing your Python package versions in +@dfn{software configuration management} (SCM) metadata instead of declaring +them as the version argument or in a SCM managed file.") + (license license:expat))) + +(define-public python2-setuptools-scm + (package-with-python2 python-setuptools-scm)) + +(define-public python-pathpy + (package + (name "python-pathpy") + (version "8.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/p/" + "path.py/path.py-" version ".tar.gz")) + (sha256 + (base32 "1p8s1l2vfkqhqxdhqlj0g1jjw4f1as2frr35sjcpjjpd5a89y41f")))) + (build-system python-build-system) + (propagated-inputs + `(("python-appdirs" ,python-appdirs))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "http://github.com/jaraco/path.py") + (synopsis "Python module wrapper for built-in os.path") + (description + "@code{path.py} implements path objects as first-class entities, allowing +common operations on files to be invoked on those path objects directly.") + (license license:expat))) + +(define-public python2-pathpy + (package-with-python2 python-pathpy)) + +(define-public python-pickleshare + (package + (name "python-pickleshare") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/p/" + "pickleshare/pickleshare-" version ".tar.gz")) + (sha256 + (base32 "11ljr90j3p6qswdrbl7p4cjb2i93f6vn0vx9anzpshsx0d2mggn0")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pathpy" ,python-pathpy))) + (home-page "https://github.com/vivainio/pickleshare") + (synopsis "Tiny key value database with concurrency support") + (description + "PickleShare is a small ‘shelve’-like datastore with concurrency support. +Like shelve, a PickleShareDB object acts like a normal dictionary. Unlike +shelve, many processes can access the database simultaneously. Changing a +value in database is immediately visible to other processes accessing the same +database. Concurrency is possible because the values are stored in separate +files. Hence the “database” is a directory where all files are governed by +PickleShare.") + (license license:expat))) + +(define-public python2-pickleshare + (package-with-python2 python-pickleshare)) + +(define-public python-simplegeneric + (package + (name "python-simplegeneric") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/s/" + "simplegeneric/simplegeneric-" version ".zip")) + (sha256 + (base32 "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw")))) + (build-system python-build-system) + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://cheeseshop.python.org/pypi/simplegeneric") + (synopsis "Python module for simple generic functions") + (description + "The simplegeneric module lets you define simple single-dispatch generic +functions, akin to Python’s built-in generic functions like @code{len()}, +@code{iter()} and so on. However, instead of using specially-named methods, +these generic functions use simple lookup tables, akin to those used by +e.g. @code{pickle.dump()} and other generic functions found in the Python +standard library.") + (license zpl2.1))) + +(define-public python2-simplegeneric + (package-with-python2 python-simplegeneric)) + +(define-public python-ipython-genutils + (package + (name "python-ipython-genutils") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/i/" + "ipython_genutils/ipython_genutils-" + version ".tar.gz")) + (sha256 + (base32 "19l2pp1c64ansr89l3cqh19jdi2ixhssdzx0vz4n6r52a6i281is")))) + (build-system python-build-system) + (arguments `(#:tests? #f)) ; no tests + (home-page "http://ipython.org") + (synopsis "Vestigial utilities from IPython") + (description + "This package provides retired utilities from IPython.") + (license bsd-3))) + +(define-public python2-ipython-genutils + (package-with-python2 python-ipython-genutils)) + +(define-public python-traitlets + (package + (name "python-traitlets") + (version "4.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/t/" + "traitlets/traitlets-" version ".tar.gz")) + (sha256 + (base32 + "0fr3w2xwb46c591dp7zw02bgf4d21mjy9g6rhwc9bwd4ji50n50b")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check (lambda _ (zero? (system* "nosetests"))))))) + (propagated-inputs + `(("python-ipython-genutils" ,python-ipython-genutils) + ("python-decorator" ,python-decorator))) + (native-inputs + `(("python-nose" ,python-nose))) + (home-page "http://ipython.org") + (synopsis "Configuration system for Python applications") + (description + "Traitlets is a framework that lets Python classes have attributes with +type checking, dynamically calculated default values, and ‘on change’ +callbacks. The package also includes a mechanism to use traitlets for +configuration, loading values from files or from command line arguments. This +is a distinct layer on top of traitlets, so you can use traitlets in your code +without using the configuration machinery.") + (license bsd-3))) + +(define-public python2-traitlets + (package-with-python2 python-traitlets)) + (define-public python-ipython (package (name "python-ipython") @@ -5268,3 +5575,35 @@ library.") `(("python2-cryptography" ,python2-cryptography) ,@(alist-delete "python-cryptography" (package-propagated-inputs pyopenssl))))))) + +(define-public python-pip + (package + (name "python-pip") + (version "7.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/p/pip/pip-" + version ".tar.gz")) + (sha256 + (base32 + "0xx4aypfgchxdknxq7gyqghd8wb221zrzyqlbabzm32jy237j16a")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools) + ("python-virtualenv" ,python-virtualenv) + ;; Tests + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-scripttest" ,python-scripttest))) + (home-page "https://pip.pypa.io/") + (synopsis + "Package manager for Python software") + (description + "Pip is a package manager for Python software, that finds packages on the +Python Package Index (PyPI).") + (license license:expat))) + +(define-public python2-pip + (package-with-python2 python-pip)) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 50fe01074d..1b64be024d 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> +;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,7 +43,8 @@ sdl-image sdl-mixer sdl-net - sdl-ttf)) + sdl-ttf + sdl-union)) (define sdl (package @@ -268,7 +270,10 @@ SDL.") (home-page "http://www.libsdl.org/projects/SDL_ttf/") (license zlib))) -(define sdl-union +(define* (sdl-union #:optional (packages (list sdl sdl-gfx sdl-net sdl-ttf + sdl-image sdl-mixer))) + "Return 'sdl-union' package which is a union of PACKAGES. +If PACKAGES are not specified, all SDL packages are used." (package (name "sdl-union") (version (package-version sdl)) @@ -283,12 +288,10 @@ SDL.") (((names . directories) ...) (union-build (assoc-ref %outputs "out") directories)))))) - (inputs `(("sdl" ,sdl) - ("sdl-gfx" ,sdl-gfx) - ("sdl-image" ,sdl-image) - ("sdl-mixer" ,sdl-mixer) - ("sdl-ttf" ,sdl-ttf))) - (synopsis "Union of all SDL libraries") + (inputs (map (lambda (package) + (list (package-name package) package)) + packages)) + (synopsis "Union of SDL libraries") (description "A union of SDL and its extension libraries. A union is required because sdl-config assumes that all of the headers and libraries are in the same @@ -316,7 +319,7 @@ directory.") ("libjpeg" ,libjpeg))) (inputs `(("guile" ,guile-2.0) - ("sdl-union" ,sdl-union))) + ("sdl-union" ,(sdl-union)))) (arguments '(#:configure-flags (list (string-append "--with-sdl-prefix=" diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm index 33953eebf0..cad078e061 100644 --- a/gnu/packages/wicd.scm +++ b/gnu/packages/wicd.scm @@ -180,7 +180,8 @@ ;; allow wicd-gtk to find its icons. (let ((hicolor (assoc-ref inputs "hicolor-icon-theme")) (name "/share/icons/hicolor/index.theme")) - (install-file (string-append hicolor name) out)) + (install-file (string-append hicolor name) + (string-append out "/share/icons/hicolor"))) #t)) %standard-phases)))) (synopsis "Network connection manager") |