Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2018-03-08 21:21:05 +01:00
commit d8fa1890c7
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
50 changed files with 939 additions and 347 deletions

View File

@ -281,6 +281,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/marst.scm \ %D%/packages/marst.scm \
%D%/packages/mate.scm \ %D%/packages/mate.scm \
%D%/packages/maths.scm \ %D%/packages/maths.scm \
%D%/packages/maven.scm \
%D%/packages/mc.scm \ %D%/packages/mc.scm \
%D%/packages/mcrypt.scm \ %D%/packages/mcrypt.scm \
%D%/packages/medical.scm \ %D%/packages/medical.scm \

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com> ;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
@ -75,6 +75,7 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages pciutils) #:use-module (gnu packages pciutils)
@ -1855,7 +1856,7 @@ throughput (in the same interval).")
(define-public thefuck (define-public thefuck
(package (package
(name "thefuck") (name "thefuck")
(version "3.19") (version "3.25")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/nvbn/thefuck/archive/" (uri (string-append "https://github.com/nvbn/thefuck/archive/"
@ -1863,7 +1864,7 @@ throughput (in the same interval).")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"191zbvkyc02h0wwd46xwj4zzg7jhlr8xv0ji6knqkgjnk0nvqq01")) "088bn2l1376qlndbpnjya4q1x3913nj3yj3wc7s2w3bz66d23skk"))
(patches (search-patches "thefuck-test-environ.patch")))) (patches (search-patches "thefuck-test-environ.patch"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
@ -1881,14 +1882,12 @@ throughput (in the same interval).")
`(("python-colorama" ,python-colorama) `(("python-colorama" ,python-colorama)
("python-decorator" ,python-decorator) ("python-decorator" ,python-decorator)
("python-psutil" ,python-psutil) ("python-psutil" ,python-psutil)
("python-pyte" ,python-pyte)
("python-six" ,python-six))) ("python-six" ,python-six)))
(native-inputs (native-inputs
`(("python-mock" ,python-mock) `(("python-mock" ,python-mock)
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
("python-pytest-mock" ,python-pytest-mock) ("python-pytest-mock" ,python-pytest-mock)))
;; Requires setuptools >= 17.1 due to some features used, while our
;; python currently only includes 12.0. TODO: Remove this input.
("python-setuptools" ,python-setuptools)))
(home-page "https://github.com/nvbn/thefuck") (home-page "https://github.com/nvbn/thefuck")
(synopsis "Correct mistyped console command") (synopsis "Correct mistyped console command")
(description (description
@ -1993,12 +1992,10 @@ shortcut syntax and completion options.")
(home-page "https://github.com/TrilbyWhite/interrobang") (home-page "https://github.com/TrilbyWhite/interrobang")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public pam-krb5 (define-public pam-krb5
(package (package
(name "pam-krb5") (name "pam-krb5")
(version "4.7") (version "4.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2006,7 +2003,7 @@ shortcut syntax and completion options.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0abf8cfpkprmhw5ca8iyqgrggh65lgqvmfllc1y6qz7zw1gas894")))) "1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -2032,8 +2029,8 @@ It supports ticket refreshing by screen savers, configurable
authorization handling, authentication of non-local accounts for network authorization handling, authentication of non-local accounts for network
services, password changing, and password expiration, as well as all the services, password changing, and password expiration, as well as all the
standard expected PAM features. It works correctly with OpenSSH, even standard expected PAM features. It works correctly with OpenSSH, even
with ChallengeResponseAuthentication and PrivilegeSeparation enabled, with @code{ChallengeResponseAuthentication} and @code{PrivilegeSeparation}
and supports extensive configuration either by PAM options or in enabled, and supports extensive configuration either by PAM options or in
krb5.conf or both. PKINIT is supported with recent versions of both MIT krb5.conf or both. PKINIT is supported with recent versions of both MIT
Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(home-page "http://www.eyrie.org/~eagle/software/pam-krb5") (home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
@ -2043,8 +2040,6 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
;; clause requiring us to give all recipients a copy. ;; clause requiring us to give all recipients a copy.
(license license:gpl1+))) (license license:gpl1+)))
;;http://archives.eyrie.org/software/kerberos/pam-krb5-4.7.tar.xz
(define-public sunxi-tools (define-public sunxi-tools
(package (package
(name "sunxi-tools") (name "sunxi-tools")
@ -2067,7 +2062,8 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf" ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
#:xbinutils (cross-binutils "arm-linux-gnueabihf") #:xbinutils (cross-binutils "arm-linux-gnueabihf")
#:libc (cross-libc "arm-linux-gnueabihf"))) #:libc (cross-libc "arm-linux-gnueabihf")))
("cross-libc" ,(cross-libc "arm-linux-gnueabihf")))) ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files
("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
(inputs (inputs
`(("libusb" ,libusb))) `(("libusb" ,libusb)))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -2085,25 +2081,34 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(define (cross? x) (define (cross? x)
(string-contains x "cross-arm-linux")) (string-contains x "cross-arm-linux"))
(define (filter-environment! filter-predicate
environment-variable-names)
(for-each
(lambda (env-name)
(let* ((env-value (getenv env-name))
(search-path (search-path-as-string->list env-value))
(new-search-path (filter filter-predicate
search-path))
(new-env-value (list->search-path-as-string
new-search-path ":")))
(setenv env-name new-env-value)))
environment-variable-names))
(setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH")) (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH")) (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH")) (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
(for-each (filter-environment! cross?
(lambda (env-name) '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
(let* ((env-value (getenv env-name)) "CROSS_LIBRARY_PATH"))
(search-path (search-path-as-string->list env-value)) (filter-environment! (lambda (e) (not (cross? e)))
(new-search-path (filter (lambda (e) (not (cross? e))) '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
search-path)) "LIBRARY_PATH"))
(new-env-value (list->search-path-as-string
new-search-path ":")))
(setenv env-name new-env-value)))
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH"))
#t)) #t))
(replace 'build (replace 'build
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "tools" "misc" make-flags)))) (zero? (apply system* "make" "tools" "misc" make-flags))))
(add-after 'build 'build-armhf (add-after 'build 'build-armhf
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(setenv "LIBRARY_PATH" #f)
(zero? (apply system* "make" "target-tools" make-flags)))) (zero? (apply system* "make" "target-tools" make-flags))))
(replace 'install (replace 'install
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)

View File

@ -844,7 +844,6 @@ GLIBC/HURD for a Hurd host"
(define glibc-2.26-patched (define glibc-2.26-patched
(package (package
(inherit glibc) (inherit glibc)
(replacement #f)
(source (origin (source (origin
(inherit (package-source glibc)) (inherit (package-source glibc))
(patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch") (patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch")

View File

@ -10880,8 +10880,8 @@ memory usage and processing time is minimized.")
(license license:expat))) (license license:expat)))
(define-public r-dropbead (define-public r-dropbead
(let ((commit "cf0be5ae5302684bd03e78ab65b142900bbbb840") (let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247")
(revision "1")) (revision "2"))
(package (package
(name "r-dropbead") (name "r-dropbead")
(version (string-append "0-" revision "." (string-take commit 7))) (version (string-append "0-" revision "." (string-take commit 7)))
@ -10894,7 +10894,7 @@ memory usage and processing time is minimized.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1b2lphsc236s1rdzlijxg8yl1jnqpwcvj4x938r89rqpj93jb780")))) "0sbzma49aiiyw8b0jpr7fnhzys9nsqmp4hy4hdz1gzyg1lhnca26"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-ggplot2" ,r-ggplot2) `(("r-ggplot2" ,r-ggplot2)
@ -12646,3 +12646,70 @@ contains
analyze RNA expression genome-wide in thousands of individual cells at analyze RNA expression genome-wide in thousands of individual cells at
once. This package provides tools to perform Drop-seq analyses.") once. This package provides tools to perform Drop-seq analyses.")
(license license:expat))) (license license:expat)))
(define-public pigx-rnaseq
(package
(name "pigx-rnaseq")
(version "0.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
"releases/download/v" version
"/pigx_rnaseq-" version ".tar.gz"))
(sha256
(base32
"168hx2ig3rarphx3l21ay9yyg8ipaakzixnrhpbdi0sknhyvrrk8"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; not supported
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-executable
;; Make sure the executable finds all R modules.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/pigx-rnaseq")
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
`("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
#t)))))
(inputs
`(("snakemake" ,snakemake)
("fastqc" ,fastqc)
("multiqc" ,multiqc)
("star" ,star)
("trim-galore" ,trim-galore)
("htseq" ,htseq)
("samtools" ,samtools)
("bedtools" ,bedtools)
("r-minimal" ,r-minimal)
("r-rmarkdown" ,r-rmarkdown)
("r-ggplot2" ,r-ggplot2)
("r-ggrepel" ,r-ggrepel)
("r-gprofiler" ,r-gprofiler)
("r-deseq2" ,r-deseq2)
("r-dt" ,r-dt)
("r-knitr" ,r-knitr)
("r-pheatmap" ,r-pheatmap)
("r-corrplot" ,r-corrplot)
("r-reshape2" ,r-reshape2)
("r-plotly" ,r-plotly)
("r-scales" ,r-scales)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-crosstalk" ,r-crosstalk)
("r-tximport" ,r-tximport)
("r-rtracklayer" ,r-rtracklayer)
("r-rjson" ,r-rjson)
("salmon" ,salmon)
("ghc-pandoc" ,ghc-pandoc)
("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
("python-wrapper" ,python-wrapper)
("python-pyyaml" ,python-pyyaml)))
(home-page "http://bioinformatics.mdc-berlin.de/pigx/")
(synopsis "Analysis pipeline for RNA sequencing experiments")
(description "PiGX RNAseq is an analysis pipeline for preprocessing and
reporting for RNA sequencing experiments. It is easy to use and produces high
quality reports. The inputs are reads files from the sequencing experiment,
and a configuration file which describes the experiment. In addition to
quality control of the experiment, the pipeline produces a differential
expression report comparing samples in an easily configurable manner.")
(license license:gpl3+)))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr> ;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -90,8 +90,8 @@ makes a few sacrifices to acquire fast full and incremental build times.")
It can compile code written in C, C++, Fortran, Java, Rust, and other It can compile code written in C, C++, Fortran, Java, Rust, and other
languages. Meson provides features comparable to those of the languages. Meson provides features comparable to those of the
Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson
files}, are written in a custom domain-specific language (DSL) that resembles files}, are written in a custom domain-specific language (@dfn{DSL}) that
Python.") resembles Python.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public meson-for-build (define-public meson-for-build

View File

@ -16,7 +16,7 @@
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@ -202,14 +202,14 @@ multi-paradigm automated test framework for C++ and Objective-C.")
(define-public cmdtest (define-public cmdtest
(package (package
(name "cmdtest") (name "cmdtest")
(version "0.29") (version "0.32")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://git.liw.fi/cmdtest/snapshot/" (uri (string-append "http://git.liw.fi/cmdtest/snapshot/"
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1i6gi4yp4qqx1liax098c7nwdb24pghh11xqlrcs7lnhh079rqhb")))) "1jmfiyrrqmpvwdb273bkb8hjaf4rwx9njblx29pmr7giyahskwi5"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:python ,python-2 `(#:python ,python-2
@ -271,13 +271,13 @@ format.")
(define-public cppcheck (define-public cppcheck
(package (package
(name "cppcheck") (name "cppcheck")
(version "1.81") (version "1.82")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/danmar/cppcheck/archive/" (uri (string-append "https://github.com/danmar/cppcheck/archive/"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "0miamqk7pa2dzmnmi5wb6hjp2a3zya1x8afnlcxby8jb6gp6wf8j")) (base32 "0zywpd9hbsx23aj33pk5mbr0fz1ijhqzxlnqgwjfwgg6g2k48i2j"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(home-page "http://cppcheck.sourceforge.net") (home-page "http://cppcheck.sourceforge.net")

View File

@ -139,10 +139,10 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(home-page "https://www.gnu.org/software/global/") (home-page "https://www.gnu.org/software/global/")
(synopsis "Cross-environment source code tag system") (synopsis "Cross-environment source code tag system")
(description (description
"GLOBAL is a source code tagging system that functions in the same way "GNU GLOBAL is a source code tagging system that functions in the same
across a wide array of environments, such as different text editors, shells way across a wide array of environments, such as different text editors,
and web browsers. The resulting tags are useful for quickly moving around in shells and web browsers. The resulting tags are useful for quickly moving
a large, deeply nested project.") around in a large, deeply nested project.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public sloccount (define-public sloccount

View File

@ -673,27 +673,32 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define glibc-final (define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above. ;; The final glibc, which embeds the statically-linked Bash built above.
(package (inherit glibc-final-with-bootstrap-bash) ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any.
(name "glibc") (let ((glibc (package-with-bootstrap-guile glibc)))
(inputs `(("static-bash" ,static-bash-for-glibc) (package/inherit glibc
,@(alist-delete (name "glibc")
"static-bash" (inputs `(("static-bash" ,static-bash-for-glibc)
(package-inputs glibc-final-with-bootstrap-bash)))) ,@(alist-delete
"static-bash"
(package-inputs glibc-final-with-bootstrap-bash))))
;; This time we need 'msgfmt' to install all the libc.mo files. ;; This time we need 'msgfmt' to install all the libc.mo files.
(native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
("gettext" ,gettext-boot0))) ("gettext" ,gettext-boot0)))
;; The final libc only refers to itself, but the 'debug' output contains (propagated-inputs
;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great (package-propagated-inputs glibc-final-with-bootstrap-bash))
;; if 'allowed-references' were per-output.
(arguments
`(#:allowed-references
,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0)
static-bash-for-glibc
(package-outputs glibc-final-with-bootstrap-bash))
,@(package-arguments glibc-final-with-bootstrap-bash))))) ;; The final libc only refers to itself, but the 'debug' output contains
;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great
;; if 'allowed-references' were per-output.
(arguments
`(#:allowed-references
,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0)
static-bash-for-glibc
(package-outputs glibc-final-with-bootstrap-bash))
,@(package-arguments glibc-final-with-bootstrap-bash))))))
(define gcc-boot0-wrapped (define gcc-boot0-wrapped
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the

View File

@ -99,7 +99,7 @@
(zero? (zero?
(system* "./configure" (system* "./configure"
(string-append "--prefix=" out))))))))) (string-append "--prefix=" out)))))))))
(home-page "http://zlib.net/") (home-page "https://zlib.net/")
(synopsis "Compression library") (synopsis "Compression library")
(description (description
"zlib is designed to be a free, general-purpose, legally unencumbered -- "zlib is designed to be a free, general-purpose, legally unencumbered --
@ -844,14 +844,14 @@ extract such file systems.")
(define-public pigz (define-public pigz
(package (package
(name "pigz") (name "pigz")
(version "2.3.3") (version "2.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://zlib.net/pigz/" (uri (string-append "http://zlib.net/pigz/"
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"172hdf26k4zmm7z8md7nl0dph2a7mhf3x7slb9bhfyff6as6g2sf")))) "0wsgw5vwl23jrnpsvd8v3xcp5k4waw5mk0164fynjhkv58i1dy54"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -869,7 +869,7 @@ extract such file systems.")
#:make-flags (list "CC=gcc") #:make-flags (list "CC=gcc")
#:test-target "tests")) #:test-target "tests"))
(inputs `(("zlib" ,zlib))) (inputs `(("zlib" ,zlib)))
(home-page "http://zlib.net/pigz/") (home-page "https://zlib.net/pigz/")
(synopsis "Parallel implementation of gzip") (synopsis "Parallel implementation of gzip")
(description (description
"This package provides a parallel implementation of gzip that exploits "This package provides a parallel implementation of gzip that exploits

View File

@ -2738,3 +2738,189 @@ ordered factor data types.")
"This package provides tools for the computation of matrix and scalar "This package provides tools for the computation of matrix and scalar
exponentiation.") exponentiation.")
(license license:gpl2))) (license license:gpl2)))
(define-public r-heatmaply
(package
(name "r-heatmaply")
(version "0.14.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "heatmaply" version))
(sha256
(base32
"03p2caclhfgqgpx3wwck5h06jy3mxgs05gjmwkb7hmwghkjh41jc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
("r-colorspace" ,r-colorspace)
("r-dendextend" ,r-dendextend)
("r-ggplot2" ,r-ggplot2)
("r-gplots" ,r-gplots)
("r-htmlwidgets" ,r-htmlwidgets)
("r-magrittr" ,r-magrittr)
("r-plotly" ,r-plotly)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-reshape2" ,r-reshape2)
("r-scales" ,r-scales)
("r-seriation" ,r-seriation)
("r-viridis" ,r-viridis)
("r-webshot" ,r-webshot)))
(home-page "https://cran.r-project.org/package=heatmaply")
(synopsis "Interactive cluster heat maps using plotly")
(description
"This package enables you to create interactive cluster heatmaps that can
be saved as a stand-alone HTML file, embedded in R Markdown documents or in a
Shiny app, and made available in the RStudio viewer pane. Hover the mouse
pointer over a cell to show details or drag a rectangle to zoom. A heatmap is
a popular graphical method for visualizing high-dimensional data, in which a
table of numbers is encoded as a grid of colored cells. The rows and columns
of the matrix are ordered to highlight patterns and are often accompanied by
dendrograms.")
;; Either version of the license.
(license (list license:gpl2 license:gpl3))))
(define-public r-cgdsr
(package
(name "r-cgdsr")
(version "1.2.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "cgdsr" version))
(sha256
(base32
"1xyhw7mhmjichr1l6f9y1qvfj9wm87kfbm87ji7lcwf36gxh5g23"))))
(build-system r-build-system)
(propagated-inputs
`(("r-r-methodss3" ,r-r-methodss3)
("r-r-oo" ,r-r-oo)))
(home-page "https://github.com/cBioPortal/cgdsr")
(synopsis "R-based API for accessing the MSKCC Cancer Genomics Data Server")
(description
"This package provides a basic set of R functions for querying the Cancer
Genomics Data Server (CGDS), hosted by the Computational Biology Center at
Memorial-Sloan-Kettering Cancer Center (MSKCC).")
(license license:lgpl3)))
(define-public r-import
(package
(name "r-import")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "import" version))
(sha256
(base32
"0blf9539rbfwcmw8zsb4k58slb4pdnc075v34vmyjw752fznhcji"))))
(build-system r-build-system)
(home-page "https://github.com/smbache/import")
(synopsis "Import mechanism for R")
(description
"This is an alternative mechanism for importing objects from packages.
The syntax allows for importing multiple objects from a package with a single
command in an expressive way. The import package bridges some of the gap
between using @code{library} (or @code{require}) and direct (single-object)
imports. Furthermore the imported objects are not placed in the current
environment. It is also possible to import objects from stand-alone @code{.R}
files.")
(license license:expat)))
(define-public r-shinyace
(package
(name "r-shinyace")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "shinyAce" version))
(sha256
(base32
"0ycka8rsw0178q9klfid97vdn5cbyx3r778nis5s3dqipdyazdm9"))))
(properties `((upstream-name . "shinyAce")))
(build-system r-build-system)
(propagated-inputs
`(("r-shiny" ,r-shiny)))
(home-page "http://cran.r-project.org/web/packages/shinyAce")
(synopsis "Ace editor bindings for Shiny")
(description
"This package provides Ace editor bindings to enable a rich text editing
environment within Shiny.")
(license license:expat)))
(define-public r-radiant-data
(package
(name "r-radiant-data")
(version "0.8.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "radiant.data" version))
(sha256
(base32
"1ylina1jlrmvjkj8pwg0ip5jv1038vnzyckmf542xl7g11x8rvw1"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete files that are under CC-NC-SA.
(delete-file-recursively "inst/app/tools/help")
#t))))
(properties `((upstream-name . "radiant.data")))
(build-system r-build-system)
(propagated-inputs
`(("r-base64enc" ,r-base64enc)
("r-broom" ,r-broom)
("r-car" ,r-car)
("r-curl" ,r-curl)
("r-dplyr" ,r-dplyr)
("r-dt" ,r-dt)
("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-import" ,r-import)
("r-jsonlite" ,r-jsonlite)
("r-knitr" ,r-knitr)
("r-lubridate" ,r-lubridate)
("r-magrittr" ,r-magrittr)
("r-markdown" ,r-markdown)
("r-pryr" ,r-pryr)
("r-psych" ,r-psych)
("r-readr" ,r-readr)
("r-rmarkdown" ,r-rmarkdown)
("r-rstudioapi" ,r-rstudioapi)
("r-scales" ,r-scales)
("r-shiny" ,r-shiny)
("r-shinyace" ,r-shinyace)
("r-tibble" ,r-tibble)
("r-tidyr" ,r-tidyr)))
(home-page "https://github.com/radiant-rstats/radiant.data")
(synopsis "Data menu for Radiant: business analytics using R and Shiny")
(description
"The Radiant Data menu includes interfaces for loading, saving, viewing,
visualizing, summarizing, transforming, and combining data. It also contains
functionality to generate reproducible reports of the analyses conducted in
the application.")
(license license:agpl3)))
(define-public r-algdesign
(package
(name "r-algdesign")
(version "1.1-7.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "AlgDesign" version))
(sha256
(base32
"0bl7mx4dnmkgs2x1fj7cqnrp7jx18mqwxyga0rzlniq12h8mc3fz"))))
(properties `((upstream-name . "AlgDesign")))
(build-system r-build-system)
(home-page "https://github.com/jvbraun/AlgDesign")
(synopsis "Algorithmic experimental design")
(description
"This package provides tools to calculate exact and approximate theory
experimental designs for D, A, and I criteria. Very large designs may be
created. Experimental designs may be blocked or blocked designs created from
a candidate list, using several criteria. The blocking can be done when whole
and within plot factors interact.")
(license license:gpl2+)))

View File

@ -258,7 +258,7 @@ the wrong hands.")
(define-public keyutils (define-public keyutils
(package (package
(name "keyutils") (name "keyutils")
(version "1.5.9") (version "1.5.10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -267,7 +267,7 @@ the wrong hands.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd")) "1dmgjcf7mnwc6h72xkvpaqpzxw8vmlnsmzz0s27pg0giwzm3sp0i"))
(modules '((guix build utils))) (modules '((guix build utils)))
;; Create relative symbolic links instead of absolute ones to /lib/* ;; Create relative symbolic links instead of absolute ones to /lib/*
(snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/") (snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/")

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -85,10 +86,11 @@ program to exhibit a bug.")
;; home-page pointing to a bsd-2 license. ;; home-page pointing to a bsd-2 license.
(license bsd-3))) (license bsd-3)))
;; Newer versions depend on LLVM and Clang >= 4, which have yet to be packaged.
(define-public c-reduce (define-public c-reduce
(package (package
(name "c-reduce") (name "c-reduce")
(version "2.5.0") (version "2.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -97,12 +99,12 @@ program to exhibit a bug.")
"creduce-" version ".tar.gz"))) "creduce-" version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"1r23lhzq3dz8vi2dalxk5las8bf0av2w94hxxbs61pr73m77ik9d")))) "0pf5q0n8vkdcr1wrkxn2jzxv0xkrir13bwmqfw3jpbm3dh2c3b6d"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("astyle" ,astyle) `(("astyle" ,astyle)
("llvm" ,llvm) ("llvm" ,llvm-3.9.1)
("clang" ,clang) ("clang" ,clang-3.9.1)
("flex" ,flex) ("flex" ,flex)
("indent" ,indent) ("indent" ,indent)
("perl" ,perl) ("perl" ,perl)
@ -131,7 +133,7 @@ program to exhibit a bug.")
"file-which" "getopt-tabular" "file-which" "getopt-tabular"
"regex-common" "sys-cpu"))))) "regex-common" "sys-cpu")))))
#t))))) #t)))))
(home-page "http://embed.cs.utah.edu/creduce") (home-page "https://embed.cs.utah.edu/creduce")
(synopsis "Reducer for interesting code") (synopsis "Reducer for interesting code")
(description (description
"C-Reduce is a tool that takes a large C or C++ program that has a "C-Reduce is a tool that takes a large C or C++ program that has a

View File

@ -6787,8 +6787,8 @@ want to use it.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-slack (define-public emacs-slack
(let ((commit "02ee1d7339e48c64946041f6f4e09447c3f53e82") (let ((commit "92724604879149cf331fa8778d089813a9d4ce1a")
(revision "2")) (revision "3"))
(package (package
(name "emacs-slack") (name "emacs-slack")
(version (string-append "0-" revision "." (string-take commit 7))) (version (string-append "0-" revision "." (string-take commit 7)))
@ -6800,7 +6800,7 @@ want to use it.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0grx95xxf314m2k35m1kf20l2pwc6j11ibvrngx4pis7wqwjas3h")))) "1fdf8s3ca356k7m7f5kqzfamfl2nrqjj2pynjv3kkrr0ad15nxmw"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-alert" ,emacs-alert) `(("emacs-alert" ,emacs-alert)

View File

@ -2,7 +2,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
@ -402,7 +402,10 @@ dump Intel Firmware Descriptor data of an image file.")
Management Engine (ME). You need to @code{sudo rmmod mei_me} and Management Engine (ME). You need to @code{sudo rmmod mei_me} and
@code{sudo rmmod mei} before using this tool. Also pass @code{sudo rmmod mei} before using this tool. Also pass
@code{iomem=relaxed} to the Linux kernel command line.") @code{iomem=relaxed} to the Linux kernel command line.")
(license license:gpl2))) (license license:gpl2)
;; This is obviously an Intel thing, plus it requires <cpuid.h>.
(supported-systems '("x86_64-linux" "i686-linux"))))
(define-public me-cleaner (define-public me-cleaner
(package (package
@ -420,7 +423,7 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'create-setup.py (add-after 'unpack 'create-setup.py
(lambda _ (lambda _
(call-with-output-file "setup.py" (call-with-output-file "setup.py"
(lambda (port) (lambda (port)
@ -433,4 +436,7 @@ setup(name='me_cleaner', version='~a', scripts=['me_cleaner.py'])
(synopsis "Intel ME cleaner") (synopsis "Intel ME cleaner")
(description "This package provides tools for disabling Intel (description "This package provides tools for disabling Intel
ME as far as possible (it only edits ME firmware image files).") ME as far as possible (it only edits ME firmware image files).")
(license license:gpl3+))) (license license:gpl3+)
;; This is an Intel thing.
(supported-systems '("x86_64-linux" "i686-linux"))))

View File

@ -21,6 +21,7 @@
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org> ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -55,6 +56,27 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
(define-public font-ibm-plex
(package
(name "font-ibm-plex")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/IBM/plex/releases/download/"
"v" version "/OpenType.zip"))
(sha256
(base32
"0nzxw9z6waixslam248yr26ci3fbk83c7jf6m90hncnaj6zxx795"))))
(build-system font-build-system)
(home-page "https://github.com/IBM/plex")
(synopsis "IBM Plex typeface")
(description "This package provides the Plex font family. It comes in a
Sans, Serif, Mono and Sans Condensed, all with roman and true italics. The
fonts have been designed to work well in user interface (UI) environments as
well as other mediums.")
(license license:silofl1.1)))
(define-public font-inconsolata (define-public font-inconsolata
(package (package
(name "font-inconsolata") (name "font-inconsolata")

View File

@ -499,7 +499,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm (define glibmm
(package (package
(name "glibmm") (name "glibmm")
(version "2.50.1") (version "2.54.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/" (uri (string-append "mirror://gnome/sources/glibmm/"
@ -507,10 +507,13 @@ has an ease of use unmatched by other C++ callback libraries.")
"/glibmm-" version ".tar.xz")) "/glibmm-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1926b3adx903hzvdp8glblsgjyadzqnwgkj8hg605d4wv98m1n0z")))) "0jkapw18icz59cmlmsl00nwwz0wh291kb4hc9z9hxmq45drqrhkw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(;; XXX: Some tests uses C++14 features. Remove this when the default
;; compiler is >= GCC6.
#:configure-flags '("CXXFLAGS=-std=gnu++14")
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'build 'pre-build (add-before 'build 'pre-build
(lambda _ (lambda _
@ -532,7 +535,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(propagated-inputs (propagated-inputs
`(("libsigc++" ,libsigc++) `(("libsigc++" ,libsigc++)
("glib" ,glib))) ("glib" ,glib)))
(home-page "http://gtkmm.org/") (home-page "https://gtkmm.org/")
(synopsis "C++ interface to the GLib library") (synopsis "C++ interface to the GLib library")
(description (description
"Glibmm provides a C++ programming interface to the part of GLib that are "Glibmm provides a C++ programming interface to the part of GLib that are
@ -544,7 +547,7 @@ useful for C++.")
(name "python2-pygobject") (name "python2-pygobject")
;; This was the last version to declare the 2.0 platform number, i.e. its ;; This was the last version to declare the 2.0 platform number, i.e. its
;; pkg-config files were named pygobject-2.0.pc ;; pkg-config files were named pygobject-2.0.pc
(version "2.28.6") (version "2.28.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -553,7 +556,7 @@ useful for C++.")
"/pygobject-" version ".tar.xz")) "/pygobject-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv")) "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv"))
(patches (search-patches (patches (search-patches
"python2-pygobject-2-gi-info-type-error-domain.patch")))) "python2-pygobject-2-gi-info-type-error-domain.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -1595,7 +1595,7 @@ creating interactive structured graphics.")
(native-inputs (native-inputs
`(("gtkmm-2" ,gtkmm-2) `(("gtkmm-2" ,gtkmm-2)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "http://gtkmm.org") (home-page "https://gtkmm.org")
(synopsis "C++ bindings to the GNOME Canvas library") (synopsis "C++ bindings to the GNOME Canvas library")
(description "C++ bindings to the GNOME Canvas library.") (description "C++ bindings to the GNOME Canvas library.")
(license license:lgpl2.0+))) (license license:lgpl2.0+)))

View File

@ -1042,7 +1042,7 @@ library.")
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs (propagated-inputs
`(("glibmm" ,glibmm) ("atk" ,atk))) `(("glibmm" ,glibmm) ("atk" ,atk)))
(home-page "http://www.gtkmm.org") (home-page "https://www.gtkmm.org")
(synopsis "C++ interface to the ATK accessibility library") (synopsis "C++ interface to the ATK accessibility library")
(description (description
"ATKmm provides a C++ programming interface to the ATK accessibility "ATKmm provides a C++ programming interface to the ATK accessibility
@ -1052,7 +1052,7 @@ toolkit.")
(define-public gtkmm (define-public gtkmm
(package (package
(name "gtkmm") (name "gtkmm")
(version "3.22.0") (version "3.22.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -1060,11 +1060,11 @@ toolkit.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1x8l0ny6r3ym53z82q9d5fan4m9vi93xy3b3hj1hrclgc95lvnh5")))) "1400535lhyya462pfx8bp11k3mg3jsbdghlpygskd5ai665dkbwi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ;for 'glib-compile-resources' ("glib" ,glib "bin") ;for 'glib-compile-resources'
("xorg-server" ,xorg-server))) ("xorg-server" ,xorg-server-1.19.3)))
(propagated-inputs (propagated-inputs
`(("pangomm" ,pangomm) `(("pangomm" ,pangomm)
("cairomm" ,cairomm) ("cairomm" ,cairomm)
@ -1072,7 +1072,11 @@ toolkit.")
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("glibmm" ,glibmm))) ("glibmm" ,glibmm)))
(arguments (arguments
'(#:phases (modify-phases %standard-phases `(;; XXX: Tests require C++14 or later. Remove this when the default
;; compiler is >= GCC6.
#:configure-flags '("CXXFLAGS=-std=gnu++14")
#:disallowed-references (,xorg-server-1.19.3)
#:phases (modify-phases %standard-phases
(add-before 'check 'run-xvfb (add-before 'check 'run-xvfb
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server"))) (let ((xorg-server (assoc-ref inputs "xorg-server")))
@ -1083,7 +1087,7 @@ toolkit.")
;; Don't fail because of the missing /etc/machine-id. ;; Don't fail because of the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0") (setenv "DBUS_FATAL_WARNINGS" "0")
#t)))))) #t))))))
(home-page "http://gtkmm.org/") (home-page "https://gtkmm.org/")
(synopsis (synopsis
"C++ interface to the GTK+ graphical user interface library") "C++ interface to the GTK+ graphical user interface library")
(description (description
@ -1117,6 +1121,38 @@ extensive documentation, including API reference and a tutorial.")
("gtk+" ,gtk+-2) ("gtk+" ,gtk+-2)
("glibmm" ,glibmm))))) ("glibmm" ,glibmm)))))
(define-public gtksourceviewmm
(package
(name "gtksourceviewmm")
(version "3.18.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0fgvmhm4h4qmxig87qvangs6ijw53mi40siz7pixlxbrsgiil22i"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
;; In 'Requires' of gtksourceviewmm-3.0.pc.
`(("glibmm" ,glibmm)
("gtkmm" ,gtkmm)
("gtksourceview" ,gtksourceview)))
(synopsis "C++ interface to the GTK+ 'GtkTextView' widget")
(description
"gtksourceviewmm is a portable C++ library that extends the standard GTK+
framework for multiline text editing with support for configurable syntax
highlighting, unlimited undo/redo, search and replace, a completion framework,
printing and other features typical of a source code editor.")
(license license:lgpl2.1+)
(home-page "https://developer.gnome.org/gtksourceview/")))
;;;
;;; Python bindings.
;;;
(define-public python-pycairo (define-public python-pycairo
(package (package
(name "python-pycairo") (name "python-pycairo")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
@ -281,6 +281,21 @@ without requiring the source code to be rewritten.")
; when heavily loaded) ; when heavily loaded)
(replacement #f))) (replacement #f)))
(define-public guile-2.2.2
;; Keep it so that, when 'guix' runs on 2.2.2, 'guix pull' compiles objects
;; with 2.2.2, thereby avoiding the ABI incompatibility issues described in
;; <https://bugs.gnu.org/29570>.
(package
(inherit guile-2.2)
(version "2.2.2")
(source (origin
(inherit (package-source guile-2.2))
(uri (string-append "mirror://gnu/guile/guile-" version
".tar.xz"))
(sha256
(base32
"1azm25zcmxif0skxfrp11d2wc89nrzpjaann9yxdw6pvjxhs948w"))))))
(define-public guile-next (define-public guile-next
(deprecated-package "guile-next" guile-2.2)) (deprecated-package "guile-next" guile-2.2))

View File

@ -59,7 +59,7 @@
(define-public feh (define-public feh
(package (package
(name "feh") (name "feh")
(version "2.25") (version "2.25.1")
(home-page "https://feh.finalrewind.org/") (home-page "https://feh.finalrewind.org/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -67,7 +67,7 @@
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"102rwi30n09l8rih6kv6bb7lhv3djklgzill4p2zag0h700yqfq6")))) "197sm78bm33dvahr5nxqkbmpmdn4b13ahc9mrgn1l7n104bg4phc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases (delete 'configure)) '(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -47,14 +47,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still ;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API. ;; users are ready for the 7-series API.
(version "6.9.9-36") (version "6.9.9-37")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-" (uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1nhv3cmg4npqibhchp3qgm9pld3n94xwwzv5hgn2s7lqz0zc0vd8")))) "1hmfw0jcpc3s3gz9zrzjy9amyrfz6gzzjdsyaw3xw994aq9qf4lq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")

130
gnu/packages/maven.scm Normal file
View File

@ -0,0 +1,130 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages maven)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system ant)
#:use-module (gnu packages)
#:use-module (gnu packages java))
(define-public maven-resolver-api
(package
(name "maven-resolver-api")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/apache/maven-resolver/"
"archive/maven-resolver-" version ".tar.gz"))
(sha256
(base32
"0rpvdg3qr1j88gw0ankf0wnwfyq6238mdlm7s39vf5jrcvhdgwcl"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "maven-resolver-api.jar"
#:source-dir "maven-resolver-api/src/main/java"
#:test-dir "maven-resolver-api/src/test"))
(native-inputs
`(("java-junit" ,java-junit)
("java-hamcrest-core" ,java-hamcrest-core)))
(home-page "https://github.com/apache/maven-resolver")
(synopsis "Maven repository system API")
(description "This package contains the API for the maven repository system.")
(license license:asl2.0)))
(define-public maven-resolver-spi
(package
(inherit maven-resolver-api)
(name "maven-resolver-spi")
(arguments
`(#:jar-name "maven-resolver-spi.jar"
#:source-dir "maven-resolver-spi/src/main/java"
#:test-dir "maven-resolver-spi/src/test"
#:jdk ,icedtea-8))
(inputs
`(("maven-resolver-api" ,maven-resolver-api)))
(synopsis "Maven repository system SPI")
(description "This package contains the service provider interface (SPI)
for repository system implementations and repository connectors.")))
(define-public maven-resolver-test-util
(package
(inherit maven-resolver-api)
(name "maven-resolver-test-util")
(arguments
`(#:jar-name "maven-resolver-test-util.jar"
#:source-dir "maven-resolver-test-util/src/main/java"
#:test-dir "maven-resolver-test-util/src/test"
#:jdk ,icedtea-8))
(inputs
`(("maven-resolver-api" ,maven-resolver-api)
("maven-resolver-spi" ,maven-resolver-spi)))
(synopsis "Utility classes for testing the maven repository system")
(description "This package contains a collection of utility classes to
ease testing of the repository system.")))
(define-public maven-resolver-util
(package
(inherit maven-resolver-api)
(name "maven-resolver-util")
(arguments
`(#:jar-name "maven-resolver-util.jar"
#:source-dir "maven-resolver-util/src/main/java"
#:test-dir "maven-resolver-util/src/test"
#:jdk ,icedtea-8))
(inputs
`(("maven-resolver-api" ,maven-resolver-api)))
(native-inputs
`(("java-junit" ,java-junit)
("java-hamcrest-core" ,java-hamcrest-core)
("maven-resolver-test-util" ,maven-resolver-test-util)))
(synopsis "Utility classes for the maven repository system")
(description "This package contains a collection of utility classes to
ease usage of the repository system.")))
(define-public maven-resolver-connector-basic
(package
(inherit maven-resolver-api)
(name "maven-resolver-connector-basic")
(arguments
`(#:jar-name "maven-resolver-connector-basic.jar"
#:source-dir "maven-resolver-connector-basic/src/main/java"
#:test-dir "maven-resolver-connector-basic/src/test"
#:jdk ,icedtea-8
#:phases
(modify-phases %standard-phases
(add-before 'build 'generate-sisu
(lambda _
(mkdir-p "build/classes/META-INF/sisu")
(with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
(lambda _
(display "org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory\n"))))))))
(inputs
`(("maven-resolver-api" ,maven-resolver-api)
("maven-resolver-spi" ,maven-resolver-spi)
("maven-resolver-util" ,maven-resolver-util)
("java-javax-inject" ,java-javax-inject)))
(native-inputs
`(("java-junit" ,java-junit)
("java-hamcrest-core" ,java-hamcrest-core)
("maven-resolver-test-util" ,maven-resolver-test-util)))
(synopsis "Maven repository connector implementation")
(description "This package contains a repository connector implementation
for repositories using URI-based layouts.")))

View File

@ -449,14 +449,14 @@ compromised.")
(define-public znc (define-public znc
(package (package
(name "znc") (name "znc")
(version "1.6.5") (version "1.6.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://znc.in/releases/archive/znc-" (uri (string-append "http://znc.in/releases/archive/znc-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1jia6kq6bp8yxfj02d5vj9vqb4pylqcldspyjj6iz82kkka2a0ig")))) "09cmsnxvi7jg9a0dicf60fxnxdff4aprw7h8vjqlj5ywf6y43f3z"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -2609,7 +2609,9 @@ of tools for manipulating and accessing your music.")
(("add_subdirectory\\(resources/music\\)") "")))))) (("add_subdirectory\\(resources/music\\)") ""))))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f)) ; no check target '(#:tests? #f ; no check target
;; This flag ensures that MilkyTracker links with the JACK library.
#:configure-flags '("-DCMAKE_CXX_FLAGS=-ljack")))
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("jack" ,jack-1) ("jack" ,jack-1)

View File

@ -30,7 +30,7 @@
(define-public nano (define-public nano
(package (package
(name "nano") (name "nano")
(version "2.9.3") (version "2.9.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -38,7 +38,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04j05nbnp8vjjwja90d83p4s6ywyl6qhggflcjzw0p9d9gyvr0vp")))) "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)

View File

@ -94,7 +94,7 @@ and they are executed on lists of files, hosts, users or other items.")
(define-public slurm (define-public slurm
(package (package
(name "slurm") (name "slurm")
(version "17.11.2") (version "17.11.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -102,7 +102,7 @@ and they are executed on lists of files, hosts, users or other items.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"18yakb8kmhb16n0cv3zhjv8ahvsk9p0max8mmr2flb2c65fawks6")) "1x3i6z03d9m46fvj1cslrapm1drvgyqch9pn4xf23kvbz4gkhaps"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -92,7 +92,7 @@ human.")
(define-public keepassxc (define-public keepassxc
(package (package
(name "keepassxc") (name "keepassxc")
(version "2.3.0") (version "2.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -101,7 +101,7 @@ human.")
version "-src.tar.xz")) version "-src.tar.xz"))
(sha256 (sha256
(base32 (base32
"1v6v59fnbbsssbwy4is6hh2l4qqwy3ddb6dp2jk8clx0xbd5hn7c")))) "1gdrbpzwbs56anc3k5vklvcackcn214pc8gm5xh5zcymsi8q4zff"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:configure-flags '("-DWITH_XC_NETWORKING=YES" '(#:configure-flags '("-DWITH_XC_NETWORKING=YES"
@ -200,7 +200,7 @@ applications, there is xclip integration." )
(define-public yapet (define-public yapet
(package (package
(name "yapet") (name "yapet")
(version "1.0") (version "1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.guengel.ch/myapps/yapet/downloads/yapet-" (uri (string-append "http://www.guengel.ch/myapps/yapet/downloads/yapet-"
@ -208,7 +208,7 @@ applications, there is xclip integration." )
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0ydbnqw6icdh07pnv2w6dhvq501bdfvrklv4xmyr8znca9d753if")))) "1lq46mpxdsbl6qw4cj58hp9q7jckmyvbsi08p5zr77rjgqadxyyy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("ncurses" ,ncurses) `(("ncurses" ,ncurses)

View File

@ -1,3 +1,10 @@
This patch allows libc to be used with the heavily-patched kernel found
on CentOS 6, which identifies itself as 2.6.32.
See <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00392.html>.
Patch taken from Nixpkgs.
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index cace758c01..38fe7fe0b0 100644 index cace758c01..38fe7fe0b0 100644
--- a/sysdeps/unix/sysv/linux/configure --- a/sysdeps/unix/sysv/linux/configure

View File

@ -1,14 +1,14 @@
Retain environment setting of "HOME" for tests that need os.path.expanduser() Retain environment setting of "HOME" for tests that need os.path.expanduser()
to return a readable directory in the build chroot. to return a readable directory in the build chroot.
--- thefuck-3.15/tests/test_conf.py --- thefuck-3.25/tests/conftest.py
+++ thefuck-3.15/tests/test_conf.py +++ thefuck-3.25/tests/conftest.py
@@ -12,7 +12,7 @@ @@ -64,6 +64,7 @@ def set_shell(monkeypatch):
@pytest.fixture
def environ(monkeypatch):
- data = {}
+ data = {"HOME": os.environ.get("HOME")}
monkeypatch.setattr('thefuck.conf.os.environ', data)
return data
@pytest.fixture(autouse=True)
def os_environ(monkeypatch):
- env = {'PATH': os.environ['PATH']}
+ env = {'PATH': os.environ['PATH'],
+ 'HOME': os.environ['HOME']}
monkeypatch.setattr('os.environ', env)
return env

View File

@ -22,6 +22,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -45,11 +46,13 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages django) #:use-module (gnu packages django)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages tls)
#:use-module (gnu packages time) #:use-module (gnu packages time)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
@ -238,6 +241,40 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
(define-public python2-html5-parser (define-public python2-html5-parser
(package-with-python2 python-html5-parser)) (package-with-python2 python-html5-parser))
(define-public python-pycurl
(package
(name "python-pycurl")
(version "7.43.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.bintray.com/pycurl/pycurl/pycurl-"
version ".tar.gz"))
(sha256
(base32 "1ali1gjs9iliwjra7w0y5hwg79a2fd0f4ydvv6k27sgxpbr1n8s3"))))
(build-system python-build-system)
(arguments
;; The tests attempt to access external web servers, so we cannot run
;; them. Furthermore, they are skipped altogether when using Python 2.
'(#:tests? #f))
(native-inputs
`(("python-nose" ,python-nose)
("python-bottle" ,python-bottle)))
(inputs
`(("curl" ,curl)
("gnutls" ,gnutls)))
(home-page "http://pycurl.io/")
(synopsis "Lightweight Python wrapper around libcurl")
(description "Pycurl is a lightweight wrapper around libcurl. It provides
high-speed transfers via libcurl and frequently outperforms alternatives.")
;; Per 'README.rst', this is dual-licensed: users can redistribute pycurl
;; under the terms of LGPLv2.1+ or Expat.
(license (list license:lgpl2.1+ license:expat))))
(define-public python2-pycurl
(package-with-python2 python-pycurl))
(define-public python-webencodings (define-public python-webencodings
(package (package
(name "python-webencodings") (name "python-webencodings")

View File

@ -5875,6 +5875,7 @@ reading and writing MessagePack data.")
(define-public python-msgpack-transitional (define-public python-msgpack-transitional
(package (package
(inherit python-msgpack) (inherit python-msgpack)
(name "python-msgpack-transitional")
(arguments (arguments
(substitute-keyword-arguments (package-arguments python-msgpack) (substitute-keyword-arguments (package-arguments python-msgpack)
((#:phases phases) ((#:phases phases)
@ -10408,14 +10409,14 @@ convering text with ANSI color codes to HTML or LaTeX.")
(define-public python-ddt (define-public python-ddt
(package (package
(name "python-ddt") (name "python-ddt")
(version "1.1.1") (version "1.1.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ddt" version)) (uri (pypi-uri "ddt" version))
(sha256 (sha256
(base32 (base32
"1c00ikkxr7lha97c81k938bzhgd4pbwamkjn0h4nkhr3xk00zp6n")))) "1wqkmz0yhanly8sif5vb02p2iik7mwxwph8ywph2kbb8ws8szdpx"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-mock" ,python-mock) `(("python-mock" ,python-mock)
@ -10426,8 +10427,9 @@ convering text with ANSI color codes to HTML or LaTeX.")
(home-page "https://github.com/txels/ddt") (home-page "https://github.com/txels/ddt")
(synopsis "Data-Driven Tests") (synopsis "Data-Driven Tests")
(description (description
"DDT (Data-Driven Tests) allows you to multiply one test case by running "Data-Driven Tests (@dfn{DDT}) allow you to multiply one test case by
it with different test data, and make it appear as multiple test cases.") running it with different test data, and make it appear as multiple test
cases.")
(license license:expat))) (license license:expat)))
(define-public python2-ddt (define-public python2-ddt

View File

@ -5564,6 +5564,38 @@ inferring an appropriate positioning method.")
shaped points? Now you can!") shaped points? Now you can!")
(license license:asl2.0)))) (license license:asl2.0))))
(define-public r-colorout
(package
(name "r-colorout")
(version "1.2-0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jalvesaq/colorout/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"07vqx5ihgnq4dzn5jnfjfhdm3957v4prvf8vhnb3cwvlly4l7p9v"))))
(build-system r-build-system)
(home-page "https://github.com/jalvesaq/colorout")
(synopsis "Colorize output in the R REPL")
(description "@code{colorout} is an R package that colorizes R output when
running in terminal emulator.
R STDOUT is parsed and numbers, negative numbers, dates in the standard
format, strings, and R constants are identified and wrapped by special ANSI
scape codes that are interpreted by terminal emulators as commands to colorize
the output. R STDERR is also parsed to identify the expressions warning and
error and their translations to many languages. If these expressions are
found, the output is colorized accordingly; otherwise, it is colorized as
STDERROR (blue, by default).
You can customize the colors according to your taste, guided by the color
table made by the command @code{show256Colors()}. You can also set the colors
to any arbitrary string. In this case, it is up to you to set valid values.")
(license license:gpl3+)))
(define-public java-jdistlib (define-public java-jdistlib
(package (package
(name "java-jdistlib") (name "java-jdistlib")

View File

@ -239,14 +239,14 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
(define-public mg (define-public mg
(package (package
(name "mg") (name "mg")
(version "20170401") (version "20171014")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://homepage.boetes.org/software/mg/mg-" (uri (string-append "https://homepage.boetes.org/software/mg/mg-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1arasswgdadbb265rahq3867r9s54jva6k4m3p5n0f8mgjqhhdha")) "0hakfikzsml7z0hja8m8mcahrmfy2piy81bq9nccsjplyfc9clai"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -283,7 +283,7 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
(doc (string-append out "/share/doc/mg"))) (doc (string-append out "/share/doc/mg")))
(install-file "tutorial" doc) (install-file "tutorial" doc)
#t)))))) #t))))))
(home-page "http://homepage.boetes.org/software/mg/") (home-page "https://homepage.boetes.org/software/mg/")
(synopsis "Microscopic GNU Emacs clone") (synopsis "Microscopic GNU Emacs clone")
(description (description
"Mg (mg) is a GNU Emacs style editor, with which it is \"broadly\" "Mg (mg) is a GNU Emacs style editor, with which it is \"broadly\"

View File

@ -1344,16 +1344,18 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(guix build utils) (guix build utils)
(srfi srfi-26)) (srfi srfi-26))
#:module-build-flags '("--gtk") #:module-build-flags '("--gtk")
#:phases (modify-phases %standard-phases #:phases
(add-after 'install 'wrap-program (modify-phases %standard-phases
(lambda* (#:key outputs #:allow-other-keys) (add-after 'install 'wrap-program
(let ((bin-dir (string-append (assoc-ref outputs "out") (lambda* (#:key outputs #:allow-other-keys)
"/bin/")) (let* ((out (assoc-ref outputs "out"))
(perl-path (getenv "PERL5LIB"))) (bin-dir (string-append out "/bin/"))
(for-each (cut wrap-program <> (site-dir (string-append out "/lib/perl5/site_perl/"))
`("PERL5LIB" ":" prefix (,perl-path))) (lib-path (getenv "PERL5LIB")))
(find-files bin-dir)) (for-each (cut wrap-program <>
#t)))))) `("PERL5LIB" ":" prefix (,lib-path ,site-dir)))
(find-files bin-dir))
#t))))))
(synopsis (synopsis
"Lightweight application for searching and streaming videos from YouTube") "Lightweight application for searching and streaming videos from YouTube")
(description (description

View File

@ -158,7 +158,7 @@ interpretation of the specifications for these languages.")
(define-public vulkan-icd-loader (define-public vulkan-icd-loader
(package (package
(name "vulkan-icd-loader") (name "vulkan-icd-loader")
(version "1.0.68.0") (version "1.1.70.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -167,7 +167,7 @@ interpretation of the specifications for these languages.")
"archive/sdk-" version ".tar.gz")) "archive/sdk-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1n5gry5zxpwi7330fmi06snalra8hkbbw68gnwbp531kd5ycyinh")))) "15qkh77596v3xivnbb3l0q9zbmmsdglnaza2m1g7f8q7bbigyc5x"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh". `(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh".

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -102,10 +103,10 @@ older or slower computers and embedded systems.")
`((setenv "CHOST" ,(%current-target-system))) `((setenv "CHOST" ,(%current-target-system)))
'()) '())
(setenv "CONFIG_SHELL" (which "bash")) (setenv "CONFIG_SHELL" (which "bash"))
(zero? (invoke "./configure"
(system* "./configure" (string-append "--prefix=" out)
(string-append "--prefix=" out) "--enable-graphics")
"--enable-graphics")))))))) #t))))))
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("zlib" ,zlib) (inputs `(("zlib" ,zlib)
("openssl" ,openssl) ("openssl" ,openssl)
@ -175,7 +176,8 @@ features including, tables, builtin image display, bookmarks, SSL and more.")
#t)) #t))
(replace 'install (replace 'install
(lambda* (#:key (make-flags '()) #:allow-other-keys) (lambda* (#:key (make-flags '()) #:allow-other-keys)
(zero? (apply system* "make" "install-full" make-flags))))))) (apply invoke "make" "install-full" make-flags)
#t)))))
(synopsis "Text Web Browser") (synopsis "Text Web Browser")
(description (description
"Lynx is a fully-featured World Wide Web (WWW) client for users running "Lynx is a fully-featured World Wide Web (WWW) client for users running
@ -223,7 +225,7 @@ access.")
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(app (string-append out "/share/applications")) (app (string-append out "/share/applications"))
(hicolor (string-append out "/share/icons/hicolor"))) (hicolor (string-append out "/share/icons/hicolor")))
(system* "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc") (invoke "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc")
(install-file "doc/qutebrowser.1" (install-file "doc/qutebrowser.1"
(string-append out "/share/man/man1")) (string-append out "/share/man/man1"))

View File

@ -6371,7 +6371,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
;; Required by tests. ;; Required by tests.
("cunit" ,cunit) ("cunit" ,cunit)
("tzdata" ,tzdata))) ("tzdata" ,tzdata-for-tests)))
(inputs (inputs
;; Required to build the tools (i.e. without --enable-lib-only). ;; Required to build the tools (i.e. without --enable-lib-only).
`(("c-ares" ,c-ares) `(("c-ares" ,c-ares)

View File

@ -1558,7 +1558,7 @@ input from UTF-8 into the locale's encoding.")
(define-public mkfontscale (define-public mkfontscale
(package (package
(name "mkfontscale") (name "mkfontscale")
(version "1.1.2") (version "1.1.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1568,7 +1568,7 @@ input from UTF-8 into the locale's encoding.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc")))) "0siag28jpm8hj62bgjvw81sjfgrc7vcy2h7127bl4iazxrlxz60y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("zlib" ,zlib) `(("zlib" ,zlib)
@ -2276,7 +2276,7 @@ available.")
(define-public xdriinfo (define-public xdriinfo
(package (package
(name "xdriinfo") (name "xdriinfo")
(version "1.0.5") (version "1.0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2286,7 +2286,7 @@ available.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc")))) "0lcx8h3zd11m4w8wf7dyp89826d437iz78cyrix436bqx31x5k6r"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("mesa" ,mesa) `(("mesa" ,mesa)
@ -5421,17 +5421,17 @@ Intrinsics (Xt) Library.")
(define-public twm (define-public twm
(package (package
(name "twm") (name "twm")
(version "1.0.9") (version "1.0.10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://xorg/individual/app/" name "-" "mirror://xorg/individual/app/" name "-"
version version
".tar.gz")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1s1r00x8add3f27xjqxg6q7mwplwrb72gakbh4y6j052as25wchw")))) "1ms5cj1w3g26zg6bxdv1j9hl0pxr4300qnv003cz1q3cl7ffljb4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libxt" ,libxt) `(("libxt" ,libxt)

View File

@ -55,7 +55,6 @@
#:export (fstab-service-type #:export (fstab-service-type
root-file-system-service root-file-system-service
file-system-service-type file-system-service-type
user-unmount-service
swap-service swap-service
user-processes-service-type user-processes-service-type
host-name-service host-name-service
@ -464,7 +463,36 @@ FILE-SYSTEM."
(start #~(const #t)) (start #~(const #t))
(stop #~(const #f)))) (stop #~(const #f))))
(cons sink (map file-system-shepherd-service file-systems)))) (define known-mount-points
(map file-system-mount-point file-systems))
(define user-unmount
(shepherd-service
(documentation "Unmount manually-mounted file systems.")
(provision '(user-file-systems))
(start #~(const #t))
(stop #~(lambda args
(define (known? mount-point)
(member mount-point
(cons* "/proc" "/sys" '#$known-mount-points)))
;; Make sure we don't keep the user's mount points busy.
(chdir "/")
(for-each (lambda (mount-point)
(format #t "unmounting '~a'...~%" mount-point)
(catch 'system-error
(lambda ()
(umount mount-point))
(lambda args
(let ((errno (system-error-errno args)))
(format #t "failed to unmount '~a': ~a~%"
mount-point (strerror errno))))))
(filter (negate known?) (mount-points)))
#f))))
(cons* sink user-unmount
(map file-system-shepherd-service file-systems))))
(define file-system-service-type (define file-system-service-type
(service-type (name 'file-systems) (service-type (name 'file-systems)
@ -483,38 +511,6 @@ FILE-SYSTEM."
"Provide Shepherd services to mount and unmount the given "Provide Shepherd services to mount and unmount the given
file systems, as well as corresponding @file{/etc/fstab} entries."))) file systems, as well as corresponding @file{/etc/fstab} entries.")))
(define user-unmount-service-type
(shepherd-service-type
'user-file-systems
(lambda (known-mount-points)
(shepherd-service
(documentation "Unmount manually-mounted file systems.")
(provision '(user-file-systems))
(start #~(const #t))
(stop #~(lambda args
(define (known? mount-point)
(member mount-point
(cons* "/proc" "/sys" '#$known-mount-points)))
;; Make sure we don't keep the user's mount points busy.
(chdir "/")
(for-each (lambda (mount-point)
(format #t "unmounting '~a'...~%" mount-point)
(catch 'system-error
(lambda ()
(umount mount-point))
(lambda args
(let ((errno (system-error-errno args)))
(format #t "failed to unmount '~a': ~a~%"
mount-point (strerror errno))))))
(filter (negate known?) (mount-points)))
#f))))))
(define (user-unmount-service known-mount-points)
"Return a service whose sole purpose is to unmount file systems not listed
in KNOWN-MOUNT-POINTS when it is stopped."
(service user-unmount-service-type known-mount-points))
;;; ;;;
@ -941,119 +937,122 @@ to use as the tty. This is primarily useful for headless systems."
;; mingetty-shepherd-service). ;; mingetty-shepherd-service).
(requirement '(user-processes host-name udev)) (requirement '(user-processes host-name udev))
(start #~(let ((tty #$(default-serial-port))) (start #~(lambda args
(if tty (let ((defaulted-tty #$(or tty (default-serial-port))))
(make-forkexec-constructor (apply
(list #$(file-append util-linux "/sbin/agetty") (if defaulted-tty
#$@extra-options (make-forkexec-constructor
#$@(if eight-bits? (list #$(file-append util-linux "/sbin/agetty")
#~("--8bits") #$@extra-options
#~()) #$@(if eight-bits?
#$@(if no-reset? #~("--8bits")
#~("--noreset") #~())
#~()) #$@(if no-reset?
#$@(if remote? #~("--noreset")
#~("--remote") #~())
#~()) #$@(if remote?
#$@(if flow-control? #~("--remote")
#~("--flow-control") #~())
#~()) #$@(if flow-control?
#$@(if host #~("--flow-control")
#~("--host" #$host) #~())
#~()) #$@(if host
#$@(if no-issue? #~("--host" #$host)
#~("--noissue") #~())
#~()) #$@(if no-issue?
#$@(if init-string #~("--noissue")
#~("--init-string" #$init-string) #~())
#~()) #$@(if init-string
#$@(if no-clear? #~("--init-string" #$init-string)
#~("--noclear") #~())
#~()) #$@(if no-clear?
#~("--noclear")
#~())
;;; FIXME This doesn't work as expected. According to agetty(8), if this option ;;; FIXME This doesn't work as expected. According to agetty(8), if this option
;;; is not passed, then the default is 'auto'. However, in my tests, when that ;;; is not passed, then the default is 'auto'. However, in my tests, when that
;;; option is selected, agetty never presents the login prompt, and the ;;; option is selected, agetty never presents the login prompt, and the
;;; term-ttyS0 service respawns every few seconds. ;;; term-ttyS0 service respawns every few seconds.
#$@(if local-line #$@(if local-line
#~(#$(match local-line #~(#$(match local-line
('auto "--local-line=auto") ('auto "--local-line=auto")
('always "--local-line=always") ('always "--local-line=always")
('never "-local-line=never"))) ('never "-local-line=never")))
#~()) #~())
#$@(if tty #$@(if tty
#~() #~()
#~("--keep-baud")) #~("--keep-baud"))
#$@(if extract-baud? #$@(if extract-baud?
#~("--extract-baud") #~("--extract-baud")
#~()) #~())
#$@(if skip-login? #$@(if skip-login?
#~("--skip-login") #~("--skip-login")
#~()) #~())
#$@(if no-newline? #$@(if no-newline?
#~("--nonewline") #~("--nonewline")
#~()) #~())
#$@(if login-options #$@(if login-options
#~("--login-options" #$login-options) #~("--login-options" #$login-options)
#~()) #~())
#$@(if chroot #$@(if chroot
#~("--chroot" #$chroot) #~("--chroot" #$chroot)
#~()) #~())
#$@(if hangup? #$@(if hangup?
#~("--hangup") #~("--hangup")
#~()) #~())
#$@(if keep-baud? #$@(if keep-baud?
#~("--keep-baud") #~("--keep-baud")
#~()) #~())
#$@(if timeout #$@(if timeout
#~("--timeout" #$(number->string timeout)) #~("--timeout" #$(number->string timeout))
#~()) #~())
#$@(if detect-case? #$@(if detect-case?
#~("--detect-case") #~("--detect-case")
#~()) #~())
#$@(if wait-cr? #$@(if wait-cr?
#~("--wait-cr") #~("--wait-cr")
#~()) #~())
#$@(if no-hints? #$@(if no-hints?
#~("--nohints?") #~("--nohints?")
#~()) #~())
#$@(if no-hostname? #$@(if no-hostname?
#~("--nohostname") #~("--nohostname")
#~()) #~())
#$@(if long-hostname? #$@(if long-hostname?
#~("--long-hostname") #~("--long-hostname")
#~()) #~())
#$@(if erase-characters #$@(if erase-characters
#~("--erase-chars" #$erase-characters) #~("--erase-chars" #$erase-characters)
#~()) #~())
#$@(if kill-characters #$@(if kill-characters
#~("--kill-chars" #$kill-characters) #~("--kill-chars" #$kill-characters)
#~()) #~())
#$@(if chdir #$@(if chdir
#~("--chdir" #$chdir) #~("--chdir" #$chdir)
#~()) #~())
#$@(if delay #$@(if delay
#~("--delay" #$(number->string delay)) #~("--delay" #$(number->string delay))
#~()) #~())
#$@(if nice #$@(if nice
#~("--nice" #$(number->string nice)) #~("--nice" #$(number->string nice))
#~()) #~())
#$@(if auto-login #$@(if auto-login
(list "--autologin" auto-login) (list "--autologin" auto-login)
'()) '())
#$@(if login-program #$@(if login-program
#~("--login-program" #$login-program) #~("--login-program" #$login-program)
#~()) #~())
#$@(if login-pause? #$@(if login-pause?
#~("--login-pause") #~("--login-pause")
#~()) #~())
#$(or tty (default-serial-port)) defaulted-tty
#$@(if baud-rate #$@(if baud-rate
#~(#$baud-rate) #~(#$baud-rate)
#~()) #~())
#$@(if term #$@(if term
#~(#$term) #~(#$term)
#~())))) #~())))
(const #f))) ; never start. (const #f)) ; never start.
args))))
(stop #~(make-kill-destructor))))))) (stop #~(make-kill-destructor)))))))
(define agetty-service-type (define agetty-service-type

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com> ;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -150,6 +150,7 @@ database {
(gnu system file-systems))) (gnu system file-systems)))
(list (shepherd-service (list (shepherd-service
(provision '(dicod)) (provision '(dicod))
(requirement '(user-processes))
(documentation "Run the dicod daemon.") (documentation "Run the dicod daemon.")
(modules '((gnu build shepherd) (modules '((gnu build shepherd)
(gnu system file-systems))) (gnu system file-systems)))

View File

@ -453,7 +453,6 @@ a container or that of a \"bare metal\" system."
(let* ((mappings (device-mapping-services os)) (let* ((mappings (device-mapping-services os))
(root-fs (root-file-system-service)) (root-fs (root-file-system-service))
(other-fs (non-boot-file-system-service os)) (other-fs (non-boot-file-system-service os))
(unmount (user-unmount-service known-fs))
(swaps (swap-services os)) (swaps (swap-services os))
(procs (service user-processes-service-type)) (procs (service user-processes-service-type))
(host-name (host-name-service (operating-system-host-name os))) (host-name (host-name-service (operating-system-host-name os)))
@ -478,7 +477,7 @@ a container or that of a \"bare metal\" system."
(service fstab-service-type '()) (service fstab-service-type '())
(session-environment-service (session-environment-service
(operating-system-environment-variables os)) (operating-system-environment-variables os))
host-name procs root-fs unmount host-name procs root-fs
(service setuid-program-service-type (service setuid-program-service-type
(operating-system-setuid-programs os)) (operating-system-setuid-programs os))
(service profile-service-type (service profile-service-type

View File

@ -133,7 +133,7 @@ the given target.")
(stop #~(lambda (target) (stop #~(lambda (target)
;; Delete the temporary directory, but leave everything ;; Delete the temporary directory, but leave everything
;; mounted as there may still be processes using it since ;; mounted as there may still be processes using it since
;; 'user-processes' doesn't depend on us. The 'user-unmount' ;; 'user-processes' doesn't depend on us. The 'user-file-systems'
;; service will unmount TARGET eventually. ;; service will unmount TARGET eventually.
(delete-file-recursively (delete-file-recursively
(string-append target #$%backing-directory)))))))) (string-append target #$%backing-directory))))))))

View File

@ -24,6 +24,7 @@
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix i18n)
#:use-module ((guix store) #:use-module ((guix store)
#:select (%store-prefix)) #:select (%store-prefix))
#:use-module ((guix derivations) #:use-module ((guix derivations)
@ -37,16 +38,22 @@
#:select (%guile-static-stripped)) #:select (%guile-static-stripped))
#:use-module (gnu system file-systems) #:use-module (gnu system file-systems)
#:use-module (gnu system mapped-devices) #:use-module (gnu system mapped-devices)
#:autoload (gnu build linux-modules)
(device-module-aliases matching-modules)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (ice-9 vlist) #:use-module (ice-9 vlist)
#:use-module (ice-9 format)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:export (expression->initrd #:export (expression->initrd
%base-initrd-modules %base-initrd-modules
raw-initrd raw-initrd
file-system-packages file-system-packages
base-initrd)) base-initrd
check-device-initrd-modules))
;;; Commentary: ;;; Commentary:
@ -343,4 +350,31 @@ loaded at boot time in the order in which they appear."
#:volatile-root? volatile-root? #:volatile-root? volatile-root?
#:on-error on-error)) #:on-error on-error))
(define (check-device-initrd-modules device linux-modules location)
"Raise an error if DEVICE needs modules beyond LINUX-MODULES to operate.
DEVICE must be a \"/dev\" file name."
(let ((modules (delete-duplicates
(append-map matching-modules
(device-module-aliases device)))))
(unless (every (cute member <> linux-modules) modules)
(raise (condition
(&message
(message (format #f (G_ "you may need these modules \
in the initrd for ~a:~{ ~a~}")
device modules)))
(&fix-hint
(hint (format #f (G_ "Try adding them to the
@code{initrd-modules} field of your @code{operating-system} declaration, along
these lines:
@example
(operating-system
;; @dots{}
(initrd-modules (append (list~{ ~s~})
%base-initrd-modules)))
@end example\n")
modules)))
(&error-location
(location (source-properties->location location))))))))
;;; linux-initrd.scm ends here ;;; linux-initrd.scm ends here

View File

@ -29,9 +29,9 @@
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:use-module (gnu system uuid) #:use-module (gnu system uuid)
#:use-module ((gnu system linux-initrd)
#:select (check-device-initrd-modules))
#:autoload (gnu build file-systems) (find-partition-by-luks-uuid) #:autoload (gnu build file-systems) (find-partition-by-luks-uuid)
#:autoload (gnu build linux-modules)
(device-module-aliases matching-modules)
#:autoload (gnu packages cryptsetup) (cryptsetup-static) #:autoload (gnu packages cryptsetup) (cryptsetup-static)
#:autoload (gnu packages linux) (mdadm-static) #:autoload (gnu packages linux) (mdadm-static)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -154,21 +154,6 @@
#~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup") #~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
"close" #$target))) "close" #$target)))
(define (check-device-initrd-modules device linux-modules location)
"Raise an error if DEVICE needs modules beyond LINUX-MODULES to operate.
DEVICE must be a \"/dev\" file name."
(let ((modules (delete-duplicates
(append-map matching-modules
(device-module-aliases device)))))
(unless (every (cute member <> linux-modules) modules)
(raise (condition
(&message
(message (format #f (G_ "you may need these modules \
in the initrd for ~a:~{ ~a~}")
device modules)))
(&error-location
(location (source-properties->location location))))))))
(define* (check-luks-device md #:key (define* (check-luks-device md #:key
needed-for-boot? needed-for-boot?
(initrd-modules '()) (initrd-modules '())

View File

@ -30,6 +30,8 @@
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix modules) #:use-module (guix modules)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix hash)
#:use-module (guix base32)
#:use-module ((gnu build vm) #:use-module ((gnu build vm)
#:select (qemu-command)) #:select (qemu-command))
@ -544,13 +546,13 @@ of the GNU system as described by OS."
(define (file-system->mount-tag fs) (define (file-system->mount-tag fs)
"Return a 9p mount tag for host file system FS." "Return a 9p mount tag for host file system FS."
;; QEMU mount tags cannot contain slashes and cannot start with '_'. ;; QEMU mount tags must be ASCII, at most 31-byte long, cannot contain
;; Compute an identifier that corresponds to the rules. ;; slashes, and cannot start with '_'. Compute an identifier that
;; corresponds to the rules.
(string-append "TAG" (string-append "TAG"
(string-map (match-lambda (string-drop (bytevector->base32-string
(#\/ #\_) (sha1 (string->utf8 fs)))
(chr chr)) 4)))
fs)))
(define (mapping->file-system mapping) (define (mapping->file-system mapping)
"Return a 9p file system that realizes MAPPING." "Return a 9p file system that realizes MAPPING."

View File

@ -23,7 +23,9 @@
#:use-module (system foreign) #:use-module (system foreign)
#:use-module ((guix build utils) #:select (dump-port)) #:use-module ((guix build utils) #:select (dump-port))
#:use-module (srfi srfi-11) #:use-module (srfi srfi-11)
#:export (sha256 #:use-module (srfi srfi-26)
#:export (sha1
sha256
open-sha256-port open-sha256-port
port-sha256 port-sha256
file-sha256 file-sha256
@ -44,17 +46,26 @@
;; Value as of Libgcrypt 1.5.2. ;; Value as of Libgcrypt 1.5.2.
(identifier-syntax 8)) (identifier-syntax 8))
(define sha256 (define-syntax GCRY_MD_SHA1
(identifier-syntax 2))
(define bytevector-hash
(let ((hash (pointer->procedure void (let ((hash (pointer->procedure void
(libgcrypt-func "gcry_md_hash_buffer") (libgcrypt-func "gcry_md_hash_buffer")
`(,int * * ,size_t)))) `(,int * * ,size_t))))
(lambda (bv) (lambda (bv type size)
"Return the SHA256 of BV as a bytevector." "Return the hash TYPE, of SIZE bytes, of BV as a bytevector."
(let ((digest (make-bytevector (/ 256 8)))) (let ((digest (make-bytevector size)))
(hash GCRY_MD_SHA256 (bytevector->pointer digest) (hash type (bytevector->pointer digest)
(bytevector->pointer bv) (bytevector-length bv)) (bytevector->pointer bv) (bytevector-length bv))
digest)))) digest))))
(define sha1
(cut bytevector-hash <> GCRY_MD_SHA1 20))
(define sha256
(cut bytevector-hash <> GCRY_MD_SHA256 (/ 256 8)))
(define open-sha256-md (define open-sha256-md
(let ((open (pointer->procedure int (let ((open (pointer->procedure int
(libgcrypt-func "gcry_md_open") (libgcrypt-func "gcry_md_open")

View File

@ -43,8 +43,7 @@
(find-partition-by-label find-partition-by-uuid) (find-partition-by-label find-partition-by-uuid)
#:autoload (gnu build linux-modules) #:autoload (gnu build linux-modules)
(device-module-aliases matching-modules) (device-module-aliases matching-modules)
#:autoload (gnu system linux-initrd) #:use-module (gnu system linux-initrd)
(base-initrd default-initrd-modules)
#:use-module (gnu system) #:use-module (gnu system)
#:use-module (gnu bootloader) #:use-module (gnu bootloader)
#:use-module (gnu system file-systems) #:use-module (gnu system file-systems)
@ -661,27 +660,15 @@ checking this by themselves in their 'check' procedure."
('uuid (find-partition-by-uuid device)) ('uuid (find-partition-by-uuid device))
('label (find-partition-by-label device))))) ('label (find-partition-by-label device)))))
(define (check-device device location)
(let ((modules (delete-duplicates
(append-map matching-modules
(device-module-aliases device)))))
(unless (every (cute member <> (operating-system-initrd-modules os))
modules)
(raise (condition
(&message
(message (format #f (G_ "you need these modules \
in the initrd for ~a:~{ ~a~}")
device modules)))
(&error-location (location location)))))))
(define file-systems (define file-systems
(filter file-system-needed-for-boot? (filter file-system-needed-for-boot?
(operating-system-file-systems os))) (operating-system-file-systems os)))
(for-each (lambda (fs) (for-each (lambda (fs)
(check-device (file-system-/dev fs) (check-device-initrd-modules (file-system-/dev fs)
(source-properties->location (operating-system-initrd-modules os)
(file-system-location fs)))) (source-properties->location
(file-system-location fs))))
file-systems)) file-systems))

View File

@ -299,8 +299,10 @@ VARIABLE and return it, or #f if none was found."
"Display MESSAGE, a l10n message possibly containing Texinfo markup, to "Display MESSAGE, a l10n message possibly containing Texinfo markup, to
PORT." PORT."
(format port (G_ "hint: ~a~%") (format port (G_ "hint: ~a~%")
(fill-paragraph (texi->plain-text message) ;; XXX: We should arrange so that the initial indent is wider.
(terminal-columns) 8))) (parameterize ((%text-width (max 15
(- (terminal-columns) 5))))
(texi->plain-text message))))
(define* (report-load-error file args #:optional frame) (define* (report-load-error file args #:optional frame)
"Report the failure to load FILE, a user-provided Scheme file. "Report the failure to load FILE, a user-provided Scheme file.
@ -639,6 +641,8 @@ directories:~{ ~a~}~%")
(G_ "~a: error: ~a~%") (G_ "~a: error: ~a~%")
(location->string (error-location c)) (location->string (error-location c))
(gettext (condition-message c) %gettext-domain)) (gettext (condition-message c) %gettext-domain))
(when (fix-hint? c)
(display-hint (condition-fix-hint c)))
(exit 1)) (exit 1))
((and (message-condition? c) (fix-hint? c)) ((and (message-condition? c) (fix-hint? c))
(format (current-error-port) "~a: error: ~a~%" (format (current-error-port) "~a: error: ~a~%"

View File

@ -5,6 +5,7 @@ gnu/packages.scm
gnu/services.scm gnu/services.scm
gnu/system.scm gnu/system.scm
gnu/services/shepherd.scm gnu/services/shepherd.scm
gnu/system/linux-initrd.scm
gnu/system/shadow.scm gnu/system/shadow.scm
guix/scripts.scm guix/scripts.scm
guix/scripts/build.scm guix/scripts/build.scm

View File

@ -40,6 +40,14 @@
(test-begin "hash") (test-begin "hash")
(test-equal "sha1, empty"
(base16-string->bytevector "da39a3ee5e6b4b0d3255bfef95601890afd80709")
(sha1 #vu8()))
(test-equal "sha1, hello"
(base16-string->bytevector "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")
(sha1 (string->utf8 "hello world")))
(test-equal "sha256, empty" (test-equal "sha256, empty"
%empty-sha256 %empty-sha256
(sha256 #vu8())) (sha256 #vu8()))