diff options
author | Mark H Weaver <mhw@netris.org> | 2015-06-18 01:32:37 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2015-06-18 01:32:37 -0400 |
commit | 2abf678682c42842c16e026c51d96b1fa86be88f (patch) | |
tree | 7bd59bd08dbaf00f23f37a91d1e7ae3d7a915843 /gnu | |
parent | 9ae1e920718e95577c12de890754b6a6a4ff70a1 (diff) | |
parent | c362a40a5825faafc76b72f69fb6595fa29d3f60 (diff) | |
download | guix-2abf678682c42842c16e026c51d96b1fa86be88f.tar.gz guix-2abf678682c42842c16e026c51d96b1fa86be88f.zip |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/build/install.scm | 20 | ||||
-rw-r--r-- | gnu/packages.scm | 36 | ||||
-rw-r--r-- | gnu/packages/bioinformatics.scm | 58 | ||||
-rw-r--r-- | gnu/packages/ebook.scm | 4 | ||||
-rw-r--r-- | gnu/packages/freedesktop.scm | 37 | ||||
-rw-r--r-- | gnu/packages/image.scm | 23 | ||||
-rw-r--r-- | gnu/packages/ocaml.scm | 7 | ||||
-rw-r--r-- | gnu/packages/package-management.scm | 4 | ||||
-rw-r--r-- | gnu/packages/qt.scm | 14 | ||||
-rw-r--r-- | gnu/packages/samba.scm | 6 | ||||
-rw-r--r-- | gnu/system.scm | 15 | ||||
-rw-r--r-- | gnu/system/install.scm | 6 |
12 files changed, 197 insertions, 33 deletions
diff --git a/gnu/build/install.scm b/gnu/build/install.scm index 32fbe8efbc..9085e22e09 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -161,20 +161,27 @@ as created and modified at the Epoch." (utime file 0 0 0 0)))) (find-files directory ""))) -(define (register-closure store closure) +(define* (register-closure store closure + #:key (deduplicate? #t)) "Register CLOSURE in STORE, where STORE is the directory name of the target store and CLOSURE is the name of a file containing a reference graph as used -by 'guix-register'. As a side effect, this resets timestamps on store files." - (let ((status (system* "guix-register" "--prefix" store - closure))) +by 'guix-register'. As a side effect, this resets timestamps on store files +and, if DEDUPLICATE? is true, deduplicates files common to CLOSURE and the +rest of STORE." + (let ((status (apply system* "guix-register" "--prefix" store + (append (if deduplicate? '() '("--no-deduplication")) + (list closure))))) (unless (zero? status) (error "failed to register store items" closure)))) (define* (populate-single-profile-directory directory - #:key profile closure) + #:key profile closure + deduplicate?) "Populate DIRECTORY with a store containing PROFILE, whose closure is given in the file called CLOSURE (as generated by #:references-graphs.) DIRECTORY is initialized to contain a single profile under /root pointing to PROFILE. +DEDUPLICATE? determines whether to deduplicate files in the store. + This is used to create the self-contained Guix tarball." (define (scope file) (string-append directory "/" file)) @@ -190,7 +197,8 @@ This is used to create the self-contained Guix tarball." ;; Populate the store. (populate-store (list closure) directory) - (register-closure (canonicalize-path directory) closure) + (register-closure (canonicalize-path directory) closure + #:deduplicate? deduplicate?) ;; XXX: 'guix-register' registers profiles as GC roots but the symlink ;; target uses $TMPDIR. Fix that. diff --git a/gnu/packages.scm b/gnu/packages.scm index 9eb4877be8..6e46a890bb 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -51,7 +51,8 @@ check-package-freshness - specification->package)) + specification->package + specification->package+output)) ;;; Commentary: ;;; @@ -418,3 +419,36 @@ present, return the preferred newest version." (leave (_ "~A: package not found for version ~a~%") name version) (leave (_ "~A: unknown package~%") name)))))) + +(define* (specification->package+output spec #:optional (output "out")) + "Return the package and output specified by SPEC, or #f and #f; SPEC may +optionally contain a version number and an output name, as in these examples: + + guile + guile-2.0.9 + guile:debug + guile-2.0.9:debug + +If SPEC does not specify a version number, return the preferred newest +version; if SPEC does not specify an output, return OUTPUT." + (define (ensure-output p sub-drv) + (if (member sub-drv (package-outputs p)) + sub-drv + (leave (_ "package `~a' lacks output `~a'~%") + (package-full-name p) + sub-drv))) + + (let-values (((name version sub-drv) + (package-specification->name+version+output spec output))) + (match (find-best-packages-by-name name version) + ((p) + (values p (ensure-output p sub-drv))) + ((p p* ...) + (warning (_ "ambiguous package specification `~a'~%") + spec) + (warning (_ "choosing ~a from ~a~%") + (package-full-name p) + (location->string (package-location p))) + (values p (ensure-output p sub-drv))) + (() + (leave (_ "~a: package not found~%") spec))))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 0d8a6d518c..12c9175ed3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages compression) @@ -87,7 +89,7 @@ BAM files.") (define-public bedops (package (name "bedops") - (version "2.4.5") + (version "2.4.14") (source (origin (method url-fetch) (uri (string-append "https://github.com/bedops/bedops/archive/v" @@ -95,7 +97,7 @@ BAM files.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0wmg6j0icimlrnsidaxrzf3hfgjvlkkcwvpdg7n4gg7hdv2m9ni5")))) + "1kqbac547wyqma81cyky9n7mkgikjpsfd3nnmcm6hpqwanqgh10v")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -615,6 +617,56 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.") other types of unwanted sequence from high-throughput sequencing reads.") (license license:expat))) +(define-public diamond + (package + (name "diamond") + (version "0.7.9") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/bbuchfink/diamond/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hfkcfv9f76h5brbyw9fyvmc0l9cmbsxrcdqk0fa9xv82zj47p15")) + (snippet '(begin + (delete-file "bin/diamond") + #t)))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no "check" target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-source-dir + (lambda _ + (chdir "src") + #t)) + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") + "/bin"))) + (mkdir-p bin) + (copy-file "../bin/diamond" + (string-append bin "/diamond")) + #t)))))) + (native-inputs + `(("bc" ,bc))) + (inputs + `(("boost" ,boost) + ("zlib" ,zlib))) + (home-page "https://github.com/bbuchfink/diamond") + (synopsis "Accelerated BLAST compatible local sequence aligner") + (description + "DIAMOND is a BLAST-compatible local aligner for mapping protein and +translated DNA query sequences against a protein reference database (BLASTP +and BLASTX alignment mode). The speedup over BLAST is up to 20,000 on short +reads at a typical sensitivity of 90-99% relative to BLAST depending on the +data and settings.") + (license (license:non-copyleft "file://src/COPYING" + "See src/COPYING in the distribution.")))) + (define-public edirect (package (name "edirect") @@ -1063,7 +1115,7 @@ sequencing tag position and orientation.") (source (origin (method url-fetch) (uri (string-append - "http://pypi.python.org/packages/source/m/misopy/misopy-" + "https://pypi.python.org/packages/source/m/misopy/misopy-" version ".tar.gz")) (sha256 (base32 diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 2be5ea351a..670fc64de8 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -60,7 +60,7 @@ (define-public calibre (package (name "calibre") - (version "2.29.0") + (version "2.30.0") (source (origin (method url-fetch) @@ -69,7 +69,7 @@ version ".tar.xz")) (sha256 (base32 - "1n3cfnjnghhhsgzcbcvbr0gh191lhl6az09q1s68jhlcc2lski6l")) + "1k2rpn06nfzqjy5k6fh8pwfj8vbhpn7rgkpkkpz5n2fqg3z8ph1j")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index c5b55f30a2..eeb97cdc85 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -38,7 +38,9 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages glib) ;intltool #:use-module (gnu packages xdisorg) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages doxygen) + #:use-module (gnu packages libffi)) (define-public xdg-utils (package @@ -197,3 +199,36 @@ Python") (define-public python2-pyxdg (package-with-python2 python-pyxdg)) + +(define-public wayland + (package + (name "wayland") + (version "1.8.1") + (source (origin + (method url-fetch) + (uri (string-append "http://wayland.freedesktop.org/releases/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1j3gfzn8i0xhk3j34mwb2srrscjxfyi279jhyq80mz943j6r6z7i")))) + (build-system gnu-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("pkg-config" ,pkg-config) + ("xmlto" ,xmlto) + ("xsltproc" ,libxslt))) + (inputs + `(("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("expat" ,expat) + ("libffi" ,libffi) + ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES + (home-page "http://wayland.freedesktop.org/") + (synopsis "Display server protocol") + (description + "Wayland is a protocol for a compositor to talk to its clients as well as +a C library implementation of that protocol. The compositor can be a standalone +display server running on Linux kernel modesetting and evdev input devices, an X +application, or a wayland client itself. The clients can be traditional +applications, X servers (rootless or fullscreen) or other display servers.") + (license license:x11))) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index a7483ba94a..ad4acb787e 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -582,3 +582,26 @@ with lossy compression and typically provides 3x smaller file sizes compared to PNG when lossy compression is acceptable for the red/green/blue color channels.") (license license:bsd-3))) + +(define-public libmng + (package + (name "libmng") + (version "2.0.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/libmng/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija")))) + (build-system gnu-build-system) + (propagated-inputs + ;; These are all in the 'Libs.private' field of libmng.pc. + `(("lcms" ,lcms) + ("libjpeg" ,libjpeg) + ("zlib" ,zlib))) + (home-page "http://www.libmng.com/") + (synopsis "Library for handling MNG files") + (description + "Libmng is the MNG (Multiple-image Network Graphics) reference library.") + (license license:bsd-3))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 5baf24cac0..84841d017c 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -24,12 +24,12 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages gcc) #:use-module (gnu packages base) #:use-module (gnu packages emacs) #:use-module (gnu packages texinfo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages compression) - #:use-module (gnu packages commencement) #:use-module (gnu packages xorg) #:use-module (gnu packages texlive) #:use-module (gnu packages perl) @@ -57,8 +57,9 @@ ("pkg-config" ,pkg-config))) (inputs `(("libx11" ,libx11) - ("gcc:lib" ,gcc-final "lib") ; for libiberty, needed for objdump support - ("zlib" ,zlib))) ; also needed for objdump support + ;; For libiberty, needed for objdump support. + ("gcc:lib" ,(canonical-package gcc-4.8) "lib") + ("zlib" ,zlib))) ;also needed for objdump support (arguments `(#:modules ((guix build gnu-build-system) (guix build utils) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 7f6ec56151..3da9df92cc 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -166,7 +166,7 @@ the Nix package manager.") ;; ;; Note: use a short commit id; when using the long one, the limit on socket ;; file names is exceeded while running the tests. - (let ((commit "a43b55f")) + (let ((commit "684bf7c")) (package (inherit guix-0.8.2) (version (string-append "0.8.2." commit)) (source (origin @@ -176,7 +176,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "1r0l8gfh5nxc1j0sqj8ywkg280k9qbj7zsk33z84rvl7l0nwnk88")) + "0fq9ajj17kbb0f1p79al2vcqah9sl0imayhggcp31c3vq0ahya9g")) (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.8.2) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 3bc3145e8d..1cf72e1586 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -29,6 +29,8 @@ #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages cups) + #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) #:use-module (gnu packages flex) #:use-module (gnu packages gl) @@ -93,7 +95,7 @@ X11 (yet).") (define-public qt (package (name "qt") - (version "5.4.1") + (version "5.4.2") (source (origin (method url-fetch) (uri (string-append "http://download.qt-project.org/official_releases/qt/" @@ -103,7 +105,7 @@ X11 (yet).") version ".tar.xz")) (sha256 (base32 - "0q6qzakq8xihw91xv310qi3vyylq7x2bzdkjgy8sqxii2lgbjzhv")) + "09gay5cimfdb0apy60v7z4r4zkl2vjysdppzihpla8dp2c30fvcc")) (patches (list (search-patch "qt5-conflicting-typedefs.patch") (search-patch "qt5-runpath.patch"))) (snippet @@ -119,12 +121,14 @@ webrtc/tools/e2e_quality/audio/perf"))))) (inputs `(("alsa-lib" ,alsa-lib) ("dbus" ,dbus) + ("cups" ,cups) ("expat" ,expat) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) ("icu4c" ,icu4c) ("libjpeg" ,libjpeg) + ("libmng" ,libmng) ("libpci" ,pciutils) ("libpng" ,libpng) ("libx11" ,libx11) @@ -143,10 +147,12 @@ webrtc/tools/e2e_quality/audio/perf"))))) ("mysql" ,mysql) ("nss" ,nss) ("openssl" ,openssl) + ("postgresql" ,postgresql) ("pulseaudio" ,pulseaudio) ("pcre" ,pcre) ("sqlite" ,sqlite) ("udev" ,eudev) + ("unixodbc" ,unixodbc) ("xcb-util" ,xcb-util) ("xcb-util-image" ,xcb-util-image) ("xcb-util-keysyms" ,xcb-util-keysyms) @@ -221,7 +227,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qt-4 (package (inherit qt) - (version "4.8.6") + (version "4.8.7") (source (origin (method url-fetch) (uri (string-append "http://download.qt-project.org/official_releases/qt/" @@ -231,7 +237,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.gz")) (sha256 (base32 - "0b036iqgmbbv37dgwwfihw3mihjbnw3kb5kaisdy0qi8nn8xs54b")) + "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272")) (patches (map search-patch '("qt4-ldflags.patch" "qt4-tests.patch"))))) (inputs `(,@(alist-delete "libjpeg" (package-inputs qt)) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 8e53debcb3..d7223bc0ba 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -168,14 +168,14 @@ Desktops into Active Directory environments using the winbind daemon.") (define-public talloc (package (name "talloc") - (version "2.1.0") + (version "2.1.2") (source (origin (method url-fetch) - (uri (string-append "http://www.samba.org/ftp/talloc/talloc-" + (uri (string-append "https://www.samba.org/ftp/talloc/talloc-" version ".tar.gz")) (sha256 (base32 - "13zh628hzlp2v9vj70knnfac2xbxqrdhgap30csq4zv4h8w3j087")))) + "13c365f7y8idjf2v1jxdjpkc3lxdmsxxfxjx1ymianm7zjiph393")))) (build-system gnu-build-system) (arguments '(#:phases (alist-replace diff --git a/gnu/system.scm b/gnu/system.scm index 92ed454b2c..565d6c10c7 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -148,8 +149,8 @@ (setuid-programs operating-system-setuid-programs (default %setuid-programs)) ; list of string-valued gexps - (sudoers operating-system-sudoers ; file-like - (default %sudoers-specification))) + (sudoers-file operating-system-sudoers-file ; file-like + (default %sudoers-specification))) ;;; @@ -440,7 +441,7 @@ on SHELLS. /etc/shells is used by xterm, polkit, and other programs." (pam-services '()) (profile "/run/current-system/profile") hosts-file nss (shells '()) - (sudoers (plain-file "sudoers" ""))) + (sudoers-file (plain-file "sudoers" ""))) "Return a derivation that builds the static part of the /etc directory." (mlet* %store-monad ((pam.d (pam-services->directory pam-services)) @@ -540,7 +541,7 @@ fi\n")) ("hosts" ,#~#$hosts-file) ("localtime" ,#~(string-append #$tzdata "/share/zoneinfo/" #$timezone)) - ("sudoers" ,sudoers))))) + ("sudoers" ,sudoers-file))))) (define (operating-system-profile os) "Return a derivation that builds the system profile of OS." @@ -624,9 +625,9 @@ use 'plain-file' instead~%") #:timezone (operating-system-timezone os) #:hosts-file /etc/hosts #:shells shells - #:sudoers (maybe-string->file - "sudoers" - (operating-system-sudoers os)) + #:sudoers-file (maybe-string->file + "sudoers" + (operating-system-sudoers-file os)) #:profile profile-drv))) (define %setuid-programs diff --git a/gnu/system/install.scm b/gnu/system/install.scm index e8a36b3def..6f4116ef9b 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -63,15 +63,19 @@ under /root/.guix-profile where GUIX is installed." (setenv "PATH" (string-append #$guix "/sbin:" #$tar "/bin:" #$xz "/bin")) + ;; Note: there is not much to gain here with deduplication and there + ;; is the overhead of the '.links' directory, so turn it off. (populate-single-profile-directory %root #:profile #$profile - #:closure "profile") + #:closure "profile" + #:deduplicate? #f) ;; Create the tarball. Use GNU format so there's no file name ;; length limitation. (with-directory-excursion %root (zero? (system* "tar" "--xz" "--format=gnu" "--owner=root:0" "--group=root:0" + "--check-links" "-cvf" #$output ;; Avoid adding / and /var to the tarball, ;; so that the ownership and permissions of those |