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-substitute 'scheme-indent-function 2))
(eval . (put 'with-status-report 'scheme-indent-function 1))
(eval . (put 'with-status-verbosity 'scheme-indent-function 1))
(eval . (put 'mlambda 'scheme-indent-function 1))
(eval . (put 'mlambdaq 'scheme-indent-function 1))

View file

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

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:
- [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.13 or later
- [[https://gnu.org/software/guile/][GNU Guile 2.2.x]]
- [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later
- [[https://www.gnu.org/software/make/][GNU Make]]
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -64,7 +64,7 @@ (define tests
(length tests))
(with-store store
(with-status-report print-build-event
(with-status-verbosity 2
(run-with-store store
(mlet* %store-monad ((drv (mapm %store-monad system-test-value tests))
(out -> (map derivation->output-path drv)))

View file

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

View file

@ -17,7 +17,7 @@
@set SUBSTITUTE-SERVER ci.guix.info
@copying
Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès@*
Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@*
Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@*
Copyright @copyright{} 2013 Nikita Karetnikov@*
Copyright @copyright{} 2014, 2015, 2016 Alex Kost@*
@ -645,8 +645,7 @@ GNU Guix is available for download from its website at
GNU Guix depends on the following packages:
@itemize
@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or
later, including 2.2.x;
@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.2.x;
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 or later;
@item
@ -2102,10 +2101,6 @@ By default, @command{guix package} reports as an error @dfn{collisions}
in the profile. Collisions happen when two or more different versions
or variants of a given package end up in the profile.
@item --verbose
Produce verbose output. In particular, emit the build log of the
environment on the standard error port.
@item --bootstrap
Use the bootstrap Guile to build the profile. This option is only
useful to distribution developers.
@ -6364,10 +6359,15 @@ Likewise, when the build or substitution process lasts for more than
By default, the daemon's setting is honored (@pxref{Invoking
guix-daemon, @code{--timeout}}).
@item --verbosity=@var{level}
Use the given verbosity level. @var{level} must be an integer between 0
and 5; higher means more verbose output. Setting a level of 4 or more
may be helpful when debugging setup issues with the build daemon.
@c Note: This option is actually not part of %standard-build-options but
@c most programs honor it.
@cindex verbosity, of the command-line tools
@cindex build logs, verbosity
@item -v @var{level}
@itemx --verbosity=@var{level}
Use the given verbosity @var{level}, an integer. Choosing 0 means that no
output is produced, 1 is for quiet output, and 2 shows all the build log
output on standard error.
@item --cores=@var{n}
@itemx -c @var{n}
@ -6380,6 +6380,11 @@ Allow at most @var{n} build jobs in parallel. @xref{Invoking
guix-daemon, @code{--max-jobs}}, for details about this option and the
equivalent @command{guix-daemon} option.
@item --debug=@var{level}
Produce debugging output coming from the build daemon. @var{level} must be an
integer between 0 and 5; higher means more verbose output. Setting a level of
4 or more may be helpful when debugging setup issues with the build daemon.
@end table
Behind the scenes, @command{guix build} is essentially an interface to
@ -6548,9 +6553,9 @@ build}.
@item --quiet
@itemx -q
Build quietly, without displaying the build log. Upon completion, the
build log is kept in @file{/var} (or similar) and can always be
retrieved using the @option{--log-file} option.
Build quietly, without displaying the build log; this is equivalent to
@code{--verbosity=0}. Upon completion, the build log is kept in @file{/var}
(or similar) and can always be retrieved using the @option{--log-file} option.
@item --file=@var{file}
@itemx -f @var{file}
@ -11685,9 +11690,11 @@ gexps to introduce job definitions that are passed to mcron
(operating-system
;; @dots{}
(services (cons (mcron-service (list garbage-collector-job
updatedb-job
idutils-job))
(services (cons (service mcron-service-type
(mcron-configuration
(jobs (list garbage-collector-job
updatedb-job
idutils-job))))
%base-services)))
@end lisp
@ -11710,17 +11717,6 @@ also specify the number of tasks to display:
# herd schedule mcron 10
@end example
@deffn {Scheme Procedure} mcron-service @var{jobs} [#:mcron @var{mcron}]
Return an mcron service running @var{mcron} that schedules @var{jobs}, a
list of gexps denoting mcron job specifications.
This is a shorthand for:
@example
(service mcron-service-type
(mcron-configuration (mcron mcron) (jobs jobs)))
@end example
@end deffn
@defvr {Scheme Variable} mcron-service-type
This is the type of the @code{mcron} service, whose value is an
@code{mcron-configuration} object.
@ -12314,12 +12310,6 @@ Tor} anonymous networking daemon. The service is configured using a
@end defvr
@deffn {Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}]
This procedure is deprecated and will be removed in a future release. Return
a service of the @code{tor-service-type} type. @var{config-file} and
@var{tor} have the same meaning as in @code{<tor-configuration>}.
@end deffn
@deftp {Data Type} tor-configuration
@table @asis
@item @code{tor} (default: @code{tor})
@ -22155,6 +22145,33 @@ The following is an example @code{dicod-service} configuration.
%dicod-database:gcide))))
@end example
@cindex Docker
@subsubheading Docker Service
The @code{(gnu services docker)} module provides the following service.
@defvr {Scheme Variable} docker-service-type
This is the type of the service that runs @url{http://www.docker.com,Docker},
a daemon that can execute application bundles (sometimes referred to as
``containers'') in isolated environments.
@end defvr
@deftp {Data Type} docker-configuration
This is the data type representing the configuration of Docker and Containerd.
@table @asis
@item @code{package} (default: @code{docker})
The Docker package to use.
@item @code{containerd} (default: @var{containerd})
The Containerd package to use.
@end table
@end deftp
@node Setuid Programs
@subsection Setuid Programs

View file

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

View file

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

View file

@ -64,7 +64,7 @@ (define-public nasm
(add-after 'install 'install-info
(lambda _
(invoke "make" "install_doc"))))))
(home-page "http://www.nasm.us/")
(home-page "https://www.nasm.us/")
(synopsis "80x86 and x86-64 assembler")
(description
"NASM, the Netwide Assembler, is an 80x86 and x86-64 assembler designed
@ -74,7 +74,7 @@ (define-public nasm
is designed to be simple and easy to understand, similar to Intel's but less
complex. It supports all currently known x86 architectural extensions, and
has strong support for macros.")
(license license:bsd-3)))
(license license:bsd-2)))
(define-public yasm
(package
@ -140,18 +140,17 @@ (define-public fasm
"02wqkqxpn3p0iwcagsm92qd9cdfcnbx8a09qg03b3pjppp30hmp6"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;;no tests
#:strip-binaries? #f ;; fasm has no sections
`(#:tests? #f ; No tests exist
#:strip-binaries? #f ; fasm has no sections
#:phases
(modify-phases %standard-phases
(delete 'configure) ;;no configure script used
(delete 'configure) ; no "configure" script exists
(replace 'build
(lambda _
;;source code are in this directory
(chdir "source/Linux/")
(if (string=? ,(%current-system) "x86_64-linux")
;;use pre-compiled binaries in top-level directory to build
;;itself
;; Use pre-compiled binaries in top-level directory to build
;; fasm.
(invoke "../../fasm.x64" "fasm.asm")
(invoke "../../fasm" "fasm.asm"))))
(replace 'install
@ -159,12 +158,48 @@ (define-public fasm
(let ((out (assoc-ref %outputs "out")))
(install-file "fasm" (string-append out "/bin")))
#t)))))
;;support only intel x86 family processors
(supported-systems '("x86_64-linux" "i686-linux"))
(synopsis "Assembler for x86 processors")
(description
"FASM is a assembler that supports x86, and IA-64 Intel architectures.
It does multiple passes to optimize machine code.It have macro abilities and
focus on operating system portability.")
"FASM is an assembler that supports x86 and IA-64 Intel architectures.
It does multiple passes to optimize machine code. It has macro abilities and
focuses on operating system portability.")
(home-page "https://flatassembler.net/")
(license license:bsd-2)))
(define-public dev86
(package
(name "dev86")
(version "0.16.21")
(source (origin
(method url-fetch)
(uri (string-append "http://v3.sk/~lkundrak/dev86/Dev86src-"
version ".tar.gz"))
(sha256
(base32
"154dyr2ph4n0kwi8yx0n78j128kw29rk9r9f7s2gddzrdl712jr3"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; They use submakes wrong
#:make-flags (list "CC=gcc"
(string-append "PREFIX="
(assoc-ref %outputs "out")))
#:system "i686-linux" ; Standalone ld86 had problems otherwise
#:tests? #f ; No tests exist
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'install 'mkdir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/man/man1"))
#t))))))
(synopsis "Intel 8086 (primarily 16-bit) assembler, C compiler and
linker")
(description "This package provides a Intel 8086 (primarily 16-bit)
assembler, a C compiler and a linker. The assembler uses Intel syntax
(also Intel order of operands).")
(home-page "https://github.com/jbruchon/dev86")
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:gpl2+)))

View file

@ -131,7 +131,7 @@ (define-public gnuastro
(define-public stellarium
(package
(name "stellarium")
(version "0.18.1")
(version "0.18.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Stellarium/" name
@ -139,7 +139,7 @@ (define-public stellarium
"/" name "-" version ".tar.gz"))
(sha256
(base32
"0vjkwrjy22b4wdjkafm63pmb0fck14ffnylpq8xr91ywycw4blrq"))))
"1mm8rjcb8j56m3kfigpix5vxviw1616kvl9ws2s3s5gdyngljrc3"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -161,6 +161,13 @@ (define-public stellarium
(assoc-ref %build-inputs "qtserialport")
"/include/qt5"))
#:phases (modify-phases %standard-phases
;; Skip a test that assumes Stellarium is "installed":
;; https://bugs.gentoo.org/674472
(add-after 'unpack 'patch-tests
(lambda _
(substitute* "src/tests/testEphemeris.cpp"
(("ifndef Q_OS_WIN") "if 0"))
#t))
(add-before 'check 'set-offscreen-display
(lambda _
;; make Qt render "offscreen", required for tests

View file

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

View file

@ -94,7 +94,8 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_PSI is not set
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_CPU_ISOLATION=y
#

View file

@ -86,7 +86,8 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_PSI is not set
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_CPU_ISOLATION=y
#

View file

@ -99,7 +99,8 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_PSI is not set
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_CPU_ISOLATION=y
#

View file

@ -101,7 +101,8 @@ CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_PSI is not set
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_CPU_ISOLATION=y
#

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@ -197,6 +197,36 @@ (define-public r-genelendatabase
genomes and gene ID formats, largely based on the UCSC table browser.")
(license license:lgpl2.0+)))
(define-public r-txdb-mmusculus-ucsc-mm9-knowngene
(package
(name "r-txdb-mmusculus-ucsc-mm9-knowngene")
(version "3.2.2")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
;; located under "data/annotation/" instead of "bioc/".
(uri (string-append "https://bioconductor.org/packages/"
"release/data/annotation/src/contrib"
"/TxDb.Mmusculus.UCSC.mm9.knownGene_"
version ".tar.gz"))
(sha256
(base32
"16bjxy00363hf91ik2mqlqls86i07gia72qh92xc3l1ncch61mx2"))))
(properties
`((upstream-name . "TxDb.Mmusculus.UCSC.mm9.knownGene")))
(build-system r-build-system)
(propagated-inputs
`(("r-genomicfeatures" ,r-genomicfeatures)
("r-annotationdbi" ,r-annotationdbi)))
(home-page
"https://bioconductor.org/packages/TxDb.Mmusculus.UCSC.mm9.knownGene/")
(synopsis "Annotation package for mouse genome in TxDb format")
(description
"This package provides an annotation database of Mouse genome data. It
is derived from the UCSC mm9 genome and based on the \"knownGene\" track. The
database is exposed as a @code{TxDb} object.")
(license license:artistic2.0)))
(define-public r-hpar
(package
@ -411,14 +441,14 @@ (define-public r-codedepends
(define-public r-chippeakanno
(package
(name "r-chippeakanno")
(version "3.16.0")
(version "3.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256
(base32
"09fhh1355diip3v3c0skmp1336vclipkm5nv02qvp5902v4262y3"))))
"1x98d8iwrxjwdz1s5cnvi6flynw9gdkmara9gwf205qxgmy7j3a3"))))
(properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system)
(propagated-inputs
@ -778,14 +808,14 @@ (define-public r-ctc
(define-public r-goseq
(package
(name "r-goseq")
(version "1.34.0")
(version "1.34.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "goseq" version))
(sha256
(base32
"1401x0jn5f8hqc12r3gd1wammp1nxir3is1k5ldd03ln97x00i7a"))))
"1j87j98cajcjqabv6rb6zmcqxsqxxhbb3w60w1iink4rhsh8m3mn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -804,14 +834,14 @@ (define-public r-goseq
(define-public r-glimma
(package
(name "r-glimma")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Glimma" version))
(sha256
(base32
"0cbsi6g8k1whkh21jxfn22sj7wry2g3rshiracf5nyvrl2fnl947"))))
"1ihrww55sa7ipi1rpp0rmn081sbqdwdmm5mz30zfrjr1xxqcdbcv"))))
(properties `((upstream-name . "Glimma")))
(build-system r-build-system)
(propagated-inputs
@ -831,14 +861,14 @@ (define-public r-glimma
(define-public r-rots
(package
(name "r-rots")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ROTS" version))
(sha256
(base32
"137c06g5w7mjw3b1mly7b7n9iix4fcy23c7a9ym9iz8dazwhzwn5"))))
"1d5ggkk47xybcaizfy756qimbf2falg9cld46mhqjp3xfbfvzsg6"))))
(properties `((upstream-name . "ROTS")))
(build-system r-build-system)
(propagated-inputs
@ -852,33 +882,64 @@ (define-public r-rots
in omics data.")
(license license:gpl2+)))
(define-public r-plgem
(package
(name "r-plgem")
(version "1.54.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "plgem" version))
(sha256
(base32
"1330635db3p8xm5y8fwrk1l37r6bgypsq70s3rx954i775zp6szg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-mass" ,r-mass)))
(home-page "http://www.genopolis.it")
(synopsis "Detect differential expression in microarray and proteomics datasets")
(description
"The Power Law Global Error Model (PLGEM) has been shown to faithfully
model the variance-versus-mean dependence that exists in a variety of
genome-wide datasets, including microarray and proteomics data. The use of
PLGEM has been shown to improve the detection of differentially expressed
genes or proteins in these datasets.")
(license license:gpl2)))
(define-public r-inspect
(package
(name "r-inspect")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "INSPEcT" version))
(sha256
(base32
"0b671x5v2wyq5np2flq2m1fnjz32f303yjlw64a1inwc9k2w2pz2"))))
"07q5msw9rnamx957mbiawnv3p9kr5ahwawzvv9xzla7d3lkk62xp"))))
(properties `((upstream-name . "INSPEcT")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-deseq2" ,r-deseq2)
("r-desolve" ,r-desolve)
("r-genomicalignments" ,r-genomicalignments)
("r-genomicfeatures" ,r-genomicfeatures)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-plgem" ,r-plgem)
("r-preprocesscore" ,r-preprocesscore)
("r-proc" ,r-proc)
("r-rootsolve" ,r-rootsolve)
("r-rsamtools" ,r-rsamtools)
("r-s4vectors" ,r-s4vectors)))
("r-s4vectors" ,r-s4vectors)
("r-shiny" ,r-shiny)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-txdb-mmusculus-ucsc-mm9-knowngene"
,r-txdb-mmusculus-ucsc-mm9-knowngene)))
(home-page "https://bioconductor.org/packages/INSPEcT")
(synopsis "Analysis of 4sU-seq and RNA-seq time-course data")
(description
@ -918,14 +979,14 @@ (define-public r-dnabarcodes
(define-public r-ruvseq
(package
(name "r-ruvseq")
(version "1.16.0")
(version "1.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RUVSeq" version))
(sha256
(base32
"0xb3bj3n06cb9xddkv77a8svhg4fl1azlfmibwrm9mq9464kgf0m"))))
"0qk7q3ab7k133divfkp54zsmvsmb9p8r09pkh2caswrzrn8achzv"))))
(properties `((upstream-name . "RUVSeq")))
(build-system r-build-system)
(propagated-inputs

View file

@ -78,6 +78,7 @@ (define-module (gnu packages bioinformatics)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
#:use-module (gnu packages java-compression)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages dlang)
#:use-module (gnu packages linux)
@ -6472,14 +6473,14 @@ (define-public r-genefilter
(define-public r-deseq2
(package
(name "r-deseq2")
(version "1.22.1")
(version "1.22.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DESeq2" version))
(sha256
(base32
"1b2bmvcsfzvks47d7w46zplcwz0kgcdhx5xmx3x9lp2gvx2p84r5"))))
"0n5ah84mxn87p45drzy0wh2yknmzj1q5i6gv0v9vgg1lj7awb91r"))))
(properties `((upstream-name . "DESeq2")))
(build-system r-build-system)
(propagated-inputs
@ -6509,14 +6510,14 @@ (define-public r-deseq2
(define-public r-dexseq
(package
(name "r-dexseq")
(version "1.28.0")
(version "1.28.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DEXSeq" version))
(sha256
(base32
"0jh1640cnzpk8x3155cqc8dvrs1rciw3d6nv2k70baw96bhrynp8"))))
"0g5w9bn2nb3m670hkcsnhfvvkza2318z9irlhhwhb3n8rdzlsdym"))))
(properties `((upstream-name . "DEXSeq")))
(build-system r-build-system)
(propagated-inputs
@ -6582,14 +6583,14 @@ (define-public r-annotationforge
(define-public r-rbgl
(package
(name "r-rbgl")
(version "1.58.0")
(version "1.58.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RBGL" version))
(sha256
(base32
"0jy95m38c4qp0a12097hhm2gg63k96k6ydhb11dy379h3ziapcar"))))
"1l5x2icv9di1lr3gqfi0vjnyd9xc3l77yc42ippqd4cadj3d1pzf"))))
(properties `((upstream-name . "RBGL")))
(build-system r-build-system)
(propagated-inputs `(("r-graph" ,r-graph)))
@ -6734,14 +6735,14 @@ (define-public r-shortread
(define-public r-systempiper
(package
(name "r-systempiper")
(version "1.16.0")
(version "1.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "systemPipeR" version))
(sha256
(base32
"0l26q8zjdmzg84g7f25gv9z60sykybahlpg5bg9bmpbg5lzcsx04"))))
"0qzydz87rld2nhwzbfgrw5jfgh8maa9y54mjx9c4285m11qj2shq"))))
(properties `((upstream-name . "systemPipeR")))
(build-system r-build-system)
(propagated-inputs
@ -7133,13 +7134,13 @@ (define-public r-biocinstaller
(define-public r-biocviews
(package
(name "r-biocviews")
(version "1.50.5")
(version "1.50.10")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biocViews" version))
(sha256
(base32
"0rc1n89n04ylvy9gvsgvizcs77bh70jg1nkjjsjs7rqbr3zzdysz"))))
"06ms82pyc5rxbd9crfvqjxcwpafv0c627i83v80d12925mrc51h8"))))
(properties
`((upstream-name . "biocViews")))
(build-system r-build-system)
@ -7160,13 +7161,13 @@ (define-public r-biocviews
(define-public r-bookdown
(package
(name "r-bookdown")
(version "0.7")
(version "0.9")
(source (origin
(method url-fetch)
(uri (cran-uri "bookdown" version))
(sha256
(base32
"1b3fw1f41zph5yw3kynb47aijq53vhaa6mnnvxly72zamyzdf95q"))))
"0vg1s1w0l9pm95asqb21yf39mfk1nc9rdhmlys9xwr7p7i7rsz32"))))
(build-system r-build-system)
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
@ -7434,13 +7435,13 @@ (define-public r-genomeinfodb
(define-public r-edger
(package
(name "r-edger")
(version "3.24.0")
(version "3.24.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "edgeR" version))
(sha256
(base32
"0ihihgzrgb4q3xc8xkzp1v76ndgihrj4gas00fa25vggfs1v6hvg"))))
"15yimsbsxmxhlsfmgw5j7fd8qn08zz4xqxrir1c6n2dc103y22xg"))))
(properties `((upstream-name . "edgeR")))
(build-system r-build-system)
(propagated-inputs
@ -7462,13 +7463,13 @@ (define-public r-edger
(define-public r-variantannotation
(package
(name "r-variantannotation")
(version "1.28.1")
(version "1.28.8")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "VariantAnnotation" version))
(sha256
(base32
"0gvah258mkaafhbna81zwknx8qr3lidbcx5qvwk39q3yswr9mi49"))))
"0gf36lr9xy3zmcc4rxs5bi2ccrrc7b6wqp6p3cvnclgif4i0l66k"))))
(properties
`((upstream-name . "VariantAnnotation")))
(inputs
@ -7500,13 +7501,13 @@ (define-public r-variantannotation
(define-public r-limma
(package
(name "r-limma")
(version "3.38.2")
(version "3.38.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
"1wkh362rmn24q7bkinb6nx62a31wl3r3myg5l326gx65wpwdnx97"))))
"08va8jggmv61wym955mnb1n31mgikrmjys7dl1kp5hp3yia8jg7l"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
@ -7666,13 +7667,13 @@ (define-public r-biomart
(define-public r-biocparallel
(package
(name "r-biocparallel")
(version "1.16.0")
(version "1.16.5")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocParallel" version))
(sha256
(base32
"0g16cy0vjapqkb188z63r1b6y96m9g8vx0a3v2qavzxc177k0cja"))))
"1164dk0fajb2vrkfpcjs11055qf1cs4vvbnq0aqdaaf2p4lyx41l"))))
(properties
`((upstream-name . "BiocParallel")))
(build-system r-build-system)
@ -7691,13 +7692,13 @@ (define-public r-biocparallel
(define-public r-biostrings
(package
(name "r-biostrings")
(version "2.50.1")
(version "2.50.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Biostrings" version))
(sha256
(base32
"1qyv1ps7vy6gy78pm2rcikg0bgf1mv7falahjp3pkwqq1272hrl8"))))
"16cqqc8i6gb0jcz0lizfqqxsq7g0yb0ll2s9qzmb45brp07dg8f7"))))
(properties
`((upstream-name . "Biostrings")))
(build-system r-build-system)
@ -7823,13 +7824,13 @@ (define-public r-summarizedexperiment
(define-public r-genomicalignments
(package
(name "r-genomicalignments")
(version "1.18.0")
(version "1.18.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicAlignments" version))
(sha256
(base32
"0a3zhwripfw2508fvgx3wzqa8nq8vnslg97a911znpwvxh53jl24"))))
"1maslav2r34wjyzh2nlwa862in1ir7i5xk57nw2nlfh5gqy112jd"))))
(properties
`((upstream-name . "GenomicAlignments")))
(build-system r-build-system)
@ -7856,13 +7857,13 @@ (define-public r-genomicalignments
(define-public r-rtracklayer
(package
(name "r-rtracklayer")
(version "1.42.0")
(version "1.42.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rtracklayer" version))
(sha256
(base32
"0a4mhd926w9slkfil5xgngjsfdj024a4w57w2bm3d4r0pj8y5da7"))))
"1ycmcxvgvszvjv75hlmg0i6pq8i7r8720vgmfayb905s9l6j82x6"))))
(build-system r-build-system)
(arguments
`(#:phases
@ -8953,13 +8954,13 @@ (define-public r-gkmsvm
(define-public r-tximport
(package
(name "r-tximport")
(version "1.10.0")
(version "1.10.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "tximport" version))
(sha256
(base32
"0za2js8hqjgz8ria09cglynffj4w9vrzg85nmn1xgpvmc1xk813h"))))
"16wp09dm0cpb4mc00nmglfb8ica7qb4a55vm8ajgzyagbpfdd44l"))))
(build-system r-build-system)
(home-page "https://bioconductor.org/packages/tximport")
(synopsis "Import and summarize transcript-level estimates for gene-level analysis")
@ -8975,13 +8976,13 @@ (define-public r-tximport
(define-public r-rhdf5
(package
(name "r-rhdf5")
(version "2.26.0")
(version "2.26.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rhdf5" version))
(sha256
(base32
"0xmpkfdsmgl79ffffj7cf9fx3zxki2rk0xn25k778kr3s0sbmhis"))))
"10zkw3k13wmvyif417gplyf6rwp2gpkjasw97lhwv2f9i32rry9l"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rhdf5lib" ,r-rhdf5lib)))
@ -9360,14 +9361,14 @@ (define-public r-copyhelper
(define-public r-copywriter
(package
(name "r-copywriter")
(version "2.14.0")
(version "2.14.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "CopywriteR" version))
(sha256
(base32
"0aamxafdk98n7s92jyqs65d6ljpnc2463vanvsw80p44qn6l6awn"))))
"1hbiw0m9hmx4na9v502pxf8y5wvxzr68r4d3fqr2755gxx86qck6"))))
(properties `((upstream-name . "CopywriteR")))
(build-system r-build-system)
(propagated-inputs
@ -9400,13 +9401,13 @@ (define-public r-copywriter
(define-public r-methylkit
(package
(name "r-methylkit")
(version "1.8.0")
(version "1.8.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "methylKit" version))
(sha256
(base32
"0mz6lil1wax931incnw5byx0v9i8ryhwq9mv0nv8s48ai33ch3x6"))))
"1zcfwy7i10aqgnf7r0c41hakb5aai3s3n9y8pc6a98vimz51ly2z"))))
(properties `((upstream-name . "methylKit")))
(build-system r-build-system)
(propagated-inputs
@ -9446,14 +9447,14 @@ (define-public r-methylkit
(define-public r-sva
(package
(name "r-sva")
(version "3.30.0")
(version "3.30.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "sva" version))
(sha256
(base32
"1xf0hlrqjxl0y3x13mrkxghiv39fd9v2g8gq3qzbf1wj7il6bph3"))))
"0czja4c5jxa0g3fspi90nyajqmvzb29my4ykv2wi66h43f5dlwhq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-genefilter" ,r-genefilter)
@ -9476,14 +9477,14 @@ (define-public r-sva
(define-public r-seqminer
(package
(name "r-seqminer")
(version "6.1")
(version "7.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "seqminer" version))
(sha256
(base32
"15yhg4vfc7jg1jnqb3371j00pgbmbyc9l1xx63hq1l3p34lazq2l"))))
"1jydcpkw4rwfp983j83kipvsvr10as9pb49zzn3c2v09k1gh3ymy"))))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
@ -9576,14 +9577,14 @@ (define-public r-protgenerics
(define-public r-mzr
(package
(name "r-mzr")
(version "2.16.0")
(version "2.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mzR" version))
(sha256
(base32
"0li1y6p95ljiva4lvfmql9sipn4dq42sknbh60b36ycjppnf8lj5"))
"0mlwg646k49klxrznckzfv54a9mz6irj42fqpaaa0xjm6cw2lwaa"))
(modules '((guix build utils)))
(snippet
'(begin
@ -9714,14 +9715,14 @@ (define-public r-vsn
(define-public r-mzid
(package
(name "r-mzid")
(version "1.20.0")
(version "1.20.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mzID" version))
(sha256
(base32
"08jbq223viwknsmsi30hyxyxslvmb0l4wx3vmqlkl6qk4vfmxzjz"))))
"15yd4bdxprw3kg7zj2k652y3yr3si781iw28jqvnkm0gsc23rd0c"))))
(properties `((upstream-name . "mzID")))
(build-system r-build-system)
(propagated-inputs
@ -9774,14 +9775,14 @@ (define-public r-pcamethods
(define-public r-msnbase
(package
(name "r-msnbase")
(version "2.8.1")
(version "2.8.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MSnbase" version))
(sha256
(base32
"0y658anh06vnvbkfs7r8q40gqgyqr2r8kj7jlpnp33fy1lvp1nv7"))))
"1kl1d7byphnfpmbl5fzbgs68dxskhpsdyx7ka51bpfn0nv3pp492"))))
(properties `((upstream-name . "MSnbase")))
(build-system r-build-system)
(propagated-inputs
@ -9817,14 +9818,14 @@ (define-public r-msnbase
(define-public r-msnid
(package
(name "r-msnid")
(version "1.16.0")
(version "1.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MSnID" version))
(sha256
(base32
"0hgq4argllhh5hvxqi8vkf1blc3nibsslhx4zsv2mcv4yj75bv4n"))))
"077n6ljcnnl7q4w0qj8v46vm4sjk9vzzfqf7wsc6lz0wmyzqdng3"))))
(properties `((upstream-name . "MSnID")))
(build-system r-build-system)
(propagated-inputs
@ -9946,14 +9947,14 @@ (define-public r-aroma-light
(define-public r-deseq
(package
(name "r-deseq")
(version "1.34.0")
(version "1.34.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DESeq" version))
(sha256
(base32
"1klv1xrh3173srywr6dnq6i7m9djn4gc9aflr1p3a6yjlqcq6fya"))))
"0bpiixczbhlyaiinpbl6xrpmv72k2bq76bxnw06gl35m4pgs94p2"))))
(properties `((upstream-name . "DESeq")))
(build-system r-build-system)
(propagated-inputs
@ -9977,14 +9978,14 @@ (define-public r-deseq
(define-public r-edaseq
(package
(name "r-edaseq")
(version "2.16.0")
(version "2.16.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "EDASeq" version))
(sha256
(base32
"1gjqzn1kg9qwyz2gwjyy9xzzr1lnc7xd5zwdyvzkadz97gckzxwf"))))
"0559ph606ps2g9bwbl0a2knkcs5w581n9igngpjxvk5p56k24gb5"))))
(properties `((upstream-name . "EDASeq")))
(build-system r-build-system)
(propagated-inputs
@ -9992,6 +9993,7 @@ (define-public r-edaseq
("r-aroma-light" ,r-aroma-light)
("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocmanager" ,r-biocmanager)
("r-biomart" ,r-biomart)
("r-biostrings" ,r-biostrings)
("r-deseq" ,r-deseq)
@ -10039,14 +10041,14 @@ (define-public r-interactivedisplaybase
(define-public r-annotationhub
(package
(name "r-annotationhub")
(version "2.14.1")
(version "2.14.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "AnnotationHub" version))
(sha256
(base32
"00288x3na0izpmbcvsqac1br1qwry86vwc2slj1l47crdfb7za6c"))))
"17fgrvcnbii9siv5rq5j09bxhqffx47f6jf10418qvr7hh61ic1g"))))
(properties `((upstream-name . "AnnotationHub")))
(build-system r-build-system)
(propagated-inputs
@ -10128,14 +10130,14 @@ (define-public r-keggrest
(define-public r-gage
(package
(name "r-gage")
(version "2.32.0")
(version "2.32.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "gage" version))
(sha256
(base32
"07b098wvryxf0zd423nk6h52s3gyngwjcx2vplqybpbpgl8h2931"))))
"02g796sb1800ff0f1mq9f2m5wwzpf8pnfzajs49i68dhq2hm01a8"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -10220,14 +10222,14 @@ (define-public r-complexheatmap
(define-public r-dirichletmultinomial
(package
(name "r-dirichletmultinomial")
(version "1.24.0")
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DirichletMultinomial" version))
(sha256
(base32
"19bzn0a5jal1xv0ad6wikxc7wrk582hczqamlln0vb2ffwkj1z3f"))))
"0vazfjzqy78p5g7dnv30lbqbj4bhq4zafd2wh6gdwy2il1fd78xa"))))
(properties
`((upstream-name . "DirichletMultinomial")))
(build-system r-build-system)
@ -10249,14 +10251,14 @@ (define-public r-dirichletmultinomial
(define-public r-ensembldb
(package
(name "r-ensembldb")
(version "2.6.2")
(version "2.6.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ensembldb" version))
(sha256
(base32
"0hdz1f34v7sas2v4225icwl3wd4sf17ykpd5dkbx1hc7wcy4w3np"))))
"0kzdsfk6mdwlp57sw4j2cf7lx5nc67v5j0xr3iag9kzmgikaq1lb"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -10324,14 +10326,14 @@ (define-public r-organismdbi
(define-public r-biovizbase
(package
(name "r-biovizbase")
(version "1.30.0")
(version "1.30.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biovizBase" version))
(sha256
(base32
"0v54mcn3rnnfx8dmcrms5z3rgq19n3hp4r23azlgzwq6hjw7cccx"))))
"0v5gvcx180qn5487i1dph9abadw3ggqwp5yzy41jswzbdc8q6sbm"))))
(properties `((upstream-name . "biovizBase")))
(build-system r-build-system)
(propagated-inputs
@ -10661,14 +10663,14 @@ (define-public r-gqtlstats
(define-public r-gviz
(package
(name "r-gviz")
(version "1.26.0")
(version "1.26.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Gviz" version))
(sha256
(base32
"05zk9hf30afg6rjg97lzn5v8xij90v8zm09y9vcz0asmc3c8xs0a"))))
"0jvcivgw0ahv2rjadxmrww76xambhf7silczmh38nn4yn4qw6w9y"))))
(properties `((upstream-name . "Gviz")))
(build-system r-build-system)
(propagated-inputs
@ -10822,14 +10824,14 @@ (define-public r-hitc
(define-public r-qvalue
(package
(name "r-qvalue")
(version "2.14.0")
(version "2.14.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "qvalue" version))
(sha256
(base32
"03qxshqwwq1rj23p6pjrz08jm3ziikvy9badi4mz2rcwy2nz783a"))))
"0kxavzm1j2mk26qicmjm90nxx4w5h3dxighzks7wzihay3k8cysc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@ -10851,14 +10853,14 @@ (define-public r-qvalue
(define-public r-hdf5array
(package
(name "r-hdf5array")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HDF5Array" version))
(sha256
(base32
"1w7ad8cfsbh5xx82m3l4lc0vbmj9lcsqxxpiy3ana2ycgn1bqv3g"))))
"1qwdsygcadl58qj598hfyvs8hp0hqcl9ghnhknahrlhmb7k2bd2d"))))
(properties `((upstream-name . "HDF5Array")))
(build-system r-build-system)
(propagated-inputs
@ -10877,14 +10879,14 @@ (define-public r-hdf5array
(define-public r-rhdf5lib
(package
(name "r-rhdf5lib")
(version "1.4.0")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rhdf5lib" version))
(sha256
(base32
"01gpz780g850ql20b2ql6pvr678ydk4nq4sn5iiih94a4crb9lz1"))
"06bxd3wz8lrvh2hzvmjpdv4lvzj5lz9353bw5b3zb98cb8w9r2j5"))
(modules '((guix build utils)))
(snippet
'(begin
@ -10977,14 +10979,14 @@ (define-public r-beachmat
(define-public r-singlecellexperiment
(package
(name "r-singlecellexperiment")
(version "1.4.0")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "SingleCellExperiment" version))
(sha256
(base32
"19r4r7djrn46qlijkj1g926vcklxzcrxjlxv6cg43m9j9jgfs3dj"))))
"12139kk9cqgzpm6f3cwdsq31gj5lxamz2q939dy9fa0fa54gdaq4"))))
(properties
`((upstream-name . "SingleCellExperiment")))
(build-system r-build-system)
@ -11004,13 +11006,13 @@ (define-public r-singlecellexperiment
(define-public r-scater
(package
(name "r-scater")
(version "1.10.0")
(version "1.10.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "scater" version))
(sha256
(base32
"1kwa9n70c5j0xcj6nkmlkzjr63cnj78mp8nhg58n07fq1ijm4ns3"))))
"0rijhy7g5qmcn927y1wyd63la1fhyar9fv1hccsqd23jd98yc55a"))))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
@ -11040,14 +11042,14 @@ (define-public r-scater
(define-public r-scran
(package
(name "r-scran")
(version "1.10.1")
(version "1.10.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scran" version))
(sha256
(base32
"1viyzrwfm9vccsf54c6g7k1dn7skkfx4ml1jy12q67wa20sx8l03"))))
"07mgilr3gq3lnrm1fjm9zhz4w7970bjhsykln1drqy9gkzj5sn7g"))))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
@ -14217,12 +14219,7 @@ (define-public jamm
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "JAMM.sh"
(("^sPath=.*")
(string-append "")))
#t))
(delete 'build)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View file

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

View file

@ -45,7 +45,6 @@ (define-module (gnu packages compression)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
@ -59,7 +58,6 @@ (define-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
#:use-module (gnu packages file)
#:use-module (gnu packages java)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
@ -1265,7 +1263,7 @@ (define-public snappy
100% bigger.")
(license license:asl2.0)))
(define bitshuffle-for-snappy
(define-public bitshuffle-for-snappy
(package
(inherit bitshuffle)
(name "bitshuffle-for-snappy")
@ -1302,245 +1300,6 @@ (define bitshuffle-for-snappy
(inputs '())
(native-inputs '())))
(define-public java-snappy
(package
(name "java-snappy")
(version "1.1.7.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/xerial/snappy-java/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1p557vdv006ysgxbpp83krmq0066k46108vyiyka69w8i4i8rbbm"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "snappy.jar"
#:source-dir "src/main/java"
#:phases
(modify-phases %standard-phases
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
(invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java"
"-d" "lib")
;; Link to the dynamic bitshuffle and snappy, not the static ones
(substitute* "Makefile.common"
(("-shared")
"-shared -lbitshuffle -lsnappy"))
(substitute* "Makefile"
;; Don't try to use git, don't download bitshuffle source
;; and don't build it.
(("\\$\\(SNAPPY_GIT_UNPACKED\\) ")
"")
((": \\$\\(SNAPPY_GIT_UNPACKED\\)")
":")
(("\\$\\(BITSHUFFLE_UNPACKED\\) ")
"")
((": \\$\\(SNAPPY_SOURCE_CONFIGURED\\)") ":")
;; What we actually want to build
(("SNAPPY_OBJ:=.*")
"SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, \
SnappyNative.o BitShuffleNative.o)\n")
;; Since we removed the directory structure in "native" during
;; the previous phase, we need to recreate it.
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
;; Finally we can run the Makefile to build the dynamic library.
;; Use the -nocmake target to avoid a dependency on cmake,
;; which in turn requires the "git_unpacked" directory.
(invoke "make" "native-nocmake")))
;; Once we have built the shared library, we need to place it in the
;; "build" directory so it can be added to the jar file.
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'check 'fix-failing
(lambda _
(with-directory-excursion "src/test/java/org/xerial/snappy"
;; This package assumes maven build, which puts results in "target".
;; We put them in "build" instead, so fix that.
(substitute* "SnappyLoaderTest.java"
(("target/classes") "build/classes"))
;; This requires Hadoop, which is not in Guix yet.
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java"))
#t)))))
(inputs
`(("osgi-framework" ,java-osgi-framework)))
(propagated-inputs
`(("bitshuffle" ,bitshuffle-for-snappy)
("snappy" ,snappy)))
(native-inputs
`(("junit" ,java-junit)
("hamcrest" ,java-hamcrest-core)
("xerial-core" ,java-xerial-core)
("classworlds" ,java-plexus-classworlds)
("commons-lang" ,java-commons-lang)
("commons-io" ,java-commons-io)
("perl" ,perl)))
(home-page "https://github.com/xerial/snappy-java")
(synopsis "Compression/decompression algorithm in Java")
(description "Snappy-java is a Java port of snappy, a fast C++
compressor/decompressor.")
(license license:asl2.0)))
(define-public java-snappy-1
(package
(inherit java-snappy)
(version "1.0.3-rc3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/xerial/snappy-java/archive/"
"snappy-java-" version ".tar.gz"))
(sha256
(base32
"08hsxlqidiqck0q57fshwyv3ynyxy18vmhrai9fyc8mz17m7gsa3"))))
(arguments
`(#:jar-name "snappy.jar"
#:source-dir "src/main/java"
#:phases
(modify-phases %standard-phases
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
(invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java"
"-d" "lib")
;; Link to the dynamic snappy, not the static ones
(substitute* "Makefile.common"
(("-shared") "-shared -lsnappy"))
(substitute* "Makefile"
;; Don't download the sources here.
(("\\$\\(SNAPPY_UNPACKED\\) ") "")
((": \\$\\(SNAPPY_UNPACKED\\) ") ":")
;; What we actually want to build
(("SNAPPY_OBJ:=.*")
"SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, SnappyNative.o)\n")
;; Since we removed the directory structure in "native" during
;; the previous phase, we need to recreate it.
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
;; Finally we can run the Makefile to build the dynamic library.
(invoke "make" "native")))
;; Once we have built the shared library, we need to place it in the
;; "build" directory so it can be added to the jar file.
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'check 'fix-tests
(lambda _
(mkdir-p "src/test/resources/org/xerial/snappy/")
(copy-recursively "src/test/java/org/xerial/snappy/testdata"
"src/test/resources/org/xerial/snappy/testdata")
(install-file "src/test/java/org/xerial/snappy/alice29.txt"
"src/test/resources/org/xerial/snappy/")
#t)))))))
(define-public java-iq80-snappy
(package
(name "java-iq80-snappy")
(version "0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dain/snappy/archive/snappy-"
version ".tar.gz"))
(sha256
(base32
"0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "iq80-snappy.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:jdk ,icedtea-8
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(define (test class)
(invoke "java" "-cp" (string-append (getenv "CLASSPATH")
":build/classes"
":build/test-classes")
"-Dtest.resources.dir=src/test/resources"
"org.testng.TestNG" "-testclass"
class))
(invoke "ant" "compile-tests")
(test "org.iq80.snappy.SnappyFramedStreamTest")
(test "org.iq80.snappy.SnappyStreamTest")
#t))
(add-before 'build 'remove-hadoop-dependency
(lambda _
;; We don't have hadoop
(delete-file "src/main/java/org/iq80/snappy/HadoopSnappyCodec.java")
(delete-file "src/test/java/org/iq80/snappy/TestHadoopSnappyCodec.java")
#t)))))
(home-page "https://github.com/dain/snappy")
(native-inputs
`(("guava" ,java-guava)
("java-snappy" ,java-snappy)
("hamcrest" ,java-hamcrest-core)
("testng" ,java-testng)))
(synopsis "Java port of the Snappy (de)compressor")
(description
"Iq80-snappy is a port of the Snappy compressor and decompressor rewritten
in pure Java. This compression code produces a byte-for-byte exact copy of the
output created by the original C++ code, and is extremely fast.")
(license license:asl2.0)))
(define-public java-jbzip2
(package
(name "java-jbzip2")
(version "0.9.1")
(source (origin
(method url-fetch)
(uri (string-append "https://storage.googleapis.com/"
"google-code-archive-source/v2/"
"code.google.com/jbzip2/"
"source-archive.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0ncmhlqmrfmj96nqf6p77b9ws35lcfsvpfxzwxi2asissc83z1l3"))))
(build-system ant-build-system)
(native-inputs
`(("unzip" ,unzip)
("java-junit" ,java-junit)))
(arguments
`(#:tests? #f ; no tests
#:jar-name "jbzip2.jar"
#:source-dir "tags/release-0.9.1/src"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-encoding-problems
(lambda _
;; Some of the files we're patching are
;; ISO-8859-1-encoded, so choose it as the default
;; encoding so the byte encoding is preserved.
(with-fluids ((%default-port-encoding #f))
(substitute* "tags/release-0.9.1/src/org/itadaki/bzip2/HuffmanAllocator.java"
(("Milidi.") "Milidiu")))
#t)))))
(home-page "https://code.google.com/archive/p/jbzip2/")
(synopsis "Java bzip2 compression/decompression library")
(description "Jbzip2 is a Java bzip2 compression/decompression library.
It can be used as a replacement for the Apache @code{CBZip2InputStream} /
@code{CBZip2OutputStream} classes.")
(license license:expat)))
(define-public p7zip
(package
(name "p7zip")
@ -2099,43 +1858,6 @@ (define-public perl-archive-extract
type by using either Perl modules, or command-line tools on your system.")
(license license:perl-license)))
(define-public java-tukaani-xz
(package
(name "java-tukaani-xz")
(version "1.6")
(source (origin
(method url-fetch)
(uri (string-append "https://tukaani.org/xz/xz-java-" version ".zip"))
(sha256
(base32
"1z3p1ri1gvl07inxn0agx44ck8n7wrzfmvkz8nbq3njn8r9wba8x"))))
(build-system ant-build-system)
(arguments
`(#:tests? #f; no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
;; Our build system enters the first directory in the archive, but
;; the package is not contained in a subdirectory
(chdir "..")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Do we want to install *Demo.jar?
(install-file "build/jar/xz.jar"
(string-append
(assoc-ref outputs "out")
"/share/java/xz.jar"))
#t)))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://tukaani.org")
(synopsis "XZ in Java")
(description "Tukaani-xz is an implementation of xz compression/decompression
algorithms in Java.")
(license license:public-domain)))
(define-public lunzip
(package
(name "lunzip")

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 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -71,7 +73,7 @@ (define-module (gnu packages crypto)
(define-public libsodium
(package
(name "libsodium")
(version "1.0.16")
(version "1.0.17")
(source (origin
(method url-fetch)
(uri (list (string-append
@ -82,7 +84,7 @@ (define-public libsodium
"releases/old/libsodium-" version ".tar.gz")))
(sha256
(base32
"0cq5pn7qcib7q70mm1lgjwj75xdxix27v0xl1xl0kvxww7hwgbgf"))))
"1cf2d9v1gylz1qcy2zappbf526qfmph6gd6fnn3w2b347vixmhqc"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description
@ -164,53 +166,6 @@ (define-public signify
"See base64.c in the distribution for
the license from IBM.")))))
(define-public opendht
(package
(name "opendht")
(version "0.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/savoirfairelinux/opendht.git")
(commit version)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "src/argon2")
(substitute* "src/Makefile.am"
(("./argon2/libargon2.la") "")
(("SUBDIRS = argon2") ""))
(substitute* "src/crypto.cpp"
(("argon2/argon2.h") "argon2.h"))
(substitute* "configure.ac"
(("src/argon2/Makefile") ""))
#t))
(sha256
(base32
"1akk613f18rc8kqs0cxdm34iq7wwc9kffhgp5rng09arwlw8gw3w"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)
("nettle" ,nettle)
("readline" ,readline)
("argon2" ,argon2)))
(propagated-inputs
`(("msgpack" ,msgpack))) ;included in several installed headers
(native-inputs
`(("autoconf" ,autoconf)
("pkg-config" ,pkg-config)
("automake" ,automake)
("libtool" ,libtool)))
(arguments
`(#:configure-flags '("--disable-tools" "--disable-python")))
(home-page "https://github.com/savoirfairelinux/opendht/")
(synopsis "Distributed Hash Table (DHT) library")
(description "OpenDHT is a Distributed Hash Table (DHT) library. It may
be used to manage peer-to-peer network connections as needed for real time
communication.")
(license license:gpl3)))
(define-public encfs
(package
(name "encfs")
@ -632,7 +587,7 @@ (define-public perl-math-random-secure
(define-public crypto++
(package
(name "crypto++")
(version "6.0.0")
(version "8.0.0")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append "https://cryptopp.com/cryptopp"
@ -640,11 +595,14 @@ (define-public crypto++
".zip"))
(sha256
(base32
"1nidm6xbdza5cbgf5md2zznmaq692rfyjasycwipl6rzdfwjvb34"))))
"0b5qrsm4jhy4nzxgrm13nixhvbswr242plx1jw6r4sw492rqkzdv"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
;; Override "/sbin/ldconfig" with simply "echo" since
;; we don't need ldconfig(8).
"LDCONF=echo")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-native-optimisation
@ -654,7 +612,28 @@ (define-public crypto++
(substitute* "GNUmakefile"
((" -march=native") ""))
#t))
(delete 'configure))))
(delete 'configure)
(add-after 'build 'build-shared
(lambda _
;; By default, only the static library is built.
(invoke "make" "shared")))
(add-after 'install 'install-pkg-config
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(pkg-dir (string-append out "/lib/pkgconfig")))
(mkdir-p pkg-dir)
(with-output-to-file (string-append pkg-dir "/libcrypto++.pc")
(lambda _
(display
(string-append
"prefix=" out "\n"
"libdir=" out "/lib\n"
"includedir=" out "/include\n\n"
"Name: libcrypto++-" ,version "\n"
"Description: Class library of cryptographic schemes"
"Version: " ,version "\n"
"Libs: -L${libdir} -lcryptopp\n"
"Cflags: -I${includedir}\n"))))))))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://cryptopp.com/")
@ -881,3 +860,44 @@ (define-public enchive
trivial to build for local use. Portability is emphasized over performance.")
(home-page "https://github.com/skeeto/enchive")
(license license:unlicense)))
(define-public libsecp256k1
(let ((commit "e34ceb333b1c0e6f4115ecbb80c632ac1042fa49"))
(package
(name "libsecp256k1")
(version (git-version "20181126" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bitcoin-core/secp256k1")
(commit commit)))
(sha256
(base32
"0as78s179hcr3ysk3fw98k5wzabgnwri7vkkc17wg31lyz6ids6c"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
;; WARNING: This package might need additional configure flags to run properly.
;; See https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/libsecp256k1.
(synopsis "C library for EC operations on curve secp256k1")
(description
"Optimized C library for EC operations on curve secp256k1.
This library is a work in progress and is being used to research best
practices. Use at your own risk.
Features:
@itemize
@item secp256k1 ECDSA signing/verification and key generation.
@item Adding/multiplying private/public keys.
@item Serialization/parsing of private keys, public keys, signatures.
@item Constant time, constant memory access signing and pubkey generation.
@item Derandomized DSA (via RFC6979 or with a caller provided function.)
@item Very efficient implementation.
@end itemize\n")
(home-page "https://github.com/bitcoin-core/secp256k1")
(license license:unlicense))))

View file

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

View file

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

View file

@ -23,17 +23,25 @@ (define-module (gnu packages docker)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages golang)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization))
(define %docker-version "18.09.0")
(define-public python-docker-py
(package
(name "python-docker-py")
@ -188,6 +196,11 @@ (define-public containerd
(string-append "DefaultCommand = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go"
(("exec\\.Command\\(\"losetup\"") ; )
(string-append "exec.Command(\""
(assoc-ref inputs "util-linux")
"/sbin/losetup\""))) ;)
#t))
(replace 'build
(lambda* (#:key (make-flags '()) #:allow-other-keys)
@ -200,7 +213,8 @@ (define-public containerd
(inputs
`(("btrfs-progs" ,btrfs-progs)
("libseccomp" ,libseccomp)
("runc" ,runc)))
("runc" ,runc)
("util-linux" ,util-linux)))
(native-inputs
`(("go" ,go)
("pkg-config" ,pkg-config)))
@ -210,3 +224,307 @@ (define-public containerd
network attachments.")
(home-page "http://containerd.io/")
(license license:asl2.0)))
(define-public docker
(package
(name "docker")
(version %docker-version)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/docker/engine.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1liqbx58grqih6m8hz9y20y5waflv19pv15l3wl64skap2bsn21c"))
(patches
(search-patches "docker-engine-test-noinstall.patch"
"docker-fix-tests.patch"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((guix build gnu-build-system)
((guix build go-build-system) #:prefix go:)
(guix build utils))
#:imported-modules
(,@%gnu-build-system-modules
(guix build go-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "builder/builder-next/executor_unix.go"
(("CommandCandidates:.*runc.*")
(string-append "CommandCandidates: []string{\""
(assoc-ref inputs "runc")
"/sbin/runc\"},\n")))
(substitute* "vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand = .*")
(string-append "DefaultCommand = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "vendor/github.com/containerd/containerd/runtime/v1/linux/runtime.go"
(("defaultRuntime[ \t]*=.*")
(string-append "defaultRuntime = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("defaultShim[ \t]*=.*")
(string-append "defaultShim = \""
(assoc-ref inputs "containerd")
"/bin/containerd-shim\"\n")))
(substitute* "daemon/daemon_unix.go"
(("DefaultShimBinary = .*")
(string-append "DefaultShimBinary = \""
(assoc-ref inputs "containerd")
"/bin/containerd-shim\"\n"))
(("DefaultRuntimeBinary = .*")
(string-append "DefaultRuntimeBinary = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("DefaultRuntimeName = .*")
(string-append "DefaultRuntimeName = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "daemon/config/config.go"
(("StockRuntimeName = .*")
(string-append "StockRuntimeName = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "vendor/github.com/moby/buildkit/executor/runcexecutor/executor.go"
(("var defaultCommandCandidates = .*")
(string-append "var defaultCommandCandidates = []string{\""
(assoc-ref inputs "runc") "/sbin/runc\"}")))
(let ((source-files (filter (lambda (name)
(not (string-contains name "test")))
(find-files "." "\\.go$"))))
(let-syntax ((substitute-LookPath
(lambda (x)
(syntax-case x ()
((substitute-LookPath source-text package
relative-path)
#`(substitute* source-files
((#,(string-append "exec\\.LookPath\\(\""
(syntax->datum
#'source-text)
"\")"))
(string-append "\""
(assoc-ref inputs package)
relative-path
"\", error(nil)")))))))
(substitute-Command
(lambda (x)
(syntax-case x ()
((substitute-LookPath source-text package
relative-path)
#`(substitute* source-files
((#,(string-append "exec\\.Command\\(\""
(syntax->datum
#'source-text)
"\"")) ; )
(string-append "exec.Command(\""
(assoc-ref inputs package)
relative-path
"\"")))))))) ; )
(substitute-LookPath "ps" "procps" "/bin/ps")
(substitute-LookPath "mkfs.xfs" "xfsprogs" "/bin/mkfs.xfs")
(substitute-LookPath "lvmdiskscan" "lvm2" "/sbin/lvmdiskscan")
(substitute-LookPath "pvdisplay" "lvm2" "/sbin/pvdisplay")
(substitute-LookPath "blkid" "util-linux" "/sbin/blkid")
(substitute-LookPath "unpigz" "pigz" "/bin/unpigz")
(substitute-LookPath "iptables" "iptables" "/sbin/iptables")
(substitute-LookPath "ip" "iproute2" "/sbin/ip")
(substitute-Command "modprobe" "kmod" "/bin/modprobe")
(substitute-Command "pvcreate" "lvm2" "/sbin/pvcreate")
(substitute-Command "vgcreate" "lvm2" "/sbin/vgcreate")
(substitute-Command "lvcreate" "lvm2" "/sbin/lvcreate")
(substitute-Command "lvconvert" "lvm2" "/sbin/lvconvert")
(substitute-Command "lvchange" "lvm2" "/sbin/lvchange")
(substitute-Command "mkfs.xfs" "xfsprogs" "/sbin/mkfs.xfs")
(substitute-Command "xfs_growfs" "xfsprogs" "/sbin/xfs_growfs")
(substitute-Command "mkfs.ext4" "e2fsprogs" "/sbin/mkfs.ext4")
(substitute-Command "tune2fs" "e2fsprogs" "/sbin/tune2fs")
(substitute-Command "blkid" "util-linux" "/sbin/blkid")
(substitute-Command "resize2fs" "e2fsprogs" "/sbin/resize2fs")
; docker-mountfrom ??
; docker
; docker-untar ??
; docker-applyLayer ??
; /usr/bin/uname
; grep
; apparmor_parser
(substitute-Command "ps" "procps" "/bin/ps")
(substitute-Command "losetup" "util-linux" "/sbin/losetup")
(substitute-Command "uname" "coreutils" "/bin/uname")
(substitute-Command "dbus-launch" "dbus" "/bin/dbus-launch")
(substitute-Command "git" "git" "/bin/git"))
;; Make compilation fail when, in future versions, Docker
;; invokes other programs we don't know about and thus don't
;; substitute.
(substitute* source-files
;; Search for Java in PATH.
(("\\<exec\\.Command\\(\"java\"") ; )
"xxec.Command(\"java\"") ; )
;; Search for AUFS in PATH (mainline Linux doesn't support it).
(("\\<exec\\.Command\\(\"auplink\"") ; )
"xxec.Command(\"auplink\"") ; )
;; Fail on other unsubstituted commands.
(("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
_ executable) ; )
(string-append "exec.Guix_doesnt_want_Command(\""
executable "\"")) ;)
(("\\<xxec\\.Command")
"exec.Command")
;; Search for ZFS in PATH.
(("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
;; Fail on other unsubstituted LookPaths.
(("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"") ; ))
(("\\<LooxPath") "LookPath")))
#t))
(add-after 'patch-paths 'delete-failing-tests
(lambda _
;; Needs internet access.
(delete-file "builder/remotecontext/git/gitutils_test.go")
;; Permission denied.
(delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
;; Operation not permitted (idtools.MkdirAllAndChown).
(delete-file "daemon/graphdriver/vfs/vfs_test.go")
;; Timeouts after 5 min.
(delete-file "plugin/manager_linux_test.go")
;; Operation not permitted.
(delete-file "daemon/graphdriver/overlay/overlay_test.go")
(delete-file "daemon/graphdriver/overlay2/overlay_test.go")
#t))
(replace 'configure
(lambda _
(setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version))
;; Automatically use bundled dependencies.
;; TODO: Unbundle - see file "vendor.conf".
(setenv "AUTO_GOPATH" "1")
;; Respectively, strip the symbol table and debug
;; information, and the DWARF symbol table.
(setenv "LDFLAGS" "-s -w")
;; Make build faster
(setenv "GOCACHE" "/tmp")
#t))
(add-before 'build 'setup-environment
(assoc-ref go:%standard-phases 'setup-environment))
(replace 'build
(lambda _
;; Our LD doesn't like the statically linked relocatable things
;; that go produces, so install the dynamic version of
;; dockerd instead.
(invoke "hack/make.sh" "dynbinary")))
(replace 'check
(lambda _
;; The build process generated a file because the environment
;; variable "AUTO_GOPATH" was set. Use it.
(setenv "GOPATH" (string-append (getcwd) "/.gopath"))
;; ".gopath/src/github.com/docker/docker" is a link to the current
;; directory and chdir would canonicalize to that.
;; But go needs to have the uncanonicalized directory name, so
;; store that.
(setenv "PWD" (string-append (getcwd)
"/.gopath/src/github.com/docker/docker"))
(with-directory-excursion ".gopath/src/github.com/docker/docker"
(invoke "hack/test/unit"))
(setenv "PWD" #f)
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-bin (string-append out "/bin")))
(install-file "bundles/dynbinary-daemon/dockerd" out-bin)
(install-file "bundles/dynbinary-daemon/dockerd-dev" out-bin)
#t))))))
(inputs
`(("btrfs-progs" ,btrfs-progs)
("containerd" ,containerd) ; for containerd-shim
("coreutils" ,coreutils)
("dbus" ,dbus)
("e2fsprogs" ,e2fsprogs)
("git" ,git)
("iproute2" ,iproute)
("iptables" ,iptables)
("kmod" ,kmod)
("libseccomp" ,libseccomp)
("pigz" ,pigz)
("procps" ,procps)
("runc" ,runc)
("util-linux" ,util-linux)
("lvm2" ,lvm2)
("xfsprogs" ,xfsprogs)))
(native-inputs
`(("eudev" ,eudev) ; TODO: Should be propagated by lvm2 (.pc -> .pc)
("go" ,go)
("pkg-config" ,pkg-config)))
(synopsis "Docker container component library, and daemon")
(description "This package provides a framework to assemble specialized
container systems. It includes components for orchestration, image
management, secret management, configuration management, networking,
provisioning etc.")
(home-page "https://mobyproject.org/")
(license license:asl2.0)))
(define-public docker-cli
(package
(name "docker-cli")
(version %docker-version)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/docker/cli.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ivisys20kphvbqlazc3bsg7pk0ykj9gjx5d4yg439x4n13jxwvb"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/docker/cli"
;; TODO: Tests require a running Docker daemon.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'setup-environment-2
(lambda _
;; Respectively, strip the symbol table and debug
;; information, and the DWARF symbol table.
(setenv "LDFLAGS" "-s -w")
;; Make build reproducible.
(setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00")
(symlink "src/github.com/docker/cli/scripts" "./scripts")
(symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")
#t))
(replace 'build
(lambda _
(invoke "./scripts/build/dynbinary")))
(replace 'check
(lambda* (#:key make-flags tests? #:allow-other-keys)
(setenv "PATH" (string-append (getcwd) "/build:" (getenv "PATH")))
(if tests?
;; Use the newly-built docker client for the tests.
(with-directory-excursion "src/github.com/docker/cli"
;; TODO: Run test-e2e as well?
(apply invoke "make" "-f" "docker.Makefile" "test-unit"
(or make-flags '())))
#t)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-bin (string-append out "/bin")))
(chdir "build")
(install-file (readlink "docker") out-bin)
(install-file "docker" out-bin)
#t))))))
(native-inputs
`(("go" ,go)
("libltdl" ,libltdl)
("pkg-config" ,pkg-config)))
(synopsis "Command line interface to Docker")
(description "This package provides a command line interface to Docker.")
(home-page "http://www.docker.com/")
(license license:asl2.0)))

View file

@ -428,16 +428,16 @@ (define-public git-modes/old-name
(define-public emacs-with-editor
(package
(name "emacs-with-editor")
(version "2.7.3")
(version "2.8.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/magit/with-editor/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/magit/with-editor.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ln2s0kckzkv50qmr6x1kb2j30cfjii0vs6lpghg7ff4lav8jqgh"))))
"1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@ -592,7 +592,7 @@ (define-public magit-svn
(define-public emacs-magit-popup
(package
(name "emacs-magit-popup")
(version "2.12.4")
(version "2.12.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -601,7 +601,7 @@ (define-public emacs-magit-popup
(file-name (git-file-name name version))
(sha256
(base32
"08952nzn0cb6gxscqyiljk4fq2zxjvr3ism0lvgw0gs9hl5phiwx"))))
"13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -622,6 +622,58 @@ (define-public emacs-magit-popup
process, passing on the arguments as command line arguments.")
(license license:gpl3+)))
(define-public emacs-treepy
(package
(name "emacs-treepy")
(version "0.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/volrath/treepy.el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
(build-system emacs-build-system)
(home-page
"https://github.com/volrath/treepy.el")
(synopsis "Tree traversal tools")
(description
"Generic tools for recursive and iterative tree traversal based on
clojure.walk and clojure.zip respectively.")
(license license:gpl3+)))
(define-public emacs-graphql
(package
(name "emacs-graphql")
(version "0.1.1")
(source (origin
(modules '((guix build utils)))
;; Remove examples file with references to external packages as
;; they do not exist at compilation time.
(snippet
'(begin (delete-file "examples.el")
#t))
(method git-fetch)
(uri (git-reference
(url "https://github.com/vermiculus/graphql.el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
(build-system emacs-build-system)
(home-page
"https://github.com/vermiculus/graphql.el")
(synopsis "GraphQL utilities")
(description
"GraphQL.el provides a generally-applicable domain-specific language for
creating and executing GraphQL queries against your favorite web services.
GraphQL is a data query language and runtime designed and used to request and
deliver data to mobile and web apps.")
(license license:gpl3+)))
(define-public emacs-ghub
(package
(name "emacs-ghub")
@ -1435,6 +1487,18 @@ (define-public emacs-ggtags
(base32
"1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
(build-system emacs-build-system)
(inputs
`(("global" ,global)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
(chmod "ggtags.el" #o644)
(emacs-substitute-variables "ggtags.el"
("ggtags-executable-directory"
(string-append (assoc-ref inputs "global") "/bin")))
#t)))))
(home-page "https://github.com/leoliu/ggtags")
(synopsis "Frontend to the GNU Global source code tagging system")
(description "@code{ggtags} provides a frontend to the GNU Global source
@ -2836,9 +2900,16 @@ (define-public emacs-irony-mode
"0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system)
(arguments '())
(propagated-inputs
`(("emacs-irony-mode-server" ,emacs-irony-mode-server)))
(inputs `(("server" ,emacs-irony-mode-server)))
(arguments `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
(chmod "irony.el" #o644)
(emacs-substitute-variables "irony.el"
("irony-server-install-prefix"
(assoc-ref inputs "server")))
#t)))))
(synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
(description "Irony-mode provides Clang-assisted syntax checking and
completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
@ -2853,7 +2924,6 @@ (define-public emacs-irony-mode-server
(name "emacs-irony-mode-server")
(inputs
`(("clang" ,clang)))
(propagated-inputs '())
(arguments
`(#:phases
(modify-phases %standard-phases
@ -8765,16 +8835,16 @@ (define-public emacs-finalize
(define-public emacs-emacsql
(package
(name "emacs-emacsql")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/skeeto/emacsql/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"04hfjdgl1zc7jysgjc7d7d3xqpr7q1q9gsmzffjd91ii3hpqjgx6"))))
(version "3.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/skeeto/emacsql.git")
(commit (string-append version))))
(file-name (git-file-name name version))
(sha256
(base32
"1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
(build-system emacs-build-system)
(arguments
`(#:modules ((guix build emacs-build-system)
@ -8809,8 +8879,6 @@ (define-public emacs-emacsql
(let ((file "emacsql-sqlite.el"))
(chmod file #o644)
(emacs-substitute-sexps file
;; Avoid interactive prompts.
("(defvar emacsql-sqlite-user-prompted" 't)
;; Make sure Emacs looks for GCC binary in the right place.
("(executable-find" (which "gcc"))
;; Make sure Emacs looks for emacsql-sqlite binary
@ -8846,16 +8914,17 @@ (define-public emacs-emacsql
(define-public emacs-closql
(package
(name "emacs-closql")
(version "0.5.1")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/emacscollective/closql/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacscollective/closql.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wa6r0kgbb7f19039p5f3di4dvrvxfgpd8bkam94fca7jvzj536c"))))
"0cy44d1fxkvah6fhjkn3mp6gzzrjmws1c4c20ayrma74y9xich3v"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-emacsql" ,emacs-emacsql)))
@ -9336,11 +9405,11 @@ (define-public emacs-tree-mode
(license license:gpl3+))))
(define-public emacs-md4rd
(let ((commit "be0fc4951b2d1f5194ffa1fcaac706dbac560500")
(let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
(revision "1"))
(package
(name "emacs-md4rd")
(version (string-append "0.0.1" "-" revision "."
(version (string-append "0.0.2" "-" revision "."
(string-take commit 7)))
(source (origin
(method git-fetch)
@ -9350,7 +9419,7 @@ (define-public emacs-md4rd
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1i93shx5x192gd7cl2r6gvcvhhwyi1k08abi5w3izv1hn3pmksgq"))))
"0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
(propagated-inputs
`(("emacs-hierarchy" ,emacs-hierarchy)
("emacs-request" ,emacs-request)
@ -12841,3 +12910,34 @@ (define-public emacs-arduino-mode
(description "Emacs major mode for editing Arduino sketches.")
(home-page "https://github.com/bookest/arduino-mode")
(license license:gpl3+))))
(define-public emacs-general
(let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
(package
(name "emacs-general")
(version (git-version "0" "0" commit))
(home-page "https://github.com/noctuid/general.el")
(source (origin
(method git-fetch)
(uri (git-reference
(url (string-append home-page ".git"))
(commit commit)))
(sha256
(base32
"175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(synopsis "More convenient key definitions in emacs")
(description "@code{general.el} provides a more convenient method for
binding keys in emacs (for both evil and non-evil users). Like
@code{use-package}, which provides a convenient, unified interface for
managing packages, @code{general.el} is intended to provide a convenient,
unified interface for key definitions. While this package does implement some
completely new functionality (such as the ability to make vim-style
keybindings under non-prefix keys with an optional timeout), its primary
purpose is to build on existing functionality to make key definition more
clear and concise. @code{general-define-key} is user-extensible and supports
defining multiple keys in multiple keymaps at once, implicitly wrapping key
strings with (@code{kbd ...}), using named prefix key sequences (like the
leader key in vim), and much more.")
(license license:gpl3+))))

View file

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

View file

@ -530,7 +530,7 @@ (define-public weston
(define-public exempi
(package
(name "exempi")
(version "2.4.5")
(version "2.5.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -538,7 +538,7 @@ (define-public exempi
name "-" version ".tar.bz2"))
(sha256
(base32
"07i29xmg8bqriviaf4vi1mwha4lrw85kfla29cfym14fp3z8aqa0"))))
"06vi7dc2gappwqm3xpfyy5ihxq14bmvj3bd47yk482jlq0jgr0nw"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "--with-boost="
@ -732,7 +732,7 @@ (define-public accountsservice
(define-public libmbim
(package
(name "libmbim")
(version "1.16.2")
(version "1.18.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -740,7 +740,7 @@ (define-public libmbim
name "-" version ".tar.xz"))
(sha256
(base32
"0qmjvjbgs9m8qsaiq5arikzglgaas9hh1968bi7sy3905kp4yjgb"))))
"10mjjy860aakfd3h1yaj9l1jw816amrpwmyqlx37j21xv0l03x3c"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
@ -763,7 +763,7 @@ (define-public libmbim
(define-public libqmi
(package
(name "libqmi")
(version "1.20.2")
(version "1.22.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -771,7 +771,7 @@ (define-public libqmi
name "-" version ".tar.xz"))
(sha256
(base32
"0i6aw8jyxv84d5x8lj2g9lb8xxf1dyad8n3q0kw164pyig55jd67"))))
"05xamy608mhvmw9zbnv9n8w3xpk96n10v5mixnvpnqgih6s9ih91"))))
(build-system gnu-build-system)
(inputs
`(("libgudev" ,libgudev)))

View file

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

View file

@ -396,7 +396,7 @@ (define-public libgdata
(define-public libgxps
(package
(name "libgxps")
(version "0.3.0")
(version "0.3.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -404,7 +404,7 @@ (define-public libgxps
name "-" version ".tar.xz"))
(sha256
(base32
"1bhgrpb6ndlp11qwr95g9piklmjcsca7bi04f8gy9ziipm1i6as1"))))
"157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
(build-system meson-build-system)
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
@ -2614,9 +2614,9 @@ (define-public libsecret
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("vala" ,vala)
("xsltproc" ,libxslt)))
@ -4413,7 +4413,7 @@ (define-public libgee
(define-public gexiv2
(package
(name "gexiv2")
(version "0.10.8")
(version "0.10.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -4421,7 +4421,7 @@ (define-public gexiv2
name "-" version ".tar.xz"))
(sha256
(base32
"0088m7p044n741ly1m6i7w25z513h9wpgyw0rmx5f0sy3vyjiic1"))))
"1qbcwq89g4r67k1dj4laqj441pj4195c8hzhxn8vc6mmg8adg6kx"))))
(build-system meson-build-system)
(native-inputs
`(("glib" ,glib "bin")

View file

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

View file

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

View file

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

View file

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

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 @@ (define-module (gnu packages java)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages java-compression)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux) ;alsa
#:use-module (gnu packages maths)

View file

@ -2556,6 +2556,10 @@ (define-public kinit
(("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
(("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
#t)))))
(native-search-paths
(list (search-path-specification
(variable "KDEINIT5_LIBRARY_PATH")
(files '("lib/")))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))

View file

@ -7,7 +7,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@ -287,15 +287,15 @@ (define-public libwpg
(define-public libcmis
(package
(name "libcmis")
(version "0.5.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/tdf/libcmis/releases/download/v"
version "/libcmis-" version ".tar.gz"))
version "/libcmis-" version ".tar.xz"))
(sha256
(base32
"03kvl8ywsv5qrxblf0m6955mmvl5q2zpb6vj51vs7ayvxhidzjva"))))
"18h0a2gsfxvlv03nlcfvw9bzsflq5sin9agq6za103hr0ab8vcfp"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
@ -313,22 +313,10 @@ (define-public libcmis
;; FIXME: Man pages generation requires docbook-to-man; reenable
;; it once this is available.
"--without-man"
;; avoid triggering configure errors by simple inclusion of
;; boost headers
"--disable-werror"
;; During configure, the boost headers are found, but linking
;; fails without the following flag.
(string-append "--with-boost="
(assoc-ref %build-inputs "boost")))
#:phases (modify-phases %standard-phases
(add-before 'build 'fix-boost-include
(lambda _
;; This library moved in Boost and the compatibility
;; redirect is no longer available since version 1.68.0.
(substitute* "src/libcmis/xml-utils.cxx"
(("boost/uuid/sha1.hpp")
"boost/uuid/detail/sha1.hpp"))
#t)))))
(assoc-ref %build-inputs "boost")))))
(home-page "https://github.com/tdf/libcmis")
(synopsis "CMIS client library")
(description "LibCMIS is a C++ client library for the CMIS interface. It
@ -370,14 +358,14 @@ (define-public libabw
(define-public libcdr
(package
(name "libcdr")
(version "0.1.4")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
(uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256 (base32
"0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7"))))
"0j1skr11jwvafn0l6p37v3i4lqc8wcn489g8f7c4mqwbk94mrkka"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
@ -390,9 +378,6 @@ (define-public libcdr
("zlib" ,zlib)))
(inputs
`(("boost" ,boost)))
(arguments
;; avoid triggering a build failure due to warnings
`(#:configure-flags '("--disable-werror")))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr")
(synopsis "Library for parsing the CorelDRAW format")
(description "Libcdr is a library that parses the file format of
@ -402,39 +387,31 @@ (define-public libcdr
(define-public libetonyek
(package
(name "libetonyek")
(version "0.1.8")
(version "0.1.9")
(source
(origin
(method url-fetch)
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256 (base32
"0bfq9rwm040xhh7b3v0gsdavwvnrz4hkwnhpggarxk70mr3j7jcx"))))
"0jhsbdimiyijdqriy0zzkjjgc4wi6fjimhdg4mdybrlwg7l7f5p6"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-mdds=1.4")
#:phases (modify-phases %standard-phases
(add-before 'configure 'support-mdds-1.4
(lambda _
;; This package already works fine with mdds 1.4, but the
;; configure check is too strict. Taken from upstream.
(substitute* "configure"
(("mdds=1\\.2") "mdds=1.4")
(("mdds=\"1\\.2\"") "mdds=\"1.4\""))
#t)))))
`(#:configure-flags '("--with-mdds=1.4")))
(native-inputs
`(("cppunit" ,cppunit)
("doxygen" ,doxygen)
("glm" ,glm)
("gperf" ,gperf)
("liblangtag" ,liblangtag)
("mdds" ,mdds)
("pkg-config" ,pkg-config)))
(propagated-inputs ; in Requires or Requires.private field of .pkg
`(("librevenge" ,librevenge)
("libxml2" ,libxml2)))
`(("liblangtag" ,liblangtag)
("librevenge" ,librevenge)
("libxml2" ,libxml2)
("zlib" ,zlib)))
(inputs
`(("boost" ,boost)))
`(("boost" ,boost)
("glm" ,glm)
("mdds" ,mdds)))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
(synopsis "Library for parsing the Apple Keynote format")
(description "Libetonyek is a library that parses the file format of

View file

@ -31,6 +31,7 @@
;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Manuel Graf <graf@init.at>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -412,8 +413,8 @@ (define* (make-linux-libre version hash supported-systems
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
(define %linux-libre-version "4.20")
(define %linux-libre-hash "07ss8nx95f4pqzzjy382fy5hk7anjm3hpbb3mzl1x8fzfq05q3dq")
(define %linux-libre-version "4.20.1")
(define %linux-libre-hash "10b1cgx7246lxwml66bzzc57sk5bbh7mjxc9zv6qncwh0xhsjv5n")
(define %linux-libre-4.20-patches
(list %boot-logo-patch
@ -426,8 +427,8 @@ (define-public linux-libre
#:patches %linux-libre-4.20-patches
#:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.13")
(define %linux-libre-4.19-hash "0ac0ywy542fiwdiab2z12rbjn9zw8vjbzkbpmpk9nfic2mcyrg8r")
(define %linux-libre-4.19-version "4.19.14")
(define %linux-libre-4.19-hash "12ihsp3k8gznc1hjvlpy8jdb27ijr3zsvn8wcgr5za18pg5ncjl9")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@ -440,8 +441,8 @@ (define-public linux-libre-4.19
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.91")
(define %linux-libre-4.14-hash "1xr4q6hqjg4fjcd1w8qi2x9a11ms9wvascy9b1p6czblg9j9dd6a")
(define %linux-libre-4.14-version "4.14.92")
(define %linux-libre-4.14-hash "09s479krcjzgp53s5i6h7ld1mdagjci6lqvkv8mc1nj0ja8niiq3")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -450,8 +451,8 @@ (define-public linux-libre-4.14
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.148"
"0yrjgvdzbcp750j4fhlxi4ia1v0fqh0y3p99wnbpfvg17j01lbjl"
(make-linux-libre "4.9.149"
"1qw1hahqiai8xbv769pdfnx3yan3rl2zh00fmi1nx0khan6i5as3"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
@ -790,7 +791,7 @@ (define-public usbutils
(define-public e2fsprogs
(package
(name "e2fsprogs")
(version "1.44.3")
(version "1.44.5")
(source (origin
(method url-fetch)
(uri (string-append
@ -799,7 +800,7 @@ (define-public e2fsprogs
name "-" version ".tar.xz"))
(sha256
(base32
"1djb9qnid1j0vvna2bhq4jsz2ig1xckbx7h4d86cr0gl61yrz2ax"))))
"1ff56h6h1h17sj2zvlddv5c88nmbx46p1fcbh6b0s5k9kl3b6pms"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)))
(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 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
@ -2179,12 +2179,12 @@ (define-public r-quadprog
(define-public r-pracma
(package
(name "r-pracma")
(version "2.1.8")
(version "2.2.2")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
(base32 "0m8ladhrfyxwybblkcdgg4xv1mk5kibmwarpj2k0c2y34zzcix4z"))))
(base32 "18zhni05gwnxbphl6bmjjxmsgg5wwnnkwlb4g971cqyw3dsd83ki"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/pracma/")
(synopsis "Practical numerical math functions")

View file

@ -82,6 +82,8 @@ (define-module (gnu packages networking)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
@ -90,6 +92,7 @@ (define-module (gnu packages networking)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages serialization)
#:use-module (gnu packages ssh)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
@ -2271,3 +2274,95 @@ (define-public dante
through the machine the Dante server is running on. The external network will
never see any machines other than the one Dante is running on.")
(license (license:non-copyleft "file://LICENSE"))))
(define-public restbed
(let ((commit "6eb385fa9051203f28bf96cc1844bbb5a9a6481f"))
(package
(name "restbed")
(version (git-version "4.6" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Corvusoft/restbed/")
(commit commit)))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0k60i5drklqqrb4khb25fzkgz9y0sncxf1sp6lh2bm1m0gh0661n"))))
(build-system cmake-build-system)
(inputs
`(("asio" ,asio)
("catch" ,catch-framework)
("openssl" ,openssl)))
(arguments
`(#:tests? #f
#:configure-flags
'("-DBUILD_TESTS=NO"
"-DBUILD_EXAMPLES=NO"
"-DBUILD_SSL=NO"
"-DBUILD_SHARED=NO")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'apply-patches-and-fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((asio (assoc-ref inputs "asio"))
(catch (assoc-ref inputs "catch"))
(openssl (assoc-ref inputs "openssl")))
(substitute* "cmake/Findasio.cmake"
(("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin)
(string-append begin " \"" asio "/include\" )")))
(substitute* "cmake/Findcatch.cmake"
(("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin)
(string-append begin " \"" catch "/include\" )")))
(substitute* "cmake/Findopenssl.cmake"
(("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin)
(string-append begin " \"" openssl "/lib\" )"))
(("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin)
(string-append begin " \"" openssl "/lib\" )"))
(("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin)
(string-append begin " \"" openssl "/include\" )")))))))))
(synopsis "Asynchronous RESTful functionality to C++11 applications")
(description "Restbed is a comprehensive and consistent programming
model for building applications that require seamless and secure
communication over HTTP.")
(home-page "https://github.com/Corvusoft/restbed")
(license license:agpl3+))))
(define-public opendht
(package
(name "opendht")
(version "1.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/savoirfairelinux/opendht.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0vninb5mak27wigajslyvr05vq7wbrwqhbr4wzl2nmqcb20wmlq2"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)
("nettle" ,nettle)
("readline" ,readline)
("jsoncpp" ,jsoncpp)
("restbed" ,restbed)))
(propagated-inputs
`(("argon2" ,argon2) ; TODO: Needed for the pkg-config .pc file to work?
("msgpack" ,msgpack))) ;included in several installed headers
(native-inputs
`(("autoconf" ,autoconf)
("pkg-config" ,pkg-config)
("automake" ,automake)
("libtool" ,libtool)))
(arguments
`(#:configure-flags '("--disable-tools"
"--disable-python"
"--with-argon2")))
(home-page "https://github.com/savoirfairelinux/opendht/")
(synopsis "Distributed Hash Table (DHT) library")
(description "OpenDHT is a Distributed Hash Table (DHT) library. It may
be used to manage peer-to-peer network connections as needed for real time
communication.")
(license license:gpl3+)))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
@ -362,36 +362,23 @@ (define-public guix-daemon
(delete 'wrap-program)))))))
(define-public guile2.0-guix
(package
(inherit guix)
(name "guile2.0-guix")
(inputs
`(("guile" ,guile-2.0)
,@(alist-delete "guile" (package-inputs guix))))
(propagated-inputs
`(("gnutls" ,gnutls/guile-2.0)
("guile-gcrypt" ,guile2.0-gcrypt)
("guile-json" ,guile2.0-json)
("guile-sqlite3" ,guile2.0-sqlite3)
("guile-ssh" ,guile2.0-ssh)
("guile-git" ,guile2.0-git)))))
(deprecated-package "guile2.0-guix" guix))
(define-public guix-minimal
;; A version of Guix which is built with the minimal set of dependencies, as
;; outlined in the README "Requirements" section. Intended as a CI job, so
;; marked as hidden.
(let ((guix guile2.0-guix))
(hidden-package
(package
(inherit guix)
(name "guix-minimal")
(inputs
`(("guile" ,guile-2.0.13)
,@(alist-delete "guile" (package-inputs guix))))
(propagated-inputs
(fold alist-delete
(package-propagated-inputs guix)
'("guile-ssh")))))))
(hidden-package
(package
(inherit guix)
(name "guix-minimal")
(inputs
`(("guile" ,guile-2.2)
,@(alist-delete "guile" (package-inputs guix))))
(propagated-inputs
(fold alist-delete
(package-propagated-inputs guix)
'("guile-ssh"))))))
(define (source-file? file stat)
"Return true if FILE is likely a source file, false if it is a typical

View file

@ -21,6 +21,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -42,6 +43,7 @@ (define-module (gnu packages password-utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@ -51,7 +53,9 @@ (define-module (gnu packages password-utils)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla)
@ -72,6 +76,7 @@ (define-module (gnu packages password-utils)
#:use-module (gnu packages tls)
#:use-module (gnu packages qt)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
@ -168,6 +173,59 @@ (define-public keepassx
(license license:gpl3)
(properties `((superseded . ,keepassxc)))))
(define-public pwsafe
(package
(name "pwsafe")
(version "3.48.0")
(home-page "https://www.pwsafe.org/" )
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pwsafe/pwsafe.git")
(commit version)))
(sha256 (base32 "0hxv23yh76liggxbjn4m132z15sklra8ms341xgzl4n5vjx30ihi"))
(file-name (string-append name "-" version "-checkout"))))
(build-system cmake-build-system)
(native-inputs `(("gettext" ,gettext-minimal)
("perl" ,perl)
("zip" ,zip)))
(inputs `(("curl" ,curl)
("file" ,file)
("gtest" ,googletest)
("libuuid" ,util-linux)
("libxt" ,libxt)
("libxtst" ,libxtst)
("openssl" ,openssl)
("qrencode" ,qrencode)
("wxwidgets" ,wxwidgets)
("xerces-c" ,xerces-c)))
(arguments '(#:configure-flags (list "-DNO_GTEST=YES")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'add-gtest
(lambda* (#:key inputs #:allow-other-keys)
(chmod "CMakeLists.txt" #o644)
(let ((cmake-port (open-file "CMakeLists.txt"
"a")))
(display "find_package(GTest)
add_subdirectory(src/test)\n" cmake-port)
(close cmake-port)
#t)))
(add-after 'add-gtest 'patch-executables
(lambda* (#:key inputs #:allow-other-keys)
(chmod "src/test/OSTest.cpp" #o644)
(substitute* "src/os/unix/media.cpp"
(("/usr/bin/file")
(string-append (assoc-ref inputs "file")
"/bin/file")))
#t)))))
(synopsis "Password safe with automatic input and key generation")
(description "pwsafe is a password manager originally designed by Bruce
Schneier. It offers a simple UI to manage passwords for different services.
There are other programs that support the file format on different
platforms.")
(license license:artistic2.0)))
(define-public shroud
(package
(name "shroud")
@ -705,7 +763,7 @@ (define-public pass-rotate
(define-public hashcat
(package
(name "hashcat")
(version "4.1.0")
(version "5.1.0")
(source
(origin
(method url-fetch)
@ -713,7 +771,7 @@ (define-public hashcat
version ".tar.gz"))
(sha256
(base32
"170i2y32ykgzb1qf1wz3klwn31c09bviz4x3bnrwia65adqrj8xx"))))
"0f73y4cg8c7a6q7x34qvpfi4g3lw6j9bnn0a13g43aqyiskflfr8"))))
(native-inputs
`(("opencl-headers" ,opencl-headers)))
(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();
- }
+ // Try to load the library relative to the active profiles.
+ QByteArrayList profiles = qgetenv("LIBRARY_PATH").split(':');
+ QByteArrayList profiles = qgetenv("KDEINIT5_LIBRARY_PATH").split(':');
+ for (const QByteArray &profile: profiles) {
+ if (!profile.isEmpty()) {
+ l.setFileName(QFile::decodeName(profile) + QStringLiteral("/") + libpath);

View file

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

View file

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

View file

@ -3344,20 +3344,38 @@ (define-public python2-numpy-documentation
(define-public python-pygit2
(package
(name "python-pygit2")
(version "0.26.4")
(version "0.27.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pygit2" version))
(sha256
(base32
"145k3fsd21274swia7mcc7n3kzlbd47xmg55mxsjdb5d9b7fr858"))))
"046ahvsb7a20sgvscqfm3cb32sp3sii4gim9vz7zzrkf7yz16xlv"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
;; Remove after the next update. See:
;; https://github.com/libgit2/pygit2/pull/851
(add-after 'unpack 'compile-with-cffi
(lambda _
(substitute* "setup.py"
(("install_requires")
"setup_requires=['cffi'],\n install_requires"))
#t))
(add-after 'unpack 'fix-dependency-versioning
(lambda _
(substitute* "setup.py"
(("<") "<="))
#t)))))
(propagated-inputs
`(("python-six" ,python-six)
("python-cffi" ,python-cffi)
("libgit2" ,libgit2)
("python-tox" ,python-tox)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/libgit2/pygit2")
(synopsis "Python bindings for libgit2")
(description "Pygit2 is a set of Python bindings to the libgit2 shared
@ -4057,17 +4075,17 @@ (define-public python2-olefile
(define-public python-pillow
(package
(name "python-pillow")
(version "5.2.0")
(version "5.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pillow" version))
(sha256
(base32
"1ary9mj2ddllq3lkxgn6aac7qxqiwbcg2pacrl94py58ql9x9czq"))))
"0qrkcjszym7ixffg5zphhp8a07w8w11yyc2ylcbdrhwm771z316m"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
`(("python-pytest" ,python-pytest)))
(inputs
`(("freetype" ,freetype)
("lcms" ,lcms)
@ -4079,19 +4097,22 @@ (define-public python-pillow
(propagated-inputs
`(("python-olefile" ,python-olefile)))
(arguments
`(#:phases (modify-phases %standard-phases
(add-after
'install 'check-installed
(lambda* (#:key outputs inputs #:allow-other-keys)
(begin
(setenv "HOME" (getcwd))
;; Make installed package available for running the
;; tests
(add-installed-pythonpath inputs outputs)
(invoke "python" "selftest.py" "--installed")
(invoke "python" "-m" "pytest" "-vv"))))
(delete 'check))))
(home-page "https://pypi.python.org/pypi/Pillow")
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-ldconfig
(lambda _
(substitute* "setup.py"
(("\\['/sbin/ldconfig', '-p'\\]") "['true']"))))
(delete 'check) ; We must run checks after python-pillow is installed.
(add-after 'install 'check-installed
(lambda* (#:key outputs inputs #:allow-other-keys)
(begin
(setenv "HOME" (getcwd))
;; Make installed package available for running the tests.
(add-installed-pythonpath inputs outputs)
(invoke "python" "selftest.py" "--installed")
(invoke "python" "-m" "pytest" "-vv")))))))
(home-page "https://python-pillow.org")
(synopsis "Fork of the Python Imaging Library")
(description
"The Python Imaging Library adds image processing capabilities to your

View file

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

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@ -398,14 +398,14 @@ (define-public r-mass
(define-public r-class
(package
(name "r-class")
(version "7.3-14")
(version "7.3-15")
(source
(origin
(method url-fetch)
(uri (cran-uri "class" version))
(sha256
(base32
"173b8a16lh1i0zjmr784l0xr0azp9v8bgslh12hfdswbq7dpdf0q"))))
"1x1hqz8xyhbpq4krsh02glqnlzcch25agkmn4a3da9n723b37gzn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)))
@ -442,14 +442,14 @@ (define-public r-cluster
(define-public r-codetools
(package
(name "r-codetools")
(version "0.2-15")
(version "0.2-16")
(source
(origin
(method url-fetch)
(uri (cran-uri "codetools" version))
(sha256
(base32
"0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf"))))
"00bmhzqprqfn3w6ghx7sakai6s7il8gbksfiawj8in5mbhbncypn"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/codetools")
(synopsis "Code analysis tools for R")
@ -570,14 +570,14 @@ (define-public r-nlme
(define-public r-mgcv
(package
(name "r-mgcv")
(version "1.8-25")
(version "1.8-26")
(source
(origin
(method url-fetch)
(uri (cran-uri "mgcv" version))
(sha256
(base32
"1y2rq6v45pr2wcxihhgmingcdvcsilim2cvskrlb7k2n00qg6v2q"))))
"02bsz455fr5hyhpmgcrd266qafs2wbz3ygdipxg9gfazbdvq2v4q"))))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)
@ -652,14 +652,14 @@ (define-public r-spatial
(define-public r-survival
(package
(name "r-survival")
(version "2.43-1")
(version "2.43-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "survival" version))
(sha256
(base32
"0220fjsq4ycx1n5zc5h39wdbj5j6xr8rzqbcixx2p25akzdn7kqk"))))
"0ldrjja1dj4n1ic0lbggm7jvk52sl5h85i8m23nrgndi60acsv4r"))))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)))
@ -811,14 +811,14 @@ (define-public r-estimability
(define-public r-pheatmap
(package
(name "r-pheatmap")
(version "1.0.10")
(version "1.0.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "pheatmap" version))
(sha256
(base32
"1jzxs5hwbz3r0z2pp09i7fd14sndxnrbm3zibaac3kny4nzydzf7"))))
"1hdh74az3vyzz6dqa311rhxdm74n46lyr03p862kn80p0kp9d7ap"))))
(build-system r-build-system)
(propagated-inputs
`(("r-gtable" ,r-gtable)
@ -1269,13 +1269,13 @@ (define-public r-dbi
(define-public r-bh
(package
(name "r-bh")
(version "1.66.0-1")
(version "1.69.0-1")
(source (origin
(method url-fetch)
(uri (cran-uri "BH" version))
(sha256
(base32
"14kab6wp0c27d8x4jqyf065p4bj210s9b67c0bfsfjnp29aypn8p"))))
"18mckfwxxv8m8rzaz03mg2h6vhaj7y131h6yasfg0s73nxj47zd0"))))
(build-system r-build-system)
(home-page "https://github.com/eddelbuettel/bh")
(synopsis "R package providing subset of Boost headers")
@ -1364,13 +1364,13 @@ (define-public r-mime
(define-public r-markdown
(package
(name "r-markdown")
(version "0.8")
(version "0.9")
(source (origin
(method url-fetch)
(uri (cran-uri "markdown" version))
(sha256
(base32
"1vcgsh2m2f5kfgappgg71nbf04ff0j1sbk668krjs3r2n89dk3sk"))))
"08xzs4bcf12jxp0276m6xqvq8kcgg5qp6fxrvsz6r9x73jjccs1h"))))
(build-system r-build-system)
;; Skip check phase because the tests require the r-knitr package to be
;; installed. This prevents installation failures. Knitr normally
@ -1408,19 +1408,20 @@ (define-public r-yaml
(define-public r-knitr
(package
(name "r-knitr")
(version "1.20")
(version "1.21")
(source (origin
(method url-fetch)
(uri (cran-uri "knitr" version))
(sha256
(base32
"1408dm25cxahk2clff8hlajaqdj5v1gs40nm3q6rf0ghd82hj93v"))))
"0xzymi4gkilqaa5b2ay9zk1advavzkwxf7mb064bqfb09y8rak0j"))))
(build-system r-build-system)
(propagated-inputs
`(("r-evaluate" ,r-evaluate)
("r-highr" ,r-highr)
("r-markdown" ,r-markdown)
("r-stringr" ,r-stringr)
("r-xfun" ,r-xfun)
("r-yaml" ,r-yaml)))
(home-page "http://yihui.name/knitr/")
(synopsis "General-purpose package for dynamic report generation in R")
@ -1611,13 +1612,13 @@ (define-public r-r6
(define-public r-rlang
(package
(name "r-rlang")
(version "0.3.0.1")
(version "0.3.1")
(source (origin
(method url-fetch)
(uri (cran-uri "rlang" version))
(sha256
(base32
"0j7kp6h25wbkvpzr7dpc0zgdpjiwsjjlgprj3mv7bgfalfq1si99"))))
"0lbi66bavca866k26dnpkxj3l106xr4a6khcsfn8i3i8w8mpnhih"))))
(build-system r-build-system)
(home-page "http://rlang.tidyverse.org")
(synopsis "Functions for base types, core R and Tidyverse features")
@ -1629,20 +1630,22 @@ (define-public r-rlang
(define-public r-tibble
(package
(name "r-tibble")
(version "1.4.2")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "tibble" version))
(sha256
(base32
"05svbjkm1xqv56ybjgsqqg2pp8nn6hams1yxcr8aanbhzx9h6rqi"))))
"1flrvmgc77c8s0brgyha6cdz2883h6bcb2mvqi49b429x5i2vb85"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rlang" ,r-rlang)
("r-cli" ,r-cli)
`(("r-cli" ,r-cli)
("r-crayon" ,r-crayon)
("r-pillar" ,r-pillar)))
("r-fansi" ,r-fansi)
("r-pkgconfig" ,r-pkgconfig)
("r-pillar" ,r-pillar)
("r-rlang" ,r-rlang)))
(home-page "https://github.com/hadley/tibble")
(synopsis "Simple data frames")
(description
@ -1690,14 +1693,14 @@ (define-public r-dplyr
(define-public r-dbplyr
(package
(name "r-dbplyr")
(version "1.2.2")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "dbplyr" version))
(sha256
(base32
"0j5w6a1qim972kv4vmvinp3j50yr4idmm9cd3w7y3zsz0nq0nhcx"))))
"07p23vyvi7s4abldhkyir05kcf7xnfc18igfryq12j67xd0jql0m"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@ -2072,14 +2075,14 @@ (define-public r-whisker
(define-public r-backports
(package
(name "r-backports")
(version "1.1.2")
(version "1.1.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "backports" version))
(sha256
(base32
"0mml9h3xagi7144pyb3jj9zbh9qzns7izkhdg7df20v7bikr6nz8"))))
"1hac46xaawnqajlsfb5k7pfkc2ya9h76s5qv9ycj3jafh93d26z4"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/backports")
(synopsis "Reimplementations of functions introduced since R 3.0.0")
@ -2095,14 +2098,14 @@ (define-public r-backports
(define-public r-checkmate
(package
(name "r-checkmate")
(version "1.8.5")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "checkmate" version))
(sha256
(base32
"1q6igk50lq4fp5d3imgcn1j063h3gsp214ra4nlf534hf4wjlkg9"))))
"00bjlc910y4paddvpz68pl3qyvjxlwqgyh39wpfkq43p99gvnj37"))))
(build-system r-build-system)
(propagated-inputs
`(("r-backports" ,r-backports)))
@ -2237,14 +2240,14 @@ (define-public r-desc
(define-public r-commonmark
(package
(name "r-commonmark")
(version "1.6")
(version "1.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "commonmark" version))
(sha256
(base32
"1xymqncf8byqxzpx64zlp6vbx7gry572jkr2ax0zlavr8bli861x"))))
"024iz1qp2kv6iz6y69ir0jk3qhjps86rhkzlcmhqsxx97rx7cjni"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/commonmark")
(synopsis "CommonMark and Github Markdown Rendering in R")
@ -2321,13 +2324,13 @@ (define-public r-openssl
(define-public r-httr
(package
(name "r-httr")
(version "1.3.1")
(version "1.4.0")
(source (origin
(method url-fetch)
(uri (cran-uri "httr" version))
(sha256
(base32
"0n7jz2digbgv48rbr9vmzv4vmf4rahl9jjy31izs7sxj4rs4s4r2"))))
"0j6vknwyvkjpjsxwch4q02aik4dnm3h4l0wc7dgzc555bm1g2cyn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-curl" ,r-curl)
@ -2347,19 +2350,19 @@ (define-public r-httr
(define-public r-git2r
(package
(name "r-git2r")
(version "0.23.0")
(version "0.24.0")
(source (origin
(method url-fetch)
(uri (cran-uri "git2r" version))
(sha256
(base32
"01250jz255fnyy2ap90nskvzhd8nhlmbhwgpvb43mk1fax077lrz"))))
"0vfc25z4j53pc49cnp3zjwzjb72kvc0aq96wgyg10xpgvhl3z0gg"))))
(build-system r-build-system)
;; This R package contains modified sources of libgit2. This modified
;; version of libgit2 is built as the package is built. Hence libgit2 is
;; not among the inputs of this package.
(inputs
`(("libssh2" ,libssh2)
`(("libssh2" ,libssh2) ; for SSH transport
("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs
@ -2375,13 +2378,13 @@ (define-public r-git2r
(define-public r-rstudioapi
(package
(name "r-rstudioapi")
(version "0.8")
(version "0.9.0")
(source (origin
(method url-fetch)
(uri (cran-uri "rstudioapi" version))
(sha256
(base32
"0d6r0in13k0rcyr6asanwy0a9dv4lizq6l2w913rr222pq6vrrck"))))
"0gn1pvaxfh2gh2ikvxcr8f6k97ygcfr68iz6dhwlq4z71a1s4jai"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/rstudioapi")
(synopsis "Safely access the RStudio API")
@ -2467,16 +2470,18 @@ (define-public r-hms
(define-public r-readr
(package
(name "r-readr")
(version "1.1.1")
(version "1.3.1")
(source (origin
(method url-fetch)
(uri (cran-uri "readr" version))
(sha256
(base32
"1cvw5wdcqk88cp5fyv678mnmp66l3whcd2yh33p2qvx0168bja8s"))))
"1wz496rw0ah433p755n3xac8gh7yzid4xgdjzd1a7wmpkgilvy9k"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
`(("r-clipr" ,r-clipr)
("r-crayon" ,r-crayon)
("r-rcpp" ,r-rcpp)
("r-hms" ,r-hms)
("r-tibble" ,r-tibble)
("r-r6" ,r-r6)
@ -2550,13 +2555,13 @@ (define-public r-latticeextra
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
(version "0.9.200.4.0")
(version "0.9.200.5.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
"1ayvpyi4hgaqrhx1kqi640iillc2byj4kam7vydlgqmdrzpgrfvz"))))
"09041jnalh7352kj6lv4d0xr9c0mvf8p860q5c8m13mp214x5x7k"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
(native-inputs
@ -2644,14 +2649,14 @@ (define-public r-rprojroot
(define-public r-rmarkdown
(package
(name "r-rmarkdown")
(version "1.10")
(version "1.11")
(source
(origin
(method url-fetch)
(uri (cran-uri "rmarkdown" version))
(sha256
(base32
"0mh2f3k98w7pgz0ri34149s4kx5y0kfm27nwq64k0qwxd16hwd9r"))))
"0yyjbh891mdqzpjkblz8510ng71i7mxmyiqr69x3rwlwk2vakk79"))))
(properties `((upstream-name . "rmarkdown")))
(build-system r-build-system)
(propagated-inputs
@ -2661,7 +2666,6 @@ (define-public r-rmarkdown
("r-jsonlite" ,r-jsonlite)
("r-knitr" ,r-knitr)
("r-mime" ,r-mime)
("r-rprojroot" ,r-rprojroot)
("r-stringr" ,r-stringr)
("r-tinytex" ,r-tinytex)
("r-yaml" ,r-yaml)
@ -4105,14 +4109,14 @@ (define-public r-fastcluster
(define-public r-sfsmisc
(package
(name "r-sfsmisc")
(version "1.1-2")
(version "1.1-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "sfsmisc" version))
(sha256
(base32
"0cgq2h11ngkzd6p34k6mqjnvlvc5vj4lnqrl64k05lb391j391w0"))))
"1y25nnw09qfm66523w1z4q766lv15a6ykvsq30r154n7m7aggvsq"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/sfsmisc")
(synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich")
@ -4446,13 +4450,13 @@ (define-public r-statmod
(define-public r-rann
(package
(name "r-rann")
(version "2.6")
(version "2.6.1")
(source (origin
(method url-fetch)
(uri (cran-uri "RANN" version))
(sha256
(base32
"1r6rivh9ba4gwnzryip0aiwsbm46zma7nvd9z5y456p2dgzp9lii"))))
"10kid40w9w7vkz2hpcfkdpxr4afxzms5dzvfwr0sl5xynzgw76dj"))))
(properties
`((upstream-name . "RANN")))
(build-system r-build-system)
@ -4515,14 +4519,14 @@ (define-public r-compquadform
(define-public r-cowplot
(package
(name "r-cowplot")
(version "0.9.3")
(version "0.9.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "cowplot" version))
(sha256
(base32
"1jrx1h0blkk577y4cvnjk7xccn7qmjiv2bnpgqlsjvjhsxglf41y"))))
"0yvalwalvyddyqk0q66y8361nxlh2cvp3ssazax9g5q89lghjmzv"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@ -4813,14 +4817,14 @@ (define-public r-pcapp
(define-public r-rrcov
(package
(name "r-rrcov")
(version "1.4-4")
(version "1.4-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "rrcov" version))
(sha256
(base32
"0wn5h8vi0zyk5ah898m37ysz4kiih6y792nb9zdvhvd8r07f0sc5"))))
"14zjyqcdiqx6js99nx5s8hmyx564ixy2d8s6i7wa50xmx368rl6b"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cluster" ,r-cluster)
@ -5019,14 +5023,14 @@ (define-public r-minqa
(define-public r-rcppeigen
(package
(name "r-rcppeigen")
(version "0.3.3.4.0")
(version "0.3.3.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "RcppEigen" version))
(sha256
(base32
"1m6ssq6lvi36ggf26y4hhq996583pxxdb978jnn1x6r9gdb0q0hi"))))
"01bz41c29591ybzqn4z88ss036ai3anh9figryvmfpqcfwbszip5"))))
(properties `((upstream-name . "RcppEigen")))
(build-system r-build-system)
(propagated-inputs
@ -5089,14 +5093,14 @@ (define-public r-matrixmodels
(define-public r-quantreg
(package
(name "r-quantreg")
(version "5.36")
(version "5.38")
(source
(origin
(method url-fetch)
(uri (cran-uri "quantreg" version))
(sha256
(base32
"023gdzahxp582rpabilpxbl3wyjrgjjnnrhcv9xhrqdfiq5l2yza"))))
"1vvvnk291f0dccg04l3nsnk585gq75sk0b2vdbrqv3lczvv18nw1"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
@ -5251,14 +5255,14 @@ (define-public r-car
(define-public r-caret
(package
(name "r-caret")
(version "6.0-80")
(version "6.0-81")
(source
(origin
(method url-fetch)
(uri (cran-uri "caret" version))
(sha256
(base32
"0xhdhazzfh0hiqv2hgxglj9ffd2p4ls8acqn2sjn0ndx6158f187"))))
"1fibrskjzq2f06b8gbrfp3263svfc5s5apsjwaqdg9qzs7sy7fpc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-foreach" ,r-foreach)

View file

@ -259,7 +259,7 @@ (define-public texlive-dvips
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0fcy2hpapbj01ncpjj3v39yhr0jjxb6rm13qaxjjw66s3vydxls1"))))
"1ky6wc173jhf0b33lhyb4r3bx1d4bmiqkn6y1hxn92kwjdzl42p7"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -290,7 +290,7 @@ (define-public texlive-dvips
(file-name (string-append "dvips-font-maps-" version "-checkout"))
(sha256
(base32
"09hply3nmy24ilnc6cl8q70jcqxvq6bwri572kms008ini3h9vqh"))))
"0nxvfbb5vsvakiw0iviicghdc2sxk05cj056ilqnpa62fffc36a6"))))
("dvips-base-enc"
,(origin
(method svn-fetch)
@ -326,7 +326,7 @@ (define-public texlive-generic-unicode-data
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0ivrhp6jz31pl4z841g4ws41lmvdiwz4sslmhf02inlib79gz6r2"))))
"0r1v16jyfpz6dwqsgm6b9jcj4kf2pkzc9hg07s6fx9g8ba8qglih"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -365,7 +365,7 @@ (define-public texlive-generic-dehyph-exptl
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1l9wgv99qq0ysvlxqpj4g8bl0dywbzra4g8m2kmpg2fb0i0hczap"))))
"03yj1di9py92drp6gpfva6q69vk2iixr79r7cp7ja570s3pr0m33"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -436,7 +436,7 @@ (define-public texlive-generic-hyph-utf8
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0ghizcz7ps16dzfqf66wwg5i181assc6qsm0g7g5dbmp909931vi"))))
"1alnn9cd60m2c12vym9f9q22ap1ngywxpkjl9dk472why44g1dmy"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -545,7 +545,7 @@ (define-public texlive-fontname
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0cssbzcx15221dynp5sii72qh4l18mwkr14n8w1xb19j8pbaqasz"))))
"05rbn7z30xawd3n6w7c3ijp2yc67ga220jgqmkla9pd9wx185rzq"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -579,7 +579,7 @@ (define-public texlive-fonts-cm
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"045k5b9rdmbxpy1a3006l1x96z1rd18vg3cwrvnld9bqybw5qz44"))))
"0vfjhidr9pha613h8mfhnpcpvld6ahdfb449918fpsfs93cppkyj"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@ -920,7 +920,7 @@ (define-public texlive-tex-plain
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0mjgl3gscn3ps29yjambz1j9fg81ynnncb96vpprwx4xsijhsns0"))))
"1xknlb3gcw6jjqh97bhghxi594bzpj1zfzzfsrr9pvr9s1bx7dnf"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -965,7 +965,7 @@ (define-public texlive-latex-base
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1h9pir2hz6i9avc4lrl733p3zf4rpkg8537x1zdbhs91hvhikw9k"))))
"17bqrzzjz16k52sc7ydl4vw7ddy2z3g0p1xsk2c35h1ynq9h3wwm"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@ -1086,7 +1086,7 @@ (define-public texlive-latex-base
"1cfwdg2rhbayl3w0x1xqd36d45zbc96f029myp13s7cb6kbmbppv"))
("texlive-generic-config"
,(texlive-dir "tex/generic/config/"
"19vj088p4kkp6xll0141m4kl6ssgdzhs3g10i232khb07aqiag8s"))
"1v90iihy112q93zdpblpdk8zv8rf99fgslsg06s1sxm27zjm9nap"))
("texlive-latex-base-support-files"
,(origin
(method svn-fetch)
@ -1098,7 +1098,7 @@ (define-public texlive-latex-base
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"16bs9pi3nq407xhg59glklqv43v102cg3yim6k3zcri5d9nkbv3a"))))
"18wy8dlcw8adl6jzqwbg54pdwlhs8hilnfvqbw6ikj6y3zhqkj7q"))))
("texlive-tex-plain" ,texlive-tex-plain)
("texlive-fonts-cm" ,texlive-fonts-cm)
("texlive-fonts-latex" ,texlive-fonts-latex)
@ -1237,7 +1237,7 @@ (define-public texlive-latex-graphics
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"07azyn0b1s49vbdlr6dmygrminxp72ndl24j1091hiiccvrjq3xc"))))
"0nlfhn55ax89rcvpkrl9570671b62kcr4c9l5ch3w5zw9vmi00dz"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/graphics"
@ -1286,7 +1286,7 @@ (define-public texlive-latex-graphics
"-checkout"))
(sha256
(base32
"0gi4qv6378nl84s8n1yx3hjqvv7r4lza7hpbymbl5rzwgw8qrnyb"))))))
"17zpcgrfsr29g1dkz9np1qi63kjv7gb12rg979c6dai6qksbr3vq"))))))
(home-page "https://www.ctan.org/pkg/latex-graphics")
(synopsis "LaTeX standard graphics bundle")
(description
@ -1362,7 +1362,7 @@ (define-public texlive-latex-oberdiek
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0aswvsxgsn709xmvpcg50d2xl7vcy1ckdxb9c1cligqqfjjvviqf"))))
"1m9fg8ddhpsl1212igr9a9fmj012lv780aghjn6fpidg2wqrffmn"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/oberdiek"
@ -1393,7 +1393,7 @@ (define-public texlive-latex-tools
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"052a0pch2k5zls5jlay9xxcf93rw3i60a2x28y3ip3rhbsv3xgiz"))))
"0vj7h1fgf1396h4qjdc2m07y08i54gbbfrxl8y327cn3r1n093s6"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/tools"
@ -1459,7 +1459,7 @@ (define-public texlive-latex-l3kernel
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0r0wfk594j8wkdqhh21haimwsfq8x5jch4ldm21hkzk5dnmvpbg6"))))
"0p3fsxap1ilwjz356aq4s5ygwvdscis8bh93g8klf8mhrd8cr2jy"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/l3kernel"))
@ -1483,7 +1483,7 @@ (define-public texlive-latex-l3packages
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"16jplkvzdysfssijq9l051nsks65c2nrarsl17k8gjhc28yznj8y"))))
"0pyx0hffiyss363vv7fkrcdiaf7p099xnq0mngzqc7v8v9q849hs"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/l3packages"
@ -1538,11 +1538,10 @@ (define-public texlive-latex-fontspec
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1rx43y5xmjqvc27pjdnmqwp4pcw3czcfd6nfpmzc1gnqfl1hlc0q"))))
"1p0mkn6iywl0k4m9cx3hnhylpi499inisff3f72pcf349baqsnvq"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/fontspec"
#:build-targets '("fontspec.dtx")))
'(#:tex-directory "latex/fontspec"))
(inputs
`(("texlive-latex-l3kernel" ,texlive-latex-l3kernel)))
(home-page "https://www.ctan.org/pkg/fontspec")
@ -1602,7 +1601,7 @@ (define-public texlive-latex-amsmath
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"178ywjpdlv78qmfzqdyn6gy14620zjsn2q9wap76fbr9s4hw6dba"))))
"0arvk7gn32mshnfdad5qkgf3i1arxq77k3vq7wnpm4nwnrzclxal"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/amsmath"))
(home-page "https://www.ctan.org/pkg/amsmath")
@ -1631,7 +1630,7 @@ (define-public texlive-latex-amscls
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0jmcr37mcdi7drczppvr6lmz5d5yd9m67ii79gp2nglg1xpw934j"))))
"0c2j9xh4qpi0x1vvcxdjxq6say0zhyr569fryi5cmhp8bclh4kca"))))
(build-system texlive-build-system)
(arguments
`(#:tex-directory "latex/amscls"))
@ -1655,7 +1654,7 @@ (define-public texlive-latex-babel
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1n3i5adsyy7jw0imnzrm2i8wkf73i3mjk9h3ic8cb9cd19i4r9r3"))))
"0yhlfiz3fjc8jd46f1zrjj4jig48l8rrzh8cmd8ammml8z9a01z6"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "generic/babel"
@ -1712,7 +1711,7 @@ (define-public texlive-latex-cyrillic
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1mdhl35hwas68ki56qqngzar37dwv4mm64l2canihr255bz34lbv"))))
"083xbwg7hrnlv47fkwvz8yjb830bhxx7y0mq7z7nz2f96y2ldr6b"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/cyrillic"))
@ -1946,6 +1945,13 @@ (define-public texlive-latex-dinbrief
(add-after 'unpack 'remove-generated-file
(lambda _
(delete-file "dinbrief.drv")
#t))
(add-after 'unpack 'fix-encoding-error
(lambda _
(with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute* "dinbrief.dtx"
(("zur Verf.+ung. In der Pr\"aambel")
"zur Verf\"ung. In der Pr\"aambel")))
#t)))))
(home-page "https://www.ctan.org/pkg/dinbrief")
(synopsis "German letter DIN style")
@ -2016,7 +2022,7 @@ (define-public texlive-latex-eqparbox
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0pvmhsd4xmpil0m3c7qcgwilbk266mlkzv03g0jr8r3zd8jxlyzq"))))
"1ib5xdwcj5wk23wgk41m2hdcjr1dzrs4l3wwnpink9mlapz12wjs"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/eqparbox"))
(home-page "https://www.ctan.org/pkg/eqparbox")
@ -2114,7 +2120,7 @@ (define-public texlive-latex-ifplatform
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"11gvvjvmdfs9b7mm19yf80zwkx49jqcbq6g8qb9y5ns1r1qvnixp"))))
"157pplavvm2z97b3jl4x41w11k6q9wgy074mfg0dwmsx5lm328jy"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/ifplatform"))
(home-page "https://www.ctan.org/pkg/ifplatform")
@ -2178,34 +2184,70 @@ (define-public texlive-latex-psfrag
rotated.")
(license (license:fsf-free "file://psfrag.dtx"))))
(define-public texlive-latex-xkeyval
(package
(name "texlive-latex-xkeyval")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (texlive-ref "latex" "xkeyval"))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0wancavix39j240pd8m9cgmwsijwx6jd6n54v8wg0x2rk5m44myp"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/xkeyval"))
(home-page "https://www.ctan.org/pkg/xkeyval")
(synopsis "Macros for defining and setting keys")
(description
"This package is an extension of the @code{keyval} package and offers
more flexible macros for defining and setting keys. The package provides a
pointer and a preset system. Furthermore, it supplies macros to allow class
and package options to contain options of the @code{key=value} form. A LaTeX
kernel patch is provided to avoid premature expansions of macros in class or
package options. A specialized system for setting @code{PSTricks} keys is
provided by the @code{pst-xkey} package.")
(license license:lppl1.3+)))
(define-public texlive-latex-pstool
(package
(name "texlive-latex-pstool")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (texlive-ref "latex" "pstool"))
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/latex/pstool"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1kwlk1x67lad4xb7gpkxqgdlxwpi6nvq1r9wika7m92abmyf18h3"))))
(build-system texlive-build-system)
"1h816jain8c9nky75kk8pmmwj5b4yf9dpqvdvi2l6jhfj5iqkzr8"))))
(build-system trivial-build-system)
(arguments
'(#:tex-directory "latex/pstool"
#:tex-format "latex"))
(inputs
`(("texlive-fonts-cm" ,texlive-fonts-cm)
("texlive-latex-filecontents" ,texlive-latex-filecontents)))
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((target (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/tex/latex/pstool")))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs "source") target)
#t))))
(propagated-inputs
`(("texlive-latex-bigfoot" ,texlive-latex-bigfoot)
`(("texlive-latex-bigfoot" ,texlive-latex-bigfoot) ; for suffix
("texlive-latex-filemod" ,texlive-latex-filemod)
("texlive-latex-graphics" ,texlive-latex-graphics)
("texlive-latex-ifplatform" ,texlive-latex-ifplatform)
("texlive-latex-l3kernel" ,texlive-latex-l3kernel) ; for expl3
("texlive-latex-oberdiek" ,texlive-latex-oberdiek)
("texlive-latex-psfrag" ,texlive-latex-psfrag)
("texlive-latex-trimspaces" ,texlive-latex-trimspaces)))
("texlive-latex-tools" ,texlive-latex-tools) ; for shellesc
("texlive-latex-trimspaces" ,texlive-latex-trimspaces)
("texlive-latex-xkeyval" ,texlive-latex-xkeyval)))
(home-page "https://www.ctan.org/pkg/pstool")
(synopsis "Process PostScript graphisc within pdfLaTeX documents")
(synopsis "Process PostScript graphics within pdfLaTeX documents")
(description
"This is a package for processing PostScript graphics with @code{psfrag}
labels within pdfLaTeX documents. Every graphic is compiled individually,
@ -2360,7 +2402,7 @@ (define-public texlive-latex-etoolbox
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0016bscnpima9krrg2569mva78xzwnygzlvg87dznsm6gf8g589v"))))
"1agmq6bf8wzcd77n20ng8bl4kh69cg5f6sjniii7bcw4llhd3nc8"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -2542,7 +2584,7 @@ (define-public texlive-latex-geometry
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1r2kfcwclg33yk5z8mvlagwxj7nr1mc3w4bdpmhrwv6dn8mrbvw8"))))
"0yw6bjfgsli3s1dldsgb7mkr7lnk329cgdjbgs8z2xn59pmmdsn4"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/geometry"))
(home-page "https://www.ctan.org/pkg/geometry")
@ -2591,7 +2633,7 @@ (define-public texlive-latex-polyglossia
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"09mvszd5qgqg4cfglpj5qxyzjz190ppb9p8gnsnjydwp1akvhayf"))))
"03ma58z3ypsbp7zgkzb1ylpn2ygr27cxzkf042ns0rif4g8s491f"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/polyglossia"))
(home-page "https://www.ctan.org/pkg/polyglossia")
@ -2637,7 +2679,7 @@ (define-public texlive-tex-texinfo
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"09zj2w3lx0y6i2syfjjgizahf86z301dw8p37ln6syfhqhzqdz46"))))
"06cf821y1j7jdg93pb41ayigrfwgn0y49d7w1025zlijjxi6bvjp"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -2754,7 +2796,7 @@ (define-public texlive-latex-changebar
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1ik4m8pzfsn1grlda6fniqqfwmgj7rfxwg63jdw0p0qv002vc7ik"))))
"05x15ilynqrl448h8l6qiraygamdldlngz89a2bw7kg74fym14ch"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/changebar"))
(home-page "https://www.ctan.org/pkg/changebar")
@ -2870,7 +2912,7 @@ (define-public texlive-latex-fancyhdr
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"04h430agf8aj7ziwyb46xpk95c605rjk1wzhr63m6ylipihidlgw"))))
"1xsnzx7vgdfh9zh2m7bjz6bgdpxsgb1kyc19p50vhs34x5nbgsnr"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -3288,7 +3330,7 @@ (define-public texlive-latex-overpic
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0m29q9qdb00558b7g2i7iw6w62n5s46yx81j8m99qkv77magk4fm"))))
"1rpx4ibjncj5416rg19v0xjbj3z9avhfdfn2gzp8r8sz9vz25c6g"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -3354,7 +3396,7 @@ (define-public texlive-latex-pdfpages
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"06p5smfq66559ppdnmkl3hp8534x84ywbscimsiir4gllpya3i9h"))))
"0s4izcah7im67889qz4d26pcfpasmm35sj1rw4ragkkdk3rlbbbd"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/pdfpages"))
(home-page "https://www.ctan.org/pkg/pdfpages")
@ -3768,7 +3810,7 @@ (define-public texlive-metapost
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"03nvjddffiz796wll6axzmgfvynyciy2mqamv20qx252w71vwkwd"))))
"0sf18pc6chgy26p9bxxn44xcqhzjrfb53jxjr2y7l3jb6xllhblq"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -3948,7 +3990,7 @@ (define-public texlive-latex-preview
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0j6fff6q0ca96nwfdgay2jm55792z4q9aa0rczmiw2qccyg5n2dv"))))
"1hpsk4yp08qvbl43kqiv0hhwxv3gcqqxcpahyv6ch2b38pbj4bh6"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/preview"
@ -4035,7 +4077,7 @@ (define-public texlive-generic-pdftex
(file-name (string-append name "-map-" version "-checkout"))
(sha256
(base32
"197z9kx3bpnz58f5xrn5szyvmb3fxqq12y5sc4dw4jnm3xll8ji2"))))))
"18jvcm0vwpg6wwzijvnb92xx78la45kkh71k6l44425krp2vnwm0"))))))
(home-page "https://www.ctan.org/pkg/pdftex")
(synopsis "TeX extension for direct creation of PDF")
(description
@ -4515,7 +4557,7 @@ (define-public texlive-latex-media9
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"01ysky8h8s6q12dxfahkzwhbkc9j5wl50xzcczy0cbjx9f6aj9kv"))))
"0lhb2h5hxjq9alpk4r3gvg21pwyifs4ah6hqzp92k55mkp1xv73j"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -4555,7 +4597,7 @@ (define-public texlive-latex-ocgx2
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"12kkl7n534j0p4frwyrlw22dc3ik50kxv97cxp4xpmji13m0hxpf"))))
"0zp00jg058djx8xp0xqwas92y3j97clkyd8z6pqr890yqy06myqb"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -4785,7 +4827,7 @@ (define-public texlive-latex-koma-script
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1g8qg796hc6s092islnybaxs115ldsqwp2vxkk3gpy6vh7wc9r50"))))
"0nqwf0sr4mf3v9gqa6apv6ml2xhcdwax0vgyf12a672g7rpdyvgm"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils)
@ -4845,7 +4887,7 @@ (define-public texlive-generic-listofitems
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1k50z6ixgwwzy84mi0dr5vcjah5p7wvgq66y45bilm91a4m8sgla"))))
"0hs28fc0v2l92ad9las9b8xcckyrdrwmyhcx1yzmbr6s7s6nvsx8"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -5111,7 +5153,7 @@ (define-public texlive-bibtex
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1gk9q22fcb2fa1ql6cf9yw505x6a6axdzzfxbsya7nkrph860af8"))))
"0hnbs0s1znbn32hfcsyijl39z81sdb00jf092a4blqz421qs2mbv"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -5215,7 +5257,7 @@ (define-public texlive-context-base
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0zwl0cg6pka13i26dpqh137391f3j9sk69cpvwrm4ivsa0rqnw6g"))))
"0rlx4qqijms1n64gjx475kvip8l322fh7v17zkmwp1l1g0w3vlyz"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))

View file

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

View file

@ -524,7 +524,7 @@ (define-public git-minimal
(define-public libgit2
(package
(name "libgit2")
(version "0.26.8")
(version "0.27.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libgit2/libgit2/"
@ -532,7 +532,7 @@ (define-public libgit2
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"15kp4sq72kh762bm7dgspyrk0a6siarvll3k7nrhs0xy77idf80g"))
"0c95pbv7hwclwmn51nqnh1lb0cajpcdb24pbdzcir6vmhfj3am0s"))
(patches (search-patches "libgit2-mtime-0.patch"
"libgit2-oom-test.patch"))

View file

@ -21,7 +21,7 @@
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
@ -704,6 +704,7 @@ (define-public ffmpeg
("libbluray" ,libbluray)
("libcaca" ,libcaca)
("libcdio-paranoia" ,libcdio-paranoia)
("libdrm" ,libdrm)
("libtheora" ,libtheora)
("libva" ,libva)
("libvdpau" ,libvdpau)
@ -805,6 +806,7 @@ (define-public ffmpeg
"--enable-libx265"
"--enable-openal"
"--enable-opengl"
"--enable-libdrm"
"--enable-runtime-cpudetect"
@ -3267,3 +3269,32 @@ (define-public dav1d
(description "dav1d is a new AV1 cross-platform decoder, and focused on
speed and correctness.")
(license license:bsd-2)))
(define-public wlstream
(let ((commit "182076a94562b128c3a97ecc53cc68905ea86838")
(revision "1"))
(package
(name "wlstream")
(version (git-version "0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/atomnuker/wlstream.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp"))))
(build-system meson-build-system)
(native-inputs `(("libdrm" ,libdrm)
("pkg-config" ,pkg-config)))
(inputs `(("ffmpeg" ,ffmpeg)
("pulseaudio" ,pulseaudio)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/atomnuker/wlstream")
(synopsis "Screen capture tool for Wayland sessions")
(description "Wlstream is a screen capture tool for recording audio and
video from a Wayland session.")
(license license:lgpl2.1+))))

View file

@ -10,6 +10,7 @@
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1074,3 +1075,30 @@ (define-public bubblewrap
in the sandbox. Any such directories specified is mounted nodev by default,
and can be made readonly.")
(license license:lgpl2.0+)))
(define-public bochs
(package
(name "bochs")
(version "2.6.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/bochs/files/bochs/"
version "/bochs-" version ".tar.gz"))
(sha256
(base32
"1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; No tests exist
(inputs
`(("libxrandr" ,libxrandr)))
(home-page "http://bochs.sourceforge.net/")
(synopsis "Emulator for x86 PC")
(description
"Bochs is an emulator which can emulate Intel x86 CPU, common I/O
devices, and a custom BIOS. It can also be compiled to emulate many different
x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors.
Bochs can run most Operating Systems inside the emulation including Linux,
DOS or Microsoft Windows.")
(license license:lgpl2.0+)))

View file

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

View file

@ -224,48 +224,48 @@ (define-public wine64
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
(version "4.0-rc5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/wine-staging/wine-staging")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0smp6ngs77vk1yg0saavhhn7kmi9ri8y8gc3vcgg837ycwg5i5qb"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((build-directory ,(string-append name "-" version))
(source (assoc-ref %build-inputs "source"))
(bash (assoc-ref %build-inputs "bash"))
(coreutils (assoc-ref %build-inputs "coreutils"))
(out (assoc-ref %outputs "out"))
(wine-staging (string-append out "/share/wine-staging")))
(copy-recursively source build-directory)
(with-directory-excursion build-directory
(substitute* "patches/patchinstall.sh"
(("/bin/sh")
(string-append bash "/bin/sh")))
(substitute* "patches/gitapply.sh"
(("/usr/bin/env")
(string-append coreutils "/bin/env"))))
(copy-recursively build-directory wine-staging)
#t))))
(home-page "https://github.com/wine-staging")
(synopsis "Patchset for Wine")
(description
"wine-staging-patchset-data contains the patchset to build Wine-Staging.")
(license license:lgpl2.1+)))
(name "wine-staging-patchset-data")
(version "4.0-rc5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/wine-staging/wine-staging")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0smp6ngs77vk1yg0saavhhn7kmi9ri8y8gc3vcgg837ycwg5i5qb"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((build-directory ,(string-append name "-" version))
(source (assoc-ref %build-inputs "source"))
(bash (assoc-ref %build-inputs "bash"))
(coreutils (assoc-ref %build-inputs "coreutils"))
(out (assoc-ref %outputs "out"))
(wine-staging (string-append out "/share/wine-staging")))
(copy-recursively source build-directory)
(with-directory-excursion build-directory
(substitute* "patches/patchinstall.sh"
(("/bin/sh")
(string-append bash "/bin/sh")))
(substitute* "patches/gitapply.sh"
(("/usr/bin/env")
(string-append coreutils "/bin/env"))))
(copy-recursively build-directory wine-staging)
#t))))
(home-page "https://github.com/wine-staging")
(synopsis "Patchset for Wine")
(description
"wine-staging-patchset-data contains the patchset to build Wine-Staging.")
(license license:lgpl2.1+)))
(define-public wine-staging
(package
@ -286,6 +286,7 @@ (define-public wine-staging
("ffmpeg" ,ffmpeg)
("gtk+" ,gtk+)
("libva" ,libva)
("mesa" ,mesa)
("python" ,python)
("sdl2" ,sdl2)
("util-linux" ,util-linux) ; for hexdump
@ -296,6 +297,27 @@ (define-public wine-staging
(arguments
`(#:phases
(modify-phases %standard-phases
;; Explicitely set the 32-bit version of vulkan-loader when installing
;; to i686-linux or x86_64-linux.
;; TODO: Add more JSON files as they become available in Mesa.
,@(match (%current-system)
((or "i686-linux" "x86_64-linux")
`((add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(icd (string-append out "/share/vulkan/icd.d")))
(mkdir-p icd)
(copy-file (string-append (assoc-ref inputs "mesa")
"/share/vulkan/icd.d/radeon_icd.i686.json")
(string-append icd "/radeon_icd.i686.json"))
(wrap-program (string-append out "/bin/wine-preloader")
`("VK_ICD_FILENAMES" ":" =
(,(string-append icd
"/radeon_icd.i686.json"))))
#t)))))
(_
`())
)
(add-before 'configure 'patch-source-wine-staging
(lambda* (#:key outputs #:allow-other-keys)
(let* ((source (assoc-ref %build-inputs "source"))
@ -344,6 +366,34 @@ (define-public wine64-staging
(string-append "libdir=" %output "/lib/wine64"))
#:phases
(modify-phases %standard-phases
;; Explicitely set both the 64-bit and 32-bit versions of vulkan-loader
;; when installing to x86_64-linux so both are available.
;; TODO: Add more JSON files as they become available in Mesa.
,@(match (%current-system)
((or "x86_64-linux")
`((add-after 'copy-wine32-binaries 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/wine-preloader")
`("VK_ICD_FILENAMES" ":" =
(,(string-append (assoc-ref inputs "mesa")
"/share/vulkan/icd.d/radeon_icd.x86_64.json" ":"
(assoc-ref inputs "mesa")
"/share/vulkan/icd.d/intel_icd.x86_64.json" ":"
(assoc-ref inputs "wine-staging")
"/share/vulkan/icd.d/radeon_icd.i686.json"))))
(wrap-program (string-append out "/bin/wine64-preloader")
`("VK_ICD_FILENAMES" ":" =
(,(string-append (assoc-ref inputs "mesa")
"/share/vulkan/icd.d/radeon_icd.x86_64.json"
":" (assoc-ref inputs "mesa")
"/share/vulkan/icd.d/intel_icd.x86_64.json"
":" (assoc-ref inputs "wine-staging")
"/share/vulkan/icd.d/radeon_icd.i686.json"))))
#t)))))
(_
`())
)
(add-before 'configure 'patch-source-wine-staging
(lambda* (#:key outputs #:allow-other-keys)
(let* ((source (assoc-ref %build-inputs "source"))
@ -359,7 +409,9 @@ (define-public wine64-staging
;; Copy the 32-bit binaries needed for WoW64.
(copy-file (string-append wine32 "/bin/wine")
(string-append out "/bin/wine"))
(copy-file (string-append wine32 "/bin/wine-preloader")
;; Copy the real 32-bit wine-preloader instead of the wrapped
;; version.
(copy-file (string-append wine32 "/bin/.wine-preloader-real")
(string-append out "/bin/wine-preloader"))
#t)))
(add-after 'compress-documentation 'copy-wine32-manpage

View file

@ -990,7 +990,7 @@ (define-public redshift
(define-public xscreensaver
(package
(name "xscreensaver")
(version "5.40")
(version "5.42")
(source
(origin
(method url-fetch)
@ -999,7 +999,7 @@ (define-public xscreensaver
version ".tar.gz"))
(sha256
(base32
"1q2sr7h6ps6d3hk8895g12rrcqiihjl7py1ly077ikv4866r181h"))))
"1qfbsnj7201d03vf0b2lzxmlcq4kvkvzp48r5gcgsjr17c1sl7a4"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@ -1013,7 +1013,9 @@ (define-public xscreensaver
#t)))
#:configure-flags '("--with-pam" "--with-proc-interrupts"
"--without-readdisplay")
#:make-flags (list (string-append "AD_DIR="
;; FIXME: Remove CFLAGS once our default compiler is GCC6 or later.
#:make-flags (list "CFLAGS=-std=c99"
(string-append "AD_DIR="
(assoc-ref %outputs "out")
"/usr/lib/X11/app-defaults"))))
(native-inputs
@ -1105,7 +1107,7 @@ (define-public xdpyprobe
(define-public rofi
(package
(name "rofi")
(version "1.5.1")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/DaveDavenport/rofi/"
@ -1113,7 +1115,7 @@ (define-public rofi
version "/rofi-" version ".tar.xz"))
(sha256
(base32
"0wx118banbwfqdwc5y44fkp3hxg97gj3vma16528slhy408hkg7i"))))
"17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj"))))
(build-system gnu-build-system)
(inputs
`(("pango" ,pango)
@ -1611,7 +1613,7 @@ (define-public sct
(synopsis "Set the color temperature of the screen")
(description "@code{sct} is a lightweight utility to set the color
temperature of the screen.")
(license license:bsd-3)))
(license (license:non-copyleft "file://sct.c")))) ; "OpenBSD" license
(define-public wl-clipboard
(package

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
@ -25,6 +25,7 @@
(define-module (gnu services base)
#:use-module (guix store)
#:use-module (guix deprecation)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (gnu system pam)
@ -614,8 +615,9 @@ (define urandom-seed-service-type
generator (RNG) with the value recorded when the system was last shut
down.")))
(define (urandom-seed-service) ;deprecated
(service urandom-seed-service-type #f))
(define-deprecated (urandom-seed-service)
urandom-seed-service-type
(service urandom-seed-service-type))
;;;
@ -1686,7 +1688,9 @@ (define guix-service-type
(description
"Run the build daemon of GNU@tie{}Guix, aka. @command{guix-daemon}.")))
(define* (guix-service #:optional (config %default-guix-configuration))
(define-deprecated (guix-service #:optional
(config %default-guix-configuration))
guix-service-type
"Return a service that runs the Guix build daemon according to
@var{config}."
(service guix-service-type config))
@ -1787,7 +1791,9 @@ (define guix-publish-service-type
"Add a Shepherd service running @command{guix publish}, a
command that allows you to share pre-built binaries with others over HTTP.")))
(define* (guix-publish-service #:key (guix guix) (port 80) (host "localhost"))
(define-deprecated (guix-publish-service #:key (guix guix)
(port 80) (host "localhost"))
guix-publish-service-type
"Return a service that runs @command{guix publish} listening on @var{host}
and @var{port} (@pxref{Invoking guix publish}).
@ -2078,8 +2084,9 @@ (define gpm-service-type
notably to select, copy, and paste text. The default options use the
@code{ps2} protocol, which works for both USB and PS/2 mice.")))
(define* (gpm-service #:key (gpm gpm) ;deprecated
(options %default-gpm-options))
(define-deprecated (gpm-service #:key (gpm gpm)
(options %default-gpm-options))
gpm-service-type
"Run @var{gpm}, the general-purpose mouse daemon, with the given
command-line @var{options}. GPM allows users to use the mouse in the console,
notably to select, copy, and paste text. The default value of @var{options}

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
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +21,7 @@ (define-module (gnu services mcron)
#:use-module (gnu services base)
#:use-module (gnu services shepherd)
#:autoload (gnu packages guile) (mcron)
#:use-module (guix deprecation)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
@ -142,7 +143,8 @@ (define mcron-service-type
jobs)))))
(default-value (mcron-configuration)))) ;empty job list
(define* (mcron-service jobs #:optional (mcron mcron))
(define-deprecated (mcron-service jobs #:optional (mcron mcron))
mcron-service-type
"Return an mcron service running @var{mcron} that schedules @var{jobs}, a
list of gexps denoting mcron job specifications.

View file

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

View file

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

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
;;;
@ -40,6 +40,7 @@ (define-module (gnu services xorg)
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix records)
#:use-module (guix deprecation)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
@ -521,14 +522,15 @@ (define slim-service-type
(const (list xterm)))))
(default-value (slim-configuration))))
(define* (slim-service #:key (slim slim) ;deprecated
(allow-empty-passwords? #t) auto-login?
(default-user "")
(theme %default-slim-theme)
(theme-name %default-slim-theme-name)
(xauth xauth) (shepherd shepherd)
(auto-login-session #f)
(startx (xorg-start-command)))
(define-deprecated (slim-service #:key (slim slim)
(allow-empty-passwords? #t) auto-login?
(default-user "")
(theme %default-slim-theme)
(theme-name %default-slim-theme-name)
(xauth xauth) (shepherd shepherd)
(auto-login-session #f)
(startx (xorg-start-command)))
slim-service-type
"Return a service that spawns the SLiM graphical login manager, which in
turn starts the X display server with @var{startx}, a command as returned by
@code{xorg-start-command}.
@ -628,7 +630,8 @@ (define-record-type* <gdm-configuration>
(allow-empty-passwords? gdm-configuration-allow-empty-passwords? (default #t))
(auto-login? gdm-configuration-auto-login? (default #f))
(default-user gdm-configuration-default-user (default #f))
(x-server gdm-configuration-x-server))
(x-server gdm-configuration-x-server
(default (xorg-wrapper))))
(define (gdm-etc-service config)
(define gdm-configuration-file
@ -719,14 +722,20 @@ (define gdm-service-type
(service-extension etc-service-type
gdm-etc-service)
(service-extension dbus-root-service-type
(compose list gdm-configuration-gdm))))))
(compose list
gdm-configuration-gdm))))
(default-value (gdm-configuration))
(description
"Run the GNOME Desktop Manager (GDM), a program that allows
you to log in in a graphical session, whether or not you use GNOME.")))
;; This service isn't working yet; it gets as far as starting to run the
;; greeter from gnome-shell but doesn't get any further. It is here because
;; it doesn't hurt anyone and perhaps it inspires someone to fix it :)
(define* (gdm-service #:key (gdm gdm)
(allow-empty-passwords? #t)
(x-server (xorg-wrapper)))
(define-deprecated (gdm-service #:key (gdm gdm)
(allow-empty-passwords? #t)
(x-server (xorg-wrapper)))
gdm-service-type
"Return a service that spawns the GDM graphical login manager, which in turn
starts the X display server with @var{X}, a command as returned by
@code{xorg-wrapper}.

View file

@ -253,7 +253,8 @@ (define bare-bones-os
;; The build daemon. Register the official server keys as trusted.
;; This allows the installation process to use substitutes by
;; default.
(guix-service (guix-configuration (authorize-key? #t)))
(service guix-service-type
(guix-configuration (authorize-key? #t)))
;; Start udev so that useful device nodes are available.
;; Use device-mapper rules for cryptsetup & co; enable the CRDA for

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@ -627,7 +627,8 @@ (define %mcron-os
(job3 #~(job next-second-from ;to test $PATH
"touch witness-touch")))
(simple-operating-system
(mcron-service (list job1 job2 job3)))))
(service mcron-service-type
(mcron-configuration (jobs (list job1 job2 job3)))))))
(define (run-mcron-test name)
(define os

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 @@ (define %test-dhcpd
(define %tor-os
(simple-operating-system
(tor-service)))
(service tor-service-type)))
(define %tor-os/unix-socks-socket
(simple-operating-system

View file

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

View file

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

View file

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

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -93,8 +93,8 @@ (define (download-nar item)
"Download and extract the normalized archive for ITEM. Return #t on
success, #f otherwise."
;; Let progress reports go through.
(setvbuf (current-error-port) _IONBF)
(setvbuf (current-output-port) _IONBF)
(setvbuf (current-error-port) 'none)
(setvbuf (current-output-port) 'none)
(let loop ((urls (urls-for-item item)))
(match urls

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@ -314,9 +314,7 @@ (define (log level str)
;; Write HTTP requests line by line rather than byte by byte:
;; <https://bugs.gnu.org/22966>. This is possible with Guile >= 2.2.
(cond-expand
(guile-2.2 (setvbuf record 'line))
(else #f))
(setvbuf record 'line)
record)))
@ -359,7 +357,7 @@ (define addresses
(connect* s (addrinfo:addr ai) timeout)
;; Buffer input and output on this port.
(setvbuf s _IOFBF)
(setvbuf s 'block)
;; If we're using a proxy, make a note of that.
(when http-proxy (set-http-proxy-port?! s #t))
s)
@ -403,7 +401,7 @@ (define https?
(with-https-proxy
(let ((s (open-socket-for-uri uri #:timeout timeout)))
;; Buffer input and output on this port.
(setvbuf s _IOFBF %http-receive-buffer-size)
(setvbuf s 'block %http-receive-buffer-size)
(if https?
(tls-wrap s (uri-host uri)
@ -506,18 +504,6 @@ (define (parse-rfc-822-date str space zone-offset)
(module-set! (resolve-module '(web http))
'parse-rfc-822-date parse-rfc-822-date))
;; XXX: Work around <http://bugs.gnu.org/19840>, present in Guile
;; up to 2.0.11.
(unless (or (> (string->number (major-version)) 2)
(> (string->number (minor-version)) 0)
(> (string->number (micro-version)) 11))
(let ((var (module-variable (resolve-module '(web http))
'declare-relative-uri-header!)))
;; If 'declare-relative-uri-header!' doesn't exist, forget it.
(when (and var (variable-bound? var))
(let ((declare-relative-uri-header! (variable-ref var)))
(declare-relative-uri-header! "Location")))))
;; XXX: Work around broken proxy handling on Guile 2.2 <= 2.2.2, fixed in
;; Guile commits 7d0d9e2c25c1e872cfc7d14ab5139915f1813d56 and
;; 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143. See bug report at
@ -791,11 +777,11 @@ (define content-addressed-uris
hashes))
content-addressed-mirrors))
;; Make this unbuffered so 'progress-report/file' works as expected. _IOLBF
;; Make this unbuffered so 'progress-report/file' works as expected. 'line
;; means '\n', not '\r', so it's not appropriate here.
(setvbuf (current-output-port) _IONBF)
(setvbuf (current-output-port) 'none)
(setvbuf (current-error-port) _IOLBF)
(setvbuf (current-error-port) 'line)
(let try ((uri (append uri content-addressed-uris)))
(match uri

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -67,7 +67,7 @@ (define %libc-object-files-rx "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|\
util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\
_nonshared\\.a)$")
(setvbuf (current-output-port) _IOLBF)
(setvbuf (current-output-port) 'line)
(let* ((libdir (string-append output "/lib")))
(mkdir-p libdir)
(for-each (lambda (file)

View file

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

View file

@ -35,7 +35,7 @@ (define-module (guix build texlive-build-system)
(define (compile-with-latex format file)
(invoke format
"-interaction=batchmode"
"-interaction=nonstopmode"
"-output-directory=build"
(string-append "&" format)
file))
@ -60,7 +60,12 @@ (define* (configure #:key inputs #:allow-other-keys)
(("^TEXMF = .*")
"TEXMF = $TEXMFROOT/share/texmf-dist\n"))
(setenv "TEXMFCNF" (dirname texmf.cnf))
(setenv "TEXMF" (string-append out "/share/texmf-dist")))
(setenv "TEXMF" (string-append out "/share/texmf-dist"))
;; Don't truncate lines.
(setenv "error_line" "254") ; must be less than 255
(setenv "half_error_line" "238") ; must be less than error_line - 15
(setenv "max_print_line" "1000"))
(mkdir "build")
#t)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com>
;;;
@ -39,6 +39,19 @@ (define-module (guix build union)
;;;
;;; Code:
;; This code can be used with the bootstrap Guile, which is Guile 2.0, so
;; provide a compatibility layer.
(cond-expand
((and guile-2 (not guile-2.2))
(define (setvbuf port mode . rest)
(apply (@ (guile) setvbuf) port
(match mode
('line _IOLBF)
('block _IOFBF)
('none _IONBF))
rest)))
(else #f))
(define (files-in-directory dirname)
(let ((dir (opendir dirname)))
(let loop ((files '()))
@ -179,10 +192,10 @@ (define (add-to-table! file dir)
(reverse dirs-with-file))))
table)))
(setvbuf (current-output-port) _IOLBF)
(setvbuf (current-error-port) _IOLBF)
(setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) 'line)
(when (file-port? log-port)
(setvbuf log-port _IOLBF))
(setvbuf log-port 'line))
(union-of-directories output (delete-duplicates inputs)))

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
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -154,7 +154,7 @@ (define addresses
(catch 'system-error
(lambda ()
(connect* s (addrinfo:addr ai) timeout)
(setvbuf s _IOLBF)
(setvbuf s 'line)
(let-values (((code message) (%ftp-listen s)))
(if (eqv? code 220)
(begin
@ -237,7 +237,7 @@ (define* (ftp-list conn #:optional directory #:key timeout)
(s (socket (addrinfo:fam ai) (addrinfo:socktype ai)
(addrinfo:protocol ai))))
(connect* s (address-with-port (addrinfo:addr ai) port) timeout)
(setvbuf s _IOLBF)
(setvbuf s 'line)
(dynamic-wind
(lambda () #t)
@ -293,7 +293,7 @@ (define (terminate)
(throw 'ftp-error conn "LIST" code message))))
(connect* s (address-with-port (addrinfo:addr ai) port) timeout)
(setvbuf s _IOLBF)
(setvbuf s 'line)
(%ftp-command (string-append "RETR " file)
150 (ftp-connection-socket conn))

View file

@ -97,7 +97,7 @@ (define* (http-fetch uri #:key port (text? #f) (buffered? #t)
headers))
(_ headers))))
(unless (or buffered? (not (file-port? port)))
(setvbuf port _IONBF))
(setvbuf port 'none))
(let*-values (((resp data)
(http-get uri #:streaming? #t #:port port
#:keep-alive? #t

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
@ -390,11 +390,11 @@ (define (package->upstream-name package)
(_ #f)))
(_ #f)))))
(define (latest-cran-release package)
"Return an <upstream-source> for the latest release of PACKAGE."
(define (latest-cran-release pkg)
"Return an <upstream-source> for the latest release of the package PKG."
(define upstream-name
(package->upstream-name package))
(package->upstream-name pkg))
(define meta
(fetch-description 'cran upstream-name))
@ -403,15 +403,18 @@ (define meta
(let ((version (assoc-ref meta "Version")))
;; CRAN does not provide signatures.
(upstream-source
(package (package-name package))
(package (package-name pkg))
(version version)
(urls (cran-uri upstream-name version))))))
(urls (cran-uri upstream-name version))
(input-changes
(changed-inputs pkg
(description->package 'cran meta)))))))
(define (latest-bioconductor-release package)
"Return an <upstream-source> for the latest release of PACKAGE."
(define (latest-bioconductor-release pkg)
"Return an <upstream-source> for the latest release of the package PKG."
(define upstream-name
(package->upstream-name package))
(package->upstream-name pkg))
(define version
(latest-bioconductor-package-version upstream-name))
@ -419,9 +422,13 @@ (define version
(and version
;; Bioconductor does not provide signatures.
(upstream-source
(package (package-name package))
(package (package-name pkg))
(version version)
(urls (bioconductor-uri upstream-name version)))))
(urls (bioconductor-uri upstream-name version))
(input-changes
(changed-inputs
pkg
(cran->guix-package upstream-name 'bioconductor))))))
(define (cran-package? package)
"Return true if PACKAGE is an R package from CRAN."

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -137,9 +137,7 @@ (define* (port->inferior pipe #:optional (close close-port))
"Given PIPE, an input/output port, return an inferior that talks over PIPE.
PIPE is closed with CLOSE when 'close-inferior' is called on the returned
inferior."
(cond-expand
((and guile-2 (not guile-2.2)) #t)
(else (setvbuf pipe 'line)))
(setvbuf pipe 'line)
(match (read pipe)
(('repl-version 0 rest ...)
@ -391,8 +389,8 @@ (define (select* read write except)
;; Use buffered ports so that 'get-bytevector-some' returns up to the
;; whole buffer like read(2) would--see <https://bugs.gnu.org/30066>.
(setvbuf client _IOFBF 65536)
(setvbuf backend _IOFBF 65536)
(setvbuf client 'block 65536)
(setvbuf backend 'block 65536)
(let loop ()
(match (select* (list client backend) '() '())

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,6 +23,7 @@ (define-module (guix scripts archive)
#:use-module ((guix build utils) #:select (mkdir-p))
#:use-module ((guix serialization) #:select (restore-file))
#:use-module (guix store)
#:use-module (guix status)
#:use-module (guix grafts)
#:use-module (guix packages)
#:use-module (guix derivations)
@ -55,7 +56,11 @@ (define %default-options
(substitutes? . #t)
(build-hook? . #t)
(graft? . #t)
(verbosity . 0)))
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)
(verbosity . 2)
(debug . 0)))
(define (show-help)
(display (G_ "Usage: guix archive [OPTION]... PACKAGE...
@ -85,6 +90,8 @@ (define (show-help)
-s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\""))
(display (G_ "
--target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\""))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(newline)
(show-build-options-help)
@ -161,6 +168,11 @@ (define %options
(option '(#\e "expression") #t #f
(lambda (opt name arg result)
(alist-cons 'expression arg result)))
(option '(#\v "verbosity") #t #f
(lambda (opt name arg result)
(let ((level (string->number* arg)))
(alist-cons 'verbosity level
(alist-delete 'verbosity result)))))
(option '(#\n "dry-run") #f #f
(lambda (opt name arg result)
(alist-cons 'dry-run? #t (alist-cons 'graft? #f result))))
@ -239,7 +251,6 @@ (define (export-from-store store opts)
resulting archive to the standard output port."
(let-values (((drv files)
(options->derivations+files store opts)))
(set-build-options-from-command-line store opts)
(show-what-to-build store drv
#:use-substitutes? (assoc-ref opts 'substitutes?)
#:dry-run? (assoc-ref opts 'dry-run?))
@ -329,21 +340,23 @@ (define (lines port)
((assoc-ref opts 'authorize)
(authorize-key))
(else
(with-store store
(cond ((assoc-ref opts 'export)
(export-from-store store opts))
((assoc-ref opts 'import)
(import-paths store (current-input-port)))
((assoc-ref opts 'missing)
(let* ((files (lines (current-input-port)))
(missing (remove (cut valid-path? store <>)
files)))
(format #t "~{~a~%~}" missing)))
((assoc-ref opts 'extract)
=>
(lambda (target)
(restore-file (current-input-port) target)))
(else
(leave
(G_ "either '--export' or '--import' \
must be specified~%"))))))))))))
(with-status-verbosity (assoc-ref opts 'verbosity)
(with-store store
(set-build-options-from-command-line store opts)
(cond ((assoc-ref opts 'export)
(export-from-store store opts))
((assoc-ref opts 'import)
(import-paths store (current-input-port)))
((assoc-ref opts 'missing)
(let* ((files (lines (current-input-port)))
(missing (remove (cut valid-path? store <>)
files)))
(format #t "~{~a~%~}" missing)))
((assoc-ref opts 'extract)
=>
(lambda (target)
(restore-file (current-input-port) target)))
(else
(leave
(G_ "either '--export' or '--import' \
must be specified~%")))))))))))))

View file

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

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Mike Gerwitz <mtg@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -157,6 +157,8 @@ (define (show-help)
(display (G_ "
--expose=SPEC for containers, expose read-only host file system
according to SPEC"))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ "
--bootstrap use bootstrap binaries to build the environment"))
(newline)
@ -179,7 +181,8 @@ (define %default-options
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)
(verbosity . 0)))
(debug . 0)
(verbosity . 2)))
(define (tag-package-arg opts arg)
"Return a two-element list with the form (TAG ARG) that tags ARG with either
@ -260,6 +263,11 @@ (define %options
(option '(#\r "root") #t #f
(lambda (opt name arg result)
(alist-cons 'gc-root arg result)))
(option '(#\v "verbosity") #t #f
(lambda (opt name arg result)
(let ((level (string->number* arg)))
(alist-cons 'verbosity level
(alist-delete 'verbosity result)))))
(option '("bootstrap") #f #f
(lambda (opt name arg result)
(alist-cons 'bootstrap? #t result)))
@ -674,7 +682,7 @@ (define (guix-environment . args)
(leave (G_ "'--user' cannot be used without '--container'~%")))
(with-store store
(with-status-report print-build-event
(with-status-verbosity (assoc-ref opts 'verbosity)
(define manifest
(options/resolve-packages store opts))

View file

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

View file

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

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com>
@ -293,7 +293,8 @@ (define* (display-search-paths entries profiles
(define %default-options
;; Alist of default option values.
`((verbosity . 0)
`((verbosity . 1)
(debug . 0)
(graft? . #t)
(substitutes? . #t)
(build-hook? . #t)
@ -346,7 +347,7 @@ (define (show-help)
(display (G_ "
--bootstrap use the bootstrap Guile to build the profile"))
(display (G_ "
--verbose produce verbose output"))
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(newline)
(display (G_ "
-s, --search=REGEXP search in synopsis and description using REGEXP"))
@ -472,13 +473,21 @@ (define %options
(values (alist-cons 'dry-run? #t
(alist-cons 'graft? #f result))
#f)))
(option '(#\v "verbosity") #t #f
(lambda (opt name arg result arg-handler)
(let ((level (string->number* arg)))
(values (alist-cons 'verbosity level
(alist-delete 'verbosity result))
#f))))
(option '("bootstrap") #f #f
(lambda (opt name arg result arg-handler)
(values (alist-cons 'bootstrap? #t result)
#f)))
(option '("verbose") #f #f
(option '("verbose") #f #f ;deprecated
(lambda (opt name arg result arg-handler)
(values (alist-cons 'verbose? #t result)
(values (alist-cons 'verbosity 2
(alist-delete 'verbosity
result))
#f)))
(option '("allow-collisions") #f #f
(lambda (opt name arg result arg-handler)
@ -907,14 +916,12 @@ (define (handle-argument arg result arg-handler)
(define opts
(parse-command-line args %options (list %default-options #f)
#:argument-handler handle-argument))
(define verbose?
(assoc-ref opts 'verbose?))
(with-error-handling
(or (process-query opts)
(parameterize ((%store (open-connection))
(%graft? (assoc-ref opts 'graft?)))
(with-status-report print-build-event/quiet
(with-status-verbosity (assoc-ref opts 'verbosity)
(set-build-options-from-command-line (%store) opts)
(parameterize ((%guile-for-build
(package-derivation

View file

@ -66,7 +66,8 @@ (define %default-options
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)
(graft? . #t)
(verbosity . 0)))
(debug . 0)
(verbosity . 2)))
(define (show-help)
(display (G_ "Usage: guix pull [OPTION]...
@ -89,6 +90,8 @@ (define (show-help)
(display (G_ "
-n, --dry-run show what would be pulled and built"))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ "
-s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\""))
(display (G_ "
--bootstrap use the bootstrap Guile to build the new Guix"))
@ -135,6 +138,11 @@ (define %options
(option '(#\n "dry-run") #f #f
(lambda (opt name arg result)
(alist-cons 'dry-run? #t (alist-cons 'graft? #f result))))
(option '(#\v "verbosity") #t #f
(lambda (opt name arg result)
(let ((level (string->number* arg)))
(alist-cons 'verbosity level
(alist-delete 'verbosity result)))))
(option '("bootstrap") #f #f
(lambda (opt name arg result)
(alist-cons 'bootstrap? #t result)))
@ -510,7 +518,7 @@ (define (guix-pull . args)
(process-query opts profile))
(else
(with-store store
(with-status-report print-build-event
(with-status-verbosity (assoc-ref opts 'verbosity)
(parameterize ((%current-system (assoc-ref opts 'system))
(%graft? (assoc-ref opts 'graft?))
(%repository-cache-directory cache))

View file

@ -1,11 +1,12 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,7 +42,6 @@ (define-module (guix scripts refresh)
#:use-module (ice-9 regex)
#:use-module (ice-9 vlist)
#:use-module (ice-9 format)
#:use-module (ice-9 threads) ; par-for-each
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
@ -172,6 +172,79 @@ (define (show-help)
(newline)
(show-bug-report-information))
(define (options->packages opts)
"Return the list of packages requested by OPTS, honoring options like
'--recursive'."
(define core-package?
(let* ((input->package (match-lambda
((name (? package? package) _ ...) package)
(_ #f)))
(final-inputs (map input->package %final-inputs))
(core (append final-inputs
(append-map (compose (cut filter-map input->package <>)
package-transitive-inputs)
final-inputs)))
(names (delete-duplicates (map package-name core))))
(lambda (package)
"Return true if PACKAGE is likely a \"core package\"---i.e., one whose
update would trigger a complete rebuild."
;; Compare by name because packages in base.scm basically inherit
;; other packages. So, even if those packages are not core packages
;; themselves, updating them would also update those who inherit from
;; them.
;; XXX: Fails to catch MPFR/MPC, whose *source* is used as input.
(member (package-name package) names))))
(define (keep-newest package lst)
;; If a newer version of PACKAGE is already in LST, return LST; otherwise
;; return LST minus the other version of PACKAGE in it, plus PACKAGE.
(let ((name (package-name package)))
(match (find (lambda (p)
(string=? (package-name p) name))
lst)
((? package? other)
(if (version>? (package-version other) (package-version package))
lst
(cons package (delq other lst))))
(_
(cons package lst)))))
(define args-packages
;; Packages explicitly passed as command-line arguments.
(match (filter-map (match-lambda
(('argument . spec)
;; Take either the specified version or the
;; latest one.
(specification->package spec))
(('expression . exp)
(read/eval-package-expression exp))
(_ #f))
opts)
(() ;default to all packages
(let ((select? (match (assoc-ref opts 'select)
('core core-package?)
('non-core (negate core-package?))
(_ (const #t)))))
(fold-packages (lambda (package result)
(if (select? package)
(keep-newest package result)
result))
'())))
(some ;user-specified packages
some)))
(define packages
(match (assoc-ref opts 'manifest)
(#f args-packages)
((? string? file) (packages-from-manifest file))))
(if (assoc-ref opts 'recursive?)
(mlet %store-monad ((edges (node-edges %bag-node-type
(all-packages))))
(return (node-transitive-edges packages edges)))
(with-monad %store-monad
(return packages))))
;;;
;;; Updates.
@ -224,7 +297,7 @@ (define* (update-package store package updaters
values: 'interactive' (default), 'always', and 'never'. When WARN? is true,
warn about packages that have no matching updater."
(if (lookup-updater package updaters)
(let-values (((version tarball)
(let-values (((version tarball changes)
(package-update store package updaters
#:key-download key-download))
((loc)
@ -238,6 +311,26 @@ (define* (update-package store package updaters
(location->string loc)
(package-name package)
(package-version package) version)
(for-each
(lambda (change)
(format (current-error-port)
(match (list (upstream-input-change-action change)
(upstream-input-change-type change))
(('add 'regular)
(G_ "~a: consider adding this input: ~a~%"))
(('add 'native)
(G_ "~a: consider adding this native input: ~a~%"))
(('add 'propagated)
(G_ "~a: consider adding this propagated input: ~a~%"))
(('remove 'regular)
(G_ "~a: consider removing this input: ~a~%"))
(('remove 'native)
(G_ "~a: consider removing this native input: ~a~%"))
(('remove 'propagated)
(G_ "~a: consider removing this propagated input: ~a~%")))
(package-name package)
(upstream-input-change-name change)))
(changes))
(let ((hash (call-with-input-file tarball
port-sha256)))
(update-package-source package version hash)))
@ -335,19 +428,6 @@ (define (full-name package)
(map full-name covering))))
(return #t))))
(define (refresh-recursive packages)
"Check all of the package inputs of PACKAGES for newer upstream versions."
(mlet %store-monad ((edges (node-edges %bag-node-type
;; Here we don't want the -boot0 packages.
(fold-packages cons '()))))
(let ((dependent (node-transitive-edges packages edges)))
;; par-for-each has an undefined return value, so packages which cause
;; errors can be ignored.
(par-for-each (lambda (package)
(guix-refresh package))
(map package-name dependent)))
(return #t)))
(define (list-transitive packages)
"List all the packages that would cause PACKAGES to be rebuilt if they are changed."
;; Using %BAG-NODE-TYPE is more accurate than using %PACKAGE-NODE-TYPE
@ -414,40 +494,6 @@ (define (options->updaters opts)
(lists
(concatenate lists))))
(define (keep-newest package lst)
;; If a newer version of PACKAGE is already in LST, return LST; otherwise
;; return LST minus the other version of PACKAGE in it, plus PACKAGE.
(let ((name (package-name package)))
(match (find (lambda (p)
(string=? (package-name p) name))
lst)
((? package? other)
(if (version>? (package-version other) (package-version package))
lst
(cons package (delq other lst))))
(_
(cons package lst)))))
(define core-package?
(let* ((input->package (match-lambda
((name (? package? package) _ ...) package)
(_ #f)))
(final-inputs (map input->package %final-inputs))
(core (append final-inputs
(append-map (compose (cut filter-map input->package <>)
package-transitive-inputs)
final-inputs)))
(names (delete-duplicates (map package-name core))))
(lambda (package)
"Return true if PACKAGE is likely a \"core package\"---i.e., one whose
update would trigger a complete rebuild."
;; Compare by name because packages in base.scm basically inherit
;; other packages. So, even if those packages are not core packages
;; themselves, updating them would also update those who inherit from
;; them.
;; XXX: Fails to catch MPFR/MPC, whose *source* is used as input.
(member (package-name package) names))))
(let* ((opts (parse-options))
(update? (assoc-ref opts 'update?))
(updaters (options->updaters opts))
@ -458,65 +504,38 @@ (define core-package?
;; Warn about missing updaters when a package is explicitly given on
;; the command line.
(warn? (or (assoc-ref opts 'argument)
(assoc-ref opts 'expression)))
(args-packages
(match (filter-map (match-lambda
(('argument . spec)
;; Take either the specified version or the
;; latest one.
(specification->package spec))
(('expression . exp)
(read/eval-package-expression exp))
(_ #f))
opts)
(() ; default to all packages
(let ((select? (match (assoc-ref opts 'select)
('core core-package?)
('non-core (negate core-package?))
(_ (const #t)))))
(fold-packages (lambda (package result)
(if (select? package)
(keep-newest package result)
result))
'())))
(some ; user-specified packages
some)))
(packages
(match (assoc-ref opts 'manifest)
(#f args-packages)
((? string? file) (packages-from-manifest file)))))
(warn? (and (or (assoc-ref opts 'argument)
(assoc-ref opts 'expression)
(assoc-ref opts 'manifest))
(not recursive?))))
(with-error-handling
(with-store store
(run-with-store store
(cond
(list-dependent?
(list-dependents packages))
(list-transitive?
(list-transitive packages))
(recursive?
(refresh-recursive packages))
(update?
(parameterize ((%openpgp-key-server
(or (assoc-ref opts 'key-server)
(%openpgp-key-server)))
(%gpg-command
(or (assoc-ref opts 'gpg-command)
(%gpg-command)))
(current-keyring
(or (assoc-ref opts 'keyring)
(string-append (config-directory)
"/upstream/trustedkeys.kbx"))))
(for-each
(cut update-package store <> updaters
#:key-download key-download
#:warn? warn?)
packages)
(with-monad %store-monad
(return #t))))
(else
(for-each (cut check-for-package-update <> updaters
#:warn? warn?)
packages)
(with-monad %store-monad
(mlet %store-monad ((packages (options->packages opts)))
(cond
(list-dependent?
(list-dependents packages))
(list-transitive?
(list-transitive packages))
(update?
(parameterize ((%openpgp-key-server
(or (assoc-ref opts 'key-server)
(%openpgp-key-server)))
(%gpg-command
(or (assoc-ref opts 'gpg-command)
(%gpg-command)))
(current-keyring
(or (assoc-ref opts 'keyring)
(string-append (config-directory)
"/upstream/trustedkeys.kbx"))))
(for-each
(cut update-package store <> updaters
#:key-download key-download
#:warn? warn?)
packages)
(return #t)))
(else
(for-each (cut check-for-package-update <> updaters
#:warn? warn?)
packages)
(return #t)))))))))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;;
@ -219,7 +219,7 @@ (define* (fetch uri #:key (buffered? #t) (timeout? #t))
(set! port (guix:open-connection-for-uri
uri #:verify-certificate? #f))
(unless (or buffered? (not (file-port? port)))
(setvbuf port _IONBF)))
(setvbuf port 'none)))
(http-fetch uri #:text? #f #:port port
#:verify-certificate? #f))))))
(else
@ -567,7 +567,7 @@ (define* (http-multiple-get base-uri proc seed requests
verify-certificate?))))
;; For HTTPS, P is not a file port and does not support 'setvbuf'.
(when (file-port? p)
(setvbuf p _IOFBF (expt 2 16)))
(setvbuf p 'block (expt 2 16)))
;; Send REQUESTS, up to a certain number, in a row.
;; XXX: Do our own caching to work around inefficiencies when

View file

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

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,6 +31,7 @@ (define-module (guix self)
#:use-module ((guix build compile) #:select (%lightweight-optimizations))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
#:export (make-config.scm
whole-package ;for internal use in 'guix pull'
@ -43,35 +44,6 @@ (define-module (guix self)
;;; Dependency handling.
;;;
(define* (false-if-wrong-guile package
#:optional (guile-version (effective-version)))
"Return #f if PACKAGE depends on the \"wrong\" major version of Guile (e.g.,
2.0 instead of 2.2), otherwise return PACKAGE."
(let ((guile (any (match-lambda
((label (? package? dep) _ ...)
(and (string=? (package-name dep) "guile")
dep)))
(package-direct-inputs package))))
(and (or (not guile)
(string-prefix? guile-version
(package-version guile)))
package)))
(define (package-for-guile guile-version . names)
"Return the package with one of the given NAMES that depends on
GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches."
(let loop ((names names))
(match names
(()
#f)
((name rest ...)
(match (specification->package name)
(#f
(loop rest))
((? package? package)
(or (false-if-wrong-guile package guile-version)
(loop rest))))))))
(define specification->package
;; Use our own variant of that procedure because that of (gnu packages)
;; would traverse all the .scm files, which is wasteful.
@ -89,12 +61,7 @@ (define specification->package
("gzip" (ref '(gnu packages compression) 'gzip))
("bzip2" (ref '(gnu packages compression) 'bzip2))
("xz" (ref '(gnu packages compression) 'xz))
("guile2.0-json" (ref '(gnu packages guile) 'guile2.0-json))
("guile2.0-ssh" (ref '(gnu packages ssh) 'guile2.0-ssh))
("guile2.0-git" (ref '(gnu packages guile) 'guile2.0-git))
;; XXX: No "guile2.0-sqlite3".
("guile2.0-gnutls" (ref '(gnu packages tls) 'gnutls/guile-2.0))
(_ #f)))) ;no such package
(_ #f)))) ;no such package
;;;
@ -528,7 +495,7 @@ (define* (compiled-guix source #:key (version %guix-version)
(pull-version 1)
(name (string-append "guix-" version))
(guile-version (effective-version))
(guile-for-build (guile-for-build guile-version))
(guile-for-build (default-guile))
(zlib (specification->package "zlib"))
(gzip (specification->package "gzip"))
(bzip2 (specification->package "bzip2"))
@ -536,32 +503,22 @@ (define* (compiled-guix source #:key (version %guix-version)
(guix (specification->package "guix")))
"Return a file-like object that contains a compiled Guix."
(define guile-json
(package-for-guile guile-version
"guile-json"
"guile2.0-json"))
(specification->package "guile-json"))
(define guile-ssh
(package-for-guile guile-version
"guile-ssh"
"guile2.0-ssh"))
(specification->package "guile-ssh"))
(define guile-git
(package-for-guile guile-version
"guile-git"
"guile2.0-git"))
(specification->package "guile-git"))
(define guile-sqlite3
(package-for-guile guile-version
"guile-sqlite3"
"guile2.0-sqlite3"))
(specification->package "guile-sqlite3"))
(define guile-gcrypt
(package-for-guile guile-version
"guile-gcrypt"))
(specification->package "guile-gcrypt"))
(define gnutls
(package-for-guile guile-version
"gnutls" "guile2.0-gnutls"))
(specification->package "gnutls"))
(define dependencies
(match (append-map (lambda (package)
@ -904,8 +861,8 @@ (define (process-directory directory files output)
#:report-load report-load
#:report-compilation report-compilation)))
(setvbuf (current-output-port) _IONBF)
(setvbuf (current-error-port) _IONBF)
(setvbuf (current-output-port) 'none)
(setvbuf (current-error-port) 'none)
(set! %load-path (cons #+module-tree %load-path))
(set! %load-path
@ -950,21 +907,6 @@ (define (process-directory directory files output)
;;; Building.
;;;
(define (guile-for-build version)
"Return a derivation for Guile 2.0 or 2.2, whichever matches the currently
running Guile."
(define canonical-package ;soft reference
(module-ref (resolve-interface '(gnu packages base))
'canonical-package))
(match version
("2.2"
(canonical-package (module-ref (resolve-interface '(gnu packages guile))
'guile-2.2)))
("2.0"
(module-ref (resolve-interface '(gnu packages guile))
'guile-2.0))))
(define* (guix-derivation source version
#:optional (guile-version (effective-version))
#:key (pull-version 0))
@ -981,9 +923,16 @@ (define (shorten version)
(define guile
;; When PULL-VERSION >= 1, produce a self-contained Guix and use Guile 2.2
;; unconditionally.
(guile-for-build (if (>= pull-version 1)
"2.2"
guile-version)))
(default-guile))
(when (and (< pull-version 1)
(not (string=? (package-version guile) guile-version)))
;; Guix < 0.15.0 has PULL-VERSION = 0, where the host Guile is reused and
;; can be any version. When that happens and Guile is not current (e.g.,
;; it's Guile 2.0), just bail out.
(raise (condition
(&message
(message "Guix is too old and cannot be upgraded")))))
(mbegin %store-monad
(set-guile-for-build guile)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -140,12 +140,12 @@ (define redirect
(match (select read write except)
((read write except)
(select read write except 0))))))
(setvbuf stdout _IONBF)
(setvbuf stdout 'none)
;; Use buffered ports so that 'get-bytevector-some' returns up to the
;; whole buffer like read(2) would--see <https://bugs.gnu.org/30066>.
(setvbuf stdin _IOFBF 65536)
(setvbuf sock _IOFBF 65536)
(setvbuf stdin 'block 65536)
(setvbuf sock 'block 65536)
(connect sock AF_UNIX ,socket-name)
@ -218,7 +218,7 @@ (define (consume-input port)
(consume-input (current-input-port))
(list 'protocol-error (nix-protocol-error-message c))))
(with-store store
(setvbuf (current-input-port) _IONBF)
(setvbuf (current-input-port) 'none)
(import-paths store (current-input-port))
'(success))))
(lambda args
@ -269,7 +269,7 @@ (define export
(write '(exporting)) ;we're ready
(force-output)
(setvbuf (current-output-port) _IONBF)
(setvbuf (current-output-port) 'none)
(export-paths store files (current-output-port)
#:recursive? ,recursive?))))))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@ -63,7 +63,8 @@ (define-module (guix status)
print-build-event/quiet
print-build-status
with-status-report))
with-status-report
with-status-verbosity))
;;; Commentary:
;;;
@ -636,9 +637,7 @@ (define port
;; The build port actually receives Unicode strings.
(set-port-encoding! port "UTF-8")
(cond-expand
((and guile-2 (not guile-2.2)) #t)
(else (setvbuf port 'line)))
(setvbuf port 'line)
(values port (lambda () %state)))
(define (call-with-status-report on-event thunk)
@ -651,3 +650,17 @@ (define-syntax-rule (with-status-report on-event exp ...)
"Set up build status reporting to the user using the ON-EVENT procedure;
evaluate EXP... in that context."
(call-with-status-report on-event (lambda () exp ...)))
(define (logger-for-level level)
"Return the logging procedure that corresponds to LEVEL."
(cond ((<= level 0) (const #t))
((= level 1) print-build-event/quiet)
(else print-build-event)))
(define (call-with-status-verbosity level thunk)
(call-with-status-report (logger-for-level level) thunk))
(define-syntax-rule (with-status-verbosity level exp ...)
"Set up build status reporting to the user at the given LEVEL: 0 means
silent, 1 means quiet, 2 means verbose. Evaluate EXP... in that context."
(call-with-status-verbosity level (lambda () exp ...)))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -404,11 +404,6 @@ (define %default-guix-port
(define (open-inet-socket host port)
"Connect to the Unix-domain socket at HOST:PORT and return it. Raise a
'&nix-connection-error' upon error."
;; Define 'TCP_NODELAY' on Guile 2.0. The value is the same on all GNU
;; systems.
(cond-expand (guile-2.2 #t)
(else (define TCP_NODELAY 1)))
(let ((sock (with-fluids ((%default-port-encoding #f))
;; This trick allows use of the `scm_c_read' optimization.
(socket PF_UNIX SOCK_STREAM 0))))
@ -613,7 +608,7 @@ (define buffer
(define %newlines
;; Newline characters triggering a flush of 'current-build-output-port'.
;; Unlike Guile's _IOLBF, we flush upon #\return so that progress reports
;; Unlike Guile's 'line, we flush upon #\return so that progress reports
;; that use that trick are correctly displayed.
(char-set #\newline #\return))

View file

@ -427,11 +427,6 @@ (define (install-locale)
(lambda _
(setlocale LC_ALL ""))
(lambda args
(cond-expand
;; Guile 2.2 already emits a warning, so let's not add a second one.
(guile-2.2 #t)
(else (warning (G_ "failed to install locale: ~a~%")
(strerror (system-error-errno args)))))
(display-hint (G_ "Consider installing the @code{glibc-utf8-locales} or
@code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these
lines:
@ -459,8 +454,8 @@ (define (initialize-guix)
;; notified via an EPIPE later.
(sigaction SIGPIPE SIG_IGN)
(setvbuf (current-output-port) _IOLBF)
(setvbuf (current-error-port) _IOLBF))
(setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) 'line))
(define* (show-version-and-exit #:optional (command (car (command-line))))
"Display version information for COMMAND and `(exit 0)'."

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,6 +46,7 @@ (define-module (guix upstream)
upstream-source-urls
upstream-source-signature-urls
upstream-source-archive-types
upstream-source-input-changes
url-prefix-predicate
coalesce-sources
@ -56,6 +58,12 @@ (define-module (guix upstream)
upstream-updater-predicate
upstream-updater-latest
upstream-input-change?
upstream-input-change-name
upstream-input-change-type
upstream-input-change-action
changed-inputs
%updaters
lookup-updater
@ -82,7 +90,73 @@ (define-record-type* <upstream-source>
(version upstream-source-version) ;string
(urls upstream-source-urls) ;list of strings
(signature-urls upstream-source-signature-urls ;#f | list of strings
(default #f)))
(default #f))
(input-changes upstream-source-input-changes
(default '()) (thunked)))
;; Representation of an upstream input change.
(define-record-type* <upstream-input-change>
upstream-input-change make-upstream-input-change
upstream-input-change?
(name upstream-input-change-name) ;string
(type upstream-input-change-type) ;symbol: regular | native | propagated
(action upstream-input-change-action)) ;symbol: add | remove
(define (changed-inputs package package-sexp)
"Return a list of input changes for PACKAGE based on the newly imported
S-expression PACKAGE-SEXP."
(match package-sexp
((and expr ('package fields ...))
(let* ((input->name (match-lambda ((name pkg . out) name)))
(new-regular
(match expr
((path *** ('inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
(_ '())))
(new-native
(match expr
((path *** ('native-inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
(_ '())))
(new-propagated
(match expr
((path *** ('propagated-inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
(_ '())))
(current-regular
(map input->name (package-inputs package)))
(current-native
(map input->name (package-native-inputs package)))
(current-propagated
(map input->name (package-propagated-inputs package))))
(append-map
(match-lambda
((action type names)
(map (lambda (name)
(upstream-input-change
(name name)
(type type)
(action action)))
names)))
`((add regular
,(lset-difference equal?
new-regular current-regular))
(remove regular
,(lset-difference equal?
current-regular new-regular))
(add native
,(lset-difference equal?
new-native current-native))
(remove native
,(lset-difference equal?
current-native new-native))
(add propagated
,(lset-difference equal?
new-propagated current-propagated))
(remove propagated
,(lset-difference equal?
current-propagated new-propagated))))))
(_ '())))
(define (url-prefix-predicate prefix)
"Return a predicate that returns true when passed a package where one of its
@ -268,12 +342,12 @@ (define (find2 pred lst1 lst2)
(define* (package-update store package updaters
#:key (key-download 'interactive))
"Return the new version and the file name of the new version tarball for
PACKAGE, or #f and #f when PACKAGE is up-to-date. KEY-DOWNLOAD specifies a
download policy for missing OpenPGP keys; allowed values: 'always', 'never',
and 'interactive' (default)."
"Return the new version, the file name of the new version tarball, and input
changes for PACKAGE; return #f (three values) when PACKAGE is up-to-date.
KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed
values: 'always', 'never', and 'interactive' (default)."
(match (package-latest-release* package updaters)
(($ <upstream-source> _ version urls signature-urls)
(($ <upstream-source> _ version urls signature-urls changes)
(let*-values (((name)
(package-name package))
((archive-type)
@ -299,9 +373,9 @@ (define* (package-update store package updaters
(or signature-urls (circular-list #f)))))
(let ((tarball (download-tarball store url signature-url
#:key-download key-download)))
(values version tarball))))
(values version tarball changes))))
(#f
(values #f #f))))
(values #f #f #f))))
(define (update-package-source package version hash)
"Modify the source file that defines PACKAGE to refer to VERSION,

View file

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

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