aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/install.scm20
-rw-r--r--gnu/packages.scm36
-rw-r--r--gnu/packages/bioinformatics.scm58
-rw-r--r--gnu/packages/ebook.scm4
-rw-r--r--gnu/packages/freedesktop.scm37
-rw-r--r--gnu/packages/image.scm23
-rw-r--r--gnu/packages/ocaml.scm7
-rw-r--r--gnu/packages/package-management.scm4
-rw-r--r--gnu/packages/qt.scm14
-rw-r--r--gnu/packages/samba.scm6
-rw-r--r--gnu/system.scm15
-rw-r--r--gnu/system/install.scm6
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