diff options
author | Mark H Weaver <mhw@netris.org> | 2016-01-24 21:04:54 -0500 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2016-01-24 21:04:54 -0500 |
commit | 412bee5e2931a53066ae593808935608d54a4345 (patch) | |
tree | 28b297694296115f056ead6de81d24bbd98d75f5 /gnu | |
parent | 68716289995d106c7adc779548eebc5df324e6cf (diff) | |
parent | 880d647d0f1a0ea0aea2af84fa2e99e3286b65a1 (diff) | |
download | guix-412bee5e2931a53066ae593808935608d54a4345.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
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) |