diff options
author | Mark H Weaver <mhw@netris.org> | 2016-07-31 23:27:03 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2016-07-31 23:27:03 -0400 |
commit | 3d337bbc3916b95c0197ebbb890875f0439eec53 (patch) | |
tree | ffd4098c3ec8e7af659f2e70448e45180b2a7cfb | |
parent | 932b2ea2064ec8ab8e81b959bd92f6138974fd39 (diff) | |
parent | 4e8efc15fb9082fb80726a2a37c4e6ebb13552fa (diff) | |
download | guix-3d337bbc3916b95c0197ebbb890875f0439eec53.tar guix-3d337bbc3916b95c0197ebbb890875f0439eec53.tar.gz |
Merge branch 'master' into core-updates
-rw-r--r-- | emacs/guix-main.scm | 20 | ||||
-rw-r--r-- | gnu/local.mk | 2 | ||||
-rw-r--r-- | gnu/packages/bioinformatics.scm | 4 | ||||
-rw-r--r-- | gnu/packages/education.scm | 4 | ||||
-rw-r--r-- | gnu/packages/game-development.scm | 103 | ||||
-rw-r--r-- | gnu/packages/games.scm | 172 | ||||
-rw-r--r-- | gnu/packages/gnome.scm | 30 | ||||
-rw-r--r-- | gnu/packages/gnunet.scm | 4 | ||||
-rw-r--r-- | gnu/packages/golang.scm | 154 | ||||
-rw-r--r-- | gnu/packages/imagemagick.scm | 4 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 11 | ||||
-rw-r--r-- | gnu/packages/mail.scm | 4 | ||||
-rw-r--r-- | gnu/packages/maths.scm | 4 | ||||
-rw-r--r-- | gnu/packages/music.scm | 11 | ||||
-rw-r--r-- | gnu/packages/patches/beets-image-test-failure.patch | 46 | ||||
-rw-r--r-- | gnu/packages/patches/tuxpaint-stamps-path.patch | 24 | ||||
-rw-r--r-- | gnu/packages/protobuf.scm | 4 | ||||
-rw-r--r-- | gnu/packages/skarnet.scm | 107 | ||||
-rw-r--r-- | gnu/packages/video.scm | 38 | ||||
-rw-r--r-- | guix/scripts.scm | 9 |
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? |