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

View File

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

View File

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

View File

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

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 @@ default." )
genomes and gene ID formats, largely based on the UCSC table browser.")
(license license:lgpl2.0+)))
(define-public r-txdb-mmusculus-ucsc-mm9-knowngene
(package
(name "r-txdb-mmusculus-ucsc-mm9-knowngene")
(version "3.2.2")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
;; located under "data/annotation/" instead of "bioc/".
(uri (string-append "https://bioconductor.org/packages/"
"release/data/annotation/src/contrib"
"/TxDb.Mmusculus.UCSC.mm9.knownGene_"
version ".tar.gz"))
(sha256
(base32
"16bjxy00363hf91ik2mqlqls86i07gia72qh92xc3l1ncch61mx2"))))
(properties
`((upstream-name . "TxDb.Mmusculus.UCSC.mm9.knownGene")))
(build-system r-build-system)
(propagated-inputs
`(("r-genomicfeatures" ,r-genomicfeatures)
("r-annotationdbi" ,r-annotationdbi)))
(home-page
"https://bioconductor.org/packages/TxDb.Mmusculus.UCSC.mm9.knownGene/")
(synopsis "Annotation package for mouse genome in TxDb format")
(description
"This package provides an annotation database of Mouse genome data. It
is derived from the UCSC mm9 genome and based on the \"knownGene\" track. The
database is exposed as a @code{TxDb} object.")
(license license:artistic2.0)))
(define-public r-hpar
(package
@ -411,14 +441,14 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno
(package
(name "r-chippeakanno")
(version "3.16.0")
(version "3.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256
(base32
"09fhh1355diip3v3c0skmp1336vclipkm5nv02qvp5902v4262y3"))))
"1x98d8iwrxjwdz1s5cnvi6flynw9gdkmara9gwf205qxgmy7j3a3"))))
(properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system)
(propagated-inputs
@ -778,14 +808,14 @@ trees and clusters to other programs.")
(define-public r-goseq
(package
(name "r-goseq")
(version "1.34.0")
(version "1.34.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "goseq" version))
(sha256
(base32
"1401x0jn5f8hqc12r3gd1wammp1nxir3is1k5ldd03ln97x00i7a"))))
"1j87j98cajcjqabv6rb6zmcqxsqxxhbb3w60w1iink4rhsh8m3mn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -804,14 +834,14 @@ defined categories which are over/under represented in RNA-seq data.")
(define-public r-glimma
(package
(name "r-glimma")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Glimma" version))
(sha256
(base32
"0cbsi6g8k1whkh21jxfn22sj7wry2g3rshiracf5nyvrl2fnl947"))))
"1ihrww55sa7ipi1rpp0rmn081sbqdwdmm5mz30zfrjr1xxqcdbcv"))))
(properties `((upstream-name . "Glimma")))
(build-system r-build-system)
(propagated-inputs
@ -831,14 +861,14 @@ information.")
(define-public r-rots
(package
(name "r-rots")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ROTS" version))
(sha256
(base32
"137c06g5w7mjw3b1mly7b7n9iix4fcy23c7a9ym9iz8dazwhzwn5"))))
"1d5ggkk47xybcaizfy756qimbf2falg9cld46mhqjp3xfbfvzsg6"))))
(properties `((upstream-name . "ROTS")))
(build-system r-build-system)
(propagated-inputs
@ -852,33 +882,64 @@ information.")
in omics data.")
(license license:gpl2+)))
(define-public r-plgem
(package
(name "r-plgem")
(version "1.54.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "plgem" version))
(sha256
(base32
"1330635db3p8xm5y8fwrk1l37r6bgypsq70s3rx954i775zp6szg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-mass" ,r-mass)))
(home-page "http://www.genopolis.it")
(synopsis "Detect differential expression in microarray and proteomics datasets")
(description
"The Power Law Global Error Model (PLGEM) has been shown to faithfully
model the variance-versus-mean dependence that exists in a variety of
genome-wide datasets, including microarray and proteomics data. The use of
PLGEM has been shown to improve the detection of differentially expressed
genes or proteins in these datasets.")
(license license:gpl2)))
(define-public r-inspect
(package
(name "r-inspect")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "INSPEcT" version))
(sha256
(base32
"0b671x5v2wyq5np2flq2m1fnjz32f303yjlw64a1inwc9k2w2pz2"))))
"07q5msw9rnamx957mbiawnv3p9kr5ahwawzvv9xzla7d3lkk62xp"))))
(properties `((upstream-name . "INSPEcT")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-deseq2" ,r-deseq2)
("r-desolve" ,r-desolve)
("r-genomicalignments" ,r-genomicalignments)
("r-genomicfeatures" ,r-genomicfeatures)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-plgem" ,r-plgem)
("r-preprocesscore" ,r-preprocesscore)
("r-proc" ,r-proc)
("r-rootsolve" ,r-rootsolve)
("r-rsamtools" ,r-rsamtools)
("r-s4vectors" ,r-s4vectors)))
("r-s4vectors" ,r-s4vectors)
("r-shiny" ,r-shiny)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-txdb-mmusculus-ucsc-mm9-knowngene"
,r-txdb-mmusculus-ucsc-mm9-knowngene)))
(home-page "https://bioconductor.org/packages/INSPEcT")
(synopsis "Analysis of 4sU-seq and RNA-seq time-course data")
(description
@ -918,14 +979,14 @@ demultiplexed, i.e. assigned to their original reference barcode.")
(define-public r-ruvseq
(package
(name "r-ruvseq")
(version "1.16.0")
(version "1.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RUVSeq" version))
(sha256
(base32
"0xb3bj3n06cb9xddkv77a8svhg4fl1azlfmibwrm9mq9464kgf0m"))))
"0qk7q3ab7k133divfkp54zsmvsmb9p8r09pkh2caswrzrn8achzv"))))
(properties `((upstream-name . "RUVSeq")))
(build-system r-build-system)
(propagated-inputs

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,308 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages java-compression)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system ant)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages java)
#:use-module (gnu packages perl))
(define-public java-snappy
(package
(name "java-snappy")
(version "1.1.7.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/xerial/snappy-java/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1p557vdv006ysgxbpp83krmq0066k46108vyiyka69w8i4i8rbbm"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "snappy.jar"
#:source-dir "src/main/java"
#:phases
(modify-phases %standard-phases
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
(invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java"
"-d" "lib")
;; Link to the dynamic bitshuffle and snappy, not the static ones
(substitute* "Makefile.common"
(("-shared")
"-shared -lbitshuffle -lsnappy"))
(substitute* "Makefile"
;; Don't try to use git, don't download bitshuffle source
;; and don't build it.
(("\\$\\(SNAPPY_GIT_UNPACKED\\) ")
"")
((": \\$\\(SNAPPY_GIT_UNPACKED\\)")
":")
(("\\$\\(BITSHUFFLE_UNPACKED\\) ")
"")
((": \\$\\(SNAPPY_SOURCE_CONFIGURED\\)") ":")
;; What we actually want to build
(("SNAPPY_OBJ:=.*")
"SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, \
SnappyNative.o BitShuffleNative.o)\n")
;; Since we removed the directory structure in "native" during
;; the previous phase, we need to recreate it.
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
;; Finally we can run the Makefile to build the dynamic library.
;; Use the -nocmake target to avoid a dependency on cmake,
;; which in turn requires the "git_unpacked" directory.
(invoke "make" "native-nocmake")))
;; Once we have built the shared library, we need to place it in the
;; "build" directory so it can be added to the jar file.
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'check 'fix-failing
(lambda _
(with-directory-excursion "src/test/java/org/xerial/snappy"
;; This package assumes maven build, which puts results in "target".
;; We put them in "build" instead, so fix that.
(substitute* "SnappyLoaderTest.java"
(("target/classes") "build/classes"))
;; This requires Hadoop, which is not in Guix yet.
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java"))
#t)))))
(inputs
`(("osgi-framework" ,java-osgi-framework)))
(propagated-inputs
`(("bitshuffle" ,bitshuffle-for-snappy)
("snappy" ,snappy)))
(native-inputs
`(("junit" ,java-junit)
("hamcrest" ,java-hamcrest-core)
("xerial-core" ,java-xerial-core)
("classworlds" ,java-plexus-classworlds)
("commons-lang" ,java-commons-lang)
("commons-io" ,java-commons-io)
("perl" ,perl)))
(home-page "https://github.com/xerial/snappy-java")
(synopsis "Compression/decompression algorithm in Java")
(description "Snappy-java is a Java port of snappy, a fast C++
compressor/decompressor.")
(license license:asl2.0)))
(define-public java-snappy-1
(package
(inherit java-snappy)
(version "1.0.3-rc3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/xerial/snappy-java/archive/"
"snappy-java-" version ".tar.gz"))
(sha256
(base32
"08hsxlqidiqck0q57fshwyv3ynyxy18vmhrai9fyc8mz17m7gsa3"))))
(arguments
`(#:jar-name "snappy.jar"
#:source-dir "src/main/java"
#:phases
(modify-phases %standard-phases
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
(invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java"
"-d" "lib")
;; Link to the dynamic snappy, not the static ones
(substitute* "Makefile.common"
(("-shared") "-shared -lsnappy"))
(substitute* "Makefile"
;; Don't download the sources here.
(("\\$\\(SNAPPY_UNPACKED\\) ") "")
((": \\$\\(SNAPPY_UNPACKED\\) ") ":")
;; What we actually want to build
(("SNAPPY_OBJ:=.*")
"SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, SnappyNative.o)\n")
;; Since we removed the directory structure in "native" during
;; the previous phase, we need to recreate it.
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
;; Finally we can run the Makefile to build the dynamic library.
(invoke "make" "native")))
;; Once we have built the shared library, we need to place it in the
;; "build" directory so it can be added to the jar file.
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'check 'fix-tests
(lambda _
(mkdir-p "src/test/resources/org/xerial/snappy/")
(copy-recursively "src/test/java/org/xerial/snappy/testdata"
"src/test/resources/org/xerial/snappy/testdata")
(install-file "src/test/java/org/xerial/snappy/alice29.txt"
"src/test/resources/org/xerial/snappy/")
#t)))))))
(define-public java-iq80-snappy
(package
(name "java-iq80-snappy")
(version "0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dain/snappy/archive/snappy-"
version ".tar.gz"))
(sha256
(base32
"0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "iq80-snappy.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:jdk ,icedtea-8
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(define (test class)
(invoke "java" "-cp" (string-append (getenv "CLASSPATH")
":build/classes"
":build/test-classes")
"-Dtest.resources.dir=src/test/resources"
"org.testng.TestNG" "-testclass"
class))
(invoke "ant" "compile-tests")
(test "org.iq80.snappy.SnappyFramedStreamTest")
(test "org.iq80.snappy.SnappyStreamTest")
#t))
(add-before 'build 'remove-hadoop-dependency
(lambda _
;; We don't have hadoop
(delete-file "src/main/java/org/iq80/snappy/HadoopSnappyCodec.java")
(delete-file "src/test/java/org/iq80/snappy/TestHadoopSnappyCodec.java")
#t)))))
(home-page "https://github.com/dain/snappy")
(native-inputs
`(("guava" ,java-guava)
("java-snappy" ,java-snappy)
("hamcrest" ,java-hamcrest-core)
("testng" ,java-testng)))
(synopsis "Java port of the Snappy (de)compressor")
(description
"Iq80-snappy is a port of the Snappy compressor and decompressor rewritten
in pure Java. This compression code produces a byte-for-byte exact copy of the
output created by the original C++ code, and is extremely fast.")
(license license:asl2.0)))
(define-public java-jbzip2
(package
(name "java-jbzip2")
(version "0.9.1")
(source (origin
(method url-fetch)
(uri (string-append "https://storage.googleapis.com/"
"google-code-archive-source/v2/"
"code.google.com/jbzip2/"
"source-archive.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0ncmhlqmrfmj96nqf6p77b9ws35lcfsvpfxzwxi2asissc83z1l3"))))
(build-system ant-build-system)
(native-inputs
`(("unzip" ,unzip)
("java-junit" ,java-junit)))
(arguments
`(#:tests? #f ; no tests
#:jar-name "jbzip2.jar"
#:source-dir "tags/release-0.9.1/src"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-encoding-problems
(lambda _
;; Some of the files we're patching are
;; ISO-8859-1-encoded, so choose it as the default
;; encoding so the byte encoding is preserved.
(with-fluids ((%default-port-encoding #f))
(substitute* "tags/release-0.9.1/src/org/itadaki/bzip2/HuffmanAllocator.java"
(("Milidi.") "Milidiu")))
#t)))))
(home-page "https://code.google.com/archive/p/jbzip2/")
(synopsis "Java bzip2 compression/decompression library")
(description "Jbzip2 is a Java bzip2 compression/decompression library.
It can be used as a replacement for the Apache @code{CBZip2InputStream} /
@code{CBZip2OutputStream} classes.")
(license license:expat)))
(define-public java-tukaani-xz
(package
(name "java-tukaani-xz")
(version "1.6")
(source (origin
(method url-fetch)
(uri (string-append "https://tukaani.org/xz/xz-java-" version ".zip"))
(sha256
(base32
"1z3p1ri1gvl07inxn0agx44ck8n7wrzfmvkz8nbq3njn8r9wba8x"))))
(build-system ant-build-system)
(arguments
`(#:tests? #f; no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
;; Our build system enters the first directory in the archive, but
;; the package is not contained in a subdirectory
(chdir "..")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Do we want to install *Demo.jar?
(install-file "build/jar/xz.jar"
(string-append
(assoc-ref outputs "out")
"/share/java/xz.jar"))
#t)))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://tukaani.org")
(synopsis "XZ in Java")
(description "Tukaani-xz is an implementation of xz compression/decompression
algorithms in Java.")
(license license:public-domain)))

View File

@ -60,6 +60,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages 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 @@ in applications using the KDE Frameworks.")
(("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
(("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
#t)))))
(native-search-paths
(list (search-path-specification
(variable "KDEINIT5_LIBRARY_PATH")
(files '("lib/")))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))

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 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
(define-public libcmis
(package
(name "libcmis")
(version "0.5.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/tdf/libcmis/releases/download/v"
version "/libcmis-" version ".tar.gz"))
version "/libcmis-" version ".tar.xz"))
(sha256
(base32
"03kvl8ywsv5qrxblf0m6955mmvl5q2zpb6vj51vs7ayvxhidzjva"))))
"18h0a2gsfxvlv03nlcfvw9bzsflq5sin9agq6za103hr0ab8vcfp"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
@ -313,22 +313,10 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
;; FIXME: Man pages generation requires docbook-to-man; reenable
;; it once this is available.
"--without-man"
;; avoid triggering configure errors by simple inclusion of
;; boost headers
"--disable-werror"
;; During configure, the boost headers are found, but linking
;; fails without the following flag.
(string-append "--with-boost="
(assoc-ref %build-inputs "boost")))
#:phases (modify-phases %standard-phases
(add-before 'build 'fix-boost-include
(lambda _
;; This library moved in Boost and the compatibility
;; redirect is no longer available since version 1.68.0.
(substitute* "src/libcmis/xml-utils.cxx"
(("boost/uuid/sha1.hpp")
"boost/uuid/detail/sha1.hpp"))
#t)))))
(assoc-ref %build-inputs "boost")))))
(home-page "https://github.com/tdf/libcmis")
(synopsis "CMIS client library")
(description "LibCMIS is a C++ client library for the CMIS interface. It
@ -370,14 +358,14 @@ AbiWord documents.")
(define-public libcdr
(package
(name "libcdr")
(version "0.1.4")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
(uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256 (base32
"0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7"))))
"0j1skr11jwvafn0l6p37v3i4lqc8wcn489g8f7c4mqwbk94mrkka"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
@ -390,9 +378,6 @@ AbiWord documents.")
("zlib" ,zlib)))
(inputs
`(("boost" ,boost)))
(arguments
;; avoid triggering a build failure due to warnings
`(#:configure-flags '("--disable-werror")))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr")
(synopsis "Library for parsing the CorelDRAW format")
(description "Libcdr is a library that parses the file format of
@ -402,39 +387,31 @@ CorelDRAW documents of all versions.")
(define-public libetonyek
(package
(name "libetonyek")
(version "0.1.8")
(version "0.1.9")
(source
(origin
(method url-fetch)
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256 (base32
"0bfq9rwm040xhh7b3v0gsdavwvnrz4hkwnhpggarxk70mr3j7jcx"))))
"0jhsbdimiyijdqriy0zzkjjgc4wi6fjimhdg4mdybrlwg7l7f5p6"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-mdds=1.4")
#:phases (modify-phases %standard-phases
(add-before 'configure 'support-mdds-1.4
(lambda _
;; This package already works fine with mdds 1.4, but the
;; configure check is too strict. Taken from upstream.
(substitute* "configure"
(("mdds=1\\.2") "mdds=1.4")
(("mdds=\"1\\.2\"") "mdds=\"1.4\""))
#t)))))
`(#:configure-flags '("--with-mdds=1.4")))
(native-inputs
`(("cppunit" ,cppunit)
("doxygen" ,doxygen)
("glm" ,glm)
("gperf" ,gperf)
("liblangtag" ,liblangtag)
("mdds" ,mdds)
("pkg-config" ,pkg-config)))
(propagated-inputs ; in Requires or Requires.private field of .pkg
`(("librevenge" ,librevenge)
("libxml2" ,libxml2)))
`(("liblangtag" ,liblangtag)
("librevenge" ,librevenge)
("libxml2" ,libxml2)
("zlib" ,zlib)))
(inputs
`(("boost" ,boost)))
`(("boost" ,boost)
("glm" ,glm)
("mdds" ,mdds)))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
(synopsis "Library for parsing the Apple Keynote format")
(description "Libetonyek is a library that parses the file format of

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 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
(define %linux-libre-version "4.20")
(define %linux-libre-hash "07ss8nx95f4pqzzjy382fy5hk7anjm3hpbb3mzl1x8fzfq05q3dq")
(define %linux-libre-version "4.20.1")
(define %linux-libre-hash "10b1cgx7246lxwml66bzzc57sk5bbh7mjxc9zv6qncwh0xhsjv5n")
(define %linux-libre-4.20-patches
(list %boot-logo-patch
@ -426,8 +427,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.20-patches
#:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.13")
(define %linux-libre-4.19-hash "0ac0ywy542fiwdiab2z12rbjn9zw8vjbzkbpmpk9nfic2mcyrg8r")
(define %linux-libre-4.19-version "4.19.14")
(define %linux-libre-4.19-hash "12ihsp3k8gznc1hjvlpy8jdb27ijr3zsvn8wcgr5za18pg5ncjl9")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@ -440,8 +441,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.91")
(define %linux-libre-4.14-hash "1xr4q6hqjg4fjcd1w8qi2x9a11ms9wvascy9b1p6czblg9j9dd6a")
(define %linux-libre-4.14-version "4.14.92")
(define %linux-libre-4.14-hash "09s479krcjzgp53s5i6h7ld1mdagjci6lqvkv8mc1nj0ja8niiq3")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -450,8 +451,8 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.148"
"0yrjgvdzbcp750j4fhlxi4ia1v0fqh0y3p99wnbpfvg17j01lbjl"
(make-linux-libre "4.9.149"
"1qw1hahqiai8xbv769pdfnx3yan3rl2zh00fmi1nx0khan6i5as3"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
@ -790,7 +791,7 @@ slabtop, and skill.")
(define-public e2fsprogs
(package
(name "e2fsprogs")
(version "1.44.3")
(version "1.44.5")
(source (origin
(method url-fetch)
(uri (string-append
@ -799,7 +800,7 @@ slabtop, and skill.")
name "-" version ".tar.xz"))
(sha256
(base32
"1djb9qnid1j0vvna2bhq4jsz2ig1xckbx7h4d86cr0gl61yrz2ax"))))
"1ff56h6h1h17sj2zvlddv5c88nmbx46p1fcbh6b0s5k9kl3b6pms"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)))
(native-inputs `(("pkg-config" ,pkg-config)

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 @@ programming problems.")
(define-public r-pracma
(package
(name "r-pracma")
(version "2.1.8")
(version "2.2.2")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
(base32 "0m8ladhrfyxwybblkcdgg4xv1mk5kibmwarpj2k0c2y34zzcix4z"))))
(base32 "18zhni05gwnxbphl6bmjjxmsgg5wwnnkwlb4g971cqyw3dsd83ki"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/pracma/")
(synopsis "Practical numerical math functions")

View File

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

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 @@ the Nix package manager.")
(delete 'wrap-program)))))))
(define-public guile2.0-guix
(package
(inherit guix)
(name "guile2.0-guix")
(inputs
`(("guile" ,guile-2.0)
,@(alist-delete "guile" (package-inputs guix))))
(propagated-inputs
`(("gnutls" ,gnutls/guile-2.0)
("guile-gcrypt" ,guile2.0-gcrypt)
("guile-json" ,guile2.0-json)
("guile-sqlite3" ,guile2.0-sqlite3)
("guile-ssh" ,guile2.0-ssh)
("guile-git" ,guile2.0-git)))))
(deprecated-package "guile2.0-guix" guix))
(define-public guix-minimal
;; A version of Guix which is built with the minimal set of dependencies, as
;; outlined in the README "Requirements" section. Intended as a CI job, so
;; marked as hidden.
(let ((guix guile2.0-guix))
(hidden-package
(package
(inherit guix)
(name "guix-minimal")
(inputs
`(("guile" ,guile-2.0.13)
,@(alist-delete "guile" (package-inputs guix))))
(propagated-inputs
(fold alist-delete
(package-propagated-inputs guix)
'("guile-ssh")))))))
(hidden-package
(package
(inherit guix)
(name "guix-minimal")
(inputs
`(("guile" ,guile-2.2)
,@(alist-delete "guile" (package-inputs guix))))
(propagated-inputs
(fold alist-delete
(package-propagated-inputs guix)
'("guile-ssh"))))))
(define (source-file? file stat)
"Return true if FILE is likely a source file, false if it is a typical

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 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@ -51,7 +53,9 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla)
@ -72,6 +76,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages qt)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
@ -168,6 +173,59 @@ algorithms AES or Twofish.")
(license license:gpl3)
(properties `((superseded . ,keepassxc)))))
(define-public pwsafe
(package
(name "pwsafe")
(version "3.48.0")
(home-page "https://www.pwsafe.org/" )
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pwsafe/pwsafe.git")
(commit version)))
(sha256 (base32 "0hxv23yh76liggxbjn4m132z15sklra8ms341xgzl4n5vjx30ihi"))
(file-name (string-append name "-" version "-checkout"))))
(build-system cmake-build-system)
(native-inputs `(("gettext" ,gettext-minimal)
("perl" ,perl)
("zip" ,zip)))
(inputs `(("curl" ,curl)
("file" ,file)
("gtest" ,googletest)
("libuuid" ,util-linux)
("libxt" ,libxt)
("libxtst" ,libxtst)
("openssl" ,openssl)
("qrencode" ,qrencode)
("wxwidgets" ,wxwidgets)
("xerces-c" ,xerces-c)))
(arguments '(#:configure-flags (list "-DNO_GTEST=YES")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'add-gtest
(lambda* (#:key inputs #:allow-other-keys)
(chmod "CMakeLists.txt" #o644)
(let ((cmake-port (open-file "CMakeLists.txt"
"a")))
(display "find_package(GTest)
add_subdirectory(src/test)\n" cmake-port)
(close cmake-port)
#t)))
(add-after 'add-gtest 'patch-executables
(lambda* (#:key inputs #:allow-other-keys)
(chmod "src/test/OSTest.cpp" #o644)
(substitute* "src/os/unix/media.cpp"
(("/usr/bin/file")
(string-append (assoc-ref inputs "file")
"/bin/file")))
#t)))))
(synopsis "Password safe with automatic input and key generation")
(description "pwsafe is a password manager originally designed by Bruce
Schneier. It offers a simple UI to manage passwords for different services.
There are other programs that support the file format on different
platforms.")
(license license:artistic2.0)))
(define-public shroud
(package
(name "shroud")
@ -705,7 +763,7 @@ your online accounts makes it necessary.")
(define-public hashcat
(package
(name "hashcat")
(version "4.1.0")
(version "5.1.0")
(source
(origin
(method url-fetch)
@ -713,7 +771,7 @@ your online accounts makes it necessary.")
version ".tar.gz"))
(sha256
(base32
"170i2y32ykgzb1qf1wz3klwn31c09bviz4x3bnrwia65adqrj8xx"))))
"0f73y4cg8c7a6q7x34qvpfi4g3lw6j9bnn0a13g43aqyiskflfr8"))))
(native-inputs
`(("opencl-headers" ,opencl-headers)))
(build-system gnu-build-system)

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

View File

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

View File

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

View File

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

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

View File

@ -259,7 +259,7 @@ This package contains the binaries.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0fcy2hpapbj01ncpjj3v39yhr0jjxb6rm13qaxjjw66s3vydxls1"))))
"1ky6wc173jhf0b33lhyb4r3bx1d4bmiqkn6y1hxn92kwjdzl42p7"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -290,7 +290,7 @@ This package contains the binaries.")
(file-name (string-append "dvips-font-maps-" version "-checkout"))
(sha256
(base32
"09hply3nmy24ilnc6cl8q70jcqxvq6bwri572kms008ini3h9vqh"))))
"0nxvfbb5vsvakiw0iviicghdc2sxk05cj056ilqnpa62fffc36a6"))))
("dvips-base-enc"
,(origin
(method svn-fetch)
@ -326,7 +326,7 @@ to PostScript.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0ivrhp6jz31pl4z841g4ws41lmvdiwz4sslmhf02inlib79gz6r2"))))
"0r1v16jyfpz6dwqsgm6b9jcj4kf2pkzc9hg07s6fx9g8ba8qglih"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -365,7 +365,7 @@ out to date by @code{unicode-letters.tex}. ")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1l9wgv99qq0ysvlxqpj4g8bl0dywbzra4g8m2kmpg2fb0i0hczap"))))
"03yj1di9py92drp6gpfva6q69vk2iixr79r7cp7ja570s3pr0m33"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -436,7 +436,7 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0ghizcz7ps16dzfqf66wwg5i181assc6qsm0g7g5dbmp909931vi"))))
"1alnn9cd60m2c12vym9f9q22ap1ngywxpkjl9dk472why44g1dmy"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -545,7 +545,7 @@ build fonts using the Metafont system.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0cssbzcx15221dynp5sii72qh4l18mwkr14n8w1xb19j8pbaqasz"))))
"05rbn7z30xawd3n6w7c3ijp2yc67ga220jgqmkla9pd9wx185rzq"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -579,7 +579,7 @@ documents.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"045k5b9rdmbxpy1a3006l1x96z1rd18vg3cwrvnld9bqybw5qz44"))))
"0vfjhidr9pha613h8mfhnpcpvld6ahdfb449918fpsfs93cppkyj"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@ -920,7 +920,7 @@ individual symbols defined in @code{amssymb.sty}.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0mjgl3gscn3ps29yjambz1j9fg81ynnncb96vpprwx4xsijhsns0"))))
"1xknlb3gcw6jjqh97bhghxi594bzpj1zfzzfsrr9pvr9s1bx7dnf"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -965,7 +965,7 @@ book).")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1h9pir2hz6i9avc4lrl733p3zf4rpkg8537x1zdbhs91hvhikw9k"))))
"17bqrzzjz16k52sc7ydl4vw7ddy2z3g0p1xsk2c35h1ynq9h3wwm"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@ -1086,7 +1086,7 @@ book).")
"1cfwdg2rhbayl3w0x1xqd36d45zbc96f029myp13s7cb6kbmbppv"))
("texlive-generic-config"
,(texlive-dir "tex/generic/config/"
"19vj088p4kkp6xll0141m4kl6ssgdzhs3g10i232khb07aqiag8s"))
"1v90iihy112q93zdpblpdk8zv8rf99fgslsg06s1sxm27zjm9nap"))
("texlive-latex-base-support-files"
,(origin
(method svn-fetch)
@ -1098,7 +1098,7 @@ book).")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"16bs9pi3nq407xhg59glklqv43v102cg3yim6k3zcri5d9nkbv3a"))))
"18wy8dlcw8adl6jzqwbg54pdwlhs8hilnfvqbw6ikj6y3zhqkj7q"))))
("texlive-tex-plain" ,texlive-tex-plain)
("texlive-fonts-cm" ,texlive-fonts-cm)
("texlive-fonts-latex" ,texlive-fonts-latex)
@ -1237,7 +1237,7 @@ verbatim source).")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"07azyn0b1s49vbdlr6dmygrminxp72ndl24j1091hiiccvrjq3xc"))))
"0nlfhn55ax89rcvpkrl9570671b62kcr4c9l5ch3w5zw9vmi00dz"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/graphics"
@ -1286,7 +1286,7 @@ verbatim source).")
"-checkout"))
(sha256
(base32
"0gi4qv6378nl84s8n1yx3hjqvv7r4lza7hpbymbl5rzwgw8qrnyb"))))))
"17zpcgrfsr29g1dkz9np1qi63kjv7gb12rg979c6dai6qksbr3vq"))))))
(home-page "https://www.ctan.org/pkg/latex-graphics")
(synopsis "LaTeX standard graphics bundle")
(description
@ -1362,7 +1362,7 @@ pdf and HTML backends. The package is distributed with the @code{backref} and
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0aswvsxgsn709xmvpcg50d2xl7vcy1ckdxb9c1cligqqfjjvviqf"))))
"1m9fg8ddhpsl1212igr9a9fmj012lv780aghjn6fpidg2wqrffmn"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/oberdiek"
@ -1393,7 +1393,7 @@ arrows; record information about document class(es) used; and many more.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"052a0pch2k5zls5jlay9xxcf93rw3i60a2x28y3ip3rhbsv3xgiz"))))
"0vj7h1fgf1396h4qjdc2m07y08i54gbbfrxl8y327cn3r1n093s6"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/tools"
@ -1459,7 +1459,7 @@ of file names.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0r0wfk594j8wkdqhh21haimwsfq8x5jch4ldm21hkzk5dnmvpbg6"))))
"0p3fsxap1ilwjz356aq4s5ygwvdscis8bh93g8klf8mhrd8cr2jy"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/l3kernel"))
@ -1483,7 +1483,7 @@ that the LaTeX3 conventions can be used with regular LaTeX 2e packages.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"16jplkvzdysfssijq9l051nsks65c2nrarsl17k8gjhc28yznj8y"))))
"0pyx0hffiyss363vv7fkrcdiaf7p099xnq0mngzqc7v8v9q849hs"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/l3packages"
@ -1538,11 +1538,10 @@ programming tools and kernel sup­port. Packages provided in this release are:
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1rx43y5xmjqvc27pjdnmqwp4pcw3czcfd6nfpmzc1gnqfl1hlc0q"))))
"1p0mkn6iywl0k4m9cx3hnhylpi499inisff3f72pcf349baqsnvq"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/fontspec"
#:build-targets '("fontspec.dtx")))
'(#:tex-directory "latex/fontspec"))
(inputs
`(("texlive-latex-l3kernel" ,texlive-latex-l3kernel)))
(home-page "https://www.ctan.org/pkg/fontspec")
@ -1602,7 +1601,7 @@ this bundle for use independent of ConTeXt.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"178ywjpdlv78qmfzqdyn6gy14620zjsn2q9wap76fbr9s4hw6dba"))))
"0arvk7gn32mshnfdad5qkgf3i1arxq77k3vq7wnpm4nwnrzclxal"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/amsmath"))
(home-page "https://www.ctan.org/pkg/amsmath")
@ -1631,7 +1630,7 @@ definitions.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0jmcr37mcdi7drczppvr6lmz5d5yd9m67ii79gp2nglg1xpw934j"))))
"0c2j9xh4qpi0x1vvcxdjxq6say0zhyr569fryi5cmhp8bclh4kca"))))
(build-system texlive-build-system)
(arguments
`(#:tex-directory "latex/amscls"))
@ -1655,7 +1654,7 @@ distribution.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1n3i5adsyy7jw0imnzrm2i8wkf73i3mjk9h3ic8cb9cd19i4r9r3"))))
"0yhlfiz3fjc8jd46f1zrjj4jig48l8rrzh8cmd8ammml8z9a01z6"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "generic/babel"
@ -1712,7 +1711,7 @@ for Canadian and USA text.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1mdhl35hwas68ki56qqngzar37dwv4mm64l2canihr255bz34lbv"))))
"083xbwg7hrnlv47fkwvz8yjb830bhxx7y0mq7z7nz2f96y2ldr6b"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/cyrillic"))
@ -1946,6 +1945,13 @@ ipsum\" text, see the @code{lipsum} package).")
(add-after 'unpack 'remove-generated-file
(lambda _
(delete-file "dinbrief.drv")
#t))
(add-after 'unpack 'fix-encoding-error
(lambda _
(with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute* "dinbrief.dtx"
(("zur Verf.+ung. In der Pr\"aambel")
"zur Verf\"ung. In der Pr\"aambel")))
#t)))))
(home-page "https://www.ctan.org/pkg/dinbrief")
(synopsis "German letter DIN style")
@ -2016,7 +2022,7 @@ define a new author interface to creating new environments.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0pvmhsd4xmpil0m3c7qcgwilbk266mlkzv03g0jr8r3zd8jxlyzq"))))
"1ib5xdwcj5wk23wgk41m2hdcjr1dzrs4l3wwnpink9mlapz12wjs"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/eqparbox"))
(home-page "https://www.ctan.org/pkg/eqparbox")
@ -2114,7 +2120,7 @@ but non-expandable ones.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"11gvvjvmdfs9b7mm19yf80zwkx49jqcbq6g8qb9y5ns1r1qvnixp"))))
"157pplavvm2z97b3jl4x41w11k6q9wgy074mfg0dwmsx5lm328jy"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/ifplatform"))
(home-page "https://www.ctan.org/pkg/ifplatform")
@ -2178,34 +2184,70 @@ with a user specified LaTeX construction, properly aligned, scaled, and/or
rotated.")
(license (license:fsf-free "file://psfrag.dtx"))))
(define-public texlive-latex-xkeyval
(package
(name "texlive-latex-xkeyval")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (texlive-ref "latex" "xkeyval"))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0wancavix39j240pd8m9cgmwsijwx6jd6n54v8wg0x2rk5m44myp"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/xkeyval"))
(home-page "https://www.ctan.org/pkg/xkeyval")
(synopsis "Macros for defining and setting keys")
(description
"This package is an extension of the @code{keyval} package and offers
more flexible macros for defining and setting keys. The package provides a
pointer and a preset system. Furthermore, it supplies macros to allow class
and package options to contain options of the @code{key=value} form. A LaTeX
kernel patch is provided to avoid premature expansions of macros in class or
package options. A specialized system for setting @code{PSTricks} keys is
provided by the @code{pst-xkey} package.")
(license license:lppl1.3+)))
(define-public texlive-latex-pstool
(package
(name "texlive-latex-pstool")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (texlive-ref "latex" "pstool"))
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/latex/pstool"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1kwlk1x67lad4xb7gpkxqgdlxwpi6nvq1r9wika7m92abmyf18h3"))))
(build-system texlive-build-system)
"1h816jain8c9nky75kk8pmmwj5b4yf9dpqvdvi2l6jhfj5iqkzr8"))))
(build-system trivial-build-system)
(arguments
'(#:tex-directory "latex/pstool"
#:tex-format "latex"))
(inputs
`(("texlive-fonts-cm" ,texlive-fonts-cm)
("texlive-latex-filecontents" ,texlive-latex-filecontents)))
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((target (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/tex/latex/pstool")))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs "source") target)
#t))))
(propagated-inputs
`(("texlive-latex-bigfoot" ,texlive-latex-bigfoot)
`(("texlive-latex-bigfoot" ,texlive-latex-bigfoot) ; for suffix
("texlive-latex-filemod" ,texlive-latex-filemod)
("texlive-latex-graphics" ,texlive-latex-graphics)
("texlive-latex-ifplatform" ,texlive-latex-ifplatform)
("texlive-latex-l3kernel" ,texlive-latex-l3kernel) ; for expl3
("texlive-latex-oberdiek" ,texlive-latex-oberdiek)
("texlive-latex-psfrag" ,texlive-latex-psfrag)
("texlive-latex-trimspaces" ,texlive-latex-trimspaces)))
("texlive-latex-tools" ,texlive-latex-tools) ; for shellesc
("texlive-latex-trimspaces" ,texlive-latex-trimspaces)
("texlive-latex-xkeyval" ,texlive-latex-xkeyval)))
(home-page "https://www.ctan.org/pkg/pstool")
(synopsis "Process PostScript graphisc within pdfLaTeX documents")
(synopsis "Process PostScript graphics within pdfLaTeX documents")
(description
"This is a package for processing PostScript graphics with @code{psfrag}
labels within pdfLaTeX documents. Every graphic is compiled individually,
@ -2360,7 +2402,7 @@ hyperlink to the target of the DOI.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0016bscnpima9krrg2569mva78xzwnygzlvg87dznsm6gf8g589v"))))
"1agmq6bf8wzcd77n20ng8bl4kh69cg5f6sjniii7bcw4llhd3nc8"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -2542,7 +2584,7 @@ BibLaTeX, and is considered experimental.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1r2kfcwclg33yk5z8mvlagwxj7nr1mc3w4bdpmhrwv6dn8mrbvw8"))))
"0yw6bjfgsli3s1dldsgb7mkr7lnk329cgdjbgs8z2xn59pmmdsn4"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/geometry"))
(home-page "https://www.ctan.org/pkg/geometry")
@ -2591,7 +2633,7 @@ array environments; verbatim handling; and syntax diagrams.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"09mvszd5qgqg4cfglpj5qxyzjz190ppb9p8gnsnjydwp1akvhayf"))))
"03ma58z3ypsbp7zgkzb1ylpn2ygr27cxzkf042ns0rif4g8s491f"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/polyglossia"))
(home-page "https://www.ctan.org/pkg/polyglossia")
@ -2637,7 +2679,7 @@ situations where longtable has problems.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"09zj2w3lx0y6i2syfjjgizahf86z301dw8p37ln6syfhqhzqdz46"))))
"06cf821y1j7jdg93pb41ayigrfwgn0y49d7w1025zlijjxi6bvjp"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -2754,7 +2796,7 @@ command.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1ik4m8pzfsn1grlda6fniqqfwmgj7rfxwg63jdw0p0qv002vc7ik"))))
"05x15ilynqrl448h8l6qiraygamdldlngz89a2bw7kg74fym14ch"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/changebar"))
(home-page "https://www.ctan.org/pkg/changebar")
@ -2870,7 +2912,7 @@ floats, center, flushleft, and flushright, lists, and pages.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"04h430agf8aj7ziwyb46xpk95c605rjk1wzhr63m6ylipihidlgw"))))
"1xsnzx7vgdfh9zh2m7bjz6bgdpxsgb1kyc19p50vhs34x5nbgsnr"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -3288,7 +3330,7 @@ entry at the \"natural\" width of its text.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0m29q9qdb00558b7g2i7iw6w62n5s46yx81j8m99qkv77magk4fm"))))
"1rpx4ibjncj5416rg19v0xjbj3z9avhfdfn2gzp8r8sz9vz25c6g"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -3354,7 +3396,7 @@ designed class) helps alleviate this untidiness.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"06p5smfq66559ppdnmkl3hp8534x84ywbscimsiir4gllpya3i9h"))))
"0s4izcah7im67889qz4d26pcfpasmm35sj1rw4ragkkdk3rlbbbd"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/pdfpages"))
(home-page "https://www.ctan.org/pkg/pdfpages")
@ -3768,7 +3810,7 @@ OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"03nvjddffiz796wll6axzmgfvynyciy2mqamv20qx252w71vwkwd"))))
"0sf18pc6chgy26p9bxxn44xcqhzjrfb53jxjr2y7l3jb6xllhblq"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -3948,7 +3990,7 @@ package of that name now exists.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0j6fff6q0ca96nwfdgay2jm55792z4q9aa0rczmiw2qccyg5n2dv"))))
"1hpsk4yp08qvbl43kqiv0hhwxv3gcqqxcpahyv6ch2b38pbj4bh6"))))
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/preview"
@ -4035,7 +4077,7 @@ e-TeX.")
(file-name (string-append name "-map-" version "-checkout"))
(sha256
(base32
"197z9kx3bpnz58f5xrn5szyvmb3fxqq12y5sc4dw4jnm3xll8ji2"))))))
"18jvcm0vwpg6wwzijvnb92xx78la45kkh71k6l44425krp2vnwm0"))))))
(home-page "https://www.ctan.org/pkg/pdftex")
(synopsis "TeX extension for direct creation of PDF")
(description
@ -4515,7 +4557,7 @@ required: automatic sectioning and pagination, spell checking and so forth.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"01ysky8h8s6q12dxfahkzwhbkc9j5wl50xzcczy0cbjx9f6aj9kv"))))
"0lhb2h5hxjq9alpk4r3gvg21pwyifs4ah6hqzp92k55mkp1xv73j"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -4555,7 +4597,7 @@ specification. It replaces the now obsolete @code{movie15} package.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"12kkl7n534j0p4frwyrlw22dc3ik50kxv97cxp4xpmji13m0hxpf"))))
"0zp00jg058djx8xp0xqwas92y3j97clkyd8z6pqr890yqy06myqb"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -4785,7 +4827,7 @@ produce either PostScript or PDF output.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1g8qg796hc6s092islnybaxs115ldsqwp2vxkk3gpy6vh7wc9r50"))))
"0nqwf0sr4mf3v9gqa6apv6ml2xhcdwax0vgyf12a672g7rpdyvgm"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils)
@ -4845,7 +4887,7 @@ typearea (which are the main parts of the bundle).")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1k50z6ixgwwzy84mi0dr5vcjah5p7wvgq66y45bilm91a4m8sgla"))))
"0hs28fc0v2l92ad9las9b8xcckyrdrwmyhcx1yzmbr6s7s6nvsx8"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -5111,7 +5153,7 @@ TeX).")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1gk9q22fcb2fa1ql6cf9yw505x6a6axdzzfxbsya7nkrph860af8"))))
"0hnbs0s1znbn32hfcsyijl39z81sdb00jf092a4blqz421qs2mbv"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -5215,7 +5257,7 @@ for use with LaTeX is available in @code{freenfss}, part of
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0zwl0cg6pka13i26dpqh137391f3j9sk69cpvwrm4ivsa0rqnw6g"))))
"0rlx4qqijms1n64gjx475kvip8l322fh7v17zkmwp1l1g0w3vlyz"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))

View File

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

View File

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

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 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
("libbluray" ,libbluray)
("libcaca" ,libcaca)
("libcdio-paranoia" ,libcdio-paranoia)
("libdrm" ,libdrm)
("libtheora" ,libtheora)
("libva" ,libva)
("libvdpau" ,libvdpau)
@ -805,6 +806,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
"--enable-libx265"
"--enable-openal"
"--enable-opengl"
"--enable-libdrm"
"--enable-runtime-cpudetect"
@ -3267,3 +3269,32 @@ transitions, and effects and then export your film to many common formats.")
(description "dav1d is a new AV1 cross-platform decoder, and focused on
speed and correctness.")
(license license:bsd-2)))
(define-public wlstream
(let ((commit "182076a94562b128c3a97ecc53cc68905ea86838")
(revision "1"))
(package
(name "wlstream")
(version (git-version "0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/atomnuker/wlstream.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp"))))
(build-system meson-build-system)
(native-inputs `(("libdrm" ,libdrm)
("pkg-config" ,pkg-config)))
(inputs `(("ffmpeg" ,ffmpeg)
("pulseaudio" ,pulseaudio)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/atomnuker/wlstream")
(synopsis "Screen capture tool for Wayland sessions")
(description "Wlstream is a screen capture tool for recording audio and
video from a Wayland session.")
(license license:lgpl2.1+))))

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 @@ and the user can specify exactly what parts of the filesystem should be visible
in the sandbox. Any such directories specified is mounted nodev by default,
and can be made readonly.")
(license license:lgpl2.0+)))
(define-public bochs
(package
(name "bochs")
(version "2.6.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/bochs/files/bochs/"
version "/bochs-" version ".tar.gz"))
(sha256
(base32
"1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; No tests exist
(inputs
`(("libxrandr" ,libxrandr)))
(home-page "http://bochs.sourceforge.net/")
(synopsis "Emulator for x86 PC")
(description
"Bochs is an emulator which can emulate Intel x86 CPU, common I/O
devices, and a custom BIOS. It can also be compiled to emulate many different
x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors.
Bochs can run most Operating Systems inside the emulation including Linux,
DOS or Microsoft Windows.")
(license license:lgpl2.0+)))

View File

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

View File

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

View File

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

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 @@ file systems, as well as corresponding @file{/etc/fstab} entries.")))
generator (RNG) with the value recorded when the system was last shut
down.")))
(define (urandom-seed-service) ;deprecated
(service urandom-seed-service-type #f))
(define-deprecated (urandom-seed-service)
urandom-seed-service-type
(service urandom-seed-service-type))
;;;
@ -1686,7 +1688,9 @@ failed to register public key '~a': ~a~%" key status)))))))
(description
"Run the build daemon of GNU@tie{}Guix, aka. @command{guix-daemon}.")))
(define* (guix-service #:optional (config %default-guix-configuration))
(define-deprecated (guix-service #:optional
(config %default-guix-configuration))
guix-service-type
"Return a service that runs the Guix build daemon according to
@var{config}."
(service guix-service-type config))
@ -1787,7 +1791,9 @@ failed to register public key '~a': ~a~%" key status)))))))
"Add a Shepherd service running @command{guix publish}, a
command that allows you to share pre-built binaries with others over HTTP.")))
(define* (guix-publish-service #:key (guix guix) (port 80) (host "localhost"))
(define-deprecated (guix-publish-service #:key (guix guix)
(port 80) (host "localhost"))
guix-publish-service-type
"Return a service that runs @command{guix publish} listening on @var{host}
and @var{port} (@pxref{Invoking guix publish}).
@ -2078,8 +2084,9 @@ command-line options. GPM allows users to use the mouse in the console,
notably to select, copy, and paste text. The default options use the
@code{ps2} protocol, which works for both USB and PS/2 mice.")))
(define* (gpm-service #:key (gpm gpm) ;deprecated
(options %default-gpm-options))
(define-deprecated (gpm-service #:key (gpm gpm)
(options %default-gpm-options))
gpm-service-type
"Run @var{gpm}, the general-purpose mouse daemon, with the given
command-line @var{options}. GPM allows users to use the mouse in the console,
notably to select, copy, and paste text. The default value of @var{options}

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 @@
#:use-module (gnu services base)
#:use-module (gnu services shepherd)
#:autoload (gnu packages guile) (mcron)
#:use-module (guix deprecation)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
@ -142,7 +143,8 @@ files."
jobs)))))
(default-value (mcron-configuration)))) ;empty job list
(define* (mcron-service jobs #:optional (mcron mcron))
(define-deprecated (mcron-service jobs #:optional (mcron mcron))
mcron-service-type
"Return an mcron service running @var{mcron} that schedules @var{jobs}, a
list of gexps denoting mcron job specifications.

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 @@
#:use-module (guix modules)
#:use-module (guix records)
#:use-module (guix packages)
#:use-module (guix deprecation)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
@ -882,9 +883,10 @@ string, you could instantiate a prosody service like this:
"Run @url{http://bitlbee.org,BitlBee}, a daemon that acts as
a gateway between IRC and chat networks.")))
(define* (bitlbee-service #:key (bitlbee bitlbee) ;deprecated
(interface "127.0.0.1") (port 6667)
(extra-settings ""))
(define-deprecated (bitlbee-service #:key (bitlbee bitlbee)
(interface "127.0.0.1") (port 6667)
(extra-settings ""))
bitlbee-service-type
"Return a service that runs @url{http://bitlbee.org,BitlBee}, a daemon that
acts as a gateway between IRC and chat networks.

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 @@
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (guix modules)
#:use-module (guix deprecation)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
@ -206,7 +207,8 @@ fe80::1%lo0 apps.facebook.com\n")
(stop #~(make-kill-destructor))))
isc-dhcp))
(define* (dhcp-client-service #:key (dhcp isc-dhcp)) ;deprecated
(define-deprecated (dhcp-client-service #:key (dhcp isc-dhcp))
dhcp-client-service-type
"Return a service that runs @var{dhcp}, a Dynamic Host Configuration
Protocol (DHCP) client, on all the non-loopback network interfaces."
(service dhcp-client-service-type dhcp))
@ -374,9 +376,10 @@ daemon of the @uref{http://www.ntp.org, Network Time Foundation}. The daemon
will keep the system clock synchronized with that of the given servers.")
(default-value (ntp-configuration))))
(define* (ntp-service #:key (ntp ntp) ;deprecated
(servers %ntp-servers)
allow-large-adjustment?)
(define-deprecated (ntp-service #:key (ntp ntp)
(servers %ntp-servers)
allow-large-adjustment?)
ntp-service-type
"Return a service that runs the daemon from @var{ntp}, the
@uref{http://www.ntp.org, Network Time Protocol package}. The daemon will
keep the system clock synchronized with that of @var{servers}.
@ -752,9 +755,10 @@ HiddenServicePort ~a ~a~%"
"Run the @uref{https://torproject.org, Tor} anonymous
networking daemon.")))
(define* (tor-service #:optional
(config-file (plain-file "empty" ""))
#:key (tor tor))
(define-deprecated (tor-service #:optional
(config-file (plain-file "empty" ""))
#:key (tor tor))
tor-service-type
"Return a service to run the @uref{https://torproject.org, Tor} anonymous
networking daemon.

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 @@
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix records)
#:use-module (guix deprecation)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
@ -521,14 +522,15 @@ reboot_cmd " shepherd "/sbin/reboot\n"
(const (list xterm)))))
(default-value (slim-configuration))))
(define* (slim-service #:key (slim slim) ;deprecated
(allow-empty-passwords? #t) auto-login?
(default-user "")
(theme %default-slim-theme)
(theme-name %default-slim-theme-name)
(xauth xauth) (shepherd shepherd)
(auto-login-session #f)
(startx (xorg-start-command)))
(define-deprecated (slim-service #:key (slim slim)
(allow-empty-passwords? #t) auto-login?
(default-user "")
(theme %default-slim-theme)
(theme-name %default-slim-theme-name)
(xauth xauth) (shepherd shepherd)
(auto-login-session #f)
(startx (xorg-start-command)))
slim-service-type
"Return a service that spawns the SLiM graphical login manager, which in
turn starts the X display server with @var{startx}, a command as returned by
@code{xorg-start-command}.
@ -628,7 +630,8 @@ makes the good ol' XlockMore usable."
(allow-empty-passwords? gdm-configuration-allow-empty-passwords? (default #t))
(auto-login? gdm-configuration-auto-login? (default #f))
(default-user gdm-configuration-default-user (default #f))
(x-server gdm-configuration-x-server))
(x-server gdm-configuration-x-server
(default (xorg-wrapper))))
(define (gdm-etc-service config)
(define gdm-configuration-file
@ -719,14 +722,20 @@ makes the good ol' XlockMore usable."
(service-extension etc-service-type
gdm-etc-service)
(service-extension dbus-root-service-type
(compose list gdm-configuration-gdm))))))
(compose list
gdm-configuration-gdm))))
(default-value (gdm-configuration))
(description
"Run the GNOME Desktop Manager (GDM), a program that allows
you to log in in a graphical session, whether or not you use GNOME.")))
;; This service isn't working yet; it gets as far as starting to run the
;; greeter from gnome-shell but doesn't get any further. It is here because
;; it doesn't hurt anyone and perhaps it inspires someone to fix it :)
(define* (gdm-service #:key (gdm gdm)
(allow-empty-passwords? #t)
(x-server (xorg-wrapper)))
(define-deprecated (gdm-service #:key (gdm gdm)
(allow-empty-passwords? #t)
(x-server (xorg-wrapper)))
gdm-service-type
"Return a service that spawns the GDM graphical login manager, which in turn
starts the X display server with @var{X}, a command as returned by
@code{xorg-wrapper}.

View File

@ -253,7 +253,8 @@ You have been warned. Thanks for being so brave.\x1b[0m
;; The build daemon. Register the official server keys as trusted.
;; 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 @@ non-ASCII names from /tmp.")
(job3 #~(job next-second-from ;to test $PATH
"touch witness-touch")))
(simple-operating-system
(mcron-service (list job1 job2 job3)))))
(service mcron-service-type
(mcron-configuration (jobs (list job1 job2 job3)))))))
(define (run-mcron-test name)
(define os

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

@ -0,0 +1,99 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu tests docker)
#:use-module (gnu tests)
#:use-module (gnu system)
#:use-module (gnu system file-systems)
#:use-module (gnu system vm)
#:use-module (gnu services)
#:use-module (gnu services dbus)
#:use-module (gnu services networking)
#:use-module (gnu services docker)
#:use-module (gnu services desktop)
#:use-module (gnu packages docker)
#:use-module (guix gexp)
#:use-module (guix store)
#:export (%test-docker))
(define %docker-os
(simple-operating-system
(service dhcp-client-service-type)
(dbus-service)
(polkit-service)
(service elogind-service-type)
(service docker-service-type)))
(define (run-docker-test)
"Run tests in %DOCKER-OS."
(define os
(marionette-operating-system
%docker-os
#:imported-modules '((gnu services herd)
(guix combinators))))
(define vm
(virtual-machine
(operating-system os)
(memory-size 500)
(disk-image-size (* 250 (expt 2 20)))
(port-forwardings '())))
(define test
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules (srfi srfi-11) (srfi srfi-64)
(gnu build marionette))
(define marionette
(make-marionette (list #$vm)))
(mkdir #$output)
(chdir #$output)
(test-begin "docker")
(test-assert "service running"
(marionette-eval
'(begin
(use-modules (gnu services herd))
(match (start-service 'dockerd)
(#f #f)
(('service response-parts ...)
(match (assq-ref response-parts 'running)
((pid) (number? pid))))))
marionette))
(test-eq "fetch version"
0
(marionette-eval
`(begin
(system* ,(string-append #$docker-cli "/bin/docker")
"version"))
marionette))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
(gexp->derivation "docker-test" test))
(define %test-docker
(system-test
(name "docker")
(description "Connect to the running Docker service.")
(value (run-docker-test))))

View File

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

View File

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

View File

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

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 @@
#: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 @@ 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 @@ host name without trailing dot."
;; Write HTTP requests line by line rather than byte by byte:
;; <https://bugs.gnu.org/22966>. This is possible with Guile >= 2.2.
(cond-expand
(guile-2.2 (setvbuf record 'line))
(else #f))
(setvbuf record 'line)
record)))
@ -359,7 +357,7 @@ ETIMEDOUT error is raised."
(connect* s (addrinfo:addr ai) timeout)
;; Buffer input and output on this port.
(setvbuf s _IOFBF)
(setvbuf s 'block)
;; If we're using a proxy, make a note of that.
(when http-proxy (set-http-proxy-port?! s #t))
s)
@ -403,7 +401,7 @@ VERIFY-CERTIFICATE? is true, verify HTTPS server certificates."
(with-https-proxy
(let ((s (open-socket-for-uri uri #:timeout timeout)))
;; Buffer input and output on this port.
(setvbuf s _IOFBF %http-receive-buffer-size)
(setvbuf s 'block %http-receive-buffer-size)
(if https?
(tls-wrap s (uri-host uri)
@ -506,18 +504,6 @@ port if PORT is a TLS session record port."
(module-set! (resolve-module '(web http))
'parse-rfc-822-date parse-rfc-822-date))
;; XXX: Work around <http://bugs.gnu.org/19840>, present in Guile
;; up to 2.0.11.
(unless (or (> (string->number (major-version)) 2)
(> (string->number (minor-version)) 0)
(> (string->number (micro-version)) 11))
(let ((var (module-variable (resolve-module '(web http))
'declare-relative-uri-header!)))
;; If 'declare-relative-uri-header!' doesn't exist, forget it.
(when (and var (variable-bound? var))
(let ((declare-relative-uri-header! (variable-ref var)))
(declare-relative-uri-header! "Location")))))
;; XXX: Work around broken proxy handling on Guile 2.2 <= 2.2.2, fixed in
;; Guile commits 7d0d9e2c25c1e872cfc7d14ab5139915f1813d56 and
;; 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143. See bug report at
@ -791,11 +777,11 @@ otherwise simply ignore them."
hashes))
content-addressed-mirrors))
;; Make this unbuffered so 'progress-report/file' works as expected. _IOLBF
;; Make this unbuffered so 'progress-report/file' works as expected. 'line
;; means '\n', not '\r', so it's not appropriate here.
(setvbuf (current-output-port) _IONBF)
(setvbuf (current-output-port) 'none)
(setvbuf (current-error-port) _IOLBF)
(setvbuf (current-error-port) 'line)
(let try ((uri (append uri content-addressed-uris)))
(match uri

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 @@ when producing a bootstrap libc."
util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\
_nonshared\\.a)$")
(setvbuf (current-output-port) _IOLBF)
(setvbuf (current-output-port) 'line)
(let* ((libdir (string-append output "/lib")))
(mkdir-p libdir)
(for-each (lambda (file)

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 @@ mounted at FILE."
(define CLONE_NEWPID #x20000000)
(define CLONE_NEWNET #x40000000)
(cond-expand
(guile-2.2
(define %set-automatic-finalization-enabled?!
;; When using a statically-linked Guile, for instance in the initrd, we
;; cannot resolve this symbol, but most of the time we don't need it
;; anyway. Thus, delay it.
(let ((proc (delay
(pointer->procedure int
(dynamic-func
"scm_set_automatic_finalization_enabled"
(dynamic-link))
(list int)))))
(lambda (enabled?)
"Switch on or off automatic finalization in a separate thread.
(define %set-automatic-finalization-enabled?!
;; When using a statically-linked Guile, for instance in the initrd, we
;; cannot resolve this symbol, but most of the time we don't need it
;; anyway. Thus, delay it.
(let ((proc (delay
(pointer->procedure int
(dynamic-func
"scm_set_automatic_finalization_enabled"
(dynamic-link))
(list int)))))
(lambda (enabled?)
"Switch on or off automatic finalization in a separate thread.
Turning finalization off shuts down the finalization thread as a side effect."
(->bool ((force proc) (if enabled? 1 0))))))
(->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 (compile-with-latex format file)
(invoke format
"-interaction=batchmode"
"-interaction=nonstopmode"
"-output-directory=build"
(string-append "&" format)
file))
@ -60,7 +60,12 @@
(("^TEXMF = .*")
"TEXMF = $TEXMFROOT/share/texmf-dist\n"))
(setenv "TEXMFCNF" (dirname texmf.cnf))
(setenv "TEXMF" (string-append out "/share/texmf-dist")))
(setenv "TEXMF" (string-append out "/share/texmf-dist"))
;; Don't truncate lines.
(setenv "error_line" "254") ; must be less than 255
(setenv "half_error_line" "238") ; must be less than error_line - 15
(setenv "max_print_line" "1000"))
(mkdir "build")
#t)

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 @@
;;;
;;; Code:
;; This code can be used with the bootstrap Guile, which is Guile 2.0, so
;; provide a compatibility layer.
(cond-expand
((and guile-2 (not guile-2.2))
(define (setvbuf port mode . rest)
(apply (@ (guile) setvbuf) port
(match mode
('line _IOLBF)
('block _IOFBF)
('none _IONBF))
rest)))
(else #f))
(define (files-in-directory dirname)
(let ((dir (opendir dirname)))
(let loop ((files '()))
@ -179,10 +192,10 @@ returns #f, skip the faulty file altogether."
(reverse dirs-with-file))))
table)))
(setvbuf (current-output-port) _IOLBF)
(setvbuf (current-error-port) _IOLBF)
(setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) 'line)
(when (file-port? log-port)
(setvbuf log-port _IOLBF))
(setvbuf log-port 'line))
(union-of-directories output (delete-duplicates inputs)))

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

View File

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

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 @@ s-expression corresponding to that package, or #f on failure."
(_ #f)))
(_ #f)))))
(define (latest-cran-release package)
"Return an <upstream-source> for the latest release of PACKAGE."
(define (latest-cran-release pkg)
"Return an <upstream-source> for the latest release of the package PKG."
(define upstream-name
(package->upstream-name package))
(package->upstream-name pkg))
(define meta
(fetch-description 'cran upstream-name))
@ -403,15 +403,18 @@ s-expression corresponding to that package, or #f on failure."
(let ((version (assoc-ref meta "Version")))
;; CRAN does not provide signatures.
(upstream-source
(package (package-name package))
(package (package-name pkg))
(version version)
(urls (cran-uri upstream-name version))))))
(urls (cran-uri upstream-name version))
(input-changes
(changed-inputs pkg
(description->package 'cran meta)))))))
(define (latest-bioconductor-release package)
"Return an <upstream-source> for the latest release of PACKAGE."
(define (latest-bioconductor-release pkg)
"Return an <upstream-source> for the latest release of the package PKG."
(define upstream-name
(package->upstream-name package))
(package->upstream-name pkg))
(define version
(latest-bioconductor-package-version upstream-name))
@ -419,9 +422,13 @@ s-expression corresponding to that package, or #f on failure."
(and version
;; Bioconductor does not provide signatures.
(upstream-source
(package (package-name package))
(package (package-name pkg))
(version version)
(urls (bioconductor-uri upstream-name version)))))
(urls (bioconductor-uri upstream-name version))
(input-changes
(changed-inputs
pkg
(cran->guix-package upstream-name 'bioconductor))))))
(define (cran-package? package)
"Return true if PACKAGE is an R package from CRAN."

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

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

View File

@ -449,14 +449,14 @@ options handled by 'set-build-options-from-command-line', and listed in
mark the build as failed after SECONDS of silence"))
(display (G_ "
--timeout=SECONDS mark the build as failed after SECONDS of activity"))
(display (G_ "
--verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ "
--rounds=N build N times in a row to detect non-determinism"))
(display (G_ "
-c, --cores=N allow the use of up to N CPU cores for the build"))
(display (G_ "
-M, --max-jobs=N allow at most N build jobs")))
-M, --max-jobs=N allow at most N build jobs"))
(display (G_ "
--debug=LEVEL produce debugging output at LEVEL")))
(define (set-build-options-from-command-line store opts)
"Given OPTS, an alist as returned by 'args-fold' given
@ -479,7 +479,7 @@ options handled by 'set-build-options-from-command-line', and listed in
(assoc-ref opts 'print-extended-build-trace?)
#:multiplexed-build-output?
(assoc-ref opts 'multiplexed-build-output?)
#:verbosity (assoc-ref opts 'verbosity)))
#:verbosity (assoc-ref opts 'debug)))
(define set-build-options-from-command-line*
(store-lift set-build-options-from-command-line))
@ -553,12 +553,12 @@ options handled by 'set-build-options-from-command-line', and listed in
(apply values
(alist-cons 'timeout (string->number* arg) result)
rest)))
(option '("verbosity") #t #f
(option '("debug") #t #f
(lambda (opt name arg result . rest)
(let ((level (string->number arg)))
(let ((level (string->number* arg)))
(apply values
(alist-cons 'verbosity level
(alist-delete 'verbosity result))
(alist-cons 'debug level
(alist-delete 'debug result))
rest))))
(option '(#\c "cores") #t #f
(lambda (opt name arg result . rest)
@ -590,7 +590,8 @@ options handled by 'set-build-options-from-command-line', and listed in
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)
(verbosity . 0)))
(verbosity . 2)
(debug . 0)))
(define (show-help)
(display (G_ "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...
@ -619,6 +620,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
-r, --root=FILE make FILE a symlink to the result, and register it
as a garbage collector root"))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ "
-q, --quiet do not show the build log"))
(display (G_ "
--log-file return the log file names for the given derivations"))
@ -694,9 +697,15 @@ must be one of 'package', 'all', or 'transitive'~%")
(option '(#\r "root") #t #f
(lambda (opt name arg result)
(alist-cons 'gc-root arg result)))
(option '(#\v "verbosity") #t #f
(lambda (opt name arg result)
(let ((level (string->number* arg)))
(alist-cons 'verbosity level
(alist-delete 'verbosity result)))))
(option '(#\q "quiet") #f #f
(lambda (opt name arg result)
(alist-cons 'quiet? #t result)))
(alist-cons 'verbosity 0
(alist-delete 'verbosity result))))
(option '("log-file") #f #f
(lambda (opt name arg result)
(alist-cons 'log-file? #t result)))
@ -819,66 +828,59 @@ needed."
(parse-command-line args %options
(list %default-options)))
(define quiet?
(assoc-ref opts 'quiet?))
(with-error-handling
;; Ask for absolute file names so that .drv file names passed from the
;; user to 'read-derivation' are absolute when it returns.
(with-fluids ((%file-port-name-canonicalization 'absolute))
(with-store store
;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)
(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 @@ COMMAND or an interactive shell in that environment.\n"))
(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 @@ COMMAND or an interactive shell in that environment.\n"))
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)
(verbosity . 0)))
(debug . 0)
(verbosity . 2)))
(define (tag-package-arg opts arg)
"Return a two-element list with the form (TAG ARG) that tags ARG with either
@ -260,6 +263,11 @@ COMMAND or an interactive shell in that environment.\n"))
(option '(#\r "root") #t #f
(lambda (opt name arg result)
(alist-cons 'gc-root arg result)))
(option '(#\v "verbosity") #t #f
(lambda (opt name arg result)
(let ((level (string->number* arg)))
(alist-cons 'verbosity level
(alist-delete 'verbosity result)))))
(option '("bootstrap") #f #f
(lambda (opt name arg result)
(alist-cons 'bootstrap? #t result)))
@ -674,7 +682,7 @@ message if any test fails."
(leave (G_ "'--user' cannot be used without '--container'~%")))
(with-store store
(with-status-report print-build-event
(with-status-verbosity (assoc-ref opts 'verbosity)
(define manifest
(options/resolve-packages store opts))

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 @@ descriptions maintained upstream."
(lambda (uri)
(and=> (follow-redirects-to-github uri)
(lambda (github-uri)
(emit-warning
package
(format #f (G_ "URL should be '~a'") github-uri)
'source))))
(unless (string=? github-uri uri)
(emit-warning
package
(format #f (G_ "URL should be '~a'") github-uri)
'source)))))
(origin-uris origin)))))
(define (check-derivation package)

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 @@ please email '~a'~%")
"run.c" "-o" result)
(delete-file "run.c")))
(setvbuf (current-output-port)
(cond-expand (guile-2.2 'line)
(else _IOLBF)))
(setvbuf (current-output-port) 'line)
;; Link the top-level files of PACKAGE so that search paths are
;; properly defined in PROFILE/etc/profile.
@ -600,7 +598,8 @@ please email '~a'~%")
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)
(verbosity . 0)
(debug . 0)
(verbosity . 2)
(symlinks . ())
(compressor . ,(first %compressors))))
@ -687,6 +686,11 @@ please email '~a'~%")
(alist-cons 'profile-name arg result))
(_
(leave (G_ "~a: unsupported profile name~%") arg)))))
(option '(#\v "verbosity") #t #f
(lambda (opt name arg result)
(let ((level (string->number* arg)))
(alist-cons 'verbosity level
(alist-delete 'verbosity result)))))
(option '("bootstrap") #f #f
(lambda (opt name arg result)
(alist-cons 'bootstrap? #t result)))
@ -724,6 +728,8 @@ Create a bundle of PACKAGE.\n"))
(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 @@ Create a bundle of PACKAGE.\n"))
(with-error-handling
(with-store store
(with-status-report print-build-event
(with-status-verbosity (assoc-ref opts 'verbosity)
;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)

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 @@ ENTRIES, a list of manifest entries, in the context of PROFILE."
(define %default-options
;; Alist of default option values.
`((verbosity . 0)
`((verbosity . 1)
(debug . 0)
(graft? . #t)
(substitutes? . #t)
(build-hook? . #t)
@ -346,7 +347,7 @@ Install, remove, or upgrade packages in a single transaction.\n"))
(display (G_ "
--bootstrap use the bootstrap Guile to build the profile"))
(display (G_ "
--verbose produce verbose output"))
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(newline)
(display (G_ "
-s, --search=REGEXP search in synopsis and description using REGEXP"))
@ -472,13 +473,21 @@ kind of search path~%")
(values (alist-cons 'dry-run? #t
(alist-cons 'graft? #f result))
#f)))
(option '(#\v "verbosity") #t #f
(lambda (opt name arg result arg-handler)
(let ((level (string->number* arg)))
(values (alist-cons 'verbosity level
(alist-delete 'verbosity result))
#f))))
(option '("bootstrap") #f #f
(lambda (opt name arg result arg-handler)
(values (alist-cons 'bootstrap? #t result)
#f)))
(option '("verbose") #f #f
(option '("verbose") #f #f ;deprecated
(lambda (opt name arg result arg-handler)
(values (alist-cons 'verbose? #t result)
(values (alist-cons 'verbosity 2
(alist-delete 'verbosity
result))
#f)))
(option '("allow-collisions") #f #f
(lambda (opt name arg result arg-handler)
@ -907,14 +916,12 @@ processed, #f otherwise."
(define opts
(parse-command-line args %options (list %default-options #f)
#:argument-handler handle-argument))
(define verbose?
(assoc-ref opts 'verbose?))
(with-error-handling
(or (process-query opts)
(parameterize ((%store (open-connection))
(%graft? (assoc-ref opts 'graft?)))
(with-status-report print-build-event/quiet
(with-status-verbosity (assoc-ref opts 'verbosity)
(set-build-options-from-command-line (%store) opts)
(parameterize ((%guile-for-build
(package-derivation

View File

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

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

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 @@ provide."
(set! port (guix:open-connection-for-uri
uri #:verify-certificate? #f))
(unless (or buffered? (not (file-port? port)))
(setvbuf port _IONBF)))
(setvbuf port 'none)))
(http-fetch uri #:text? #f #:port port
#:verify-certificate? #f))))))
(else
@ -567,7 +567,7 @@ initial connection on which HTTP requests are sent."
verify-certificate?))))
;; For HTTPS, P is not a file port and does not support 'setvbuf'.
(when (file-port? p)
(setvbuf p _IOFBF (expt 2 16)))
(setvbuf p 'block (expt 2 16)))
;; Send REQUESTS, up to a certain number, in a row.
;; XXX: Do our own caching to work around inefficiencies when

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

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

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

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 @@
print-build-event/quiet
print-build-status
with-status-report))
with-status-report
with-status-verbosity))
;;; Commentary:
;;;
@ -636,9 +637,7 @@ The second return value is a thunk to retrieve the current state."
;; The build port actually receives Unicode strings.
(set-port-encoding! port "UTF-8")
(cond-expand
((and guile-2 (not guile-2.2)) #t)
(else (setvbuf port 'line)))
(setvbuf port 'line)
(values port (lambda () %state)))
(define (call-with-status-report on-event thunk)
@ -651,3 +650,17 @@ The second return value is a thunk to retrieve the current state."
"Set up build status reporting to the user using the ON-EVENT procedure;
evaluate EXP... in that context."
(call-with-status-report on-event (lambda () exp ...)))
(define (logger-for-level level)
"Return the logging procedure that corresponds to LEVEL."
(cond ((<= level 0) (const #t))
((= level 1) print-build-event/quiet)
(else print-build-event)))
(define (call-with-status-verbosity level thunk)
(call-with-status-report (logger-for-level level) thunk))
(define-syntax-rule (with-status-verbosity level exp ...)
"Set up build status reporting to the user at the given LEVEL: 0 means
silent, 1 means quiet, 2 means verbose. Evaluate EXP... in that context."
(call-with-status-verbosity level (lambda () exp ...)))

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 (open-inet-socket host port)
"Connect to the Unix-domain socket at HOST:PORT and return it. Raise a
'&nix-connection-error' upon error."
;; Define 'TCP_NODELAY' on Guile 2.0. The value is the same on all GNU
;; systems.
(cond-expand (guile-2.2 #t)
(else (define TCP_NODELAY 1)))
(let ((sock (with-fluids ((%default-port-encoding #f))
;; This trick allows use of the `scm_c_read' optimization.
(socket PF_UNIX SOCK_STREAM 0))))
@ -613,7 +608,7 @@ to OUT, using chunks of BUFFER-SIZE bytes."
(define %newlines
;; Newline characters triggering a flush of 'current-build-output-port'.
;; Unlike Guile's _IOLBF, we flush upon #\return so that progress reports
;; Unlike Guile's 'line, we flush upon #\return so that progress reports
;; that use that trick are correctly displayed.
(char-set #\newline #\return))

View File

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

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 @@
upstream-source-urls
upstream-source-signature-urls
upstream-source-archive-types
upstream-source-input-changes
url-prefix-predicate
coalesce-sources
@ -56,6 +58,12 @@
upstream-updater-predicate
upstream-updater-latest
upstream-input-change?
upstream-input-change-name
upstream-input-change-type
upstream-input-change-action
changed-inputs
%updaters
lookup-updater
@ -82,7 +90,73 @@
(version upstream-source-version) ;string
(urls upstream-source-urls) ;list of strings
(signature-urls upstream-source-signature-urls ;#f | list of strings
(default #f)))
(default #f))
(input-changes upstream-source-input-changes
(default '()) (thunked)))
;; Representation of an upstream input change.
(define-record-type* <upstream-input-change>
upstream-input-change make-upstream-input-change
upstream-input-change?
(name upstream-input-change-name) ;string
(type upstream-input-change-type) ;symbol: regular | native | propagated
(action upstream-input-change-action)) ;symbol: add | remove
(define (changed-inputs package package-sexp)
"Return a list of input changes for PACKAGE based on the newly imported
S-expression PACKAGE-SEXP."
(match package-sexp
((and expr ('package fields ...))
(let* ((input->name (match-lambda ((name pkg . out) name)))
(new-regular
(match expr
((path *** ('inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
(_ '())))
(new-native
(match expr
((path *** ('native-inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
(_ '())))
(new-propagated
(match expr
((path *** ('propagated-inputs
('quasiquote ((label ('unquote sym)) ...)))) label)
(_ '())))
(current-regular
(map input->name (package-inputs package)))
(current-native
(map input->name (package-native-inputs package)))
(current-propagated
(map input->name (package-propagated-inputs package))))
(append-map
(match-lambda
((action type names)
(map (lambda (name)
(upstream-input-change
(name name)
(type type)
(action action)))
names)))
`((add regular
,(lset-difference equal?
new-regular current-regular))
(remove regular
,(lset-difference equal?
current-regular new-regular))
(add native
,(lset-difference equal?
new-native current-native))
(remove native
,(lset-difference equal?
current-native new-native))
(add propagated
,(lset-difference equal?
new-propagated current-propagated))
(remove propagated
,(lset-difference equal?
current-propagated new-propagated))))))
(_ '())))
(define (url-prefix-predicate prefix)
"Return a predicate that returns true when passed a package where one of its
@ -268,12 +342,12 @@ values: the item from LST1 and the item from LST2 that match PRED."
(define* (package-update store package updaters
#:key (key-download 'interactive))
"Return the new version and the file name of the new version tarball for
PACKAGE, or #f and #f when PACKAGE is up-to-date. KEY-DOWNLOAD specifies a
download policy for missing OpenPGP keys; allowed values: 'always', 'never',
and 'interactive' (default)."
"Return the new version, the file name of the new version tarball, and input
changes for PACKAGE; return #f (three values) when PACKAGE is up-to-date.
KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed
values: 'always', 'never', and 'interactive' (default)."
(match (package-latest-release* package updaters)
(($ <upstream-source> _ version urls signature-urls)
(($ <upstream-source> _ version urls signature-urls changes)
(let*-values (((name)
(package-name package))
((archive-type)
@ -299,9 +373,9 @@ and 'interactive' (default)."
(or signature-urls (circular-list #f)))))
(let ((tarball (download-tarball store url signature-url
#:key-download key-download)))
(values version tarball))))
(values version tarball changes))))
(#f
(values #f #f))))
(values #f #f #f))))
(define (update-package-source package version hash)
"Modify the source file that defines PACKAGE to refer to VERSION,

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