aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2016-07-31 23:27:03 -0400
committerMark H Weaver <mhw@netris.org>2016-07-31 23:27:03 -0400
commit3d337bbc3916b95c0197ebbb890875f0439eec53 (patch)
treeffd4098c3ec8e7af659f2e70448e45180b2a7cfb
parent932b2ea2064ec8ab8e81b959bd92f6138974fd39 (diff)
parent4e8efc15fb9082fb80726a2a37c4e6ebb13552fa (diff)
downloadgnu-guix-3d337bbc3916b95c0197ebbb890875f0439eec53.tar
gnu-guix-3d337bbc3916b95c0197ebbb890875f0439eec53.tar.gz
Merge branch 'master' into core-updates
-rw-r--r--emacs/guix-main.scm20
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/bioinformatics.scm4
-rw-r--r--gnu/packages/education.scm4
-rw-r--r--gnu/packages/game-development.scm103
-rw-r--r--gnu/packages/games.scm172
-rw-r--r--gnu/packages/gnome.scm30
-rw-r--r--gnu/packages/gnunet.scm4
-rw-r--r--gnu/packages/golang.scm154
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/linux.scm11
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/packages/maths.scm4
-rw-r--r--gnu/packages/music.scm11
-rw-r--r--gnu/packages/patches/beets-image-test-failure.patch46
-rw-r--r--gnu/packages/patches/tuxpaint-stamps-path.patch24
-rw-r--r--gnu/packages/protobuf.scm4
-rw-r--r--gnu/packages/skarnet.scm107
-rw-r--r--gnu/packages/video.scm38
-rw-r--r--guix/scripts.scm9
20 files changed, 667 insertions, 88 deletions
diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm
index cbf7cdc474..040932f307 100644
--- a/emacs/guix-main.scm
+++ b/emacs/guix-main.scm
@@ -46,6 +46,7 @@
(guix)
(guix combinators)
(guix git-download)
+ (guix grafts)
(guix packages)
(guix profiles)
(guix licenses)
@@ -930,15 +931,16 @@ OUTPUTS is a list of package outputs (may be an empty list)."
(new-manifest (manifest-perform-transaction
manifest transaction)))
(unless (and (null? install) (null? remove))
- (with-store store
- (set-build-options store
- #:print-build-trace #f
- #:use-substitutes? use-substitutes?)
- (show-manifest-transaction store manifest transaction
- #:dry-run? dry-run?)
- (build-and-use-profile store profile new-manifest
- #:use-substitutes? use-substitutes?
- #:dry-run? dry-run?)))))
+ (parameterize ((%graft? (not dry-run?)))
+ (with-store store
+ (set-build-options store
+ #:print-build-trace #f
+ #:use-substitutes? use-substitutes?)
+ (show-manifest-transaction store manifest transaction
+ #:dry-run? dry-run?)
+ (build-and-use-profile store profile new-manifest
+ #:use-substitutes? use-substitutes?
+ #:dry-run? dry-run?))))))
(define (delete-generations* profile generations)
"Delete GENERATIONS from PROFILE.
diff --git a/gnu/local.mk b/gnu/local.mk
index b91a925def..0428cd3a66 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -446,7 +446,6 @@ dist_patch_DATA = \
%D%/packages/patches/avidemux-install-to-lib.patch \
%D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/bash-completion-directories.patch \
- %D%/packages/patches/beets-image-test-failure.patch \
%D%/packages/patches/bigloo-gc-shebangs.patch \
%D%/packages/patches/binutils-ld-new-dtags.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
@@ -791,6 +790,7 @@ dist_patch_DATA = \
%D%/packages/patches/tophat-build-with-later-seqan.patch \
%D%/packages/patches/torsocks-dns-test.patch \
%D%/packages/patches/totem-debug-format-fix.patch \
+ %D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \
%D%/packages/patches/unzip-CVE-2014-8141.patch \
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 29fb3be0db..9cdc692d07 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1568,7 +1568,7 @@ identify enrichments with functional annotations of the genome.")
(define-public diamond
(package
(name "diamond")
- (version "0.8.16")
+ (version "0.8.17")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1577,7 +1577,7 @@ identify enrichments with functional annotations of the genome.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "10p4lm88fk2gy2mqxhfllyfig8zyd2l7hwmqkhlilrv9h76bm71n"))))
+ "1479sz0phddv40kx4xv95g2q7m3wy52smjb4apn0xpn2gqgj4nrx"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no "check" target
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 834cd6baf6..fde1e1b342 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -65,5 +65,7 @@
(home-page "http://www.stellarium.org/")
(synopsis "3D sky viewer")
(description "Stellarium is a planetarium. It shows a realistic sky in
-3D, just like what you see with the naked eye, binoculars, or a telescope.")
+3D, just like what you see with the naked eye, binoculars, or a telescope. It
+can be used to control telescopes over a serial port for tracking celestial
+objects.")
(license license:gpl2+)))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 7067a714e7..0bfd0c5d30 100644
--- 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,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+))))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3b193eb21c..07a419a8ca 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -55,12 +55,15 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages fltk)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages libcanberra)
@@ -70,6 +73,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages netpbm)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages xorg)
@@ -94,9 +98,7 @@
#:use-module (gnu packages video)
#:use-module (gnu packages xml)
#:use-module (gnu packages tcl)
- #:use-module (gnu packages fribidi)
#:use-module (gnu packages xdisorg)
- #:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
#:use-module (guix build-system cmake)
@@ -1871,14 +1873,14 @@ and a game metadata scraper.")
(define openttd-engine
(package
(name "openttd-engine")
- (version "1.6.0")
+ (version "1.6.1")
(source
(origin (method url-fetch)
(uri (string-append "http://binaries.openttd.org/releases/"
version "/openttd-" version "-source.tar.xz"))
(sha256
(base32
- "1cjf9gz7d0sn7893wv9d00q724sxv3d81bgb0c5f5ppz2ssyc4jc"))
+ "1ak32fj5xkk2fvmm3g8i7wzmk4bh2ijsp8fzvvw5wj6365p9j24v"))
(modules '((guix build utils)))
(snippet
;; The DOS port contains proprietary software.
@@ -1918,7 +1920,8 @@ and a game metadata scraper.")
passengers by land, water and air. It is a re-implementation of Transport
Tycoon Deluxe with many enhancements including multiplayer mode,
internationalization support, conditional orders and the ability to clone,
-autoreplace and autoupdate vehicles.")
+autoreplace and autoupdate vehicles. This package only includes the game engine. When you start
+it you will be prompted to download a graphics set.")
(home-page "http://openttd.org/")
;; This package is GPLv2, except for a few files located in
;; "src/3rdparty/" which are under the 3-clause BSD, LGPLv2.1+ and Zlib
@@ -2531,3 +2534,162 @@ safety of the Chromium vessel.")
;; Clarified Artistic License for everything but sound, which is covered
;; by the Expat License.
(license (list license:clarified-artistic license:expat))))
+
+(define-public tuxpaint
+ (package
+ (name "tuxpaint")
+ (version "0.9.22") ;keep VER_DATE below in sync
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/tuxpaint/tuxpaint/"
+ version "/tuxpaint-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qrbrdck9yxpcg3si6jb9i11w8lw9h4hqad0pfaxgyiniqpr7gca"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove win32 directory which contains binary dll's and the
+ ;; deprecated visualc directory.
+ (for-each delete-file-recursively '("win32" "visualc"))
+ (substitute* "Makefile"
+ ;; Do not rely on $(GPERF) being an absolute file name
+ (("\\[ -x \\$\\(GPERF\\) \\]")
+ "$(GPERF) --version >/dev/null 2>&1"))))
+ (patches (search-patches "tuxpaint-stamps-path.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gperf" ,gperf)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("fribidi" ,fribidi)
+ ("gettext" ,gnu-gettext)
+ ("libpng" ,libpng)
+ ("librsvg" ,librsvg)
+ ("libpaper" ,libpaper)
+ ("netpbm" ,netpbm)
+ ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-ttf sdl-image)))))
+ ;; TODO: Use system fonts rather than those in data/fonts
+ (arguments
+ `(#:make-flags `("VER_DATE=2014-08-23"
+ "GPERF=gperf" "CC=gcc"
+ "SDL_PCNAME=sdl SDL_image SDL_mixer SDL_ttf"
+ ,(string-append "PREFIX=" %output)
+ "GNOME_PREFIX=$(PREFIX)"
+ "COMPLETIONDIR=$(PREFIX)/etc/bash_completion.d")
+ #:tests? #f ;No tests
+ #:phases (modify-phases %standard-phases
+ (delete 'configure) ;no configure phase
+ (add-after 'install 'fix-import
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (net (assoc-ref inputs "netpbm"))
+ (tpi (string-append out "/bin/tuxpaint-import")))
+ (substitute* tpi
+ ;; Point to installation prefix so that the default
+ ;; configure file is found.
+ (("/usr/local") out))
+ ;; tuxpaint-import uses a bunch of programs from
+ ;; netpbm, so make sure it knows where those are
+ (wrap-program tpi
+ `("PATH" ":" prefix
+ (,(string-append net "/bin"))))))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "TUXPAINT_STAMPS_PATH")
+ (files '("share/tuxpaint/stamps")))))
+ (home-page "http://www.tuxpaint.org")
+ (synopsis "Drawing software for children")
+ (description
+ "Tux Paint is a free drawing program designed for young children (kids
+ages 3 and up). It has a simple, easy-to-use interface; fun sound effects;
+and an encouraging cartoon mascot who helps guide children as they use the
+program. It provides a blank canvas and a variety of drawing tools to help
+your child be creative.")
+ (license license:gpl2+)))
+
+(define-public tuxpaint-stamps
+ (package
+ (name "tuxpaint-stamps")
+ (version "2014.08.23")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/tuxpaint/tuxpaint-stamps/"
+ (string-map (λ (x) (if (eq? x #\.) #\- x)) version)
+ "/tuxpaint-stamps-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rhlwrjz44wp269v3rid4p8pi0i615pzifm1ym6va64gn1bms06q"))))
+ (build-system trivial-build-system)
+ (native-inputs
+ `(("tar" ,tar)
+ ("gzip" ,gzip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (setenv "PATH"
+ (string-append
+ (assoc-ref %build-inputs "tar") "/bin" ":"
+ (assoc-ref %build-inputs "gzip") "/bin"))
+ (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+ (chdir (string-append ,name "-" ,version))
+ (let ((dir (string-append %output "/share/tuxpaint/stamps")))
+ (mkdir-p dir)
+ (copy-recursively "stamps" dir)))))
+ (home-page (package-home-page tuxpaint))
+ (synopsis "Stamp images for Tux Paint")
+ (description
+ "This package contains a set of \"Rubber Stamp\" images which can be used
+with the \"Stamp\" tool within Tux Paint.")
+ (license license:gpl2+)))
+
+(define-public tuxpaint-config
+ (package
+ (name "tuxpaint-config")
+ (version "0.0.13") ;keep VER_DATE below in sync
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/tuxpaint/tuxpaint-config/"
+ version "/tuxpaint-config-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1z12s46mvy87qs3vgq9m0ki9pp21zqc52mmgphahpihw3s7haf6v"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gettext" ,gnu-gettext)))
+ (inputs
+ `(("fltk" ,fltk)
+ ("libpaper" ,libpaper)
+ ;; TODO: Should the following be propagated by fltk?
+ ("libx11" ,libx11)
+ ("libxft" ,libxft)
+ ("mesa" ,mesa)))
+ (arguments
+ `(#:make-flags `("VER_DATE=2014-08-23"
+ "CONFDIR=/etc/tuxpaint" ;don't write to store
+ ,(string-append "PREFIX=" %output)
+ "GNOME_PREFIX=$(PREFIX)")
+ #:tests? #f ;no tests
+ #:phases (modify-phases %standard-phases
+ (delete 'configure) ;no configure phase
+ (add-before 'install 'gzip-no-name
+ (lambda* _
+ (substitute* "Makefile"
+ ;; tuxpaint-config compresses its own documentation;
+ ;; make sure it uses flags for reproducibility.
+ (("gzip") "gzip --no-name"))))
+ (add-before 'install 'make-install-dirs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/bin"))
+ #t))))))
+ (home-page (package-home-page tuxpaint))
+ (synopsis "Configure Tux Paint")
+ (description
+ "Tux Paint Config is a graphical configuration editor for Tux Paint.")
+ (license license:gpl2))) ;no "or later" present
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b2f46959e6..445e94a67e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5388,3 +5389,32 @@ compiled.")
GLib/GObject code.")
(home-page "https://wiki.gnome.org/Projects/GFBGraph")
(license license:lgpl2.1+)))
+
+(define-public libgnomekbd
+ (package
+ (name "libgnomekbd")
+ (version "3.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "02bahnl3vaqyqyr99r9kwka84sxj8qdrz7x0bf97192dysqaa7n4"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("glib" ,glib "bin")
+ ("intltool" ,intltool)))
+ (propagated-inputs
+ ;; Referred to in .h files and .pc.
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("libxklavier" ,libxklavier)))
+ (home-page "https://www.gnome.org")
+ (synopsis "GNOME keyboard configuration library")
+ (description
+ "Libgnomekbd is a keyboard configuration library for the GNOME desktop
+environment, which can notably display keyboard layouts.")
+ (license license:lgpl2.0+)))
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 67b04375e8..4d888bdb2a 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -316,7 +316,9 @@ services.")
(arguments
`(#:configure-flags
(list "--without-libunique"
- "--with-qrencode")))
+ "--with-qrencode"
+ (string-append "--with-gnunet="
+ (assoc-ref %build-inputs "gnunet")))))
(inputs
`(("gnunet" ,gnunet)
("libgcrypt" ,libgcrypt)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index cc1b66f0ae..09d962dd1d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
+;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is an addendum GNU Guix.
;;;
@@ -183,3 +184,156 @@ compiled, statically typed language in the tradition of C and C++, with
garbage collection, various safety features and in the style of communicating
sequential processes (CSP) concurrent programming features added.")
(license license:bsd-3)))
+
+(define-public go-1.6
+ (package
+ (inherit go-1.4)
+ (name "go")
+ (version "1.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://storage.googleapis.com/golang/"
+ name version ".src.tar.gz"))
+ (sha256
+ (base32
+ "002v6irgfd63zp9iza8nski5by0lar033j3ddpqiikw6bznsw9k3"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments go-1.4)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'prebuild
+ ;; TODO: Most of this could be factorized with Go 1.4.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
+ (ld (string-append (assoc-ref inputs "libc") "/lib"))
+ (loader (car (find-files ld "^ld-linux.+")))
+ (net-base (assoc-ref inputs "net-base"))
+ (tzdata-path
+ (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
+ (output (assoc-ref outputs "out")))
+
+ ;; Removing net/ tests, which fail when attempting to access
+ ;; network resources not present in the build container.
+ (for-each delete-file
+ '("net/listen_test.go" "net/parse_test.go"))
+
+ (substitute* "os/os_test.go"
+ (("/usr/bin") (getcwd))
+ (("/bin/pwd") (which "pwd")))
+
+ ;; Add libgcc to runpath
+ (substitute* "cmd/link/internal/ld/lib.go"
+ (("!rpath.set") "true"))
+ (substitute* "cmd/go/build.go"
+ (("cgoldflags := \\[\\]string\\{\\}")
+ (string-append "cgoldflags := []string{"
+ "\"-rpath=" gcclib "\""
+ "}"))
+ (("ldflags = setextld\\(ldflags, compiler\\)")
+ (string-append
+ "ldflags = setextld(ldflags, compiler)\n"
+ "ldflags = append(ldflags, \"-r\")\n"
+ "ldflags = append(ldflags, \"" gcclib "\")\n"))
+ (("\"-lgcc_s\", ")
+ (string-append
+ "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
+
+ ;; Disable failing tests: these tests attempt to access
+ ;; commands or network resources which are neither available or
+ ;; necessary for the build to succeed.
+ (for-each
+ (match-lambda
+ ((file regex)
+ (substitute* file
+ ((regex all before test_name)
+ (string-append before "Disabled" test_name)))))
+ '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
+ ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
+ ("os/os_test.go" "(.+)(TestHostname.+)")
+ ("time/format_test.go" "(.+)(TestParseInSydney.+)")
+ ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
+ ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
+ ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
+ ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
+ ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
+ ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
+ ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
+ ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
+ ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
+ ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
+ ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
+ ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
+ ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
+ ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
+ ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
+ ("syscall/exec_linux_test.go"
+ "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
+
+ (substitute* "../misc/cgo/testsanitizers/test.bash"
+ (("(CC=)cc" all var) (string-append var "gcc")))
+
+ ;; fix shebang for testar script
+ ;; note the target script is generated at build time.
+ (substitute* "../misc/cgo/testcarchive/test.bash"
+ (("#!/usr/bin/env") (string-append "#!" (which "env"))))
+
+ (substitute* "net/lookup_unix.go"
+ (("/etc/protocols") (string-append net-base "/etc/protocols")))
+ (substitute* "net/port_unix.go"
+ (("/etc/services") (string-append net-base "/etc/services")))
+ (substitute* "time/zoneinfo_unix.go"
+ (("/usr/share/zoneinfo/") tzdata-path))
+ (substitute* (find-files "cmd" "asm.c")
+ (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
+ #t)))
+ (add-before 'build 'set-bootstrap-variables
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ ;; Tell the build system where to find the bootstrap Go.
+ (let ((go (assoc-ref inputs "go"))
+ (out (assoc-ref outputs "out")))
+ (setenv "GOROOT_BOOTSTRAP" go)
+ (setenv "PATH"
+ (string-append out "/bin:"
+ (dirname (getcwd)) "/bin:"
+ (getenv "PATH")))
+
+ ;; XXX: The following variables seem unrelated.
+ (setenv "GOGC" "400")
+ (setenv "GO_TEST_TIMEOUT_SCALE" "9999")
+ #t)))
+ (replace 'install
+ ;; TODO: Most of this could be factorized with Go 1.4.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((output (assoc-ref outputs "out"))
+ (doc_out (assoc-ref outputs "doc"))
+ (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
+ (src (string-append
+ (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
+ (delete-file-recursively "../pkg/bootstrap")
+
+ (mkdir-p src)
+ (copy-recursively "../test" (string-append src "/test"))
+ (delete-file-recursively "../test")
+ (mkdir-p docs)
+ (copy-recursively "../api" (string-append docs "/api"))
+ (delete-file-recursively "../api")
+ (copy-recursively "../doc" (string-append docs "/doc"))
+ (delete-file-recursively "../doc")
+
+ (for-each
+ (lambda (file)
+ (let* ((filein (string-append "../" file))
+ (fileout (string-append docs "/" file)))
+ (copy-file filein fileout)
+ (delete-file filein)))
+ ;; Note the slightly different file names compared to 1.4.
+ '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
+ "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
+
+ (copy-recursively "../" output))))))))
+ (native-inputs
+ `(("go" ,go-1.4)
+ ,@(package-native-inputs go-1.4)))))
+
+(define-public go go-1.6)
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index e78d4e19f4..549c92b457 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -41,14 +41,14 @@
(define-public imagemagick
(package
(name "imagemagick")
- (version "6.9.5-3")
+ (version "6.9.5-4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
- "1v5lbmyd8w6rxrzcwcv61f7cd4iqdylbpcry2j64nhxp7d4rzv3g"))))
+ "1n7fjbjh6s6rblkga8lkdqcd2b3vjgcm5jcx1r8vnww6b2w9ym00"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 68ca5fceee..e65327c61d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -358,13 +358,13 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-4.1
(package
(inherit linux-libre)
- (version "4.1.28")
+ (version "4.1.29")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
- "02b7hq32cyx3h04k7l3mfzhh09snh5x4pxiwxllwchw94a6lkxl8"))))
+ "1ygd89x5plkpxisafhnrnfbw69a257sza2gw15wj9jkzxs36a1jp"))))
(native-inputs
(let ((conf (kernel-config (or (%current-target-system)
(%current-system))
@@ -2590,7 +2590,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "4.5.3")
+ (version "4.6.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -2598,7 +2598,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "1lzbw275xgv69v4z8hmsf3jnip38116hxhkpv0madk8wv049drz6"))))
+ "06c9l6m3w29dndk17jrlpgr01wykl10h34zva8zc2c571z6mrlaf"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of binaries in "out" (~16MiB!)
@@ -2628,7 +2628,8 @@ and copy/paste text in the console and in xterm.")
;; For building documentation
("libxml2" ,libxml2)
("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)))
+ ("docbook-xsl" ,docbook-xsl)
+ ("which" ,which)))
(home-page "https://btrfs.wiki.kernel.org/")
(synopsis "Create and manage btrfs copy-on-write file systems")
(description "Btrfs is a copy-on-write (CoW) filesystem for Linux aimed at
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index a043baa549..28978a8ba5 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -180,14 +180,14 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
- (version "1.6.1")
+ (version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-"
version ".tar.gz"))
(sha256
(base32
- "087dz1y9qhl4ikhsnnb4xmyvs82w6kx480w8zj130wdiqvn6rclq"))
+ "13hxmji7v9m2agmvzrs7gzx8s3c9jiwrv7pbkr7z1kc6ckq2xl65"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e57eaa0536..ea7575abb2 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -115,13 +115,13 @@ interactive dialogs to guide them.")
(define-public units
(package
(name "units")
- (version "2.12")
+ (version "2.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
- "1jxvjknz2jhq773jrwx9gc1df3gfy73yqmkjkygqxzpi318yls3q"))))
+ "1awhjw9zjlfb8s5g3yyx63f7ddfcr1sanlbxpqifmrgq24ql198b"))))
(build-system gnu-build-system)
(synopsis "Conversion between thousands of scales")
(description
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 75da9dad20..8dbdf2ca29 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
+;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1518,17 +1519,13 @@ websites such as Libre.fm.")
(define-public beets
(package
(name "beets")
- (version "1.3.18")
+ (version "1.3.19")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/"
- "14/6f/c9c79c5339ab3ecced265ca18adbf5bae3d4058bae737b6164d738fb4d2c/"
- name "-" version ".tar.gz"))
- (patches (search-patches "beets-image-test-failure.patch"))
+ (uri (pypi-uri "beets" version))
(sha256
(base32
- "09pgyywa5llbc36y0lrr21ywgsp8m2zx6p8ncf8hxik28knd5kld"))))
+ "1vi1dh3fr554bnm8y9pjy09hblw18v6cl2jppzwlp72afri1w93b"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only Python 2 is supported
diff --git a/gnu/packages/patches/beets-image-test-failure.patch b/gnu/packages/patches/beets-image-test-failure.patch
deleted file mode 100644
index 360d7d3ed4..0000000000
--- a/gnu/packages/patches/beets-image-test-failure.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Fix test failure due to missing image library backend.
-
-Cherry-picked from upstream:
-https://github.com/beetbox/beets/commit/07c95a1bf16bf86c640436208dda828cc7df0181
-
-From 07c95a1bf16bf86c640436208dda828cc7df0181 Mon Sep 17 00:00:00 2001
-From: Adrian Sampson <adrian@radbox.org>
-Date: Thu, 2 Jun 2016 11:39:05 -0700
-Subject: [PATCH] Require an imaging backend for fuzzy ratio tests
-
-These fail outright if we don't have a way to get image sizes (e.g.,
-ImageMagick).
----
- test/test_art.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/test/test_art.py b/test/test_art.py
-index 02d26f4..1b12b76 100644
---- a/test/test_art.py
-+++ b/test/test_art.py
-@@ -561,21 +561,25 @@ def test_respect_enforce_ratio_no(self):
- self._assertImageIsValidArt(self.IMG_500x490, True)
-
- def test_respect_enforce_ratio_px_above(self):
-+ self._require_backend()
- self.plugin.enforce_ratio = True
- self.plugin.margin_px = 5
- self._assertImageIsValidArt(self.IMG_500x490, False)
-
- def test_respect_enforce_ratio_px_below(self):
-+ self._require_backend()
- self.plugin.enforce_ratio = True
- self.plugin.margin_px = 15
- self._assertImageIsValidArt(self.IMG_500x490, True)
-
- def test_respect_enforce_ratio_percent_above(self):
-+ self._require_backend()
- self.plugin.enforce_ratio = True
- self.plugin.margin_percent = (500 - 490) / 500 * 0.5
- self._assertImageIsValidArt(self.IMG_500x490, False)
-
- def test_respect_enforce_ratio_percent_below(self):
-+ self._require_backend()
- self.plugin.enforce_ratio = True
- self.plugin.margin_percent = (500 - 490) / 500 * 1.5
- self._assertImageIsValidArt(self.IMG_500x490, True)
diff --git a/gnu/packages/patches/tuxpaint-stamps-path.patch b/gnu/packages/patches/tuxpaint-stamps-path.patch
new file mode 100644
index 0000000000..599a33c458
--- /dev/null
+++ b/gnu/packages/patches/tuxpaint-stamps-path.patch
@@ -0,0 +1,24 @@
+--- tuxpaint-0.9.22/src/tuxpaint.c
++++ tuxpaint-0.9.22/src/tuxpaint.c
+@@ -7474,11 +7474,21 @@
+ static void load_stamps(SDL_Surface * screen)
+ {
+ char *homedirdir = get_fname("stamps", DIR_DATA);
++ char *stamps_path = getenv("TUXPAINT_STAMPS_PATH");
+
+ default_stamp_size = compute_default_scale_factor(1.0);
+
+ load_stamp_dir(screen, homedirdir);
+ load_stamp_dir(screen, DATA_PREFIX "stamps");
++ /* Load any stamps in TUXPAINT_STAMPS_PATH */
++ if (stamps_path) {
++ char *token;
++ token = strtok(stamps_path, ":");
++ while (token != NULL) {
++ load_stamp_dir(screen, token);
++ token = strtok(NULL, ":");
++ }
++ }
+ #ifdef __APPLE__
+ load_stamp_dir(screen, "/Library/Application Support/TuxPaint/stamps");
+ #endif
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index e1a3d8a6f1..49be54c2b1 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -54,14 +54,14 @@ internal RPC protocols and file formats.")
(define-public python-protobuf
(package
(name "python-protobuf")
- (version "3.0.0b4")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "protobuf" version))
(sha256
(base32
- "18zvvn8cgbcwi85ws2ny0k4qp33wd525spsb8sxvrj325mbx9cpk"))))
+ "1xbgbfg4g43bihkyw1a2giqa2gxmqc5wkh0fzqcb90qi1z1hpi7c"))))
(build-system python-build-system)
(inputs
`(("python-six" ,python-six)))
diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm
index 57fc12d1a3..37e09d8642 100644
--- a/gnu/packages/skarnet.scm
+++ b/gnu/packages/skarnet.scm
@@ -204,3 +204,110 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
It includes command-line client and server management, TCP access control,
privilege escalation across UNIX domain sockets, IDENT protocol management and
clock synchronization.")))
+
+(define-public s6-rc
+ (package
+ (name "s6-rc")
+ (version "0.0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://skarnet.org/software/s6-rc/s6-rc-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0bl94lbaphbpaaj4wbb86xqgp5bcgrf3m7p80mimw1qsjrvlxfay"))))
+ (build-system gnu-build-system)
+ (inputs `(("skalibs" ,skalibs)
+ ("execline" ,execline)
+ ("s6" ,s6)))
+ (arguments
+ '(#:configure-flags (list
+ (string-append "--with-lib="
+ (assoc-ref %build-inputs "skalibs")
+ "/lib/skalibs")
+ (string-append "--with-lib="
+ (assoc-ref %build-inputs "execline")
+ "/lib/execline")
+ (string-append "--with-lib="
+ (assoc-ref %build-inputs "s6")
+ "/lib/s6")
+ (string-append "--with-sysdeps="
+ (assoc-ref %build-inputs "skalibs")
+ "/lib/skalibs/sysdeps"))
+ #:tests? #f))
+ (home-page "http://skarnet.org/software/s6-rc")
+ (license isc)
+ (synopsis "Service manager for s6-based systems")
+ (description
+ "s6-rc is a service manager for s6-based systems, i.e. a suite of
+programs that can start and stop services, both long-running daemons and
+one-time initialization scripts, in the proper order according to a dependency
+tree. It ensures that long-running daemons are supervised by the s6
+infrastructure, and that one-time scripts are also run in a controlled
+environment.")))
+
+(define-public s6-portable-utils
+ (package
+ (name "s6-portable-utils")
+ (version "2.0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://skarnet.org/software/s6-portable-utils/s6-portable-utils-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0jwxj0ma4zd1h6i3i98nsp0miidr54phap7dqwf6c8vafq9psfr3"))))
+ (build-system gnu-build-system)
+ (inputs `(("skalibs" ,skalibs)))
+ (arguments
+ '(#:configure-flags (list
+ (string-append "--with-lib="
+ (assoc-ref %build-inputs "skalibs")
+ "/lib/skalibs")
+ (string-append "--with-sysdeps="
+ (assoc-ref %build-inputs "skalibs")
+ "/lib/skalibs/sysdeps"))
+ #:tests? #f))
+ (home-page "http://skarnet.org/software/s6-portable-utils")
+ (license isc)
+ (synopsis "Tiny command-line Unix utilities")
+ (description
+ "s6-portable-utils is a set of tiny general Unix utilities, often
+performing well-known tasks such as @command{cut} and @command{grep}, but
+optimized for simplicity and small size. They were designed for embedded
+systems and other constrained environments, but they work everywhere.")))
+
+(define-public s6-linux-utils
+ (package
+ (name "s6-linux-utils")
+ (version "2.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://skarnet.org/software/s6-linux-utils/s6-linux-utils-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1bby751blynb7p8wd3npjm71lf10ysmfvqrd3dqrhhajpa2bl8rm"))))
+ (build-system gnu-build-system)
+ (inputs `(("skalibs" ,skalibs)))
+ (arguments
+ '(#:configure-flags (list
+ (string-append "--with-lib="
+ (assoc-ref %build-inputs "skalibs")
+ "/lib/skalibs")
+ (string-append "--with-sysdeps="
+ (assoc-ref %build-inputs "skalibs")
+ "/lib/skalibs/sysdeps"))
+ #:tests? #f))
+ (home-page "http://skarnet.org/software/s6-linux-utils")
+ (license isc)
+ (synopsis "Set of minimalistic Linux-specific system utilities")
+ (description
+ "s6-linux-utils is a set of minimalistic Linux-specific system utilities,
+such as @command{mount}, @command{umount}, and @command{chroot} commands,
+Linux uevent listeners, a @command{devd} device hotplug daemon, and more.")))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 06f7496b71..e3da8f1b46 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix svn-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
@@ -1524,3 +1526,39 @@ implementation.")
your graphical desktop and encodes it as a video. This is a useful tool for
making @dfn{screencasts}.")
(license license:gpl2+)))
+
+(define-public libsmpeg
+ (package
+ (name "libsmpeg")
+ (version "0.4.5")
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url "svn://svn.icculus.org/smpeg/trunk/")
+ (revision 401))) ; last revision before smpeg2 (for SDL 2.0)
+ (sha256
+ (base32
+ "18yfkr70lr1x1hc8snn2ldnbzdcc7b64xmkqrfk8w59gpg7sl1xn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'autogen.sh
+ (lambda _
+ (zero? (system* "sh" "autogen.sh")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (inputs
+ `(("sdl" ,sdl2)))
+ (home-page "http://icculus.org/smpeg/")
+ (synopsis "SDL MPEG decoding library")
+ (description
+ "SMPEG (SDL MPEG Player Library) is a free MPEG1 video player library
+with sound support. Video playback is based on the ubiquitous Berkeley MPEG
+player, mpeg_play v2.2. Audio is played through a slightly modified mpegsound
+library, part of splay v0.8.2. SMPEG supports MPEG audio (MP3), MPEG-1 video,
+and MPEG system streams.")
+ (license (list license:expat
+ license:lgpl2.1
+ license:lgpl2.1+
+ license:gpl2))))
diff --git a/guix/scripts.scm b/guix/scripts.scm
index d84375f570..bbee50bc3d 100644
--- a/guix/scripts.scm
+++ b/guix/scripts.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Deck Pickard <deck.r.pickard@gmail.com>
-;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,6 +19,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix scripts)
+ #:use-module (guix grafts)
#:use-module (guix utils)
#:use-module (guix ui)
#:use-module (guix store)
@@ -105,11 +106,13 @@ true."
#:rest build-options)
"Build PACKAGE using BUILD-OPTIONS acceptable by 'set-build-options'.
Show what and how will/would be built."
- (mbegin %store-monad
+ (mlet %store-monad ((grafting? ((lift0 %graft? %store-monad))))
(apply set-build-options*
#:use-substitutes? use-substitutes?
(strip-keyword-arguments '(#:dry-run?) build-options))
- (mlet %store-monad ((derivation (package->derivation package)))
+ (mlet %store-monad ((derivation (package->derivation
+ package #:graft? (and (not dry-run?)
+ grafting?))))
(mbegin %store-monad
(maybe-build (list derivation)
#:use-substitutes? use-substitutes?