Merge branch 'master' into staging

master
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 @@
#: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 @@ throughput (in the same interval).")
(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 @@ throughput (in the same interval).")
(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 @@ throughput (in the same interval).")
`(("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 @@ shortcut syntax and completion options.")
(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 @@ shortcut syntax and completion options.")
version ".tar.xz"))
(sha256
(base32
"0abf8cfpkprmhw5ca8iyqgrggh65lgqvmfllc1y6qz7zw1gas894"))))
"1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -2032,8 +2029,8 @@ It supports ticket refreshing by screen savers, configurable
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 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
;; 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 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
("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 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(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 @@ GLIBC/HURD for a Hurd host"
(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 @@ memory usage and processing time is minimized.")
(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 @@ memory usage and processing time is minimized.")
(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 @@ contains
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 @@ 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
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 @@ multi-paradigm automated test framework for C++ and Objective-C.")
(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 @@ format.")
(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 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(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 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(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 @@
(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 @@ extract such file systems.")
(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 @@ extract such file systems.")
#: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 @@ ordered factor data types.")
"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 @@ the wrong hands.")
(define-public keyutils
(package
(name "keyutils")
(version "1.5.9")
(version "1.5.10")
(source
(origin
(method url-fetch)
@ -267,7 +267,7 @@ the wrong hands.")
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 @@ program to exhibit a bug.")
;; 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 @@ program to exhibit a bug.")
"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 @@ program to exhibit a bug.")
"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 @@ want to use it.")
(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 @@ want to use it.")
(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 @@ dump Intel Firmware Descriptor data of an image file.")
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 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
(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 @@ setup(name='me_cleaner', version='~a', scripts=['me_cleaner.py'])
(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 @@
#: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 @@ has an ease of use unmatched by other C++ callback libraries.")
(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 @@ has an ease of use unmatched by other C++ callback libraries.")
"/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 @@ has an ease of use unmatched by other C++ callback libraries.")
(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 @@ useful for C++.")
(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 @@ useful for C++.")
"/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 @@ creating interactive structured graphics.")
(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 @@ library.")
(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 @@ toolkit.")
(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 @@ toolkit.")
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 @@ toolkit.")
("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 @@ toolkit.")
;; 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 @@ extensive documentation, including API reference and a tutorial.")
("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 @@ without requiring the source code to be rewritten.")
; 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-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 @@
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 @@
;; 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 @@ compromised.")
(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 @@ of tools for manipulating and accessing your music.")
(("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-public nano
(package
(name "nano")
(version "2.9.3")
(version "2.9.4")
(source
(origin
(method url-fetch)
@ -38,7 +38,7 @@
version ".tar.xz"))
(sha256
(base32
"04j05nbnp8vjjwja90d83p4s6ywyl6qhggflcjzw0p9d9gyvr0vp"))))
"0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c"))))
(build-system gnu-build-system)
(inputs
`(("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
(package
(name "slurm")
(version "17.11.2")
(version "17.11.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -102,7 +102,7 @@ and they are executed on lists of files, hosts, users or other items.")
version ".tar.bz2"))
(sha256
(base32
"18yakb8kmhb16n0cv3zhjv8ahvsk9p0max8mmr2flb2c65fawks6"))
"1x3i6z03d9m46fvj1cslrapm1drvgyqch9pn4xf23kvbz4gkhaps"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -92,7 +92,7 @@ human.")
(define-public keepassxc
(package
(name "keepassxc")
(version "2.3.0")
(version "2.3.1")
(source
(origin
(method url-fetch)
@ -101,7 +101,7 @@ human.")
version "-src.tar.xz"))
(sha256
(base32
"1v6v59fnbbsssbwy4is6hh2l4qqwy3ddb6dp2jk8clx0xbd5hn7c"))))
"1gdrbpzwbs56anc3k5vklvcackcn214pc8gm5xh5zcymsi8q4zff"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DWITH_XC_NETWORKING=YES"
@ -200,7 +200,7 @@ applications, there is xclip integration." )
(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 @@ applications, there is xclip integration." )
".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 @@
#: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 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
(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 @@ reading and writing MessagePack data.")
(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 @@ convering text with ANSI color codes to HTML or LaTeX.")
(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 @@ convering text with ANSI color codes to HTML or LaTeX.")
(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 @@ inferring an appropriate positioning method.")
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 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
(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 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
(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 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(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 @@ interpretation of the specifications for these languages.")
(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 @@ interpretation of the specifications for these languages.")
"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 @@ older or slower computers and embedded systems.")
`((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 @@ features including, tables, builtin image display, bookmarks, SSL and more.")
#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 @@ access.")
(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 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
;; 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 @@ input from UTF-8 into the locale's encoding.")
(define-public mkfontscale
(package
(name "mkfontscale")
(version "1.1.2")
(version "1.1.3")
(source
(origin
(method url-fetch)
@ -1568,7 +1568,7 @@ input from UTF-8 into the locale's encoding.")
".tar.bz2"))
(sha256
(base32
"081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc"))))
"0siag28jpm8hj62bgjvw81sjfgrc7vcy2h7127bl4iazxrlxz60y"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
@ -2276,7 +2276,7 @@ available.")
(define-public xdriinfo
(package
(name "xdriinfo")
(version "1.0.5")
(version "1.0.6")
(source
(origin
(method url-fetch)
@ -2286,7 +2286,7 @@ available.")
".tar.bz2"))
(sha256
(base32
"0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc"))))
"0lcx8h3zd11m4w8wf7dyp89826d437iz78cyrix436bqx31x5k6r"))))
(build-system gnu-build-system)
(inputs
`(("mesa" ,mesa)
@ -5421,17 +5421,17 @@ Intrinsics (Xt) Library.")
(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 @@
#: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 @@ FILE-SYSTEM."
(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 @@ FILE-SYSTEM."
"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 @@ to use as the tty. This is primarily useful for headless systems."
;; 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 @@ database {
(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 @@ a container or that of a \"bare metal\" system."
(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 @@ a container or that of a \"bare metal\" system."
(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 @@ the given target.")
(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 @@
#: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 @@
#: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 @@ loaded at boot time in the order in which they appear."
#: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 @@
#: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 @@
#~(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 @@
#: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 @@ of the GNU system as described by OS."
(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 @@
#: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 @@
;; 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 @@
(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 @@ checking this by themselves in their 'check' procedure."
('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 @@ VARIABLE and return it, or #f if none was found."
"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 @@ directories:~{ ~a~}~%")
(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 @@
(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()))