diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-01-13 01:40:04 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-01-13 01:40:04 +0100 |
commit | 6764f94317be05d2c3b08acdcbb2c4730f0c617d (patch) | |
tree | adcfd0000cbe9a8c614181e39d7cbe7f1e1bc164 | |
parent | 67ff2bdf6100cc887b0d5aebbcd1f539c634a3dc (diff) | |
parent | 1710ffa4c79c79079ebd4e523eef8883eb2d3953 (diff) | |
download | guix-6764f94317be05d2c3b08acdcbb2c4730f0c617d.tar.gz |
Merge branch 'master' into staging
105 files changed, 4440 insertions, 1478 deletions
diff --git a/.dir-locals.el b/.dir-locals.el index 1a3a05f100..593c767d2b 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -61,6 +61,7 @@ (eval . (put 'with-derivation-narinfo 'scheme-indent-function 1)) (eval . (put 'with-derivation-substitute 'scheme-indent-function 2)) (eval . (put 'with-status-report 'scheme-indent-function 1)) + (eval . (put 'with-status-verbosity 'scheme-indent-function 1)) (eval . (put 'mlambda 'scheme-indent-function 1)) (eval . (put 'mlambdaq 'scheme-indent-function 1)) diff --git a/Makefile.am b/Makefile.am index 9f30d5b2b0..0590c51519 100644 --- a/Makefile.am +++ b/Makefile.am @@ -64,6 +64,7 @@ MODULES = \ guix/base64.scm \ guix/ci.scm \ guix/cpio.scm \ + guix/deprecation.scm \ guix/docker.scm \ guix/records.scm \ guix/pki.scm \ diff --git a/README b/README index e7871917f2..296df41516 100644 --- a/README +++ b/README @@ -20,7 +20,7 @@ Guix is based on the [[https://nixos.org/nix/][Nix]] package manager. GNU Guix currently depends on the following packages: - - [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.13 or later + - [[https://gnu.org/software/guile/][GNU Guile 2.2.x]] - [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later - [[https://www.gnu.org/software/make/][GNU Make]] - [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled diff --git a/build-aux/run-system-tests.scm b/build-aux/run-system-tests.scm index 953ba3e221..bcd7547704 100644 --- a/build-aux/run-system-tests.scm +++ b/build-aux/run-system-tests.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,7 +64,7 @@ (length tests)) (with-store store - (with-status-report print-build-event + (with-status-verbosity 2 (run-with-store store (mlet* %store-monad ((drv (mapm %store-monad system-test-value tests)) (out -> (map derivation->output-path drv))) diff --git a/configure.ac b/configure.ac index 2817e6e24d..891fce28ae 100644 --- a/configure.ac +++ b/configure.ac @@ -93,16 +93,12 @@ m4_pattern_forbid([^GUIX_]) dnl Search for 'guile' and 'guild'. This macro defines dnl 'GUILE_EFFECTIVE_VERSION'. -GUILE_PKG([2.2 2.0]) +GUILE_PKG([2.2]) GUILE_PROGS if test "x$GUILD" = "x"; then AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.]) fi -if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then - PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.13]) -fi - dnl Installation directories for .scm and .go files. guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache" diff --git a/doc/guix.texi b/doc/guix.texi index f1b03c77b4..34d0bf32fa 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17,7 +17,7 @@ @set SUBSTITUTE-SERVER ci.guix.info @copying -Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès@* +Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* @@ -645,8 +645,7 @@ GNU Guix is available for download from its website at GNU Guix depends on the following packages: @itemize -@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or -later, including 2.2.x; +@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.2.x; @item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version 0.1.0 or later; @item @@ -2102,10 +2101,6 @@ By default, @command{guix package} reports as an error @dfn{collisions} in the profile. Collisions happen when two or more different versions or variants of a given package end up in the profile. -@item --verbose -Produce verbose output. In particular, emit the build log of the -environment on the standard error port. - @item --bootstrap Use the bootstrap Guile to build the profile. This option is only useful to distribution developers. @@ -6364,10 +6359,15 @@ Likewise, when the build or substitution process lasts for more than By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, @code{--timeout}}). -@item --verbosity=@var{level} -Use the given verbosity level. @var{level} must be an integer between 0 -and 5; higher means more verbose output. Setting a level of 4 or more -may be helpful when debugging setup issues with the build daemon. +@c Note: This option is actually not part of %standard-build-options but +@c most programs honor it. +@cindex verbosity, of the command-line tools +@cindex build logs, verbosity +@item -v @var{level} +@itemx --verbosity=@var{level} +Use the given verbosity @var{level}, an integer. Choosing 0 means that no +output is produced, 1 is for quiet output, and 2 shows all the build log +output on standard error. @item --cores=@var{n} @itemx -c @var{n} @@ -6380,6 +6380,11 @@ Allow at most @var{n} build jobs in parallel. @xref{Invoking guix-daemon, @code{--max-jobs}}, for details about this option and the equivalent @command{guix-daemon} option. +@item --debug=@var{level} +Produce debugging output coming from the build daemon. @var{level} must be an +integer between 0 and 5; higher means more verbose output. Setting a level of +4 or more may be helpful when debugging setup issues with the build daemon. + @end table Behind the scenes, @command{guix build} is essentially an interface to @@ -6548,9 +6553,9 @@ build}. @item --quiet @itemx -q -Build quietly, without displaying the build log. Upon completion, the -build log is kept in @file{/var} (or similar) and can always be -retrieved using the @option{--log-file} option. +Build quietly, without displaying the build log; this is equivalent to +@code{--verbosity=0}. Upon completion, the build log is kept in @file{/var} +(or similar) and can always be retrieved using the @option{--log-file} option. @item --file=@var{file} @itemx -f @var{file} @@ -11685,9 +11690,11 @@ gexps to introduce job definitions that are passed to mcron (operating-system ;; @dots{} - (services (cons (mcron-service (list garbage-collector-job - updatedb-job - idutils-job)) + (services (cons (service mcron-service-type + (mcron-configuration + (jobs (list garbage-collector-job + updatedb-job + idutils-job)))) %base-services))) @end lisp @@ -11710,17 +11717,6 @@ also specify the number of tasks to display: # herd schedule mcron 10 @end example -@deffn {Scheme Procedure} mcron-service @var{jobs} [#:mcron @var{mcron}] -Return an mcron service running @var{mcron} that schedules @var{jobs}, a -list of gexps denoting mcron job specifications. - -This is a shorthand for: -@example -(service mcron-service-type - (mcron-configuration (mcron mcron) (jobs jobs))) -@end example -@end deffn - @defvr {Scheme Variable} mcron-service-type This is the type of the @code{mcron} service, whose value is an @code{mcron-configuration} object. @@ -12314,12 +12310,6 @@ Tor} anonymous networking daemon. The service is configured using a @end defvr -@deffn {Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}] -This procedure is deprecated and will be removed in a future release. Return -a service of the @code{tor-service-type} type. @var{config-file} and -@var{tor} have the same meaning as in @code{<tor-configuration>}. -@end deffn - @deftp {Data Type} tor-configuration @table @asis @item @code{tor} (default: @code{tor}) @@ -22155,6 +22145,33 @@ The following is an example @code{dicod-service} configuration. %dicod-database:gcide)))) @end example +@cindex Docker +@subsubheading Docker Service + +The @code{(gnu services docker)} module provides the following service. + +@defvr {Scheme Variable} docker-service-type + +This is the type of the service that runs @url{http://www.docker.com,Docker}, +a daemon that can execute application bundles (sometimes referred to as +``containers'') in isolated environments. + +@end defvr + +@deftp {Data Type} docker-configuration +This is the data type representing the configuration of Docker and Containerd. + +@table @asis + +@item @code{package} (default: @code{docker}) +The Docker package to use. + +@item @code{containerd} (default: @var{containerd}) +The Containerd package to use. + +@end table +@end deftp + @node Setuid Programs @subsection Setuid Programs diff --git a/gnu/local.mk b/gnu/local.mk index e4c5561de5..f4de1a44a4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> # Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Andreas Enge <andreas@enge.fr> # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> @@ -241,6 +241,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/irc.scm \ %D%/packages/iso-codes.scm \ %D%/packages/java.scm \ + %D%/packages/java-compression.scm \ %D%/packages/javascript.scm \ %D%/packages/jemalloc.scm \ %D%/packages/jrnl.scm \ @@ -483,6 +484,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/desktop.scm \ %D%/services/dict.scm \ %D%/services/dns.scm \ + %D%/services/docker.scm \ %D%/services/authentication.scm \ %D%/services/games.scm \ %D%/services/kerberos.scm \ @@ -541,6 +543,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/databases.scm \ %D%/tests/desktop.scm \ %D%/tests/dict.scm \ + %D%/tests/docker.scm \ %D%/tests/monitoring.scm \ %D%/tests/nfs.scm \ %D%/tests/install.scm \ @@ -588,6 +591,7 @@ dist_patch_DATA = \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/ao-cad-aarch64-support.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ + %D%/packages/patches/aria2-CVE-2019-3500.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ @@ -661,6 +665,8 @@ dist_patch_DATA = \ %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ + %D%/packages/patches/docker-engine-test-noinstall.patch \ + %D%/packages/patches/docker-fix-tests.patch \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/dropbear-CVE-2018-15599.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index fa5fa3ab86..5ad3f6d873 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -986,7 +986,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.26") + (version "1.8.27") (source (origin (method url-fetch) (uri @@ -996,7 +996,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "1qpyyfga8rs02p3186sns8qvh2bzwa48ka845nrcqh83dyd23nj0")) + "1h1f7v9pv0rzp14cxzv8kaa8mdd717fbqv83l7c5dvvi8jwnisvv")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 813eea466f..9b8ef562d3 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -64,7 +64,7 @@ (add-after 'install 'install-info (lambda _ (invoke "make" "install_doc")))))) - (home-page "http://www.nasm.us/") + (home-page "https://www.nasm.us/") (synopsis "80x86 and x86-64 assembler") (description "NASM, the Netwide Assembler, is an 80x86 and x86-64 assembler designed @@ -74,7 +74,7 @@ Windows32 and Windows64. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel's but less complex. It supports all currently known x86 architectural extensions, and has strong support for macros.") - (license license:bsd-3))) + (license license:bsd-2))) (define-public yasm (package @@ -140,18 +140,17 @@ to the clients.") "02wqkqxpn3p0iwcagsm92qd9cdfcnbx8a09qg03b3pjppp30hmp6")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;;no tests - #:strip-binaries? #f ;; fasm has no sections + `(#:tests? #f ; No tests exist + #:strip-binaries? #f ; fasm has no sections #:phases (modify-phases %standard-phases - (delete 'configure) ;;no configure script used + (delete 'configure) ; no "configure" script exists (replace 'build (lambda _ - ;;source code are in this directory (chdir "source/Linux/") (if (string=? ,(%current-system) "x86_64-linux") - ;;use pre-compiled binaries in top-level directory to build - ;;itself + ;; Use pre-compiled binaries in top-level directory to build + ;; fasm. (invoke "../../fasm.x64" "fasm.asm") (invoke "../../fasm" "fasm.asm")))) (replace 'install @@ -159,12 +158,48 @@ to the clients.") (let ((out (assoc-ref %outputs "out"))) (install-file "fasm" (string-append out "/bin"))) #t))))) - ;;support only intel x86 family processors (supported-systems '("x86_64-linux" "i686-linux")) (synopsis "Assembler for x86 processors") (description - "FASM is a assembler that supports x86, and IA-64 Intel architectures. -It does multiple passes to optimize machine code.It have macro abilities and -focus on operating system portability.") + "FASM is an assembler that supports x86 and IA-64 Intel architectures. +It does multiple passes to optimize machine code. It has macro abilities and +focuses on operating system portability.") (home-page "https://flatassembler.net/") (license license:bsd-2))) + +(define-public dev86 + (package + (name "dev86") + (version "0.16.21") + (source (origin + (method url-fetch) + (uri (string-append "http://v3.sk/~lkundrak/dev86/Dev86src-" + version ".tar.gz")) + (sha256 + (base32 + "154dyr2ph4n0kwi8yx0n78j128kw29rk9r9f7s2gddzrdl712jr3")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-build? #f ; They use submakes wrong + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:system "i686-linux" ; Standalone ld86 had problems otherwise + #:tests? #f ; No tests exist + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'install 'mkdir + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/man/man1")) + #t)))))) + (synopsis "Intel 8086 (primarily 16-bit) assembler, C compiler and +linker") + (description "This package provides a Intel 8086 (primarily 16-bit) +assembler, a C compiler and a linker. The assembler uses Intel syntax +(also Intel order of operands).") + (home-page "https://github.com/jbruchon/dev86") + (supported-systems '("i686-linux" "x86_64-linux")) + (license license:gpl2+))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 7e6a56c545..2813062e95 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -131,7 +131,7 @@ programs for the manipulation and analysis of astronomical data.") (define-public stellarium (package (name "stellarium") - (version "0.18.1") + (version "0.18.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/Stellarium/" name @@ -139,7 +139,7 @@ programs for the manipulation and analysis of astronomical data.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "0vjkwrjy22b4wdjkafm63pmb0fck14ffnylpq8xr91ywycw4blrq")))) + "1mm8rjcb8j56m3kfigpix5vxviw1616kvl9ws2s3s5gdyngljrc3")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) @@ -161,6 +161,13 @@ programs for the manipulation and analysis of astronomical data.") (assoc-ref %build-inputs "qtserialport") "/include/qt5")) #:phases (modify-phases %standard-phases + ;; Skip a test that assumes Stellarium is "installed": + ;; https://bugs.gentoo.org/674472 + (add-after 'unpack 'patch-tests + (lambda _ + (substitute* "src/tests/testEphemeris.cpp" + (("ifndef Q_OS_WIN") "if 0")) + #t)) (add-before 'check 'set-offscreen-display (lambda _ ;; make Qt render "offscreen", required for tests diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 0b24806d92..80aacc5664 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1152,7 +1152,7 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "2.0.2") + (version "2.0.3") (source (origin (method git-fetch) (uri (git-reference @@ -1161,7 +1161,7 @@ follower.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "02vs5sfsyh1dl7wlcvgs4w3x0qcmsl7vi000qgp99ynwh3wjb274")))) + "00f6bhw4ddrinb5flvg5y53rcvnf4km23a6nbvnswmpq13568v78")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target diff --git a/gnu/packages/aux-files/linux-libre/4.20-arm.conf b/gnu/packages/aux-files/linux-libre/4.20-arm.conf index 309e832844..514a6d4748 100644 --- a/gnu/packages/aux-files/linux-libre/4.20-arm.conf +++ b/gnu/packages/aux-files/linux-libre/4.20-arm.conf @@ -94,7 +94,8 @@ CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y -# CONFIG_PSI is not set +CONFIG_PSI=y +# CONFIG_PSI_DEFAULT_DISABLED is not set CONFIG_CPU_ISOLATION=y # diff --git a/gnu/packages/aux-files/linux-libre/4.20-arm64.conf b/gnu/packages/aux-files/linux-libre/4.20-arm64.conf index 9a756c16e5..9e71cadf0c 100644 --- a/gnu/packages/aux-files/linux-libre/4.20-arm64.conf +++ b/gnu/packages/aux-files/linux-libre/4.20-arm64.conf @@ -86,7 +86,8 @@ CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y -# CONFIG_PSI is not set +CONFIG_PSI=y +# CONFIG_PSI_DEFAULT_DISABLED is not set CONFIG_CPU_ISOLATION=y # diff --git a/gnu/packages/aux-files/linux-libre/4.20-i686.conf b/gnu/packages/aux-files/linux-libre/4.20-i686.conf index 930ea6ddd7..c3ed028442 100644 --- a/gnu/packages/aux-files/linux-libre/4.20-i686.conf +++ b/gnu/packages/aux-files/linux-libre/4.20-i686.conf @@ -99,7 +99,8 @@ CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y -# CONFIG_PSI is not set +CONFIG_PSI=y +# CONFIG_PSI_DEFAULT_DISABLED is not set CONFIG_CPU_ISOLATION=y # diff --git a/gnu/packages/aux-files/linux-libre/4.20-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.20-x86_64.conf index d9ea8ebb59..4918e6bdf2 100644 --- a/gnu/packages/aux-files/linux-libre/4.20-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/4.20-x86_64.conf @@ -101,7 +101,8 @@ CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y -# CONFIG_PSI is not set +CONFIG_PSI=y +# CONFIG_PSI_DEFAULT_DISABLED is not set CONFIG_CPU_ISOLATION=y # diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index e7f11dead3..37ac94128b 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -197,6 +197,36 @@ default." ) genomes and gene ID formats, largely based on the UCSC table browser.") (license license:lgpl2.0+))) +(define-public r-txdb-mmusculus-ucsc-mm9-knowngene + (package + (name "r-txdb-mmusculus-ucsc-mm9-knowngene") + (version "3.2.2") + (source (origin + (method url-fetch) + ;; We cannot use bioconductor-uri here because this tarball is + ;; located under "data/annotation/" instead of "bioc/". + (uri (string-append "https://bioconductor.org/packages/" + "release/data/annotation/src/contrib" + "/TxDb.Mmusculus.UCSC.mm9.knownGene_" + version ".tar.gz")) + (sha256 + (base32 + "16bjxy00363hf91ik2mqlqls86i07gia72qh92xc3l1ncch61mx2")))) + (properties + `((upstream-name . "TxDb.Mmusculus.UCSC.mm9.knownGene"))) + (build-system r-build-system) + (propagated-inputs + `(("r-genomicfeatures" ,r-genomicfeatures) + ("r-annotationdbi" ,r-annotationdbi))) + (home-page + "https://bioconductor.org/packages/TxDb.Mmusculus.UCSC.mm9.knownGene/") + (synopsis "Annotation package for mouse genome in TxDb format") + (description + "This package provides an annotation database of Mouse genome data. It +is derived from the UCSC mm9 genome and based on the \"knownGene\" track. The +database is exposed as a @code{TxDb} object.") + (license license:artistic2.0))) + (define-public r-hpar (package @@ -411,14 +441,14 @@ determining dependencies between variables, code improvement suggestions.") (define-public r-chippeakanno (package (name "r-chippeakanno") - (version "3.16.0") + (version "3.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPpeakAnno" version)) (sha256 (base32 - "09fhh1355diip3v3c0skmp1336vclipkm5nv02qvp5902v4262y3")))) + "1x98d8iwrxjwdz1s5cnvi6flynw9gdkmara9gwf205qxgmy7j3a3")))) (properties `((upstream-name . "ChIPpeakAnno"))) (build-system r-build-system) (propagated-inputs @@ -778,14 +808,14 @@ trees and clusters to other programs.") (define-public r-goseq (package (name "r-goseq") - (version "1.34.0") + (version "1.34.1") (source (origin (method url-fetch) (uri (bioconductor-uri "goseq" version)) (sha256 (base32 - "1401x0jn5f8hqc12r3gd1wammp1nxir3is1k5ldd03ln97x00i7a")))) + "1j87j98cajcjqabv6rb6zmcqxsqxxhbb3w60w1iink4rhsh8m3mn")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -804,14 +834,14 @@ defined categories which are over/under represented in RNA-seq data.") (define-public r-glimma (package (name "r-glimma") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "Glimma" version)) (sha256 (base32 - "0cbsi6g8k1whkh21jxfn22sj7wry2g3rshiracf5nyvrl2fnl947")))) + "1ihrww55sa7ipi1rpp0rmn081sbqdwdmm5mz30zfrjr1xxqcdbcv")))) (properties `((upstream-name . "Glimma"))) (build-system r-build-system) (propagated-inputs @@ -831,14 +861,14 @@ information.") (define-public r-rots (package (name "r-rots") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ROTS" version)) (sha256 (base32 - "137c06g5w7mjw3b1mly7b7n9iix4fcy23c7a9ym9iz8dazwhzwn5")))) + "1d5ggkk47xybcaizfy756qimbf2falg9cld46mhqjp3xfbfvzsg6")))) (properties `((upstream-name . "ROTS"))) (build-system r-build-system) (propagated-inputs @@ -852,33 +882,64 @@ information.") in omics data.") (license license:gpl2+))) +(define-public r-plgem + (package + (name "r-plgem") + (version "1.54.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "plgem" version)) + (sha256 + (base32 + "1330635db3p8xm5y8fwrk1l37r6bgypsq70s3rx954i775zp6szg")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-mass" ,r-mass))) + (home-page "http://www.genopolis.it") + (synopsis "Detect differential expression in microarray and proteomics datasets") + (description + "The Power Law Global Error Model (PLGEM) has been shown to faithfully +model the variance-versus-mean dependence that exists in a variety of +genome-wide datasets, including microarray and proteomics data. The use of +PLGEM has been shown to improve the detection of differentially expressed +genes or proteins in these datasets.") + (license license:gpl2))) + (define-public r-inspect (package (name "r-inspect") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (bioconductor-uri "INSPEcT" version)) (sha256 (base32 - "0b671x5v2wyq5np2flq2m1fnjz32f303yjlw64a1inwc9k2w2pz2")))) + "07q5msw9rnamx957mbiawnv3p9kr5ahwawzvv9xzla7d3lkk62xp")))) (properties `((upstream-name . "INSPEcT"))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) ("r-biocgenerics" ,r-biocgenerics) ("r-biocparallel" ,r-biocparallel) + ("r-deseq2" ,r-deseq2) ("r-desolve" ,r-desolve) ("r-genomicalignments" ,r-genomicalignments) ("r-genomicfeatures" ,r-genomicfeatures) ("r-genomicranges" ,r-genomicranges) ("r-iranges" ,r-iranges) + ("r-plgem" ,r-plgem) ("r-preprocesscore" ,r-preprocesscore) ("r-proc" ,r-proc) ("r-rootsolve" ,r-rootsolve) ("r-rsamtools" ,r-rsamtools) - ("r-s4vectors" ,r-s4vectors))) + ("r-s4vectors" ,r-s4vectors) + ("r-shiny" ,r-shiny) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-txdb-mmusculus-ucsc-mm9-knowngene" + ,r-txdb-mmusculus-ucsc-mm9-knowngene))) (home-page "https://bioconductor.org/packages/INSPEcT") (synopsis "Analysis of 4sU-seq and RNA-seq time-course data") (description @@ -918,14 +979,14 @@ demultiplexed, i.e. assigned to their original reference barcode.") (define-public r-ruvseq (package (name "r-ruvseq") - (version "1.16.0") + (version "1.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "RUVSeq" version)) (sha256 (base32 - "0xb3bj3n06cb9xddkv77a8svhg4fl1azlfmibwrm9mq9464kgf0m")))) + "0qk7q3ab7k133divfkp54zsmvsmb9p8r09pkh2caswrzrn8achzv")))) (properties `((upstream-name . "RUVSeq"))) (build-system r-build-system) (propagated-inputs diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 58ba2f05d6..42f5c3b80d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -78,6 +78,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) + #:use-module (gnu packages java-compression) #:use-module (gnu packages jemalloc) #:use-module (gnu packages dlang) #:use-module (gnu packages linux) @@ -6472,14 +6473,14 @@ high-throughput sequencing experiments.") (define-public r-deseq2 (package (name "r-deseq2") - (version "1.22.1") + (version "1.22.2") (source (origin (method url-fetch) (uri (bioconductor-uri "DESeq2" version)) (sha256 (base32 - "1b2bmvcsfzvks47d7w46zplcwz0kgcdhx5xmx3x9lp2gvx2p84r5")))) + "0n5ah84mxn87p45drzy0wh2yknmzj1q5i6gv0v9vgg1lj7awb91r")))) (properties `((upstream-name . "DESeq2"))) (build-system r-build-system) (propagated-inputs @@ -6509,14 +6510,14 @@ distribution.") (define-public r-dexseq (package (name "r-dexseq") - (version "1.28.0") + (version "1.28.1") (source (origin (method url-fetch) (uri (bioconductor-uri "DEXSeq" version)) (sha256 (base32 - "0jh1640cnzpk8x3155cqc8dvrs1rciw3d6nv2k70baw96bhrynp8")))) + "0g5w9bn2nb3m670hkcsnhfvvkza2318z9irlhhwhb3n8rdzlsdym")))) (properties `((upstream-name . "DEXSeq"))) (build-system r-build-system) (propagated-inputs @@ -6582,14 +6583,14 @@ databases. Packages produced are intended to be used with AnnotationDbi.") (define-public r-rbgl (package (name "r-rbgl") - (version "1.58.0") + (version "1.58.1") (source (origin (method url-fetch) (uri (bioconductor-uri "RBGL" version)) (sha256 (base32 - "0jy95m38c4qp0a12097hhm2gg63k96k6ydhb11dy379h3ziapcar")))) + "1l5x2icv9di1lr3gqfi0vjnyd9xc3l77yc42ippqd4cadj3d1pzf")))) (properties `((upstream-name . "RBGL"))) (build-system r-build-system) (propagated-inputs `(("r-graph" ,r-graph))) @@ -6734,14 +6735,14 @@ ungapped alignment formats.") (define-public r-systempiper (package (name "r-systempiper") - (version "1.16.0") + (version "1.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "systemPipeR" version)) (sha256 (base32 - "0l26q8zjdmzg84g7f25gv9z60sykybahlpg5bg9bmpbg5lzcsx04")))) + "0qzydz87rld2nhwzbfgrw5jfgh8maa9y54mjx9c4285m11qj2shq")))) (properties `((upstream-name . "systemPipeR"))) (build-system r-build-system) (propagated-inputs @@ -7133,13 +7134,13 @@ Bioconductor, CRAN, and Github.") (define-public r-biocviews (package (name "r-biocviews") - (version "1.50.5") + (version "1.50.10") (source (origin (method url-fetch) (uri (bioconductor-uri "biocViews" version)) (sha256 (base32 - "0rc1n89n04ylvy9gvsgvizcs77bh70jg1nkjjsjs7rqbr3zzdysz")))) + "06ms82pyc5rxbd9crfvqjxcwpafv0c627i83v80d12925mrc51h8")))) (properties `((upstream-name . "biocViews"))) (build-system r-build-system) @@ -7160,13 +7161,13 @@ also known as views, in a controlled vocabulary.") (define-public r-bookdown (package (name "r-bookdown") - (version "0.7") + (version "0.9") (source (origin (method url-fetch) (uri (cran-uri "bookdown" version)) (sha256 (base32 - "1b3fw1f41zph5yw3kynb47aijq53vhaa6mnnvxly72zamyzdf95q")))) + "0vg1s1w0l9pm95asqb21yf39mfk1nc9rdhmlys9xwr7p7i7rsz32")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) @@ -7434,13 +7435,13 @@ names in their natural, rather than lexicographic, order.") (define-public r-edger (package (name "r-edger") - (version "3.24.0") + (version "3.24.3") (source (origin (method url-fetch) (uri (bioconductor-uri "edgeR" version)) (sha256 (base32 - "0ihihgzrgb4q3xc8xkzp1v76ndgihrj4gas00fa25vggfs1v6hvg")))) + "15yimsbsxmxhlsfmgw5j7fd8qn08zz4xqxrir1c6n2dc103y22xg")))) (properties `((upstream-name . "edgeR"))) (build-system r-build-system) (propagated-inputs @@ -7462,13 +7463,13 @@ CAGE.") (define-public r-variantannotation (package (name "r-variantannotation") - (version "1.28.1") + (version "1.28.8") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantAnnotation" version)) (sha256 (base32 - "0gvah258mkaafhbna81zwknx8qr3lidbcx5qvwk39q3yswr9mi49")))) + "0gf36lr9xy3zmcc4rxs5bi2ccrrc7b6wqp6p3cvnclgif4i0l66k")))) (properties `((upstream-name . "VariantAnnotation"))) (inputs @@ -7500,13 +7501,13 @@ coding changes and predict coding outcomes.") (define-public r-limma (package (name "r-limma") - (version "3.38.2") + (version "3.38.3") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "1wkh362rmn24q7bkinb6nx62a31wl3r3myg5l326gx65wpwdnx97")))) + "08va8jggmv61wym955mnb1n31mgikrmjys7dl1kp5hp3yia8jg7l")))) (build-system r-build-system) (home-page "http://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") @@ -7666,13 +7667,13 @@ powerful online queries from gene annotation to database mining.") (define-public r-biocparallel (package (name "r-biocparallel") - (version "1.16.0") + (version "1.16.5") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocParallel" version)) (sha256 (base32 - "0g16cy0vjapqkb188z63r1b6y96m9g8vx0a3v2qavzxc177k0cja")))) + "1164dk0fajb2vrkfpcjs11055qf1cs4vvbnq0aqdaaf2p4lyx41l")))) (properties `((upstream-name . "BiocParallel"))) (build-system r-build-system) @@ -7691,13 +7692,13 @@ objects.") (define-public r-biostrings (package (name "r-biostrings") - (version "2.50.1") + (version "2.50.2") (source (origin (method url-fetch) (uri (bioconductor-uri "Biostrings" version)) (sha256 (base32 - "1qyv1ps7vy6gy78pm2rcikg0bgf1mv7falahjp3pkwqq1272hrl8")))) + "16cqqc8i6gb0jcz0lizfqqxsq7g0yb0ll2s9qzmb45brp07dg8f7")))) (properties `((upstream-name . "Biostrings"))) (build-system r-build-system) @@ -7823,13 +7824,13 @@ samples.") (define-public r-genomicalignments (package (name "r-genomicalignments") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicAlignments" version)) (sha256 (base32 - "0a3zhwripfw2508fvgx3wzqa8nq8vnslg97a911znpwvxh53jl24")))) + "1maslav2r34wjyzh2nlwa862in1ir7i5xk57nw2nlfh5gqy112jd")))) (properties `((upstream-name . "GenomicAlignments"))) (build-system r-build-system) @@ -7856,13 +7857,13 @@ alignments.") (define-public r-rtracklayer (package (name "r-rtracklayer") - (version "1.42.0") + (version "1.42.1") (source (origin (method url-fetch) (uri (bioconductor-uri "rtracklayer" version)) (sha256 (base32 - "0a4mhd926w9slkfil5xgngjsfdj024a4w57w2bm3d4r0pj8y5da7")))) + "1ycmcxvgvszvjv75hlmg0i6pq8i7r8720vgmfayb905s9l6j82x6")))) (build-system r-build-system) (arguments `(#:phases @@ -8953,13 +8954,13 @@ kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.") (define-public r-tximport (package (name "r-tximport") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "tximport" version)) (sha256 (base32 - "0za2js8hqjgz8ria09cglynffj4w9vrzg85nmn1xgpvmc1xk813h")))) + "16wp09dm0cpb4mc00nmglfb8ica7qb4a55vm8ajgzyagbpfdd44l")))) (build-system r-build-system) (home-page "https://bioconductor.org/packages/tximport") (synopsis "Import and summarize transcript-level estimates for gene-level analysis") @@ -8975,13 +8976,13 @@ of gene-level counts.") (define-public r-rhdf5 (package (name "r-rhdf5") - (version "2.26.0") + (version "2.26.2") (source (origin (method url-fetch) (uri (bioconductor-uri "rhdf5" version)) (sha256 (base32 - "0xmpkfdsmgl79ffffj7cf9fx3zxki2rk0xn25k778kr3s0sbmhis")))) + "10zkw3k13wmvyif417gplyf6rwp2gpkjasw97lhwv2f9i32rry9l")))) (build-system r-build-system) (propagated-inputs `(("r-rhdf5lib" ,r-rhdf5lib))) @@ -9360,14 +9361,14 @@ GenomicRanges Bioconductor package.") (define-public r-copywriter (package (name "r-copywriter") - (version "2.14.0") + (version "2.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "CopywriteR" version)) (sha256 (base32 - "0aamxafdk98n7s92jyqs65d6ljpnc2463vanvsw80p44qn6l6awn")))) + "1hbiw0m9hmx4na9v502pxf8y5wvxzr68r4d3fqr2755gxx86qck6")))) (properties `((upstream-name . "CopywriteR"))) (build-system r-build-system) (propagated-inputs @@ -9400,13 +9401,13 @@ number detection tools.") (define-public r-methylkit (package (name "r-methylkit") - (version "1.8.0") + (version "1.8.1") (source (origin (method url-fetch) (uri (bioconductor-uri "methylKit" version)) (sha256 (base32 - "0mz6lil1wax931incnw5byx0v9i8ryhwq9mv0nv8s48ai33ch3x6")))) + "1zcfwy7i10aqgnf7r0c41hakb5aai3s3n9y8pc6a98vimz51ly2z")))) (properties `((upstream-name . "methylKit"))) (build-system r-build-system) (propagated-inputs @@ -9446,14 +9447,14 @@ TAB-Seq.") (define-public r-sva (package (name "r-sva") - (version "3.30.0") + (version "3.30.1") (source (origin (method url-fetch) (uri (bioconductor-uri "sva" version)) (sha256 (base32 - "1xf0hlrqjxl0y3x13mrkxghiv39fd9v2g8gq3qzbf1wj7il6bph3")))) + "0czja4c5jxa0g3fspi90nyajqmvzb29my4ykv2wi66h43f5dlwhq")))) (build-system r-build-system) (propagated-inputs `(("r-genefilter" ,r-genefilter) @@ -9476,14 +9477,14 @@ unmodeled, or latent sources of noise.") (define-public r-seqminer (package (name "r-seqminer") - (version "6.1") + (version "7.1") (source (origin (method url-fetch) (uri (cran-uri "seqminer" version)) (sha256 (base32 - "15yhg4vfc7jg1jnqb3371j00pgbmbyc9l1xx63hq1l3p34lazq2l")))) + "1jydcpkw4rwfp983j83kipvsvr10as9pb49zzn3c2v09k1gh3ymy")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -9576,14 +9577,14 @@ proteomics packages.") (define-public r-mzr (package (name "r-mzr") - (version "2.16.0") + (version "2.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "mzR" version)) (sha256 (base32 - "0li1y6p95ljiva4lvfmql9sipn4dq42sknbh60b36ycjppnf8lj5")) + "0mlwg646k49klxrznckzfv54a9mz6irj42fqpaaa0xjm6cw2lwaa")) (modules '((guix build utils))) (snippet '(begin @@ -9714,14 +9715,14 @@ and specific in detecting differential transcription.") (define-public r-mzid (package (name "r-mzid") - (version "1.20.0") + (version "1.20.1") (source (origin (method url-fetch) (uri (bioconductor-uri "mzID" version)) (sha256 (base32 - "08jbq223viwknsmsi30hyxyxslvmb0l4wx3vmqlkl6qk4vfmxzjz")))) + "15yd4bdxprw3kg7zj2k652y3yr3si781iw28jqvnkm0gsc23rd0c")))) (properties `((upstream-name . "mzID"))) (build-system r-build-system) (propagated-inputs @@ -9774,14 +9775,14 @@ structure (pcaRes) to provide a common interface to the PCA results.") (define-public r-msnbase (package (name "r-msnbase") - (version "2.8.1") + (version "2.8.3") (source (origin (method url-fetch) (uri (bioconductor-uri "MSnbase" version)) (sha256 (base32 - "0y658anh06vnvbkfs7r8q40gqgyqr2r8kj7jlpnp33fy1lvp1nv7")))) + "1kl1d7byphnfpmbl5fzbgs68dxskhpsdyx7ka51bpfn0nv3pp492")))) (properties `((upstream-name . "MSnbase"))) (build-system r-build-system) (propagated-inputs @@ -9817,14 +9818,14 @@ of mass spectrometry based proteomics data.") (define-public r-msnid (package (name "r-msnid") - (version "1.16.0") + (version "1.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "MSnID" version)) (sha256 (base32 - "0hgq4argllhh5hvxqi8vkf1blc3nibsslhx4zsv2mcv4yj75bv4n")))) + "077n6ljcnnl7q4w0qj8v46vm4sjk9vzzfqf7wsc6lz0wmyzqdng3")))) (properties `((upstream-name . "MSnID"))) (build-system r-build-system) (propagated-inputs @@ -9946,14 +9947,14 @@ classes.") (define-public r-deseq (package (name "r-deseq") - (version "1.34.0") + (version "1.34.1") (source (origin (method url-fetch) (uri (bioconductor-uri "DESeq" version)) (sha256 (base32 - "1klv1xrh3173srywr6dnq6i7m9djn4gc9aflr1p3a6yjlqcq6fya")))) + "0bpiixczbhlyaiinpbl6xrpmv72k2bq76bxnw06gl35m4pgs94p2")))) (properties `((upstream-name . "DESeq"))) (build-system r-build-system) (propagated-inputs @@ -9977,14 +9978,14 @@ distribution.") (define-public r-edaseq (package (name "r-edaseq") - (version "2.16.0") + (version "2.16.3") (source (origin (method url-fetch) (uri (bioconductor-uri "EDASeq" version)) (sha256 (base32 - "1gjqzn1kg9qwyz2gwjyy9xzzr1lnc7xd5zwdyvzkadz97gckzxwf")))) + "0559ph606ps2g9bwbl0a2knkcs5w581n9igngpjxvk5p56k24gb5")))) (properties `((upstream-name . "EDASeq"))) (build-system r-build-system) (propagated-inputs @@ -9992,6 +9993,7 @@ distribution.") ("r-aroma-light" ,r-aroma-light) ("r-biobase" ,r-biobase) ("r-biocgenerics" ,r-biocgenerics) + ("r-biocmanager" ,r-biocmanager) ("r-biomart" ,r-biomart) ("r-biostrings" ,r-biostrings) ("r-deseq" ,r-deseq) @@ -10039,14 +10041,14 @@ Shiny-based display methods for Bioconductor objects.") (define-public r-annotationhub (package (name "r-annotationhub") - (version "2.14.1") + (version "2.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationHub" version)) (sha256 (base32 - "00288x3na0izpmbcvsqac1br1qwry86vwc2slj1l47crdfb7za6c")))) + "17fgrvcnbii9siv5rq5j09bxhqffx47f6jf10418qvr7hh61ic1g")))) (properties `((upstream-name . "AnnotationHub"))) (build-system r-build-system) (propagated-inputs @@ -10128,14 +10130,14 @@ microarrays or GRanges for sequencing data.") (define-public r-gage (package (name "r-gage") - (version "2.32.0") + (version "2.32.1") (source (origin (method url-fetch) (uri (bioconductor-uri "gage" version)) (sha256 (base32 - "07b098wvryxf0zd423nk6h52s3gyngwjcx2vplqybpbpgl8h2931")))) + "02g796sb1800ff0f1mq9f2m5wwzpf8pnfzajs49i68dhq2hm01a8")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -10220,14 +10222,14 @@ self-defined annotation graphics.") (define-public r-dirichletmultinomial (package (name "r-dirichletmultinomial") - (version "1.24.0") + (version "1.24.1") (source (origin (method url-fetch) (uri (bioconductor-uri "DirichletMultinomial" version)) (sha256 (base32 - "19bzn0a5jal1xv0ad6wikxc7wrk582hczqamlln0vb2ffwkj1z3f")))) + "0vazfjzqy78p5g7dnv30lbqbj4bhq4zafd2wh6gdwy2il1fd78xa")))) (properties `((upstream-name . "DirichletMultinomial"))) (build-system r-build-system) @@ -10249,14 +10251,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2): (define-public r-ensembldb (package (name "r-ensembldb") - (version "2.6.2") + (version "2.6.3") (source (origin (method url-fetch) (uri (bioconductor-uri "ensembldb" version)) (sha256 (base32 - "0hdz1f34v7sas2v4225icwl3wd4sf17ykpd5dkbx1hc7wcy4w3np")))) + "0kzdsfk6mdwlp57sw4j2cf7lx5nc67v5j0xr3iag9kzmgikaq1lb")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -10324,14 +10326,14 @@ the fact that each of these packages implements a select methods.") (define-public r-biovizbase (package (name "r-biovizbase") - (version "1.30.0") + (version "1.30.1") (source (origin (method url-fetch) (uri (bioconductor-uri "biovizBase" version)) (sha256 (base32 - "0v54mcn3rnnfx8dmcrms5z3rgq19n3hp4r23azlgzwq6hjw7cccx")))) + "0v5gvcx180qn5487i1dph9abadw3ggqwp5yzy41jswzbdc8q6sbm")))) (properties `((upstream-name . "biovizBase"))) (build-system r-build-system) (propagated-inputs @@ -10661,14 +10663,14 @@ family of feature/genome hypotheses.") (define-public r-gviz (package (name "r-gviz") - (version "1.26.0") + (version "1.26.4") (source (origin (method url-fetch) (uri (bioconductor-uri "Gviz" version)) (sha256 (base32 - "05zk9hf30afg6rjg97lzn5v8xij90v8zm09y9vcz0asmc3c8xs0a")))) + "0jvcivgw0ahv2rjadxmrww76xambhf7silczmh38nn4yn4qw6w9y")))) (properties `((upstream-name . "Gviz"))) (build-system r-build-system) (propagated-inputs @@ -10822,14 +10824,14 @@ provided.") (define-public r-qvalue (package (name "r-qvalue") - (version "2.14.0") + (version "2.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "qvalue" version)) (sha256 (base32 - "03qxshqwwq1rj23p6pjrz08jm3ziikvy9badi4mz2rcwy2nz783a")))) + "0kxavzm1j2mk26qicmjm90nxx4w5h3dxighzks7wzihay3k8cysc")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -10851,14 +10853,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.") (define-public r-hdf5array (package (name "r-hdf5array") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "HDF5Array" version)) (sha256 (base32 - "1w7ad8cfsbh5xx82m3l4lc0vbmj9lcsqxxpiy3ana2ycgn1bqv3g")))) + "1qwdsygcadl58qj598hfyvs8hp0hqcl9ghnhknahrlhmb7k2bd2d")))) (properties `((upstream-name . "HDF5Array"))) (build-system r-build-system) (propagated-inputs @@ -10877,14 +10879,14 @@ block processing.") (define-public r-rhdf5lib (package (name "r-rhdf5lib") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "Rhdf5lib" version)) (sha256 (base32 - "01gpz780g850ql20b2ql6pvr678ydk4nq4sn5iiih94a4crb9lz1")) + "06bxd3wz8lrvh2hzvmjpdv4lvzj5lz9353bw5b3zb98cb8w9r2j5")) (modules '((guix build utils))) (snippet '(begin @@ -10977,14 +10979,14 @@ matrices.") (define-public r-singlecellexperiment (package (name "r-singlecellexperiment") - (version "1.4.0") + (version "1.4.1") (source (origin (method url-fetch) (uri (bioconductor-uri "SingleCellExperiment" version)) (sha256 (base32 - "19r4r7djrn46qlijkj1g926vcklxzcrxjlxv6cg43m9j9jgfs3dj")))) + "12139kk9cqgzpm6f3cwdsq31gj5lxamz2q939dy9fa0fa54gdaq4")))) (properties `((upstream-name . "SingleCellExperiment"))) (build-system r-build-system) @@ -11004,13 +11006,13 @@ libraries.") (define-public r-scater (package (name "r-scater") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "scater" version)) (sha256 (base32 - "1kwa9n70c5j0xcj6nkmlkzjr63cnj78mp8nhg58n07fq1ijm4ns3")))) + "0rijhy7g5qmcn927y1wyd63la1fhyar9fv1hccsqd23jd98yc55a")))) (build-system r-build-system) (propagated-inputs `(("r-beachmat" ,r-beachmat) @@ -11040,14 +11042,14 @@ quality control.") (define-public r-scran (package (name "r-scran") - (version "1.10.1") + (version "1.10.2") (source (origin (method url-fetch) (uri (bioconductor-uri "scran" version)) (sha256 (base32 - "1viyzrwfm9vccsf54c6g7k1dn7skkfx4ml1jy12q67wa20sx8l03")))) + "07mgilr3gq3lnrm1fjm9zhz4w7970bjhsykln1drqy9gkzj5sn7g")))) (build-system r-build-system) (propagated-inputs `(("r-beachmat" ,r-beachmat) @@ -14217,12 +14219,7 @@ absolute GSEA.") #:phases (modify-phases %standard-phases (delete 'configure) - (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "JAMM.sh" - (("^sPath=.*") - (string-append ""))) - #t)) + (delete 'build) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index e834ba3d2a..ee094a4814 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -264,6 +264,7 @@ maintained upstream.") (uri (string-append "https://github.com/tatsuhiro-t/aria2/" "releases/download/release-" version "/" name "-" version ".tar.xz")) + (patches (search-patches "aria2-CVE-2019-3500.patch")) (sha256 (base32 "18vpgr430vxlwbcc3598rr1srfmwypls6wp1m4wf21hncc1ahi1s")))) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index b6fe79303a..1c1276dc82 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -45,7 +45,6 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) - #:use-module (guix build-system ant) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) @@ -59,7 +58,6 @@ #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages file) - #:use-module (gnu packages java) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) @@ -1265,7 +1263,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to 100% bigger.") (license license:asl2.0))) -(define bitshuffle-for-snappy +(define-public bitshuffle-for-snappy (package (inherit bitshuffle) (name "bitshuffle-for-snappy") @@ -1302,245 +1300,6 @@ install: libbitshuffle.so (inputs '()) (native-inputs '()))) -(define-public java-snappy - (package - (name "java-snappy") - (version "1.1.7.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/xerial/snappy-java/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1p557vdv006ysgxbpp83krmq0066k46108vyiyka69w8i4i8rbbm")))) - (build-system ant-build-system) - (arguments - `(#:jar-name "snappy.jar" - #:source-dir "src/main/java" - #:phases - (modify-phases %standard-phases - (add-before 'build 'remove-binaries - (lambda _ - (delete-file "lib/org/xerial/snappy/OSInfo.class") - (delete-file-recursively "src/main/resources/org/xerial/snappy/native") - #t)) - (add-before 'build 'build-jni - (lambda _ - ;; Rebuild one of the binaries we removed earlier - (invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java" - "-d" "lib") - ;; Link to the dynamic bitshuffle and snappy, not the static ones - (substitute* "Makefile.common" - (("-shared") - "-shared -lbitshuffle -lsnappy")) - (substitute* "Makefile" - ;; Don't try to use git, don't download bitshuffle source - ;; and don't build it. - (("\\$\\(SNAPPY_GIT_UNPACKED\\) ") - "") - ((": \\$\\(SNAPPY_GIT_UNPACKED\\)") - ":") - (("\\$\\(BITSHUFFLE_UNPACKED\\) ") - "") - ((": \\$\\(SNAPPY_SOURCE_CONFIGURED\\)") ":") - ;; What we actually want to build - (("SNAPPY_OBJ:=.*") - "SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, \ - SnappyNative.o BitShuffleNative.o)\n") - ;; Since we removed the directory structure in "native" during - ;; the previous phase, we need to recreate it. - (("NAME\\): \\$\\(SNAPPY_OBJ\\)") - "NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)")) - ;; Finally we can run the Makefile to build the dynamic library. - ;; Use the -nocmake target to avoid a dependency on cmake, - ;; which in turn requires the "git_unpacked" directory. - (invoke "make" "native-nocmake"))) - ;; Once we have built the shared library, we need to place it in the - ;; "build" directory so it can be added to the jar file. - (add-after 'build-jni 'copy-jni - (lambda _ - (copy-recursively "src/main/resources/org/xerial/snappy/native" - "build/classes/org/xerial/snappy/native") - #t)) - (add-before 'check 'fix-failing - (lambda _ - (with-directory-excursion "src/test/java/org/xerial/snappy" - ;; This package assumes maven build, which puts results in "target". - ;; We put them in "build" instead, so fix that. - (substitute* "SnappyLoaderTest.java" - (("target/classes") "build/classes")) - ;; This requires Hadoop, which is not in Guix yet. - (delete-file "SnappyHadoopCompatibleOutputStreamTest.java")) - #t))))) - (inputs - `(("osgi-framework" ,java-osgi-framework))) - (propagated-inputs - `(("bitshuffle" ,bitshuffle-for-snappy) - ("snappy" ,snappy))) - (native-inputs - `(("junit" ,java-junit) - ("hamcrest" ,java-hamcrest-core) - ("xerial-core" ,java-xerial-core) - ("classworlds" ,java-plexus-classworlds) - ("commons-lang" ,java-commons-lang) - ("commons-io" ,java-commons-io) - ("perl" ,perl))) - (home-page "https://github.com/xerial/snappy-java") - (synopsis "Compression/decompression algorithm in Java") - (description "Snappy-java is a Java port of snappy, a fast C++ -compressor/decompressor.") - (license license:asl2.0))) - -(define-public java-snappy-1 - (package - (inherit java-snappy) - (version "1.0.3-rc3") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/xerial/snappy-java/archive/" - "snappy-java-" version ".tar.gz")) - (sha256 - (base32 - "08hsxlqidiqck0q57fshwyv3ynyxy18vmhrai9fyc8mz17m7gsa3")))) - (arguments - `(#:jar-name "snappy.jar" - #:source-dir "src/main/java" - #:phases - (modify-phases %standard-phases - (add-before 'build 'remove-binaries - (lambda _ - (delete-file "lib/org/xerial/snappy/OSInfo.class") - (delete-file-recursively "src/main/resources/org/xerial/snappy/native") - #t)) - (add-before 'build 'build-jni - (lambda _ - ;; Rebuild one of the binaries we removed earlier - (invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java" - "-d" "lib") - ;; Link to the dynamic snappy, not the static ones - (substitute* "Makefile.common" - (("-shared") "-shared -lsnappy")) - (substitute* "Makefile" - ;; Don't download the sources here. - (("\\$\\(SNAPPY_UNPACKED\\) ") "") - ((": \\$\\(SNAPPY_UNPACKED\\) ") ":") - ;; What we actually want to build - (("SNAPPY_OBJ:=.*") - "SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, SnappyNative.o)\n") - ;; Since we removed the directory structure in "native" during - ;; the previous phase, we need to recreate it. - (("NAME\\): \\$\\(SNAPPY_OBJ\\)") - "NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)")) - ;; Finally we can run the Makefile to build the dynamic library. - (invoke "make" "native"))) - ;; Once we have built the shared library, we need to place it in the - ;; "build" directory so it can be added to the jar file. - (add-after 'build-jni 'copy-jni - (lambda _ - (copy-recursively "src/main/resources/org/xerial/snappy/native" - "build/classes/org/xerial/snappy/native") - #t)) - (add-before 'check 'fix-tests - (lambda _ - (mkdir-p "src/test/resources/org/xerial/snappy/") - (copy-recursively "src/test/java/org/xerial/snappy/testdata" - "src/test/resources/org/xerial/snappy/testdata") - (install-file "src/test/java/org/xerial/snappy/alice29.txt" - "src/test/resources/org/xerial/snappy/") - #t))))))) - -(define-public java-iq80-snappy - (package - (name "java-iq80-snappy") - (version "0.4") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/dain/snappy/archive/snappy-" - version ".tar.gz")) - (sha256 - (base32 - "0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf")))) - (build-system ant-build-system) - (arguments - `(#:jar-name "iq80-snappy.jar" - #:source-dir "src/main/java" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (define (test class) - (invoke "java" "-cp" (string-append (getenv "CLASSPATH") - ":build/classes" - ":build/test-classes") - "-Dtest.resources.dir=src/test/resources" - "org.testng.TestNG" "-testclass" - class)) - (invoke "ant" "compile-tests") - (test "org.iq80.snappy.SnappyFramedStreamTest") - (test "org.iq80.snappy.SnappyStreamTest") - #t)) - (add-before 'build 'remove-hadoop-dependency - (lambda _ - ;; We don't have hadoop - (delete-file "src/main/java/org/iq80/snappy/HadoopSnappyCodec.java") - (delete-file "src/test/java/org/iq80/snappy/TestHadoopSnappyCodec.java") - #t))))) - (home-page "https://github.com/dain/snappy") - (native-inputs - `(("guava" ,java-guava) - ("java-snappy" ,java-snappy) - ("hamcrest" ,java-hamcrest-core) - ("testng" ,java-testng))) - (synopsis "Java port of the Snappy (de)compressor") - (description - "Iq80-snappy is a port of the Snappy compressor and decompressor rewritten -in pure Java. This compression code produces a byte-for-byte exact copy of the -output created by the original C++ code, and is extremely fast.") - (license license:asl2.0))) - -(define-public java-jbzip2 - (package - (name "java-jbzip2") - (version "0.9.1") - (source (origin - (method url-fetch) - (uri (string-append "https://storage.googleapis.com/" - "google-code-archive-source/v2/" - "code.google.com/jbzip2/" - "source-archive.zip")) - (file-name (string-append name "-" version ".zip")) - (sha256 - (base32 - "0ncmhlqmrfmj96nqf6p77b9ws35lcfsvpfxzwxi2asissc83z1l3")))) - (build-system ant-build-system) - (native-inputs - `(("unzip" ,unzip) - ("java-junit" ,java-junit))) - (arguments - `(#:tests? #f ; no tests - #:jar-name "jbzip2.jar" - #:source-dir "tags/release-0.9.1/src" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-encoding-problems - (lambda _ - ;; Some of the files we're patching are - ;; ISO-8859-1-encoded, so choose it as the default - ;; encoding so the byte encoding is preserved. - (with-fluids ((%default-port-encoding #f)) - (substitute* "tags/release-0.9.1/src/org/itadaki/bzip2/HuffmanAllocator.java" - (("Milidi.") "Milidiu"))) - #t))))) - (home-page "https://code.google.com/archive/p/jbzip2/") - (synopsis "Java bzip2 compression/decompression library") - (description "Jbzip2 is a Java bzip2 compression/decompression library. -It can be used as a replacement for the Apache @code{CBZip2InputStream} / -@code{CBZip2OutputStream} classes.") - (license license:expat))) - (define-public p7zip (package (name "p7zip") @@ -2099,43 +1858,6 @@ without having to worry how it does so, or use different interfaces for each type by using either Perl modules, or command-line tools on your system.") (license license:perl-license))) -(define-public java-tukaani-xz - (package - (name "java-tukaani-xz") - (version "1.6") - (source (origin - (method url-fetch) - (uri (string-append "https://tukaani.org/xz/xz-java-" version ".zip")) - (sha256 - (base32 - "1z3p1ri1gvl07inxn0agx44ck8n7wrzfmvkz8nbq3njn8r9wba8x")))) - (build-system ant-build-system) - (arguments - `(#:tests? #f; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - ;; Our build system enters the first directory in the archive, but - ;; the package is not contained in a subdirectory - (chdir "..") - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - ;; Do we want to install *Demo.jar? - (install-file "build/jar/xz.jar" - (string-append - (assoc-ref outputs "out") - "/share/java/xz.jar")) - #t))))) - (native-inputs - `(("unzip" ,unzip))) - (home-page "https://tukaani.org") - (synopsis "XZ in Java") - (description "Tukaani-xz is an implementation of xz compression/decompression -algorithms in Java.") - (license license:public-domain))) - (define-public lunzip (package (name "lunzip") diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 847e3ccacb..09cb2a1d02 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -42,8 +42,10 @@ #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages gnome) + #:use-module (gnu packages graph) #:use-module (gnu packages gtk) #:use-module (gnu packages haskell) #:use-module (gnu packages image) @@ -52,6 +54,7 @@ #:use-module (gnu packages machine-learning) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -63,14 +66,14 @@ (define-public r-clipr (package (name "r-clipr") - (version "0.4.1") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "clipr" version)) (sha256 (base32 - "061x84ildc7g1p91yw5iyj8lpqdf4hqv36as85lw8c6qv9ywbsqv")))) + "1grx0lyww1cxmdvsr44wmbhz9i6zmiwxbchb97gxrfi9gy5kyc7x")))) (build-system r-build-system) (home-page "https://github.com/mdlincoln/clipr") (synopsis "Read and write from the system clipboard") @@ -210,18 +213,17 @@ such as copy/paste from an R session.") (define-public r-callr (package (name "r-callr") - (version "3.0.0") + (version "3.1.1") (source (origin (method url-fetch) (uri (cran-uri "callr" version)) (sha256 (base32 - "1rxbxy6kn7dj90z9hpppr9cnpvnxzknba2dwrdp0lrk5dh462qz3")))) + "15l1qfa3aigba2ghgr2gwcjjy7anagrwg8khsd36fymwkmqj5g69")))) (build-system r-build-system) (propagated-inputs - `(("r-base64enc" ,r-base64enc) - ("r-r6" ,r-r6) + `(("r-r6" ,r-r6) ("r-processx" ,r-processx))) (home-page "https://github.com/r-lib/callr#readme") (synopsis "Call R from R") @@ -234,17 +236,18 @@ that.") (define-public r-readxl (package (name "r-readxl") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "readxl" version)) (sha256 (base32 - "05ii8knrg4jji6h7bv6bfpn279b6x52yrskdx5rv7b0hcpy22gdn")))) + "1mwm389skl4ahcwsmhvx31pjkrn6y9igpnhsczwg6yza886q7j19")))) (build-system r-build-system) (propagated-inputs `(("r-cellranger" ,r-cellranger) + ("r-progress" ,r-progress) ("r-rcpp" ,r-rcpp) ("r-tibble" ,r-tibble))) (home-page "https://readxl.tidyverse.org") @@ -287,13 +290,13 @@ into a pipeline of data manipulation and visualisation.") (define-public r-httpuv (package (name "r-httpuv") - (version "1.4.5") + (version "1.4.5.1") (source (origin (method url-fetch) (uri (cran-uri "httpuv" version)) (sha256 (base32 - "1ddpcarzf694h0gy5pdz7l5glqfv4hr9dmxb4vw7yqd0bga174gi")))) + "0mqd40jckdpkjw1jjd860cdwkb03l6dkh931maijfdaqr1w9hwvn")))) (build-system r-build-system) (native-inputs `(("r-rcpp" ,r-rcpp) @@ -317,13 +320,13 @@ particularly easy to create complete web applications using httpuv alone.") (define-public r-jsonlite (package (name "r-jsonlite") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) (uri (cran-uri "jsonlite" version)) (sha256 (base32 - "00lfg464jhf7k01bal9pcjvbdf5cxk6xi2h46hccp1x3h883g434")))) + "0lyvhnr6n57h3a89bvipii7x17nvfaycm9j5j50bfrlr48jv9ic8")))) (build-system r-build-system) (home-page "http://arxiv.org/abs/1403.2805") (synopsis "Robust, high performance JSON parser and generator for R") @@ -422,14 +425,14 @@ applications.") (define-public r-htmltable (package (name "r-htmltable") - (version "1.12") + (version "1.13.1") (source (origin (method url-fetch) (uri (cran-uri "htmlTable" version)) (sha256 (base32 - "1n5136vb7mi4rxl5jgwdmdhn4mwv2pcqyw2mrj406ih4hy6hpxa2")))) + "1l44b33xgj2698k6nz17r8fl0ink14ryzng803apm9d6bnv357v8")))) (properties `((upstream-name . "htmlTable"))) (build-system r-build-system) (propagated-inputs @@ -455,13 +458,13 @@ LaTeX.") (define-public r-curl (package (name "r-curl") - (version "3.2") + (version "3.3") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "15hmy71310hnf9yqvz0icx4cq939gv6iqaifzlfdh2ia8akawdhn")))) + "1gd5i25anzi28lg1f8p7g63z9d46xi0qaw4lxpml5p0f52lvkc0c")))) (build-system r-build-system) (arguments `(#:phases @@ -478,7 +481,10 @@ LaTeX.") (("#ifdef _WIN32") "#if 1")) #t))))) (inputs - `(("libcurl" ,curl))) + `(("libcurl" ,curl) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "https://github.com/jeroenooms/curl") (synopsis "HTTP client for R") (description @@ -782,14 +788,14 @@ work well on small screens.") (define-public r-feather (package (name "r-feather") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "feather" version)) (sha256 (base32 - "1q6dbkfnkpnabq8lb6bm9ma44cfcghx2lm23pyk3vg7943wrn1pi")))) + "138vnlwhkwayyim4rbx6rnf91kzhfij6v2f91ppx2174ky5611h6")))) (build-system r-build-system) (propagated-inputs `(("r-hms" ,r-hms) @@ -923,14 +929,14 @@ including functions for geolocation and routing.") (define-public r-haven (package (name "r-haven") - (version "1.1.2") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "haven" version)) (sha256 (base32 - "0pp8xjf5lzqg1wr8cwxj4njx99vxwlflwjrd7jvyzwlfpwh7n1qa")))) + "12qh8nba1dxlsmcihrx126wmjyj8n511k17vqj10lfgvpwq2sydy")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -1141,13 +1147,13 @@ print, summary, plot, update, etc. (define-public r-ps (package (name "r-ps") - (version "1.2.1") + (version "1.3.0") (source (origin (method url-fetch) (uri (cran-uri "ps" version)) (sha256 - (base32 "1zxylcb0nr4qb5v6j199mc2pfgf2bpf00jrw47jajmv59qb0fwmx")))) + (base32 "1lcq7r0q4jb8x6k023zr2ydj2dg925bqqbkhx1phpnyjrk897498")))) (build-system r-build-system) (home-page "http://ps.r-lib.org") (synopsis "List, query, and manipulate system processes") @@ -1367,14 +1373,14 @@ validation and filtering on the values, making options invisible or private.") (define-public r-circlize (package (name "r-circlize") - (version "0.4.4") + (version "0.4.5") (source (origin (method url-fetch) (uri (cran-uri "circlize" version)) (sha256 (base32 - "1l28maiqi549z191srncxgabx5fnvf0lld7smzwfd3vr5cx8nqww")))) + "0qhn9jzw7gd0jp9rmqrlbmy5ql6hjsa68pkp0acfz1h215dl8ah9")))) (build-system r-build-system) (propagated-inputs `(("r-colorspace" ,r-colorspace) @@ -1397,14 +1403,14 @@ multi-dimensional data.") (define-public r-powerlaw (package (name "r-powerlaw") - (version "0.70.1") + (version "0.70.2") (source (origin (method url-fetch) (uri (cran-uri "poweRlaw" version)) (sha256 (base32 - "04sr0nhdd1v915m0zf5gasznzgi08ykcy20kkwdw0l5mvvdbic8m")))) + "1asr6ikr7hmj78jyg8r1gwvcjg14addkxdiz92nh06lv71a183r4")))) (properties `((upstream-name . "poweRlaw"))) (build-system r-build-system) (propagated-inputs @@ -1734,13 +1740,13 @@ matrices.") (define-public r-rmpi (package (name "r-rmpi") - (version "0.6-7") + (version "0.6-9") (source (origin (method url-fetch) (uri (cran-uri "Rmpi" version)) (sha256 (base32 - "1b62gs7w1xqadqd7ir41jnxlcf14gcqfxd0915kn9ckdlsdrh0sw")))) + "1rhycla98hxgnnxlxxldr1x51djak7c2jjvlrv3jcsvgwp1ymqdj")))) (properties `((upstream-name . "Rmpi"))) (build-system r-build-system) (arguments @@ -2165,14 +2171,14 @@ available in a vignette.") (define-public r-lava (package (name "r-lava") - (version "1.6.3") + (version "1.6.4") (source (origin (method url-fetch) (uri (cran-uri "lava" version)) (sha256 (base32 - "0cayjspry3r2lcbvl77v5v52b2zarri3b8xsf87pw5a3jn9anxcf")))) + "0627cjlg55kzbzcy82w6wykmw2i57qhgfcabn2zy3ydfdswyxij1")))) (build-system r-build-system) (propagated-inputs `(("r-numderiv" ,r-numderiv) @@ -2247,7 +2253,9 @@ the Kaplan-Meier and Aalen-Johansen methods.") "0ssy2qriiy6zdawriqcbl67qiq68ipml3frq7aqlq70r2fqyyw48")))) (properties `((upstream-name . "dimRed"))) (build-system r-build-system) - (propagated-inputs `(("r-drr" ,r-drr))) + (propagated-inputs + `(("r-drr" ,r-drr) + ("r-magrittr" ,r-magrittr))) (home-page "https://github.com/gdkrmr/dimRed") (synopsis "Framework for dimensionality reduction") (description @@ -2303,14 +2311,14 @@ dimensioned arrays.") (define-public r-rmysql (package (name "r-rmysql") - (version "0.10.15") + (version "0.10.16") (source (origin (method url-fetch) (uri (cran-uri "RMySQL" version)) (sha256 (base32 - "0bmc7w5fnkjaf333sgc0hskiy332m9gmfaxg0yzkjxscpizdw43n")))) + "1gh4b730g2v78jg5iln8fkz808ri2vhnhnw43wzkkjpy53jh48sp")))) (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (native-inputs @@ -2329,6 +2337,32 @@ is being phased out. A modern MySQL client based on Rcpp is available from the RMariaDB package.") (license license:gpl2))) +(define-public r-rpostgresql + (package + (name "r-rpostgresql") + (version "0.6-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "RPostgreSQL" version)) + (sha256 + (base32 + "1mdhw5821v2h7hpa53v10wz53k4i90r0vb6a3dia5gq8f9j1h088")))) + (properties `((upstream-name . "RPostgreSQL"))) + (build-system r-build-system) + (inputs + `(("postgresql" ,postgresql))) + (propagated-inputs + `(("r-dbi" ,r-dbi))) + (home-page "https://github.com/tomoakin/RPostgreSQL") + (synopsis "R interface to the PostgreSQL database system") + (description + "This package provides a Database Interface (DBI) compliant driver for R +to access PostgreSQL database systems.") + ;; The whole package is released under GPL version 2. It includes code + ;; under the PostgreSQL license. + (license license:gpl2))) + (define-public r-geometry (package (name "r-geometry") @@ -2362,14 +2396,14 @@ Delaunay triangulation and convex hull computation.") (define-public r-ddalpha (package (name "r-ddalpha") - (version "1.3.4") + (version "1.3.8") (source (origin (method url-fetch) (uri (cran-uri "ddalpha" version)) (sha256 (base32 - "16cn0bhbaz9l9k4y79sv2d4f7pvs7dyka273y89igs5jvr99kfj1")))) + "0gi0hl14ghgf65zxsvgzh9z6xx1nyi49cpx192lmwrwqn3dy7ba0")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) @@ -2500,21 +2534,42 @@ displays of path diagrams, factor analysis and structural equation models are created using basic graphics.") (license license:gpl2+))) +(define-public r-generics + (package + (name "r-generics") + (version "0.0.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "generics" version)) + (sha256 + (base32 + "0xk1xhpy7gpv3pvaygzhpfdxj72zmb38pb4nscfyg2ff36vx3cvi")))) + (build-system r-build-system) + (home-page "https://github.com/r-lib/generics") + (synopsis "Common S3 generics not provided by base R methods") + (description + "In order to reduce potential package dependencies and conflicts, +generics provides a number of commonly used S3 generics that are not provided +by base R methods related to model fitting.") + (license license:gpl2))) + (define-public r-broom (package (name "r-broom") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "1r3831vq0fd5sh5841xr844sghg88z7ws91hg4jgnzbbkxfjp4ag")))) + "0bmf38yvwalqf5j5yrr48nsk5k3n75s0gwcw621hp5lgrgvnp7ns")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) ("r-dplyr" ,r-dplyr) + ("r-generics" ,r-generics) ("r-nlme" ,r-nlme) ("r-purrr" ,r-purrr) ("r-reshape2" ,r-reshape2) @@ -2562,7 +2617,8 @@ provides a one-row summary of model-level statistics.") ("r-rlang" ,r-rlang) ("r-tibble" ,r-tibble) ("r-tidyselect" ,r-tidyselect) - ("r-timedate" ,r-timedate))) + ("r-timedate" ,r-timedate) + ("r-withr" ,r-withr))) (home-page "https://github.com/topepo/recipes") (synopsis "Preprocessing tools to create design matrices") (description @@ -2770,14 +2826,14 @@ clustered data.") (define-public r-mitml (package (name "r-mitml") - (version "0.3-6") + (version "0.3-7") (source (origin (method url-fetch) (uri (cran-uri "mitml" version)) (sha256 (base32 - "1pkqv4qazih3byws5z6629pp232n8ra56lip7502727b0b4bsndw")))) + "0yqyxkyi1kmv5k63wxj5kkg5g8igk1axk2csb4xhj6wz0p89dxy6")))) (build-system r-build-system) (propagated-inputs `(("r-haven" ,r-haven) @@ -3052,14 +3108,14 @@ where possible.") (define-public r-laeken (package (name "r-laeken") - (version "0.4.6") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "laeken" version)) (sha256 (base32 - "1rhkv1kk508pwln1d325iq4fink2ncssps0ypxi52j9d7wk78la6")))) + "1g9r3y7b0gl91hijk9awa8rjk97mqpkxinzq2cgmx0m38ng9ylpa")))) (build-system r-build-system) (propagated-inputs `(("r-boot" ,r-boot) @@ -3295,21 +3351,18 @@ constants, and control debugging of packages via environment variables.") (define-public r-processx (package (name "r-processx") - (version "3.2.0") + (version "3.2.1") (source (origin (method url-fetch) (uri (cran-uri "processx" version)) (sha256 (base32 - "1pzx4ap4xa07gf9zkd6hacdsnb9sp3kb60a7v7ljl0ywrcpn1fn4")))) + "1skjyi767avc3safajlj3ikk9lf11zzyjybdcmx8m9y59rf319ql")))) (build-system r-build-system) (propagated-inputs - `(("r-assertthat" ,r-assertthat) - ("r-crayon" ,r-crayon) - ("r-ps" ,r-ps) - ("r-r6" ,r-r6) - ("r-testthat" ,r-testthat))) + `(("r-ps" ,r-ps) + ("r-r6" ,r-r6))) (home-page "https://github.com/r-lib/processx3") (synopsis "Execute and control system processes") (description @@ -3366,14 +3419,14 @@ available.") (define-public r-gclus (package (name "r-gclus") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "gclus" version)) (sha256 (base32 - "02ba6zj9bjwrzykamjp40ajynx9xjx9h2i85n0ym0r5lcki4x6fn")))) + "1cz0g0i972955hhaji30rx8448x7f3as7z1sww9i5h86ybgirilw")))) (build-system r-build-system) (propagated-inputs `(("r-cluster" ,r-cluster))) (home-page "https://cran.r-project.org/web/packages/gclus/") @@ -3485,14 +3538,14 @@ display.") (define-public r-pillar (package (name "r-pillar") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (cran-uri "pillar" version)) (sha256 (base32 - "1q6arybmfqxhp5zqj1fri5pb8v7ywcv7bmgf81rrmgl892p4bn5f")))) + "1xnbb9sr5wn9dmp6m7cr4z7i6pmjvyabnfcx6x7i7mvdjmgvaf5k")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -3530,14 +3583,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.9") + (version "0.10") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "08w5hyq3ysh631d5whgcfv1bb007cdc0bjhb83vwmhazs6rgvyjy")))) + "02bz8zaka5j51zin976n5nmk19a0390d0gwgj4zrbh48hl313rqm")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -3599,14 +3652,14 @@ supports arbitrary vertex/edge/graph attributes.") (define-public r-statnet-common (package (name "r-statnet-common") - (version "4.1.4") + (version "4.2.0") (source (origin (method url-fetch) (uri (cran-uri "statnet.common" version)) (sha256 (base32 - "14dydm4c4dzc4v6ldxpn04q551nczzfablwibrd8lzgja8x9ksic")))) + "0q942g6kqmqxfss1cxb3yg8y5r1k1h5cyy99s1cfisrn6hqc6xhi")))) (properties `((upstream-name . "statnet.common"))) (build-system r-build-system) @@ -3799,14 +3852,14 @@ financial trading strategies.") (define-public r-tseries (package (name "r-tseries") - (version "0.10-45") + (version "0.10-46") (source (origin (method url-fetch) (uri (cran-uri "tseries" version)) (sha256 (base32 - "14s1glh5zzdvdl05a2z7ymhgf962svxf8xircghg5sc649lb33n0")))) + "08kjw0bfj5gfcrxpblwqxwna8a5g9gnr7ya61qb02r263pyhm50j")))) (build-system r-build-system) (propagated-inputs `(("r-quadprog" ,r-quadprog) @@ -3943,14 +3996,14 @@ applied econometric analysis.") (define-public r-cubature (package (name "r-cubature") - (version "1.4-1") + (version "2.0.3") (source (origin (method url-fetch) (uri (cran-uri "cubature" version)) (sha256 (base32 - "10jl5l3xnigiq95829ssq69xbim97k851187dghc30awszcx4clh")))) + "0wvs80i4axj7pdcy9gjl08qzjbcjkldha94xy4gdxc34vgmh7gvr")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) @@ -4233,14 +4286,14 @@ files.") (define-public r-shinyace (package (name "r-shinyace") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "shinyAce" version)) (sha256 (base32 - "1fbk5i6w6cpam8s3acf4bgdp8hajn4digjjix3i6i4q3p2rvn6zx")))) + "02q6wqw349nlyf3mbf18cxif1xv9cal5qzccrdlnv73szqn9jk7j")))) (properties `((upstream-name . "shinyAce"))) (build-system r-build-system) (propagated-inputs @@ -4502,14 +4555,14 @@ multivariate plot methods.") (define-public r-fnn (package (name "r-fnn") - (version "1.1.2.1") + (version "1.1.2.2") (source (origin (method url-fetch) (uri (cran-uri "FNN" version)) (sha256 (base32 - "1n61jrcmakqif8f827x4qnlhm2jqpj5fgjj65c4p0kdd8lzw8pqp")))) + "09k3k0h9ikbwq6225l7gd0nhimbji722680cr66c8n7zpvxn06mm")))) (properties `((upstream-name . "FNN"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/FNN") @@ -4620,14 +4673,14 @@ evaluated by the @dfn{Akaike Information Criterion} (AIC).") (define-public r-arules (package (name "r-arules") - (version "1.6-1") + (version "1.6-2") (source (origin (method url-fetch) (uri (cran-uri "arules" version)) (sha256 (base32 - "0glfqgxr87900kigmkby2ff7qrjvd6aq595q85y056i5ckjcp615")))) + "0vnss6akk3564kbci3h5rq8ylpckz77cgmflly3gn6fki66f7g96")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -4760,14 +4813,14 @@ dependency on Java.") (define-public r-rio (package (name "r-rio") - (version "0.5.10") + (version "0.5.16") (source (origin (method url-fetch) (uri (cran-uri "rio" version)) (sha256 (base32 - "158xg3vj0glk3fslwi6fywwmfym2b6kn3fdmjligdfy5lf68khix")))) + "0rfl56fdawlhc98451a9lcb6a6m56kw0i7dvd5hx58z025d8vsyk")))) (build-system r-build-system) (propagated-inputs `(("r-curl" ,r-curl) @@ -5492,14 +5545,14 @@ to help insert or delete content at a specific location in the document.") (define-public r-abn (package (name "r-abn") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) (uri (cran-uri "abn" version)) (sha256 (base32 - "00k0razgdb5y5f62622fm7rxkcxrxg470nyyb02dvpfp60254kvs")))) + "1q9hzpxwg835711kxwygd0l2awal6f015f8s6fprwz7graz1wbbm")))) (build-system r-build-system) (inputs `(("gsl" ,gsl))) @@ -5620,14 +5673,14 @@ parse and convert strings into cases like snake or camel among others.") (define-public r-prediction (package (name "r-prediction") - (version "0.3.6") + (version "0.3.6.1") (source (origin (method url-fetch) (uri (cran-uri "prediction" version)) (sha256 (base32 - "19d7312f5lkqfglfvlgssnvyw7gl161s0xradcry44r1i6qp05j1")))) + "1znxpacd79fjkf84w3493p1vmafanqfxsspwpwpkmda323bsxj0n")))) (build-system r-build-system) (propagated-inputs `(("r-data-table" ,r-data-table))) @@ -5644,14 +5697,14 @@ other add-on packages.") (define-public r-sjlabelled (package (name "r-sjlabelled") - (version "1.0.14") + (version "1.0.16") (source (origin (method url-fetch) (uri (cran-uri "sjlabelled" version)) (sha256 (base32 - "0ayfzhm9bwjfaarq5z0gvn9kapjwj3532azgin97nr5fnjdhvgaw")))) + "1zi1ncna16zl9hcy7mzara4kjxqkgwcw9ncp388ss353wwc9y2nc")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) @@ -5661,9 +5714,7 @@ other add-on packages.") ("r-prediction" ,r-prediction) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) - ("r-snakecase" ,r-snakecase) - ("r-tibble" ,r-tibble) - ("r-tidyselect" ,r-tidyselect))) + ("r-snakecase" ,r-snakecase))) (home-page "https://github.com/strengejacke/sjlabelled") (synopsis "Labelled data utility functions") (description @@ -5677,14 +5728,14 @@ vice versa), or to deal with multiple declared missing values.") (define-public r-sjmisc (package (name "r-sjmisc") - (version "2.7.6") + (version "2.7.7") (source (origin (method url-fetch) (uri (cran-uri "sjmisc" version)) (sha256 (base32 - "1jhrigikjpkdar3jxvi7qhqsg6lgjkjqhqll9vaay98b88rfc2im")))) + "0xm9pmq17maivmjsygwx3bdjd71hf829qbx735hyxa69z9dhp24q")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) @@ -5790,14 +5841,14 @@ documents.") (define-public r-writexl (package (name "r-writexl") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (cran-uri "writexl" version)) (sha256 (base32 - "0r2v12dc4zqmr1agp6vbw0fc48i278018684x84psjjqfmnv14cf")))) + "0w4wnpl3yhaqp63p32bk60xrbmd7xd11kxifjbzrghi7d4483a46")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) (home-page "https://github.com/ropensci/writexl") @@ -5887,14 +5938,14 @@ support for default values, positional argument support, etc.") (define-public r-findpython (package (name "r-findpython") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (cran-uri "findpython" version)) (sha256 (base32 - "1y08jk2ffmkf9zpwiz2xymjhfwqvls9vzsnq62v278ghw9d571jl")))) + "1zfcdcp4d48d2pzf5n59kqrfk2z9nnyzkx5j00gfmgfkadnv93x5")))) (build-system r-build-system) (home-page "https://github.com/trevorld/findpython") (synopsis "Functions to find an acceptable Python binary") @@ -5907,21 +5958,21 @@ matches version and feature constraints.") (define-public r-argparse (package (name "r-argparse") - (version "1.1.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "argparse" version)) (sha256 (base32 - "0fzrbj87b274vf96azdnsjxk2nf45d5wy58vzmlah4b4h7q4j524")))) + "1qrp7hc8sm6ryw0zws76al865ansig1xbx8ljxz4wabh60msrz3i")))) (build-system r-build-system) (inputs `(("python" ,python))) (propagated-inputs `(("r-findpython" ,r-findpython) ("r-getopt" ,r-getopt) ("r-jsonlite" ,r-jsonlite) - ("r-proto" ,r-proto))) + ("r-r6" ,r-r6))) (home-page "https://github.com/trevorld/argparse") (synopsis "Command line optional and positional argument parser") (description @@ -6012,14 +6063,14 @@ Group (Non-)Overlap considerations.") (define-public r-refgenome (package (name "r-refgenome") - (version "1.7.3") + (version "1.7.3.1") (source (origin (method url-fetch) (uri (cran-uri "refGenome" version)) (sha256 (base32 - "15p0ra2p1pwhy5ixbhsz1g79c5sc2aap4i4c8kil0m2syg9y45sn")))) + "1s4lxv5pqk6d0f0a9iclgv88yl346fwvzgraxh0gwpbym1yhh787")))) (properties `((upstream-name . "refGenome"))) (build-system r-build-system) (propagated-inputs @@ -6168,13 +6219,13 @@ the analyzed items.") (define-public r-slam (package (name "r-slam") - (version "0.1-43") + (version "0.1-44") (source (origin (method url-fetch) (uri (cran-uri "slam" version)) (sha256 - (base32 "0hy4qzngcgafxxr6ld7n9a9wy979ji998gpcc32vidwyab66dj5h")))) + (base32 "11n956kid70931z0qyiql3v7nac1cfkamq44kzf9wl670pf8b033")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/slam/") (synopsis "Sparse lightweight arrays and matrices") @@ -7266,14 +7317,14 @@ Hothorn, Westfall, 2010, CRC Press).") (define-public r-emmeans (package (name "r-emmeans") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "0kdyy4qp332c4yyvp1cnh48h6ks6ffir5rjcv0py0vm3m8c3hh61")))) + "1sf7gmdb7aqhdpx489vg693ivc5677n4yjx27ixv8v7pjh8mlwwx")))) (build-system r-build-system) (propagated-inputs `(("r-estimability" ,r-estimability) @@ -7398,14 +7449,14 @@ detection, parallelism through BLAS and parallel user templates.") (define-public r-sjstats (package (name "r-sjstats") - (version "0.17.2") + (version "0.17.3") (source (origin (method url-fetch) (uri (cran-uri "sjstats" version)) (sha256 (base32 - "0c7g35vn7r9rylhp0gj1yfslg7jybwrhpqpp7vdcd90xfccih24r")))) + "02na2pzxp88yp52h7vs959fgydiddmns39m9x4i0vz8fp016bdf8")))) (build-system r-build-system) (propagated-inputs `(("r-bayesplot" ,r-bayesplot) @@ -7444,14 +7495,14 @@ models.") (define-public r-glmmtmb (package (name "r-glmmtmb") - (version "0.2.2.0") + (version "0.2.3") (source (origin (method url-fetch) (uri (cran-uri "glmmTMB" version)) (sha256 (base32 - "1clpkjlmsjmn3m1z5jqv8cgw6bvpqsy4nx6k947r0jya017ny5y5")))) + "035hkywa37bz555fv6znxd4hfcs5w884365wfnwk4jx5vann4vvb")))) (properties `((upstream-name . "glmmTMB"))) (build-system r-build-system) (propagated-inputs @@ -7461,7 +7512,7 @@ models.") ("r-rcppeigen" ,r-rcppeigen) ("r-tmb" ,r-tmb))) (native-inputs - `(("r-knitr" ,r-knitr))) + `(("r-knitr" ,r-knitr))) ; for vignettes (home-page "https://github.com/glmmTMB") (synopsis "Generalized linear mixed models") (description @@ -7476,14 +7527,14 @@ differentiation.") (define-public r-ggeffects (package (name "r-ggeffects") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "070c3fxmzajq2fy816s5pfqdyjlnzkabj97z7fcsva4h5rnqi9d6")))) + "152xyadj5m171z7dlzzy40y1fp2l9v46525dlw2al3qr0b7zpm61")))) (build-system r-build-system) (propagated-inputs `(("r-crayon" ,r-crayon) @@ -7515,14 +7566,14 @@ results using @code{ggplot2}.") (define-public r-sjplot (package (name "r-sjplot") - (version "2.6.1") + (version "2.6.2") (source (origin (method url-fetch) (uri (cran-uri "sjPlot" version)) (sha256 (base32 - "13qvw2s3r96qfi8kfsn76m050ccnmckl31a9qv94xws8da99v2fk")))) + "0x9pbchmz4qf4c9bi52dhhgv1phfj03q1hnxic8vndl6xwib63cy")))) (properties `((upstream-name . "sjPlot"))) (build-system r-build-system) (propagated-inputs @@ -7978,14 +8029,14 @@ the interfaces between R and C++.") (define-public r-mvabund (package (name "r-mvabund") - (version "3.13.1") + (version "4.0.1") (source (origin (method url-fetch) (uri (cran-uri "mvabund" version)) (sha256 (base32 - "1z8bj9zbc8h7w1xki9sc2p2rq6lv8gbcmiy9819z54d7lx1i9cnj")))) + "0la935gsiryfc0zixxr1dqj0av271x96pqxbi3bp6dksbw5gm68k")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) @@ -8874,3 +8925,1485 @@ Furthermore, functions are available for fast singular value decomposition, for computing the pseudoinverse, and for checking the rank and positive definiteness of a matrix.") (license license:gpl3+))) + +(define-public r-rspectra + (package + (name "r-rspectra") + (version "0.13-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "RSpectra" version)) + (sha256 + (base32 + "1sw80chwyyjzf5px278l6xmp94yhwrlj5xh8d3wlw3dnvdkycca7")))) + (properties `((upstream-name . "RSpectra"))) + (build-system r-build-system) + (propagated-inputs + `(("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-rcppeigen" ,r-rcppeigen))) + (home-page "https://github.com/yixuan/RSpectra") + (synopsis "Solvers for large-scale Eigenvalue and SVD problems") + (description + "This package provides an R interface to the Spectra library for +large-scale eigenvalue and SVD problems. It is typically used to compute a +few eigenvalues/vectors of an n by n matrix, e.g., the k largest eigenvalues, +which is usually more efficient than @code{eigen()} if k << n.") + ;; MPL 2 or later. + (license license:mpl2.0))) + +(define-public r-vbsr + (package + (name "r-vbsr") + (version "0.0.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "vbsr" version)) + (sha256 + (base32 + "1avskbxxyinjjdga4rnghcfvd4sypv4m39ysfaij5avvmi89bx3b")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/vbsr") + (synopsis "Variational Bayes spike regression regularized linear models") + (description + "This package provides an efficient algorithm for solving ultra-sparse +regularized regression models using a variational Bayes algorithm with a spike +prior. The algorithm is solved on a path, with coordinate updates, and is +capable of generating very sparse models. Very general model +diagnostics for controlling type-1 errors are also provided.") + (license license:gpl2))) + +(define-public r-flare + (package + (name "r-flare") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "flare" version)) + (sha256 + (base32 + "0ygif9a7a99qwv0b488wymmmncp6f5ww9yz13s4qs6p8yf37x1r1")))) + (build-system r-build-system) + (propagated-inputs + `(("r-igraph" ,r-igraph) + ("r-lattice" ,r-lattice) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix))) + (home-page "https://cran.r-project.org/web/packages/flare") + (synopsis "Family of Lasso regression implementations") + (description + "This packages provides implementations of a family of Lasso variants +including Dantzig Selector, LAD Lasso, SQRT Lasso, Lq Lasso for estimating +high dimensional sparse linear models.") + (license license:gpl2))) + +(define-public r-lassopv + (package + (name "r-lassopv") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "lassopv" version)) + (sha256 + (base32 + "0yawnjw063jypk3riy9xab9cmliv6c9dnabi18670khd3gzb2r9z")))) + (build-system r-build-system) + (propagated-inputs `(("r-lars" ,r-lars))) + (home-page "https://github.com/lingfeiwang/lassopv") + (synopsis "Non-parametric p-value estimation for predictors in Lasso") + (description + "This package enables you to estimate the p-values for predictors x +against target variable y in Lasso regression, using the regularization +strength when each predictor enters the active set of regularization path for +the first time as the statistic.") + (license license:gpl3))) + +(define-public r-splitstackshape + (package + (name "r-splitstackshape") + (version "1.4.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "splitstackshape" version)) + (sha256 + (base32 + "03w6h64ga4zqilffdway4l38l5cbman4yrspkzhbigds12aqz25r")))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table))) + (home-page "https://github.com/mrdwab/splitstackshape") + (synopsis "Stack and reshape datasets after splitting concatenated values") + (description + "Online data collection tools like Google Forms often export +multiple-response questions with data concatenated in cells. The +@code{concat.split} (cSplit) family of functions provided by this package +splits such data into separate cells. This package also includes functions to +stack groups of columns and to reshape wide data, even when the data are +\"unbalanced\"---something which @code{reshape} (from base R) does not handle, +and which @code{melt} and @code{dcast} from @code{reshape2} do not easily +handle.") + (license license:gpl3))) + +(define-public r-tfmpvalue + (package + (name "r-tfmpvalue") + (version "0.0.8") + (source + (origin + (method url-fetch) + (uri (cran-uri "TFMPvalue" version)) + (sha256 + (base32 + "0h9qkl15k8v17v3g9bdnfwvh2s04ywjgg5y0xn2077dmywlja1bd")))) + (properties `((upstream-name . "TFMPvalue"))) + (build-system r-build-system) + (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/ge11232002/TFMPvalue") + (synopsis "P-value computation for position weight matrices") + (description + "In putative @dfn{Transcription Factor Binding Sites} (TFBSs) +identification from sequence/alignments, we are interested in the significance +of certain match scores. TFMPvalue provides the accurate calculation of a +p-value with a score threshold for position weight matrices, or the score with +a given p-value. It is an interface to code originally made available by +Helene Touzet and Jean-Stephane Varre, 2007, Algorithms Mol Biol:2, 15. +Touzet and Varre (2007).") + (license license:gpl2))) + +(define-public r-rnifti + (package + (name "r-rnifti") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "RNifti" version)) + (sha256 + (base32 + "07sfzps4yg5zdhbxh6i4rbjvbjvvf2d8i9jcf64ywbmi557sw1zv")))) + (properties `((upstream-name . "RNifti"))) + (build-system r-build-system) + (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/jonclayden/RNifti") + (synopsis "Fast R and C++ access to NIfTI images") + (description + "This package provides very fast read and write access to images stored +in the NIfTI-1 and ANALYZE-7.5 formats, with seamless synchronisation between +compiled C and interpreted R code. It also provides a C/C++ API that can be +used by other packages.") + (license license:gpl2))) + +(define-public r-shades + (package + (name "r-shades") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "shades" version)) + (sha256 + (base32 + "0v0xp9l1zyq4iysmkrbdwk4r1rksjj8p5c1726yrcgyg55mj59nv")))) + (build-system r-build-system) + (home-page "https://github.com/jonclayden/shades") + (synopsis "Simple color manipulation") + (description + "This package provides functions for easily manipulating colors, +creating color scales and calculating color distances.") + (license license:bsd-3))) + +(define-public r-ore + (package + (name "r-ore") + (version "1.6.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "ore" version)) + (sha256 + (base32 + "1l1ziljgm5gwjhvjq42wi5vcwbxlaj5dl9w8bhz0wh8vx4ajj07m")))) + (build-system r-build-system) + (home-page "https://github.com/jonclayden/ore") + (synopsis "R interface to the Onigmo regular expression library") + (description + "This package provides an alternative to R's built-in functionality for +handling regular expressions, based on the Onigmo library. It offers +first-class compiled regex objects, partial matching and function-based +substitutions, amongst other features.") + (license license:bsd-3))) + +(define-public r-reportr + (package + (name "r-reportr") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "reportr" version)) + (sha256 + (base32 + "0zynplxqvbmf23cm2rsz3wz2jx6mv55z94mn1k44ny3lx625cnpw")))) + (build-system r-build-system) + (propagated-inputs `(("r-ore" ,r-ore))) + (home-page "https://github.com/jonclayden/reportr") + (synopsis "General message and error reporting system") + (description + "This package provides a system for reporting messages, which offers +certain useful features over the standard R system, such as the incorporation +of output consolidation, message filtering, assertions, expression +substitution, automatic generation of stack traces for debugging, and +conditional reporting based on the current \"output level\".") + (license license:gpl2))) + +(define-public r-tractor-base + (package + (name "r-tractor-base") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "tractor.base" version)) + (sha256 + (base32 + "0i62dwra0yh565ryz75byfgqv22bqwz7138zs48w46yj2h8q9hyj")))) + (properties `((upstream-name . "tractor.base"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ore" ,r-ore) + ("r-reportr" ,r-reportr) + ("r-rnifti" ,r-rnifti) + ("r-shades" ,r-shades))) + (home-page "http://www.tractor-mri.org.uk") + (synopsis "Read, manipulate and visualize magnetic resonance images") + (description + "This package provides functions for working with magnetic resonance +images. It supports reading and writing of popular file formats (DICOM, +Analyze, NIfTI-1, NIfTI-2, MGH); interactive and non-interactive +visualization; flexible image manipulation; metadata and sparse image +handling.") + (license license:gpl2))) + +(define-public r-grimport + (package + (name "r-grimport") + (version "0.9-1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "grImport" version)) + (sha256 + (base32 + "19d05ygpiv47lfzhfih35pdfll0axbrgd6p86l59mmg2d0j0s8bd")))) + (properties `((upstream-name . "grImport"))) + (build-system r-build-system) + (inputs + `(("ghostscript" ,ghostscript))) + (propagated-inputs + `(("r-xml" ,r-xml))) + (home-page "https://cran.r-project.org/web/packages/grImport") + (synopsis "Convert, import, and draw PostScript pictures") + (description + "This package provides functions for converting, importing, and drawing +PostScript pictures in R plots.") + (license license:gpl2+))) + +(define-public r-kohonen + (package + (name "r-kohonen") + (version "3.0.8") + (source + (origin + (method url-fetch) + (uri (cran-uri "kohonen" version)) + (sha256 + (base32 + "1zbfqa1qdlry8w6xhypkiknc5gn98v1ijhlsfka8zjg8ajhqgn1q")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mass" ,r-mass) + ("r-rcpp" ,r-rcpp))) + (home-page "https://cran.r-project.org/web/packages/kohonen") + (synopsis "Supervised and unsupervised self-organising maps") + (description + "This package provides functions to train @dfn{self-organising +maps} (SOMs). Also interrogation of the maps and prediction using trained +maps are supported. The name of the package refers to Teuvo Kohonen, the +inventor of the SOM.") + (license license:gpl2+))) + +(define-public r-nnls + (package + (name "r-nnls") + (version "1.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "nnls" version)) + (sha256 + (base32 + "07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f")))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/web/packages/nnls") + (synopsis "Lawson-Hanson algorithm for non-negative least squares") + (description + "This package provides an R interface to the Lawson-Hanson implementation +of an algorithm for @dfn{non-negative least squares} (NNLS). It also allows +the combination of non-negative and non-positive constraints.") + (license license:gpl2+))) + +(define-public r-iso + (package + (name "r-iso") + (version "0.0-17") + (source + (origin + (method url-fetch) + (uri (cran-uri "Iso" version)) + (sha256 + (base32 + "0lljc99sdzdqj6d56qbsggibr6pkdwkh821bj70ianikyvmdc1y0")))) + (properties `((upstream-name . "Iso"))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "http://www.stat.auckland.ac.nz/~rolf/") + (synopsis "Functions to perform isotonic regression") + (description + "This package provides support for linear order and unimodal +order (univariate) isotonic regression and bivariate isotonic regression with +linear order on both variables.") + (license license:gpl2+))) + +(define-public r-chemometricswithr + (package + (name "r-chemometricswithr") + (version "0.1.13") + (source + (origin + (method url-fetch) + (uri (cran-uri "ChemometricsWithR" version)) + (sha256 + (base32 + "166va1g3m1wv21qkmw4wpz0bsrclh3jih8smxphdc13l9pqgclpq")))) + (properties + `((upstream-name . "ChemometricsWithR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-devtools" ,r-devtools) + ("r-kohonen" ,r-kohonen) + ("r-mass" ,r-mass) + ("r-pls" ,r-pls))) + (home-page "https://github.com/rwehrens/CWR") + (synopsis "Chemometrics with R") + (description + "This package provides functions and scripts used in the book +\"Chemometrics with R - Multivariate Data Analysis in the Natural Sciences and +Life Sciences\" by Ron Wehrens, Springer (2011).") + (license license:gpl2+))) + +(define-public r-als + (package + (name "r-als") + (version "0.0.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "ALS" version)) + (sha256 + (base32 + "1swrn39vy50fazkpf97r7c542gkj6mlvy8gmcxllg7mf2mqx546a")))) + (properties `((upstream-name . "ALS"))) + (build-system r-build-system) + (propagated-inputs + `(("r-iso" ,r-iso) + ("r-nnls" ,r-nnls))) + (home-page "https://cran.r-project.org/web/packages/ALS") + (synopsis "Multivariate curve resolution alternating least squares") + (description + "Alternating least squares is often used to resolve components +contributing to data with a bilinear structure; the basic technique may be +extended to alternating constrained least squares. This package provides an +implementation of @dfn{multivariate curve resolution alternating least +squares} (MCR-ALS). + +Commonly applied constraints include unimodality, non-negativity, and +normalization of components. Several data matrices may be decomposed +simultaneously by assuming that one of the two matrices in the bilinear +decomposition is shared between datasets.") + (license license:gpl2+))) + +(define-public r-strucchange + (package + (name "r-strucchange") + (version "1.5-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "strucchange" version)) + (sha256 + (base32 + "0cdgvl6kphm2i59bmnppn1y3kv65ml111bk7yzpcx7vv8wh2w3kl")))) + (build-system r-build-system) + (propagated-inputs + `(("r-sandwich" ,r-sandwich) + ("r-zoo" ,r-zoo))) + (home-page "https://cran.r-project.org/web/packages/strucchange") + (synopsis "Testing, monitoring, and dating structural changes") + (description + "This package provides tools for testing, monitoring and dating +structural changes in (linear) regression models. It features tests/methods +from the generalized fluctuation test framework as well as from the F +test (Chow test) framework. This includes methods to fit, plot and test +fluctuation processes (e.g., CUSUM, MOSUM, recursive/moving estimates) and F +statistics, respectively. It is possible to monitor incoming data online +using fluctuation processes. Finally, the breakpoints in regression models +with structural changes can be estimated together with confidence intervals. +Emphasis is always given to methods for visualizing the data.") + ;; Either of these two GPL versions + (license (list license:gpl2 license:gpl3)))) + +(define-public r-pixmap + (package + (name "r-pixmap") + (version "0.4-11") + (source + (origin + (method url-fetch) + (uri (cran-uri "pixmap" version)) + (sha256 + (base32 + "04klxp6jndw1bp6z40v20fbmdmdpfca2g0czmmmgbkark9s1183g")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/pixmap") + (synopsis "Tools for bitmap images") + (description + "This package provides functions for importing, exporting, plotting and +other manipulations of bitmapped images.") + (license license:gpl2))) + +(define-public r-rapidjsonr + (package + (name "r-rapidjsonr") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "rapidjsonr" version)) + (sha256 + (base32 + "0h4phjjhykbb45rg5b1xn48vqxdcvcngbm0416ds8in7j469wbwd")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/rapidjsonr") + (synopsis "JSON parser") + (description + "This package provides JSON parsing capability through the Rapidjson +library.") + (license license:expat))) + +(define-public r-ontologyindex + (package + (name "r-ontologyindex") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "ontologyIndex" version)) + (sha256 + (base32 + "127hlf0z5fmbgnq4p9h8nvn6p72d2fpcn846zzb99s213421jnry")))) + (properties `((upstream-name . "ontologyIndex"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/ontologyIndex") + (synopsis "Functions for processing ontologies in R") + (description + "This package provides functions for reading ontologies into R as lists +and manipulating sets of ontological terms.") + (license license:gpl2+))) + +(define-public r-bigrquery + (package + (name "r-bigrquery") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "bigrquery" version)) + (sha256 + (base32 + "0z7wsqxla1pg2454l35kkfaz2s9hppwvpz1pds286ddldbbmyzis")))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertthat" ,r-assertthat) + ("r-curl" ,r-curl) + ("r-dbi" ,r-dbi) + ("r-glue" ,r-glue) + ("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite) + ("r-prettyunits" ,r-prettyunits) + ("r-progress" ,r-progress) + ("r-rapidjsonr" ,r-rapidjsonr) + ("r-rcpp" ,r-rcpp) + ("r-tibble" ,r-tibble))) + (home-page "https://github.com/rstats-db/bigrquery") + (synopsis "R interface to Google's BigQuery API") + (description + "This package provides an R interface to Google's BigQuery database.") + (license license:gpl3))) + +(define-public r-gmp + (package + (name "r-gmp") + (version "0.5-13.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "gmp" version)) + (sha256 + (base32 + "1xd6jjra4niqv1kps91y348lwgvy73p2faxaia4gfzdnrpw7wsxf")))) + (build-system r-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-CC + (lambda _ (setenv "CC" "gcc") #t))))) + (inputs `(("gmp" ,gmp))) + (home-page "https://cran.r-project.org/web/packages/gmp") + (synopsis "Multiple precision arithmetic") + (description + "This package supports multiple precision arithmetic (big integers and +rationals, prime number tests, matrix computation), \"arithmetic without +limitations\" using the GNU Multiple Precision library.") + ;; Any version of the GPL. + (license license:gpl3+))) + +(define-public r-rmpfr + (package + (name "r-rmpfr") + (version "0.7-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "Rmpfr" version)) + (sha256 + (base32 + "0172px5ryi7i0gyyin9z2bzif8vnj292gk0s1w5p3c12g9hj2c4v")))) + (properties `((upstream-name . "Rmpfr"))) + (build-system r-build-system) + (inputs + `(("mpfr" ,mpfr))) + (propagated-inputs + `(("r-gmp" ,r-gmp))) + (home-page "http://rmpfr.r-forge.r-project.org/") + (synopsis "R bindings to the MPFR library") + (description + "This package supports arithmetic (via S4 classes and methods) for +arbitrary precision floating point numbers, including transcendental +functions. To this end, the package interfaces with the @dfn{Multiple +Precision Floating-Point Reliable} (MPFR) library.") + (license license:gpl2+))) + +(define-public r-assertive-base + (package + (name "r-assertive-base") + (version "0.0-7") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.base" version)) + (sha256 + (base32 + "1xs3ysvj0z57c58jw57pckq2rynia6ks4rmjmc02alczhk54wbgh")))) + (properties + `((upstream-name . "assertive.base"))) + (build-system r-build-system) + (home-page "https://bitbucket.org/richierocks/assertive.base") + (synopsis "Core of the assertive package") + (description + "This package provides a minimal set of predicates and assertions used by +the assertive package. This is mainly for use by other package developers who +want to include run-time testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-properties + (package + (name "r-assertive-properties") + (version "0.0-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.properties" version)) + (sha256 + (base32 + "0sqs54acs9qk9kvm32rxzfbzxz1l8mjahpfnw7r30z2brgz661jw")))) + (properties + `((upstream-name . "assertive.properties"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base))) + (home-page "https://bitbucket.org/richierocks/assertive.properties") + (synopsis "Assertions to check properties of variables") + (description + "This package provides a set of predicates and assertions for checking +the properties of variables, such as length, names and attributes. This is +mainly for use by other package developers who want to include run-time +testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-numbers + (package + (name "r-assertive-numbers") + (version "0.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.numbers" version)) + (sha256 + (base32 + "0jc3ss64j4m7bjydhagwwmka5n7c72vpw4kfcch0m5jvkq5qrqds")))) + (properties + `((upstream-name . "assertive.numbers"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base))) + (home-page "https://bitbucket.org/richierocks/assertive.numbers") + (synopsis "Assertions to check properties of numbers") + (description + "This package provides a set of predicates and assertions for checking +the properties of numbers. This is mainly for use by other package developers +who want to include run-time testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-sets + (package + (name "r-assertive-sets") + (version "0.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.sets" version)) + (sha256 + (base32 + "1cqvh2syvh5b6d85h601zjmsdbbf3h8q98ids4dfl4frdshpasc7")))) + (properties + `((upstream-name . "assertive.sets"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base))) + (home-page "https://bitbucket.org/richierocks/assertive.sets") + (synopsis "Assertions to check properties of sets") + (description + "This package provides a set of predicates and assertions for checking +the properties of sets. This is mainly for use by other package developers +who want to include run-time testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-matrices + (package + (name "r-assertive-matrices") + (version "0.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.matrices" version)) + (sha256 + (base32 + "16sykzcndv6y2d43x6v9n7m95kv76364h39kh10w4z0xw6ksfqil")))) + (properties + `((upstream-name . "assertive.matrices"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base))) + (home-page "https://bitbucket.org/richierocks/assertive.matrices") + (synopsis "Assertions to check properties of matrices") + (description + "This package provides a set of predicates and assertions for checking +the properties of matrices. This is mainly for use by other package +developers who want to include run-time testing features in their own +packages.") + (license license:gpl3+))) + +(define-public r-assertive-models + (package + (name "r-assertive-models") + (version "0.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.models" version)) + (sha256 + (base32 + "0bn4j4v5qvb2d672cgri61p8d9v258pmz35y3lvm6b9mdxwdi9mr")))) + (properties + `((upstream-name . "assertive.models"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base))) + (home-page "https://bitbucket.org/richierocks/assertive.models") + (synopsis "Assertions to check properties of models") + (description + "This package provides a set of predicates and assertions for checking +the properties of models. This is mainly for use by other package developers +who want to include run-time testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-reflection + (package + (name "r-assertive-reflection") + (version "0.0-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.reflection" version)) + (sha256 + (base32 + "19zmsbn00crfqm0kwd9ys5gv87xs3gi6wmlikrz9xiwzm7hp4dhj")))) + (properties + `((upstream-name . "assertive.reflection"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base))) + (home-page "https://bitbucket.org/richierocks/assertive.reflection") + (synopsis "Assertions for checking the state of R") + (description + "This package provides a set of predicates and assertions for checking +the state and capabilities of R, the operating system it is running on, and +the IDE being used. This is mainly for use by other package developers who +want to include run-time testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-types + (package + (name "r-assertive-types") + (version "0.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.types" version)) + (sha256 + (base32 + "0zxq1jfrzgw95ll7alvm0xnk7aihjdksngq4ya2whyvfjbmv4vdb")))) + (properties + `((upstream-name . "assertive.types"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-properties" ,r-assertive-properties) + ("r-codetools" ,r-codetools))) + (home-page "https://bitbucket.org/richierocks/assertive.types") + (synopsis "Assertions to check types of variables") + (description + "This package provides a set of predicates and assertions for checking +the types of variables. This is mainly for use by other package developers +who want to include run-time testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-files + (package + (name "r-assertive-files") + (version "0.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.files" version)) + (sha256 + (base32 + "02pfz8j5vwcj5kl6zca46894li7lxwnlrr29j922f14ay6kdssmy")))) + (properties + `((upstream-name . "assertive.files"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-numbers" ,r-assertive-numbers))) + (home-page "https://bitbucket.org/richierocks/assertive.files") + (synopsis "Assertions to check properties of files") + (description + "This package provides a set of predicates and assertions for checking +the properties of files and connections. This is mainly for use by other +package developers who want to include run-time testing features in their own +packages.") + (license license:gpl3+))) + +(define-public r-assertive-code + (package + (name "r-assertive-code") + (version "0.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.code" version)) + (sha256 + (base32 + "1qhbp668zfvhqs8avkhg9amp4zyazz6dsy4fc6kpdmw3sv8yi07g")))) + (properties + `((upstream-name . "assertive.code"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-properties" ,r-assertive-properties) + ("r-assertive-types" ,r-assertive-types))) + (home-page "https://bitbucket.org/richierocks/assertive.code") + (synopsis "Assertions to check properties of code") + (description + "This package provides a set of predicates and assertions for checking +the properties of code. This is mainly for use by other package developers +who want to include run-time testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-datetimes + (package + (name "r-assertive-datetimes") + (version "0.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.datetimes" version)) + (sha256 + (base32 + "00a98fx8p3pr3ckayh8wmxmm4rz01s67wah9697m92yci6pv3m78")))) + (properties + `((upstream-name . "assertive.datetimes"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-types" ,r-assertive-types))) + (home-page "https://bitbucket.org/richierocks/assertive.datetimes") + (synopsis "Assertions to check properties of dates and times") + (description + "This package provides a set of predicates and assertions for checking +the properties of dates and times. This is mainly for use by other package +developers who want to include run-time testing features in their own +packages.") + (license license:gpl3+))) + +(define-public r-assertive-strings + (package + (name "r-assertive-strings") + (version "0.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.strings" version)) + (sha256 + (base32 + "0n6jrk88670g4ym0r8ii40a08a90z1xadj8wcryk8h0nl04dchfm")))) + (properties + `((upstream-name . "assertive.strings"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-types" ,r-assertive-types) + ("r-stringi" ,r-stringi))) + (home-page "https://bitbucket.org/richierocks/assertive.strings") + (synopsis "Assertions to check properties of strings") + (description + "This package provides a set of predicates and assertions for checking +the properties of strings. This is mainly for use by other package developers +who want to include run-time testing features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-data-us + (package + (name "r-assertive-data-us") + (version "0.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.data.us" version)) + (sha256 + (base32 + "1bgspn0sccmp9z7s7djvdvprgxlyc5vrxznp4zfjb79kwvgn83hq")))) + (properties + `((upstream-name . "assertive.data.us"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-strings" ,r-assertive-strings))) + (home-page "https://bitbucket.org/richierocks/assertive.data.us") + (synopsis "Assertions to check properties of strings") + (description + "This package provides a set of predicates and assertions for checking +the properties of US-specific complex data types. This is mainly for use by +other package developers who want to include run-time testing features in +their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-data-uk + (package + (name "r-assertive-data-uk") + (version "0.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.data.uk" version)) + (sha256 + (base32 + "1fzjvhwp7mwkqqix29khvs6zcrc82n6j4czvzzb473vyjyvdlj5b")))) + (properties + `((upstream-name . "assertive.data.uk"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-strings" ,r-assertive-strings))) + (home-page "https://bitbucket.org/richierocks/assertive.data.uk") + (synopsis "Assertions to check properties of strings") + (description + "This package provides a set of predicates and assertions for checking +the properties of UK-specific complex data types. This is mainly for use by +other package developers who want to include run-time testing features in +their own packages.") + (license license:gpl3+))) + +(define-public r-assertive-data + (package + (name "r-assertive-data") + (version "0.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive.data" version)) + (sha256 + (base32 + "00cvg2g36mdl8plrzx40m63qd55742mddqrchwy9n3c7mm4gn02s")))) + (properties + `((upstream-name . "assertive.data"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-strings" ,r-assertive-strings))) + (home-page "https://bitbucket.org/richierocks/assertive.data") + (synopsis "Assertions to check properties of data") + (description + "This package provides a set of predicates and assertions for checking +the properties of (country independent) complex data types. This is mainly +for use by other package developers who want to include run-time testing +features in their own packages.") + (license license:gpl3+))) + +(define-public r-assertive + (package + (name "r-assertive") + (version "0.3-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "assertive" version)) + (sha256 + (base32 + "0blbbhlxcb5ffdxqxi62xs33ljiawh6s22a0pyvbbh79jf46rzr3")))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertive-base" ,r-assertive-base) + ("r-assertive-code" ,r-assertive-code) + ("r-assertive-data" ,r-assertive-data) + ("r-assertive-data-uk" ,r-assertive-data-uk) + ("r-assertive-data-us" ,r-assertive-data-us) + ("r-assertive-datetimes" ,r-assertive-datetimes) + ("r-assertive-files" ,r-assertive-files) + ("r-assertive-matrices" ,r-assertive-matrices) + ("r-assertive-models" ,r-assertive-models) + ("r-assertive-numbers" ,r-assertive-numbers) + ("r-assertive-properties" ,r-assertive-properties) + ("r-assertive-reflection" ,r-assertive-reflection) + ("r-assertive-sets" ,r-assertive-sets) + ("r-assertive-strings" ,r-assertive-strings) + ("r-assertive-types" ,r-assertive-types) + ("r-knitr" ,r-knitr))) + (home-page "https://bitbucket.org/richierocks/assertive") + (synopsis "Readable check functions to ensure code integrity") + (description + "This package provides lots of predicates (@code{is_*} functions) to +check the state of your variables, and assertions (@code{assert_*} functions) +to throw errors if they aren't in the right form.") + (license license:gpl3+))) + +(define-public r-dotcall64 + (package + (name "r-dotcall64") + (version "1.0-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "dotCall64" version)) + (sha256 + (base32 + "1b8p7m3w0m7bp977c6jz74xkd611cxg11j49yza59k5fp338scb9")))) + (properties `((upstream-name . "dotCall64"))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "https://git.math.uzh.ch/reinhard.furrer/dotCall64") + (synopsis "Enhanced foreign function interface supporting long vectors") + (description + "This package provides @code{.C64()}, an enhanced version of @code{.C()} +and @code{.Fortran()} from the R foreign function interface. @code{.C64()} +supports long vectors, arguments of type 64-bit integer, and provides a +mechanism to avoid unnecessary copies of read-only and write-only arguments. +This makes it a convenient and fast interface to C/C++ and Fortran code.") + (license license:gpl2+))) + +(define-public r-spam + (package + (name "r-spam") + (version "2.2-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "spam" version)) + (sha256 + (base32 + "04bfwwna013hrbl4k6w1cdiz5bkc83jlasivriyn5l9gkj2qskr2")))) + (build-system r-build-system) + (propagated-inputs + `(("r-dotcall64" ,r-dotcall64))) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "https://www.math.uzh.ch/pages/spam/") + (synopsis "Sparse matrix algebra") + (description + "This package provides a set of functions for sparse matrix algebra. +Differences with other sparse matrix packages are: + +@enumerate +@item it only supports (essentially) one sparse matrix format; +@item it is based on transparent and simple structure(s); +@item it is tailored for MCMC calculations within G(M)RF; +@item and it is fast and scalable (with the extension package @code{spam64}). +@end enumerate\n") + ;; Either of these licenses + (license (list license:bsd-3 license:lgpl2.0)))) + +(define-public r-fields + (package + (name "r-fields") + (version "9.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "fields" version)) + (sha256 + (base32 + "1v7z48a8jmdcil28rj8c3455k6rssr5v9qi6dyhhpbb193bj8121")))) + (build-system r-build-system) + (propagated-inputs + `(("r-maps" ,r-maps) + ("r-spam" ,r-spam))) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "http://www.image.ucar.edu/fields") + (synopsis "Tools for spatial data") + (description + "This is a package for curve, surface and function fitting with an +emphasis on splines, spatial data and spatial statistics. The major methods +include cubic, and thin plate splines, Kriging, and compactly supported +covariance functions for large data sets.") + (license license:gpl2+))) + +(define-public r-spatialextremes + (package + (name "r-spatialextremes") + (version "2.0-7") + (source + (origin + (method url-fetch) + (uri (cran-uri "SpatialExtremes" version)) + (sha256 + (base32 + "1y0h1pcfqp9ynxsr3yrfbihlwm25ypyb88jmm5k2g7xvm8h9g050")))) + (properties + `((upstream-name . "SpatialExtremes"))) + (build-system r-build-system) + (propagated-inputs + `(("r-fields" ,r-fields) + ("r-maps" ,r-maps))) + (home-page "http://spatialextremes.r-forge.r-project.org/") + (synopsis "Modelling spatial extremes") + (description + "This package provides tools for the statistical modelling of spatial +extremes using max-stable processes, copula or Bayesian hierarchical models. +More precisely, this package allows (conditional) simulations from various +parametric max-stable models, analysis of the extremal spatial dependence, the +fitting of such processes using composite likelihoods or least square (simple +max-stable processes only), model checking and selection and prediction.") + (license license:gpl2+))) + +(define-public r-drc + (package + (name "r-drc") + (version "3.0-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "drc" version)) + (sha256 + (base32 + "0c8xn8ripzq270hy8d16fcnx02l02alddznd7fqwk3jyi6113h1y")))) + (build-system r-build-system) + (propagated-inputs + `(("r-car" ,r-car) + ("r-gtools" ,r-gtools) + ("r-mass" ,r-mass) + ("r-multcomp" ,r-multcomp) + ("r-plotrix" ,r-plotrix) + ("r-scales" ,r-scales))) + (home-page "https://cran.r-project.org/web/packages/drc") + (synopsis "Analysis of dose-response curves") + (description + "This package provides a suite of flexible and versatile model fitting +and after-fitting functions for the analysis of dose-response data.") + (license license:gpl2+))) + +(define-public r-rmeta + (package + (name "r-rmeta") + (version "3.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "rmeta" version)) + (sha256 + (base32 + "0vkbnxp579v8zmcv1isdbzj5swpr6fq17zwparxcvzswjc2x9ydr")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/rmeta") + (synopsis "Tools for meta-analysis") + (description + "This package provides functions for simple fixed and random effects +meta-analysis for two-sample comparisons and cumulative meta-analyses. It +draws standard summary plots, funnel plots, and computes summaries and tests +for association and heterogeneity.") + (license license:gpl2))) + +(define-public r-bootstrap + (package + (name "r-bootstrap") + (version "2017.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "bootstrap" version)) + (sha256 + (base32 + "08lmsy7k8wsgv89yc904c6fidcymr1ma2ry4fl0p69p21v4iiwa4")))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/web/packages/bootstrap") + (synopsis "Functions for the book \"An Introduction to the Bootstrap\"") + (description + "This package provides software and data for the book \"An Introduction +to the Bootstrap\" by B. Efron and R. Tibshirani, 1993, Chapman and Hall. +This package is primarily provided for projects already based on it, and for +support of the book. New projects should preferentially use the recommended +package \"boot\".") + (license license:bsd-3))) + +(define-public r-survivalroc + (package + (name "r-survivalroc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "survivalROC" version)) + (sha256 + (base32 + "0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l")))) + (properties `((upstream-name . "survivalROC"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/survivalROC") + (synopsis "Time-dependent ROC curve estimation from censored survival data") + (description + "Compute time-dependent ROC curve from censored survival data using +Kaplan-Meier (KM) or Nearest Neighbor Estimation (NNE) method of Heagerty, +Lumley & Pepe (Biometrics, Vol 56 No 2, 2000, PP 337-344)") + (license license:gpl2+))) + +(define-public r-longitudinal + (package + (name "r-longitudinal") + (version "1.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "longitudinal" version)) + (sha256 + (base32 + "1d83ws28nxi3kw5lgd5n5y7865djq7ky72fw3ddi1fkkhg1r9y6l")))) + (build-system r-build-system) + (propagated-inputs `(("r-corpcor" ,r-corpcor))) + (home-page "http://strimmerlab.org/software/longitudinal/") + (synopsis "Analysis of multiple time course data") + (description + "This package contains general data structures and functions for +longitudinal data with multiple variables, repeated measurements, and +irregularly spaced time points. It also implements a shrinkage estimator of +dynamical correlation and dynamical covariance.") + (license license:gpl3+))) + +(define-public r-genenet + (package + (name "r-genenet") + (version "1.2.13") + (source + (origin + (method url-fetch) + (uri (cran-uri "GeneNet" version)) + (sha256 + (base32 + "0w52apk0nnr8nsskf26ff7ana8xiksr8wqmkjxzwhzgg7fncm61p")))) + (properties `((upstream-name . "GeneNet"))) + (build-system r-build-system) + (propagated-inputs + `(("r-corpcor" ,r-corpcor) + ("r-fdrtool" ,r-fdrtool) + ("r-longitudinal" ,r-longitudinal))) + (home-page "http://strimmerlab.org/software/genenet/") + (synopsis "Modeling and inferring gene networks") + (description + "This package analyzes gene expression (time series) data with focus on +the inference of gene networks. In particular, GeneNet implements the methods +of Schaefer and Strimmer (2005a,b,c) and Opgen-Rhein and Strimmer (2006, 2007) +for learning large-scale gene association networks (including assignment of +putative directions).") + (license license:gpl3+))) + +(define-public r-rbamtools + (package + (name "r-rbamtools") + (version "2.16.11.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "rbamtools" version)) + (sha256 + (base32 + "0gzkb1xyrkriv45wq8gv7qfwjslnvwkfkk5jjc4wg5kmm0ydpdzj")))) + (build-system r-build-system) + (inputs `(("zlib" ,zlib))) + (propagated-inputs + `(("r-refgenome" ,r-refgenome))) + (home-page "https://cran.r-project.org/web/packages/rbamtools") + (synopsis "Read and write BAM (binary alignment) files") + (description + "This package provides an R interface to functions of the SAMtools +library.") + (license license:artistic2.0))) + +(define-public r-protviz + (package + (name "r-protviz") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "protViz" version)) + (sha256 + (base32 + "150i2q4nakz28f39kmhrchz4qsr8ax6y02512md94k8hq4hamxg1")))) + (properties `((upstream-name . "protViz"))) + (build-system r-build-system) + (inputs + `(("perl" ,perl) + ("python-2" ,python-2))) + (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/protViz/protViz/") + (synopsis "Visualizing and analyzing mass spectrometry data in proteomics") + (description + "This package helps with quality checks, visualizations and analysis of +mass spectrometry data, coming from proteomics experiments. The package is +developed, tested and used at the Functional Genomics Center Zurich, where it +is used mainly for prototyping, teaching, and having fun with proteomics data. +But it can also be used to do data analysis for small scale data sets.") + (license license:gpl3))) + +(define-public r-cmprsk + (package + (name "r-cmprsk") + (version "2.2-7") + (source + (origin + (method url-fetch) + (uri (cran-uri "cmprsk" version)) + (sha256 + (base32 + "1imr3wpnj4g57n2x4ryahl4lk8lvq9y2r7319zv3k82mznha8bcm")))) + (build-system r-build-system) + (propagated-inputs + `(("r-survival" ,r-survival))) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/web/packages/cmprsk") + (synopsis "Subdistribution analysis of competing risks") + (description + "This package provides tool for estimation, testing and regression +modeling of subdistribution functions in competing risks, as described in +Gray (1988), A class of K-sample tests for comparing the cumulative incidence +of a competing risk, Ann. Stat. 16:1141-1154, and Fine JP and Gray RJ (1999), +A proportional hazards model for the subdistribution of a competing risk, +JASA, 94:496-509.") + (license license:gpl2+))) + +(define-public r-etm + (package + (name "r-etm") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "etm" version)) + (sha256 + (base32 + "0ws103b3pmli0z4xbyfxkly2wnnnxnnwc0r66qjjqjrlvm7pffl1")))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-lattice" ,r-lattice) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-survival" ,r-survival))) + (home-page "https://cran.r-project.org/web/packages/etm") + (synopsis "Empirical transition matrix") + (description + "The @dfn{empirical transition matrix} (etm) package permits to estimate +the matrix of transition probabilities for any time-inhomogeneous multistate +model with finite state space using the Aalen-Johansen estimator.") + (license license:expat))) + +(define-public r-epi + (package + (name "r-epi") + (version "2.32") + (source + (origin + (method url-fetch) + (uri (cran-uri "Epi" version)) + (sha256 + (base32 + "14n24xlm7pwdc54w2hlpjhfal1zpzm87rv3rjfckiz47d3w7dwqm")))) + (properties `((upstream-name . "Epi"))) + (build-system r-build-system) + (propagated-inputs + `(("r-cmprsk" ,r-cmprsk) + ("r-data-table" ,r-data-table) + ("r-etm" ,r-etm) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-mgcv" ,r-mgcv) + ("r-numderiv" ,r-numderiv) + ("r-plyr" ,r-plyr) + ("r-survival" ,r-survival) + ("r-zoo" ,r-zoo))) + (home-page "http://BendixCarstensen.com/Epi/") + (synopsis "Statistical analysis in epidemiology") + (description + "This package provides functions for demographic and epidemiological +analysis in the Lexis diagram, i.e. register and cohort follow-up data, in +particular representation, manipulation and simulation of multistate data - +the Lexis suite of functions, which includes interfaces to the @code{mstate}, +@code{etm} and @code{cmprsk} packages. It also contains functions for +Age-Period-Cohort and Lee-Carter modeling and a function for interval censored +data and some useful functions for tabulation and plotting, as well as a +number of epidemiological data sets.") + (license license:gpl2))) + +(define-public r-ppls + (package + (name "r-ppls") + (version "1.6-1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ppls" version)) + (sha256 + (base32 + "1zyrisy3c4cz896j1bjh61sf57wdl9p8ywdq268cl819szfq78mx")))) + (build-system r-build-system) + (propagated-inputs `(("r-mass" ,r-mass))) + (home-page "https://cran.r-project.org/web/packages/ppls") + (synopsis "Penalized partial least squares") + (description + "This package contains linear and nonlinear regression methods based on +partial least squares and penalization techniques. Model parameters are +selected via cross-validation, and confidence intervals ans tests for the +regression coefficients can be conducted via jackknifing.") + (license license:gpl2+))) + +(define-public r-huge + (package + (name "r-huge") + (version "1.2.7") + (source + (origin + (method url-fetch) + (uri (cran-uri "huge" version)) + (sha256 + (base32 + "134d951x42vy9dcmf155fbvik2934nh6qm2w5jlx3x2c6cf7faq4")))) + (build-system r-build-system) + (propagated-inputs + `(("r-igraph" ,r-igraph) + ("r-lattice" ,r-lattice) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix))) + (home-page "https://cran.r-project.org/web/packages/huge") + (synopsis "High-dimensional undirected graph estimation") + (description + "This package provides a general framework for high-dimensional +undirected graph estimation. It integrates data preprocessing, neighborhood +screening, graph estimation, and model selection techniques into a pipeline.") + (license license:gpl2))) + +(define-public r-parcor + (package + (name "r-parcor") + (version "0.2-6") + (source + (origin + (method url-fetch) + (uri (cran-uri "parcor" version)) + (sha256 + (base32 + "0vgs6k92vdr0cmb8cwbv2ff6qavw30agskfd8bfh17hsskrisvx0")))) + (build-system r-build-system) + (propagated-inputs + `(("r-epi" ,r-epi) + ("r-genenet" ,r-genenet) + ("r-glmnet" ,r-glmnet) + ("r-mass" ,r-mass) + ("r-ppls" ,r-ppls))) + (home-page "https://cran.r-project.org/web/packages/parcor") + (synopsis "Regularized estimation of partial correlation matrices") + (description + "This package estimates the matrix of partial correlations based on +different regularized regression methods: lasso, adaptive lasso, PLS, and +Ridge Regression. In addition, the package provides model selection for +lasso, adaptive lasso and Ridge regression based on cross-validation.") + (license license:gpl2+))) + +(define-public r-mcmc + (package + (name "r-mcmc") + (version "0.9-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "mcmc" version)) + (sha256 + (base32 + "1i3rahph8pbhi5dsyjnkazqklg4lhh3azlyvx4kvabx50q0awxn6")))) + (build-system r-build-system) + (home-page "http://www.stat.umn.edu/geyer/mcmc/") + (synopsis "Markov chain Monte Carlo") + (description + "This package simulates continuous distributions of random vectors using +@dfn{Markov chain Monte Carlo} (MCMC). Users specify the distribution by an R +function that evaluates the log unnormalized density. Algorithms are random +walk Metropolis algorithm (function @code{metrop}), simulated +tempering (function @code{temper}), and morphometric random walk +Metropolis (function @code{morph.metrop}), which achieves geometric ergodicity +by change of variable.") + (license license:expat))) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index e8062f0e1f..0a507aead6 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -11,6 +11,8 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> +;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,7 +73,7 @@ (define-public libsodium (package (name "libsodium") - (version "1.0.16") + (version "1.0.17") (source (origin (method url-fetch) (uri (list (string-append @@ -82,7 +84,7 @@ "releases/old/libsodium-" version ".tar.gz"))) (sha256 (base32 - "0cq5pn7qcib7q70mm1lgjwj75xdxix27v0xl1xl0kvxww7hwgbgf")))) + "1cf2d9v1gylz1qcy2zappbf526qfmph6gd6fnn3w2b347vixmhqc")))) (build-system gnu-build-system) (synopsis "Portable NaCl-based crypto library") (description @@ -164,53 +166,6 @@ OpenBSD tool of the same name.") "See base64.c in the distribution for the license from IBM."))))) -(define-public opendht - (package - (name "opendht") - (version "0.6.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/savoirfairelinux/opendht.git") - (commit version))) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file-recursively "src/argon2") - (substitute* "src/Makefile.am" - (("./argon2/libargon2.la") "") - (("SUBDIRS = argon2") "")) - (substitute* "src/crypto.cpp" - (("argon2/argon2.h") "argon2.h")) - (substitute* "configure.ac" - (("src/argon2/Makefile") "")) - #t)) - (sha256 - (base32 - "1akk613f18rc8kqs0cxdm34iq7wwc9kffhgp5rng09arwlw8gw3w")))) - (build-system gnu-build-system) - (inputs - `(("gnutls" ,gnutls) - ("nettle" ,nettle) - ("readline" ,readline) - ("argon2" ,argon2))) - (propagated-inputs - `(("msgpack" ,msgpack))) ;included in several installed headers - (native-inputs - `(("autoconf" ,autoconf) - ("pkg-config" ,pkg-config) - ("automake" ,automake) - ("libtool" ,libtool))) - (arguments - `(#:configure-flags '("--disable-tools" "--disable-python"))) - (home-page "https://github.com/savoirfairelinux/opendht/") - (synopsis "Distributed Hash Table (DHT) library") - (description "OpenDHT is a Distributed Hash Table (DHT) library. It may -be used to manage peer-to-peer network connections as needed for real time -communication.") - (license license:gpl3))) - (define-public encfs (package (name "encfs") @@ -632,7 +587,7 @@ data on your platform, so the seed itself will be as random as possible. (define-public crypto++ (package (name "crypto++") - (version "6.0.0") + (version "8.0.0") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://cryptopp.com/cryptopp" @@ -640,11 +595,14 @@ data on your platform, so the seed itself will be as random as possible. ".zip")) (sha256 (base32 - "1nidm6xbdza5cbgf5md2zznmaq692rfyjasycwipl6rzdfwjvb34")))) + "0b5qrsm4jhy4nzxgrm13nixhvbswr242plx1jw6r4sw492rqkzdv")))) (build-system gnu-build-system) (arguments `(#:make-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + ;; Override "/sbin/ldconfig" with simply "echo" since + ;; we don't need ldconfig(8). + "LDCONF=echo") #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-native-optimisation @@ -654,7 +612,28 @@ data on your platform, so the seed itself will be as random as possible. (substitute* "GNUmakefile" ((" -march=native") "")) #t)) - (delete 'configure)))) + (delete 'configure) + (add-after 'build 'build-shared + (lambda _ + ;; By default, only the static library is built. + (invoke "make" "shared"))) + (add-after 'install 'install-pkg-config + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pkg-dir (string-append out "/lib/pkgconfig"))) + (mkdir-p pkg-dir) + (with-output-to-file (string-append pkg-dir "/libcrypto++.pc") + (lambda _ + (display + (string-append + "prefix=" out "\n" + "libdir=" out "/lib\n" + "includedir=" out "/include\n\n" + "Name: libcrypto++-" ,version "\n" + "Description: Class library of cryptographic schemes" + "Version: " ,version "\n" + "Libs: -L${libdir} -lcryptopp\n" + "Cflags: -I${includedir}\n")))))))))) (native-inputs `(("unzip" ,unzip))) (home-page "https://cryptopp.com/") @@ -881,3 +860,44 @@ GnuPG or encrypted filesystems. Enchive has no external dependencies and is trivial to build for local use. Portability is emphasized over performance.") (home-page "https://github.com/skeeto/enchive") (license license:unlicense))) + +(define-public libsecp256k1 + (let ((commit "e34ceb333b1c0e6f4115ecbb80c632ac1042fa49")) + (package + (name "libsecp256k1") + (version (git-version "20181126" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bitcoin-core/secp256k1") + (commit commit))) + (sha256 + (base32 + "0as78s179hcr3ysk3fw98k5wzabgnwri7vkkc17wg31lyz6ids6c")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + ;; WARNING: This package might need additional configure flags to run properly. + ;; See https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/libsecp256k1. + (synopsis "C library for EC operations on curve secp256k1") + (description + "Optimized C library for EC operations on curve secp256k1. + +This library is a work in progress and is being used to research best +practices. Use at your own risk. + +Features: + +@itemize +@item secp256k1 ECDSA signing/verification and key generation. +@item Adding/multiplying private/public keys. +@item Serialization/parsing of private keys, public keys, signatures. +@item Constant time, constant memory access signing and pubkey generation. +@item Derandomized DSA (via RFC6979 or with a caller provided function.) +@item Very efficient implementation. +@end itemize\n") + (home-page "https://github.com/bitcoin-core/secp256k1") + (license license:unlicense)))) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index ea2e65a588..63570bfd48 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -37,13 +37,13 @@ (define-public python-django (package (name "python-django") - (version "1.11.17") + (version "1.11.18") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "10xlpm21ll8mgz5py41sz9vrd603qv7an736agbqxkxlyikfx1x7")))) + "19b6f020als9hr4q1im5282yn2b1hzf586n9kjrlkrslq7da3k3k")))) (build-system python-build-system) (arguments '(#:modules ((srfi srfi-1) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 2ebc3d8dad..09f0194bf7 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -106,7 +106,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.12.2-P2") + (version "9.12.3-P1") (source (origin (method url-fetch) (uri (string-append @@ -114,7 +114,7 @@ and BOOTP/TFTP for network booting of diskless machines.") version ".tar.gz")) (sha256 (base32 - "0gk9vwqlbdmn10m21f2awvmiccfbadvcwi8zsgm91awbx4k7h0l7")))) + "0wzdbn6ig851354cjdys5q3gvqcvl2gmmih1gzr8ldl7sy4r7dvc")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index d928c4e61e..23695a0c06 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -23,17 +23,25 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system python) #:use-module (guix utils) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages glib) #:use-module (gnu packages golang) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-web) + #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization)) +(define %docker-version "18.09.0") + (define-public python-docker-py (package (name "python-docker-py") @@ -188,6 +196,11 @@ Python without keeping their credentials in a Docker configuration file.") (string-append "DefaultCommand = \"" (assoc-ref inputs "runc") "/sbin/runc\"\n"))) + (substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go" + (("exec\\.Command\\(\"losetup\"") ; ) + (string-append "exec.Command(\"" + (assoc-ref inputs "util-linux") + "/sbin/losetup\""))) ;) #t)) (replace 'build (lambda* (#:key (make-flags '()) #:allow-other-keys) @@ -200,7 +213,8 @@ Python without keeping their credentials in a Docker configuration file.") (inputs `(("btrfs-progs" ,btrfs-progs) ("libseccomp" ,libseccomp) - ("runc" ,runc))) + ("runc" ,runc) + ("util-linux" ,util-linux))) (native-inputs `(("go" ,go) ("pkg-config" ,pkg-config))) @@ -210,3 +224,307 @@ It includes image transfer and storage, container execution and supervision, network attachments.") (home-page "http://containerd.io/") (license license:asl2.0))) + +(define-public docker + (package + (name "docker") + (version %docker-version) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/engine.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1liqbx58grqih6m8hz9y20y5waflv19pv15l3wl64skap2bsn21c")) + (patches + (search-patches "docker-engine-test-noinstall.patch" + "docker-fix-tests.patch")))) + (build-system gnu-build-system) + (arguments + `(#:modules + ((guix build gnu-build-system) + ((guix build go-build-system) #:prefix go:) + (guix build utils)) + #:imported-modules + (,@%gnu-build-system-modules + (guix build go-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "builder/builder-next/executor_unix.go" + (("CommandCandidates:.*runc.*") + (string-append "CommandCandidates: []string{\"" + (assoc-ref inputs "runc") + "/sbin/runc\"},\n"))) + (substitute* "vendor/github.com/containerd/go-runc/runc.go" + (("DefaultCommand = .*") + (string-append "DefaultCommand = \"" + (assoc-ref inputs "runc") + "/sbin/runc\"\n"))) + (substitute* "vendor/github.com/containerd/containerd/runtime/v1/linux/runtime.go" + (("defaultRuntime[ \t]*=.*") + (string-append "defaultRuntime = \"" + (assoc-ref inputs "runc") + "/sbin/runc\"\n")) + (("defaultShim[ \t]*=.*") + (string-append "defaultShim = \"" + (assoc-ref inputs "containerd") + "/bin/containerd-shim\"\n"))) + (substitute* "daemon/daemon_unix.go" + (("DefaultShimBinary = .*") + (string-append "DefaultShimBinary = \"" + (assoc-ref inputs "containerd") + "/bin/containerd-shim\"\n")) + (("DefaultRuntimeBinary = .*") + (string-append "DefaultRuntimeBinary = \"" + (assoc-ref inputs "runc") + "/sbin/runc\"\n")) + (("DefaultRuntimeName = .*") + (string-append "DefaultRuntimeName = \"" + (assoc-ref inputs "runc") + "/sbin/runc\"\n"))) + (substitute* "daemon/config/config.go" + (("StockRuntimeName = .*") + (string-append "StockRuntimeName = \"" + (assoc-ref inputs "runc") + "/sbin/runc\"\n"))) + (substitute* "vendor/github.com/moby/buildkit/executor/runcexecutor/executor.go" + (("var defaultCommandCandidates = .*") + (string-append "var defaultCommandCandidates = []string{\"" + (assoc-ref inputs "runc") "/sbin/runc\"}"))) + (let ((source-files (filter (lambda (name) + (not (string-contains name "test"))) + (find-files "." "\\.go$")))) + (let-syntax ((substitute-LookPath + (lambda (x) + (syntax-case x () + ((substitute-LookPath source-text package + relative-path) + #`(substitute* source-files + ((#,(string-append "exec\\.LookPath\\(\"" + (syntax->datum + #'source-text) + "\")")) + (string-append "\"" + (assoc-ref inputs package) + relative-path + "\", error(nil)"))))))) + (substitute-Command + (lambda (x) + (syntax-case x () + ((substitute-LookPath source-text package + relative-path) + #`(substitute* source-files + ((#,(string-append "exec\\.Command\\(\"" + (syntax->datum + #'source-text) + "\"")) ; ) + (string-append "exec.Command(\"" + (assoc-ref inputs package) + relative-path + "\"")))))))) ; ) + (substitute-LookPath "ps" "procps" "/bin/ps") + (substitute-LookPath "mkfs.xfs" "xfsprogs" "/bin/mkfs.xfs") + (substitute-LookPath "lvmdiskscan" "lvm2" "/sbin/lvmdiskscan") + (substitute-LookPath "pvdisplay" "lvm2" "/sbin/pvdisplay") + (substitute-LookPath "blkid" "util-linux" "/sbin/blkid") + (substitute-LookPath "unpigz" "pigz" "/bin/unpigz") + (substitute-LookPath "iptables" "iptables" "/sbin/iptables") + (substitute-LookPath "ip" "iproute2" "/sbin/ip") + (substitute-Command "modprobe" "kmod" "/bin/modprobe") + (substitute-Command "pvcreate" "lvm2" "/sbin/pvcreate") + (substitute-Command "vgcreate" "lvm2" "/sbin/vgcreate") + (substitute-Command "lvcreate" "lvm2" "/sbin/lvcreate") + (substitute-Command "lvconvert" "lvm2" "/sbin/lvconvert") + (substitute-Command "lvchange" "lvm2" "/sbin/lvchange") + (substitute-Command "mkfs.xfs" "xfsprogs" "/sbin/mkfs.xfs") + (substitute-Command "xfs_growfs" "xfsprogs" "/sbin/xfs_growfs") + (substitute-Command "mkfs.ext4" "e2fsprogs" "/sbin/mkfs.ext4") + (substitute-Command "tune2fs" "e2fsprogs" "/sbin/tune2fs") + (substitute-Command "blkid" "util-linux" "/sbin/blkid") + (substitute-Command "resize2fs" "e2fsprogs" "/sbin/resize2fs") +; docker-mountfrom ?? +; docker +; docker-untar ?? +; docker-applyLayer ?? +; /usr/bin/uname +; grep +; apparmor_parser + (substitute-Command "ps" "procps" "/bin/ps") + (substitute-Command "losetup" "util-linux" "/sbin/losetup") + (substitute-Command "uname" "coreutils" "/bin/uname") + (substitute-Command "dbus-launch" "dbus" "/bin/dbus-launch") + (substitute-Command "git" "git" "/bin/git")) + ;; Make compilation fail when, in future versions, Docker + ;; invokes other programs we don't know about and thus don't + ;; substitute. + (substitute* source-files + ;; Search for Java in PATH. + (("\\<exec\\.Command\\(\"java\"") ; ) + "xxec.Command(\"java\"") ; ) + ;; Search for AUFS in PATH (mainline Linux doesn't support it). + (("\\<exec\\.Command\\(\"auplink\"") ; ) + "xxec.Command(\"auplink\"") ; ) + ;; Fail on other unsubstituted commands. + (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\"" + _ executable) ; ) + (string-append "exec.Guix_doesnt_want_Command(\"" + executable "\"")) ;) + (("\\<xxec\\.Command") + "exec.Command") + ;; Search for ZFS in PATH. + (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")") + ;; Fail on other unsubstituted LookPaths. + (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"") ; )) + (("\\<LooxPath") "LookPath"))) + #t)) + (add-after 'patch-paths 'delete-failing-tests + (lambda _ + ;; Needs internet access. + (delete-file "builder/remotecontext/git/gitutils_test.go") + ;; Permission denied. + (delete-file "daemon/graphdriver/devmapper/devmapper_test.go") + ;; Operation not permitted (idtools.MkdirAllAndChown). + (delete-file "daemon/graphdriver/vfs/vfs_test.go") + ;; Timeouts after 5 min. + (delete-file "plugin/manager_linux_test.go") + ;; Operation not permitted. + (delete-file "daemon/graphdriver/overlay/overlay_test.go") + (delete-file "daemon/graphdriver/overlay2/overlay_test.go") + #t)) + (replace 'configure + (lambda _ + (setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version)) + ;; Automatically use bundled dependencies. + ;; TODO: Unbundle - see file "vendor.conf". + (setenv "AUTO_GOPATH" "1") + ;; Respectively, strip the symbol table and debug + ;; information, and the DWARF symbol table. + (setenv "LDFLAGS" "-s -w") + ;; Make build faster + (setenv "GOCACHE" "/tmp") + #t)) + (add-before 'build 'setup-environment + (assoc-ref go:%standard-phases 'setup-environment)) + (replace 'build + (lambda _ + ;; Our LD doesn't like the statically linked relocatable things + ;; that go produces, so install the dynamic version of + ;; dockerd instead. + (invoke "hack/make.sh" "dynbinary"))) + (replace 'check + (lambda _ + ;; The build process generated a file because the environment + ;; variable "AUTO_GOPATH" was set. Use it. + (setenv "GOPATH" (string-append (getcwd) "/.gopath")) + ;; ".gopath/src/github.com/docker/docker" is a link to the current + ;; directory and chdir would canonicalize to that. + ;; But go needs to have the uncanonicalized directory name, so + ;; store that. + (setenv "PWD" (string-append (getcwd) + "/.gopath/src/github.com/docker/docker")) + (with-directory-excursion ".gopath/src/github.com/docker/docker" + (invoke "hack/test/unit")) + (setenv "PWD" #f) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out-bin (string-append out "/bin"))) + (install-file "bundles/dynbinary-daemon/dockerd" out-bin) + (install-file "bundles/dynbinary-daemon/dockerd-dev" out-bin) + #t)))))) + (inputs + `(("btrfs-progs" ,btrfs-progs) + ("containerd" ,containerd) ; for containerd-shim + ("coreutils" ,coreutils) + ("dbus" ,dbus) + ("e2fsprogs" ,e2fsprogs) + ("git" ,git) + ("iproute2" ,iproute) + ("iptables" ,iptables) + ("kmod" ,kmod) + ("libseccomp" ,libseccomp) + ("pigz" ,pigz) + ("procps" ,procps) + ("runc" ,runc) + ("util-linux" ,util-linux) + ("lvm2" ,lvm2) + ("xfsprogs" ,xfsprogs))) + (native-inputs + `(("eudev" ,eudev) ; TODO: Should be propagated by lvm2 (.pc -> .pc) + ("go" ,go) + ("pkg-config" ,pkg-config))) + (synopsis "Docker container component library, and daemon") + (description "This package provides a framework to assemble specialized +container systems. It includes components for orchestration, image +management, secret management, configuration management, networking, +provisioning etc.") + (home-page "https://mobyproject.org/") + (license license:asl2.0))) + +(define-public docker-cli + (package + (name "docker-cli") + (version %docker-version) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/docker/cli.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ivisys20kphvbqlazc3bsg7pk0ykj9gjx5d4yg439x4n13jxwvb")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/docker/cli" + ;; TODO: Tests require a running Docker daemon. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'setup-environment-2 + (lambda _ + ;; Respectively, strip the symbol table and debug + ;; information, and the DWARF symbol table. + (setenv "LDFLAGS" "-s -w") + + ;; Make build reproducible. + (setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00") + (symlink "src/github.com/docker/cli/scripts" "./scripts") + (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile") + #t)) + (replace 'build + (lambda _ + (invoke "./scripts/build/dynbinary"))) + (replace 'check + (lambda* (#:key make-flags tests? #:allow-other-keys) + (setenv "PATH" (string-append (getcwd) "/build:" (getenv "PATH"))) + (if tests? + ;; Use the newly-built docker client for the tests. + (with-directory-excursion "src/github.com/docker/cli" + ;; TODO: Run test-e2e as well? + (apply invoke "make" "-f" "docker.Makefile" "test-unit" + (or make-flags '()))) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out-bin (string-append out "/bin"))) + (chdir "build") + (install-file (readlink "docker") out-bin) + (install-file "docker" out-bin) + #t)))))) + (native-inputs + `(("go" ,go) + ("libltdl" ,libltdl) + ("pkg-config" ,pkg-config))) + (synopsis "Command line interface to Docker") + (description "This package provides a command line interface to Docker.") + (home-page "http://www.docker.com/") + (license license:asl2.0))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 5308d1f1a4..899a37452f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -428,16 +428,16 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.") (define-public emacs-with-editor (package (name "emacs-with-editor") - (version "2.7.3") + (version "2.8.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/magit/with-editor/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/with-editor.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1ln2s0kckzkv50qmr6x1kb2j30cfjii0vs6lpghg7ff4lav8jqgh")))) + "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) @@ -592,7 +592,7 @@ support for Git-SVN.") (define-public emacs-magit-popup (package (name "emacs-magit-popup") - (version "2.12.4") + (version "2.12.5") (source (origin (method git-fetch) (uri (git-reference @@ -601,7 +601,7 @@ support for Git-SVN.") (file-name (git-file-name name version)) (sha256 (base32 - "08952nzn0cb6gxscqyiljk4fq2zxjvr3ism0lvgw0gs9hl5phiwx")))) + "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i")))) (build-system emacs-build-system) (arguments `(#:phases @@ -622,6 +622,58 @@ these arguments. The prototypical use is for the command to call an external process, passing on the arguments as command line arguments.") (license license:gpl3+))) +(define-public emacs-treepy + (package + (name "emacs-treepy") + (version "0.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/volrath/treepy.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk")))) + (build-system emacs-build-system) + (home-page + "https://github.com/volrath/treepy.el") + (synopsis "Tree traversal tools") + (description + "Generic tools for recursive and iterative tree traversal based on +clojure.walk and clojure.zip respectively.") + (license license:gpl3+))) + +(define-public emacs-graphql + (package + (name "emacs-graphql") + (version "0.1.1") + (source (origin + (modules '((guix build utils))) + ;; Remove examples file with references to external packages as + ;; they do not exist at compilation time. + (snippet + '(begin (delete-file "examples.el") + #t)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/vermiculus/graphql.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw")))) + (build-system emacs-build-system) + (home-page + "https://github.com/vermiculus/graphql.el") + (synopsis "GraphQL utilities") + (description + "GraphQL.el provides a generally-applicable domain-specific language for +creating and executing GraphQL queries against your favorite web services. +GraphQL is a data query language and runtime designed and used to request and +deliver data to mobile and web apps.") + (license license:gpl3+))) + (define-public emacs-ghub (package (name "emacs-ghub") @@ -1435,6 +1487,18 @@ environment set through Direnv.") (base32 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg")))) (build-system emacs-build-system) + (inputs + `(("global" ,global))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (chmod "ggtags.el" #o644) + (emacs-substitute-variables "ggtags.el" + ("ggtags-executable-directory" + (string-append (assoc-ref inputs "global") "/bin"))) + #t))))) (home-page "https://github.com/leoliu/ggtags") (synopsis "Frontend to the GNU Global source code tagging system") (description "@code{ggtags} provides a frontend to the GNU Global source @@ -2836,9 +2900,16 @@ These are distributed in separate files and can be used individually.") "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8")) (file-name (string-append name "-" version ".tar.gz")))) (build-system emacs-build-system) - (arguments '()) - (propagated-inputs - `(("emacs-irony-mode-server" ,emacs-irony-mode-server))) + (inputs `(("server" ,emacs-irony-mode-server))) + (arguments `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (chmod "irony.el" #o644) + (emacs-substitute-variables "irony.el" + ("irony-server-install-prefix" + (assoc-ref inputs "server"))) + #t))))) (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs") (description "Irony-mode provides Clang-assisted syntax checking and completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can @@ -2853,7 +2924,6 @@ described on the homepage.") (name "emacs-irony-mode-server") (inputs `(("clang" ,clang))) - (propagated-inputs '()) (arguments `(#:phases (modify-phases %standard-phases @@ -8765,16 +8835,16 @@ object has been freed.") (define-public emacs-emacsql (package (name "emacs-emacsql") - (version "2.0.3") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/skeeto/emacsql/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "04hfjdgl1zc7jysgjc7d7d3xqpr7q1q9gsmzffjd91ii3hpqjgx6")))) + (version "3.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/emacsql.git") + (commit (string-append version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g")))) (build-system emacs-build-system) (arguments `(#:modules ((guix build emacs-build-system) @@ -8809,8 +8879,6 @@ object has been freed.") (let ((file "emacsql-sqlite.el")) (chmod file #o644) (emacs-substitute-sexps file - ;; Avoid interactive prompts. - ("(defvar emacsql-sqlite-user-prompted" 't) ;; Make sure Emacs looks for ‘GCC’ binary in the right place. ("(executable-find" (which "gcc")) ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary @@ -8846,16 +8914,17 @@ object @code{nil} corresponds 1:1 with @code{NULL} in the database.") (define-public emacs-closql (package (name "emacs-closql") - (version "0.5.1") + (version "1.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/emacscollective/closql/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacscollective/closql.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0wa6r0kgbb7f19039p5f3di4dvrvxfgpd8bkam94fca7jvzj536c")))) + "0cy44d1fxkvah6fhjkn3mp6gzzrjmws1c4c20ayrma74y9xich3v")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-emacsql" ,emacs-emacsql))) @@ -9336,11 +9405,11 @@ navigate and display hierarchy structures.") (license license:gpl3+)))) (define-public emacs-md4rd - (let ((commit "be0fc4951b2d1f5194ffa1fcaac706dbac560500") + (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec") (revision "1")) (package (name "emacs-md4rd") - (version (string-append "0.0.1" "-" revision "." + (version (string-append "0.0.2" "-" revision "." (string-take commit 7))) (source (origin (method git-fetch) @@ -9350,7 +9419,7 @@ navigate and display hierarchy structures.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1i93shx5x192gd7cl2r6gvcvhhwyi1k08abi5w3izv1hn3pmksgq")))) + "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9")))) (propagated-inputs `(("emacs-hierarchy" ,emacs-hierarchy) ("emacs-request" ,emacs-request) @@ -12841,3 +12910,34 @@ other frame parameters.") (description "Emacs major mode for editing Arduino sketches.") (home-page "https://github.com/bookest/arduino-mode") (license license:gpl3+)))) + +(define-public emacs-general + (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5")) + (package + (name "emacs-general") + (version (git-version "0" "0" commit)) + (home-page "https://github.com/noctuid/general.el") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit commit))) + (sha256 + (base32 + "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (synopsis "More convenient key definitions in emacs") + (description "@code{general.el} provides a more convenient method for +binding keys in emacs (for both evil and non-evil users). Like +@code{use-package}, which provides a convenient, unified interface for +managing packages, @code{general.el} is intended to provide a convenient, +unified interface for key definitions. While this package does implement some +completely new functionality (such as the ability to make vim-style +keybindings under non-prefix keys with an optional timeout), its primary +purpose is to build on existing functionality to make key definition more +clear and concise. @code{general-define-key} is user-extensible and supports +defining multiple keys in multiple keymaps at once, implicitly wrapping key +strings with (@code{kbd ...}), using named prefix key sequences (like the +leader key in vim), and much more.") + (license license:gpl3+)))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 0f2d32bbd9..0f3e1009ac 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -186,14 +186,14 @@ by the b43-open driver of Linux-libre.") (define-public seabios (package (name "seabios") - (version "1.11.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "https://www.seabios.org/downloads/" "seabios-" version ".tar.gz")) (sha256 (base32 - "1xwvp77djxbxbxg82hzj26pv6zka3556vkdcp09hnfwapcp46av2")))) + "0jx7pnsc2s4a7wbvvwqig6x8wmkw7f2sz0pbgj4jfp77cpjvh5yz")))) (build-system gnu-build-system) (native-inputs `(("python-2" ,python-2))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 536895cba8..6204e217da 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -530,7 +530,7 @@ multiplexer to the KMS/DRM Linux kernel devices.") (define-public exempi (package (name "exempi") - (version "2.4.5") + (version "2.5.0") (source (origin (method url-fetch) (uri (string-append @@ -538,7 +538,7 @@ multiplexer to the KMS/DRM Linux kernel devices.") name "-" version ".tar.bz2")) (sha256 (base32 - "07i29xmg8bqriviaf4vi1mwha4lrw85kfla29cfym14fp3z8aqa0")))) + "06vi7dc2gappwqm3xpfyy5ihxq14bmvj3bd47yk482jlq0jgr0nw")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "--with-boost=" @@ -732,7 +732,7 @@ interfaces, based on the useradd, usermod and userdel commands.") (define-public libmbim (package (name "libmbim") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append @@ -740,7 +740,7 @@ interfaces, based on the useradd, usermod and userdel commands.") name "-" version ".tar.xz")) (sha256 (base32 - "0qmjvjbgs9m8qsaiq5arikzglgaas9hh1968bi7sy3905kp4yjgb")))) + "10mjjy860aakfd3h1yaj9l1jw816amrpwmyqlx37j21xv0l03x3c")))) (build-system gnu-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums @@ -763,7 +763,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.") (define-public libqmi (package (name "libqmi") - (version "1.20.2") + (version "1.22.0") (source (origin (method url-fetch) (uri (string-append @@ -771,7 +771,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.") name "-" version ".tar.xz")) (sha256 (base32 - "0i6aw8jyxv84d5x8lj2g9lb8xxf1dyad8n3q0kw164pyig55jd67")))) + "05xamy608mhvmw9zbnv9n8w3xpk96n10v5mixnvpnqgih6s9ih91")))) (build-system gnu-build-system) (inputs `(("libgudev" ,libgudev))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 423c977de5..c8a2c41667 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3473,7 +3473,7 @@ the GNU GPL.") (define-public tintin++ (package (name "tintin++") - (version "2.01.4") + (version "2.01.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/tintin" @@ -3481,7 +3481,7 @@ the GNU GPL.") "/tintin" "-" version ".tar.gz")) (sha256 (base32 - "1g7bh8xs1ml0iyraps3a3dzaycci922y7fk5j0wyr4ssyjzsy8nx")))) + "0pnnbcm96xbj69358568rpvp164rjmcvhnnzs7nvj062pi2hqcxx")))) (inputs `(("gnutls" ,gnutls) ("pcre" ,pcre) @@ -3500,10 +3500,10 @@ the GNU GPL.") (home-page "http://tintin.sourceforge.net/") (synopsis "MUD client") (description - "TinTin++ is a MUD client which supports MCCP (Mud Client Compression Protocol), -MMCP (Mud Master Chat Protocol), xterm 256 colors, most TELNET options used by MUDs, -as well as those required to login via telnet on Linux / Mac OS X servers, and an -auto mapper with a VT100 map display.") + "TinTin++ is a MUD client which supports MCCP (Mud Client Compression +Protocol), MMCP (Mud Master Chat Protocol), xterm 256 colors, most TELNET +options used by MUDs, as well as those required to login via telnet on +Linux / Mac OS X servers, and an auto mapper with a VT100 map display.") (license license:gpl2+))) (define-public laby diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index eb009213fb..2978792266 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -396,7 +396,7 @@ access the common Google services, and has full asynchronous support.") (define-public libgxps (package (name "libgxps") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -404,7 +404,7 @@ access the common Google services, and has full asynchronous support.") name "-" version ".tar.xz")) (sha256 (base32 - "1bhgrpb6ndlp11qwr95g9piklmjcsca7bi04f8gy9ziipm1i6as1")))) + "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs")))) (build-system meson-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) @@ -2614,9 +2614,9 @@ and the GLib main loop, to integrate well with GNOME applications.") (assoc-ref %outputs "doc") "/share/gtk-doc/html")))) (native-inputs - `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. ("gobject-introspection" ,gobject-introspection) - ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("vala" ,vala) ("xsltproc" ,libxslt))) @@ -4413,7 +4413,7 @@ classes for commonly used data structures.") (define-public gexiv2 (package (name "gexiv2") - (version "0.10.8") + (version "0.10.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4421,7 +4421,7 @@ classes for commonly used data structures.") name "-" version ".tar.xz")) (sha256 (base32 - "0088m7p044n741ly1m6i7w25z513h9wpgyw0rmx5f0sy3vyjiic1")))) + "1qbcwq89g4r67k1dj4laqj441pj4195c8hzhxn8vc6mmg8adg6kx")))) (build-system meson-build-system) (native-inputs `(("glib" ,glib "bin") diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 4eec697a90..d905de2a0c 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -137,7 +137,7 @@ generation.") (define-public libassuan (package (name "libassuan") - (version "2.5.1") + (version "2.5.2") (source (origin (method url-fetch) @@ -145,7 +145,7 @@ generation.") version ".tar.bz2")) (sha256 (base32 - "0jb4nb4nrjr949gd3lw8lh4v5d6qigxaq6xwy24w5apjnhvnrya7")))) + "1rw8nw6fx6ppxga6m4cqcp898lnlzf7vn3s5c2lzfxg3fzr1nswq")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 6e184d3334..73620bb2d4 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -76,17 +76,20 @@ #:use-module (guix utils)) (define-public blender + (let ((revision "0") + (commit "3c3d80ea22af15e13237f978181a881b90c41e7c")) (package (name "blender") - (version "2.79b") + (version (git-version "2.80-beta" revision commit)) (source (origin - (method url-fetch) - (uri (string-append "https://download.blender.org/source/" - "blender-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://git.blender.org/blender.git") + (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 - "1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c")) - (patches (search-patches "blender-newer-ffmpeg.patch")))) + "1hhn8pf3a5556mxyrb2ggsiy6q0h75hnkdpcgq9b6vg284jl2l4q")))) (build-system cmake-build-system) (arguments (let ((python-version (version-major+minor (package-version python)))) @@ -98,29 +101,30 @@ "-DWITH_CYCLES=ON" "-DWITH_DOC_MANPAGE=ON" "-DWITH_FFTW3=ON" - "-DWITH_GAMEENGINE=ON" "-DWITH_IMAGE_OPENJPEG=ON" "-DWITH_INPUT_NDOF=ON" "-DWITH_INSTALL_PORTABLE=OFF" "-DWITH_JACK=ON" "-DWITH_MOD_OCEANSIM=ON" - "-DWITH_PLAYER=ON" "-DWITH_PYTHON_INSTALL=OFF" - "-DWITH_PYTHON_INSTALL=OFF" - "-DWITH_SYSTEM_OPENJPEG=ON" (string-append "-DPYTHON_LIBRARY=python" ,python-version "m") (string-append "-DPYTHON_LIBPATH=" (assoc-ref %build-inputs "python") "/lib") (string-append "-DPYTHON_INCLUDE_DIR=" (assoc-ref %build-inputs "python") "/include/python" ,python-version "m") - (string-append "-DPYTHON_VERSION=" ,python-version)) + (string-append "-DPYTHON_VERSION=" ,python-version) + (string-append "-DPYTHON_NUMPY_PATH=" + (assoc-ref %build-inputs "python-numpy") + "/lib/python" ,python-version "/site-packages/")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-broken-import - (lambda _ - (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py" - (("import encode_bin") "from . import encode_bin")) - #t)) + ;; XXX This file doesn't exist in the Git sources but will probably + ;; exist in the eventual 2.80 source tarball. +; (add-after 'unpack 'fix-broken-import +; (lambda _ +; (substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py" +; (("import encode_bin") "from . import encode_bin")) +; #t)) (add-after 'set-paths 'add-ilmbase-include-path (lambda* (#:key inputs #:allow-other-keys) ;; OpenEXR propagates ilmbase, but its include files do not appear @@ -138,7 +142,7 @@ ("openimageio" ,openimageio) ("openexr" ,openexr) ("ilmbase" ,ilmbase) - ("openjpeg" ,openjpeg-1) + ("openjpeg" ,openjpeg) ("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libtiff" ,libtiff) @@ -150,6 +154,7 @@ ("glew" ,glew) ("openal" ,openal) ("python" ,python) + ("python-numpy" ,python-numpy) ("zlib" ,zlib))) (home-page "https://blender.org/") (synopsis "3D graphics creation suite") @@ -157,8 +162,11 @@ "Blender is a 3D graphics creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation. The -application can be customized via its API for Python scripting.") - (license license:gpl2+))) +application can be customized via its API for Python scripting. + +WARNING: This package offers a beta build of Blender, because the stable release +no longer works in Guix. See @uref{https://issues.guix.info/issue/33882}.") + (license license:gpl2+)))) (define-public assimp (package diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 07b568ee7c..e14c23a1d2 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -40,39 +40,39 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages aspell) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) + #:use-module (gnu packages ed) + #:use-module (gnu packages flex) #:use-module (gnu packages gawk) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) #:use-module (gnu packages gperf) #:use-module (gnu packages hurd) + #:use-module (gnu packages image) #:use-module (gnu packages libffi) - #:use-module (gnu packages autotools) - #:use-module (gnu packages flex) #:use-module (gnu packages libunistring) #:use-module (gnu packages linux) #:use-module (gnu packages m4) + #:use-module (gnu packages man) + #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages readline) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages ed) - #:use-module (gnu packages base) + #:use-module (gnu packages sdl) + #:use-module (gnu packages slang) #:use-module (gnu packages texinfo) - #:use-module (gnu packages man) - #:use-module (gnu packages gettext) - #:use-module (gnu packages databases) - #:use-module (gnu packages python) #:use-module (gnu packages tls) - #:use-module (gnu packages gl) - #:use-module (gnu packages sdl) - #:use-module (gnu packages maths) - #:use-module (gnu packages image) #:use-module (gnu packages version-control) - #:use-module (gnu packages slang) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) - #:use-module (gnu packages networking) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index ba31d36b9e..ec1c4aae9f 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -126,15 +126,15 @@ irssi, but graphical.") (define-public irssi (package (name "irssi") - (version "1.1.1") + (version "1.1.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/irssi/irssi/" - "releases/download/" version "/irssi-" - version ".tar.xz")) - (sha256 - (base32 - "1gx1flfh4a09nb3b5pvf0ygnbl7rry3l4gph8wij29dsl7khfj3q")))) + (method url-fetch) + (uri (string-append "https://github.com/irssi/irssi/" + "releases/download/" version "/irssi-" + version ".tar.xz")) + (sha256 + (base32 + "0clppwqhllrmqjg1dd47v9v1qiqx7cf9afm81bm1pscllf4jpk2w")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/java-compression.scm b/gnu/packages/java-compression.scm new file mode 100644 index 0000000000..8cebfc65a5 --- /dev/null +++ b/gnu/packages/java-compression.scm @@ -0,0 +1,308 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages java-compression) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system ant) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages java) + #:use-module (gnu packages perl)) + +(define-public java-snappy + (package + (name "java-snappy") + (version "1.1.7.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/xerial/snappy-java/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p557vdv006ysgxbpp83krmq0066k46108vyiyka69w8i4i8rbbm")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "snappy.jar" + #:source-dir "src/main/java" + #:phases + (modify-phases %standard-phases + (add-before 'build 'remove-binaries + (lambda _ + (delete-file "lib/org/xerial/snappy/OSInfo.class") + (delete-file-recursively "src/main/resources/org/xerial/snappy/native") + #t)) + (add-before 'build 'build-jni + (lambda _ + ;; Rebuild one of the binaries we removed earlier + (invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java" + "-d" "lib") + ;; Link to the dynamic bitshuffle and snappy, not the static ones + (substitute* "Makefile.common" + (("-shared") + "-shared -lbitshuffle -lsnappy")) + (substitute* "Makefile" + ;; Don't try to use git, don't download bitshuffle source + ;; and don't build it. + (("\\$\\(SNAPPY_GIT_UNPACKED\\) ") + "") + ((": \\$\\(SNAPPY_GIT_UNPACKED\\)") + ":") + (("\\$\\(BITSHUFFLE_UNPACKED\\) ") + "") + ((": \\$\\(SNAPPY_SOURCE_CONFIGURED\\)") ":") + ;; What we actually want to build + (("SNAPPY_OBJ:=.*") + "SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, \ + SnappyNative.o BitShuffleNative.o)\n") + ;; Since we removed the directory structure in "native" during + ;; the previous phase, we need to recreate it. + (("NAME\\): \\$\\(SNAPPY_OBJ\\)") + "NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)")) + ;; Finally we can run the Makefile to build the dynamic library. + ;; Use the -nocmake target to avoid a dependency on cmake, + ;; which in turn requires the "git_unpacked" directory. + (invoke "make" "native-nocmake"))) + ;; Once we have built the shared library, we need to place it in the + ;; "build" directory so it can be added to the jar file. + (add-after 'build-jni 'copy-jni + (lambda _ + (copy-recursively "src/main/resources/org/xerial/snappy/native" + "build/classes/org/xerial/snappy/native") + #t)) + (add-before 'check 'fix-failing + (lambda _ + (with-directory-excursion "src/test/java/org/xerial/snappy" + ;; This package assumes maven build, which puts results in "target". + ;; We put them in "build" instead, so fix that. + (substitute* "SnappyLoaderTest.java" + (("target/classes") "build/classes")) + ;; This requires Hadoop, which is not in Guix yet. + (delete-file "SnappyHadoopCompatibleOutputStreamTest.java")) + #t))))) + (inputs + `(("osgi-framework" ,java-osgi-framework))) + (propagated-inputs + `(("bitshuffle" ,bitshuffle-for-snappy) + ("snappy" ,snappy))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core) + ("xerial-core" ,java-xerial-core) + ("classworlds" ,java-plexus-classworlds) + ("commons-lang" ,java-commons-lang) + ("commons-io" ,java-commons-io) + ("perl" ,perl))) + (home-page "https://github.com/xerial/snappy-java") + (synopsis "Compression/decompression algorithm in Java") + (description "Snappy-java is a Java port of snappy, a fast C++ +compressor/decompressor.") + (license license:asl2.0))) + +(define-public java-snappy-1 + (package + (inherit java-snappy) + (version "1.0.3-rc3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/xerial/snappy-java/archive/" + "snappy-java-" version ".tar.gz")) + (sha256 + (base32 + "08hsxlqidiqck0q57fshwyv3ynyxy18vmhrai9fyc8mz17m7gsa3")))) + (arguments + `(#:jar-name "snappy.jar" + #:source-dir "src/main/java" + #:phases + (modify-phases %standard-phases + (add-before 'build 'remove-binaries + (lambda _ + (delete-file "lib/org/xerial/snappy/OSInfo.class") + (delete-file-recursively "src/main/resources/org/xerial/snappy/native") + #t)) + (add-before 'build 'build-jni + (lambda _ + ;; Rebuild one of the binaries we removed earlier + (invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java" + "-d" "lib") + ;; Link to the dynamic snappy, not the static ones + (substitute* "Makefile.common" + (("-shared") "-shared -lsnappy")) + (substitute* "Makefile" + ;; Don't download the sources here. + (("\\$\\(SNAPPY_UNPACKED\\) ") "") + ((": \\$\\(SNAPPY_UNPACKED\\) ") ":") + ;; What we actually want to build + (("SNAPPY_OBJ:=.*") + "SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, SnappyNative.o)\n") + ;; Since we removed the directory structure in "native" during + ;; the previous phase, we need to recreate it. + (("NAME\\): \\$\\(SNAPPY_OBJ\\)") + "NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)")) + ;; Finally we can run the Makefile to build the dynamic library. + (invoke "make" "native"))) + ;; Once we have built the shared library, we need to place it in the + ;; "build" directory so it can be added to the jar file. + (add-after 'build-jni 'copy-jni + (lambda _ + (copy-recursively "src/main/resources/org/xerial/snappy/native" + "build/classes/org/xerial/snappy/native") + #t)) + (add-before 'check 'fix-tests + (lambda _ + (mkdir-p "src/test/resources/org/xerial/snappy/") + (copy-recursively "src/test/java/org/xerial/snappy/testdata" + "src/test/resources/org/xerial/snappy/testdata") + (install-file "src/test/java/org/xerial/snappy/alice29.txt" + "src/test/resources/org/xerial/snappy/") + #t))))))) + +(define-public java-iq80-snappy + (package + (name "java-iq80-snappy") + (version "0.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/dain/snappy/archive/snappy-" + version ".tar.gz")) + (sha256 + (base32 + "0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "iq80-snappy.jar" + #:source-dir "src/main/java" + #:test-dir "src/test" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (define (test class) + (invoke "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "-Dtest.resources.dir=src/test/resources" + "org.testng.TestNG" "-testclass" + class)) + (invoke "ant" "compile-tests") + (test "org.iq80.snappy.SnappyFramedStreamTest") + (test "org.iq80.snappy.SnappyStreamTest") + #t)) + (add-before 'build 'remove-hadoop-dependency + (lambda _ + ;; We don't have hadoop + (delete-file "src/main/java/org/iq80/snappy/HadoopSnappyCodec.java") + (delete-file "src/test/java/org/iq80/snappy/TestHadoopSnappyCodec.java") + #t))))) + (home-page "https://github.com/dain/snappy") + (native-inputs + `(("guava" ,java-guava) + ("java-snappy" ,java-snappy) + ("hamcrest" ,java-hamcrest-core) + ("testng" ,java-testng))) + (synopsis "Java port of the Snappy (de)compressor") + (description + "Iq80-snappy is a port of the Snappy compressor and decompressor rewritten +in pure Java. This compression code produces a byte-for-byte exact copy of the +output created by the original C++ code, and is extremely fast.") + (license license:asl2.0))) + +(define-public java-jbzip2 + (package + (name "java-jbzip2") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://storage.googleapis.com/" + "google-code-archive-source/v2/" + "code.google.com/jbzip2/" + "source-archive.zip")) + (file-name (string-append name "-" version ".zip")) + (sha256 + (base32 + "0ncmhlqmrfmj96nqf6p77b9ws35lcfsvpfxzwxi2asissc83z1l3")))) + (build-system ant-build-system) + (native-inputs + `(("unzip" ,unzip) + ("java-junit" ,java-junit))) + (arguments + `(#:tests? #f ; no tests + #:jar-name "jbzip2.jar" + #:source-dir "tags/release-0.9.1/src" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-encoding-problems + (lambda _ + ;; Some of the files we're patching are + ;; ISO-8859-1-encoded, so choose it as the default + ;; encoding so the byte encoding is preserved. + (with-fluids ((%default-port-encoding #f)) + (substitute* "tags/release-0.9.1/src/org/itadaki/bzip2/HuffmanAllocator.java" + (("Milidi.") "Milidiu"))) + #t))))) + (home-page "https://code.google.com/archive/p/jbzip2/") + (synopsis "Java bzip2 compression/decompression library") + (description "Jbzip2 is a Java bzip2 compression/decompression library. +It can be used as a replacement for the Apache @code{CBZip2InputStream} / +@code{CBZip2OutputStream} classes.") + (license license:expat))) + +(define-public java-tukaani-xz + (package + (name "java-tukaani-xz") + (version "1.6") + (source (origin + (method url-fetch) + (uri (string-append "https://tukaani.org/xz/xz-java-" version ".zip")) + (sha256 + (base32 + "1z3p1ri1gvl07inxn0agx44ck8n7wrzfmvkz8nbq3njn8r9wba8x")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + ;; Our build system enters the first directory in the archive, but + ;; the package is not contained in a subdirectory + (chdir "..") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Do we want to install *Demo.jar? + (install-file "build/jar/xz.jar" + (string-append + (assoc-ref outputs "out") + "/share/java/xz.jar")) + #t))))) + (native-inputs + `(("unzip" ,unzip))) + (home-page "https://tukaani.org") + (synopsis "XZ in Java") + (description "Tukaani-xz is an implementation of xz compression/decompression +algorithms in Java.") + (license license:public-domain))) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c607cbbcc5..163c296278 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -60,6 +60,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages java-compression) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) ;alsa #:use-module (gnu packages maths) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 0d14c8f887..fff98bd16d 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -2556,6 +2556,10 @@ in applications using the KDE Frameworks.") (("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts")) (("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework"))) #t))))) + (native-search-paths + (list (search-path-specification + (variable "KDEINIT5_LIBRARY_PATH") + (files '("lib/"))))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index c88bf72c78..1a41c3e0ba 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de> @@ -287,15 +287,15 @@ working with graphics in the WPG (WordPerfect Graphics) format.") (define-public libcmis (package (name "libcmis") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/tdf/libcmis/releases/download/v" - version "/libcmis-" version ".tar.gz")) + version "/libcmis-" version ".tar.xz")) (sha256 (base32 - "03kvl8ywsv5qrxblf0m6955mmvl5q2zpb6vj51vs7ayvxhidzjva")))) + "18h0a2gsfxvlv03nlcfvw9bzsflq5sin9agq6za103hr0ab8vcfp")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) @@ -313,22 +313,10 @@ working with graphics in the WPG (WordPerfect Graphics) format.") ;; FIXME: Man pages generation requires docbook-to-man; reenable ;; it once this is available. "--without-man" - ;; avoid triggering configure errors by simple inclusion of - ;; boost headers - "--disable-werror" ;; During configure, the boost headers are found, but linking ;; fails without the following flag. (string-append "--with-boost=" - (assoc-ref %build-inputs "boost"))) - #:phases (modify-phases %standard-phases - (add-before 'build 'fix-boost-include - (lambda _ - ;; This library moved in Boost and the compatibility - ;; redirect is no longer available since version 1.68.0. - (substitute* "src/libcmis/xml-utils.cxx" - (("boost/uuid/sha1.hpp") - "boost/uuid/detail/sha1.hpp")) - #t))))) + (assoc-ref %build-inputs "boost"))))) (home-page "https://github.com/tdf/libcmis") (synopsis "CMIS client library") (description "LibCMIS is a C++ client library for the CMIS interface. It @@ -370,14 +358,14 @@ AbiWord documents.") (define-public libcdr (package (name "libcdr") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) - (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" + (uri (string-append "https://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7")))) + "0j1skr11jwvafn0l6p37v3i4lqc8wcn489g8f7c4mqwbk94mrkka")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) @@ -390,9 +378,6 @@ AbiWord documents.") ("zlib" ,zlib))) (inputs `(("boost" ,boost))) - (arguments - ;; avoid triggering a build failure due to warnings - `(#:configure-flags '("--disable-werror"))) (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr") (synopsis "Library for parsing the CorelDRAW format") (description "Libcdr is a library that parses the file format of @@ -402,39 +387,31 @@ CorelDRAW documents of all versions.") (define-public libetonyek (package (name "libetonyek") - (version "0.1.8") + (version "0.1.9") (source (origin (method url-fetch) (uri (string-append "http://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0bfq9rwm040xhh7b3v0gsdavwvnrz4hkwnhpggarxk70mr3j7jcx")))) + "0jhsbdimiyijdqriy0zzkjjgc4wi6fjimhdg4mdybrlwg7l7f5p6")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--with-mdds=1.4") - #:phases (modify-phases %standard-phases - (add-before 'configure 'support-mdds-1.4 - (lambda _ - ;; This package already works fine with mdds 1.4, but the - ;; configure check is too strict. Taken from upstream. - (substitute* "configure" - (("mdds=1\\.2") "mdds=1.4") - (("mdds=\"1\\.2\"") "mdds=\"1.4\"")) - #t))))) + `(#:configure-flags '("--with-mdds=1.4"))) (native-inputs `(("cppunit" ,cppunit) ("doxygen" ,doxygen) - ("glm" ,glm) ("gperf" ,gperf) - ("liblangtag" ,liblangtag) - ("mdds" ,mdds) ("pkg-config" ,pkg-config))) (propagated-inputs ; in Requires or Requires.private field of .pkg - `(("librevenge" ,librevenge) - ("libxml2" ,libxml2))) + `(("liblangtag" ,liblangtag) + ("librevenge" ,librevenge) + ("libxml2" ,libxml2) + ("zlib" ,zlib))) (inputs - `(("boost" ,boost))) + `(("boost" ,boost) + ("glm" ,glm) + ("mdds" ,mdds))) (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek") (synopsis "Library for parsing the Apple Keynote format") (description "Libetonyek is a library that parses the file format of diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ce35a199e5..03b4f91522 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2018 Manuel Graf <graf@init.at> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -412,8 +413,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "4.20") -(define %linux-libre-hash "07ss8nx95f4pqzzjy382fy5hk7anjm3hpbb3mzl1x8fzfq05q3dq") +(define %linux-libre-version "4.20.1") +(define %linux-libre-hash "10b1cgx7246lxwml66bzzc57sk5bbh7mjxc9zv6qncwh0xhsjv5n") (define %linux-libre-4.20-patches (list %boot-logo-patch @@ -426,8 +427,8 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-4.20-patches #:configuration-file kernel-config)) -(define %linux-libre-4.19-version "4.19.13") -(define %linux-libre-4.19-hash "0ac0ywy542fiwdiab2z12rbjn9zw8vjbzkbpmpk9nfic2mcyrg8r") +(define %linux-libre-4.19-version "4.19.14") +(define %linux-libre-4.19-hash "12ihsp3k8gznc1hjvlpy8jdb27ijr3zsvn8wcgr5za18pg5ncjl9") (define %linux-libre-4.19-patches (list %boot-logo-patch @@ -440,8 +441,8 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-4.19-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.91") -(define %linux-libre-4.14-hash "1xr4q6hqjg4fjcd1w8qi2x9a11ms9wvascy9b1p6czblg9j9dd6a") +(define %linux-libre-4.14-version "4.14.92") +(define %linux-libre-4.14-hash "09s479krcjzgp53s5i6h7ld1mdagjci6lqvkv8mc1nj0ja8niiq3") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -450,8 +451,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.148" - "0yrjgvdzbcp750j4fhlxi4ia1v0fqh0y3p99wnbpfvg17j01lbjl" + (make-linux-libre "4.9.149" + "1qw1hahqiai8xbv769pdfnx3yan3rl2zh00fmi1nx0khan6i5as3" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config)) @@ -790,7 +791,7 @@ slabtop, and skill.") (define-public e2fsprogs (package (name "e2fsprogs") - (version "1.44.3") + (version "1.44.5") (source (origin (method url-fetch) (uri (string-append @@ -799,7 +800,7 @@ slabtop, and skill.") name "-" version ".tar.xz")) (sha256 (base32 - "1djb9qnid1j0vvna2bhq4jsz2ig1xckbx7h4d86cr0gl61yrz2ax")))) + "1ff56h6h1h17sj2zvlddv5c88nmbx46p1fcbh6b0s5k9kl3b6pms")))) (build-system gnu-build-system) (inputs `(("util-linux" ,util-linux))) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 395acea2cc..e370038b9c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org> -;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> @@ -2179,12 +2179,12 @@ programming problems.") (define-public r-pracma (package (name "r-pracma") - (version "2.1.8") + (version "2.2.2") (source (origin (method url-fetch) (uri (cran-uri "pracma" version)) (sha256 - (base32 "0m8ladhrfyxwybblkcdgg4xv1mk5kibmwarpj2k0c2y34zzcix4z")))) + (base32 "18zhni05gwnxbphl6bmjjxmsgg5wwnnkwlb4g971cqyw3dsd83ki")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/pracma/") (synopsis "Practical numerical math functions") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 3b0714865d..65148bb000 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -82,6 +82,8 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages kerberos) #:use-module (gnu packages ncurses) + #:use-module (gnu packages nettle) + #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) @@ -90,6 +92,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages qt) #:use-module (gnu packages readline) + #:use-module (gnu packages serialization) #:use-module (gnu packages ssh) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) @@ -2271,3 +2274,95 @@ allow all other machines, without direct access to that network, to be relayed through the machine the Dante server is running on. The external network will never see any machines other than the one Dante is running on.") (license (license:non-copyleft "file://LICENSE")))) + +(define-public restbed + (let ((commit "6eb385fa9051203f28bf96cc1844bbb5a9a6481f")) + (package + (name "restbed") + (version (git-version "4.6" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Corvusoft/restbed/") + (commit commit))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0k60i5drklqqrb4khb25fzkgz9y0sncxf1sp6lh2bm1m0gh0661n")))) + (build-system cmake-build-system) + (inputs + `(("asio" ,asio) + ("catch" ,catch-framework) + ("openssl" ,openssl))) + (arguments + `(#:tests? #f + #:configure-flags + '("-DBUILD_TESTS=NO" + "-DBUILD_EXAMPLES=NO" + "-DBUILD_SSL=NO" + "-DBUILD_SHARED=NO") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'apply-patches-and-fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((asio (assoc-ref inputs "asio")) + (catch (assoc-ref inputs "catch")) + (openssl (assoc-ref inputs "openssl"))) + (substitute* "cmake/Findasio.cmake" + (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin) + (string-append begin " \"" asio "/include\" )"))) + (substitute* "cmake/Findcatch.cmake" + (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin) + (string-append begin " \"" catch "/include\" )"))) + (substitute* "cmake/Findopenssl.cmake" + (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin) + (string-append begin " \"" openssl "/lib\" )")) + (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin) + (string-append begin " \"" openssl "/lib\" )")) + (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin) + (string-append begin " \"" openssl "/include\" )"))))))))) + (synopsis "Asynchronous RESTful functionality to C++11 applications") + (description "Restbed is a comprehensive and consistent programming +model for building applications that require seamless and secure +communication over HTTP.") + (home-page "https://github.com/Corvusoft/restbed") + (license license:agpl3+)))) + +(define-public opendht + (package + (name "opendht") + (version "1.8.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/savoirfairelinux/opendht.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vninb5mak27wigajslyvr05vq7wbrwqhbr4wzl2nmqcb20wmlq2")))) + (build-system gnu-build-system) + (inputs + `(("gnutls" ,gnutls) + ("nettle" ,nettle) + ("readline" ,readline) + ("jsoncpp" ,jsoncpp) + ("restbed" ,restbed))) + (propagated-inputs + `(("argon2" ,argon2) ; TODO: Needed for the pkg-config .pc file to work? + ("msgpack" ,msgpack))) ;included in several installed headers + (native-inputs + `(("autoconf" ,autoconf) + ("pkg-config" ,pkg-config) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + `(#:configure-flags '("--disable-tools" + "--disable-python" + "--with-argon2"))) + (home-page "https://github.com/savoirfairelinux/opendht/") + (synopsis "Distributed Hash Table (DHT) library") + (description "OpenDHT is a Distributed Hash Table (DHT) library. It may +be used to manage peer-to-peer network connections as needed for real time +communication.") + (license license:gpl3+))) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 85c95a75e9..8eb4e2eefe 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com> ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> @@ -362,36 +362,23 @@ the Nix package manager.") (delete 'wrap-program))))))) (define-public guile2.0-guix - (package - (inherit guix) - (name "guile2.0-guix") - (inputs - `(("guile" ,guile-2.0) - ,@(alist-delete "guile" (package-inputs guix)))) - (propagated-inputs - `(("gnutls" ,gnutls/guile-2.0) - ("guile-gcrypt" ,guile2.0-gcrypt) - ("guile-json" ,guile2.0-json) - ("guile-sqlite3" ,guile2.0-sqlite3) - ("guile-ssh" ,guile2.0-ssh) - ("guile-git" ,guile2.0-git))))) + (deprecated-package "guile2.0-guix" guix)) (define-public guix-minimal ;; A version of Guix which is built with the minimal set of dependencies, as ;; outlined in the README "Requirements" section. Intended as a CI job, so ;; marked as hidden. - (let ((guix guile2.0-guix)) - (hidden-package - (package - (inherit guix) - (name "guix-minimal") - (inputs - `(("guile" ,guile-2.0.13) - ,@(alist-delete "guile" (package-inputs guix)))) - (propagated-inputs - (fold alist-delete - (package-propagated-inputs guix) - '("guile-ssh"))))))) + (hidden-package + (package + (inherit guix) + (name "guix-minimal") + (inputs + `(("guile" ,guile-2.2) + ,@(alist-delete "guile" (package-inputs guix)))) + (propagated-inputs + (fold alist-delete + (package-propagated-inputs guix) + '("guile-ssh")))))) (define (source-file? file stat) "Return true if FILE is likely a source file, false if it is a typical diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 357ef86d56..f10fc76e9d 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> +;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages admin) @@ -51,7 +53,9 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) + #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnuzilla) @@ -72,6 +76,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages qt) #:use-module (gnu packages version-control) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (gnu packages xml) @@ -168,6 +173,59 @@ algorithms AES or Twofish.") (license license:gpl3) (properties `((superseded . ,keepassxc))))) +(define-public pwsafe + (package + (name "pwsafe") + (version "3.48.0") + (home-page "https://www.pwsafe.org/" ) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pwsafe/pwsafe.git") + (commit version))) + (sha256 (base32 "0hxv23yh76liggxbjn4m132z15sklra8ms341xgzl4n5vjx30ihi")) + (file-name (string-append name "-" version "-checkout")))) + (build-system cmake-build-system) + (native-inputs `(("gettext" ,gettext-minimal) + ("perl" ,perl) + ("zip" ,zip))) + (inputs `(("curl" ,curl) + ("file" ,file) + ("gtest" ,googletest) + ("libuuid" ,util-linux) + ("libxt" ,libxt) + ("libxtst" ,libxtst) + ("openssl" ,openssl) + ("qrencode" ,qrencode) + ("wxwidgets" ,wxwidgets) + ("xerces-c" ,xerces-c))) + (arguments '(#:configure-flags (list "-DNO_GTEST=YES") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'add-gtest + (lambda* (#:key inputs #:allow-other-keys) + (chmod "CMakeLists.txt" #o644) + (let ((cmake-port (open-file "CMakeLists.txt" + "a"))) + (display "find_package(GTest) +add_subdirectory(src/test)\n" cmake-port) + (close cmake-port) + #t))) + (add-after 'add-gtest 'patch-executables + (lambda* (#:key inputs #:allow-other-keys) + (chmod "src/test/OSTest.cpp" #o644) + (substitute* "src/os/unix/media.cpp" + (("/usr/bin/file") + (string-append (assoc-ref inputs "file") + "/bin/file"))) + #t))))) + (synopsis "Password safe with automatic input and key generation") + (description "pwsafe is a password manager originally designed by Bruce +Schneier. It offers a simple UI to manage passwords for different services. +There are other programs that support the file format on different +platforms.") + (license license:artistic2.0))) + (define-public shroud (package (name "shroud") @@ -705,7 +763,7 @@ your online accounts makes it necessary.") (define-public hashcat (package (name "hashcat") - (version "4.1.0") + (version "5.1.0") (source (origin (method url-fetch) @@ -713,7 +771,7 @@ your online accounts makes it necessary.") version ".tar.gz")) (sha256 (base32 - "170i2y32ykgzb1qf1wz3klwn31c09bviz4x3bnrwia65adqrj8xx")))) + "0f73y4cg8c7a6q7x34qvpfi4g3lw6j9bnn0a13g43aqyiskflfr8")))) (native-inputs `(("opencl-headers" ,opencl-headers))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/aria2-CVE-2019-3500.patch b/gnu/packages/patches/aria2-CVE-2019-3500.patch new file mode 100644 index 0000000000..891c9047ba --- /dev/null +++ b/gnu/packages/patches/aria2-CVE-2019-3500.patch @@ -0,0 +1,55 @@ +Fix CVE-2019-3500: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3500 +https://github.com/aria2/aria2/issues/1329 + +Patch copied from upstream source repository: + +https://github.com/aria2/aria2/commit/37368130ca7de5491a75fd18a20c5c5cc641824a + +From 37368130ca7de5491a75fd18a20c5c5cc641824a Mon Sep 17 00:00:00 2001 +From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> +Date: Sat, 5 Jan 2019 09:32:40 +0900 +Subject: [PATCH] Mask headers + +--- + src/HttpConnection.cc | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git a/src/HttpConnection.cc b/src/HttpConnection.cc +index 77cb9d27a..be5b97723 100644 +--- a/src/HttpConnection.cc ++++ b/src/HttpConnection.cc +@@ -102,11 +102,17 @@ std::string HttpConnection::eraseConfidentialInfo(const std::string& request) + std::string result; + std::string line; + while (getline(istr, line)) { +- if (util::startsWith(line, "Authorization: Basic")) { +- result += "Authorization: Basic ********\n"; ++ if (util::istartsWith(line, "Authorization: ")) { ++ result += "Authorization: <snip>\n"; + } +- else if (util::startsWith(line, "Proxy-Authorization: Basic")) { +- result += "Proxy-Authorization: Basic ********\n"; ++ else if (util::istartsWith(line, "Proxy-Authorization: ")) { ++ result += "Proxy-Authorization: <snip>\n"; ++ } ++ else if (util::istartsWith(line, "Cookie: ")) { ++ result += "Cookie: <snip>\n"; ++ } ++ else if (util::istartsWith(line, "Set-Cookie: ")) { ++ result += "Set-Cookie: <snip>\n"; + } + else { + result += line; +@@ -154,8 +160,8 @@ std::unique_ptr<HttpResponse> HttpConnection::receiveResponse() + const auto& proc = outstandingHttpRequests_.front()->getHttpHeaderProcessor(); + if (proc->parse(socketRecvBuffer_->getBuffer(), + socketRecvBuffer_->getBufferLength())) { +- A2_LOG_INFO( +- fmt(MSG_RECEIVE_RESPONSE, cuid_, proc->getHeaderString().c_str())); ++ A2_LOG_INFO(fmt(MSG_RECEIVE_RESPONSE, cuid_, ++ eraseConfidentialInfo(proc->getHeaderString()).c_str())); + auto result = proc->getResult(); + if (result->getStatusCode() / 100 == 1) { + socketRecvBuffer_->drain(proc->getLastBytesProcessed()); diff --git a/gnu/packages/patches/docker-engine-test-noinstall.patch b/gnu/packages/patches/docker-engine-test-noinstall.patch new file mode 100644 index 0000000000..85d56a3465 --- /dev/null +++ b/gnu/packages/patches/docker-engine-test-noinstall.patch @@ -0,0 +1,23 @@ +Last-Update: 2018-06-18 +Forwarded: not-needed +Author: Dmitry Smirnov <onlyjob@debian.org> +Description: prevents test-time installation that causes FTBFS. +~~~~ + go test net: open /usr/lib/go-1.10/pkg/linux_amd64/net.a: permission denied +~~~~ + +--- a/hack/test/unit ++++ b/hack/test/unit +@@ -18,12 +18,8 @@ + + exclude_paths="/vendor/|/integration" + pkg_list=$(go list $TESTDIRS | grep -vE "($exclude_paths)") + +-# install test dependencies once before running tests for each package. This +-# significantly reduces the runtime. +-go test -i "${BUILDFLAGS[@]}" $pkg_list +- + for pkg in $pkg_list; do + go test "${BUILDFLAGS[@]}" \ + -cover \ + -coverprofile=profile.out \ diff --git a/gnu/packages/patches/docker-fix-tests.patch b/gnu/packages/patches/docker-fix-tests.patch new file mode 100644 index 0000000000..3e3e318e25 --- /dev/null +++ b/gnu/packages/patches/docker-fix-tests.patch @@ -0,0 +1,28 @@ +Author: Danny Milosavljevic <dannym@scratchpost.org> +The socket name ended up too long inside the container. +Use a shorter one. +--- a/pkg/authorization/authz_unix_test.go 2019-01-10 01:55:02.997985947 +0100 ++++ b/pkg/authorization/authz_unix_test.go 2019-01-10 02:03:21.177439757 +0100 +@@ -24,7 +24,7 @@ + ) + + const ( +- pluginAddress = "authz-test-plugin.sock" ++ pluginAddress = "/tmp/authz-test-plugin.sock" + ) + + func TestAuthZRequestPluginError(t *testing.T) { +@@ -263,12 +263,7 @@ + + // createTestPlugin creates a new sample authorization plugin + func createTestPlugin(t *testing.T) *authorizationPlugin { +- pwd, err := os.Getwd() +- if err != nil { +- t.Fatal(err) +- } +- +- client, err := plugins.NewClient("unix:///"+path.Join(pwd, pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true}) ++ client, err := plugins.NewClient("unix:///"+path.Join("/", pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true}) + if err != nil { + t.Fatalf("Failed to create client %v", err) + } diff --git a/gnu/packages/patches/kinit-kdeinit-libpath.patch b/gnu/packages/patches/kinit-kdeinit-libpath.patch index 89cf1a941d..6382e8804b 100644 --- a/gnu/packages/patches/kinit-kdeinit-libpath.patch +++ b/gnu/packages/patches/kinit-kdeinit-libpath.patch @@ -23,7 +23,7 @@ pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch - l.load(); - } + // Try to load the library relative to the active profiles. -+ QByteArrayList profiles = qgetenv("LIBRARY_PATH").split(':'); ++ QByteArrayList profiles = qgetenv("KDEINIT5_LIBRARY_PATH").split(':'); + for (const QByteArray &profile: profiles) { + if (!profile.isEmpty()) { + l.setFileName(QFile::decodeName(profile) + QStringLiteral("/") + libpath); diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 4902f56f78..5572146fa9 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -774,7 +774,7 @@ vector formats.") (define-public impressive (package (name "impressive") - (version "0.11.1") + (version "0.12.0") (source (origin (method url-fetch) (uri (string-append @@ -782,7 +782,7 @@ vector formats.") version "/Impressive-" version ".tar.gz")) (sha256 (base32 - "0b3rmy6acp2vmf5nill3aknxvr9a5aawk1vnphkah61anxp62gsr")))) + "0zaqq3yvd296mfr5bxpj2hqlk7vrb0rsbgd4dc1l5ag46giqvivx")))) (build-system python-build-system) ;; TODO: Add dependency on pdftk. diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 07047f4cf3..5b6114e051 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -131,14 +131,14 @@ data as produced by digital cameras.") (define-public libgphoto2 (package (name "libgphoto2") - (version "2.5.21") + (version "2.5.22") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/libgphoto/" version "/libgphoto2-" version ".tar.bz2")) (sha256 (base32 - "1ccb8idjkv19p9zxg6hh8y6vbgs8flpnh550lq6a8cmga8d2nmy5")))) + "0n6f6nagys775ib483nka1sbclhkm1dz3n5z3lgaz1m9m5x35mqm")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 5a32681643..86ff4f2044 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3344,20 +3344,38 @@ color scales, and color space conversion easy. It has support for: (define-public python-pygit2 (package (name "python-pygit2") - (version "0.26.4") + (version "0.27.3") (source (origin (method url-fetch) (uri (pypi-uri "pygit2" version)) (sha256 (base32 - "145k3fsd21274swia7mcc7n3kzlbd47xmg55mxsjdb5d9b7fr858")))) + "046ahvsb7a20sgvscqfm3cb32sp3sii4gim9vz7zzrkf7yz16xlv")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; Remove after the next update. See: + ;; https://github.com/libgit2/pygit2/pull/851 + (add-after 'unpack 'compile-with-cffi + (lambda _ + (substitute* "setup.py" + (("install_requires") + "setup_requires=['cffi'],\n install_requires")) + #t)) + (add-after 'unpack 'fix-dependency-versioning + (lambda _ + (substitute* "setup.py" + (("<") "<=")) + #t))))) (propagated-inputs `(("python-six" ,python-six) ("python-cffi" ,python-cffi) ("libgit2" ,libgit2) ("python-tox" ,python-tox))) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "https://github.com/libgit2/pygit2") (synopsis "Python bindings for libgit2") (description "Pygit2 is a set of Python bindings to the libgit2 shared @@ -4057,17 +4075,17 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python-pillow (package (name "python-pillow") - (version "5.2.0") + (version "5.4.0") (source (origin (method url-fetch) (uri (pypi-uri "Pillow" version)) (sha256 (base32 - "1ary9mj2ddllq3lkxgn6aac7qxqiwbcg2pacrl94py58ql9x9czq")))) + "0qrkcjszym7ixffg5zphhp8a07w8w11yyc2ylcbdrhwm771z316m")))) (build-system python-build-system) (native-inputs - `(("python-pytest" ,python-pytest))) + `(("python-pytest" ,python-pytest))) (inputs `(("freetype" ,freetype) ("lcms" ,lcms) @@ -4079,19 +4097,22 @@ the OleFileIO module from PIL, the Python Image Library.") (propagated-inputs `(("python-olefile" ,python-olefile))) (arguments - `(#:phases (modify-phases %standard-phases - (add-after - 'install 'check-installed - (lambda* (#:key outputs inputs #:allow-other-keys) - (begin - (setenv "HOME" (getcwd)) - ;; Make installed package available for running the - ;; tests - (add-installed-pythonpath inputs outputs) - (invoke "python" "selftest.py" "--installed") - (invoke "python" "-m" "pytest" "-vv")))) - (delete 'check)))) - (home-page "https://pypi.python.org/pypi/Pillow") + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-ldconfig + (lambda _ + (substitute* "setup.py" + (("\\['/sbin/ldconfig', '-p'\\]") "['true']")))) + (delete 'check) ; We must run checks after python-pillow is installed. + (add-after 'install 'check-installed + (lambda* (#:key outputs inputs #:allow-other-keys) + (begin + (setenv "HOME" (getcwd)) + ;; Make installed package available for running the tests. + (add-installed-pythonpath inputs outputs) + (invoke "python" "selftest.py" "--installed") + (invoke "python" "-m" "pytest" "-vv"))))))) + (home-page "https://python-pillow.org") (synopsis "Fork of the Python Imaging Library") (description "The Python Imaging Library adds image processing capabilities to your diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 08501aef6f..f526d1c237 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -30,7 +30,7 @@ (define-public re2 (package (name "re2") - (version "2018-12-01") + (version "2019-01-01") (home-page "https://github.com/google/re2") (source (origin (method git-fetch) @@ -38,7 +38,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "181fq0idwzgfmmpyhmqdxi37rbynzgf1b8s99aaka9kqs9ffwj22")))) + "0wys8bbhj8ppgmgp3842qjmnvkynnzxrm8d7c3a3qyq3p6grqa29")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e78e8d199d..23ac6832fe 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> @@ -398,14 +398,14 @@ Applied Statistics with S\" (4th edition, 2002) by Venables and Ripley.") (define-public r-class (package (name "r-class") - (version "7.3-14") + (version "7.3-15") (source (origin (method url-fetch) (uri (cran-uri "class" version)) (sha256 (base32 - "173b8a16lh1i0zjmr784l0xr0azp9v8bgslh12hfdswbq7dpdf0q")))) + "1x1hqz8xyhbpq4krsh02glqnlzcch25agkmn4a3da9n723b37gzn")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass))) @@ -442,14 +442,14 @@ Hubert, based on Kaufman and Rousseeuw (1990) \"Finding Groups in Data\".") (define-public r-codetools (package (name "r-codetools") - (version "0.2-15") + (version "0.2-16") (source (origin (method url-fetch) (uri (cran-uri "codetools" version)) (sha256 (base32 - "0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf")))) + "00bmhzqprqfn3w6ghx7sakai6s7il8gbksfiawj8in5mbhbncypn")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/codetools") (synopsis "Code analysis tools for R") @@ -570,14 +570,14 @@ nonlinear mixed-effects models.") (define-public r-mgcv (package (name "r-mgcv") - (version "1.8-25") + (version "1.8-26") (source (origin (method url-fetch) (uri (cran-uri "mgcv" version)) (sha256 (base32 - "1y2rq6v45pr2wcxihhgmingcdvcsilim2cvskrlb7k2n00qg6v2q")))) + "02bsz455fr5hyhpmgcrd266qafs2wbz3ygdipxg9gfazbdvq2v4q")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix) @@ -652,14 +652,14 @@ analysis.") (define-public r-survival (package (name "r-survival") - (version "2.43-1") + (version "2.43-3") (source (origin (method url-fetch) (uri (cran-uri "survival" version)) (sha256 (base32 - "0220fjsq4ycx1n5zc5h39wdbj5j6xr8rzqbcixx2p25akzdn7kqk")))) + "0ldrjja1dj4n1ic0lbggm7jvk52sl5h85i8m23nrgndi60acsv4r")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -811,14 +811,14 @@ non-estimable cases correctly.") (define-public r-pheatmap (package (name "r-pheatmap") - (version "1.0.10") + (version "1.0.12") (source (origin (method url-fetch) (uri (cran-uri "pheatmap" version)) (sha256 (base32 - "1jzxs5hwbz3r0z2pp09i7fd14sndxnrbm3zibaac3kny4nzydzf7")))) + "1hdh74az3vyzz6dqa311rhxdm74n46lyr03p862kn80p0kp9d7ap")))) (build-system r-build-system) (propagated-inputs `(("r-gtable" ,r-gtable) @@ -1269,13 +1269,13 @@ R/DBMS implementations.") (define-public r-bh (package (name "r-bh") - (version "1.66.0-1") + (version "1.69.0-1") (source (origin (method url-fetch) (uri (cran-uri "BH" version)) (sha256 (base32 - "14kab6wp0c27d8x4jqyf065p4bj210s9b67c0bfsfjnp29aypn8p")))) + "18mckfwxxv8m8rzaz03mg2h6vhaj7y131h6yasfg0s73nxj47zd0")))) (build-system r-build-system) (home-page "https://github.com/eddelbuettel/bh") (synopsis "R package providing subset of Boost headers") @@ -1364,13 +1364,13 @@ data derived from /etc/mime.types in UNIX-type systems.") (define-public r-markdown (package (name "r-markdown") - (version "0.8") + (version "0.9") (source (origin (method url-fetch) (uri (cran-uri "markdown" version)) (sha256 (base32 - "1vcgsh2m2f5kfgappgg71nbf04ff0j1sbk668krjs3r2n89dk3sk")))) + "08xzs4bcf12jxp0276m6xqvq8kcgg5qp6fxrvsz6r9x73jjccs1h")))) (build-system r-build-system) ;; Skip check phase because the tests require the r-knitr package to be ;; installed. This prevents installation failures. Knitr normally @@ -1408,19 +1408,20 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.") (define-public r-knitr (package (name "r-knitr") - (version "1.20") + (version "1.21") (source (origin (method url-fetch) (uri (cran-uri "knitr" version)) (sha256 (base32 - "1408dm25cxahk2clff8hlajaqdj5v1gs40nm3q6rf0ghd82hj93v")))) + "0xzymi4gkilqaa5b2ay9zk1advavzkwxf7mb064bqfb09y8rak0j")))) (build-system r-build-system) (propagated-inputs `(("r-evaluate" ,r-evaluate) ("r-highr" ,r-highr) ("r-markdown" ,r-markdown) ("r-stringr" ,r-stringr) + ("r-xfun" ,r-xfun) ("r-yaml" ,r-yaml))) (home-page "http://yihui.name/knitr/") (synopsis "General-purpose package for dynamic report generation in R") @@ -1611,13 +1612,13 @@ defined in different packages.") (define-public r-rlang (package (name "r-rlang") - (version "0.3.0.1") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "rlang" version)) (sha256 (base32 - "0j7kp6h25wbkvpzr7dpc0zgdpjiwsjjlgprj3mv7bgfalfq1si99")))) + "0lbi66bavca866k26dnpkxj3l106xr4a6khcsfn8i3i8w8mpnhih")))) (build-system r-build-system) (home-page "http://rlang.tidyverse.org") (synopsis "Functions for base types, core R and Tidyverse features") @@ -1629,20 +1630,22 @@ like tidy evaluation.") (define-public r-tibble (package (name "r-tibble") - (version "1.4.2") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "tibble" version)) (sha256 (base32 - "05svbjkm1xqv56ybjgsqqg2pp8nn6hams1yxcr8aanbhzx9h6rqi")))) + "1flrvmgc77c8s0brgyha6cdz2883h6bcb2mvqi49b429x5i2vb85")))) (build-system r-build-system) (propagated-inputs - `(("r-rlang" ,r-rlang) - ("r-cli" ,r-cli) + `(("r-cli" ,r-cli) ("r-crayon" ,r-crayon) - ("r-pillar" ,r-pillar))) + ("r-fansi" ,r-fansi) + ("r-pkgconfig" ,r-pkgconfig) + ("r-pillar" ,r-pillar) + ("r-rlang" ,r-rlang))) (home-page "https://github.com/hadley/tibble") (synopsis "Simple data frames") (description @@ -1690,14 +1693,14 @@ database.") (define-public r-dbplyr (package (name "r-dbplyr") - (version "1.2.2") + (version "1.3.0") (source (origin (method url-fetch) (uri (cran-uri "dbplyr" version)) (sha256 (base32 - "0j5w6a1qim972kv4vmvinp3j50yr4idmm9cd3w7y3zsz0nq0nhcx")))) + "07p23vyvi7s4abldhkyir05kcf7xnfc18igfryq12j67xd0jql0m")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -2072,14 +2075,14 @@ limited to R.") (define-public r-backports (package (name "r-backports") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (cran-uri "backports" version)) (sha256 (base32 - "0mml9h3xagi7144pyb3jj9zbh9qzns7izkhdg7df20v7bikr6nz8")))) + "1hac46xaawnqajlsfb5k7pfkc2ya9h76s5qv9ycj3jafh93d26z4")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") @@ -2095,14 +2098,14 @@ R version.") (define-public r-checkmate (package (name "r-checkmate") - (version "1.8.5") + (version "1.9.0") (source (origin (method url-fetch) (uri (cran-uri "checkmate" version)) (sha256 (base32 - "1q6igk50lq4fp5d3imgcn1j063h3gsp214ra4nlf534hf4wjlkg9")))) + "00bjlc910y4paddvpz68pl3qyvjxlwqgyh39wpfkq43p99gvnj37")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports))) @@ -2237,14 +2240,14 @@ other packages.") (define-public r-commonmark (package (name "r-commonmark") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) (uri (cran-uri "commonmark" version)) (sha256 (base32 - "1xymqncf8byqxzpx64zlp6vbx7gry572jkr2ax0zlavr8bli861x")))) + "024iz1qp2kv6iz6y69ir0jk3qhjps86rhkzlcmhqsxx97rx7cjni")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/commonmark") (synopsis "CommonMark and Github Markdown Rendering in R") @@ -2321,13 +2324,13 @@ integers.") (define-public r-httr (package (name "r-httr") - (version "1.3.1") + (version "1.4.0") (source (origin (method url-fetch) (uri (cran-uri "httr" version)) (sha256 (base32 - "0n7jz2digbgv48rbr9vmzv4vmf4rahl9jjy31izs7sxj4rs4s4r2")))) + "0j6vknwyvkjpjsxwch4q02aik4dnm3h4l0wc7dgzc555bm1g2cyn")))) (build-system r-build-system) (propagated-inputs `(("r-curl" ,r-curl) @@ -2347,19 +2350,19 @@ functions make it easy to control additional request components.") (define-public r-git2r (package (name "r-git2r") - (version "0.23.0") + (version "0.24.0") (source (origin (method url-fetch) (uri (cran-uri "git2r" version)) (sha256 (base32 - "01250jz255fnyy2ap90nskvzhd8nhlmbhwgpvb43mk1fax077lrz")))) + "0vfc25z4j53pc49cnp3zjwzjb72kvc0aq96wgyg10xpgvhl3z0gg")))) (build-system r-build-system) ;; This R package contains modified sources of libgit2. This modified ;; version of libgit2 is built as the package is built. Hence libgit2 is ;; not among the inputs of this package. (inputs - `(("libssh2" ,libssh2) + `(("libssh2" ,libssh2) ; for SSH transport ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs @@ -2375,13 +2378,13 @@ pure C implementation of the Git core methods.") (define-public r-rstudioapi (package (name "r-rstudioapi") - (version "0.8") + (version "0.9.0") (source (origin (method url-fetch) (uri (cran-uri "rstudioapi" version)) (sha256 (base32 - "0d6r0in13k0rcyr6asanwy0a9dv4lizq6l2w913rr222pq6vrrck")))) + "0gn1pvaxfh2gh2ikvxcr8f6k97ygcfr68iz6dhwlq4z71a1s4jai")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/rstudioapi") (synopsis "Safely access the RStudio API") @@ -2467,16 +2470,18 @@ time-of-day values, based on the @code{difftime} class.") (define-public r-readr (package (name "r-readr") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (cran-uri "readr" version)) (sha256 (base32 - "1cvw5wdcqk88cp5fyv678mnmp66l3whcd2yh33p2qvx0168bja8s")))) + "1wz496rw0ah433p755n3xac8gh7yzid4xgdjzd1a7wmpkgilvy9k")))) (build-system r-build-system) (propagated-inputs - `(("r-rcpp" ,r-rcpp) + `(("r-clipr" ,r-clipr) + ("r-crayon" ,r-crayon) + ("r-rcpp" ,r-rcpp) ("r-hms" ,r-hms) ("r-tibble" ,r-tibble) ("r-r6" ,r-r6) @@ -2550,13 +2555,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.9.200.4.0") + (version "0.9.200.5.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "1ayvpyi4hgaqrhx1kqi640iillc2byj4kam7vydlgqmdrzpgrfvz")))) + "09041jnalh7352kj6lv4d0xr9c0mvf8p860q5c8m13mp214x5x7k")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (native-inputs @@ -2644,14 +2649,14 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "1.10") + (version "1.11") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 (base32 - "0mh2f3k98w7pgz0ri34149s4kx5y0kfm27nwq64k0qwxd16hwd9r")))) + "0yyjbh891mdqzpjkblz8510ng71i7mxmyiqr69x3rwlwk2vakk79")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs @@ -2661,7 +2666,6 @@ certain criterion, e.g., it contains a certain regular file.") ("r-jsonlite" ,r-jsonlite) ("r-knitr" ,r-knitr) ("r-mime" ,r-mime) - ("r-rprojroot" ,r-rprojroot) ("r-stringr" ,r-stringr) ("r-tinytex" ,r-tinytex) ("r-yaml" ,r-yaml) @@ -4105,14 +4109,14 @@ existing packages provide.") (define-public r-sfsmisc (package (name "r-sfsmisc") - (version "1.1-2") + (version "1.1-3") (source (origin (method url-fetch) (uri (cran-uri "sfsmisc" version)) (sha256 (base32 - "0cgq2h11ngkzd6p34k6mqjnvlvc5vj4lnqrl64k05lb391j391w0")))) + "1y25nnw09qfm66523w1z4q766lv15a6ykvsq30r154n7m7aggvsq")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/sfsmisc") (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich") @@ -4446,13 +4450,13 @@ dispersion modeling and Tweedie power-law families.") (define-public r-rann (package (name "r-rann") - (version "2.6") + (version "2.6.1") (source (origin (method url-fetch) (uri (cran-uri "RANN" version)) (sha256 (base32 - "1r6rivh9ba4gwnzryip0aiwsbm46zma7nvd9z5y456p2dgzp9lii")))) + "10kid40w9w7vkz2hpcfkdpxr4afxzms5dzvfwr0sl5xynzgw76dj")))) (properties `((upstream-name . "RANN"))) (build-system r-build-system) @@ -4515,14 +4519,14 @@ Farebrother's algorithm or Liu et al.'s algorithm.") (define-public r-cowplot (package (name "r-cowplot") - (version "0.9.3") + (version "0.9.4") (source (origin (method url-fetch) (uri (cran-uri "cowplot" version)) (sha256 (base32 - "1jrx1h0blkk577y4cvnjk7xccn7qmjiv2bnpgqlsjvjhsxglf41y")))) + "0yvalwalvyddyqk0q66y8361nxlh2cvp3ssazax9g5q89lghjmzv")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -4813,14 +4817,14 @@ analysis} (PCA) by projection pursuit.") (define-public r-rrcov (package (name "r-rrcov") - (version "1.4-4") + (version "1.4-7") (source (origin (method url-fetch) (uri (cran-uri "rrcov" version)) (sha256 (base32 - "0wn5h8vi0zyk5ah898m37ysz4kiih6y792nb9zdvhvd8r07f0sc5")))) + "14zjyqcdiqx6js99nx5s8hmyx564ixy2d8s6i7wa50xmx368rl6b")))) (build-system r-build-system) (propagated-inputs `(("r-cluster" ,r-cluster) @@ -5019,14 +5023,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.") (define-public r-rcppeigen (package (name "r-rcppeigen") - (version "0.3.3.4.0") + (version "0.3.3.5.0") (source (origin (method url-fetch) (uri (cran-uri "RcppEigen" version)) (sha256 (base32 - "1m6ssq6lvi36ggf26y4hhq996583pxxdb978jnn1x6r9gdb0q0hi")))) + "01bz41c29591ybzqn4z88ss036ai3anh9figryvmfpqcfwbszip5")))) (properties `((upstream-name . "RcppEigen"))) (build-system r-build-system) (propagated-inputs @@ -5089,14 +5093,14 @@ using modular prediction and response module classes.") (define-public r-quantreg (package (name "r-quantreg") - (version "5.36") + (version "5.38") (source (origin (method url-fetch) (uri (cran-uri "quantreg" version)) (sha256 (base32 - "023gdzahxp582rpabilpxbl3wyjrgjjnnrhcv9xhrqdfiq5l2yza")))) + "1vvvnk291f0dccg04l3nsnk585gq75sk0b2vdbrqv3lczvv18nw1")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5251,14 +5255,14 @@ to Applied regression, Second Edition, Sage, 2011.") (define-public r-caret (package (name "r-caret") - (version "6.0-80") + (version "6.0-81") (source (origin (method url-fetch) (uri (cran-uri "caret" version)) (sha256 (base32 - "0xhdhazzfh0hiqv2hgxglj9ffd2p4ls8acqn2sjn0ndx6158f187")))) + "1fibrskjzq2f06b8gbrfp3263svfc5s5apsjwaqdg9qzs7sy7fpc")))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 78a589ca65..40d80b4727 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -259,7 +259,7 @@ This package contains the binaries.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0fcy2hpapbj01ncpjj3v39yhr0jjxb6rm13qaxjjw66s3vydxls1")))) + "1ky6wc173jhf0b33lhyb4r3bx1d4bmiqkn6y1hxn92kwjdzl42p7")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -290,7 +290,7 @@ This package contains the binaries.") (file-name (string-append "dvips-font-maps-" version "-checkout")) (sha256 (base32 - "09hply3nmy24ilnc6cl8q70jcqxvq6bwri572kms008ini3h9vqh")))) + "0nxvfbb5vsvakiw0iviicghdc2sxk05cj056ilqnpa62fffc36a6")))) ("dvips-base-enc" ,(origin (method svn-fetch) @@ -326,7 +326,7 @@ to PostScript.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0ivrhp6jz31pl4z841g4ws41lmvdiwz4sslmhf02inlib79gz6r2")))) + "0r1v16jyfpz6dwqsgm6b9jcj4kf2pkzc9hg07s6fx9g8ba8qglih")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -365,7 +365,7 @@ out to date by @code{unicode-letters.tex}. ") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1l9wgv99qq0ysvlxqpj4g8bl0dywbzra4g8m2kmpg2fb0i0hczap")))) + "03yj1di9py92drp6gpfva6q69vk2iixr79r7cp7ja570s3pr0m33")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -436,7 +436,7 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0ghizcz7ps16dzfqf66wwg5i181assc6qsm0g7g5dbmp909931vi")))) + "1alnn9cd60m2c12vym9f9q22ap1ngywxpkjl9dk472why44g1dmy")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -545,7 +545,7 @@ build fonts using the Metafont system.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0cssbzcx15221dynp5sii72qh4l18mwkr14n8w1xb19j8pbaqasz")))) + "05rbn7z30xawd3n6w7c3ijp2yc67ga220jgqmkla9pd9wx185rzq")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -579,7 +579,7 @@ documents.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "045k5b9rdmbxpy1a3006l1x96z1rd18vg3cwrvnld9bqybw5qz44")))) + "0vfjhidr9pha613h8mfhnpcpvld6ahdfb449918fpsfs93cppkyj")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -920,7 +920,7 @@ individual symbols defined in @code{amssymb.sty}.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0mjgl3gscn3ps29yjambz1j9fg81ynnncb96vpprwx4xsijhsns0")))) + "1xknlb3gcw6jjqh97bhghxi594bzpj1zfzzfsrr9pvr9s1bx7dnf")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -965,7 +965,7 @@ book).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1h9pir2hz6i9avc4lrl733p3zf4rpkg8537x1zdbhs91hvhikw9k")))) + "17bqrzzjz16k52sc7ydl4vw7ddy2z3g0p1xsk2c35h1ynq9h3wwm")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -1086,7 +1086,7 @@ book).") "1cfwdg2rhbayl3w0x1xqd36d45zbc96f029myp13s7cb6kbmbppv")) ("texlive-generic-config" ,(texlive-dir "tex/generic/config/" - "19vj088p4kkp6xll0141m4kl6ssgdzhs3g10i232khb07aqiag8s")) + "1v90iihy112q93zdpblpdk8zv8rf99fgslsg06s1sxm27zjm9nap")) ("texlive-latex-base-support-files" ,(origin (method svn-fetch) @@ -1098,7 +1098,7 @@ book).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "16bs9pi3nq407xhg59glklqv43v102cg3yim6k3zcri5d9nkbv3a")))) + "18wy8dlcw8adl6jzqwbg54pdwlhs8hilnfvqbw6ikj6y3zhqkj7q")))) ("texlive-tex-plain" ,texlive-tex-plain) ("texlive-fonts-cm" ,texlive-fonts-cm) ("texlive-fonts-latex" ,texlive-fonts-latex) @@ -1237,7 +1237,7 @@ verbatim source).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "07azyn0b1s49vbdlr6dmygrminxp72ndl24j1091hiiccvrjq3xc")))) + "0nlfhn55ax89rcvpkrl9570671b62kcr4c9l5ch3w5zw9vmi00dz")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/graphics" @@ -1286,7 +1286,7 @@ verbatim source).") "-checkout")) (sha256 (base32 - "0gi4qv6378nl84s8n1yx3hjqvv7r4lza7hpbymbl5rzwgw8qrnyb")))))) + "17zpcgrfsr29g1dkz9np1qi63kjv7gb12rg979c6dai6qksbr3vq")))))) (home-page "https://www.ctan.org/pkg/latex-graphics") (synopsis "LaTeX standard graphics bundle") (description @@ -1362,7 +1362,7 @@ pdf and HTML backends. The package is distributed with the @code{backref} and (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0aswvsxgsn709xmvpcg50d2xl7vcy1ckdxb9c1cligqqfjjvviqf")))) + "1m9fg8ddhpsl1212igr9a9fmj012lv780aghjn6fpidg2wqrffmn")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/oberdiek" @@ -1393,7 +1393,7 @@ arrows; record information about document class(es) used; and many more.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "052a0pch2k5zls5jlay9xxcf93rw3i60a2x28y3ip3rhbsv3xgiz")))) + "0vj7h1fgf1396h4qjdc2m07y08i54gbbfrxl8y327cn3r1n093s6")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/tools" @@ -1459,7 +1459,7 @@ of file names.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0r0wfk594j8wkdqhh21haimwsfq8x5jch4ldm21hkzk5dnmvpbg6")))) + "0p3fsxap1ilwjz356aq4s5ygwvdscis8bh93g8klf8mhrd8cr2jy")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3kernel")) @@ -1483,7 +1483,7 @@ that the LaTeX3 conventions can be used with regular LaTeX 2e packages.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "16jplkvzdysfssijq9l051nsks65c2nrarsl17k8gjhc28yznj8y")))) + "0pyx0hffiyss363vv7fkrcdiaf7p099xnq0mngzqc7v8v9q849hs")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3packages" @@ -1538,11 +1538,10 @@ programming tools and kernel support. Packages provided in this release are: (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1rx43y5xmjqvc27pjdnmqwp4pcw3czcfd6nfpmzc1gnqfl1hlc0q")))) + "1p0mkn6iywl0k4m9cx3hnhylpi499inisff3f72pcf349baqsnvq")))) (build-system texlive-build-system) (arguments - '(#:tex-directory "latex/fontspec" - #:build-targets '("fontspec.dtx"))) + '(#:tex-directory "latex/fontspec")) (inputs `(("texlive-latex-l3kernel" ,texlive-latex-l3kernel))) (home-page "https://www.ctan.org/pkg/fontspec") @@ -1602,7 +1601,7 @@ this bundle for use independent of ConTeXt.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "178ywjpdlv78qmfzqdyn6gy14620zjsn2q9wap76fbr9s4hw6dba")))) + "0arvk7gn32mshnfdad5qkgf3i1arxq77k3vq7wnpm4nwnrzclxal")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/amsmath")) (home-page "https://www.ctan.org/pkg/amsmath") @@ -1631,7 +1630,7 @@ definitions.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0jmcr37mcdi7drczppvr6lmz5d5yd9m67ii79gp2nglg1xpw934j")))) + "0c2j9xh4qpi0x1vvcxdjxq6say0zhyr569fryi5cmhp8bclh4kca")))) (build-system texlive-build-system) (arguments `(#:tex-directory "latex/amscls")) @@ -1655,7 +1654,7 @@ distribution.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1n3i5adsyy7jw0imnzrm2i8wkf73i3mjk9h3ic8cb9cd19i4r9r3")))) + "0yhlfiz3fjc8jd46f1zrjj4jig48l8rrzh8cmd8ammml8z9a01z6")))) (build-system texlive-build-system) (arguments '(#:tex-directory "generic/babel" @@ -1712,7 +1711,7 @@ for Canadian and USA text.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1mdhl35hwas68ki56qqngzar37dwv4mm64l2canihr255bz34lbv")))) + "083xbwg7hrnlv47fkwvz8yjb830bhxx7y0mq7z7nz2f96y2ldr6b")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/cyrillic")) @@ -1946,6 +1945,13 @@ ipsum\" text, see the @code{lipsum} package).") (add-after 'unpack 'remove-generated-file (lambda _ (delete-file "dinbrief.drv") + #t)) + (add-after 'unpack 'fix-encoding-error + (lambda _ + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* "dinbrief.dtx" + (("zur Verf.+ung. In der Pr\"aambel") + "zur Verf\"ung. In der Pr\"aambel"))) #t))))) (home-page "https://www.ctan.org/pkg/dinbrief") (synopsis "German letter DIN style") @@ -2016,7 +2022,7 @@ define a new author interface to creating new environments.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0pvmhsd4xmpil0m3c7qcgwilbk266mlkzv03g0jr8r3zd8jxlyzq")))) + "1ib5xdwcj5wk23wgk41m2hdcjr1dzrs4l3wwnpink9mlapz12wjs")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/eqparbox")) (home-page "https://www.ctan.org/pkg/eqparbox") @@ -2114,7 +2120,7 @@ but non-expandable ones.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "11gvvjvmdfs9b7mm19yf80zwkx49jqcbq6g8qb9y5ns1r1qvnixp")))) + "157pplavvm2z97b3jl4x41w11k6q9wgy074mfg0dwmsx5lm328jy")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/ifplatform")) (home-page "https://www.ctan.org/pkg/ifplatform") @@ -2178,34 +2184,70 @@ with a user specified LaTeX construction, properly aligned, scaled, and/or rotated.") (license (license:fsf-free "file://psfrag.dtx")))) +(define-public texlive-latex-xkeyval + (package + (name "texlive-latex-xkeyval") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "xkeyval")) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0wancavix39j240pd8m9cgmwsijwx6jd6n54v8wg0x2rk5m44myp")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/xkeyval")) + (home-page "https://www.ctan.org/pkg/xkeyval") + (synopsis "Macros for defining and setting keys") + (description + "This package is an extension of the @code{keyval} package and offers +more flexible macros for defining and setting keys. The package provides a +pointer and a preset system. Furthermore, it supplies macros to allow class +and package options to contain options of the @code{key=value} form. A LaTeX +kernel patch is provided to avoid premature expansions of macros in class or +package options. A specialized system for setting @code{PSTricks} keys is +provided by the @code{pst-xkey} package.") + (license license:lppl1.3+))) + (define-public texlive-latex-pstool (package (name "texlive-latex-pstool") (version (number->string %texlive-revision)) (source (origin (method svn-fetch) - (uri (texlive-ref "latex" "pstool")) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/pstool")) + (revision %texlive-revision))) (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1kwlk1x67lad4xb7gpkxqgdlxwpi6nvq1r9wika7m92abmyf18h3")))) - (build-system texlive-build-system) + "1h816jain8c9nky75kk8pmmwj5b4yf9dpqvdvi2l6jhfj5iqkzr8")))) + (build-system trivial-build-system) (arguments - '(#:tex-directory "latex/pstool" - #:tex-format "latex")) - (inputs - `(("texlive-fonts-cm" ,texlive-fonts-cm) - ("texlive-latex-filecontents" ,texlive-latex-filecontents))) + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/latex/pstool"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) (propagated-inputs - `(("texlive-latex-bigfoot" ,texlive-latex-bigfoot) + `(("texlive-latex-bigfoot" ,texlive-latex-bigfoot) ; for suffix ("texlive-latex-filemod" ,texlive-latex-filemod) ("texlive-latex-graphics" ,texlive-latex-graphics) ("texlive-latex-ifplatform" ,texlive-latex-ifplatform) + ("texlive-latex-l3kernel" ,texlive-latex-l3kernel) ; for expl3 ("texlive-latex-oberdiek" ,texlive-latex-oberdiek) ("texlive-latex-psfrag" ,texlive-latex-psfrag) - ("texlive-latex-trimspaces" ,texlive-latex-trimspaces))) + ("texlive-latex-tools" ,texlive-latex-tools) ; for shellesc + ("texlive-latex-trimspaces" ,texlive-latex-trimspaces) + ("texlive-latex-xkeyval" ,texlive-latex-xkeyval))) (home-page "https://www.ctan.org/pkg/pstool") - (synopsis "Process PostScript graphisc within pdfLaTeX documents") + (synopsis "Process PostScript graphics within pdfLaTeX documents") (description "This is a package for processing PostScript graphics with @code{psfrag} labels within pdfLaTeX documents. Every graphic is compiled individually, @@ -2360,7 +2402,7 @@ hyperlink to the target of the DOI.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0016bscnpima9krrg2569mva78xzwnygzlvg87dznsm6gf8g589v")))) + "1agmq6bf8wzcd77n20ng8bl4kh69cg5f6sjniii7bcw4llhd3nc8")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -2542,7 +2584,7 @@ BibLaTeX, and is considered experimental.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1r2kfcwclg33yk5z8mvlagwxj7nr1mc3w4bdpmhrwv6dn8mrbvw8")))) + "0yw6bjfgsli3s1dldsgb7mkr7lnk329cgdjbgs8z2xn59pmmdsn4")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/geometry")) (home-page "https://www.ctan.org/pkg/geometry") @@ -2591,7 +2633,7 @@ array environments; verbatim handling; and syntax diagrams.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "09mvszd5qgqg4cfglpj5qxyzjz190ppb9p8gnsnjydwp1akvhayf")))) + "03ma58z3ypsbp7zgkzb1ylpn2ygr27cxzkf042ns0rif4g8s491f")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/polyglossia")) (home-page "https://www.ctan.org/pkg/polyglossia") @@ -2637,7 +2679,7 @@ situations where longtable has problems.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "09zj2w3lx0y6i2syfjjgizahf86z301dw8p37ln6syfhqhzqdz46")))) + "06cf821y1j7jdg93pb41ayigrfwgn0y49d7w1025zlijjxi6bvjp")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -2754,7 +2796,7 @@ command.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1ik4m8pzfsn1grlda6fniqqfwmgj7rfxwg63jdw0p0qv002vc7ik")))) + "05x15ilynqrl448h8l6qiraygamdldlngz89a2bw7kg74fym14ch")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/changebar")) (home-page "https://www.ctan.org/pkg/changebar") @@ -2870,7 +2912,7 @@ floats, center, flushleft, and flushright, lists, and pages.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "04h430agf8aj7ziwyb46xpk95c605rjk1wzhr63m6ylipihidlgw")))) + "1xsnzx7vgdfh9zh2m7bjz6bgdpxsgb1kyc19p50vhs34x5nbgsnr")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -3288,7 +3330,7 @@ entry at the \"natural\" width of its text.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0m29q9qdb00558b7g2i7iw6w62n5s46yx81j8m99qkv77magk4fm")))) + "1rpx4ibjncj5416rg19v0xjbj3z9avhfdfn2gzp8r8sz9vz25c6g")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -3354,7 +3396,7 @@ designed class) helps alleviate this untidiness.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "06p5smfq66559ppdnmkl3hp8534x84ywbscimsiir4gllpya3i9h")))) + "0s4izcah7im67889qz4d26pcfpasmm35sj1rw4ragkkdk3rlbbbd")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/pdfpages")) (home-page "https://www.ctan.org/pkg/pdfpages") @@ -3768,7 +3810,7 @@ OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "03nvjddffiz796wll6axzmgfvynyciy2mqamv20qx252w71vwkwd")))) + "0sf18pc6chgy26p9bxxn44xcqhzjrfb53jxjr2y7l3jb6xllhblq")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -3948,7 +3990,7 @@ package of that name now exists.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0j6fff6q0ca96nwfdgay2jm55792z4q9aa0rczmiw2qccyg5n2dv")))) + "1hpsk4yp08qvbl43kqiv0hhwxv3gcqqxcpahyv6ch2b38pbj4bh6")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/preview" @@ -4035,7 +4077,7 @@ e-TeX.") (file-name (string-append name "-map-" version "-checkout")) (sha256 (base32 - "197z9kx3bpnz58f5xrn5szyvmb3fxqq12y5sc4dw4jnm3xll8ji2")))))) + "18jvcm0vwpg6wwzijvnb92xx78la45kkh71k6l44425krp2vnwm0")))))) (home-page "https://www.ctan.org/pkg/pdftex") (synopsis "TeX extension for direct creation of PDF") (description @@ -4515,7 +4557,7 @@ required: automatic sectioning and pagination, spell checking and so forth.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "01ysky8h8s6q12dxfahkzwhbkc9j5wl50xzcczy0cbjx9f6aj9kv")))) + "0lhb2h5hxjq9alpk4r3gvg21pwyifs4ah6hqzp92k55mkp1xv73j")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -4555,7 +4597,7 @@ specification. It replaces the now obsolete @code{movie15} package.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "12kkl7n534j0p4frwyrlw22dc3ik50kxv97cxp4xpmji13m0hxpf")))) + "0zp00jg058djx8xp0xqwas92y3j97clkyd8z6pqr890yqy06myqb")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -4785,7 +4827,7 @@ produce either PostScript or PDF output.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1g8qg796hc6s092islnybaxs115ldsqwp2vxkk3gpy6vh7wc9r50")))) + "0nqwf0sr4mf3v9gqa6apv6ml2xhcdwax0vgyf12a672g7rpdyvgm")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils) @@ -4845,7 +4887,7 @@ typearea (which are the main parts of the bundle).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1k50z6ixgwwzy84mi0dr5vcjah5p7wvgq66y45bilm91a4m8sgla")))) + "0hs28fc0v2l92ad9las9b8xcckyrdrwmyhcx1yzmbr6s7s6nvsx8")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5111,7 +5153,7 @@ TeX).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1gk9q22fcb2fa1ql6cf9yw505x6a6axdzzfxbsya7nkrph860af8")))) + "0hnbs0s1znbn32hfcsyijl39z81sdb00jf092a4blqz421qs2mbv")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5215,7 +5257,7 @@ for use with LaTeX is available in @code{freenfss}, part of (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0zwl0cg6pka13i26dpqh137391f3j9sk69cpvwrm4ivsa0rqnw6g")))) + "0rlx4qqijms1n64gjx475kvip8l322fh7v17zkmwp1l1g0w3vlyz")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 24b17111e9..e7da5b30c0 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -125,7 +125,7 @@ over IRC, instant messaging, network games, and most server software.") (define-public libupnp (package (name "libupnp") - (version "1.6.24") + (version "1.6.25") (source (origin (method url-fetch) @@ -133,7 +133,7 @@ over IRC, instant messaging, network games, and most server software.") version "/" name "-" version ".tar.bz2")) (sha256 (base32 - "15ngi1i7cvsv7g15fb9bkswvi99d1plz52x5qgjn4h5vyfddg0vx")))) + "0hzsd7rvfa87b4hxg9yj4xhdfxx9sp09r9sqdl3mqhvmcyw018y5")))) (build-system gnu-build-system) (arguments ;; The tests require a network device capable of multicasting which is diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 2eaf0c69f4..b62562902d 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -524,7 +524,7 @@ everything from small to very large projects with speed and efficiency.") (define-public libgit2 (package (name "libgit2") - (version "0.26.8") + (version "0.27.7") (source (origin (method url-fetch) (uri (string-append "https://github.com/libgit2/libgit2/" @@ -532,7 +532,7 @@ everything from small to very large projects with speed and efficiency.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15kp4sq72kh762bm7dgspyrk0a6siarvll3k7nrhs0xy77idf80g")) + "0c95pbv7hwclwmn51nqnh1lb0cajpcdb24pbdzcir6vmhfj3am0s")) (patches (search-patches "libgit2-mtime-0.patch" "libgit2-oom-test.patch")) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index e355255bfc..3f3d232df2 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> -;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> @@ -704,6 +704,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") ("libbluray" ,libbluray) ("libcaca" ,libcaca) ("libcdio-paranoia" ,libcdio-paranoia) + ("libdrm" ,libdrm) ("libtheora" ,libtheora) ("libva" ,libva) ("libvdpau" ,libvdpau) @@ -805,6 +806,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") "--enable-libx265" "--enable-openal" "--enable-opengl" + "--enable-libdrm" "--enable-runtime-cpudetect" @@ -3267,3 +3269,32 @@ transitions, and effects and then export your film to many common formats.") (description "dav1d is a new AV1 cross-platform decoder, and focused on speed and correctness.") (license license:bsd-2))) + +(define-public wlstream + (let ((commit "182076a94562b128c3a97ecc53cc68905ea86838") + (revision "1")) + (package + (name "wlstream") + (version (git-version "0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atomnuker/wlstream.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp")))) + (build-system meson-build-system) + (native-inputs `(("libdrm" ,libdrm) + ("pkg-config" ,pkg-config))) + (inputs `(("ffmpeg" ,ffmpeg) + ("pulseaudio" ,pulseaudio) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols))) + (home-page "https://github.com/atomnuker/wlstream") + (synopsis "Screen capture tool for Wayland sessions") + (description "Wlstream is a screen capture tool for recording audio and +video from a Wayland session.") + (license license:lgpl2.1+)))) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 57c5c34da1..9b82535aa7 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1074,3 +1075,30 @@ and the user can specify exactly what parts of the filesystem should be visible in the sandbox. Any such directories specified is mounted nodev by default, and can be made readonly.") (license license:lgpl2.0+))) + +(define-public bochs + (package + (name "bochs") + (version "2.6.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://sourceforge.net/projects/bochs/files/bochs/" + version "/bochs-" version ".tar.gz")) + (sha256 + (base32 + "1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; No tests exist + (inputs + `(("libxrandr" ,libxrandr))) + (home-page "http://bochs.sourceforge.net/") + (synopsis "Emulator for x86 PC") + (description + "Bochs is an emulator which can emulate Intel x86 CPU, common I/O +devices, and a custom BIOS. It can also be compiled to emulate many different +x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors. +Bochs can run most Operating Systems inside the emulation including Linux, +DOS or Microsoft Windows.") + (license license:lgpl2.0+))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 5df1816fac..c94fd4f0c0 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -122,14 +122,14 @@ (define-public httpd (package (name "httpd") - (version "2.4.35") + (version "2.4.37") (source (origin (method url-fetch) (uri (string-append "mirror://apache/httpd/httpd-" version ".tar.bz2")) (sha256 (base32 - "0mlvwsm7hmpc7db6lfc2nx3v4cll3qljjxhjhgsw6aniskywc1r6")))) + "09npb7vlz5sizgj0nvl0bqxj9zig29ipkp07fgmw5ykjcxfdr61l")))) (build-system gnu-build-system) (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(("apr" ,apr) @@ -5068,15 +5068,16 @@ into your tests. It automatically starts up a HTTP server in a separate thread (define-public http-parser (package (name "http-parser") - (version "2.8.1") + (version "2.9.0") + (home-page "https://github.com/nodejs/http-parser") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/nodejs/http-parser/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai")))) + "1qa3rh9x4as2fc2p0y2hah83iqs7jr5106a8anv317359dgf3ssj")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -5087,7 +5088,6 @@ into your tests. It automatically starts up a HTTP server in a separate thread #:phases (modify-phases %standard-phases (delete 'configure)))) - (home-page "https://github.com/nodejs/http-parser") (synopsis "HTTP request/response parser for C") (description "This is a parser for HTTP messages written in C. It parses both requests and responses. The parser is designed to be used in diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 17e0b853e0..b0cba94c00 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -224,48 +224,48 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package - (name "wine-staging-patchset-data") - (version "4.0-rc5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wine-staging/wine-staging") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0smp6ngs77vk1yg0saavhhn7kmi9ri8y8gc3vcgg837ycwg5i5qb")))) - (build-system trivial-build-system) - (native-inputs - `(("bash" ,bash) - ("coreutils" ,coreutils))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((build-directory ,(string-append name "-" version)) - (source (assoc-ref %build-inputs "source")) - (bash (assoc-ref %build-inputs "bash")) - (coreutils (assoc-ref %build-inputs "coreutils")) - (out (assoc-ref %outputs "out")) - (wine-staging (string-append out "/share/wine-staging"))) - (copy-recursively source build-directory) - (with-directory-excursion build-directory - (substitute* "patches/patchinstall.sh" - (("/bin/sh") - (string-append bash "/bin/sh"))) - (substitute* "patches/gitapply.sh" - (("/usr/bin/env") - (string-append coreutils "/bin/env")))) - (copy-recursively build-directory wine-staging) - #t)))) - (home-page "https://github.com/wine-staging") - (synopsis "Patchset for Wine") - (description - "wine-staging-patchset-data contains the patchset to build Wine-Staging.") - (license license:lgpl2.1+))) + (name "wine-staging-patchset-data") + (version "4.0-rc5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wine-staging/wine-staging") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0smp6ngs77vk1yg0saavhhn7kmi9ri8y8gc3vcgg837ycwg5i5qb")))) + (build-system trivial-build-system) + (native-inputs + `(("bash" ,bash) + ("coreutils" ,coreutils))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((build-directory ,(string-append name "-" version)) + (source (assoc-ref %build-inputs "source")) + (bash (assoc-ref %build-inputs "bash")) + (coreutils (assoc-ref %build-inputs "coreutils")) + (out (assoc-ref %outputs "out")) + (wine-staging (string-append out "/share/wine-staging"))) + (copy-recursively source build-directory) + (with-directory-excursion build-directory + (substitute* "patches/patchinstall.sh" + (("/bin/sh") + (string-append bash "/bin/sh"))) + (substitute* "patches/gitapply.sh" + (("/usr/bin/env") + (string-append coreutils "/bin/env")))) + (copy-recursively build-directory wine-staging) + #t)))) + (home-page "https://github.com/wine-staging") + (synopsis "Patchset for Wine") + (description + "wine-staging-patchset-data contains the patchset to build Wine-Staging.") + (license license:lgpl2.1+))) (define-public wine-staging (package @@ -286,6 +286,7 @@ integrate Windows applications into your desktop.") ("ffmpeg" ,ffmpeg) ("gtk+" ,gtk+) ("libva" ,libva) + ("mesa" ,mesa) ("python" ,python) ("sdl2" ,sdl2) ("util-linux" ,util-linux) ; for hexdump @@ -296,6 +297,27 @@ integrate Windows applications into your desktop.") (arguments `(#:phases (modify-phases %standard-phases + ;; Explicitely set the 32-bit version of vulkan-loader when installing + ;; to i686-linux or x86_64-linux. + ;; TODO: Add more JSON files as they become available in Mesa. + ,@(match (%current-system) + ((or "i686-linux" "x86_64-linux") + `((add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (icd (string-append out "/share/vulkan/icd.d"))) + (mkdir-p icd) + (copy-file (string-append (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/radeon_icd.i686.json") + (string-append icd "/radeon_icd.i686.json")) + (wrap-program (string-append out "/bin/wine-preloader") + `("VK_ICD_FILENAMES" ":" = + (,(string-append icd + "/radeon_icd.i686.json")))) + #t))))) + (_ + `()) + ) (add-before 'configure 'patch-source-wine-staging (lambda* (#:key outputs #:allow-other-keys) (let* ((source (assoc-ref %build-inputs "source")) @@ -344,6 +366,34 @@ integrated into the main branch.") (string-append "libdir=" %output "/lib/wine64")) #:phases (modify-phases %standard-phases + ;; Explicitely set both the 64-bit and 32-bit versions of vulkan-loader + ;; when installing to x86_64-linux so both are available. + ;; TODO: Add more JSON files as they become available in Mesa. + ,@(match (%current-system) + ((or "x86_64-linux") + `((add-after 'copy-wine32-binaries 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/wine-preloader") + `("VK_ICD_FILENAMES" ":" = + (,(string-append (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/radeon_icd.x86_64.json" ":" + (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/intel_icd.x86_64.json" ":" + (assoc-ref inputs "wine-staging") + "/share/vulkan/icd.d/radeon_icd.i686.json")))) + (wrap-program (string-append out "/bin/wine64-preloader") + `("VK_ICD_FILENAMES" ":" = + (,(string-append (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/radeon_icd.x86_64.json" + ":" (assoc-ref inputs "mesa") + "/share/vulkan/icd.d/intel_icd.x86_64.json" + ":" (assoc-ref inputs "wine-staging") + "/share/vulkan/icd.d/radeon_icd.i686.json")))) + #t))))) + (_ + `()) + ) (add-before 'configure 'patch-source-wine-staging (lambda* (#:key outputs #:allow-other-keys) (let* ((source (assoc-ref %build-inputs "source")) @@ -359,7 +409,9 @@ integrated into the main branch.") ;; Copy the 32-bit binaries needed for WoW64. (copy-file (string-append wine32 "/bin/wine") (string-append out "/bin/wine")) - (copy-file (string-append wine32 "/bin/wine-preloader") + ;; Copy the real 32-bit wine-preloader instead of the wrapped + ;; version. + (copy-file (string-append wine32 "/bin/.wine-preloader-real") (string-append out "/bin/wine-preloader")) #t))) (add-after 'compress-documentation 'copy-wine32-manpage diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 993a2e59e4..4b758838e8 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -990,7 +990,7 @@ color temperature should be set to match the lamps in your room.") (define-public xscreensaver (package (name "xscreensaver") - (version "5.40") + (version "5.42") (source (origin (method url-fetch) @@ -999,7 +999,7 @@ color temperature should be set to match the lamps in your room.") version ".tar.gz")) (sha256 (base32 - "1q2sr7h6ps6d3hk8895g12rrcqiihjl7py1ly077ikv4866r181h")))) + "1qfbsnj7201d03vf0b2lzxmlcq4kvkvzp48r5gcgsjr17c1sl7a4")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -1013,7 +1013,9 @@ color temperature should be set to match the lamps in your room.") #t))) #:configure-flags '("--with-pam" "--with-proc-interrupts" "--without-readdisplay") - #:make-flags (list (string-append "AD_DIR=" + ;; FIXME: Remove CFLAGS once our default compiler is GCC6 or later. + #:make-flags (list "CFLAGS=-std=c99" + (string-append "AD_DIR=" (assoc-ref %outputs "out") "/usr/lib/X11/app-defaults")))) (native-inputs @@ -1105,7 +1107,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (define-public rofi (package (name "rofi") - (version "1.5.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/DaveDavenport/rofi/" @@ -1113,7 +1115,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "0wx118banbwfqdwc5y44fkp3hxg97gj3vma16528slhy408hkg7i")))) + "17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) @@ -1611,7 +1613,7 @@ colors on all monitors attached to an XRandR-capable X11 display server.") (synopsis "Set the color temperature of the screen") (description "@code{sct} is a lightweight utility to set the color temperature of the screen.") - (license license:bsd-3))) + (license (license:non-copyleft "file://sct.c")))) ; "OpenBSD" license (define-public wl-clipboard (package diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 67bdaef18c..8395a856fc 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> @@ -25,6 +25,7 @@ (define-module (gnu services base) #:use-module (guix store) + #:use-module (guix deprecation) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu system pam) @@ -614,8 +615,9 @@ file systems, as well as corresponding @file{/etc/fstab} entries."))) generator (RNG) with the value recorded when the system was last shut down."))) -(define (urandom-seed-service) ;deprecated - (service urandom-seed-service-type #f)) +(define-deprecated (urandom-seed-service) + urandom-seed-service-type + (service urandom-seed-service-type)) ;;; @@ -1686,7 +1688,9 @@ failed to register public key '~a': ~a~%" key status))))))) (description "Run the build daemon of GNU@tie{}Guix, aka. @command{guix-daemon}."))) -(define* (guix-service #:optional (config %default-guix-configuration)) +(define-deprecated (guix-service #:optional + (config %default-guix-configuration)) + guix-service-type "Return a service that runs the Guix build daemon according to @var{config}." (service guix-service-type config)) @@ -1787,7 +1791,9 @@ failed to register public key '~a': ~a~%" key status))))))) "Add a Shepherd service running @command{guix publish}, a command that allows you to share pre-built binaries with others over HTTP."))) -(define* (guix-publish-service #:key (guix guix) (port 80) (host "localhost")) +(define-deprecated (guix-publish-service #:key (guix guix) + (port 80) (host "localhost")) + guix-publish-service-type "Return a service that runs @command{guix publish} listening on @var{host} and @var{port} (@pxref{Invoking guix publish}). @@ -2078,8 +2084,9 @@ command-line options. GPM allows users to use the mouse in the console, notably to select, copy, and paste text. The default options use the @code{ps2} protocol, which works for both USB and PS/2 mice."))) -(define* (gpm-service #:key (gpm gpm) ;deprecated - (options %default-gpm-options)) +(define-deprecated (gpm-service #:key (gpm gpm) + (options %default-gpm-options)) + gpm-service-type "Run @var{gpm}, the general-purpose mouse daemon, with the given command-line @var{options}. GPM allows users to use the mouse in the console, notably to select, copy, and paste text. The default value of @var{options} diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm new file mode 100644 index 0000000000..09fe3cc1c3 --- /dev/null +++ b/gnu/services/docker.scm @@ -0,0 +1,102 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.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/>. + +(define-module (gnu services docker) + #:use-module (gnu services) + #:use-module (gnu services configuration) + #:use-module (gnu services base) + #:use-module (gnu services dbus) + #:use-module (gnu services shepherd) + #:use-module (gnu system shadow) + #:use-module (gnu packages docker) + #:use-module (guix records) + #:use-module (guix gexp) + #:use-module (guix packages) + + #:export (docker-configuration + docker-service-type)) + +(define-configuration docker-configuration + (docker + (package docker) + "Docker daemon package.") + (containerd + (package containerd) + "containerd package.")) + +(define %docker-accounts + (list (user-group (name "docker") (system? #t)))) + +(define (%containerd-activation config) + (let ((state-dir "/var/lib/containerd")) + #~(begin + (use-modules (guix build utils)) + (mkdir-p #$state-dir)))) + +(define (%docker-activation config) + (%containerd-activation config) + (let ((state-dir "/var/lib/docker")) + #~(begin + (use-modules (guix build utils)) + (mkdir-p #$state-dir)))) + +(define (containerd-shepherd-service config) + (let* ((package (docker-configuration-containerd config))) + (shepherd-service + (documentation "containerd daemon.") + (provision '(containerd)) + (start #~(make-forkexec-constructor + (list (string-append #$package "/bin/containerd")) + #:log-file "/var/log/containerd.log")) + (stop #~(make-kill-destructor))))) + +(define (docker-shepherd-service config) + (let* ((docker (docker-configuration-docker config))) + (shepherd-service + (documentation "Docker daemon.") + (provision '(dockerd)) + (requirement '(containerd + file-system-/sys/fs/cgroup/blkio + file-system-/sys/fs/cgroup/cpu + file-system-/sys/fs/cgroup/cpuset + file-system-/sys/fs/cgroup/devices + file-system-/sys/fs/cgroup/memory + ; TODO: file-system-/sys/fs/cgroup/pids + )) + (start #~(make-forkexec-constructor + (list (string-append #$docker "/bin/dockerd") + "-p" "/var/run/docker.pid") + #:pid-file "/var/run/docker.pid" + #:log-file "/var/log/docker.log")) + (stop #~(make-kill-destructor))))) + +(define docker-service-type + (service-type (name 'docker) + (description "Provide capability to run Docker application +bundles in Docker containers.") + (extensions + (list + (service-extension activation-service-type + %docker-activation) + (service-extension shepherd-root-service-type + (lambda (config) + (list (containerd-shepherd-service config) + (docker-shepherd-service config)))) + (service-extension account-service-type + (const %docker-accounts)))) + (default-value (docker-configuration)))) diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm index 120b663e3e..e4b652b3d4 100644 --- a/gnu/services/mcron.scm +++ b/gnu/services/mcron.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +21,7 @@ #:use-module (gnu services base) #:use-module (gnu services shepherd) #:autoload (gnu packages guile) (mcron) + #:use-module (guix deprecation) #:use-module (guix records) #:use-module (guix gexp) #:use-module (srfi srfi-1) @@ -142,7 +143,8 @@ files." jobs))))) (default-value (mcron-configuration)))) ;empty job list -(define* (mcron-service jobs #:optional (mcron mcron)) +(define-deprecated (mcron-service jobs #:optional (mcron mcron)) + mcron-service-type "Return an mcron service running @var{mcron} that schedules @var{jobs}, a list of gexps denoting mcron job specifications. diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 92f86a1b83..e70f1b70ef 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; ;;; This file is part of GNU Guix. @@ -32,6 +32,7 @@ #:use-module (guix modules) #:use-module (guix records) #:use-module (guix packages) + #:use-module (guix deprecation) #:use-module (srfi srfi-1) #:use-module (srfi srfi-35) #:use-module (ice-9 match) @@ -882,9 +883,10 @@ string, you could instantiate a prosody service like this: "Run @url{http://bitlbee.org,BitlBee}, a daemon that acts as a gateway between IRC and chat networks."))) -(define* (bitlbee-service #:key (bitlbee bitlbee) ;deprecated - (interface "127.0.0.1") (port 6667) - (extra-settings "")) +(define-deprecated (bitlbee-service #:key (bitlbee bitlbee) + (interface "127.0.0.1") (port 6667) + (extra-settings "")) + bitlbee-service-type "Return a service that runs @url{http://bitlbee.org,BitlBee}, a daemon that acts as a gateway between IRC and chat networks. diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index bfa6e297e6..cab129e0c3 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> @@ -45,6 +45,7 @@ #:use-module (guix gexp) #:use-module (guix records) #:use-module (guix modules) + #:use-module (guix deprecation) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) @@ -206,7 +207,8 @@ fe80::1%lo0 apps.facebook.com\n") (stop #~(make-kill-destructor)))) isc-dhcp)) -(define* (dhcp-client-service #:key (dhcp isc-dhcp)) ;deprecated +(define-deprecated (dhcp-client-service #:key (dhcp isc-dhcp)) + dhcp-client-service-type "Return a service that runs @var{dhcp}, a Dynamic Host Configuration Protocol (DHCP) client, on all the non-loopback network interfaces." (service dhcp-client-service-type dhcp)) @@ -374,9 +376,10 @@ daemon of the @uref{http://www.ntp.org, Network Time Foundation}. The daemon will keep the system clock synchronized with that of the given servers.") (default-value (ntp-configuration)))) -(define* (ntp-service #:key (ntp ntp) ;deprecated - (servers %ntp-servers) - allow-large-adjustment?) +(define-deprecated (ntp-service #:key (ntp ntp) + (servers %ntp-servers) + allow-large-adjustment?) + ntp-service-type "Return a service that runs the daemon from @var{ntp}, the @uref{http://www.ntp.org, Network Time Protocol package}. The daemon will keep the system clock synchronized with that of @var{servers}. @@ -752,9 +755,10 @@ HiddenServicePort ~a ~a~%" "Run the @uref{https://torproject.org, Tor} anonymous networking daemon."))) -(define* (tor-service #:optional - (config-file (plain-file "empty" "")) - #:key (tor tor)) +(define-deprecated (tor-service #:optional + (config-file (plain-file "empty" "")) + #:key (tor tor)) + tor-service-type "Return a service to run the @uref{https://torproject.org, Tor} anonymous networking daemon. diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index b3c24746d1..2f91619219 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com> ;;; @@ -40,6 +40,7 @@ #:use-module (guix packages) #:use-module (guix derivations) #:use-module (guix records) + #:use-module (guix deprecation) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) @@ -521,14 +522,15 @@ reboot_cmd " shepherd "/sbin/reboot\n" (const (list xterm))))) (default-value (slim-configuration)))) -(define* (slim-service #:key (slim slim) ;deprecated - (allow-empty-passwords? #t) auto-login? - (default-user "") - (theme %default-slim-theme) - (theme-name %default-slim-theme-name) - (xauth xauth) (shepherd shepherd) - (auto-login-session #f) - (startx (xorg-start-command))) +(define-deprecated (slim-service #:key (slim slim) + (allow-empty-passwords? #t) auto-login? + (default-user "") + (theme %default-slim-theme) + (theme-name %default-slim-theme-name) + (xauth xauth) (shepherd shepherd) + (auto-login-session #f) + (startx (xorg-start-command))) + slim-service-type "Return a service that spawns the SLiM graphical login manager, which in turn starts the X display server with @var{startx}, a command as returned by @code{xorg-start-command}. @@ -628,7 +630,8 @@ makes the good ol' XlockMore usable." (allow-empty-passwords? gdm-configuration-allow-empty-passwords? (default #t)) (auto-login? gdm-configuration-auto-login? (default #f)) (default-user gdm-configuration-default-user (default #f)) - (x-server gdm-configuration-x-server)) + (x-server gdm-configuration-x-server + (default (xorg-wrapper)))) (define (gdm-etc-service config) (define gdm-configuration-file @@ -719,14 +722,20 @@ makes the good ol' XlockMore usable." (service-extension etc-service-type gdm-etc-service) (service-extension dbus-root-service-type - (compose list gdm-configuration-gdm)))))) + (compose list + gdm-configuration-gdm)))) + (default-value (gdm-configuration)) + (description + "Run the GNOME Desktop Manager (GDM), a program that allows +you to log in in a graphical session, whether or not you use GNOME."))) ;; This service isn't working yet; it gets as far as starting to run the ;; greeter from gnome-shell but doesn't get any further. It is here because ;; it doesn't hurt anyone and perhaps it inspires someone to fix it :) -(define* (gdm-service #:key (gdm gdm) - (allow-empty-passwords? #t) - (x-server (xorg-wrapper))) +(define-deprecated (gdm-service #:key (gdm gdm) + (allow-empty-passwords? #t) + (x-server (xorg-wrapper))) + gdm-service-type "Return a service that spawns the GDM graphical login manager, which in turn starts the X display server with @var{X}, a command as returned by @code{xorg-wrapper}. diff --git a/gnu/system/install.scm b/gnu/system/install.scm index c345ba0626..19a6f6a038 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -253,7 +253,8 @@ You have been warned. Thanks for being so brave.\x1b[0m ;; The build daemon. Register the official server keys as trusted. ;; This allows the installation process to use substitutes by ;; default. - (guix-service (guix-configuration (authorize-key? #t))) + (service guix-service-type + (guix-configuration (authorize-key? #t))) ;; Start udev so that useful device nodes are available. ;; Use device-mapper rules for cryptsetup & co; enable the CRDA for diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 8d4e218a8f..2b20aac1dc 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. @@ -627,7 +627,8 @@ non-ASCII names from /tmp.") (job3 #~(job next-second-from ;to test $PATH "touch witness-touch"))) (simple-operating-system - (mcron-service (list job1 job2 job3))))) + (service mcron-service-type + (mcron-configuration (jobs (list job1 job2 job3))))))) (define (run-mcron-test name) (define os diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm new file mode 100644 index 0000000000..453ed4893d --- /dev/null +++ b/gnu/tests/docker.scm @@ -0,0 +1,99 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.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/>. + +(define-module (gnu tests docker) + #:use-module (gnu tests) + #:use-module (gnu system) + #:use-module (gnu system file-systems) + #:use-module (gnu system vm) + #:use-module (gnu services) + #:use-module (gnu services dbus) + #:use-module (gnu services networking) + #:use-module (gnu services docker) + #:use-module (gnu services desktop) + #:use-module (gnu packages docker) + #:use-module (guix gexp) + #:use-module (guix store) + #:export (%test-docker)) + +(define %docker-os + (simple-operating-system + (service dhcp-client-service-type) + (dbus-service) + (polkit-service) + (service elogind-service-type) + (service docker-service-type))) + +(define (run-docker-test) + "Run tests in %DOCKER-OS." + (define os + (marionette-operating-system + %docker-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 500) + (disk-image-size (* 250 (expt 2 20))) + (port-forwardings '()))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "docker") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'dockerd) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-eq "fetch version" + 0 + (marionette-eval + `(begin + (system* ,(string-append #$docker-cli "/bin/docker") + "version")) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "docker-test" test)) + +(define %test-docker + (system-test + (name "docker") + (description "Connect to the running Docker service.") + (value (run-docker-test)))) diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index 9f12a4ae8d..a97b29bc4b 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -351,7 +351,7 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (define %tor-os (simple-operating-system - (tor-service))) + (service tor-service-type))) (define %tor-os/unix-socks-socket (simple-operating-system diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index 57e294d74d..af04084c86 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -172,7 +172,7 @@ set up using CL source package conventions." ;; Special considerations for source packages: CL inputs become ;; propagated, and un-handled arguments are removed. - (define new-propagated-inputs + (define (new-propagated-inputs) (if target-is-source? (map rewrite (append @@ -218,7 +218,7 @@ set up using CL source package conventions." (substitute-keyword-arguments base-arguments ((#:phases phases) (list phases-transformer phases)))) (inputs (new-inputs package-inputs)) - (propagated-inputs new-propagated-inputs) + (propagated-inputs (new-propagated-inputs)) (native-inputs (new-inputs package-native-inputs)) (outputs (if target-is-source? '("out") diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm index 80882b144b..b6a86a1c62 100644 --- a/guix/build-system/texlive.scm +++ b/guix/build-system/texlive.scm @@ -39,9 +39,10 @@ ;; ;; Code: -;; These variables specify the SVN tag and the matching SVN revision. -(define %texlive-tag "texlive-2017.1") -(define %texlive-revision 44591) +;; These variables specify the SVN tag and the matching SVN revision. They +;; are taken from https://www.tug.org/svn/texlive/tags/ +(define %texlive-tag "texlive-2018.2") +(define %texlive-revision 49435) (define (texlive-ref component id) "Return a <svn-reference> object for the package ID, which is part of the diff --git a/guix/build/compile.scm b/guix/build/compile.scm index 5a1363556a..215489f136 100644 --- a/guix/build/compile.scm +++ b/guix/build/compile.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -26,28 +26,22 @@ #:use-module (system base message) #:use-module (guix modules) #:use-module (guix build utils) + #:use-module (language tree-il optimize) + #:use-module (language cps optimize) #:export (%default-optimizations %lightweight-optimizations compile-files)) ;;; Commentary: ;;; -;;; Support code to compile Guile code as efficiently as possible (both with -;;; Guile 2.0 and 2.2). +;;; Support code to compile Guile code as efficiently as possible (with 2.2). ;;; ;;; Code: -(cond-expand - (guile-2.2 (use-modules (language tree-il optimize) - (language cps optimize))) - (else #f)) - (define %default-optimizations ;; Default optimization options (equivalent to -O2 on Guile 2.2). - (cond-expand - (guile-2.2 (append (tree-il-default-optimization-options) - (cps-default-optimization-options))) - (else '()))) + (append (tree-il-default-optimization-options) + (cps-default-optimization-options))) (define %lightweight-optimizations ;; Lightweight optimizations (like -O0, but with partial evaluation). diff --git a/guix/build/download-nar.scm b/guix/build/download-nar.scm index 13f01fb1e8..681f22238d 100644 --- a/guix/build/download-nar.scm +++ b/guix/build/download-nar.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -93,8 +93,8 @@ ITEM." "Download and extract the normalized archive for ITEM. Return #t on success, #f otherwise." ;; Let progress reports go through. - (setvbuf (current-error-port) _IONBF) - (setvbuf (current-output-port) _IONBF) + (setvbuf (current-error-port) 'none) + (setvbuf (current-output-port) 'none) (let loop ((urls (urls-for-item item))) (match urls diff --git a/guix/build/download.scm b/guix/build/download.scm index 54163849a2..c08221b3b2 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -314,9 +314,7 @@ host name without trailing dot." ;; Write HTTP requests line by line rather than byte by byte: ;; <https://bugs.gnu.org/22966>. This is possible with Guile >= 2.2. - (cond-expand - (guile-2.2 (setvbuf record 'line)) - (else #f)) + (setvbuf record 'line) record))) @@ -359,7 +357,7 @@ ETIMEDOUT error is raised." (connect* s (addrinfo:addr ai) timeout) ;; Buffer input and output on this port. - (setvbuf s _IOFBF) + (setvbuf s 'block) ;; If we're using a proxy, make a note of that. (when http-proxy (set-http-proxy-port?! s #t)) s) @@ -403,7 +401,7 @@ VERIFY-CERTIFICATE? is true, verify HTTPS server certificates." (with-https-proxy (let ((s (open-socket-for-uri uri #:timeout timeout))) ;; Buffer input and output on this port. - (setvbuf s _IOFBF %http-receive-buffer-size) + (setvbuf s 'block %http-receive-buffer-size) (if https? (tls-wrap s (uri-host uri) @@ -506,18 +504,6 @@ port if PORT is a TLS session record port." (module-set! (resolve-module '(web http)) 'parse-rfc-822-date parse-rfc-822-date)) -;; XXX: Work around <http://bugs.gnu.org/19840>, present in Guile -;; up to 2.0.11. -(unless (or (> (string->number (major-version)) 2) - (> (string->number (minor-version)) 0) - (> (string->number (micro-version)) 11)) - (let ((var (module-variable (resolve-module '(web http)) - 'declare-relative-uri-header!))) - ;; If 'declare-relative-uri-header!' doesn't exist, forget it. - (when (and var (variable-bound? var)) - (let ((declare-relative-uri-header! (variable-ref var))) - (declare-relative-uri-header! "Location"))))) - ;; XXX: Work around broken proxy handling on Guile 2.2 <= 2.2.2, fixed in ;; Guile commits 7d0d9e2c25c1e872cfc7d14ab5139915f1813d56 and ;; 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143. See bug report at @@ -791,11 +777,11 @@ otherwise simply ignore them." hashes)) content-addressed-mirrors)) - ;; Make this unbuffered so 'progress-report/file' works as expected. _IOLBF + ;; Make this unbuffered so 'progress-report/file' works as expected. 'line ;; means '\n', not '\r', so it's not appropriate here. - (setvbuf (current-output-port) _IONBF) + (setvbuf (current-output-port) 'none) - (setvbuf (current-error-port) _IOLBF) + (setvbuf (current-error-port) 'line) (let try ((uri (append uri content-addressed-uris))) (match uri diff --git a/guix/build/make-bootstrap.scm b/guix/build/make-bootstrap.scm index 43b136248f..48799f7e90 100644 --- a/guix/build/make-bootstrap.scm +++ b/guix/build/make-bootstrap.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> -;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,7 +67,7 @@ when producing a bootstrap libc." util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\ _nonshared\\.a)$") - (setvbuf (current-output-port) _IOLBF) + (setvbuf (current-output-port) 'line) (let* ((libdir (string-append output "/lib"))) (mkdir-p libdir) (for-each (lambda (file) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 56a689f667..d75c11ada7 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> @@ -699,39 +699,31 @@ mounted at FILE." (define CLONE_NEWPID #x20000000) (define CLONE_NEWNET #x40000000) -(cond-expand - (guile-2.2 - (define %set-automatic-finalization-enabled?! - ;; When using a statically-linked Guile, for instance in the initrd, we - ;; cannot resolve this symbol, but most of the time we don't need it - ;; anyway. Thus, delay it. - (let ((proc (delay - (pointer->procedure int - (dynamic-func - "scm_set_automatic_finalization_enabled" - (dynamic-link)) - (list int))))) - (lambda (enabled?) - "Switch on or off automatic finalization in a separate thread. +(define %set-automatic-finalization-enabled?! + ;; When using a statically-linked Guile, for instance in the initrd, we + ;; cannot resolve this symbol, but most of the time we don't need it + ;; anyway. Thus, delay it. + (let ((proc (delay + (pointer->procedure int + (dynamic-func + "scm_set_automatic_finalization_enabled" + (dynamic-link)) + (list int))))) + (lambda (enabled?) + "Switch on or off automatic finalization in a separate thread. Turning finalization off shuts down the finalization thread as a side effect." - (->bool ((force proc) (if enabled? 1 0)))))) - - (define-syntax-rule (without-automatic-finalization exp) - "Turn off automatic finalization within the dynamic extent of EXP." - (let ((enabled? #t)) - (dynamic-wind - (lambda () - (set! enabled? (%set-automatic-finalization-enabled?! #f))) - (lambda () - exp) - (lambda () - (%set-automatic-finalization-enabled?! enabled?)))))) - - (else - (define-syntax-rule (without-automatic-finalization exp) - ;; Nothing to do here: Guile 2.0 does not have a separate finalization - ;; thread. - exp))) + (->bool ((force proc) (if enabled? 1 0)))))) + +(define-syntax-rule (without-automatic-finalization exp) + "Turn off automatic finalization within the dynamic extent of EXP." + (let ((enabled? #t)) + (dynamic-wind + (lambda () + (set! enabled? (%set-automatic-finalization-enabled?! #f))) + (lambda () + exp) + (lambda () + (%set-automatic-finalization-enabled?! enabled?))))) ;; The libc interface to sys_clone is not useful for Scheme programs, so the ;; low-level system call is wrapped instead. The 'syscall' function is diff --git a/guix/build/texlive-build-system.scm b/guix/build/texlive-build-system.scm index 1c393ecd9d..841c631dae 100644 --- a/guix/build/texlive-build-system.scm +++ b/guix/build/texlive-build-system.scm @@ -35,7 +35,7 @@ (define (compile-with-latex format file) (invoke format - "-interaction=batchmode" + "-interaction=nonstopmode" "-output-directory=build" (string-append "&" format) file)) @@ -60,7 +60,12 @@ (("^TEXMF = .*") "TEXMF = $TEXMFROOT/share/texmf-dist\n")) (setenv "TEXMFCNF" (dirname texmf.cnf)) - (setenv "TEXMF" (string-append out "/share/texmf-dist"))) + (setenv "TEXMF" (string-append out "/share/texmf-dist")) + + ;; Don't truncate lines. + (setenv "error_line" "254") ; must be less than 255 + (setenv "half_error_line" "238") ; must be less than error_line - 15 + (setenv "max_print_line" "1000")) (mkdir "build") #t) diff --git a/guix/build/union.scm b/guix/build/union.scm index fff795c4d3..961ac3298b 100644 --- a/guix/build/union.scm +++ b/guix/build/union.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com> ;;; @@ -39,6 +39,19 @@ ;;; ;;; Code: +;; This code can be used with the bootstrap Guile, which is Guile 2.0, so +;; provide a compatibility layer. +(cond-expand + ((and guile-2 (not guile-2.2)) + (define (setvbuf port mode . rest) + (apply (@ (guile) setvbuf) port + (match mode + ('line _IOLBF) + ('block _IOFBF) + ('none _IONBF)) + rest))) + (else #f)) + (define (files-in-directory dirname) (let ((dir (opendir dirname))) (let loop ((files '())) @@ -179,10 +192,10 @@ returns #f, skip the faulty file altogether." (reverse dirs-with-file)))) table))) - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF) + (setvbuf (current-output-port) 'line) + (setvbuf (current-error-port) 'line) (when (file-port? log-port) - (setvbuf log-port _IOLBF)) + (setvbuf log-port 'line)) (union-of-directories output (delete-duplicates inputs))) diff --git a/guix/deprecation.scm b/guix/deprecation.scm new file mode 100644 index 0000000000..453aad7106 --- /dev/null +++ b/guix/deprecation.scm @@ -0,0 +1,89 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 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/>. + +(define-module (guix deprecation) + #:use-module (guix i18n) + #:use-module (ice-9 format) + #:export (define-deprecated + without-deprecation-warnings + deprecation-warning-port)) + +;;; Commentary: +;;; +;;; Provide a mechanism to mark bindings as deprecated. +;;; +;;; We don't reuse (guix ui) mostly to avoid pulling in too many things. +;;; +;;; Code: + +(define deprecation-warning-port + ;; Port where deprecation warnings go. + (make-parameter (current-warning-port))) + +(define (source-properties->location-string properties) + "Return a human-friendly, GNU-standard representation of PROPERTIES, a +source property alist." + (let ((file (assq-ref properties 'filename)) + (line (assq-ref properties 'line)) + (column (assq-ref properties 'column))) + (if (and file line column) + (format #f "~a:~a:~a" file (+ 1 line) column) + (G_ "<unknown location>")))) + +(define* (warn-about-deprecation variable properties + #:key replacement) + (format (deprecation-warning-port) + (G_ "~a: warning: '~a' is deprecated~@[, use '~a' instead~]~%") + (source-properties->location-string properties) + variable replacement)) + +(define-syntax define-deprecated + (lambda (s) + "Define a deprecated variable or procedure, along these lines: + + (define-deprecated foo bar 42) + (define-deprecated (baz x y) qux (qux y x)) + +This will write a deprecation warning to DEPRECATION-WARNING-PORT." + (syntax-case s () + ((_ (proc formals ...) replacement body ...) + #'(define-deprecated proc replacement + (lambda* (formals ...) body ...))) + ((_ variable replacement exp) + (identifier? #'variable) + (with-syntax ((real (datum->syntax + #'variable + (symbol-append '% + (syntax->datum #'variable) + '/deprecated)))) + #`(begin + (define real + (begin + (lambda () replacement) ;just to ensure it's bound + exp)) + + (define-syntax variable + (lambda (s) + (warn-about-deprecation 'variable (syntax-source s) + #:replacement 'replacement) + (syntax-case s () + ((_ args (... ...)) + #'(real args (... ...))) + (id + (identifier? #'id) + #'real)))))))))) diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm index 0b8f61c276..8d5adcb8ed 100644 --- a/guix/ftp-client.scm +++ b/guix/ftp-client.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -154,7 +154,7 @@ TIMEOUT, an ETIMEDOUT error is raised." (catch 'system-error (lambda () (connect* s (addrinfo:addr ai) timeout) - (setvbuf s _IOLBF) + (setvbuf s 'line) (let-values (((code message) (%ftp-listen s))) (if (eqv? code 220) (begin @@ -237,7 +237,7 @@ TIMEOUT, an ETIMEDOUT error is raised." (s (socket (addrinfo:fam ai) (addrinfo:socktype ai) (addrinfo:protocol ai)))) (connect* s (address-with-port (addrinfo:addr ai) port) timeout) - (setvbuf s _IOLBF) + (setvbuf s 'line) (dynamic-wind (lambda () #t) @@ -293,7 +293,7 @@ must be closed before CONN can be used for other purposes." (throw 'ftp-error conn "LIST" code message)))) (connect* s (address-with-port (addrinfo:addr ai) port) timeout) - (setvbuf s _IOLBF) + (setvbuf s 'line) (%ftp-command (string-append "RETR " file) 150 (ftp-connection-socket conn)) diff --git a/guix/http-client.scm b/guix/http-client.scm index 07360e6108..067002a79a 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -97,7 +97,7 @@ Raise an '&http-get-error' condition if downloading fails." headers)) (_ headers)))) (unless (or buffered? (not (file-port? port))) - (setvbuf port _IONBF)) + (setvbuf port 'none)) (let*-values (((resp data) (http-get uri #:streaming? #t #:port port #:keep-alive? #t diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 15163bd165..b287be6941 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; @@ -390,11 +390,11 @@ s-expression corresponding to that package, or #f on failure." (_ #f))) (_ #f))))) -(define (latest-cran-release package) - "Return an <upstream-source> for the latest release of PACKAGE." +(define (latest-cran-release pkg) + "Return an <upstream-source> for the latest release of the package PKG." (define upstream-name - (package->upstream-name package)) + (package->upstream-name pkg)) (define meta (fetch-description 'cran upstream-name)) @@ -403,15 +403,18 @@ s-expression corresponding to that package, or #f on failure." (let ((version (assoc-ref meta "Version"))) ;; CRAN does not provide signatures. (upstream-source - (package (package-name package)) + (package (package-name pkg)) (version version) - (urls (cran-uri upstream-name version)))))) + (urls (cran-uri upstream-name version)) + (input-changes + (changed-inputs pkg + (description->package 'cran meta))))))) -(define (latest-bioconductor-release package) - "Return an <upstream-source> for the latest release of PACKAGE." +(define (latest-bioconductor-release pkg) + "Return an <upstream-source> for the latest release of the package PKG." (define upstream-name - (package->upstream-name package)) + (package->upstream-name pkg)) (define version (latest-bioconductor-package-version upstream-name)) @@ -419,9 +422,13 @@ s-expression corresponding to that package, or #f on failure." (and version ;; Bioconductor does not provide signatures. (upstream-source - (package (package-name package)) + (package (package-name pkg)) (version version) - (urls (bioconductor-uri upstream-name version))))) + (urls (bioconductor-uri upstream-name version)) + (input-changes + (changed-inputs + pkg + (cran->guix-package upstream-name 'bioconductor)))))) (define (cran-package? package) "Return true if PACKAGE is an R package from CRAN." diff --git a/guix/inferior.scm b/guix/inferior.scm index 973bd5264e..ba8d00866b 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -137,9 +137,7 @@ it's an old Guix." "Given PIPE, an input/output port, return an inferior that talks over PIPE. PIPE is closed with CLOSE when 'close-inferior' is called on the returned inferior." - (cond-expand - ((and guile-2 (not guile-2.2)) #t) - (else (setvbuf pipe 'line))) + (setvbuf pipe 'line) (match (read pipe) (('repl-version 0 rest ...) @@ -391,8 +389,8 @@ input/output ports.)" ;; Use buffered ports so that 'get-bytevector-some' returns up to the ;; whole buffer like read(2) would--see <https://bugs.gnu.org/30066>. - (setvbuf client _IOFBF 65536) - (setvbuf backend _IOFBF 65536) + (setvbuf client 'block 65536) + (setvbuf backend 'block 65536) (let loop () (match (select* (list client backend) '() '()) diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index fb2f61ce30..950f0f41d8 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +23,7 @@ #:use-module ((guix build utils) #:select (mkdir-p)) #:use-module ((guix serialization) #:select (restore-file)) #:use-module (guix store) + #:use-module (guix status) #:use-module (guix grafts) #:use-module (guix packages) #:use-module (guix derivations) @@ -55,7 +56,11 @@ (substitutes? . #t) (build-hook? . #t) (graft? . #t) - (verbosity . 0))) + (print-build-trace? . #t) + (print-extended-build-trace? . #t) + (multiplexed-build-output? . #t) + (verbosity . 2) + (debug . 0))) (define (show-help) (display (G_ "Usage: guix archive [OPTION]... PACKAGE... @@ -85,6 +90,8 @@ Export/import one or more packages from/to the store.\n")) -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"")) (display (G_ " --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"")) + (display (G_ " + -v, --verbosity=LEVEL use the given verbosity LEVEL")) (newline) (show-build-options-help) @@ -161,6 +168,11 @@ Export/import one or more packages from/to the store.\n")) (option '(#\e "expression") #t #f (lambda (opt name arg result) (alist-cons 'expression arg result))) + (option '(#\v "verbosity") #t #f + (lambda (opt name arg result) + (let ((level (string->number* arg))) + (alist-cons 'verbosity level + (alist-delete 'verbosity result))))) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) @@ -239,7 +251,6 @@ build and a list of store files to transfer." resulting archive to the standard output port." (let-values (((drv files) (options->derivations+files store opts))) - (set-build-options-from-command-line store opts) (show-what-to-build store drv #:use-substitutes? (assoc-ref opts 'substitutes?) #:dry-run? (assoc-ref opts 'dry-run?)) @@ -329,21 +340,23 @@ the input port." ((assoc-ref opts 'authorize) (authorize-key)) (else - (with-store store - (cond ((assoc-ref opts 'export) - (export-from-store store opts)) - ((assoc-ref opts 'import) - (import-paths store (current-input-port))) - ((assoc-ref opts 'missing) - (let* ((files (lines (current-input-port))) - (missing (remove (cut valid-path? store <>) - files))) - (format #t "~{~a~%~}" missing))) - ((assoc-ref opts 'extract) - => - (lambda (target) - (restore-file (current-input-port) target))) - (else - (leave - (G_ "either '--export' or '--import' \ -must be specified~%")))))))))))) + (with-status-verbosity (assoc-ref opts 'verbosity) + (with-store store + (set-build-options-from-command-line store opts) + (cond ((assoc-ref opts 'export) + (export-from-store store opts)) + ((assoc-ref opts 'import) + (import-paths store (current-input-port))) + ((assoc-ref opts 'missing) + (let* ((files (lines (current-input-port))) + (missing (remove (cut valid-path? store <>) + files))) + (format #t "~{~a~%~}" missing))) + ((assoc-ref opts 'extract) + => + (lambda (target) + (restore-file (current-input-port) target))) + (else + (leave + (G_ "either '--export' or '--import' \ +must be specified~%"))))))))))))) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 564bdf0ced..5a158799ae 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -450,13 +450,13 @@ options handled by 'set-build-options-from-command-line', and listed in (display (G_ " --timeout=SECONDS mark the build as failed after SECONDS of activity")) (display (G_ " - --verbosity=LEVEL use the given verbosity LEVEL")) - (display (G_ " --rounds=N build N times in a row to detect non-determinism")) (display (G_ " -c, --cores=N allow the use of up to N CPU cores for the build")) (display (G_ " - -M, --max-jobs=N allow at most N build jobs"))) + -M, --max-jobs=N allow at most N build jobs")) + (display (G_ " + --debug=LEVEL produce debugging output at LEVEL"))) (define (set-build-options-from-command-line store opts) "Given OPTS, an alist as returned by 'args-fold' given @@ -479,7 +479,7 @@ options handled by 'set-build-options-from-command-line', and listed in (assoc-ref opts 'print-extended-build-trace?) #:multiplexed-build-output? (assoc-ref opts 'multiplexed-build-output?) - #:verbosity (assoc-ref opts 'verbosity))) + #:verbosity (assoc-ref opts 'debug))) (define set-build-options-from-command-line* (store-lift set-build-options-from-command-line)) @@ -553,12 +553,12 @@ options handled by 'set-build-options-from-command-line', and listed in (apply values (alist-cons 'timeout (string->number* arg) result) rest))) - (option '("verbosity") #t #f + (option '("debug") #t #f (lambda (opt name arg result . rest) - (let ((level (string->number arg))) + (let ((level (string->number* arg))) (apply values - (alist-cons 'verbosity level - (alist-delete 'verbosity result)) + (alist-cons 'debug level + (alist-delete 'debug result)) rest)))) (option '(#\c "cores") #t #f (lambda (opt name arg result . rest) @@ -590,7 +590,8 @@ options handled by 'set-build-options-from-command-line', and listed in (print-build-trace? . #t) (print-extended-build-trace? . #t) (multiplexed-build-output? . #t) - (verbosity . 0))) + (verbosity . 2) + (debug . 0))) (define (show-help) (display (G_ "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION... @@ -619,6 +620,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) -r, --root=FILE make FILE a symlink to the result, and register it as a garbage collector root")) (display (G_ " + -v, --verbosity=LEVEL use the given verbosity LEVEL")) + (display (G_ " -q, --quiet do not show the build log")) (display (G_ " --log-file return the log file names for the given derivations")) @@ -694,9 +697,15 @@ must be one of 'package', 'all', or 'transitive'~%") (option '(#\r "root") #t #f (lambda (opt name arg result) (alist-cons 'gc-root arg result))) + (option '(#\v "verbosity") #t #f + (lambda (opt name arg result) + (let ((level (string->number* arg))) + (alist-cons 'verbosity level + (alist-delete 'verbosity result))))) (option '(#\q "quiet") #f #f (lambda (opt name arg result) - (alist-cons 'quiet? #t result))) + (alist-cons 'verbosity 0 + (alist-delete 'verbosity result)))) (option '("log-file") #f #f (lambda (opt name arg result) (alist-cons 'log-file? #t result))) @@ -819,66 +828,59 @@ needed." (parse-command-line args %options (list %default-options))) - (define quiet? - (assoc-ref opts 'quiet?)) - (with-error-handling ;; Ask for absolute file names so that .drv file names passed from the ;; user to 'read-derivation' are absolute when it returns. (with-fluids ((%file-port-name-canonicalization 'absolute)) - (with-store store - ;; Set the build options before we do anything else. - (set-build-options-from-command-line store opts) - - (parameterize ((current-terminal-columns (terminal-columns)) - (current-build-output-port - (if quiet? - (%make-void-port "w") - (build-event-output-port - (build-status-updater print-build-event))))) - (let* ((mode (assoc-ref opts 'build-mode)) - (drv (options->derivations store opts)) - (urls (map (cut string-append <> "/log") - (if (assoc-ref opts 'substitutes?) - (or (assoc-ref opts 'substitute-urls) - ;; XXX: This does not necessarily match the - ;; daemon's substitute URLs. - %default-substitute-urls) - '()))) - (items (filter-map (match-lambda - (('argument . (? store-path? file)) - file) - (_ #f)) - opts)) - (roots (filter-map (match-lambda - (('gc-root . root) root) - (_ #f)) - opts))) - - (unless (or (assoc-ref opts 'log-file?) - (assoc-ref opts 'derivations-only?)) - (show-what-to-build store drv - #:use-substitutes? - (assoc-ref opts 'substitutes?) - #:dry-run? (assoc-ref opts 'dry-run?) - #:mode mode)) - - (cond ((assoc-ref opts 'log-file?) - (for-each (cut show-build-log store <> urls) - (delete-duplicates - (append (map derivation-file-name drv) - items)))) - ((assoc-ref opts 'derivations-only?) - (format #t "~{~a~%~}" (map derivation-file-name drv)) - (for-each (cut register-root store <> <>) - (map (compose list derivation-file-name) drv) - roots)) - ((not (assoc-ref opts 'dry-run?)) - (and (build-derivations store drv mode) - (for-each show-derivation-outputs drv) - (for-each (cut register-root store <> <>) - (map (lambda (drv) - (map cdr - (derivation->output-paths drv))) - drv) - roots)))))))))) + (with-status-verbosity (assoc-ref opts 'verbosity) + (with-store store + ;; Set the build options before we do anything else. + (set-build-options-from-command-line store opts) + + (parameterize ((current-terminal-columns (terminal-columns))) + (let* ((mode (assoc-ref opts 'build-mode)) + (drv (options->derivations store opts)) + (urls (map (cut string-append <> "/log") + (if (assoc-ref opts 'substitutes?) + (or (assoc-ref opts 'substitute-urls) + ;; XXX: This does not necessarily match the + ;; daemon's substitute URLs. + %default-substitute-urls) + '()))) + (items (filter-map (match-lambda + (('argument . (? store-path? file)) + file) + (_ #f)) + opts)) + (roots (filter-map (match-lambda + (('gc-root . root) root) + (_ #f)) + opts))) + + (unless (or (assoc-ref opts 'log-file?) + (assoc-ref opts 'derivations-only?)) + (show-what-to-build store drv + #:use-substitutes? + (assoc-ref opts 'substitutes?) + #:dry-run? (assoc-ref opts 'dry-run?) + #:mode mode)) + + (cond ((assoc-ref opts 'log-file?) + (for-each (cut show-build-log store <> urls) + (delete-duplicates + (append (map derivation-file-name drv) + items)))) + ((assoc-ref opts 'derivations-only?) + (format #t "~{~a~%~}" (map derivation-file-name drv)) + (for-each (cut register-root store <> <>) + (map (compose list derivation-file-name) drv) + roots)) + ((not (assoc-ref opts 'dry-run?)) + (and (build-derivations store drv mode) + (for-each show-derivation-outputs drv) + (for-each (cut register-root store <> <>) + (map (lambda (drv) + (map cdr + (derivation->output-paths drv))) + drv) + roots))))))))))) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 86e1eb115f..116b8dcbce 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org> -;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Mike Gerwitz <mtg@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -158,6 +158,8 @@ COMMAND or an interactive shell in that environment.\n")) --expose=SPEC for containers, expose read-only host file system according to SPEC")) (display (G_ " + -v, --verbosity=LEVEL use the given verbosity LEVEL")) + (display (G_ " --bootstrap use bootstrap binaries to build the environment")) (newline) (show-build-options-help) @@ -179,7 +181,8 @@ COMMAND or an interactive shell in that environment.\n")) (print-build-trace? . #t) (print-extended-build-trace? . #t) (multiplexed-build-output? . #t) - (verbosity . 0))) + (debug . 0) + (verbosity . 2))) (define (tag-package-arg opts arg) "Return a two-element list with the form (TAG ARG) that tags ARG with either @@ -260,6 +263,11 @@ COMMAND or an interactive shell in that environment.\n")) (option '(#\r "root") #t #f (lambda (opt name arg result) (alist-cons 'gc-root arg result))) + (option '(#\v "verbosity") #t #f + (lambda (opt name arg result) + (let ((level (string->number* arg))) + (alist-cons 'verbosity level + (alist-delete 'verbosity result))))) (option '("bootstrap") #f #f (lambda (opt name arg result) (alist-cons 'bootstrap? #t result))) @@ -674,7 +682,7 @@ message if any test fails." (leave (G_ "'--user' cannot be used without '--container'~%"))) (with-store store - (with-status-report print-build-event + (with-status-verbosity (assoc-ref opts 'verbosity) (define manifest (options/resolve-packages store opts)) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 9acec48577..0f315a9352 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -820,10 +820,11 @@ descriptions maintained upstream." (lambda (uri) (and=> (follow-redirects-to-github uri) (lambda (github-uri) - (emit-warning - package - (format #f (G_ "URL should be '~a'") github-uri) - 'source)))) + (unless (string=? github-uri uri) + (emit-warning + package + (format #f (G_ "URL should be '~a'") github-uri) + 'source))))) (origin-uris origin))))) (define (check-derivation package) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 98b06971bd..b19a4ae1b1 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> @@ -553,9 +553,7 @@ please email '~a'~%") "run.c" "-o" result) (delete-file "run.c"))) - (setvbuf (current-output-port) - (cond-expand (guile-2.2 'line) - (else _IOLBF))) + (setvbuf (current-output-port) 'line) ;; Link the top-level files of PACKAGE so that search paths are ;; properly defined in PROFILE/etc/profile. @@ -600,7 +598,8 @@ please email '~a'~%") (print-build-trace? . #t) (print-extended-build-trace? . #t) (multiplexed-build-output? . #t) - (verbosity . 0) + (debug . 0) + (verbosity . 2) (symlinks . ()) (compressor . ,(first %compressors)))) @@ -687,6 +686,11 @@ please email '~a'~%") (alist-cons 'profile-name arg result)) (_ (leave (G_ "~a: unsupported profile name~%") arg))))) + (option '(#\v "verbosity") #t #f + (lambda (opt name arg result) + (let ((level (string->number* arg))) + (alist-cons 'verbosity level + (alist-delete 'verbosity result))))) (option '("bootstrap") #f #f (lambda (opt name arg result) (alist-cons 'bootstrap? #t result))) @@ -725,6 +729,8 @@ Create a bundle of PACKAGE.\n")) --profile-name=NAME populate /var/guix/profiles/.../NAME")) (display (G_ " + -v, --verbosity=LEVEL use the given verbosity LEVEL")) + (display (G_ " --bootstrap use the bootstrap binaries to build the pack")) (newline) (display (G_ " @@ -774,7 +780,7 @@ Create a bundle of PACKAGE.\n")) (with-error-handling (with-store store - (with-status-report print-build-event + (with-status-verbosity (assoc-ref opts 'verbosity) ;; Set the build options before we do anything else. (set-build-options-from-command-line store opts) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 5743816324..7ff6bfd6d8 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com> @@ -293,7 +293,8 @@ ENTRIES, a list of manifest entries, in the context of PROFILE." (define %default-options ;; Alist of default option values. - `((verbosity . 0) + `((verbosity . 1) + (debug . 0) (graft? . #t) (substitutes? . #t) (build-hook? . #t) @@ -346,7 +347,7 @@ Install, remove, or upgrade packages in a single transaction.\n")) (display (G_ " --bootstrap use the bootstrap Guile to build the profile")) (display (G_ " - --verbose produce verbose output")) + -v, --verbosity=LEVEL use the given verbosity LEVEL")) (newline) (display (G_ " -s, --search=REGEXP search in synopsis and description using REGEXP")) @@ -472,13 +473,21 @@ kind of search path~%") (values (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)) #f))) + (option '(#\v "verbosity") #t #f + (lambda (opt name arg result arg-handler) + (let ((level (string->number* arg))) + (values (alist-cons 'verbosity level + (alist-delete 'verbosity result)) + #f)))) (option '("bootstrap") #f #f (lambda (opt name arg result arg-handler) (values (alist-cons 'bootstrap? #t result) #f))) - (option '("verbose") #f #f + (option '("verbose") #f #f ;deprecated (lambda (opt name arg result arg-handler) - (values (alist-cons 'verbose? #t result) + (values (alist-cons 'verbosity 2 + (alist-delete 'verbosity + result)) #f))) (option '("allow-collisions") #f #f (lambda (opt name arg result arg-handler) @@ -907,14 +916,12 @@ processed, #f otherwise." (define opts (parse-command-line args %options (list %default-options #f) #:argument-handler handle-argument)) - (define verbose? - (assoc-ref opts 'verbose?)) (with-error-handling (or (process-query opts) (parameterize ((%store (open-connection)) (%graft? (assoc-ref opts 'graft?))) - (with-status-report print-build-event/quiet + (with-status-verbosity (assoc-ref opts 'verbosity) (set-build-options-from-command-line (%store) opts) (parameterize ((%guile-for-build (package-derivation diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index e7ff44c0d5..6d1914f7c2 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -66,7 +66,8 @@ (print-extended-build-trace? . #t) (multiplexed-build-output? . #t) (graft? . #t) - (verbosity . 0))) + (debug . 0) + (verbosity . 2))) (define (show-help) (display (G_ "Usage: guix pull [OPTION]... @@ -89,6 +90,8 @@ Download and deploy the latest version of Guix.\n")) (display (G_ " -n, --dry-run show what would be pulled and built")) (display (G_ " + -v, --verbosity=LEVEL use the given verbosity LEVEL")) + (display (G_ " -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"")) (display (G_ " --bootstrap use the bootstrap Guile to build the new Guix")) @@ -135,6 +138,11 @@ Download and deploy the latest version of Guix.\n")) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) + (option '(#\v "verbosity") #t #f + (lambda (opt name arg result) + (let ((level (string->number* arg))) + (alist-cons 'verbosity level + (alist-delete 'verbosity result))))) (option '("bootstrap") #f #f (lambda (opt name arg result) (alist-cons 'bootstrap? #t result))) @@ -510,7 +518,7 @@ Use '~/.config/guix/channels.scm' instead.")) (process-query opts profile)) (else (with-store store - (with-status-report print-build-event + (with-status-verbosity (assoc-ref opts 'verbosity) (parameterize ((%current-system (assoc-ref opts 'system)) (%graft? (assoc-ref opts 'graft?)) (%repository-cache-directory cache)) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 003c915da3..a0de9f6c10 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -1,11 +1,12 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,7 +42,6 @@ #:use-module (ice-9 regex) #:use-module (ice-9 vlist) #:use-module (ice-9 format) - #:use-module (ice-9 threads) ; par-for-each #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) @@ -172,6 +172,79 @@ specified with `--select'.\n")) (newline) (show-bug-report-information)) +(define (options->packages opts) + "Return the list of packages requested by OPTS, honoring options like +'--recursive'." + (define core-package? + (let* ((input->package (match-lambda + ((name (? package? package) _ ...) package) + (_ #f))) + (final-inputs (map input->package %final-inputs)) + (core (append final-inputs + (append-map (compose (cut filter-map input->package <>) + package-transitive-inputs) + final-inputs))) + (names (delete-duplicates (map package-name core)))) + (lambda (package) + "Return true if PACKAGE is likely a \"core package\"---i.e., one whose +update would trigger a complete rebuild." + ;; Compare by name because packages in base.scm basically inherit + ;; other packages. So, even if those packages are not core packages + ;; themselves, updating them would also update those who inherit from + ;; them. + ;; XXX: Fails to catch MPFR/MPC, whose *source* is used as input. + (member (package-name package) names)))) + + (define (keep-newest package lst) + ;; If a newer version of PACKAGE is already in LST, return LST; otherwise + ;; return LST minus the other version of PACKAGE in it, plus PACKAGE. + (let ((name (package-name package))) + (match (find (lambda (p) + (string=? (package-name p) name)) + lst) + ((? package? other) + (if (version>? (package-version other) (package-version package)) + lst + (cons package (delq other lst)))) + (_ + (cons package lst))))) + + (define args-packages + ;; Packages explicitly passed as command-line arguments. + (match (filter-map (match-lambda + (('argument . spec) + ;; Take either the specified version or the + ;; latest one. + (specification->package spec)) + (('expression . exp) + (read/eval-package-expression exp)) + (_ #f)) + opts) + (() ;default to all packages + (let ((select? (match (assoc-ref opts 'select) + ('core core-package?) + ('non-core (negate core-package?)) + (_ (const #t))))) + (fold-packages (lambda (package result) + (if (select? package) + (keep-newest package result) + result)) + '()))) + (some ;user-specified packages + some))) + + (define packages + (match (assoc-ref opts 'manifest) + (#f args-packages) + ((? string? file) (packages-from-manifest file)))) + + (if (assoc-ref opts 'recursive?) + (mlet %store-monad ((edges (node-edges %bag-node-type + (all-packages)))) + (return (node-transitive-edges packages edges))) + (with-monad %store-monad + (return packages)))) + ;;; ;;; Updates. @@ -224,7 +297,7 @@ KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed values: 'interactive' (default), 'always', and 'never'. When WARN? is true, warn about packages that have no matching updater." (if (lookup-updater package updaters) - (let-values (((version tarball) + (let-values (((version tarball changes) (package-update store package updaters #:key-download key-download)) ((loc) @@ -238,6 +311,26 @@ warn about packages that have no matching updater." (location->string loc) (package-name package) (package-version package) version) + (for-each + (lambda (change) + (format (current-error-port) + (match (list (upstream-input-change-action change) + (upstream-input-change-type change)) + (('add 'regular) + (G_ "~a: consider adding this input: ~a~%")) + (('add 'native) + (G_ "~a: consider adding this native input: ~a~%")) + (('add 'propagated) + (G_ "~a: consider adding this propagated input: ~a~%")) + (('remove 'regular) + (G_ "~a: consider removing this input: ~a~%")) + (('remove 'native) + (G_ "~a: consider removing this native input: ~a~%")) + (('remove 'propagated) + (G_ "~a: consider removing this propagated input: ~a~%"))) + (package-name package) + (upstream-input-change-name change))) + (changes)) (let ((hash (call-with-input-file tarball port-sha256))) (update-package-source package version hash))) @@ -335,19 +428,6 @@ dependent packages are rebuilt: ~{~a~^ ~}~%" (map full-name covering)))) (return #t)))) -(define (refresh-recursive packages) - "Check all of the package inputs of PACKAGES for newer upstream versions." - (mlet %store-monad ((edges (node-edges %bag-node-type - ;; Here we don't want the -boot0 packages. - (fold-packages cons '())))) - (let ((dependent (node-transitive-edges packages edges))) - ;; par-for-each has an undefined return value, so packages which cause - ;; errors can be ignored. - (par-for-each (lambda (package) - (guix-refresh package)) - (map package-name dependent))) - (return #t))) - (define (list-transitive packages) "List all the packages that would cause PACKAGES to be rebuilt if they are changed." ;; Using %BAG-NODE-TYPE is more accurate than using %PACKAGE-NODE-TYPE @@ -414,40 +494,6 @@ all are dependent packages: ~{~a~^ ~}~%") (lists (concatenate lists)))) - (define (keep-newest package lst) - ;; If a newer version of PACKAGE is already in LST, return LST; otherwise - ;; return LST minus the other version of PACKAGE in it, plus PACKAGE. - (let ((name (package-name package))) - (match (find (lambda (p) - (string=? (package-name p) name)) - lst) - ((? package? other) - (if (version>? (package-version other) (package-version package)) - lst - (cons package (delq other lst)))) - (_ - (cons package lst))))) - - (define core-package? - (let* ((input->package (match-lambda - ((name (? package? package) _ ...) package) - (_ #f))) - (final-inputs (map input->package %final-inputs)) - (core (append final-inputs - (append-map (compose (cut filter-map input->package <>) - package-transitive-inputs) - final-inputs))) - (names (delete-duplicates (map package-name core)))) - (lambda (package) - "Return true if PACKAGE is likely a \"core package\"---i.e., one whose -update would trigger a complete rebuild." - ;; Compare by name because packages in base.scm basically inherit - ;; other packages. So, even if those packages are not core packages - ;; themselves, updating them would also update those who inherit from - ;; them. - ;; XXX: Fails to catch MPFR/MPC, whose *source* is used as input. - (member (package-name package) names)))) - (let* ((opts (parse-options)) (update? (assoc-ref opts 'update?)) (updaters (options->updaters opts)) @@ -458,65 +504,38 @@ update would trigger a complete rebuild." ;; Warn about missing updaters when a package is explicitly given on ;; the command line. - (warn? (or (assoc-ref opts 'argument) - (assoc-ref opts 'expression))) - (args-packages - (match (filter-map (match-lambda - (('argument . spec) - ;; Take either the specified version or the - ;; latest one. - (specification->package spec)) - (('expression . exp) - (read/eval-package-expression exp)) - (_ #f)) - opts) - (() ; default to all packages - (let ((select? (match (assoc-ref opts 'select) - ('core core-package?) - ('non-core (negate core-package?)) - (_ (const #t))))) - (fold-packages (lambda (package result) - (if (select? package) - (keep-newest package result) - result)) - '()))) - (some ; user-specified packages - some))) - (packages - (match (assoc-ref opts 'manifest) - (#f args-packages) - ((? string? file) (packages-from-manifest file))))) + (warn? (and (or (assoc-ref opts 'argument) + (assoc-ref opts 'expression) + (assoc-ref opts 'manifest)) + (not recursive?)))) (with-error-handling (with-store store (run-with-store store - (cond - (list-dependent? - (list-dependents packages)) - (list-transitive? - (list-transitive packages)) - (recursive? - (refresh-recursive packages)) - (update? - (parameterize ((%openpgp-key-server - (or (assoc-ref opts 'key-server) - (%openpgp-key-server))) - (%gpg-command - (or (assoc-ref opts 'gpg-command) - (%gpg-command))) - (current-keyring - (or (assoc-ref opts 'keyring) - (string-append (config-directory) - "/upstream/trustedkeys.kbx")))) - (for-each - (cut update-package store <> updaters - #:key-download key-download - #:warn? warn?) - packages) - (with-monad %store-monad - (return #t)))) - (else - (for-each (cut check-for-package-update <> updaters - #:warn? warn?) - packages) - (with-monad %store-monad + (mlet %store-monad ((packages (options->packages opts))) + (cond + (list-dependent? + (list-dependents packages)) + (list-transitive? + (list-transitive packages)) + (update? + (parameterize ((%openpgp-key-server + (or (assoc-ref opts 'key-server) + (%openpgp-key-server))) + (%gpg-command + (or (assoc-ref opts 'gpg-command) + (%gpg-command))) + (current-keyring + (or (assoc-ref opts 'keyring) + (string-append (config-directory) + "/upstream/trustedkeys.kbx")))) + (for-each + (cut update-package store <> updaters + #:key-download key-download + #:warn? warn?) + packages) + (return #t))) + (else + (for-each (cut check-for-package-update <> updaters + #:warn? warn?) + packages) (return #t))))))))) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 53b1777241..797a76db3f 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com> ;;; @@ -219,7 +219,7 @@ provide." (set! port (guix:open-connection-for-uri uri #:verify-certificate? #f)) (unless (or buffered? (not (file-port? port))) - (setvbuf port _IONBF))) + (setvbuf port 'none))) (http-fetch uri #:text? #f #:port port #:verify-certificate? #f)))))) (else @@ -567,7 +567,7 @@ initial connection on which HTTP requests are sent." verify-certificate?)))) ;; For HTTPS, P is not a file port and does not support 'setvbuf'. (when (file-port? p) - (setvbuf p _IOFBF (expt 2 16))) + (setvbuf p 'block (expt 2 16))) ;; Send REQUESTS, up to a certain number, in a row. ;; XXX: Do our own caching to work around inefficiencies when diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 6cda3ccbd6..569b826acd 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> @@ -1015,6 +1015,8 @@ Some ACTIONS support additional ARGS.\n")) --full-boot for 'vm', make a full boot sequence")) (display (G_ " --skip-checks skip file system and initrd module safety checks")) + (display (G_ " + -v, --verbosity=LEVEL use the given verbosity LEVEL")) (newline) (display (G_ " -h, --help display this help and exit")) @@ -1074,6 +1076,11 @@ Some ACTIONS support additional ARGS.\n")) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) + (option '(#\v "verbosity") #t #f + (lambda (opt name arg result) + (let ((level (string->number* arg))) + (alist-cons 'verbosity level + (alist-delete 'verbosity result))))) (option '(#\s "system") #t #f (lambda (opt name arg result) (alist-cons 'system arg @@ -1092,7 +1099,8 @@ Some ACTIONS support additional ARGS.\n")) (print-extended-build-trace? . #t) (multiplexed-build-output? . #t) (graft? . #t) - (verbosity . 0) + (debug . 0) + (verbosity . #f) ;default (file-system-type . "ext4") (image-size . guess) (install-bootloader? . #t))) @@ -1267,9 +1275,9 @@ argument list and OPTS is the option alist." (args (option-arguments opts)) (command (assoc-ref opts 'action))) (parameterize ((%graft? (assoc-ref opts 'graft?))) - (with-status-report (if (memq command '(init reconfigure)) - print-build-event/quiet - print-build-event) + (with-status-verbosity (or (assoc-ref opts 'verbosity) + (if (memq command '(init reconfigure)) + 1 2)) (process-command command args opts)))))) ;;; Local Variables: diff --git a/guix/self.scm b/guix/self.scm index e9a768bc90..cf6110613c 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +31,7 @@ #:use-module ((guix build compile) #:select (%lightweight-optimizations)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) + #:use-module (srfi srfi-35) #:use-module (ice-9 match) #:export (make-config.scm whole-package ;for internal use in 'guix pull' @@ -43,35 +44,6 @@ ;;; Dependency handling. ;;; -(define* (false-if-wrong-guile package - #:optional (guile-version (effective-version))) - "Return #f if PACKAGE depends on the \"wrong\" major version of Guile (e.g., -2.0 instead of 2.2), otherwise return PACKAGE." - (let ((guile (any (match-lambda - ((label (? package? dep) _ ...) - (and (string=? (package-name dep) "guile") - dep))) - (package-direct-inputs package)))) - (and (or (not guile) - (string-prefix? guile-version - (package-version guile))) - package))) - -(define (package-for-guile guile-version . names) - "Return the package with one of the given NAMES that depends on -GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches." - (let loop ((names names)) - (match names - (() - #f) - ((name rest ...) - (match (specification->package name) - (#f - (loop rest)) - ((? package? package) - (or (false-if-wrong-guile package guile-version) - (loop rest)))))))) - (define specification->package ;; Use our own variant of that procedure because that of (gnu packages) ;; would traverse all the .scm files, which is wasteful. @@ -89,12 +61,7 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches." ("gzip" (ref '(gnu packages compression) 'gzip)) ("bzip2" (ref '(gnu packages compression) 'bzip2)) ("xz" (ref '(gnu packages compression) 'xz)) - ("guile2.0-json" (ref '(gnu packages guile) 'guile2.0-json)) - ("guile2.0-ssh" (ref '(gnu packages ssh) 'guile2.0-ssh)) - ("guile2.0-git" (ref '(gnu packages guile) 'guile2.0-git)) - ;; XXX: No "guile2.0-sqlite3". - ("guile2.0-gnutls" (ref '(gnu packages tls) 'gnutls/guile-2.0)) - (_ #f)))) ;no such package + (_ #f)))) ;no such package ;;; @@ -528,7 +495,7 @@ Info manual." (pull-version 1) (name (string-append "guix-" version)) (guile-version (effective-version)) - (guile-for-build (guile-for-build guile-version)) + (guile-for-build (default-guile)) (zlib (specification->package "zlib")) (gzip (specification->package "gzip")) (bzip2 (specification->package "bzip2")) @@ -536,32 +503,22 @@ Info manual." (guix (specification->package "guix"))) "Return a file-like object that contains a compiled Guix." (define guile-json - (package-for-guile guile-version - "guile-json" - "guile2.0-json")) + (specification->package "guile-json")) (define guile-ssh - (package-for-guile guile-version - "guile-ssh" - "guile2.0-ssh")) + (specification->package "guile-ssh")) (define guile-git - (package-for-guile guile-version - "guile-git" - "guile2.0-git")) + (specification->package "guile-git")) (define guile-sqlite3 - (package-for-guile guile-version - "guile-sqlite3" - "guile2.0-sqlite3")) + (specification->package "guile-sqlite3")) (define guile-gcrypt - (package-for-guile guile-version - "guile-gcrypt")) + (specification->package "guile-gcrypt")) (define gnutls - (package-for-guile guile-version - "gnutls" "guile2.0-gnutls")) + (specification->package "gnutls")) (define dependencies (match (append-map (lambda (package) @@ -904,8 +861,8 @@ containing MODULE-FILES and possibly other files as well." #:report-load report-load #:report-compilation report-compilation))) - (setvbuf (current-output-port) _IONBF) - (setvbuf (current-error-port) _IONBF) + (setvbuf (current-output-port) 'none) + (setvbuf (current-error-port) 'none) (set! %load-path (cons #+module-tree %load-path)) (set! %load-path @@ -950,21 +907,6 @@ containing MODULE-FILES and possibly other files as well." ;;; Building. ;;; -(define (guile-for-build version) - "Return a derivation for Guile 2.0 or 2.2, whichever matches the currently -running Guile." - (define canonical-package ;soft reference - (module-ref (resolve-interface '(gnu packages base)) - 'canonical-package)) - - (match version - ("2.2" - (canonical-package (module-ref (resolve-interface '(gnu packages guile)) - 'guile-2.2))) - ("2.0" - (module-ref (resolve-interface '(gnu packages guile)) - 'guile-2.0)))) - (define* (guix-derivation source version #:optional (guile-version (effective-version)) #:key (pull-version 0)) @@ -981,9 +923,16 @@ is not supported." (define guile ;; When PULL-VERSION >= 1, produce a self-contained Guix and use Guile 2.2 ;; unconditionally. - (guile-for-build (if (>= pull-version 1) - "2.2" - guile-version))) + (default-guile)) + + (when (and (< pull-version 1) + (not (string=? (package-version guile) guile-version))) + ;; Guix < 0.15.0 has PULL-VERSION = 0, where the host Guile is reused and + ;; can be any version. When that happens and Guile is not current (e.g., + ;; it's Guile 2.0), just bail out. + (raise (condition + (&message + (message "Guix is too old and cannot be upgraded"))))) (mbegin %store-monad (set-guile-for-build guile) diff --git a/guix/ssh.scm b/guix/ssh.scm index 1ed8406633..d90cb77be0 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -140,12 +140,12 @@ right away." (match (select read write except) ((read write except) (select read write except 0)))))) - (setvbuf stdout _IONBF) + (setvbuf stdout 'none) ;; Use buffered ports so that 'get-bytevector-some' returns up to the ;; whole buffer like read(2) would--see <https://bugs.gnu.org/30066>. - (setvbuf stdin _IOFBF 65536) - (setvbuf sock _IOFBF 65536) + (setvbuf stdin 'block 65536) + (setvbuf sock 'block 65536) (connect sock AF_UNIX ,socket-name) @@ -218,7 +218,7 @@ can be written." (consume-input (current-input-port)) (list 'protocol-error (nix-protocol-error-message c)))) (with-store store - (setvbuf (current-input-port) _IONBF) + (setvbuf (current-input-port) 'none) (import-paths store (current-input-port)) '(success)))) (lambda args @@ -269,7 +269,7 @@ be read. When RECURSIVE? is true, the closure of FILES is exported." (write '(exporting)) ;we're ready (force-output) - (setvbuf (current-output-port) _IONBF) + (setvbuf (current-output-port) 'none) (export-paths store files (current-output-port) #:recursive? ,recursive?)))))) diff --git a/guix/status.scm b/guix/status.scm index d4fc4ca16e..2928733257 100644 --- a/guix/status.scm +++ b/guix/status.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. @@ -63,7 +63,8 @@ print-build-event/quiet print-build-status - with-status-report)) + with-status-report + with-status-verbosity)) ;;; Commentary: ;;; @@ -636,9 +637,7 @@ The second return value is a thunk to retrieve the current state." ;; The build port actually receives Unicode strings. (set-port-encoding! port "UTF-8") - (cond-expand - ((and guile-2 (not guile-2.2)) #t) - (else (setvbuf port 'line))) + (setvbuf port 'line) (values port (lambda () %state))) (define (call-with-status-report on-event thunk) @@ -651,3 +650,17 @@ The second return value is a thunk to retrieve the current state." "Set up build status reporting to the user using the ON-EVENT procedure; evaluate EXP... in that context." (call-with-status-report on-event (lambda () exp ...))) + +(define (logger-for-level level) + "Return the logging procedure that corresponds to LEVEL." + (cond ((<= level 0) (const #t)) + ((= level 1) print-build-event/quiet) + (else print-build-event))) + +(define (call-with-status-verbosity level thunk) + (call-with-status-report (logger-for-level level) thunk)) + +(define-syntax-rule (with-status-verbosity level exp ...) + "Set up build status reporting to the user at the given LEVEL: 0 means +silent, 1 means quiet, 2 means verbose. Evaluate EXP... in that context." + (call-with-status-verbosity level (lambda () exp ...))) diff --git a/guix/store.scm b/guix/store.scm index 042dfab67f..1f88eb2b33 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -404,11 +404,6 @@ (define (open-inet-socket host port) "Connect to the Unix-domain socket at HOST:PORT and return it. Raise a '&nix-connection-error' upon error." - ;; Define 'TCP_NODELAY' on Guile 2.0. The value is the same on all GNU - ;; systems. - (cond-expand (guile-2.2 #t) - (else (define TCP_NODELAY 1))) - (let ((sock (with-fluids ((%default-port-encoding #f)) ;; This trick allows use of the `scm_c_read' optimization. (socket PF_UNIX SOCK_STREAM 0)))) @@ -613,7 +608,7 @@ to OUT, using chunks of BUFFER-SIZE bytes." (define %newlines ;; Newline characters triggering a flush of 'current-build-output-port'. - ;; Unlike Guile's _IOLBF, we flush upon #\return so that progress reports + ;; Unlike Guile's 'line, we flush upon #\return so that progress reports ;; that use that trick are correctly displayed. (char-set #\newline #\return)) diff --git a/guix/ui.scm b/guix/ui.scm index 4c31246920..1e089753e1 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -427,11 +427,6 @@ report them in a user-friendly way." (lambda _ (setlocale LC_ALL "")) (lambda args - (cond-expand - ;; Guile 2.2 already emits a warning, so let's not add a second one. - (guile-2.2 #t) - (else (warning (G_ "failed to install locale: ~a~%") - (strerror (system-error-errno args))))) (display-hint (G_ "Consider installing the @code{glibc-utf8-locales} or @code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these lines: @@ -459,8 +454,8 @@ See the \"Application Setup\" section in the manual, for more info.\n"))))) ;; notified via an EPIPE later. (sigaction SIGPIPE SIG_IGN) - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF)) + (setvbuf (current-output-port) 'line) + (setvbuf (current-error-port) 'line)) (define* (show-version-and-exit #:optional (command (car (command-line)))) "Display version information for COMMAND and `(exit 0)'." diff --git a/guix/upstream.scm b/guix/upstream.scm index 9e1056f7a7..9163478099 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> +;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +46,7 @@ upstream-source-urls upstream-source-signature-urls upstream-source-archive-types + upstream-source-input-changes url-prefix-predicate coalesce-sources @@ -56,6 +58,12 @@ upstream-updater-predicate upstream-updater-latest + upstream-input-change? + upstream-input-change-name + upstream-input-change-type + upstream-input-change-action + changed-inputs + %updaters lookup-updater @@ -82,7 +90,73 @@ (version upstream-source-version) ;string (urls upstream-source-urls) ;list of strings (signature-urls upstream-source-signature-urls ;#f | list of strings - (default #f))) + (default #f)) + (input-changes upstream-source-input-changes + (default '()) (thunked))) + +;; Representation of an upstream input change. +(define-record-type* <upstream-input-change> + upstream-input-change make-upstream-input-change + upstream-input-change? + (name upstream-input-change-name) ;string + (type upstream-input-change-type) ;symbol: regular | native | propagated + (action upstream-input-change-action)) ;symbol: add | remove + +(define (changed-inputs package package-sexp) + "Return a list of input changes for PACKAGE based on the newly imported +S-expression PACKAGE-SEXP." + (match package-sexp + ((and expr ('package fields ...)) + (let* ((input->name (match-lambda ((name pkg . out) name))) + (new-regular + (match expr + ((path *** ('inputs + ('quasiquote ((label ('unquote sym)) ...)))) label) + (_ '()))) + (new-native + (match expr + ((path *** ('native-inputs + ('quasiquote ((label ('unquote sym)) ...)))) label) + (_ '()))) + (new-propagated + (match expr + ((path *** ('propagated-inputs + ('quasiquote ((label ('unquote sym)) ...)))) label) + (_ '()))) + (current-regular + (map input->name (package-inputs package))) + (current-native + (map input->name (package-native-inputs package))) + (current-propagated + (map input->name (package-propagated-inputs package)))) + (append-map + (match-lambda + ((action type names) + (map (lambda (name) + (upstream-input-change + (name name) + (type type) + (action action))) + names))) + `((add regular + ,(lset-difference equal? + new-regular current-regular)) + (remove regular + ,(lset-difference equal? + current-regular new-regular)) + (add native + ,(lset-difference equal? + new-native current-native)) + (remove native + ,(lset-difference equal? + current-native new-native)) + (add propagated + ,(lset-difference equal? + new-propagated current-propagated)) + (remove propagated + ,(lset-difference equal? + current-propagated new-propagated)))))) + (_ '()))) (define (url-prefix-predicate prefix) "Return a predicate that returns true when passed a package where one of its @@ -268,12 +342,12 @@ values: the item from LST1 and the item from LST2 that match PRED." (define* (package-update store package updaters #:key (key-download 'interactive)) - "Return the new version and the file name of the new version tarball for -PACKAGE, or #f and #f when PACKAGE is up-to-date. KEY-DOWNLOAD specifies a -download policy for missing OpenPGP keys; allowed values: 'always', 'never', -and 'interactive' (default)." + "Return the new version, the file name of the new version tarball, and input +changes for PACKAGE; return #f (three values) when PACKAGE is up-to-date. +KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed +values: 'always', 'never', and 'interactive' (default)." (match (package-latest-release* package updaters) - (($ <upstream-source> _ version urls signature-urls) + (($ <upstream-source> _ version urls signature-urls changes) (let*-values (((name) (package-name package)) ((archive-type) @@ -299,9 +373,9 @@ and 'interactive' (default)." (or signature-urls (circular-list #f))))) (let ((tarball (download-tarball store url signature-url #:key-download key-download))) - (values version tarball)))) + (values version tarball changes)))) (#f - (values #f #f)))) + (values #f #f #f)))) (define (update-package-source package version hash) "Modify the source file that defines PACKAGE to refer to VERSION, diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index c432973f9e..f7360489c6 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -45,4 +45,5 @@ guix/nar.scm guix/channels.scm guix/profiles.scm guix/git.scm +guix/deprecation.scm nix/nix-daemon/guix-daemon.cc diff --git a/tests/guix-system.sh b/tests/guix-system.sh index 23d2da4903..adb623d244 100644 --- a/tests/guix-system.sh +++ b/tests/guix-system.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +# Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> # Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> # Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> # @@ -258,7 +258,9 @@ cat > "$tmpdir/config.scm"<<EOF (operating-system $OS_BASE - (services (cons (tor-service (local-file "my-torrc")) + (services (cons (service tor-service-type + (tor-configuration + (config-file (local-file "my-torrc")))) %base-services))) EOF diff --git a/tests/lint.scm b/tests/lint.scm index fe12bebd88..912a78d111 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -775,7 +775,16 @@ (method url-fetch) (uri (%local-url)) (sha256 %null-sha256)))))))))) - github-url))) + github-url)) + (test-assert "github-url: already the correct github url" + (string-null? + (with-warnings + (check-github-url + (dummy-package "x" (source + (origin + (method url-fetch) + (uri github-url) + (sha256 %null-sha256))))))))) (test-assert "cve" (mock ((guix scripts lint) package-vulnerabilities (const '())) diff --git a/tests/publish.scm b/tests/publish.scm index 79a786e723..097ac036e0 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson <davet@gnu.org> -;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,12 +63,12 @@ (let ((socket (open-socket-for-uri uri))) ;; Make sure to use an unbuffered port so that we can then peek at the ;; underlying file descriptor via 'call-with-gzip-input-port'. - (setvbuf socket _IONBF) + (setvbuf socket 'none) (call-with-values (lambda () (http-get uri #:port socket #:streaming? #t)) (lambda (response port) - ;; Don't (setvbuf port _IONBF) because of <http://bugs.gnu.org/19610> + ;; Don't (setvbuf port 'none) because of <http://bugs.gnu.org/19610> ;; (PORT might be a custom binary input port). port)))) diff --git a/tests/status.scm b/tests/status.scm index 99abb41c8b..08a3153218 100644 --- a/tests/status.scm +++ b/tests/status.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -125,9 +125,7 @@ (test-equal "current-build-output-port, UTF-8 + garbage" ;; What about a mixture of UTF-8 + garbage? - (let ((replacement (cond-expand - ((and guile-2 (not guile-2.2)) "?") - (else "�")))) + (let ((replacement "�")) `((build-log #f ,(string-append "garbage: " replacement "lambda: λ\n")))) (let-values (((port get-status) (build-event-output-port cons '()))) (display "garbage: " port) diff --git a/tests/store.scm b/tests/store.scm index 3ff526cdcf..5ff9308d7d 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -444,9 +444,7 @@ (package-derivation %store %bootstrap-guile)))) (guard (c ((nix-protocol-error? c) #t)) (build-derivations %store (list d)))))))) - (cond-expand - (guile-2.2 "garbage: �lambda: λ") - (else "garbage: ?lambda: λ")))) + "garbage: �lambda: λ")) (test-assert "log-file, derivation" (let* ((b (add-text-to-store %store "build" "echo $foo > $out" '())) |