aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/bioinformatics.scm3
-rw-r--r--gnu/packages/game-development.scm35
-rw-r--r--gnu/packages/games.scm58
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/guile.scm77
-rw-r--r--gnu/packages/music.scm24
-rw-r--r--gnu/packages/openstack.scm40
-rw-r--r--gnu/packages/patches/mars-install.patch17
-rw-r--r--gnu/packages/patches/mars-sfml-2.3.patch151
-rw-r--r--gnu/packages/python.scm345
-rw-r--r--gnu/packages/sdl.scm21
-rw-r--r--gnu/packages/wicd.scm3
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")