Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2020-03-14 01:42:02 +01:00
commit bb4674b43f
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
71 changed files with 1579 additions and 524 deletions

View file

@ -83,6 +83,7 @@
(eval . (put 'wrap-program 'scheme-indent-function 1)) (eval . (put 'wrap-program 'scheme-indent-function 1))
(eval . (put 'with-imported-modules 'scheme-indent-function 1)) (eval . (put 'with-imported-modules 'scheme-indent-function 1))
(eval . (put 'with-extensions 'scheme-indent-function 1)) (eval . (put 'with-extensions 'scheme-indent-function 1))
(eval . (put 'with-parameters 'scheme-indent-function 1))
(eval . (put 'with-database 'scheme-indent-function 2)) (eval . (put 'with-database 'scheme-indent-function 2))
(eval . (put 'call-with-transaction 'scheme-indent-function 2)) (eval . (put 'call-with-transaction 'scheme-indent-function 2))

View file

@ -541,6 +541,7 @@ EXTRA_DIST += \
scripts/guix.in \ scripts/guix.in \
etc/guix-install.sh \ etc/guix-install.sh \
etc/news.scm \ etc/news.scm \
etc/release-manifest.scm \
etc/system-tests.scm \ etc/system-tests.scm \
build-aux/build-self.scm \ build-aux/build-self.scm \
build-aux/compile-all.scm \ build-aux/compile-all.scm \
@ -551,7 +552,6 @@ EXTRA_DIST += \
build-aux/cuirass/gnu-system.scm \ build-aux/cuirass/gnu-system.scm \
build-aux/cuirass/guix-modular.scm \ build-aux/cuirass/guix-modular.scm \
build-aux/cuirass/hydra-to-cuirass.scm \ build-aux/cuirass/hydra-to-cuirass.scm \
build-aux/check-available-binaries.scm \
build-aux/check-final-inputs-self-contained.scm \ build-aux/check-final-inputs-self-contained.scm \
build-aux/compile-as-derivation.scm \ build-aux/compile-as-derivation.scm \
build-aux/generate-authors.scm \ build-aux/generate-authors.scm \
@ -851,8 +851,9 @@ assert-no-store-file-names:
# Make sure important substitutes are available. # Make sure important substitutes are available.
assert-binaries-available: $(GOBJECTS) assert-binaries-available: $(GOBJECTS)
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ $(AM_V_at)$(top_builddir)/pre-inst-env \
"$(top_srcdir)/build-aux/check-available-binaries.scm" guix weather -m "$(top_srcdir)/etc/release-manifest.scm" \
--display-missing
# Make sure the final inputs don't refer to bootstrap tools. # Make sure the final inputs don't refer to bootstrap tools.
assert-final-inputs-self-contained: $(GOBJECTS) assert-final-inputs-self-contained: $(GOBJECTS)

View file

@ -1,78 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;;;
;;; Check whether important binaries are available.
;;;
(use-modules (guix store)
(guix grafts)
(guix packages)
(guix derivations)
(gnu packages)
(gnu packages certs)
(gnu packages emacs)
(gnu packages make-bootstrap)
(gnu packages ssh)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 format))
(define (packages-for-system system)
"Return the list of packages to check for SYSTEM."
(let ((base (list %bootstrap-tarballs emacs nss-certs openssh)))
;; On Intel systems, make sure key packages proposed by the installer are
;; available.
(if (member system '("x86_64-linux" "i686-linux"))
(append (map specification->package
'("xfce" "gnome" "mate" "enlightenment"
"openbox" "awesome" "i3-wm" "ratpoison"
"network-manager-applet" "xlockmore"
"linux-libre" "grub-hybrid" "xorg-server"
"libreoffice"
;; FIXME: Add IceCat when Rust is available on i686.
#;"icecat"))
base)
base)))
(with-store store
(parameterize ((%graft? #f))
(let* ((native (append-map (lambda (system)
(map (cut package-derivation store <> system)
(packages-for-system system)))
%hydra-supported-systems))
(cross (map (cut package-cross-derivation store
%bootstrap-tarballs <>)
'("mips64el-linux-gnu"
"arm-linux-gnueabihf")))
(total (append native cross)))
(set-build-options store
#:use-substitutes? #t
#:substitute-urls %default-substitute-urls)
(let* ((total (map derivation->output-path total))
(available (substitutable-paths store total))
(missing (lset-difference string=? total available)))
(if (null? missing)
(format (current-error-port)
"~a packages found substitutable on~{ ~a~}~%"
(length total) %hydra-supported-systems)
(format (current-error-port)
"~a packages are not substitutable:~%~{ ~a~%~}~%"
(length missing) missing))
(exit (null? missing))))))

View file

@ -612,11 +612,12 @@ To avoid confusion and naming clashes with other programming languages, it
seems desirable that the name of a package for a Python module contains seems desirable that the name of a package for a Python module contains
the word @code{python}. the word @code{python}.
Some modules are compatible with only one version of Python, others with both. Some modules are compatible with only one version of Python, others with
If the package Foo compiles only with Python 3, we name it both. If the package Foo is compiled with Python 3, we name it
@code{python-foo}; if it compiles only with Python 2, we name it @code{python-foo}. If it is compiled with Python 2, we name it
@code{python2-foo}. If it is compatible with both versions, we create two @code{python2-foo}. Packages should be added when they are necessary;
packages with the corresponding names. we don't add Python 2 variants of the package unless we are going to use
them.
If a project already contains the word @code{python}, we drop this; If a project already contains the word @code{python}, we drop this;
for instance, the module python-dateutil is packaged under the names for instance, the module python-dateutil is packaged under the names

View file

@ -28,7 +28,7 @@ Copyright @copyright{} 2014, 2015, 2016 Alex Kost@*
Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@*
Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2014 Pierre-Antoine Rault@*
Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
Copyright @copyright{} 2015, 2016, 2017, 2019 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020 Leo Famulari@*
Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016 Ben Woodcroft@*
Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@*
@ -3122,7 +3122,7 @@ the store.
@itemx -A [@var{regexp}] @itemx -A [@var{regexp}]
List packages currently available in the distribution for this system List packages currently available in the distribution for this system
(@pxref{GNU Distribution}). When @var{regexp} is specified, list only (@pxref{GNU Distribution}). When @var{regexp} is specified, list only
installed packages whose name matches @var{regexp}. available packages whose name matches @var{regexp}.
For each package, print the following items separated by tabs: its name, For each package, print the following items separated by tabs: its name,
its version string, the parts of the package (@pxref{Packages with its version string, the parts of the package (@pxref{Packages with
@ -8022,6 +8022,25 @@ the second case, the resulting script contains a @code{(string-append
@dots{})} expression to construct the file name @emph{at run time}. @dots{})} expression to construct the file name @emph{at run time}.
@end deffn @end deffn
@deffn {Scheme Syntax} with-parameters ((@var{parameter} @var{value}) @dots{}) @var{exp}
This macro is similar to the @code{parameterize} form for
dynamically-bound @dfn{parameters} (@pxref{Parameters,,, guile, GNU
Guile Reference Manual}). The key difference is that it takes effect
when the file-like object returned by @var{exp} is lowered to a
derivation or store item.
A typical use of @code{with-parameters} is to force the system in effect
for a given object:
@lisp
(with-parameters ((%current-system "i686-linux"))
coreutils)
@end lisp
The example above returns an object that corresponds to the i686 build
of Coreutils, regardless of the current value of @code{%current-system}.
@end deffn
Of course, in addition to gexps embedded in ``host'' code, there are Of course, in addition to gexps embedded in ``host'' code, there are
also modules containing build tools. To make it clear that they are also modules containing build tools. To make it clear that they are
@ -10790,8 +10809,11 @@ guix weather @var{options}@dots{} [@var{packages}@dots{}]
When @var{packages} is omitted, @command{guix weather} checks the availability When @var{packages} is omitted, @command{guix weather} checks the availability
of substitutes for @emph{all} the packages, or for those specified with of substitutes for @emph{all} the packages, or for those specified with
@option{--manifest}; otherwise it only considers the specified packages. It @option{--manifest}; otherwise it only considers the specified packages. It
is also possible to query specific system types with @option{--system}. The is also possible to query specific system types with @option{--system}.
available options are listed below. @command{guix weather} exits with a non-zero code when the fraction of
available substitutes is below 100%.
The available options are listed below.
@table @code @table @code
@item --substitute-urls=@var{urls} @item --substitute-urls=@var{urls}
@ -10811,6 +10833,9 @@ specified in @var{file}. @var{file} must contain a @dfn{manifest}, as
with the @code{-m} option of @command{guix package} (@pxref{Invoking with the @code{-m} option of @command{guix package} (@pxref{Invoking
guix package}). guix package}).
This option can be repeated several times, in which case the manifests
are concatenated.
@item --coverage[=@var{count}] @item --coverage[=@var{count}]
@itemx -c [@var{count}] @itemx -c [@var{count}]
Report on substitute coverage for packages: list packages with at least Report on substitute coverage for packages: list packages with at least
@ -10841,6 +10866,9 @@ likewise for @code{qgpgme} and the 46 packages that depend on it.
If you are a Guix developer, or if you are taking care of this build farm, If you are a Guix developer, or if you are taking care of this build farm,
you'll probably want to have a closer look at these packages: they may simply you'll probably want to have a closer look at these packages: they may simply
fail to build. fail to build.
@item --display-missing
Display the list of store items for which substitutes are missing.
@end table @end table
@node Invoking guix processes @node Invoking guix processes

108
etc/release-manifest.scm Normal file
View file

@ -0,0 +1,108 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;;; This file returns a manifest containing release-critical bit, for all the
;;; supported architectures and cross-compilation targets.
(use-modules (gnu packages)
(guix packages)
(guix profiles)
((gnu ci) #:select (%cross-targets))
(srfi srfi-1)
(srfi srfi-26))
(define* (package->manifest-entry* package system
#:key target)
"Return a manifest entry for PACKAGE on SYSTEM, optionally cross-compiled to
TARGET."
(manifest-entry
(inherit (package->manifest-entry package))
(name (string-append (package-name package) "." system
(if target
(string-append "." target)
"'")))
(item (with-parameters ((%current-system system)
(%current-target-system target))
package))))
(define %base-packages
;; Packages that must be substitutable on all the platforms Guix supports.
(map specification->package
'("bootstrap-tarballs" "gcc-toolchain" "nss-certs"
"openssh" "emacs" "vim" "python" "guile" "guix")))
(define %system-packages
;; Key packages proposed by the Guix System installer.
(map specification->package
'("xorg-server" "xfce" "gnome" "mate" "enlightenment"
"openbox" "awesome" "i3-wm" "ratpoison"
"xlockmore" "slock" "libreoffice"
"connman" "network-manager" "network-manager-applet"
"openssh" "ntp" "tor"
"linux-libre" "grub-hybrid"
;; FIXME: Add IceCat when Rust is available on i686.
;;"icecat"
)))
(define %packages-to-cross-build
;; Packages that must be cross-buildable from x86_64-linux.
(cons (@ (gnu packages gcc) gcc)
(map specification->package
'("coreutils" "grep" "sed" "findutils" "diffutils" "patch"
"gawk" "gettext" "gzip" "xz"
"hello" "guile@2.2" "zlib"))))
(define %cross-bootstrap-targets
;; Cross-compilation triplets for which 'bootstrap-tarballs' must be
;; buildable.
'("i586-pc-gnu"
"arm-linux-gnueabihf"
"aarch64-linux-gnu"))
;;;
;;; Manifests.
;;;
(define %base-manifest
(manifest
(append-map (lambda (system)
(map (cut package->manifest-entry* <> system)
%base-packages))
%hydra-supported-systems)))
(define %cross-manifest
(manifest
(append-map (lambda (target)
(map (cut package->manifest-entry* <> "x86_64-linux"
#:target target)
%packages-to-cross-build))
%cross-targets)))
(define %cross-bootstrap-manifest
(manifest
(map (lambda (target)
(package->manifest-entry*
(specification->package "bootstrap-tarballs")
"x86_64-linux" #:target target))
%cross-bootstrap-targets)))
;; Return the union of all three manifests.
(concatenate-manifests (list %base-manifest
%cross-manifest
%cross-bootstrap-manifest))

View file

@ -55,7 +55,8 @@
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:export (channel-source->package #:export (%cross-targets
channel-source->package
hydra-jobs)) hydra-jobs))
;;; Commentary: ;;; Commentary:

View file

@ -763,6 +763,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \
%D%/packages/patches/bluez-CVE-2020-0556.patch \
%D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-bs4.patch \ %D%/packages/patches/calibre-remove-test-bs4.patch \

View file

@ -3170,7 +3170,16 @@ late.")
version "/launchmon-v" version ".tar.gz")) version "/launchmon-v" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x")))) "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))
(modules '((guix build utils)))
(snippet
'(begin
;; Fix build failure with GCC 7 due to a conversion error.
;; Remove for versions > 1.0.2.
(substitute* "launchmon/src/linux/lmon_api/lmon_coloc_spawner.cxx"
((" lmonpl = '\\\\0'")
" *lmonpl = '\\0'"))
#t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("mpi" ,openmpi) `(("mpi" ,openmpi)

View file

@ -1306,7 +1306,7 @@ PS, and DAB+.")
#t))))) #t)))))
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("unzip" ,unzip)))
(home-page "http://faust.grame.fr/") (home-page "https://faust.grame.fr/")
(synopsis "Signal processing language") (synopsis "Signal processing language")
(description (description
"Faust is a programming language for realtime audio signal processing.") "Faust is a programming language for realtime audio signal processing.")
@ -2992,7 +2992,7 @@ synthesizer written in C++.")
(string-append "--prefix=" (assoc-ref outputs "out")))))) (string-append "--prefix=" (assoc-ref outputs "out"))))))
;; No 'check' target. ;; No 'check' target.
#:tests? #f)) #:tests? #f))
(home-page "http://themaister.net/rsound.html") (home-page "https://themaister.net/rsound.html")
(synopsis "Networked audio system") (synopsis "Networked audio system")
(description (description
"RSound allows you to send audio from an application and transfer it "RSound allows you to send audio from an application and transfer it

View file

@ -243,7 +243,7 @@ Autobuild generates an HTML summary file, containing links to each build log.
The summary includes project name, version, build hostname, host type (cross The summary includes project name, version, build hostname, host type (cross
compile aware), date of build, and indication of success or failure. The compile aware), date of build, and indication of success or failure. The
output is indexed in many ways to simplify browsing.") output is indexed in many ways to simplify browsing.")
(home-page "http://josefsson.org/autobuild/") (home-page "https://josefsson.org/autobuild/")
(license gpl3+))) (license gpl3+)))
(define-public automake (define-public automake

View file

@ -520,13 +520,14 @@ detection, and lossless compression.")
(define-public borg (define-public borg
(package (package
(name "borg") (name "borg")
(version "1.1.10") (version "1.1.11")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "borgbackup" version)) (uri (pypi-uri "borgbackup" version))
(sha256 (sha256
(base32 "1pp70p4n5kamvcbl4d8021ggrxhyykmg9isjg4yd3wags8b19d7g")) (base32
"190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -3605,14 +3605,14 @@ profiles (GO and KEGG) of gene and gene clusters.")
(define-public r-mlinterfaces (define-public r-mlinterfaces
(package (package
(name "r-mlinterfaces") (name "r-mlinterfaces")
(version "1.66.4") (version "1.66.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "MLInterfaces" version)) (uri (bioconductor-uri "MLInterfaces" version))
(sha256 (sha256
(base32 (base32
"19hlicdndy2p45y7w91gnwi3wgq5s465a646z3qqk8gmn5sn614q")))) "05bg7qcrv485m03rkyq3qg5hrr1m3y7zx49bipwaivzqm3s1mbw5"))))
(properties `((upstream-name . "MLInterfaces"))) (properties `((upstream-name . "MLInterfaces")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5570,14 +5570,14 @@ manipulation of flow cytometry data.")
(define-public r-ggcyto (define-public r-ggcyto
(package (package
(name "r-ggcyto") (name "r-ggcyto")
(version "1.14.0") (version "1.14.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ggcyto" version)) (uri (bioconductor-uri "ggcyto" version))
(sha256 (sha256
(base32 (base32
"165qszvy5z176h1l3dnjb5dcm279b6bjl5n5gzz8wfn4xpn8anc8")))) "16jwdslhmj1nsa28wmaircy15cq7qn8nsyiawinjv711qiqhgw50"))))
(properties `((upstream-name . "ggcyto"))) (properties `((upstream-name . "ggcyto")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5591,6 +5591,8 @@ manipulation of flow cytometry data.")
("r-rcolorbrewer" ,r-rcolorbrewer) ("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rlang" ,r-rlang) ("r-rlang" ,r-rlang)
("r-scales" ,r-scales))) ("r-scales" ,r-scales)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/RGLab/ggcyto/issues") (home-page "https://github.com/RGLab/ggcyto/issues")
(synopsis "Visualize Cytometry data with ggplot") (synopsis "Visualize Cytometry data with ggplot")
(description (description
@ -6025,14 +6027,14 @@ genes in the gene-set that are ranked above the leading edge).")
(define-public r-cicero (define-public r-cicero
(package (package
(name "r-cicero") (name "r-cicero")
(version "1.4.2") (version "1.4.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "cicero" version)) (uri (bioconductor-uri "cicero" version))
(sha256 (sha256
(base32 (base32
"154djqd32w87814ycfmfz27ikp17bnampvmvw5hzi5p2x9l3h82r")))) "1ay1g2r0la4grcp1y8vcp211lfwzjf7j819ajzdirsh5dab8whld"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-assertthat" ,r-assertthat) `(("r-assertthat" ,r-assertthat)
@ -6056,6 +6058,8 @@ genes in the gene-set that are ranked above the leading edge).")
("r-tibble" ,r-tibble) ("r-tibble" ,r-tibble)
("r-tidyr" ,r-tidyr) ("r-tidyr" ,r-tidyr)
("r-vgam" ,r-vgam))) ("r-vgam" ,r-vgam)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/cicero/") (home-page "https://bioconductor.org/packages/cicero/")
(synopsis "Predict cis-co-accessibility from single-cell data") (synopsis "Predict cis-co-accessibility from single-cell data")
(description (description

View file

@ -2755,7 +2755,7 @@ quantitative phenotypes.")
(define-public edirect (define-public edirect
(package (package
(name "edirect") (name "edirect")
(version "12.1.20190829") (version "13.3.20200128")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect" (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect"
@ -2763,7 +2763,10 @@ quantitative phenotypes.")
"/edirect-" version ".tar.gz")) "/edirect-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1xb330z28dgp7slrvp8r7rgncsasv9lpcpqim571yg728dq7xdik")))) "093zp7klv81ph0y8mm8d78a9hnpfxbv2kdym70gzdf3vz176rw33"))
(modules '((guix build utils)))
(snippet
'(begin (delete-file "Mozilla-CA.tar.gz") #t))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -8288,7 +8291,7 @@ throughput genetic sequencing data sets using regression methods.")
(define-public r-qtl (define-public r-qtl
(package (package
(name "r-qtl") (name "r-qtl")
(version "1.45-11") (version "1.46-2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -8296,7 +8299,7 @@ throughput genetic sequencing data sets using regression methods.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1d6qgj602fm6zia3djl4hmca0ri4v57ffp3g93p2yc3cabx2hq90")))) "0rbwcnvyy96gq1dsgpxx03pv423qya26h6ws5y0blj3blfdmj83a"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://rqtl.org/") (home-page "https://rqtl.org/")
(synopsis "R package for analyzing QTL experiments in genetics") (synopsis "R package for analyzing QTL experiments in genetics")

View file

@ -9,7 +9,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -195,6 +195,29 @@ across a broad spectrum of applications.")
(symlink "libboost_python27.a" "libboost_python.a")) (symlink "libboost_python27.a" "libboost_python.a"))
#t))))))))) #t)))))))))
(define-public boost-1.69
(package
(inherit boost)
(name "boost")
(version "1.69.0")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
(string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)))
(list (string-append "mirror://sourceforge/boost/boost/" version
"/boost_" version-with-underscores ".tar.bz2")
(string-append "https://dl.bintray.com/boostorg/release/"
version "/source/boost_"
version-with-underscores ".tar.bz2"))))
(sha256
(base32
"01j4n142dz20lcgqji8d8hspp04p1nv7m8i6dz8w5lchfdhx8clg"))))
(arguments
(substitute-keyword-arguments (package-arguments boost)
((#:make-flags flags)
`(cons* "cxxflags=-std=c++14" ,flags))))
(properties '((hidden? . #t)))))
(define-public boost-for-mysql (define-public boost-for-mysql
;; Older version for MySQL 5.7.23. ;; Older version for MySQL 5.7.23.
(package (package

View file

@ -306,7 +306,7 @@ tools such as @command{grep}.")
(base32 (base32
"02pwd5m5vq7hbrffgm2na1dfc249z50yyr5jv73vdw15bd7ygl44")))) "02pwd5m5vq7hbrffgm2na1dfc249z50yyr5jv73vdw15bd7ygl44"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://daniel.haxx.se/projects/trio/") (home-page "https://daniel.haxx.se/projects/trio/")
(synopsis "Portable and extendable printf and string functions") (synopsis "Portable and extendable printf and string functions")
(description (description
"Trio is a set of @code{printf} and string functions designed be used by "Trio is a set of @code{printf} and string functions designed be used by

View file

@ -4066,20 +4066,22 @@ to variables on the left-hand side of the assignment.")
(define-public r-vctrs (define-public r-vctrs
(package (package
(name "r-vctrs") (name "r-vctrs")
(version "0.2.3") (version "0.2.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "vctrs" version)) (uri (cran-uri "vctrs" version))
(sha256 (sha256
(base32 (base32
"1pnjnxp1pwsr083qa6xp5akls6q0pnjz8pq2m9d7z3kc1886sw8w")))) "15sgzs6afvmhssk6jcg41rn3bvmzmbm4sgca6f6x8lfrsazvdj6w"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-digest" ,r-digest) `(("r-digest" ,r-digest)
("r-ellipsis" ,r-ellipsis) ("r-ellipsis" ,r-ellipsis)
("r-glue" ,r-glue) ("r-glue" ,r-glue)
("r-rlang" ,r-rlang))) ("r-rlang" ,r-rlang)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/r-lib/vctrs") (home-page "https://github.com/r-lib/vctrs")
(synopsis "Vector helpers") (synopsis "Vector helpers")
(description (description
@ -5168,14 +5170,14 @@ specific S3-method.")
(define-public r-vim (define-public r-vim
(package (package
(name "r-vim") (name "r-vim")
(version "5.1.0") (version "5.1.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "VIM" version)) (uri (cran-uri "VIM" version))
(sha256 (sha256
(base32 (base32
"09600piny3qrxrmh8844iwrvgrhwan1c3nlh6irqy1vjha2w4gb3")))) "0w22ir0gvym7gqd6nw2j7w5ivlb3az1dkfxv33imimkb7c83056a"))))
(properties `((upstream-name . "VIM"))) (properties `((upstream-name . "VIM")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5303,14 +5305,14 @@ contain lags, diffs and missing values.")
(define-public r-catdap (define-public r-catdap
(package (package
(name "r-catdap") (name "r-catdap")
(version "1.3.4") (version "1.3.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "catdap" version)) (uri (cran-uri "catdap" version))
(sha256 (sha256
(base32 (base32
"0i877l61f6c75pczi235rzci67w29zv1d7z5zn5p5ymndclvlpl2")))) "0fyhl69z2lznymvpzxra9qvcg85ggzkfjy68c6mzdmf1ja44d2k5"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
`(("gfortran" ,gfortran))) `(("gfortran" ,gfortran)))
@ -8585,20 +8587,19 @@ conversion of indices such as Cohen's d, r, odds, etc.")
(define-public r-sjplot (define-public r-sjplot
(package (package
(name "r-sjplot") (name "r-sjplot")
(version "2.8.2") (version "2.8.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "sjPlot" version)) (uri (cran-uri "sjPlot" version))
(sha256 (sha256
(base32 "16721a5006q0gv45zjcwnkykxhjkzpq5n35vhik0g0ixgm3a2vci")))) (base32 "0ip1rkjlhyf3axlc8qqss1qq1f0xrda890c1jmcbhm98wwjw264f"))))
(properties `((upstream-name . "sjPlot"))) (properties `((upstream-name . "sjPlot")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-bayestestr" ,r-bayestestr) `(("r-bayestestr" ,r-bayestestr)
("r-dplyr" ,r-dplyr) ("r-dplyr" ,r-dplyr)
("r-effectsize" ,r-effectsize) ("r-effectsize" ,r-effectsize)
("r-forcats" ,r-forcats)
("r-ggeffects" ,r-ggeffects) ("r-ggeffects" ,r-ggeffects)
("r-ggplot2" ,r-ggplot2) ("r-ggplot2" ,r-ggplot2)
("r-insight" ,r-insight) ("r-insight" ,r-insight)
@ -8613,6 +8614,8 @@ conversion of indices such as Cohen's d, r, odds, etc.")
("r-sjmisc" ,r-sjmisc) ("r-sjmisc" ,r-sjmisc)
("r-sjstats" ,r-sjstats) ("r-sjstats" ,r-sjstats)
("r-tidyr" ,r-tidyr))) ("r-tidyr" ,r-tidyr)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://strengejacke.github.io/sjPlot/") (home-page "https://strengejacke.github.io/sjPlot/")
(synopsis "Data visualization for statistics in social science") (synopsis "Data visualization for statistics in social science")
(description (description
@ -9240,14 +9243,14 @@ package provides a minimal R interface by relying on the Rcpp package.")
(define-public r-rcppparallel (define-public r-rcppparallel
(package (package
(name "r-rcppparallel") (name "r-rcppparallel")
(version "4.4.4") (version "5.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RcppParallel" version)) (uri (cran-uri "RcppParallel" version))
(sha256 (sha256
(base32 (base32
"0p13f2mywjr7gmskf8ri4y8p5yr1bvr4xrpw2w11vdvafwz1vcia")))) "1mhd6vp47xmfw533h0pkvydv96m57fspvd85g8m7iqb5rcxvhhdb"))))
(properties `((upstream-name . "RcppParallel"))) (properties `((upstream-name . "RcppParallel")))
(build-system r-build-system) (build-system r-build-system)
(home-page "http://rcppcore.github.io/RcppParallel") (home-page "http://rcppcore.github.io/RcppParallel")
@ -9823,13 +9826,13 @@ maps.")
(define-public r-tidytree (define-public r-tidytree
(package (package
(name "r-tidytree") (name "r-tidytree")
(version "0.3.1") (version "0.3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "tidytree" version)) (uri (cran-uri "tidytree" version))
(sha256 (sha256
(base32 "1bnzs62z2l8ck2h9gabmxvayizv4nfn8dmyzry83fv0cspjbyiv7")))) (base32 "0dx9jn19mfykn20camsmq1amlgg0w6z5hn5rdqygs1fk1l5aazad"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-ape" ,r-ape) `(("r-ape" ,r-ape)
@ -9838,6 +9841,8 @@ maps.")
("r-magrittr" ,r-magrittr) ("r-magrittr" ,r-magrittr)
("r-rlang" ,r-rlang) ("r-rlang" ,r-rlang)
("r-tibble" ,r-tibble))) ("r-tibble" ,r-tibble)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/GuangchuangYu/tidytree") (home-page "https://github.com/GuangchuangYu/tidytree")
(synopsis "Tidy tool for phylogenetic tree data manipulation") (synopsis "Tidy tool for phylogenetic tree data manipulation")
(description (description
@ -11200,14 +11205,14 @@ covariance functions for large data sets.")
(define-public r-spatialextremes (define-public r-spatialextremes
(package (package
(name "r-spatialextremes") (name "r-spatialextremes")
(version "2.0-7.2") (version "2.0-8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "SpatialExtremes" version)) (uri (cran-uri "SpatialExtremes" version))
(sha256 (sha256
(base32 (base32
"0aqq9ryxi4xsdqjhc1lhb7ai8szs7m2vys6nn0ygps1w3pm4xwj8")))) "0r2byz5xxc46zqnigdax28q7446ibmzmsmi10lmm2hdks3ml6sl3"))))
(properties (properties
`((upstream-name . "SpatialExtremes"))) `((upstream-name . "SpatialExtremes")))
(build-system r-build-system) (build-system r-build-system)
@ -13245,13 +13250,13 @@ also provided to illustrate various methods.")
(define-public r-pegas (define-public r-pegas
(package (package
(name "r-pegas") (name "r-pegas")
(version "0.12") (version "0.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "pegas" version)) (uri (cran-uri "pegas" version))
(sha256 (sha256
(base32 "0sb8cmz4d238mcb56hv9fa0cagm00k82r7aj4cj4lxa1flxlpy8p")))) (base32 "002i7s4g0nhnq0v05gs0yssqiyhpq2f7rw2rhn31hsbgxc86frvy"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-adegenet" ,r-adegenet) `(("r-adegenet" ,r-adegenet)
@ -14077,19 +14082,21 @@ package.")
(define-public r-ggplotify (define-public r-ggplotify
(package (package
(name "r-ggplotify") (name "r-ggplotify")
(version "0.0.4") (version "0.0.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "ggplotify" version)) (uri (cran-uri "ggplotify" version))
(sha256 (sha256
(base32 (base32
"0nv3wdmxnc5ww9m3xlgnb0jp30j45dg33nqc6gg3y36svg8anjcg")))) "0pfnp4lrissf21z7867kdm6slr979kchyva8iaf83i1302kscph3"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-ggplot2" ,r-ggplot2) `(("r-ggplot2" ,r-ggplot2)
("r-gridgraphics" ,r-gridgraphics) ("r-gridgraphics" ,r-gridgraphics)
("r-rvcheck" ,r-rvcheck))) ("r-rvcheck" ,r-rvcheck)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/GuangchuangYu/ggplotify") (home-page "https://github.com/GuangchuangYu/ggplotify")
(synopsis "Convert plots to @code{grob} or @code{ggplot} object") (synopsis "Convert plots to @code{grob} or @code{ggplot} object")
(description (description
@ -15212,14 +15219,14 @@ includes data sets from oceanography.")
(define-public r-ggfortify (define-public r-ggfortify
(package (package
(name "r-ggfortify") (name "r-ggfortify")
(version "0.4.8") (version "0.4.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "ggfortify" version)) (uri (cran-uri "ggfortify" version))
(sha256 (sha256
(base32 (base32
"191q2z7w0l4v7swjlxs2hjgbjngw2838688s7ygnj0kigsm310f3")))) "1p6knrbyaynaqwd939w09hpf1zz1gn95cb46sfgppl8l98krb2h5"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-dplyr" ,r-dplyr) `(("r-dplyr" ,r-dplyr)
@ -15229,6 +15236,8 @@ includes data sets from oceanography.")
("r-stringr" ,r-stringr) ("r-stringr" ,r-stringr)
("r-tibble" ,r-tibble) ("r-tibble" ,r-tibble)
("r-tidyr" ,r-tidyr))) ("r-tidyr" ,r-tidyr)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/sinhrks/ggfortify") (home-page "https://github.com/sinhrks/ggfortify")
(synopsis "Data visualization tools for statistical analysis results") (synopsis "Data visualization tools for statistical analysis results")
(description (description
@ -15754,14 +15763,14 @@ be used further by e.g. graphic devices.")
(define-public r-graphlayouts (define-public r-graphlayouts
(package (package
(name "r-graphlayouts") (name "r-graphlayouts")
(version "0.5.0") (version "0.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "graphlayouts" version)) (uri (cran-uri "graphlayouts" version))
(sha256 (sha256
(base32 (base32
"03dizbhhdhnzbj2i5zvqgs617kwcv4h2pha4f16adic0fph1rxl3")))) "1la016m37kp79zk8p1yx9kaha8y6d4w52w39h0mzv1mfsi6d75w0"))))
(properties `((upstream-name . "graphlayouts"))) (properties `((upstream-name . "graphlayouts")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -15871,19 +15880,21 @@ in pipelines.")
(define-public r-parameters (define-public r-parameters
(package (package
(name "r-parameters") (name "r-parameters")
(version "0.5.0") (version "0.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "parameters" version)) (uri (cran-uri "parameters" version))
(sha256 (sha256
(base32 (base32
"19cblrq079svp5j3wgikw5fsdbsp1w0f2llm7kcf1rg5w1aagjr7")))) "0zin3ikc013hc713n5zs0dbhc3m4nfw1vhc3924z0mrww8r241xn"))))
(properties `((upstream-name . "parameters"))) (properties `((upstream-name . "parameters")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-bayestestr" ,r-bayestestr) `(("r-bayestestr" ,r-bayestestr)
("r-insight" ,r-insight))) ("r-insight" ,r-insight)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://cran.r-project.org/web/packages/parameters") (home-page "https://cran.r-project.org/web/packages/parameters")
(synopsis "Processing of model parameters") (synopsis "Processing of model parameters")
(description (description
@ -20086,14 +20097,14 @@ translated to input syntax for the R packages @code{sem} and @code{lavaan}.")
(define-public r-cdm (define-public r-cdm
(package (package
(name "r-cdm") (name "r-cdm")
(version "7.4-19") (version "7.5-15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "CDM" version)) (uri (cran-uri "CDM" version))
(sha256 (sha256
(base32 (base32
"1ln1r3rk004fmk55iy08bjh3vv4wnkb8zg2wj3r9rq7pi8jn8fv4")))) "159ny2dz0rf1r3k1mqlfwambffc8rx425sggf5bn51nybpzanq3l"))))
(properties `((upstream-name . "CDM"))) (properties `((upstream-name . "CDM")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -20120,14 +20131,14 @@ well as Ravand and Robitzsch (2015).")
(define-public r-tam (define-public r-tam
(package (package
(name "r-tam") (name "r-tam")
(version "3.3-10") (version "3.4-26")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "TAM" version)) (uri (cran-uri "TAM" version))
(sha256 (sha256
(base32 (base32
"1rkjp5x6wrk1dfspp1imvfals0wvy4w1wb8a5mhfbnilc7vgnlbq")))) "111d7qkxhwh1lfvldyh9d61pdb5vb6x8lr8n9h95ssvw07vjqvk9"))))
(properties `((upstream-name . "TAM"))) (properties `((upstream-name . "TAM")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs

View file

@ -1857,7 +1857,7 @@ Driver.")
"1sbpvhg15gadq0mpcy16q7k3rkg4b4dicpnn5xifpkpn02sqik3s")))) "1sbpvhg15gadq0mpcy16q7k3rkg4b4dicpnn5xifpkpn02sqik3s"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:tests? #f)) ;No check target (arguments `(#:tests? #f)) ;No check target
(home-page "http://www.unqlite.org") (home-page "https://www.unqlite.org")
(synopsis "In-memory key/value and document store") (synopsis "In-memory key/value and document store")
(description (description
"UnQLite is an in-process software library which implements a "UnQLite is an in-process software library which implements a

View file

@ -25,7 +25,7 @@
(define-public xxhash (define-public xxhash
(package (package
(name "xxhash") (name "xxhash")
(version "0.7.2") (version "0.7.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -34,7 +34,7 @@
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1f9gl0cymmi92ihsfan0p4zmyf2hxwx4arjimpbmbp719nbcvdsx")))) (base32 "0bin0jch6lbzl4f8y052a7azfgq2n7iwqihzgqmcccv5vq4vcx5a"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags

View file

@ -199,7 +199,7 @@ tables, and it understands a variety of different formats.")
(install-file "fixparts.8" man) (install-file "fixparts.8" man)
(install-file "gdisk.8" man) (install-file "gdisk.8" man)
(install-file "sgdisk.8" man))))))) (install-file "sgdisk.8" man)))))))
(home-page "http://www.rodsbooks.com/gdisk/") (home-page "https://www.rodsbooks.com/gdisk/")
(synopsis "Low-level GPT disk partitioning and formatting") (synopsis "Low-level GPT disk partitioning and formatting")
(description "GPT fdisk (aka gdisk) is a text-mode partitioning tool that (description "GPT fdisk (aka gdisk) is a text-mode partitioning tool that
works on Globally Unique Identifier (@dfn{GUID}) Partition Table (@dfn{GPT}) works on Globally Unique Identifier (@dfn{GUID}) Partition Table (@dfn{GPT})
@ -293,15 +293,14 @@ and a @command{fsck.vfat} compatibility symlink for use in an initrd.")
(define-public sdparm (define-public sdparm
(package (package
(name "sdparm") (name "sdparm")
(version "1.10") (version "1.11")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://sg.danny.cz/sg/p/" (uri (string-append "http://sg.danny.cz/sg/p/"
name "-" version ".tar.xz")) "sdparm-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32 "1nqjc4w2w47zavcbf5xmm53x1zbwgljaw1lpajcdi537cgy32fa8"))))
"1jjq3lzgfy4r76rc26q02lv4wm5cb4dx5nh913h489zjrr4f3jbx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://sg.danny.cz/sg/sdparm.html") (home-page "http://sg.danny.cz/sg/sdparm.html")
(synopsis "Provide access to SCSI device parameters") (synopsis "Provide access to SCSI device parameters")

View file

@ -1125,7 +1125,7 @@ SPI, I2C, JTAG.")
(delete 'configure)))) (delete 'configure))))
(synopsis "Programs Microchip's PIC microcontrollers") (synopsis "Programs Microchip's PIC microcontrollers")
(description "This program programs Microchip's PIC microcontrollers.") (description "This program programs Microchip's PIC microcontrollers.")
(home-page "http://hyvatti.iki.fi/~jaakko/pic/picprog.html") (home-page "https://hyvatti.iki.fi/~jaakko/pic/picprog.html")
(license license:gpl3+))) (license license:gpl3+)))
(define-public fc-host-tools (define-public fc-host-tools

View file

@ -266,7 +266,7 @@ turbo speed, networked multiplayer, and graphical enhancements.")
("alsa-lib" ,alsa-lib) ("alsa-lib" ,alsa-lib)
("glu" ,glu) ("glu" ,glu)
("mesa" ,mesa))) ("mesa" ,mesa)))
(home-page "http://www.dosbox.com") (home-page "https://www.dosbox.com")
(synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound") (synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound")
(description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox (description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox
also emulates CPU:286/386 realmode/protected mode, Directory also emulates CPU:286/386 realmode/protected mode, Directory
@ -1453,7 +1453,7 @@ play them on systems for which they were never designed!")
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("utf8proc" ,utf8proc) ("utf8proc" ,utf8proc)
("zlib" ,zlib))) ("zlib" ,zlib)))
(home-page "http://mamedev.org/") (home-page "https://www.mamedev.org")
(synopsis "Multi-purpose emulation framework") (synopsis "Multi-purpose emulation framework")
(description "MAME's purpose is to preserve decades of software (description "MAME's purpose is to preserve decades of software
history. As electronic technology continues to rush forward, MAME history. As electronic technology continues to rush forward, MAME

View file

@ -517,13 +517,10 @@ and in creating applications based on the Enlightenment Foundation Library suite
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "http://www.smhouston.us/stuff/ephoto-" (uri (string-append "https://download.enlightenment.org/rel/"
version ".tar.xz") "apps/ephoto/ephoto-" version ".tar.xz"))
(string-append "https://download.enlightenment.org/rel/"
"apps/ephoto/ephoto-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32 "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy"))))
"1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -536,7 +533,7 @@ and in creating applications based on the Enlightenment Foundation Library suite
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("efl" ,efl))) `(("efl" ,efl)))
(home-page "http://smhouston.us/ephoto/") (home-page "https://smhouston.us/projects/ephoto/")
(synopsis "EFL image viewer/editor/manipulator/slideshow creator") (synopsis "EFL image viewer/editor/manipulator/slideshow creator")
(description "Ephoto is an image viewer and editor written using the (description "Ephoto is an image viewer and editor written using the
@dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and @dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and

View file

@ -88,7 +88,7 @@
(("-lpng") (string-append "-L" png "/lib -lpng")) (("-lpng") (string-append "-L" png "/lib -lpng"))
(("-lz") (string-append "-L" zlib "/lib -lz")))) (("-lz") (string-append "-L" zlib "/lib -lz"))))
#t))))) #t)))))
(home-page "http://www.fltk.org") (home-page "https://www.fltk.org")
(synopsis "3D C++ GUI library") (synopsis "3D C++ GUI library")
(description "FLTK is a C++ GUI toolkit providing modern GUI functionality (description "FLTK is a C++ GUI toolkit providing modern GUI functionality
without the bloat. It supports 3D graphics via OpenGL and its built-in GLUT without the bloat. It supports 3D graphics via OpenGL and its built-in GLUT

View file

@ -1593,14 +1593,14 @@ encoding names are iconv-compatible.")
(define-public udiskie (define-public udiskie
(package (package
(name "udiskie") (name "udiskie")
(version "2.0.4") (version "2.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "udiskie" version)) (uri (pypi-uri "udiskie" version))
(sha256 (sha256
(base32 (base32
"0gjjzz0k8dlsk03fl2882lbl88hbv031ww72qj02gr65yph0jqgc")) "0smib8vbs9q37n7ynhzyw97q16fgdkcdw7fw69lci0xvyq00v1dz"))
;; Remove support for the libappindicator library of the ;; Remove support for the libappindicator library of the
;; Unity desktop environment which is not in Guix. ;; Unity desktop environment which is not in Guix.
(patches (search-patches "udiskie-no-appindicator.patch")))) (patches (search-patches "udiskie-no-appindicator.patch"))))

View file

@ -46,6 +46,7 @@
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -383,7 +384,7 @@ physics settings to tweak as well.")
(inputs (inputs
`(("boost" ,boost) `(("boost" ,boost)
("ncurses" ,ncurses))) ("ncurses" ,ncurses)))
(home-page "http://fph.altervista.org/prog/bastet.html") (home-page "https://fph.altervista.org/prog/bastet.html")
(synopsis "Antagonistic Tetris-style falling brick game for text terminals") (synopsis "Antagonistic Tetris-style falling brick game for text terminals")
(description (description
"Bastet (short for Bastard Tetris) is a simple ncurses-based falling brick "Bastet (short for Bastard Tetris) is a simple ncurses-based falling brick
@ -10157,3 +10158,35 @@ best human chess grandmasters. It can be used with UCI-compatible GUIs like
ChessX.") ChessX.")
(home-page "https://stockfishchess.org/") (home-page "https://stockfishchess.org/")
(license license:gpl3+))) (license license:gpl3+)))
(define-public barrage
(package
(name "barrage")
(version "1.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lgames/barrage/"
"barrage-" version ".tar.gz"))
(sha256
(base32 "0139wxyrir10cbkvkjn548xgmp84wax8mfwk80yxbxlcdamrg257"))))
(build-system gnu-build-system)
(inputs
`(("hicolor-icon-theme" ,hicolor-icon-theme)
("sdl" ,sdl)
("sdl-mixer" ,sdl-mixer)))
(arguments
`(#:configure-flags
(list
(string-append "CFLAGS="
"-I" (assoc-ref %build-inputs "sdl-mixer")
"/include/SDL"))))
(home-page "http://lgames.sourceforge.net/Barrage/")
(synopsis "Violent point-and-click shooting game with nice effects")
(description
"Barrage is a rather destructive action game that puts you on a shooting
range with the objective to hit as many dummy targets as possible within
3 minutes. You control a gun that may either fire small or large grenades at
soldiers, jeeps and tanks. The gameplay is simple but it is not that easy to
get high scores.")
(license license:gpl2+)))

View file

@ -776,7 +776,7 @@ extension.")
"cmd/tegola_lambda/main.go") "cmd/tegola_lambda/main.go")
(("version not set") ,version))) (("version not set") ,version)))
#t))))) #t)))))
(home-page "http://tegola.io") (home-page "https://tegola.io")
(synopsis "Vector tile server for maps") (synopsis "Vector tile server for maps")
(description "Tegola is a free vector tile server written in Go. Tegola (description "Tegola is a free vector tile server written in Go. Tegola
takes geospatial data and slices it into vector tiles that can be efficiently takes geospatial data and slices it into vector tiles that can be efficiently
@ -1523,3 +1523,29 @@ input file (in @code{.osm} or @code{.osm.pbf} format).")
tools supporting SpatiaLite.") tools supporting SpatiaLite.")
(home-page "https://www.gaia-gis.it/fossil/spatialite-tools/index") (home-page "https://www.gaia-gis.it/fossil/spatialite-tools/index")
(license license:gpl3+))) (license license:gpl3+)))
(define-public virtualpg
(package
(name "virtualpg")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.gaia-gis.it/gaia-sins/"
"virtualpg-" version ".tar.gz"))
(sha256
(base32 "0kjipcd08vvn188xmwbs7sw41xcs06x47n2hbqshpjcr51mxbarp"))))
(build-system gnu-build-system)
(inputs
`(("postgresql" ,postgresql)
("sqlite" ,sqlite)))
(synopsis "Allow SQLite/SpatiaLite to access PostgreSQL/PostGIS tables")
(description
"VirtualPG is a dynamic extension for the SQLite DBMS. It implements
the VirtualPostgres driver, allowing to directly exchange data between SQLite
and PostgreSQL; if SpatiaLite is available even PostGIS geometries can be
exchanged form one Spatial DBMS and the other.")
(home-page "https://www.gaia-gis.it/fossil/virtualpg/index")
(license (list license:gpl2+
license:lgpl2.1+
license:mpl1.1))))

View file

@ -5384,7 +5384,7 @@ USB transfers with your high-level application or system daemon.")
(define-public simple-scan (define-public simple-scan
(package (package
(name "simple-scan") (name "simple-scan")
(version "3.34.4") (version "3.36.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5392,7 +5392,7 @@ USB transfers with your high-level application or system daemon.")
(version-major+minor version) "/" (version-major+minor version) "/"
"simple-scan-" version ".tar.xz")) "simple-scan-" version ".tar.xz"))
(sha256 (sha256
(base32 "0xvy672zyl6jsdlnxma8nc2aqsx9k92jhp6wfxs0msj9ppp1nd3z")))) (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm"))))
(build-system meson-build-system) (build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu. ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments (arguments

View file

@ -14,7 +14,7 @@
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu> ;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu>
;;; Copyright @ 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; ;;;
@ -1166,7 +1166,7 @@ GNU extensions} to the POSIX recommendations for command-line options.")
(base32 (base32
"0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz")))) "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
(build-system go-build-system) (build-system go-build-system)
(native-inputs (propagated-inputs
`(("go-golang-org-x-crypto" `(("go-golang-org-x-crypto"
,go-golang-org-x-crypto) ,go-golang-org-x-crypto)
("go-github-com-stretchr-testify" ("go-github-com-stretchr-testify"
@ -1181,6 +1181,31 @@ GNU extensions} to the POSIX recommendations for command-line options.")
compatible with the standard library logger.") compatible with the standard library logger.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-rifflock-lfshook
(package
(name "go-github-com-rifflock-lfshook")
(version "2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rifflock/lfshook.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/rifflock/lfshook"))
(propagated-inputs
`(("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus)))
(home-page "https://github.com/rifflock/lfshook")
(synopsis "Local File System hook for Logrus logger")
(description "This package provides a hook for Logrus to write directly to
a file on the filesystem. The log levels are dynamic at instantiation of the
hook, so it is capable of logging at some or all levels.")
(license license:expat)))
(define-public go-github-com-kardianos-osext (define-public go-github-com-kardianos-osext
(let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14") (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
(revision "1")) (revision "1"))
@ -3349,3 +3374,25 @@ test results.")
data serialization format.") data serialization format.")
(home-page "https://github.com/golang/protobuf") (home-page "https://github.com/golang/protobuf")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-mattn-go-zglob
(package
(name "go-github-com-mattn-go-zglob")
(version "0.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-zglob.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1sncdyq5fbd42al4amyy91h7vlzm3wm6c9vl8za2pjgfgsd581fz"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/mattn/go-zglob"))
(home-page "https://github.com/mattn/go-zglob")
(synopsis "Glob library that descends into other directories")
(description " A glob library that implements descending into other
directories. It is optimized for filewalking. ")
(license license:expat)))

View file

@ -21,7 +21,7 @@
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 swedebugia <swedebugia@riseup.net> ;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
;;; Copyright © 2019 Amar Singh <nly@disroot.org> ;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -3144,3 +3144,33 @@ models and also supports a rich set of boolean query operators.")
(inputs (inputs
`(("guile" ,guile-next) `(("guile" ,guile-next)
,@(alist-delete "guile" (package-inputs guile-xapian)))))) ,@(alist-delete "guile" (package-inputs guile-xapian))))))
(define-public guile-torrent
(package
(name "guile-torrent")
(version "0.1.3")
(source (origin (method git-fetch)
(uri (git-reference
(url
"https://github.com/o-nly/torrent.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1yiagi55ncq1x7s9n7salzywjm4l96y3n7y3s47a9anvz87mrmim"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("guile" ,guile-2.2)
("texinfo" ,texinfo)
("perl" ,perl)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("guile-gcrypt" ,guile-gcrypt)))
(home-page "https://github.com/o-nly/torrent")
(synopsis "Torrent library for GNU Guile")
(description "This package provides facilities for working with
@code{.torrent} or metainfo files. Implements a bencode reader and writer
according to Bitorrent BEP003.")
(license license:gpl3+)))

View file

@ -303,15 +303,6 @@ without requiring the source code to be rewritten.")
(patches (patches
(append (search-patches "guile-3.0-crash.patch") (append (search-patches "guile-3.0-crash.patch")
(origin-patches (package-source guile-2.2)))))) (origin-patches (package-source guile-2.2))))))
(arguments
(substitute-keyword-arguments (package-arguments guile-2.2)
;; XXX: On ARMv7, work around <https://bugs.gnu.org/39208> by disabling
;; JIT.
((#:configure-flags flags '())
(if (target-arm32?)
`(cons "--disable-jit" ,flags)
flags))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "GUILE_LOAD_PATH") (variable "GUILE_LOAD_PATH")

View file

@ -3774,7 +3774,7 @@ versions of GHC (i.e., < 6.10).")
(define-public ghc-extra (define-public ghc-extra
(package (package
(name "ghc-extra") (name "ghc-extra")
(version "1.6.18") (version "1.7.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3784,12 +3784,13 @@ versions of GHC (i.e., < 6.10).")
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy")))) "0zshxv9dnd8vksncmb8dj4wvq2wdybzwxyhmy2zp6a81icm4azx4"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(inputs (inputs
`(("ghc-clock" ,ghc-clock) `(("ghc-clock" ,ghc-clock)
("ghc-semigroups" ,ghc-semigroups) ("ghc-semigroups" ,ghc-semigroups)
("ghc-quickcheck" ,ghc-quickcheck))) ("ghc-quickcheck" ,ghc-quickcheck)
("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
(home-page "https://github.com/ndmitchell/extra") (home-page "https://github.com/ndmitchell/extra")
(synopsis "Extra Haskell functions") (synopsis "Extra Haskell functions")
(description "This library provides extra functions for the standard (description "This library provides extra functions for the standard

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -19,18 +20,28 @@
(define-module (gnu packages hyperledger) (define-module (gnu packages hyperledger)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (guix build-system cmake)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system trivial)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages docker) #:use-module (gnu packages docker)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages version-control)) #:use-module (gnu packages logging)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages tbb)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web))
(define-public hyperledger-fabric (define-public hyperledger-fabric
(package (package
@ -93,3 +104,112 @@ solutions, underpinned by a modular architecture focusing on confidentiality
and resiliency. It is designed to support pluggable implementations of and resiliency. It is designed to support pluggable implementations of
different components.") different components.")
(license asl2.0))) (license asl2.0)))
(define-public hyperledger-iroha-ed25519
(package
(name "hyperledger-iroha-ed25519")
(version "2.0.2")
(home-page "https://github.com/hyperledger/iroha-ed25519")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0kr1zwah8mhnpfrpk3h6hdafyqdl3ixhs7czdfscqv6vxqfiabc4"))))
(build-system cmake-build-system)
(native-inputs
`(("googletest" ,googletest)))
(arguments
`(#:tests? #f ; Tests don't build because CMake cannot find GTest main.
#:configure-flags '("-DHUNTER_ENABLED=OFF"
"-DBUILD=SHARED"
;; TODO: x86_64 should use amd64-64-24k-pic but it
;; fails to link when built as a shared library.
"-DEDIMPL=ref10"
"-DHASH=sha3_brainhub")))
(synopsis "Ed25519 digital signature algorithm")
(description "This repository aims to provide modularized implementation
of the Ed25519 digital signature algorithm which is is described in
RFC8032 (@url{https://tools.ietf.org/html/rfc8032}).
Originally Ed25519 consists of three modules:
@itemize
@item digital signature algorithm itself
@item SHA512 hash function
@item random number generator, to generate keypairs
@end itemize
This project offers at least two different C implementations for every
module. Every implementation can be replaced with another one at
link-time. New implementations can be added as well.")
(license asl2.0)))
(define-public hyperledger-iroha
(package
(name "hyperledger-iroha")
(version "1.1.1")
(home-page "https://github.com/hyperledger/iroha")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"014mbwq059yxwihw0mq8zgns53fsw8ckczi1lw8q9pz3pk86pa9b"))
(modules '((guix build utils)))
(snippet
'(begin
;; https://github.com/hyperledger/iroha/commit/4dc710d2e9a067af866771318f673c7392797e48
;; Backport unversioned fmt dependency, remove next update:
(substitute* "libs/logger/logger.hpp"
(("fmt::v5") "fmt"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
'("-DTESTING=OFF" ; The tests fail to link correctly to googletest.
;; Don't install the shared libraries of the dependencies:
"-DENABLE_LIBS_PACKAGING=OFF")
#:tests? #f
;; https://iroha.readthedocs.io/en/latest/build/index.html#running-tests-optional
#:test-target "."))
;; https://github.com/hyperledger/iroha/blob/master/vcpkg/VCPKG_DEPS_LIST
(native-inputs
`(("fmt" ,fmt)
("googletest" ,googletest)
("rapidjson" ,rapidjson)
("rxcpp" ,rxcpp)
("spdlog" ,spdlog)))
(inputs
`(("boost" ,boost-1.69)
("gflags" ,gflags)
("grpc" ,grpc)
("hyperledger-iroha-ed25519" ,hyperledger-iroha-ed25519)
("postgresql" ,postgresql)
("protobuf" ,protobuf)
("soci" ,soci)
("tbb" ,tbb)))
(synopsis "Simple, decentralized ledger")
(description "Iroha is a distributed ledger technology (DLT). Iroha has
essential functionality for your asset, information and identity management
needs, at the same time being a crash fault-tolerant tool.
Iroha has the following features:
@itemize
@item Creation and management of custom fungible assets, such as currencies,
kilos of gold, etc.
@item Management of user accounts
@item Taxonomy of accounts based on domains in the system
@item The system of rights and verification of user permissions for the
execution of transactions and queries in the system
@item Validation of business rules for transactions and queries in the system
@item Multisignature transactions
@end itemize\n")
(license asl2.0)))

View file

@ -3,7 +3,7 @@
;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -25,6 +25,7 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant) #:use-module (guix build-system ant)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
@ -35,21 +36,26 @@
(define-public java-snappy (define-public java-snappy
(package (package
(name "java-snappy") (name "java-snappy")
(version "1.1.7.2") (version "1.1.7.3")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "https://github.com/xerial/snappy-java/archive/" (method git-fetch)
version ".tar.gz")) (uri (git-reference
(file-name (string-append name "-" version ".tar.gz")) (url "https://github.com/xerial/snappy-java")
(commit version)))
(sha256 (sha256
(base32 (base32 "07c145w1kv8g7dbwpy5xss142il7zr0qq78p2ih76azgl97n5cba"))
"1p557vdv006ysgxbpp83krmq0066k46108vyiyka69w8i4i8rbbm")))) (file-name (git-file-name name version))))
(build-system ant-build-system) (build-system ant-build-system)
(arguments (arguments
`(#:jar-name "snappy.jar" `(#:jar-name "snappy.jar"
#:source-dir "src/main/java" #:source-dir "src/main/java"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'make-git-checkout-writable
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(add-before 'build 'remove-binaries (add-before 'build 'remove-binaries
(lambda _ (lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class") (delete-file "lib/org/xerial/snappy/OSInfo.class")
@ -125,14 +131,17 @@ compressor/decompressor.")
(define-public java-snappy-1 (define-public java-snappy-1
(package (package
(inherit java-snappy) (inherit java-snappy)
(name "java-snappy")
(version "1.0.3-rc3") (version "1.0.3-rc3")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "https://github.com/xerial/snappy-java/archive/" (method git-fetch)
"snappy-java-" version ".tar.gz")) (uri (git-reference
(url (string-append "https://github.com/xerial/snappy-java"))
(commit (string-append "snappy-java-" version))))
(sha256 (sha256
(base32 (base32 "0gbg3xmhniyh5p6w5zqj16fr15fa8j4raswd8pj00l4ixf5qa6m4"))
"08hsxlqidiqck0q57fshwyv3ynyxy18vmhrai9fyc8mz17m7gsa3")))) (file-name (git-file-name name version))))
(arguments (arguments
`(#:jar-name "snappy.jar" `(#:jar-name "snappy.jar"
#:source-dir "src/main/java" #:source-dir "src/main/java"
@ -184,13 +193,15 @@ compressor/decompressor.")
(package (package
(name "java-iq80-snappy") (name "java-iq80-snappy")
(version "0.4") (version "0.4")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "https://github.com/dain/snappy/archive/snappy-" (method git-fetch)
version ".tar.gz")) (uri (git-reference
(url "https://github.com/dain/snappy")
(commit (string-append "snappy-" version))))
(sha256 (sha256
(base32 (base32 "1mswh207065rdzbxk6rxaqlxhbg1ngxa0vjc20knsn31kqbq1bcz"))
"0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf")))) (file-name (git-file-name name version))))
(build-system ant-build-system) (build-system ant-build-system)
(arguments (arguments
`(#:jar-name "iq80-snappy.jar" `(#:jar-name "iq80-snappy.jar"

View file

@ -302,6 +302,47 @@ wrapper for accessing libusb-1.0.")
(define-public python2-pyusb (define-public python2-pyusb
(package-with-python2 python-pyusb)) (package-with-python2 python-pyusb))
(define-public python-capablerobot-usbhub
(package
(name "python-capablerobot-usbhub")
(version "0.2.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "capablerobot_usbhub" version))
(sha256
(base32
"1priic4iq2vn1rc711kzxwhxrwa508rkxrr193qdz2lw26kdhvix"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-udev-rules
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/lib/udev/rules.d"))
(copy-file "50-capablerobot-usbhub.rules"
(string-append out
"/lib/udev/rules.d/"
"50-capablerobot-usbhub.rules"))
#t))))))
(propagated-inputs
`(("python-click" ,python-click)
("python-construct" ,python-construct)
("python-pyusb" ,python-pyusb)
("python-pyyaml" ,python-pyyaml)))
(home-page
"https://github.com/CapableRobot/CapableRobot_USBHub_Driver")
(synopsis
"Host side driver for the Capable Robot Programmable USB Hub")
(description
"This package provides access to the internal state of the Capable Robot
USB Hub, allowing you to monitor and control the Hub from an upstream
computer. It also creates a transparent CircuitPython Bridge, allowing
unmodified CircuitPython code to run on the host computer and interact with
I2C and SPI devices attached to the USB Hub.")
(license license:expat)))
(define-public libplist (define-public libplist
(package (package
(name "libplist") (name "libplist")

View file

@ -362,42 +362,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
"linux-" version ".tar.xz")) "linux-" version ".tar.xz"))
(sha256 hash))) (sha256 hash)))
(define-public linux-libre-5.4-version "5.4.24") (define-public linux-libre-5.4-version "5.4.25")
(define-public linux-libre-5.4-pristine-source (define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version) (let ((version linux-libre-5.4-version)
(hash (base32 "1cvy3mxwzll4f9j8i3hfmi0i0zq75aiafq1jskp9n4kq9iwar83z"))) (hash (base32 "09ay0adc3s3m7qk0nj5lkmrp5i0q76a9kax0xix8914d115rgvf0")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.4))) deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.108") (define-public linux-libre-4.19-version "4.19.109")
(define-public linux-libre-4.19-pristine-source (define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version) (let ((version linux-libre-4.19-version)
(hash (base32 "18shyy1z2s8r26qb4rcz7gwl43dnmycjjywp9gss5zlfn2jyrbh9"))) (hash (base32 "0kwnlv5336vqdf38dzn077ic17zkb4rl5khxmc47syzd9zm4fhnh")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.19))) deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.172") (define-public linux-libre-4.14-version "4.14.173")
(define-public linux-libre-4.14-pristine-source (define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version) (let ((version linux-libre-4.14-version)
(hash (base32 "0yi13cky6jdswca7nrjgcrdxk8rnqdbhblhy6mws103mjfms2613"))) (hash (base32 "0kxp3mgiags8hdax15masab9zr89xraqvl9ri7zwgksx8ixav0m2")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.14))) deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.215") (define-public linux-libre-4.9-version "4.9.216")
(define-public linux-libre-4.9-pristine-source (define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version) (let ((version linux-libre-4.9-version)
(hash (base32 "0j4z2al318654z40w4f8zhh73zwpgn8igjr5k4mz401phm3jyvr3"))) (hash (base32 "0lgv5k8v5xz9z2z4k42566bh0akyk1gr0dx6s1m1rjrzsf9k86l6")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.9))) deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.215") (define-public linux-libre-4.4-version "4.4.216")
(define-public linux-libre-4.4-pristine-source (define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version) (let ((version linux-libre-4.4-version)
(hash (base32 "00zy6cxwb16pqziiqs25pz5llryx2v2nbk9vvzpzxa8x43ad7g18"))) (hash (base32 "1hjgh9brvxzi6ypgfnk07l3j28xsxgz88sdshnz19vj96bn1w70q")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.4))) deblob-scripts-4.4)))
@ -3497,6 +3497,12 @@ thanks to the use of namespaces.")
_ program) _ program)
(string-append "/run/setuid-programs/singularity-" (string-append "/run/setuid-programs/singularity-"
program "-helper"))) program "-helper")))
;; These squashfs mount options are apparently no longer
;; supported since Linux-libre 5.4.5.
(substitute* "src/lib/image/squashfs/mount.c"
(("\"errors=remount-ro\"")
"NULL"))
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -3509,7 +3515,19 @@ thanks to the use of namespaces.")
(("if ! singularity_which mksquashfs") "if 0") (("if ! singularity_which mksquashfs") "if 0")
(("if ! mksquashfs") (("if ! mksquashfs")
(string-append "if ! " (which "mksquashfs")))) (string-append "if ! " (which "mksquashfs"))))
#t))))) #t))
(add-after 'install 'set-PATH
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Have the 'singularity' and 'run-singularity' self-sufficient.
(let ((out (assoc-ref outputs "out"))
(coreutils (assoc-ref inputs "coreutils")))
(wrap-program (string-append out "/bin/singularity")
`("PATH" ":" = (,(string-append coreutils "/bin"))))
(substitute* (string-append out "/bin/run-singularity")
(("/usr/bin/env singularity")
(string-append (which "env") " "
out "/bin/singularity")))
#t))))))
(inputs (inputs
`(("libarchive" ,libarchive) `(("libarchive" ,libarchive)
("python" ,python-wrapper) ("python" ,python-wrapper)
@ -3991,6 +4009,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
(define-public bluez (define-public bluez
(package (package
(name "bluez") (name "bluez")
(replacement bluez/fixed)
(version "5.53") (version "5.53")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -4056,6 +4075,14 @@ Bluetooth audio output devices like headphones or loudspeakers.")
is flexible, efficient and uses a modular implementation.") is flexible, efficient and uses a modular implementation.")
(license license:gpl2+))) (license license:gpl2+)))
(define bluez/fixed
(package
(inherit bluez)
(source (origin
(inherit (package-source bluez))
(patches (append (origin-patches (package-source bluez))
(search-patches "bluez-CVE-2020-0556.patch")))))))
(define-public fuse-exfat (define-public fuse-exfat
(package (package
(name "fuse-exfat") (name "fuse-exfat")

View file

@ -797,7 +797,7 @@ enough to play the original mainframe Zork all the way through.")
(define-public txr (define-public txr
(package (package
(name "txr") (name "txr")
(version "232") (version "233")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -808,7 +808,7 @@ enough to play the original mainframe Zork all the way through.")
(patches (search-patches "txr-shell.patch")) (patches (search-patches "txr-shell.patch"))
(sha256 (sha256
(base32 (base32
"1vcnask4a1rxrljp4rcbkfihrndkv25l256l125vv39gjhf315xp")))) "14dwjgx9lbfajk3q539m3v3b9j047q83ldnqb4cagbs8ampvhfbv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("cc=gcc") '(#:configure-flags '("cc=gcc")

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -1285,6 +1285,7 @@ Python.")
(package (package
(name "grpc") (name "grpc")
(version "1.16.1") (version "1.16.1")
(outputs '("out" "static"))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1301,7 +1302,42 @@ Python.")
(list "-DgRPC_ZLIB_PROVIDER=package" (list "-DgRPC_ZLIB_PROVIDER=package"
"-DgRPC_CARES_PROVIDER=package" "-DgRPC_CARES_PROVIDER=package"
"-DgRPC_SSL_PROVIDER=package" "-DgRPC_SSL_PROVIDER=package"
"-DgRPC_PROTOBUF_PROVIDER=package"))) "-DgRPC_PROTOBUF_PROVIDER=package"
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out"))
"-DCMAKE_INSTALL_LIBDIR=lib"
(string-append "-DCMAKE_INSTALL_RPATH="
(assoc-ref %outputs "out") "/lib")
"-DCMAKE_VERBOSE_MAKEFILE=ON")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'configure-shared
(lambda* (#:key (configure-flags '()) #:allow-other-keys)
(mkdir "../build-shared")
(with-directory-excursion "../build-shared"
(apply invoke
"cmake" "../source"
"-DBUILD_SHARED_LIBS=ON"
configure-flags)
(apply invoke "make"
`("-j" ,(number->string (parallel-job-count)))))))
(add-after 'install 'install-shared-libraries
(lambda _
(with-directory-excursion "../build-shared"
(invoke "make" "install"))))
(add-before 'strip 'move-static-libs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(static (assoc-ref outputs "static")))
(mkdir-p (string-append static "/lib"))
(with-directory-excursion
(string-append out "/lib")
(for-each
(lambda (file)
(rename-file file
(string-append static "/lib/" file)))
(find-files "." "\\.a$"))))
#t)))))
(inputs (inputs
`(("c-ares" ,c-ares/cmake) `(("c-ares" ,c-ares/cmake)
("openssl" ,openssl) ("openssl" ,openssl)
@ -1731,6 +1767,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n")))
(sha256 (sha256
(base32 (base32
"161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign"))))) "161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign")))))
("grpc" ,grpc "static")
("googletest" ,googletest) ("googletest" ,googletest)
("swig" ,swig) ("swig" ,swig)
("unzip" ,unzip))) ("unzip" ,unzip)))
@ -1752,7 +1789,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n")))
("libjpeg" ,libjpeg) ("libjpeg" ,libjpeg)
("libpng" ,libpng) ("libpng" ,libpng)
("giflib" ,giflib) ("giflib" ,giflib)
("grpc" ,grpc) ("grpc:bin" ,grpc)
("jsoncpp" ,jsoncpp-for-tensorflow) ("jsoncpp" ,jsoncpp-for-tensorflow)
("snappy" ,snappy) ("snappy" ,snappy)
("sqlite" ,sqlite) ("sqlite" ,sqlite)

View file

@ -27,7 +27,7 @@
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -2960,8 +2960,8 @@ replacement for the @code{urlview} program.")
(license gpl2+))) (license gpl2+)))
(define-public mumi (define-public mumi
(let ((commit "a933a62a4b8528b416319759b9985db80f3fce14") (let ((commit "6653e2d525b945fcd671dbfbf7b42cc588a1cf4b")
(revision "6")) (revision "7"))
(package (package
(name "mumi") (name "mumi")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -2973,7 +2973,7 @@ replacement for the @code{urlview} program.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0vlda7vjzpd942iz5vb471hj7ypml5gwl9s1am92klv6nk2vnvcx")))) "0h1q61yl01hm7wygv1bv47ncg7l7gcw7aq8ny61g3hr1acsqysjf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)
@ -3005,6 +3005,7 @@ replacement for the @code{urlview} program.")
`(("guile-debbugs" ,guile-debbugs) `(("guile-debbugs" ,guile-debbugs)
("guile-email" ,guile-email) ("guile-email" ,guile-email)
("guile-json" ,guile-json-3) ("guile-json" ,guile-json-3)
("guile-sqlite3" ,guile-sqlite3)
("guile-syntax-highlight" ,guile-syntax-highlight) ("guile-syntax-highlight" ,guile-syntax-highlight)
("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org ("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org
("guile" ,guile-2.2) ("guile" ,guile-2.2)

View file

@ -40,7 +40,7 @@
(define-public libpipeline (define-public libpipeline
(package (package
(name "libpipeline") (name "libpipeline")
(version "1.5.1") (version "1.5.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -48,7 +48,7 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0bwh5xz5f2czwb7f564jz1mp4znm8pldnvf65fs0hpw4gmmp0cyn")))) "1ysrn22ixd4nmggy6f7qcsm7waadmlbg2i0n9mh6g7dfq54wcngx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://libpipeline.nongnu.org/") (home-page "http://libpipeline.nongnu.org/")
(synopsis "C library for manipulating pipelines of subprocesses") (synopsis "C library for manipulating pipelines of subprocesses")

View file

@ -4593,36 +4593,8 @@ linear algebra primitives specifically targeting graph analytics.")
(add-after 'build 'build-tests (add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "build_tests" make-flags))) (apply invoke "make" "build_tests" make-flags)))
;; These tests fail because they require a fully functional MPI (add-before 'check 'mpi-setup
;; environment. ,%openmpi-setup))))
(add-after 'unpack 'disable-failing-tests
(lambda _
(setenv "ARGS"
(string-append "--exclude-regex '("
(string-join
(list
"remoteindicestest"
"remoteindicestest-mpi-2"
"syncertest"
"syncertest-mpi-2"
"variablesizecommunicatortest"
"variablesizecommunicatortest-mpi-2"
"arithmetictestsuitetest"
"assertandreturntest"
"assertandreturntest_ndebug"
"concept"
"debugaligntest"
"mpicollectivecommunication"
"mpicollectivecommunication-mpi-2"
"mpiguardtest"
"mpiguardtest-mpi-2"
"mpihelpertest"
"mpihelpertest-mpi-2"
"mpihelpertest2"
"mpihelpertest2-mpi-2")
"|")
")'"))
#t)))))
(inputs (inputs
`(("gmp" ,gmp) `(("gmp" ,gmp)
("metis" ,metis) ("metis" ,metis)
@ -4684,6 +4656,42 @@ This package contains the basic DUNE geometry classes.")
;; GPL version 2 with "runtime exception" ;; GPL version 2 with "runtime exception"
(license license:gpl2))) (license license:gpl2)))
(define-public dune-uggrid
(package
(name "dune-uggrid")
(version "2.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://dune-project.org/download/"
version "/dune-uggrid-" version ".tar.gz"))
(sha256
(base32
"05l7a1gb78mny49anyxk6rjvn66rhgm30y72v5cjg0m5kfgr1a1f"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "build_tests" make-flags))))))
(inputs
`(("dune-common" ,dune-common)
("openmpi" ,openmpi)))
(native-inputs
`(("gfortran" ,gfortran)
("pkg-config" ,pkg-config)))
(home-page "https://dune-project.org/")
(synopsis "Distributed and Unified Numerics Environment")
(description "DUNE, the Distributed and Unified Numerics Environment is a
modular toolbox for solving @dfn{partial differential equations} (PDEs) with
grid-based methods. It supports the easy implementation of methods like
@dfn{Finite Elements} (FE), @dfn{Finite Volumes} (FV), and also @dfn{Finite
Differences} (FD).
This package contains the DUNE UG grid classes.")
(license license:lgpl2.1)))
(define-public dune-grid (define-public dune-grid
(package (package
(name "dune-grid") (name "dune-grid")
@ -4703,54 +4711,8 @@ This package contains the basic DUNE geometry classes.")
(add-after 'build 'build-tests (add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "build_tests" make-flags))) (apply invoke "make" "build_tests" make-flags)))
;; These tests fail because they require a fully functional MPI (add-before 'check 'mpi-setup
;; environment. ,%openmpi-setup))))
(add-after 'unpack 'disable-failing-tests
(lambda _
(setenv "ARGS"
(string-append "--exclude-regex '("
(string-join
(list
"scsgmappertest"
"conformvolumevtktest"
"gnuplottest"
"nonconformboundaryvtktest"
"subsamplingvtktest"
"vtktest"
"vtktest-mpi-2"
"vtksequencetest"
"gmshtest-onedgrid"
"test-dgf-yasp"
"test-dgf-yasp-offset"
"test-dgf-oned"
"test-geogrid-yaspgrid"
"test-gridinfo"
"test-identitygrid"
"testiteratorranges"
"test-hierarchicsearch"
"test-parallel-ug-mpi-2"
"test-yaspgrid-backuprestore-equidistant"
"test-yaspgrid-backuprestore-equidistant-mpi-2"
"test-yaspgrid-backuprestore-equidistantoffset"
"test-yaspgrid-backuprestore-equidistantoffset-mpi-2"
"test-yaspgrid-backuprestore-tensor"
"test-yaspgrid-backuprestore-tensor-mpi-2"
"test-yaspgrid-tensorgridfactory"
"test-yaspgrid-tensorgridfactory-mpi-2"
"test-yaspgrid-yaspfactory-1d"
"test-yaspgrid-yaspfactory-1d-mpi-2"
"test-yaspgrid-yaspfactory-2d"
"test-yaspgrid-yaspfactory-2d-mpi-2"
"test-yaspgrid-yaspfactory-3d"
"test-yaspgrid-yaspfactory-3d-mpi-2"
"globalindexsettest"
"persistentcontainertest"
"structuredgridfactorytest"
"tensorgridfactorytest"
"vertexordertest")
"|")
")'"))
#t)))))
(inputs (inputs
`(("dune-common" ,dune-common) `(("dune-common" ,dune-common)
("dune-geometry" ,dune-geometry) ("dune-geometry" ,dune-geometry)
@ -4759,6 +4721,8 @@ This package contains the basic DUNE geometry classes.")
("openblas" ,openblas) ("openblas" ,openblas)
("openmpi" ,openmpi) ("openmpi" ,openmpi)
("python" ,python))) ("python" ,python)))
(propagated-inputs
`(("dune-uggrid" ,dune-uggrid)))
(native-inputs (native-inputs
`(("gfortran" ,gfortran) `(("gfortran" ,gfortran)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
@ -4793,29 +4757,14 @@ This package contains the basic DUNE grid classes.")
(add-after 'build 'build-tests (add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "build_tests" make-flags))) (apply invoke "make" "build_tests" make-flags)))
;; These tests fail because they require a fully functional MPI (add-before 'check 'mpi-setup
;; environment. ,%openmpi-setup))))
(add-after 'unpack 'disable-failing-tests
(lambda _
(setenv "ARGS"
(string-append "--exclude-regex '("
(string-join
(list
"galerkintest"
"hierarchytest"
"pamgtest"
"pamg_comm_repart_test"
"matrixredisttest"
"vectorcommtest"
"matrixmarkettest")
"|")
")'"))
#t)))))
(inputs (inputs
`(("dune-common" ,dune-common) `(("dune-common" ,dune-common)
("openmpi" ,openmpi) ("openmpi" ,openmpi)
;; Optional ;; Optional
("metis" ,metis) ("metis" ,metis)
("suitesparse" ,suitesparse)
("superlu" ,superlu) ("superlu" ,superlu)
("openblas" ,openblas) ("openblas" ,openblas)
("gmp" ,gmp) ("gmp" ,gmp)
@ -4896,9 +4845,7 @@ assemble global function spaces on finite-element grids.")
"1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj")))) "1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; 7 of 8 tests fail because they need a full MPI `(#:phases
; environment
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-include (add-after 'unpack 'patch-include
(lambda _ (lambda _
@ -4910,7 +4857,9 @@ assemble global function spaces on finite-element grids.")
(lambda* (#:key inputs make-flags #:allow-other-keys) (lambda* (#:key inputs make-flags #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH" (setenv "CPLUS_INCLUDE_PATH"
(string-append (assoc-ref inputs "dune-grid") "/share")) (string-append (assoc-ref inputs "dune-grid") "/share"))
(apply invoke "make" "build_tests" make-flags)))))) (apply invoke "make" "build_tests" make-flags)))
(add-before 'check 'mpi-setup
,%openmpi-setup))))
(inputs (inputs
`(("dune-common" ,dune-common) `(("dune-common" ,dune-common)
("dune-geometry" ,dune-geometry) ("dune-geometry" ,dune-geometry)
@ -4933,6 +4882,49 @@ implementation of the DUNE grid interface supporting either simplices or
cubes.") cubes.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public dune-subgrid
(package
(name "dune-subgrid")
(version "2.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.imp.fu-berlin.de/agnumpde/dune-subgrid")
(commit "releases/2.6-1")))
(file-name (git-file-name name version))
(sha256
(base32
"1gcv35rx3knqd54r4pp9rzd639db4j8w2r2ibq43w1mgwdcqhs64"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "build_tests" make-flags)))
(add-before 'check 'mpi-setup
,%openmpi-setup))))
(inputs
`(("dune-common" ,dune-common)
("dune-geometry" ,dune-geometry)
("dune-grid" ,dune-grid)
("openmpi" ,openmpi)
;; Optional
("metis" ,metis)
("openblas" ,openblas)
("gmp" ,gmp)))
(native-inputs
`(("gfortran" ,gfortran)
("pkg-config" ,pkg-config)))
(home-page "http://numerik.mi.fu-berlin.de/dune-subgrid/index.php")
(synopsis "Distributed and Unified Numerics Environment")
(description "The dune-subgrid module allows to mark elements of
another hierarchical dune grid. The set of marked elements can then be
accessed as a hierarchical dune grid in its own right. Dune-Subgrid
provides the full grid interface including adaptive mesh refinement.")
(license license:gpl2+)))
(define-public dune-typetree (define-public dune-typetree
(package (package
(name "dune-typetree") (name "dune-typetree")
@ -4988,7 +4980,20 @@ operating on statically typed trees of objects.")
(base32 (base32
"1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200")))) "1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments `(#:tests? #f)) ; FIXME: tests require dune-uugrid (arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
(setenv "ARGS"
;; unable to load GMSH file in this test
"--exclude-regex gridviewfunctionspacebasistest")
#t))
(add-after 'build 'build-tests
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "build_tests" make-flags)))
(add-before 'check 'mpi-setup
,%openmpi-setup))))
(inputs (inputs
`(("dune-common" ,dune-common) `(("dune-common" ,dune-common)
("dune-istl" ,dune-istl) ("dune-istl" ,dune-istl)

View file

@ -45,14 +45,14 @@ specified, recurse and return a mingw-w64 with support for winpthreads."
(package (package
(name (string-append "mingw-w64" "-" machine (name (string-append "mingw-w64" "-" machine
(if with-winpthreads? "-winpthreads" ""))) (if with-winpthreads? "-winpthreads" "")))
(version "6.0.0") (version "7.0.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://sourceforge.net/projects/mingw-w64/files/mingw-w64/" "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/"
"mingw-w64-release/mingw-w64-v" version ".tar.bz2")) "mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
(sha256 (sha256
(base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0")) (base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a"))
(patches (search-patches "mingw-w64-6.0.0-gcc.patch")))) (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
(native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet))) (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet)))
("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet))) ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet)))

View file

@ -172,7 +172,7 @@ a highly stable and efficient implementation.")
'(#:tests? #f ; Tests are not ran with BUILD_SHARED_LIBS on. '(#:tests? #f ; Tests are not ran with BUILD_SHARED_LIBS on.
#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"))) #:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
(inputs `(("zlib" ,zlib))) (inputs `(("zlib" ,zlib)))
(home-page "http://taglib.org") (home-page "https://taglib.org")
(synopsis "Library to access audio file meta-data") (synopsis "Library to access audio file meta-data")
(description (description
"TagLib is a C++ library for reading and editing the meta-data of several "TagLib is a C++ library for reading and editing the meta-data of several

View file

@ -864,7 +864,7 @@ interface. It is implemented as a frontend to @code{klick}.")
(define-public libgme (define-public libgme
(package (package
(name "libgme") (name "libgme")
(version "0.6.2") (version "0.6.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://bitbucket.org/mpyne/game-music-emu/" (uri (string-append "https://bitbucket.org/mpyne/game-music-emu/"
@ -872,7 +872,7 @@ interface. It is implemented as a frontend to @code{klick}.")
".tar.xz")) ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0hkkmxbaas2sirlb5i4r10mgbbiaapjx8pazifabwba23m3wnijh")))) "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f)) ; no check target '(#:tests? #f)) ; no check target

View file

@ -167,7 +167,7 @@ or, more generally, MAC addresses of the same category of hardware.")
(substitute* "src/Makefile" (substitute* "src/Makefile"
(("^TESTS = .*") "TESTS = \n")) (("^TESTS = .*") "TESTS = \n"))
#t))))) #t)))))
(home-page "http://www.remlab.net/miredo/") (home-page "https://www.remlab.net/miredo/")
(synopsis "Teredo IPv6 tunneling software") (synopsis "Teredo IPv6 tunneling software")
(description (description
"Miredo is an implementation (client, relay, server) of the Teredo "Miredo is an implementation (client, relay, server) of the Teredo

View file

@ -6,7 +6,7 @@
;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se> ;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016, 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -46,6 +46,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -65,6 +66,7 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
@ -697,6 +699,82 @@ using password-store through rofi interface:
@end enumerate") @end enumerate")
(license license:gpl3))) (license license:gpl3)))
(define-public browserpass-native
(package
(name "browserpass-native")
(version "3.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/browserpass/browserpass-native.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0q3bsla07zjl6i69nj1axbkg2ia89pvh0jg6nlqgbm2kpzzbn0pz"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/browserpass/browserpass-native"
#:install-source? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; This doesn't go in #:make-flags because the Makefile itself
;; gets installed.
(substitute*
"src/github.com/browserpass/browserpass-native/Makefile"
(("PREFIX \\?= /usr")
(string-append "PREFIX ?= " out)))
#t)))
(add-before 'build 'configure
(lambda _
(with-directory-excursion
"src/github.com/browserpass/browserpass-native"
(invoke "make" "configure"))
#t))
(replace 'build
(lambda _
(with-directory-excursion
"src/github.com/browserpass/browserpass-native"
(invoke "make"))
#t))
(replace 'install
(lambda _
(with-directory-excursion
"src/github.com/browserpass/browserpass-native"
(invoke "make" "install"))
#t))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gnupg (assoc-ref inputs "gnupg")))
(wrap-program (string-append out "/bin/browserpass")
`("PATH" ":" prefix
(,(string-append gnupg "/bin"))))
#t))))))
(native-inputs
`(("which" ,which)))
(inputs
`(("gnupg" ,gnupg)
("go-github-com-mattn-go-zglob" ,go-github-com-mattn-go-zglob)
("go-github-com-rifflock-lfshook" ,go-github-com-rifflock-lfshook)
("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus)
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(home-page "https://github.com/browserpass/browserpass-native")
(synopsis "Browserpass native messaging host")
(description "Browserpass is a browser extension for pass, a
UNIX-based password store manager. It allows you to auto-fill or copy to
clipboard credentials for the current domain, protecting you from phishing
attacks.
This package only contains the Browserpass native messaging host. You must
also install the browser extension for GNU IceCat or ungoogled-chromium
separately.")
(license license:isc)))
(define-public argon2 (define-public argon2
(package (package
(name "argon2") (name "argon2")

View file

@ -0,0 +1,180 @@
Fix CVE-2020-0556:
https://lore.kernel.org/linux-bluetooth/20200310023516.209146-1-alainm@chromium.org/
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0556
Patches copied from upstream source repository:
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=3cccdbab2324086588df4ccf5f892fb3ce1f1787
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=8cdbd3b09f29da29374e2f83369df24228da0ad1
From 3cccdbab2324086588df4ccf5f892fb3ce1f1787 Mon Sep 17 00:00:00 2001
From: Alain Michaud <alainm@chromium.org>
Date: Tue, 10 Mar 2020 02:35:18 +0000
Subject: [PATCH] HID accepts bonded device connections only.
This change adds a configuration for platforms to choose a more secure
posture for the HID profile. While some older mice are known to not
support pairing or encryption, some platform may choose a more secure
posture by requiring the device to be bonded and require the
connection to be encrypted when bonding is required.
Reference:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html
---
profiles/input/device.c | 23 ++++++++++++++++++++++-
profiles/input/device.h | 1 +
profiles/input/input.conf | 8 ++++++++
profiles/input/manager.c | 13 ++++++++++++-
4 files changed, 43 insertions(+), 2 deletions(-)
diff --git a/profiles/input/device.c b/profiles/input/device.c
index 2cb3811c8..d89da2d7c 100644
--- a/profiles/input/device.c
+++ b/profiles/input/device.c
@@ -92,6 +92,7 @@ struct input_device {
static int idle_timeout = 0;
static bool uhid_enabled = false;
+static bool classic_bonded_only = false;
void input_set_idle_timeout(int timeout)
{
@@ -103,6 +104,11 @@ void input_enable_userspace_hid(bool state)
uhid_enabled = state;
}
+void input_set_classic_bonded_only(bool state)
+{
+ classic_bonded_only = state;
+}
+
static void input_device_enter_reconnect_mode(struct input_device *idev);
static int connection_disconnect(struct input_device *idev, uint32_t flags);
@@ -970,8 +976,18 @@ static int hidp_add_connection(struct input_device *idev)
if (device_name_known(idev->device))
device_get_name(idev->device, req->name, sizeof(req->name));
+ /* Make sure the device is bonded if required */
+ if (classic_bonded_only && !device_is_bonded(idev->device,
+ btd_device_get_bdaddr_type(idev->device))) {
+ error("Rejected connection from !bonded device %s", dst_addr);
+ goto cleanup;
+ }
+
/* Encryption is mandatory for keyboards */
- if (req->subclass & 0x40) {
+ /* Some platforms may choose to require encryption for all devices */
+ /* Note that this only matters for pre 2.1 devices as otherwise the */
+ /* device is encrypted by default by the lower layers */
+ if (classic_bonded_only || req->subclass & 0x40) {
if (!bt_io_set(idev->intr_io, &gerr,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
BT_IO_OPT_INVALID)) {
@@ -1203,6 +1219,11 @@ static void input_device_enter_reconnect_mode(struct input_device *idev)
DBG("path=%s reconnect_mode=%s", idev->path,
reconnect_mode_to_string(idev->reconnect_mode));
+ /* Make sure the device is bonded if required */
+ if (classic_bonded_only && !device_is_bonded(idev->device,
+ btd_device_get_bdaddr_type(idev->device)))
+ return;
+
/* Only attempt an auto-reconnect when the device is required to
* accept reconnections from the host.
*/
diff --git a/profiles/input/device.h b/profiles/input/device.h
index 51a9aee18..3044db673 100644
--- a/profiles/input/device.h
+++ b/profiles/input/device.h
@@ -29,6 +29,7 @@ struct input_conn;
void input_set_idle_timeout(int timeout);
void input_enable_userspace_hid(bool state);
+void input_set_classic_bonded_only(bool state);
int input_device_register(struct btd_service *service);
void input_device_unregister(struct btd_service *service);
diff --git a/profiles/input/input.conf b/profiles/input/input.conf
index 3e1d65aae..166aff4a4 100644
--- a/profiles/input/input.conf
+++ b/profiles/input/input.conf
@@ -11,3 +11,11 @@
# Enable HID protocol handling in userspace input profile
# Defaults to false (HIDP handled in HIDP kernel module)
#UserspaceHID=true
+
+# Limit HID connections to bonded devices
+# The HID Profile does not specify that devices must be bonded, however some
+# platforms may want to make sure that input connections only come from bonded
+# device connections. Several older mice have been known for not supporting
+# pairing/encryption.
+# Defaults to false to maximize device compatibility.
+#ClassicBondedOnly=true
diff --git a/profiles/input/manager.c b/profiles/input/manager.c
index 1d31b0652..5cd27b839 100644
--- a/profiles/input/manager.c
+++ b/profiles/input/manager.c
@@ -96,7 +96,7 @@ static int input_init(void)
config = load_config_file(CONFIGDIR "/input.conf");
if (config) {
int idle_timeout;
- gboolean uhid_enabled;
+ gboolean uhid_enabled, classic_bonded_only;
idle_timeout = g_key_file_get_integer(config, "General",
"IdleTimeout", &err);
@@ -114,6 +114,17 @@ static int input_init(void)
input_enable_userspace_hid(uhid_enabled);
} else
g_clear_error(&err);
+
+ classic_bonded_only = g_key_file_get_boolean(config, "General",
+ "ClassicBondedOnly", &err);
+
+ if (!err) {
+ DBG("input.conf: ClassicBondedOnly=%s",
+ classic_bonded_only ? "true" : "false");
+ input_set_classic_bonded_only(classic_bonded_only);
+ } else
+ g_clear_error(&err);
+
}
btd_profile_register(&input_profile);
--
2.25.1
From 8cdbd3b09f29da29374e2f83369df24228da0ad1 Mon Sep 17 00:00:00 2001
From: Alain Michaud <alainm@chromium.org>
Date: Tue, 10 Mar 2020 02:35:16 +0000
Subject: [PATCH] HOGP must only accept data from bonded devices.
HOGP 1.0 Section 6.1 establishes that the HOGP must require bonding.
Reference:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.htm
---
profiles/input/hog.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/profiles/input/hog.c b/profiles/input/hog.c
index 83c017dcb..dfac68921 100644
--- a/profiles/input/hog.c
+++ b/profiles/input/hog.c
@@ -186,6 +186,10 @@ static int hog_accept(struct btd_service *service)
return -EINVAL;
}
+ /* HOGP 1.0 Section 6.1 requires bonding */
+ if (!device_is_bonded(device, btd_device_get_bdaddr_type(device)))
+ return -ECONNREFUSED;
+
/* TODO: Replace GAttrib with bt_gatt_client */
bt_hog_attach(dev->hog, attrib);
--
2.25.1

View file

@ -66,9 +66,9 @@ implementation as used in cperl. It does not store the mocked overrides
lexically, just dynamically.") lexically, just dynamically.")
(license artistic2.0))) (license artistic2.0)))
(define-public perl-test2-bundle-extended (define-public perl-test2-suite
(package (package
(name "perl-test2-bundle-extended") (name "perl-test2-suite")
(version "0.000072") (version "0.000072")
(source (source
(origin (origin
@ -88,7 +88,7 @@ lexically, just dynamically.")
`(("perl-importer" ,perl-importer) `(("perl-importer" ,perl-importer)
("perl-term-table" ,perl-term-table) ("perl-term-table" ,perl-term-table)
("perl-sub-info" ,perl-sub-info))) ("perl-sub-info" ,perl-sub-info)))
(home-page "https://metacpan.org/pod/Test2::Bundle::Extended") (home-page "https://metacpan.org/pod/Test2-Suite")
(synopsis "Full set of tools for Test2::Suite") (synopsis "Full set of tools for Test2::Suite")
(description "This package provides a rich set of tools, plugins, bundles, (description "This package provides a rich set of tools, plugins, bundles,
etc built upon the Test2 testing library.") etc built upon the Test2 testing library.")
@ -107,8 +107,10 @@ etc built upon the Test2 testing library.")
(base32 (base32
"002qk6qsm0l6r2kaxywvc38w0yf0mlavgywq8li076pn6kcw3242")))) "002qk6qsm0l6r2kaxywvc38w0yf0mlavgywq8li076pn6kcw3242"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs
`(("perl-ipc-run3" ,perl-ipc-run3)))
(propagated-inputs (propagated-inputs
`(("perl-test2-bundle-extended" ,perl-test2-bundle-extended))) `(("perl-test2-suite" ,perl-test2-suite)))
(home-page "https://metacpan.org/release/Test2-Plugin-NoWarnings") (home-page "https://metacpan.org/release/Test2-Plugin-NoWarnings")
(synopsis "Fail if tests warn") (synopsis "Fail if tests warn")
(description "Loading this plugin causes your tests to fail if there any (description "Loading this plugin causes your tests to fail if there any

View file

@ -7201,8 +7201,8 @@ function call parameters to an arbitrary level of specificity.")
(native-inputs (native-inputs
;; For tests. ;; For tests.
`(("perl-test-without-module" ,perl-test-without-module) `(("perl-test-without-module" ,perl-test-without-module)
("perl-test2-bundle-extended" ,perl-test2-bundle-extended)
("perl-test2-plugin-nowarnings" ,perl-test2-plugin-nowarnings) ("perl-test2-plugin-nowarnings" ,perl-test2-plugin-nowarnings)
("perl-test2-suite" ,perl-test2-suite)
("perl-type-tiny" ,perl-type-tiny))) ("perl-type-tiny" ,perl-type-tiny)))
(propagated-inputs (propagated-inputs
`(("perl-eval-closure" ,perl-eval-closure) `(("perl-eval-closure" ,perl-eval-closure)

View file

@ -5757,9 +5757,9 @@ computing.")
(add-before 'check 'delete-broken-tests (add-before 'check 'delete-broken-tests
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; These tests throw errors for unknown reasons. ;; These tests throw errors for unknown reasons.
(delete-file "IPython/core/tests/test_displayhook.py")
(delete-file "IPython/core/tests/test_magic_terminal.py")
(delete-file "IPython/core/tests/test_profile.py") (delete-file "IPython/core/tests/test_profile.py")
(delete-file "IPython/core/tests/test_interactiveshell.py")
(delete-file "IPython/core/tests/test_magic.py")
#t))))) #t)))))
(home-page "https://ipython.org") (home-page "https://ipython.org")
(synopsis "IPython is a tool for interactive computing in Python") (synopsis "IPython is a tool for interactive computing in Python")
@ -8186,6 +8186,7 @@ in the data.")
(description "This package provides a terminal-based console frontend for (description "This package provides a terminal-based console frontend for
Jupyter kernels. It also allows for console-based interaction with non-Python Jupyter kernels. It also allows for console-based interaction with non-Python
Jupyter kernels such as IJulia and IRKernel.") Jupyter kernels such as IJulia and IRKernel.")
(properties `((python2-variant . ,(delay python2-jupyter-console))))
(license license:bsd-3))) (license license:bsd-3)))
(define-public python2-jupyter-console (define-public python2-jupyter-console
@ -8200,8 +8201,9 @@ Jupyter kernels such as IJulia and IRKernel.")
(base32 (base32
"1kam1qzgwr7srhm5r6aj90di5sws4bq0jmiw15452ddamb9yspal")))) "1kam1qzgwr7srhm5r6aj90di5sws4bq0jmiw15452ddamb9yspal"))))
(build-system python-build-system) (build-system python-build-system)
;; Tests only run in an TTY. (arguments
(arguments `(#:tests? #f)) `(#:python ,python-2
#:tests? #f)) ; Tests only run in a TTY.
(propagated-inputs (propagated-inputs
`(("python2-ipykernel" ,python2-ipykernel) `(("python2-ipykernel" ,python2-ipykernel)
("python2-jupyter-client" ,python2-jupyter-client) ("python2-jupyter-client" ,python2-jupyter-client)

View file

@ -104,14 +104,14 @@ complexity.")))
(define-public s6 (define-public s6
(package (package
(name "s6") (name "s6")
(version "2.9.0.1") (version "2.9.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://skarnet.org/software/s6/s6-" (uri (string-append "https://skarnet.org/software/s6/s6-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "0mvcjrz8nlj9p2zclmcv22b4y6bqzd2iz38arhgc989vdvrbmkg0")))) (base32 "1xqzl2wnvcmcyhppk7mc10h1ac7fkik3i6gpyliwpf3d5i9mkqh5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs) (inputs `(("skalibs" ,skalibs)
("execline" ,execline))) ("execline" ,execline)))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com> ;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
@ -1983,20 +1983,21 @@ and environmental data in the framework of Euclidean exploratory methods.")
(define-public r-xml2 (define-public r-xml2
(package (package
(name "r-xml2") (name "r-xml2")
(version "1.2.2") (version "1.2.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "xml2" version)) (uri (cran-uri "xml2" version))
(sha256 (sha256
(base32 (base32
"1x3q3a0xv8j0nx3hs4d3pfjm5g9nvaxmfrapba9f4nrkqi3z2l1h")))) "0mp61gg8s3zfq10g10vjk0mrcx6d5gm81n4ji8an2my11g61yq94"))))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
`(("libxml2" ,libxml2) `(("libxml2" ,libxml2)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)
("r-knitr" ,r-knitr)))
(propagated-inputs (propagated-inputs
`(("r-rcpp" ,r-rcpp))) `(("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/hadley/xml2") (home-page "https://github.com/hadley/xml2")
@ -2263,19 +2264,20 @@ tables, autolinks and strikethrough text.")
(define-public r-roxygen2 (define-public r-roxygen2
(package (package
(name "r-roxygen2") (name "r-roxygen2")
(version "7.0.2") (version "7.1.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "roxygen2" version)) (uri (cran-uri "roxygen2" version))
(sha256 (sha256
(base32 (base32
"162xag27hwwyadfwm5zpyy15nxwhw2vbhwapx3jmi9cfyryr68sq")))) "00s1wzx5960k8pzgpz4kikjf4k061hyhnd278y65q6n0wzv3d6vy"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-brew" ,r-brew) `(("r-brew" ,r-brew)
("r-commonmark" ,r-commonmark) ("r-commonmark" ,r-commonmark)
("r-desc" ,r-desc) ("r-desc" ,r-desc)
("r-digest" ,r-digest) ("r-digest" ,r-digest)
("r-knitr" ,r-knitr)
("r-pkgload" ,r-pkgload) ("r-pkgload" ,r-pkgload)
("r-purrr" ,r-purrr) ("r-purrr" ,r-purrr)
("r-r6" ,r-r6) ("r-r6" ,r-r6)
@ -2284,8 +2286,6 @@ tables, autolinks and strikethrough text.")
("r-stringi" ,r-stringi) ("r-stringi" ,r-stringi)
("r-stringr" ,r-stringr) ("r-stringr" ,r-stringr)
("r-xml2" ,r-xml2))) ("r-xml2" ,r-xml2)))
(native-inputs
`(("r-knitr" ,r-knitr))) ; for vignettes
(home-page "https://github.com/klutometis/roxygen") (home-page "https://github.com/klutometis/roxygen")
(synopsis "In-source documentation system for R") (synopsis "In-source documentation system for R")
(description (description
@ -5101,14 +5101,14 @@ expected shortfall risk are also included.")
(define-public r-nloptr (define-public r-nloptr
(package (package
(name "r-nloptr") (name "r-nloptr")
(version "1.2.2") (version "1.2.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "nloptr" version)) (uri (cran-uri "nloptr" version))
(sha256 (sha256
(base32 (base32
"19k7nd3a7cg35k5i1cwj1lhgfs02jb7bc2gwlammpq6j41rh4vr7")))) "1bhh2v14phzndjhiq7yw9vych6vzn5yy3vk9q35zcp3jhjjbwdyh"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
`(("r-knitr" ,r-knitr) ; for building vignettes `(("r-knitr" ,r-knitr) ; for building vignettes
@ -5204,13 +5204,13 @@ Companion to Applied Regression, Third Edition, Sage.")
(define-public r-car (define-public r-car
(package (package
(name "r-car") (name "r-car")
(version "3.0-6") (version "3.0-7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "car" version)) (uri (cran-uri "car" version))
(sha256 (sha256
(base32 "0yv5mwaa0ymrbis9590mx0zcj3w6j4drhs6ab13zhx4zc3x1b7b6")))) (base32 "11sfk1l41j27mrfy16g7b02c570n3gy9icvpcrfjh1biykqa565d"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-abind" ,r-abind) `(("r-abind" ,r-abind)
@ -5224,6 +5224,8 @@ Companion to Applied Regression, Third Edition, Sage.")
("r-pbkrtest" ,r-pbkrtest) ("r-pbkrtest" ,r-pbkrtest)
("r-quantreg" ,r-quantreg) ("r-quantreg" ,r-quantreg)
("r-rio" ,r-rio))) ("r-rio" ,r-rio)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://r-forge.r-project.org/projects/car/") (home-page "https://r-forge.r-project.org/projects/car/")
(synopsis "Companion to applied regression") (synopsis "Companion to applied regression")
(description (description
@ -5392,14 +5394,14 @@ genome-wide association studies can be analyzed efficiently.")
(define-public r-cairo (define-public r-cairo
(package (package
(name "r-cairo") (name "r-cairo")
(version "1.5-10") (version "1.5-11")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Cairo" version)) (uri (cran-uri "Cairo" version))
(sha256 (sha256
(base32 (base32
"1mdmd5zmjkh1b0x928zizgzh42x8swbajffb88rvnjfdhk1z0dvq")))) "1k9kpxcg5n4g6x2gydv344f4w0snqbhww14fnbbj1bny0mmv28xg"))))
(properties `((upstream-name . "Cairo"))) (properties `((upstream-name . "Cairo")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs

View file

@ -561,7 +561,7 @@ runs Word\".")
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/share/man/man1")))))))) (mkdir-p (string-append out "/share/man/man1"))))))))
(home-page "http://www.wagner.pp.ru/~vitus/software/catdoc/") (home-page "https://www.wagner.pp.ru/~vitus/software/catdoc/")
(synopsis "MS-Word to TeX or plain text converter") (synopsis "MS-Word to TeX or plain text converter")
(description "@command{catdoc} extracts text from MS-Word files, trying to (description "@command{catdoc} extracts text from MS-Word files, trying to
preserve as many special printable characters as possible. It supports preserve as many special printable characters as possible. It supports

View file

@ -27,6 +27,7 @@
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -531,6 +532,75 @@ everything from small to very large projects with speed and efficiency.")
("zlib" ,zlib) ("zlib" ,zlib)
("bash-for-tests" ,bash))))) ("bash-for-tests" ,bash)))))
(define-public gitless
(package
(name "gitless")
(version "0.8.8")
(source
(origin
;; The PyPI package lacks a test suite. Build directly from git.
(method git-fetch)
(uri (git-reference
(url "https://github.com/gitless-vcs/gitless")
(commit (string-append "v" version))))
(sha256
(base32 "048kl27zjr68hgs70g3l98ci9765wxva6azzrhcdys7nsdd493n6"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'loosen-requirements
(lambda _
(substitute* "setup.py"
;; Using Guix's python-pygit2 1.1.0 appears to work fine…
(("pygit2==") "pygit2>="))
#t))
(add-before 'check 'prepare-for-tests
(lambda _
;; Find the 'gl' command.
(rename-file "gl.py" "gl")
(setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
;; The tests try to run git as if it were already set up.
(setenv "HOME" (getcwd))
(invoke "git" "config" "--global" "user.email" "git@example.com")
(invoke "git" "config" "--global" "user.name" "Guix")))
(replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(git (assoc-ref inputs "git")))
(wrap-program (string-append out "/bin/gl")
`("PATH" ":" prefix (,(string-append git "/bin")))
`("PYTHONPATH" ":" =
(,(string-append out "/lib/python"
,(version-major+minor
(package-version python))
"/site-packages:")
,(getenv "PYTHONPATH"))))
#t))))))
(native-inputs
`(("git-for-tests" ,git-minimal)))
(inputs
`(("git" ,git-minimal)
("python-clint" ,python-clint)
("python-pygit2" ,python-pygit2)
("python-sh" ,python-sh)))
(home-page "https://gitless.com")
(synopsis "Simple version control system built on top of Git")
(description
"Gitless is a Git-compatible version control system that aims to be easy to
learn and use. It simplifies the common workflow by committing changes to
tracked files by default and saving any uncommitted changes as part of a branch.
The friendly @command{gl} command-line interface gives feedback and helps you
figure out what to do next.
Gitless is implemented on top of Git and its commits and repositories are
indistinguishable from Git's. You (or other contributors) can always fall back
on @command{git}, and use any regular Git hosting service.")
(license license:expat)))
(define-public libgit2 (define-public libgit2
(package (package
(name "libgit2") (name "libgit2")

View file

@ -2580,7 +2580,7 @@ Other features include a live preview and live streaming.")
("automake" ,automake))) ("automake" ,automake)))
(inputs (inputs
`(("sdl" ,sdl2))) `(("sdl" ,sdl2)))
(home-page "http://icculus.org/smpeg/") (home-page "https://icculus.org/smpeg/")
(synopsis "SDL MPEG decoding library") (synopsis "SDL MPEG decoding library")
(description (description
"SMPEG (SDL MPEG Player Library) is a free MPEG1 video player library "SMPEG (SDL MPEG Player Library) is a free MPEG1 video player library

View file

@ -221,14 +221,14 @@ Interface} specification.")
;; stable and recommends that “in general you deploy the NGINX mainline ;; stable and recommends that “in general you deploy the NGINX mainline
;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
;; Consider updating the nginx-documentation package together with this one. ;; Consider updating the nginx-documentation package together with this one.
(version "1.17.8") (version "1.17.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-" (uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0nwn4md8sxhks2j77qq1nvk5pfz3yykfhh2b507b6l2idp7kxllp")))) "12dnrdxwnlid0wr797vdxj9z1fmxnk7ib55bznvl2g3mbi05vmkx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("openssl" ,openssl) (inputs `(("openssl" ,openssl)
("pcre" ,pcre) ("pcre" ,pcre)
@ -1129,7 +1129,7 @@ parser written in ANSI C and a small validating JSON generator.")
"Libwebsockets is a library that allows C programs to establish client "Libwebsockets is a library that allows C programs to establish client
and server WebSockets connections---a protocol layered above HTTP that allows and server WebSockets connections---a protocol layered above HTTP that allows
for efficient socket-like bidirectional reliable communication channels.") for efficient socket-like bidirectional reliable communication channels.")
(home-page "http://libwebsockets.org/") (home-page "https://libwebsockets.org")
;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'. ;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'.
(license license:lgpl2.1))) (license license:lgpl2.1)))
@ -6089,7 +6089,7 @@ file links.")
(inputs (inputs
`(("expat" ,expat) `(("expat" ,expat)
("openssl" ,openssl))) ("openssl" ,openssl)))
(home-page "http://www.webdav.org/cadaver") (home-page "http://www.webdav.org/cadaver/")
(synopsis "Command-line WebDAV client") (synopsis "Command-line WebDAV client")
(description (description
"Cadaver is a command-line WebDAV client for Unix. It supports "Cadaver is a command-line WebDAV client for Unix. It supports
@ -7207,7 +7207,7 @@ the Internet to a local directory, building recursively all directories,
getting HTML, images, and other files from the server to your computer. getting HTML, images, and other files from the server to your computer.
HTTrack arranges the original site's relative link-structure. Simply open HTTrack arranges the original site's relative link-structure. Simply open
a page of the ``mirrored'' website in your browser, and you can browse the a page of the @code{mirrored} website in your browser, and you can browse the
site from link to link, as if you were viewing it online. HTTrack can also site from link to link, as if you were viewing it online. HTTrack can also
update an existing mirrored site, and resume interrupted downloads. update an existing mirrored site, and resume interrupted downloads.

View file

@ -121,14 +121,14 @@ engine that uses Wayland for graphics output.")
(define-public webkitgtk (define-public webkitgtk
(package (package
(name "webkitgtk") (name "webkitgtk")
(version "2.26.4") (version "2.28.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/" (uri (string-append "https://www.webkitgtk.org/releases/"
"webkitgtk-" version ".tar.xz")) "webkitgtk-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0gqi9f9njrdn8vad1zvr59b25arwc8r0n8bp25sgkbfz2c3r11j3")))) "12qfs9w93c5kiyi14ynm4rf4ad3c213dvzmdrc9c3ab2iwbks7rn"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments

View file

@ -691,14 +691,14 @@ tiled on several screens.")
(define-public xmobar (define-public xmobar
(package (package
(name "xmobar") (name "xmobar")
(version "0.32") (version "0.33")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://hackage/package/xmobar/" (uri (string-append "mirror://hackage/package/xmobar/"
"xmobar-" version ".tar.gz")) "xmobar-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0x2ki3v0pmhl4bva3qi1xx21axayc4sx1nkzhmk2ap4l0cj52jrd")))) "1hr3qqykc5givcpcwrr9f2y920jmiinmxm5mcy6qgpgymgwqb618"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(native-inputs (native-inputs
`(("ghc-hspec" ,ghc-hspec) `(("ghc-hspec" ,ghc-hspec)

View file

@ -818,7 +818,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.")
(define-public xlockmore (define-public xlockmore
(package (package
(name "xlockmore") (name "xlockmore")
(version "5.59") (version "5.62")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "http://sillycycle.com/xlock/" (uri (list (string-append "http://sillycycle.com/xlock/"
@ -829,7 +829,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.")
"xlockmore-" version ".tar.xz"))) "xlockmore-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"0lajc5a4lki33b9mzfsi74q4hbivbmhwysp7mib4ivnyxianhaid")))) "0b05wgj4mpssy4hd7km5c48i454dfg45p11mfmsr7xjd2gnz5gqi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags (list (string-append "--enable-appdefaultdir=" '(#:configure-flags (list (string-append "--enable-appdefaultdir="
@ -841,7 +841,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.")
("libXext" ,libxext) ("libXext" ,libxext)
("libXt" ,libxt) ("libXt" ,libxt)
("linux-pam" ,linux-pam))) ("linux-pam" ,linux-pam)))
(home-page "http://sillycycle.com/xlockmore.html") (home-page "https://sillycycle.com/xlockmore.html")
(synopsis "Screen locker for the X Window System") (synopsis "Screen locker for the X Window System")
(description (description
"XLockMore is a classic screen locker and screen saver for the "XLockMore is a classic screen locker and screen saver for the
@ -1972,7 +1972,7 @@ The cutbuffer and clipboard selection are always synchronized.")
(define-public jgmenu (define-public jgmenu
(package (package
(name "jgmenu") (name "jgmenu")
(version "4.0.1") (version "4.1.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1982,7 +1982,7 @@ The cutbuffer and clipboard selection are always synchronized.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1q0rpg2d96sn3rrdi8m7bngnxxqyxilpjxi7skiw4gvpiv1akxjp")))) "1wsh37rapb1bszlq36hvwxqvfds39hbvbl152m8as4zlh93wfvvk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("cppcheck" ,cppcheck) `(("cppcheck" ,cppcheck)

View file

@ -13,7 +13,7 @@
;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org> ;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
@ -6139,8 +6139,7 @@ X11 servers, Windows, or macOS.")
(guix build emacs-utils)) (guix build emacs-utils))
#:configure-flags #:configure-flags
(list "--with-anthy-utf8" (list "--with-anthy-utf8"
(string-append "--with-lispdir=" %output (string-append "--with-lispdir=" %output "/share/emacs")
"/share/emacs/site-lisp/guix.d")
;; Set proper runpath ;; Set proper runpath
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases #:phases
@ -6148,13 +6147,22 @@ X11 servers, Windows, or macOS.")
;; Set path of uim-el-agent and uim-el-helper-agent executables ;; Set path of uim-el-agent and uim-el-helper-agent executables
(add-after 'configure 'configure-uim-el (add-after 'configure 'configure-uim-el
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(substitute* "emacs/uim-var.el" (let ((out (assoc-ref outputs "out")))
(("\"(uim-el-agent|uim-el-helper-agent)\"" _ executable) (emacs-substitute-variables "emacs/uim-var.el"
(string-append "\"" (assoc-ref outputs "out") ("uim-el-agent" (string-append out "/bin/uim-el-agent"))
"/bin/" executable "\""))) ("uim-el-helper-agent" (string-append out "/bin/uim-el-helper-agent"))))
#t))
;; Fix installation path by renaming share/emacs/uim-el to
;; share/emacs/site-lisp
(add-after 'install 'fix-install-path
(lambda* (#:key outputs #:allow-other-keys)
(let ((share-emacs (string-append (assoc-ref outputs "out")
"/share/emacs")))
(rename-file (string-append share-emacs "/uim-el")
(string-append share-emacs "/site-lisp")))
#t)) #t))
;; Generate emacs autoloads for uim.el ;; Generate emacs autoloads for uim.el
(add-after 'install 'make-autoloads (add-after 'fix-install-path 'make-autoloads
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads (emacs-generate-autoloads
,name (string-append (assoc-ref outputs "out") ,name (string-append (assoc-ref outputs "out")

View file

@ -10,6 +10,7 @@
;;; Copyright © 2017, 2018, 2019 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017, 2018, 2019 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1670,12 +1671,14 @@ WSGIPassAuthorization On
#~(begin #~(begin
(use-modules (guix build utils)) (use-modules (guix build utils))
(mkdir-p "/var/mumi/db")
(mkdir-p "/var/mumi/mails") (mkdir-p "/var/mumi/mails")
(let* ((pw (getpwnam "mumi")) (let* ((pw (getpwnam "mumi"))
(uid (passwd:uid pw)) (uid (passwd:uid pw))
(gid (passwd:gid pw))) (gid (passwd:gid pw)))
(chown "/var/mumi" uid gid) (chown "/var/mumi" uid gid)
(chown "/var/mumi/mails" uid gid))))) (chown "/var/mumi/mails" uid gid)
(chown "/var/mumi/db" uid gid)))))
(define %mumi-accounts (define %mumi-accounts
(list (user-group (name "mumi") (system? #t)) (list (user-group (name "mumi") (system? #t))
@ -1696,6 +1699,15 @@ WSGIPassAuthorization On
'(#$(file-append mumi "/bin/mumi")) '(#$(file-append mumi "/bin/mumi"))
#:user "mumi" #:group "mumi" #:user "mumi" #:group "mumi"
#:log-file "/var/log/mumi.log")) #:log-file "/var/log/mumi.log"))
(stop #~(make-kill-destructor)))
(shepherd-service
(provision '(mumi-worker))
(documentation "Mumi bug-tracking web interface.")
(requirement '(networking))
(start #~(make-forkexec-constructor
'(#$(file-append mumi "/bin/mumi") "--worker")
#:user "mumi" #:group "mumi"
#:log-file "/var/log/mumi.worker.log"))
(stop #~(make-kill-destructor))))) (stop #~(make-kill-destructor)))))
(define mumi-service-type (define mumi-service-type

View file

@ -82,6 +82,9 @@
raw-derivation-file raw-derivation-file
raw-derivation-file? raw-derivation-file?
with-parameters
parameterized?
load-path-expression load-path-expression
gexp-modules gexp-modules
@ -523,6 +526,62 @@ SUFFIX."
(base (expand base lowered output))) (base (expand base lowered output)))
(string-append base (string-concatenate suffix))))))) (string-append base (string-concatenate suffix)))))))
;; Representation of SRFI-39 parameter settings in the dynamic scope of an
;; object lowering.
(define-record-type <parameterized>
(parameterized bindings thunk)
parameterized?
(bindings parameterized-bindings) ;list of parameter/value pairs
(thunk parameterized-thunk)) ;thunk
(define-syntax-rule (with-parameters ((param value) ...) body ...)
"Bind each PARAM to the corresponding VALUE for the extent during which BODY
is lowered. Consider this example:
(with-parameters ((%current-system \"x86_64-linux\"))
coreutils)
It returns a <parameterized> object that ensures %CURRENT-SYSTEM is set to
x86_64-linux when COREUTILS is lowered."
(parameterized (list (list param (lambda () value)) ...)
(lambda ()
body ...)))
(define-gexp-compiler compile-parameterized <parameterized>
compiler =>
(lambda (parameterized system target)
(match (parameterized-bindings parameterized)
(((parameters values) ...)
(let ((fluids (map parameter-fluid parameters))
(thunk (parameterized-thunk parameterized)))
;; Install the PARAMETERS for the dynamic extent of THUNK.
(with-fluids* fluids
(map (lambda (thunk) (thunk)) values)
(lambda ()
;; Special-case '%current-system' and '%current-target-system' to
;; make sure we get the desired effect.
(let ((system (if (memq %current-system parameters)
(%current-system)
system))
(target (if (memq %current-target-system parameters)
(%current-target-system)
target)))
(lower-object (thunk) system #:target target))))))))
expander => (lambda (parameterized lowered output)
(match (parameterized-bindings parameterized)
(((parameters values) ...)
(let ((fluids (map parameter-fluid parameters))
(thunk (parameterized-thunk parameterized)))
;; Install the PARAMETERS for the dynamic extent of THUNK.
(with-fluids* fluids
(map (lambda (thunk) (thunk)) values)
(lambda ()
;; Delegate to the expander of the wrapped object.
(let* ((base (thunk))
(expand (lookup-expander base)))
(expand base lowered output)))))))))
;;; ;;;
;;; Inputs & outputs. ;;; Inputs & outputs.

View file

@ -181,9 +181,9 @@ return \"Test-Simple\""
or #f on failure. MODULE should be the distribution name, such as or #f on failure. MODULE should be the distribution name, such as
\"Test-Script\" for the \"Test::Script\" module." \"Test-Script\" for the \"Test::Script\" module."
;; This API always returns the latest release of the module. ;; This API always returns the latest release of the module.
(json->cpan-release (and=> (json-fetch (string-append (%metacpan-base-url) "/release/"
(json-fetch (string-append (%metacpan-base-url) "/release/" name))
name)))) json->cpan-release))
(define (cpan-home name) (define (cpan-home name)
(string-append "https://metacpan.org/release/" name)) (string-append "https://metacpan.org/release/" name))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@ -43,6 +43,7 @@
#:use-module (guix import utils) #:use-module (guix import utils)
#:use-module ((guix download) #:prefix download:) #:use-module ((guix download) #:prefix download:)
#:use-module (guix import json) #:use-module (guix import json)
#:use-module (guix json)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix upstream) #:use-module (guix upstream)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
@ -55,10 +56,67 @@
pypi->guix-package pypi->guix-package
%pypi-updater)) %pypi-updater))
;; The PyPI API (notice the rhyme) is "documented" at:
;; <https://warehouse.readthedocs.io/api-reference/json/>.
(define non-empty-string-or-false
(match-lambda
("" #f)
((? string? str) str)
((or #nil #f) #f)))
;; PyPI project.
(define-json-mapping <pypi-project> make-pypi-project pypi-project?
json->pypi-project
(info pypi-project-info "info" json->project-info) ;<project-info>
(last-serial pypi-project-last-serial "last_serial") ;integer
(releases pypi-project-releases "releases" ;string/<distribution>* pairs
(match-lambda
(((versions . dictionaries) ...)
(map (lambda (version vector)
(cons version
(map json->distribution
(vector->list vector))))
versions dictionaries))))
(distributions pypi-project-distributions "urls" ;<distribution>*
(lambda (vector)
(map json->distribution (vector->list vector)))))
;; Project metadata.
(define-json-mapping <project-info> make-project-info project-info?
json->project-info
(name project-info-name) ;string
(author project-info-author) ;string
(maintainer project-info-maintainer) ;string
(classifiers project-info-classifiers ;list of strings
"classifiers" vector->list)
(description project-info-description) ;string
(summary project-info-summary) ;string
(keywords project-info-keywords) ;string
(license project-info-license) ;string
(download-url project-info-download-url ;string | #f
"download_url" non-empty-string-or-false)
(home-page project-info-home-page ;string
"home_page")
(url project-info-url "project_url") ;string
(release-url project-info-release-url "release_url") ;string
(version project-info-version)) ;string
;; Distribution: a URL along with cryptographic hashes and metadata.
(define-json-mapping <distribution> make-distribution distribution?
json->distribution
(url distribution-url) ;string
(digests distribution-digests) ;list of string pairs
(file-name distribution-file-name "filename") ;string
(has-signature? distribution-has-signature? "hash_sig") ;Boolean
(package-type distribution-package-type "packagetype") ;"bdist_wheel" | ...
(python-version distribution-package-python-version
"python_version"))
(define (pypi-fetch name) (define (pypi-fetch name)
"Return an alist representation of the PyPI metadata for the package NAME, "Return a <pypi-project> record for package NAME, or #f on failure."
or #f on failure." (and=> (json-fetch (string-append "https://pypi.org/pypi/" name "/json"))
(json-fetch (string-append "https://pypi.org/pypi/" name "/json"))) json->pypi-project))
;; For packages found on PyPI that lack a source distribution. ;; For packages found on PyPI that lack a source distribution.
(define-condition-type &missing-source-error &error (define-condition-type &missing-source-error &error
@ -67,22 +125,24 @@ or #f on failure."
(define (latest-source-release pypi-package) (define (latest-source-release pypi-package)
"Return the latest source release for PYPI-PACKAGE." "Return the latest source release for PYPI-PACKAGE."
(let ((releases (assoc-ref* pypi-package "releases" (let ((releases (assoc-ref (pypi-project-releases pypi-package)
(assoc-ref* pypi-package "info" "version")))) (project-info-version
(pypi-project-info pypi-package)))))
(or (find (lambda (release) (or (find (lambda (release)
(string=? "sdist" (assoc-ref release "packagetype"))) (string=? "sdist" (distribution-package-type release)))
(vector->list releases)) releases)
(raise (condition (&missing-source-error (raise (condition (&missing-source-error
(package pypi-package))))))) (package pypi-package)))))))
(define (latest-wheel-release pypi-package) (define (latest-wheel-release pypi-package)
"Return the url of the wheel for the latest release of pypi-package, "Return the url of the wheel for the latest release of pypi-package,
or #f if there isn't any." or #f if there isn't any."
(let ((releases (assoc-ref* pypi-package "releases" (let ((releases (assoc-ref (pypi-project-releases pypi-package)
(assoc-ref* pypi-package "info" "version")))) (project-info-version
(pypi-project-info pypi-package)))))
(or (find (lambda (release) (or (find (lambda (release)
(string=? "bdist_wheel" (assoc-ref release "packagetype"))) (string=? "bdist_wheel" (distribution-package-type release)))
(vector->list releases)) releases)
#f))) #f)))
(define (python->package-name name) (define (python->package-name name)
@ -411,23 +471,25 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(lambda* (package-name) (lambda* (package-name)
"Fetch the metadata for PACKAGE-NAME from pypi.org, and return the "Fetch the metadata for PACKAGE-NAME from pypi.org, and return the
`package' s-expression corresponding to that package, or #f on failure." `package' s-expression corresponding to that package, or #f on failure."
(let ((package (pypi-fetch package-name))) (let* ((project (pypi-fetch package-name))
(and package (info (and project (pypi-project-info project))))
(and project
(guard (c ((missing-source-error? c) (guard (c ((missing-source-error? c)
(let ((package (missing-source-error-package c))) (let ((package (missing-source-error-package c)))
(leave (G_ "no source release for pypi package ~a ~a~%") (leave (G_ "no source release for pypi package ~a ~a~%")
(assoc-ref* package "info" "name") (project-info-name info)
(assoc-ref* package "info" "version"))))) (project-info-version info)))))
(let ((name (assoc-ref* package "info" "name")) (make-pypi-sexp (project-info-name info)
(version (assoc-ref* package "info" "version")) (project-info-version info)
(release (assoc-ref (latest-source-release package) "url")) (and=> (latest-source-release project)
(wheel (assoc-ref (latest-wheel-release package) "url")) distribution-url)
(synopsis (assoc-ref* package "info" "summary")) (and=> (latest-wheel-release project)
(description (assoc-ref* package "info" "summary")) distribution-url)
(home-page (assoc-ref* package "info" "home_page")) (project-info-home-page info)
(license (string->license (assoc-ref* package "info" "license")))) (project-info-summary info)
(make-pypi-sexp name version release wheel home-page synopsis (project-info-summary info)
description license)))))))) (string->license
(project-info-license info)))))))))
(define (pypi-recursive-import package-name) (define (pypi-recursive-import package-name)
(recursive-import package-name #f (recursive-import package-name #f
@ -472,9 +534,10 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(pypi-package (pypi-fetch pypi-name))) (pypi-package (pypi-fetch pypi-name)))
(and pypi-package (and pypi-package
(guard (c ((missing-source-error? c) #f)) (guard (c ((missing-source-error? c) #f))
(let* ((metadata pypi-package) (let* ((info (pypi-project-info pypi-package))
(version (assoc-ref* metadata "info" "version")) (version (project-info-version info))
(url (assoc-ref (latest-source-release metadata) "url"))) (url (distribution-url
(latest-source-release pypi-package))))
(upstream-source (upstream-source
(package (package-name package)) (package (package-name package))
(version version) (version version)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
@ -47,7 +47,6 @@
#:export (factorize-uri #:export (factorize-uri
flatten flatten
assoc-ref*
url-fetch url-fetch
guix-hash-url guix-hash-url
@ -110,13 +109,6 @@ of the string VERSION is replaced by the symbol 'version."
(cons elem memo))) (cons elem memo)))
'() lst)) '() lst))
(define (assoc-ref* alist key . rest)
"Return the value for KEY from ALIST. For each additional key specified,
recursively apply the procedure to the sub-list."
(if (null? rest)
(assoc-ref alist key)
(apply assoc-ref* (assoc-ref alist key) rest)))
(define (url-fetch url file-name) (define (url-fetch url file-name)
"Save the contents of URL to FILE-NAME. Return #f on failure." "Save the contents of URL to FILE-NAME. Return #f on failure."
(parameterize ((current-output-port (current-error-port))) (parameterize ((current-output-port (current-error-port)))

View file

@ -63,6 +63,9 @@
inferior-eval inferior-eval
inferior-eval-with-store inferior-eval-with-store
inferior-object? inferior-object?
inferior-exception?
inferior-exception-arguments
inferior-exception-inferior
read-repl-response read-repl-response
inferior-packages inferior-packages
@ -195,8 +198,15 @@ equivalent. Return #f if the inferior could not be launched."
(set-record-type-printer! <inferior-object> write-inferior-object) (set-record-type-printer! <inferior-object> write-inferior-object)
(define (read-repl-response port) ;; Reified exception thrown by an inferior.
"Read a (guix repl) response from PORT and return it as a Scheme object." (define-condition-type &inferior-exception &error
inferior-exception?
(arguments inferior-exception-arguments) ;key + arguments
(inferior inferior-exception-inferior)) ;<inferior> | #f
(define* (read-repl-response port #:optional inferior)
"Read a (guix repl) response from PORT and return it as a Scheme object.
Raise '&inferior-exception' when an exception is read from PORT."
(define sexp->object (define sexp->object
(match-lambda (match-lambda
(('value value) (('value value)
@ -208,10 +218,13 @@ equivalent. Return #f if the inferior could not be launched."
(('values objects ...) (('values objects ...)
(apply values (map sexp->object objects))) (apply values (map sexp->object objects)))
(('exception key objects ...) (('exception key objects ...)
(apply throw key (map sexp->object objects))))) (raise (condition (&inferior-exception
(arguments (cons key (map sexp->object objects)))
(inferior inferior)))))))
(define (read-inferior-response inferior) (define (read-inferior-response inferior)
(read-repl-response (inferior-socket inferior))) (read-repl-response (inferior-socket inferior)
inferior))
(define (send-inferior-request exp inferior) (define (send-inferior-request exp inferior)
(write exp (inferior-socket inferior)) (write exp (inferior-socket inferior))

View file

@ -365,6 +365,21 @@ added to the pack."
(define database #+database) (define database #+database)
(define entry-point #$entry-point) (define entry-point #$entry-point)
(define (mksquashfs args)
(apply invoke "mksquashfs"
`(,@args
;; Do not create a "recovery file" when appending to the
;; file system since it's useless in this case.
"-no-recovery"
;; Set file times and the file system creation time to
;; one second after the Epoch.
"-all-time" "1" "-mkfs-time" "1"
;; Reset all UIDs and GIDs.
"-force-uid" "0" "-force-gid" "0")))
(setenv "PATH" (string-append #$archiver "/bin")) (setenv "PATH" (string-append #$archiver "/bin"))
;; We need an empty file in order to have a valid file argument when ;; We need an empty file in order to have a valid file argument when
@ -376,8 +391,7 @@ added to the pack."
;; Add all store items. Unfortunately mksquashfs throws away all ;; Add all store items. Unfortunately mksquashfs throws away all
;; ancestor directories and only keeps the basename. We fix this ;; ancestor directories and only keeps the basename. We fix this
;; in the following invocations of mksquashfs. ;; in the following invocations of mksquashfs.
(apply invoke "mksquashfs" (mksquashfs `(,@(map store-info-item
`(,@(map store-info-item
(call-with-input-file "profile" (call-with-input-file "profile"
read-reference-graph)) read-reference-graph))
#$environment #$environment
@ -392,15 +406,14 @@ added to the pack."
;; Here we reparent the store items. For each sub-directory of ;; Here we reparent the store items. For each sub-directory of
;; the store prefix we need one invocation of "mksquashfs". ;; the store prefix we need one invocation of "mksquashfs".
(for-each (lambda (dir) (for-each (lambda (dir)
(apply invoke "mksquashfs" (mksquashfs `(".empty"
`(".empty"
,#$output ,#$output
"-root-becomes" ,dir))) "-root-becomes" ,dir)))
(reverse (string-tokenize (%store-directory) (reverse (string-tokenize (%store-directory)
(char-set-complement (char-set #\/))))) (char-set-complement (char-set #\/)))))
;; Add symlinks and mount points. ;; Add symlinks and mount points.
(apply invoke "mksquashfs" (mksquashfs
`(".empty" `(".empty"
,#$output ,#$output
;; Create SYMLINKS via pseudo file definitions. ;; Create SYMLINKS via pseudo file definitions.
@ -461,7 +474,7 @@ added to the pack."
(when database (when database
;; Initialize /var/guix. ;; Initialize /var/guix.
(install-database-and-gc-roots "var-etc" database #$profile) (install-database-and-gc-roots "var-etc" database #$profile)
(invoke "mksquashfs" "var-etc" #$output))))) (mksquashfs `("var-etc" ,#$output))))))
(gexp->derivation (string-append name (gexp->derivation (string-append name
(compressor-extension compressor) (compressor-extension compressor)

View file

@ -175,8 +175,11 @@ about the derivations queued, as is the case with Hydra."
#f ;no derivation information #f ;no derivation information
(lset-intersection string=? queued items))) (lset-intersection string=? queued items)))
(define (report-server-coverage server items) (define* (report-server-coverage server items
"Report the subset of ITEMS available as substitutes on SERVER." #:key display-missing?)
"Report the subset of ITEMS available as substitutes on SERVER.
When DISPLAY-MISSING? is true, display the list of missing substitutes.
Return the coverage ratio, an exact number between 0 and 1."
(define MiB (* (expt 2 20) 1.)) (define MiB (* (expt 2 20) 1.))
(format #t (G_ "looking for ~h store items on ~a...~%") (format #t (G_ "looking for ~h store items on ~a...~%")
@ -260,7 +263,16 @@ are queued~%")
system system
(* (throughput builds build-timestamp) (* (throughput builds build-timestamp)
3600.)))) 3600.))))
(histogram build-system cons '() latest))))))) (histogram build-system cons '() latest))))
(when (and display-missing? (not (null? missing)))
(newline)
(format #t (G_ "Substitutes are missing for the following items:~%"))
(format #t "~{ ~a~%~}" missing))
;; Return the coverage ratio.
(let ((total (length items)))
(/ (- total (length missing)) total)))))
;;; ;;;
@ -280,6 +292,8 @@ Report the availability of substitutes.\n"))
-c, --coverage[=COUNT] -c, --coverage[=COUNT]
show substitute coverage for packages with at least show substitute coverage for packages with at least
COUNT dependents")) COUNT dependents"))
(display (G_ "
--display-missing display the list of missing substitutes"))
(display (G_ " (display (G_ "
-s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\"")) -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\""))
(newline) (newline)
@ -318,6 +332,9 @@ Report the availability of substitutes.\n"))
(alist-cons 'coverage (alist-cons 'coverage
(if arg (string->number* arg) 0) (if arg (string->number* arg) 0)
result))) result)))
(option '("display-missing") #f #f
(lambda (opt name arg result)
(alist-cons 'display-missing? #t result)))
(option '(#\s "system") #t #f (option '(#\s "system") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'system arg result))))) (alist-cons 'system arg result)))))
@ -487,17 +504,19 @@ SERVER. Display information for packages with at least THRESHOLD dependents."
(define (guix-weather . args) (define (guix-weather . args)
(define (package-list opts) (define (package-list opts)
;; Return the package list specified by OPTS. ;; Return the package list specified by OPTS.
(let ((file (assoc-ref opts 'manifest)) (let ((files (filter-map (match-lambda
(('manifest . file) file)
(_ #f))
opts))
(base (filter-map (match-lambda (base (filter-map (match-lambda
(('argument . spec) (('argument . spec)
(specification->package spec)) (specification->package spec))
(_ (_
#f)) #f))
opts))) opts)))
(if (and (not file) (null? base)) (if (and (null? files) (null? base))
(all-packages) (all-packages)
(append base (append base (append-map load-manifest files)))))
(if file (load-manifest file) '())))))
(with-error-handling (with-error-handling
(parameterize ((current-terminal-columns (terminal-columns)) (parameterize ((current-terminal-columns (terminal-columns))
@ -524,14 +543,24 @@ SERVER. Display information for packages with at least THRESHOLD dependents."
(lambda (system) (lambda (system)
(package-outputs packages system)) (package-outputs packages system))
systems)))))) systems))))))
(for-each (lambda (server) (exit
(report-server-coverage server items) (every (lambda (server)
(define coverage
(report-server-coverage server items
#:display-missing?
(assoc-ref opts 'display-missing?)))
(match (assoc-ref opts 'coverage) (match (assoc-ref opts 'coverage)
(#f #f) (#f #f)
(threshold (threshold
(report-package-coverage server packages systems ;; PACKAGES may include non-package objects coming from a
#:threshold threshold)))) ;; manifest. Filter them out.
urls))))) (report-package-coverage server
(filter package? packages)
systems
#:threshold threshold)))
(= 1 coverage))
urls))))))
;;; Local Variables: ;;; Local Variables:
;;; eval: (put 'let/time 'scheme-indent-function 1) ;;; eval: (put 'let/time 'scheme-indent-function 1)

View file

@ -284,6 +284,44 @@
(((thing "out")) (((thing "out"))
(eq? thing file)))))) (eq? thing file))))))
(test-assertm "with-parameters for %current-system"
(mlet* %store-monad ((system -> (match (%current-system)
("aarch64-linux" "x86_64-linux")
(_ "aarch64-linux")))
(drv (package->derivation coreutils system))
(obj -> (with-parameters ((%current-system system))
coreutils))
(result (lower-object obj)))
(return (string=? (derivation-file-name drv)
(derivation-file-name result)))))
(test-assertm "with-parameters for %current-target-system"
(mlet* %store-monad ((target -> "riscv64-linux-gnu")
(drv (package->cross-derivation coreutils target))
(obj -> (with-parameters
((%current-target-system target))
coreutils))
(result (lower-object obj)))
(return (string=? (derivation-file-name drv)
(derivation-file-name result)))))
(test-assert "with-parameters + file-append"
(let* ((system (match (%current-system)
("aarch64-linux" "x86_64-linux")
(_ "aarch64-linux")))
(drv (package-derivation %store coreutils system))
(param (make-parameter 7))
(exp #~(here we go #$(with-parameters ((%current-system system)
(param 42))
(if (= (param) 42)
(file-append coreutils "/bin/touch")
%bootstrap-guile)))))
(match (gexp->sexp* exp)
(('here 'we 'go (? string? result))
(string=? result
(string-append (derivation->output-path drv)
"/bin/touch"))))))
(test-assert "ungexp + ungexp-native" (test-assert "ungexp + ungexp-native"
(let* ((exp (gexp (list (ungexp-native %bootstrap-guile) (let* ((exp (gexp (list (ungexp-native %bootstrap-guile)
(ungexp coreutils) (ungexp coreutils)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -61,6 +61,17 @@
(close-inferior inferior) (close-inferior inferior)
(list a (inferior-object? b)))))) (list a (inferior-object? b))))))
(test-equal "&inferior-exception"
'(a b c d)
(let ((inferior (open-inferior %top-builddir
#:command "scripts/guix")))
(guard (c ((inferior-exception? c)
(close-inferior inferior)
(and (eq? inferior (inferior-exception-inferior c))
(inferior-exception-arguments c))))
(inferior-eval '(throw 'a 'b 'c 'd) inferior)
'badness)))
(test-equal "inferior-packages" (test-equal "inferior-packages"
(take (sort (fold-packages (lambda (package lst) (take (sort (fold-packages (lambda (package lst)
(cons (list (package-name package) (cons (list (package-name package)

View file

@ -38,7 +38,10 @@
\"license\": \"GNU LGPL\", \"license\": \"GNU LGPL\",
\"summary\": \"summary\", \"summary\": \"summary\",
\"home_page\": \"http://example.com\", \"home_page\": \"http://example.com\",
\"classifiers\": [],
\"download_url\": \"\"
}, },
\"urls\": [],
\"releases\": { \"releases\": {
\"1.0.0\": [ \"1.0.0\": [
{ {