Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2019-06-11 10:27:09 +02:00
commit 58bf51b4c0
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
32 changed files with 9708 additions and 9409 deletions

View file

@ -6466,10 +6466,11 @@ path. @var{references} is the list of store paths referred to by the
resulting store path.
@end deffn
@deffn {Scheme Procedure} build-derivations @var{server} @var{derivations}
Build @var{derivations} (a list of @code{<derivation>} objects or
derivation paths), and return when the worker is done building them.
Return @code{#t} on success.
@deffn {Scheme Procedure} build-derivations @var{store} @var{derivations} @
[@var{mode}]
Build @var{derivations}, a list of @code{<derivation>} objects, @file{.drv}
file names, or derivation/output pairs, using the specified
@var{mode}---@code{(build-mode normal)} by default.
@end deffn
Note that the @code{(guix monads)} module provides a monad as well as
@ -22723,10 +22724,10 @@ Extra options will be passed to @code{git daemon}, please run
@end deftp
The @code{git://} protocol lacks authentication. When you pull from a
repository fetched via @code{git://}, you don't know that the data you
receive was modified is really coming from the specified host, and you
have your connection is subject to eavesdropping. It's better to use an
authenticated and encrypted transport, such as @code{https}. Although Git allows you
repository fetched via @code{git://}, you don't know whether the data you
receive was modified or is even coming from the specified host, and your
connection is subject to eavesdropping. It's better to use an authenticated
and encrypted transport, such as @code{https}. Although Git allows you
to serve repositories using unsophisticated file-based web servers,
there is a faster protocol implemented by the @code{git-http-backend}
program. This program is the back-end of a proper Git web service. It
@ -24197,6 +24198,47 @@ setuid-root (@pxref{Setuid Programs}) such that unprivileged users can invoke
@command{singularity run} and similar commands.
@end defvr
@cindex Nix
@subsubheading Nix service
The @code{(gnu services nix)} module provides the following service.
@defvr {Scheme Variable} nix-service-type
This is the type of the service that runs build daemon of the
@url{https://nixos.org/nix/, Nix} package manager. Here is an example showing
how to use it:
@example
(use-modules (gnu))
(use-service-modules nix)
(use-package-modules package-management)
(operating-system
;; @dots{}
(packages (append (list nix)
%base-packages))
(services (append (list (service nix-service-type))
%base-services)))
@end example
After @command{guix system reconfigure} configure Nix for your user:
@itemize
@item Add a Nix channel and update it. See
@url{https://nixos.org/nix/manual/, Nix Package Manager Guide}.
@item Create a symlink to your profile and activate Nix profile:
@end itemize
@example
$ ln -s "/nix/var/nix/profiles/per-user/$USER/profile" ~/.nix-profile
$ source /run/current-system/profile/etc/profile.d/nix.sh
@end example
@end defvr
@node Setuid Programs
@section Setuid Programs

View file

@ -29,7 +29,7 @@ (define-module (gnu artwork)
;;; Code:
(define %artwork-repository
(let ((commit "b975164c19c9c0f5d91e5731ec1683e7510c1326"))
(let ((commit "2f2fe74c1078be605a6a93c2193fd6c715cebbb0"))
(origin
(method git-fetch)
(uri (git-reference
@ -39,6 +39,6 @@ (define %artwork-repository
"-checkout"))
(sha256
(base32
"1fad7az077q9ds3jhp00jfsr8rfw4ws042wmnai52k7jv4kbxwyf")))))
"0c8r0phvm3wgf914n2kw1461cwdjl2zbzqvzq9x7d9pwkgv7xmq7")))))
;;; artwork.scm ends here

View file

@ -17,7 +17,7 @@
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017, 2018 Gábor Boskovits <boskovits@gmail.com>
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
#
@ -526,6 +526,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/messaging.scm \
%D%/services/monitoring.scm \
%D%/services/networking.scm \
%D%/services/nix.scm \
%D%/services/nfs.scm \
%D%/services/security-token.scm \
%D%/services/shepherd.scm \
@ -662,6 +663,7 @@ dist_patch_DATA = \
%D%/packages/patches/aegisub-icu59-include-unistr.patch \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
%D%/packages/patches/amule-crypto-6.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
@ -37,15 +37,15 @@ (define-module (gnu packages astronomy)
(define-public cfitsio
(package
(name "cfitsio")
(version "3.450")
(version "3.47")
(source
(origin
(method url-fetch)
(uri (string-append
"http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/"
name (string-replace-substring version "." "") ".tar.gz"))
name "-" version ".tar.gz"))
(sha256
(base32 "0bmrkw6w65zb0k3mszaaqy1f4zjm2hl7njww74nb5v38wvdi4q5z"))))
(base32 "1vzlxnrjckz78p2wf148v2z3krkwnykfqvlj42sz3q711vqid1a1"))))
(build-system gnu-build-system)
;; XXX Building with curl currently breaks wcslib. It doesn't use
;; pkg-config and hence won't link with -lcurl.

View file

@ -3701,7 +3701,7 @@ (define-public libopenshot-audio
(define-public faudio
(package
(name "faudio")
(version "19.06")
(version "19.06.07")
(source
(origin
(method git-fetch)
@ -3710,7 +3710,7 @@ (define-public faudio
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "1azjf972hik1cizsblbvfp38xz7dx368pbpw3pd6z1xk9mnrhi6s"))))
(base32 "1w37qp279lgpyvslwz3wlb4fp0i68ncd411rqdlk5s71b1zz466n"))))
(arguments
'(#:tests? #f ; No tests.
#:configure-flags '("-DFFMPEG=ON")))

View file

@ -3621,14 +3621,14 @@ (define-public r-allelicimbalance
(define-public r-aucell
(package
(name "r-aucell")
(version "1.6.0")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "AUCell" version))
(sha256
(base32
"025q1as9pifbxa7hidlz634q6d7l73zx8mqy4rjbfrk7d5615xvm"))))
"1vd8w6dygn1b5bwlha09mm6fbwyj07pmawpv53agcg1y7jlxs31b"))))
(properties `((upstream-name . "AUCell")))
(build-system r-build-system)
(propagated-inputs
@ -4438,14 +4438,14 @@ (define-public r-sgseq
(define-public r-rhisat2
(package
(name "r-rhisat2")
(version "1.0.1")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rhisat2" version))
(sha256
(base32
"01jhj5vvfl4n2d0nl3nd1iw9nii85mgw2adnrmxb8wwlxgy240vr"))))
"1y3zqvk1vbcb10r1myh6f5yzjvf7bhwhpiq78bs1k6spli4bzj0q"))))
(properties `((upstream-name . "Rhisat2")))
(build-system r-build-system)
(native-inputs
@ -4606,3 +4606,74 @@ (define-public r-birta
conditions. A Bayesian network is used to model the regulatory structure and
Markov-Chain-Monte-Carlo is applied to sample the activity states.")
(license license:gpl2+)))
(define-public r-ropls
(package
(name "r-ropls")
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ropls" version))
(sha256
(base32
"099nv9dgmw3avkxv7cd27r16yj56svjlp5q4i389yp1n0r5zhyl2"))))
(build-system r-build-system)
(propagated-inputs `(("r-biobase" ,r-biobase)))
(native-inputs
`(("r-knitr" ,r-knitr))) ; for vignettes
(home-page "https://dx.doi.org/10.1021/acs.jproteome.5b00354")
(synopsis "Multivariate analysis and feature selection of omics data")
(description
"Latent variable modeling with @dfn{Principal Component Analysis} (PCA)
and @dfn{Partial Least Squares} (PLS) are powerful methods for visualization,
regression, classification, and feature selection of omics data where the
number of variables exceeds the number of samples and with multicollinearity
among variables. @dfn{Orthogonal Partial Least Squares} (OPLS) enables to
separately model the variation correlated (predictive) to the factor of
interest and the uncorrelated (orthogonal) variation. While performing
similarly to PLS, OPLS facilitates interpretation.
This package provides imlementations of PCA, PLS, and OPLS for multivariate
analysis and feature selection of omics data. In addition to scores, loadings
and weights plots, the package provides metrics and graphics to determine the
optimal number of components (e.g. with the R2 and Q2 coefficients), check the
validity of the model by permutation testing, detect outliers, and perform
feature selection (e.g. with Variable Importance in Projection or regression
coefficients).")
(license license:cecill)))
(define-public r-biosigner
(package
(name "r-biosigner")
(version "1.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biosigner" version))
(sha256
(base32
"1643iya40v6whb7lw7y34w5sanbasvj4yhvcygbip667yhphyv5b"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-e1071" ,r-e1071)
("r-randomforest" ,r-randomforest)
("r-ropls" ,r-ropls)))
(native-inputs
`(("r-knitr" ,r-knitr)
("r-rmarkdown" ,r-rmarkdown)
("pandoc" ,ghc-pandoc)
("pandoc-citeproc" ,ghc-pandoc-citeproc))) ; all for vignettes
(home-page "https://bioconductor.org/packages/biosigner/")
(synopsis "Signature discovery from omics data")
(description
"Feature selection is critical in omics data analysis to extract
restricted and meaningful molecular signatures from complex and high-dimension
data, and to build robust classifiers. This package implements a method to
assess the relevance of the variables for the prediction performances of the
classifier. The approach can be run in parallel with the PLS-DA, Random
Forest, and SVM binary classifiers. The signatures and the corresponding
'restricted' models are returned, enabling future predictions on new
datasets.")
(license license:cecill)))

View file

@ -7373,13 +7373,13 @@ (define-public r-s4vectors
(define-public r-iranges
(package
(name "r-iranges")
(version "2.18.0")
(version "2.18.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "IRanges" version))
(sha256
(base32
"0g06y6xlm2q7p7g7phfc8qj14pqpgbb0mkyjzkfgsrwjmzvpwy6m"))))
"1d64sh43pfc9vj2l7y7x6sb44l67wlnn3dzygp7ws0smn06mardq"))))
(properties
`((upstream-name . "IRanges")))
(build-system r-build-system)
@ -9370,14 +9370,14 @@ (define-public r-pcamethods
(define-public r-msnbase
(package
(name "r-msnbase")
(version "2.10.0")
(version "2.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MSnbase" version))
(sha256
(base32
"1lqdlyvs2c9g55zf8gnw142ps4jid644fhfvclnax7sjjwrqdjzv"))))
"0z63yqazkycq0zbbarq9ida6al35hv3g7g9g7s7bss4gh0hk7lhd"))))
(properties `((upstream-name . "MSnbase")))
(build-system r-build-system)
(propagated-inputs

View file

@ -2819,14 +2819,14 @@ (define-public r-corrplot
(define-public r-stringdist
(package
(name "r-stringdist")
(version "0.9.5.1")
(version "0.9.5.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "stringdist" version))
(sha256
(base32
"0gap1g9xwhp0zxqsznkc2carpvi80z03prr4q8m528684lznx2xa"))))
"0nw8c317qkfq63pr0prl0hx522ddfq4cbgixb5r4pq3fxk9z303l"))))
(build-system r-build-system)
(home-page "https://github.com/markvanderloo/stringdist")
(synopsis "Approximate string matching and string distance functions")
@ -3583,14 +3583,14 @@ (define-public r-webshot
(define-public r-seriation
(package
(name "r-seriation")
(version "1.2-5")
(version "1.2-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "seriation" version))
(sha256
(base32
"0sk4wfwxxhz3nwbcsfshb93gra4c9p5pvpsz00d7f9nkkmhs97ws"))))
"0dbz5b5msy4fr2whhphyriqk1xc6305zpjq59rrwxyz3d7rzwpa6"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cluster" ,r-cluster)
@ -3833,14 +3833,14 @@ (define-public r-network
(define-public r-statnet-common
(package
(name "r-statnet-common")
(version "4.2.0")
(version "4.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "statnet.common" version))
(sha256
(base32
"0q942g6kqmqxfss1cxb3yg8y5r1k1h5cyy99s1cfisrn6hqc6xhi"))))
"0ng90i0wm9wlyhjbnmnylc1bbqw396p1dr7f402dyry9x9ck6jl3"))))
(properties
`((upstream-name . "statnet.common")))
(build-system r-build-system)
@ -4033,14 +4033,14 @@ (define-public r-quantmod
(define-public r-tseries
(package
(name "r-tseries")
(version "0.10-46")
(version "0.10-47")
(source
(origin
(method url-fetch)
(uri (cran-uri "tseries" version))
(sha256
(base32
"08kjw0bfj5gfcrxpblwqxwna8a5g9gnr7ya61qb02r263pyhm50j"))))
"0yzvc9djp3angvxdxqi60wi726y76ablsb71q88ycvw0avgpf8r0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quadprog" ,r-quadprog)
@ -5933,22 +5933,22 @@ (define-public r-insight
(define-public r-sjlabelled
(package
(name "r-sjlabelled")
(version "1.0.17")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "sjlabelled" version))
(sha256
(base32
"00c0c22ynpihgf2bvmcfnkvqwqvxax2zzb7wldsmg2f7z5a32aa6"))))
"0rnmlwpp41h04dzfjd5ncvzjzs43slaimb4v2in1axznv3haafyc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
("r-haven" ,r-haven)
`(("r-haven" ,r-haven)
("r-insight" ,r-insight)
("r-magrittr" ,r-magrittr)
("r-purrr" ,r-purrr)
("r-rlang" ,r-rlang)))
("r-rlang" ,r-rlang)
("r-tidyselect" ,r-tidyselect)))
(home-page "https://github.com/strengejacke/sjlabelled")
(synopsis "Labelled data utility functions")
(description
@ -6364,14 +6364,14 @@ (define-public r-blockfest
(define-public r-proc
(package
(name "r-proc")
(version "1.14.0")
(version "1.15.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "pROC" version))
(sha256
(base32
"0ki1pvj5iaki81crapvwqllg5avn5qlvv62axnsdkdcmv9xc3wg0"))))
"1dxxkwdhxfnj2znq4c5ggrr9m5klh5pmfxg17rz59vr2hfb73m24"))))
(properties `((upstream-name . "pROC")))
(build-system r-build-system)
(propagated-inputs
@ -7850,25 +7850,26 @@ (define-public r-tmb
(define-public r-sjstats
(package
(name "r-sjstats")
(version "0.17.4")
(version "0.17.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "sjstats" version))
(sha256
(base32
"012hp9m17xzjnsfvjjz2wdfgxm3irsrfx0zmahfnfmgdrwxd5vk5"))))
"1x9ybvz84vgaabmqp4z6crbv5q6kqjg6msk1spbr11zx9dbj06ca"))))
(build-system r-build-system)
(propagated-inputs
`(("r-broom" ,r-broom)
`(("r-bayestestr" ,r-bayestestr)
("r-broom" ,r-broom)
("r-dplyr" ,r-dplyr)
("r-emmeans" ,r-emmeans)
("r-insight" ,r-insight)
("r-lme4" ,r-lme4)
("r-magrittr" ,r-magrittr)
("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-modelr" ,r-modelr)
("r-performance" ,r-performance)
("r-purrr" ,r-purrr)
("r-rlang" ,r-rlang)
("r-sjlabelled" ,r-sjlabelled)
@ -7948,14 +7949,14 @@ (define-public r-bayestestr
(define-public r-performance
(package
(name "r-performance")
(version "0.1.0")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "performance" version))
(sha256
(base32
"19lfx25hkavzbycrh6hq4v24a0dz4s60ryq6jyihjlxgrb9g7cnw"))))
"1pzd6z7i1jxr2xi1shg3d0bxlbpmjl7kpmwgjnfys6syv57znd1z"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bayestestr" ,r-bayestestr)
@ -9766,14 +9767,14 @@ (define-public r-nnls
(define-public r-iso
(package
(name "r-iso")
(version "0.0-17")
(version "0.0-18")
(source
(origin
(method url-fetch)
(uri (cran-uri "Iso" version))
(sha256
(base32
"0lljc99sdzdqj6d56qbsggibr6pkdwkh821bj70ianikyvmdc1y0"))))
"014mm5b1f7i6nwlz3kyg1biph0y542kcx5bd13p68cv5a928qzid"))))
(properties `((upstream-name . "Iso")))
(build-system r-build-system)
(native-inputs `(("gfortran" ,gfortran)))
@ -11025,14 +11026,14 @@ (define-public r-future-apply
(define-public r-rsvd
(package
(name "r-rsvd")
(version "1.0.0")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "rsvd" version))
(sha256
(base32
"0vjhrvnkl9rmvl8sv2kac5sd10z3fgxymb676ynxzc2pmhydy3an"))))
"1faskhf5j2bj9f971qljsmh182g3rnyilj1wwijz530a6skxidzz"))))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)))

View file

@ -33,6 +33,7 @@
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;;
;;; This file is part of GNU Guix.
;;;
@ -108,6 +109,7 @@ (define-module (gnu packages databases)
#:use-module (guix download)
#:use-module (guix bzr-download)
#:use-module (guix git-download)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system perl)
@ -928,8 +930,7 @@ (define-public recutils
(assoc-ref %build-inputs "bash:include")
"/include/bash"))))
(native-inputs `(("emacs" ,emacs-minimal)
("bc" ,bc)
(native-inputs `(("bc" ,bc)
("bash:include" ,bash "include")
("check" ,check)
("libuuid" ,util-linux)
@ -948,6 +949,26 @@ (define-public recutils
(license license:gpl3+)
(home-page "https://www.gnu.org/software/recutils/")))
(define-public emacs-recutils
(package
(inherit recutils)
(name "emacs-recutils")
(build-system emacs-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
(chdir "etc")
#t)))))
(native-inputs '())
(inputs '())
(synopsis "Emacs mode for working with recutils database files")
(description "This package provides an Emacs major mode @code{rec-mode}
for working with GNU Recutils text-based, human-editable databases. It
supports editing, navigation, and querying of recutils database files
including field and record folding.")))
(define-public rocksdb
(package
(name "rocksdb")

View file

@ -8534,29 +8534,32 @@ (define-public emacs-prop-menu
(license license:gpl3+)))
(define-public emacs-idris-mode
(package
(name "emacs-idris-mode")
(version "0.9.19")
(source
(origin
(method url-fetch)
(uri (string-append
"http://stable.melpa.org/packages/idris-mode-"
version ".tar"))
(sha256
(base32
"16hl2s22l3wc9drnwzw6hn7xrm49ml9lii0s6k218dgahdgsncmf"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-prop-menu" ,emacs-prop-menu)))
(home-page
"https://github.com/idris-hackers/idris-mode")
(synopsis "Major mode for editing Idris code")
(description
"This is an Emacs mode for editing Idris code. It requires the latest
(let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
(revision "0"))
(package
(name "emacs-idris-mode")
(version (git-version "0.9.19" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/idris-hackers/idris-mode.git")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
(base32
"0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-prop-menu" ,emacs-prop-menu)))
(home-page
"https://github.com/idris-hackers/idris-mode")
(synopsis "Major mode for editing Idris code")
(description
"This is an Emacs mode for editing Idris code. It requires the latest
version of Idris, and some features may rely on the latest Git version of
Idris.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-browse-at-remote
(package

View file

@ -733,7 +733,7 @@ (define-public gl2ps
(define-public virtualgl
(package
(name "virtualgl")
(version "2.6.1")
(version "2.6.2")
(source
(origin
(method git-fetch)
@ -742,7 +742,7 @@ (define-public virtualgl
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "04fdwm6mz76lw4iwd5m7yxjfhpa0rpxd357bv5smk5lclnlbz1bv"))))
(base32 "0yyc553xsb5n0rx7jp9p4wdbd7md07b3qrkf3ssyjavqqg908qg9"))))
(arguments
`(#:tests? #f ; no tests are available
#:configure-flags (list

View file

@ -2115,7 +2115,7 @@ (define-public goffice-0.8
(define-public gnumeric
(package
(name "gnumeric")
(version "1.12.44")
(version "1.12.45")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gnumeric/"
@ -2123,7 +2123,7 @@ (define-public gnumeric
"gnumeric-" version ".tar.xz"))
(sha256
(base32
"0147962c6ybdsj57rz95nla0rls7g545wc2n7pz59zmzyd5pksk0"))))
"0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h"))))
(build-system glib-or-gtk-build-system)
(arguments
`(;; The gnumeric developers don't worry much about failing tests.
@ -5467,7 +5467,7 @@ (define-public network-manager-openvpn
(define-public mobile-broadband-provider-info
(package
(name "mobile-broadband-provider-info")
(version "20170310")
(version "20190116")
(source (origin
(method url-fetch)
(uri (string-append
@ -5476,10 +5476,10 @@ (define-public mobile-broadband-provider-info
"mobile-broadband-provider-info-" version ".tar.xz"))
(sha256
(base32
"0fxm11x8k9hxjg8l5inaldfmmjnwkay3ibjv899jra03bv4h6kql"))))
"16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; No tests
`(#:tests? #f)) ; no tests
(home-page "https://wiki.gnome.org/Projects/NetworkManager")
(synopsis "Database of broadband connection configuration")
(description "Database of broadband connection configuration.")

View file

@ -1600,7 +1600,7 @@ (define-public jp2a
(define-public grim
(package
(name "grim")
(version "1.1")
(version "1.2.0")
(source
(origin
(method git-fetch)
@ -1609,7 +1609,7 @@ (define-public grim
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bcvkggqszcwy6hg8g4mch3yr25ic0baafbd90af5s5mrhrjxxxz"))))
(base32 "0brljl4zfbn5mh9hkfrfkvd27c5y9vdkgap9r1hrfy9r1x20sskn"))))
(build-system meson-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("cairo" ,cairo)
@ -1626,7 +1626,7 @@ (define-public grim
(define-public slurp
(package
(name "slurp")
(version "1.0.1")
(version "1.2.0")
(source
(origin
(method git-fetch)
@ -1635,7 +1635,7 @@ (define-public slurp
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "072lkwhpvr753wfqzmd994bnhbrgfavxcgqcyml7abab28sdhs1y"))))
(base32 "0580m6kaiilgsrcj608r837r37sl6a25y7w21p7d6ij20fs3gvg1"))))
(build-system meson-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("cairo" ,cairo)

View file

@ -430,8 +430,8 @@ (define* (make-linux-libre version hash supported-systems
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
(define %linux-libre-version "5.1.7")
(define %linux-libre-hash "0hr4sbapdpgdkb6xg1f7bpc31242yiqdvy5sfpymsrzfslr8vwy1")
(define %linux-libre-version "5.1.8")
(define %linux-libre-hash "1vkirlz9vsvym8fdbvj308n3hj8f9j8n9m267x0dhlgbmig570j2")
(define %linux-libre-5.1-patches
(list %boot-logo-patch
@ -448,8 +448,8 @@ (define-public linux-libre-headers-5.1
(make-linux-libre-headers %linux-libre-version
%linux-libre-hash))
(define %linux-libre-4.19-version "4.19.48")
(define %linux-libre-4.19-hash "04jwwzc9wbhx33i4bhm3vbs52vxlb8kjdmfjpfild94xbk8m2wy4")
(define %linux-libre-4.19-version "4.19.49")
(define %linux-libre-4.19-hash "0dxmm8190h0g5indj3sqfipkji10y3icr8xnf7bbz7086nkkrcvz")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@ -466,22 +466,8 @@ (define-public linux-libre-headers-4.19
(make-linux-libre-headers %linux-libre-4.19-version
%linux-libre-4.19-hash))
(define %linux-libre-4.15-version "4.15.18")
(define %linux-libre-4.15-hash "0f0s4drx888ydlwjcm9qcxqian4850yiv2vamyw9bbjf83frwxyw")
(define-public linux-libre-4.15
(make-linux-libre %linux-libre-4.15-version
%linux-libre-4.15-hash
'("x86_64-linux" "i686-linux" "armhf-linux")
#:configuration-file kernel-config))
(define-public linux-libre-headers-4.15
(make-linux-libre-headers %linux-libre-4.15-version
%linux-libre-4.15-hash))
(define %linux-libre-4.14-version "4.14.123")
(define %linux-libre-4.14-hash "185kf576rwhsaq7jqrnmg8r5fh2nh4k8lifxaxwi3amshnwbj2qg")
(define %linux-libre-4.14-version "4.14.124")
(define %linux-libre-4.14-hash "0z9iaz1rcm9472rjvcihmq65ygyks07j6kbiqm989r9rb4dw6ghg")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -4405,15 +4391,16 @@ (define-public libseccomp
(define-public radeontop
(package
(name "radeontop")
(version "1.1")
(home-page "https://github.com/clbr/radeontop/")
(source (origin
(method url-fetch)
(uri (string-append home-page "archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1fv06j5c99imvzkac3j40lgjhr5b2i77fnyffhlvj92bli1fm1c6"))))
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clbr/radeontop.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1b1m30r2nfwqkajqw6m01xmfhlq83z1qylyijxg7962mp9x2k0gw"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -4437,6 +4424,7 @@ (define-public radeontop
("libpciaccess" ,libpciaccess)
("libxcb" ,libxcb)
("ncurses" ,ncurses)))
(home-page "https://github.com/clbr/radeontop/")
(synopsis "Usage monitor for AMD Radeon graphics")
(description "RadeonTop monitors resource consumption on supported AMD
Radeon Graphics Processing Units (GPUs), either in real time as bar graphs on

View file

@ -581,7 +581,7 @@ (define-public bogofilter
(define-public offlineimap
(package
(name "offlineimap")
(version "7.2.3")
(version "7.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -590,7 +590,7 @@ (define-public offlineimap
(file-name (git-file-name name version))
(sha256
(base32
"18sdnhjldn8zs03bgqy1qa3ikmlfvyxcvwp3nbnv1a74biccqbpa"))))
"0h5q5nk2p2vx86w6rrbs7v70h81dpqqr68x6l3klzl3m0yj9agb1"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)))

View file

@ -0,0 +1,41 @@
Fixes compilation with Mesa >= 18.2.5.
Taken from upstream:
https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47
diff --git a/include/allegro5/allegro_opengl.h b/include/allegro5/allegro_opengl.h
index 0f86a6768..652dd024e 100644
--- a/include/allegro5/allegro_opengl.h
+++ b/include/allegro5/allegro_opengl.h
@@ -103,10 +103,14 @@
/* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
#define __glext_h_
+#define __gl_glext_h_
#define __glxext_h_
+#define __glx_glxext_h_
#include <GL/gl.h>
#undef __glext_h_
+#undef __gl_glext_h_
#undef __glxext_h_
+#undef __glx_glxext_h_
#endif /* ALLEGRO_MACOSX */
diff --git a/include/allegro5/opengl/GLext/glx_ext_defs.h b/include/allegro5/opengl/GLext/glx_ext_defs.h
index 49c502091..fba8aea5d 100644
--- a/include/allegro5/opengl/GLext/glx_ext_defs.h
+++ b/include/allegro5/opengl/GLext/glx_ext_defs.h
@@ -1,7 +1,9 @@
/* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
#define __glxext_h_
+#define __glx_glxext_h_
#include <GL/glx.h>
#undef __glxext_h_
+#undef __glx_glxext_h_
#ifndef GLX_VERSION_1_3
#define _ALLEGRO_GLX_VERSION_1_3
--
2.20.0

View file

@ -1404,13 +1404,13 @@ (define-public r-mime
(define-public r-markdown
(package
(name "r-markdown")
(version "0.9")
(version "1.0")
(source (origin
(method url-fetch)
(uri (cran-uri "markdown" version))
(sha256
(base32
"08xzs4bcf12jxp0276m6xqvq8kcgg5qp6fxrvsz6r9x73jjccs1h"))))
"19nrz0ba1yd5kicd65crkkz2r3kialm2hm6zdkp495l2s5r80b8p"))))
(build-system r-build-system)
;; Skip check phase because the tests require the r-knitr package to be
;; installed. This prevents installation failures. Knitr normally
@ -1670,14 +1670,14 @@ (define-public r-rlang
(define-public r-tibble
(package
(name "r-tibble")
(version "2.1.2")
(version "2.1.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "tibble" version))
(sha256
(base32
"1sb5j6k8hp7yf7grjjhn45hhc163fcndiw9zw976zc74f1856kpj"))))
"06jfayiip8j8ibdhw3fvxn4n8aqbqhwanrszpzlsf92xdfgfm34s"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cli" ,r-cli)
@ -1731,14 +1731,14 @@ (define-public r-dplyr
(define-public r-dbplyr
(package
(name "r-dbplyr")
(version "1.4.0")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "dbplyr" version))
(sha256
(base32
"0f4gfkzl07gfwihyc747kdnzxahaw2g28wli4jmikrvczldvjqjx"))))
"15fs66qq2p20gi3y2jlcsw27ach8rwkkkgr1mz2qbiyddbsjks6g"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@ -2882,13 +2882,13 @@ (define-public r-rcurl
(define-public r-xml
(package
(name "r-xml")
(version "3.98-1.19")
(version "3.98-1.20")
(source (origin
(method url-fetch)
(uri (cran-uri "XML" version))
(sha256
(base32
"1axyfa56q45x7z4zd56aasdn9hz9niv2vv5qm1zp9i94vyic9cc1"))))
"0n28m8iz1wfgixr7fjswl238c5w9kggsrw0c8hdzp859dqvqdbs6"))))
(properties
`((upstream-name . "XML")))
(build-system r-build-system)
@ -3365,14 +3365,14 @@ (define-public r-rtsne
(define-public r-e1071
(package
(name "r-e1071")
(version "1.7-1")
(version "1.7-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "e1071" version))
(sha256
(base32
"1zlxz3da216q6v6r4ff60il121xwz7g7m639vzdwglhw3jjh8psw"))))
"0lipj692rjjw8rrhqh2k9i5dh8y2sjrw9q53rwm32irhx2f2j73j"))))
(build-system r-build-system)
(propagated-inputs
`(("r-class" ,r-class)))
@ -4772,14 +4772,14 @@ (define-public r-mclust
(define-public r-prabclus
(package
(name "r-prabclus")
(version "2.2-7.1")
(version "2.3-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "prabclus" version))
(sha256
(base32
"0x998nidd7abq5nqynyr8q79z056qbli23mvad6f09fjn2xz6nrc"))))
"1h5k13w8mmmdy74l145zh64f339wy78z1nlg8xr3zg23gmv98cpg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
@ -4968,14 +4968,14 @@ (define-public r-trimcluster
(define-public r-fpc
(package
(name "r-fpc")
(version "2.2-1")
(version "2.2-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "fpc" version))
(sha256
(base32
"183awn9fbigsy3rwmg5l39zpfg2zpbb94hkx7k99v2dir8dpdy85"))))
"1lzqxi2jzc753j4356b949isx2nccd32mw2ch665q78nxccp145n"))))
(build-system r-build-system)
(propagated-inputs
`(("r-class" ,r-class)
@ -5139,14 +5139,14 @@ (define-public r-matrixmodels
(define-public r-quantreg
(package
(name "r-quantreg")
(version "5.38")
(version "5.40")
(source
(origin
(method url-fetch)
(uri (cran-uri "quantreg" version))
(sha256
(base32
"1vvvnk291f0dccg04l3nsnk585gq75sk0b2vdbrqv3lczvv18nw1"))))
"1srni6lkgvy44ljxndz2j9ca702z2wy81f6z6mbbi6h06ni11qw6"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
@ -5377,14 +5377,14 @@ (define-public r-mnormt
(define-public r-numderiv
(package
(name "r-numderiv")
(version "2016.8-1")
(version "2016.8-1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "numDeriv" version))
(sha256
(base32
"07ni52rwiap4wilfz94w5mrqaxr59axxmgn57857ip4p6qkiss0v"))))
"0idk02pqkziik932bd8k72d1q775g1is3m4bc861pcxfz6gx3i6q"))))
(properties `((upstream-name . "numDeriv")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/numDeriv")

View file

@ -28,7 +28,7 @@ (define-module (gnu packages tbb)
(define-public tbb
(package
(name "tbb")
(version "2019_U6")
(version "2019_U8")
(source (origin
(method git-fetch)
(uri (git-reference
@ -37,7 +37,7 @@ (define-public tbb
(file-name (git-file-name name version))
(sha256
(base32
"1zbf06l659vq6s5wp3ln96ycwcd42caffan5vilqvqyxqvjljyic"))
"0z0kh1a5g28gckcxlv3x7qqskh5fsl8knf2ypbbvk7z9ln9k3wfq"))
(modules '((guix build utils)))
(snippet
'(begin

View file

@ -924,7 +924,7 @@ (define-public tmate
(define-public kitty
(package
(name "kitty")
(version "0.14.1")
(version "0.14.2")
(home-page "https://sw.kovidgoyal.net/kitty/")
(source
(origin
@ -935,7 +935,7 @@ (define-public kitty
(file-name (git-file-name name version))
(sha256
(base32
"0nm8l8ki0csdapf5mj3vg605ki5hjsx7h7i3m01x1a4vjzjmk8bv"))
"15iv3k7iryf10n8n67d37x24pzcarq97a3dr42lbld00k1lx19az"))
(modules '((guix build utils)))
(snippet
'(begin

View file

@ -310,7 +310,7 @@ (define-public wine-minimal
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
(version "4.9")
(version "4.10")
(source
(origin
(method git-fetch)
@ -320,7 +320,7 @@ (define-public wine-staging-patchset-data
(file-name (git-file-name name version))
(sha256
(base32
"17v66rsxvm3grglidxxzllw4msfrgwg35hmzanvrf8x8jfzjlvv2"))))
"0kl5718c4xk8d1va1jb5jaa2n0vw3l0hi6bpc7siaww1fp64hy98"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@ -366,7 +366,7 @@ (define-public wine-staging
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"16vrzhhk0x862mfhninx5515s76j2kbjgmz7gzdigjzkzwi8x14i"))))
"041d3km85iqbshspy9av1fxjwq18xldrb18j04xl2fmpv1hq3pas"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("faudio" ,faudio)
("ffmpeg" ,ffmpeg)

View file

@ -28,6 +28,7 @@ (define-module (gnu services base)
#:use-module (guix store)
#:use-module (guix deprecation)
#:use-module (gnu services)
#:use-module (gnu services admin)
#:use-module (gnu services shepherd)
#:use-module (gnu system pam)
#:use-module (gnu system shadow) ; 'user-account', etc.
@ -1824,7 +1825,8 @@ (define (config->compression-options config)
#:environment-variables
(list (string-append "GUIX_LOCPATH="
#$glibc-utf8-locales "/lib/locale")
"LC_ALL=en_US.utf8")))
"LC_ALL=en_US.utf8")
#:log-file "/var/log/guix-publish.log"))
(stop #~(make-kill-destructor))))))
(define %guix-publish-accounts
@ -1837,6 +1839,10 @@ (define %guix-publish-accounts
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin")))))
(define %guix-publish-log-rotations
(list (log-rotation
(files (list "/var/log/guix-publish.log")))))
(define (guix-publish-activation config)
(let ((cache (guix-publish-configuration-cache config)))
(if cache
@ -1858,6 +1864,8 @@ (define guix-publish-service-type
guix-publish-shepherd-service)
(service-extension account-service-type
(const %guix-publish-accounts))
(service-extension rottlog-service-type
(const %guix-publish-log-rotations))
(service-extension activation-service-type
guix-publish-activation)))
(default-value (guix-publish-configuration))

112
gnu/services/nix.scm Normal file
View file

@ -0,0 +1,112 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; 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 services nix)
#:use-module (gnu packages admin)
#:use-module (gnu packages package-management)
#:use-module (gnu services base)
#:use-module (gnu services configuration)
#:use-module (gnu services shepherd)
#:use-module (gnu services web)
#:use-module (gnu services)
#:use-module (gnu system shadow)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix store)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (nix-service-type))
;;; Commentary:
;;;
;;; This module provides a service definition for the Nix daemon.
;;;
;;; Code:
;;;
;;; Accounts
;;;
;; Copied from gnu/services/base.scm
(define* (nix-build-accounts count #:key
(group "nixbld")
(shadow shadow))
"Return a list of COUNT user accounts for Nix build users with the given
GID."
(unfold (cut > <> count)
(lambda (n)
(user-account
(name (format #f "nixbld~2,'0d" n))
(system? #t)
(group group)
(supplementary-groups (list group "kvm"))
(comment (format #f "Nix Build User ~2d" n))
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin"))))
1+
1))
(define (nix-accounts _)
"Return the user accounts and user groups."
(cons (user-group
(name "nixbld")
(system? #t)
;; Use a fixed GID so that we can create the store with the right
;; owner.
(id 40000))
(nix-build-accounts 10 #:group "nixbld")))
(define (nix-activation _)
"Return the activation gexp."
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(for-each (cut mkdir-p <>) '("/nix/store" "/nix/var/log"
"/nix/var/nix/gcroots/per-user"
"/nix/var/nix/profiles/per-user"))
(chown "/nix/store"
(passwd:uid (getpw "root")) (group:gid (getpw "nixbld01")))
(chmod "/nix/store" #o775)
(for-each (cut chmod <> #o777) '("/nix/var/nix/profiles"
"/nix/var/nix/profiles/per-user")))))
(define (nix-shepherd-service _)
"Return a <shepherd-service> for Nix."
(list
(shepherd-service
(provision '(nix-daemon))
(documentation "Run nix-daemon.")
(requirement '())
(start #~(make-forkexec-constructor
(list (string-append #$nix "/bin/nix-daemon"))))
(respawn? #f)
(stop #~(make-kill-destructor)))))
(define nix-service-type
(service-type
(name 'nix)
(extensions
(list (service-extension shepherd-root-service-type nix-shepherd-service)
(service-extension account-service-type nix-accounts)
(service-extension activation-service-type nix-activation)))
(default-value '())
(description "Run the Nix daemon.")))
;;; nix.scm ends here

View file

@ -465,7 +465,7 @@ (define %default-slim-theme
(define %default-slim-theme-name
;; This must be the name of the sub-directory in %DEFAULT-SLIM-THEME that
;; contains the actual theme files.
"0.x")
"1.x")
(define-record-type* <slim-configuration>
slim-configuration make-slim-configuration

View file

@ -982,12 +982,17 @@ (define rewritten-input
(define* (build-derivations store derivations
#:optional (mode (build-mode normal)))
"Build DERIVATIONS, a list of <derivation> objects or .drv file names, using
the specified MODE."
"Build DERIVATIONS, a list of <derivation> objects, .drv file names, or
derivation/output pairs, using the specified MODE."
(build-things store (map (match-lambda
((? derivation? drv)
(derivation-file-name drv))
((? string? file) file)
((and drv ($ <derivation>))
(derivation-file-name drv)))
(((? derivation? drv) . output)
(cons (derivation-file-name drv)
output))
(((? string? file) . output)
(cons file output)))
derivations)
mode))

View file

@ -393,8 +393,8 @@ (define (guix-publish host)
(module-autoload! (current-module)
'(guix base16) '(bytevector->base16-string))
(list (guix-publish "mirror.hydra.gnu.org")
(guix-publish "berlin.guixsd.org")
(list (guix-publish "ci.guix.gnu.org")
(guix-publish "mirror.hydra.gnu.org")
(lambda (file algo hash)
;; 'tarballs.nixos.org' supports several algorithms.
(string-append "https://tarballs.nixos.org/"

View file

@ -621,9 +621,9 @@ (define (latest-kde-release package)
(false-if-ftp-error
(latest-ftp-release
(package-upstream-name package)
#:server "mirrors.mit.edu"
#:directory
(string-append "/kde" (dirname (dirname (uri-path uri))))))))
#:server "ftp.mirrorservice.org"
#:directory (string-append "/sites/ftp.kde.org/pub/kde/"
(dirname (dirname (uri-path uri))))))))
(define (latest-xorg-release package)
"Return the latest release of PACKAGE, the name of an X.org package."

View file

@ -455,8 +455,9 @@ (define build
#$profile
#:database #+database
#:system (or #$target (utsname:machine (uname)))
#:entry-point (string-append #$profile "/"
#$entry-point)
#:entry-point #$(and entry-point
#~(string-append #$profile "/"
#$entry-point))
#:symlinks '#$symlinks
#:compressor '#$(compressor-command compressor)
#:creation-time (make-time time-utc 0 1))))))

View file

@ -33,6 +33,7 @@ (define-module (guix ssh)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:use-module (ice-9 binary-ports)
#:export (open-ssh-session
remote-inferior

View file

@ -1211,16 +1211,22 @@ (define build-things
"Build THINGS, a list of store items which may be either '.drv' files or
outputs, and return when the worker is done building them. Elements of THINGS
that are not derivations can only be substituted and not built locally.
Return #t on success."
(parameterize ((current-store-protocol-version
(store-connection-version store)))
(if (>= (store-connection-minor-version store) 15)
(build store things mode)
(if (= mode (build-mode normal))
(build/old store things)
(raise (condition (&store-protocol-error
(message "unsupported build mode")
(status 1))))))))))
Alternately, an element of THING can be a derivation/output name pair, in
which case the daemon will attempt to substitute just the requested output of
the derivation. Return #t on success."
(let ((things (map (match-lambda
((drv . output) (string-append drv "!" output))
(thing thing))
things)))
(parameterize ((current-store-protocol-version
(store-connection-version store)))
(if (>= (store-connection-minor-version store) 15)
(build store things mode)
(if (= mode (build-mode normal))
(build/old store things)
(raise (condition (&store-protocol-error
(message "unsupported build mode")
(status 1)))))))))))
(define-operation (add-temp-root (store-path path))
"Make PATH a temporary root for the duration of the current session.

File diff suppressed because it is too large Load diff

View file

@ -787,6 +787,28 @@ (define %coreutils
(build-derivations store (list drv))
#f)))
(test-assert "build-derivations with specific output"
(with-store store
(let* ((content (random-text)) ;contents of the output
(drv (build-expression->derivation
store "substitute-me"
`(begin ,content (exit 1)) ;would fail
#:outputs '("out" "one" "two")
#:guile-for-build
(package-derivation store %bootstrap-guile)))
(out (derivation->output-path drv)))
(with-derivation-substitute drv content
(set-build-options store #:use-substitutes? #t
#:substitute-urls (%test-substitute-urls))
(and (has-substitutes? store out)
;; Ask for nothing but the "out" output of DRV.
(build-derivations store `((,drv . "out")))
(valid-path? store out)
(equal? (pk 'x content) (pk 'y (call-with-input-file out get-string-all)))
)))))
(test-assert "build-expression->derivation and derivation-prerequisites-to-build"
(let ((drv (build-expression->derivation %store "fail" #f)))
;; The only direct dependency is (%guile-for-build) and it's already

View file

@ -599,6 +599,26 @@ (define (same? x y)
(valid-path? s o)
(equal? c (call-with-input-file o get-string-all)))))))
(test-assert "substitute + build-things with specific output"
(with-store s
(let* ((c (random-text)) ;contents of the output
(d (build-expression->derivation
s "substitute-me" `(begin ,c (exit 1)) ;would fail
#:outputs '("out" "one" "two")
#:guile-for-build
(package-derivation s %bootstrap-guile (%current-system))))
(o (derivation->output-path d)))
(with-derivation-substitute d c
(set-build-options s #:use-substitutes? #t
#:substitute-urls (%test-substitute-urls))
(and (has-substitutes? s o)
;; Ask for nothing but the "out" output of D.
(build-things s `((,(derivation-file-name d) . "out")))
(valid-path? s o)
(equal? c (call-with-input-file o get-string-all)))))))
(test-assert "substitute, corrupt output hash"
;; Tweak the substituter into installing a substitute whose hash doesn't
;; match the one announced in the narinfo. The daemon must notice this and