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/mate.scm \
%D%/packages/maths.scm \
%D%/packages/maven.scm \
%D%/packages/mc.scm \
%D%/packages/mcrypt.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 © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; 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 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
@ -75,6 +75,7 @@ (define-module (gnu packages admin)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages groff)
#:use-module (gnu packages pciutils)
@ -1855,7 +1856,7 @@ (define-public dstat
(define-public thefuck
(package
(name "thefuck")
(version "3.19")
(version "3.25")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nvbn/thefuck/archive/"
@ -1863,7 +1864,7 @@ (define-public thefuck
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"191zbvkyc02h0wwd46xwj4zzg7jhlr8xv0ji6knqkgjnk0nvqq01"))
"088bn2l1376qlndbpnjya4q1x3913nj3yj3wc7s2w3bz66d23skk"))
(patches (search-patches "thefuck-test-environ.patch"))))
(build-system python-build-system)
(arguments
@ -1881,14 +1882,12 @@ (define-public thefuck
`(("python-colorama" ,python-colorama)
("python-decorator" ,python-decorator)
("python-psutil" ,python-psutil)
("python-pyte" ,python-pyte)
("python-six" ,python-six)))
(native-inputs
`(("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("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)))
("python-pytest-mock" ,python-pytest-mock)))
(home-page "https://github.com/nvbn/thefuck")
(synopsis "Correct mistyped console command")
(description
@ -1993,12 +1992,10 @@ (define-public interrobang
(home-page "https://github.com/TrilbyWhite/interrobang")
(license license:gpl3+))))
(define-public pam-krb5
(package
(name "pam-krb5")
(version "4.7")
(version "4.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -2006,7 +2003,7 @@ (define-public pam-krb5
version ".tar.xz"))
(sha256
(base32
"0abf8cfpkprmhw5ca8iyqgrggh65lgqvmfllc1y6qz7zw1gas894"))))
"1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -2032,8 +2029,8 @@ (define-public pam-krb5
authorization handling, authentication of non-local accounts for network
services, password changing, and password expiration, as well as all the
standard expected PAM features. It works correctly with OpenSSH, even
with ChallengeResponseAuthentication and PrivilegeSeparation enabled,
and supports extensive configuration either by PAM options or in
with @code{ChallengeResponseAuthentication} and @code{PrivilegeSeparation}
enabled, and supports extensive configuration either by PAM options or in
krb5.conf or both. PKINIT is supported with recent versions of both MIT
Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
@ -2043,8 +2040,6 @@ (define-public pam-krb5
;; clause requiring us to give all recipients a copy.
(license license:gpl1+)))
;;http://archives.eyrie.org/software/kerberos/pam-krb5-4.7.tar.xz
(define-public sunxi-tools
(package
(name "sunxi-tools")
@ -2067,7 +2062,8 @@ (define-public sunxi-tools
("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
#:xbinutils (cross-binutils "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
`(("libusb" ,libusb)))
(build-system gnu-build-system)
@ -2085,25 +2081,34 @@ (define-public sunxi-tools
(lambda* (#:key make-flags #:allow-other-keys)
(define (cross? x)
(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_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
(for-each
(lambda (env-name)
(let* ((env-value (getenv env-name))
(search-path (search-path-as-string->list env-value))
(new-search-path (filter (lambda (e) (not (cross? e)))
search-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"))
(filter-environment! cross?
'("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
"CROSS_LIBRARY_PATH"))
(filter-environment! (lambda (e) (not (cross? e)))
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
"LIBRARY_PATH"))
#t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "tools" "misc" make-flags))))
(add-after 'build 'build-armhf
(lambda* (#:key make-flags #:allow-other-keys)
(setenv "LIBRARY_PATH" #f)
(zero? (apply system* "make" "target-tools" make-flags))))
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)

View file

@ -844,7 +844,6 @@ (define-syntax glibc
(define glibc-2.26-patched
(package
(inherit glibc)
(replacement #f)
(source (origin
(inherit (package-source glibc))
(patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch")

View file

@ -10880,8 +10880,8 @@ (define-public r-delayedmatrixstats
(license license:expat)))
(define-public r-dropbead
(let ((commit "cf0be5ae5302684bd03e78ab65b142900bbbb840")
(revision "1"))
(let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247")
(revision "2"))
(package
(name "r-dropbead")
(version (string-append "0-" revision "." (string-take commit 7)))
@ -10894,7 +10894,7 @@ (define-public r-dropbead
(file-name (git-file-name name version))
(sha256
(base32
"1b2lphsc236s1rdzlijxg8yl1jnqpwcvj4x938r89rqpj93jb780"))))
"0sbzma49aiiyw8b0jpr7fnhzys9nsqmp4hy4hdz1gzyg1lhnca26"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@ -12646,3 +12646,70 @@ (define-public dropseq-tools
analyze RNA expression genome-wide in thousands of individual cells at
once. This package provides tools to perform Drop-seq analyses.")
(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
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; 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.
;;;
@ -90,8 +90,8 @@ (define-public meson
It can compile code written in C, C++, Fortran, Java, Rust, and other
languages. Meson provides features comparable to those of the
Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson
files}, are written in a custom domain-specific language (DSL) that resembles
Python.")
files}, are written in a custom domain-specific language (@dfn{DSL}) that
resembles Python.")
(license license:asl2.0)))
(define-public meson-for-build

View file

@ -16,7 +16,7 @@
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; 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 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@ -202,14 +202,14 @@ (define-public catch-framework
(define-public cmdtest
(package
(name "cmdtest")
(version "0.29")
(version "0.32")
(source (origin
(method url-fetch)
(uri (string-append "http://git.liw.fi/cmdtest/snapshot/"
name "-" version ".tar.gz"))
(sha256
(base32
"1i6gi4yp4qqx1liax098c7nwdb24pghh11xqlrcs7lnhh079rqhb"))))
"1jmfiyrrqmpvwdb273bkb8hjaf4rwx9njblx29pmr7giyahskwi5"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
@ -271,13 +271,13 @@ (define-public cmocka
(define-public cppcheck
(package
(name "cppcheck")
(version "1.81")
(version "1.82")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/danmar/cppcheck/archive/"
version ".tar.gz"))
(sha256
(base32 "0miamqk7pa2dzmnmi5wb6hjp2a3zya1x8afnlcxby8jb6gp6wf8j"))
(base32 "0zywpd9hbsx23aj33pk5mbr0fz1ijhqzxlnqgwjfwgg6g2k48i2j"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(home-page "http://cppcheck.sourceforge.net")

View file

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

View file

@ -673,27 +673,32 @@ (define gettext-boot0
(define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above.
(package (inherit glibc-final-with-bootstrap-bash)
(name "glibc")
(inputs `(("static-bash" ,static-bash-for-glibc)
,@(alist-delete
"static-bash"
(package-inputs glibc-final-with-bootstrap-bash))))
;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any.
(let ((glibc (package-with-bootstrap-guile glibc)))
(package/inherit glibc
(name "glibc")
(inputs `(("static-bash" ,static-bash-for-glibc)
,@(alist-delete
"static-bash"
(package-inputs glibc-final-with-bootstrap-bash))))
;; This time we need 'msgfmt' to install all the libc.mo files.
(native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
("gettext" ,gettext-boot0)))
;; This time we need 'msgfmt' to install all the libc.mo files.
(native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
("gettext" ,gettext-boot0)))
;; 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))
(propagated-inputs
(package-propagated-inputs 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
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the

View file

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

View file

@ -2738,3 +2738,189 @@ (define-public r-powerplus
"This package provides tools for the computation of matrix and scalar
exponentiation.")
(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 @@ (define-public encfs
(define-public keyutils
(package
(name "keyutils")
(version "1.5.9")
(version "1.5.10")
(source
(origin
(method url-fetch)
@ -267,7 +267,7 @@ (define-public keyutils
version ".tar.bz2"))
(sha256
(base32
"1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd"))
"1dmgjcf7mnwc6h72xkvpaqpzxw8vmlnsmzz0s27pg0giwzm3sp0i"))
(modules '((guix build utils)))
;; Create relative symbolic links instead of absolute ones to /lib/*
(snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/")

View file

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

View file

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

View file

@ -2,7 +2,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.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 © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
@ -402,7 +402,10 @@ (define-public intelmetool
Management Engine (ME). You need to @code{sudo rmmod mei_me} and
@code{sudo rmmod mei} before using this tool. Also pass
@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
(package
@ -420,7 +423,7 @@ (define-public me-cleaner
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'create-setup.py
(add-after 'unpack 'create-setup.py
(lambda _
(call-with-output-file "setup.py"
(lambda (port)
@ -433,4 +436,7 @@ (define-public me-cleaner
(synopsis "Intel ME cleaner")
(description "This package provides tools for disabling Intel
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 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -55,6 +56,27 @@ (define-module (gnu packages fonts)
#:use-module (gnu packages python)
#: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
(package
(name "font-inconsolata")

View file

@ -499,7 +499,7 @@ (define libsigc++
(define glibmm
(package
(name "glibmm")
(version "2.50.1")
(version "2.54.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@ -507,10 +507,13 @@ (define glibmm
"/glibmm-" version ".tar.xz"))
(sha256
(base32
"1926b3adx903hzvdp8glblsgjyadzqnwgkj8hg605d4wv98m1n0z"))))
"0jkapw18icz59cmlmsl00nwwz0wh291kb4hc9z9hxmq45drqrhkw"))))
(build-system gnu-build-system)
(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
(add-before 'build 'pre-build
(lambda _
@ -532,7 +535,7 @@ (define glibmm
(propagated-inputs
`(("libsigc++" ,libsigc++)
("glib" ,glib)))
(home-page "http://gtkmm.org/")
(home-page "https://gtkmm.org/")
(synopsis "C++ interface to the GLib library")
(description
"Glibmm provides a C++ programming interface to the part of GLib that are
@ -544,7 +547,7 @@ (define-public python2-pygobject-2
(name "python2-pygobject")
;; This was the last version to declare the 2.0 platform number, i.e. its
;; pkg-config files were named pygobject-2.0.pc
(version "2.28.6")
(version "2.28.7")
(source
(origin
(method url-fetch)
@ -553,7 +556,7 @@ (define-public python2-pygobject-2
"/pygobject-" version ".tar.xz"))
(sha256
(base32
"1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"))
"0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv"))
(patches (search-patches
"python2-pygobject-2-gi-info-type-error-domain.patch"))))
(build-system gnu-build-system)

View file

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

View file

@ -1042,7 +1042,7 @@ (define-public atkmm
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("glibmm" ,glibmm) ("atk" ,atk)))
(home-page "http://www.gtkmm.org")
(home-page "https://www.gtkmm.org")
(synopsis "C++ interface to the ATK accessibility library")
(description
"ATKmm provides a C++ programming interface to the ATK accessibility
@ -1052,7 +1052,7 @@ (define-public atkmm
(define-public gtkmm
(package
(name "gtkmm")
(version "3.22.0")
(version "3.22.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1060,11 +1060,11 @@ (define-public gtkmm
name "-" version ".tar.xz"))
(sha256
(base32
"1x8l0ny6r3ym53z82q9d5fan4m9vi93xy3b3hj1hrclgc95lvnh5"))))
"1400535lhyya462pfx8bp11k3mg3jsbdghlpygskd5ai665dkbwi"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ;for 'glib-compile-resources'
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-1.19.3)))
(propagated-inputs
`(("pangomm" ,pangomm)
("cairomm" ,cairomm)
@ -1072,7 +1072,11 @@ (define-public gtkmm
("gtk+" ,gtk+)
("glibmm" ,glibmm)))
(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
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server")))
@ -1083,7 +1087,7 @@ (define-public gtkmm
;; Don't fail because of the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")
#t))))))
(home-page "http://gtkmm.org/")
(home-page "https://gtkmm.org/")
(synopsis
"C++ interface to the GTK+ graphical user interface library")
(description
@ -1117,6 +1121,38 @@ (define-public gtkmm-2
("gtk+" ,gtk+-2)
("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
(package
(name "python-pycairo")

View file

@ -1,5 +1,5 @@
;;; 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 © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
@ -281,6 +281,21 @@ (define-public guile-2.2/fixed
; when heavily loaded)
(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
(deprecated-package "guile-next" guile-2.2))

View file

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

View file

@ -47,14 +47,14 @@ (define-public imagemagick
;; 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
;; users are ready for the 7-series API.
(version "6.9.9-36")
(version "6.9.9-37")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"1nhv3cmg4npqibhchp3qgm9pld3n94xwwzv5hgn2s7lqz0zc0vd8"))))
"1hmfw0jcpc3s3gz9zrzjy9amyrfz6gzzjdsyaw3xw994aq9qf4lq"))))
(build-system gnu-build-system)
(arguments
`(#: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 @@ (define-public pidgin-otr
(define-public znc
(package
(name "znc")
(version "1.6.5")
(version "1.6.6")
(source (origin
(method url-fetch)
(uri (string-append "http://znc.in/releases/archive/znc-"
version ".tar.gz"))
(sha256
(base32
"1jia6kq6bp8yxfj02d5vj9vqb4pylqcldspyjj6iz82kkka2a0ig"))))
"09cmsnxvi7jg9a0dicf60fxnxdff4aprw7h8vjqlj5ywf6y43f3z"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View file

@ -2609,7 +2609,9 @@ (define-public milkytracker
(("add_subdirectory\\(resources/music\\)") ""))))))
(build-system cmake-build-system)
(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
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)

View file

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

View file

@ -94,7 +94,7 @@ (define-public parallel
(define-public slurm
(package
(name "slurm")
(version "17.11.2")
(version "17.11.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -102,7 +102,7 @@ (define-public slurm
version ".tar.bz2"))
(sha256
(base32
"18yakb8kmhb16n0cv3zhjv8ahvsk9p0max8mmr2flb2c65fawks6"))
"1x3i6z03d9m46fvj1cslrapm1drvgyqch9pn4xf23kvbz4gkhaps"))
(modules '((guix build utils)))
(snippet
'(begin

View file

@ -92,7 +92,7 @@ (define-public pwgen
(define-public keepassxc
(package
(name "keepassxc")
(version "2.3.0")
(version "2.3.1")
(source
(origin
(method url-fetch)
@ -101,7 +101,7 @@ (define-public keepassxc
version "-src.tar.xz"))
(sha256
(base32
"1v6v59fnbbsssbwy4is6hh2l4qqwy3ddb6dp2jk8clx0xbd5hn7c"))))
"1gdrbpzwbs56anc3k5vklvcackcn214pc8gm5xh5zcymsi8q4zff"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DWITH_XC_NETWORKING=YES"
@ -200,7 +200,7 @@ (define-public shroud
(define-public yapet
(package
(name "yapet")
(version "1.0")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.guengel.ch/myapps/yapet/downloads/yapet-"
@ -208,7 +208,7 @@ (define-public yapet
".tar.bz2"))
(sha256
(base32
"0ydbnqw6icdh07pnv2w6dhvq501bdfvrklv4xmyr8znca9d753if"))))
"1lq46mpxdsbl6qw4cj58hp9q7jckmyvbsi08p5zr77rjgqadxyyy"))))
(build-system gnu-build-system)
(inputs
`(("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
index cace758c01..38fe7fe0b0 100644
--- a/sysdeps/unix/sysv/linux/configure

View file

@ -1,14 +1,14 @@
Retain environment setting of "HOME" for tests that need os.path.expanduser()
to return a readable directory in the build chroot.
--- thefuck-3.15/tests/test_conf.py
+++ thefuck-3.15/tests/test_conf.py
@@ -12,7 +12,7 @@
@pytest.fixture
def environ(monkeypatch):
- data = {}
+ data = {"HOME": os.environ.get("HOME")}
monkeypatch.setattr('thefuck.conf.os.environ', data)
return data
--- thefuck-3.25/tests/conftest.py
+++ thefuck-3.25/tests/conftest.py
@@ -64,6 +64,7 @@ def set_shell(monkeypatch):
@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 © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,11 +46,13 @@ (define-module (gnu packages python-web)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages tls)
#:use-module (gnu packages time)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
@ -238,6 +241,40 @@ (define-public python-html5-parser
(define-public python2-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
(package
(name "python-webencodings")

View file

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

View file

@ -5564,6 +5564,38 @@ (define-public r-catterplots
shaped points? Now you can!")
(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
(package
(name "java-jdistlib")

View file

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

View file

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

View file

@ -158,7 +158,7 @@ (define-public glslang
(define-public vulkan-icd-loader
(package
(name "vulkan-icd-loader")
(version "1.0.68.0")
(version "1.1.70.0")
(source
(origin
(method url-fetch)
@ -167,7 +167,7 @@ (define-public vulkan-icd-loader
"archive/sdk-" version ".tar.gz"))
(sha256
(base32
"1n5gry5zxpwi7330fmi06snalra8hkbbw68gnwbp531kd5ycyinh"))))
"15qkh77596v3xivnbb3l0q9zbmmsdglnaza2m1g7f8q7bbigyc5x"))))
(build-system cmake-build-system)
(arguments
`(#: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 © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -102,10 +103,10 @@ (define-public links
`((setenv "CHOST" ,(%current-target-system)))
'())
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
"--enable-graphics"))))))))
(invoke "./configure"
(string-append "--prefix=" out)
"--enable-graphics")
#t))))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("zlib" ,zlib)
("openssl" ,openssl)
@ -175,7 +176,8 @@ (define-public lynx
#t))
(replace 'install
(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")
(description
"Lynx is a fully-featured World Wide Web (WWW) client for users running
@ -223,7 +225,7 @@ (define-public qutebrowser
(let* ((out (assoc-ref outputs "out"))
(app (string-append out "/share/applications"))
(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"
(string-append out "/share/man/man1"))

View file

@ -6371,7 +6371,7 @@ (define-public nghttp2
;; Required by tests.
("cunit" ,cunit)
("tzdata" ,tzdata)))
("tzdata" ,tzdata-for-tests)))
(inputs
;; Required to build the tools (i.e. without --enable-lib-only).
`(("c-ares" ,c-ares)

View file

@ -1558,7 +1558,7 @@ (define-public makedepend
(define-public mkfontscale
(package
(name "mkfontscale")
(version "1.1.2")
(version "1.1.3")
(source
(origin
(method url-fetch)
@ -1568,7 +1568,7 @@ (define-public mkfontscale
".tar.bz2"))
(sha256
(base32
"081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc"))))
"0siag28jpm8hj62bgjvw81sjfgrc7vcy2h7127bl4iazxrlxz60y"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
@ -2276,7 +2276,7 @@ (define-public xdpyinfo
(define-public xdriinfo
(package
(name "xdriinfo")
(version "1.0.5")
(version "1.0.6")
(source
(origin
(method url-fetch)
@ -2286,7 +2286,7 @@ (define-public xdriinfo
".tar.bz2"))
(sha256
(base32
"0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc"))))
"0lcx8h3zd11m4w8wf7dyp89826d437iz78cyrix436bqx31x5k6r"))))
(build-system gnu-build-system)
(inputs
`(("mesa" ,mesa)
@ -5421,17 +5421,17 @@ (define-public libxaw
(define-public twm
(package
(name "twm")
(version "1.0.9")
(version "1.0.10")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://xorg/individual/app/" name "-"
version
".tar.gz"))
".tar.bz2"))
(sha256
(base32
"1s1r00x8add3f27xjqxg6q7mwplwrb72gakbh4y6j052as25wchw"))))
"1ms5cj1w3g26zg6bxdv1j9hl0pxr4300qnv003cz1q3cl7ffljb4"))))
(build-system gnu-build-system)
(inputs
`(("libxt" ,libxt)

View file

@ -55,7 +55,6 @@ (define-module (gnu services base)
#:export (fstab-service-type
root-file-system-service
file-system-service-type
user-unmount-service
swap-service
user-processes-service-type
host-name-service
@ -464,7 +463,36 @@ (define sink
(start #~(const #t))
(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
(service-type (name 'file-systems)
@ -483,38 +511,6 @@ (define file-system-service-type
"Provide Shepherd services to mount and unmount the given
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 @@ (define agetty-shepherd-service
;; mingetty-shepherd-service).
(requirement '(user-processes host-name udev))
(start #~(let ((tty #$(default-serial-port)))
(if tty
(make-forkexec-constructor
(list #$(file-append util-linux "/sbin/agetty")
#$@extra-options
#$@(if eight-bits?
#~("--8bits")
#~())
#$@(if no-reset?
#~("--noreset")
#~())
#$@(if remote?
#~("--remote")
#~())
#$@(if flow-control?
#~("--flow-control")
#~())
#$@(if host
#~("--host" #$host)
#~())
#$@(if no-issue?
#~("--noissue")
#~())
#$@(if init-string
#~("--init-string" #$init-string)
#~())
#$@(if no-clear?
#~("--noclear")
#~())
(start #~(lambda args
(let ((defaulted-tty #$(or tty (default-serial-port))))
(apply
(if defaulted-tty
(make-forkexec-constructor
(list #$(file-append util-linux "/sbin/agetty")
#$@extra-options
#$@(if eight-bits?
#~("--8bits")
#~())
#$@(if no-reset?
#~("--noreset")
#~())
#$@(if remote?
#~("--remote")
#~())
#$@(if flow-control?
#~("--flow-control")
#~())
#$@(if host
#~("--host" #$host)
#~())
#$@(if no-issue?
#~("--noissue")
#~())
#$@(if init-string
#~("--init-string" #$init-string)
#~())
#$@(if no-clear?
#~("--noclear")
#~())
;;; 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
;;; option is selected, agetty never presents the login prompt, and the
;;; term-ttyS0 service respawns every few seconds.
#$@(if local-line
#~(#$(match local-line
('auto "--local-line=auto")
('always "--local-line=always")
('never "-local-line=never")))
#~())
#$@(if tty
#~()
#~("--keep-baud"))
#$@(if extract-baud?
#~("--extract-baud")
#~())
#$@(if skip-login?
#~("--skip-login")
#~())
#$@(if no-newline?
#~("--nonewline")
#~())
#$@(if login-options
#~("--login-options" #$login-options)
#~())
#$@(if chroot
#~("--chroot" #$chroot)
#~())
#$@(if hangup?
#~("--hangup")
#~())
#$@(if keep-baud?
#~("--keep-baud")
#~())
#$@(if timeout
#~("--timeout" #$(number->string timeout))
#~())
#$@(if detect-case?
#~("--detect-case")
#~())
#$@(if wait-cr?
#~("--wait-cr")
#~())
#$@(if no-hints?
#~("--nohints?")
#~())
#$@(if no-hostname?
#~("--nohostname")
#~())
#$@(if long-hostname?
#~("--long-hostname")
#~())
#$@(if erase-characters
#~("--erase-chars" #$erase-characters)
#~())
#$@(if kill-characters
#~("--kill-chars" #$kill-characters)
#~())
#$@(if chdir
#~("--chdir" #$chdir)
#~())
#$@(if delay
#~("--delay" #$(number->string delay))
#~())
#$@(if nice
#~("--nice" #$(number->string nice))
#~())
#$@(if auto-login
(list "--autologin" auto-login)
'())
#$@(if login-program
#~("--login-program" #$login-program)
#~())
#$@(if login-pause?
#~("--login-pause")
#~())
#$(or tty (default-serial-port))
#$@(if baud-rate
#~(#$baud-rate)
#~())
#$@(if term
#~(#$term)
#~()))))
(const #f))) ; never start.
#$@(if local-line
#~(#$(match local-line
('auto "--local-line=auto")
('always "--local-line=always")
('never "-local-line=never")))
#~())
#$@(if tty
#~()
#~("--keep-baud"))
#$@(if extract-baud?
#~("--extract-baud")
#~())
#$@(if skip-login?
#~("--skip-login")
#~())
#$@(if no-newline?
#~("--nonewline")
#~())
#$@(if login-options
#~("--login-options" #$login-options)
#~())
#$@(if chroot
#~("--chroot" #$chroot)
#~())
#$@(if hangup?
#~("--hangup")
#~())
#$@(if keep-baud?
#~("--keep-baud")
#~())
#$@(if timeout
#~("--timeout" #$(number->string timeout))
#~())
#$@(if detect-case?
#~("--detect-case")
#~())
#$@(if wait-cr?
#~("--wait-cr")
#~())
#$@(if no-hints?
#~("--nohints?")
#~())
#$@(if no-hostname?
#~("--nohostname")
#~())
#$@(if long-hostname?
#~("--long-hostname")
#~())
#$@(if erase-characters
#~("--erase-chars" #$erase-characters)
#~())
#$@(if kill-characters
#~("--kill-chars" #$kill-characters)
#~())
#$@(if chdir
#~("--chdir" #$chdir)
#~())
#$@(if delay
#~("--delay" #$(number->string delay))
#~())
#$@(if nice
#~("--nice" #$(number->string nice))
#~())
#$@(if auto-login
(list "--autologin" auto-login)
'())
#$@(if login-program
#~("--login-program" #$login-program)
#~())
#$@(if login-pause?
#~("--login-pause")
#~())
defaulted-tty
#$@(if baud-rate
#~(#$baud-rate)
#~())
#$@(if term
#~(#$term)
#~())))
(const #f)) ; never start.
args))))
(stop #~(make-kill-destructor)))))))
(define agetty-service-type

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; 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>
;;;
;;; This file is part of GNU Guix.
@ -150,6 +150,7 @@ (define (dicod-shepherd-service config)
(gnu system file-systems)))
(list (shepherd-service
(provision '(dicod))
(requirement '(user-processes))
(documentation "Run the dicod daemon.")
(modules '((gnu build shepherd)
(gnu system file-systems)))

View file

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

View file

@ -133,7 +133,7 @@ (define cow-store-service-type
(stop #~(lambda (target)
;; Delete the temporary directory, but leave everything
;; 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.
(delete-file-recursively
(string-append target #$%backing-directory))))))))

View file

@ -24,6 +24,7 @@ (define-module (gnu system linux-initrd)
#:use-module (guix store)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix i18n)
#:use-module ((guix store)
#:select (%store-prefix))
#:use-module ((guix derivations)
@ -37,16 +38,22 @@ (define-module (gnu system linux-initrd)
#:select (%guile-static-stripped))
#:use-module (gnu system file-systems)
#: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 regex)
#:use-module (ice-9 vlist)
#:use-module (ice-9 format)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:export (expression->initrd
%base-initrd-modules
raw-initrd
file-system-packages
base-initrd))
base-initrd
check-device-initrd-modules))
;;; Commentary:
@ -343,4 +350,31 @@ (define helper-packages
#:volatile-root? volatile-root?
#: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

View file

@ -29,9 +29,9 @@ (define-module (gnu system mapped-devices)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#: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 linux-modules)
(device-module-aliases matching-modules)
#:autoload (gnu packages cryptsetup) (cryptsetup-static)
#:autoload (gnu packages linux) (mdadm-static)
#:use-module (srfi srfi-1)
@ -154,21 +154,6 @@ (define (close-luks-device source target)
#~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
"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
needed-for-boot?
(initrd-modules '())

View file

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

View file

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

View file

@ -43,8 +43,7 @@ (define-module (guix scripts system)
(find-partition-by-label find-partition-by-uuid)
#:autoload (gnu build linux-modules)
(device-module-aliases matching-modules)
#:autoload (gnu system linux-initrd)
(base-initrd default-initrd-modules)
#:use-module (gnu system linux-initrd)
#:use-module (gnu system)
#:use-module (gnu bootloader)
#:use-module (gnu system file-systems)
@ -661,27 +660,15 @@ (define (file-system-/dev fs)
('uuid (find-partition-by-uuid 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
(filter file-system-needed-for-boot?
(operating-system-file-systems os)))
(for-each (lambda (fs)
(check-device (file-system-/dev fs)
(source-properties->location
(file-system-location fs))))
(check-device-initrd-modules (file-system-/dev fs)
(operating-system-initrd-modules os)
(source-properties->location
(file-system-location fs))))
file-systems))

View file

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

View file

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

View file

@ -40,6 +40,14 @@ (define %hello-sha256
(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"
%empty-sha256
(sha256 #vu8()))