Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2019-01-13 01:40:04 +01:00
commit 6764f94317
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
105 changed files with 4439 additions and 1477 deletions

View File

@ -61,6 +61,7 @@
(eval . (put 'with-derivation-narinfo 'scheme-indent-function 1)) (eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
(eval . (put 'with-derivation-substitute 'scheme-indent-function 2)) (eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
(eval . (put 'with-status-report 'scheme-indent-function 1)) (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 'mlambda 'scheme-indent-function 1))
(eval . (put 'mlambdaq 'scheme-indent-function 1)) (eval . (put 'mlambdaq 'scheme-indent-function 1))

View File

@ -64,6 +64,7 @@ MODULES = \
guix/base64.scm \ guix/base64.scm \
guix/ci.scm \ guix/ci.scm \
guix/cpio.scm \ guix/cpio.scm \
guix/deprecation.scm \
guix/docker.scm \ guix/docker.scm \
guix/records.scm \ guix/records.scm \
guix/pki.scm \ guix/pki.scm \

2
README
View File

@ -20,7 +20,7 @@ Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
GNU Guix currently depends on the following packages: 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://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later
- [[https://www.gnu.org/software/make/][GNU Make]] - [[https://www.gnu.org/software/make/][GNU Make]]
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled - [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -64,7 +64,7 @@
(length tests)) (length tests))
(with-store store (with-store store
(with-status-report print-build-event (with-status-verbosity 2
(run-with-store store (run-with-store store
(mlet* %store-monad ((drv (mapm %store-monad system-test-value tests)) (mlet* %store-monad ((drv (mapm %store-monad system-test-value tests))
(out -> (map derivation->output-path drv))) (out -> (map derivation->output-path drv)))

View File

@ -93,16 +93,12 @@ m4_pattern_forbid([^GUIX_])
dnl Search for 'guile' and 'guild'. This macro defines dnl Search for 'guile' and 'guild'. This macro defines
dnl 'GUILE_EFFECTIVE_VERSION'. dnl 'GUILE_EFFECTIVE_VERSION'.
GUILE_PKG([2.2 2.0]) GUILE_PKG([2.2])
GUILE_PROGS GUILE_PROGS
if test "x$GUILD" = "x"; then if test "x$GUILD" = "x"; then
AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.]) AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
fi 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. dnl Installation directories for .scm and .go files.
guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache" guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"

View File

@ -17,7 +17,7 @@
@set SUBSTITUTE-SERVER ci.guix.info @set SUBSTITUTE-SERVER ci.guix.info
@copying @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, 2014, 2016 Andreas Enge@*
Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2013 Nikita Karetnikov@*
Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* 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: GNU Guix depends on the following packages:
@itemize @itemize
@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or @item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.2.x;
later, including 2.2.x;
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version @item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 or later; 0.1.0 or later;
@item @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 in the profile. Collisions happen when two or more different versions
or variants of a given package end up in the profile. 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 @item --bootstrap
Use the bootstrap Guile to build the profile. This option is only Use the bootstrap Guile to build the profile. This option is only
useful to distribution developers. 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 By default, the daemon's setting is honored (@pxref{Invoking
guix-daemon, @code{--timeout}}). guix-daemon, @code{--timeout}}).
@item --verbosity=@var{level} @c Note: This option is actually not part of %standard-build-options but
Use the given verbosity level. @var{level} must be an integer between 0 @c most programs honor it.
and 5; higher means more verbose output. Setting a level of 4 or more @cindex verbosity, of the command-line tools
may be helpful when debugging setup issues with the build daemon. @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} @item --cores=@var{n}
@itemx -c @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 guix-daemon, @code{--max-jobs}}, for details about this option and the
equivalent @command{guix-daemon} option. 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 @end table
Behind the scenes, @command{guix build} is essentially an interface to Behind the scenes, @command{guix build} is essentially an interface to
@ -6548,9 +6553,9 @@ build}.
@item --quiet @item --quiet
@itemx -q @itemx -q
Build quietly, without displaying the build log. Upon completion, the Build quietly, without displaying the build log; this is equivalent to
build log is kept in @file{/var} (or similar) and can always be @code{--verbosity=0}. Upon completion, the build log is kept in @file{/var}
retrieved using the @option{--log-file} option. (or similar) and can always be retrieved using the @option{--log-file} option.
@item --file=@var{file} @item --file=@var{file}
@itemx -f @var{file} @itemx -f @var{file}
@ -11685,9 +11690,11 @@ gexps to introduce job definitions that are passed to mcron
(operating-system (operating-system
;; @dots{} ;; @dots{}
(services (cons (mcron-service (list garbage-collector-job (services (cons (service mcron-service-type
updatedb-job (mcron-configuration
idutils-job)) (jobs (list garbage-collector-job
updatedb-job
idutils-job))))
%base-services))) %base-services)))
@end lisp @end lisp
@ -11710,17 +11717,6 @@ also specify the number of tasks to display:
# herd schedule mcron 10 # herd schedule mcron 10
@end example @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 @defvr {Scheme Variable} mcron-service-type
This is the type of the @code{mcron} service, whose value is an This is the type of the @code{mcron} service, whose value is an
@code{mcron-configuration} object. @code{mcron-configuration} object.
@ -12314,12 +12310,6 @@ Tor} anonymous networking daemon. The service is configured using a
@end defvr @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 @deftp {Data Type} tor-configuration
@table @asis @table @asis
@item @code{tor} (default: @code{tor}) @item @code{tor} (default: @code{tor})
@ -22155,6 +22145,33 @@ The following is an example @code{dicod-service} configuration.
%dicod-database:gcide)))) %dicod-database:gcide))))
@end example @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 @node Setuid Programs
@subsection Setuid Programs @subsection Setuid Programs

View File

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU # 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 © 2013, 2014, 2015, 2016, 2017, 2018 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.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/irc.scm \
%D%/packages/iso-codes.scm \ %D%/packages/iso-codes.scm \
%D%/packages/java.scm \ %D%/packages/java.scm \
%D%/packages/java-compression.scm \
%D%/packages/javascript.scm \ %D%/packages/javascript.scm \
%D%/packages/jemalloc.scm \ %D%/packages/jemalloc.scm \
%D%/packages/jrnl.scm \ %D%/packages/jrnl.scm \
@ -483,6 +484,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/desktop.scm \ %D%/services/desktop.scm \
%D%/services/dict.scm \ %D%/services/dict.scm \
%D%/services/dns.scm \ %D%/services/dns.scm \
%D%/services/docker.scm \
%D%/services/authentication.scm \ %D%/services/authentication.scm \
%D%/services/games.scm \ %D%/services/games.scm \
%D%/services/kerberos.scm \ %D%/services/kerberos.scm \
@ -541,6 +543,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests/databases.scm \ %D%/tests/databases.scm \
%D%/tests/desktop.scm \ %D%/tests/desktop.scm \
%D%/tests/dict.scm \ %D%/tests/dict.scm \
%D%/tests/docker.scm \
%D%/tests/monitoring.scm \ %D%/tests/monitoring.scm \
%D%/tests/nfs.scm \ %D%/tests/nfs.scm \
%D%/tests/install.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/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/ao-cad-aarch64-support.patch \ %D%/packages/patches/ao-cad-aarch64-support.patch \
%D%/packages/patches/apr-skip-getservbyname-test.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/aspell-default-dict-dir.patch \
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc.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/docbook-xsl-nonrecursive-string-subst.patch \
%D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.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/dovecot-trees-support-dovecot-2.3.patch \
%D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dropbear-CVE-2018-15599.patch \ %D%/packages/patches/dropbear-CVE-2018-15599.patch \

View File

@ -986,7 +986,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.8.26") (version "1.8.27")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -996,7 +996,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"1qpyyfga8rs02p3186sns8qvh2bzwa48ka845nrcqh83dyd23nj0")) "1h1f7v9pv0rzp14cxzv8kaa8mdd717fbqv83l7c5dvvi8jwnisvv"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -64,7 +64,7 @@
(add-after 'install 'install-info (add-after 'install 'install-info
(lambda _ (lambda _
(invoke "make" "install_doc")))))) (invoke "make" "install_doc"))))))
(home-page "http://www.nasm.us/") (home-page "https://www.nasm.us/")
(synopsis "80x86 and x86-64 assembler") (synopsis "80x86 and x86-64 assembler")
(description (description
"NASM, the Netwide Assembler, is an 80x86 and x86-64 assembler designed "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 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 complex. It supports all currently known x86 architectural extensions, and
has strong support for macros.") has strong support for macros.")
(license license:bsd-3))) (license license:bsd-2)))
(define-public yasm (define-public yasm
(package (package
@ -140,18 +140,17 @@ to the clients.")
"02wqkqxpn3p0iwcagsm92qd9cdfcnbx8a09qg03b3pjppp30hmp6")))) "02wqkqxpn3p0iwcagsm92qd9cdfcnbx8a09qg03b3pjppp30hmp6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ;;no tests `(#:tests? #f ; No tests exist
#:strip-binaries? #f ;; fasm has no sections #:strip-binaries? #f ; fasm has no sections
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) ;;no configure script used (delete 'configure) ; no "configure" script exists
(replace 'build (replace 'build
(lambda _ (lambda _
;;source code are in this directory
(chdir "source/Linux/") (chdir "source/Linux/")
(if (string=? ,(%current-system) "x86_64-linux") (if (string=? ,(%current-system) "x86_64-linux")
;;use pre-compiled binaries in top-level directory to build ;; Use pre-compiled binaries in top-level directory to build
;;itself ;; fasm.
(invoke "../../fasm.x64" "fasm.asm") (invoke "../../fasm.x64" "fasm.asm")
(invoke "../../fasm" "fasm.asm")))) (invoke "../../fasm" "fasm.asm"))))
(replace 'install (replace 'install
@ -159,12 +158,48 @@ to the clients.")
(let ((out (assoc-ref %outputs "out"))) (let ((out (assoc-ref %outputs "out")))
(install-file "fasm" (string-append out "/bin"))) (install-file "fasm" (string-append out "/bin")))
#t))))) #t)))))
;;support only intel x86 family processors
(supported-systems '("x86_64-linux" "i686-linux")) (supported-systems '("x86_64-linux" "i686-linux"))
(synopsis "Assembler for x86 processors") (synopsis "Assembler for x86 processors")
(description (description
"FASM is a assembler that supports x86, and IA-64 Intel architectures. "FASM is an assembler that supports x86 and IA-64 Intel architectures.
It does multiple passes to optimize machine code.It have macro abilities and It does multiple passes to optimize machine code. It has macro abilities and
focus on operating system portability.") focuses on operating system portability.")
(home-page "https://flatassembler.net/") (home-page "https://flatassembler.net/")
(license license:bsd-2))) (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+)))

View File

@ -131,7 +131,7 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium (define-public stellarium
(package (package
(name "stellarium") (name "stellarium")
(version "0.18.1") (version "0.18.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/Stellarium/" name (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")) "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0vjkwrjy22b4wdjkafm63pmb0fck14ffnylpq8xr91ywycw4blrq")))) "1mm8rjcb8j56m3kfigpix5vxviw1616kvl9ws2s3s5gdyngljrc3"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)
@ -161,6 +161,13 @@ programs for the manipulation and analysis of astronomical data.")
(assoc-ref %build-inputs "qtserialport") (assoc-ref %build-inputs "qtserialport")
"/include/qt5")) "/include/qt5"))
#:phases (modify-phases %standard-phases #: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 (add-before 'check 'set-offscreen-display
(lambda _ (lambda _
;; make Qt render "offscreen", required for tests ;; make Qt render "offscreen", required for tests

View File

@ -1152,7 +1152,7 @@ follower.")
(define-public fluidsynth (define-public fluidsynth
(package (package
(name "fluidsynth") (name "fluidsynth")
(version "2.0.2") (version "2.0.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1161,7 +1161,7 @@ follower.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"02vs5sfsyh1dl7wlcvgs4w3x0qcmsl7vi000qgp99ynwh3wjb274")))) "00f6bhw4ddrinb5flvg5y53rcvnf4km23a6nbvnswmpq13568v78"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ; no check target

View File

@ -94,7 +94,8 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=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 CONFIG_CPU_ISOLATION=y
# #

View File

@ -86,7 +86,8 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=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 CONFIG_CPU_ISOLATION=y
# #

View File

@ -99,7 +99,8 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=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 CONFIG_CPU_ISOLATION=y
# #

View File

@ -101,7 +101,8 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=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 CONFIG_CPU_ISOLATION=y
# #

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; 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.") genomes and gene ID formats, largely based on the UCSC table browser.")
(license license:lgpl2.0+))) (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 (define-public r-hpar
(package (package
@ -411,14 +441,14 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno (define-public r-chippeakanno
(package (package
(name "r-chippeakanno") (name "r-chippeakanno")
(version "3.16.0") (version "3.16.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version)) (uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256 (sha256
(base32 (base32
"09fhh1355diip3v3c0skmp1336vclipkm5nv02qvp5902v4262y3")))) "1x98d8iwrxjwdz1s5cnvi6flynw9gdkmara9gwf205qxgmy7j3a3"))))
(properties `((upstream-name . "ChIPpeakAnno"))) (properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -778,14 +808,14 @@ trees and clusters to other programs.")
(define-public r-goseq (define-public r-goseq
(package (package
(name "r-goseq") (name "r-goseq")
(version "1.34.0") (version "1.34.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "goseq" version)) (uri (bioconductor-uri "goseq" version))
(sha256 (sha256
(base32 (base32
"1401x0jn5f8hqc12r3gd1wammp1nxir3is1k5ldd03ln97x00i7a")))) "1j87j98cajcjqabv6rb6zmcqxsqxxhbb3w60w1iink4rhsh8m3mn"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi) `(("r-annotationdbi" ,r-annotationdbi)
@ -804,14 +834,14 @@ defined categories which are over/under represented in RNA-seq data.")
(define-public r-glimma (define-public r-glimma
(package (package
(name "r-glimma") (name "r-glimma")
(version "1.10.0") (version "1.10.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Glimma" version)) (uri (bioconductor-uri "Glimma" version))
(sha256 (sha256
(base32 (base32
"0cbsi6g8k1whkh21jxfn22sj7wry2g3rshiracf5nyvrl2fnl947")))) "1ihrww55sa7ipi1rpp0rmn081sbqdwdmm5mz30zfrjr1xxqcdbcv"))))
(properties `((upstream-name . "Glimma"))) (properties `((upstream-name . "Glimma")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -831,14 +861,14 @@ information.")
(define-public r-rots (define-public r-rots
(package (package
(name "r-rots") (name "r-rots")
(version "1.10.0") (version "1.10.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ROTS" version)) (uri (bioconductor-uri "ROTS" version))
(sha256 (sha256
(base32 (base32
"137c06g5w7mjw3b1mly7b7n9iix4fcy23c7a9ym9iz8dazwhzwn5")))) "1d5ggkk47xybcaizfy756qimbf2falg9cld46mhqjp3xfbfvzsg6"))))
(properties `((upstream-name . "ROTS"))) (properties `((upstream-name . "ROTS")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -852,33 +882,64 @@ information.")
in omics data.") in omics data.")
(license license:gpl2+))) (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 (define-public r-inspect
(package (package
(name "r-inspect") (name "r-inspect")
(version "1.12.0") (version "1.12.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "INSPEcT" version)) (uri (bioconductor-uri "INSPEcT" version))
(sha256 (sha256
(base32 (base32
"0b671x5v2wyq5np2flq2m1fnjz32f303yjlw64a1inwc9k2w2pz2")))) "07q5msw9rnamx957mbiawnv3p9kr5ahwawzvv9xzla7d3lkk62xp"))))
(properties `((upstream-name . "INSPEcT"))) (properties `((upstream-name . "INSPEcT")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-biobase" ,r-biobase) `(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics) ("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel) ("r-biocparallel" ,r-biocparallel)
("r-deseq2" ,r-deseq2)
("r-desolve" ,r-desolve) ("r-desolve" ,r-desolve)
("r-genomicalignments" ,r-genomicalignments) ("r-genomicalignments" ,r-genomicalignments)
("r-genomicfeatures" ,r-genomicfeatures) ("r-genomicfeatures" ,r-genomicfeatures)
("r-genomicranges" ,r-genomicranges) ("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges) ("r-iranges" ,r-iranges)
("r-plgem" ,r-plgem)
("r-preprocesscore" ,r-preprocesscore) ("r-preprocesscore" ,r-preprocesscore)
("r-proc" ,r-proc) ("r-proc" ,r-proc)
("r-rootsolve" ,r-rootsolve) ("r-rootsolve" ,r-rootsolve)
("r-rsamtools" ,r-rsamtools) ("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") (home-page "https://bioconductor.org/packages/INSPEcT")
(synopsis "Analysis of 4sU-seq and RNA-seq time-course data") (synopsis "Analysis of 4sU-seq and RNA-seq time-course data")
(description (description
@ -918,14 +979,14 @@ demultiplexed, i.e. assigned to their original reference barcode.")
(define-public r-ruvseq (define-public r-ruvseq
(package (package
(name "r-ruvseq") (name "r-ruvseq")
(version "1.16.0") (version "1.16.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "RUVSeq" version)) (uri (bioconductor-uri "RUVSeq" version))
(sha256 (sha256
(base32 (base32
"0xb3bj3n06cb9xddkv77a8svhg4fl1azlfmibwrm9mq9464kgf0m")))) "0qk7q3ab7k133divfkp54zsmvsmb9p8r09pkh2caswrzrn8achzv"))))
(properties `((upstream-name . "RUVSeq"))) (properties `((upstream-name . "RUVSeq")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs

View File

@ -78,6 +78,7 @@
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages java) #:use-module (gnu packages java)
#:use-module (gnu packages java-compression)
#:use-module (gnu packages jemalloc) #:use-module (gnu packages jemalloc)
#:use-module (gnu packages dlang) #:use-module (gnu packages dlang)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
@ -6472,14 +6473,14 @@ high-throughput sequencing experiments.")
(define-public r-deseq2 (define-public r-deseq2
(package (package
(name "r-deseq2") (name "r-deseq2")
(version "1.22.1") (version "1.22.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "DESeq2" version)) (uri (bioconductor-uri "DESeq2" version))
(sha256 (sha256
(base32 (base32
"1b2bmvcsfzvks47d7w46zplcwz0kgcdhx5xmx3x9lp2gvx2p84r5")))) "0n5ah84mxn87p45drzy0wh2yknmzj1q5i6gv0v9vgg1lj7awb91r"))))
(properties `((upstream-name . "DESeq2"))) (properties `((upstream-name . "DESeq2")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -6509,14 +6510,14 @@ distribution.")
(define-public r-dexseq (define-public r-dexseq
(package (package
(name "r-dexseq") (name "r-dexseq")
(version "1.28.0") (version "1.28.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "DEXSeq" version)) (uri (bioconductor-uri "DEXSeq" version))
(sha256 (sha256
(base32 (base32
"0jh1640cnzpk8x3155cqc8dvrs1rciw3d6nv2k70baw96bhrynp8")))) "0g5w9bn2nb3m670hkcsnhfvvkza2318z9irlhhwhb3n8rdzlsdym"))))
(properties `((upstream-name . "DEXSeq"))) (properties `((upstream-name . "DEXSeq")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -6582,14 +6583,14 @@ databases. Packages produced are intended to be used with AnnotationDbi.")
(define-public r-rbgl (define-public r-rbgl
(package (package
(name "r-rbgl") (name "r-rbgl")
(version "1.58.0") (version "1.58.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "RBGL" version)) (uri (bioconductor-uri "RBGL" version))
(sha256 (sha256
(base32 (base32
"0jy95m38c4qp0a12097hhm2gg63k96k6ydhb11dy379h3ziapcar")))) "1l5x2icv9di1lr3gqfi0vjnyd9xc3l77yc42ippqd4cadj3d1pzf"))))
(properties `((upstream-name . "RBGL"))) (properties `((upstream-name . "RBGL")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs `(("r-graph" ,r-graph))) (propagated-inputs `(("r-graph" ,r-graph)))
@ -6734,14 +6735,14 @@ ungapped alignment formats.")
(define-public r-systempiper (define-public r-systempiper
(package (package
(name "r-systempiper") (name "r-systempiper")
(version "1.16.0") (version "1.16.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "systemPipeR" version)) (uri (bioconductor-uri "systemPipeR" version))
(sha256 (sha256
(base32 (base32
"0l26q8zjdmzg84g7f25gv9z60sykybahlpg5bg9bmpbg5lzcsx04")))) "0qzydz87rld2nhwzbfgrw5jfgh8maa9y54mjx9c4285m11qj2shq"))))
(properties `((upstream-name . "systemPipeR"))) (properties `((upstream-name . "systemPipeR")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -7133,13 +7134,13 @@ Bioconductor, CRAN, and Github.")
(define-public r-biocviews (define-public r-biocviews
(package (package
(name "r-biocviews") (name "r-biocviews")
(version "1.50.5") (version "1.50.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "biocViews" version)) (uri (bioconductor-uri "biocViews" version))
(sha256 (sha256
(base32 (base32
"0rc1n89n04ylvy9gvsgvizcs77bh70jg1nkjjsjs7rqbr3zzdysz")))) "06ms82pyc5rxbd9crfvqjxcwpafv0c627i83v80d12925mrc51h8"))))
(properties (properties
`((upstream-name . "biocViews"))) `((upstream-name . "biocViews")))
(build-system r-build-system) (build-system r-build-system)
@ -7160,13 +7161,13 @@ also known as views, in a controlled vocabulary.")
(define-public r-bookdown (define-public r-bookdown
(package (package
(name "r-bookdown") (name "r-bookdown")
(version "0.7") (version "0.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "bookdown" version)) (uri (cran-uri "bookdown" version))
(sha256 (sha256
(base32 (base32
"1b3fw1f41zph5yw3kynb47aijq53vhaa6mnnvxly72zamyzdf95q")))) "0vg1s1w0l9pm95asqb21yf39mfk1nc9rdhmlys9xwr7p7i7rsz32"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-htmltools" ,r-htmltools) `(("r-htmltools" ,r-htmltools)
@ -7434,13 +7435,13 @@ names in their natural, rather than lexicographic, order.")
(define-public r-edger (define-public r-edger
(package (package
(name "r-edger") (name "r-edger")
(version "3.24.0") (version "3.24.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "edgeR" version)) (uri (bioconductor-uri "edgeR" version))
(sha256 (sha256
(base32 (base32
"0ihihgzrgb4q3xc8xkzp1v76ndgihrj4gas00fa25vggfs1v6hvg")))) "15yimsbsxmxhlsfmgw5j7fd8qn08zz4xqxrir1c6n2dc103y22xg"))))
(properties `((upstream-name . "edgeR"))) (properties `((upstream-name . "edgeR")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -7462,13 +7463,13 @@ CAGE.")
(define-public r-variantannotation (define-public r-variantannotation
(package (package
(name "r-variantannotation") (name "r-variantannotation")
(version "1.28.1") (version "1.28.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "VariantAnnotation" version)) (uri (bioconductor-uri "VariantAnnotation" version))
(sha256 (sha256
(base32 (base32
"0gvah258mkaafhbna81zwknx8qr3lidbcx5qvwk39q3yswr9mi49")))) "0gf36lr9xy3zmcc4rxs5bi2ccrrc7b6wqp6p3cvnclgif4i0l66k"))))
(properties (properties
`((upstream-name . "VariantAnnotation"))) `((upstream-name . "VariantAnnotation")))
(inputs (inputs
@ -7500,13 +7501,13 @@ coding changes and predict coding outcomes.")
(define-public r-limma (define-public r-limma
(package (package
(name "r-limma") (name "r-limma")
(version "3.38.2") (version "3.38.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "limma" version)) (uri (bioconductor-uri "limma" version))
(sha256 (sha256
(base32 (base32
"1wkh362rmn24q7bkinb6nx62a31wl3r3myg5l326gx65wpwdnx97")))) "08va8jggmv61wym955mnb1n31mgikrmjys7dl1kp5hp3yia8jg7l"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma") (home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data") (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 (define-public r-biocparallel
(package (package
(name "r-biocparallel") (name "r-biocparallel")
(version "1.16.0") (version "1.16.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "BiocParallel" version)) (uri (bioconductor-uri "BiocParallel" version))
(sha256 (sha256
(base32 (base32
"0g16cy0vjapqkb188z63r1b6y96m9g8vx0a3v2qavzxc177k0cja")))) "1164dk0fajb2vrkfpcjs11055qf1cs4vvbnq0aqdaaf2p4lyx41l"))))
(properties (properties
`((upstream-name . "BiocParallel"))) `((upstream-name . "BiocParallel")))
(build-system r-build-system) (build-system r-build-system)
@ -7691,13 +7692,13 @@ objects.")
(define-public r-biostrings (define-public r-biostrings
(package (package
(name "r-biostrings") (name "r-biostrings")
(version "2.50.1") (version "2.50.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Biostrings" version)) (uri (bioconductor-uri "Biostrings" version))
(sha256 (sha256
(base32 (base32
"1qyv1ps7vy6gy78pm2rcikg0bgf1mv7falahjp3pkwqq1272hrl8")))) "16cqqc8i6gb0jcz0lizfqqxsq7g0yb0ll2s9qzmb45brp07dg8f7"))))
(properties (properties
`((upstream-name . "Biostrings"))) `((upstream-name . "Biostrings")))
(build-system r-build-system) (build-system r-build-system)
@ -7823,13 +7824,13 @@ samples.")
(define-public r-genomicalignments (define-public r-genomicalignments
(package (package
(name "r-genomicalignments") (name "r-genomicalignments")
(version "1.18.0") (version "1.18.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "GenomicAlignments" version)) (uri (bioconductor-uri "GenomicAlignments" version))
(sha256 (sha256
(base32 (base32
"0a3zhwripfw2508fvgx3wzqa8nq8vnslg97a911znpwvxh53jl24")))) "1maslav2r34wjyzh2nlwa862in1ir7i5xk57nw2nlfh5gqy112jd"))))
(properties (properties
`((upstream-name . "GenomicAlignments"))) `((upstream-name . "GenomicAlignments")))
(build-system r-build-system) (build-system r-build-system)
@ -7856,13 +7857,13 @@ alignments.")
(define-public r-rtracklayer (define-public r-rtracklayer
(package (package
(name "r-rtracklayer") (name "r-rtracklayer")
(version "1.42.0") (version "1.42.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "rtracklayer" version)) (uri (bioconductor-uri "rtracklayer" version))
(sha256 (sha256
(base32 (base32
"0a4mhd926w9slkfil5xgngjsfdj024a4w57w2bm3d4r0pj8y5da7")))) "1ycmcxvgvszvjv75hlmg0i6pq8i7r8720vgmfayb905s9l6j82x6"))))
(build-system r-build-system) (build-system r-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -8953,13 +8954,13 @@ kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.")
(define-public r-tximport (define-public r-tximport
(package (package
(name "r-tximport") (name "r-tximport")
(version "1.10.0") (version "1.10.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "tximport" version)) (uri (bioconductor-uri "tximport" version))
(sha256 (sha256
(base32 (base32
"0za2js8hqjgz8ria09cglynffj4w9vrzg85nmn1xgpvmc1xk813h")))) "16wp09dm0cpb4mc00nmglfb8ica7qb4a55vm8ajgzyagbpfdd44l"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://bioconductor.org/packages/tximport") (home-page "https://bioconductor.org/packages/tximport")
(synopsis "Import and summarize transcript-level estimates for gene-level analysis") (synopsis "Import and summarize transcript-level estimates for gene-level analysis")
@ -8975,13 +8976,13 @@ of gene-level counts.")
(define-public r-rhdf5 (define-public r-rhdf5
(package (package
(name "r-rhdf5") (name "r-rhdf5")
(version "2.26.0") (version "2.26.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "rhdf5" version)) (uri (bioconductor-uri "rhdf5" version))
(sha256 (sha256
(base32 (base32
"0xmpkfdsmgl79ffffj7cf9fx3zxki2rk0xn25k778kr3s0sbmhis")))) "10zkw3k13wmvyif417gplyf6rwp2gpkjasw97lhwv2f9i32rry9l"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-rhdf5lib" ,r-rhdf5lib))) `(("r-rhdf5lib" ,r-rhdf5lib)))
@ -9360,14 +9361,14 @@ GenomicRanges Bioconductor package.")
(define-public r-copywriter (define-public r-copywriter
(package (package
(name "r-copywriter") (name "r-copywriter")
(version "2.14.0") (version "2.14.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "CopywriteR" version)) (uri (bioconductor-uri "CopywriteR" version))
(sha256 (sha256
(base32 (base32
"0aamxafdk98n7s92jyqs65d6ljpnc2463vanvsw80p44qn6l6awn")))) "1hbiw0m9hmx4na9v502pxf8y5wvxzr68r4d3fqr2755gxx86qck6"))))
(properties `((upstream-name . "CopywriteR"))) (properties `((upstream-name . "CopywriteR")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -9400,13 +9401,13 @@ number detection tools.")
(define-public r-methylkit (define-public r-methylkit
(package (package
(name "r-methylkit") (name "r-methylkit")
(version "1.8.0") (version "1.8.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "methylKit" version)) (uri (bioconductor-uri "methylKit" version))
(sha256 (sha256
(base32 (base32
"0mz6lil1wax931incnw5byx0v9i8ryhwq9mv0nv8s48ai33ch3x6")))) "1zcfwy7i10aqgnf7r0c41hakb5aai3s3n9y8pc6a98vimz51ly2z"))))
(properties `((upstream-name . "methylKit"))) (properties `((upstream-name . "methylKit")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -9446,14 +9447,14 @@ TAB-Seq.")
(define-public r-sva (define-public r-sva
(package (package
(name "r-sva") (name "r-sva")
(version "3.30.0") (version "3.30.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "sva" version)) (uri (bioconductor-uri "sva" version))
(sha256 (sha256
(base32 (base32
"1xf0hlrqjxl0y3x13mrkxghiv39fd9v2g8gq3qzbf1wj7il6bph3")))) "0czja4c5jxa0g3fspi90nyajqmvzb29my4ykv2wi66h43f5dlwhq"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-genefilter" ,r-genefilter) `(("r-genefilter" ,r-genefilter)
@ -9476,14 +9477,14 @@ unmodeled, or latent sources of noise.")
(define-public r-seqminer (define-public r-seqminer
(package (package
(name "r-seqminer") (name "r-seqminer")
(version "6.1") (version "7.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "seqminer" version)) (uri (cran-uri "seqminer" version))
(sha256 (sha256
(base32 (base32
"15yhg4vfc7jg1jnqb3371j00pgbmbyc9l1xx63hq1l3p34lazq2l")))) "1jydcpkw4rwfp983j83kipvsvr10as9pb49zzn3c2v09k1gh3ymy"))))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
`(("zlib" ,zlib))) `(("zlib" ,zlib)))
@ -9576,14 +9577,14 @@ proteomics packages.")
(define-public r-mzr (define-public r-mzr
(package (package
(name "r-mzr") (name "r-mzr")
(version "2.16.0") (version "2.16.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "mzR" version)) (uri (bioconductor-uri "mzR" version))
(sha256 (sha256
(base32 (base32
"0li1y6p95ljiva4lvfmql9sipn4dq42sknbh60b36ycjppnf8lj5")) "0mlwg646k49klxrznckzfv54a9mz6irj42fqpaaa0xjm6cw2lwaa"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -9714,14 +9715,14 @@ and specific in detecting differential transcription.")
(define-public r-mzid (define-public r-mzid
(package (package
(name "r-mzid") (name "r-mzid")
(version "1.20.0") (version "1.20.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "mzID" version)) (uri (bioconductor-uri "mzID" version))
(sha256 (sha256
(base32 (base32
"08jbq223viwknsmsi30hyxyxslvmb0l4wx3vmqlkl6qk4vfmxzjz")))) "15yd4bdxprw3kg7zj2k652y3yr3si781iw28jqvnkm0gsc23rd0c"))))
(properties `((upstream-name . "mzID"))) (properties `((upstream-name . "mzID")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -9774,14 +9775,14 @@ structure (pcaRes) to provide a common interface to the PCA results.")
(define-public r-msnbase (define-public r-msnbase
(package (package
(name "r-msnbase") (name "r-msnbase")
(version "2.8.1") (version "2.8.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "MSnbase" version)) (uri (bioconductor-uri "MSnbase" version))
(sha256 (sha256
(base32 (base32
"0y658anh06vnvbkfs7r8q40gqgyqr2r8kj7jlpnp33fy1lvp1nv7")))) "1kl1d7byphnfpmbl5fzbgs68dxskhpsdyx7ka51bpfn0nv3pp492"))))
(properties `((upstream-name . "MSnbase"))) (properties `((upstream-name . "MSnbase")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -9817,14 +9818,14 @@ of mass spectrometry based proteomics data.")
(define-public r-msnid (define-public r-msnid
(package (package
(name "r-msnid") (name "r-msnid")
(version "1.16.0") (version "1.16.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "MSnID" version)) (uri (bioconductor-uri "MSnID" version))
(sha256 (sha256
(base32 (base32
"0hgq4argllhh5hvxqi8vkf1blc3nibsslhx4zsv2mcv4yj75bv4n")))) "077n6ljcnnl7q4w0qj8v46vm4sjk9vzzfqf7wsc6lz0wmyzqdng3"))))
(properties `((upstream-name . "MSnID"))) (properties `((upstream-name . "MSnID")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -9946,14 +9947,14 @@ classes.")
(define-public r-deseq (define-public r-deseq
(package (package
(name "r-deseq") (name "r-deseq")
(version "1.34.0") (version "1.34.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "DESeq" version)) (uri (bioconductor-uri "DESeq" version))
(sha256 (sha256
(base32 (base32
"1klv1xrh3173srywr6dnq6i7m9djn4gc9aflr1p3a6yjlqcq6fya")))) "0bpiixczbhlyaiinpbl6xrpmv72k2bq76bxnw06gl35m4pgs94p2"))))
(properties `((upstream-name . "DESeq"))) (properties `((upstream-name . "DESeq")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -9977,14 +9978,14 @@ distribution.")
(define-public r-edaseq (define-public r-edaseq
(package (package
(name "r-edaseq") (name "r-edaseq")
(version "2.16.0") (version "2.16.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "EDASeq" version)) (uri (bioconductor-uri "EDASeq" version))
(sha256 (sha256
(base32 (base32
"1gjqzn1kg9qwyz2gwjyy9xzzr1lnc7xd5zwdyvzkadz97gckzxwf")))) "0559ph606ps2g9bwbl0a2knkcs5w581n9igngpjxvk5p56k24gb5"))))
(properties `((upstream-name . "EDASeq"))) (properties `((upstream-name . "EDASeq")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -9992,6 +9993,7 @@ distribution.")
("r-aroma-light" ,r-aroma-light) ("r-aroma-light" ,r-aroma-light)
("r-biobase" ,r-biobase) ("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics) ("r-biocgenerics" ,r-biocgenerics)
("r-biocmanager" ,r-biocmanager)
("r-biomart" ,r-biomart) ("r-biomart" ,r-biomart)
("r-biostrings" ,r-biostrings) ("r-biostrings" ,r-biostrings)
("r-deseq" ,r-deseq) ("r-deseq" ,r-deseq)
@ -10039,14 +10041,14 @@ Shiny-based display methods for Bioconductor objects.")
(define-public r-annotationhub (define-public r-annotationhub
(package (package
(name "r-annotationhub") (name "r-annotationhub")
(version "2.14.1") (version "2.14.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "AnnotationHub" version)) (uri (bioconductor-uri "AnnotationHub" version))
(sha256 (sha256
(base32 (base32
"00288x3na0izpmbcvsqac1br1qwry86vwc2slj1l47crdfb7za6c")))) "17fgrvcnbii9siv5rq5j09bxhqffx47f6jf10418qvr7hh61ic1g"))))
(properties `((upstream-name . "AnnotationHub"))) (properties `((upstream-name . "AnnotationHub")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -10128,14 +10130,14 @@ microarrays or GRanges for sequencing data.")
(define-public r-gage (define-public r-gage
(package (package
(name "r-gage") (name "r-gage")
(version "2.32.0") (version "2.32.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "gage" version)) (uri (bioconductor-uri "gage" version))
(sha256 (sha256
(base32 (base32
"07b098wvryxf0zd423nk6h52s3gyngwjcx2vplqybpbpgl8h2931")))) "02g796sb1800ff0f1mq9f2m5wwzpf8pnfzajs49i68dhq2hm01a8"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi) `(("r-annotationdbi" ,r-annotationdbi)
@ -10220,14 +10222,14 @@ self-defined annotation graphics.")
(define-public r-dirichletmultinomial (define-public r-dirichletmultinomial
(package (package
(name "r-dirichletmultinomial") (name "r-dirichletmultinomial")
(version "1.24.0") (version "1.24.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "DirichletMultinomial" version)) (uri (bioconductor-uri "DirichletMultinomial" version))
(sha256 (sha256
(base32 (base32
"19bzn0a5jal1xv0ad6wikxc7wrk582hczqamlln0vb2ffwkj1z3f")))) "0vazfjzqy78p5g7dnv30lbqbj4bhq4zafd2wh6gdwy2il1fd78xa"))))
(properties (properties
`((upstream-name . "DirichletMultinomial"))) `((upstream-name . "DirichletMultinomial")))
(build-system r-build-system) (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 (define-public r-ensembldb
(package (package
(name "r-ensembldb") (name "r-ensembldb")
(version "2.6.2") (version "2.6.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ensembldb" version)) (uri (bioconductor-uri "ensembldb" version))
(sha256 (sha256
(base32 (base32
"0hdz1f34v7sas2v4225icwl3wd4sf17ykpd5dkbx1hc7wcy4w3np")))) "0kzdsfk6mdwlp57sw4j2cf7lx5nc67v5j0xr3iag9kzmgikaq1lb"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi) `(("r-annotationdbi" ,r-annotationdbi)
@ -10324,14 +10326,14 @@ the fact that each of these packages implements a select methods.")
(define-public r-biovizbase (define-public r-biovizbase
(package (package
(name "r-biovizbase") (name "r-biovizbase")
(version "1.30.0") (version "1.30.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "biovizBase" version)) (uri (bioconductor-uri "biovizBase" version))
(sha256 (sha256
(base32 (base32
"0v54mcn3rnnfx8dmcrms5z3rgq19n3hp4r23azlgzwq6hjw7cccx")))) "0v5gvcx180qn5487i1dph9abadw3ggqwp5yzy41jswzbdc8q6sbm"))))
(properties `((upstream-name . "biovizBase"))) (properties `((upstream-name . "biovizBase")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -10661,14 +10663,14 @@ family of feature/genome hypotheses.")
(define-public r-gviz (define-public r-gviz
(package (package
(name "r-gviz") (name "r-gviz")
(version "1.26.0") (version "1.26.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Gviz" version)) (uri (bioconductor-uri "Gviz" version))
(sha256 (sha256
(base32 (base32
"05zk9hf30afg6rjg97lzn5v8xij90v8zm09y9vcz0asmc3c8xs0a")))) "0jvcivgw0ahv2rjadxmrww76xambhf7silczmh38nn4yn4qw6w9y"))))
(properties `((upstream-name . "Gviz"))) (properties `((upstream-name . "Gviz")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -10822,14 +10824,14 @@ provided.")
(define-public r-qvalue (define-public r-qvalue
(package (package
(name "r-qvalue") (name "r-qvalue")
(version "2.14.0") (version "2.14.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "qvalue" version)) (uri (bioconductor-uri "qvalue" version))
(sha256 (sha256
(base32 (base32
"03qxshqwwq1rj23p6pjrz08jm3ziikvy9badi4mz2rcwy2nz783a")))) "0kxavzm1j2mk26qicmjm90nxx4w5h3dxighzks7wzihay3k8cysc"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-ggplot2" ,r-ggplot2) `(("r-ggplot2" ,r-ggplot2)
@ -10851,14 +10853,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
(define-public r-hdf5array (define-public r-hdf5array
(package (package
(name "r-hdf5array") (name "r-hdf5array")
(version "1.10.0") (version "1.10.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "HDF5Array" version)) (uri (bioconductor-uri "HDF5Array" version))
(sha256 (sha256
(base32 (base32
"1w7ad8cfsbh5xx82m3l4lc0vbmj9lcsqxxpiy3ana2ycgn1bqv3g")))) "1qwdsygcadl58qj598hfyvs8hp0hqcl9ghnhknahrlhmb7k2bd2d"))))
(properties `((upstream-name . "HDF5Array"))) (properties `((upstream-name . "HDF5Array")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -10877,14 +10879,14 @@ block processing.")
(define-public r-rhdf5lib (define-public r-rhdf5lib
(package (package
(name "r-rhdf5lib") (name "r-rhdf5lib")
(version "1.4.0") (version "1.4.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Rhdf5lib" version)) (uri (bioconductor-uri "Rhdf5lib" version))
(sha256 (sha256
(base32 (base32
"01gpz780g850ql20b2ql6pvr678ydk4nq4sn5iiih94a4crb9lz1")) "06bxd3wz8lrvh2hzvmjpdv4lvzj5lz9353bw5b3zb98cb8w9r2j5"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -10977,14 +10979,14 @@ matrices.")
(define-public r-singlecellexperiment (define-public r-singlecellexperiment
(package (package
(name "r-singlecellexperiment") (name "r-singlecellexperiment")
(version "1.4.0") (version "1.4.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "SingleCellExperiment" version)) (uri (bioconductor-uri "SingleCellExperiment" version))
(sha256 (sha256
(base32 (base32
"19r4r7djrn46qlijkj1g926vcklxzcrxjlxv6cg43m9j9jgfs3dj")))) "12139kk9cqgzpm6f3cwdsq31gj5lxamz2q939dy9fa0fa54gdaq4"))))
(properties (properties
`((upstream-name . "SingleCellExperiment"))) `((upstream-name . "SingleCellExperiment")))
(build-system r-build-system) (build-system r-build-system)
@ -11004,13 +11006,13 @@ libraries.")
(define-public r-scater (define-public r-scater
(package (package
(name "r-scater") (name "r-scater")
(version "1.10.0") (version "1.10.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "scater" version)) (uri (bioconductor-uri "scater" version))
(sha256 (sha256
(base32 (base32
"1kwa9n70c5j0xcj6nkmlkzjr63cnj78mp8nhg58n07fq1ijm4ns3")))) "0rijhy7g5qmcn927y1wyd63la1fhyar9fv1hccsqd23jd98yc55a"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-beachmat" ,r-beachmat) `(("r-beachmat" ,r-beachmat)
@ -11040,14 +11042,14 @@ quality control.")
(define-public r-scran (define-public r-scran
(package (package
(name "r-scran") (name "r-scran")
(version "1.10.1") (version "1.10.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "scran" version)) (uri (bioconductor-uri "scran" version))
(sha256 (sha256
(base32 (base32
"1viyzrwfm9vccsf54c6g7k1dn7skkfx4ml1jy12q67wa20sx8l03")))) "07mgilr3gq3lnrm1fjm9zhz4w7970bjhsykln1drqy9gkzj5sn7g"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-beachmat" ,r-beachmat) `(("r-beachmat" ,r-beachmat)
@ -14217,12 +14219,7 @@ absolute GSEA.")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(replace 'build (delete 'build)
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "JAMM.sh"
(("^sPath=.*")
(string-append "")))
#t))
(replace 'install (replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))

View File

@ -264,6 +264,7 @@ maintained upstream.")
(uri (string-append "https://github.com/tatsuhiro-t/aria2/" (uri (string-append "https://github.com/tatsuhiro-t/aria2/"
"releases/download/release-" version "/" "releases/download/release-" version "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(patches (search-patches "aria2-CVE-2019-3500.patch"))
(sha256 (sha256
(base32 (base32
"18vpgr430vxlwbcc3598rr1srfmwypls6wp1m4wf21hncc1ahi1s")))) "18vpgr430vxlwbcc3598rr1srfmwypls6wp1m4wf21hncc1ahi1s"))))

View File

@ -45,7 +45,6 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
@ -59,7 +58,6 @@
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages java)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl-check) #: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.") 100% bigger.")
(license license:asl2.0))) (license license:asl2.0)))
(define bitshuffle-for-snappy (define-public bitshuffle-for-snappy
(package (package
(inherit bitshuffle) (inherit bitshuffle)
(name "bitshuffle-for-snappy") (name "bitshuffle-for-snappy")
@ -1302,245 +1300,6 @@ install: libbitshuffle.so
(inputs '()) (inputs '())
(native-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 (define-public p7zip
(package (package
(name "p7zip") (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.") type by using either Perl modules, or command-line tools on your system.")
(license license:perl-license))) (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 (define-public lunzip
(package (package
(name "lunzip") (name "lunzip")

File diff suppressed because it is too large Load Diff

View File

@ -11,6 +11,8 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -71,7 +73,7 @@
(define-public libsodium (define-public libsodium
(package (package
(name "libsodium") (name "libsodium")
(version "1.0.16") (version "1.0.17")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append (uri (list (string-append
@ -82,7 +84,7 @@
"releases/old/libsodium-" version ".tar.gz"))) "releases/old/libsodium-" version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"0cq5pn7qcib7q70mm1lgjwj75xdxix27v0xl1xl0kvxww7hwgbgf")))) "1cf2d9v1gylz1qcy2zappbf526qfmph6gd6fnn3w2b347vixmhqc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library") (synopsis "Portable NaCl-based crypto library")
(description (description
@ -164,53 +166,6 @@ OpenBSD tool of the same name.")
"See base64.c in the distribution for "See base64.c in the distribution for
the license from IBM."))))) 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 (define-public encfs
(package (package
(name "encfs") (name "encfs")
@ -632,7 +587,7 @@ data on your platform, so the seed itself will be as random as possible.
(define-public crypto++ (define-public crypto++
(package (package
(name "crypto++") (name "crypto++")
(version "6.0.0") (version "8.0.0")
(source (origin (source (origin
(method url-fetch/zipbomb) (method url-fetch/zipbomb)
(uri (string-append "https://cryptopp.com/cryptopp" (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")) ".zip"))
(sha256 (sha256
(base32 (base32
"1nidm6xbdza5cbgf5md2zznmaq692rfyjasycwipl6rzdfwjvb34")))) "0b5qrsm4jhy4nzxgrm13nixhvbswr242plx1jw6r4sw492rqkzdv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#: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 #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'disable-native-optimisation (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" (substitute* "GNUmakefile"
((" -march=native") "")) ((" -march=native") ""))
#t)) #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 (native-inputs
`(("unzip" ,unzip))) `(("unzip" ,unzip)))
(home-page "https://cryptopp.com/") (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.") trivial to build for local use. Portability is emphasized over performance.")
(home-page "https://github.com/skeeto/enchive") (home-page "https://github.com/skeeto/enchive")
(license license:unlicense))) (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))))

View File

@ -37,13 +37,13 @@
(define-public python-django (define-public python-django
(package (package
(name "python-django") (name "python-django")
(version "1.11.17") (version "1.11.18")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Django" version)) (uri (pypi-uri "Django" version))
(sha256 (sha256
(base32 (base32
"10xlpm21ll8mgz5py41sz9vrd603qv7an736agbqxkxlyikfx1x7")))) "19b6f020als9hr4q1im5282yn2b1hzf586n9kjrlkrslq7da3k3k"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:modules ((srfi srfi-1) '(#:modules ((srfi srfi-1)

View File

@ -106,7 +106,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind (define-public isc-bind
(package (package
(name "bind") (name "bind")
(version "9.12.2-P2") (version "9.12.3-P1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -114,7 +114,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0gk9vwqlbdmn10m21f2awvmiccfbadvcwi8zsgm91awbx4k7h0l7")))) "0wzdbn6ig851354cjdys5q3gvqcvl2gmmih1gzr8ldl7sy4r7dvc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs `("out" "utils")) (outputs `("out" "utils"))
(inputs (inputs

View File

@ -23,17 +23,25 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization)) #:use-module (gnu packages virtualization))
(define %docker-version "18.09.0")
(define-public python-docker-py (define-public python-docker-py
(package (package
(name "python-docker-py") (name "python-docker-py")
@ -188,6 +196,11 @@ Python without keeping their credentials in a Docker configuration file.")
(string-append "DefaultCommand = \"" (string-append "DefaultCommand = \""
(assoc-ref inputs "runc") (assoc-ref inputs "runc")
"/sbin/runc\"\n"))) "/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)) #t))
(replace 'build (replace 'build
(lambda* (#:key (make-flags '()) #:allow-other-keys) (lambda* (#:key (make-flags '()) #:allow-other-keys)
@ -200,7 +213,8 @@ Python without keeping their credentials in a Docker configuration file.")
(inputs (inputs
`(("btrfs-progs" ,btrfs-progs) `(("btrfs-progs" ,btrfs-progs)
("libseccomp" ,libseccomp) ("libseccomp" ,libseccomp)
("runc" ,runc))) ("runc" ,runc)
("util-linux" ,util-linux)))
(native-inputs (native-inputs
`(("go" ,go) `(("go" ,go)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
@ -210,3 +224,307 @@ It includes image transfer and storage, container execution and supervision,
network attachments.") network attachments.")
(home-page "http://containerd.io/") (home-page "http://containerd.io/")
(license license:asl2.0))) (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)))

View File

@ -428,16 +428,16 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public emacs-with-editor (define-public emacs-with-editor
(package (package
(name "emacs-with-editor") (name "emacs-with-editor")
(version "2.7.3") (version "2.8.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/magit/with-editor/archive/v" (url "https://github.com/magit/with-editor.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ln2s0kckzkv50qmr6x1kb2j30cfjii0vs6lpghg7ff4lav8jqgh")))) "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-dash" ,emacs-dash))) `(("emacs-dash" ,emacs-dash)))
@ -592,7 +592,7 @@ support for Git-SVN.")
(define-public emacs-magit-popup (define-public emacs-magit-popup
(package (package
(name "emacs-magit-popup") (name "emacs-magit-popup")
(version "2.12.4") (version "2.12.5")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -601,7 +601,7 @@ support for Git-SVN.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08952nzn0cb6gxscqyiljk4fq2zxjvr3ism0lvgw0gs9hl5phiwx")))) "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#: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.") process, passing on the arguments as command line arguments.")
(license license:gpl3+))) (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 (define-public emacs-ghub
(package (package
(name "emacs-ghub") (name "emacs-ghub")
@ -1435,6 +1487,18 @@ environment set through Direnv.")
(base32 (base32
"1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg")))) "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
(build-system emacs-build-system) (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") (home-page "https://github.com/leoliu/ggtags")
(synopsis "Frontend to the GNU Global source code tagging system") (synopsis "Frontend to the GNU Global source code tagging system")
(description "@code{ggtags} provides a frontend to the GNU Global source (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")) "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments '()) (inputs `(("server" ,emacs-irony-mode-server)))
(propagated-inputs (arguments `(#:phases
`(("emacs-irony-mode-server" ,emacs-irony-mode-server))) (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") (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
(description "Irony-mode provides Clang-assisted syntax checking and (description "Irony-mode provides Clang-assisted syntax checking and
completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can 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") (name "emacs-irony-mode-server")
(inputs (inputs
`(("clang" ,clang))) `(("clang" ,clang)))
(propagated-inputs '())
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
@ -8765,16 +8835,16 @@ object has been freed.")
(define-public emacs-emacsql (define-public emacs-emacsql
(package (package
(name "emacs-emacsql") (name "emacs-emacsql")
(version "2.0.3") (version "3.0.0")
(source (source (origin
(origin (method git-fetch)
(method url-fetch) (uri (git-reference
(uri (string-append "https://github.com/skeeto/emacsql/archive/" (url "https://github.com/skeeto/emacsql.git")
version ".tar.gz")) (commit (string-append version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"04hfjdgl1zc7jysgjc7d7d3xqpr7q1q9gsmzffjd91ii3hpqjgx6")))) "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:modules ((guix build emacs-build-system) `(#:modules ((guix build emacs-build-system)
@ -8809,8 +8879,6 @@ object has been freed.")
(let ((file "emacsql-sqlite.el")) (let ((file "emacsql-sqlite.el"))
(chmod file #o644) (chmod file #o644)
(emacs-substitute-sexps file (emacs-substitute-sexps file
;; Avoid interactive prompts.
("(defvar emacsql-sqlite-user-prompted" 't)
;; Make sure Emacs looks for GCC binary in the right place. ;; Make sure Emacs looks for GCC binary in the right place.
("(executable-find" (which "gcc")) ("(executable-find" (which "gcc"))
;; Make sure Emacs looks for emacsql-sqlite binary ;; 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 (define-public emacs-closql
(package (package
(name "emacs-closql") (name "emacs-closql")
(version "0.5.1") (version "1.0.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/emacscollective/closql/archive/" (uri (git-reference
"v" version ".tar.gz")) (url "https://github.com/emacscollective/closql.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0wa6r0kgbb7f19039p5f3di4dvrvxfgpd8bkam94fca7jvzj536c")))) "0cy44d1fxkvah6fhjkn3mp6gzzrjmws1c4c20ayrma74y9xich3v"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-emacsql" ,emacs-emacsql))) `(("emacs-emacsql" ,emacs-emacsql)))
@ -9336,11 +9405,11 @@ navigate and display hierarchy structures.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-md4rd (define-public emacs-md4rd
(let ((commit "be0fc4951b2d1f5194ffa1fcaac706dbac560500") (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
(revision "1")) (revision "1"))
(package (package
(name "emacs-md4rd") (name "emacs-md4rd")
(version (string-append "0.0.1" "-" revision "." (version (string-append "0.0.2" "-" revision "."
(string-take commit 7))) (string-take commit 7)))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -9350,7 +9419,7 @@ navigate and display hierarchy structures.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1i93shx5x192gd7cl2r6gvcvhhwyi1k08abi5w3izv1hn3pmksgq")))) "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
(propagated-inputs (propagated-inputs
`(("emacs-hierarchy" ,emacs-hierarchy) `(("emacs-hierarchy" ,emacs-hierarchy)
("emacs-request" ,emacs-request) ("emacs-request" ,emacs-request)
@ -12841,3 +12910,34 @@ other frame parameters.")
(description "Emacs major mode for editing Arduino sketches.") (description "Emacs major mode for editing Arduino sketches.")
(home-page "https://github.com/bookest/arduino-mode") (home-page "https://github.com/bookest/arduino-mode")
(license license:gpl3+)))) (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+))))

View File

@ -186,14 +186,14 @@ by the b43-open driver of Linux-libre.")
(define-public seabios (define-public seabios
(package (package
(name "seabios") (name "seabios")
(version "1.11.0") (version "1.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.seabios.org/downloads/" (uri (string-append "https://www.seabios.org/downloads/"
"seabios-" version ".tar.gz")) "seabios-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1xwvp77djxbxbxg82hzj26pv6zka3556vkdcp09hnfwapcp46av2")))) "0jx7pnsc2s4a7wbvvwqig6x8wmkw7f2sz0pbgj4jfp77cpjvh5yz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("python-2" ,python-2))) `(("python-2" ,python-2)))

View File

@ -530,7 +530,7 @@ multiplexer to the KMS/DRM Linux kernel devices.")
(define-public exempi (define-public exempi
(package (package
(name "exempi") (name "exempi")
(version "2.4.5") (version "2.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -538,7 +538,7 @@ multiplexer to the KMS/DRM Linux kernel devices.")
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"07i29xmg8bqriviaf4vi1mwha4lrw85kfla29cfym14fp3z8aqa0")))) "06vi7dc2gappwqm3xpfyy5ihxq14bmvj3bd47yk482jlq0jgr0nw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags (list (string-append "--with-boost=" `(#:configure-flags (list (string-append "--with-boost="
@ -732,7 +732,7 @@ interfaces, based on the useradd, usermod and userdel commands.")
(define-public libmbim (define-public libmbim
(package (package
(name "libmbim") (name "libmbim")
(version "1.16.2") (version "1.18.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -740,7 +740,7 @@ interfaces, based on the useradd, usermod and userdel commands.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0qmjvjbgs9m8qsaiq5arikzglgaas9hh1968bi7sy3905kp4yjgb")))) "10mjjy860aakfd3h1yaj9l1jw816amrpwmyqlx37j21xv0l03x3c"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums `(("glib:bin" ,glib "bin") ; for glib-mkenums
@ -763,7 +763,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.")
(define-public libqmi (define-public libqmi
(package (package
(name "libqmi") (name "libqmi")
(version "1.20.2") (version "1.22.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -771,7 +771,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0i6aw8jyxv84d5x8lj2g9lb8xxf1dyad8n3q0kw164pyig55jd67")))) "05xamy608mhvmw9zbnv9n8w3xpk96n10v5mixnvpnqgih6s9ih91"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libgudev" ,libgudev))) `(("libgudev" ,libgudev)))

View File

@ -3473,7 +3473,7 @@ the GNU GPL.")
(define-public tintin++ (define-public tintin++
(package (package
(name "tintin++") (name "tintin++")
(version "2.01.4") (version "2.01.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/tintin" (uri (string-append "mirror://sourceforge/tintin"
@ -3481,7 +3481,7 @@ the GNU GPL.")
"/tintin" "-" version ".tar.gz")) "/tintin" "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1g7bh8xs1ml0iyraps3a3dzaycci922y7fk5j0wyr4ssyjzsy8nx")))) "0pnnbcm96xbj69358568rpvp164rjmcvhnnzs7nvj062pi2hqcxx"))))
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
("pcre" ,pcre) ("pcre" ,pcre)
@ -3500,10 +3500,10 @@ the GNU GPL.")
(home-page "http://tintin.sourceforge.net/") (home-page "http://tintin.sourceforge.net/")
(synopsis "MUD client") (synopsis "MUD client")
(description (description
"TinTin++ is a MUD client which supports MCCP (Mud Client Compression Protocol), "TinTin++ is a MUD client which supports MCCP (Mud Client Compression
MMCP (Mud Master Chat Protocol), xterm 256 colors, most TELNET options used by MUDs, Protocol), MMCP (Mud Master Chat Protocol), xterm 256 colors, most TELNET
as well as those required to login via telnet on Linux / Mac OS X servers, and an options used by MUDs, as well as those required to login via telnet on
auto mapper with a VT100 map display.") Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public laby (define-public laby

View File

@ -396,7 +396,7 @@ access the common Google services, and has full asynchronous support.")
(define-public libgxps (define-public libgxps
(package (package
(name "libgxps") (name "libgxps")
(version "0.3.0") (version "0.3.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (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")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1bhgrpb6ndlp11qwr95g9piklmjcsca7bi04f8gy9ziipm1i6as1")))) "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("gobject-introspection" ,gobject-introspection) `(("gobject-introspection" ,gobject-introspection)
@ -2614,9 +2614,9 @@ and the GLib main loop, to integrate well with GNOME applications.")
(assoc-ref %outputs "doc") (assoc-ref %outputs "doc")
"/share/gtk-doc/html")))) "/share/gtk-doc/html"))))
(native-inputs (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) ("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("vala" ,vala) ("vala" ,vala)
("xsltproc" ,libxslt))) ("xsltproc" ,libxslt)))
@ -4413,7 +4413,7 @@ classes for commonly used data structures.")
(define-public gexiv2 (define-public gexiv2
(package (package
(name "gexiv2") (name "gexiv2")
(version "0.10.8") (version "0.10.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -4421,7 +4421,7 @@ classes for commonly used data structures.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0088m7p044n741ly1m6i7w25z513h9wpgyw0rmx5f0sy3vyjiic1")))) "1qbcwq89g4r67k1dj4laqj441pj4195c8hzhxn8vc6mmg8adg6kx"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("glib" ,glib "bin") `(("glib" ,glib "bin")

View File

@ -137,7 +137,7 @@ generation.")
(define-public libassuan (define-public libassuan
(package (package
(name "libassuan") (name "libassuan")
(version "2.5.1") (version "2.5.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -145,7 +145,7 @@ generation.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0jb4nb4nrjr949gd3lw8lh4v5d6qigxaq6xwy24w5apjnhvnrya7")))) "1rw8nw6fx6ppxga6m4cqcp898lnlzf7vn3s5c2lzfxg3fzr1nswq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("libgpg-error" ,libgpg-error) `(("libgpg-error" ,libgpg-error)

View File

@ -76,17 +76,20 @@
#:use-module (guix utils)) #:use-module (guix utils))
(define-public blender (define-public blender
(let ((revision "0")
(commit "3c3d80ea22af15e13237f978181a881b90c41e7c"))
(package (package
(name "blender") (name "blender")
(version "2.79b") (version (git-version "2.80-beta" revision commit))
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://download.blender.org/source/" (uri (git-reference
"blender-" version ".tar.gz")) (url "https://git.blender.org/blender.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1g4kcdqmf67srzhi3hkdnr4z1ph4h9sza1pahz38mrj998q4r52c")) "1hhn8pf3a5556mxyrb2ggsiy6q0h75hnkdpcgq9b6vg284jl2l4q"))))
(patches (search-patches "blender-newer-ffmpeg.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(let ((python-version (version-major+minor (package-version python)))) (let ((python-version (version-major+minor (package-version python))))
@ -98,29 +101,30 @@
"-DWITH_CYCLES=ON" "-DWITH_CYCLES=ON"
"-DWITH_DOC_MANPAGE=ON" "-DWITH_DOC_MANPAGE=ON"
"-DWITH_FFTW3=ON" "-DWITH_FFTW3=ON"
"-DWITH_GAMEENGINE=ON"
"-DWITH_IMAGE_OPENJPEG=ON" "-DWITH_IMAGE_OPENJPEG=ON"
"-DWITH_INPUT_NDOF=ON" "-DWITH_INPUT_NDOF=ON"
"-DWITH_INSTALL_PORTABLE=OFF" "-DWITH_INSTALL_PORTABLE=OFF"
"-DWITH_JACK=ON" "-DWITH_JACK=ON"
"-DWITH_MOD_OCEANSIM=ON" "-DWITH_MOD_OCEANSIM=ON"
"-DWITH_PLAYER=ON"
"-DWITH_PYTHON_INSTALL=OFF" "-DWITH_PYTHON_INSTALL=OFF"
"-DWITH_PYTHON_INSTALL=OFF"
"-DWITH_SYSTEM_OPENJPEG=ON"
(string-append "-DPYTHON_LIBRARY=python" ,python-version "m") (string-append "-DPYTHON_LIBRARY=python" ,python-version "m")
(string-append "-DPYTHON_LIBPATH=" (assoc-ref %build-inputs "python") (string-append "-DPYTHON_LIBPATH=" (assoc-ref %build-inputs "python")
"/lib") "/lib")
(string-append "-DPYTHON_INCLUDE_DIR=" (assoc-ref %build-inputs "python") (string-append "-DPYTHON_INCLUDE_DIR=" (assoc-ref %build-inputs "python")
"/include/python" ,python-version "m") "/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 #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-broken-import ;; XXX This file doesn't exist in the Git sources but will probably
(lambda _ ;; exist in the eventual 2.80 source tarball.
(substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py" ; (add-after 'unpack 'fix-broken-import
(("import encode_bin") "from . import encode_bin")) ; (lambda _
#t)) ; (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 (add-after 'set-paths 'add-ilmbase-include-path
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; OpenEXR propagates ilmbase, but its include files do not appear ;; OpenEXR propagates ilmbase, but its include files do not appear
@ -138,7 +142,7 @@
("openimageio" ,openimageio) ("openimageio" ,openimageio)
("openexr" ,openexr) ("openexr" ,openexr)
("ilmbase" ,ilmbase) ("ilmbase" ,ilmbase)
("openjpeg" ,openjpeg-1) ("openjpeg" ,openjpeg)
("libjpeg" ,libjpeg) ("libjpeg" ,libjpeg)
("libpng" ,libpng) ("libpng" ,libpng)
("libtiff" ,libtiff) ("libtiff" ,libtiff)
@ -150,6 +154,7 @@
("glew" ,glew) ("glew" ,glew)
("openal" ,openal) ("openal" ,openal)
("python" ,python) ("python" ,python)
("python-numpy" ,python-numpy)
("zlib" ,zlib))) ("zlib" ,zlib)))
(home-page "https://blender.org/") (home-page "https://blender.org/")
(synopsis "3D graphics creation suite") (synopsis "3D graphics creation suite")
@ -157,8 +162,11 @@
"Blender is a 3D graphics creation suite. It supports the entirety of "Blender is a 3D graphics creation suite. It supports the entirety of
the 3D pipelinemodeling, rigging, animation, simulation, rendering, the 3D pipelinemodeling, rigging, animation, simulation, rendering,
compositing and motion tracking, even video editing and game creation. The compositing and motion tracking, even video editing and game creation. The
application can be customized via its API for Python scripting.") application can be customized via its API for Python scripting.
(license license:gpl2+)))
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 (define-public assimp
(package (package

View File

@ -40,39 +40,39 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages aspell) #:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc) #:use-module (gnu packages bdw-gc)
#:use-module (gnu packages compression) #: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 gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
#:use-module (gnu packages hurd) #:use-module (gnu packages hurd)
#:use-module (gnu packages image)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages autotools)
#:use-module (gnu packages flex)
#:use-module (gnu packages libunistring) #:use-module (gnu packages libunistring)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ed)
#:use-module (gnu packages base)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages man) #: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 maths)
#:use-module (gnu packages image) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages version-control) #: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 sdl)
#:use-module (gnu packages slang) #:use-module (gnu packages slang)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages networking)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)

View File

@ -126,15 +126,15 @@ irssi, but graphical.")
(define-public irssi (define-public irssi
(package (package
(name "irssi") (name "irssi")
(version "1.1.1") (version "1.1.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/irssi/irssi/" (uri (string-append "https://github.com/irssi/irssi/"
"releases/download/" version "/irssi-" "releases/download/" version "/irssi-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1gx1flfh4a09nb3b5pvf0ygnbl7rry3l4gph8wij29dsl7khfj3q")))) "0clppwqhllrmqjg1dd47v9v1qiqx7cf9afm81bm1pscllf4jpk2w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -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)))

View File

@ -60,6 +60,7 @@
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages java-compression)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages linux) ;alsa #:use-module (gnu packages linux) ;alsa
#:use-module (gnu packages maths) #:use-module (gnu packages maths)

View File

@ -2556,6 +2556,10 @@ in applications using the KDE Frameworks.")
(("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts")) (("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
(("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework"))) (("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
#t))))) #t)))))
(native-search-paths
(list (search-path-specification
(variable "KDEINIT5_LIBRARY_PATH")
(files '("lib/")))))
(native-inputs (native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules) `(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; 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 © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@ -287,15 +287,15 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
(define-public libcmis (define-public libcmis
(package (package
(name "libcmis") (name "libcmis")
(version "0.5.1") (version "0.5.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/tdf/libcmis/releases/download/v" (uri (string-append "https://github.com/tdf/libcmis/releases/download/v"
version "/libcmis-" version ".tar.gz")) version "/libcmis-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"03kvl8ywsv5qrxblf0m6955mmvl5q2zpb6vj51vs7ayvxhidzjva")))) "18h0a2gsfxvlv03nlcfvw9bzsflq5sin9agq6za103hr0ab8vcfp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("cppunit" ,cppunit) `(("cppunit" ,cppunit)
@ -313,22 +313,10 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
;; FIXME: Man pages generation requires docbook-to-man; reenable ;; FIXME: Man pages generation requires docbook-to-man; reenable
;; it once this is available. ;; it once this is available.
"--without-man" "--without-man"
;; avoid triggering configure errors by simple inclusion of
;; boost headers
"--disable-werror"
;; During configure, the boost headers are found, but linking ;; During configure, the boost headers are found, but linking
;; fails without the following flag. ;; fails without the following flag.
(string-append "--with-boost=" (string-append "--with-boost="
(assoc-ref %build-inputs "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)))))
(home-page "https://github.com/tdf/libcmis") (home-page "https://github.com/tdf/libcmis")
(synopsis "CMIS client library") (synopsis "CMIS client library")
(description "LibCMIS is a C++ client library for the CMIS interface. It (description "LibCMIS is a C++ client library for the CMIS interface. It
@ -370,14 +358,14 @@ AbiWord documents.")
(define-public libcdr (define-public libcdr
(package (package
(name "libcdr") (name "libcdr")
(version "0.1.4") (version "0.1.5")
(source (source
(origin (origin
(method url-fetch) (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")) name "-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7")))) "0j1skr11jwvafn0l6p37v3i4lqc8wcn489g8f7c4mqwbk94mrkka"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("cppunit" ,cppunit) `(("cppunit" ,cppunit)
@ -390,9 +378,6 @@ AbiWord documents.")
("zlib" ,zlib))) ("zlib" ,zlib)))
(inputs (inputs
`(("boost" ,boost))) `(("boost" ,boost)))
(arguments
;; avoid triggering a build failure due to warnings
`(#:configure-flags '("--disable-werror")))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr") (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr")
(synopsis "Library for parsing the CorelDRAW format") (synopsis "Library for parsing the CorelDRAW format")
(description "Libcdr is a library that parses the file format of (description "Libcdr is a library that parses the file format of
@ -402,39 +387,31 @@ CorelDRAW documents of all versions.")
(define-public libetonyek (define-public libetonyek
(package (package
(name "libetonyek") (name "libetonyek")
(version "0.1.8") (version "0.1.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/" (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"0bfq9rwm040xhh7b3v0gsdavwvnrz4hkwnhpggarxk70mr3j7jcx")))) "0jhsbdimiyijdqriy0zzkjjgc4wi6fjimhdg4mdybrlwg7l7f5p6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--with-mdds=1.4") `(#: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)))))
(native-inputs (native-inputs
`(("cppunit" ,cppunit) `(("cppunit" ,cppunit)
("doxygen" ,doxygen) ("doxygen" ,doxygen)
("glm" ,glm)
("gperf" ,gperf) ("gperf" ,gperf)
("liblangtag" ,liblangtag)
("mdds" ,mdds)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(propagated-inputs ; in Requires or Requires.private field of .pkg (propagated-inputs ; in Requires or Requires.private field of .pkg
`(("librevenge" ,librevenge) `(("liblangtag" ,liblangtag)
("libxml2" ,libxml2))) ("librevenge" ,librevenge)
("libxml2" ,libxml2)
("zlib" ,zlib)))
(inputs (inputs
`(("boost" ,boost))) `(("boost" ,boost)
("glm" ,glm)
("mdds" ,mdds)))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek") (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
(synopsis "Library for parsing the Apple Keynote format") (synopsis "Library for parsing the Apple Keynote format")
(description "Libetonyek is a library that parses the file format of (description "Libetonyek is a library that parses the file format of

View File

@ -31,6 +31,7 @@
;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Manuel Graf <graf@init.at> ;;; Copyright © 2018 Manuel Graf <graf@init.at>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; 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.") It has been modified to remove all non-free binary blobs.")
(license license:gpl2))) (license license:gpl2)))
(define %linux-libre-version "4.20") (define %linux-libre-version "4.20.1")
(define %linux-libre-hash "07ss8nx95f4pqzzjy382fy5hk7anjm3hpbb3mzl1x8fzfq05q3dq") (define %linux-libre-hash "10b1cgx7246lxwml66bzzc57sk5bbh7mjxc9zv6qncwh0xhsjv5n")
(define %linux-libre-4.20-patches (define %linux-libre-4.20-patches
(list %boot-logo-patch (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 #:patches %linux-libre-4.20-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.13") (define %linux-libre-4.19-version "4.19.14")
(define %linux-libre-4.19-hash "0ac0ywy542fiwdiab2z12rbjn9zw8vjbzkbpmpk9nfic2mcyrg8r") (define %linux-libre-4.19-hash "12ihsp3k8gznc1hjvlpy8jdb27ijr3zsvn8wcgr5za18pg5ncjl9")
(define %linux-libre-4.19-patches (define %linux-libre-4.19-patches
(list %boot-logo-patch (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 #:patches %linux-libre-4.19-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.91") (define %linux-libre-4.14-version "4.14.92")
(define %linux-libre-4.14-hash "1xr4q6hqjg4fjcd1w8qi2x9a11ms9wvascy9b1p6czblg9j9dd6a") (define %linux-libre-4.14-hash "09s479krcjzgp53s5i6h7ld1mdagjci6lqvkv8mc1nj0ja8niiq3")
(define-public linux-libre-4.14 (define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version (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)) #:configuration-file kernel-config))
(define-public linux-libre-4.9 (define-public linux-libre-4.9
(make-linux-libre "4.9.148" (make-linux-libre "4.9.149"
"0yrjgvdzbcp750j4fhlxi4ia1v0fqh0y3p99wnbpfvg17j01lbjl" "1qw1hahqiai8xbv769pdfnx3yan3rl2zh00fmi1nx0khan6i5as3"
'("x86_64-linux" "i686-linux") '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
@ -790,7 +791,7 @@ slabtop, and skill.")
(define-public e2fsprogs (define-public e2fsprogs
(package (package
(name "e2fsprogs") (name "e2fsprogs")
(version "1.44.3") (version "1.44.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -799,7 +800,7 @@ slabtop, and skill.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1djb9qnid1j0vvna2bhq4jsz2ig1xckbx7h4d86cr0gl61yrz2ax")))) "1ff56h6h1h17sj2zvlddv5c88nmbx46p1fcbh6b0s5k9kl3b6pms"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux))) (inputs `(("util-linux" ,util-linux)))
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)

View File

@ -5,7 +5,7 @@
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org> ;;; 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 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
@ -2179,12 +2179,12 @@ programming problems.")
(define-public r-pracma (define-public r-pracma
(package (package
(name "r-pracma") (name "r-pracma")
(version "2.1.8") (version "2.2.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "pracma" version)) (uri (cran-uri "pracma" version))
(sha256 (sha256
(base32 "0m8ladhrfyxwybblkcdgg4xv1mk5kibmwarpj2k0c2y34zzcix4z")))) (base32 "18zhni05gwnxbphl6bmjjxmsgg5wwnnkwlb4g971cqyw3dsd83ki"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/pracma/") (home-page "https://cran.r-project.org/web/packages/pracma/")
(synopsis "Practical numerical math functions") (synopsis "Practical numerical math functions")

View File

@ -82,6 +82,8 @@
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
#:use-module (gnu packages ncurses) #: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 pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl-check) #:use-module (gnu packages perl-check)
@ -90,6 +92,7 @@
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages serialization)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages tls) #: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 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.") never see any machines other than the one Dante is running on.")
(license (license:non-copyleft "file://LICENSE")))) (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+)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com> ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
@ -362,36 +362,23 @@ the Nix package manager.")
(delete 'wrap-program))))))) (delete 'wrap-program)))))))
(define-public guile2.0-guix (define-public guile2.0-guix
(package (deprecated-package "guile2.0-guix" guix))
(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)))))
(define-public guix-minimal (define-public guix-minimal
;; A version of Guix which is built with the minimal set of dependencies, as ;; 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 ;; outlined in the README "Requirements" section. Intended as a CI job, so
;; marked as hidden. ;; marked as hidden.
(let ((guix guile2.0-guix)) (hidden-package
(hidden-package (package
(package (inherit guix)
(inherit guix) (name "guix-minimal")
(name "guix-minimal") (inputs
(inputs `(("guile" ,guile-2.2)
`(("guile" ,guile-2.0.13) ,@(alist-delete "guile" (package-inputs guix))))
,@(alist-delete "guile" (package-inputs guix)))) (propagated-inputs
(propagated-inputs (fold alist-delete
(fold alist-delete (package-propagated-inputs guix)
(package-propagated-inputs guix) '("guile-ssh"))))))
'("guile-ssh")))))))
(define (source-file? file stat) (define (source-file? file stat)
"Return true if FILE is likely a source file, false if it is a typical "Return true if FILE is likely a source file, false if it is a typical

View File

@ -21,6 +21,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -42,6 +43,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
@ -51,7 +53,9 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla) #:use-module (gnu packages gnuzilla)
@ -72,6 +76,7 @@
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
@ -168,6 +173,59 @@ algorithms AES or Twofish.")
(license license:gpl3) (license license:gpl3)
(properties `((superseded . ,keepassxc))))) (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 (define-public shroud
(package (package
(name "shroud") (name "shroud")
@ -705,7 +763,7 @@ your online accounts makes it necessary.")
(define-public hashcat (define-public hashcat
(package (package
(name "hashcat") (name "hashcat")
(version "4.1.0") (version "5.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -713,7 +771,7 @@ your online accounts makes it necessary.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"170i2y32ykgzb1qf1wz3klwn31c09bviz4x3bnrwia65adqrj8xx")))) "0f73y4cg8c7a6q7x34qvpfi4g3lw6j9bnn0a13g43aqyiskflfr8"))))
(native-inputs (native-inputs
`(("opencl-headers" ,opencl-headers))) `(("opencl-headers" ,opencl-headers)))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -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());

View File

@ -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 \

View File

@ -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)
}

View File

@ -23,7 +23,7 @@ pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch
- l.load(); - l.load();
- } - }
+ // Try to load the library relative to the active profiles. + // 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) { + for (const QByteArray &profile: profiles) {
+ if (!profile.isEmpty()) { + if (!profile.isEmpty()) {
+ l.setFileName(QFile::decodeName(profile) + QStringLiteral("/") + libpath); + l.setFileName(QFile::decodeName(profile) + QStringLiteral("/") + libpath);

View File

@ -774,7 +774,7 @@ vector formats.")
(define-public impressive (define-public impressive
(package (package
(name "impressive") (name "impressive")
(version "0.11.1") (version "0.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -782,7 +782,7 @@ vector formats.")
version "/Impressive-" version ".tar.gz")) version "/Impressive-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0b3rmy6acp2vmf5nill3aknxvr9a5aawk1vnphkah61anxp62gsr")))) "0zaqq3yvd296mfr5bxpj2hqlk7vrb0rsbgd4dc1l5ag46giqvivx"))))
(build-system python-build-system) (build-system python-build-system)
;; TODO: Add dependency on pdftk. ;; TODO: Add dependency on pdftk.

View File

@ -131,14 +131,14 @@ data as produced by digital cameras.")
(define-public libgphoto2 (define-public libgphoto2
(package (package
(name "libgphoto2") (name "libgphoto2")
(version "2.5.21") (version "2.5.22")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/" (uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
version "/libgphoto2-" version ".tar.bz2")) version "/libgphoto2-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1ccb8idjkv19p9zxg6hh8y6vbgs8flpnh550lq6a8cmga8d2nmy5")))) "0n6f6nagys775ib483nka1sbclhkm1dz3n5z3lgaz1m9m5x35mqm"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(inputs (inputs

View File

@ -3344,20 +3344,38 @@ color scales, and color space conversion easy. It has support for:
(define-public python-pygit2 (define-public python-pygit2
(package (package
(name "python-pygit2") (name "python-pygit2")
(version "0.26.4") (version "0.27.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pygit2" version)) (uri (pypi-uri "pygit2" version))
(sha256 (sha256
(base32 (base32
"145k3fsd21274swia7mcc7n3kzlbd47xmg55mxsjdb5d9b7fr858")))) "046ahvsb7a20sgvscqfm3cb32sp3sii4gim9vz7zzrkf7yz16xlv"))))
(build-system python-build-system) (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 (propagated-inputs
`(("python-six" ,python-six) `(("python-six" ,python-six)
("python-cffi" ,python-cffi) ("python-cffi" ,python-cffi)
("libgit2" ,libgit2) ("libgit2" ,libgit2)
("python-tox" ,python-tox))) ("python-tox" ,python-tox)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/libgit2/pygit2") (home-page "https://github.com/libgit2/pygit2")
(synopsis "Python bindings for libgit2") (synopsis "Python bindings for libgit2")
(description "Pygit2 is a set of Python bindings to the libgit2 shared (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 (define-public python-pillow
(package (package
(name "python-pillow") (name "python-pillow")
(version "5.2.0") (version "5.4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Pillow" version)) (uri (pypi-uri "Pillow" version))
(sha256 (sha256
(base32 (base32
"1ary9mj2ddllq3lkxgn6aac7qxqiwbcg2pacrl94py58ql9x9czq")))) "0qrkcjszym7ixffg5zphhp8a07w8w11yyc2ylcbdrhwm771z316m"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest))) `(("python-pytest" ,python-pytest)))
(inputs (inputs
`(("freetype" ,freetype) `(("freetype" ,freetype)
("lcms" ,lcms) ("lcms" ,lcms)
@ -4079,19 +4097,22 @@ the OleFileIO module from PIL, the Python Image Library.")
(propagated-inputs (propagated-inputs
`(("python-olefile" ,python-olefile))) `(("python-olefile" ,python-olefile)))
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases
(add-after (modify-phases %standard-phases
'install 'check-installed (add-after 'unpack 'patch-ldconfig
(lambda* (#:key outputs inputs #:allow-other-keys) (lambda _
(begin (substitute* "setup.py"
(setenv "HOME" (getcwd)) (("\\['/sbin/ldconfig', '-p'\\]") "['true']"))))
;; Make installed package available for running the (delete 'check) ; We must run checks after python-pillow is installed.
;; tests (add-after 'install 'check-installed
(add-installed-pythonpath inputs outputs) (lambda* (#:key outputs inputs #:allow-other-keys)
(invoke "python" "selftest.py" "--installed") (begin
(invoke "python" "-m" "pytest" "-vv")))) (setenv "HOME" (getcwd))
(delete 'check)))) ;; Make installed package available for running the tests.
(home-page "https://pypi.python.org/pypi/Pillow") (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") (synopsis "Fork of the Python Imaging Library")
(description (description
"The Python Imaging Library adds image processing capabilities to your "The Python Imaging Library adds image processing capabilities to your

View File

@ -30,7 +30,7 @@
(define-public re2 (define-public re2
(package (package
(name "re2") (name "re2")
(version "2018-12-01") (version "2019-01-01")
(home-page "https://github.com/google/re2") (home-page "https://github.com/google/re2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -38,7 +38,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"181fq0idwzgfmmpyhmqdxi37rbynzgf1b8s99aaka9kqs9ffwj22")))) "0wys8bbhj8ppgmgp3842qjmnvkynnzxrm8d7c3a3qyq3p6grqa29"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 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 © 2015 Vicente Vera Parra <vicentemvp@gmail.com>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; 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 (define-public r-class
(package (package
(name "r-class") (name "r-class")
(version "7.3-14") (version "7.3-15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "class" version)) (uri (cran-uri "class" version))
(sha256 (sha256
(base32 (base32
"173b8a16lh1i0zjmr784l0xr0azp9v8bgslh12hfdswbq7dpdf0q")))) "1x1hqz8xyhbpq4krsh02glqnlzcch25agkmn4a3da9n723b37gzn"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-mass" ,r-mass))) `(("r-mass" ,r-mass)))
@ -442,14 +442,14 @@ Hubert, based on Kaufman and Rousseeuw (1990) \"Finding Groups in Data\".")
(define-public r-codetools (define-public r-codetools
(package (package
(name "r-codetools") (name "r-codetools")
(version "0.2-15") (version "0.2-16")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "codetools" version)) (uri (cran-uri "codetools" version))
(sha256 (sha256
(base32 (base32
"0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf")))) "00bmhzqprqfn3w6ghx7sakai6s7il8gbksfiawj8in5mbhbncypn"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/codetools") (home-page "https://cran.r-project.org/web/packages/codetools")
(synopsis "Code analysis tools for R") (synopsis "Code analysis tools for R")
@ -570,14 +570,14 @@ nonlinear mixed-effects models.")
(define-public r-mgcv (define-public r-mgcv
(package (package
(name "r-mgcv") (name "r-mgcv")
(version "1.8-25") (version "1.8-26")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "mgcv" version)) (uri (cran-uri "mgcv" version))
(sha256 (sha256
(base32 (base32
"1y2rq6v45pr2wcxihhgmingcdvcsilim2cvskrlb7k2n00qg6v2q")))) "02bsz455fr5hyhpmgcrd266qafs2wbz3ygdipxg9gfazbdvq2v4q"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-matrix" ,r-matrix) `(("r-matrix" ,r-matrix)
@ -652,14 +652,14 @@ analysis.")
(define-public r-survival (define-public r-survival
(package (package
(name "r-survival") (name "r-survival")
(version "2.43-1") (version "2.43-3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "survival" version)) (uri (cran-uri "survival" version))
(sha256 (sha256
(base32 (base32
"0220fjsq4ycx1n5zc5h39wdbj5j6xr8rzqbcixx2p25akzdn7kqk")))) "0ldrjja1dj4n1ic0lbggm7jvk52sl5h85i8m23nrgndi60acsv4r"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-matrix" ,r-matrix))) `(("r-matrix" ,r-matrix)))
@ -811,14 +811,14 @@ non-estimable cases correctly.")
(define-public r-pheatmap (define-public r-pheatmap
(package (package
(name "r-pheatmap") (name "r-pheatmap")
(version "1.0.10") (version "1.0.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "pheatmap" version)) (uri (cran-uri "pheatmap" version))
(sha256 (sha256
(base32 (base32
"1jzxs5hwbz3r0z2pp09i7fd14sndxnrbm3zibaac3kny4nzydzf7")))) "1hdh74az3vyzz6dqa311rhxdm74n46lyr03p862kn80p0kp9d7ap"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-gtable" ,r-gtable) `(("r-gtable" ,r-gtable)
@ -1269,13 +1269,13 @@ R/DBMS implementations.")
(define-public r-bh (define-public r-bh
(package (package
(name "r-bh") (name "r-bh")
(version "1.66.0-1") (version "1.69.0-1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "BH" version)) (uri (cran-uri "BH" version))
(sha256 (sha256
(base32 (base32
"14kab6wp0c27d8x4jqyf065p4bj210s9b67c0bfsfjnp29aypn8p")))) "18mckfwxxv8m8rzaz03mg2h6vhaj7y131h6yasfg0s73nxj47zd0"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://github.com/eddelbuettel/bh") (home-page "https://github.com/eddelbuettel/bh")
(synopsis "R package providing subset of Boost headers") (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 (define-public r-markdown
(package (package
(name "r-markdown") (name "r-markdown")
(version "0.8") (version "0.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "markdown" version)) (uri (cran-uri "markdown" version))
(sha256 (sha256
(base32 (base32
"1vcgsh2m2f5kfgappgg71nbf04ff0j1sbk668krjs3r2n89dk3sk")))) "08xzs4bcf12jxp0276m6xqvq8kcgg5qp6fxrvsz6r9x73jjccs1h"))))
(build-system r-build-system) (build-system r-build-system)
;; Skip check phase because the tests require the r-knitr package to be ;; Skip check phase because the tests require the r-knitr package to be
;; installed. This prevents installation failures. Knitr normally ;; installed. This prevents installation failures. Knitr normally
@ -1408,19 +1408,20 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
(define-public r-knitr (define-public r-knitr
(package (package
(name "r-knitr") (name "r-knitr")
(version "1.20") (version "1.21")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "knitr" version)) (uri (cran-uri "knitr" version))
(sha256 (sha256
(base32 (base32
"1408dm25cxahk2clff8hlajaqdj5v1gs40nm3q6rf0ghd82hj93v")))) "0xzymi4gkilqaa5b2ay9zk1advavzkwxf7mb064bqfb09y8rak0j"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-evaluate" ,r-evaluate) `(("r-evaluate" ,r-evaluate)
("r-highr" ,r-highr) ("r-highr" ,r-highr)
("r-markdown" ,r-markdown) ("r-markdown" ,r-markdown)
("r-stringr" ,r-stringr) ("r-stringr" ,r-stringr)
("r-xfun" ,r-xfun)
("r-yaml" ,r-yaml))) ("r-yaml" ,r-yaml)))
(home-page "http://yihui.name/knitr/") (home-page "http://yihui.name/knitr/")
(synopsis "General-purpose package for dynamic report generation in R") (synopsis "General-purpose package for dynamic report generation in R")
@ -1611,13 +1612,13 @@ defined in different packages.")
(define-public r-rlang (define-public r-rlang
(package (package
(name "r-rlang") (name "r-rlang")
(version "0.3.0.1") (version "0.3.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "rlang" version)) (uri (cran-uri "rlang" version))
(sha256 (sha256
(base32 (base32
"0j7kp6h25wbkvpzr7dpc0zgdpjiwsjjlgprj3mv7bgfalfq1si99")))) "0lbi66bavca866k26dnpkxj3l106xr4a6khcsfn8i3i8w8mpnhih"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "http://rlang.tidyverse.org") (home-page "http://rlang.tidyverse.org")
(synopsis "Functions for base types, core R and Tidyverse features") (synopsis "Functions for base types, core R and Tidyverse features")
@ -1629,20 +1630,22 @@ like tidy evaluation.")
(define-public r-tibble (define-public r-tibble
(package (package
(name "r-tibble") (name "r-tibble")
(version "1.4.2") (version "2.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "tibble" version)) (uri (cran-uri "tibble" version))
(sha256 (sha256
(base32 (base32
"05svbjkm1xqv56ybjgsqqg2pp8nn6hams1yxcr8aanbhzx9h6rqi")))) "1flrvmgc77c8s0brgyha6cdz2883h6bcb2mvqi49b429x5i2vb85"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-rlang" ,r-rlang) `(("r-cli" ,r-cli)
("r-cli" ,r-cli)
("r-crayon" ,r-crayon) ("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") (home-page "https://github.com/hadley/tibble")
(synopsis "Simple data frames") (synopsis "Simple data frames")
(description (description
@ -1690,14 +1693,14 @@ database.")
(define-public r-dbplyr (define-public r-dbplyr
(package (package
(name "r-dbplyr") (name "r-dbplyr")
(version "1.2.2") (version "1.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "dbplyr" version)) (uri (cran-uri "dbplyr" version))
(sha256 (sha256
(base32 (base32
"0j5w6a1qim972kv4vmvinp3j50yr4idmm9cd3w7y3zsz0nq0nhcx")))) "07p23vyvi7s4abldhkyir05kcf7xnfc18igfryq12j67xd0jql0m"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-assertthat" ,r-assertthat) `(("r-assertthat" ,r-assertthat)
@ -2072,14 +2075,14 @@ limited to R.")
(define-public r-backports (define-public r-backports
(package (package
(name "r-backports") (name "r-backports")
(version "1.1.2") (version "1.1.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "backports" version)) (uri (cran-uri "backports" version))
(sha256 (sha256
(base32 (base32
"0mml9h3xagi7144pyb3jj9zbh9qzns7izkhdg7df20v7bikr6nz8")))) "1hac46xaawnqajlsfb5k7pfkc2ya9h76s5qv9ycj3jafh93d26z4"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/backports") (home-page "https://cran.r-project.org/web/packages/backports")
(synopsis "Reimplementations of functions introduced since R 3.0.0") (synopsis "Reimplementations of functions introduced since R 3.0.0")
@ -2095,14 +2098,14 @@ R version.")
(define-public r-checkmate (define-public r-checkmate
(package (package
(name "r-checkmate") (name "r-checkmate")
(version "1.8.5") (version "1.9.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "checkmate" version)) (uri (cran-uri "checkmate" version))
(sha256 (sha256
(base32 (base32
"1q6igk50lq4fp5d3imgcn1j063h3gsp214ra4nlf534hf4wjlkg9")))) "00bjlc910y4paddvpz68pl3qyvjxlwqgyh39wpfkq43p99gvnj37"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-backports" ,r-backports))) `(("r-backports" ,r-backports)))
@ -2237,14 +2240,14 @@ other packages.")
(define-public r-commonmark (define-public r-commonmark
(package (package
(name "r-commonmark") (name "r-commonmark")
(version "1.6") (version "1.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "commonmark" version)) (uri (cran-uri "commonmark" version))
(sha256 (sha256
(base32 (base32
"1xymqncf8byqxzpx64zlp6vbx7gry572jkr2ax0zlavr8bli861x")))) "024iz1qp2kv6iz6y69ir0jk3qhjps86rhkzlcmhqsxx97rx7cjni"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/commonmark") (home-page "https://cran.r-project.org/web/packages/commonmark")
(synopsis "CommonMark and Github Markdown Rendering in R") (synopsis "CommonMark and Github Markdown Rendering in R")
@ -2321,13 +2324,13 @@ integers.")
(define-public r-httr (define-public r-httr
(package (package
(name "r-httr") (name "r-httr")
(version "1.3.1") (version "1.4.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "httr" version)) (uri (cran-uri "httr" version))
(sha256 (sha256
(base32 (base32
"0n7jz2digbgv48rbr9vmzv4vmf4rahl9jjy31izs7sxj4rs4s4r2")))) "0j6vknwyvkjpjsxwch4q02aik4dnm3h4l0wc7dgzc555bm1g2cyn"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-curl" ,r-curl) `(("r-curl" ,r-curl)
@ -2347,19 +2350,19 @@ functions make it easy to control additional request components.")
(define-public r-git2r (define-public r-git2r
(package (package
(name "r-git2r") (name "r-git2r")
(version "0.23.0") (version "0.24.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "git2r" version)) (uri (cran-uri "git2r" version))
(sha256 (sha256
(base32 (base32
"01250jz255fnyy2ap90nskvzhd8nhlmbhwgpvb43mk1fax077lrz")))) "0vfc25z4j53pc49cnp3zjwzjb72kvc0aq96wgyg10xpgvhl3z0gg"))))
(build-system r-build-system) (build-system r-build-system)
;; This R package contains modified sources of libgit2. This modified ;; This R package contains modified sources of libgit2. This modified
;; version of libgit2 is built as the package is built. Hence libgit2 is ;; version of libgit2 is built as the package is built. Hence libgit2 is
;; not among the inputs of this package. ;; not among the inputs of this package.
(inputs (inputs
`(("libssh2" ,libssh2) `(("libssh2" ,libssh2) ; for SSH transport
("openssl" ,openssl) ("openssl" ,openssl)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
@ -2375,13 +2378,13 @@ pure C implementation of the Git core methods.")
(define-public r-rstudioapi (define-public r-rstudioapi
(package (package
(name "r-rstudioapi") (name "r-rstudioapi")
(version "0.8") (version "0.9.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "rstudioapi" version)) (uri (cran-uri "rstudioapi" version))
(sha256 (sha256
(base32 (base32
"0d6r0in13k0rcyr6asanwy0a9dv4lizq6l2w913rr222pq6vrrck")))) "0gn1pvaxfh2gh2ikvxcr8f6k97ygcfr68iz6dhwlq4z71a1s4jai"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/rstudioapi") (home-page "https://cran.r-project.org/web/packages/rstudioapi")
(synopsis "Safely access the RStudio API") (synopsis "Safely access the RStudio API")
@ -2467,16 +2470,18 @@ time-of-day values, based on the @code{difftime} class.")
(define-public r-readr (define-public r-readr
(package (package
(name "r-readr") (name "r-readr")
(version "1.1.1") (version "1.3.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "readr" version)) (uri (cran-uri "readr" version))
(sha256 (sha256
(base32 (base32
"1cvw5wdcqk88cp5fyv678mnmp66l3whcd2yh33p2qvx0168bja8s")))) "1wz496rw0ah433p755n3xac8gh7yzid4xgdjzd1a7wmpkgilvy9k"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-rcpp" ,r-rcpp) `(("r-clipr" ,r-clipr)
("r-crayon" ,r-crayon)
("r-rcpp" ,r-rcpp)
("r-hms" ,r-hms) ("r-hms" ,r-hms)
("r-tibble" ,r-tibble) ("r-tibble" ,r-tibble)
("r-r6" ,r-r6) ("r-r6" ,r-r6)
@ -2550,13 +2555,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo (define-public r-rcpparmadillo
(package (package
(name "r-rcpparmadillo") (name "r-rcpparmadillo")
(version "0.9.200.4.0") (version "0.9.200.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RcppArmadillo" version)) (uri (cran-uri "RcppArmadillo" version))
(sha256 (sha256
(base32 (base32
"1ayvpyi4hgaqrhx1kqi640iillc2byj4kam7vydlgqmdrzpgrfvz")))) "09041jnalh7352kj6lv4d0xr9c0mvf8p860q5c8m13mp214x5x7k"))))
(properties `((upstream-name . "RcppArmadillo"))) (properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
@ -2644,14 +2649,14 @@ certain criterion, e.g., it contains a certain regular file.")
(define-public r-rmarkdown (define-public r-rmarkdown
(package (package
(name "r-rmarkdown") (name "r-rmarkdown")
(version "1.10") (version "1.11")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "rmarkdown" version)) (uri (cran-uri "rmarkdown" version))
(sha256 (sha256
(base32 (base32
"0mh2f3k98w7pgz0ri34149s4kx5y0kfm27nwq64k0qwxd16hwd9r")))) "0yyjbh891mdqzpjkblz8510ng71i7mxmyiqr69x3rwlwk2vakk79"))))
(properties `((upstream-name . "rmarkdown"))) (properties `((upstream-name . "rmarkdown")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -2661,7 +2666,6 @@ certain criterion, e.g., it contains a certain regular file.")
("r-jsonlite" ,r-jsonlite) ("r-jsonlite" ,r-jsonlite)
("r-knitr" ,r-knitr) ("r-knitr" ,r-knitr)
("r-mime" ,r-mime) ("r-mime" ,r-mime)
("r-rprojroot" ,r-rprojroot)
("r-stringr" ,r-stringr) ("r-stringr" ,r-stringr)
("r-tinytex" ,r-tinytex) ("r-tinytex" ,r-tinytex)
("r-yaml" ,r-yaml) ("r-yaml" ,r-yaml)
@ -4105,14 +4109,14 @@ existing packages provide.")
(define-public r-sfsmisc (define-public r-sfsmisc
(package (package
(name "r-sfsmisc") (name "r-sfsmisc")
(version "1.1-2") (version "1.1-3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "sfsmisc" version)) (uri (cran-uri "sfsmisc" version))
(sha256 (sha256
(base32 (base32
"0cgq2h11ngkzd6p34k6mqjnvlvc5vj4lnqrl64k05lb391j391w0")))) "1y25nnw09qfm66523w1z4q766lv15a6ykvsq30r154n7m7aggvsq"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/sfsmisc") (home-page "https://cran.r-project.org/web/packages/sfsmisc")
(synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich") (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich")
@ -4446,13 +4450,13 @@ dispersion modeling and Tweedie power-law families.")
(define-public r-rann (define-public r-rann
(package (package
(name "r-rann") (name "r-rann")
(version "2.6") (version "2.6.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RANN" version)) (uri (cran-uri "RANN" version))
(sha256 (sha256
(base32 (base32
"1r6rivh9ba4gwnzryip0aiwsbm46zma7nvd9z5y456p2dgzp9lii")))) "10kid40w9w7vkz2hpcfkdpxr4afxzms5dzvfwr0sl5xynzgw76dj"))))
(properties (properties
`((upstream-name . "RANN"))) `((upstream-name . "RANN")))
(build-system r-build-system) (build-system r-build-system)
@ -4515,14 +4519,14 @@ Farebrother's algorithm or Liu et al.'s algorithm.")
(define-public r-cowplot (define-public r-cowplot
(package (package
(name "r-cowplot") (name "r-cowplot")
(version "0.9.3") (version "0.9.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "cowplot" version)) (uri (cran-uri "cowplot" version))
(sha256 (sha256
(base32 (base32
"1jrx1h0blkk577y4cvnjk7xccn7qmjiv2bnpgqlsjvjhsxglf41y")))) "0yvalwalvyddyqk0q66y8361nxlh2cvp3ssazax9g5q89lghjmzv"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-ggplot2" ,r-ggplot2) `(("r-ggplot2" ,r-ggplot2)
@ -4813,14 +4817,14 @@ analysis} (PCA) by projection pursuit.")
(define-public r-rrcov (define-public r-rrcov
(package (package
(name "r-rrcov") (name "r-rrcov")
(version "1.4-4") (version "1.4-7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "rrcov" version)) (uri (cran-uri "rrcov" version))
(sha256 (sha256
(base32 (base32
"0wn5h8vi0zyk5ah898m37ysz4kiih6y792nb9zdvhvd8r07f0sc5")))) "14zjyqcdiqx6js99nx5s8hmyx564ixy2d8s6i7wa50xmx368rl6b"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-cluster" ,r-cluster) `(("r-cluster" ,r-cluster)
@ -5019,14 +5023,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.")
(define-public r-rcppeigen (define-public r-rcppeigen
(package (package
(name "r-rcppeigen") (name "r-rcppeigen")
(version "0.3.3.4.0") (version "0.3.3.5.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RcppEigen" version)) (uri (cran-uri "RcppEigen" version))
(sha256 (sha256
(base32 (base32
"1m6ssq6lvi36ggf26y4hhq996583pxxdb978jnn1x6r9gdb0q0hi")))) "01bz41c29591ybzqn4z88ss036ai3anh9figryvmfpqcfwbszip5"))))
(properties `((upstream-name . "RcppEigen"))) (properties `((upstream-name . "RcppEigen")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5089,14 +5093,14 @@ using modular prediction and response module classes.")
(define-public r-quantreg (define-public r-quantreg
(package (package
(name "r-quantreg") (name "r-quantreg")
(version "5.36") (version "5.38")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "quantreg" version)) (uri (cran-uri "quantreg" version))
(sha256 (sha256
(base32 (base32
"023gdzahxp582rpabilpxbl3wyjrgjjnnrhcv9xhrqdfiq5l2yza")))) "1vvvnk291f0dccg04l3nsnk585gq75sk0b2vdbrqv3lczvv18nw1"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
`(("gfortran" ,gfortran))) `(("gfortran" ,gfortran)))
@ -5251,14 +5255,14 @@ to Applied regression, Second Edition, Sage, 2011.")
(define-public r-caret (define-public r-caret
(package (package
(name "r-caret") (name "r-caret")
(version "6.0-80") (version "6.0-81")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "caret" version)) (uri (cran-uri "caret" version))
(sha256 (sha256
(base32 (base32
"0xhdhazzfh0hiqv2hgxglj9ffd2p4ls8acqn2sjn0ndx6158f187")))) "1fibrskjzq2f06b8gbrfp3263svfc5s5apsjwaqdg9qzs7sy7fpc"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-foreach" ,r-foreach) `(("r-foreach" ,r-foreach)

View File

@ -259,7 +259,7 @@ This package contains the binaries.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0fcy2hpapbj01ncpjj3v39yhr0jjxb6rm13qaxjjw66s3vydxls1")))) "1ky6wc173jhf0b33lhyb4r3bx1d4bmiqkn6y1hxn92kwjdzl42p7"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -290,7 +290,7 @@ This package contains the binaries.")
(file-name (string-append "dvips-font-maps-" version "-checkout")) (file-name (string-append "dvips-font-maps-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"09hply3nmy24ilnc6cl8q70jcqxvq6bwri572kms008ini3h9vqh")))) "0nxvfbb5vsvakiw0iviicghdc2sxk05cj056ilqnpa62fffc36a6"))))
("dvips-base-enc" ("dvips-base-enc"
,(origin ,(origin
(method svn-fetch) (method svn-fetch)
@ -326,7 +326,7 @@ to PostScript.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0ivrhp6jz31pl4z841g4ws41lmvdiwz4sslmhf02inlib79gz6r2")))) "0r1v16jyfpz6dwqsgm6b9jcj4kf2pkzc9hg07s6fx9g8ba8qglih"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -365,7 +365,7 @@ out to date by @code{unicode-letters.tex}. ")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1l9wgv99qq0ysvlxqpj4g8bl0dywbzra4g8m2kmpg2fb0i0hczap")))) "03yj1di9py92drp6gpfva6q69vk2iixr79r7cp7ja570s3pr0m33"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#: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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0ghizcz7ps16dzfqf66wwg5i181assc6qsm0g7g5dbmp909931vi")))) "1alnn9cd60m2c12vym9f9q22ap1ngywxpkjl9dk472why44g1dmy"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -545,7 +545,7 @@ build fonts using the Metafont system.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0cssbzcx15221dynp5sii72qh4l18mwkr14n8w1xb19j8pbaqasz")))) "05rbn7z30xawd3n6w7c3ijp2yc67ga220jgqmkla9pd9wx185rzq"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -579,7 +579,7 @@ documents.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"045k5b9rdmbxpy1a3006l1x96z1rd18vg3cwrvnld9bqybw5qz44")))) "0vfjhidr9pha613h8mfhnpcpvld6ahdfb449918fpsfs93cppkyj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)
@ -920,7 +920,7 @@ individual symbols defined in @code{amssymb.sty}.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0mjgl3gscn3ps29yjambz1j9fg81ynnncb96vpprwx4xsijhsns0")))) "1xknlb3gcw6jjqh97bhghxi594bzpj1zfzzfsrr9pvr9s1bx7dnf"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -965,7 +965,7 @@ book).")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1h9pir2hz6i9avc4lrl733p3zf4rpkg8537x1zdbhs91hvhikw9k")))) "17bqrzzjz16k52sc7ydl4vw7ddy2z3g0p1xsk2c35h1ynq9h3wwm"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)
@ -1086,7 +1086,7 @@ book).")
"1cfwdg2rhbayl3w0x1xqd36d45zbc96f029myp13s7cb6kbmbppv")) "1cfwdg2rhbayl3w0x1xqd36d45zbc96f029myp13s7cb6kbmbppv"))
("texlive-generic-config" ("texlive-generic-config"
,(texlive-dir "tex/generic/config/" ,(texlive-dir "tex/generic/config/"
"19vj088p4kkp6xll0141m4kl6ssgdzhs3g10i232khb07aqiag8s")) "1v90iihy112q93zdpblpdk8zv8rf99fgslsg06s1sxm27zjm9nap"))
("texlive-latex-base-support-files" ("texlive-latex-base-support-files"
,(origin ,(origin
(method svn-fetch) (method svn-fetch)
@ -1098,7 +1098,7 @@ book).")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"16bs9pi3nq407xhg59glklqv43v102cg3yim6k3zcri5d9nkbv3a")))) "18wy8dlcw8adl6jzqwbg54pdwlhs8hilnfvqbw6ikj6y3zhqkj7q"))))
("texlive-tex-plain" ,texlive-tex-plain) ("texlive-tex-plain" ,texlive-tex-plain)
("texlive-fonts-cm" ,texlive-fonts-cm) ("texlive-fonts-cm" ,texlive-fonts-cm)
("texlive-fonts-latex" ,texlive-fonts-latex) ("texlive-fonts-latex" ,texlive-fonts-latex)
@ -1237,7 +1237,7 @@ verbatim source).")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"07azyn0b1s49vbdlr6dmygrminxp72ndl24j1091hiiccvrjq3xc")))) "0nlfhn55ax89rcvpkrl9570671b62kcr4c9l5ch3w5zw9vmi00dz"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "latex/graphics" '(#:tex-directory "latex/graphics"
@ -1286,7 +1286,7 @@ verbatim source).")
"-checkout")) "-checkout"))
(sha256 (sha256
(base32 (base32
"0gi4qv6378nl84s8n1yx3hjqvv7r4lza7hpbymbl5rzwgw8qrnyb")))))) "17zpcgrfsr29g1dkz9np1qi63kjv7gb12rg979c6dai6qksbr3vq"))))))
(home-page "https://www.ctan.org/pkg/latex-graphics") (home-page "https://www.ctan.org/pkg/latex-graphics")
(synopsis "LaTeX standard graphics bundle") (synopsis "LaTeX standard graphics bundle")
(description (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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0aswvsxgsn709xmvpcg50d2xl7vcy1ckdxb9c1cligqqfjjvviqf")))) "1m9fg8ddhpsl1212igr9a9fmj012lv780aghjn6fpidg2wqrffmn"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "latex/oberdiek" '(#: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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"052a0pch2k5zls5jlay9xxcf93rw3i60a2x28y3ip3rhbsv3xgiz")))) "0vj7h1fgf1396h4qjdc2m07y08i54gbbfrxl8y327cn3r1n093s6"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "latex/tools" '(#:tex-directory "latex/tools"
@ -1459,7 +1459,7 @@ of file names.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0r0wfk594j8wkdqhh21haimwsfq8x5jch4ldm21hkzk5dnmvpbg6")))) "0p3fsxap1ilwjz356aq4s5ygwvdscis8bh93g8klf8mhrd8cr2jy"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "latex/l3kernel")) '(#: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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"16jplkvzdysfssijq9l051nsks65c2nrarsl17k8gjhc28yznj8y")))) "0pyx0hffiyss363vv7fkrcdiaf7p099xnq0mngzqc7v8v9q849hs"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "latex/l3packages" '(#:tex-directory "latex/l3packages"
@ -1538,11 +1538,10 @@ programming tools and kernel sup­port. Packages provided in this release are:
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1rx43y5xmjqvc27pjdnmqwp4pcw3czcfd6nfpmzc1gnqfl1hlc0q")))) "1p0mkn6iywl0k4m9cx3hnhylpi499inisff3f72pcf349baqsnvq"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "latex/fontspec" '(#:tex-directory "latex/fontspec"))
#:build-targets '("fontspec.dtx")))
(inputs (inputs
`(("texlive-latex-l3kernel" ,texlive-latex-l3kernel))) `(("texlive-latex-l3kernel" ,texlive-latex-l3kernel)))
(home-page "https://www.ctan.org/pkg/fontspec") (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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"178ywjpdlv78qmfzqdyn6gy14620zjsn2q9wap76fbr9s4hw6dba")))) "0arvk7gn32mshnfdad5qkgf3i1arxq77k3vq7wnpm4nwnrzclxal"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments '(#:tex-directory "latex/amsmath")) (arguments '(#:tex-directory "latex/amsmath"))
(home-page "https://www.ctan.org/pkg/amsmath") (home-page "https://www.ctan.org/pkg/amsmath")
@ -1631,7 +1630,7 @@ definitions.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0jmcr37mcdi7drczppvr6lmz5d5yd9m67ii79gp2nglg1xpw934j")))) "0c2j9xh4qpi0x1vvcxdjxq6say0zhyr569fryi5cmhp8bclh4kca"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
`(#:tex-directory "latex/amscls")) `(#:tex-directory "latex/amscls"))
@ -1655,7 +1654,7 @@ distribution.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1n3i5adsyy7jw0imnzrm2i8wkf73i3mjk9h3ic8cb9cd19i4r9r3")))) "0yhlfiz3fjc8jd46f1zrjj4jig48l8rrzh8cmd8ammml8z9a01z6"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "generic/babel" '(#:tex-directory "generic/babel"
@ -1712,7 +1711,7 @@ for Canadian and USA text.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1mdhl35hwas68ki56qqngzar37dwv4mm64l2canihr255bz34lbv")))) "083xbwg7hrnlv47fkwvz8yjb830bhxx7y0mq7z7nz2f96y2ldr6b"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "latex/cyrillic")) '(#:tex-directory "latex/cyrillic"))
@ -1946,6 +1945,13 @@ ipsum\" text, see the @code{lipsum} package).")
(add-after 'unpack 'remove-generated-file (add-after 'unpack 'remove-generated-file
(lambda _ (lambda _
(delete-file "dinbrief.drv") (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))))) #t)))))
(home-page "https://www.ctan.org/pkg/dinbrief") (home-page "https://www.ctan.org/pkg/dinbrief")
(synopsis "German letter DIN style") (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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0pvmhsd4xmpil0m3c7qcgwilbk266mlkzv03g0jr8r3zd8jxlyzq")))) "1ib5xdwcj5wk23wgk41m2hdcjr1dzrs4l3wwnpink9mlapz12wjs"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments '(#:tex-directory "latex/eqparbox")) (arguments '(#:tex-directory "latex/eqparbox"))
(home-page "https://www.ctan.org/pkg/eqparbox") (home-page "https://www.ctan.org/pkg/eqparbox")
@ -2114,7 +2120,7 @@ but non-expandable ones.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"11gvvjvmdfs9b7mm19yf80zwkx49jqcbq6g8qb9y5ns1r1qvnixp")))) "157pplavvm2z97b3jl4x41w11k6q9wgy074mfg0dwmsx5lm328jy"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments '(#:tex-directory "latex/ifplatform")) (arguments '(#:tex-directory "latex/ifplatform"))
(home-page "https://www.ctan.org/pkg/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.") rotated.")
(license (license:fsf-free "file://psfrag.dtx")))) (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 (define-public texlive-latex-pstool
(package (package
(name "texlive-latex-pstool") (name "texlive-latex-pstool")
(version (number->string %texlive-revision)) (version (number->string %texlive-revision))
(source (origin (source (origin
(method svn-fetch) (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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1kwlk1x67lad4xb7gpkxqgdlxwpi6nvq1r9wika7m92abmyf18h3")))) "1h816jain8c9nky75kk8pmmwj5b4yf9dpqvdvi2l6jhfj5iqkzr8"))))
(build-system texlive-build-system) (build-system trivial-build-system)
(arguments (arguments
'(#:tex-directory "latex/pstool" `(#:modules ((guix build utils))
#:tex-format "latex")) #:builder
(inputs (begin
`(("texlive-fonts-cm" ,texlive-fonts-cm) (use-modules (guix build utils))
("texlive-latex-filecontents" ,texlive-latex-filecontents))) (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 (propagated-inputs
`(("texlive-latex-bigfoot" ,texlive-latex-bigfoot) `(("texlive-latex-bigfoot" ,texlive-latex-bigfoot) ; for suffix
("texlive-latex-filemod" ,texlive-latex-filemod) ("texlive-latex-filemod" ,texlive-latex-filemod)
("texlive-latex-graphics" ,texlive-latex-graphics) ("texlive-latex-graphics" ,texlive-latex-graphics)
("texlive-latex-ifplatform" ,texlive-latex-ifplatform) ("texlive-latex-ifplatform" ,texlive-latex-ifplatform)
("texlive-latex-l3kernel" ,texlive-latex-l3kernel) ; for expl3
("texlive-latex-oberdiek" ,texlive-latex-oberdiek) ("texlive-latex-oberdiek" ,texlive-latex-oberdiek)
("texlive-latex-psfrag" ,texlive-latex-psfrag) ("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") (home-page "https://www.ctan.org/pkg/pstool")
(synopsis "Process PostScript graphisc within pdfLaTeX documents") (synopsis "Process PostScript graphics within pdfLaTeX documents")
(description (description
"This is a package for processing PostScript graphics with @code{psfrag} "This is a package for processing PostScript graphics with @code{psfrag}
labels within pdfLaTeX documents. Every graphic is compiled individually, 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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0016bscnpima9krrg2569mva78xzwnygzlvg87dznsm6gf8g589v")))) "1agmq6bf8wzcd77n20ng8bl4kh69cg5f6sjniii7bcw4llhd3nc8"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -2542,7 +2584,7 @@ BibLaTeX, and is considered experimental.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1r2kfcwclg33yk5z8mvlagwxj7nr1mc3w4bdpmhrwv6dn8mrbvw8")))) "0yw6bjfgsli3s1dldsgb7mkr7lnk329cgdjbgs8z2xn59pmmdsn4"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments '(#:tex-directory "latex/geometry")) (arguments '(#:tex-directory "latex/geometry"))
(home-page "https://www.ctan.org/pkg/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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"09mvszd5qgqg4cfglpj5qxyzjz190ppb9p8gnsnjydwp1akvhayf")))) "03ma58z3ypsbp7zgkzb1ylpn2ygr27cxzkf042ns0rif4g8s491f"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments '(#:tex-directory "latex/polyglossia")) (arguments '(#:tex-directory "latex/polyglossia"))
(home-page "https://www.ctan.org/pkg/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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"09zj2w3lx0y6i2syfjjgizahf86z301dw8p37ln6syfhqhzqdz46")))) "06cf821y1j7jdg93pb41ayigrfwgn0y49d7w1025zlijjxi6bvjp"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -2754,7 +2796,7 @@ command.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1ik4m8pzfsn1grlda6fniqqfwmgj7rfxwg63jdw0p0qv002vc7ik")))) "05x15ilynqrl448h8l6qiraygamdldlngz89a2bw7kg74fym14ch"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments '(#:tex-directory "latex/changebar")) (arguments '(#:tex-directory "latex/changebar"))
(home-page "https://www.ctan.org/pkg/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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"04h430agf8aj7ziwyb46xpk95c605rjk1wzhr63m6ylipihidlgw")))) "1xsnzx7vgdfh9zh2m7bjz6bgdpxsgb1kyc19p50vhs34x5nbgsnr"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -3288,7 +3330,7 @@ entry at the \"natural\" width of its text.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0m29q9qdb00558b7g2i7iw6w62n5s46yx81j8m99qkv77magk4fm")))) "1rpx4ibjncj5416rg19v0xjbj3z9avhfdfn2gzp8r8sz9vz25c6g"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -3354,7 +3396,7 @@ designed class) helps alleviate this untidiness.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"06p5smfq66559ppdnmkl3hp8534x84ywbscimsiir4gllpya3i9h")))) "0s4izcah7im67889qz4d26pcfpasmm35sj1rw4ragkkdk3rlbbbd"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments '(#:tex-directory "latex/pdfpages")) (arguments '(#:tex-directory "latex/pdfpages"))
(home-page "https://www.ctan.org/pkg/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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"03nvjddffiz796wll6axzmgfvynyciy2mqamv20qx252w71vwkwd")))) "0sf18pc6chgy26p9bxxn44xcqhzjrfb53jxjr2y7l3jb6xllhblq"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -3948,7 +3990,7 @@ package of that name now exists.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0j6fff6q0ca96nwfdgay2jm55792z4q9aa0rczmiw2qccyg5n2dv")))) "1hpsk4yp08qvbl43kqiv0hhwxv3gcqqxcpahyv6ch2b38pbj4bh6"))))
(build-system texlive-build-system) (build-system texlive-build-system)
(arguments (arguments
'(#:tex-directory "latex/preview" '(#:tex-directory "latex/preview"
@ -4035,7 +4077,7 @@ e-TeX.")
(file-name (string-append name "-map-" version "-checkout")) (file-name (string-append name "-map-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"197z9kx3bpnz58f5xrn5szyvmb3fxqq12y5sc4dw4jnm3xll8ji2")))))) "18jvcm0vwpg6wwzijvnb92xx78la45kkh71k6l44425krp2vnwm0"))))))
(home-page "https://www.ctan.org/pkg/pdftex") (home-page "https://www.ctan.org/pkg/pdftex")
(synopsis "TeX extension for direct creation of PDF") (synopsis "TeX extension for direct creation of PDF")
(description (description
@ -4515,7 +4557,7 @@ required: automatic sectioning and pagination, spell checking and so forth.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"01ysky8h8s6q12dxfahkzwhbkc9j5wl50xzcczy0cbjx9f6aj9kv")))) "0lhb2h5hxjq9alpk4r3gvg21pwyifs4ah6hqzp92k55mkp1xv73j"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -4555,7 +4597,7 @@ specification. It replaces the now obsolete @code{movie15} package.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"12kkl7n534j0p4frwyrlw22dc3ik50kxv97cxp4xpmji13m0hxpf")))) "0zp00jg058djx8xp0xqwas92y3j97clkyd8z6pqr890yqy06myqb"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -4785,7 +4827,7 @@ produce either PostScript or PDF output.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1g8qg796hc6s092islnybaxs115ldsqwp2vxkk3gpy6vh7wc9r50")))) "0nqwf0sr4mf3v9gqa6apv6ml2xhcdwax0vgyf12a672g7rpdyvgm"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)
@ -4845,7 +4887,7 @@ typearea (which are the main parts of the bundle).")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1k50z6ixgwwzy84mi0dr5vcjah5p7wvgq66y45bilm91a4m8sgla")))) "0hs28fc0v2l92ad9las9b8xcckyrdrwmyhcx1yzmbr6s7s6nvsx8"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -5111,7 +5153,7 @@ TeX).")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1gk9q22fcb2fa1ql6cf9yw505x6a6axdzzfxbsya7nkrph860af8")))) "0hnbs0s1znbn32hfcsyijl39z81sdb00jf092a4blqz421qs2mbv"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#: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")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0zwl0cg6pka13i26dpqh137391f3j9sk69cpvwrm4ivsa0rqnw6g")))) "0rlx4qqijms1n64gjx475kvip8l322fh7v17zkmwp1l1g0w3vlyz"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))

View File

@ -125,7 +125,7 @@ over IRC, instant messaging, network games, and most server software.")
(define-public libupnp (define-public libupnp
(package (package
(name "libupnp") (name "libupnp")
(version "1.6.24") (version "1.6.25")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -133,7 +133,7 @@ over IRC, instant messaging, network games, and most server software.")
version "/" name "-" version ".tar.bz2")) version "/" name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"15ngi1i7cvsv7g15fb9bkswvi99d1plz52x5qgjn4h5vyfddg0vx")))) "0hzsd7rvfa87b4hxg9yj4xhdfxx9sp09r9sqdl3mqhvmcyw018y5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; The tests require a network device capable of multicasting which is ;; The tests require a network device capable of multicasting which is

View File

@ -524,7 +524,7 @@ everything from small to very large projects with speed and efficiency.")
(define-public libgit2 (define-public libgit2
(package (package
(name "libgit2") (name "libgit2")
(version "0.26.8") (version "0.27.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/libgit2/libgit2/" (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")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"15kp4sq72kh762bm7dgspyrk0a6siarvll3k7nrhs0xy77idf80g")) "0c95pbv7hwclwmn51nqnh1lb0cajpcdb24pbdzcir6vmhfj3am0s"))
(patches (search-patches "libgit2-mtime-0.patch" (patches (search-patches "libgit2-mtime-0.patch"
"libgit2-oom-test.patch")) "libgit2-oom-test.patch"))

View File

@ -21,7 +21,7 @@
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> ;;; 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 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; 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) ("libbluray" ,libbluray)
("libcaca" ,libcaca) ("libcaca" ,libcaca)
("libcdio-paranoia" ,libcdio-paranoia) ("libcdio-paranoia" ,libcdio-paranoia)
("libdrm" ,libdrm)
("libtheora" ,libtheora) ("libtheora" ,libtheora)
("libva" ,libva) ("libva" ,libva)
("libvdpau" ,libvdpau) ("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-libx265"
"--enable-openal" "--enable-openal"
"--enable-opengl" "--enable-opengl"
"--enable-libdrm"
"--enable-runtime-cpudetect" "--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 (description "dav1d is a new AV1 cross-platform decoder, and focused on
speed and correctness.") speed and correctness.")
(license license:bsd-2))) (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+))))

View File

@ -10,6 +10,7 @@
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; 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, in the sandbox. Any such directories specified is mounted nodev by default,
and can be made readonly.") and can be made readonly.")
(license license:lgpl2.0+))) (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+)))

View File

@ -122,14 +122,14 @@
(define-public httpd (define-public httpd
(package (package
(name "httpd") (name "httpd")
(version "2.4.35") (version "2.4.37")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-" (uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0mlvwsm7hmpc7db6lfc2nx3v4cll3qljjxhjhgsw6aniskywc1r6")))) "09npb7vlz5sizgj0nvl0bqxj9zig29ipkp07fgmw5ykjcxfdr61l"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
(inputs `(("apr" ,apr) (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 (define-public http-parser
(package (package
(name "http-parser") (name "http-parser")
(version "2.8.1") (version "2.9.0")
(home-page "https://github.com/nodejs/http-parser")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/nodejs/http-parser/" (uri (git-reference (url home-page)
"archive/v" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai")))) "1qa3rh9x4as2fc2p0y2hah83iqs7jr5106a8anv317359dgf3ssj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"
@ -5087,7 +5088,6 @@ into your tests. It automatically starts up a HTTP server in a separate thread
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))
(home-page "https://github.com/nodejs/http-parser")
(synopsis "HTTP request/response parser for C") (synopsis "HTTP request/response parser for C")
(description "This is a parser for HTTP messages written in C. It parses (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 both requests and responses. The parser is designed to be used in

View File

@ -224,48 +224,48 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data (define-public wine-staging-patchset-data
(package (package
(name "wine-staging-patchset-data") (name "wine-staging-patchset-data")
(version "4.0-rc5") (version "4.0-rc5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/wine-staging/wine-staging") (url "https://github.com/wine-staging/wine-staging")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0smp6ngs77vk1yg0saavhhn7kmi9ri8y8gc3vcgg837ycwg5i5qb")))) "0smp6ngs77vk1yg0saavhhn7kmi9ri8y8gc3vcgg837ycwg5i5qb"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(native-inputs (native-inputs
`(("bash" ,bash) `(("bash" ,bash)
("coreutils" ,coreutils))) ("coreutils" ,coreutils)))
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
#:builder #:builder
(begin (begin
(use-modules (guix build utils)) (use-modules (guix build utils))
(let* ((build-directory ,(string-append name "-" version)) (let* ((build-directory ,(string-append name "-" version))
(source (assoc-ref %build-inputs "source")) (source (assoc-ref %build-inputs "source"))
(bash (assoc-ref %build-inputs "bash")) (bash (assoc-ref %build-inputs "bash"))
(coreutils (assoc-ref %build-inputs "coreutils")) (coreutils (assoc-ref %build-inputs "coreutils"))
(out (assoc-ref %outputs "out")) (out (assoc-ref %outputs "out"))
(wine-staging (string-append out "/share/wine-staging"))) (wine-staging (string-append out "/share/wine-staging")))
(copy-recursively source build-directory) (copy-recursively source build-directory)
(with-directory-excursion build-directory (with-directory-excursion build-directory
(substitute* "patches/patchinstall.sh" (substitute* "patches/patchinstall.sh"
(("/bin/sh") (("/bin/sh")
(string-append bash "/bin/sh"))) (string-append bash "/bin/sh")))
(substitute* "patches/gitapply.sh" (substitute* "patches/gitapply.sh"
(("/usr/bin/env") (("/usr/bin/env")
(string-append coreutils "/bin/env")))) (string-append coreutils "/bin/env"))))
(copy-recursively build-directory wine-staging) (copy-recursively build-directory wine-staging)
#t)))) #t))))
(home-page "https://github.com/wine-staging") (home-page "https://github.com/wine-staging")
(synopsis "Patchset for Wine") (synopsis "Patchset for Wine")
(description (description
"wine-staging-patchset-data contains the patchset to build Wine-Staging.") "wine-staging-patchset-data contains the patchset to build Wine-Staging.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public wine-staging (define-public wine-staging
(package (package
@ -286,6 +286,7 @@ integrate Windows applications into your desktop.")
("ffmpeg" ,ffmpeg) ("ffmpeg" ,ffmpeg)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("libva" ,libva) ("libva" ,libva)
("mesa" ,mesa)
("python" ,python) ("python" ,python)
("sdl2" ,sdl2) ("sdl2" ,sdl2)
("util-linux" ,util-linux) ; for hexdump ("util-linux" ,util-linux) ; for hexdump
@ -296,6 +297,27 @@ integrate Windows applications into your desktop.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-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 (add-before 'configure 'patch-source-wine-staging
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((source (assoc-ref %build-inputs "source")) (let* ((source (assoc-ref %build-inputs "source"))
@ -344,6 +366,34 @@ integrated into the main branch.")
(string-append "libdir=" %output "/lib/wine64")) (string-append "libdir=" %output "/lib/wine64"))
#:phases #:phases
(modify-phases %standard-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 (add-before 'configure 'patch-source-wine-staging
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((source (assoc-ref %build-inputs "source")) (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 the 32-bit binaries needed for WoW64.
(copy-file (string-append wine32 "/bin/wine") (copy-file (string-append wine32 "/bin/wine")
(string-append out "/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")) (string-append out "/bin/wine-preloader"))
#t))) #t)))
(add-after 'compress-documentation 'copy-wine32-manpage (add-after 'compress-documentation 'copy-wine32-manpage

View File

@ -990,7 +990,7 @@ color temperature should be set to match the lamps in your room.")
(define-public xscreensaver (define-public xscreensaver
(package (package
(name "xscreensaver") (name "xscreensaver")
(version "5.40") (version "5.42")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -999,7 +999,7 @@ color temperature should be set to match the lamps in your room.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1q2sr7h6ps6d3hk8895g12rrcqiihjl7py1ly077ikv4866r181h")))) "1qfbsnj7201d03vf0b2lzxmlcq4kvkvzp48r5gcgsjr17c1sl7a4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -1013,7 +1013,9 @@ color temperature should be set to match the lamps in your room.")
#t))) #t)))
#:configure-flags '("--with-pam" "--with-proc-interrupts" #:configure-flags '("--with-pam" "--with-proc-interrupts"
"--without-readdisplay") "--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") (assoc-ref %outputs "out")
"/usr/lib/X11/app-defaults")))) "/usr/lib/X11/app-defaults"))))
(native-inputs (native-inputs
@ -1105,7 +1107,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
(define-public rofi (define-public rofi
(package (package
(name "rofi") (name "rofi")
(version "1.5.1") (version "1.5.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/DaveDavenport/rofi/" (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")) version "/rofi-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0wx118banbwfqdwc5y44fkp3hxg97gj3vma16528slhy408hkg7i")))) "17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("pango" ,pango) `(("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") (synopsis "Set the color temperature of the screen")
(description "@code{sct} is a lightweight utility to set the color (description "@code{sct} is a lightweight utility to set the color
temperature of the screen.") temperature of the screen.")
(license license:bsd-3))) (license (license:non-copyleft "file://sct.c")))) ; "OpenBSD" license
(define-public wl-clipboard (define-public wl-clipboard
(package (package

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
@ -25,6 +25,7 @@
(define-module (gnu services base) (define-module (gnu services base)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix deprecation)
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:use-module (gnu system pam) #: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 generator (RNG) with the value recorded when the system was last shut
down."))) down.")))
(define (urandom-seed-service) ;deprecated (define-deprecated (urandom-seed-service)
(service urandom-seed-service-type #f)) urandom-seed-service-type
(service urandom-seed-service-type))
;;; ;;;
@ -1686,7 +1688,9 @@ failed to register public key '~a': ~a~%" key status)))))))
(description (description
"Run the build daemon of GNU@tie{}Guix, aka. @command{guix-daemon}."))) "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 "Return a service that runs the Guix build daemon according to
@var{config}." @var{config}."
(service guix-service-type 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 "Add a Shepherd service running @command{guix publish}, a
command that allows you to share pre-built binaries with others over HTTP."))) 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} "Return a service that runs @command{guix publish} listening on @var{host}
and @var{port} (@pxref{Invoking guix publish}). 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 notably to select, copy, and paste text. The default options use the
@code{ps2} protocol, which works for both USB and PS/2 mice."))) @code{ps2} protocol, which works for both USB and PS/2 mice.")))
(define* (gpm-service #:key (gpm gpm) ;deprecated (define-deprecated (gpm-service #:key (gpm gpm)
(options %default-gpm-options)) (options %default-gpm-options))
gpm-service-type
"Run @var{gpm}, the general-purpose mouse daemon, with the given "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, 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} notably to select, copy, and paste text. The default value of @var{options}

102
gnu/services/docker.scm Normal file
View File

@ -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))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -21,6 +21,7 @@
#:use-module (gnu services base) #:use-module (gnu services base)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:autoload (gnu packages guile) (mcron) #:autoload (gnu packages guile) (mcron)
#:use-module (guix deprecation)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -142,7 +143,8 @@ files."
jobs))))) jobs)))))
(default-value (mcron-configuration)))) ;empty job list (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 "Return an mcron service running @var{mcron} that schedules @var{jobs}, a
list of gexps denoting mcron job specifications. list of gexps denoting mcron job specifications.

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; 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> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -32,6 +32,7 @@
#:use-module (guix modules) #:use-module (guix modules)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix deprecation)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-35) #:use-module (srfi srfi-35)
#:use-module (ice-9 match) #: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 "Run @url{http://bitlbee.org,BitlBee}, a daemon that acts as
a gateway between IRC and chat networks."))) a gateway between IRC and chat networks.")))
(define* (bitlbee-service #:key (bitlbee bitlbee) ;deprecated (define-deprecated (bitlbee-service #:key (bitlbee bitlbee)
(interface "127.0.0.1") (port 6667) (interface "127.0.0.1") (port 6667)
(extra-settings "")) (extra-settings ""))
bitlbee-service-type
"Return a service that runs @url{http://bitlbee.org,BitlBee}, a daemon that "Return a service that runs @url{http://bitlbee.org,BitlBee}, a daemon that
acts as a gateway between IRC and chat networks. acts as a gateway between IRC and chat networks.

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
@ -45,6 +45,7 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix modules) #:use-module (guix modules)
#:use-module (guix deprecation)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
@ -206,7 +207,8 @@ fe80::1%lo0 apps.facebook.com\n")
(stop #~(make-kill-destructor)))) (stop #~(make-kill-destructor))))
isc-dhcp)) 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 "Return a service that runs @var{dhcp}, a Dynamic Host Configuration
Protocol (DHCP) client, on all the non-loopback network interfaces." Protocol (DHCP) client, on all the non-loopback network interfaces."
(service dhcp-client-service-type dhcp)) (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.") will keep the system clock synchronized with that of the given servers.")
(default-value (ntp-configuration)))) (default-value (ntp-configuration))))
(define* (ntp-service #:key (ntp ntp) ;deprecated (define-deprecated (ntp-service #:key (ntp ntp)
(servers %ntp-servers) (servers %ntp-servers)
allow-large-adjustment?) allow-large-adjustment?)
ntp-service-type
"Return a service that runs the daemon from @var{ntp}, the "Return a service that runs the daemon from @var{ntp}, the
@uref{http://www.ntp.org, Network Time Protocol package}. The daemon will @uref{http://www.ntp.org, Network Time Protocol package}. The daemon will
keep the system clock synchronized with that of @var{servers}. 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 "Run the @uref{https://torproject.org, Tor} anonymous
networking daemon."))) networking daemon.")))
(define* (tor-service #:optional (define-deprecated (tor-service #:optional
(config-file (plain-file "empty" "")) (config-file (plain-file "empty" ""))
#:key (tor tor)) #:key (tor tor))
tor-service-type
"Return a service to run the @uref{https://torproject.org, Tor} anonymous "Return a service to run the @uref{https://torproject.org, Tor} anonymous
networking daemon. networking daemon.

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; 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 © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
;;; ;;;
@ -40,6 +40,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix derivations) #:use-module (guix derivations)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix deprecation)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
@ -521,14 +522,15 @@ reboot_cmd " shepherd "/sbin/reboot\n"
(const (list xterm))))) (const (list xterm)))))
(default-value (slim-configuration)))) (default-value (slim-configuration))))
(define* (slim-service #:key (slim slim) ;deprecated (define-deprecated (slim-service #:key (slim slim)
(allow-empty-passwords? #t) auto-login? (allow-empty-passwords? #t) auto-login?
(default-user "") (default-user "")
(theme %default-slim-theme) (theme %default-slim-theme)
(theme-name %default-slim-theme-name) (theme-name %default-slim-theme-name)
(xauth xauth) (shepherd shepherd) (xauth xauth) (shepherd shepherd)
(auto-login-session #f) (auto-login-session #f)
(startx (xorg-start-command))) (startx (xorg-start-command)))
slim-service-type
"Return a service that spawns the SLiM graphical login manager, which in "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 turn starts the X display server with @var{startx}, a command as returned by
@code{xorg-start-command}. @code{xorg-start-command}.
@ -628,7 +630,8 @@ makes the good ol' XlockMore usable."
(allow-empty-passwords? gdm-configuration-allow-empty-passwords? (default #t)) (allow-empty-passwords? gdm-configuration-allow-empty-passwords? (default #t))
(auto-login? gdm-configuration-auto-login? (default #f)) (auto-login? gdm-configuration-auto-login? (default #f))
(default-user gdm-configuration-default-user (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-etc-service config)
(define gdm-configuration-file (define gdm-configuration-file
@ -719,14 +722,20 @@ makes the good ol' XlockMore usable."
(service-extension etc-service-type (service-extension etc-service-type
gdm-etc-service) gdm-etc-service)
(service-extension dbus-root-service-type (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 ;; 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 ;; 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 :) ;; it doesn't hurt anyone and perhaps it inspires someone to fix it :)
(define* (gdm-service #:key (gdm gdm) (define-deprecated (gdm-service #:key (gdm gdm)
(allow-empty-passwords? #t) (allow-empty-passwords? #t)
(x-server (xorg-wrapper))) (x-server (xorg-wrapper)))
gdm-service-type
"Return a service that spawns the GDM graphical login manager, which in turn "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 starts the X display server with @var{X}, a command as returned by
@code{xorg-wrapper}. @code{xorg-wrapper}.

View File

@ -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. ;; The build daemon. Register the official server keys as trusted.
;; This allows the installation process to use substitutes by ;; This allows the installation process to use substitutes by
;; default. ;; 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. ;; Start udev so that useful device nodes are available.
;; Use device-mapper rules for cryptsetup & co; enable the CRDA for ;; Use device-mapper rules for cryptsetup & co; enable the CRDA for

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -627,7 +627,8 @@ non-ASCII names from /tmp.")
(job3 #~(job next-second-from ;to test $PATH (job3 #~(job next-second-from ;to test $PATH
"touch witness-touch"))) "touch witness-touch")))
(simple-operating-system (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 (run-mcron-test name)
(define os (define os

99
gnu/tests/docker.scm Normal file
View File

@ -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))))

View File

@ -351,7 +351,7 @@ subnet 192.168.1.0 netmask 255.255.255.0 {
(define %tor-os (define %tor-os
(simple-operating-system (simple-operating-system
(tor-service))) (service tor-service-type)))
(define %tor-os/unix-socks-socket (define %tor-os/unix-socks-socket
(simple-operating-system (simple-operating-system

View File

@ -172,7 +172,7 @@ set up using CL source package conventions."
;; Special considerations for source packages: CL inputs become ;; Special considerations for source packages: CL inputs become
;; propagated, and un-handled arguments are removed. ;; propagated, and un-handled arguments are removed.
(define new-propagated-inputs (define (new-propagated-inputs)
(if target-is-source? (if target-is-source?
(map rewrite (map rewrite
(append (append
@ -218,7 +218,7 @@ set up using CL source package conventions."
(substitute-keyword-arguments base-arguments (substitute-keyword-arguments base-arguments
((#:phases phases) (list phases-transformer phases)))) ((#:phases phases) (list phases-transformer phases))))
(inputs (new-inputs package-inputs)) (inputs (new-inputs package-inputs))
(propagated-inputs new-propagated-inputs) (propagated-inputs (new-propagated-inputs))
(native-inputs (new-inputs package-native-inputs)) (native-inputs (new-inputs package-native-inputs))
(outputs (if target-is-source? (outputs (if target-is-source?
'("out") '("out")

View File

@ -39,9 +39,10 @@
;; ;;
;; Code: ;; Code:
;; These variables specify the SVN tag and the matching SVN revision. ;; These variables specify the SVN tag and the matching SVN revision. They
(define %texlive-tag "texlive-2017.1") ;; are taken from https://www.tug.org/svn/texlive/tags/
(define %texlive-revision 44591) (define %texlive-tag "texlive-2018.2")
(define %texlive-revision 49435)
(define (texlive-ref component id) (define (texlive-ref component id)
"Return a <svn-reference> object for the package ID, which is part of the "Return a <svn-reference> object for the package ID, which is part of the

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -26,28 +26,22 @@
#:use-module (system base message) #:use-module (system base message)
#:use-module (guix modules) #:use-module (guix modules)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (language tree-il optimize)
#:use-module (language cps optimize)
#:export (%default-optimizations #:export (%default-optimizations
%lightweight-optimizations %lightweight-optimizations
compile-files)) compile-files))
;;; Commentary: ;;; Commentary:
;;; ;;;
;;; Support code to compile Guile code as efficiently as possible (both with ;;; Support code to compile Guile code as efficiently as possible (with 2.2).
;;; Guile 2.0 and 2.2).
;;; ;;;
;;; Code: ;;; Code:
(cond-expand
(guile-2.2 (use-modules (language tree-il optimize)
(language cps optimize)))
(else #f))
(define %default-optimizations (define %default-optimizations
;; Default optimization options (equivalent to -O2 on Guile 2.2). ;; Default optimization options (equivalent to -O2 on Guile 2.2).
(cond-expand (append (tree-il-default-optimization-options)
(guile-2.2 (append (tree-il-default-optimization-options) (cps-default-optimization-options)))
(cps-default-optimization-options)))
(else '())))
(define %lightweight-optimizations (define %lightweight-optimizations
;; Lightweight optimizations (like -O0, but with partial evaluation). ;; Lightweight optimizations (like -O0, but with partial evaluation).

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -93,8 +93,8 @@ ITEM."
"Download and extract the normalized archive for ITEM. Return #t on "Download and extract the normalized archive for ITEM. Return #t on
success, #f otherwise." success, #f otherwise."
;; Let progress reports go through. ;; Let progress reports go through.
(setvbuf (current-error-port) _IONBF) (setvbuf (current-error-port) 'none)
(setvbuf (current-output-port) _IONBF) (setvbuf (current-output-port) 'none)
(let loop ((urls (urls-for-item item))) (let loop ((urls (urls-for-item item)))
(match urls (match urls

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; 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: ;; Write HTTP requests line by line rather than byte by byte:
;; <https://bugs.gnu.org/22966>. This is possible with Guile >= 2.2. ;; <https://bugs.gnu.org/22966>. This is possible with Guile >= 2.2.
(cond-expand (setvbuf record 'line)
(guile-2.2 (setvbuf record 'line))
(else #f))
record))) record)))
@ -359,7 +357,7 @@ ETIMEDOUT error is raised."
(connect* s (addrinfo:addr ai) timeout) (connect* s (addrinfo:addr ai) timeout)
;; Buffer input and output on this port. ;; Buffer input and output on this port.
(setvbuf s _IOFBF) (setvbuf s 'block)
;; If we're using a proxy, make a note of that. ;; If we're using a proxy, make a note of that.
(when http-proxy (set-http-proxy-port?! s #t)) (when http-proxy (set-http-proxy-port?! s #t))
s) s)
@ -403,7 +401,7 @@ VERIFY-CERTIFICATE? is true, verify HTTPS server certificates."
(with-https-proxy (with-https-proxy
(let ((s (open-socket-for-uri uri #:timeout timeout))) (let ((s (open-socket-for-uri uri #:timeout timeout)))
;; Buffer input and output on this port. ;; Buffer input and output on this port.
(setvbuf s _IOFBF %http-receive-buffer-size) (setvbuf s 'block %http-receive-buffer-size)
(if https? (if https?
(tls-wrap s (uri-host uri) (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)) (module-set! (resolve-module '(web http))
'parse-rfc-822-date parse-rfc-822-date)) '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 ;; XXX: Work around broken proxy handling on Guile 2.2 <= 2.2.2, fixed in
;; Guile commits 7d0d9e2c25c1e872cfc7d14ab5139915f1813d56 and ;; Guile commits 7d0d9e2c25c1e872cfc7d14ab5139915f1813d56 and
;; 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143. See bug report at ;; 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143. See bug report at
@ -791,11 +777,11 @@ otherwise simply ignore them."
hashes)) hashes))
content-addressed-mirrors)) 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. ;; 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))) (let try ((uri (append uri content-addressed-uris)))
(match uri (match uri

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; 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. ;;; 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)\ util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\
_nonshared\\.a)$") _nonshared\\.a)$")
(setvbuf (current-output-port) _IOLBF) (setvbuf (current-output-port) 'line)
(let* ((libdir (string-append output "/lib"))) (let* ((libdir (string-append output "/lib")))
(mkdir-p libdir) (mkdir-p libdir)
(for-each (lambda (file) (for-each (lambda (file)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@ -699,39 +699,31 @@ mounted at FILE."
(define CLONE_NEWPID #x20000000) (define CLONE_NEWPID #x20000000)
(define CLONE_NEWNET #x40000000) (define CLONE_NEWNET #x40000000)
(cond-expand (define %set-automatic-finalization-enabled?!
(guile-2.2 ;; When using a statically-linked Guile, for instance in the initrd, we
(define %set-automatic-finalization-enabled?! ;; cannot resolve this symbol, but most of the time we don't need it
;; When using a statically-linked Guile, for instance in the initrd, we ;; anyway. Thus, delay it.
;; cannot resolve this symbol, but most of the time we don't need it (let ((proc (delay
;; anyway. Thus, delay it. (pointer->procedure int
(let ((proc (delay (dynamic-func
(pointer->procedure int "scm_set_automatic_finalization_enabled"
(dynamic-func (dynamic-link))
"scm_set_automatic_finalization_enabled" (list int)))))
(dynamic-link)) (lambda (enabled?)
(list int))))) "Switch on or off automatic finalization in a separate thread.
(lambda (enabled?)
"Switch on or off automatic finalization in a separate thread.
Turning finalization off shuts down the finalization thread as a side effect." Turning finalization off shuts down the finalization thread as a side effect."
(->bool ((force proc) (if enabled? 1 0)))))) (->bool ((force proc) (if enabled? 1 0))))))
(define-syntax-rule (without-automatic-finalization exp) (define-syntax-rule (without-automatic-finalization exp)
"Turn off automatic finalization within the dynamic extent of EXP." "Turn off automatic finalization within the dynamic extent of EXP."
(let ((enabled? #t)) (let ((enabled? #t))
(dynamic-wind (dynamic-wind
(lambda () (lambda ()
(set! enabled? (%set-automatic-finalization-enabled?! #f))) (set! enabled? (%set-automatic-finalization-enabled?! #f)))
(lambda () (lambda ()
exp) exp)
(lambda () (lambda ()
(%set-automatic-finalization-enabled?! enabled?)))))) (%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)))
;; The libc interface to sys_clone is not useful for Scheme programs, so the ;; 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 ;; low-level system call is wrapped instead. The 'syscall' function is

View File

@ -35,7 +35,7 @@
(define (compile-with-latex format file) (define (compile-with-latex format file)
(invoke format (invoke format
"-interaction=batchmode" "-interaction=nonstopmode"
"-output-directory=build" "-output-directory=build"
(string-append "&" format) (string-append "&" format)
file)) file))
@ -60,7 +60,12 @@
(("^TEXMF = .*") (("^TEXMF = .*")
"TEXMF = $TEXMFROOT/share/texmf-dist\n")) "TEXMF = $TEXMFROOT/share/texmf-dist\n"))
(setenv "TEXMFCNF" (dirname texmf.cnf)) (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") (mkdir "build")
#t) #t)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com> ;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com>
;;; ;;;
@ -39,6 +39,19 @@
;;; ;;;
;;; Code: ;;; 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) (define (files-in-directory dirname)
(let ((dir (opendir dirname))) (let ((dir (opendir dirname)))
(let loop ((files '())) (let loop ((files '()))
@ -179,10 +192,10 @@ returns #f, skip the faulty file altogether."
(reverse dirs-with-file)))) (reverse dirs-with-file))))
table))) table)))
(setvbuf (current-output-port) _IOLBF) (setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) _IOLBF) (setvbuf (current-error-port) 'line)
(when (file-port? log-port) (when (file-port? log-port)
(setvbuf log-port _IOLBF)) (setvbuf log-port 'line))
(union-of-directories output (delete-duplicates inputs))) (union-of-directories output (delete-duplicates inputs)))

89
guix/deprecation.scm Normal file
View File

@ -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))))))))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -154,7 +154,7 @@ TIMEOUT, an ETIMEDOUT error is raised."
(catch 'system-error (catch 'system-error
(lambda () (lambda ()
(connect* s (addrinfo:addr ai) timeout) (connect* s (addrinfo:addr ai) timeout)
(setvbuf s _IOLBF) (setvbuf s 'line)
(let-values (((code message) (%ftp-listen s))) (let-values (((code message) (%ftp-listen s)))
(if (eqv? code 220) (if (eqv? code 220)
(begin (begin
@ -237,7 +237,7 @@ TIMEOUT, an ETIMEDOUT error is raised."
(s (socket (addrinfo:fam ai) (addrinfo:socktype ai) (s (socket (addrinfo:fam ai) (addrinfo:socktype ai)
(addrinfo:protocol ai)))) (addrinfo:protocol ai))))
(connect* s (address-with-port (addrinfo:addr ai) port) timeout) (connect* s (address-with-port (addrinfo:addr ai) port) timeout)
(setvbuf s _IOLBF) (setvbuf s 'line)
(dynamic-wind (dynamic-wind
(lambda () #t) (lambda () #t)
@ -293,7 +293,7 @@ must be closed before CONN can be used for other purposes."
(throw 'ftp-error conn "LIST" code message)))) (throw 'ftp-error conn "LIST" code message))))
(connect* s (address-with-port (addrinfo:addr ai) port) timeout) (connect* s (address-with-port (addrinfo:addr ai) port) timeout)
(setvbuf s _IOLBF) (setvbuf s 'line)
(%ftp-command (string-append "RETR " file) (%ftp-command (string-append "RETR " file)
150 (ftp-connection-socket conn)) 150 (ftp-connection-socket conn))

View File

@ -97,7 +97,7 @@ Raise an '&http-get-error' condition if downloading fails."
headers)) headers))
(_ headers)))) (_ headers))))
(unless (or buffered? (not (file-port? port))) (unless (or buffered? (not (file-port? port)))
(setvbuf port _IONBF)) (setvbuf port 'none))
(let*-values (((resp data) (let*-values (((resp data)
(http-get uri #:streaming? #t #:port port (http-get uri #:streaming? #t #:port port
#:keep-alive? #t #:keep-alive? #t

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 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 © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
@ -390,11 +390,11 @@ s-expression corresponding to that package, or #f on failure."
(_ #f))) (_ #f)))
(_ #f))))) (_ #f)))))
(define (latest-cran-release package) (define (latest-cran-release pkg)
"Return an <upstream-source> for the latest release of PACKAGE." "Return an <upstream-source> for the latest release of the package PKG."
(define upstream-name (define upstream-name
(package->upstream-name package)) (package->upstream-name pkg))
(define meta (define meta
(fetch-description 'cran upstream-name)) (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"))) (let ((version (assoc-ref meta "Version")))
;; CRAN does not provide signatures. ;; CRAN does not provide signatures.
(upstream-source (upstream-source
(package (package-name package)) (package (package-name pkg))
(version version) (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) (define (latest-bioconductor-release pkg)
"Return an <upstream-source> for the latest release of PACKAGE." "Return an <upstream-source> for the latest release of the package PKG."
(define upstream-name (define upstream-name
(package->upstream-name package)) (package->upstream-name pkg))
(define version (define version
(latest-bioconductor-package-version upstream-name)) (latest-bioconductor-package-version upstream-name))
@ -419,9 +422,13 @@ s-expression corresponding to that package, or #f on failure."
(and version (and version
;; Bioconductor does not provide signatures. ;; Bioconductor does not provide signatures.
(upstream-source (upstream-source
(package (package-name package)) (package (package-name pkg))
(version version) (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) (define (cran-package? package)
"Return true if PACKAGE is an R package from CRAN." "Return true if PACKAGE is an R package from CRAN."

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; 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. "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 PIPE is closed with CLOSE when 'close-inferior' is called on the returned
inferior." inferior."
(cond-expand (setvbuf pipe 'line)
((and guile-2 (not guile-2.2)) #t)
(else (setvbuf pipe 'line)))
(match (read pipe) (match (read pipe)
(('repl-version 0 rest ...) (('repl-version 0 rest ...)
@ -391,8 +389,8 @@ input/output ports.)"
;; Use buffered ports so that 'get-bytevector-some' returns up to the ;; Use buffered ports so that 'get-bytevector-some' returns up to the
;; whole buffer like read(2) would--see <https://bugs.gnu.org/30066>. ;; whole buffer like read(2) would--see <https://bugs.gnu.org/30066>.
(setvbuf client _IOFBF 65536) (setvbuf client 'block 65536)
(setvbuf backend _IOFBF 65536) (setvbuf backend 'block 65536)
(let loop () (let loop ()
(match (select* (list client backend) '() '()) (match (select* (list client backend) '() '())

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -23,6 +23,7 @@
#:use-module ((guix build utils) #:select (mkdir-p)) #:use-module ((guix build utils) #:select (mkdir-p))
#:use-module ((guix serialization) #:select (restore-file)) #:use-module ((guix serialization) #:select (restore-file))
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix status)
#:use-module (guix grafts) #:use-module (guix grafts)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix derivations) #:use-module (guix derivations)
@ -55,7 +56,11 @@
(substitutes? . #t) (substitutes? . #t)
(build-hook? . #t) (build-hook? . #t)
(graft? . #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) (define (show-help)
(display (G_ "Usage: guix archive [OPTION]... PACKAGE... (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\"")) -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\""))
(display (G_ " (display (G_ "
--target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"")) --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\""))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(newline) (newline)
(show-build-options-help) (show-build-options-help)
@ -161,6 +168,11 @@ Export/import one or more packages from/to the store.\n"))
(option '(#\e "expression") #t #f (option '(#\e "expression") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'expression 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 (option '(#\n "dry-run") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'dry-run? #t (alist-cons 'graft? #f 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." resulting archive to the standard output port."
(let-values (((drv files) (let-values (((drv files)
(options->derivations+files store opts))) (options->derivations+files store opts)))
(set-build-options-from-command-line store opts)
(show-what-to-build store drv (show-what-to-build store drv
#:use-substitutes? (assoc-ref opts 'substitutes?) #:use-substitutes? (assoc-ref opts 'substitutes?)
#:dry-run? (assoc-ref opts 'dry-run?)) #:dry-run? (assoc-ref opts 'dry-run?))
@ -329,21 +340,23 @@ the input port."
((assoc-ref opts 'authorize) ((assoc-ref opts 'authorize)
(authorize-key)) (authorize-key))
(else (else
(with-store store (with-status-verbosity (assoc-ref opts 'verbosity)
(cond ((assoc-ref opts 'export) (with-store store
(export-from-store store opts)) (set-build-options-from-command-line store opts)
((assoc-ref opts 'import) (cond ((assoc-ref opts 'export)
(import-paths store (current-input-port))) (export-from-store store opts))
((assoc-ref opts 'missing) ((assoc-ref opts 'import)
(let* ((files (lines (current-input-port))) (import-paths store (current-input-port)))
(missing (remove (cut valid-path? store <>) ((assoc-ref opts 'missing)
files))) (let* ((files (lines (current-input-port)))
(format #t "~{~a~%~}" missing))) (missing (remove (cut valid-path? store <>)
((assoc-ref opts 'extract) files)))
=> (format #t "~{~a~%~}" missing)))
(lambda (target) ((assoc-ref opts 'extract)
(restore-file (current-input-port) target))) =>
(else (lambda (target)
(leave (restore-file (current-input-port) target)))
(G_ "either '--export' or '--import' \ (else
must be specified~%")))))))))))) (leave
(G_ "either '--export' or '--import' \
must be specified~%")))))))))))))

View File

@ -449,14 +449,14 @@ options handled by 'set-build-options-from-command-line', and listed in
mark the build as failed after SECONDS of silence")) mark the build as failed after SECONDS of silence"))
(display (G_ " (display (G_ "
--timeout=SECONDS mark the build as failed after SECONDS of activity")) --timeout=SECONDS mark the build as failed after SECONDS of activity"))
(display (G_ "
--verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ " (display (G_ "
--rounds=N build N times in a row to detect non-determinism")) --rounds=N build N times in a row to detect non-determinism"))
(display (G_ " (display (G_ "
-c, --cores=N allow the use of up to N CPU cores for the build")) -c, --cores=N allow the use of up to N CPU cores for the build"))
(display (G_ " (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) (define (set-build-options-from-command-line store opts)
"Given OPTS, an alist as returned by 'args-fold' given "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?) (assoc-ref opts 'print-extended-build-trace?)
#:multiplexed-build-output? #:multiplexed-build-output?
(assoc-ref opts '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* (define set-build-options-from-command-line*
(store-lift 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 (apply values
(alist-cons 'timeout (string->number* arg) result) (alist-cons 'timeout (string->number* arg) result)
rest))) rest)))
(option '("verbosity") #t #f (option '("debug") #t #f
(lambda (opt name arg result . rest) (lambda (opt name arg result . rest)
(let ((level (string->number arg))) (let ((level (string->number* arg)))
(apply values (apply values
(alist-cons 'verbosity level (alist-cons 'debug level
(alist-delete 'verbosity result)) (alist-delete 'debug result))
rest)))) rest))))
(option '(#\c "cores") #t #f (option '(#\c "cores") #t #f
(lambda (opt name arg result . rest) (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-build-trace? . #t)
(print-extended-build-trace? . #t) (print-extended-build-trace? . #t)
(multiplexed-build-output? . #t) (multiplexed-build-output? . #t)
(verbosity . 0))) (verbosity . 2)
(debug . 0)))
(define (show-help) (define (show-help)
(display (G_ "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION... (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 -r, --root=FILE make FILE a symlink to the result, and register it
as a garbage collector root")) as a garbage collector root"))
(display (G_ " (display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ "
-q, --quiet do not show the build log")) -q, --quiet do not show the build log"))
(display (G_ " (display (G_ "
--log-file return the log file names for the given derivations")) --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 (option '(#\r "root") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'gc-root 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 (option '(#\q "quiet") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'quiet? #t result))) (alist-cons 'verbosity 0
(alist-delete 'verbosity result))))
(option '("log-file") #f #f (option '("log-file") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'log-file? #t result))) (alist-cons 'log-file? #t result)))
@ -819,66 +828,59 @@ needed."
(parse-command-line args %options (parse-command-line args %options
(list %default-options))) (list %default-options)))
(define quiet?
(assoc-ref opts 'quiet?))
(with-error-handling (with-error-handling
;; Ask for absolute file names so that .drv file names passed from the ;; Ask for absolute file names so that .drv file names passed from the
;; user to 'read-derivation' are absolute when it returns. ;; user to 'read-derivation' are absolute when it returns.
(with-fluids ((%file-port-name-canonicalization 'absolute)) (with-fluids ((%file-port-name-canonicalization 'absolute))
(with-store store (with-status-verbosity (assoc-ref opts 'verbosity)
;; Set the build options before we do anything else. (with-store store
(set-build-options-from-command-line store opts) ;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)
(parameterize ((current-terminal-columns (terminal-columns)) (parameterize ((current-terminal-columns (terminal-columns)))
(current-build-output-port (let* ((mode (assoc-ref opts 'build-mode))
(if quiet? (drv (options->derivations store opts))
(%make-void-port "w") (urls (map (cut string-append <> "/log")
(build-event-output-port (if (assoc-ref opts 'substitutes?)
(build-status-updater print-build-event))))) (or (assoc-ref opts 'substitute-urls)
(let* ((mode (assoc-ref opts 'build-mode)) ;; XXX: This does not necessarily match the
(drv (options->derivations store opts)) ;; daemon's substitute URLs.
(urls (map (cut string-append <> "/log") %default-substitute-urls)
(if (assoc-ref opts 'substitutes?) '())))
(or (assoc-ref opts 'substitute-urls) (items (filter-map (match-lambda
;; XXX: This does not necessarily match the (('argument . (? store-path? file))
;; daemon's substitute URLs. file)
%default-substitute-urls) (_ #f))
'()))) opts))
(items (filter-map (match-lambda (roots (filter-map (match-lambda
(('argument . (? store-path? file)) (('gc-root . root) root)
file) (_ #f))
(_ #f)) opts)))
opts))
(roots (filter-map (match-lambda
(('gc-root . root) root)
(_ #f))
opts)))
(unless (or (assoc-ref opts 'log-file?) (unless (or (assoc-ref opts 'log-file?)
(assoc-ref opts 'derivations-only?)) (assoc-ref opts 'derivations-only?))
(show-what-to-build store drv (show-what-to-build store drv
#:use-substitutes? #:use-substitutes?
(assoc-ref opts 'substitutes?) (assoc-ref opts 'substitutes?)
#:dry-run? (assoc-ref opts 'dry-run?) #:dry-run? (assoc-ref opts 'dry-run?)
#:mode mode)) #:mode mode))
(cond ((assoc-ref opts 'log-file?) (cond ((assoc-ref opts 'log-file?)
(for-each (cut show-build-log store <> urls) (for-each (cut show-build-log store <> urls)
(delete-duplicates (delete-duplicates
(append (map derivation-file-name drv) (append (map derivation-file-name drv)
items)))) items))))
((assoc-ref opts 'derivations-only?) ((assoc-ref opts 'derivations-only?)
(format #t "~{~a~%~}" (map derivation-file-name drv)) (format #t "~{~a~%~}" (map derivation-file-name drv))
(for-each (cut register-root store <> <>) (for-each (cut register-root store <> <>)
(map (compose list derivation-file-name) drv) (map (compose list derivation-file-name) drv)
roots)) roots))
((not (assoc-ref opts 'dry-run?)) ((not (assoc-ref opts 'dry-run?))
(and (build-derivations store drv mode) (and (build-derivations store drv mode)
(for-each show-derivation-outputs drv) (for-each show-derivation-outputs drv)
(for-each (cut register-root store <> <>) (for-each (cut register-root store <> <>)
(map (lambda (drv) (map (lambda (drv)
(map cdr (map cdr
(derivation->output-paths drv))) (derivation->output-paths drv)))
drv) drv)
roots)))))))))) roots)))))))))))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org> ;;; 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> ;;; Copyright © 2018 Mike Gerwitz <mtg@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -157,6 +157,8 @@ COMMAND or an interactive shell in that environment.\n"))
(display (G_ " (display (G_ "
--expose=SPEC for containers, expose read-only host file system --expose=SPEC for containers, expose read-only host file system
according to SPEC")) according to SPEC"))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ " (display (G_ "
--bootstrap use bootstrap binaries to build the environment")) --bootstrap use bootstrap binaries to build the environment"))
(newline) (newline)
@ -179,7 +181,8 @@ COMMAND or an interactive shell in that environment.\n"))
(print-build-trace? . #t) (print-build-trace? . #t)
(print-extended-build-trace? . #t) (print-extended-build-trace? . #t)
(multiplexed-build-output? . #t) (multiplexed-build-output? . #t)
(verbosity . 0))) (debug . 0)
(verbosity . 2)))
(define (tag-package-arg opts arg) (define (tag-package-arg opts arg)
"Return a two-element list with the form (TAG ARG) that tags ARG with either "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 (option '(#\r "root") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'gc-root 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 (option '("bootstrap") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'bootstrap? #t result))) (alist-cons 'bootstrap? #t result)))
@ -674,7 +682,7 @@ message if any test fails."
(leave (G_ "'--user' cannot be used without '--container'~%"))) (leave (G_ "'--user' cannot be used without '--container'~%")))
(with-store store (with-store store
(with-status-report print-build-event (with-status-verbosity (assoc-ref opts 'verbosity)
(define manifest (define manifest
(options/resolve-packages store opts)) (options/resolve-packages store opts))

View File

@ -8,7 +8,7 @@
;;; Copyright © 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -820,10 +820,11 @@ descriptions maintained upstream."
(lambda (uri) (lambda (uri)
(and=> (follow-redirects-to-github uri) (and=> (follow-redirects-to-github uri)
(lambda (github-uri) (lambda (github-uri)
(emit-warning (unless (string=? github-uri uri)
package (emit-warning
(format #f (G_ "URL should be '~a'") github-uri) package
'source)))) (format #f (G_ "URL should be '~a'") github-uri)
'source)))))
(origin-uris origin))))) (origin-uris origin)))))
(define (check-derivation package) (define (check-derivation package)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
@ -553,9 +553,7 @@ please email '~a'~%")
"run.c" "-o" result) "run.c" "-o" result)
(delete-file "run.c"))) (delete-file "run.c")))
(setvbuf (current-output-port) (setvbuf (current-output-port) 'line)
(cond-expand (guile-2.2 'line)
(else _IOLBF)))
;; Link the top-level files of PACKAGE so that search paths are ;; Link the top-level files of PACKAGE so that search paths are
;; properly defined in PROFILE/etc/profile. ;; properly defined in PROFILE/etc/profile.
@ -600,7 +598,8 @@ please email '~a'~%")
(print-build-trace? . #t) (print-build-trace? . #t)
(print-extended-build-trace? . #t) (print-extended-build-trace? . #t)
(multiplexed-build-output? . #t) (multiplexed-build-output? . #t)
(verbosity . 0) (debug . 0)
(verbosity . 2)
(symlinks . ()) (symlinks . ())
(compressor . ,(first %compressors)))) (compressor . ,(first %compressors))))
@ -687,6 +686,11 @@ please email '~a'~%")
(alist-cons 'profile-name arg result)) (alist-cons 'profile-name arg result))
(_ (_
(leave (G_ "~a: unsupported profile name~%") arg))))) (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 (option '("bootstrap") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'bootstrap? #t result))) (alist-cons 'bootstrap? #t result)))
@ -724,6 +728,8 @@ Create a bundle of PACKAGE.\n"))
(display (G_ " (display (G_ "
--profile-name=NAME --profile-name=NAME
populate /var/guix/profiles/.../NAME")) populate /var/guix/profiles/.../NAME"))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ " (display (G_ "
--bootstrap use the bootstrap binaries to build the pack")) --bootstrap use the bootstrap binaries to build the pack"))
(newline) (newline)
@ -774,7 +780,7 @@ Create a bundle of PACKAGE.\n"))
(with-error-handling (with-error-handling
(with-store store (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 the build options before we do anything else.
(set-build-options-from-command-line store opts) (set-build-options-from-command-line store opts)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2013, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com> ;;; 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 (define %default-options
;; Alist of default option values. ;; Alist of default option values.
`((verbosity . 0) `((verbosity . 1)
(debug . 0)
(graft? . #t) (graft? . #t)
(substitutes? . #t) (substitutes? . #t)
(build-hook? . #t) (build-hook? . #t)
@ -346,7 +347,7 @@ Install, remove, or upgrade packages in a single transaction.\n"))
(display (G_ " (display (G_ "
--bootstrap use the bootstrap Guile to build the profile")) --bootstrap use the bootstrap Guile to build the profile"))
(display (G_ " (display (G_ "
--verbose produce verbose output")) -v, --verbosity=LEVEL use the given verbosity LEVEL"))
(newline) (newline)
(display (G_ " (display (G_ "
-s, --search=REGEXP search in synopsis and description using REGEXP")) -s, --search=REGEXP search in synopsis and description using REGEXP"))
@ -472,13 +473,21 @@ kind of search path~%")
(values (alist-cons 'dry-run? #t (values (alist-cons 'dry-run? #t
(alist-cons 'graft? #f result)) (alist-cons 'graft? #f result))
#f))) #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 (option '("bootstrap") #f #f
(lambda (opt name arg result arg-handler) (lambda (opt name arg result arg-handler)
(values (alist-cons 'bootstrap? #t result) (values (alist-cons 'bootstrap? #t result)
#f))) #f)))
(option '("verbose") #f #f (option '("verbose") #f #f ;deprecated
(lambda (opt name arg result arg-handler) (lambda (opt name arg result arg-handler)
(values (alist-cons 'verbose? #t result) (values (alist-cons 'verbosity 2
(alist-delete 'verbosity
result))
#f))) #f)))
(option '("allow-collisions") #f #f (option '("allow-collisions") #f #f
(lambda (opt name arg result arg-handler) (lambda (opt name arg result arg-handler)
@ -907,14 +916,12 @@ processed, #f otherwise."
(define opts (define opts
(parse-command-line args %options (list %default-options #f) (parse-command-line args %options (list %default-options #f)
#:argument-handler handle-argument)) #:argument-handler handle-argument))
(define verbose?
(assoc-ref opts 'verbose?))
(with-error-handling (with-error-handling
(or (process-query opts) (or (process-query opts)
(parameterize ((%store (open-connection)) (parameterize ((%store (open-connection))
(%graft? (assoc-ref opts 'graft?))) (%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) (set-build-options-from-command-line (%store) opts)
(parameterize ((%guile-for-build (parameterize ((%guile-for-build
(package-derivation (package-derivation

View File

@ -66,7 +66,8 @@
(print-extended-build-trace? . #t) (print-extended-build-trace? . #t)
(multiplexed-build-output? . #t) (multiplexed-build-output? . #t)
(graft? . #t) (graft? . #t)
(verbosity . 0))) (debug . 0)
(verbosity . 2)))
(define (show-help) (define (show-help)
(display (G_ "Usage: guix pull [OPTION]... (display (G_ "Usage: guix pull [OPTION]...
@ -89,6 +90,8 @@ Download and deploy the latest version of Guix.\n"))
(display (G_ " (display (G_ "
-n, --dry-run show what would be pulled and built")) -n, --dry-run show what would be pulled and built"))
(display (G_ " (display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ "
-s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"")) -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\""))
(display (G_ " (display (G_ "
--bootstrap use the bootstrap Guile to build the new Guix")) --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 (option '(#\n "dry-run") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'dry-run? #t (alist-cons 'graft? #f 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 (option '("bootstrap") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'bootstrap? #t result))) (alist-cons 'bootstrap? #t result)))
@ -510,7 +518,7 @@ Use '~/.config/guix/channels.scm' instead."))
(process-query opts profile)) (process-query opts profile))
(else (else
(with-store store (with-store store
(with-status-report print-build-event (with-status-verbosity (assoc-ref opts 'verbosity)
(parameterize ((%current-system (assoc-ref opts 'system)) (parameterize ((%current-system (assoc-ref opts 'system))
(%graft? (assoc-ref opts 'graft?)) (%graft? (assoc-ref opts 'graft?))
(%repository-cache-directory cache)) (%repository-cache-directory cache))

View File

@ -1,11 +1,12 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -41,7 +42,6 @@
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (ice-9 vlist) #:use-module (ice-9 vlist)
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:use-module (ice-9 threads) ; par-for-each
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-11) #:use-module (srfi srfi-11)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
@ -172,6 +172,79 @@ specified with `--select'.\n"))
(newline) (newline)
(show-bug-report-information)) (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. ;;; 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, values: 'interactive' (default), 'always', and 'never'. When WARN? is true,
warn about packages that have no matching updater." warn about packages that have no matching updater."
(if (lookup-updater package updaters) (if (lookup-updater package updaters)
(let-values (((version tarball) (let-values (((version tarball changes)
(package-update store package updaters (package-update store package updaters
#:key-download key-download)) #:key-download key-download))
((loc) ((loc)
@ -238,6 +311,26 @@ warn about packages that have no matching updater."
(location->string loc) (location->string loc)
(package-name package) (package-name package)
(package-version package) version) (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 (let ((hash (call-with-input-file tarball
port-sha256))) port-sha256)))
(update-package-source package version hash))) (update-package-source package version hash)))
@ -335,19 +428,6 @@ dependent packages are rebuilt: ~{~a~^ ~}~%"
(map full-name covering)))) (map full-name covering))))
(return #t)))) (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) (define (list-transitive packages)
"List all the packages that would cause PACKAGES to be rebuilt if they are changed." "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 ;; Using %BAG-NODE-TYPE is more accurate than using %PACKAGE-NODE-TYPE
@ -414,40 +494,6 @@ all are dependent packages: ~{~a~^ ~}~%")
(lists (lists
(concatenate 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)) (let* ((opts (parse-options))
(update? (assoc-ref opts 'update?)) (update? (assoc-ref opts 'update?))
(updaters (options->updaters opts)) (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 ;; Warn about missing updaters when a package is explicitly given on
;; the command line. ;; the command line.
(warn? (or (assoc-ref opts 'argument) (warn? (and (or (assoc-ref opts 'argument)
(assoc-ref opts 'expression))) (assoc-ref opts 'expression)
(args-packages (assoc-ref opts 'manifest))
(match (filter-map (match-lambda (not recursive?))))
(('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)))))
(with-error-handling (with-error-handling
(with-store store (with-store store
(run-with-store store (run-with-store store
(cond (mlet %store-monad ((packages (options->packages opts)))
(list-dependent? (cond
(list-dependents packages)) (list-dependent?
(list-transitive? (list-dependents packages))
(list-transitive packages)) (list-transitive?
(recursive? (list-transitive packages))
(refresh-recursive packages)) (update?
(update? (parameterize ((%openpgp-key-server
(parameterize ((%openpgp-key-server (or (assoc-ref opts 'key-server)
(or (assoc-ref opts 'key-server) (%openpgp-key-server)))
(%openpgp-key-server))) (%gpg-command
(%gpg-command (or (assoc-ref opts 'gpg-command)
(or (assoc-ref opts 'gpg-command) (%gpg-command)))
(%gpg-command))) (current-keyring
(current-keyring (or (assoc-ref opts 'keyring)
(or (assoc-ref opts 'keyring) (string-append (config-directory)
(string-append (config-directory) "/upstream/trustedkeys.kbx"))))
"/upstream/trustedkeys.kbx")))) (for-each
(for-each (cut update-package store <> updaters
(cut update-package store <> updaters #:key-download key-download
#:key-download key-download #:warn? warn?)
#:warn? warn?) packages)
packages) (return #t)))
(with-monad %store-monad (else
(return #t)))) (for-each (cut check-for-package-update <> updaters
(else #:warn? warn?)
(for-each (cut check-for-package-update <> updaters packages)
#:warn? warn?)
packages)
(with-monad %store-monad
(return #t))))))))) (return #t)))))))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2014 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;; ;;;
@ -219,7 +219,7 @@ provide."
(set! port (guix:open-connection-for-uri (set! port (guix:open-connection-for-uri
uri #:verify-certificate? #f)) uri #:verify-certificate? #f))
(unless (or buffered? (not (file-port? port))) (unless (or buffered? (not (file-port? port)))
(setvbuf port _IONBF))) (setvbuf port 'none)))
(http-fetch uri #:text? #f #:port port (http-fetch uri #:text? #f #:port port
#:verify-certificate? #f)))))) #:verify-certificate? #f))))))
(else (else
@ -567,7 +567,7 @@ initial connection on which HTTP requests are sent."
verify-certificate?)))) verify-certificate?))))
;; For HTTPS, P is not a file port and does not support 'setvbuf'. ;; For HTTPS, P is not a file port and does not support 'setvbuf'.
(when (file-port? p) (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. ;; Send REQUESTS, up to a certain number, in a row.
;; XXX: Do our own caching to work around inefficiencies when ;; XXX: Do our own caching to work around inefficiencies when

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@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")) --full-boot for 'vm', make a full boot sequence"))
(display (G_ " (display (G_ "
--skip-checks skip file system and initrd module safety checks")) --skip-checks skip file system and initrd module safety checks"))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(newline) (newline)
(display (G_ " (display (G_ "
-h, --help display this help and exit")) -h, --help display this help and exit"))
@ -1074,6 +1076,11 @@ Some ACTIONS support additional ARGS.\n"))
(option '(#\n "dry-run") #f #f (option '(#\n "dry-run") #f #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'dry-run? #t (alist-cons 'graft? #f 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 (option '(#\s "system") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'system arg (alist-cons 'system arg
@ -1092,7 +1099,8 @@ Some ACTIONS support additional ARGS.\n"))
(print-extended-build-trace? . #t) (print-extended-build-trace? . #t)
(multiplexed-build-output? . #t) (multiplexed-build-output? . #t)
(graft? . #t) (graft? . #t)
(verbosity . 0) (debug . 0)
(verbosity . #f) ;default
(file-system-type . "ext4") (file-system-type . "ext4")
(image-size . guess) (image-size . guess)
(install-bootloader? . #t))) (install-bootloader? . #t)))
@ -1267,9 +1275,9 @@ argument list and OPTS is the option alist."
(args (option-arguments opts)) (args (option-arguments opts))
(command (assoc-ref opts 'action))) (command (assoc-ref opts 'action)))
(parameterize ((%graft? (assoc-ref opts 'graft?))) (parameterize ((%graft? (assoc-ref opts 'graft?)))
(with-status-report (if (memq command '(init reconfigure)) (with-status-verbosity (or (assoc-ref opts 'verbosity)
print-build-event/quiet (if (memq command '(init reconfigure))
print-build-event) 1 2))
(process-command command args opts)))))) (process-command command args opts))))))
;;; Local Variables: ;;; Local Variables:

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -31,6 +31,7 @@
#:use-module ((guix build compile) #:select (%lightweight-optimizations)) #:use-module ((guix build compile) #:select (%lightweight-optimizations))
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:export (make-config.scm #:export (make-config.scm
whole-package ;for internal use in 'guix pull' whole-package ;for internal use in 'guix pull'
@ -43,35 +44,6 @@
;;; Dependency handling. ;;; 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 (define specification->package
;; Use our own variant of that procedure because that of (gnu packages) ;; Use our own variant of that procedure because that of (gnu packages)
;; would traverse all the .scm files, which is wasteful. ;; 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)) ("gzip" (ref '(gnu packages compression) 'gzip))
("bzip2" (ref '(gnu packages compression) 'bzip2)) ("bzip2" (ref '(gnu packages compression) 'bzip2))
("xz" (ref '(gnu packages compression) 'xz)) ("xz" (ref '(gnu packages compression) 'xz))
("guile2.0-json" (ref '(gnu packages guile) 'guile2.0-json)) (_ #f)))) ;no such package
("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
;;; ;;;
@ -528,7 +495,7 @@ Info manual."
(pull-version 1) (pull-version 1)
(name (string-append "guix-" version)) (name (string-append "guix-" version))
(guile-version (effective-version)) (guile-version (effective-version))
(guile-for-build (guile-for-build guile-version)) (guile-for-build (default-guile))
(zlib (specification->package "zlib")) (zlib (specification->package "zlib"))
(gzip (specification->package "gzip")) (gzip (specification->package "gzip"))
(bzip2 (specification->package "bzip2")) (bzip2 (specification->package "bzip2"))
@ -536,32 +503,22 @@ Info manual."
(guix (specification->package "guix"))) (guix (specification->package "guix")))
"Return a file-like object that contains a compiled Guix." "Return a file-like object that contains a compiled Guix."
(define guile-json (define guile-json
(package-for-guile guile-version (specification->package "guile-json"))
"guile-json"
"guile2.0-json"))
(define guile-ssh (define guile-ssh
(package-for-guile guile-version (specification->package "guile-ssh"))
"guile-ssh"
"guile2.0-ssh"))
(define guile-git (define guile-git
(package-for-guile guile-version (specification->package "guile-git"))
"guile-git"
"guile2.0-git"))
(define guile-sqlite3 (define guile-sqlite3
(package-for-guile guile-version (specification->package "guile-sqlite3"))
"guile-sqlite3"
"guile2.0-sqlite3"))
(define guile-gcrypt (define guile-gcrypt
(package-for-guile guile-version (specification->package "guile-gcrypt"))
"guile-gcrypt"))
(define gnutls (define gnutls
(package-for-guile guile-version (specification->package "gnutls"))
"gnutls" "guile2.0-gnutls"))
(define dependencies (define dependencies
(match (append-map (lambda (package) (match (append-map (lambda (package)
@ -904,8 +861,8 @@ containing MODULE-FILES and possibly other files as well."
#:report-load report-load #:report-load report-load
#:report-compilation report-compilation))) #:report-compilation report-compilation)))
(setvbuf (current-output-port) _IONBF) (setvbuf (current-output-port) 'none)
(setvbuf (current-error-port) _IONBF) (setvbuf (current-error-port) 'none)
(set! %load-path (cons #+module-tree %load-path)) (set! %load-path (cons #+module-tree %load-path))
(set! %load-path (set! %load-path
@ -950,21 +907,6 @@ containing MODULE-FILES and possibly other files as well."
;;; Building. ;;; 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 (define* (guix-derivation source version
#:optional (guile-version (effective-version)) #:optional (guile-version (effective-version))
#:key (pull-version 0)) #:key (pull-version 0))
@ -981,9 +923,16 @@ is not supported."
(define guile (define guile
;; When PULL-VERSION >= 1, produce a self-contained Guix and use Guile 2.2 ;; When PULL-VERSION >= 1, produce a self-contained Guix and use Guile 2.2
;; unconditionally. ;; unconditionally.
(guile-for-build (if (>= pull-version 1) (default-guile))
"2.2"
guile-version))) (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 (mbegin %store-monad
(set-guile-for-build guile) (set-guile-for-build guile)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -140,12 +140,12 @@ right away."
(match (select read write except) (match (select read write except)
((read write except) ((read write except)
(select read write except 0)))))) (select read write except 0))))))
(setvbuf stdout _IONBF) (setvbuf stdout 'none)
;; Use buffered ports so that 'get-bytevector-some' returns up to the ;; Use buffered ports so that 'get-bytevector-some' returns up to the
;; whole buffer like read(2) would--see <https://bugs.gnu.org/30066>. ;; whole buffer like read(2) would--see <https://bugs.gnu.org/30066>.
(setvbuf stdin _IOFBF 65536) (setvbuf stdin 'block 65536)
(setvbuf sock _IOFBF 65536) (setvbuf sock 'block 65536)
(connect sock AF_UNIX ,socket-name) (connect sock AF_UNIX ,socket-name)
@ -218,7 +218,7 @@ can be written."
(consume-input (current-input-port)) (consume-input (current-input-port))
(list 'protocol-error (nix-protocol-error-message c)))) (list 'protocol-error (nix-protocol-error-message c))))
(with-store store (with-store store
(setvbuf (current-input-port) _IONBF) (setvbuf (current-input-port) 'none)
(import-paths store (current-input-port)) (import-paths store (current-input-port))
'(success)))) '(success))))
(lambda args (lambda args
@ -269,7 +269,7 @@ be read. When RECURSIVE? is true, the closure of FILES is exported."
(write '(exporting)) ;we're ready (write '(exporting)) ;we're ready
(force-output) (force-output)
(setvbuf (current-output-port) _IONBF) (setvbuf (current-output-port) 'none)
(export-paths store files (current-output-port) (export-paths store files (current-output-port)
#:recursive? ,recursive?)))))) #:recursive? ,recursive?))))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -63,7 +63,8 @@
print-build-event/quiet print-build-event/quiet
print-build-status print-build-status
with-status-report)) with-status-report
with-status-verbosity))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -636,9 +637,7 @@ The second return value is a thunk to retrieve the current state."
;; The build port actually receives Unicode strings. ;; The build port actually receives Unicode strings.
(set-port-encoding! port "UTF-8") (set-port-encoding! port "UTF-8")
(cond-expand (setvbuf port 'line)
((and guile-2 (not guile-2.2)) #t)
(else (setvbuf port 'line)))
(values port (lambda () %state))) (values port (lambda () %state)))
(define (call-with-status-report on-event thunk) (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; "Set up build status reporting to the user using the ON-EVENT procedure;
evaluate EXP... in that context." evaluate EXP... in that context."
(call-with-status-report on-event (lambda () exp ...))) (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 ...)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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> ;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -404,11 +404,6 @@
(define (open-inet-socket host port) (define (open-inet-socket host port)
"Connect to the Unix-domain socket at HOST:PORT and return it. Raise a "Connect to the Unix-domain socket at HOST:PORT and return it. Raise a
'&nix-connection-error' upon error." '&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)) (let ((sock (with-fluids ((%default-port-encoding #f))
;; This trick allows use of the `scm_c_read' optimization. ;; This trick allows use of the `scm_c_read' optimization.
(socket PF_UNIX SOCK_STREAM 0)))) (socket PF_UNIX SOCK_STREAM 0))))
@ -613,7 +608,7 @@ to OUT, using chunks of BUFFER-SIZE bytes."
(define %newlines (define %newlines
;; Newline characters triggering a flush of 'current-build-output-port'. ;; 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. ;; that use that trick are correctly displayed.
(char-set #\newline #\return)) (char-set #\newline #\return))

View File

@ -427,11 +427,6 @@ report them in a user-friendly way."
(lambda _ (lambda _
(setlocale LC_ALL "")) (setlocale LC_ALL ""))
(lambda args (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 (display-hint (G_ "Consider installing the @code{glibc-utf8-locales} or
@code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these @code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these
lines: lines:
@ -459,8 +454,8 @@ See the \"Application Setup\" section in the manual, for more info.\n")))))
;; notified via an EPIPE later. ;; notified via an EPIPE later.
(sigaction SIGPIPE SIG_IGN) (sigaction SIGPIPE SIG_IGN)
(setvbuf (current-output-port) _IOLBF) (setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) _IOLBF)) (setvbuf (current-error-port) 'line))
(define* (show-version-and-exit #:optional (command (car (command-line)))) (define* (show-version-and-exit #:optional (command (car (command-line))))
"Display version information for COMMAND and `(exit 0)'." "Display version information for COMMAND and `(exit 0)'."

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -45,6 +46,7 @@
upstream-source-urls upstream-source-urls
upstream-source-signature-urls upstream-source-signature-urls
upstream-source-archive-types upstream-source-archive-types
upstream-source-input-changes
url-prefix-predicate url-prefix-predicate
coalesce-sources coalesce-sources
@ -56,6 +58,12 @@
upstream-updater-predicate upstream-updater-predicate
upstream-updater-latest upstream-updater-latest
upstream-input-change?
upstream-input-change-name
upstream-input-change-type
upstream-input-change-action
changed-inputs
%updaters %updaters
lookup-updater lookup-updater
@ -82,7 +90,73 @@
(version upstream-source-version) ;string (version upstream-source-version) ;string
(urls upstream-source-urls) ;list of strings (urls upstream-source-urls) ;list of strings
(signature-urls upstream-source-signature-urls ;#f | 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) (define (url-prefix-predicate prefix)
"Return a predicate that returns true when passed a package where one of its "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 (define* (package-update store package updaters
#:key (key-download 'interactive)) #:key (key-download 'interactive))
"Return the new version and the file name of the new version tarball for "Return the new version, the file name of the new version tarball, and input
PACKAGE, or #f and #f when PACKAGE is up-to-date. KEY-DOWNLOAD specifies a changes for PACKAGE; return #f (three values) when PACKAGE is up-to-date.
download policy for missing OpenPGP keys; allowed values: 'always', 'never', KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed
and 'interactive' (default)." values: 'always', 'never', and 'interactive' (default)."
(match (package-latest-release* package updaters) (match (package-latest-release* package updaters)
(($ <upstream-source> _ version urls signature-urls) (($ <upstream-source> _ version urls signature-urls changes)
(let*-values (((name) (let*-values (((name)
(package-name package)) (package-name package))
((archive-type) ((archive-type)
@ -299,9 +373,9 @@ and 'interactive' (default)."
(or signature-urls (circular-list #f))))) (or signature-urls (circular-list #f)))))
(let ((tarball (download-tarball store url signature-url (let ((tarball (download-tarball store url signature-url
#:key-download key-download))) #:key-download key-download)))
(values version tarball)))) (values version tarball changes))))
(#f (#f
(values #f #f)))) (values #f #f #f))))
(define (update-package-source package version hash) (define (update-package-source package version hash)
"Modify the source file that defines PACKAGE to refer to VERSION, "Modify the source file that defines PACKAGE to refer to VERSION,

View File

@ -45,4 +45,5 @@ guix/nar.scm
guix/channels.scm guix/channels.scm
guix/profiles.scm guix/profiles.scm
guix/git.scm guix/git.scm
guix/deprecation.scm
nix/nix-daemon/guix-daemon.cc nix/nix-daemon/guix-daemon.cc

Some files were not shown because too many files have changed in this diff Show More