aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2016-01-24 21:04:54 -0500
committerMark H Weaver <mhw@netris.org>2016-01-24 21:04:54 -0500
commit412bee5e2931a53066ae593808935608d54a4345 (patch)
tree28b297694296115f056ead6de81d24bbd98d75f5 /gnu
parent68716289995d106c7adc779548eebc5df324e6cf (diff)
parent880d647d0f1a0ea0aea2af84fa2e99e3286b65a1 (diff)
downloadguix-412bee5e2931a53066ae593808935608d54a4345.tar
guix-412bee5e2931a53066ae593808935608d54a4345.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/linux-container.scm2
-rw-r--r--gnu/packages/admin.scm27
-rw-r--r--gnu/packages/algebra.scm5
-rw-r--r--gnu/packages/audio.scm6
-rw-r--r--gnu/packages/bioinformatics.scm230
-rw-r--r--gnu/packages/bittorrent.scm44
-rw-r--r--gnu/packages/debug.scm18
-rw-r--r--gnu/packages/dns.scm36
-rw-r--r--gnu/packages/ebook.scm4
-rw-r--r--gnu/packages/enlightenment.scm6
-rw-r--r--gnu/packages/grue-hunter.scm2
-rw-r--r--gnu/packages/lego.scm67
-rw-r--r--gnu/packages/linux.scm12
-rw-r--r--gnu/packages/mail.scm35
-rw-r--r--gnu/packages/messaging.scm15
-rw-r--r--gnu/packages/music.scm50
-rw-r--r--gnu/packages/nano.scm6
-rw-r--r--gnu/packages/patches/arb-ldconfig.patch22
-rw-r--r--gnu/packages/patches/linux-libre-CVE-2016-0728.patch84
-rw-r--r--gnu/packages/patches/tophat-build-with-later-seqan.patch24
-rw-r--r--gnu/packages/tls.scm8
-rw-r--r--gnu/packages/tor.scm9
-rw-r--r--gnu/packages/version-control.scm6
-rw-r--r--gnu/packages/video.scm36
-rw-r--r--gnu/packages/xiph.scm14
-rw-r--r--gnu/services/avahi.scm5
-rw-r--r--gnu/system.scm26
-rw-r--r--gnu/system/grub.scm54
28 files changed, 742 insertions, 111 deletions
diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm
index eb5dbf94a3..ec68679f0b 100644
--- a/gnu/build/linux-container.scm
+++ b/gnu/build/linux-container.scm
@@ -41,7 +41,7 @@
"Return #t if user namespaces can be created by unprivileged users."
(let ((userns-file "/proc/sys/kernel/unprivileged_userns_clone"))
(if (file-exists? userns-file)
- (string=? "1" (call-with-input-file userns-file read-string))
+ (eqv? #\1 (call-with-input-file userns-file read-char))
#t)))
(define (setgroups-supported?)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 1f2d0fbf95..953c5b4cf8 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -392,7 +393,7 @@ connection alive.")
(bind-minor-version "9")
(bind-patch-version "8")
(bind-release-type "-P")
- (bind-release-version "2")
+ (bind-release-version "3")
(bind-version (string-append bind-major-version
"."
bind-minor-version
@@ -508,7 +509,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
- "0agkpmpna7s67la13krn4xlhwhdjpazmljxlq0zbjdwnw4k1k17m"))))
+ "01qa17479jghy90lb2j8b1bpg3ay6k6aaajpigyirwzsvyc9yj3a"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
@@ -1377,3 +1378,25 @@ command that learns\". It works by maintaining a database of the directories
you use the most from the command line and allows you to \"jump\" to
frequently used directories by typing only a small pattern.")
(license license:gpl3+)))
+
+(define-public iftop
+ (package
+ (name "iftop")
+ (version "1.0pre4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.ex-parrot.com/~pdw/iftop/download"
+ "/iftop-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15sgkdyijb7vbxpxjavh5qm5nvyii3fqcg9mzvw7fx8s6zmfwczp"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libpcap" ,libpcap)
+ ("ncurses" ,ncurses)))
+ (synopsis "Monitor network usage")
+ (description "Iftop does for network usage what @command{top} does
+for CPU usage. It listens to network traffic on a named interface and
+displays a table of current bandwidth usage by pairs of hosts.")
+ (home-page "http://www.ex-parrot.com/~pdw/iftop/")
+ (license license:gpl3)))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index dd6838140b..0f17403868 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -238,7 +238,7 @@ fast arithmetic.")
(define-public arb
(package
(name "arb")
- (version "2.7.0")
+ (version "2.8.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -247,7 +247,8 @@ fast arithmetic.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1rwkffs57v8mry63rq8l2dyw69zfs9rg5fpbfllqp3nkjnkp1fly"))))
+ "04hhcpshfkcq9fr4hixbhpps50yf9drk62xgkvlcaj5kb4nyrx7l"))
+ (patches (map search-patch '("arb-ldconfig.patch")))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 3cc5cebc2c..0823aad91e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1535,14 +1535,14 @@ surround and reverb.")
(define-public libxmp
(package
(name "libxmp")
- (version "4.3.8")
+ (version "4.3.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xmp/libxmp/"
name "-" version ".tar.gz"))
(sha256
(base32
- "0h06091hlpgc6ds4pjmfq8sx4snw7av3nhny180q4pwfyasjb6ny"))))
+ "1gm5xa0ca7ypcbj3bkmj3k1vvzl7nkch8gjyrm8p1a9vgzr0n761"))))
(build-system gnu-build-system)
(home-page "http://xmp.sourceforge.net/")
(synopsis "Module player library")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 314d0ad322..a9df676fc6 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -654,6 +654,73 @@ gapped, local, and paired-end alignment modes.")
(supported-systems '("x86_64-linux"))
(license license:gpl3+)))
+(define-public tophat
+ (package
+ (name "tophat")
+ (version "2.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://ccb.jhu.edu/software/tophat/downloads/tophat-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "168zlzykq622zbgkh90a90f1bdgsxkscq2zxzbj8brq80hbjpyp7"))
+ (patches (list (search-patch "tophat-build-with-later-seqan.patch")))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove bundled SeqAn and samtools
+ (delete-file-recursively "src/SeqAn-1.3")
+ (delete-file-recursively "src/samtools-0.1.18")
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:parallel-build? #f ; not supported
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'use-system-samtools
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/Makefile.in"
+ (("(noinst_LIBRARIES = )\\$\\(SAMLIB\\)" _ prefix) prefix)
+ (("\\$\\(SAMPROG\\): \\$\\(SAMLIB\\)") "")
+ (("SAMPROG = samtools_0\\.1\\.18") "")
+ (("\\$\\(samtools_0_1_18_SOURCES\\)") "")
+ (("am__EXEEXT_1 = samtools_0\\.1\\.18\\$\\(EXEEXT\\)") ""))
+ (substitute* '("src/common.cpp"
+ "src/tophat.py")
+ (("samtools_0.1.18") (which "samtools")))
+ (substitute* '("src/common.h"
+ "src/bam2fastx.cpp")
+ (("#include \"bam.h\"") "#include <samtools/bam.h>")
+ (("#include \"sam.h\"") "#include <samtools/sam.h>"))
+ (substitute* '("src/bwt_map.h"
+ "src/map2gtf.h"
+ "src/align_status.h")
+ (("#include <bam.h>") "#include <samtools/bam.h>")
+ (("#include <sam.h>") "#include <samtools/sam.h>"))
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("bowtie" ,bowtie)
+ ("samtools" ,samtools-0.1)
+ ("ncurses" ,ncurses)
+ ("python" ,python-2)
+ ("perl" ,perl)
+ ("zlib" ,zlib)
+ ("seqan" ,seqan)))
+ (home-page "http://ccb.jhu.edu/software/tophat/index.shtml")
+ (synopsis "Spliced read mapper for RNA-Seq data")
+ (description
+ "TopHat is a fast splice junction mapper for nucleotide sequence
+reads produced by the RNA-Seq method. It aligns RNA-Seq reads to
+mammalian-sized genomes using the ultra high-throughput short read
+aligner Bowtie, and then analyzes the mapping results to identify
+splice junctions between exons.")
+ ;; TopHat is released under the Boost Software License, Version 1.0
+ ;; See https://github.com/infphilo/tophat/issues/11#issuecomment-121589893
+ (license license:boost1.0)))
+
(define-public bwa
(package
(name "bwa")
@@ -915,6 +982,64 @@ files between different genome assemblies. It supports most commonly used
file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
(license license:gpl2+)))
+(define-public cufflinks
+ (package
+ (name "cufflinks")
+ (version "2.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://cole-trapnell-lab.github.io/"
+ "cufflinks/assets/downloads/cufflinks-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1bnm10p8m7zq4qiipjhjqb24csiqdm1pwc8c795z253r2xk6ncg8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list
+ ;; The includes for "eigen" are located in a subdirectory.
+ (string-append "EIGEN_CPPFLAGS="
+ "-I" (assoc-ref %build-inputs "eigen")
+ "/include/eigen3/")
+ ;; Cufflinks must be linked with various boost libraries.
+ (string-append "LDFLAGS="
+ (string-join '("-lboost_system"
+ "-lboost_serialization"
+ "-lboost_thread"))))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-search-for-bam
+ (lambda _
+ (substitute* '("ax_bam.m4"
+ "configure"
+ "src/hits.h")
+ (("<bam/sam\\.h>") "<samtools/sam.h>")
+ (("<bam/bam\\.h>") "<samtools/bam.h>")
+ (("<bam/version\\.hpp>") "<samtools/version.h>"))
+ #t)))
+ #:configure-flags
+ (list (string-append "--with-bam="
+ (assoc-ref %build-inputs "samtools")))))
+ (inputs
+ `(("eigen" ,eigen)
+ ("samtools" ,samtools-0.1)
+ ("htslib" ,htslib)
+ ("boost" ,boost)
+ ("python" ,python-2)
+ ("zlib" ,zlib)))
+ (home-page "http://cole-trapnell-lab.github.io/cufflinks/")
+ (synopsis "Transcriptome assembly and RNA-Seq expression analysis")
+ (description
+ "Cufflinks assembles RNA transcripts, estimates their abundances,
+and tests for differential expression and regulation in RNA-Seq
+samples. It accepts aligned RNA-Seq reads and assembles the
+alignments into a parsimonious set of transcripts. Cufflinks then
+estimates the relative abundances of these transcripts based on how
+many reads support each one, taking into account biases in library
+preparation protocols.")
+ (license license:boost1.0)))
+
(define-public cutadapt
(package
(name "cutadapt")
@@ -3016,40 +3141,107 @@ optimized for modern read lengths of 100 bases or higher, and takes advantage
of these reads to align data quickly through a hash-based indexing scheme.")
(license license:asl2.0)))
+(define-public sortmerna
+ (package
+ (name "sortmerna")
+ (version "2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/biocore/sortmerna/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1670a92x1vvkacnvgr2i5xac3ls6lp4pc3n0bccnmllsnymggcf0"))))
+ (build-system gnu-build-system)
+ (outputs '("out" ;for binaries
+ "db")) ;for sequence databases
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (db (assoc-ref outputs "db"))
+ (share
+ (string-append db "/share/sortmerna/rRNA_databases")))
+ (install-file "sortmerna" bin)
+ (install-file "indexdb_rna" bin)
+ (for-each (lambda (file)
+ (install-file file share))
+ (find-files "rRNA_databases" ".*fasta"))
+ #t))))))
+ (home-page "http://bioinfo.lifl.fr/RNA/sortmerna")
+ (synopsis "Biological sequence analysis tool for NGS reads")
+ (description
+ "SortMeRNA is a biological sequence analysis tool for filtering, mapping
+and operational taxonomic unit (OTU) picking of next generation
+sequencing (NGS) reads. The core algorithm is based on approximate seeds and
+allows for fast and sensitive analyses of nucleotide sequences. The main
+application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
+ (license license:lgpl3)))
+
(define-public star
(package
(name "star")
- (version "2.4.2a")
+ (version "2.5.1b")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://github.com/alexdobin/STAR/archive/STAR_"
- version ".tar.gz"))
+ (uri (string-append "https://github.com/alexdobin/STAR/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1c3rnm7r5l0kl3d04gl1g7938xqf1c2l0mla87rlplqg1hcns5mc"))
+ "0wzcfhkg10apnh0y73xlarfa79xxwxdizicbdl11wb48awk44iq4"))
(modules '((guix build utils)))
(snippet
- '(substitute* "source/Makefile"
- (("/bin/rm") "rm")))))
+ '(begin
+ (substitute* "source/Makefile"
+ (("/bin/rm") "rm"))
+ ;; Remove pre-built binaries and bundled htslib sources.
+ (delete-file-recursively "bin/MacOSX_x86_64")
+ (delete-file-recursively "bin/Linux_x86_64")
+ (delete-file-recursively "source/htslib")
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no check target
#:make-flags '("STAR")
#:phases
- (alist-cons-after
- 'unpack 'enter-source-dir (lambda _ (chdir "source"))
- (alist-replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- (install-file "STAR" bin)))
- (alist-delete
- 'configure %standard-phases)))))
+ (modify-phases %standard-phases
+ (add-after 'unpack 'enter-source-dir
+ (lambda _ (chdir "source") #t))
+ (add-after 'enter-source-dir 'do-not-use-bundled-htslib
+ (lambda _
+ (substitute* "Makefile"
+ (("(Depend.list: \\$\\(SOURCES\\) parametersDefault\\.xxd) htslib"
+ _ prefix) prefix))
+ (substitute* '("BAMfunctions.cpp"
+ "signalFromBAM.h"
+ "bam_cat.h"
+ "bam_cat.c"
+ "STAR.cpp"
+ "bamRemoveDuplicates.cpp")
+ (("#include \"htslib/([^\"]+\\.h)\"" _ header)
+ (string-append "#include <" header ">")))
+ (substitute* "IncludeDefine.h"
+ (("\"htslib/(htslib/[^\"]+.h)\"" _ header)
+ (string-append "<" header ">")))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+ (install-file "STAR" bin))
+ #t))
+ (delete 'configure))))
(native-inputs
`(("vim" ,vim))) ; for xxd
(inputs
- `(("zlib" ,zlib)))
+ `(("htslib" ,htslib)
+ ("zlib" ,zlib)))
(home-page "https://github.com/alexdobin/STAR")
(synopsis "Universal RNA-seq aligner")
(description
@@ -4002,7 +4194,7 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
(define-public r-qtl
(package
(name "r-qtl")
- (version "1.37-11")
+ (version "1.38-4")
(source
(origin
(method url-fetch)
@@ -4010,7 +4202,7 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
version ".tar.gz"))
(sha256
(base32
- "0h20d36mww7ljp51pfs66xq33yq4b4fwq9nsh02dpmfhlaxgx1xi"))))
+ "0rv9xhp8lyldpgwxqirhyjqvg07dr5x4x1x2jpyj37dada9ccyx3"))))
(build-system r-build-system)
(home-page "http://rqtl.org/")
(synopsis "R package for analyzing QTL experiments in genetics")
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 967580d158..94383dba20 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (gnu packages libevent)
@@ -33,6 +35,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages check)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages python)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages tls))
@@ -148,3 +151,44 @@ full encryption, DHT, PEX, and Magnet Links. It can also be controlled via
XML-RPC over SCGI.")
(home-page "https://github.com/rakshasa/rtorrent")
(license l:gpl2+)))
+
+(define-public transmission-remote-cli
+ (package
+ (name "transmission-remote-cli")
+ (version "1.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/fagga/"
+ "transmission-remote-cli/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1y0hkpcjf6jw9xig8yf484hbhy63nip0pkchx401yxj81m25l4z9"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2 ; only supports Python 2
+ #:tests? #f ; no test suite
+ #:phases (modify-phases %standard-phases
+ ;; The software is just a Python script that must be
+ ;; copied into place.
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man1"))
+ ;; FIXME install zsh completions
+ (completions (string-append out "/etc/bash_completion.d")))
+ (install-file "transmission-remote-cli" bin)
+ (install-file "transmission-remote-cli.1" man)
+ (install-file
+ (string-append
+ "completion/bash/"
+ "transmission-remote-cli-bash-completion.sh")
+ completions)))))))
+ (synopsis "Console client for the Transmission BitTorrent daemon")
+ (description "Transmission-remote-cli is a console client, with a curses
+interface, for the Transmission BitTorrent daemon.")
+ (home-page "https://github.com/fagga/transmission-remote-cli")
+ (license l:gpl3+)))
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index dc94f97657..72fd993037 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -169,7 +169,7 @@ tools that process C/C++ code.")
(_ "UNSUPPORTED"))))
(package
(name "american-fuzzy-lop")
- (version "1.86b") ;It seems all releases have the 'b' suffix
+ (version "1.96b") ;It seems all releases have the 'b' suffix
(source
(origin
(method url-fetch)
@@ -177,7 +177,7 @@ tools that process C/C++ code.")
"afl-" version ".tgz"))
(sha256
(base32
- "1by9ncf6lgcyibzqwyla34jv64sd66mn8zhgjz2pcgsds51qwn0r"))))
+ "0z7j231p6v2h1dxxijgdzj1lq1lxr8cxllwf6iyv7p4ki5pv1gh3"))))
(build-system gnu-build-system)
(inputs
`(("custom-qemu"
@@ -190,11 +190,13 @@ tools that process C/C++ code.")
;; afl only supports using a single afl-qemu-trace executable, so
;; we only build qemu for the native target.
(arguments
- `(#:configure-flags
- (list (string-append "--target-list=" ,machine "-linux-user"))
- #:modules ((srfi srfi-1)
+ `(#:modules ((srfi srfi-1)
,@%gnu-build-system-modules)
,@(substitute-keyword-arguments (package-arguments qemu-2.3.0)
+ ((#:configure-flags config-flags)
+ ``(,(string-append "--target-list=" ,machine "-linux-user")
+ ,@(remove (λ (f) (string-prefix? "--target-list=" f))
+ ,config-flags)))
((#:phases qemu-phases)
`(modify-phases ,qemu-phases
(add-after
@@ -236,8 +238,8 @@ tools that process C/C++ code.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((qemu (assoc-ref inputs "custom-qemu"))
(out (assoc-ref outputs "out")))
- (copy-file (string-append qemu "/bin/qemu-" ,machine)
- (string-append out "/bin/afl-qemu-trace"))
+ (symlink (string-append qemu "/bin/qemu-" ,machine)
+ (string-append out "/bin/afl-qemu-trace"))
#t)))
(delete 'check))))
(supported-systems (fold delete
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 8357dad21e..ef07f30adf 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -1,5 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -63,14 +65,14 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public bind-utils
(package
(name "bind-utils")
- (version "9.10.3-P2")
+ (version "9.10.3-P3")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.isc.org/isc/bind9/" version
"/bind-" version ".tar.gz"))
(sha256
(base32
- "1kbfzml37sx4r2xi4gq48ji8w5kckd1f6gdn6pk6njqdmh8ijv2a"))))
+ "10yblk8qbb85qxakzdjy5qmqvqj4rlcqsqvlkriglampzg8i0239"))))
(build-system gnu-build-system)
(inputs
;; it would be nice to add GeoIP and gssapi once there is package
@@ -89,20 +91,24 @@ and BOOTP/TFTP for network booting of diskless machines.")
(assoc-ref %build-inputs "mysql"))
(string-append "--with-pkcs11="
(assoc-ref %build-inputs "p11-kit")))
+ #:modules ((srfi srfi-1)
+ (srfi srfi-26)
+ ,@%gnu-build-system-modules)
#:phases
- (alist-replace
- 'build
- (lambda _
- (and (zero? (system* "make" "-C" "lib/dns"))
- (zero? (system* "make" "-C" "lib/isc"))
- (zero? (system* "make" "-C" "lib/bind9"))
- (zero? (system* "make" "-C" "lib/isccfg"))
- (zero? (system* "make" "-C" "lib/lwres"))
- (zero? (system* "make" "-C" "bin/dig"))))
- (alist-replace
- 'install
- (lambda _ (zero? (system* "make" "-C" "bin/dig" "install")))
- %standard-phases))))
+ (let ((libs '("dns" "isc" "bind9" "isccfg" "lwres"))
+ (bins '("dig" "nsupdate")))
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (every (lambda (dir)
+ (zero? (system* "make" "-C" dir)))
+ (append (map (cut string-append "lib/" <>) libs)
+ (map (cut string-append "bin/" <>) bins)))))
+ (replace 'install
+ (lambda _
+ (every (lambda (dir)
+ (zero? (system* "make" "-C" dir "install")))
+ (map (cut string-append "bin/" <>) bins))))))))
(home-page "https://www.isc.org/downloads/bind/")
(synopsis "Tools for querying nameservers")
(description
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 718e8b3e50..a551c1d075 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -60,7 +60,7 @@
(define-public calibre
(package
(name "calibre")
- (version "2.48.0")
+ (version "2.49.0")
(source
(origin
(method url-fetch)
@@ -69,7 +69,7 @@
version ".tar.xz"))
(sha256
(base32
- "0bjzw806czqxkhq9qqkhff8bhfc428pijkidb1h6gr47jqdp4hpg"))
+ "0jc476pg07c0nwccprhwgjdlvvb2fdzza9xrjqzc0c42c5v7qzxa"))
;; 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/enlightenment.scm b/gnu/packages/enlightenment.scm
index 9fdcd42a27..3fec6c6fc7 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -271,7 +271,7 @@ Libraries with some extra bells and whistles.")
(define-public enlightenment
(package
(name "enlightenment")
- (version "0.20.2")
+ (version "0.20.3")
(source (origin
(method url-fetch)
(uri
@@ -279,7 +279,7 @@ Libraries with some extra bells and whistles.")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
- "0faxky7lqd133jjjkr4c40kwwjhqc51ww10l3yy63671rfjhj424"))))
+ "19z3bwdzwpzwi330l5g5mj7xy6wy8xrc39zivjhm0d1ql3fh649j"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-mount-eeze")))
diff --git a/gnu/packages/grue-hunter.scm b/gnu/packages/grue-hunter.scm
index 29404fcfb4..71eee96daf 100644
--- a/gnu/packages/grue-hunter.scm
+++ b/gnu/packages/grue-hunter.scm
@@ -32,7 +32,7 @@
(source
(origin
(method url-fetch)
- (uri (string-append "http://jxself.org/" name ".tar.gz"))
+ (uri (string-append "https://jxself.org/" name ".tar.gz"))
(sha256
(base32
"1hjcpy5439qs3v2zykis7hsi0i17zjs62gks3zd8mnfw9ni4i2h3"))))
diff --git a/gnu/packages/lego.scm b/gnu/packages/lego.scm
new file mode 100644
index 0000000000..d47be5dfb4
--- /dev/null
+++ b/gnu/packages/lego.scm
@@ -0,0 +1,67 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages lego)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages flex))
+
+(define-public nqc
+ (package
+ (name "nqc")
+ (version "3.1.r6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://bricxcc.sourceforge.net/nqc/release/"
+ "nqc-" version ".tgz"))
+ (sha256
+ (base32
+ "0rp7pzr8xrdxpv75c2mi8zszzz2ypli4vvzxiic7mbrryrafdmdz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (arguments
+ '(#:tests? #f ;no tests
+ #:make-flags (list (string-append "PREFIX=" %output))
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'rm-generated
+ ;; Regenerating compiler/lexer.cpp avoids an 'undefined
+ ;; reference to `isatty(int)'' error.
+ (lambda _
+ (for-each delete-file
+ '("compiler/lexer.cpp"
+ "compiler/parse.cpp"))
+ #t))
+ (add-after 'unpack 'deal-with-tarbomb
+ (lambda _
+ (chdir "..") ;tarbomb
+ #t)))))
+ (home-page "http://bricxcc.sourceforge.net/nqc/")
+ (synopsis "C-like language for Lego's MINDSTORMS")
+ (description
+ "Not Quite C (NQC) is a simple language for programming several Lego
+MINDSTORMS products. The preprocessor and control structures of NQC are very
+similar to C. NQC is not a general purpose language -- there are many
+restrictions that stem from limitations of the standard RCX firmware.")
+ (license license:mpl1.0)))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3ca4ef1868..6500aa51f5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2,10 +2,10 @@
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
@@ -286,7 +286,9 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
(uri (linux-libre-urls version))
(sha256
(base32
- "1839xsaifs7vvyblzin8jps0gqi10xmz1l9p4x0j27vmdj39jgpm"))))
+ "1839xsaifs7vvyblzin8jps0gqi10xmz1l9p4x0j27vmdj39jgpm"))
+ (patches
+ (list (search-patch "linux-libre-CVE-2016-0728.patch")))))
(build-system gnu-build-system)
(supported-systems '("x86_64-linux" "i686-linux"))
(native-inputs `(("perl" ,perl)
@@ -1234,7 +1236,7 @@ processes currently causing I/O.")
(define-public fuse
(package
(name "fuse")
- (version "2.9.4")
+ (version "2.9.5")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -1245,7 +1247,7 @@ processes currently causing I/O.")
"/fuse-" version ".tar.gz")))
(sha256
(base32
- "1qbwp63a2bp0bchabkwiyzszi9x5krlk2pwk2is6g35gyszw1sbb"))))
+ "1dfvbi1p57svbv2sfnbqwpnsk219spvjnlapf35azhgzqlf3g7sp"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)))
(arguments
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 1057564b39..d41479e83f 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -8,7 +8,8 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -519,7 +520,7 @@ MailCore 2.")
(define-public claws-mail
(package
(name "claws-mail")
- (version "3.13.1")
+ (version "3.13.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -527,7 +528,7 @@ MailCore 2.")
".tar.xz"))
(sha256
(base32
- "049av7r0xhjjjm1p93l2ns3xisvn125v3ncqar23cqjzgcichg5d"))))
+ "1l8ankx0qpq1ix1an8viphcf11ksh53jsrm1xjmq8cjbh5910wva"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("bogofilter" ,bogofilter)
@@ -1014,4 +1015,32 @@ compatibility shims for the @command{sendmail}, @command{mailq}, and
@command{newaliases} commands.")
(license gpl2+)))
+(define-public fdm
+ (package
+ (name "fdm")
+ (version "1.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/nicm/fdm/releases/download/"
+ version "/fdm-"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "054rscijahiza5f9qha79rg3siji3bk5mk10f8c2vqx7m4w6qh8n"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("tdb" ,tdb)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (home-page "https://github.com/nicm/fdm")
+ (synopsis "Mail Retrieval Agent (MRA) and Mail Delivery Agent (MDA)")
+ (description "fdm is a program designed to fetch mail from POP3
+or IMAP servers, or receive local mail from stdin, and
+deliver it in various ways.")
+ (license
+ ;; Why point to a source file? Well, all the individual files have a
+ ;; copy of this license in their headers, but there's no seprate file
+ ;; with that information.
+ (non-copyleft "https://github.com/nicm/fdm/blob/master/command.c"))))
+
;;; mail.scm ends here
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 956045d420..23c7a0bbdd 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
@@ -425,7 +425,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
(define-public gajim
(package
(name "gajim")
- (version "0.16.4")
+ (version "0.16.5")
(source (origin
(method url-fetch)
(uri (string-append "https://gajim.org/downloads/"
@@ -433,10 +433,17 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
"/gajim-" version ".tar.bz2"))
(sha256
(base32
- "0zyfs7q1qg8iqszr8l1gb18gqla6zrrfsgpmbxblpi9maqxas5i1"))))
+ "14fhcqnkqygh91132dnf1idayj4r3iqbwb44sd3mxv20n6ribh55"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(;; The only check done by gajim-0.16.x is to check that the
+ ;; translations are up-to-date, and in 0.16.5 they are not, so
+ ;; "make check" fails. Therefore, we disable tests for now.
+ ;;
+ ;; XXX TODO Try re-enabling tests in gajim-0.16.6 or later.
+ ;;
+ #:tests? #f
+ #:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index bfc90c1eeb..a60ba4bccd 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
@@ -328,7 +328,11 @@ you to define complex tempo maps for entire songs or performances.")
music. Music is input in a text file containing control sequences which are
interpreted by LilyPond to produce the final document. It is extendable with
Guile.")
- (license license:gpl3+)))
+ (license license:gpl3+)
+
+ ;; On armhf and mips64el, building the documentation sometimes leads to
+ ;; more than an hour of silence, so double the max silent time.
+ (properties `((max-silent-time . 7200)))))
(define-public non-sequencer
;; The latest tagged release is three years old and uses a custom build
@@ -957,7 +961,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.3.7.1")
+ (version "1.3.8.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@@ -965,7 +969,7 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
- "13xc1x8jrr2rn26jx4dini692ww3771d5j5xf7f56ixqr7mmdhvz"))))
+ "0wl4ln6v1nkkx56kfah23chyrhga2vi93i82g0s200c4s4184xr8"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
@@ -1036,3 +1040,41 @@ graphically in the terminal. It is built on a full-featured subtractive
synthesis engine. Notes and parameter changes may be entered via MIDI or the
computer's keyboard.")
(license license:gpl3+)))
+
+(define-public qtractor
+ (package
+ (name "qtractor")
+ (version "0.7.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://downloads.sourceforge.net/qtractor/"
+ "qtractor-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vy4297myyqk0k58nzybgvgklckhngpdcnmp98k0rq98dirclbl7"))))
+ (build-system gnu-build-system)
+ (arguments `(#:tests? #f)) ; no "check" target
+ (inputs
+ `(("qt" ,qt)
+ ("alsa-lib" ,alsa-lib)
+ ("jack" ,jack-1)
+ ("libsndfile" ,libsndfile)
+ ("ladspa" ,ladspa)
+ ("lv2" ,lv2)
+ ("lilv" ,lilv)
+ ("suil" ,suil)
+ ("libsamplerate" ,libsamplerate)
+ ("libvorbis" ,libvorbis)
+ ("libmad" ,libmad)
+ ("rubberband" ,rubberband)
+ ("liblo" ,liblo)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://qtractor.sourceforge.net/")
+ (synopsis "Audio/MIDI multi-track sequencer")
+ (description
+ "Qtractor is an Audio/MIDI multi-track sequencer application. It uses
+JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
+follows a traditional multi-track tape recorder control paradigm.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index f58f3d9328..352e2b47e0 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,7 +28,7 @@
(define-public nano
(package
(name "nano")
- (version "2.5.0")
+ (version "2.5.1")
(source
(origin
(method url-fetch)
@@ -36,7 +36,7 @@
version ".tar.gz"))
(sha256
(base32
- "1vl9bim56k1b4zwc3icxp46w6pn6gb042j1h4jlz1jklxxpkwcpz"))))
+ "1piv8prj6w3rvsrrx41ra8c10b8fzkgjhnm6399lsgqqpw0wlvz0"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gnu-gettext)
diff --git a/gnu/packages/patches/arb-ldconfig.patch b/gnu/packages/patches/arb-ldconfig.patch
new file mode 100644
index 0000000000..478ec5a6f0
--- /dev/null
+++ b/gnu/packages/patches/arb-ldconfig.patch
@@ -0,0 +1,22 @@
+diff -u -r arb-2.8.1.orig/configure arb-2.8.1/configure
+--- arb-2.8.1.orig/configure 2015-12-31 17:30:01.000000000 +0100
++++ arb-2.8.1/configure 2016-01-20 16:41:41.336726596 +0100
+@@ -647,6 +647,7 @@
+ echo "ARB_SHARED=$SHARED" >> Makefile
+ echo "ARB_LIB=$ARB_LIB" >> Makefile
+ echo "ARB_LIBNAME=$ARB_LIBNAME" >> Makefile
++echo "ARB_MAJOR=$ARB_MAJOR" >> Makefile
+ echo "ARB_SOLIB=$ARB_SOLIB" >> Makefile
+ echo "EXEEXT=$EXEEXT" >> Makefile
+ echo "PREFIX=$PREFIX" >> Makefile
+diff -u -r arb-2.8.1.orig/Makefile.in arb-2.8.1/Makefile.in
+--- arb-2.8.1.orig/Makefile.in 2015-12-31 17:30:01.000000000 +0100
++++ arb-2.8.1/Makefile.in 2016-01-20 16:30:32.575298517 +0100
+@@ -101,6 +101,7 @@
+ $(LDCONFIG) -n "$(CURDIR)"; \
+ fi
+ ln -sf "$(ARB_LIB)" "$(ARB_LIBNAME)"; \
++ ln -sf "$(ARB_LIB)" "$(ARB_LIBNAME).$(ARB_MAJOR)"; \
+
+ libarb.a: $(OBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | build build/interfaces
+ $(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir); BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) static || exit $$?;))
diff --git a/gnu/packages/patches/linux-libre-CVE-2016-0728.patch b/gnu/packages/patches/linux-libre-CVE-2016-0728.patch
new file mode 100644
index 0000000000..254d6c1aea
--- /dev/null
+++ b/gnu/packages/patches/linux-libre-CVE-2016-0728.patch
@@ -0,0 +1,84 @@
+Copied from
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=23567fd052a9abb6d67fe8e7a9ccdd9800a540f2
+
+From 23567fd052a9abb6d67fe8e7a9ccdd9800a540f2 Mon Sep 17 00:00:00 2001
+From: Yevgeny Pats <yevgeny@perception-point.io>
+Date: Tue, 19 Jan 2016 22:09:04 +0000
+Subject: KEYS: Fix keyring ref leak in join_session_keyring()
+
+This fixes CVE-2016-0728.
+
+If a thread is asked to join as a session keyring the keyring that's already
+set as its session, we leak a keyring reference.
+
+This can be tested with the following program:
+
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <keyutils.h>
+
+ int main(int argc, const char *argv[])
+ {
+ int i = 0;
+ key_serial_t serial;
+
+ serial = keyctl(KEYCTL_JOIN_SESSION_KEYRING,
+ "leaked-keyring");
+ if (serial < 0) {
+ perror("keyctl");
+ return -1;
+ }
+
+ if (keyctl(KEYCTL_SETPERM, serial,
+ KEY_POS_ALL | KEY_USR_ALL) < 0) {
+ perror("keyctl");
+ return -1;
+ }
+
+ for (i = 0; i < 100; i++) {
+ serial = keyctl(KEYCTL_JOIN_SESSION_KEYRING,
+ "leaked-keyring");
+ if (serial < 0) {
+ perror("keyctl");
+ return -1;
+ }
+ }
+
+ return 0;
+ }
+
+If, after the program has run, there something like the following line in
+/proc/keys:
+
+3f3d898f I--Q--- 100 perm 3f3f0000 0 0 keyring leaked-keyring: empty
+
+with a usage count of 100 * the number of times the program has been run,
+then the kernel is malfunctioning. If leaked-keyring has zero usages or
+has been garbage collected, then the problem is fixed.
+
+Reported-by: Yevgeny Pats <yevgeny@perception-point.io>
+Signed-off-by: David Howells <dhowells@redhat.com>
+Acked-by: Don Zickus <dzickus@redhat.com>
+Acked-by: Prarit Bhargava <prarit@redhat.com>
+Acked-by: Jarod Wilson <jarod@redhat.com>
+Signed-off-by: James Morris <james.l.morris@oracle.com>
+---
+ security/keys/process_keys.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c
+index a3f85d2..e6d50172 100644
+--- a/security/keys/process_keys.c
++++ b/security/keys/process_keys.c
+@@ -794,6 +794,7 @@ long join_session_keyring(const char *name)
+ ret = PTR_ERR(keyring);
+ goto error2;
+ } else if (keyring == new->session_keyring) {
++ key_put(keyring);
+ ret = 0;
+ goto error2;
+ }
+--
+cgit v0.12
+
diff --git a/gnu/packages/patches/tophat-build-with-later-seqan.patch b/gnu/packages/patches/tophat-build-with-later-seqan.patch
new file mode 100644
index 0000000000..fc742e2a7d
--- /dev/null
+++ b/gnu/packages/patches/tophat-build-with-later-seqan.patch
@@ -0,0 +1,24 @@
+This patch resolves a build failure when building TopHat 2.1.0 with SeqAn 1.4.
+This is the relevant part of a patch originally posted here:
+https://lists.fu-berlin.de/pipermail/seqan-dev/2014-July/msg00001.html
+
+--- a/src/segment_juncs.cpp
++++ b/src/segment_juncs.cpp
+@@ -2050,10 +2050,13 @@ void juncs_from_ref_segs(RefSequenceTabl
+ typedef map<uint32_t, IntronMotifs> MotifMap;
+
+ MotifMap ims;
+-
+- seqan::DnaStringReverseComplement rev_donor_dinuc(donor_dinuc);
+- seqan::DnaStringReverseComplement rev_acceptor_dinuc(acceptor_dinuc);
+-
++
++ typedef seqan::ModifiedString<
++ seqan::ModifiedString<seqan::DnaString const, seqan::ModView<seqan::FunctorComplement<seqan::Dna> > >,
++ seqan::ModReverse> ConstDnaStringReverseComplement;
++ ConstDnaStringReverseComplement rev_donor_dinuc(donor_dinuc);
++ ConstDnaStringReverseComplement rev_acceptor_dinuc(acceptor_dinuc);
++
+ if (talkative)
+ fprintf(stderr, "Collecting potential splice sites in islands\n");
+
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index c10d1cbfc7..be48b25c9a 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -339,13 +339,13 @@ security, and applying best practice development processes.")
(define-public acme
(package
(name "acme")
- (version "0.1.1")
+ (version "0.2.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
- "1yv0gy8akaqp5p2wjpfj8r5i0da04a9qdmlh06rczdkrmk6q680w"))))
+ "1xcbywzrwrj2cmqhaj4k6b11wfkbm3i7za2k9j1sd74rs1zh5abl"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
@@ -371,13 +371,13 @@ security, and applying best practice development processes.")
(define-public letsencrypt
(package
(name "letsencrypt")
- (version "0.1.1")
+ (version "0.2.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "letsencrypt" version))
(sha256
(base32
- "1kia3wk66lxyi2fghp9sd7cqgr5qiwdfayz153hi4wpa3q1q8rwf"))))
+ "0q57ylx00b6kl9zvawgag5yl03vlv1cjhp18xm96682pdibbgjci"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index e6e8876597..5fb8f954aa 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,14 +37,14 @@
(define-public tor
(package
(name "tor")
- (version "0.2.7.5")
+ (version "0.2.7.6")
(source (origin
(method url-fetch)
(uri (string-append "https://www.torproject.org/dist/tor-"
version ".tar.gz"))
(sha256
(base32
- "0pxayvcab4cb107ynbpzx4g0qyr1mjfba2an76wdx6dxn56rwakx"))))
+ "0p8hjlfi8dwghlyjif5s0q98cmpgz9kn9jja25430l04z5wqcfj9"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2))) ; for tests
@@ -103,7 +104,7 @@ rejects UDP traffic from the application you're using.")
(define-public privoxy
(package
(name "privoxy")
- (version "3.0.21")
+ (version "3.0.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/ijbswa/Sources/"
@@ -111,7 +112,7 @@ rejects UDP traffic from the application you're using.")
version "-stable-src.tar.gz"))
(sha256
(base32
- "1f6xb7aa47p90c26vqaw74y6drs9gpnhxsgby3mx0awdjh0ydisy"))))
+ "04mhkz5g713i2crvjd6s783hhrlsjjjlfb9llbaf13ghg3fgd0d3"))))
(build-system gnu-build-system)
(arguments
'(;; The default 'sysconfdir' is $out/etc; change that to
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 1edf9f8d9c..e0626cb3ac 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
@@ -1004,7 +1004,7 @@ modification time.")
(define-public myrepos
(package
(name "myrepos")
- (version "1.20151022")
+ (version "1.20160123")
(source
(origin
(method url-fetch)
@@ -1013,7 +1013,7 @@ modification time.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0c93lqsngpsxsca7nygk4qhidr40ijgih86q81x1mfcwbs0gbds8"))))
+ (base32 "1723cg5haplz2w9dwdzp6ds1ip33cx3awmj4wnb0h4yq171v5lqk"))))
(build-system gnu-build-system)
(inputs
`(("perl" ,perl)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 12f10b9915..636f76584d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
+;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
@@ -1265,6 +1265,39 @@ functionality of the system is provided via an assortment of ready to use
tools, XML authoring components, and an extensible plug-in based API.")
(license license:lgpl2.1+)))
+(define-public v4l-utils
+ (package
+ (name "v4l-utils")
+ (version "1.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://linuxtv.org/downloads/v4l-utils"
+ "/v4l-utils-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0cqv8drw0z0kfmz4f50a8kzbrz6vbj6j6q78030hgshr7yq1jqig"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ (list (string-append "--with-udevdir="
+ (assoc-ref %outputs "out")
+ "/lib/udev"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("glu" ,glu)
+ ("libjpeg" ,libjpeg)
+ ("libx11" ,libx11)
+ ("qt" ,qt)
+ ("eudev" ,eudev)))
+ (synopsis "Realtime video capture utilities for Linux")
+ (description "The v4l-utils provide a series of libraries and utilities to
+be used for realtime video capture via Linux-specific APIs.")
+ (home-page "https://linuxtv.org/wiki/index.php/V4l-utils")
+ ;; libv4l2 is LGPL2.1+, while utilities are GPL2 only.
+ (license (list license:lgpl2.1+ license:gpl2))))
+
(define-public obs
(package
(name "obs")
@@ -1293,6 +1326,7 @@ tools, XML authoring components, and an extensible plug-in based API.")
("mesa" ,mesa)
("pulseaudio" ,pulseaudio)
("qt" ,qt)
+ ("v4l-utils" ,v4l-utils)
("zlib" ,zlib)))
(synopsis "Live streaming software")
(description "Open Broadcaster Software provides a graphical interface for
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index bc2294e58c..cca0c14c1b 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -293,7 +293,7 @@ ogginfo, to obtain information (tags, bitrate, length, etc.) about
(define opus
(package
(name "opus")
- (version "1.1.1")
+ (version "1.1.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -301,7 +301,7 @@ ogginfo, to obtain information (tags, bitrate, length, etc.) about
".tar.gz"))
(sha256
(base32
- "07iplfwim26b6k1bqjyciaqvihps9rk5gi8385axa83ppmbgz14v"))))
+ "1z87x5c5x951lhnm70iqr2gqn15wns5cqsw8nnkvl48jwdw00a8f"))))
(build-system gnu-build-system)
(synopsis "Versatile audio codec")
(description
@@ -349,7 +349,7 @@ decoding .opus files.")
(define opusfile
(package
(name "opusfile")
- (version "0.6")
+ (version "0.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -357,7 +357,7 @@ decoding .opus files.")
".tar.gz"))
(sha256
(base32
- "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14"))))
+ "00f3wwjv3hxwg05g22s6mkkxikz80ljsn70g39cmi43jph9ysawy"))))
(build-system gnu-build-system)
(propagated-inputs
`(("opus" ,opus)))
@@ -409,7 +409,7 @@ things in between.")
(define-public libshout
(package
(name "libshout")
- (version "2.3.1")
+ (version "2.4.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -417,7 +417,7 @@ things in between.")
name "-" version ".tar.gz"))
(sha256
(base32
- "0vlj4dxfxg06xhvv0z2zjjlrjh5di2m28w7v16zcygsy99mmyg6g"))))
+ "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm
index 49a737f090..909abeffe6 100644
--- a/gnu/services/avahi.scm
+++ b/gnu/services/avahi.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,7 +26,8 @@
#:use-module (gnu packages admin)
#:use-module (guix records)
#:use-module (guix gexp)
- #:export (avahi-service))
+ #:export (avahi-service
+ avahi-service-type))
;;; Commentary:
;;;
diff --git a/gnu/system.scm b/gnu/system.scm
index ee0280c069..edcfaf66fe 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -79,6 +79,7 @@
operating-system-locale-libcs
operating-system-mapped-devices
operating-system-file-systems
+ operating-system-store-file-system
operating-system-activation-script
operating-system-derivation
@@ -678,12 +679,34 @@ listed in OS. The C library expects to find it under
(package-version kernel)
" (alpha)"))
+(define (store-file-system file-systems)
+ "Return the file system object among FILE-SYSTEMS that contains the store."
+ (match (filter (lambda (fs)
+ (and (file-system-mount? fs)
+ (not (memq 'bind-mount (file-system-flags fs)))
+ (string-prefix? (file-system-mount-point fs)
+ (%store-prefix))))
+ file-systems)
+ ((and candidates (head . tail))
+ (reduce (lambda (fs1 fs2)
+ (if (> (string-length (file-system-mount-point fs1))
+ (string-length (file-system-mount-point fs2)))
+ fs1
+ fs2))
+ head
+ candidates))))
+
+(define (operating-system-store-file-system os)
+ "Return the file system that contains the store of OS."
+ (store-file-system (operating-system-file-systems os)))
+
(define* (operating-system-grub.cfg os #:optional (old-entries '()))
"Return the GRUB configuration file for OS. Use OLD-ENTRIES to populate the
\"old entries\" menu."
(mlet* %store-monad
((system (operating-system-derivation os))
(root-fs -> (operating-system-root-file-system os))
+ (store-fs -> (operating-system-store-file-system os))
(kernel -> (operating-system-kernel os))
(root-device -> (if (eq? 'uuid (file-system-title root-fs))
(uuid->string (file-system-device root-fs))
@@ -698,7 +721,8 @@ listed in OS. The C library expects to find it under
"/boot")
(operating-system-kernel-arguments os)))
(initrd #~(string-append #$system "/initrd"))))))
- (grub-configuration-file (operating-system-bootloader os) entries
+ (grub-configuration-file (operating-system-bootloader os)
+ store-fs entries
#:old-entries old-entries)))
(define (operating-system-parameters-file os)
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index 5b824820b1..45b46cae6f 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +25,7 @@
#:use-module (guix gexp)
#:use-module (guix download)
#:use-module (gnu artwork)
+ #:use-module (gnu system file-systems)
#:autoload (gnu packages grub) (grub)
#:autoload (gnu packages inkscape) (inkscape)
#:autoload (gnu packages imagemagick) (imagemagick)
@@ -153,10 +154,12 @@ WIDTH/HEIGHT, or #f if none was found."
(with-monad %store-monad
(return #f)))))
-(define (eye-candy config system port)
+(define (eye-candy config root-fs system port)
"Return in %STORE-MONAD a gexp that writes to PORT (a port-valued gexp) the
'grub.cfg' part concerned with graphics mode, background images, colors, and
-all that."
+all that. ROOT-FS is a file-system object denoting the root file system where
+the store is. SYSTEM must be the target system string---e.g.,
+\"x86_64-linux\"."
(define setup-gfxterm-body
;; Intel systems need to be switched into graphics mode, whereas most
;; other modern architectures have no other mode and therefore don't need
@@ -179,15 +182,18 @@ all that."
(string-append (symbol->string (assoc-ref colors 'fg)) "/"
(symbol->string (assoc-ref colors 'bg)))))
+ (define font-file
+ #~(string-append #$grub "/share/grub/unicode.pf2"))
+
(mlet* %store-monad ((image (grub-background-image config)))
(return (and image
#~(format #$port "
function setup_gfxterm {~a}
# Set 'root' to the partition that contains /gnu/store.
-search --file --set ~a/share/grub/unicode.pf2
+~a
-if loadfont ~a/share/grub/unicode.pf2; then
+if loadfont ~a; then
setup_gfxterm
fi
@@ -200,7 +206,9 @@ else
set menu_color_highlight=white/blue
fi~%"
#$setup-gfxterm-body
- #$grub #$grub
+ #$(grub-root-search root-fs font-file)
+ #$font-file
+
#$image
#$(theme-colors grub-theme-color-normal)
#$(theme-colors grub-theme-color-highlight))))))
@@ -210,13 +218,31 @@ fi~%"
;;; Configuration file.
;;;
-(define* (grub-configuration-file config entries
+(define (grub-root-search root-fs file)
+ "Return the GRUB 'search' command to look for ROOT-FS, which contains FILE,
+a gexp. The result is a gexp that can be inserted in the grub.cfg-generation
+code."
+ (case (file-system-title root-fs)
+ ;; Preferably refer to ROOT-FS by its UUID or label. This is more
+ ;; efficient and less ambiguous, see <>.
+ ((uuid)
+ (format #f "search --fs-uuid --set ~a"
+ (uuid->string (file-system-device root-fs))))
+ ((label)
+ (format #f "search --label --set ~a"
+ (file-system-device root-fs)))
+ (else
+ ;; As a last resort, look for any device containing FILE.
+ #~(format #f "search --file --set ~a" #$file))))
+
+(define* (grub-configuration-file config store-fs entries
#:key
(system (%current-system))
(old-entries '()))
"Return the GRUB configuration file corresponding to CONFIG, a
-<grub-configuration> object. OLD-ENTRIES is taken to be a list of menu
-entries corresponding to old generations of the system."
+<grub-configuration> object, and where the store is available at STORE-FS, a
+<file-system> object. OLD-ENTRIES is taken to be a list of menu entries
+corresponding to old generations of the system."
(define linux-image-name
(if (string-prefix? "mips" system)
"vmlinuz"
@@ -229,18 +255,18 @@ entries corresponding to old generations of the system."
(match-lambda
(($ <menu-entry> label linux arguments initrd)
#~(format port "menuentry ~s {
- # Set 'root' to the partition that contains the kernel.
- search --file --set ~a/~a~%
-
+ ~a
linux ~a/~a ~a
initrd ~a
}~%"
#$label
- #$linux #$linux-image-name
+ #$(grub-root-search store-fs
+ #~(string-append #$linux "/"
+ #$linux-image-name))
#$linux #$linux-image-name (string-join (list #$@arguments))
#$initrd))))
- (mlet %store-monad ((sugar (eye-candy config system #~port)))
+ (mlet %store-monad ((sugar (eye-candy config store-fs system #~port)))
(define builder
#~(call-with-output-file #$output
(lambda (port)