From 209778717a214cb4d506fe9aa673a4d2c2716b6c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 20 Dec 2015 16:24:24 -0600 Subject: [PATCH 001/128] gnu: Add Asymptote. * gnu/packages/bdw-gc.scm (libgc-for-c++): New variable. * gnu/packages/plotutils.scm (asymptote): New variable. * gnu/packages/patches/asymptote-gsl2.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/bdw-gc.scm | 7 +++ gnu/packages/patches/asymptote-gsl2.patch | 33 +++++++++++ gnu/packages/plotutils.scm | 69 +++++++++++++++++++++++ 4 files changed, 110 insertions(+) create mode 100644 gnu/packages/patches/asymptote-gsl2.patch diff --git a/gnu-system.am b/gnu-system.am index 24f7516fcf..c0f8fac1ab 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -405,6 +405,7 @@ dist_patch_DATA = \ gnu/packages/patches/agg-am_c_prototype.patch \ gnu/packages/patches/alsa-lib-mips-atomic-fix.patch \ gnu/packages/patches/apr-skip-getservbyname-test.patch \ + gnu/packages/patches/asymptote-gsl2.patch \ gnu/packages/patches/ath9k-htc-firmware-binutils.patch \ gnu/packages/patches/ath9k-htc-firmware-gcc.patch \ gnu/packages/patches/ath9k-htc-firmware-objcopy.patch \ diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index 66158912d7..f4bbc64569 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -104,3 +104,10 @@ lock-free code, experiment with thread programming paradigms, etc.") ;; 'USE_LIBC_PRIVATES' is now the default. (arguments '()))) + +;;; TODO: Remove this package once libgc is updated from core-updates. +(define-public libgc-for-c++ + (package (inherit libgc) + (name "libgc-cxx") + (arguments + '(#:configure-flags '("--enable-cplusplus"))))) ;install gc_cpp.h et al. diff --git a/gnu/packages/patches/asymptote-gsl2.patch b/gnu/packages/patches/asymptote-gsl2.patch new file mode 100644 index 0000000000..4f73d16d7f --- /dev/null +++ b/gnu/packages/patches/asymptote-gsl2.patch @@ -0,0 +1,33 @@ +From 71ff9e769ba5d9995b367201f0d41b7a8dedab9d Mon Sep 17 00:00:00 2001 +From: John Bowman +Date: Sat, 14 Nov 2015 01:25:56 -0700 +Subject: [PATCH] Support GSL 2.0. + +--- + gsl.cc | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/gsl.cc b/gsl.cc +index b500557..0f81dc6 100644 +--- a/gsl.cc ++++ b/gsl.cc +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #include "opsymbols.h" + +@@ -1088,7 +1089,11 @@ void gen_rungsl_venv(venv &ve) + addGSLDOUBLE2Func(SYM(F)); + addGSLDOUBLE2Func(SYM(E)); + addGSLDOUBLE3Func(SYM(P),SYM(phi),SYM(k),SYM(n)); ++#if GSL_MAJOR_VERSION >= 2 ++ addGSLDOUBLE2Func(SYM(D),SYM(phi),SYM(k)); ++#else + addGSLDOUBLE3Func(SYM(D),SYM(phi),SYM(k),SYM(n)); ++#endif + addGSLDOUBLE2Func(SYM(RC),SYM(x),SYM(y)); + addGSLDOUBLE3Func(SYM(RD),SYM(x),SYM(y),SYM(z)); + addGSLDOUBLE3Func(SYM(RF),SYM(x),SYM(y),SYM(z)); diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 6166226dce..09a2d4f91d 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2015 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,21 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages algebra) + #:use-module (gnu packages bdw-gc) #:use-module (gnu packages xorg) #:use-module (gnu packages image) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages guile) + #:use-module (gnu packages gl) #:use-module (gnu packages gtk) + #:use-module (gnu packages maths) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages readline) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages texlive) #:use-module (gnu packages compression) #:use-module (gnu packages)) @@ -156,3 +167,61 @@ just-in-time graph generation, handles date and time data nicely, and has basic statistical capabilities. It allows significant user control over colors, styles, options and details.") (license license:gpl2+))) + +(define-public asymptote + (package + (name "asymptote") + (version "2.35") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/asymptote/" + version "/asymptote-" version ".src.tgz")) + (sha256 + (base32 + "11f28vxw0ybhvl7vxmqcdwvw7y6gz55ykw9ybgzb2px6lsvgag7z")) + (patches (list (search-patch "asymptote-gsl2.patch"))))) + (build-system gnu-build-system) + ;; Note: The 'asy' binary retains a reference to docdir for use with its + ;; "help" command in interactive mode, so adding a "doc" output is not + ;; currently useful. + (native-inputs + `(("gs" ,ghostscript) ;For tests + ("texinfo" ,texinfo) ;For generating documentation + ("texlive" ,texlive) ;For tests and documentation + ("perl" ,perl))) + (inputs + `(("fftw" ,fftw) + ("freeglut" ,freeglut) + ("gsl" ,gsl) + ("libgc" ,libgc-for-c++) + ("python" ,python-2) + ("readline" ,readline) + ("zlib" ,zlib))) + (arguments + `(#:configure-flags + (list (string-append "--enable-gc=" (assoc-ref %build-inputs "libgc")) + (string-append "--with-latex=" + (assoc-ref %outputs "out") + "/share/texmf/tex/latex") + (string-append "--with-context=" + (assoc-ref %outputs "out") + "/share/texmf/tex/context/third")) + #:phases (modify-phases %standard-phases + (add-before 'build 'patch-pdf-viewer + (lambda _ + ;; Default to a free pdf viewer + (substitute* "settings.cc" + (("defaultPDFViewer=\"acroread\"") + "defaultPDFViewer=\"gv\""))))))) + (home-page "http://asymptote.sourceforge.net") + (synopsis "Script-based vector graphics language") + (description + "Asymptote is a powerful descriptive vector graphics language for +technical drawing, inspired by MetaPost but with an improved C++-like syntax. +Asymptote provides for figures the same high-quality level of typesetting that +LaTeX does for scientific text.") + ;; Most source files do not contain license statements, but the README + ;; contains: "All source files in the Asymptote project, unless explicitly + ;; noted otherwise, are released under version 3 (or later) of the GNU + ;; Lesser General Public License" + (license license:lgpl3+))) From f6cddbefcc819e2b9e776713c67e9a48d184199e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 3 Jan 2016 14:55:55 -0500 Subject: [PATCH 002/128] gnu: ldb: Update to 1.1.24. Required for samba-4.3.3 in order to fix CVE-2015-5330 and CVE-2015-3223. * gnu/packages/samba.scm (ldb): Update to 1.2.24. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index ac3a17d512..732880c926 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -236,14 +236,14 @@ many event types, including timers, signals, and the classic file descriptor eve (define-public ldb (package (name "ldb") - (version "1.1.23") + (version "1.1.24") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "0ncmwgga6q9v7maiywgw21w6rb3149m1w2ca11yq8k5j0izjz2wg")))) + "08ab66qzigfsfxqdvp6lx1knwsl3sqsww309xbq17l7hfcjgbsa5")))) (build-system gnu-build-system) (arguments '(#:phases From 77553dff86afea7042e38a7806a9c89a1b8b3ae5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 3 Jan 2016 14:53:12 -0500 Subject: [PATCH 003/128] gnu: samba: Update to 4.3.3. Fixes CVE-2015-{3223,5252,5299,5296,8467,5330}. * gnu/packages/samba.scm (samba): Update to 4.3.3. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 732880c926..1adc8aa218 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -98,14 +98,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.3.2") + (version "4.3.3") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/samba/ftp/stable/samba-" version ".tar.gz")) (sha256 (base32 - "0xcs2bcim421mlk6l9rcrkx4cq9y41gfssyfa7xzdw5draar3631")))) + "1pvh78d5magc7lriyx7v9k7crlgxccmsy2mqn0j9xcnb78qj2bg6")))) (build-system gnu-build-system) (arguments '(#:phases From f1e3a8aed24b0e9475bbae5730cee11c3f541f0b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 30 Nov 2015 14:31:02 +0100 Subject: [PATCH 004/128] gnu: utf8proc: Update to 1.3.1. * gnu/packages/textutils.scm (utf8proc): Update to 1.3.1. [arguments]: Remove custom "install" phase. --- gnu/packages/textutils.scm | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 537a840247..f929023094 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -95,7 +95,7 @@ libenca and several charset conversion libraries and tools.") (define-public utf8proc (package (name "utf8proc") - (version "1.1.6") + (version "1.3.1") (source (origin (method url-fetch) @@ -104,23 +104,15 @@ libenca and several charset conversion libraries and tools.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0wmsi672knii0q70wh6a3ll0gv7qk33c50zbpzasrs3b16bqy659")))) + (base32 "1k48as5kjkar4yj3dwxyll8ykj4k723ib5a6mnw1g86q3zi0zdl3")))) (build-system gnu-build-system) (arguments '(#:tests? #f ;no "check" target - #:make-flags '("CC=gcc") + #:make-flags (list "CC=gcc" + (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib (string-append (assoc-ref outputs "out") "/lib/")) - (include (string-append (assoc-ref outputs "out") "/include/"))) - (install-file "utf8proc.h" include) - (for-each (lambda (file) - (install-file file lib)) - '("libutf8proc.a" "libutf8proc.so")))) - ;; no configure script - (alist-delete 'configure %standard-phases)))) + (modify-phases %standard-phases + (delete 'configure)))) (home-page "http://julialang.org/utf8proc/") (synopsis "C library for processing UTF-8 Unicode data") (description "utf8proc is a small C library that provides Unicode From 50b40d0709f51a7c3d34fa83f74c8e2ec1d2395b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 30 Nov 2015 14:22:18 +0100 Subject: [PATCH 005/128] gnu: Add libuv-julia. * gnu/packages/julia.scm (libuv-julia): New variable. --- gnu/packages/julia.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index fc152c8720..5885eb0268 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -20,6 +20,8 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages algebra) @@ -27,6 +29,7 @@ #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) + #:use-module (gnu packages libevent) #:use-module (gnu packages libunwind) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) ; mpfr @@ -38,6 +41,29 @@ #:use-module (gnu packages version-control) #:use-module (ice-9 match)) +(define libuv-julia + (let ((commit "030481e9d659fd46702ab747caf2cbbe19d537ba") + (revision "1")) + (package (inherit libuv) + (name "libuv-julia") + (version (string-append "0.11.26." revision "-" (string-take commit 8))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/libuv.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1ss63wfr2hghc8kb6ciry394gp6x58haz8vaj57l5mp80z04gd54")))) + (build-system gnu-build-system) + (arguments + (substitute-keyword-arguments (package-arguments libuv) + ((#:phases phases) + `(modify-phases ,phases + (delete 'autogen))))) + (home-page "https://github.com/JuliaLang/libuv")))) + (define-public julia (package (name "julia") From c2e87caaa6b7efb9c18c46fd4f9d4370f68c8db7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 30 Nov 2015 14:25:53 +0100 Subject: [PATCH 006/128] gnu: julia: Update to 0.4.2. * gnu/packages/patches/julia-0.3.10-fix-empty-array.patch: Remove file. * gnu-system.am (dist_patch_DATA): Remove it. * gnu/packages/julia.scm (julia): Update to 0.4.2. [arguments]: Remove phase "fix-building-with-mcjit-llvm"; replace phase "patch-include-path" with "fix-include-and-link-paths"; add phase "hardcode-paths"; add missing make-flags. [inputs]: Replace "pcre" with "pcre2"; replace "git" with "libgit2"; add "coreutils"; add "libuv-julia"; add "wget"; add "which". [native-inputs]: Remove "which". --- gnu-system.am | 1 - gnu/packages/julia.scm | 101 ++++++++++++------ .../julia-0.3.10-fix-empty-array.patch | 13 --- 3 files changed, 69 insertions(+), 46 deletions(-) delete mode 100644 gnu/packages/patches/julia-0.3.10-fix-empty-array.patch diff --git a/gnu-system.am b/gnu-system.am index c0f8fac1ab..6626cd9d4b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -519,7 +519,6 @@ dist_patch_DATA = \ gnu/packages/patches/irrlicht-mesa-10.patch \ gnu/packages/patches/jasper-CVE-2008-3522.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \ - gnu/packages/patches/julia-0.3.10-fix-empty-array.patch \ gnu/packages/patches/kmod-module-directory.patch \ gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \ gnu/packages/patches/liba52-enable-pic.patch \ diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 5885eb0268..7c7b53e6c0 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages textutils) #:use-module (gnu packages version-control) + #:use-module (gnu packages wget) #:use-module (ice-9 match)) (define libuv-julia @@ -67,16 +68,15 @@ (define-public julia (package (name "julia") - (version "0.3.10") + (version "0.4.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/JuliaLang/julia/releases/download/v" - version "/julia-" version "_c8ceeefcc1.tar.gz")) + version "/julia-" version "-full.tar.gz")) (sha256 (base32 - "0j6mw6wr35lxid10nh9gz7k6wck3a90ic92w99n1r052325gl9r7")) - (patches (list (search-patch "julia-0.3.10-fix-empty-array.patch"))))) + "0sikirixvryf8z3d0skig22fpip64jk001qsha98iwsrcfiqpyds")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -92,8 +92,7 @@ #:phases (modify-phases %standard-phases (delete 'configure) - (add-after - 'unpack 'hardcode-soname-map + (add-after 'unpack 'hardcode-soname-map ;; ./src/ccall.cpp creates a map from library names to paths using the ;; output of "/sbin/ldconfig -p". Since ldconfig is not used in Guix, ;; we patch ccall.cpp to contain a static map. @@ -108,46 +107,70 @@ "sonameMap[\"" libname "\"] = " "\"" (assoc-ref inputs input) "/lib/" soname "\";"))) '(("libc" "libc" "libc.so.6") - ("pcre" "libpcre" "libpcre.so") + ("pcre2" "libpcre2-8" "libpcre2-8.so") ("mpfr" "libmpfr" "libmpfr.so") ("openblas" "libblas" "libopenblas.so") ("arpack-ng" "libarpack" "libarpack.so") ("lapack" "liblapack" "liblapack.so") + ("libgit2" "libgit2" "libgit2.so") ("gmp" "libgmp" "libgmp.so") ("openlibm" "libopenlibm" "libopenlibm.so") ("openspecfun" "libopenspecfun" "libopenspecfun.so") ("fftw" "libfftw3" "libfftw3.so") ("fftwf" "libfftw3f" "libfftw3f.so")))))) #t)) - ;; This phase will no longer be necessary in 0.3.11; see - ;; https://github.com/JuliaLang/julia/issues/12028 - (add-before - 'build 'fix-building-with-mcjit-llvm - (lambda _ - (substitute* "src/cgutils.cpp" - (("addComdat\\(gv\\);") "")) - #t)) - (add-before - 'build 'patch-include-path - (lambda _ + (add-before 'build 'fix-include-and-link-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; LIBUTF8PROC is a linker flag, not a build target. It is + ;; included in the LIBFILES_* variable which is used as a + ;; collection of build targets and a list of libraries to link + ;; against. + (substitute* "src/flisp/Makefile" + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + + ;; The REPL must be linked with libuv. + (substitute* "ui/Makefile" + (("JLDFLAGS \\+= ") + (string-append "JLDFLAGS += " + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so "))) + (substitute* "deps/Makefile" (("/usr/include/double-conversion") (string-append (assoc-ref %build-inputs "double-conversion") "/include/double-conversion"))) + (substitute* "base/Makefile" + (("\\$\\(build_includedir\\)/uv-errno.h") + (string-append (assoc-ref inputs "libuv") + "/include/uv-errno.h"))) #t)) - (add-before - 'build 'replace-default-shell + (add-before 'build 'replace-default-shell (lambda _ (substitute* "base/client.jl" (("/bin/sh") (which "sh"))) #t)) - (add-before - 'check 'disable-broken-test - ;; One test fails because it produces slightly different output. - (lambda _ - (substitute* "test/repl.jl" - (("@test output") "# @test output")) - #t))) + (add-after 'unpack 'hardcode-paths + (lambda _ + (substitute* "base/interactiveutil.jl" + (("`which") (string-append "`" (which "which"))) + (("`wget") (string-append "`" (which "wget")))) + #t)) + (add-before 'check 'disable-broken-tests + (lambda _ + (substitute* "test/choosetests.jl" + ;; These tests time out. See + ;; https://github.com/JuliaLang/julia/issues/14374 for ongoing + ;; discussion. + (("\"replcompletions\",") "") + (("\"repl\",") "")) + (substitute* "test/repl.jl" + ;; This test fails because we cannot escape the build + ;; directory. + (("@test pwd\\(\\) == homedir\\(\\)") "#")) + #t))) #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) @@ -163,7 +186,6 @@ (_ "MARCH=UNSUPPORTED")) "CONFIG_SHELL=bash" ;needed to build bundled libraries - "USE_SYSTEM_LIBUV=0" ;Julia expects a modified libuv "USE_SYSTEM_DSFMT=0" ;not packaged for Guix and upstream has no ;build system for a shared library. "USE_SYSTEM_RMATH=0" ;Julia uses a bundled version of R's math @@ -184,10 +206,22 @@ ;; (assoc-ref %build-inputs "suitesparse") ;; "/include") + "USE_GPL_LIBS=1" ;proudly "USE_SYSTEM_GRISU=1" ;for double-conversion "USE_SYSTEM_UTF8PROC=1" + (string-append "UTF8PROC_INC=" + (assoc-ref %build-inputs "utf8proc") + "/include") "USE_SYSTEM_LLVM=1" "USE_SYSTEM_LIBUNWIND=1" + "USE_SYSTEM_LIBUV=1" + (string-append "LIBUV=" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_PATCHELF=1" "USE_SYSTEM_PCRE=1" "USE_SYSTEM_OPENLIBM=1" "USE_SYSTEM_GMP=1" @@ -198,26 +232,29 @@ (inputs `(("llvm" ,llvm-3.5) ("arpack-ng" ,arpack-ng) + ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas ("libunwind" ,libunwind) ("openlibm" ,openlibm) ("openspecfun" ,openspecfun) ("double-conversion" ,double-conversion) + ("libgit2" ,libgit2) ("fftw" ,fftw) ("fftwf" ,fftwf) ("fortran" ,gfortran) - ("pcre" ,pcre) + ("libuv" ,libuv-julia) + ("pcre2" ,pcre2) ("utf8proc" ,utf8proc) - ("git" ,git) ("mpfr" ,mpfr) + ("wget" ,wget) + ("which" ,which) ("gmp" ,gmp))) (native-inputs `(("perl" ,perl) ("patchelf" ,patchelf) ("pkg-config" ,pkg-config) - ("python" ,python-2) - ("which" ,which))) + ("python" ,python-2))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux")) diff --git a/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch b/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch deleted file mode 100644 index b00f6549e3..0000000000 --- a/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch +++ /dev/null @@ -1,13 +0,0 @@ -See https://github.com/JuliaLang/julia/issues/11817 - ---- a/src/codegen.cpp 2015-06-24 12:44:31.218674066 +0200 -+++ b/src/codegen.cpp 2015-04-23 11:19:50.000000000 +0200 -@@ -4551,7 +4551,7 @@ - #ifdef V128_BUG - "-avx", - #endif -- }; -+ ""}; - SmallVector MAttrs(mattr, mattr+sizeof(mattr)/sizeof(mattr[0])); - EngineBuilder eb = EngineBuilder(engine_module) - .setEngineKind(EngineKind::JIT) From 2a6afac9055bc2cac29678b9e2ed0344cb32c39e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 3 Dec 2015 08:30:04 +0100 Subject: [PATCH 007/128] gnu: gtk+-2: Add patch to support GUIX_GTK2_PATH. * gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/gtk.scm (gtk+-2) [source]: Add patch. [native-search-paths]: Add search path for GUIX_GTK2_PATH. --- gnu-system.am | 1 + gnu/packages/gtk.scm | 9 +++- .../patches/gtk2-respect-GUIX_GTK2_PATH.patch | 46 +++++++++++++++++++ 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch diff --git a/gnu-system.am b/gnu-system.am index 6626cd9d4b..2c62cc5911 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -506,6 +506,7 @@ dist_patch_DATA = \ gnu/packages/patches/guile-present-coding.patch \ gnu/packages/patches/guile-relocatable.patch \ gnu/packages/patches/guile-rsvg-pkgconfig.patch \ + gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \ gnu/packages/patches/hop-linker-flags.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index f85ea1970a..d2257825e8 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -522,7 +522,8 @@ is part of the GNOME accessibility project.") name "-" version ".tar.xz")) (sha256 (base32 - "0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj")))) + "0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj")) + (patches (list (search-patch "gtk2-respect-GUIX_GTK2_PATH.patch"))))) (build-system gnu-build-system) (outputs '("out" "doc")) (propagated-inputs @@ -557,7 +558,11 @@ is part of the GNOME accessibility project.") ;; FIXME: re-enable tests requiring an X server (substitute* "gtk/Makefile.in" (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))) - %standard-phases))) + %standard-phases))) + (native-search-paths + (list (search-path-specification + (variable "GUIX_GTK2_PATH") + (files '("lib/gtk-2.0"))))) (synopsis "Cross-platform toolkit for creating graphical user interfaces") (description "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating diff --git a/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch b/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch new file mode 100644 index 0000000000..93a8ddc242 --- /dev/null +++ b/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch @@ -0,0 +1,46 @@ +This patch makes GTK+ look for additional modules in a list of directories +specified by the environment variable "GUIX_GTK2_PATH". This can be used +instead of "GTK_PATH" to make GTK+ find modules that are incompatible with +other major versions of GTK+. + +--- a/gtk/gtkmodules.c 2014-09-29 22:02:17.000000000 +0200 ++++ b/gtk/gtkmodules.c 2015-12-02 18:41:53.306396938 +0100 +@@ -55,6 +55,7 @@ + get_module_path (void) + { + const gchar *module_path_env; ++ const gchar *module_guix_gtk2_path_env; + const gchar *exe_prefix; + const gchar *home_dir; + gchar *home_gtk_dir = NULL; +@@ -70,6 +71,7 @@ + home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL); + + module_path_env = g_getenv ("GTK_PATH"); ++ module_guix_gtk2_path_env = g_getenv ("GUIX_GTK2_PATH"); + exe_prefix = g_getenv ("GTK_EXE_PREFIX"); + + if (exe_prefix) +@@ -77,9 +79,21 @@ + else + default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", NULL); + +- if (module_path_env && home_gtk_dir) ++ if (module_guix_gtk2_path_env && module_path_env && home_gtk_dir) ++ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, ++ module_guix_gtk2_path_env, module_path_env, home_gtk_dir, default_dir, NULL); ++ else if (module_guix_gtk2_path_env && home_gtk_dir) ++ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, ++ module_guix_gtk2_path_env, home_gtk_dir, default_dir, NULL); ++ else if (module_guix_gtk2_path_env && module_path_env) ++ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, ++ module_guix_gtk2_path_env, module_path_env, default_dir, NULL); ++ else if (module_path_env && home_gtk_dir) + module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, + module_path_env, home_gtk_dir, default_dir, NULL); ++ else if (module_guix_gtk2_path_env) ++ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, ++ module_guix_gtk2_path_env, default_dir, NULL); + else if (module_path_env) + module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, + module_path_env, default_dir, NULL); From 4828ff91ffa937fa6cb1618fcab550c137e60f15 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 3 Dec 2015 08:32:06 +0100 Subject: [PATCH 008/128] gnu: gtk+: Add patch to support GUIX_GTK3_PATH. * gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/gtk.scm (gtk+) [source]: Add patch. [native-search-paths]: Add search path for GUIX_GTK3_PATH. --- gnu-system.am | 1 + gnu/packages/gtk.scm | 9 ++++- .../patches/gtk3-respect-GUIX_GTK3_PATH.patch | 38 +++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch diff --git a/gnu-system.am b/gnu-system.am index 2c62cc5911..4788bc7ba9 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -507,6 +507,7 @@ dist_patch_DATA = \ gnu/packages/patches/guile-relocatable.patch \ gnu/packages/patches/guile-rsvg-pkgconfig.patch \ gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ + gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \ gnu/packages/patches/hop-linker-flags.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index d2257825e8..916873b356 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -583,7 +583,8 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx")))) + "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx")) + (patches (list (search-patch "gtk3-respect-GUIX_GTK3_PATH.patch"))))) (propagated-inputs `(("at-spi2-atk" ,at-spi2-atk) ("atk" ,atk) @@ -642,7 +643,11 @@ application suites.") (loaders.cache (find-files librsvg "^loaders\\.cache$"))) (wrap-program prog `("GDK_PIXBUF_MODULE_FILE" = ,loaders.cache)))) - %standard-phases)))))) + %standard-phases)))) + (native-search-paths + (list (search-path-specification + (variable "GUIX_GTK3_PATH") + (files '("lib/gtk-3.0"))))))) ;;; ;;; Guile bindings. diff --git a/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch b/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch new file mode 100644 index 0000000000..66fd2fd1c4 --- /dev/null +++ b/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch @@ -0,0 +1,38 @@ +This patch makes GTK+ look for additional modules in a list of directories +specified by the environment variable "GUIX_GTK3_PATH". This can be used +instead of "GTK_PATH" to make GTK+ find modules that are incompatible with +other major versions of GTK+. + +--- a/gtk/gtkmodules.c 2015-09-20 20:09:05.060590217 +0200 ++++ b/gtk/gtkmodules.c 2015-09-20 20:10:33.423124833 +0200 +@@ -52,6 +52,7 @@ + get_module_path (void) + { + const gchar *module_path_env; ++ const gchar *module_guix_gtk3_path_env; + const gchar *exe_prefix; + gchar *module_path; + gchar *default_dir; +@@ -61,6 +62,7 @@ + return result; + + module_path_env = g_getenv ("GTK_PATH"); ++ module_guix_gtk3_path_env = g_getenv ("GUIX_GTK3_PATH"); + exe_prefix = g_getenv ("GTK_EXE_PREFIX"); + + if (exe_prefix) +@@ -68,7 +70,13 @@ + else + default_dir = g_build_filename (_gtk_get_libdir (), "gtk-3.0", NULL); + +- if (module_path_env) ++ if (module_guix_gtk3_path_env && module_path_env) ++ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, ++ module_guix_gtk3_path_env, module_path_env, default_dir, NULL); ++ else if (module_guix_gtk3_path_env) ++ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, ++ module_guix_gtk3_path_env, default_dir, NULL); ++ else if (module_path_env) + module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, + module_path_env, default_dir, NULL); + else From 35a6dabcf1386fa33539a4d022dc3a46b536de64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jan 2016 22:10:03 +0100 Subject: [PATCH 009/128] git-download: Correctly implement recursive checkouts. Previously, the 'git checkout' invocation would remove sub-modules that had been initialized by 'git clone --recursive'. * guix/build/git.scm (git-fetch): Never use "git clone --recursive". Invoke "git submodule update --init --recursive" after "git checkout". Remove '.git' directories as the last step. --- guix/build/git.scm | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/guix/build/git.scm b/guix/build/git.scm index 121f07a7fa..c1af545a76 100644 --- a/guix/build/git.scm +++ b/guix/build/git.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2014, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,23 +37,28 @@ recursively. Return #t on success, #f otherwise." ;; in advance anyway. (setenv "GIT_SSL_NO_VERIFY" "true") - (let ((args `("clone" ,@(if recursive? '("--recursive") '()) - ,url ,directory))) - (and (zero? (apply system* git-command args)) - (with-directory-excursion directory - (system* git-command "tag" "-l") - (and (zero? (system* git-command "checkout" commit)) - (begin - ;; The contents of '.git' vary as a function of the current - ;; status of the Git repo. Since we want a fixed output, this - ;; directory needs to be taken out. - (delete-file-recursively ".git") + ;; We cannot use "git clone --recursive" since the following "git checkout" + ;; effectively removes sub-module checkouts as of Git 2.6.3. + (and (zero? (system* git-command "clone" url directory)) + (with-directory-excursion directory + (system* git-command "tag" "-l") + (and (zero? (system* git-command "checkout" commit)) + (begin + (when recursive? + ;; Now is the time to fetch sub-modules. + (unless (zero? (system* git-command "submodule" "update" + "--init" "--recursive")) + (error "failed to fetch sub-modules" url)) - (when recursive? - ;; In sub-modules, '.git' is a flat file, not a directory, - ;; so we can use 'find-files' here. - (for-each delete-file-recursively - (find-files directory "^\\.git$"))) - #t)))))) + ;; In sub-modules, '.git' is a flat file, not a directory, + ;; so we can use 'find-files' here. + (for-each delete-file-recursively + (find-files directory "^\\.git$"))) + + ;; The contents of '.git' vary as a function of the current + ;; status of the Git repo. Since we want a fixed output, this + ;; directory needs to be taken out. + (delete-file-recursively ".git") + #t))))) ;;; git.scm ends here From d28ef4393719692371aee085d5723f5779cb6049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jan 2016 22:11:57 +0100 Subject: [PATCH 010/128] ui: Update copyright year in '--version' output. * guix/ui.scm (show-version-and-exit): Increment copyright year. --- guix/ui.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 35a6671a07..6fd16bb9cc 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2013 Mark H Weaver ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014 Cyril Roelandt @@ -301,7 +301,7 @@ exiting. ARGS is the list of arguments received by the 'throw' handler." "Display version information for COMMAND and `(exit 0)'." (simple-format #t "~a (~a) ~a~%" command %guix-package-name %guix-version) - (display (_ "Copyright (C) 2015 the Guix authors + (display (_ "Copyright (C) 2016 the Guix authors License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. From db5a94445f3b21b307c73ea72ed495bda891ef28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jan 2016 22:27:38 +0100 Subject: [PATCH 011/128] guix package: Allow multiple '--search' flags. * guix/scripts/package.scm (find-packages-by-description): Change 'rx' parameter to 'regexps'. [matches-all?, matches-one?]: New procedures. Use them. (process-query): Collect regexps from all 'search' queries, and pass them to 'find-packages-by-description'. * tests/guix-package.sh: Add tests. * doc/guix.texi (Invoking guix package): Document it. --- doc/guix.texi | 17 ++++++++++++++++- guix/scripts/package.scm | 33 ++++++++++++++++++++------------- tests/guix-package.sh | 20 +++++++++++++++++--- 3 files changed, 53 insertions(+), 17 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index f155fbe818..a07bf824d6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10,7 +10,7 @@ @include version.texi @copying -Copyright @copyright{} 2012, 2013, 2014, 2015 Ludovic Courtès@* +Copyright @copyright{} 2012, 2013, 2014, 2015, 2016 Ludovic Courtès@* Copyright @copyright{} 2013, 2014 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2015 Mathieu Lirzin@* @@ -1462,6 +1462,21 @@ name: gmp @dots{} @end example +It is also possible to refine search results using several @code{-s} +flags. For example, the following command returns a list of board +games: + +@example +$ guix package -s '\' -s game | recsel -p name +name: gnubg +@dots{} +@end example + +If we were to omit @code{-s game}, we would also get software packages +that deal with printed circuit boards; removing the angle brackets +around @code{board} would further add packages that have to do with +keyboards. + @item --show=@var{package} Show details about @var{package}, taken from the list of available packages, in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index d0b5abd0e2..02eb600c43 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2013, 2015 Mark H Weaver ;;; Copyright © 2014 Alex Kost @@ -230,21 +230,24 @@ specified in MANIFEST, a manifest object." ;;; Package specifications. ;;; -(define (find-packages-by-description rx) - "Return the list of packages whose name, synopsis, or description matches -RX." +(define (find-packages-by-description regexps) + "Return the list of packages whose name matches one of REGEXPS, or whose +synopsis or description matches all of REGEXPS." (define version=?)) + (define (matches-all? str) + (every (cut regexp-exec <> str) regexps)) + + (define (matches-one? str) + (find (cut regexp-exec <> str) regexps)) + (sort (fold-packages (lambda (package result) - (define matches? - (cut regexp-exec rx <>)) - - (if (or (matches? (package-name package)) + (if (or (matches-one? (package-name package)) (and=> (package-synopsis package) - (compose matches? P_)) + (compose matches-all? P_)) (and=> (package-description package) - (compose matches? P_))) + (compose matches-all? P_))) (cons package result) result)) '()) @@ -696,11 +699,15 @@ processed, #f otherwise." (package-name p2)))))) #t)) - (('search regexp) - (let ((regexp (make-regexp* regexp regexp/icase))) + (('search _) + (let* ((patterns (filter-map (match-lambda + (('query 'search rx) rx) + (_ #f)) + opts)) + (regexps (map (cut make-regexp* <> regexp/icase) patterns))) (leave-on-EPIPE (for-each (cute package->recutils <> (current-output-port)) - (find-packages-by-description regexp))) + (find-packages-by-description regexps))) #t)) (('show requested-name) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 5e6ff8b012..cf1a185590 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès # Copyright © 2013 Nikita Karetnikov # # This file is part of GNU Guix. @@ -30,9 +30,10 @@ readlink_base () module_dir="t-guix-package-$$" profile="t-profile-$$" -rm -f "$profile" +tmpfile="t-guix-package-file-$$" +rm -f "$profile" "$tmpfile" -trap 'rm -f "$profile" "$profile-"[0-9]* ; rm -rf "$module_dir" t-home-'"$$" EXIT +trap 'rm -f "$profile" "$profile-"[0-9]* "$tmpfile"; rm -rf "$module_dir" t-home-'"$$" EXIT # Use `-e' with a non-package expression. if guix package --bootstrap -e +; @@ -96,6 +97,19 @@ test "`guix package -s "An example GNU package" | grep ^name:`" = \ "name: hello" test -z "`guix package -s "n0t4r341p4ck4g3"`" +# Search with one and then two regexps. +# First we get printed circuit boards *and* board games. +guix package -s '\' > "$tmpfile" +grep '^name: pcb' "$tmpfile" +grep '^name: gnubg' "$tmpfile" + +# Second we get only board games. +guix package -s '\' -s game > "$tmpfile" +grep -v '^name: pcb' "$tmpfile" > /dev/null +grep '^name: gnubg' "$tmpfile" + +rm -f "$tmpfile" + # Make sure `--search' can display all the packages. guix package --search="" > /dev/null From 94af9daa73f600f8c96d787f425351c090ffd63f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jan 2016 22:42:09 +0100 Subject: [PATCH 012/128] services: boot: Reinstate /tmp and /var/run deletion. For some time /tmp and /var/run were not being deleted because 'delete-file-recursively' was unbound. * gnu/services.scm (compute-boot-script)[%modules, modules, compiled]: New variables. Use them to augment the module search path. --- gnu/services.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index 0e1c74bda8..134342101d 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -206,9 +206,20 @@ containing the given entries." (extend system-derivation))) (define (compute-boot-script _ mexps) - (mlet %store-monad ((gexps (sequence %store-monad mexps))) + (define %modules + '((guix build utils))) + + (mlet* %store-monad ((gexps (sequence %store-monad mexps)) + (modules (imported-modules %modules)) + (compiled (compiled-modules %modules))) (gexp->file "boot" #~(begin + (eval-when (expand load eval) + ;; Make sure 'use-modules' below succeeds. + (set! %load-path (cons #$modules %load-path)) + (set! %load-compiled-path + (cons #$compiled %load-compiled-path))) + (use-modules (guix build utils)) ;; Clean out /tmp and /var/run. From be7be9e8dd9411d8d5bcea75c506326393ea2842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jan 2016 22:58:05 +0100 Subject: [PATCH 013/128] services: Move /tmp cleanup to a separate service. * gnu/services.scm (compute-boot-script): Remove /tmp and /var/run deletion code from here. (cleanup-gexp): New procedure with /tmp and /var/run deletion code formerly in 'compute-boot-script'. (cleanup-service-type): New variable. * gnu/system.scm (essential-services): Add an instance of CLEANUP-SERVICE-TYPE. --- gnu/services.scm | 69 ++++++++++++++++++++++++++++-------------------- gnu/system.scm | 8 ++++-- 2 files changed, 46 insertions(+), 31 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index 134342101d..27a4883f71 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -63,6 +63,7 @@ system-service-type boot-service-type + cleanup-service-type activation-service-type activation-service->script %linux-bare-metal-service @@ -206,36 +207,10 @@ containing the given entries." (extend system-derivation))) (define (compute-boot-script _ mexps) - (define %modules - '((guix build utils))) - - (mlet* %store-monad ((gexps (sequence %store-monad mexps)) - (modules (imported-modules %modules)) - (compiled (compiled-modules %modules))) + (mlet %store-monad ((gexps (sequence %store-monad mexps))) (gexp->file "boot" - #~(begin - (eval-when (expand load eval) - ;; Make sure 'use-modules' below succeeds. - (set! %load-path (cons #$modules %load-path)) - (set! %load-compiled-path - (cons #$compiled %load-compiled-path))) - - (use-modules (guix build utils)) - - ;; Clean out /tmp and /var/run. - ;; - ;; XXX This needs to happen before service activations, so - ;; it has to be here, but this also implicitly assumes - ;; that /tmp and /var/run are on the root partition. - (false-if-exception (delete-file-recursively "/tmp")) - (false-if-exception (delete-file-recursively "/var/run")) - (false-if-exception (mkdir "/tmp")) - (false-if-exception (chmod "/tmp" #o1777)) - (false-if-exception (mkdir "/var/run")) - (false-if-exception (chmod "/var/run" #o755)) - - ;; Activate the system and spawn dmd. - #$@gexps)))) + ;; Clean up and activate the system, then spawn dmd. + #~(begin #$@gexps)))) (define (boot-script-entry mboot) "Return, as a monadic value, an entry for the boot script in the system @@ -258,6 +233,42 @@ directory." ;; The service that produces the boot script. (service boot-service-type #t)) +(define (cleanup-gexp _) + "Return as a monadic value a gexp to clean up /tmp and similar places upon +boot." + (define %modules + '((guix build utils))) + + (mlet %store-monad ((modules (imported-modules %modules)) + (compiled (compiled-modules %modules))) + (return #~(begin + (eval-when (expand load eval) + ;; Make sure 'use-modules' below succeeds. + (set! %load-path (cons #$modules %load-path)) + (set! %load-compiled-path + (cons #$compiled %load-compiled-path))) + + (use-modules (guix build utils)) + + ;; Clean out /tmp and /var/run. + ;; + ;; XXX This needs to happen before service activations, so it + ;; has to be here, but this also implicitly assumes that /tmp + ;; and /var/run are on the root partition. + (false-if-exception (delete-file-recursively "/tmp")) + (false-if-exception (delete-file-recursively "/var/run")) + (false-if-exception (mkdir "/tmp")) + (false-if-exception (chmod "/tmp" #o1777)) + (false-if-exception (mkdir "/var/run")) + (false-if-exception (chmod "/var/run" #o755)))))) + +(define cleanup-service-type + ;; Service that cleans things up in /tmp and similar. + (service-type (name 'cleanup) + (extensions + (list (service-extension boot-service-type + cleanup-gexp))))) + (define* (file-union name files) ;FIXME: Factorize. "Return a that builds a directory containing all of FILES. Each item in FILES must be a list where the first element is the file name to diff --git a/gnu/system.scm b/gnu/system.scm index 6dfcc0fe3a..4aedb7ee36 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -295,8 +295,12 @@ a container or that of a \"bare metal\" system." %boot-service ;; %DMD-ROOT-SERVICE must come first so that the gexp that execs - ;; dmd comes last in the boot script (XXX). - %dmd-root-service %activation-service + ;; dmd comes last in the boot script (XXX). Likewise, the cleanup + ;; service must come last so that its gexp runs before activation + ;; code. + %dmd-root-service + %activation-service + (service cleanup-service-type #f) (pam-root-service (operating-system-pam-services os)) (account-service (append (operating-system-accounts os) From fb74174958800496e40aec07543bff07cfaa7b35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jan 2016 23:04:21 +0100 Subject: [PATCH 014/128] linux-boot: Remove verbose output for module loads. * gnu/build/linux-boot.scm (boot-system): Leave 'current-module-debugging-port' unchanged. * gnu/build/linux-modules.scm (load-linux-module*): Update comment about 'mmap'. --- gnu/build/linux-boot.scm | 3 +-- gnu/build/linux-modules.scm | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 30d6570b04..0fc90af6a3 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -381,7 +381,6 @@ to it are lost." (start-repl)) (display "loading kernel modules...\n") - (current-module-debugging-port (current-output-port)) (for-each (cut load-linux-module* <> #:lookup-module lookup-module) (map lookup-module linux-modules)) diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index a3bc7d6e33..e6552fdb67 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -144,7 +144,7 @@ true, load its dependencies first (à la 'modprobe'.) The actual files containing modules depended on are obtained by calling LOOKUP-MODULE with the module name." (define (slurp module) - ;; TODO: Use 'mmap' to reduce memory usage. + ;; TODO: Use 'finit_module' to reduce memory usage. (call-with-input-file file get-bytevector-all)) (when recursive? From fe542b97621db472f2a7698712e65b92fd30d005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jan 2016 23:32:29 +0100 Subject: [PATCH 015/128] gnu: emacs: Remove 'info.info'. * gnu/packages/emacs.scm (emacs)[arguments]: Use 'modify-phases'. Add 'remove-info.info' phase. --- gnu/packages/emacs.scm | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7d95f55327..1529f6a6b7 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014, 2015 Alex Kost ;;; Copyright © 2015 Federico Beffa @@ -73,14 +73,20 @@ (patches (list (search-patch "emacs-exec-path.patch"))))) (build-system glib-or-gtk-build-system) (arguments - '(#:phases (alist-cons-before - 'configure 'fix-/bin/pwd - (lambda _ - ;; Use `pwd', not `/bin/pwd'. - (substitute* (find-files "." "^Makefile\\.in$") - (("/bin/pwd") - "pwd"))) - %standard-phases))) + '(#:phases (modify-phases %standard-phases + (add-before 'configure 'fix-/bin/pwd + (lambda _ + ;; Use `pwd', not `/bin/pwd'. + (substitute* (find-files "." "^Makefile\\.in$") + (("/bin/pwd") + "pwd")))) + (add-after 'install 'remove-info.info + (lambda* (#:key outputs #:allow-other-keys) + ;; Remove 'info.info', which is provided by Texinfo. + (let ((out (assoc-ref outputs "out"))) + (delete-file + (string-append out "/share/info/info.info.gz")) + #t)))))) (inputs `(("gnutls" ,gnutls) ("ncurses" ,ncurses) From 1075b43737825e3eea24e31ad02142c45747d4bb Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Wed, 30 Dec 2015 21:06:49 +0300 Subject: [PATCH 016/128] gnu: Add emacs-undo-tree. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-undo-tree): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 1529f6a6b7..e82ffd33a7 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1013,6 +1013,27 @@ and stored in memory.") (description "This package provides a modern list API library for Emacs.") (license license:gpl3+))) +(define-public emacs-undo-tree + (package + (name "emacs-undo-tree") + (version "0.6.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "http://dr-qubit.org/git/undo-tree.git") + (commit "release/0.6.4"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0b6hnv6bq1g5np5q2yw9r9aj1cxpp14akm21br7vpb7wp01fv4b3")))) + (build-system emacs-build-system) + (home-page "http://www.dr-qubit.org/emacs.php") + (synopsis "Treat undo history as a tree") + (description "Tree-like interface to Emacs undo system, providing +graphical tree presentation of all previous states of buffer that +allows easily move between them.") + (license license:gpl3+))) + (define-public emacs-s (package (name "emacs-s") From a7ec569c98af8a1c310a32e19f0c01cdd7334af6 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 5 Jan 2016 15:43:50 +0100 Subject: [PATCH 017/128] gnu: Add LDC. * gnu/packages/ldc.scm: New file. * gnu/packages/patches/ldc-disable-tests.patch: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add ldc.scm. (dist_patch_DATA): Add patch file. --- gnu-system.am | 2 + gnu/packages/ldc.scm | 118 +++++++++++++++++++ gnu/packages/patches/ldc-disable-tests.patch | 90 ++++++++++++++ 3 files changed, 210 insertions(+) create mode 100644 gnu/packages/ldc.scm create mode 100644 gnu/packages/patches/ldc-disable-tests.patch diff --git a/gnu-system.am b/gnu-system.am index 4788bc7ba9..3dd49fe945 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -174,6 +174,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/key-mon.scm \ gnu/packages/kodi.scm \ gnu/packages/language.scm \ + gnu/packages/ldc.scm \ gnu/packages/less.scm \ gnu/packages/lesstif.scm \ gnu/packages/libcanberra.scm \ @@ -522,6 +523,7 @@ dist_patch_DATA = \ gnu/packages/patches/jasper-CVE-2008-3522.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \ gnu/packages/patches/kmod-module-directory.patch \ + gnu/packages/patches/ldc-disable-tests.patch \ gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \ gnu/packages/patches/liba52-enable-pic.patch \ gnu/packages/patches/liba52-link-with-libm.patch \ diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm new file mode 100644 index 0000000000..06040a2b92 --- /dev/null +++ b/gnu/packages/ldc.scm @@ -0,0 +1,118 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Roel Janssen +;;; Copyright © 2015 Pjotr Prins +;;; +;;; 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 . + +(define-module (gnu packages ldc) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system cmake) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages libedit) + #:use-module (gnu packages llvm) + #:use-module (gnu packages textutils) + #:use-module (gnu packages zip)) + +(define-public ldc + (package + (name "ldc") + (version "0.16.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/ldc-developers/ldc/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40")))) + (build-system cmake-build-system) + ;; LDC currently only supports the x86_64 and i686 architectures. + (supported-systems '("x86_64-linux" "i686-linux")) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-submodule-sources + (lambda* (#:key inputs #:allow-other-keys) + (let ((unpack (lambda (source target) + (with-directory-excursion target + (zero? (system* "tar" "xvf" + (assoc-ref inputs source) + "--strip-components=1")))))) + (and (unpack "phobos-src" "runtime/phobos") + (unpack "druntime-src" "runtime/druntime") + (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite"))))) + (add-after 'unpack-submodule-sources 'patch-phobos + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "runtime/phobos/std/process.d" + (("/bin/sh") (which "sh")) + (("echo") (which "echo"))) + (substitute* "runtime/phobos/std/datetime.d" + (("/usr/share/zoneinfo/") + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))) + (substitute* "tests/d2/dmd-testsuite/Makefile" + (("/bin/bash") (which "bash"))) + #t))))) + (inputs + `(("libconfig" ,libconfig) + ("libedit" ,libedit) + ("tzdata" ,tzdata))) + (native-inputs + `(("llvm" ,llvm) + ("clang" ,clang) + ("unzip" ,unzip) + ("phobos-src" + ,(origin + (method url-fetch) + (uri (string-append + "https://github.com/ldc-developers/phobos/archive/ldc-v" + version ".tar.gz")) + (sha256 + (base32 + "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4")) + (patches (list (search-patch "ldc-disable-tests.patch"))))) + ("druntime-src" + ,(origin + (method url-fetch) + (uri (string-append + "https://github.com/ldc-developers/druntime/archive/ldc-v" + version ".tar.gz")) + (sha256 + (base32 + "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6")))) + ("dmd-testsuite-src" + ,(origin + (method url-fetch) + (uri (string-append + "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v" + version ".tar.gz")) + (sha256 + (base32 + "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1")))))) + (home-page "http://wiki.dlang.org/LDC") + (synopsis "LLVM compiler for the D programming language") + (description + "LDC is a compiler for the D programming language. It is based on the +latest DMD frontend and uses LLVM as backend.") + ;; Most of the code is released under BSD-3, except for code originally + ;; written for GDC, which is released under GPLv2+, and the DMD frontend, + ;; which is released under the "Boost Software License version 1.0". + (license (list license:bsd-3 + license:gpl2+ + license:x11-style "http://www.boost.org/LICENSE_1_0.txt")))) diff --git a/gnu/packages/patches/ldc-disable-tests.patch b/gnu/packages/patches/ldc-disable-tests.patch new file mode 100644 index 0000000000..3f5e6c29a1 --- /dev/null +++ b/gnu/packages/patches/ldc-disable-tests.patch @@ -0,0 +1,90 @@ +This patch fixes a failing unit test by feeding buildNormalizedPath to the +tzdata properly. Three other tests are disabled, one assumes /root and the +two others use networking. Not bad out of almost 700 tests! + +by Pjotr Prins + +diff --git a/std/datetime.d b/std/datetime.d +index 8e4ed3b..6c15bc5 100644 +--- a/std/datetime.d ++++ b/std/datetime.d +@@ -28018,6 +28018,7 @@ public: + The default directory where the TZ Database files are. It's empty + for Windows, since Windows doesn't have them. + +/ ++ + enum defaultTZDatabaseDir = "/usr/share/zoneinfo/"; + } + else version(Windows) +@@ -28069,14 +28070,13 @@ assert(tz.dstName == "PDT"); + import std.range : retro; + import std.format : format; + +- name = strip(name); +- + enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir))); + enforce(tzDatabaseDir.isDir, new DateTimeException(format("%s is not a directory.", tzDatabaseDir))); + +- immutable file = buildNormalizedPath(tzDatabaseDir, name); ++ auto filename = "./" ~ strip(name); // make sure the prefix is not stripped ++ immutable file = buildNormalizedPath(tzDatabaseDir, filename); + +- enforce(file.exists(), new DateTimeException(format("File %s does not exist.", file))); ++ enforce(file.exists(), new DateTimeException(format("File %s does not exist in %s.", file, tzDatabaseDir))); + enforce(file.isFile, new DateTimeException(format("%s is not a file.", file))); + + auto tzFile = File(file); +diff --git a/std/path.d b/std/path.d +index 254d8f0..b0fc04d 100644 +--- a/std/path.d ++++ b/std/path.d +@@ -3080,8 +3080,11 @@ unittest + } + else + { ++ pragma(msg, "test disabled on GNU Guix"); ++/* + assert(expandTilde("~root") == "/root", expandTilde("~root")); + assert(expandTilde("~root/") == "/root/", expandTilde("~root/")); ++*/ + } + assert(expandTilde("~Idontexist/hey") == "~Idontexist/hey"); + } +diff --git a/std/socket.d b/std/socket.d +index b85d1c9..7fbf346 100644 +--- a/std/socket.d ++++ b/std/socket.d +@@ -517,6 +517,8 @@ class Protocol + + unittest + { ++ pragma(msg, "test disabled on GNU Guix"); ++/* + // getprotobyname,number are unimplemented on Android + softUnittest({ + Protocol proto = new Protocol; +@@ -530,6 +532,7 @@ unittest + assert(proto.name == "tcp"); + assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP"); + }); ++*/ + } + + +@@ -859,6 +862,8 @@ class InternetHost + + unittest + { ++ pragma(msg, "test disabled on GNU Guix"); ++ /* + InternetHost ih = new InternetHost; + + ih.getHostByAddr(0x7F_00_00_01); +@@ -889,6 +894,7 @@ unittest + // writefln("aliases[%d] = %s", i, s); + // } + }); ++ */ + } + + From 7d1f8d4f52482998d5b8ee52fda792ddd8158c5d Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 5 Jan 2016 22:46:54 +0100 Subject: [PATCH 018/128] gnu: calibre: Update to 2.48.0. * gnu/packages/ebook.scm (calibre): Update to 2.48.0. --- gnu/packages/ebook.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 258294f6c8..718e8b3e50 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Andreas Enge +;;; Copyright © 2015, 2016 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,7 +60,7 @@ (define-public calibre (package (name "calibre") - (version "2.41.0") + (version "2.48.0") (source (origin (method url-fetch) @@ -69,7 +69,7 @@ version ".tar.xz")) (sha256 (base32 - "069fkcsx7kaazs7f095nkz4jw9jrm0k9zq16ayx41lxjbd1r97ik")) + "0bjzw806czqxkhq9qqkhff8bhfc428pijkidb1h6gr47jqdp4hpg")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) From f07041f7d25badb7d74b8fad6ee446a12af04f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Fri, 27 Nov 2015 09:27:55 +0100 Subject: [PATCH 019/128] build: pull: Compile .scm files in one process. * guix/build/pull.scm (call-with-process, report-build-progress) (p-for-each): Remove. (build-guix): Load and compile files in one process. --- guix/build/pull.scm | 149 ++++++++++++++++---------------------------- 1 file changed, 55 insertions(+), 94 deletions(-) diff --git a/guix/build/pull.scm b/guix/build/pull.scm index 281be23aa8..4ddb12ac04 100644 --- a/guix/build/pull.scm +++ b/guix/build/pull.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (ice-9 ftw) #:use-module (ice-9 match) #:use-module (ice-9 format) + #:use-module (ice-9 threads) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) @@ -33,75 +35,10 @@ ;;; ;;; Code: -(define (call-with-process thunk) - "Run THUNK in a separate process that will return 0 if THUNK terminates -normally, and 1 if an exception is raised." - (match (primitive-fork) - (0 - (catch #t - (lambda () - (thunk) - (primitive-exit 0)) - (lambda (key . args) - (print-exception (current-error-port) #f key args) - (primitive-exit 1)))) - (pid - #t))) - -(define* (report-build-progress total completed cont - #:optional (log-port (current-error-port))) - "Report that COMPLETED out of TOTAL files have been completed, and call -CONT." - (display #\cr log-port) - (format log-port "compiling...\t~5,1f% of ~d files" ;FIXME: i18n - (* 100. (/ completed total)) total) - (force-output log-port) - (cont)) - -(define* (p-for-each proc lst - #:optional (max-processes (current-processor-count)) - #:key (progress report-build-progress)) - "Invoke PROC for each element of LST in a separate process, using up to -MAX-PROCESSES processes in parallel. Call PROGRESS at each step, passing it -the continuation. Raise an error if one of the processes exit with non-zero." - (define total - (length lst)) - - (define (wait-for-one-process) - (match (waitpid WAIT_ANY) - ((_ . status) - (unless (zero? (status:exit-val status)) - (error "process failed" proc status))))) - - (let loop ((lst lst) - (running 0) - (completed 0)) - (match lst - (() - (or (zero? running) - (let ((running (- running 1)) - (completed (+ completed 1))) - (wait-for-one-process) - (progress total completed - (lambda () - (loop lst running completed)))))) - ((head . tail) - (if (< running max-processes) - (let ((running (+ 1 running))) - (call-with-process (cut proc head)) - (progress total completed - (lambda () - (loop tail running completed)))) - (let ((running (- running 1)) - (completed (+ completed 1))) - (wait-for-one-process) - (progress total completed - (lambda () - (loop lst running completed))))))))) - (define* (build-guix out source #:key gcrypt - (debug-port (%make-void-port "w"))) + (debug-port (%make-void-port "w")) + (log-port (current-error-port))) "Build and install Guix in directory OUT using SOURCE, a directory containing the source code. Write any debugging output to DEBUG-PORT." (setvbuf (current-output-port) _IOLBF) @@ -130,33 +67,57 @@ containing the source code. Write any debugging output to DEBUG-PORT." (set! %load-path (cons out %load-path)) (set! %load-compiled-path (cons out %load-compiled-path)) - ;; Compile the .scm files. Do that in independent processes, à la - ;; 'make -j', to work around (FIXME). - ;; This ensures correctness, but is overly conservative and slow. - ;; The solution initially implemented (and described in the bug - ;; above) was slightly faster but consumed memory proportional to the - ;; number of modules, which quickly became unacceptable. - (p-for-each (lambda (file) - (let ((go (string-append (string-drop-right file 4) - ".go"))) - (format debug-port "~%compiling '~a'...~%" file) - (parameterize ((current-warning-port debug-port)) - (compile-file file - #:output-file go - #:opts - %auto-compilation-options)))) - - (filter (cut string-suffix? ".scm" <>) - - ;; Build guix/*.scm before gnu/*.scm to speed - ;; things up. - (sort (find-files out "\\.scm") - (let ((guix (string-append out "/guix")) - (gnu (string-append out "/gnu"))) - (lambda (a b) - (or (and (string-prefix? guix a) - (string-prefix? gnu b)) - (string (FIXME). + (let* ((files + ;; Load guix/ modules before gnu/ modules to get somewhat steadier + ;; progress reporting. + (sort (filter (cut string-suffix? ".scm" <>) + (find-files out "\\.scm")) + (let ((guix (string-append out "/guix")) + (gnu (string-append out "/gnu"))) + (lambda (a b) + (or (and (string-prefix? guix a) + (string-prefix? gnu b)) + (string/foo/bar.scm" into (foo bar). + (let* ((relative-file (string-drop file (+ (string-length out) 1))) + (module-path (string-drop-right relative-file 4)) + (module-name (map string->symbol + (string-split module-path #\/)))) + (parameterize ((current-warning-port debug-port)) + (resolve-interface module-name))) + (loop files (+ 1 completed))))) + (newline) + (let ((mutex (make-mutex)) + (completed 0)) + (par-for-each + (lambda (file) + (with-mutex mutex + (display #\cr log-port) + (format log-port "compiling...\t~5,1f% of ~d files" ;FIXME: i18n + (* 100. (/ completed total)) total) + (force-output log-port) + (format debug-port "~%compiling '~a'...~%" file)) + (let ((go (string-append (string-drop-right file 4) ".go"))) + (parameterize ((current-warning-port (%make-void-port "w"))) + (compile-file file + #:output-file go + #:opts %auto-compilation-options))) + (with-mutex mutex + (set! completed (+ 1 completed)))) + files)))) ;; Remove the "fake" (guix config). (delete-file (string-append out "/guix/config.scm")) From f9b9a0330da8faff85c71665dead1198b958b9bf Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 5 Jan 2016 09:37:05 +0100 Subject: [PATCH 020/128] doc: Remove double occurrence of words. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi: substitute 'the the' with 'the'. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a07bf824d6..c252f63ff6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1016,7 +1016,7 @@ Manual}). There are two important differences though: @item @code{GUIX_LOCPATH} is honored only by Guix's libc, and not by the libc provided by foreign distros. Thus, using @code{GUIX_LOCPATH} allows you -to make sure the the foreign distro's programs will not end up loading +to make sure the foreign distro's programs will not end up loading incompatible locale data. @item @@ -6479,7 +6479,7 @@ A file-like object containing the ``message of the day''. @item @code{auto-login} (default: @code{#f}) When true, this field must be a string denoting the user name under -which the the system automatically logs in. When it is @code{#f}, a +which the system automatically logs in. When it is @code{#f}, a user name and password must be entered to log in. @item @code{login-program} (default: @code{#f}) @@ -7276,7 +7276,7 @@ Defaults to @samp{"0600"}. @end deftypevr @deftypevr {@code{unix-listener-configuration} parameter} string user -The user to own the the socket. +The user to own the socket. Defaults to @samp{""}. @end deftypevr @@ -7298,7 +7298,7 @@ Defaults to @samp{"0600"}. @end deftypevr @deftypevr {@code{fifo-listener-configuration} parameter} string user -The user to own the the socket. +The user to own the socket. Defaults to @samp{""}. @end deftypevr From 03cea32031bf9d641022f199f16e2eb898ff9bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 5 Jan 2016 23:54:53 +0100 Subject: [PATCH 021/128] build: Bump version number. * configure.ac: Change version to 0.9.1. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 19efd08e64..0d06592b53 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.68) -AC_INIT([GNU Guix], [0.9.0], [bug-guix@gnu.org], [guix], +AC_INIT([GNU Guix], [0.9.1], [bug-guix@gnu.org], [guix], [http://www.gnu.org/software/guix/]) AC_CONFIG_AUX_DIR([build-aux]) From 43c565d2e729cf3405da51be6360dcc741691afd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 17:40:02 +0100 Subject: [PATCH 022/128] gnu: Add Jellyfish. * gnu/packages/bioinformatics.scm (jellyfish): New variable. --- gnu/packages/bioinformatics.scm | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 76a1c17737..f1f7968908 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages tbb) #:use-module (gnu packages textutils) + #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages vim) #:use-module (gnu packages web) @@ -1738,6 +1739,55 @@ to measure the reproducibility of findings identified from replicate experiments and provide highly stable thresholds based on reproducibility.") (license license:gpl3+))) +(define-public jellyfish + (package + (name "jellyfish") + (version "2.2.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/gmarcais/Jellyfish/" + "releases/download/v" version + "/jellyfish-" version ".tar.gz")) + (sha256 + (base32 + "0a6xnynqy2ibfbfz86b9g2m2dgm7f1469pmymkpam333gi3p26nk")))) + (build-system gnu-build-system) + (outputs '("out" ;for library + "ruby" ;for Ruby bindings + "python")) ;for Python bindings + (arguments + `(#:configure-flags + (list (string-append "--enable-ruby-binding=" + (assoc-ref %outputs "ruby")) + (string-append "--enable-python-binding=" + (assoc-ref %outputs "python"))) + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-SHELL-variable + (lambda _ + ;; generator_manager.hpp either uses /bin/sh or $SHELL + ;; to run tests. + (setenv "SHELL" (which "bash")) + #t))))) + (native-inputs + `(("bc" ,bc) + ("time" ,time) + ("ruby" ,ruby) + ("python" ,python-2))) + (synopsis "Tool for fast counting of k-mers in DNA") + (description + "Jellyfish is a tool for fast, memory-efficient counting of k-mers in +DNA. A k-mer is a substring of length k, and counting the occurrences of all +such substrings is a central step in many analyses of DNA sequence. Jellyfish +is a command-line program that reads FASTA and multi-FASTA files containing +DNA sequences. It outputs its k-mer counts in a binary format, which can be +translated into a human-readable text format using the @code{jellyfish dump} +command, or queried for specific k-mers with @code{jellyfish query}.") + (home-page "http://www.genome.umd.edu/jellyfish.html") + ;; The combined work is published under the GPLv3 or later. Individual + ;; files such as lib/jsoncpp.cpp are released under the Expat license. + (license (list license:gpl3+ license:expat)))) + (define-public macs (package (name "macs") From d91488908bd0a72ebfe6d843031e8001ca5ffc6b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 30 Dec 2015 14:04:04 +0100 Subject: [PATCH 023/128] gnu: icedtea6, icedtea7: Unpack to "openjdk.src". * gnu/packages/java.scm (icedtea6)[arguments]: Unpack OpenJDK sources to "openjdk.src". (icedtea7)[arguments]: Inherit "--with-openjdk-src-dir" flag; refer to "openjdk.src" in build phases; simplify "unpack" phase. [native-inputs]: Rename "openjdk-drop" to "openjdk-src". --- gnu/packages/java.scm | 103 +++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 56 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 60439d1534..4d0750c3d5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -265,7 +265,7 @@ build process and its dependencies, whereas Make uses Makefile format.") "--without-rhino" "--disable-downloading" "--disable-tests" ;they are run in the check phase instead - ,(string-append "--with-openjdk-src-dir=" "./openjdk") + "--with-openjdk-src-dir=./openjdk.src" ,(string-append "--with-javac=" jdk "/bin/javac") ,(string-append "--with-ecj-jar=" ecj) ,(string-append "--with-gcj=" gcj) @@ -278,8 +278,8 @@ build process and its dependencies, whereas Make uses Makefile format.") (and (zero? (system* "tar" "xvf" source)) (begin (chdir (string-append ,name "-" ,version)) - (mkdir "openjdk") - (with-directory-excursion "openjdk" + (mkdir "openjdk.src") + (with-directory-excursion "openjdk.src" (copy-file (assoc-ref inputs "openjdk6-src") "openjdk6-src.tar.xz") (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz")))))) @@ -302,7 +302,7 @@ build process and its dependencies, whereas Make uses Makefile format.") (lambda _ ;; buildtree.make generates shell scripts, so we need to replace ;; the generated shebang - (substitute* '("openjdk/hotspot/make/linux/makefiles/buildtree.make") + (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make") (("/bin/sh") (which "bash"))) (let ((corebin (string-append @@ -311,8 +311,8 @@ build process and its dependencies, whereas Make uses Makefile format.") (assoc-ref %build-inputs "binutils") "/bin/")) (grepbin (string-append (assoc-ref %build-inputs "grep") "/bin/"))) - (substitute* '("openjdk/jdk/make/common/shared/Defs-linux.gmk" - "openjdk/corba/make/common/shared/Defs-linux.gmk") + (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk" + "openjdk.src/corba/make/common/shared/Defs-linux.gmk") (("UNIXCOMMAND_PATH = /bin/") (string-append "UNIXCOMMAND_PATH = " corebin)) (("USRBIN_PATH = /usr/bin/") @@ -326,8 +326,8 @@ build process and its dependencies, whereas Make uses Makefile format.") (string-append "DEF_OBJCOPY = " (which "objcopy")))) ;; fix hard-coded utility paths - (substitute* '("openjdk/jdk/make/common/shared/Defs-utils.gmk" - "openjdk/corba/make/common/shared/Defs-utils.gmk") + (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk" + "openjdk.src/corba/make/common/shared/Defs-utils.gmk") (("ECHO *=.*echo") (string-append "ECHO = " (which "echo"))) (("^GREP *=.*grep") @@ -370,7 +370,7 @@ build process and its dependencies, whereas Make uses Makefile format.") ;; Some of these timestamps cause problems as they are more than ;; 10 years ago, failing the build process. (substitute* - "openjdk/jdk/src/share/classes/java/util/CurrencyData.properties" + "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties" (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN") (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN") (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON") @@ -417,7 +417,7 @@ build process and its dependencies, whereas Make uses Makefile format.") (alist-cons-before 'check 'fix-hotspot-tests (lambda _ - (with-directory-excursion "openjdk/hotspot/test/" + (with-directory-excursion "openjdk.src/hotspot/test/" (substitute* "jprt.config" (("PATH=\"\\$\\{path4sdk\\}\"") (string-append "PATH=" (getenv "PATH"))) @@ -432,7 +432,7 @@ build process and its dependencies, whereas Make uses Makefile format.") (alist-cons-before 'check 'fix-jdk-tests (lambda _ - (with-directory-excursion "openjdk/jdk/test/" + (with-directory-excursion "openjdk.src/jdk/test/" (substitute* "com/sun/jdi/JdbReadTwiceTest.sh" (("/bin/pwd") (which "pwd"))) (substitute* "com/sun/jdi/ShellScaffold.sh" @@ -617,50 +617,41 @@ build process and its dependencies, whereas Make uses Makefile format.") ;; Apparently, the C locale is needed for some of the tests. #:locale "C" ,@(substitute-keyword-arguments (package-arguments icedtea6) + ((#:modules modules) + `((ice-9 match) + (srfi srfi-26) + ,@modules)) ((#:configure-flags flags) - `(delete "--with-openjdk-src-dir=./openjdk" - ;; TODO: package pcsc and sctp, and add to inputs - (append '("--disable-system-pcsc" - "--disable-system-sctp") - ,flags))) + ;; TODO: package pcsc and sctp, and add to inputs + `(append '("--disable-system-pcsc" + "--disable-system-sctp") + ,flags)) ((#:phases phases) `(modify-phases ,phases - (replace - 'unpack - (lambda* (#:key source inputs #:allow-other-keys) - (let ((target (string-append "icedtea-" ,version)) - (unpack (lambda (drop dir) - (mkdir dir) - (zero? (system* "tar" "xvjf" - (assoc-ref inputs drop) - "-C" dir - "--strip-components=1"))))) - (and (zero? (system* "tar" "xvf" source)) - (chdir target) - (unpack "openjdk-drop" "openjdk") - (unpack "corba-drop" "openjdk/corba") - (unpack "jdk-drop" "openjdk/jdk") - (unpack "hotspot-drop" "openjdk/hotspot") - - ;; The build framework checks the tarballs, so we - ;; need to keep them around even though we have - ;; already unpacked some of them for patching. - (begin - (copy-file (assoc-ref inputs "openjdk-drop") - "openjdk.tar.bz2") - (copy-file (assoc-ref inputs "corba-drop") - "corba.tar.bz2") - (copy-file (assoc-ref inputs "hotspot-drop") - "hotspot.tar.bz2") - (copy-file (assoc-ref inputs "jaxp-drop") - "jaxp.tar.bz2") - (copy-file (assoc-ref inputs "jaxws-drop") - "jaxws.tar.bz2") - (copy-file (assoc-ref inputs "jdk-drop") - "jdk.tar.bz2") - (copy-file (assoc-ref inputs "langtools-drop") - "langtools.tar.bz2") - #t))))) + (replace 'unpack + (lambda* (#:key source inputs #:allow-other-keys) + (let ((target (string-append "icedtea-" ,version)) + (unpack (lambda* (name #:optional dir) + (let ((dir (or dir + (string-drop-right name 5)))) + (mkdir dir) + (zero? (system* "tar" "xvf" + (assoc-ref inputs name) + "-C" dir + "--strip-components=1")))))) + (mkdir target) + (and + (zero? (system* "tar" "xvf" source + "-C" target "--strip-components=1")) + (chdir target) + (unpack "openjdk-src" "openjdk.src") + (with-directory-excursion "openjdk.src" + (for-each unpack + (filter (cut string-suffix? "-drop" <>) + (map (match-lambda + ((name . _) name)) + inputs)))) + #t)))) (replace 'set-additional-paths (lambda* (#:key inputs #:allow-other-keys) @@ -670,7 +661,7 @@ build process and its dependencies, whereas Make uses Makefile format.") (str (read-line port))) (close-pipe port) str))) - (substitute* "openjdk/jdk/make/common/shared/Sanity.gmk" + (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk" (("ALSA_INCLUDE=/usr/include/alsa/version.h") (string-append "ALSA_INCLUDE=" (assoc-ref inputs "alsa-lib") @@ -698,7 +689,7 @@ build process and its dependencies, whereas Make uses Makefile format.") (add-after 'unpack 'fix-x11-extension-include-path (lambda* (#:key inputs #:allow-other-keys) - (substitute* "openjdk/jdk/make/sun/awt/mawt.gmk" + (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk" (((string-append "\\$\\(firstword \\$\\(wildcard " "\\$\\(OPENWIN_HOME\\)" "/include/X11/extensions\\).*$")) @@ -719,14 +710,14 @@ build process and its dependencies, whereas Make uses Makefile format.") (string-append "PATH=" (getenv "PATH")))) (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java" (("/usr/bin/env") (which "env"))) - (substitute* "openjdk/hotspot/test/test_env.sh" + (substitute* "openjdk.src/hotspot/test/test_env.sh" (("/bin/rm") (which "rm")) (("/bin/cp") (which "cp")) (("/bin/mv") (which "mv"))) #t)) (delete 'patch-patches)))))) (native-inputs - `(("openjdk-drop" + `(("openjdk-src" ,(drop "openjdk" "0vflz0hhq4arykvvmsv3yas4yk9i0jm57287iqvs3a4832xjcpcy")) ("corba-drop" From d2540f80c223b40faefd1ab528d4e98e3995211d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 30 Dec 2015 14:25:09 +0100 Subject: [PATCH 024/128] gnu: Add and use default IcedTea. * gnu/packages/java.scm (icedtea): New variable. (swt)[native-inputs]: Replace "icedtea6" with "icedtea". * gnu/packages/bioinformatics.scm (htsjdk)[native-inputs]: Likewise. (ngs-java)[inputs]: Likewise. * gnu/packages/kodi.scm (kodi)[native-inputs]: Replace "icedtea7" with "icedtea". * gnu/packages/ruby.scm (ruby-rjb)[native-inputs]: Replace "icedtea7" with "icedtea". --- gnu/packages/bioinformatics.scm | 4 ++-- gnu/packages/java.scm | 6 ++++-- gnu/packages/kodi.scm | 2 +- gnu/packages/ruby.scm | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f1f7968908..6f04965fb7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1644,7 +1644,7 @@ from high-throughput sequencing assays.") '(configure install check))))) (native-inputs `(("ant" ,ant) - ("jdk" ,icedtea6 "jdk"))) + ("jdk" ,icedtea "jdk"))) (home-page "http://samtools.github.io/htsjdk/") (synopsis "Java API for high-throughput sequencing data (HTS) formats") (description @@ -2539,7 +2539,7 @@ simultaneously.") `(modify-phases ,phases (replace 'enter-dir (lambda _ (chdir "ngs-java") #t))))))) (inputs - `(("jdk" ,icedtea6 "jdk") + `(("jdk" ,icedtea "jdk") ("ngs-sdk" ,ngs-sdk))) (synopsis "Java bindings for NGS SDK"))) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4d0750c3d5..c4ad45e86d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -81,7 +81,7 @@ 'build (lambda* (#:key inputs outputs #:allow-other-keys) (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) - (setenv "JAVA_HOME" (assoc-ref inputs "icedtea6")) + (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) ;; Build shared libraries. Users of SWT have to set the system ;; property swt.library.path to the "lib" directory of this @@ -115,7 +115,7 @@ (native-inputs `(("pkg-config" ,pkg-config) ("unzip" ,unzip) - ("icedtea6" ,icedtea6 "jdk"))) + ("jdk" ,icedtea "jdk"))) (home-page "https://www.eclipse.org/swt/") (synopsis "Widget toolkit for Java") (description @@ -740,3 +740,5 @@ build process and its dependencies, whereas Make uses Makefile format.") "03pggsrhkzpjnj939vhr3b7mcrhfp22b7yg3hkx52kcv8dqkg3yx")) ,@(fold alist-delete (package-native-inputs icedtea6) '("openjdk6-src"))))))) + +(define-public icedtea icedtea7) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index f0c372bc29..4a9cebde01 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -149,7 +149,7 @@ ("doxygen" ,doxygen) ("gawk" ,gawk) ("gettext" ,gnu-gettext) - ("icedtea7" ,icedtea7) ; needed at build-time only, mandatory + ("icedtea" ,icedtea) ; needed at build-time only, mandatory ("libtool" ,libtool) ("pkg-config" ,pkg-config) ("swig" ,swig) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 47ac392aa6..0dcdb33d7c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -466,7 +466,7 @@ supported: XML Markup and XML Events.") (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) #t))))) (native-inputs - `(("jdk" ,icedtea7 "jdk"))) + `(("jdk" ,icedtea "jdk"))) (synopsis "Ruby-to-Java bridge using the Java Native Interface") (description "RJB is a bridge program that connects Ruby and Java via the Java Native Interface.") From 5452588c1a662bdcee240342a9df87efa4b1c017 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 30 Dec 2015 14:31:16 +0100 Subject: [PATCH 025/128] gnu: icedtea6, icedtea7: Rename package to "icedtea". * gnu/packages/java.scm (icedtea6): Change package name to "icedtea". (icedtea7): Inherit package name. --- gnu/packages/java.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c4ad45e86d..b4c7bc31be 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -186,7 +186,7 @@ build process and its dependencies, whereas Make uses Makefile format.") (define-public icedtea6 (package - (name "icedtea6") + (name "icedtea") (version "1.13.9") (source (origin (method url-fetch) @@ -514,7 +514,8 @@ build process and its dependencies, whereas Make uses Makefile format.") (alist-replace 'install (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") "/share/doc/" ,name)) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/icedtea")) (jre (assoc-ref outputs "out")) (jdk (assoc-ref outputs "jdk"))) (copy-recursively "openjdk.build/docs" doc) @@ -585,7 +586,6 @@ build process and its dependencies, whereas Make uses Makefile format.") "/icedtea7/" version "/" name ".tar.bz2")) (sha256 (base32 hash)))))) (package (inherit icedtea6) - (name "icedtea7") (version version) (source (origin (method url-fetch) From d028740622f2cc837d0fb161506b12e6c459505a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 30 Dec 2015 14:33:11 +0100 Subject: [PATCH 026/128] gnu: icedtea6: Rename to icedtea-6. * gnu/packages/java.scm (icedtea6): Rename variable to... (icedtea-6): ...this. --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b4c7bc31be..60873aa74e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -184,7 +184,7 @@ and is best suited to building Java projects. Ant uses XML to describe the build process and its dependencies, whereas Make uses Makefile format.") (license license:asl2.0))) -(define-public icedtea6 +(define-public icedtea-6 (package (name "icedtea") (version "1.13.9") @@ -585,7 +585,7 @@ build process and its dependencies, whereas Make uses Makefile format.") "http://icedtea.classpath.org/download/drops/" "/icedtea7/" version "/" name ".tar.bz2")) (sha256 (base32 hash)))))) - (package (inherit icedtea6) + (package (inherit icedtea-6) (version version) (source (origin (method url-fetch) @@ -616,7 +616,7 @@ build process and its dependencies, whereas Make uses Makefile format.") #:tests? #f ;; Apparently, the C locale is needed for some of the tests. #:locale "C" - ,@(substitute-keyword-arguments (package-arguments icedtea6) + ,@(substitute-keyword-arguments (package-arguments icedtea-6) ((#:modules modules) `((ice-9 match) (srfi srfi-26) @@ -738,7 +738,7 @@ build process and its dependencies, whereas Make uses Makefile format.") ("hotspot-drop" ,(drop "hotspot" "03pggsrhkzpjnj939vhr3b7mcrhfp22b7yg3hkx52kcv8dqkg3yx")) - ,@(fold alist-delete (package-native-inputs icedtea6) + ,@(fold alist-delete (package-native-inputs icedtea-6) '("openjdk6-src"))))))) (define-public icedtea icedtea7) From a243e12aba1dccbe5e67be8feb2337bdf8bfba71 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 30 Dec 2015 14:34:25 +0100 Subject: [PATCH 027/128] gnu: icedtea7: Rename to icedtea-7. * gnu/packages/java.scm (icedtea7): Rename variable to... (icedtea-7): ...this. (icedtea): Refer to "icedtea-7". --- gnu/packages/java.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 60873aa74e..aaf789d8b9 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -576,7 +576,7 @@ build process and its dependencies, whereas Make uses Makefile format.") ;; same license as both GNU Classpath and OpenJDK. (license license:gpl2+))) -(define-public icedtea7 +(define-public icedtea-7 (let* ((version "2.6.3") (drop (lambda (name hash) (origin @@ -741,4 +741,4 @@ build process and its dependencies, whereas Make uses Makefile format.") ,@(fold alist-delete (package-native-inputs icedtea-6) '("openjdk6-src"))))))) -(define-public icedtea icedtea7) +(define-public icedtea icedtea-7) From 7266848ace1da9b43c3a06bf4c942c56d4ba3d6a Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 30 Dec 2015 10:27:33 +1000 Subject: [PATCH 028/128] build: ruby: Remove cached gem after install. The .gem file stored in GEM_HOME after install is both redundant and an archive that stores timestamped files which makes builds non-deterministic, so delete it after 'gem install'. * guix/build/ruby-build-system.scm (install): Remove cached gem after install. --- guix/build/ruby-build-system.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm index 2685da1a72..6439bf69eb 100644 --- a/guix/build/ruby-build-system.scm +++ b/guix/build/ruby-build-system.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015 Pjotr Prins +;;; Copyright © 2015 Ben Woodcroft ;;; ;;; This file is part of GNU Guix. ;;; @@ -115,15 +116,19 @@ GEM-FLAGS are passed to the 'gem' invokation, if present." (assoc-ref inputs "ruby")) 1)) (out (assoc-ref outputs "out")) - (gem-home (string-append out "/lib/ruby/gems/" ruby-version ".0"))) - + (gem-home (string-append out "/lib/ruby/gems/" ruby-version ".0")) + (gem-name (first-matching-file "\\.gem$"))) (setenv "GEM_HOME" gem-home) (mkdir-p gem-home) - (zero? (apply system* "gem" "install" (first-matching-file "\\.gem$") - "--local" "--ignore-dependencies" - ;; Executables should go into /bin, not /lib/ruby/gems. - "--bindir" (string-append out "/bin") - gem-flags)))) + (and (apply system* "gem" "install" gem-name + "--local" "--ignore-dependencies" + ;; Executables should go into /bin, not /lib/ruby/gems. + "--bindir" (string-append out "/bin") + gem-flags) + ;; Remove the cached gem file as this is unnecessary and contains + ;; timestamped files rendering builds not reproducible. + (begin (delete-file (string-append gem-home "/cache/" gem-name)) + #t)))) (define %standard-phases (modify-phases gnu:%standard-phases From 341ae582134e1d0393db864584c42228341ac3ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 14:21:53 +0100 Subject: [PATCH 029/128] gnu: ldc: Fix license. * gnu/packages/ldc.scm (ldc)[license]: Replace invalid use of 'license:x11-style' by LICENSE:BOOST1.0. --- gnu/packages/ldc.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index 06040a2b92..1981bc115d 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -115,4 +115,4 @@ latest DMD frontend and uses LLVM as backend.") ;; which is released under the "Boost Software License version 1.0". (license (list license:bsd-3 license:gpl2+ - license:x11-style "http://www.boost.org/LICENSE_1_0.txt")))) + license:boost1.0)))) From 3c4c8c3e06cb50724942780fd6f240a7c1891261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 14:49:48 +0100 Subject: [PATCH 030/128] services: cleanup-service: Catch 'system-error' instead of everything. This makes sure that critical errors such as unbound-variable do not go undetected. * gnu/services.scm (cleanup-gexp): Introduce local 'fail-safe' macro and use it. Remove uses of 'false-if-exception'. --- gnu/services.scm | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index 27a4883f71..f302816e9e 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -255,12 +255,23 @@ boot." ;; XXX This needs to happen before service activations, so it ;; has to be here, but this also implicitly assumes that /tmp ;; and /var/run are on the root partition. - (false-if-exception (delete-file-recursively "/tmp")) - (false-if-exception (delete-file-recursively "/var/run")) - (false-if-exception (mkdir "/tmp")) - (false-if-exception (chmod "/tmp" #o1777)) - (false-if-exception (mkdir "/var/run")) - (false-if-exception (chmod "/var/run" #o755)))))) + (letrec-syntax ((fail-safe (syntax-rules () + ((_ exp rest ...) + (begin + (catch 'system-error + (lambda () exp) + (const #f)) + (fail-safe rest ...))) + ((_) + #t)))) + ;; Ignore I/O errors so the system can boot. + (fail-safe + (delete-file-recursively "/tmp") + (delete-file-recursively "/var/run") + (mkdir "/tmp") + (chmod "/tmp" #o1777) + (mkdir "/var/run") + (chmod "/var/run" #o755))))))) (define cleanup-service-type ;; Service that cleans things up in /tmp and similar. From 7b78f359d1586ce4e5b00b3008ad8362a8173720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 15:51:31 +0100 Subject: [PATCH 031/128] gnu: sudo: Use /var/run/sudo instead of /run/sudo. * gnu/packages/admin.scm (sudo)[arguments]: Pass --with-rundir=/var/run/sudo since /var/run is cleaned up at boot time on GuixSD whereas /run is not. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 4f335a27d4..fbdc26d9ee 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014, 2015 Eric Bavier @@ -705,7 +705,7 @@ system administrator.") (arguments `(#:configure-flags (list "--with-logpath=/var/log/sudo.log" - "--with-rundir=/run/sudo" + "--with-rundir=/var/run/sudo" ;must be cleaned up at boot time "--with-vardir=/var/db/sudo" "--with-iologdir=/var/log/sudo-io" From f888c0b1207a92b0d7af4dcf7fb73cecd1f0b34f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 15:53:20 +0100 Subject: [PATCH 032/128] lint: cve: Catch host name lookup errors. * guix/scripts/lint.scm (package-vulnerabilities): Catch 'getaddrinfo-error'. --- guix/scripts/lint.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index f296f8a00e..e2cc965951 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Cyril Roelandt ;;; Copyright © 2014, 2015 Eric Bavier -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mathieu Lirzin ;;; ;;; This file is part of GNU Guix. @@ -593,7 +593,16 @@ Common Platform Enumeration (CPE) name." (define package-vulnerabilities (let ((lookup (delay (vulnerabilities->lookup-proc - (current-vulnerabilities))))) + ;; Catch networking errors to allow network-less + ;; operation. + (catch 'getaddrinfo-error + (lambda () + (current-vulnerabilities)) + (lambda (key errcode) + (warn (_ "failed to lookup NIST host: ~a~%") + (gai-strerror errcode)) + (warn (_ "assuming no CVE vulnerabilities~%")) + '())))))) (lambda (package) "Return a list of vulnerabilities affecting PACKAGE." ((force lookup) From c7b08410de7ebe7e34cf974320e3bf4a8b2b98ca Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 1 Dec 2015 17:41:52 -0600 Subject: [PATCH 033/128] gnu: gmsh: Update to 2.11.0. * gnu/packages/maths.scm (gmsh): Update to 2.11.0. [arguments]: Replace 'check phase. --- gnu/packages/maths.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e2d5aa1ff4..51d9cc1ce4 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -463,14 +463,14 @@ script files.") (define-public gmsh (package (name "gmsh") - (version "2.8.4") + (version "2.11.0") (source (origin (method url-fetch) (uri (string-append "http://www.geuz.org/gmsh/src/gmsh-" version "-source.tgz")) (sha256 - (base32 "0jv2yvk28w86rx5mvjkb0w12ff2jxih7axnpvznpd295lg5jg7hr")) + (base32 "1ilplibvjgf7a905grpnclrvkmqy9fgrpl7xyp3w4yl1qc682v9b")) (modules '((guix build utils))) (snippet ;; Remove non-free METIS code @@ -489,7 +489,15 @@ script files.") (arguments `(#:configure-flags `("-DENABLE_METIS:BOOL=OFF" "-DENABLE_BUILD_SHARED:BOOL=ON" - "-DENABLE_BUILD_DYNAMIC:BOOL=ON"))) + "-DENABLE_BUILD_DYNAMIC:BOOL=ON") + #:phases (modify-phases %standard-phases + (replace + 'check + (lambda _ + (zero? (system* "make" "test" + ;; Disable this test. See + ;; https://geuz.org/trac/gmsh/ticket/271 + "ARGS=-E component8_in_a_box"))))))) (home-page "http://www.geuz.org/gmsh/") (synopsis "3D finite element grid generator") (description "Gmsh is a 3D finite element grid generator with a built-in From 1c63dafce60cb362f80986eed7ce823a3f3500a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 18:04:36 +0100 Subject: [PATCH 034/128] http-client: Fix erroneous comment. * guix/http-client.scm: Fix Guile version number in comment for Guile commit 5a10e41. --- guix/http-client.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/http-client.scm b/guix/http-client.scm index c7cbc82aac..b0aae52658 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2012, 2015 Free Software Foundation, Inc. ;;; @@ -191,7 +191,7 @@ closes PORT, unless KEEP-ALIVE? is true." (unless (guile-version>? "2.0.11") ;; Guile <= 2.0.9 had a bug whereby 'response-body-port' would read more ;; than what 'content-length' says. See Guile commit 802a25b. - ;; Guile <= 2.0.12 had a bug whereby the 'close' method of the response + ;; Guile <= 2.0.11 had a bug whereby the 'close' method of the response ;; body port would fail with wrong-arg-num. See Guile commit 5a10e41. (module-set! (resolve-module '(web response)) 'make-delimited-input-port make-delimited-input-port))) From dff9141c5ec0dc7554ca8846be43c27bb7ebc3ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 21:24:01 +0100 Subject: [PATCH 035/128] gnu: guix: Update development snapshot to f888c0b. * gnu/packages/package-management.scm (guix-devel): Update to f888c0b. --- gnu/packages/package-management.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 917464543c..f157d1513b 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. @@ -195,9 +195,9 @@ the Nix package manager.") ;; ;; Note: use a short commit id; when using the long one, the limit on socket ;; file names is exceeded while running the tests. - (let ((commit "5c36edc")) + (let ((commit "f888c0b1207a92b0d7af4dcf7fb73cecd1f0b34f")) (package (inherit guix-0.9.0) - (version (string-append "0.9.0." commit)) + (version (string-append "0.9.0." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference @@ -205,7 +205,7 @@ the Nix package manager.") (commit commit))) (sha256 (base32 - "008fv3yj1jkxxma9vp8wzmkk3m82kgchaj9y7lpcvkqzcdhz8h7p")) + "1g9yxnqg3xl3wk6ps46mbjz5gvbj9cdci7rr7in9mqcqs26llqy1")) (file-name (string-append "guix-" version "-checkout")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.9.0) From 793a43f4099c94a74fa3374b0ed732cb14e120e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 21:36:15 +0100 Subject: [PATCH 036/128] http-client: Work around . * guix/http-client.scm (read-header-line): New procedure. Use it. --- guix/http-client.scm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/guix/http-client.scm b/guix/http-client.scm index b0aae52658..31b511eb1c 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -188,13 +188,33 @@ closes PORT, unless KEEP-ALIVE? is true." (make-custom-binary-input-port "delimited input port" read! #f #f close)) + (define (read-header-line port) + "Read an HTTP header line and return it without its final CRLF or LF. +Raise a 'bad-header' exception if the line does not end in CRLF or LF, +or if EOF is reached." + (match (%read-line port) + (((? string? line) . #\newline) + ;; '%read-line' does not consider #\return a delimiter; so if it's + ;; there, remove it. We are more tolerant than the RFC in that we + ;; tolerate LF-only endings. + (if (string-suffix? "\r" line) + (string-drop-right line 1) + line)) + ((line . _) ;EOF or missing delimiter + ((@@ (web http) bad-header) 'read-header-line line)))) + (unless (guile-version>? "2.0.11") ;; Guile <= 2.0.9 had a bug whereby 'response-body-port' would read more ;; than what 'content-length' says. See Guile commit 802a25b. ;; Guile <= 2.0.11 had a bug whereby the 'close' method of the response ;; body port would fail with wrong-arg-num. See Guile commit 5a10e41. (module-set! (resolve-module '(web response)) - 'make-delimited-input-port make-delimited-input-port))) + 'make-delimited-input-port make-delimited-input-port) + + ;; Guile <= 2.0.11 was affected by . See Guile + ;; commit 4c7732c. + (when (module-variable %web-http 'read-line*) + (module-set! %web-http 'read-line* read-header-line)))) ;; XXX: Work around , present in Guile ;; up to 2.0.7. From 6071122b713e8a87158cdd4e913851fab283ead3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 22:42:09 +0100 Subject: [PATCH 037/128] utils: Add 'ensure-keyword-arguments'. * guix/utils.scm (delkw, ensure-keyword-arguments): New procedures. * tests/utils.scm ("ensure-keyword-arguments"): New test. --- guix/utils.scm | 42 +++++++++++++++++++++++++++++++++++++++++- tests/utils.scm | 10 +++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/guix/utils.scm b/guix/utils.scm index 7b589e68a8..c61f105513 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2013, 2014, 2015 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2014 Ian Denhardt @@ -52,6 +52,7 @@ strip-keyword-arguments default-keyword-arguments substitute-keyword-arguments + ensure-keyword-arguments location @@ -453,6 +454,45 @@ previous value of the keyword argument." (() (reverse before))))))) +(define (delkw kw lst) + "Remove KW and its associated value from LST, a keyword/value list such +as '(#:foo 1 #:bar 2)." + (let loop ((lst lst) + (result '())) + (match lst + (() + (reverse result)) + ((kw? value rest ...) + (if (eq? kw? kw) + (append (reverse result) rest) + (loop rest (cons* value kw? result))))))) + +(define (ensure-keyword-arguments args kw/values) + "Force the keywords arguments KW/VALUES in the keyword argument list ARGS. +For instance: + + (ensure-keyword-arguments '(#:foo 2) '(#:foo 2)) + => (#:foo 2) + + (ensure-keyword-arguments '(#:foo 2) '(#:bar 3)) + => (#:foo 2 #:bar 3) + + (ensure-keyword-arguments '(#:foo 2) '(#:bar 3 #:foo 42)) + => (#:foo 42 #:bar 3) +" + (let loop ((args args) + (kw/values kw/values) + (result '())) + (match args + (() + (append (reverse result) kw/values)) + ((kw value rest ...) + (match (memq kw kw/values) + ((_ value . _) + (loop rest (delkw kw kw/values) (cons* value kw result))) + (#f + (loop rest kw/values (cons* value kw result)))))))) + (define* (nix-system->gnu-triplet #:optional (system (%current-system)) (vendor "unknown")) "Return a guess of the GNU triplet corresponding to Nix system diff --git a/tests/utils.scm b/tests/utils.scm index 04a859fc9d..a05faabc15 100644 --- a/tests/utils.scm +++ b/tests/utils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2014 Eric Bavier ;;; ;;; This file is part of GNU Guix. @@ -141,6 +141,14 @@ '(a #:foo 42 #:b b #:baz 3 #:c c #:bar 4))) +(test-equal "ensure-keyword-arguments" + '((#:foo 2) + (#:foo 2 #:bar 3) + (#:foo 42 #:bar 3)) + (list (ensure-keyword-arguments '(#:foo 2) '(#:foo 2)) + (ensure-keyword-arguments '(#:foo 2) '(#:bar 3)) + (ensure-keyword-arguments '(#:foo 2) '(#:bar 3 #:foo 42)))) + (let* ((tree (alist->vhash '((0 2 3) (1 3 4) (2) (3 5 6) (4 6) (5) (6)) hashq)) From d4aaf954011646413e7c2ca39a34030821e84910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Jan 2016 22:56:01 +0100 Subject: [PATCH 038/128] build-system/gnu: Make 'package-with-explicit-inputs' idempotent. * guix/build-system/gnu.scm (package-with-explicit-inputs): Use 'ensure-keyword-arguments' instead of appending to ARGS. * gnu/packages/commencement.scm (static-bash-for-glibc): Add missing #:guile argument. --- gnu/packages/commencement.scm | 5 +++-- guix/build-system/gnu.scm | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 73b0ce4364..73b27a290a 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015 Mark H Weaver @@ -434,7 +434,8 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ("libc" ,glibc-final-with-bootstrap-bash) ,@(fold alist-delete %boot1-inputs '("gcc" "libc"))) - (current-source-location))))) + (current-source-location) + #:guile %bootstrap-guile)))) (define gettext-boot0 ;; A minimal gettext used during bootstrap. diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index c83c50b76e..9c53825c4a 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -96,10 +96,11 @@ builder, or the distro's final Guile when GUILE is #f." (package (inherit p) (location (if (pair? loc) (source-properties->location loc) loc)) (arguments - (let ((args (package-arguments p))) - `(#:guile ,guile - #:implicit-inputs? #f - ,@args))) + ;; 'ensure-keyword-arguments' guarantees that this procedure is + ;; idempotent. + (ensure-keyword-arguments (package-arguments p) + `(#:guile ,guile + #:implicit-inputs? #f))) (replacement (let ((replacement (package-replacement p))) (and replacement From e6352001c444a82141ea4457e49e69a1c3f8b2bb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 6 Jan 2016 10:43:18 -0500 Subject: [PATCH 039/128] gnu: w3m: Update patch to use '-p1'. * gnu/packages/patches/w3m-fix-compile.patch: Rename this file... * gnu/packages/patches/w3m-libgc.patch: ...to this, and adjust patch prefix level to '-p1'. * gnu-system.am (dist_patch_DATA): Update patch name. * gnu/packages/w3m.scm (w3m)[source]: Update patch name. [source]: Drop patch flag -p0. --- gnu-system.am | 2 +- gnu/packages/patches/w3m-fix-compile.patch | 15 ------------ gnu/packages/patches/w3m-libgc.patch | 28 ++++++++++++++++++++++ gnu/packages/w3m.scm | 4 ++-- 4 files changed, 31 insertions(+), 18 deletions(-) delete mode 100644 gnu/packages/patches/w3m-fix-compile.patch create mode 100644 gnu/packages/patches/w3m-libgc.patch diff --git a/gnu-system.am b/gnu-system.am index 3dd49fe945..bed041a946 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -698,7 +698,7 @@ dist_patch_DATA = \ gnu/packages/patches/valgrind-enable-arm.patch \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vtk-mesa-10.patch \ - gnu/packages/patches/w3m-fix-compile.patch \ + gnu/packages/patches/w3m-libgc.patch \ gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch \ gnu/packages/patches/weechat-python.patch \ gnu/packages/patches/weex-vacopy.patch \ diff --git a/gnu/packages/patches/w3m-fix-compile.patch b/gnu/packages/patches/w3m-fix-compile.patch deleted file mode 100644 index 5604052f67..0000000000 --- a/gnu/packages/patches/w3m-fix-compile.patch +++ /dev/null @@ -1,15 +0,0 @@ -https://bugs.archlinux.org/task/33397 - -diff -aur old/main.c new/main.c ---- main.c 2013-01-14 18:16:14.216210053 -0600 -+++ main.c 2013-01-14 18:17:28.816220559 -0600 -@@ -833,7 +833,8 @@ - mySignal(SIGPIPE, SigPipe); - #endif - -- orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc); -+ orig_GC_warn_proc = GC_get_warn_proc(); -+ GC_set_warn_proc(wrap_GC_warn_proc); - err_msg = Strnew(); - if (load_argc == 0) { - /* no URL specified */ diff --git a/gnu/packages/patches/w3m-libgc.patch b/gnu/packages/patches/w3m-libgc.patch new file mode 100644 index 0000000000..0dc6a4027c --- /dev/null +++ b/gnu/packages/patches/w3m-libgc.patch @@ -0,0 +1,28 @@ +This patch fixes w3m compilation with libgc > 7.2. + +Reported: +https://bugs.archlinux.org/task/33397 + +Patch with explanation: +http://anonscm.debian.org/cgit/collab-maint/w3m.git/commit/?id=770eec8304bdbe458 +--- + main.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/main.c b/main.c +index b421943..249eb1a 100644 +--- a/main.c ++++ b/main.c +@@ -833,7 +833,8 @@ main(int argc, char **argv, char **envp) + mySignal(SIGPIPE, SigPipe); + #endif + +- orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc); ++ orig_GC_warn_proc = GC_get_warn_proc(); ++ GC_set_warn_proc(wrap_GC_warn_proc); + err_msg = Strnew(); + if (load_argc == 0) { + /* no URL specified */ +-- +2.6.4 + diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index d114d0a69e..113bfc484c 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov +;;; Copyright © 2016 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,8 +44,7 @@ "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579")) ;; cf. https://bugs.archlinux.org/task/33397 - (patches (list (search-patch "w3m-fix-compile.patch"))) - (patch-flags '("-p0")))) + (patches (list (search-patch "w3m-libgc.patch"))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:phases (alist-cons-before From 62339e2d493bf87a3aabe12e45458581e9705d83 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 5 Jan 2016 19:26:25 -0500 Subject: [PATCH 040/128] gnu: w3m: Enable SSL, disable broken protocols and ciphers. Fixes . * gnu/packages/patches/w3m-force-ssl_verify_server-on.patch: New file. * gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch: New file. * gnu/packages/patches/w3m-disable-weak-ciphers.patch: New file. * gnu/packages/w3m.scm (w3m)[source]: Add patches. * gnu-system.am (dist_patch_DATA): Add the new files. --- gnu-system.am | 3 +++ .../patches/w3m-disable-sslv2-and-sslv3.patch | 24 +++++++++++++++++++ .../patches/w3m-disable-weak-ciphers.patch | 24 +++++++++++++++++++ .../w3m-force-ssl_verify_server-on.patch | 24 +++++++++++++++++++ gnu/packages/w3m.scm | 5 +++- 5 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch create mode 100644 gnu/packages/patches/w3m-disable-weak-ciphers.patch create mode 100644 gnu/packages/patches/w3m-force-ssl_verify_server-on.patch diff --git a/gnu-system.am b/gnu-system.am index bed041a946..7c4112a7e6 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -699,6 +699,9 @@ dist_patch_DATA = \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vtk-mesa-10.patch \ gnu/packages/patches/w3m-libgc.patch \ + gnu/packages/patches/w3m-force-ssl_verify_server-on.patch \ + gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch \ + gnu/packages/patches/w3m-disable-weak-ciphers.patch \ gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch \ gnu/packages/patches/weechat-python.patch \ gnu/packages/patches/weex-vacopy.patch \ diff --git a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch b/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch new file mode 100644 index 0000000000..5b78f2d909 --- /dev/null +++ b/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch @@ -0,0 +1,24 @@ +Subject: Disable SSLv2 and SSLv3. + +The only remaining methods are TLSv1.* (the code never distinguishes +between TLSv1.0, TLSv1.1, and TLSv1.2). +--- + fm.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fm.h b/fm.h +index 320906c..ddcd4fc 100644 +--- a/fm.h ++++ b/fm.h +@@ -1144,7 +1144,7 @@ global int ssl_path_modified init(FALSE); + #endif /* defined(USE_SSL) && + * defined(USE_SSL_VERIFY) */ + #ifdef USE_SSL +-global char *ssl_forbid_method init(NULL); ++global char *ssl_forbid_method init("2, 3"); + #endif + + global int is_redisplay init(FALSE); +-- +2.6.4 + diff --git a/gnu/packages/patches/w3m-disable-weak-ciphers.patch b/gnu/packages/patches/w3m-disable-weak-ciphers.patch new file mode 100644 index 0000000000..4780d54cb6 --- /dev/null +++ b/gnu/packages/patches/w3m-disable-weak-ciphers.patch @@ -0,0 +1,24 @@ +Subject: Disable weak ciphers + +Disable RC4, "export ciphers", and all keys < 128 bits. + +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/1325674 +--- + url.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/url.c b/url.c +index ed6062e..e86b1f3 100644 +--- a/url.c ++++ b/url.c +@@ -326,6 +326,7 @@ openSSLHandle(int sock, char *hostname, char **p_cert) + SSL_load_error_strings(); + if (!(ssl_ctx = SSL_CTX_new(SSLv23_client_method()))) + goto eend; ++ SSL_CTX_set_cipher_list(ssl_ctx, "DEFAULT:!LOW:!RC4:!EXP"); + option = SSL_OP_ALL; + if (ssl_forbid_method) { + if (strchr(ssl_forbid_method, '2')) +-- +2.6.4 + diff --git a/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch b/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch new file mode 100644 index 0000000000..dc9f117f9d --- /dev/null +++ b/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch @@ -0,0 +1,24 @@ +Subject: Force ssl_verify_server on. + +By default, SSL/TLS certificates are not verified. This enables the +verification. +--- + fm.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fm.h b/fm.h +index 8378939..320906c 100644 +--- a/fm.h ++++ b/fm.h +@@ -1135,7 +1135,7 @@ global int view_unseenobject init(TRUE); + #endif + + #if defined(USE_SSL) && defined(USE_SSL_VERIFY) +-global int ssl_verify_server init(FALSE); ++global int ssl_verify_server init(TRUE); + global char *ssl_cert_file init(NULL); + global char *ssl_key_file init(NULL); + global char *ssl_ca_path init(NULL); +-- +2.6.4 + diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index 113bfc484c..45c9375def 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -44,7 +44,10 @@ "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579")) ;; cf. https://bugs.archlinux.org/task/33397 - (patches (list (search-patch "w3m-libgc.patch"))))) + (patches (list (search-patch "w3m-libgc.patch") + (search-patch "w3m-force-ssl_verify_server-on.patch") + (search-patch "w3m-disable-sslv2-and-sslv3.patch") + (search-patch "w3m-disable-weak-ciphers.patch"))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:phases (alist-cons-before From 5dfd276602a0218b22fccaf1116f2d5e935d4893 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 7 Jan 2016 11:04:38 +0100 Subject: [PATCH 041/128] gnu: edirect: Update to 3.50. * gnu/packages/bioinformatics.scm (edirect): Update to 3.50. [native-inputs]: Remove "unzip". --- gnu/packages/bioinformatics.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 6f04965fb7..ed712c0261 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1065,14 +1065,14 @@ data and settings.") (define-public edirect (package (name "edirect") - (version "2.50") + (version "3.50") (source (origin (method url-fetch) ;; Note: older versions are not retained. - (uri "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.zip") + (uri "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.tar.gz") (sha256 (base32 - "08afhz2ph66h8h381hl1mqyxkdi5nbvzsyj9gfw3jfbdijnpi4qj")))) + "1cr3gzcs3flmgnnbj5iz93vh9w0fca1ilzi2q82cl63ln3mwvpz0")))) (build-system perl-build-system) (arguments `(#:tests? #f ;no "check" target @@ -1112,8 +1112,6 @@ data and settings.") ("perl-uri" ,perl-uri) ("perl-www-robotrules" ,perl-www-robotrules) ("perl" ,perl))) - (native-inputs - `(("unzip" ,unzip))) (home-page "http://www.ncbi.nlm.nih.gov/books/NBK179288/") (synopsis "Tools for accessing the NCBI's set of databases") (description From 7d3a1a2dd21b011946094e3c20da4b716c9dd6b6 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 29 Dec 2015 14:11:21 +1000 Subject: [PATCH 042/128] gnu: Add ruby-ansi. * gnu/packages/ruby.scm (ruby-ansi): New variable. --- gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0dcdb33d7c..4ac3385a6c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2894,3 +2894,39 @@ programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients.") (home-page "http://rubyeventmachine.com") (license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT + +(define-public ruby-ansi + (package + (name "ruby-ansi") + (version "1.5.0") + (source + (origin + (method url-fetch) + ;; Fetch from GitHub as the gem does not contain testing code. + (uri (string-append "https://github.com/rubyworks/ansi/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zdip30hivyipi8hndhb457bhiz033awd00bgrsk5axjrwp6zhly")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Disable testing to break the cycle ansi, ae, ansi, as well as the + ;; cycle ansi, qed, ansi. Instead simply test that the library can + ;; be require'd. + (replace 'check + (lambda _ + (zero? (system* "ruby" "-Ilib" "-r" "ansi"))))))) + (synopsis "ANSI escape code related libraries") + (description + "This package is a collection of ANSI escape code related libraries +enabling ANSI colorization and stylization of console output. Included in the +library are the @code{Code} module, which defines ANSI codes as constants and +methods, a @code{Mixin} module for including color methods, a @code{Logger}, a +@code{ProgressBar}, and a @code{String} subclass. The library also includes a +@code{Terminal} module which provides information about the current output +device.") + (home-page "http://rubyworks.github.io/ansi") + (license license:bsd-2))) From 6dff495580a526cea7df223dd3bc34d81de3d58e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 6 Jan 2016 23:04:14 +0800 Subject: [PATCH 043/128] gnu: zita-resampler: Drop the '-march=native' optimization. * gnu/packages/audio.scm (zita-resampler)[source]: Add snippet. --- gnu/packages/audio.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index df1f67bddd..7cdf586d1e 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1881,6 +1881,11 @@ engine.") "http://kokkinizita.linuxaudio.org" "/linuxaudio/downloads/zita-resampler-" version ".tar.bz2")) + (snippet + ;; Don't optimize for a specific processor architecture. + '(substitute* '("apps/Makefile" "libs/Makefile") + (("^CXXFLAGS \\+= -march=native") ""))) + (modules '((guix build utils))) (sha256 (base32 "0r9ary5sc3y8vba5pad581ha7mgsrlyai83w7w4x2fmhfy64q0wq")))) From 29e255ca8362212b1a325dc904dd0f2a95140a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 6 Jan 2016 23:23:26 +0800 Subject: [PATCH 044/128] gnu: zita-convolver: Drop the '-march=native' optimization. * gnu/packages/audio.scm (zita-convolver)[source]: Add snippet. --- gnu/packages/audio.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 7cdf586d1e..ebae5d57d9 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1839,6 +1839,11 @@ result.") "http://kokkinizita.linuxaudio.org" "/linuxaudio/downloads/zita-convolver-" version ".tar.bz2")) + (snippet + ;; Don't optimize for a specific processor architecture. + '(substitute* "libs/Makefile" + (("^CXXFLAGS \\+= -march=native") ""))) + (modules '((guix build utils))) (sha256 (base32 "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz")))) From fe9451c50ab3508b7e312b87c1b18acbf9121905 Mon Sep 17 00:00:00 2001 From: Raimon Grau Date: Mon, 28 Dec 2015 11:51:59 +0000 Subject: [PATCH 045/128] gnu: Add xmlstarlet. * gnu/packages/xml.scm (xmlstarlet): New variable. --- gnu/packages/xml.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 8288869a9f..7419c61d3a 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Efraim Flashner +;;; Copyright © 2015 Raimon Grau ;;; ;;; This file is part of GNU Guix. ;;; @@ -707,3 +708,27 @@ Cflags: -I${includedir} C++ programming langauge.") (home-page "http://www.grinninglizard.com/tinyxml/index.html") (license license:zlib))) + +(define-public xmlstarlet + (package + (name "xmlstarlet") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/xmlstar/xmlstarlet/" + version "/xmlstarlet-" version ".tar.gz")) + (sha256 + (base32 + "1jp737nvfcf6wyb54fla868yrr39kcbijijmjpyk4lrpyg23in0m")))) + (build-system gnu-build-system) + (inputs + `(("libxslt" ,libxslt) + ("libxml2" ,libxml2))) + (home-page "http://xmlstar.sourceforge.net/") + (synopsis "Command line XML toolkit") + (description "XMLStarlet is a set of command line utilities which can be +used to transform, query, validate, and edit XML documents. XPath is used to +match and extract data, and elements can be added, deleted or modified using +XSLT and EXSLT.") + (license license:x11))) From d1c116089bb747009c11a3205e16a019dc5ecf7c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 16 Dec 2015 14:22:17 +0100 Subject: [PATCH 046/128] import: Add package->upstream-name procedure. * guix/import/cran.scm (package->upstream-name): New procedure. --- guix/import/cran.scm | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 45c679cbe2..bf46d17ead 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -204,27 +204,33 @@ which was derived from the R package's DESCRIPTION file." ;;; Updater. ;;; +(define (package->upstream-name package) + "Return the upstream name of the PACKAGE." + (let* ((properties (package-properties package)) + (upstream-name (and=> properties + (cut assoc-ref <> 'upstream-name)))) + (if upstream-name + upstream-name + (match (package-source package) + ((? origin? origin) + (match (origin-uri origin) + ((url rest ...) + (let ((end (string-rindex url #\_)) + (start (string-rindex url #\/))) + ;; The URL ends on + ;; (string-append "/" name "_" version ".tar.gz") + (substring url start end))) + (_ #f))) + (_ #f))))) + (define (latest-release package) "Return an for the latest release of PACKAGE." - (define (package->cran-name package) - (match (package-source package) - ((? origin? origin) - (match (origin-uri origin) - ((url rest ...) - (let ((end (string-rindex url #\_)) - (start (string-rindex url #\/))) - ;; The URL ends on - ;; (string-append "/" name "_" version ".tar.gz") - (substring url start end))) - (_ #f))) - (_ #f))) - - (define cran-name - (package->cran-name (specification->package package))) + (define upstream-name + (package->upstream-name (specification->package package))) (define meta - (cran-fetch cran-name)) + (cran-fetch upstream-name)) (and meta (let ((version (assoc-ref meta "Version"))) @@ -232,7 +238,7 @@ which was derived from the R package's DESCRIPTION file." (upstream-source (package package) (version version) - (urls (cran-uri cran-name version)))))) + (urls (cran-uri upstream-name version)))))) (define (cran-package? package) "Return true if PACKAGE is an R package from CRAN." From 34a75d35bb8366136309be62000baa6ba1067399 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 16 Dec 2015 14:28:43 +0100 Subject: [PATCH 047/128] import: Rename "cran-fetch" to "fetch-description". * guix/import/cran.scm (cran-fetch): Rename procedure ... (fetch-description): ... to this. --- guix/import/cran.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index bf46d17ead..fc2709020a 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -109,11 +109,11 @@ package definition." (define %cran-url "http://cran.r-project.org/web/packages/") -(define (cran-fetch name) +(define (fetch-description base-url name) "Return an alist of the contents of the DESCRIPTION file for the R package NAME, or #f on failure. NAME is case-sensitive." ;; This API always returns the latest release of the module. - (let ((url (string-append %cran-url name "/DESCRIPTION"))) + (let ((url (string-append base-url name "/DESCRIPTION"))) (description->alist (read-string (http-fetch url))))) (define (listify meta field) @@ -196,7 +196,7 @@ which was derived from the R package's DESCRIPTION file." (define (cran->guix-package package-name) "Fetch the metadata for PACKAGE-NAME from cran.r-project.org, and return the `package' s-expression corresponding to that package, or #f on failure." - (let ((module-meta (cran-fetch package-name))) + (let ((module-meta (fetch-description %cran-url package-name))) (and=> module-meta description->package))) @@ -230,7 +230,7 @@ which was derived from the R package's DESCRIPTION file." (package->upstream-name (specification->package package))) (define meta - (cran-fetch upstream-name)) + (fetch-description %cran-url upstream-name)) (and meta (let ((version (assoc-ref meta "Version"))) From 21e4d6a9cfdd78f307a6951b0911207e386e2097 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:02:40 +0100 Subject: [PATCH 048/128] gnu: Add RSQLite. * gnu/packages/statistics.scm (r-rsqlite): New variable. --- gnu/packages/statistics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 81258d38f5..d41973321e 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1497,3 +1497,25 @@ grobs.") and draw tables.") (license license:gpl2+))) +(define-public r-rsqlite + (package + (name "r-rsqlite") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (cran-uri "RSQLite" version)) + (sha256 + (base32 + "08b1syv8z887gxiw8i09dpqh0zisfb6ihq6qqr01zipvkahzq34f")))) + (properties `((upstream-name . "RSQLite"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dbi" ,r-dbi))) + (home-page "https://github.com/rstats-db/RSQLite") + (synopsis "SQLite interface for R") + (description + "This package embeds the SQLite database engine in R and provides an +interface compliant with the DBI package. The source for the SQLite +engine (version 3.8.6) is included.") + (license license:lgpl2.0+))) + From cefaa79c9eb13ef7c84a038b09f147a19aea3aba Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:03:08 +0100 Subject: [PATCH 049/128] gnu: Add RCurl. * gnu/packages/statistics.scm (r-rcurl): New variable. --- gnu/packages/statistics.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d41973321e..0dd3a4f0ed 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -27,6 +27,7 @@ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages gcc) #:use-module (gnu packages gtk) #:use-module (gnu packages haskell) @@ -1519,3 +1520,34 @@ interface compliant with the DBI package. The source for the SQLite engine (version 3.8.6) is included.") (license license:lgpl2.0+))) +(define-public r-rcurl + (package + (name "r-rcurl") + (version "1.95-0.1.2") + (source (origin + (method url-fetch) + (uri (string-append "http://www.bioconductor.org/packages/" + "release/extra/src/" + "contrib/RCurl_" version ".tar.gz")) + (sha256 + (base32 + "0l7qi45jxlf898n0jazabnam1yyczvqfdknd00bdirhhiplpd1sc")))) + (properties `((upstream-name . "RCurl"))) + (build-system r-build-system) + (inputs + `(("libcurl" ,curl))) + (propagated-inputs + `(("r-bitops" ,r-bitops))) + (home-page "http://www.omegahat.org/RCurl") + (synopsis "General network client interface for R") + (description + "The package allows one to compose general HTTP requests and provides +convenient functions to fetch URIs, GET and POST forms, etc. and process the +results returned by the Web server. This provides a great deal of control +over the HTTP/FTP/... connection and the form of the request while providing a +higher-level interface than is available just using R socket connections. +Additionally, the underlying implementation is robust and extensive, +supporting FTP/FTPS/TFTP (uploads and downloads), SSL/HTTPS, telnet, dict, +ldap, and also supports cookies, redirects, authentication, etc.") + (license license:bsd-3))) + From 543ded36191aa0027c446c4320a72d559a0203d5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:03:26 +0100 Subject: [PATCH 050/128] gnu: Add r-xml. * gnu/packages/statistics.scm (r-xml): New variable. --- gnu/packages/statistics.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 0dd3a4f0ed..e9ad4d2a16 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1551,3 +1551,28 @@ supporting FTP/FTPS/TFTP (uploads and downloads), SSL/HTTPS, telnet, dict, ldap, and also supports cookies, redirects, authentication, etc.") (license license:bsd-3))) +(define-public r-xml + (package + (name "r-xml") + (version "3.98-1.3") + (source (origin + (method url-fetch) + (uri (cran-uri "XML" version)) + (sha256 + (base32 + "0j9ayp8a35g0227a4zd8nbmvnbfnj5w687jal6qvj4lbhi3va7sy")))) + (properties + `((upstream-name . "XML"))) + (build-system r-build-system) + (inputs + `(("libxml2" ,libxml2))) + (propagated-inputs + `(("r-rcurl" ,r-rcurl))) + (home-page "http://www.omegahat.org/RSXML") + (synopsis "Tools for parsing and generating XML within R") + (description + "Many approaches for both reading and creating XML (and HTML) +documents (including DTDs), both local and accessible via HTTP or FTP. Also +offers access to an XPath \"interpreter\".") + (license license:bsd-2))) + From ca65d387fd81110c81ee4222c4a3e458a04bf9f4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:03:47 +0100 Subject: [PATCH 051/128] gnu: Add lambda.r. * gnu/packages/statistics.scm (r-lambda-r): New variable. --- gnu/packages/statistics.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e9ad4d2a16..616f3b52ce 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1576,3 +1576,24 @@ documents (including DTDs), both local and accessible via HTTP or FTP. Also offers access to an XPath \"interpreter\".") (license license:bsd-2))) +(define-public r-lambda-r + (package + (name "r-lambda-r") + (version "1.1.7") + (source (origin + (method url-fetch) + (uri (cran-uri "lambda.r" version)) + (sha256 + (base32 + "1lxzrwyminc3dfb07pbn1rmj45kplxgsb17b06pzflj728knbqwa")))) + (properties `((upstream-name . "lambda.r"))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/lambda.r") + (synopsis "Functional programming extension for R") + (description + "This package provides a language extension to efficiently write +functional programs in R. Syntax extensions include multi-part function +definitions, pattern matching, guard statements, built-in (optional) type +safety.") + (license license:lgpl3+))) + From b9ff33b50e0114a670c3b7250ed5dc1a90a714ae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:04:49 +0100 Subject: [PATCH 052/128] gnu: Add futile.options. * gnu/packages/statistics.scm (r-futile-options): New variable. --- gnu/packages/statistics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 616f3b52ce..74937bd96b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1597,3 +1597,25 @@ definitions, pattern matching, guard statements, built-in (optional) type safety.") (license license:lgpl3+))) +(define-public r-futile-options + (package + (name "r-futile-options") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (cran-uri "futile.options" version)) + (sha256 + (base32 + "1hp82h6xqq5cck67h7lpf22n3j7mg3v1mla5y5ivnzrrb7iyr17f")))) + (properties + `((upstream-name . "futile.options"))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/futile.options") + (synopsis "Options management framework") + (description + "The futile.options subsystem provides an easy user-defined options +management system that is properly scoped. This means that options created +via @code{futile.options} are fully self-contained and will not collide with +options defined in other packages.") + (license license:lgpl3+))) + From 6b82f56cf9dc1674333a6f246663dac6195138c3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:05:07 +0100 Subject: [PATCH 053/128] gnu: Add futile.logger. * gnu/packages/statistics.scm (r-futile-logger): New variable. --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 74937bd96b..f75950db8a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1619,3 +1619,27 @@ via @code{futile.options} are fully self-contained and will not collide with options defined in other packages.") (license license:lgpl3+))) +(define-public r-futile-logger + (package + (name "r-futile-logger") + (version "1.4.1") + (source (origin + (method url-fetch) + (uri (cran-uri "futile.logger" version)) + (sha256 + (base32 + "1plld1icxrcay7llplbd4i8inpg97crpnczk58mbk26j8glqbr51")))) + (properties `((upstream-name . "futile.logger"))) + (build-system r-build-system) + (propagated-inputs + `(("r-futile-options" ,r-futile-options) + ("r-lambda-r" ,r-lambda-r))) + (home-page "http://cran.r-project.org/web/packages/futile.logger") + (synopsis "Logging utility for R") + (description + "This package provides a simple yet powerful logging utility. Based +loosely on log4j, futile.logger takes advantage of R idioms to make logging a +convenient and easy to use replacement for @code{cat} and @code{print} +statements.") + (license license:lgpl3+))) + From bc899123e75f1cbdca36843396d7a0b7b18c69b8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:05:29 +0100 Subject: [PATCH 054/128] gnu: Add snow. * gnu/packages/statistics.scm (r-snow): New variable. --- gnu/packages/statistics.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index f75950db8a..38bd649dd6 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1643,3 +1643,24 @@ convenient and easy to use replacement for @code{cat} and @code{print} statements.") (license license:lgpl3+))) +(define-public r-snow + (package + (name "r-snow") + (version "0.4-1") + (source (origin + (method url-fetch) + (uri (cran-uri "snow" version)) + (sha256 + (base32 + "19r2yq8aqw99vwyx81p6ay4afsfqffal1wzvizk3dj882s2n4j8w")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/snow") + (synopsis "Support for simple parallel computing in R") + (description + "The snow package provides support for simple parallel computing on a +network of workstations using R. A master R process calls @code{makeCluster} +to start a cluster of worker processes; the master process then uses functions +such as @code{clusterCall} and @code{clusterApply} to execute R code on the +worker processes and collect and return the results on the master.") + (license (list license:gpl2+ license:gpl3+)))) + From 555e3399dc1f213a0834a0dfd94a585f72f57449 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:06:09 +0100 Subject: [PATCH 055/128] gnu: Add Biobase. * gnu/packages/bioinformatics.scm (r-biobase): New variable. --- gnu/packages/bioinformatics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index ed712c0261..54fc051037 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3466,6 +3466,28 @@ GenomicRanges package defines general purpose containers for storing and manipulating genomic intervals and variables defined along a genome.") (license license:artistic2.0))) +(define-public r-biobase + (package + (name "r-biobase") + (version "2.30.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Biobase" version)) + (sha256 + (base32 + "1qasjpq3kw8h7qw8cin3bjvv1256hqr1mm24fq3v0ymxzlb66szi")))) + (properties + `((upstream-name . "Biobase"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics))) + (home-page "http://bioconductor.org/packages/Biobase") + (synopsis "Base functions for Bioconductor") + (description + "This package provides functions that are needed by many other packages +on Bioconductor or which replace R functions.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From 8b7bce740d507d544b6634b0f60be9450b36c5fc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:06:28 +0100 Subject: [PATCH 056/128] gnu: Add AnnotationDbi. * gnu/packages/bioinformatics.scm (r-annotationdbi): New variable. --- gnu/packages/bioinformatics.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 54fc051037..9577f714ff 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3488,6 +3488,33 @@ manipulating genomic intervals and variables defined along a genome.") on Bioconductor or which replace R functions.") (license license:artistic2.0))) +(define-public r-annotationdbi + (package + (name "r-annotationdbi") + (version "1.32.2") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "AnnotationDbi" version)) + (sha256 + (base32 + "08ncdjvq0l44kqyiv32kn9wnbw1xgfb6qjfzfbjpqrcfp1jygz9j")))) + (properties + `((upstream-name . "AnnotationDbi"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-dbi" ,r-dbi) + ("r-iranges" ,r-iranges) + ("r-rsqlite" ,r-rsqlite) + ("r-s4vectors" ,r-s4vectors))) + (home-page "http://bioconductor.org/packages/AnnotationDbi") + (synopsis "Annotation database interface") + (description + "This package provides user interface and database connection code for +annotation data packages using SQLite data storage.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From c465fa72ed004ebdb18ae67309da85826d426d67 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:06:52 +0100 Subject: [PATCH 057/128] gnu: Add biomaRt. * gnu/packages/bioinformatics.scm (r-biomart): New variable. --- gnu/packages/bioinformatics.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9577f714ff..c8c74ff902 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3515,6 +3515,36 @@ on Bioconductor or which replace R functions.") annotation data packages using SQLite data storage.") (license license:artistic2.0))) +(define-public r-biomart + (package + (name "r-biomart") + (version "2.26.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "biomaRt" version)) + (sha256 + (base32 + "1s709055abj2gd35g6nnk5d2ai5ii09iir270l2xika6pi62gj3f")))) + (properties + `((upstream-name . "biomaRt"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-rcurl" ,r-rcurl) + ("r-xml" ,r-xml))) + (home-page "http://bioconductor.org/packages/biomaRt") + (synopsis "Interface to BioMart databases") + (description + "biomaRt provides an interface to a growing collection of databases +implementing the @url{BioMart software suite, http://www.biomart.org}. The +package enables retrieval of large amounts of data in a uniform way without +the need to know the underlying database schemas or write complex SQL queries. +Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene, +Wormbase and dbSNP mapped to Ensembl. These major databases give biomaRt +users direct access to a diverse set of data and enable a wide range of +powerful online queries from gene annotation to database mining.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From e91d362e48b148b8537e852210a673d9b9058bdf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:07:08 +0100 Subject: [PATCH 058/128] gnu: Add BiocParallel. * gnu/packages/bioinformatics.scm (r-biocparallel): New variable. --- gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c8c74ff902..8163d5cc54 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3545,6 +3545,30 @@ users direct access to a diverse set of data and enable a wide range of powerful online queries from gene annotation to database mining.") (license license:artistic2.0))) +(define-public r-biocparallel + (package + (name "r-biocparallel") + (version "1.4.3") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "BiocParallel" version)) + (sha256 + (base32 + "1f5mndx66vampcsq0n66afg6x851crl0h3nyv2nyp9bsgzj9cdzq")))) + (properties + `((upstream-name . "BiocParallel"))) + (build-system r-build-system) + (propagated-inputs + `(("r-futile-logger" ,r-futile-logger) + ("r-snow" ,r-snow))) + (home-page "http://bioconductor.org/packages/BiocParallel") + (synopsis "Bioconductor facilities for parallel evaluation") + (description + "This package provides modified versions and novel implementation of +functions for parallel evaluation, tailored to use with Bioconductor +objects.") + (license (list license:gpl2+ license:gpl3+)))) + (define-public r-qtl (package (name "r-qtl") From bf159353376abe5177f336cbea56c94b72c89de8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:07:32 +0100 Subject: [PATCH 059/128] gnu: Add Biostrings. * gnu/packages/bioinformatics.scm (r-biostrings): New variable. --- gnu/packages/bioinformatics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8163d5cc54..d379c4fe37 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3569,6 +3569,32 @@ functions for parallel evaluation, tailored to use with Bioconductor objects.") (license (list license:gpl2+ license:gpl3+)))) +(define-public r-biostrings + (package + (name "r-biostrings") + (version "2.38.2") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Biostrings" version)) + (sha256 + (base32 + "1afp9szc8ci6jn0m3hrrqh6df65cpw3v1dcnl6xir3d3m3lwwmk4")))) + (properties + `((upstream-name . "Biostrings"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (home-page "http://bioconductor.org/packages/Biostrings") + (synopsis "String objects and algorithms for biological sequences") + (description + "This package provides memory efficient string containers, string +matching algorithms, and other utilities, for fast manipulation of large +biological sequences or sets of sequences.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From f8d74f70184b21b81b831f386f9a5f89a43a1d02 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:07:56 +0100 Subject: [PATCH 060/128] gnu: Add Rsamtools. * gnu/packages/bioinformatics.scm (r-rsamtools): New variable. --- gnu/packages/bioinformatics.scm | 44 +++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d379c4fe37..51be381e93 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3595,6 +3595,50 @@ matching algorithms, and other utilities, for fast manipulation of large biological sequences or sets of sequences.") (license license:artistic2.0))) +(define-public r-rsamtools + (package + (name "r-rsamtools") + (version "1.22.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Rsamtools" version)) + (sha256 + (base32 + "1yc3nzzms3igjwr4l9yd3wdac95glcs08b4cfp7disyly0wcskjd")))) + (properties + `((upstream-name . "Rsamtools"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-zlib + (lambda _ + (substitute* "DESCRIPTION" + (("zlibbioc, ") "")) + (substitute* "NAMESPACE" + (("import\\(zlibbioc\\)") "")) + #t))))) + (inputs + `(("zlib" ,zlib))) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-biostrings" ,r-biostrings) + ("r-bitops" ,r-bitops) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (home-page "http://bioconductor.org/packages/release/bioc/html/Rsamtools.html") + (synopsis "Interface to samtools, bcftools, and tabix") + (description + "This package provides an interface to the 'samtools', 'bcftools', and +'tabix' utilities for manipulating SAM (Sequence Alignment / Map), FASTA, +binary variant call (BCF) and compressed indexed tab-delimited (tabix) +files.") + (license license:expat))) + (define-public r-qtl (package (name "r-qtl") From 6e76dda2d08581d554b1605c819ec53958a4188f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:08:17 +0100 Subject: [PATCH 061/128] gnu: Add SummarizedExperiment. * gnu/packages/bioinformatics.scm (r-summarizedexperiment): New variable. --- gnu/packages/bioinformatics.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 51be381e93..4da9954c5b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3639,6 +3639,35 @@ binary variant call (BCF) and compressed indexed tab-delimited (tabix) files.") (license license:expat))) +(define-public r-summarizedexperiment + (package + (name "r-summarizedexperiment") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "SummarizedExperiment" version)) + (sha256 + (base32 + "0w1dwp99p6i7sc3cn0ir3dr8ksgxwjf16675h5i8n6gbv4rl9lz6")))) + (properties + `((upstream-name . "SummarizedExperiment"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors))) + (home-page "http://bioconductor.org/packages/SummarizedExperiment") + (synopsis "Container for representing genomic ranges by sample") + (description + "The SummarizedExperiment container contains one or more assays, each +represented by a matrix-like object of numeric or other mode. The rows +typically represent genomic ranges of interest and the columns represent +samples.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From d8a828af78ce92c583bedb23e379b5b4dd332ab1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:08:36 +0100 Subject: [PATCH 062/128] gnu: Add GenomicAlignments. * gnu/packages/bioinformatics.scm (r-genomicalignments): New variable. --- gnu/packages/bioinformatics.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4da9954c5b..1969b72a04 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3668,6 +3668,39 @@ typically represent genomic ranges of interest and the columns represent samples.") (license license:artistic2.0))) +(define-public r-genomicalignments + (package + (name "r-genomicalignments") + (version "1.6.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "GenomicAlignments" version)) + (sha256 + (base32 + "03pxzkmwcpl0d7a09ahan0nllfv7qw2i7w361w6af2s4n3xwrniz")))) + (properties + `((upstream-name . "GenomicAlignments"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-biostrings" ,r-biostrings) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-rsamtools" ,r-rsamtools) + ("r-s4vectors" ,r-s4vectors) + ("r-summarizedexperiment" ,r-summarizedexperiment))) + (home-page "http://bioconductor.org/packages/GenomicAlignments") + (synopsis "Representation and manipulation of short genomic alignments") + (description + "This package provides efficient containers for storing and manipulating +short genomic alignments (typically obtained by aligning short reads to a +reference genome). This includes read counting, computing the coverage, +junction detection, and working with the nucleotide content of the +alignments.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From 317755ff0fbd443466b162b358f650edeff10b69 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:09:00 +0100 Subject: [PATCH 063/128] gnu: Add rtracklayer. * gnu/packages/bioinformatics.scm (r-rtracklayer): New variable. --- gnu/packages/bioinformatics.scm | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1969b72a04..c7728160e6 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3701,6 +3701,51 @@ junction detection, and working with the nucleotide content of the alignments.") (license license:artistic2.0))) +(define-public r-rtracklayer + (package + (name "r-rtracklayer") + (version "1.30.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "rtracklayer" version)) + (sha256 + (base32 + "1if31hg56islx5vwydpgs5gkyas26kyvv2ljv1c7jikpm62w14qv")))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-zlib + (lambda _ + (substitute* "DESCRIPTION" + (("zlibbioc, ") "")) + (substitute* "NAMESPACE" + (("import\\(zlibbioc\\)") "")) + #t))))) + (inputs + `(("zlib" ,zlib))) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biostrings" ,r-biostrings) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicalignments" ,r-genomicalignments) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-rcurl" ,r-rcurl) + ("r-rsamtools" ,r-rsamtools) + ("r-s4vectors" ,r-s4vectors) + ("r-xml" ,r-xml) + ("r-xvector" ,r-xvector))) + (home-page "http://bioconductor.org/packages/rtracklayer") + (synopsis "R interface to genome browsers and their annotation tracks") + (description + "rtracklayer is an extensible framework for interacting with multiple +genome browsers (currently UCSC built-in) and manipulating annotation tracks +in various formats (currently GFF, BED, bedGraph, BED15, WIG, BigWig and 2bit +built-in). The user may export/import tracks to/from the supported browsers, +as well as query and modify the browser state, such as the current viewport.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From 2fd7c04984cf204dc90d5def68cad02002cd5937 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 18 Dec 2015 14:09:18 +0100 Subject: [PATCH 064/128] gnu: Add GenomicFeatures. * gnu/packages/bioinformatics.scm (r-genomicfeatures): New variable. --- gnu/packages/bioinformatics.scm | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c7728160e6..34a0e76f75 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3746,6 +3746,47 @@ built-in). The user may export/import tracks to/from the supported browsers, as well as query and modify the browser state, such as the current viewport.") (license license:artistic2.0))) +(define-public r-genomicfeatures + (package + (name "r-genomicfeatures") + (version "1.22.7") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "GenomicFeatures" version)) + (sha256 + (base32 + "1jb4s49ar5j9qslpd3kfdg2wrl4q7ciysd55h9a7zvspymxcngq8")))) + (properties + `((upstream-name . "GenomicFeatures"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biomart" ,r-biomart) + ("r-biostrings" ,r-biostrings) + ("r-dbi" ,r-dbi) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-rcurl" ,r-rcurl) + ("r-rsqlite" ,r-rsqlite) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (home-page "http://bioconductor.org/packages/GenomicFeatures") + (synopsis "Tools for working with transcript centric annotations") + (description + "This package provides a set of tools and methods for making and +manipulating transcript centric annotations. With these tools the user can +easily download the genomic locations of the transcripts, exons and cds of a +given organism, from either the UCSC Genome Browser or a BioMart +database (more sources will be supported in the future). This information is +then stored in a local database that keeps track of the relationship between +transcripts, exons, cds and genes. Flexible methods are provided for +extracting the desired features in a convenient format.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From fb25d8803f53d427b4a87bb1f0f5881bdfd93ee7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:25:59 +0100 Subject: [PATCH 065/128] gnu: Add GO.db. * gnu/packages/bioinformatics.scm (r-go-db): New variable. --- gnu/packages/bioinformatics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 34a0e76f75..f2a15b4674 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3787,6 +3787,26 @@ transcripts, exons, cds and genes. Flexible methods are provided for extracting the desired features in a convenient format.") (license license:artistic2.0))) +(define-public r-go-db + (package + (name "r-go-db") + (version "3.2.2") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "GO.db" version)) + (sha256 + (base32 + "00gariag9ampz82dh0xllrc26r85d7vdcwc0vca5zdy147rwxr7f")))) + (properties + `((upstream-name . "GO.db"))) + (build-system r-build-system) + (home-page "http://bioconductor.org/packages/GO.db") + (synopsis "Annotation maps describing the entire Gene Ontology") + (description + "The purpose of this GO.db annotation package is to provide detailed +information about the latest version of the Gene Ontologies.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From d706257b5b8698e3a18f2b7bff1d23e1bb1c4e8c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:26:50 +0100 Subject: [PATCH 066/128] gnu: Add SparseM. * gnu/packages/statistics.scm (r-sparsem): New variable. --- gnu/packages/statistics.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 38bd649dd6..ed1b11819d 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1664,3 +1664,24 @@ such as @code{clusterCall} and @code{clusterApply} to execute R code on the worker processes and collect and return the results on the master.") (license (list license:gpl2+ license:gpl3+)))) +(define-public r-sparsem + (package + (name "r-sparsem") + (version "1.7") + (source (origin + (method url-fetch) + (uri (cran-uri "SparseM" version)) + (sha256 + (base32 + "0s9kab5khk7daqf6nfp1wm1qnhkssnnwnymisfwyk3kz4q5maqfz")))) + (properties + `((upstream-name . "SparseM"))) + (build-system r-build-system) + (home-page "http://www.econ.uiuc.edu/~roger/research/sparse/sparse.html") + (synopsis "Sparse linear algebra") + (description + "This package provides some basic linear algebra functionality for sparse +matrices. It includes Cholesky decomposition and backsolving as well as +standard R subsetting and Kronecker products.") + (license license:gpl2+))) + From a8227e4ae92f5272aa293cf62c13b2b3aaaeff99 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:27:12 +0100 Subject: [PATCH 067/128] gnu: Add DT. * gnu/packages/statistics.scm (r-dt): New variable. --- gnu/packages/statistics.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ed1b11819d..57712b218f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1685,3 +1685,37 @@ matrices. It includes Cholesky decomposition and backsolving as well as standard R subsetting and Kronecker products.") (license license:gpl2+))) +(define-public r-dt + (package + (name "r-dt") + (version "0.1") + (source (origin + (method url-fetch) + (uri (cran-uri "DT" version)) + (sha256 + (base32 + "0mj7iiy1gglw7kixybmb7kr1bcl5r006zcb3klkw7p6vvvzdm6qj")))) + (properties + `((upstream-name . "DT"))) + (build-system r-build-system) + (propagated-inputs + `(("r-htmltools" ,r-htmltools) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-magrittr" ,r-magrittr))) + (home-page "http://rstudio.github.io/DT") + (synopsis "R wrapper of the DataTables JavaScript library") + (description + "This package allows for data objects in R to be rendered as HTML tables +using the JavaScript library 'DataTables' (typically via R Markdown or Shiny). +The 'DataTables' library has been included in this R package.") + ;; The DT package as a whole is distributed under GPLv3. The DT package + ;; inludes other software components under different licenses: + ;; + ;; * Expat: jQuery, jquery.highlight.js, DataTables + ;; * ASL2.0: selectize.js + ;; * WTFPL: noUiSlider + (license (list license:gpl3 + license:expat + license:asl2.0 + (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))))) + From a69a59359587f7797a717a0431d062ca4a454da2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:27:28 +0100 Subject: [PATCH 068/128] gnu: Add base64enc. * gnu/packages/statistics.scm (r-base64enc): New variable. --- gnu/packages/statistics.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 57712b218f..afa9f12668 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1719,3 +1719,21 @@ The 'DataTables' library has been included in this R package.") license:asl2.0 (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))))) +(define-public r-base64enc + (package + (name "r-base64enc") + (version "0.1-3") + (source (origin + (method url-fetch) + (uri (cran-uri "base64enc" version)) + (sha256 + (base32 + "13b89fhg1nx7zds82a0biz847ixphg9byf5zl2cw9kab6s56v1bd")))) + (build-system r-build-system) + (home-page "http://www.rforge.net/base64enc") + (synopsis "Tools for Base64 encoding") + (description + "This package provides tools for handling Base64 encoding. It is more +flexible than the orphaned \"base64\" package.") + (license license:gpl2+))) + From 8bfe007c9caf464ed5a646b4a3203d8e959ff6f9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:27:51 +0100 Subject: [PATCH 069/128] gnu: Add R.methodsS3. * gnu/packages/statistics.scm (r-r-methodss3): New variable. --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index afa9f12668..ffedaca8b1 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1737,3 +1737,27 @@ The 'DataTables' library has been included in this R package.") flexible than the orphaned \"base64\" package.") (license license:gpl2+))) +(define-public r-r-methodss3 + (package + (name "r-r-methodss3") + (version "1.7.0") + (source (origin + (method url-fetch) + (uri (cran-uri "R.methodsS3" version)) + (sha256 + (base32 + "1dg4bbrwr8jcsqisjrrwxs942mrjq72zw8yvl2br4djdm0md8zz5")))) + (properties `((upstream-name . "R.methodsS3"))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/R.methodsS3") + (synopsis "S3 methods simplified") + (description + "This package provides methods that simplify the setup of S3 generic +functions and S3 methods. Major effort has been made in making definition of +methods as simple as possible with a minimum of maintenance for package +developers. For example, generic functions are created automatically, if +missing, and naming conflict are automatically solved, if possible. The +method @code{setMethodS3()} is a good start for those who in the future may +want to migrate to S4.") + (license license:lgpl2.1+))) + From c8c75a8d889f5c3bab88cf52a92ad9b3b45a2fcb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:28:26 +0100 Subject: [PATCH 070/128] gnu: Add R.oo. * gnu/packages/statistics.scm (r-r-oo): New variable. --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ffedaca8b1..3838776837 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1761,3 +1761,26 @@ method @code{setMethodS3()} is a good start for those who in the future may want to migrate to S4.") (license license:lgpl2.1+))) +(define-public r-r-oo + (package + (name "r-r-oo") + (version "1.19.0") + (source (origin + (method url-fetch) + (uri (cran-uri "R.oo" version)) + (sha256 + (base32 + "15rm1qb9a212bqazhcpk7m48hcp7jq8rh4yhd9c6zfyvdqszfmsb")))) + (properties `((upstream-name . "R.oo"))) + (build-system r-build-system) + (propagated-inputs + `(("r-r-methodss3" ,r-r-methodss3))) + (home-page "https://github.com/HenrikBengtsson/R.oo") + (synopsis "R object-oriented programming with or without references") + (description + "This package provides methods and classes for object-oriented +programming in R with or without references. Large effort has been made on +making definition of methods as simple as possible with a minimum of +maintenance for package developers.") + (license license:lgpl2.1+))) + From 9c94b53b5b5cce8d069e4566b69e86876d451023 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:28:47 +0100 Subject: [PATCH 071/128] gnu: Add R.utils. * gnu/packages/statistics.scm (r-r-utils): New variable. --- gnu/packages/statistics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 3838776837..76d54f8483 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1784,3 +1784,25 @@ making definition of methods as simple as possible with a minimum of maintenance for package developers.") (license license:lgpl2.1+))) +(define-public r-r-utils + (package + (name "r-r-utils") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (cran-uri "R.utils" version)) + (sha256 + (base32 + "03pi6pkcsq65fv7cn4x74cj050dc8x5d4xyg930p6f7flk788xaz")))) + (properties `((upstream-name . "R.utils"))) + (build-system r-build-system) + (propagated-inputs + `(("r-r-methodss3" ,r-r-methodss3) + ("r-r-oo" ,r-r-oo))) + (home-page "https://github.com/HenrikBengtsson/R.utils") + (synopsis "Various programming utilities") + (description + "This package provides utility functions useful when programming and +developing R packages.") + (license license:lgpl2.1+))) + From a63efbb453c05cd6f9b0831582fa741f72be3755 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:29:08 +0100 Subject: [PATCH 072/128] gnu: Add R.cache. * gnu/packages/statistics.scm (r-r-cache): New variable. --- gnu/packages/statistics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 76d54f8483..96253595fd 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1806,3 +1806,29 @@ maintenance for package developers.") developing R packages.") (license license:lgpl2.1+))) +(define-public r-r-cache + (package + (name "r-r-cache") + (version "0.12.0") + (source (origin + (method url-fetch) + (uri (cran-uri "R.cache" version)) + (sha256 + (base32 + "006x52w9r8phw5hgqmyp0bz8z42vn8p5yibibnzi1sfa1xlw8iyx")))) + (properties `((upstream-name . "R.cache"))) + (build-system r-build-system) + (propagated-inputs + `(("r-digest" ,r-digest) + ("r-r-methodss3" ,r-r-methodss3) + ("r-r-oo" ,r-r-oo) + ("r-r-utils" ,r-r-utils))) + (home-page "https://github.com/HenrikBengtsson/R.cache") + (synopsis "Light-weight caching of objects and results") + (description + "This package provides methods for caching or memoization of objects and +results. With this package, any R object can be cached in a key-value storage +where the key can be an arbitrary set of R objects. The cache memory is +persistent (on the file system).") + (license license:lgpl2.1+))) + From 3703ffb41f979e1e56352cec5cf905840b4e4996 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:29:28 +0100 Subject: [PATCH 073/128] gnu: Add R.rsp. * gnu/packages/statistics.scm (r-r-rsp): New variable. --- gnu/packages/statistics.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 96253595fd..bc1bf63154 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1832,3 +1832,34 @@ where the key can be an arbitrary set of R objects. The cache memory is persistent (on the file system).") (license license:lgpl2.1+))) +(define-public r-r-rsp + (package + (name "r-r-rsp") + (version "0.20.0") + (source (origin + (method url-fetch) + (uri (cran-uri "R.rsp" version)) + (sha256 + (base32 + "06vq9qq5hdz3hqc99q82622mab6ix7jwap20h4za6ap6gnwqs0fv")))) + (properties `((upstream-name . "R.rsp"))) + (build-system r-build-system) + (propagated-inputs + `(("r-r-cache" ,r-r-cache) + ("r-r-methodss3" ,r-r-methodss3) + ("r-r-oo" ,r-r-oo) + ("r-r-utils" ,r-r-utils))) + (home-page "https://github.com/HenrikBengtsson/R.rsp") + (synopsis "Dynamic generation of scientific reports") + (description + "The RSP markup language provides a powerful markup for controlling the +content and output of LaTeX, HTML, Markdown, AsciiDoc, Sweave and knitr +documents (and more), e.g. @code{Today's date is <%=Sys.Date()%>}. Contrary +to many other literate programming languages, with RSP it is straightforward +to loop over mixtures of code and text sections, e.g. in month-by-month +summaries. RSP has also several preprocessing directives for incorporating +static and dynamic contents of external files (local or online) among other +things. RSP is ideal for self-contained scientific reports and R package +vignettes.") + (license license:lgpl2.1+))) + From e05c37da4aaa8c0e01cc9e1b6a5f8be45280659a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:29:51 +0100 Subject: [PATCH 074/128] gnu: Add matrixStats. * gnu/packages/statistics.scm (r-matrixstats): New variable. --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index bc1bf63154..84f64d033b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1863,3 +1863,27 @@ things. RSP is ideal for self-contained scientific reports and R package vignettes.") (license license:lgpl2.1+))) +(define-public r-matrixstats + (package + (name "r-matrixstats") + (version "0.15.0") + (source (origin + (method url-fetch) + (uri (cran-uri "matrixStats" version)) + (sha256 + (base32 + "1068k85s6rlwfzlszw790c2rndydvrsw7rpck6k6z17896m8drfa")))) + (properties `((upstream-name . "matrixStats"))) + (build-system r-build-system) + (native-inputs + `(("r-r-rsp" ,r-r-rsp))) ;used to build vignettes + (home-page "https://github.com/HenrikBengtsson/matrixStats") + (synopsis "Methods applying to vectors and matrix rows and columns") + (description + "This package provides methods operating on rows and columns of matrices, +e.g. @code{rowMedians()}, @code{rowRanks()}, and @code{rowSds()}. There are +also some vector-based methods, e.g. @code{binMeans()}, @code{madDiff()} and +@code{weightedMedians()}. All methods have been optimized for speed and +memory usage.") + (license license:artistic2.0))) + From d547ce5e70b0bbd1ea33471c7d0029f5ae3e49f5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:31:03 +0100 Subject: [PATCH 075/128] gnu: Add topGO. * gnu/packages/bioinformatics.scm (r-topgo): New variable. --- gnu/packages/bioinformatics.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f2a15b4674..31326f2752 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3807,6 +3807,35 @@ extracting the desired features in a convenient format.") information about the latest version of the Gene Ontologies.") (license license:artistic2.0))) +(define-public r-topgo + (package + (name "r-topgo") + (version "2.22.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "topGO" version)) + (sha256 + (base32 + "029j9nb39b8l9xlzsp83pmjr8ap247aia387yzaa1yyw8klapdaf")))) + (properties + `((upstream-name . "topGO"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-go-db" ,r-go-db) + ("r-sparsem" ,r-sparsem))) + (home-page "http://bioconductor.org/packages/topGO") + (synopsis "Enrichment analysis for gene ontology") + (description + "The topGO package provides tools for testing @dfn{gene ontology} (GO) +terms while accounting for the topology of the GO graph. Different test +statistics and different methods for eliminating local similarities and +dependencies between GO terms can be implemented and applied.") + ;; Any version of the LGPL applies. + (license license:lgpl2.1+))) + (define-public r-qtl (package (name "r-qtl") From a28d646b635a3515135265aef0a4979abe24fe34 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:33:15 +0100 Subject: [PATCH 076/128] gnu: Add viridis. * gnu/packages/statistics.scm (r-viridis): New variable. --- gnu/packages/statistics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 84f64d033b..fefb71751c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1887,3 +1887,29 @@ also some vector-based methods, e.g. @code{binMeans()}, @code{madDiff()} and memory usage.") (license license:artistic2.0))) +(define-public r-viridis + (package + (name "r-viridis") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri (cran-uri "viridis" version)) + (sha256 + (base32 + "0zz9i874s1fwhl9bcbiprlzaz7zsy1rj6c729zn3k525d63qbnj7")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra))) + (home-page "https://github.com/sjmgarnier/viridis") + (synopsis "Matplotlib default color map") + (description + "This package is a port of the new @url{matplotlib, +http://matplotlib.org/} color maps (@code{viridis}--the default--, +@code{magma}, @code{plasma}, and @code{inferno}) to R. These color maps are +designed in such a way that they will analytically be perfectly +perceptually-uniform, both in regular form and also when converted to +black-and-white. They are also designed to be perceived by readers with the +most common form of color blindness.") + (license license:x11))) + From fbf6045e33abe06c8190078d6691c3b97758fd6a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:33:36 +0100 Subject: [PATCH 077/128] gnu: Add plotly. * gnu/packages/statistics.scm (r-plotly): New variable. --- gnu/packages/statistics.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index fefb71751c..5b98c912e4 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1913,3 +1913,33 @@ black-and-white. They are also designed to be perceived by readers with the most common form of color blindness.") (license license:x11))) +(define-public r-plotly + (package + (name "r-plotly") + (version "2.0.3") + (source (origin + (method url-fetch) + (uri (cran-uri "plotly" version)) + (sha256 + (base32 + "16pqycns8qf0y1j21n009qf242lv0izwyidlx40zv88izxhg1vs0")))) + (build-system r-build-system) + (propagated-inputs + `(("r-base64enc" ,r-base64enc) + ("r-digest" ,r-digest) + ("r-ggplot2" ,r-ggplot2) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite) + ("r-magrittr" ,r-magrittr) + ("r-plyr" ,r-plyr) + ("r-viridis" ,r-viridis))) + (home-page "https://plot.ly/r") + (synopsis "Create interactive web graphics") + (description + "This package enables the translation of ggplot2 graphs to an interactive +web-based version and/or the creation of custom web-based visualizations +directly from R. Once uploaded to a plotly account, plotly graphs (and the +data behind them) can be viewed and modified in a web browser.") + (license license:x11))) + From c63cef669991940108448d23c8b427898cf83547 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:34:07 +0100 Subject: [PATCH 078/128] gnu: Add BSgenome. * gnu/packages/bioinformatics.scm (r-bsgenome): New variable. --- gnu/packages/bioinformatics.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 31326f2752..8c2351da38 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3836,6 +3836,36 @@ dependencies between GO terms can be implemented and applied.") ;; Any version of the LGPL applies. (license license:lgpl2.1+))) +(define-public r-bsgenome + (package + (name "r-bsgenome") + (version "1.38.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "BSgenome" version)) + (sha256 + (base32 + "130w0m6q8kkca7gyz1aqj5jjhalwvwi6rk2yvbjrnj4gpnncyrd2")))) + (properties + `((upstream-name . "BSgenome"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biostrings" ,r-biostrings) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-rsamtools" ,r-rsamtools) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (home-page "http://bioconductor.org/packages/BSgenome") + (synopsis "Infrastructure for Biostrings-based genome data packages") + (description + "This package provides infrastructure shared by all Biostrings-based +genome data packages and support for efficient SNP representation.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From c43a011de3c0155b4ccf3b02505fbce86d01b22e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:34:27 +0100 Subject: [PATCH 079/128] gnu: Add impute. * gnu/packages/bioinformatics.scm (r-impute): New variable. --- gnu/packages/bioinformatics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8c2351da38..9224abda19 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3866,6 +3866,26 @@ dependencies between GO terms can be implemented and applied.") genome data packages and support for efficient SNP representation.") (license license:artistic2.0))) +(define-public r-impute + (package + (name "r-impute") + (version "1.44.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "impute" version)) + (sha256 + (base32 + "0y4x5jk7gsf4xn56jrkdcdnxpcfll4h6ivncd7n4snmzixldvmvw")))) + (inputs + `(("gfortran" ,gfortran))) + (build-system r-build-system) + (home-page "http://bioconductor.org/packages/impute") + (synopsis "Imputation for microarray data") + (description + "This package provides a function to impute missing gene expression +microarray data, using nearest neighbor averaging.") + (license license:gpl2+))) + (define-public r-qtl (package (name "r-qtl") From 03ea5a357ecc8d821078cbbcfb038ee6eeb46898 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:34:45 +0100 Subject: [PATCH 080/128] gnu: Add seqPattern. * gnu/packages/bioinformatics.scm (r-seqpattern): New variable. --- gnu/packages/bioinformatics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9224abda19..f574bde9e7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3886,6 +3886,32 @@ genome data packages and support for efficient SNP representation.") microarray data, using nearest neighbor averaging.") (license license:gpl2+))) +(define-public r-seqpattern + (package + (name "r-seqpattern") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "seqPattern" version)) + (sha256 + (base32 + "0p9zj6bic7sa0hb2bjm988kkk5n9r1kvlbqkzvy702f642n0j53i")))) + (properties + `((upstream-name . "seqPattern"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biostrings" ,r-biostrings) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-plotrix" ,r-plotrix))) + (home-page "http://bioconductor.org/packages/seqPattern") + (synopsis "Visualising oligonucleotide patterns and motif occurrences") + (description + "This package provides tools to visualize oligonucleotide patterns and +sequence motif occurrences across a large set of sequences centred at a common +reference point and sorted by a user defined feature.") + (license license:gpl3+))) + (define-public r-qtl (package (name "r-qtl") From cb933df6daa08c0fbb0604f32badc7b97281d5e5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 23 Dec 2015 17:35:04 +0100 Subject: [PATCH 081/128] gnu: Add genomation. * gnu/packages/bioinformatics.scm (r-genomation): New variable. --- gnu/packages/bioinformatics.scm | 43 +++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f574bde9e7..1d29b7d672 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3912,6 +3912,49 @@ sequence motif occurrences across a large set of sequences centred at a common reference point and sorted by a user defined feature.") (license license:gpl3+))) +(define-public r-genomation + (package + (name "r-genomation") + (version "1.2.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "genomation" version)) + (sha256 + (base32 + "1mzs995snwim13qk9kz4q3nczpnbsy1allwp4whfq0cflg2mndfr")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biostrings" ,r-biostrings) + ("r-bsgenome" ,r-bsgenome) + ("r-data-table" ,r-data-table) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicalignments" ,r-genomicalignments) + ("r-genomicranges" ,r-genomicranges) + ("r-ggplot2" ,r-ggplot2) + ("r-gridbase" ,r-gridbase) + ("r-impute" ,r-impute) + ("r-iranges" ,r-iranges) + ("r-matrixstats" ,r-matrixstats) + ("r-plotrix" ,r-plotrix) + ("r-plyr" ,r-plyr) + ("r-readr" ,r-readr) + ("r-reshape2" ,r-reshape2) + ("r-rsamtools" ,r-rsamtools) + ("r-rtracklayer" ,r-rtracklayer) + ("r-seqpattern" ,r-seqpattern))) + (home-page "http://bioinformatics.mdc-berlin.de/genomation/") + (synopsis "Summary, annotation and visualization of genomic data") + (description + "This package provides a package for summary and annotation of genomic +intervals. Users can visualize and quantify genomic intervals over +pre-defined functional regions, such as promoters, exons, introns, etc. The +genomic intervals represent regions with a defined chromosome position, which +may be associated with a score, such as aligned reads from HT-seq experiments, +TF binding sites, methylation scores, etc. The package can use any tabular +genomic feature data as long as it has minimal information on the locations of +genomic intervals. In addition, it can use BAM or BigWig files as input.") + (license license:artistic2.0))) + (define-public r-qtl (package (name "r-qtl") From 0a5ec7092d4398cbbab16ba523997233aae8ddc6 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Mon, 28 Dec 2015 21:40:06 +0300 Subject: [PATCH 082/128] emacs: Display supported systems in "Package Info". * emacs/guix-main.scm (%package-param-alist): Add 'systems'. * emacs/guix-ui-package.el (guix-package-info-insert-systems): New procedure. (guix-package-info-format): Add it. (guix-output-info-format): Likewise. (guix-package-info-titles): Add "Supported systems" title. --- emacs/guix-main.scm | 1 + emacs/guix-ui-package.el | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm index 6f9eb422e0..8c38e7cae3 100644 --- a/emacs/guix-main.scm +++ b/emacs/guix-main.scm @@ -307,6 +307,7 @@ Example: (description . ,package-description-string) (home-url . ,package-home-page) (outputs . ,package-outputs) + (systems . ,package-supported-systems) (non-unique . ,(negate package-unique?)) (inputs . ,(lambda (pkg) (package-inputs-names diff --git a/emacs/guix-ui-package.el b/emacs/guix-ui-package.el index e0c98eaed6..12bfaeef68 100644 --- a/emacs/guix-ui-package.el +++ b/emacs/guix-ui-package.el @@ -221,11 +221,13 @@ ENTRIES is a list of package entries to get info about packages." (location format (format guix-package-location)) (home-url format (format guix-url)) (license format (format guix-package-info-license)) + (systems format guix-package-info-insert-systems) (inputs format (format guix-package-input)) (native-inputs format (format guix-package-native-input)) (propagated-inputs format (format guix-package-propagated-input))) - :titles '((home-url . "Home page")) + :titles '((home-url . "Home page") + (systems . "Supported systems")) :required '(id name version installed non-unique)) (guix-info-define-interface installed-output @@ -363,6 +365,20 @@ formatted with this string, an action button is inserted.") 'guix-package-name 'face 'guix-package-info-heading)) +(defun guix-package-info-insert-systems (systems entry) + "Insert supported package SYSTEMS at point." + (guix-info-insert-value-format + systems 'guix-hydra-build-system + 'action (lambda (btn) + (let ((args (guix-hydra-build-latest-prompt-args + :job (button-get btn 'job-name) + :system (button-label btn)))) + (apply #'guix-hydra-build-get-display + 'latest args))) + 'job-name (guix-package-name-specification + (guix-entry-value entry 'name) + (guix-entry-value entry 'version)))) + (defmacro guix-package-info-define-insert-inputs (&optional type) "Define a face and a function for inserting package inputs. TYPE is a type of inputs. @@ -749,6 +765,7 @@ for all ARGS." (location format (format guix-package-location)) (home-url format (format guix-url)) (license format (format guix-package-info-license)) + (systems format guix-package-info-insert-systems) (inputs format (format guix-package-input)) (native-inputs format (format guix-package-native-input)) (propagated-inputs format From fbbaa4dde85f668841aaf48b5ce3e7bcc8d83632 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 7 Jan 2016 21:27:14 +0300 Subject: [PATCH 083/128] gnu: mpv: Remove 'samba' input. This is a heavy-weight and uncommon feature. See . * gnu/packages/video.scm (mpv)[inputs]: Remove 'samba'. --- gnu/packages/video.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index f1089f76ca..fad56cef32 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -66,7 +66,6 @@ #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages qt) - #:use-module (gnu packages samba) #:use-module (gnu packages sdl) #:use-module (gnu packages ssh) #:use-module (gnu packages texinfo) @@ -736,7 +735,6 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ("mpg123" ,mpg123) ("pulseaudio" ,pulseaudio) ("rsound" ,rsound) - ("samba" ,samba) ("vapoursynth" ,vapoursynth) ("waf" ,(origin (method url-fetch) From c8d969b58fbbf4b9d532aa4e539d735ad46adaf7 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 3 Jan 2016 06:41:49 +0100 Subject: [PATCH 084/128] gnu: Add Pfff. * gnu/packages/textutils.scm (pfff): New variable. --- gnu/packages/textutils.scm | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index f929023094..f2c60ddadf 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Ben Woodcroft ;;; Copyright © 2015 Roel Janssen ;;; @@ -25,6 +25,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (gnu packages autotools) #:use-module (gnu packages python)) @@ -193,3 +194,26 @@ files. This file format is more compact and more readable than XML. And unlike XML, it is type-aware, so it is not necessary to do string parsing in application code.") (license license:lgpl2.1+))) + +(define-public pfff + (package + (name "pfff") + (version "1.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/pfff/pfff/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00m553aa277iarxj6dalmklyb64r7ias49bfwzbacsfg8h3kar8m")))) + (build-system cmake-build-system) + (home-page "http://biit.cs.ut.ee/pfff/") + (synopsis "Probabilistic fast file fingerprinting tool") + (description + "pfff is a tool for calculating a compact digital fingerprint of a file +by sampling randomly from the file instead of reading it in full. +Consequently, the computation has a flat performance characteristic, +correlated with data variation rather than file size. pfff can be as reliable +as existing hashing techniques, with provably negligible risk of collisions.") + (license license:bsd-3))) From b110869dd31f790bbc8c21149c9e5fb03acdc422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 7 Jan 2016 14:46:11 +0100 Subject: [PATCH 085/128] doc: Add elaborate package search example. * doc/guix.texi (Invoking guix package): Add elaborate --search example using recsel and sexes. --- doc/guix.texi | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index c252f63ff6..fc8a51536d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1434,6 +1434,7 @@ availability of packages: @item --search=@var{regexp} @itemx -s @var{regexp} +@cindex searching for packages List the available packages whose name, synopsis, or description matches @var{regexp}. Print all the meta-data of matching packages in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, @@ -1477,6 +1478,19 @@ that deal with printed circuit boards; removing the angle brackets around @code{board} would further add packages that have to do with keyboards. +And now for a more elaborate example. The following command searches +for cryptographic libraries, filters out Haskell, Perl, Python, and Ruby +libraries, and prints the name and synopsis of the matching packages: + +@example +$ guix package -s crypto -s library | \ + recsel -e '! (name ~ "^(ghc|perl|python|ruby)")' -p name,synopsis +@end example + +@noindent +@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more +information on @dfn{selection expressions} for @code{recsel -e}. + @item --show=@var{package} Show details about @var{package}, taken from the list of available packages, in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU From c0a9589da254908e7c219159d636a406ae1b04bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 8 Jan 2016 08:06:40 +0800 Subject: [PATCH 086/128] doc: Document network-manager-service. * doc/guix.texi (Networking Services): Document network-manager-service. --- doc/guix.texi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index fc8a51536d..f664ec6770 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6714,6 +6714,13 @@ several commands to interact with the daemon and configure networking: and @command{wicd-curses} user interfaces. @end deffn +@cindex NetworkManager +@deffn {Scheme Procedure} network-manager-service @ + [#:network-manager @var{network-manager}] +Return a service that runs NetworkManager, a network connection manager +that attempting to keep active network connectivity when available. +@end deffn + @deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @ [#:name-service @var{%ntp-servers}] Return a service that runs the daemon from @var{ntp}, the From 19e5258d84f1891b7eb2847b105ff1af5c5b3d66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 8 Jan 2016 16:39:23 +0800 Subject: [PATCH 087/128] gnu: webkitgtk: Update to 2.10.4. * gnu/packages/webkit.scm (webkitgtk): Update to 2.10.4. --- gnu/packages/webkit.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index bb041b1935..0706d92c36 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -52,14 +53,14 @@ (define-public webkitgtk (package (name "webkitgtk") - (version "2.8.5") + (version "2.10.4") (source (origin (method url-fetch) (uri (string-append "http://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "082dw0d8jxvsapx30ypmy5h2srzfzi42c3zr9pbkzx1m959hq7rx")))) + "0mghsbfnmmf6nsf7cb3ah76s77aigkzf3k6kw96wgh6all6jdy6v")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no tests @@ -105,6 +106,7 @@ ("gst-plugins-base" ,gst-plugins-base) ("gtk+-2" ,gtk+-2) ("harfbuzz" ,harfbuzz) + ("hyphen" ,hyphen) ("icu4c" ,icu4c) ("libjpeg" ,libjpeg) ("libnotify" ,libnotify) From a65e26f091a2b4a32a8f601cbd5b27f32fffbc8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 8 Jan 2016 17:30:25 +0800 Subject: [PATCH 088/128] gnu: epiphany: Update to 3.18.2. * gnu/packages/gnome.scm (epiphany): Update to 3.18.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index aa9fb6fded..e88ee8d904 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3396,7 +3396,7 @@ work and the interface is well tested.") (define-public epiphany (package (name "epiphany") - (version "3.16.3") + (version "3.18.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3404,7 +3404,7 @@ work and the interface is well tested.") name "-" version ".tar.xz")) (sha256 (base32 - "1cch4c7gh6lq1i4g0gs39qa2csl4i8a3pcdfapcj5v3r0xvz29ym")))) + "1hm6bpdcc6nf3zamzkvjhpvxnpaxzbnxnacfgl5v8swn643ifdl4")))) (build-system glib-or-gtk-build-system) (arguments ;; FIXME: tests run under Xvfb, but fail with: From 9ef824c10e9c773c195af5dc63535e2f4640ff95 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Fri, 8 Jan 2016 14:07:59 +0100 Subject: [PATCH 089/128] gnu: xterm: Update to 322. * gnu/packages/xorg.scm (xterm): Update to 322. --- gnu/packages/xorg.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 42422a3c56..82a5d994d2 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014, 2015 Eric Bavier ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2015 Eric Dvorsak +;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2015 Cyrill Schenkel ;;; ;;; This file is part of GNU Guix. @@ -5375,14 +5376,14 @@ Intrinsics (Xt) Library.") (define-public xterm (package (name "xterm") - (version "320") + (version "322") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.invisible-island.net/xterm/" "xterm-" version ".tgz")) (sha256 (base32 - "19r4rs5pjq944m7aiqligazf6wgmv4f023x3bx183h1l8dbvn3d6")))) + "1mh9s5g3fs64iimnl7axk0isb5306dyshisxlv5gr8vn7ysl3nws")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-256-color" From 2409f37f28d544a35f6e2ff531d0c553bbec32d8 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Fri, 8 Jan 2016 14:18:46 +0100 Subject: [PATCH 090/128] gnu: Add missing (gnu packages gcc) import. * gnu/packages/bioinformatics.scm: Use (gnu packages gcc). This is required by 'r-impute' for 'gfortran'. --- gnu/packages/bioinformatics.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1d29b7d672..c5983274c3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages file) #:use-module (gnu packages gawk) + #:use-module (gnu packages gcc) #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages machine-learning) From 17ad0a2714271dd3567808637f451d86f1291cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 8 Jan 2016 19:06:26 +0100 Subject: [PATCH 091/128] build-system/python: 'pypi-uri' takes an optional file name extension. Suggested by swedebugia . * guix/build-system/python.scm (pypi-uri): Add 'extension' parameter and use it. --- guix/build-system/python.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index 2532210a49..86efc1a715 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; @@ -41,12 +41,13 @@ ;; ;; Code: -(define (pypi-uri name version) +(define* (pypi-uri name version #:optional (extension ".tar.gz")) "Return a URI string for the Python package hosted on the Python Package -Index (PyPI) corresponding to NAME and VERSION." +Index (PyPI) corresponding to NAME and VERSION. EXTENSION is the file name +extension, such as '.tar.gz'." (string-append "https://pypi.python.org/packages/source/" (string-take name 1) "/" name "/" - name "-" version ".tar.gz")) + name "-" version extension)) (define %python-build-system-modules ;; Build-side modules imported by default. From bea25ae83cfb1c80b6ec384546f3ce240b229023 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 8 Jan 2016 13:30:52 -0500 Subject: [PATCH 092/128] gnu: nss: Update to 3.21 [fixes CVE-2015-7575]. * gnu/packages/gnuzilla.scm (nss): Update to 3.21. [arguments]: In configure phase, setenv CC=gcc. * gnu/packages/patches/nss-pkgconfig.patch: Adapt to NSS 3.21. --- gnu/packages/gnuzilla.scm | 5 +++-- gnu/packages/patches/nss-pkgconfig.patch | 27 ++++++++++++------------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 40a13e7939..96f4653ce6 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -167,7 +167,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.20.2") + (version "3.21") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -178,7 +178,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "11pjjcp0mvcyx0ildyz20s9jlqzxsb6a9jlvcq5x1g3zsmckl6hl")) + "0fbjx3xsdm4gjc1gyzy2z315cvyw7yilsm7p9w75rpbwgl15nyiz")) ;; Create nss.pc and nss-config. (patches (list (search-patch "nss-pkgconfig.patch"))))) (build-system gnu-build-system) @@ -205,6 +205,7 @@ in the Mozilla clients.") (alist-replace 'configure (lambda* (#:key system inputs #:allow-other-keys) + (setenv "CC" "gcc") ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system. (when (string-prefix? "x86_64" system) (setenv "USE_64" "1")) diff --git a/gnu/packages/patches/nss-pkgconfig.patch b/gnu/packages/patches/nss-pkgconfig.patch index 80c0c5b009..e611f69bea 100644 --- a/gnu/packages/patches/nss-pkgconfig.patch +++ b/gnu/packages/patches/nss-pkgconfig.patch @@ -7,8 +7,10 @@ Modifications: Remove optional patching in nss/Makefile. Include -L$libdir in output from "nss-config --libs". ---- nss-3.17.1/nss/config/Makefile -+++ nss-3.17.1/nss/config/Makefile +Later adapted to apply cleanly to nss-3.21. + +--- nss-3.21/nss/config/Makefile ++++ nss-3.21/nss/config/Makefile @@ -0,0 +1,40 @@ +CORE_DEPTH = .. +DEPTH = .. @@ -50,8 +52,8 @@ Modifications: + +dummy: all export libs + ---- nss-3.17.1/nss/config/nss-config.in -+++ nss-3.17.1/nss/config/nss-config.in +--- nss-3.21/nss/config/nss-config.in ++++ nss-3.21/nss/config/nss-config.in @@ -0,0 +1,145 @@ +#!/bin/sh + @@ -198,8 +200,8 @@ Modifications: + echo $libdirs +fi + ---- nss-3.17.1/nss/config/nss.pc.in -+++ nss-3.17.1/nss/config/nss.pc.in +--- nss-3.21/nss/config/nss.pc.in ++++ nss-3.21/nss/config/nss.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ @@ -213,14 +215,11 @@ Modifications: +Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3 +Cflags: -I${includedir} + ---- nss-3.17.1/nss/manifest.mn -+++ nss-3.17.1/nss/manifest.mn -@@ -10,7 +10,7 @@ +--- nss-3.21/nss/manifest.mn ++++ nss-3.21/nss/manifest.mn +@@ -10,4 +10,4 @@ RELEASE = nss --DIRS = coreconf lib cmd -+DIRS = coreconf lib cmd config - - ifdef NSS_BUILD_GTESTS - DIRS += external_tests +-DIRS = coreconf lib cmd external_tests ++DIRS = coreconf lib cmd external_tests config From 3a04d5d4e48a092ef1cea8aa7f73e1903ef5f10c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 8 Jan 2016 16:29:04 -0500 Subject: [PATCH 093/128] gnu: lm-sensors: Update source and home-page URLs. * gnu/packages/linux.scm (lm-sensors)[source]: Update URL. [home-page]: Update URL. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3d14154cee..b14bf9d120 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1809,7 +1809,7 @@ country-specific regulations for the wireless spectrum.") (source (origin (method url-fetch) (uri (string-append - "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-" + "ftp://ftp.netroedge.com/pub/lm-sensors/lm_sensors-" version ".tar.bz2")) (sha256 (base32 @@ -1867,7 +1867,7 @@ country-specific regulations for the wireless spectrum.") (string-append (assoc-ref inputs "coreutils") "/bin/readlink -f")))) %standard-phases)))) - (home-page "http://www.lm-sensors.org/") + (home-page "http://jdelvare.nerim.net/devel.html#lmsensors") (synopsis "Utilities to read temperature/voltage/fan sensors") (description "Lm-sensors is a hardware health monitoring package for Linux. It allows From f32274a71eba5cbaba241d64f89386f91c857a37 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 8 Jan 2016 16:29:57 -0500 Subject: [PATCH 094/128] gnu: i2c-tools: Update source and home-page URLs. * gnu/packages/linux.scm (i2c-tools)[source]: Update URL. [home-page]: Update URL. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b14bf9d120..a79260124c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1882,7 +1882,7 @@ It works with most newer systems.") (source (origin (method url-fetch) (uri (string-append - "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-" + "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-" version ".tar.bz2")) (sha256 (base32 @@ -1896,7 +1896,7 @@ It works with most newer systems.") #:phases (alist-delete 'configure %standard-phases))) (inputs `(("perl" ,perl))) - (home-page "http://www.lm-sensors.org/wiki/I2CTools") + (home-page "http://jdelvare.nerim.net/devel.html#i2ctools") (synopsis "I2C tools for Linux") (description "The i2c-tools package contains a heterogeneous set of I2C tools for From 4c40fa0229dc2cb479227c16f23abad703101b70 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 9 Jan 2016 14:53:58 +1000 Subject: [PATCH 095/128] gnu: ruby-2.1: Update to 2.1.8. * gnu/packages/ruby.scm (ruby-2.1): Update to 2.1.8. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4ac3385a6c..577be185f4 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -97,7 +97,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.1 (package (inherit ruby) - (version "2.1.6") + (version "2.1.8") (source (origin (method url-fetch) @@ -106,7 +106,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.bz2")) (sha256 (base32 - "1sbcmbhadcxk0509svwxbm2vvgmpf3xjxr1397bgp9x46nz36lkv")))) + "11rkbfc90cg9p9mzg32475alf3ddcn9q8a3ar3fwm5xskic0n395")))) (arguments `(#:test-target "test" #:parallel-tests? #f From 13035f5a037a7980c8b9828d86967fce0cae9a92 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 9 Jan 2016 22:51:28 +0100 Subject: [PATCH 096/128] gnu: icecat: Update to 38.5.2-gnu1. * gnu/packages/gnuzilla.scm (icecat): Update to 38.5.2-gnu1. --- gnu/packages/gnuzilla.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 96f4653ce6..6fac8ced40 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -267,7 +267,7 @@ standards.") (define-public icecat (package (name "icecat") - (version "38.5.0-gnu1") + (version "38.5.2-gnu1") (source (origin (method url-fetch) @@ -276,7 +276,7 @@ standards.") name "-" version ".tar.bz2")) (sha256 (base32 - "1bf20mpvx84jsa0dan2hhfc49f30v0wasikv7sh3cg8mwp62faj6")) + "0m18xyb0rd02yaw9xd5z4bab1wr2599iszzqhm86c134jv5vk6cg")) (patches (map search-patch '("icecat-avoid-bundled-includes.patch"))) (modules '((guix build utils))) (snippet From 695bea9803b6ab12ba9fe8a55d663745c97cf55b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 9 Jan 2016 23:18:28 +0100 Subject: [PATCH 097/128] gnu: r: Update to 3.2.3. * gnu/packages/statistics.scm (r): Update to 3.2.3. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5b98c912e4..8bd87582ef 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -54,7 +54,7 @@ (define-public r (package (name "r") - (version "3.2.2") + (version "3.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://cran/src/base/R-" @@ -62,7 +62,7 @@ version ".tar.gz")) (sha256 (base32 - "07a6s865bjnh7w0fqsrkv1pva76w99v86w0w787qpdil87km54cw")))) + "1hdnv77ralzcx5k5b88jq1r8l6zqnywpq00g2qs949rqh63psfxr")))) (build-system gnu-build-system) (arguments `(#:make-flags From 6573ac82ad83cacd264ae20f9266d21cb5852f12 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Mon, 11 Jan 2016 00:28:25 +1000 Subject: [PATCH 098/128] gnu: bedtools: Use modify-phases. * gnu/packages/bioinformatics.scm (bedtools)[arguments]: Use modify-phases. --- gnu/packages/bioinformatics.scm | 38 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c5983274c3..df0e23da89 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -224,25 +224,25 @@ computational cluster.") (arguments '(#:test-target "test" #:phases - (alist-cons-after - 'unpack 'patch-makefile-SHELL-definition - (lambda _ - ;; patch-makefile-SHELL cannot be used here as it does not - ;; yet patch definitions with `:='. Since changes to - ;; patch-makefile-SHELL result in a full rebuild, features - ;; of patch-makefile-SHELL are reimplemented here. - (substitute* "Makefile" - (("^SHELL := .*$") (string-append "SHELL := " (which "bash") " -e \n")))) - (alist-delete - 'configure - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) - (for-each (lambda (file) - (install-file file bin)) - (find-files "bin" ".*")))) - %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'patch-makefile-SHELL-definition + (lambda _ + ;; patch-makefile-SHELL cannot be used here as it does not + ;; yet patch definitions with `:='. Since changes to + ;; patch-makefile-SHELL result in a full rebuild, features + ;; of patch-makefile-SHELL are reimplemented here. + (substitute* "Makefile" + (("^SHELL := .*$") + (string-append "SHELL := " (which "bash") " -e \n"))) + #t)) + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) + (for-each (lambda (file) + (install-file file bin)) + (find-files "bin" ".*"))) + #t))))) (home-page "https://github.com/arq5x/bedtools2") (synopsis "Tools for genome analysis and arithmetic") (description From 9b9b7ffd8e1446574781bd02542bb171b0705248 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Mon, 11 Jan 2016 00:34:11 +1000 Subject: [PATCH 099/128] gnu: bedtools: Update to 2.25.0. * gnu/packages/bioinformatics.scm (bedtools): Update to 0.25.0. [source]: Remove patch merged upstream. [arguments]: Use 'modify-phases'. Remove 'patch-makefile-SHELL-definition' phase. * gnu/packages/patches/bedtools-32bit-compilation.patch: Remove file. * gnu-system.am (dist_patch_DATA): Remove it. --- gnu-system.am | 1 - gnu/packages/bioinformatics.scm | 17 +- .../patches/bedtools-32bit-compilation.patch | 171 ------------------ 3 files changed, 3 insertions(+), 186 deletions(-) delete mode 100644 gnu/packages/patches/bedtools-32bit-compilation.patch diff --git a/gnu-system.am b/gnu-system.am index 7c4112a7e6..7105e13219 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -416,7 +416,6 @@ dist_patch_DATA = \ gnu/packages/patches/avidemux-install-to-lib.patch \ gnu/packages/patches/avrdude-fix-libusb.patch \ gnu/packages/patches/bash-completion-directories.patch \ - gnu/packages/patches/bedtools-32bit-compilation.patch \ gnu/packages/patches/bowtie-fix-makefile.patch \ gnu/packages/patches/bigloo-gc-shebangs.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index df0e23da89..55b7cb1c86 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ricardo Wurmus -;;; Copyright © 2015 Ben Woodcroft +;;; Copyright © 2015, 2016 Ben Woodcroft ;;; Copyright © 2015 Pjotr Prins ;;; Copyright © 2015 Andreas Enge ;;; @@ -207,7 +207,7 @@ computational cluster.") (define-public bedtools (package (name "bedtools") - (version "2.24.0") + (version "2.25.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/arq5x/bedtools2/archive/v" @@ -215,8 +215,7 @@ computational cluster.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lnxrjvs3nnmb4bmskag1wg3h2hd80przz5q3xd0bvs7vyxrvpbl")) - (patches (list (search-patch "bedtools-32bit-compilation.patch"))))) + "1ywcy3yfwzhl905b51l0ffjia55h75vv3mw5xkvib04pp6pj548m")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) (inputs `(("samtools" ,samtools) @@ -225,16 +224,6 @@ computational cluster.") '(#:test-target "test" #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-makefile-SHELL-definition - (lambda _ - ;; patch-makefile-SHELL cannot be used here as it does not - ;; yet patch definitions with `:='. Since changes to - ;; patch-makefile-SHELL result in a full rebuild, features - ;; of patch-makefile-SHELL are reimplemented here. - (substitute* "Makefile" - (("^SHELL := .*$") - (string-append "SHELL := " (which "bash") " -e \n"))) - #t)) (delete 'configure) (replace 'install (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/patches/bedtools-32bit-compilation.patch b/gnu/packages/patches/bedtools-32bit-compilation.patch deleted file mode 100644 index bc567f3f6b..0000000000 --- a/gnu/packages/patches/bedtools-32bit-compilation.patch +++ /dev/null @@ -1,171 +0,0 @@ -Fixed in upstream, see -https://github.com/arq5x/bedtools2/issues/271 - -From b47dbefcb57f8e6c4fe397f64346338620740b71 Mon Sep 17 00:00:00 2001 -From: arq5x -Date: Wed, 15 Jul 2015 15:15:23 -0600 -Subject: [PATCH] settle on uint32_t signature for QuickString. Resolves #267 - and #271? - ---- - src/coverageFile/coverageFile.cpp | 24 ++++++++++++------------ - src/utils/general/QuickString.cpp | 27 ++++++++++++++------------- - src/utils/general/QuickString.h | 6 +++--- - 3 files changed, 29 insertions(+), 28 deletions(-) - -diff --git a/src/coverageFile/coverageFile.cpp b/src/coverageFile/coverageFile.cpp -index 859cfdc..0fb544b 100644 ---- a/src/coverageFile/coverageFile.cpp -+++ b/src/coverageFile/coverageFile.cpp -@@ -83,11 +83,11 @@ void CoverageFile::giveFinalReport(RecordOutputMgr *outputMgr) { - float depthPct = (float)basesAtDepth / (float)_totalQueryLen; - - _finalOutput = "all\t"; -- _finalOutput.append(depth); -+ _finalOutput.append(static_cast(depth)); - _finalOutput.append("\t"); -- _finalOutput.append(basesAtDepth); -+ _finalOutput.append(static_cast(basesAtDepth)); - _finalOutput.append("\t"); -- _finalOutput.append(_totalQueryLen); -+ _finalOutput.append(static_cast(_totalQueryLen)); - _finalOutput.append("\t"); - format(depthPct); - -@@ -138,7 +138,7 @@ size_t CoverageFile::countBasesAtDepth(size_t depth) { - - void CoverageFile::doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - { -- _finalOutput = hits.size(); -+ _finalOutput = static_cast(hits.size()); - outputMgr->printRecord(hits.getKey(), _finalOutput); - } - -@@ -147,9 +147,9 @@ void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - //loop through all bases in query, printing full record and metrics for each - const Record * queryRec = hits.getKey(); - for (size_t i= 0; i < _queryLen; i++) { -- _finalOutput = i +1; -+ _finalOutput = static_cast(i+1); - _finalOutput.append("\t"); -- _finalOutput.append(_depthArray[i]); -+ _finalOutput.append(static_cast(_depthArray[i])); - - outputMgr->printRecord(queryRec, _finalOutput); - } -@@ -181,11 +181,11 @@ void CoverageFile::doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - size_t numBasesAtDepth = iter->second; - float coveredBases = (float)numBasesAtDepth / (float)_queryLen; - -- _finalOutput = depth; -+ _finalOutput = static_cast(depth); - _finalOutput.append("\t"); -- _finalOutput.append(numBasesAtDepth); -+ _finalOutput.append(static_cast(numBasesAtDepth)); - _finalOutput.append("\t"); -- _finalOutput.append(_queryLen); -+ _finalOutput.append(static_cast(_queryLen)); - _finalOutput.append("\t"); - format(coveredBases); - -@@ -199,11 +199,11 @@ void CoverageFile::doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits) - size_t nonZeroBases = _queryLen - countBasesAtDepth(0); - float coveredBases = (float)nonZeroBases / (float)_queryLen; - -- _finalOutput = hits.size(); -+ _finalOutput = static_cast(hits.size()); - _finalOutput.append("\t"); -- _finalOutput.append(nonZeroBases); -+ _finalOutput.append(static_cast(nonZeroBases)); - _finalOutput.append("\t"); -- _finalOutput.append(_queryLen); -+ _finalOutput.append(static_cast(_queryLen)); - _finalOutput.append("\t"); - format(coveredBases); - -diff --git a/src/utils/general/QuickString.cpp b/src/utils/general/QuickString.cpp -index 0757009..a83263e 100644 ---- a/src/utils/general/QuickString.cpp -+++ b/src/utils/general/QuickString.cpp -@@ -105,11 +105,11 @@ QuickString &QuickString::operator = (uint32_t val) { - return *this; - } - --QuickString &QuickString::operator = (size_t val) { -- clear(); -- append(val); -- return *this; --} -+// QuickString &QuickString::operator = (size_t val) { -+// clear(); -+// append(val); -+// return *this; -+// } - - QuickString &QuickString::operator = (float val) { - clear(); -@@ -158,10 +158,11 @@ QuickString &QuickString::operator += (uint32_t num) { - return *this; - } - --QuickString &QuickString::operator += (size_t num) { -- append(num); -- return *this; --} -+// QuickString &QuickString::operator += (size_t num) { -+// append(num); -+// return *this; -+// } -+ - QuickString &QuickString::operator += (float num) { - append(num); - return *this; -@@ -273,12 +274,12 @@ void QuickString::append(int num) { - } - - void QuickString::append(uint32_t num) { -- int2str((int)num, *this, true); -+ int2str((int)num, *this, true); - } - --void QuickString::append(size_t num) { -- int2str((int)num, *this, true); --} -+// void QuickString::append(size_t num) { -+// int2str((int)num, *this, true); -+// } - - void QuickString::append(float num) { - append(ToString(num)); -diff --git a/src/utils/general/QuickString.h b/src/utils/general/QuickString.h -index b43fdfc..6e6fa94 100644 ---- a/src/utils/general/QuickString.h -+++ b/src/utils/general/QuickString.h -@@ -38,7 +38,7 @@ class QuickString { - QuickString &operator = (char); - QuickString &operator = (int); - QuickString &operator = (uint32_t); -- QuickString &operator = (size_t); -+ //QuickString &operator = (size_t); - QuickString &operator = (float); - QuickString &operator = (double); - QuickString &operator += (const QuickString &); -@@ -47,7 +47,7 @@ class QuickString { - QuickString &operator += (char); - QuickString &operator += (int); - QuickString &operator += (uint32_t); -- QuickString &operator += (size_t); -+ //QuickString &operator += (size_t); - QuickString &operator += (float); - QuickString &operator += (double); - -@@ -74,7 +74,7 @@ class QuickString { - //for better performance. - void append(int num); - void append(uint32_t num); -- void append(size_t num); -+ //void append(size_t num); - void append(float num); - void append(double num); - - From ce9a30425191a966f3e06a9e17c7c282babfc8fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Sun, 10 Jan 2016 10:14:43 +0100 Subject: [PATCH 100/128] build: Fix out-of-tree building of documentation. * doc.am (.dot.png, .dot.pdf, .dot.eps): Put the generated files into $(srcdir). --- doc.am | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc.am b/doc.am index e3a91cc36d..8a5cfdc089 100644 --- a/doc.am +++ b/doc.am @@ -1,6 +1,7 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès # Copyright © 2013 Andreas Enge +# Copyright © 2016 Taylan Ulrich Bayırlı/Kammer # # This file is part of GNU Guix. # @@ -65,16 +66,16 @@ DOT_OPTIONS = \ -Nfontsize=9 -Nheight=.1 -Nwidth=.1 .dot.png: - $(DOT) -Tpng $(DOT_OPTIONS) < "$<" > "$@.tmp" - mv "$@.tmp" "$@" + $(DOT) -Tpng $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp" + mv "$(srcdir)/$@.tmp" "$(srcdir)/$@" .dot.pdf: - $(DOT) -Tpdf $(DOT_OPTIONS) < "$<" > "$@.tmp" - mv "$@.tmp" "$@" + $(DOT) -Tpdf $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp" + mv "$(srcdir)/$@.tmp" "$(srcdir)/$@" .dot.eps: - $(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$@.tmp" - mv "$@.tmp" "$@" + $(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp" + mv "$(srcdir)/$@.tmp" "$(srcdir)/$@" .png.eps: convert "$<" "$@-tmp.eps" From a916c82649079e60835e2984c49898c772a70442 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 11 Jan 2016 09:37:50 +0200 Subject: [PATCH 101/128] gnu: man-pages: Update to 4.04. * gnu/packages/man.scm (man-pages): Update to 4.04. [source]: Add alternate location. --- gnu/packages/man.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index b11c0d149c..ab5e770b52 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Alex Kost -;;; Copyright © 2015 Efraim Flashner +;;; Copyright © 2015, 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -129,15 +129,20 @@ the traditional flat-text whatis databases.") (define-public man-pages (package (name "man-pages") - (version "3.82") + (version "4.04") (source (origin (method url-fetch) - (uri (string-append + (uri + (list + (string-append "mirror://kernel.org/linux/docs/man-pages/man-pages-" - version ".tar.xz")) + version ".tar.xz") + (string-append + "mirror://kernel.org/linux/docs/man-pages/Archive/" + "man-pages-" version ".tar.xz"))) (sha256 (base32 - "1c8q618shf469nfp55qrwjv9630fgq5abfk946xya9hw1bfp6wjl")))) + "0v8zxq4scfixy3pjpw9ankvv5v8frv62khv4xm1jpkswyq6rbqcg")))) (build-system gnu-build-system) (arguments '(#:phases (alist-delete 'configure %standard-phases) From 4a6635f35356f1c2bf0387e22c821afa005d60d8 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 10 Jan 2016 11:35:52 +0100 Subject: [PATCH 102/128] gnu: texlive: Use modify-phases syntax. * gnu/packages/texlive.scm (texlive-bin, texlive-texmf): Use modify-phases syntax. --- gnu/packages/texlive.scm | 119 +++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 61 deletions(-) diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index b6c996edfa..0b2dec41f6 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Andreas Enge +;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; @@ -129,30 +129,29 @@ #:tests? ,(not (string-prefix? "mips64" (or (%current-target-system) (%current-system)))) #:phases - (alist-cons-after - 'install 'postinst - (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (texlive-extra (assoc-ref inputs "texlive-extra-src")) - (unpack (assoc-ref %standard-phases 'unpack)) - (patch-source-shebangs - (assoc-ref %standard-phases 'patch-source-shebangs))) - ;; Create symbolic links for the latex variants and their - ;; man pages. - (with-directory-excursion (string-append out "/bin/") - (for-each symlink - '("pdftex" "pdftex" "xetex" "luatex") - '("latex" "pdflatex" "xelatex" "lualatex"))) - (with-directory-excursion (string-append share "/man/man1/") - (symlink "luatex.1" "lualatex.1")) - ;; Unpack texlive-extra and install tlpkg. - (mkdir "texlive-extra") - (with-directory-excursion "texlive-extra" - (apply unpack (list #:source texlive-extra)) - (apply patch-source-shebangs (list #:source texlive-extra)) - (system* "mv" "tlpkg" share)))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'install 'postint + (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (texlive-extra (assoc-ref inputs "texlive-extra-src")) + (unpack (assoc-ref %standard-phases 'unpack)) + (patch-source-shebangs + (assoc-ref %standard-phases 'patch-source-shebangs))) + ;; Create symbolic links for the latex variants and their + ;; man pages. + (with-directory-excursion (string-append out "/bin/") + (for-each symlink + '("pdftex" "pdftex" "xetex" "luatex") + '("latex" "pdflatex" "xelatex" "lualatex"))) + (with-directory-excursion (string-append share "/man/man1/") + (symlink "luatex.1" "lualatex.1")) + ;; Unpack texlive-extra and install tlpkg. + (mkdir "texlive-extra") + (with-directory-excursion "texlive-extra" + (apply unpack (list #:source texlive-extra)) + (apply patch-source-shebangs (list #:source texlive-extra)) + (system* "mv" "tlpkg" share)))))))) (synopsis "TeX Live, a package of the TeX typesetting system") (description "TeX Live provides a comprehensive TeX document production system. @@ -182,42 +181,40 @@ This package contains the binaries.") (guix build utils) (srfi srfi-26)) #:phases - (alist-cons-before - 'texmf-config 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((share (string-append (assoc-ref outputs "out") "/share"))) - (mkdir-p share) - (system* "mv" "texmf-dist" share))) - (alist-cons-after - 'patch-source-shebangs 'texmf-config - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (texmfroot (string-append share "/texmf-dist/web2c")) - (texmfcnf (string-append texmfroot "/texmf.cnf")) - (texlive-bin (assoc-ref inputs "texlive-bin")) - (texbin (string-append texlive-bin "/bin")) - (tlpkg (string-append texlive-bin "/share/tlpkg"))) - ;; Register SHARE as TEXMFROOT in texmf.cnf. - (substitute* texmfcnf - (("TEXMFROOT = \\$SELFAUTOPARENT") - (string-append "TEXMFROOT = " share))) - ;; Register paths in texmfcnf.lua, needed for context. - (substitute* (string-append texmfroot "/texmfcnf.lua") - (("selfautodir:") out) - (("selfautoparent:") (string-append share "/"))) - ;; Set path to TeXLive Perl modules - (setenv "PERL5LIB" - (string-append (getenv "PERL5LIB") ":" tlpkg)) - ;; Configure the texmf-dist tree; inspired from - ;; http://slackbuilds.org/repository/13.37/office/texlive/ - (setenv "PATH" (string-append (getenv "PATH") ":" texbin)) - (setenv "TEXMFCNF" texmfroot) - (system* "updmap-sys" "--nohash" "--syncwithtrees") - (system* "mktexlsr") - (system* "fmtutil-sys" "--all"))) - (map (cut assq <> %standard-phases) - '(set-paths unpack patch-source-shebangs)))))) + (modify-phases (map (cut assq <> %standard-phases) + '(set-paths unpack patch-source-shebangs)) + (add-after 'patch-source-shebangs 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") "/share"))) + (mkdir-p share) + (system* "mv" "texmf-dist" share)))) + (add-after 'install 'texmf-config + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (texmfroot (string-append share "/texmf-dist/web2c")) + (texmfcnf (string-append texmfroot "/texmf.cnf")) + (texlive-bin (assoc-ref inputs "texlive-bin")) + (texbin (string-append texlive-bin "/bin")) + (tlpkg (string-append texlive-bin "/share/tlpkg"))) + ;; Register SHARE as TEXMFROOT in texmf.cnf. + (substitute* texmfcnf + (("TEXMFROOT = \\$SELFAUTOPARENT") + (string-append "TEXMFROOT = " share))) + ;; Register paths in texmfcnf.lua, needed for context. + (substitute* (string-append texmfroot "/texmfcnf.lua") + (("selfautodir:") out) + (("selfautoparent:") (string-append share "/"))) + ;; Set path to TeXLive Perl modules + (setenv "PERL5LIB" + (string-append (getenv "PERL5LIB") ":" tlpkg)) + ;; Configure the texmf-dist tree; inspired from + ;; http://slackbuilds.org/repository/13.37/office/texlive/ + (setenv "PATH" (string-append (getenv "PATH") ":" texbin)) + (setenv "TEXMFCNF" texmfroot) + (system* "updmap-sys" "--nohash" "--syncwithtrees") + (system* "mktexlsr") + (system* "fmtutil-sys" "--all"))))))) (synopsis "TeX Live, a package of the TeX typesetting system") (description "TeX Live provides a comprehensive TeX document production system. From 4879d2ff661f6c5d53db524f937fff29dddd87ce Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 11 Jan 2016 11:24:52 +0100 Subject: [PATCH 103/128] gnu: gp2c: Update to 0.0.9pl5. * gnu/packages/algebra.scm (gp2c): Update to 0.0.9pl5. --- gnu/packages/algebra.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 25e1af1750..dd6838140b 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Andreas Enge +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; @@ -157,7 +157,7 @@ PARI is also available as a C library to allow for faster computations.") (define-public gp2c (package (name "gp2c") - (version "0.0.9pl4") + (version "0.0.9pl5") (source (origin (method url-fetch) (uri (string-append @@ -165,7 +165,7 @@ PARI is also available as a C library to allow for faster computations.") version ".tar.gz")) (sha256 (base32 - "079qq4yyxpc53a2kn08gg9pcfgdyffbl14c2hqsic11q8pnsr08z")))) + "1q003mkagc5ib6lqb2xfay7j4ffkwv7xlnznp6wdrq2sbqq4vyak")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (inputs `(("pari-gp" ,pari-gp))) From ec70fec559659163528a59690c48f704d9682517 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 11 Jan 2016 13:19:29 +0200 Subject: [PATCH 104/128] gnu: youtube-dl: Update to 2016.01.09. * gnu/packages/video.scm (youtube-dl): Update to 2016.01.09. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index fad56cef32..752e51d0a7 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -803,7 +803,7 @@ projects while introducing many more.") (define-public youtube-dl (package (name "youtube-dl") - (version "2015.12.29") + (version "2016.01.09") (source (origin (method url-fetch) (uri (string-append "http://youtube-dl.org/downloads/" @@ -811,7 +811,7 @@ projects while introducing many more.") version ".tar.gz")) (sha256 (base32 - "0232wiq8mjs5ngmlcvf0292icrhvzr9mkwy2km0g0djznsf7rxjg")))) + "0kchbjn52smhhjcrgqcz4hdkz0wl0i73blz3m04ncb0ykbazwg26")))) (build-system python-build-system) (native-inputs `(("python-setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") From 81f3e0c1f3c8b0a591daf82c86d2a41063ae3c68 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 7 Jan 2016 07:44:58 +1000 Subject: [PATCH 105/128] gnu: Add fxtract. * gnu/packages/bioinformatics.scm (fxtract): New variable. --- gnu/packages/bioinformatics.scm | 66 +++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 55b7cb1c86..82506c1c3a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) @@ -1425,6 +1426,71 @@ genes in incomplete assemblies or complete genomes.") ;; GPL3+ according to private correspondense with the authors. (license license:gpl3+))) +(define-public fxtract + (let ((util-commit "776ca85a18a47492af3794745efcb4a905113115")) + (package + (name "fxtract") + (version "2.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/ctSkennerton/fxtract/archive/" + version ".tar.gz")) + (file-name (string-append "ctstennerton-util-" + (string-take util-commit 7) + "-checkout")) + (sha256 + (base32 + "0275cfdhis8517hm01is62062swmi06fxzifq7mr3knbbxjlaiwj")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list + (string-append "PREFIX=" (assoc-ref %outputs "out")) + "CC=gcc") + #:test-target "fxtract_test" + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'copy-util + (lambda* (#:key inputs #:allow-other-keys) + (rmdir "util") + (copy-recursively (assoc-ref inputs "ctskennerton-util") "util") + #t)) + ;; Do not use make install as this requires additional dependencies. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out"/bin"))) + (install-file "fxtract" bin) + #t)))))) + (inputs + `(("pcre" ,pcre) + ("zlib" ,zlib))) + (native-inputs + ;; ctskennerton-util is licensed under GPL2. + `(("ctskennerton-util" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ctSkennerton/util.git") + (commit util-commit))) + (file-name (string-append + "ctstennerton-util-" util-commit "-checkout")) + (sha256 + (base32 + "0cls1hd4vgj3f36fpzzg4xc77d6f3hpc60cbpfmn2gdr7ykzzad7")))))) + (home-page "https://github.com/ctSkennerton/fxtract") + (synopsis "Extract sequences from FASTA and FASTQ files") + (description + "Fxtract extracts sequences from a protein or nucleotide fastx (FASTA +or FASTQ) file given a subsequence. It uses a simple substring search for +basic tasks but can change to using POSIX regular expressions, PCRE, hash +lookups or multi-pattern searching as required. By default fxtract looks in +the sequence of each record but can also be told to look in the header, +comment or quality sections.") + (license license:expat)))) + (define-public grit (package (name "grit") From 6b0d24b17cee1e4d0697c6ebf57be0a5cfb1075e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 11 Jan 2016 19:08:15 -0500 Subject: [PATCH 106/128] gnu: linux-libre: Update to 4.4. * gnu/packages/linux.scm (linux-libre): Update to 4.4. * gnu/packages/linux-libre-i686.conf, gnu/packages/linux-libre-x86_64.conf: Update from . --- gnu/packages/linux-libre-i686.conf | 220 +++++++++++++++++------ gnu/packages/linux-libre-x86_64.conf | 252 +++++++++++++++++++-------- gnu/packages/linux.scm | 4 +- 3 files changed, 344 insertions(+), 132 deletions(-) diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf index aae4dfe61c..e877f195af 100644 --- a/gnu/packages/linux-libre-i686.conf +++ b/gnu/packages/linux-libre-i686.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.3.0-gnu Kernel Configuration +# Linux/x86 4.4.0-gnu Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -274,8 +274,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_HUGE_VMAP=y @@ -309,7 +309,6 @@ CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG_SHA512 is not set # CONFIG_MODULE_COMPRESS is not set CONFIG_MODULES_TREE_LOOKUP=y -CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBDAF=y CONFIG_BLK_DEV_BSG=y @@ -386,7 +385,7 @@ CONFIG_X86_INTEL_MID=y # CONFIG_X86_INTEL_QUARK is not set CONFIG_X86_INTEL_LPSS=y CONFIG_X86_AMD_PLATFORM_DEVICE=y -CONFIG_IOSF_MBI=m +CONFIG_IOSF_MBI=y CONFIG_IOSF_MBI_DEBUG=y # CONFIG_X86_RDC321X is not set # CONFIG_X86_32_NON_STANDARD is not set @@ -482,9 +481,6 @@ CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y -CONFIG_MICROCODE_INTEL_EARLY=y -CONFIG_MICROCODE_AMD_EARLY=y -CONFIG_MICROCODE_EARLY=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m # CONFIG_NOHIGHMEM is not set @@ -622,6 +618,7 @@ CONFIG_ACPI=y CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y +# CONFIG_ACPI_DEBUGGER is not set CONFIG_ACPI_SLEEP=y # CONFIG_ACPI_PROCFS_POWER is not set CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y @@ -991,7 +988,7 @@ CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NF_CT_NETLINK_TIMEOUT=m CONFIG_NF_CT_NETLINK_HELPER=m -CONFIG_NETFILTER_NETLINK_QUEUE_CT=y +CONFIG_NETFILTER_NETLINK_GLUE_CT=y CONFIG_NF_NAT=m CONFIG_NF_NAT_NEEDED=y CONFIG_NF_NAT_PROTO_DCCP=m @@ -1360,6 +1357,7 @@ CONFIG_6LOWPAN_NHC_MOBILITY=m CONFIG_6LOWPAN_NHC_ROUTING=m CONFIG_6LOWPAN_NHC_UDP=m CONFIG_IEEE802154=m +CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y CONFIG_IEEE802154_SOCKET=m CONFIG_IEEE802154_6LOWPAN=m CONFIG_MAC802154=m @@ -1458,6 +1456,7 @@ CONFIG_MPLS_ROUTING=m CONFIG_MPLS_IPTUNNEL=m CONFIG_HSR=m # CONFIG_NET_SWITCHDEV is not set +CONFIG_NET_L3_MASTER_DEV=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y @@ -1670,6 +1669,7 @@ CONFIG_CFG80211=m CONFIG_CFG80211_DEFAULT_PS=y CONFIG_CFG80211_DEBUGFS=y # CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y CONFIG_CFG80211_WEXT=y CONFIG_CFG80211_WEXT_EXPORT=y CONFIG_LIB80211=m @@ -1711,7 +1711,7 @@ CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y CONFIG_NFC=m CONFIG_NFC_DIGITAL=m CONFIG_NFC_NCI=m -CONFIG_NFC_NCI_SPI=y +CONFIG_NFC_NCI_SPI=m CONFIG_NFC_NCI_UART=m CONFIG_NFC_HCI=m CONFIG_NFC_SHDLC=y @@ -1725,6 +1725,8 @@ CONFIG_NFC_TRF7970A=m CONFIG_NFC_MEI_PHY=m CONFIG_NFC_SIM=m CONFIG_NFC_PORT100=m +CONFIG_NFC_FDP=m +CONFIG_NFC_FDP_I2C=m CONFIG_NFC_PN544=m CONFIG_NFC_PN544_I2C=m CONFIG_NFC_PN544_MEI=m @@ -1734,6 +1736,8 @@ CONFIG_NFC_MICROREAD_MEI=m CONFIG_NFC_MRVL=m CONFIG_NFC_MRVL_USB=m CONFIG_NFC_MRVL_UART=m +CONFIG_NFC_MRVL_I2C=m +CONFIG_NFC_MRVL_SPI=m CONFIG_NFC_ST21NFCA=m CONFIG_NFC_ST21NFCA_I2C=m CONFIG_NFC_ST_NCI=m @@ -1996,7 +2000,6 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_NVME=m CONFIG_BLK_DEV_OSD=m CONFIG_BLK_DEV_SX8=m CONFIG_BLK_DEV_RAM=y @@ -2013,6 +2016,7 @@ CONFIG_VIRTIO_BLK=y # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_RBD=m CONFIG_BLK_DEV_RSXX=m +CONFIG_BLK_DEV_NVME=m # # Misc devices @@ -2100,6 +2104,10 @@ CONFIG_VMWARE_VMCI=m # # SCIF Driver # + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# CONFIG_ECHO=m # CONFIG_CXL_BASE is not set # CONFIG_CXL_KERNEL_API is not set @@ -2190,12 +2198,10 @@ CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_LEGACY=m CONFIG_MEGARAID_SAS=m -CONFIG_SCSI_MPT2SAS=m -CONFIG_SCSI_MPT2SAS_MAX_SGE=128 -# CONFIG_SCSI_MPT2SAS_LOGGING is not set CONFIG_SCSI_MPT3SAS=m +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT3SAS_MAX_SGE=128 -# CONFIG_SCSI_MPT3SAS_LOGGING is not set +CONFIG_SCSI_MPT2SAS=m CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m CONFIG_SCSI_UFSHCD_PLATFORM=m @@ -2580,6 +2586,8 @@ CONFIG_ATL1=m CONFIG_ATL1E=m CONFIG_ATL1C=m CONFIG_ALX=m +CONFIG_NET_VENDOR_AURORA=y +CONFIG_AURORA_NB8800=m CONFIG_NET_CADENCE=y CONFIG_MACB=m CONFIG_NET_VENDOR_BROADCOM=y @@ -2594,6 +2602,8 @@ CONFIG_TIGON3=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNX2X_VXLAN=y +CONFIG_BNXT=m +CONFIG_BNXT_SRIOV=y CONFIG_NET_VENDOR_BROCADE=y CONFIG_BNA=m CONFIG_NET_VENDOR_CAVIUM=y @@ -2663,7 +2673,6 @@ CONFIG_I40EVF=m CONFIG_FM10K=m CONFIG_FM10K_VXLAN=y CONFIG_NET_VENDOR_I825XX=y -CONFIG_IP1000=m CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m @@ -2690,6 +2699,7 @@ CONFIG_KSZ884X_PCI=m CONFIG_NET_VENDOR_MICROCHIP=y CONFIG_ENC28J60=m # CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_ENCX24J600=m CONFIG_NET_VENDOR_MYRI=y CONFIG_MYRI10GE=m CONFIG_FEALNX=m @@ -2720,6 +2730,8 @@ CONFIG_QLCNIC_VXLAN=y CONFIG_QLCNIC_HWMON=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m +CONFIG_QED=m +CONFIG_QEDE=m CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m @@ -2804,6 +2816,7 @@ CONFIG_CICADA_PHY=m CONFIG_VITESSE_PHY=m CONFIG_TERANETICS_PHY=m CONFIG_SMSC_PHY=m +CONFIG_BCM_NET_PHYLIB=m CONFIG_BROADCOM_PHY=m CONFIG_BCM7XXX_PHY=m CONFIG_BCM87XX_PHY=m @@ -2813,7 +2826,7 @@ CONFIG_NATIONAL_PHY=m CONFIG_STE10XP=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MICREL_PHY=m -# CONFIG_DP83848_PHY is not set +CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_FIXED_PHY=y @@ -2897,10 +2910,10 @@ CONFIG_PCMCIA_WL3501=m # CONFIG_PRISM54 is not set CONFIG_USB_ZD1201=m CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_ADM8211=m CONFIG_RTL8180=m CONFIG_RTL8187=m CONFIG_RTL8187_LEDS=y -CONFIG_ADM8211=m CONFIG_MAC80211_HWSIM=m CONFIG_MWL8K=m CONFIG_ATH_COMMON=m @@ -2954,7 +2967,6 @@ CONFIG_B43_BUSES_BCMA_AND_SSB=y # CONFIG_B43_BUSES_SSB is not set CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y -# CONFIG_B43_PCMCIA is not set # CONFIG_B43_SDIO is not set CONFIG_B43_BCMA_PIO=y CONFIG_B43_PIO=y @@ -3096,6 +3108,8 @@ CONFIG_RTLWIFI_USB=m CONFIG_RTL8192C_COMMON=m CONFIG_RTL8723_COMMON=m CONFIG_RTLBTCOEXIST=m +CONFIG_RTL8XXXU=m +CONFIG_RTL8XXXU_UNTESTED=y CONFIG_WL_TI=y CONFIG_WL1251=m CONFIG_WL1251_SPI=m @@ -3157,6 +3171,7 @@ CONFIG_SBNI=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_AT86RF230=m +CONFIG_IEEE802154_AT86RF230_DEBUGFS=y CONFIG_IEEE802154_MRF24J40=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_ATUSB=m @@ -3312,6 +3327,10 @@ CONFIG_MISDN_NETJET=m CONFIG_MISDN_IPAC=m CONFIG_MISDN_ISAR=m CONFIG_ISDN_HDLC=m +CONFIG_NVM=y +# CONFIG_NVM_DEBUG is not set +CONFIG_NVM_GENNVM=m +CONFIG_NVM_RRPC=m # # Input device support @@ -3451,6 +3470,7 @@ CONFIG_TOUCHSCREEN_DA9052=m CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_FT6236=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_ILI210X=m @@ -3502,6 +3522,8 @@ CONFIG_TOUCHSCREEN_USB_NEXIO=y CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y CONFIG_TOUCHSCREEN_TOUCHIT213=m CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_TSC200X_CORE=m +CONFIG_TOUCHSCREEN_TSC2004=m CONFIG_TOUCHSCREEN_TSC2005=m CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_PCAP=m @@ -3510,6 +3532,7 @@ CONFIG_TOUCHSCREEN_SUR40=m CONFIG_TOUCHSCREEN_SX8654=m CONFIG_TOUCHSCREEN_TPS6507X=m CONFIG_TOUCHSCREEN_ZFORCE=m +CONFIG_TOUCHSCREEN_ROHM_BU21023=m CONFIG_INPUT_MISC=y CONFIG_INPUT_88PM860X_ONKEY=m CONFIG_INPUT_88PM80X_ONKEY=m @@ -3586,6 +3609,7 @@ CONFIG_SERIO_ALTERA_PS2=m CONFIG_SERIO_PS2MULT=m CONFIG_SERIO_ARC_PS2=m CONFIG_HYPERV_KEYBOARD=m +CONFIG_USERIO=m CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m CONFIG_GAMEPORT_L4=m @@ -3647,8 +3671,11 @@ CONFIG_SERIAL_8250_HUB6=m CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y +# CONFIG_SERIAL_8250_FSL is not set CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_FINTEK=m +CONFIG_SERIAL_8250_MID=m # # Non-8250 serial port support @@ -3806,6 +3833,7 @@ CONFIG_I2C_CBUS_GPIO=m CONFIG_I2C_DESIGNWARE_CORE=m CONFIG_I2C_DESIGNWARE_PLATFORM=m CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DESIGNWARE_BAYTRAIL=y CONFIG_I2C_EG20T=m CONFIG_I2C_EMEV2=m CONFIG_I2C_GPIO=m @@ -3925,6 +3953,7 @@ CONFIG_PINCTRL_AMD=y CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=m CONFIG_PINCTRL_INTEL=m +CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_SUNRISEPOINT=m CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y @@ -3939,15 +3968,22 @@ CONFIG_GPIO_MAX730X=m # # Memory mapped GPIO drivers # +CONFIG_GPIO_AMDPT=m CONFIG_GPIO_DWAPB=m -CONFIG_GPIO_F7188X=m CONFIG_GPIO_GENERIC_PLATFORM=m CONFIG_GPIO_ICH=m -CONFIG_GPIO_IT8761E=m CONFIG_GPIO_LYNXPOINT=y +CONFIG_GPIO_VX855=m +CONFIG_GPIO_ZX=y + +# +# Port-mapped I/O GPIO drivers +# +CONFIG_GPIO_104_IDIO_16=m +CONFIG_GPIO_F7188X=m +CONFIG_GPIO_IT87=m CONFIG_GPIO_SCH=m CONFIG_GPIO_SCH311X=m -CONFIG_GPIO_VX855=m # # I2C GPIO expanders @@ -3999,9 +4035,12 @@ CONFIG_GPIO_RDC321X=m # SPI GPIO expanders # CONFIG_GPIO_MAX7301=m -CONFIG_GPIO_MCP23S08=m CONFIG_GPIO_MC33880=m -CONFIG_GPIO_ZX=y + +# +# SPI or I2C GPIO expanders +# +CONFIG_GPIO_MCP23S08=m # # USB GPIO expanders @@ -4052,12 +4091,13 @@ CONFIG_BATTERY_DS2780=m CONFIG_BATTERY_DS2781=m CONFIG_BATTERY_DS2782=m CONFIG_BATTERY_SBS=m -CONFIG_BATTERY_BQ27x00=m -CONFIG_BATTERY_BQ27X00_I2C=y -CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_BQ27XXX=m +CONFIG_BATTERY_BQ27XXX_I2C=y +CONFIG_BATTERY_BQ27XXX_PLATFORM=y CONFIG_BATTERY_DA9030=m CONFIG_BATTERY_DA9052=m CONFIG_CHARGER_DA9150=m +CONFIG_BATTERY_DA9150=m CONFIG_AXP288_CHARGER=m CONFIG_AXP288_FUEL_GAUGE=m CONFIG_BATTERY_MAX17040=m @@ -4085,9 +4125,11 @@ CONFIG_CHARGER_BQ24735=m CONFIG_CHARGER_BQ25890=m CONFIG_CHARGER_SMB347=m CONFIG_CHARGER_TPS65090=m +CONFIG_CHARGER_TPS65217=m CONFIG_BATTERY_GAUGE_LTC2941=m CONFIG_BATTERY_RT5033=m CONFIG_CHARGER_RT9455=m +CONFIG_AXP20X_POWER=m CONFIG_POWER_RESET=y CONFIG_POWER_RESET_RESTART=y CONFIG_POWER_AVS=y @@ -4165,6 +4207,7 @@ CONFIG_SENSORS_MAX6639=m CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m +CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_HTU21=m CONFIG_SENSORS_MCP3021=m CONFIG_SENSORS_MENF21BMC_HWMON=m @@ -4338,6 +4381,7 @@ CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_BCM7038_WDT=m CONFIG_MEN_A21_WDT=m CONFIG_XEN_WDT=m @@ -4373,6 +4417,7 @@ CONFIG_SSB_PCMCIAHOST_POSSIBLE=y # CONFIG_SSB_PCMCIAHOST is not set CONFIG_SSB_SDIOHOST_POSSIBLE=y CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_HOST_SOC=y # CONFIG_SSB_SILENT is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y @@ -4904,6 +4949,7 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIVID=m +CONFIG_VIDEO_VIVID_MAX_DEVS=64 CONFIG_VIDEO_VIM2M=m CONFIG_DVB_PLATFORM_DRIVERS=y @@ -5306,7 +5352,7 @@ CONFIG_DRM_RADEON=m # CONFIG_DRM_RADEON_USERPTR is not set # CONFIG_DRM_RADEON_UMS is not set CONFIG_DRM_AMDGPU=m -CONFIG_DRM_AMDGPU_CIK=y +# CONFIG_DRM_AMDGPU_CIK is not set CONFIG_DRM_AMDGPU_USERPTR=y CONFIG_DRM_NOUVEAU=m CONFIG_NOUVEAU_DEBUG=5 @@ -5449,6 +5495,7 @@ CONFIG_FB_GEODE_GX1=m CONFIG_FB_SM501=m CONFIG_FB_SMSCUFX=m CONFIG_FB_UDL=m +CONFIG_FB_IBM_GXT4500=m # CONFIG_FB_VIRTUAL is not set CONFIG_XEN_FBDEV_FRONTEND=m CONFIG_FB_METRONOME=m @@ -5541,7 +5588,9 @@ CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=m -# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_PCM_TIMER=y # CONFIG_SND_SEQUENCER_OSS is not set CONFIG_SND_HRTIMER=m CONFIG_SND_SEQ_HRTIMER_DEFAULT=y @@ -5717,6 +5766,7 @@ CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_HDA_CORE=m CONFIG_SND_HDA_DSP_LOADER=y CONFIG_SND_HDA_I915=y +CONFIG_SND_HDA_EXT_CORE=m CONFIG_SND_HDA_PREALLOC_SIZE=64 CONFIG_SND_SPI=y CONFIG_SND_USB=y @@ -5742,12 +5792,16 @@ CONFIG_SND_ISIGHT=m CONFIG_SND_SCS1X=m CONFIG_SND_FIREWORKS=m CONFIG_SND_BEBOB=m +CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_PCMCIA=y CONFIG_SND_VXPOCKET=m CONFIG_SND_PDAUDIOCF=m CONFIG_SND_SOC=m CONFIG_SND_SOC_AC97_BUS=y CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_COMPRESS=y +CONFIG_SND_SOC_TOPOLOGY=y CONFIG_SND_ATMEL_SOC=m CONFIG_SND_DESIGNWARE_I2S=m @@ -5781,6 +5835,13 @@ CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m +CONFIG_SND_SOC_INTEL_SKYLAKE=m +CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m + +# +# Allwinner SoC Audio support +# +CONFIG_SND_SUN4I_CODEC=m CONFIG_SND_SOC_XTFPGA_I2S=m CONFIG_SND_SOC_I2C_AND_SPI=m @@ -5791,6 +5852,7 @@ CONFIG_SND_SOC_AC97_CODEC=m CONFIG_SND_SOC_ADAU1701=m CONFIG_SND_SOC_AK4104=m CONFIG_SND_SOC_AK4554=m +CONFIG_SND_SOC_AK4613=m CONFIG_SND_SOC_AK4642=m CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_ALC5623=m @@ -5808,7 +5870,7 @@ CONFIG_SND_SOC_CS4271_SPI=m CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_CS4349=m -CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_GTM601=m CONFIG_SND_SOC_MAX98090=m @@ -5894,6 +5956,7 @@ CONFIG_HID_BELKIN=m CONFIG_HID_BETOP_FF=m CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m +CONFIG_HID_CORSAIR=m CONFIG_HID_PRODIKEYS=m CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m @@ -5904,6 +5967,7 @@ CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_EZKEY=m CONFIG_HID_GEMBIRD=m +CONFIG_HID_GFRM=m CONFIG_HID_HOLTEK=m CONFIG_HOLTEK_FF=y CONFIG_HID_GT683R=m @@ -6002,7 +6066,6 @@ CONFIG_USB_DYNAMIC_MINORS=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set CONFIG_USB_ULPI_BUS=m CONFIG_USB_MON=m CONFIG_USB_WUSB=m @@ -6024,7 +6087,6 @@ CONFIG_USB_EHCI_HCD_PLATFORM=y CONFIG_USB_OXU210HP_HCD=m CONFIG_USB_ISP116X_HCD=m CONFIG_USB_ISP1362_HCD=m -CONFIG_USB_FUSBH200_HCD=m CONFIG_USB_FOTG210_HCD=m CONFIG_USB_MAX3421_HCD=m CONFIG_USB_OHCI_HCD=y @@ -6346,7 +6408,6 @@ CONFIG_UWB_WHCI=m CONFIG_UWB_I1480U=m CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_CLKGATE is not set # # MMC/SD/SDIO Card Drivers @@ -6412,10 +6473,11 @@ CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_GPIO=m CONFIG_LEDS_LP3944=m -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set +CONFIG_LEDS_LP55XX_COMMON=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_LP5562=m +CONFIG_LEDS_LP8501=m CONFIG_LEDS_LP8788=m CONFIG_LEDS_LP8860=m CONFIG_LEDS_CLEVO_MAIL=m @@ -6573,6 +6635,7 @@ CONFIG_RTC_DRV_RX8581=m CONFIG_RTC_DRV_RX8025=m CONFIG_RTC_DRV_EM3027=m CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RV8803=m CONFIG_RTC_DRV_S5M=m # @@ -6646,7 +6709,7 @@ CONFIG_DMADEVICES=y CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=m CONFIG_DMA_ACPI=y -CONFIG_IDMA64=m +CONFIG_INTEL_IDMA64=m CONFIG_PCH_DMA=m CONFIG_TIMB_DMA=m CONFIG_DW_DMAC_CORE=m @@ -6683,6 +6746,7 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PCI_VGA=y CONFIG_VFIO_PCI_MMAP=y CONFIG_VFIO_PCI_INTX=y +CONFIG_IRQ_BYPASS_MANAGER=m CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO=y @@ -6771,7 +6835,6 @@ CONFIG_COMEDI_DT2815=m CONFIG_COMEDI_DT2817=m CONFIG_COMEDI_DT282X=m CONFIG_COMEDI_DMM32AT=m -CONFIG_COMEDI_UNIOXX5=m CONFIG_COMEDI_FL512=m CONFIG_COMEDI_AIO_AIO12_8=m CONFIG_COMEDI_AIO_IIRO_16=m @@ -6990,9 +7053,6 @@ CONFIG_IIO_SIMPLE_DUMMY=m # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set CONFIG_FB_SM750=m CONFIG_FB_XGI=m -CONFIG_FT1000=m -CONFIG_FT1000_USB=m -CONFIG_FT1000_PCMCIA=m # # Speakup console speech @@ -7028,7 +7088,7 @@ CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m CONFIG_LIRC_ZILOG=m -CONFIG_STAGING_RDMA=y +CONFIG_STAGING_RDMA=m CONFIG_INFINIBAND_AMSO1100=m # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set @@ -7048,14 +7108,7 @@ CONFIG_FWTTY_MAX_TOTAL_PORTS=64 CONFIG_FWTTY_MAX_CARD_PORTS=32 CONFIG_MTD_SPINAND_MT29F=m CONFIG_MTD_SPINAND_ONDIEECC=y -CONFIG_LUSTRE_FS=m -CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192 -# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set -CONFIG_LUSTRE_LLITE_LLOOP=m -CONFIG_LNET=m -CONFIG_LNET_MAX_PAYLOAD=1048576 -CONFIG_LNET_SELFTEST=m -CONFIG_LNET_XPRT_IB=m +# CONFIG_LUSTRE_FS is not set CONFIG_DGNC=m CONFIG_DGAP=m CONFIG_GS_FPGABOOT=m @@ -7082,6 +7135,7 @@ CONFIG_FB_TFT_SSD1306=m CONFIG_FB_TFT_SSD1331=m CONFIG_FB_TFT_SSD1351=m CONFIG_FB_TFT_ST7735R=m +CONFIG_FB_TFT_ST7789V=m CONFIG_FB_TFT_TINYLCD=m CONFIG_FB_TFT_TLS8204=m CONFIG_FB_TFT_UC1611=m @@ -7090,6 +7144,7 @@ CONFIG_FB_TFT_UPD161704=m CONFIG_FB_TFT_WATTEROTT=m CONFIG_FB_FLEX=m CONFIG_FB_TFT_FBTFT_DEVICE=m +# CONFIG_WILC1000_DRIVER is not set CONFIG_MOST=m CONFIG_MOSTCORE=m CONFIG_AIM_CDEV=m @@ -7142,6 +7197,7 @@ CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_TOSHIBA_BT_RFKILL=m CONFIG_TOSHIBA_HAPS=m +CONFIG_TOSHIBA_WMI=m CONFIG_ACPI_CMPC=m CONFIG_INTEL_SCU_IPC=y CONFIG_INTEL_SCU_IPC_UTIL=m @@ -7211,6 +7267,7 @@ CONFIG_IOMMU_SUPPORT=y CONFIG_IOMMU_IOVA=y CONFIG_DMAR_TABLE=y CONFIG_INTEL_IOMMU=y +CONFIG_INTEL_IOMMU_SVM=y # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y @@ -7263,17 +7320,20 @@ CONFIG_EXTCON_USB_GPIO=m CONFIG_MEMORY=y CONFIG_IIO=m CONFIG_IIO_BUFFER=y -CONFIG_IIO_BUFFER_CB=y +CONFIG_IIO_BUFFER_CB=m CONFIG_IIO_KFIFO_BUF=m CONFIG_IIO_TRIGGERED_BUFFER=m CONFIG_IIO_TRIGGER=y CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +CONFIG_IIO_TRIGGERED_EVENT=m # # Accelerometers # CONFIG_BMA180=m CONFIG_BMC150_ACCEL=m +CONFIG_BMC150_ACCEL_I2C=m +CONFIG_BMC150_ACCEL_SPI=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m @@ -7284,6 +7344,7 @@ CONFIG_MMA8452=m CONFIG_MMA9551_CORE=m CONFIG_MMA9551=m CONFIG_MMA9553=m +CONFIG_MXC4005=m CONFIG_STK8312=m CONFIG_STK8BA50=m @@ -7301,8 +7362,9 @@ CONFIG_AD7887=m CONFIG_AD7923=m CONFIG_AD799X=m CONFIG_AXP288_ADC=m -CONFIG_DA9150_GPADC=m CONFIG_CC10001_ADC=m +CONFIG_DA9150_GPADC=m +CONFIG_HI8435=m CONFIG_LP8788_ADC=m CONFIG_MAX1027=m CONFIG_MAX1363=m @@ -7324,11 +7386,17 @@ CONFIG_VIPERBOARD_ADC=m # CONFIG_AD8366=m +# +# Chemical Sensors +# +CONFIG_VZ89X=m + # # Hid Sensor IIO Common # CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m +CONFIG_IIO_MS_SENSORS_I2C=m # # SSP Sensor Common @@ -7383,6 +7451,8 @@ CONFIG_ADIS16136=m CONFIG_ADIS16260=m CONFIG_ADXRS450=m CONFIG_BMG160=m +CONFIG_BMG160_I2C=m +CONFIG_BMG160_SPI=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_IIO_ST_GYRO_3AXIS=m CONFIG_IIO_ST_GYRO_I2C_3AXIS=m @@ -7393,6 +7463,8 @@ CONFIG_ITG3200=m # Humidity sensors # CONFIG_DHT11=m +CONFIG_HDC100X=m +CONFIG_HTU21=m CONFIG_SI7005=m CONFIG_SI7020=m @@ -7413,6 +7485,7 @@ CONFIG_ACPI_ALS=m CONFIG_ADJD_S311=m CONFIG_AL3320A=m CONFIG_APDS9300=m +CONFIG_APDS9960=m CONFIG_BH1750=m CONFIG_CM32181=m CONFIG_CM3232=m @@ -7433,6 +7506,7 @@ CONFIG_TCS3414=m CONFIG_TCS3472=m CONFIG_SENSORS_TSL2563=m CONFIG_TSL4531=m +CONFIG_US5182D=m CONFIG_VCNL4000=m # @@ -7440,13 +7514,13 @@ CONFIG_VCNL4000=m # CONFIG_AK8975=m CONFIG_AK09911=m +CONFIG_BMC150_MAGN=m CONFIG_MAG3110=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m CONFIG_MMC35240=m CONFIG_IIO_ST_MAGN_3AXIS=m CONFIG_IIO_ST_MAGN_I2C_3AXIS=m CONFIG_IIO_ST_MAGN_SPI_3AXIS=m -CONFIG_BMC150_MAGN=m # # Inclinometer sensors @@ -7460,6 +7534,11 @@ CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_IIO_INTERRUPT_TRIGGER=m CONFIG_IIO_SYSFS_TRIGGER=m +# +# Digital potentiometers +# +CONFIG_MCP4531=m + # # Pressure sensors # @@ -7470,6 +7549,7 @@ CONFIG_MPL3115=m CONFIG_MS5611=m CONFIG_MS5611_I2C=m CONFIG_MS5611_SPI=m +CONFIG_MS5637=m CONFIG_IIO_ST_PRESS=m CONFIG_IIO_ST_PRESS_I2C=m CONFIG_IIO_ST_PRESS_SPI=m @@ -7483,6 +7563,7 @@ CONFIG_AS3935=m # # Proximity sensors # +CONFIG_LIDAR_LITE_V2=m CONFIG_SX9500=m # @@ -7490,6 +7571,8 @@ CONFIG_SX9500=m # CONFIG_MLX90614=m CONFIG_TMP006=m +CONFIG_TSYS01=m +CONFIG_TSYS02D=m CONFIG_NTB=m CONFIG_NTB_PINGPONG=m CONFIG_NTB_TOOL=m @@ -7519,6 +7602,7 @@ CONFIG_PWM_LP3943=m CONFIG_PWM_LPSS=m CONFIG_PWM_LPSS_PCI=m CONFIG_PWM_LPSS_PLATFORM=m +CONFIG_PWM_PCA9685=m CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m CONFIG_IPACK_BUS=m @@ -7566,6 +7650,22 @@ CONFIG_ND_CLAIM=y CONFIG_ND_BTT=m CONFIG_BTT=y CONFIG_NVMEM=m +CONFIG_STM=m +CONFIG_STM_DUMMY=m +CONFIG_STM_SOURCE_CONSOLE=m +CONFIG_INTEL_TH=m +CONFIG_INTEL_TH_PCI=m +CONFIG_INTEL_TH_GTH=m +CONFIG_INTEL_TH_STH=m +CONFIG_INTEL_TH_MSU=m +CONFIG_INTEL_TH_PTI=m +# CONFIG_INTEL_TH_DEBUG is not set + +# +# FPGA Configuration Support +# +CONFIG_FPGA=m +CONFIG_FPGA_MGR_ZYNQ_FPGA=m # # Firmware Drivers @@ -7590,6 +7690,7 @@ CONFIG_EFI_ESRT=y CONFIG_EFI_VARS_PSTORE=m # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set CONFIG_EFI_RUNTIME_MAP=y +# CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_UEFI_CPER=y @@ -7756,6 +7857,7 @@ CONFIG_UBIFS_FS=m # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_LOGFS is not set CONFIG_CRAMFS=m CONFIG_SQUASHFS=m @@ -7766,7 +7868,7 @@ CONFIG_SQUASHFS_FILE_DIRECT=y CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set @@ -7951,6 +8053,7 @@ CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set @@ -8090,6 +8193,7 @@ CONFIG_MMIOTRACE=y # CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y # # Runtime Testing @@ -8106,6 +8210,7 @@ CONFIG_ASYNC_RAID6_TEST=m CONFIG_TEST_HEXDUMP=m CONFIG_TEST_STRING_HELPERS=m CONFIG_TEST_KSTRTOX=m +CONFIG_TEST_PRINTF=m # CONFIG_TEST_RHASHTABLE is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_DMA_API_DEBUG is not set @@ -8131,9 +8236,12 @@ CONFIG_STRICT_DEVMEM=y CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y +# CONFIG_X86_PTDUMP_CORE is not set # CONFIG_X86_PTDUMP is not set +# CONFIG_EFI_PGT_DUMP is not set CONFIG_DEBUG_RODATA=y # CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_WX is not set CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_NX_TEST is not set CONFIG_DOUBLEFAULT=y @@ -8286,6 +8394,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_KEYWRAP=m # # Hash modes @@ -8408,6 +8517,7 @@ CONFIG_HAVE_KVM_MSI=y CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y CONFIG_KVM_VFIO=y CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y +CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_INTEL=m diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf index 6c233c079a..406053ab7a 100644 --- a/gnu/packages/linux-libre-x86_64.conf +++ b/gnu/packages/linux-libre-x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.3.0-gnu Kernel Configuration +# Linux/x86 4.4.0-gnu Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -284,8 +284,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -322,7 +322,6 @@ CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG_SHA512 is not set # CONFIG_MODULE_COMPRESS is not set CONFIG_MODULES_TREE_LOOKUP=y -CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_BSGLIB=y @@ -388,7 +387,7 @@ CONFIG_FREEZER=y # # Processor type and features # -CONFIG_ZONE_DMA=y +# CONFIG_ZONE_DMA is not set CONFIG_SMP=y CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_X2APIC=y @@ -400,7 +399,7 @@ CONFIG_X86_NUMACHIP=y # CONFIG_X86_GOLDFISH is not set CONFIG_X86_INTEL_LPSS=y CONFIG_X86_AMD_PLATFORM_DEVICE=y -CONFIG_IOSF_MBI=m +CONFIG_IOSF_MBI=y CONFIG_IOSF_MBI_DEBUG=y CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y @@ -469,9 +468,6 @@ CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y -CONFIG_MICROCODE_INTEL_EARLY=y -CONFIG_MICROCODE_AMD_EARLY=y -CONFIG_MICROCODE_EARLY=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m CONFIG_ARCH_PHYS_ADDR_T_64BIT=y @@ -507,7 +503,6 @@ CONFIG_HAVE_BOOTMEM_INFO_NODE=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_SPARSE=y CONFIG_MEMORY_HOTREMOVE=y -CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_MEMORY_BALLOON=y @@ -516,8 +511,7 @@ CONFIG_COMPACTION=y CONFIG_MIGRATION=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y +CONFIG_ZONE_DMA_FLAG=0 CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y @@ -545,6 +539,7 @@ CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_ZONE_DEVICE=y CONFIG_FRAME_VECTOR=y CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=y @@ -586,6 +581,9 @@ CONFIG_HOTPLUG_CPU=y # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_DEBUG_HOTPLUG_CPU0 is not set # CONFIG_COMPAT_VDSO is not set +# CONFIG_LEGACY_VSYSCALL_NATIVE is not set +CONFIG_LEGACY_VSYSCALL_EMULATE=y +# CONFIG_LEGACY_VSYSCALL_NONE is not set # CONFIG_CMDLINE_BOOL is not set CONFIG_MODIFY_LDT_SYSCALL=y CONFIG_HAVE_LIVEPATCH=y @@ -624,6 +622,7 @@ CONFIG_ACPI=y CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y +# CONFIG_ACPI_DEBUGGER is not set CONFIG_ACPI_SLEEP=y # CONFIG_ACPI_PROCFS_POWER is not set CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y @@ -967,7 +966,7 @@ CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NF_CT_NETLINK_TIMEOUT=m CONFIG_NF_CT_NETLINK_HELPER=m -CONFIG_NETFILTER_NETLINK_QUEUE_CT=y +CONFIG_NETFILTER_NETLINK_GLUE_CT=y CONFIG_NF_NAT=m CONFIG_NF_NAT_NEEDED=y CONFIG_NF_NAT_PROTO_DCCP=m @@ -1332,6 +1331,7 @@ CONFIG_6LOWPAN_NHC_MOBILITY=m CONFIG_6LOWPAN_NHC_ROUTING=m CONFIG_6LOWPAN_NHC_UDP=m CONFIG_IEEE802154=m +CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y CONFIG_IEEE802154_SOCKET=m CONFIG_IEEE802154_6LOWPAN=m CONFIG_MAC802154=m @@ -1430,6 +1430,7 @@ CONFIG_MPLS_ROUTING=m CONFIG_MPLS_IPTUNNEL=m CONFIG_HSR=m # CONFIG_NET_SWITCHDEV is not set +CONFIG_NET_L3_MASTER_DEV=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y @@ -1636,6 +1637,7 @@ CONFIG_CFG80211=m CONFIG_CFG80211_DEFAULT_PS=y CONFIG_CFG80211_DEBUGFS=y # CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y CONFIG_CFG80211_WEXT=y CONFIG_CFG80211_WEXT_EXPORT=y CONFIG_LIB80211=m @@ -1677,7 +1679,7 @@ CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y CONFIG_NFC=m CONFIG_NFC_DIGITAL=m CONFIG_NFC_NCI=m -CONFIG_NFC_NCI_SPI=y +CONFIG_NFC_NCI_SPI=m CONFIG_NFC_NCI_UART=m CONFIG_NFC_HCI=m CONFIG_NFC_SHDLC=y @@ -1691,6 +1693,8 @@ CONFIG_NFC_TRF7970A=m CONFIG_NFC_MEI_PHY=m CONFIG_NFC_SIM=m CONFIG_NFC_PORT100=m +CONFIG_NFC_FDP=m +CONFIG_NFC_FDP_I2C=m CONFIG_NFC_PN544=m CONFIG_NFC_PN544_I2C=m CONFIG_NFC_PN544_MEI=m @@ -1700,6 +1704,8 @@ CONFIG_NFC_MICROREAD_MEI=m CONFIG_NFC_MRVL=m CONFIG_NFC_MRVL_USB=m CONFIG_NFC_MRVL_UART=m +CONFIG_NFC_MRVL_I2C=m +CONFIG_NFC_MRVL_SPI=m CONFIG_NFC_ST21NFCA=m CONFIG_NFC_ST21NFCA_I2C=m CONFIG_NFC_ST_NCI=m @@ -1957,7 +1963,6 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_NVME=m CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_OSD=m CONFIG_BLK_DEV_SX8=m @@ -1975,6 +1980,7 @@ CONFIG_VIRTIO_BLK=y # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_RBD=m CONFIG_BLK_DEV_RSXX=m +CONFIG_BLK_DEV_NVME=m # # Misc devices @@ -2064,6 +2070,11 @@ CONFIG_INTEL_MIC_CARD=m # SCIF Driver # CONFIG_SCIF=m + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +CONFIG_MIC_COSM=m CONFIG_GENWQE=m CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 CONFIG_ECHO=m @@ -2151,12 +2162,10 @@ CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_LEGACY=m CONFIG_MEGARAID_SAS=m -CONFIG_SCSI_MPT2SAS=m -CONFIG_SCSI_MPT2SAS_MAX_SGE=128 -# CONFIG_SCSI_MPT2SAS_LOGGING is not set CONFIG_SCSI_MPT3SAS=m +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT3SAS_MAX_SGE=128 -# CONFIG_SCSI_MPT3SAS_LOGGING is not set +CONFIG_SCSI_MPT2SAS=m CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m CONFIG_SCSI_UFSHCD_PLATFORM=m @@ -2511,6 +2520,8 @@ CONFIG_ATL1=m CONFIG_ATL1E=m CONFIG_ATL1C=m CONFIG_ALX=m +CONFIG_NET_VENDOR_AURORA=y +CONFIG_AURORA_NB8800=m CONFIG_NET_CADENCE=y CONFIG_MACB=m CONFIG_NET_VENDOR_BROADCOM=y @@ -2525,6 +2536,8 @@ CONFIG_TIGON3=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNX2X_VXLAN=y +CONFIG_BNXT=m +CONFIG_BNXT_SRIOV=y CONFIG_NET_VENDOR_BROCADE=y CONFIG_BNA=m CONFIG_NET_VENDOR_CAVIUM=y @@ -2597,7 +2610,6 @@ CONFIG_I40EVF=m CONFIG_FM10K=m CONFIG_FM10K_VXLAN=y CONFIG_NET_VENDOR_I825XX=y -CONFIG_IP1000=m CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m @@ -2624,6 +2636,7 @@ CONFIG_KSZ884X_PCI=m CONFIG_NET_VENDOR_MICROCHIP=y CONFIG_ENC28J60=m # CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_ENCX24J600=m CONFIG_NET_VENDOR_MYRI=y CONFIG_MYRI10GE=m CONFIG_MYRI10GE_DCA=y @@ -2651,6 +2664,8 @@ CONFIG_QLCNIC_VXLAN=y CONFIG_QLCNIC_HWMON=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m +CONFIG_QED=m +CONFIG_QEDE=m CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m @@ -2734,6 +2749,7 @@ CONFIG_CICADA_PHY=m CONFIG_VITESSE_PHY=m CONFIG_TERANETICS_PHY=m CONFIG_SMSC_PHY=m +CONFIG_BCM_NET_PHYLIB=m CONFIG_BROADCOM_PHY=m CONFIG_BCM7XXX_PHY=m CONFIG_BCM87XX_PHY=m @@ -2743,7 +2759,7 @@ CONFIG_NATIONAL_PHY=m CONFIG_STE10XP=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MICREL_PHY=m -# CONFIG_DP83848_PHY is not set +CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_FIXED_PHY=y @@ -2828,10 +2844,10 @@ CONFIG_PCMCIA_WL3501=m # CONFIG_PRISM54 is not set CONFIG_USB_ZD1201=m CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_ADM8211=m CONFIG_RTL8180=m CONFIG_RTL8187=m CONFIG_RTL8187_LEDS=y -CONFIG_ADM8211=m CONFIG_MAC80211_HWSIM=m CONFIG_MWL8K=m CONFIG_ATH_COMMON=m @@ -2885,7 +2901,6 @@ CONFIG_B43_BUSES_BCMA_AND_SSB=y # CONFIG_B43_BUSES_SSB is not set CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y -# CONFIG_B43_PCMCIA is not set # CONFIG_B43_SDIO is not set CONFIG_B43_BCMA_PIO=y CONFIG_B43_PIO=y @@ -3027,6 +3042,8 @@ CONFIG_RTLWIFI_USB=m CONFIG_RTL8192C_COMMON=m CONFIG_RTL8723_COMMON=m CONFIG_RTLBTCOEXIST=m +CONFIG_RTL8XXXU=m +CONFIG_RTL8XXXU_UNTESTED=y CONFIG_WL_TI=y CONFIG_WL1251=m CONFIG_WL1251_SPI=m @@ -3082,6 +3099,7 @@ CONFIG_SBNI=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_AT86RF230=m +CONFIG_IEEE802154_AT86RF230_DEBUGFS=y CONFIG_IEEE802154_MRF24J40=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_ATUSB=m @@ -3221,6 +3239,10 @@ CONFIG_MISDN_NETJET=m CONFIG_MISDN_IPAC=m CONFIG_MISDN_ISAR=m CONFIG_ISDN_HDLC=m +CONFIG_NVM=y +# CONFIG_NVM_DEBUG is not set +CONFIG_NVM_GENNVM=m +CONFIG_NVM_RRPC=m # # Input device support @@ -3357,6 +3379,7 @@ CONFIG_TOUCHSCREEN_DA9052=m CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_FT6236=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_ILI210X=m @@ -3406,6 +3429,8 @@ CONFIG_TOUCHSCREEN_USB_NEXIO=y CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y CONFIG_TOUCHSCREEN_TOUCHIT213=m CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_TSC200X_CORE=m +CONFIG_TOUCHSCREEN_TSC2004=m CONFIG_TOUCHSCREEN_TSC2005=m CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_PCAP=m @@ -3414,6 +3439,7 @@ CONFIG_TOUCHSCREEN_SUR40=m CONFIG_TOUCHSCREEN_SX8654=m CONFIG_TOUCHSCREEN_TPS6507X=m CONFIG_TOUCHSCREEN_ZFORCE=m +CONFIG_TOUCHSCREEN_ROHM_BU21023=m CONFIG_INPUT_MISC=y CONFIG_INPUT_88PM860X_ONKEY=m CONFIG_INPUT_88PM80X_ONKEY=m @@ -3489,6 +3515,7 @@ CONFIG_SERIO_ALTERA_PS2=m CONFIG_SERIO_PS2MULT=m CONFIG_SERIO_ARC_PS2=m CONFIG_HYPERV_KEYBOARD=m +CONFIG_USERIO=m CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m CONFIG_GAMEPORT_L4=m @@ -3545,8 +3572,11 @@ CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y +# CONFIG_SERIAL_8250_FSL is not set CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_FINTEK=m +CONFIG_SERIAL_8250_MID=m # # Non-8250 serial port support @@ -3696,6 +3726,7 @@ CONFIG_I2C_CBUS_GPIO=m CONFIG_I2C_DESIGNWARE_CORE=m CONFIG_I2C_DESIGNWARE_PLATFORM=m CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DESIGNWARE_BAYTRAIL=y CONFIG_I2C_EMEV2=m CONFIG_I2C_GPIO=m CONFIG_I2C_KEMPLD=m @@ -3810,6 +3841,7 @@ CONFIG_PINCTRL_AMD=y CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=m CONFIG_PINCTRL_INTEL=m +CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_SUNRISEPOINT=m CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y @@ -3824,15 +3856,22 @@ CONFIG_GPIO_MAX730X=m # # Memory mapped GPIO drivers # +CONFIG_GPIO_AMDPT=m CONFIG_GPIO_DWAPB=m -CONFIG_GPIO_F7188X=m CONFIG_GPIO_GENERIC_PLATFORM=m CONFIG_GPIO_ICH=m -CONFIG_GPIO_IT8761E=m CONFIG_GPIO_LYNXPOINT=y +CONFIG_GPIO_VX855=m +CONFIG_GPIO_ZX=y + +# +# Port-mapped I/O GPIO drivers +# +CONFIG_GPIO_104_IDIO_16=m +CONFIG_GPIO_F7188X=m +CONFIG_GPIO_IT87=m CONFIG_GPIO_SCH=m CONFIG_GPIO_SCH311X=m -CONFIG_GPIO_VX855=m # # I2C GPIO expanders @@ -3880,9 +3919,12 @@ CONFIG_GPIO_RDC321X=m # SPI GPIO expanders # CONFIG_GPIO_MAX7301=m -CONFIG_GPIO_MCP23S08=m CONFIG_GPIO_MC33880=m -CONFIG_GPIO_ZX=y + +# +# SPI or I2C GPIO expanders +# +CONFIG_GPIO_MCP23S08=m # # USB GPIO expanders @@ -3933,12 +3975,13 @@ CONFIG_BATTERY_DS2780=m CONFIG_BATTERY_DS2781=m CONFIG_BATTERY_DS2782=m CONFIG_BATTERY_SBS=m -CONFIG_BATTERY_BQ27x00=m -CONFIG_BATTERY_BQ27X00_I2C=y -CONFIG_BATTERY_BQ27X00_PLATFORM=y +CONFIG_BATTERY_BQ27XXX=m +CONFIG_BATTERY_BQ27XXX_I2C=y +CONFIG_BATTERY_BQ27XXX_PLATFORM=y CONFIG_BATTERY_DA9030=m CONFIG_BATTERY_DA9052=m CONFIG_CHARGER_DA9150=m +CONFIG_BATTERY_DA9150=m CONFIG_AXP288_CHARGER=m CONFIG_AXP288_FUEL_GAUGE=m CONFIG_BATTERY_MAX17040=m @@ -3965,9 +4008,11 @@ CONFIG_CHARGER_BQ24735=m CONFIG_CHARGER_BQ25890=m CONFIG_CHARGER_SMB347=m CONFIG_CHARGER_TPS65090=m +CONFIG_CHARGER_TPS65217=m CONFIG_BATTERY_GAUGE_LTC2941=m CONFIG_BATTERY_RT5033=m CONFIG_CHARGER_RT9455=m +CONFIG_AXP20X_POWER=m CONFIG_POWER_RESET=y CONFIG_POWER_RESET_RESTART=y CONFIG_POWER_AVS=y @@ -4045,6 +4090,7 @@ CONFIG_SENSORS_MAX6639=m CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m +CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_HTU21=m CONFIG_SENSORS_MCP3021=m CONFIG_SENSORS_MENF21BMC_HWMON=m @@ -4213,6 +4259,7 @@ CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_BCM7038_WDT=m CONFIG_MEN_A21_WDT=m CONFIG_XEN_WDT=m @@ -4241,6 +4288,7 @@ CONFIG_SSB_PCMCIAHOST_POSSIBLE=y # CONFIG_SSB_PCMCIAHOST is not set CONFIG_SSB_SDIOHOST_POSSIBLE=y CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_HOST_SOC=y # CONFIG_SSB_SILENT is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y @@ -4767,6 +4815,7 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIVID=m +CONFIG_VIDEO_VIVID_MAX_DEVS=64 CONFIG_VIDEO_VIM2M=m CONFIG_DVB_PLATFORM_DRIVERS=y @@ -5147,7 +5196,7 @@ CONFIG_DRM_RADEON=m # CONFIG_DRM_RADEON_USERPTR is not set # CONFIG_DRM_RADEON_UMS is not set CONFIG_DRM_AMDGPU=m -CONFIG_DRM_AMDGPU_CIK=y +# CONFIG_DRM_AMDGPU_CIK is not set CONFIG_DRM_AMDGPU_USERPTR=y CONFIG_DRM_NOUVEAU=m CONFIG_NOUVEAU_DEBUG=5 @@ -5284,6 +5333,7 @@ CONFIG_FB_CARMINE_DRAM_EVAL=y CONFIG_FB_SM501=m CONFIG_FB_SMSCUFX=m CONFIG_FB_UDL=m +CONFIG_FB_IBM_GXT4500=m # CONFIG_FB_VIRTUAL is not set CONFIG_XEN_FBDEV_FRONTEND=m CONFIG_FB_METRONOME=m @@ -5375,7 +5425,9 @@ CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=m -# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_PCM_TIMER=y # CONFIG_SND_SEQUENCER_OSS is not set CONFIG_SND_HRTIMER=m CONFIG_SND_SEQ_HRTIMER_DEFAULT=y @@ -5392,7 +5444,7 @@ CONFIG_SND_RAWMIDI_SEQ=m CONFIG_SND_OPL3_LIB_SEQ=m # CONFIG_SND_OPL4_LIB_SEQ is not set # CONFIG_SND_SBAWE_SEQ is not set -CONFIG_SND_EMU10K1_SEQ=m +# CONFIG_SND_EMU10K1_SEQ is not set CONFIG_SND_MPU401_UART=m CONFIG_SND_OPL3_LIB=m CONFIG_SND_VX_LIB=m @@ -5412,9 +5464,7 @@ CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 CONFIG_SND_SB_COMMON=m CONFIG_SND_PCI=y CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m CONFIG_SND_ASIHPI=m CONFIG_SND_ATIIXP=m CONFIG_SND_ATIIXP_MODEM=m @@ -5422,7 +5472,6 @@ CONFIG_SND_AU8810=m CONFIG_SND_AU8820=m CONFIG_SND_AU8830=m CONFIG_SND_AW2=m -CONFIG_SND_AZT3328=m CONFIG_SND_BT87X=m # CONFIG_SND_BT87X_OVERCLOCK is not set CONFIG_SND_CA0106=m @@ -5447,27 +5496,18 @@ CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGODJX=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m CONFIG_SND_ENS1370=m CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_ES1968_INPUT=y -CONFIG_SND_ES1968_RADIO=y CONFIG_SND_FM801=m CONFIG_SND_FM801_TEA575X_BOOL=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INTEL8X0=m CONFIG_SND_INTEL8X0M=m CONFIG_SND_KORG1212=m CONFIG_SND_LOLA=m CONFIG_SND_LX6464ES=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MAESTRO3_INPUT=y CONFIG_SND_MIXART=m CONFIG_SND_NM256=m CONFIG_SND_PCXHR=m @@ -5475,8 +5515,6 @@ CONFIG_SND_RIPTIDE=m CONFIG_SND_RME32=m CONFIG_SND_RME96=m CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m CONFIG_SND_VIA82XX=m CONFIG_SND_VIA82XX_MODEM=m CONFIG_SND_VIRTUOSO=m @@ -5510,6 +5548,7 @@ CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_HDA_CORE=m CONFIG_SND_HDA_DSP_LOADER=y CONFIG_SND_HDA_I915=y +CONFIG_SND_HDA_EXT_CORE=m CONFIG_SND_HDA_PREALLOC_SIZE=64 CONFIG_SND_SPI=y CONFIG_SND_USB=y @@ -5535,12 +5574,16 @@ CONFIG_SND_ISIGHT=m CONFIG_SND_SCS1X=m CONFIG_SND_FIREWORKS=m CONFIG_SND_BEBOB=m +CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_PCMCIA=y CONFIG_SND_VXPOCKET=m CONFIG_SND_PDAUDIOCF=m CONFIG_SND_SOC=m CONFIG_SND_SOC_AC97_BUS=y CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_COMPRESS=y +CONFIG_SND_SOC_TOPOLOGY=y CONFIG_SND_ATMEL_SOC=m CONFIG_SND_DESIGNWARE_I2S=m @@ -5572,6 +5615,13 @@ CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m +CONFIG_SND_SOC_INTEL_SKYLAKE=m +CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m + +# +# Allwinner SoC Audio support +# +CONFIG_SND_SUN4I_CODEC=m CONFIG_SND_SOC_XTFPGA_I2S=m CONFIG_SND_SOC_I2C_AND_SPI=m @@ -5582,6 +5632,7 @@ CONFIG_SND_SOC_AC97_CODEC=m CONFIG_SND_SOC_ADAU1701=m CONFIG_SND_SOC_AK4104=m CONFIG_SND_SOC_AK4554=m +CONFIG_SND_SOC_AK4613=m CONFIG_SND_SOC_AK4642=m CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_ALC5623=m @@ -5599,7 +5650,7 @@ CONFIG_SND_SOC_CS4271_SPI=m CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_CS4349=m -CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_GTM601=m CONFIG_SND_SOC_MAX98090=m @@ -5684,6 +5735,7 @@ CONFIG_HID_BELKIN=m CONFIG_HID_BETOP_FF=m CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m +CONFIG_HID_CORSAIR=m CONFIG_HID_PRODIKEYS=m CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m @@ -5694,6 +5746,7 @@ CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_EZKEY=m CONFIG_HID_GEMBIRD=m +CONFIG_HID_GFRM=m CONFIG_HID_HOLTEK=m CONFIG_HOLTEK_FF=y CONFIG_HID_GT683R=m @@ -5792,7 +5845,6 @@ CONFIG_USB_DYNAMIC_MINORS=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set CONFIG_USB_ULPI_BUS=m CONFIG_USB_MON=m CONFIG_USB_WUSB=m @@ -5814,7 +5866,6 @@ CONFIG_USB_EHCI_HCD_PLATFORM=y CONFIG_USB_OXU210HP_HCD=m CONFIG_USB_ISP116X_HCD=m CONFIG_USB_ISP1362_HCD=m -CONFIG_USB_FUSBH200_HCD=m CONFIG_USB_FOTG210_HCD=m CONFIG_USB_MAX3421_HCD=m CONFIG_USB_OHCI_HCD=y @@ -6136,7 +6187,6 @@ CONFIG_UWB_WHCI=m CONFIG_UWB_I1480U=m CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_CLKGATE is not set # # MMC/SD/SDIO Card Drivers @@ -6201,10 +6251,11 @@ CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_GPIO=m CONFIG_LEDS_LP3944=m -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set +CONFIG_LEDS_LP55XX_COMMON=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_LP5562=m +CONFIG_LEDS_LP8501=m CONFIG_LEDS_LP8788=m CONFIG_LEDS_LP8860=m CONFIG_LEDS_CLEVO_MAIL=m @@ -6359,6 +6410,7 @@ CONFIG_RTC_DRV_RX8581=m CONFIG_RTC_DRV_RX8025=m CONFIG_RTC_DRV_EM3027=m CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RV8803=m CONFIG_RTC_DRV_S5M=m # @@ -6431,14 +6483,13 @@ CONFIG_DMADEVICES=y CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=m CONFIG_DMA_ACPI=y -CONFIG_IDMA64=m +CONFIG_INTEL_IDMA64=m CONFIG_INTEL_IOATDMA=m CONFIG_INTEL_MIC_X100_DMA=m CONFIG_DW_DMAC_CORE=m CONFIG_DW_DMAC=m CONFIG_DW_DMAC_PCI=m CONFIG_HSU_DMA=m -CONFIG_HSU_DMA_PCI=m # # DMA Clients @@ -6470,6 +6521,7 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PCI_VGA=y CONFIG_VFIO_PCI_MMAP=y CONFIG_VFIO_PCI_INTX=y +CONFIG_IRQ_BYPASS_MANAGER=m CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO=y @@ -6559,7 +6611,6 @@ CONFIG_COMEDI_DT2815=m CONFIG_COMEDI_DT2817=m CONFIG_COMEDI_DT282X=m CONFIG_COMEDI_DMM32AT=m -CONFIG_COMEDI_UNIOXX5=m CONFIG_COMEDI_FL512=m CONFIG_COMEDI_AIO_AIO12_8=m CONFIG_COMEDI_AIO_IIRO_16=m @@ -6778,9 +6829,6 @@ CONFIG_IIO_SIMPLE_DUMMY=m # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set CONFIG_FB_SM750=m CONFIG_FB_XGI=m -CONFIG_FT1000=m -CONFIG_FT1000_USB=m -CONFIG_FT1000_PCMCIA=m # # Speakup console speech @@ -6812,7 +6860,7 @@ CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m CONFIG_LIRC_ZILOG=m -CONFIG_STAGING_RDMA=y +CONFIG_STAGING_RDMA=m CONFIG_INFINIBAND_AMSO1100=m # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set CONFIG_INFINIBAND_HFI1=m @@ -6838,14 +6886,7 @@ CONFIG_FWTTY_MAX_TOTAL_PORTS=64 CONFIG_FWTTY_MAX_CARD_PORTS=32 CONFIG_MTD_SPINAND_MT29F=m CONFIG_MTD_SPINAND_ONDIEECC=y -CONFIG_LUSTRE_FS=m -CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192 -# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set -CONFIG_LUSTRE_LLITE_LLOOP=m -CONFIG_LNET=m -CONFIG_LNET_MAX_PAYLOAD=1048576 -CONFIG_LNET_SELFTEST=m -CONFIG_LNET_XPRT_IB=m +# CONFIG_LUSTRE_FS is not set CONFIG_DGNC=m CONFIG_DGAP=m CONFIG_GS_FPGABOOT=m @@ -6853,6 +6894,8 @@ CONFIG_CRYPTO_SKEIN=y CONFIG_UNISYSSPAR=y CONFIG_UNISYS_VISORBUS=m CONFIG_UNISYS_VISORNIC=m +CONFIG_UNISYS_VISORINPUT=m +CONFIG_UNISYS_VISORHBA=m CONFIG_FB_TFT=m CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m @@ -6876,6 +6919,7 @@ CONFIG_FB_TFT_SSD1306=m CONFIG_FB_TFT_SSD1331=m CONFIG_FB_TFT_SSD1351=m CONFIG_FB_TFT_ST7735R=m +CONFIG_FB_TFT_ST7789V=m CONFIG_FB_TFT_TINYLCD=m CONFIG_FB_TFT_TLS8204=m CONFIG_FB_TFT_UC1611=m @@ -6884,6 +6928,7 @@ CONFIG_FB_TFT_UPD161704=m CONFIG_FB_TFT_WATTEROTT=m CONFIG_FB_FLEX=m CONFIG_FB_TFT_FBTFT_DEVICE=m +# CONFIG_WILC1000_DRIVER is not set CONFIG_MOST=m CONFIG_MOSTCORE=m CONFIG_AIM_CDEV=m @@ -6935,6 +6980,7 @@ CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_TOSHIBA_BT_RFKILL=m CONFIG_TOSHIBA_HAPS=m +CONFIG_TOSHIBA_WMI=m CONFIG_ACPI_CMPC=m CONFIG_INTEL_IPS=m CONFIG_IBM_RTL=m @@ -7000,6 +7046,7 @@ CONFIG_AMD_IOMMU_STATS=y CONFIG_AMD_IOMMU_V2=m CONFIG_DMAR_TABLE=y CONFIG_INTEL_IOMMU=y +CONFIG_INTEL_IOMMU_SVM=y # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y CONFIG_IRQ_REMAP=y @@ -7053,17 +7100,20 @@ CONFIG_EXTCON_USB_GPIO=m CONFIG_MEMORY=y CONFIG_IIO=m CONFIG_IIO_BUFFER=y -CONFIG_IIO_BUFFER_CB=y +CONFIG_IIO_BUFFER_CB=m CONFIG_IIO_KFIFO_BUF=m CONFIG_IIO_TRIGGERED_BUFFER=m CONFIG_IIO_TRIGGER=y CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +CONFIG_IIO_TRIGGERED_EVENT=m # # Accelerometers # CONFIG_BMA180=m CONFIG_BMC150_ACCEL=m +CONFIG_BMC150_ACCEL_I2C=m +CONFIG_BMC150_ACCEL_SPI=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m @@ -7074,6 +7124,7 @@ CONFIG_MMA8452=m CONFIG_MMA9551_CORE=m CONFIG_MMA9551=m CONFIG_MMA9553=m +CONFIG_MXC4005=m CONFIG_STK8312=m CONFIG_STK8BA50=m @@ -7091,8 +7142,9 @@ CONFIG_AD7887=m CONFIG_AD7923=m CONFIG_AD799X=m CONFIG_AXP288_ADC=m -CONFIG_DA9150_GPADC=m CONFIG_CC10001_ADC=m +CONFIG_DA9150_GPADC=m +CONFIG_HI8435=m CONFIG_LP8788_ADC=m CONFIG_MAX1027=m CONFIG_MAX1363=m @@ -7114,11 +7166,17 @@ CONFIG_VIPERBOARD_ADC=m # CONFIG_AD8366=m +# +# Chemical Sensors +# +CONFIG_VZ89X=m + # # Hid Sensor IIO Common # CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m +CONFIG_IIO_MS_SENSORS_I2C=m # # SSP Sensor Common @@ -7173,6 +7231,8 @@ CONFIG_ADIS16136=m CONFIG_ADIS16260=m CONFIG_ADXRS450=m CONFIG_BMG160=m +CONFIG_BMG160_I2C=m +CONFIG_BMG160_SPI=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_IIO_ST_GYRO_3AXIS=m CONFIG_IIO_ST_GYRO_I2C_3AXIS=m @@ -7183,6 +7243,8 @@ CONFIG_ITG3200=m # Humidity sensors # CONFIG_DHT11=m +CONFIG_HDC100X=m +CONFIG_HTU21=m CONFIG_SI7005=m CONFIG_SI7020=m @@ -7203,6 +7265,7 @@ CONFIG_ACPI_ALS=m CONFIG_ADJD_S311=m CONFIG_AL3320A=m CONFIG_APDS9300=m +CONFIG_APDS9960=m CONFIG_BH1750=m CONFIG_CM32181=m CONFIG_CM3232=m @@ -7223,6 +7286,7 @@ CONFIG_TCS3414=m CONFIG_TCS3472=m CONFIG_SENSORS_TSL2563=m CONFIG_TSL4531=m +CONFIG_US5182D=m CONFIG_VCNL4000=m # @@ -7230,13 +7294,13 @@ CONFIG_VCNL4000=m # CONFIG_AK8975=m CONFIG_AK09911=m +CONFIG_BMC150_MAGN=m CONFIG_MAG3110=m CONFIG_HID_SENSOR_MAGNETOMETER_3D=m CONFIG_MMC35240=m CONFIG_IIO_ST_MAGN_3AXIS=m CONFIG_IIO_ST_MAGN_I2C_3AXIS=m CONFIG_IIO_ST_MAGN_SPI_3AXIS=m -CONFIG_BMC150_MAGN=m # # Inclinometer sensors @@ -7250,6 +7314,11 @@ CONFIG_HID_SENSOR_DEVICE_ROTATION=m CONFIG_IIO_INTERRUPT_TRIGGER=m CONFIG_IIO_SYSFS_TRIGGER=m +# +# Digital potentiometers +# +CONFIG_MCP4531=m + # # Pressure sensors # @@ -7260,6 +7329,7 @@ CONFIG_MPL3115=m CONFIG_MS5611=m CONFIG_MS5611_I2C=m CONFIG_MS5611_SPI=m +CONFIG_MS5637=m CONFIG_IIO_ST_PRESS=m CONFIG_IIO_ST_PRESS_I2C=m CONFIG_IIO_ST_PRESS_SPI=m @@ -7273,6 +7343,7 @@ CONFIG_AS3935=m # # Proximity sensors # +CONFIG_LIDAR_LITE_V2=m CONFIG_SX9500=m # @@ -7280,6 +7351,8 @@ CONFIG_SX9500=m # CONFIG_MLX90614=m CONFIG_TMP006=m +CONFIG_TSYS01=m +CONFIG_TSYS02D=m CONFIG_NTB=m CONFIG_NTB_INTEL=m CONFIG_NTB_PINGPONG=m @@ -7310,6 +7383,7 @@ CONFIG_PWM_LP3943=m CONFIG_PWM_LPSS=m CONFIG_PWM_LPSS_PCI=m CONFIG_PWM_LPSS_PLATFORM=m +CONFIG_PWM_PCA9685=m CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m CONFIG_IPACK_BUS=m @@ -7356,7 +7430,25 @@ CONFIG_ND_BLK=m CONFIG_ND_CLAIM=y CONFIG_ND_BTT=m CONFIG_BTT=y +CONFIG_ND_PFN=m +CONFIG_NVDIMM_PFN=y CONFIG_NVMEM=m +CONFIG_STM=m +CONFIG_STM_DUMMY=m +CONFIG_STM_SOURCE_CONSOLE=m +CONFIG_INTEL_TH=m +CONFIG_INTEL_TH_PCI=m +CONFIG_INTEL_TH_GTH=m +CONFIG_INTEL_TH_STH=m +CONFIG_INTEL_TH_MSU=m +CONFIG_INTEL_TH_PTI=m +# CONFIG_INTEL_TH_DEBUG is not set + +# +# FPGA Configuration Support +# +CONFIG_FPGA=m +CONFIG_FPGA_MGR_ZYNQ_FPGA=m # # Firmware Drivers @@ -7381,6 +7473,7 @@ CONFIG_EFI_ESRT=y CONFIG_EFI_VARS_PSTORE=m # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set CONFIG_EFI_RUNTIME_MAP=y +# CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_UEFI_CPER=y @@ -7548,6 +7641,7 @@ CONFIG_UBIFS_FS=m # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_LOGFS is not set CONFIG_CRAMFS=m CONFIG_SQUASHFS=m @@ -7558,7 +7652,7 @@ CONFIG_SQUASHFS_FILE_DIRECT=y CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SQUASHFS_LZ4 is not set +CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set @@ -7743,6 +7837,7 @@ CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set @@ -7884,6 +7979,7 @@ CONFIG_MMIOTRACE=y # CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y # # Runtime Testing @@ -7900,6 +7996,7 @@ CONFIG_ASYNC_RAID6_TEST=m CONFIG_TEST_HEXDUMP=m CONFIG_TEST_STRING_HELPERS=m CONFIG_TEST_KSTRTOX=m +CONFIG_TEST_PRINTF=m # CONFIG_TEST_RHASHTABLE is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_DMA_API_DEBUG is not set @@ -7925,9 +8022,12 @@ CONFIG_STRICT_DEVMEM=y CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y +# CONFIG_X86_PTDUMP_CORE is not set # CONFIG_X86_PTDUMP is not set +# CONFIG_EFI_PGT_DUMP is not set CONFIG_DEBUG_RODATA=y # CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_WX is not set CONFIG_DEBUG_SET_MODULE_RONX=y # CONFIG_DEBUG_NX_TEST is not set CONFIG_DOUBLEFAULT=y @@ -8081,6 +8181,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_KEYWRAP=m # # Hash modes @@ -8222,6 +8323,7 @@ CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y CONFIG_KVM_VFIO=y CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y CONFIG_KVM_COMPAT=y +CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_INTEL=m diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a79260124c..779b9c85b8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -211,7 +211,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "4.3.3") + (let* ((version "4.4") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -285,7 +285,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1z43kzs1pzwq5mkyh7zk8nq38sxlswp65824v54dzwngyc252a18")))) + "1839xsaifs7vvyblzin8jps0gqi10xmz1l9p4x0j27vmdj39jgpm")))) (build-system gnu-build-system) (supported-systems '("x86_64-linux" "i686-linux")) (native-inputs `(("perl" ,perl) From 9f40b1171bab8bc4be8a0a1f78453ac7e7310fdb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jan 2016 11:34:52 +0100 Subject: [PATCH 107/128] gnu: icedtea-6: Fix directory name in "unpack" phase. * gnu/packages/java.scm (icedtea-6)[arguments]: Change the directory prefix in the "unpack" phase to "icedtea6-". --- gnu/packages/java.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index aaf789d8b9..3a5b1e1a44 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -277,7 +277,7 @@ build process and its dependencies, whereas Make uses Makefile format.") (lambda* (#:key source inputs #:allow-other-keys) (and (zero? (system* "tar" "xvf" source)) (begin - (chdir (string-append ,name "-" ,version)) + (chdir (string-append "icedtea6-" ,version)) (mkdir "openjdk.src") (with-directory-excursion "openjdk.src" (copy-file (assoc-ref inputs "openjdk6-src") From 94c3a6f1a628c71f07ebc78b2eb75afa3c47bfa1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Jan 2016 14:39:15 +0200 Subject: [PATCH 108/128] gnu: global: Update to 6.5.2. * gnu/packages/code.scm (global): Update to 6.5.2. --- gnu/packages/code.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index e8c936849a..e0d4997b31 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -91,14 +92,14 @@ highlighting your own code that seemed comprehensible when you wrote it.") (define-public global ; a global variable (package (name "global") - (version "6.5.1") + (version "6.5.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/global/global-" version ".tar.gz")) (sha256 (base32 - "1y34nbazsw2p6r2jhv27z15qvm9mhy5xjchpz8pwps00shkm578f")))) + "07qx3dbjwkbd1dn42qs7zgj77rxdj2psfrf7bx7yx9al38f87z60")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("libltdl" ,libltdl) From 9d9951d6a6d5b1cce55f52c1600032360fe3a25d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Jan 2016 14:47:10 +0200 Subject: [PATCH 109/128] gnu: global: Use modify-phases syntax. * gnu/packages/code.scm (global)[arguments]: Use modify-phases syntax. --- gnu/packages/code.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index e0d4997b31..754a435347 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -111,18 +111,17 @@ highlighting your own code that seemed comprehensible when you wrote it.") (string-append "--with-sqlite3=" (assoc-ref %build-inputs "sqlite"))) - #:phases (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - ;; Install the Emacs Lisp file in the right place. - (let* ((out (assoc-ref outputs "out")) - (data (string-append out "/share/gtags")) - (lisp (string-append out "/share/emacs/site-lisp"))) - (install-file (string-append data "/gtags.el") - lisp) - (delete-file (string-append data "/gtags.el")) - #t)) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Install the Emacs Lisp file in the right place. + (let* ((out (assoc-ref outputs "out")) + (data (string-append out "/share/gtags")) + (lisp (string-append out "/share/emacs/site-lisp"))) + (install-file (string-append data "/gtags.el") lisp) + (delete-file (string-append data "/gtags.el")) + #t)))))) (home-page "http://www.gnu.org/software/global/") (synopsis "Cross-environment source code tag system") (description From 16aa6491177c1f88ccc20597a9b649ce5eebea67 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 12 Jan 2016 11:21:51 -0500 Subject: [PATCH 110/128] gnu: sudo: Add fix for CVE-2015-5602. * gnu/packages/patches/sudo-CVE-2015-5602.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/admin.scm (sudo)[source]: Add patch. --- gnu-system.am | 1 + gnu/packages/admin.scm | 3 +- gnu/packages/patches/sudo-CVE-2015-5602.patch | 372 ++++++++++++++++++ 3 files changed, 375 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/sudo-CVE-2015-5602.patch diff --git a/gnu-system.am b/gnu-system.am index 7105e13219..45487a466a 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -663,6 +663,7 @@ dist_patch_DATA = \ gnu/packages/patches/slim-config.patch \ gnu/packages/patches/slim-sigusr1.patch \ gnu/packages/patches/soprano-find-clucene.patch \ + gnu/packages/patches/sudo-CVE-2015-5602.patch \ gnu/packages/patches/superlu-dist-scotchmetis.patch \ gnu/packages/patches/synfig-build-fix.patch \ gnu/packages/patches/tar-d_ino_in_dirent-fix.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index fbdc26d9ee..4d6bc70f82 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -700,7 +700,8 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3")))) + "0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3")) + (patches (list (search-patch "sudo-CVE-2015-5602.patch"))))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/patches/sudo-CVE-2015-5602.patch b/gnu/packages/patches/sudo-CVE-2015-5602.patch new file mode 100644 index 0000000000..36c90fbee7 --- /dev/null +++ b/gnu/packages/patches/sudo-CVE-2015-5602.patch @@ -0,0 +1,372 @@ +Based on the patch from https://www.sudo.ws/repos/sudo/raw-rev/c2e36a80a279 +Backported to 1.8.15 by Mark H Weaver + +# HG changeset patch +# User Todd C. Miller +# Date 1452475889 25200 +# Node ID c2e36a80a27927c32cba55afae78b8dc830cddc3 +# Parent 94ffd6b18431fa4b9ed0a0c3f0b7b9582a4f6bde +Rewritten sudoedit_checkdir support that checks all the dirs in the +path and refuses to follow symlinks in writable directories. +This is a better fix for CVE-2015-5602. +Adapted from a diff by Ben Hutchings. Bug #707 + +diff -r 94ffd6b18431 -r c2e36a80a279 doc/CONTRIBUTORS +--- a/doc/CONTRIBUTORS Mon Jan 04 10:47:11 2016 -0700 ++++ b/doc/CONTRIBUTORS Sun Jan 10 18:31:29 2016 -0700 +@@ -58,6 +58,7 @@ + Holloway, Nick + Hoover, Adam + Hunter, Michael T. ++ Hutchings, Ben + Irrgang, Eric + Jackson, Brian + Jackson, John R. +diff -r 94ffd6b18431 -r c2e36a80a279 doc/UPGRADE +--- a/doc/UPGRADE Mon Jan 04 10:47:11 2016 -0700 ++++ b/doc/UPGRADE Sun Jan 10 18:31:29 2016 -0700 +@@ -1,6 +1,15 @@ + Notes on upgrading from an older release + ======================================== + ++o Upgrading from a version prior to the post-1.8.15 fix for CVE-2015-5602. ++ ++ The meaning of the sudoedit_checkdir sudoers option has changed. ++ Previously, it would only check the parent directory ++ of the file to be edited. After the CVE fix, all directories ++ in the path to be edited are checked and sudoedit will refuse ++ to follow a symbolic link in a directory that is writable by ++ the invoking user. ++ + o Upgrading from a version prior to 1.8.15: + + Prior to version 1.8.15, when env_reset was enabled (the default) +diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.cat +--- a/doc/sudoers.cat Mon Jan 04 10:47:11 2016 -0700 ++++ b/doc/sudoers.cat Sun Jan 10 18:31:29 2016 -0700 +@@ -1275,12 +1275,15 @@ + system call. This flag is _o_f_f by default. + + sudoedit_checkdir +- If set, ssuuddooeeddiitt will refuse to edit files located in a +- directory that is writable by the invoking user unless +- it is run by root. On many systems, this option +- requires that the parent directory of the file to be +- edited be readable by the target user. This flag is +- _o_f_f by default. ++ If set, ssuuddooeeddiitt will check directories in the path to ++ be edited for writability by the invoking user. ++ Symbolic links will not be followed in writable ++ directories and ssuuddooeeddiitt will also refuse to edit a ++ file located in a writable directory. Theses ++ restrictions are not enforced when ssuuddooeeddiitt is invoked ++ as root. On many systems, this option requires that ++ all directories in the path to be edited be readable by ++ the target user. This flag is _o_f_f by default. + + sudoedit_follow By default, ssuuddooeeddiitt will not follow symbolic links + when opening files. The _s_u_d_o_e_d_i_t___f_o_l_l_o_w option can be +diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.man.in +--- a/doc/sudoers.man.in Mon Jan 04 10:47:11 2016 -0700 ++++ b/doc/sudoers.man.in Sun Jan 10 18:31:29 2016 -0700 +@@ -2715,10 +2715,16 @@ + .br + If set, + \fBsudoedit\fR +-will refuse to edit files located in a directory that is writable +-by the invoking user unless it is run by root. +-On many systems, this option requires that the parent directory +-of the file to be edited be readable by the target user. ++will check directories in the path to be edited for writability ++by the invoking user. ++Symbolic links will not be followed in writable directories and ++\fBsudoedit\fR ++will also refuse to edit a file located in a writable directory. ++Theses restrictions are not enforced when ++\fBsudoedit\fR ++is invoked as root. ++On many systems, this option requires that all directories ++in the path to be edited be readable by the target user. + This flag is + \fIoff\fR + by default. +diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.mdoc.in +--- a/doc/sudoers.mdoc.in Mon Jan 04 10:47:11 2016 -0700 ++++ b/doc/sudoers.mdoc.in Sun Jan 10 18:31:29 2016 -0700 +@@ -2549,10 +2549,16 @@ + .It sudoedit_checkdir + If set, + .Nm sudoedit +-will refuse to edit files located in a directory that is writable +-by the invoking user unless it is run by root. +-On many systems, this option requires that the parent directory +-of the file to be edited be readable by the target user. ++will check directories in the path to be edited for writability ++by the invoking user. ++Symbolic links will not be followed in writable directories and ++.Nm sudoedit ++will also refuse to edit a file located in a writable directory. ++Theses restrictions are not enforced when ++.Nm sudoedit ++is invoked as root. ++On many systems, this option requires that all directories ++in the path to be edited be readable by the target user. + This flag is + .Em off + by default. +diff -r 94ffd6b18431 -r c2e36a80a279 include/sudo_compat.h +--- a/include/sudo_compat.h Mon Jan 04 10:47:11 2016 -0700 ++++ b/include/sudo_compat.h Sun Jan 10 18:31:29 2016 -0700 +@@ -182,6 +182,8 @@ + # ifndef UTIME_NOW + # define UTIME_NOW -2L + # endif ++#endif ++#if !defined(HAVE_OPENAT) || (!defined(HAVE_FUTIMENS) && !defined(HAVE_UTIMENSAT)) + # ifndef AT_FDCWD + # define AT_FDCWD -100 + # endif +diff -r 94ffd6b18431 -r c2e36a80a279 src/sudo_edit.c +--- a/src/sudo_edit.c Mon Jan 04 10:47:11 2016 -0700 ++++ b/src/sudo_edit.c Sun Jan 10 18:31:29 2016 -0700 +@@ -179,13 +179,15 @@ + } + + #ifndef HAVE_OPENAT +-/* This does not support AT_FDCWD... */ + static int + sudo_openat(int dfd, const char *path, int flags, mode_t mode) + { + int fd, odfd; + debug_decl(sudo_openat, SUDO_DEBUG_EDIT) + ++ if (dfd == AT_FDCWD) ++ debug_return_int(open(path, flags, mode)); ++ + /* Save cwd */ + if ((odfd = open(".", O_RDONLY)) == -1) + debug_return_int(-1); +@@ -207,6 +209,64 @@ + #define openat sudo_openat + #endif /* HAVE_OPENAT */ + ++#ifdef O_NOFOLLOW ++static int ++sudo_edit_openat_nofollow(int dfd, char *path, int oflags, mode_t mode) ++{ ++ debug_decl(sudo_edit_open_nofollow, SUDO_DEBUG_EDIT) ++ ++ debug_return_int(openat(dfd, path, oflags|O_NOFOLLOW, mode)); ++} ++#else ++/* ++ * Returns true if fd and path don't match or path is a symlink. ++ * Used on older systems without O_NOFOLLOW. ++ */ ++static bool ++sudo_edit_is_symlink(int fd, char *path) ++{ ++ struct stat sb1, sb2; ++ debug_decl(sudo_edit_is_symlink, SUDO_DEBUG_EDIT) ++ ++ /* ++ * Treat [fl]stat() failure like there was a symlink. ++ */ ++ if (fstat(fd, &sb1) == -1 || lstat(path, &sb2) == -1) ++ debug_return_bool(true); ++ ++ /* ++ * Make sure we did not open a link and that what we opened ++ * matches what is currently on the file system. ++ */ ++ if (S_ISLNK(sb2.st_mode) || ++ sb1.st_dev != sb2.st_dev || sb1.st_ino != sb2.st_ino) { ++ debug_return_bool(true); ++ } ++ ++ debug_return_bool(false); ++} ++ ++static int ++sudo_edit_openat_nofollow(char *path, int oflags, mode_t mode) ++{ ++ struct stat sb1, sb2; ++ int fd; ++ debug_decl(sudo_edit_openat_nofollow, SUDO_DEBUG_EDIT) ++ ++ fd = openat(dfd, path, oflags, mode); ++ if (fd == -1) ++ debug_return_int(-1); ++ ++ if (sudo_edit_is_symlink(fd, path)) { ++ close(fd); ++ fd = -1; ++ errno = ELOOP; ++ } ++ ++ debug_return_int(fd); ++} ++#endif /* O_NOFOLLOW */ ++ + /* + * Returns true if the directory described by sb is writable + * by the user. We treat directories with the sticky bit as +@@ -245,49 +305,94 @@ + debug_return_bool(false); + } + ++/* ++ * Directory open flags for use with openat(2) and fstat(2). ++ * Use O_PATH and O_DIRECTORY where possible. ++ */ ++#if defined(O_PATH) && defined(O_DIRECTORY) ++# define DIR_OPEN_FLAGS (O_PATH|O_DIRECTORY) ++#elif defined(O_PATH) && !defined(O_DIRECTORY) ++# define DIR_OPEN_FLAGS O_PATH ++#elif !defined(O_PATH) && defined(O_DIRECTORY) ++# define DIR_OPEN_FLAGS (O_RDONLY|O_DIRECTORY) ++#else ++# define DIR_OPEN_FLAGS (O_RDONLY|O_NONBLOCK) ++#endif ++ + static int + sudo_edit_open_nonwritable(char *path, int oflags, mode_t mode) + { +- char *base, *dir; ++ int dfd, fd, dflags = DIR_OPEN_FLAGS; ++#if defined(__linux__) && defined(O_PATH) ++ char *opath = path; ++#endif ++ bool is_writable; + struct stat sb; +- int dfd, fd; + debug_decl(sudo_edit_open_nonwritable, SUDO_DEBUG_EDIT) + +- base = strrchr(path, '/'); +- if (base != NULL) { +- *base++ = '\0'; +- dir = path; ++#if defined(__linux__) && defined(O_PATH) ++restart: ++#endif ++ if (path[0] == '/') { ++ dfd = open("/", dflags); ++ path++; + } else { +- base = path; +- dir = "."; ++ dfd = open(".", dflags); ++ if (path[0] == '.' && path[1] == '/') ++ path += 2; + } +-#ifdef O_PATH +- if ((dfd = open(dir, O_PATH)) != -1) { +- /* Linux kernels < 3.6 can't do fstat on O_PATH fds. */ +- if (fstat(dfd, &sb) == -1) { +- close(dfd); +- dfd = open(dir, O_RDONLY); +- if (fstat(dfd, &sb) == -1) { +- close(dfd); +- dfd = -1; +- } +- } +- } +-#else +- if ((dfd = open(dir, O_RDONLY)) != -1) { +- if (fstat(dfd, &sb) == -1) { +- close(dfd); +- dfd = -1; +- } +- } +-#endif +- if (base != path) +- base[-1] = '/'; /* restore path */ + if (dfd == -1) + debug_return_int(-1); + +- if (dir_is_writable(&sb, user_details.uid, user_details.gid, +- user_details.ngroups, user_details.groups)) { ++ for (;;) { ++ char *slash; ++ int subdfd; ++ ++ /* ++ * Look up one component at a time, avoiding symbolic links in ++ * writable directories. ++ */ ++ if (fstat(dfd, &sb) == -1) { ++ close(dfd); ++#if defined(__linux__) && defined(O_PATH) ++ /* Linux prior to 3.6 can't fstat an O_PATH fd */ ++ if (ISSET(dflags, O_PATH)) { ++ CLR(dflags, O_PATH); ++ path = opath; ++ goto restart; ++ } ++#endif ++ debug_return_int(-1); ++ } ++#ifndef O_DIRECTORY ++ if (!S_ISDIR(sb.st_mode)) { ++ close(dfd); ++ errno = ENOTDIR; ++ debug_return_int(-1); ++ } ++#endif ++ is_writable = dir_is_writable(&sb, user_details.uid, user_details.gid, ++ user_details.ngroups, user_details.groups); ++ ++ while (path[0] == '/') ++ path++; ++ slash = strchr(path, '/'); ++ if (slash == NULL) ++ break; ++ *slash = '\0'; ++ if (is_writable) ++ subdfd = sudo_edit_openat_nofollow(dfd, path, dflags, 0); ++ else ++ subdfd = openat(dfd, path, dflags, 0); ++ *slash = '/'; /* restore path */ ++ close(dfd); ++ if (subdfd == -1) ++ debug_return_int(-1); ++ path = slash + 1; ++ dfd = subdfd; ++ } ++ ++ if (is_writable) { + close(dfd); + errno = EISDIR; + debug_return_int(-1); +@@ -332,27 +437,10 @@ + if (!ISSET(oflags, O_NONBLOCK)) + (void) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) & ~O_NONBLOCK); + +- /* +- * Treat [fl]stat() failure like an open() failure. +- */ +- if (fstat(fd, &sb1) == -1 || lstat(path, &sb2) == -1) { +- const int serrno = errno; ++ if (!ISSET(sflags, CD_SUDOEDIT_FOLLOW) && sudo_edit_is_symlink(fd, path)) { + close(fd); +- errno = serrno; +- debug_return_int(-1); +- } +- +- /* +- * Make sure we did not open a link and that what we opened +- * matches what is currently on the file system. +- */ +- if (!ISSET(sflags, CD_SUDOEDIT_FOLLOW)) { +- if (S_ISLNK(sb2.st_mode) || +- sb1.st_dev != sb2.st_dev || sb1.st_ino != sb2.st_ino) { +- close(fd); +- errno = ELOOP; +- debug_return_int(-1); +- } ++ fd = -1; ++ errno = ELOOP; + } + + debug_return_int(fd); + From d33fa0c71435396280aff94e7608c5c5be0e06a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jan 2016 15:52:56 +0100 Subject: [PATCH 111/128] doc: Show bootstrapping at the package level. * doc/images/bootstrap-packages.dot: New file. * doc.am (DOT_FILES): Add it. * doc/guix.texi (Bootstrapping): Show 'guix graph' commands. Includes 'images/bootstrap-packages' and comment it. --- .gitignore | 3 + doc.am | 1 + doc/guix.texi | 43 ++++++++++-- doc/images/bootstrap-packages.dot | 105 ++++++++++++++++++++++++++++++ 4 files changed, 145 insertions(+), 7 deletions(-) create mode 100644 doc/images/bootstrap-packages.dot diff --git a/.gitignore b/.gitignore index 412d09ca11..098c9bb65c 100644 --- a/.gitignore +++ b/.gitignore @@ -134,3 +134,6 @@ GTAGS /doc/images/service-graph.eps /doc/images/service-graph.pdf /doc/images/dmd-graph.png +/doc/images/bootstrap-packages.png +/doc/images/bootstrap-packages.eps +/doc/images/bootstrap-packages.pdf diff --git a/doc.am b/doc.am index 8a5cfdc089..f15efcc33c 100644 --- a/doc.am +++ b/doc.am @@ -22,6 +22,7 @@ info_TEXINFOS = doc/guix.texi DOT_FILES = \ doc/images/bootstrap-graph.dot \ + doc/images/bootstrap-packages.dot \ doc/images/coreutils-graph.dot \ doc/images/coreutils-bag-graph.dot \ doc/images/service-graph.dot \ diff --git a/doc/guix.texi b/doc/guix.texi index f664ec6770..1081bd1866 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10167,7 +10167,16 @@ re-create them if needed (more on that later). The figure above shows the very beginning of the dependency graph of the distribution, corresponding to the package definitions of the @code{(gnu -packages bootstrap)} module. At this level of detail, things are +packages bootstrap)} module. A similar figure can be generated with +@command{guix graph} (@pxref{Invoking guix graph}), along the lines of: + +@example +guix graph -t derivation \ + -e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \ + | dot -Tps > t.ps +@end example + +At this level of detail, things are slightly complex. First, Guile itself consists of an ELF executable, along with many source and compiled Scheme files that are dynamically loaded when it runs. This gets stored in the @file{guile-2.0.7.tar.xz} @@ -10203,9 +10212,6 @@ etc., at which point we have a working C tool chain. @unnumberedsubsec Building the Build Tools -@c TODO: Add a package-level dependency graph generated from (gnu -@c packages base). - Bootstrapping is complete when we have a full tool chain that does not depend on the pre-built bootstrap tools discussed above. This no-dependency requirement is verified by checking whether the files of @@ -10214,17 +10220,40 @@ directories of the bootstrap inputs. The process that leads to this ``final'' tool chain is described by the package definitions found in the @code{(gnu packages commencement)} module. +The @command{guix graph} command allows us to ``zoom out'' compared to +the graph above, by looking at the level of package objects instead of +individual derivations---remember that a package may translate to +several derivations, typically one derivation to download its source, +one to build the Guile modules it needs, and one to actually build the +package from source. The command: + +@example +guix graph -t bag \ + -e '(@@@@ (gnu packages commencement) + glibc-final-with-bootstrap-bash)' | dot -Tps > t.ps +@end example + +@noindent +produces the dependency graph leading to the ``final'' C +library@footnote{You may notice the @code{glibc-intermediate} label, +suggesting that it is not @emph{quite} final, but as a good +approximation, we will consider it final.}, depicted below. + +@image{images/bootstrap-packages,6in,,Dependency graph of the early packages} + @c See . The first tool that gets built with the bootstrap binaries is -GNU Make, which is a prerequisite for all the following packages. -From there Findutils and Diffutils get built. +GNU@tie{}Make---noted @code{make-boot0} above---which is a prerequisite +for all the following packages. From there Findutils and Diffutils get +built. Then come the first-stage Binutils and GCC, built as pseudo cross tools---i.e., with @code{--target} equal to @code{--host}. They are used to build libc. Thanks to this cross-build trick, this libc is guaranteed not to hold any reference to the initial tool chain. -From there the final Binutils and GCC are built. GCC uses @code{ld} +From there the final Binutils and GCC (not shown above) are built. +GCC uses @code{ld} from the final Binutils, and links programs against the just-built libc. This tool chain is used to build the other packages used by Guix and by the GNU Build System: Guile, Bash, Coreutils, etc. diff --git a/doc/images/bootstrap-packages.dot b/doc/images/bootstrap-packages.dot new file mode 100644 index 0000000000..3d64521edf --- /dev/null +++ b/doc/images/bootstrap-packages.dot @@ -0,0 +1,105 @@ +digraph "Guix bag" { + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" [label = "glibc-intermediate-2.22", shape = box, fontname = Helvetica]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/rkm2xr9581hfvcimz6a8xav2s5vfjciv-glibc-intermediate-2.22.drv" -> "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" [label = "texinfo-6.0", shape = box, fontname = Helvetica]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/r5bbwfhkj6c65mlfki4vgb0xczm3qmlg-texinfo-6.0.drv" -> "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" [color = red]; + "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [label = "make-boot0-4.1", shape = box, fontname = Helvetica]; + "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [label = "glibc-bootstrap-0", shape = box, fontname = Helvetica]; + "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [label = "gcc-bootstrap-0", shape = box, fontname = Helvetica]; + "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [label = "binutils-bootstrap-0", shape = box, fontname = Helvetica]; + "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [label = "bootstrap-binaries-0", shape = box, fontname = Helvetica]; + "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" [label = "diffutils-boot0-3.3", shape = box, fontname = Helvetica]; + "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" [label = "findutils-boot0-4.6.0", shape = box, fontname = Helvetica]; + "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" -> "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" [color = red]; + "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" [label = "file-boot0-5.25", shape = box, fontname = Helvetica]; + "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" [label = "perl-boot0-5.22.0", shape = box, fontname = Helvetica]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" [label = "gcc-cross-boot0-4.9.3", shape = box, fontname = Helvetica]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/fxzy6h3c9ls97lw9wgv9m5w2ga7mw0kk-gcc-cross-boot0-4.9.3.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" [label = "binutils-cross-boot0-2.25.1", shape = box, fontname = Helvetica]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/bhv3jml5s1llmsswnw3wvw57dj44lgjc-binutils-cross-boot0-2.25.1.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" [label = "linux-libre-headers-3.14.37", shape = box, fontname = Helvetica]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/w88h2mp610hy4i8758bhq6nrjlilzsym-perl-boot0-5.22.0.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/yzr9lpl44ixp4k2g7r6sh4fhsx2qx9vd-make-boot0-4.1.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/hwk4rrydk5amqw5xws5p34gi77j0m7m2-diffutils-boot0-3.3.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/xf07iqpsiygw2z8rvwdf19zjdlhrl03q-findutils-boot0-4.6.0.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/b33cj0h9ii7lnk233sy5q4hlz36cx5x3-file-boot0-5.25.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/dmj22s341y334xwwkimrz4d3d0a4mzdp-glibc-bootstrap-0.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/wp4gm50d3jyzxr9pj5b43j05ildh4mfq-gcc-bootstrap-0.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/sd2k1ljlzpkp3n5rk5y3dp2l73h3qkpp-binutils-bootstrap-0.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + "/gnu/store/2m0i57ad07cmgxh3ij89d4lmf7lngpdz-linux-libre-headers-3.14.37.drv" -> "/gnu/store/xyzv7w42bxs5zhs6b5a9s7gbiq571psm-bootstrap-binaries-0.drv" [color = red]; + +} From 27ab3cee754d89135083b778a00675d9a2d00415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jan 2016 16:08:19 +0100 Subject: [PATCH 112/128] build: Warn against long hash bang lines for tests. * m4/guix.m4 (GUIX_TEST_HASH_BANG_LENGTH): New macro. (GUIX_CHECK_FILE_NAME_LIMITS): Use it. Warn against long hash bang lines in tests. --- m4/guix.m4 | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/m4/guix.m4 b/m4/guix.m4 index 1e5985b30b..96319b2c14 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -1,5 +1,5 @@ dnl GNU Guix --- Functional package management for GNU -dnl Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +dnl Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès dnl Copyright © 2014 Mark H Weaver dnl dnl This file is part of GNU Guix. @@ -204,6 +204,14 @@ AC_DEFUN([GUIX_HASH_BANG_LENGTH], [ [ac_cv_guix_hash_bang_length=`echo -n "$storedir/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bootstrap-binaries-0/bin/bash" | wc -c`]) ]) +dnl GUIX_TEST_HASH_BANG_LENGTH +AC_DEFUN([GUIX_TEST_HASH_BANG_LENGTH], [ + AC_REQUIRE([GUIX_TEST_ROOT_DIRECTORY]) + AC_CACHE_CHECK([the length of a hash bang line used in tests], + [ac_cv_guix_test_hash_bang_length], + [ac_cv_guix_test_hash_bang_length=`echo -n "$ac_cv_guix_test_root/store/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bootstrap-binaries-0/bin/bash" | wc -c`]) +]) + dnl GUIX_CHECK_FILE_NAME_LIMITS dnl dnl GNU/Linux has a couple of silly limits that we can easily run into. @@ -212,6 +220,7 @@ AC_DEFUN([GUIX_CHECK_FILE_NAME_LIMITS], [ AC_REQUIRE([GUIX_SOCKET_FILE_NAME_LENGTH]) AC_REQUIRE([GUIX_TEST_SOCKET_FILE_NAME_LENGTH]) AC_REQUIRE([GUIX_HASH_BANG_LENGTH]) + AC_REQUIRE([GUIX_TEST_HASH_BANG_LENGTH]) if test "$ac_cv_guix_socket_file_name_length" -ge ]SOCKET_FILE_NAME_LIMIT[; then AC_MSG_ERROR([socket file name would exceed the maxium allowed length]) @@ -222,6 +231,9 @@ AC_DEFUN([GUIX_CHECK_FILE_NAME_LIMITS], [ if test "$ac_cv_guix_hash_bang_length" -ge ]LINUX_HASH_BANG_LIMIT[; then AC_MSG_ERROR([store directory '$storedir' would lead to overly long hash-bang lines]) fi + if test "$ac_cv_guix_test_hash_bang_length" -ge ]LINUX_HASH_BANG_LIMIT[; then + AC_MSG_WARN([test directory '$ac_cv_guix_test_root' may lead to overly long hash-bang lines]) + fi ]) dnl GUIX_CHECK_CXX11 From bb251307642242bb9174e9c4d89909ca40926d67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jan 2016 16:37:45 +0100 Subject: [PATCH 113/128] build: 'make check' errors out if file name limits would be hit. * Makefile.am (SCM_TESTS, SH_TESTS, TESTS, AM_TESTS_ENVIRONMENT) (SCM_LOG_COMPILER, SH_LOG_COMPILER, AM_SCM_LOG_FLAGS) (AM_SH_LOG_FLAGS): Move within 'if CAN_RUN_TESTS'. (check-local) [!CAN_RUN_TESTS]: New target. * daemon.am (AM_TESTS_ENVIRONMENT, TESTS): Ditto. * m4/guix.m4 (GUIX_CHECK_FILE_NAME_LIMITS): Add parameter and set it. --- Makefile.am | 45 ++++++++++++++++++++++++++++++++++----------- configure.ac | 3 ++- daemon.am | 6 +++++- m4/guix.m4 | 7 ++++++- 4 files changed, 47 insertions(+), 14 deletions(-) diff --git a/Makefile.am b/Makefile.am index 760caed859..6e9deeb3d8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès # Copyright © 2013 Andreas Enge # Copyright © 2015 Alex Kost # @@ -135,6 +135,18 @@ MODULES = \ guix.scm \ $(GNU_SYSTEM_MODULES) +if HAVE_GUILE_JSON + +MODULES += \ + guix/import/json.scm \ + guix/import/pypi.scm \ + guix/scripts/import/pypi.scm \ + guix/import/cpan.scm \ + guix/scripts/import/gem.scm \ + guix/import/gem.scm + +endif + if BUILD_SYSCALLS_MODULE MODULES += \ @@ -191,6 +203,11 @@ clean-go: -$(RM) -f $(GOBJECTS) +# Test extensions; has to be unconditional. +TEST_EXTENSIONS = .scm .sh + +if CAN_RUN_TESTS + SCM_TESTS = \ tests/base32.scm \ tests/base64.scm \ @@ -233,14 +250,6 @@ SCM_TESTS = \ if HAVE_GUILE_JSON -MODULES += \ - guix/import/json.scm \ - guix/import/pypi.scm \ - guix/scripts/import/pypi.scm \ - guix/import/cpan.scm \ - guix/scripts/import/gem.scm \ - guix/import/gem.scm - SCM_TESTS += \ tests/pypi.scm \ tests/cpan.scm \ @@ -272,8 +281,6 @@ endif BUILD_DAEMON TESTS = $(SCM_TESTS) $(SH_TESTS) -TEST_EXTENSIONS = .scm .sh - AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)" SCM_LOG_COMPILER = $(top_builddir)/test-env $(GUILE) @@ -289,6 +296,22 @@ tests/guix-gc.log: \ $(patsubst %.sh,%.log,$(filter-out tests/guix-gc.sh,$(SH_TESTS))) \ $(SCM_TESTS:%.scm=%.log) +else !CAN_RUN_TESTS + +TESTS = +SH_TESTS = +SCM_TESTS = + +# Automake always generates a 'check' target, so better not override it. +check-local: + @echo + @echo "Cannot run tests because file name limits would be exceeded." >&2 + @echo "Look for 'length' in the 'config.log' file for details." >&2 + @echo + @exit 1 + +endif !CAN_RUN_TESTS + # Public key used to sign substitutes from hydra.gnu.org. dist_pkgdata_DATA = hydra.gnu.org.pub diff --git a/configure.ac b/configure.ac index 0d06592b53..f61c04cac8 100644 --- a/configure.ac +++ b/configure.ac @@ -60,7 +60,8 @@ AC_SUBST([guix_localstatedir]) AC_SUBST([guix_sysconfdir]) AC_SUBST([guix_sbindir]) -GUIX_CHECK_FILE_NAME_LIMITS +GUIX_CHECK_FILE_NAME_LIMITS([can_run_tests]) +AM_CONDITIONAL([CAN_RUN_TESTS], [test "x$can_run_tests" = "xyes"]) dnl We require pkg.m4 (from pkg-config) and guile.m4 (from Guile.) dnl Make sure they are available. diff --git a/daemon.am b/daemon.am index 324164359c..ba4be50068 100644 --- a/daemon.am +++ b/daemon.am @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès # # This file is part of GNU Guix. # @@ -208,12 +208,16 @@ EXTRA_DIST += \ etc/guix-daemon.service.in \ etc/guix-daemon.conf.in +if CAN_RUN_TESTS + AM_TESTS_ENVIRONMENT += \ top_builddir="$(abs_top_builddir)" TESTS += \ tests/guix-daemon.sh +endif CAN_RUN_TESTS + clean-local: -if test -d "$(GUIX_TEST_ROOT)"; then \ find "$(GUIX_TEST_ROOT)" | xargs chmod +w; \ diff --git a/m4/guix.m4 b/m4/guix.m4 index 96319b2c14..563ce51699 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -215,7 +215,8 @@ AC_DEFUN([GUIX_TEST_HASH_BANG_LENGTH], [ dnl GUIX_CHECK_FILE_NAME_LIMITS dnl dnl GNU/Linux has a couple of silly limits that we can easily run into. -dnl Make sure everything is fine with the current settings. +dnl Make sure everything is fine with the current settings. Set $1 to +dnl 'yes' if tests can run, 'no' otherwise. AC_DEFUN([GUIX_CHECK_FILE_NAME_LIMITS], [ AC_REQUIRE([GUIX_SOCKET_FILE_NAME_LENGTH]) AC_REQUIRE([GUIX_TEST_SOCKET_FILE_NAME_LENGTH]) @@ -228,10 +229,14 @@ AC_DEFUN([GUIX_CHECK_FILE_NAME_LIMITS], [ if test "$ac_cv_guix_test_socket_file_name_length" -ge ]SOCKET_FILE_NAME_LIMIT[; then AC_MSG_WARN([socket file name limit may be exceeded when running tests]) fi + + $1=yes if test "$ac_cv_guix_hash_bang_length" -ge ]LINUX_HASH_BANG_LIMIT[; then + $1=no AC_MSG_ERROR([store directory '$storedir' would lead to overly long hash-bang lines]) fi if test "$ac_cv_guix_test_hash_bang_length" -ge ]LINUX_HASH_BANG_LIMIT[; then + $1=no AC_MSG_WARN([test directory '$ac_cv_guix_test_root' may lead to overly long hash-bang lines]) fi ]) From 3abe8136fddf5bed75219bcb8a552004f078560a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 15 Dec 2015 11:01:03 -0600 Subject: [PATCH 114/128] gnu: boost: Use modify-phases. * gnu/packages/boost.scm (boost)[arguments]: Use modify-phases. --- gnu/packages/boost.scm | 47 +++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index d3b171245d..d3d0c0339a 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -67,34 +67,33 @@ '())))) `(#:tests? #f #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* '("libs/config/configure" - "libs/spirit/classic/phoenix/test/runtest.sh" - "tools/build/doc/bjam.qbk" - "tools/build/src/engine/execunix.c" - "tools/build/src/engine/Jambase" - "tools/build/src/engine/jambase.c") - (("/bin/sh") (which "sh"))) + (modify-phases %standard-phases + (replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* '("libs/config/configure" + "libs/spirit/classic/phoenix/test/runtest.sh" + "tools/build/doc/bjam.qbk" + "tools/build/src/engine/execunix.c" + "tools/build/src/engine/Jambase" + "tools/build/src/engine/jambase.c") + (("/bin/sh") (which "sh"))) - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) - (zero? (system* "./bootstrap.sh" - (string-append "--prefix=" out) - "--with-toolset=gcc")))) - (alist-replace - 'build - (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "./b2" ,@build-flags))) - - (alist-replace + (zero? (system* "./bootstrap.sh" + (string-append "--prefix=" out) + "--with-toolset=gcc"))))) + (replace + 'build + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "./b2" ,@build-flags)))) + (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "./b2" "install" ,@build-flags))) - %standard-phases)))))) + (zero? (system* "./b2" "install" ,@build-flags)))))))) (home-page "http://boost.org") (synopsis "Peer-reviewed portable C++ source libraries") From c91d3fb7f4f754b56b540d8556d6a3ce6085ef37 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 5 Jan 2016 16:09:27 -0600 Subject: [PATCH 115/128] gnu: boost: Update to 1.60.0. * gnu/packages/boost.scm (boost): Update to 1.60.0. [source]: Remove patch. * gnu/packages/patches/boost-mips-avoid-m32.patch: Delete patch * gnu-system.am (dist_patch_DATA): Remove patch. Also fix dependent packages: * gnu/packages/patches/csound-header-ordering.patch: New patch. * gnu/packages/audio.scm (csound)[source]: Use it. [arguments]: Add 'set-flags phase. * gnu/packages/patches/libcmis-fix-test-onedrive.patch: New patch. * gnu/packages/libreoffice.scm (libcmis)[source]: Use it. (libreoffice)[arguments]: Add LDFLAGS to #:configure-flags. (librevenge)[inputs]: Move boost from here... [propogated-inputs]: to here. [arguments]: Add LDFLAGS to #:configure-flags. * gnu/packages/patches/openimageio-boost-1.60.patch: New patch. * gnu/packages/graphics.scm (openimageio): Use it. * gnu-system.am (dist_patch_DATA): Add patches. --- gnu-system.am | 4 +- gnu/packages/audio.scm | 14 +++++- gnu/packages/boost.scm | 9 ++-- gnu/packages/graphics.scm | 3 +- gnu/packages/libreoffice.scm | 15 ++++-- .../patches/boost-mips-avoid-m32.patch | 15 ------ .../patches/csound-header-ordering.patch | 20 ++++++++ .../patches/libcmis-fix-test-onedrive.patch | 35 ++++++++++++++ .../patches/openimageio-boost-1.60.patch | 47 +++++++++++++++++++ 9 files changed, 135 insertions(+), 27 deletions(-) delete mode 100644 gnu/packages/patches/boost-mips-avoid-m32.patch create mode 100644 gnu/packages/patches/csound-header-ordering.patch create mode 100644 gnu/packages/patches/libcmis-fix-test-onedrive.patch create mode 100644 gnu/packages/patches/openimageio-boost-1.60.patch diff --git a/gnu-system.am b/gnu-system.am index 45487a466a..fa2f038402 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -421,7 +421,6 @@ dist_patch_DATA = \ gnu/packages/patches/binutils-ld-new-dtags.patch \ gnu/packages/patches/binutils-loongson-workaround.patch \ gnu/packages/patches/bitlbee-configure-doc-fix.patch \ - gnu/packages/patches/boost-mips-avoid-m32.patch \ gnu/packages/patches/byobu-writable-status.patch \ gnu/packages/patches/calibre-drop-unrar.patch \ gnu/packages/patches/calibre-no-updates-dialog.patch \ @@ -434,6 +433,7 @@ dist_patch_DATA = \ gnu/packages/patches/cpufrequtils-fix-aclocal.patch \ gnu/packages/patches/crda-optional-gcrypt.patch \ gnu/packages/patches/crossmap-allow-system-pysam.patch \ + gnu/packages/patches/csound-header-ordering.patch \ gnu/packages/patches/cssc-gets-undeclared.patch \ gnu/packages/patches/cssc-missing-include.patch \ gnu/packages/patches/clucene-contribs-lib.patch \ @@ -533,6 +533,7 @@ dist_patch_DATA = \ gnu/packages/patches/libarchive-mtree-filename-length-fix.patch \ gnu/packages/patches/libbonobo-activation-test-race.patch \ gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch \ + gnu/packages/patches/libcmis-fix-test-onedrive.patch \ gnu/packages/patches/libdrm-symbol-check.patch \ gnu/packages/patches/libevent-dns-tests.patch \ gnu/packages/patches/libmtp-devices.patch \ @@ -604,6 +605,7 @@ dist_patch_DATA = \ gnu/packages/patches/nvi-dbpagesize-binpower.patch \ gnu/packages/patches/nvi-db4.patch \ gnu/packages/patches/openexr-missing-samples.patch \ + gnu/packages/patches/openimageio-boost-1.60.patch \ gnu/packages/patches/openjpeg-CVE-2015-6581.patch \ gnu/packages/patches/openjpeg-use-after-free-fix.patch \ gnu/packages/patches/openssl-runpath.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index ebae5d57d9..3cc5cebc2c 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -320,7 +320,8 @@ tools (analyzer, mono/stereo tools, crossovers).") version "/Csound" version ".tar.gz")) (sha256 (base32 - "0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd")))) + "0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd")) + (patches (list (search-patch "csound-header-ordering.patch"))))) (build-system cmake-build-system) (arguments ;; Work around this error on x86_64 with libc 2.22+: @@ -1081,7 +1082,16 @@ software.") #:configure-flags (list (string-append "--boost-includes=" (assoc-ref %build-inputs "boost") - "/include")))) + "/include")) + #:phases (modify-phases %standard-phases + (add-before + 'configure 'set-flags + (lambda* (#:key inputs #:allow-other-keys) + ;; See e.g. https://github.com/lvtk/lvtk/issues/21 + (setenv "LDFLAGS" + (string-append + "-L" (assoc-ref inputs "boost") "/lib " + "-lboost_system"))))))) (inputs `(("boost" ,boost) ("lv2" ,lv2))) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index d3d0c0339a..0a644e8940 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Andreas Enge +;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. @@ -33,7 +34,7 @@ (define-public boost (package (name "boost") - (version "1.58.0") + (version "1.60.0") (source (origin (method url-fetch) (uri (string-append @@ -42,8 +43,7 @@ ".tar.bz2")) (sha256 (base32 - "1rfkqxns60171q62cppiyzj8pmsbwp1l8jd7p6crriryqd7j1z7x")) - (patches (list (search-patch "boost-mips-avoid-m32.patch"))))) + "0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) (native-inputs @@ -63,7 +63,8 @@ ;; so we disable that too. ,@(if (string-prefix? "mips64" (or (%current-target-system) (%current-system))) - '("--without-context" "--without-coroutine") + '("--without-context" + "--without-coroutine" "--without-coroutine2") '())))) `(#:tests? #f #:phases diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 4e15b814c8..560febe958 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -143,7 +143,8 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0mn7cz19mn8dcrhkq15h25gl20ammr1wz0j2j3c2vxs6ph7zn8jy")))) + "0mn7cz19mn8dcrhkq15h25gl20ammr1wz0j2j3c2vxs6ph7zn8jy")) + (patches (list (search-patch "openimageio-boost-1.60.patch"))))) (build-system cmake-build-system) ;; FIXME: To run all tests successfully, test image sets from multiple ;; third party sources have to be present. For details see diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 7496a6c8b9..a82cde7d0a 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -25,6 +25,7 @@ non-copyleft x11-style)) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) @@ -130,15 +131,18 @@ CSV, CSS and XML.") "03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn")))) (build-system gnu-build-system) (native-inputs - `(("boost" ,boost) - ("cppunit" ,cppunit) + `(("cppunit" ,cppunit) ("doxygen" ,doxygen) ("pkg-config" ,pkg-config))) (inputs `(("zlib" ,zlib))) + (propagated-inputs ; Referenced by .la files + `(("boost" ,boost))) (arguments ;; avoid triggering configure errors by simple inclusion of boost headers - `(#:configure-flags '("--disable-werror"))) + `(#:configure-flags '("--disable-werror" + ;; Avoid undefined library references + "LDFLAGS=-lboost_system"))) (home-page "http://sourceforge.net/p/libwpd/wiki/librevenge/") (synopsis "Document importer for office suites") (description "Librevenge is a base library for writing document import @@ -244,7 +248,8 @@ working with graphics in the WPG (WordPerfect Graphics) format.") (uri (string-append "mirror://sourceforge/" name "/" name "-" version ".tar.gz")) (sha256 (base32 - "1dprvk4fibylv24l7gr49gfqbkfgmxynvgssvdcycgpf7n8h4zm8")))) + "1dprvk4fibylv24l7gr49gfqbkfgmxynvgssvdcycgpf7n8h4zm8")) + (patches (list (search-patch "libcmis-fix-test-onedrive.patch"))))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) @@ -805,6 +810,8 @@ and to return information on pronunciations, meanings and synonyms.") "--with-system-libs" ; enable all --with-system-* flags (string-append "--with-boost-libdir=" (assoc-ref %build-inputs "boost") "/lib") + ;; Avoid undefined symbols required by boost::spirit + "LDFLAGS=-lboost_system" ;; Avoid a dependency on ucpp. "--with-idlc-cpp=cpp" ;; The fonts require an external tarball (crosextrafonts). diff --git a/gnu/packages/patches/boost-mips-avoid-m32.patch b/gnu/packages/patches/boost-mips-avoid-m32.patch deleted file mode 100644 index 811c9fb3aa..0000000000 --- a/gnu/packages/patches/boost-mips-avoid-m32.patch +++ /dev/null @@ -1,15 +0,0 @@ -The following patch prevents the use of the -m32 flag on mips, where it -is not understood by gcc, as well as other non-x86 architectures. - -diff -u -r boost_1_58_0.orig/tools/build/src/tools/gcc.jam boost_1_58_0/tools/build/src/tools/gcc.jam ---- boost_1_58_0.orig/tools/build/src/tools/gcc.jam 2015-04-04 19:25:07.000000000 +0200 -+++ boost_1_58_0/tools/build/src/tools/gcc.jam 2015-07-10 01:08:19.822733823 +0200 -@@ -451,7 +451,7 @@ - else - { - local arch = [ feature.get-values architecture : $(properties) ] ; -- if $(arch) != arm -+ if $(arch) = x86 - { - if $(model) = 32 - { diff --git a/gnu/packages/patches/csound-header-ordering.patch b/gnu/packages/patches/csound-header-ordering.patch new file mode 100644 index 0000000000..3640d123dd --- /dev/null +++ b/gnu/packages/patches/csound-header-ordering.patch @@ -0,0 +1,20 @@ +Prevent compilation issues with boost-1.60.0. + +Reported upstream at https://github.com/csound/csound/issues/570 + +--- Csound6.05/Opcodes/chua/ChuaOscillator.cpp 2015-04-25 14:06:22.995646234 -0500 ++++ Csound6.05/Opcodes/chua/ChuaOscillator.cpp 2015-12-21 10:31:58.182362640 -0600 +@@ -117,11 +117,12 @@ + // d = sys_variables(12); + // gnor = a*(x.^3) + b*(x.^2) + c*x + d; + +-#include + #include + using namespace boost::numeric; + #include + ++#include ++ + #undef CS_KSMPS + #define CS_KSMPS (opds.insdshead->ksmps) + diff --git a/gnu/packages/patches/libcmis-fix-test-onedrive.patch b/gnu/packages/patches/libcmis-fix-test-onedrive.patch new file mode 100644 index 0000000000..adf2e0b8e5 --- /dev/null +++ b/gnu/packages/patches/libcmis-fix-test-onedrive.patch @@ -0,0 +1,35 @@ +Patch from resolution of http://sourceforge.net/p/libcmis/tickets/13/ + +From 814c7845d53688b35a747cf193c2ff99e40a8652 Mon Sep 17 00:00:00 2001 +From: Jonathan Wakely +Date: Wed, 2 Sep 2015 16:35:45 +0100 +Subject: [PATCH 5/5] Remove invalid comments from test JSON file. + +--- + qa/libcmis/data/onedrive/search-result.json | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qa/libcmis/data/onedrive/search-result.json b/qa/libcmis/data/onedrive/search-result.json +index 61d250a..2482429 100644 +--- a/qa/libcmis/data/onedrive/search-result.json ++++ b/qa/libcmis/data/onedrive/search-result.json +@@ -8,7 +8,7 @@ + }, + "name":"OneDriveFile", + "description":"", +- "parent_id":"folderA", // path: /A/Wrong File ++ "parent_id":"folderA", + "size":18047, + "upload_location":"https://apis.live.net/v5.0/wrongFileId/content/", + "comments_count":0, +@@ -32,7 +32,7 @@ + }, + "name":"OneDriveFile", + "description":"", +- "parent_id":"folderC", // path: /A/B/C/Right File ++ "parent_id":"folderC", + "size":4, + "upload_location":"https://apis.live.net/v5.0/rightFileId/content/", + "comments_count":0, +-- +2.4.3 \ No newline at end of file diff --git a/gnu/packages/patches/openimageio-boost-1.60.patch b/gnu/packages/patches/openimageio-boost-1.60.patch new file mode 100644 index 0000000000..92fc3237bb --- /dev/null +++ b/gnu/packages/patches/openimageio-boost-1.60.patch @@ -0,0 +1,47 @@ +From 875fbbd92695397bfc83d1cd5fdd4094e1d50199 Mon Sep 17 00:00:00 2001 +From: Larry Gritz +Date: Mon, 28 Dec 2015 11:46:07 -0800 +Subject: [PATCH] Python ImageCache binding fixes -- disable broken calls + +Some of these calls (thankfully undocumented and presumably unused) +are horribly broken. They compiled before, but with new Boost 1.60 +they don't even compile properly. So just comment them out on this +obsolete branch. They are fully fixed in RB-1.6 and beyond. + +--- a/src/python/py_imagecache.cpp ++++ b/src/python/py_imagecache.cpp +@@ -199,23 +199,24 @@ void declare_imagecache() + .def("destroy", &ImageCacheWrap::destroy) + .staticmethod("destroy") + .def("clear", &ImageCacheWrap::clear) +- .def("attribute", &ImageCacheWrap::attribute) ++ // .def("attribute", &ImageCacheWrap::attribute) + .def("attribute", &ImageCacheWrap::attribute_int) + .def("attribute", &ImageCacheWrap::attribute_float) +- .def("attribute", &ImageCacheWrap::attribute_double) +- .def("attribute", &ImageCacheWrap::attribute_char) ++ // .def("attribute", &ImageCacheWrap::attribute_double) ++ // .def("attribute", &ImageCacheWrap::attribute_char) + .def("attribute", &ImageCacheWrap::attribute_string) +- .def("getattribute", &ImageCacheWrap::attribute) ++ // .def("getattribute", &ImageCacheWrap::attribute) + .def("getattribute", &ImageCacheWrap::getattribute_int) + .def("getattribute", &ImageCacheWrap::getattribute_float) +- .def("getattribute", &ImageCacheWrap::getattribute_double) +- .def("getattribute", &ImageCacheWrap::getattribute_char) ++ // .def("getattribute", &ImageCacheWrap::getattribute_double) ++ // .def("getattribute", &ImageCacheWrap::getattribute_char) + .def("getattribute", &ImageCacheWrap::getattribute_string) +- .def("resolve_filename", &ImageCacheWrap::resolve_filename) +- .def("get_image_info", &ImageCacheWrap::get_image_info) +- .def("get_image_info", &ImageCacheWrap::get_image_info_old) ++ // .def("get_image_info", &ImageCacheWrap::get_image_info) ++ // .def("get_image_info", &ImageCacheWrap::get_image_info_old) + .def("get_imagespec", &ImageCacheWrap::get_imagespec) +- .def("get_pixels", &ImageCacheWrap::get_pixels) ++ // .def("get_pixels", &ImageCacheWrap::get_pixels) ++ .def("resolve_filename", &ImageCacheWrap::resolve_filename) ++ + // .def("get_tile", &ImageCacheWrap::get_tile) + // .def("release_tile", &ImageCacheWrap::release_tile) + // .def("tile_pixels", &ImageCacheWrap::tile_pixels) From 0917e80ea8fb86abd940d022bf7f51f24fd24283 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 12 Jan 2016 17:53:11 -0500 Subject: [PATCH 116/128] doc: Fix typo in "Build Systems". * doc/guix.texi (Build Systems): Remove extra 's'. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1081bd1866..e583e8c389 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2556,7 +2556,7 @@ by the @code{#:configure-flags} argument. @item build Run @code{make} with the list of flags specified with -@code{#:make-flags}. If the @code{#:parallel-builds?} argument is true +@code{#:make-flags}. If the @code{#:parallel-build?} argument is true (the default), build with @code{make -j}. @item check From 98f2339189a7e67f3e63e9bd44ab5a754d5e3290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jan 2016 10:56:25 +0100 Subject: [PATCH 117/128] gnu: skribilo: Update to 0.9.3. * gnu/packages/skribilo.scm (skribilo): Update to 0.9.3. [native-inputs]: New field. --- gnu/packages/skribilo.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm index a1b3fe7c53..52ed1c34e3 100644 --- a/gnu/packages/skribilo.scm +++ b/gnu/packages/skribilo.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +23,7 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages guile) #:use-module (gnu packages lout) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages plotutils) #:use-module (gnu packages imagemagick) #:use-module (gnu packages ghostscript)) @@ -30,14 +31,14 @@ (define-public skribilo (package (name "skribilo") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/skribilo/skribilo-" version ".tar.gz")) (sha256 (base32 - "0wwi996403wzcp8s8iyc2p6w7f9v39lwmy35ysdd3wc31i5dy19q")))) + "04d8xa76jvlz25jnc6p1gzsplwcwcqrmi3f7ixdhddhl1chyz66y")))) (build-system gnu-build-system) (arguments ;; Make the modules available under the usual location. @@ -62,6 +63,8 @@ #:parallel-build? #f)) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("guile" ,guile-2.0) ("imagemagick" ,imagemagick) ("ghostscript" ,ghostscript) ; for 'convert' From 93ce8a8e0060dedbe97581c1a6e365336d5b4969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jan 2016 11:04:29 +0100 Subject: [PATCH 118/128] build: Use 127 as the Linux hash-bang limit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer). * m4/guix.m4 (LINUX_HASH_BANG_LIMIT): Set to 127. --- m4/guix.m4 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/m4/guix.m4 b/m4/guix.m4 index 563ce51699..acfc33e170 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -175,9 +175,9 @@ AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [ [ac_cv_guix_test_root="`pwd`/test-tmp"]) ]) -dnl 'BINPRM_BUF_SIZE' constant in Linux. The Hurd has a limit -dnl of about a page (see exec/hashexec.c.) -m4_define([LINUX_HASH_BANG_LIMIT], 128) +dnl 'BINPRM_BUF_SIZE' constant in Linux (we leave room for the trailing zero.) +dnl The Hurd has a limit of about a page (see exec/hashexec.c.) +m4_define([LINUX_HASH_BANG_LIMIT], 127) dnl Hardcoded 'sun_path' length in . m4_define([SOCKET_FILE_NAME_LIMIT], 108) From c44734115a8560e3624101a260d79e6081a31f60 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 13 Jan 2016 15:09:00 +0100 Subject: [PATCH 119/128] gnu: samtools: Update to 1.3. * gnu/packages/bioinformatics.scm (samtools): Update to 1.3. [arguments]: Enable tests for all architectures; set ncurses in configure-flags instead of make-flags; simplify "patch-tests" phase; restore "configure" phase. --- gnu/packages/bioinformatics.scm | 39 ++++++++++----------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 82506c1c3a..c6531d669f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2388,7 +2388,7 @@ distribution, coverage uniformity, strand specificity, etc.") (define-public samtools (package (name "samtools") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) @@ -2397,38 +2397,23 @@ distribution, coverage uniformity, strand specificity, etc.") version "/samtools-" version ".tar.bz2")) (sha256 (base32 - "1akdqb685pk9xk1nb6sa9aq8xssjjhvvc06kp4cpdqvz2157l3j2")))) + "03mnf0mhbfwhqlqfslrhfnw68s3g0fs1as354i9a584mqw1l1smy")))) (build-system gnu-build-system) (arguments - `(;; There are 87 test failures when building on non-64-bit architectures - ;; due to invalid test data. This has since been fixed upstream (see - ;; ), but as there has - ;; not been a new release we disable the tests for all non-64-bit - ;; systems. - #:tests? ,(string=? (or (%current-system) (%current-target-system)) - "x86_64-linux") - #:modules ((ice-9 ftw) + `(#:modules ((ice-9 ftw) (ice-9 regex) (guix build gnu-build-system) (guix build utils)) - #:make-flags (list "LIBCURSES=-lncurses" - (string-append "prefix=" (assoc-ref %outputs "out"))) + #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) + #:configure-flags (list "--with-ncurses") #:phases (alist-cons-after - 'unpack - 'patch-tests - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (substitute* "test/test.pl" - ;; The test script calls out to /bin/bash - (("/bin/bash") - (string-append bash "/bin/bash")) - ;; There are two failing tests upstream relating to the "stats" - ;; subcommand in test_usage_subcommand ("did not have Usage" - ;; and "usage did not mention samtools stats"), so we disable - ;; them. - (("(test_usage_subcommand\\(.*\\);)" cmd) - (string-append "unless ($subcommand eq 'stats') {" cmd "};"))))) + 'unpack 'patch-tests + (lambda _ + (substitute* "test/test.pl" + ;; The test script calls out to /bin/bash + (("/bin/bash") (which "bash"))) + #t) (alist-cons-after 'install 'install-library (lambda* (#:key outputs #:allow-other-keys) @@ -2443,7 +2428,7 @@ distribution, coverage uniformity, strand specificity, etc.") (install-file file include)) (scandir "." (lambda (name) (string-match "\\.h$" name)))) #t)) - (alist-delete 'configure %standard-phases)))))) + %standard-phases))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("ncurses" ,ncurses) ("perl" ,perl) From 75418ae0fd1e384f41616d4c433f9f06a5956e46 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 13 Jan 2016 09:32:31 -0500 Subject: [PATCH 120/128] gnu: isc-dhcp: Update to 4.3.3-P1 [fixes CVE-2015-8605]. * gnu/packages/admin.scm (isc-dhcp): Update to 4.3.3-P1. --- gnu/packages/admin.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 4d6bc70f82..6e3024dffd 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt -;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2014, 2015 Eric Bavier ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Alex Sassmannshausen @@ -402,14 +402,14 @@ connection alive.") bind-release-version))) (package (name "isc-dhcp") - (version "4.3.3") + (version "4.3.3-P1") (source (origin (method url-fetch) (uri (string-append "http://ftp.isc.org/isc/dhcp/" version "/dhcp-" version ".tar.gz")) (sha256 (base32 - "1pjy4lylx7dww1fp2mk5ikya5vxaf97z70279j81n74vn12ljg2m")))) + "08crcsmg4dm2v533aq3883ik8mf4vvvd6r998r4vrgx1zxnqj7n1")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f From 883fc5ed422cdfb32e63c963882755240c32b8f2 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 12 Jan 2016 17:37:44 +0300 Subject: [PATCH 121/128] emacs: Add missing shell completions. * emacs/guix-pcomplete.el (guix-pcomplete-complete-option-arg): Complete file name for '--install-from-file' option of 'guix package' command, and for '--file' and '--with-source' options of 'guix build' command. --- emacs/guix-pcomplete.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/emacs/guix-pcomplete.el b/emacs/guix-pcomplete.el index 85b267a78d..785e54ef6d 100644 --- a/emacs/guix-pcomplete.el +++ b/emacs/guix-pcomplete.el @@ -262,7 +262,8 @@ INPUT is the current partially completed string." (complete (guix-pcomplete-all-packages))) ((option? "-p" "--profile") (complete* (pcomplete-dirs))) - ((option? "-m" "--manifest") + ((or (option? "-f" "--install-from-file") + (option? "-m" "--manifest")) (complete* (pcomplete-entries))))) ((and (command? "archive" "build" "size") @@ -270,7 +271,9 @@ INPUT is the current partially completed string." (complete* guix-help-system-types)) ((and (command? "build") - (option? "-r" "--root")) + (or (option? "-f" "--file") + (option? "-r" "--root") + (string= "--with-source" option))) (complete* (pcomplete-entries))) ((and (command? "graph") From 08207339aadd45630179f18fa45da1726f476ed9 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 12 Jan 2016 17:42:19 +0300 Subject: [PATCH 122/128] emacs: Complete --file in 'guix build' popup. * emacs/guix-command.el (guix-command-improve-build-argument): Use 'guix-read-file-name' to complete --file option. --- emacs/guix-command.el | 1 + 1 file changed, 1 insertion(+) diff --git a/emacs/guix-command.el b/emacs/guix-command.el index 9cb7032abc..cf72b0ea15 100644 --- a/emacs/guix-command.el +++ b/emacs/guix-command.el @@ -192,6 +192,7 @@ to be modified." (guix-command-define-argument-improver guix-command-improve-build-argument '(("--no-grafts" :char ?g) + ("--file" :fun guix-read-file-name) ("--root" :fun guix-read-file-name) ("--sources" :char ?S :fun guix-read-source-type :switch? nil) ("--with-source" :fun guix-read-file-name))) From e4e2154644ecf76ea02a50304c1405c00c9ffdd1 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 2 Jan 2016 16:52:39 +0300 Subject: [PATCH 123/128] emacs: Make "guix-emacs.el" independent. "guix-emacs.el" may be used just for "instructing" Emacs where to find Emacs packages installed with Guix, so it should have as few dependencies as possible. See . * emacs/guix-emacs.el: Require 'guix-profiles' optionally. (guix-emacs-load-autoloads): Use 'guix-profile-prompt' only if it is available. --- emacs/guix-emacs.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/emacs/guix-emacs.el b/emacs/guix-emacs.el index 2f809ed16e..311ab3323f 100644 --- a/emacs/guix-emacs.el +++ b/emacs/guix-emacs.el @@ -1,6 +1,6 @@ ;;; guix-emacs.el --- Emacs packages installed with Guix -;; Copyright © 2014 Alex Kost +;; Copyright © 2014, 2015, 2016 Alex Kost ;; This file is part of GNU Guix. @@ -24,8 +24,9 @@ ;;; Code: -(require 'guix-profiles) (require 'cl-lib) +(unless (require 'guix-profiles nil t) + (defvar guix-user-profile (expand-file-name "~/.guix-profile"))) (defcustom guix-emacs-activate-after-operation t "Activate Emacs packages after installing. @@ -90,7 +91,9 @@ Return nil if there are no emacs packages installed in PROFILE." "Load autoloads for Emacs packages installed in PROFILE. If PROFILE is nil, use `guix-user-profile'. Add autoloads directories to `load-path'." - (interactive (list (guix-profile-prompt))) + (interactive (list (if (fboundp 'guix-profile-prompt) + (funcall 'guix-profile-prompt) + guix-user-profile))) (let* ((autoloads (guix-emacs-find-autoloads profile)) (new-autoloads (cl-nset-difference autoloads guix-emacs-autoloads From 6d268e528100b7b4376390c2d3f93756dc97166e Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Wed, 6 Jan 2016 17:58:05 +0300 Subject: [PATCH 124/128] emacs: Move loading packages to "guix-emacs.el". * emacs/guix-init.el: Move the code for auto-loading Emacs packages to... (guix-package-enable-at-startup): Move to... * emacs/guix-emacs.el (guix-package-enable-at-startup): ... here. --- emacs/guix-emacs.el | 12 ++++++++++++ emacs/guix-init.el | 13 ------------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/emacs/guix-emacs.el b/emacs/guix-emacs.el index 311ab3323f..37a0bb26d3 100644 --- a/emacs/guix-emacs.el +++ b/emacs/guix-emacs.el @@ -28,6 +28,14 @@ (unless (require 'guix-profiles nil t) (defvar guix-user-profile (expand-file-name "~/.guix-profile"))) +(defcustom guix-package-enable-at-startup t + "If non-nil, activate Emacs packages installed in a user profile. +Set this variable to nil before requiring `guix-emacs' file to +avoid loading autoloads of Emacs packages installed in +`guix-user-profile'." + :type 'boolean + :group 'guix) + (defcustom guix-emacs-activate-after-operation t "Activate Emacs packages after installing. If nil, do not load autoloads of the Emacs packages after @@ -117,6 +125,10 @@ See `guix-emacs-activate-after-operation' for details." ;; profile will not be loaded). (guix-emacs-load-autoloads guix-current-profile))) +(when guix-package-enable-at-startup + (add-to-list 'load-path (guix-emacs-directory)) + (guix-emacs-load-autoloads)) + (provide 'guix-emacs) ;;; guix-emacs.el ends here diff --git a/emacs/guix-init.el b/emacs/guix-init.el index 1da607034f..47ced6abaa 100644 --- a/emacs/guix-init.el +++ b/emacs/guix-init.el @@ -1,19 +1,6 @@ (require 'guix-autoloads) (require 'guix-emacs) -(defcustom guix-package-enable-at-startup t - "If non-nil, activate Emacs packages installed in a user profile. -Set this variable to nil before requiring `guix-init' file to -avoid loading autoloads of Emacs packages installed in -`guix-user-profile'." - :type 'boolean - :group 'guix) - -(add-to-list 'load-path (guix-emacs-directory)) - -(when guix-package-enable-at-startup - (guix-emacs-load-autoloads)) - (add-hook 'scheme-mode-hook 'guix-devel-activate-mode-maybe) (add-hook 'shell-mode-hook 'guix-build-log-minor-mode-activate-maybe) From e5a19fed193e0bb7cff883ad63d9cadc75aebcc8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 13 Jan 2016 17:02:17 +0100 Subject: [PATCH 125/128] gnu: julia: Update to 0.4.3. * gnu/packages/julia.scm (julia): Update to 0.4.3. (libuv-julia): Update to 07730c4bd595. --- gnu/packages/julia.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 7c7b53e6c0..4e6b87116a 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,8 +43,8 @@ #:use-module (ice-9 match)) (define libuv-julia - (let ((commit "030481e9d659fd46702ab747caf2cbbe19d537ba") - (revision "1")) + (let ((commit "07730c4bd595b4d45a498a8ee0bcd53878ff7c10") + (revision "2")) (package (inherit libuv) (name "libuv-julia") (version (string-append "0.11.26." revision "-" (string-take commit 8))) @@ -56,7 +56,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1ss63wfr2hghc8kb6ciry394gp6x58haz8vaj57l5mp80z04gd54")))) + "1r0d4wb41w8k3bi9sjr7kapk1ag131ss2fbqa4jz4gnrzvw94sqx")))) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -68,7 +68,7 @@ (define-public julia (package (name "julia") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (string-append @@ -76,7 +76,7 @@ version "/julia-" version "-full.tar.gz")) (sha256 (base32 - "0sikirixvryf8z3d0skig22fpip64jk001qsha98iwsrcfiqpyds")))) + "1i8k847d8n9v37xg69grpl51dysx36p0phwf0d1qxpsqixdg579b")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From 8c9ef2c3a220c856ef7ec10cdb970988c96f2713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jan 2016 15:42:13 +0100 Subject: [PATCH 126/128] monad-repl: Close connection when leaving the monad REPL. * guix/monad-repl.scm (store-monad-language): Add 'store' parameter and use it. Remove call to 'open-connection'. (enter-store-monad): Use 'with-store' and pass the store to 'store-monad-language. --- guix/monad-repl.scm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/guix/monad-repl.scm b/guix/monad-repl.scm index ebd9151065..aefabdeebb 100644 --- a/guix/monad-repl.scm +++ b/guix/monad-repl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,11 +60,10 @@ "Return the derivation of the default " (package-derivation store (default-guile) system)) -(define (store-monad-language) - "Return a compiler language for the store monad." - (let* ((store (open-connection)) - (guile (or (%guile-for-build) - (default-guile-derivation store)))) +(define (store-monad-language store) + "Return a compiler language for the store monad using STORE." + (let ((guile (or (%guile-for-build) + (default-guile-derivation store)))) (monad-language %store-monad (cut run-with-store store <> #:guile-for-build guile) @@ -84,10 +83,11 @@ Run EXP through the store monad." (define-meta-command ((enter-store-monad guix) repl) "enter-store-monad Enter a REPL for values in the store monad." - (let ((new (make-repl (store-monad-language)))) - ;; Force interpretation so that our specially-crafted language evaluator - ;; is actually used. - (repl-option-set! new 'interp #t) - (run-repl new))) + (with-store store + (let ((new (make-repl (store-monad-language store)))) + ;; Force interpretation so that our specially-crafted language evaluator + ;; is actually used. + (repl-option-set! new 'interp #t) + (run-repl new)))) ;;; monad-repl.scm ends here From b8a35309f848f676cf7d4b3bbec9b92de554e27a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jan 2016 17:38:42 +0100 Subject: [PATCH 127/128] build-system/gnu: 'dist-package' can be passed the phases. * guix/build-system/gnu.scm (dist-package): Add #:phases parameter and honor it. --- guix/build-system/gnu.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 9c53825c4a..67ae46faed 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -178,9 +178,10 @@ use `--strip-all' as the arguments to `strip'." flags))))) (replacement (and=> (package-replacement p) static-package)))) -(define* (dist-package p source) +(define* (dist-package p source #:key (phases '%dist-phases)) "Return a package that runs takes source files from the SOURCE directory, -runs `make distcheck' and whose result is one or more source tarballs." +runs `make distcheck' and whose result is one or more source tarballs. The +exact build phases are defined by PHASES." (let ((s source)) (package (inherit p) (name (string-append (package-name p) "-dist")) @@ -199,7 +200,7 @@ runs `make distcheck' and whose result is one or more source tarballs." `((guix build gnu-dist) ,@modules)) ((#:phases _) - '%dist-phases)))) + phases)))) (native-inputs ;; Add autotools & co. as inputs. (let ((ref (lambda (module var) From 7a2eed3aac1ecd0bdf293e33a234fad58f2e5f9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jan 2016 17:39:49 +0100 Subject: [PATCH 128/128] hydra: Add missing phase and inputs for 'make dist' job. * build-aux/hydra/guix.scm (tarball-package): Inherit from 'guix-devel' rather than 'guix'. Pass #:phases to 'dist-package'. --- build-aux/hydra/guix.scm | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/build-aux/hydra/guix.scm b/build-aux/hydra/guix.scm index a6f7923fb8..f496357562 100644 --- a/build-aux/hydra/guix.scm +++ b/build-aux/hydra/guix.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,6 +47,7 @@ (guix build-system gnu) (gnu packages version-control) (gnu packages package-management) + (gnu packages imagemagick) (gnu packages graphviz) (gnu packages man) (srfi srfi-1) @@ -72,12 +73,25 @@ (define (tarball-package checkout) "Return a package that does `make distcheck' from CHECKOUT, a directory containing a Git checkout of Guix." - (dist-package (package - (inherit guix) - (native-inputs `(("graphviz" ,graphviz) - ("help2man" ,help2man) - ,@(package-native-inputs guix)))) - checkout)) + (let ((guix (@@ (gnu packages package-management) guix))) + (dist-package (package + (inherit guix) + (arguments (package-arguments guix)) + (native-inputs `(("imagemagick" ,imagemagick) + ,@(package-native-inputs guix)))) + checkout + + #:phases + '(modify-phases %dist-phases + (add-before 'build 'build-daemon + ;; Build 'guix-daemon' first so that help2man + ;; successfully creates 'guix-daemon.1'. + (lambda _ + (let ((n (number->string + (parallel-job-count)))) + (zero? (system* "make" + "nix/libstore/schema.sql.hh" + "guix-daemon" "-j" n))))))))) (define (hydra-jobs store arguments) "Return Hydra jobs."