aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/xnee.scm
blob: 26c33c754ffda016ea651baf77169d7b5454b623 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; 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 xnee)
  #:use-module (guix packages)
  #:use-module (guix licenses)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages xorg))

(define-public xnee
  (package
    (name "xnee")
    (version "3.19")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/xnee/xnee-"
                                 version ".tar.gz"))
             (sha256
              (base32
               "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j"))))
    (build-system gnu-build-system)
    (arguments
     '(#:configure-flags '("CFLAGS=-O2 -g -fcommon")))
    (inputs
     (list gtk+-2
           libx11
           libxext
           libxi
           libxtst
           xorgproto))
    (native-inputs
      (list pkg-config))
    (home-page "https://www.gnu.org/software/xnee/")
    (synopsis "Record, replay and distribute user actions under X11")
    (description
     "GNU Xnee is a program that can record, replay and distribute user
actions in X11.  It can be used to automate user interactions for testing or
demonstration purposes.")
    (license gpl3+)))
f813eb79bf'>gnu/packages/android.scm9
-rw-r--r--gnu/packages/assembly.scm26
-rw-r--r--gnu/packages/audio.scm19
-rw-r--r--gnu/packages/autotools.scm44
-rw-r--r--gnu/packages/aux-files/guile-launcher.c7
-rw-r--r--gnu/packages/aux-files/python/sanity-check.py92
-rw-r--r--gnu/packages/aux-files/python/sitecustomize.py41
-rw-r--r--gnu/packages/avahi.scm2
-rw-r--r--gnu/packages/backup.scm8
-rw-r--r--gnu/packages/base.scm216
-rw-r--r--gnu/packages/bash.scm38
-rw-r--r--gnu/packages/bdw-gc.scm17
-rw-r--r--gnu/packages/benchmark.scm2
-rw-r--r--gnu/packages/bioinformatics.scm167
-rw-r--r--gnu/packages/bison.scm17
-rw-r--r--gnu/packages/boost.scm36
-rw-r--r--gnu/packages/bootstrap.scm157
-rw-r--r--gnu/packages/build-tools.scm48
-rw-r--r--gnu/packages/calendar.scm4
-rw-r--r--gnu/packages/cdrom.scm2
-rw-r--r--gnu/packages/certs.scm124
-rw-r--r--gnu/packages/check.scm333
-rw-r--r--gnu/packages/chez.scm20
-rw-r--r--gnu/packages/ci.scm2
-rw-r--r--gnu/packages/cmake.scm184
-rw-r--r--gnu/packages/commencement.scm387
-rw-r--r--gnu/packages/compression.scm203
-rw-r--r--gnu/packages/connman.scm2
-rw-r--r--gnu/packages/cpio.scm10
-rw-r--r--gnu/packages/crates-io.scm5
-rw-r--r--gnu/packages/cross-base.scm47
-rw-r--r--gnu/packages/crypto.scm6
-rw-r--r--gnu/packages/cups.scm43
-rw-r--r--gnu/packages/curl.scm39
-rw-r--r--gnu/packages/databases.scm35
-rw-r--r--gnu/packages/datastructures.scm2
-rw-r--r--gnu/packages/dbm.scm14
-rw-r--r--gnu/packages/debug.scm4
-rw-r--r--gnu/packages/display-managers.scm2
-rw-r--r--gnu/packages/django.scm81
-rw-r--r--gnu/packages/docbook.scm127
-rw-r--r--gnu/packages/documentation.scm14
-rw-r--r--gnu/packages/ebook.scm6
-rw-r--r--gnu/packages/ed.scm4
-rw-r--r--gnu/packages/education.scm2
-rw-r--r--gnu/packages/elf.scm5
-rw-r--r--gnu/packages/emacs-xyz.scm10
-rw-r--r--gnu/packages/emacs.scm8
-rw-r--r--gnu/packages/emulators.scm19
-rw-r--r--gnu/packages/engineering.scm14
-rw-r--r--gnu/packages/file.scm5
-rw-r--r--gnu/packages/fontutils.scm167
-rw-r--r--gnu/packages/freedesktop.scm70
-rw-r--r--gnu/packages/game-development.scm5
-rw-r--r--gnu/packages/games.scm40
-rw-r--r--gnu/packages/gawk.scm14
-rw-r--r--gnu/packages/gcc.scm130
-rw-r--r--gnu/packages/gd.scm20
-rw-r--r--gnu/packages/gdb.scm15
-rw-r--r--gnu/packages/gettext.scm23
-rw-r--r--gnu/packages/ghostscript.scm20
-rw-r--r--gnu/packages/gimp.scm10
-rw-r--r--gnu/packages/gl.scm116
-rw-r--r--gnu/packages/glib.scm688
-rw-r--r--gnu/packages/gnome-xyz.scm2
-rw-r--r--gnu/packages/gnome.scm441
-rw-r--r--gnu/packages/gnupg.scm16
-rw-r--r--gnu/packages/gnuzilla.scm18
-rw-r--r--gnu/packages/gpodder.scm3
-rw-r--r--gnu/packages/gps.scm2
-rw-r--r--gnu/packages/graphviz.scm20
-rw-r--r--gnu/packages/gtk.scm1428
-rw-r--r--gnu/packages/guile-xyz.scm4
-rw-r--r--gnu/packages/guile.scm88
-rw-r--r--gnu/packages/ibus.scm109
-rw-r--r--gnu/packages/icu4c.scm8
-rw-r--r--gnu/packages/image.scm92
-rw-r--r--gnu/packages/inkscape.scm4
-rw-r--r--gnu/packages/java.scm12
-rw-r--r--gnu/packages/jemalloc.scm17
-rw-r--r--gnu/packages/kerberos.scm24
-rw-r--r--gnu/packages/ld-wrapper.in3
-rw-r--r--gnu/packages/libevent.scm18
-rw-r--r--gnu/packages/libffi.scm62
-rw-r--r--gnu/packages/libidn.scm15
-rw-r--r--gnu/packages/libsigsegv.scm4
-rw-r--r--gnu/packages/linux.scm247
-rw-r--r--gnu/packages/lisp.scm8
-rw-r--r--gnu/packages/llvm.scm18
-rw-r--r--gnu/packages/lua.scm3
-rw-r--r--gnu/packages/machine-learning.scm47
-rw-r--r--gnu/packages/mail.scm5
-rw-r--r--gnu/packages/make-bootstrap.scm12
-rw-r--r--gnu/packages/man.scm27
-rw-r--r--gnu/packages/mastodon.scm2
-rw-r--r--gnu/packages/mate.scm5
-rw-r--r--gnu/packages/maths.scm169
-rw-r--r--gnu/packages/messaging.scm2
-rw-r--r--gnu/packages/mpd.scm6
-rw-r--r--gnu/packages/multiprecision.scm12
-rw-r--r--gnu/packages/music.scm20
-rw-r--r--gnu/packages/nettle.scm30
-rw-r--r--gnu/packages/networking.scm11
-rw-r--r--gnu/packages/ninja.scm10
-rw-r--r--gnu/packages/nss.scm80
-rw-r--r--gnu/packages/onc-rpc.scm20
-rw-r--r--gnu/packages/openldap.scm68
-rw-r--r--gnu/packages/password-utils.scm4
-rw-r--r--gnu/packages/patches/atlas-gfortran-compat.patch37
-rw-r--r--gnu/packages/patches/bdb-5.3-atomics-on-gcc-9.patch22
-rw-r--r--gnu/packages/patches/binutils-libiberty-endianness-bug.patch36
-rw-r--r--gnu/packages/patches/curl-7.76-use-ssl-cert-env.patch64
-rw-r--r--gnu/packages/patches/curl-use-ssl-cert-env.patch4
-rw-r--r--gnu/packages/patches/dbus-CVE-2020-12049.patch58
-rw-r--r--gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch11
-rw-r--r--gnu/packages/patches/docbook-xsl-support-old-url.patch17
-rw-r--r--gnu/packages/patches/doxygen-1.8.17-runtests.patch73
-rw-r--r--gnu/packages/patches/doxygen-test.patch60
-rw-r--r--gnu/packages/patches/findutils-test-rwlock-threads.patch38
-rw-r--r--gnu/packages/patches/fontconfig-hurd-path-max.patch17
-rw-r--r--gnu/packages/patches/freeglut-gcc-compat.patch53
-rw-r--r--gnu/packages/patches/ganeti-preserve-PYTHONPATH.patch21
-rw-r--r--gnu/packages/patches/gcc-10-cross-environment-variables.patch51
-rw-r--r--gnu/packages/patches/gcc-cross-gxx-include-dir.patch73
-rw-r--r--gnu/packages/patches/gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch179
-rw-r--r--gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch53
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2020-15900.patch36
-rw-r--r--gnu/packages/patches/ghostscript-freetype-compat.patch35
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27218.patch132
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-01.patch176
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-02.patch264
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-03.patch136
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-04.patch308
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-05.patch47
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-06.patch94
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-07.patch118
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-08.patch94
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-09.patch98
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-10.patch52
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-11.patch57
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-12.patch30
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-13.patch32
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-14.patch32
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-15.patch95
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-16.patch43
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-17.patch37
-rw-r--r--gnu/packages/patches/glib-CVE-2021-27219-18.patch232
-rw-r--r--gnu/packages/patches/glib-CVE-2021-28153.patch283
-rw-r--r--gnu/packages/patches/glib-skip-failing-test.patch27
-rw-r--r--gnu/packages/patches/glib-tests-timer.patch15
-rw-r--r--gnu/packages/patches/glibc-bootstrap-system.patch38
-rw-r--r--gnu/packages/patches/glibc-dl-cache.patch140
-rw-r--r--gnu/packages/patches/glibc-hurd-clock_gettime_monotonic.patch19
-rw-r--r--gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch637
-rw-r--r--gnu/packages/patches/gnutls-CVE-2021-20231.patch62
-rw-r--r--gnu/packages/patches/gnutls-CVE-2021-20232.patch60
-rw-r--r--gnu/packages/patches/graphviz-CVE-2020-18032.patch49
-rw-r--r--gnu/packages/patches/guile-ssh-fix-test-suite.patch217
-rw-r--r--gnu/packages/patches/guile-ssh-read-error.patch18
-rw-r--r--gnu/packages/patches/icu4c-CVE-2020-10531.patch127
-rw-r--r--gnu/packages/patches/inetutils-hurd.patch583
-rw-r--r--gnu/packages/patches/jsoncpp-fix-inverted-case.patch22
-rw-r--r--gnu/packages/patches/lcms-CVE-2018-16435.patch171
-rw-r--r--gnu/packages/patches/libtirpc-hurd-client.patch50
-rw-r--r--gnu/packages/patches/libxt-guix-search-paths.patch13
-rw-r--r--gnu/packages/patches/mariadb-cmake-compat.patch17
-rw-r--r--gnu/packages/patches/meson-for-build-rpath.patch24
-rw-r--r--gnu/packages/patches/mit-krb5-hurd.patch15
-rw-r--r--gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch29
-rw-r--r--gnu/packages/patches/nss-getcwd-nonnull.patch30
-rw-r--r--gnu/packages/patches/perl-deterministic-ordering.patch29
-rw-r--r--gnu/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch33
-rw-r--r--gnu/packages/patches/perl-no-sys-dirs.patch99
-rw-r--r--gnu/packages/patches/python-2.7-no-static-lib.patch70
-rw-r--r--gnu/packages/patches/python-3-fix-tests.patch194
-rw-r--r--gnu/packages/patches/python-3-hurd-configure.patch27
-rw-r--r--gnu/packages/patches/python-3-no-static-lib.patch75
-rw-r--r--gnu/packages/patches/python-3.8-CVE-2021-3177.patch194
-rw-r--r--gnu/packages/patches/python-3.8-fix-tests.patch42
-rw-r--r--gnu/packages/patches/python-3.9-fix-tests.patch370
-rw-r--r--gnu/packages/patches/python-babel-fix-parse-future-test.patch68
-rw-r--r--gnu/packages/patches/python-libxml2-python39-compat.patch94
-rw-r--r--gnu/packages/patches/python-typing-inspect-fix.patch38
-rw-r--r--gnu/packages/patches/rust-1.19-mrustc.patch28
-rw-r--r--gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch111
-rw-r--r--gnu/packages/patches/rust-1.30-gdb-llvm.patch89
-rw-r--r--gnu/packages/patches/rust-1.45-linker-locale.patch14
-rw-r--r--gnu/packages/patches/rust-1.48-linker-locale.patch14
-rw-r--r--gnu/packages/patches/rust-bootstrap-stage0-test.patch55
-rw-r--r--gnu/packages/patches/tcl-fix-cross-compilation.patch39
-rw-r--r--gnu/packages/patches/tcsh-fix-autotest.patch11
-rw-r--r--gnu/packages/patches/texlive-bin-poppler-0.83.patch52
-rw-r--r--gnu/packages/patches/texlive-bin-poppler-0.86.patch17
-rw-r--r--gnu/packages/patches/zstd-CVE-2021-24031_CVE-2021-24032.patch68
-rw-r--r--gnu/packages/patches/zziplib-CVE-2018-16548.patch49
-rw-r--r--gnu/packages/patchutils.scm2
-rw-r--r--gnu/packages/pdf.scm7
-rw-r--r--gnu/packages/perl-check.scm4
-rw-r--r--gnu/packages/perl.scm58
-rw-r--r--gnu/packages/photo.scm8
-rw-r--r--gnu/packages/plotutils.scm6
-rw-r--r--gnu/packages/presentation.scm4
-rw-r--r--gnu/packages/protobuf.scm17
-rw-r--r--gnu/packages/pulseaudio.scm8
-rw-r--r--gnu/packages/python-build.scm14
-rw-r--r--gnu/packages/python-check.scm62
-rw-r--r--gnu/packages/python-crypto.scm28
-rw-r--r--gnu/packages/python-web.scm67
-rw-r--r--gnu/packages/python-xyz.scm775
-rw-r--r--gnu/packages/python.scm565
-rw-r--r--gnu/packages/radio.scm12
-rw-r--r--gnu/packages/readline.scm19
-rw-r--r--gnu/packages/ruby.scm56
-rw-r--r--gnu/packages/rust.scm1712
-rw-r--r--gnu/packages/scheme.scm6
-rw-r--r--gnu/packages/screen.scm2
-rw-r--r--gnu/packages/security-token.scm5
-rw-r--r--gnu/packages/selinux.scm69
-rw-r--r--gnu/packages/sequoia.scm2
-rw-r--r--gnu/packages/serialization.scm6
-rw-r--r--gnu/packages/shells.scm18
-rw-r--r--gnu/packages/simulation.scm36
-rw-r--r--gnu/packages/solidity.scm92
-rw-r--r--gnu/packages/sphinx.scm4
-rw-r--r--gnu/packages/spice.scm12
-rw-r--r--gnu/packages/sqlite.scm72
-rw-r--r--gnu/packages/ssh.scm15
-rw-r--r--gnu/packages/statistics.scm23
-rw-r--r--gnu/packages/storage.scm7
-rw-r--r--gnu/packages/swig.scm16
-rw-r--r--gnu/packages/syndication.scm4
-rw-r--r--gnu/packages/task-management.scm4
-rw-r--r--gnu/packages/tcl.scm59
-rw-r--r--gnu/packages/terminals.scm3
-rw-r--r--gnu/packages/tex.scm3005
-rw-r--r--gnu/packages/texinfo.scm27
-rw-r--r--gnu/packages/text-editors.scm3
-rw-r--r--gnu/packages/tls.scm151
-rw-r--r--gnu/packages/tmux.scm4
-rw-r--r--gnu/packages/version-control.scm14
-rw-r--r--gnu/packages/video.scm12
-rw-r--r--gnu/packages/virtualization.scm88
-rw-r--r--gnu/packages/vpn.scm7
-rw-r--r--gnu/packages/w3m.scm13
-rw-r--r--gnu/packages/web.scm34
-rw-r--r--gnu/packages/wget.scm4
-rw-r--r--gnu/packages/wicd.scm5
-rw-r--r--gnu/packages/wm.scm12
-rw-r--r--gnu/packages/xdisorg.scm34
-rw-r--r--gnu/packages/xfce.scm2
-rw-r--r--gnu/packages/xml.scm91
-rw-r--r--gnu/packages/xorg.scm84
-rw-r--r--gnu/system/locale.scm3
-rw-r--r--gnu/system/shadow.scm8
-rw-r--r--gnu/system/vm.scm6
261 files changed, 8917 insertions, 13530 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index bd59916bf3..253d9bcd31 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -164,8 +164,8 @@ the #:references-graphs parameter of 'derivation'."
"-cpu" "max"
"-m" (number->string memory-size)
"-nic" "user,model=virtio-net-pci"
- "-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng"
- "-device" "virtio-rng-pci,rng=guixsd-vm-rng"
+ "-object" "rng-random,filename=/dev/urandom,id=guix-vm-rng"
+ "-device" "virtio-rng-pci,rng=guix-vm-rng"
"-virtfs"
(string-append "local,id=store_dev,path="
(%store-directory)
diff --git a/gnu/local.mk b/gnu/local.mk
index da86c66cda..a78d255fd9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -40,6 +40,7 @@
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
# Copyright © 2020 Vinicius Monego <monego@posteo.net>
# Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+# Copyright © 2021 Greg Hogan <code@greghogan.com>
# Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
# Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
#
@@ -520,6 +521,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/slang.scm \
%D%/packages/smalltalk.scm \
%D%/packages/sml.scm \
+ %D%/packages/solidity.scm \
%D%/packages/speech.scm \
%D%/packages/sphinx.scm \
%D%/packages/spice.scm \
@@ -820,6 +822,7 @@ dist_patch_DATA = \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
+ %D%/packages/patches/atlas-gfortran-compat.patch \
%D%/packages/patches/audacity-build-with-system-portaudio.patch \
%D%/packages/patches/audacity-add-include.patch \
%D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \
@@ -852,6 +855,7 @@ dist_patch_DATA = \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/bc-fix-cross-compilation.patch \
+ %D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \
%D%/packages/patches/bear-disable-preinstall-tests.patch \
%D%/packages/patches/brightnessctl-elogind-support.patch \
%D%/packages/patches/bsd-games-2.17-64bit.patch \
@@ -873,6 +877,7 @@ dist_patch_DATA = \
%D%/packages/patches/biber-sortinithash.patch \
%D%/packages/patches/bidiv-update-fribidi.patch \
%D%/packages/patches/binutils-boot-2.20.1a.patch \
+ %D%/packages/patches/binutils-libiberty-endianness-bug.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
@@ -930,7 +935,6 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \
- %D%/packages/patches/curl-7.76-use-ssl-cert-env.patch \
%D%/packages/patches/curl-7.77-tls-priority-string.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
@@ -941,7 +945,6 @@ dist_patch_DATA = \
%D%/packages/patches/datefudge-gettimeofday.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
- %D%/packages/patches/dbus-CVE-2020-12049.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \
%D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
@@ -955,12 +958,11 @@ dist_patch_DATA = \
%D%/packages/patches/disarchive-cross-compilation.patch \
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
%D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \
+ %D%/packages/patches/docbook-xsl-support-old-url.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.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/doxygen-1.8.17-runtests.patch \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
%D%/packages/patches/dstat-skip-devices-without-io.patch \
%D%/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch \
@@ -1015,15 +1017,14 @@ dist_patch_DATA = \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
%D%/packages/patches/findutils-localstatedir.patch \
- %D%/packages/patches/findutils-test-rwlock-threads.patch \
%D%/packages/patches/flann-cmake-3.11.patch \
%D%/packages/patches/foobillard++-pkg-config.patch \
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
%D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \
- %D%/packages/patches/fontconfig-hurd-path-max.patch \
%D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fplll-std-fenv.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
+ %D%/packages/patches/freeglut-gcc-compat.patch \
%D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/fuse-overlapping-headers.patch \
%D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \
@@ -1032,7 +1033,6 @@ dist_patch_DATA = \
%D%/packages/patches/ganeti-drbd-compat.patch \
%D%/packages/patches/ganeti-haskell-pythondir.patch \
%D%/packages/patches/ganeti-os-disk-size.patch \
- %D%/packages/patches/ganeti-preserve-PYTHONPATH.patch \
%D%/packages/patches/ganeti-shepherd-master-failover.patch \
%D%/packages/patches/ganeti-shepherd-support.patch \
%D%/packages/patches/gash-utils-ls-test.patch \
@@ -1077,7 +1077,7 @@ dist_patch_DATA = \
%D%/packages/patches/gdb-hurd.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
- %D%/packages/patches/gdk-pixbuf-CVE-2020-29385.patch \
+ %D%/packages/patches/gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch \
%D%/packages/patches/gdm-default-session.patch \
%D%/packages/patches/geary-CVE-2020-24661.patch \
%D%/packages/patches/genimage-signedness.patch \
@@ -1091,34 +1091,12 @@ dist_patch_DATA = \
%D%/packages/patches/ghc-monad-par-fix-tests.patch \
%D%/packages/patches/ghc-pandoc-fix-html-tests.patch \
%D%/packages/patches/ghc-pandoc-fix-latex-test.patch \
- %D%/packages/patches/ghostscript-CVE-2020-15900.patch \
- %D%/packages/patches/ghostscript-freetype-compat.patch \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/giara-fix-login.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
- %D%/packages/patches/glib-tests-timer.patch \
- %D%/packages/patches/glib-CVE-2021-27218.patch \
- %D%/packages/patches/glib-CVE-2021-27219-01.patch \
- %D%/packages/patches/glib-CVE-2021-27219-02.patch \
- %D%/packages/patches/glib-CVE-2021-27219-03.patch \
- %D%/packages/patches/glib-CVE-2021-27219-04.patch \
- %D%/packages/patches/glib-CVE-2021-27219-05.patch \
- %D%/packages/patches/glib-CVE-2021-27219-06.patch \
- %D%/packages/patches/glib-CVE-2021-27219-07.patch \
- %D%/packages/patches/glib-CVE-2021-27219-08.patch \
- %D%/packages/patches/glib-CVE-2021-27219-09.patch \
- %D%/packages/patches/glib-CVE-2021-27219-10.patch \
- %D%/packages/patches/glib-CVE-2021-27219-11.patch \
- %D%/packages/patches/glib-CVE-2021-27219-12.patch \
- %D%/packages/patches/glib-CVE-2021-27219-13.patch \
- %D%/packages/patches/glib-CVE-2021-27219-14.patch \
- %D%/packages/patches/glib-CVE-2021-27219-15.patch \
- %D%/packages/patches/glib-CVE-2021-27219-16.patch \
- %D%/packages/patches/glib-CVE-2021-27219-17.patch \
- %D%/packages/patches/glib-CVE-2021-27219-18.patch \
- %D%/packages/patches/glib-CVE-2021-28153.patch \
+ %D%/packages/patches/glib-skip-failing-test.patch \
%D%/packages/patches/glibc-CVE-2018-11236.patch \
%D%/packages/patches/glibc-CVE-2018-11237.patch \
%D%/packages/patches/glibc-CVE-2019-7309.patch \
@@ -1130,13 +1108,13 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-bootstrap-system-2.2.5.patch \
%D%/packages/patches/glibc-bootstrap-system-2.16.0.patch \
%D%/packages/patches/glibc-bootstrap-system.patch \
+ %D%/packages/patches/glibc-dl-cache.patch \
%D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \
%D%/packages/patches/glibc-hurd-clock_gettime_monotonic.patch \
%D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \
%D%/packages/patches/glibc-hurd-gettyent.patch \
%D%/packages/patches/glibc-hurd-mach-print.patch \
%D%/packages/patches/glibc-hurd-magic-pid.patch \
- %D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch \
%D%/packages/patches/glibc-ldd-powerpc.patch \
%D%/packages/patches/glibc-ldd-x86_64.patch \
%D%/packages/patches/glibc-locales.patch \
@@ -1162,8 +1140,6 @@ dist_patch_DATA = \
%D%/packages/patches/gnupg-default-pinentry.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
%D%/packages/patches/gnutls-cross.patch \
- %D%/packages/patches/gnutls-CVE-2021-20231.patch \
- %D%/packages/patches/gnutls-CVE-2021-20232.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
@@ -1172,7 +1148,6 @@ dist_patch_DATA = \
%D%/packages/patches/gpodder-disable-updater.patch \
%D%/packages/patches/gpsbabel-fix-i686-test.patch \
%D%/packages/patches/grantlee-merge-theme-dirs.patch \
- %D%/packages/patches/graphviz-CVE-2020-18032.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/grocsvs-dont-use-admiral.patch \
%D%/packages/patches/gromacs-tinyxml2.patch \
@@ -1201,6 +1176,8 @@ dist_patch_DATA = \
%D%/packages/patches/guile-present-coding.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-emacs-fix-configure.patch \
+ %D%/packages/patches/guile-ssh-fix-test-suite.patch \
+ %D%/packages/patches/guile-ssh-read-error.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
@@ -1235,8 +1212,6 @@ dist_patch_DATA = \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch \
- %D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \
- %D%/packages/patches/icu4c-CVE-2020-10531.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/idris-disable-test.patch \
@@ -1245,7 +1220,6 @@ dist_patch_DATA = \
%D%/packages/patches/imagemagick-ReadDCMImage-fix.patch \
%D%/packages/patches/imagemagick-ReadDCMPixels-fix.patch \
%D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \
- %D%/packages/patches/inetutils-hurd.patch \
%D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/inkscape-1.1-fix-build-witch-gcc7.5.patch \
%D%/packages/patches/intel-xed-fix-nondeterminism.patch \
@@ -1280,7 +1254,6 @@ dist_patch_DATA = \
%D%/packages/patches/jfsutils-add-sysmacros.patch \
%D%/packages/patches/jfsutils-gcc-compat.patch \
%D%/packages/patches/jfsutils-include-systypes.patch \
- %D%/packages/patches/jsoncpp-fix-inverted-case.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libblockdev-glib-compat.patch \
@@ -1318,7 +1291,6 @@ dist_patch_DATA = \
%D%/packages/patches/lcalc-default-parameters-2.patch \
%D%/packages/patches/lcalc-lcommon-h.patch \
%D%/packages/patches/lcalc-using-namespace-std.patch \
- %D%/packages/patches/lcms-CVE-2018-16435.patch \
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \
%D%/packages/patches/ldc-disable-phobos-tests.patch \
%D%/packages/patches/ldns-drill-examples.patch \
@@ -1369,7 +1341,6 @@ dist_patch_DATA = \
%D%/packages/patches/libtgvoip-disable-webrtc.patch \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtirpc-hurd.patch \
- %D%/packages/patches/libtirpc-hurd-client.patch \
%D%/packages/patches/libtommath-fix-linkage.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
@@ -1414,6 +1385,7 @@ dist_patch_DATA = \
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-CVE-2021-27928.patch \
+ %D%/packages/patches/mariadb-cmake-compat.patch \
%D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \
%D%/packages/patches/maxima-defsystem-mkdir.patch \
@@ -1428,7 +1400,6 @@ dist_patch_DATA = \
%D%/packages/patches/mercurial-hg-extension-path.patch \
%D%/packages/patches/mesa-skip-tests.patch \
%D%/packages/patches/mescc-tools-boot.patch \
- %D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
@@ -1437,7 +1408,6 @@ dist_patch_DATA = \
%D%/packages/patches/minisat-friend-declaration.patch \
%D%/packages/patches/minisat-install.patch \
%D%/packages/patches/mit-krb5-hurd.patch \
- %D%/packages/patches/mit-krb5-qualify-short-hostnames.patch \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
@@ -1480,6 +1450,7 @@ dist_patch_DATA = \
%D%/packages/patches/nginx-socket-cloexec.patch \
%D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nsis-source-date-epoch.patch \
+ %D%/packages/patches/nss-getcwd-nonnull.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-3.56-pkgconfig.patch \
%D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \
@@ -1541,10 +1512,8 @@ dist_patch_DATA = \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \
%D%/packages/patches/perl-cross.patch \
- %D%/packages/patches/perl-deterministic-ordering.patch \
%D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
%D%/packages/patches/perl-image-exiftool-CVE-2021-22204.patch \
- %D%/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch \
%D%/packages/patches/perl-net-amazon-s3-moose-warning.patch \
%D%/packages/patches/perl-net-dns-resolver-programmable-fix.patch \
%D%/packages/patches/perl-no-sys-dirs.patch \
@@ -1593,13 +1562,13 @@ dist_patch_DATA = \
%D%/packages/patches/python-2.7-site-prefixes.patch \
%D%/packages/patches/python-2.7-source-date-epoch.patch \
%D%/packages/patches/python-2.7-CVE-2021-3177.patch \
+ %D%/packages/patches/python-2.7-no-static-lib.patch \
%D%/packages/patches/python-3-arm-alignment.patch \
%D%/packages/patches/python-3-deterministic-build-info.patch \
%D%/packages/patches/python-3-search-paths.patch \
%D%/packages/patches/python-3-fix-tests.patch \
- %D%/packages/patches/python-3.8-fix-tests.patch \
- %D%/packages/patches/python-3.8-CVE-2021-3177.patch \
- %D%/packages/patches/python-3.9-fix-tests.patch \
+ %D%/packages/patches/python-3-hurd-configure.patch \
+ %D%/packages/patches/python-3-no-static-lib.patch \
%D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-CVE-2020-26116.patch \
%D%/packages/patches/python-aionotify-0.2.0-py3.8.patch \
@@ -1613,12 +1582,14 @@ dist_patch_DATA = \
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-flint-includes.patch \
+ %D%/packages/patches/python-libxml2-python39-compat.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \
%D%/packages/patches/python-mediafile-wavpack.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
+ %D%/packages/patches/python-typing-inspect-fix.patch \
%D%/packages/patches/python-onnx-use-system-googletest.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
%D%/packages/patches/python2-parameterized-docstring-test.patch \
@@ -1675,11 +1646,6 @@ dist_patch_DATA = \
%D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \
%D%/packages/patches/rnp-unbundle-googletest.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
- %D%/packages/patches/rust-1.19-mrustc.patch \
- %D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \
- %D%/packages/patches/rust-1.45-linker-locale.patch \
- %D%/packages/patches/rust-1.48-linker-locale.patch \
- %D%/packages/patches/rust-bootstrap-stage0-test.patch \
%D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
%D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \
@@ -1735,12 +1701,9 @@ dist_patch_DATA = \
%D%/packages/patches/tar-skip-unreliable-tests.patch \
%D%/packages/patches/tcc-boot-0.9.27.patch \
%D%/packages/patches/tclxml-3.2-install.patch \
- %D%/packages/patches/tcl-fix-cross-compilation.patch \
%D%/packages/patches/tcsh-fix-autotest.patch \
%D%/packages/patches/teensy-loader-cli-help.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \
- %D%/packages/patches/texlive-bin-poppler-0.83.patch \
- %D%/packages/patches/texlive-bin-poppler-0.86.patch \
%D%/packages/patches/telegram-purple-adjust-test.patch \
%D%/packages/patches/telepathy-glib-channel-memory-leak.patch \
%D%/packages/patches/texi2html-document-encoding.patch \
@@ -1855,9 +1818,7 @@ dist_patch_DATA = \
%D%/packages/patches/xsane-tighten-default-umask.patch \
%D%/packages/patches/yggdrasil-extra-config.patch \
%D%/packages/patches/ytnef-CVE-2021-3403.patch \
- %D%/packages/patches/ytnef-CVE-2021-3404.patch \
- %D%/packages/patches/zstd-CVE-2021-24031_CVE-2021-24032.patch \
- %D%/packages/patches/zziplib-CVE-2018-16548.patch
+ %D%/packages/patches/ytnef-CVE-2021-3404.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f97be3c735..52c9492fcb 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020, 2021 Eric Bavier <bavier@posteo.net>
@@ -35,6 +35,7 @@
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
@@ -270,7 +271,14 @@ and provides a \"top-like\" mode (monitoring).")
version ".tar.gz"))
(sha256
(base32
- "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk"))))
+ "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Build with -O1 to work around <https://bugs.gnu.org/48368>.
+ (substitute* "Makefile.in"
+ (("compile --target")
+ "compile -O1 --target"))))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")
@@ -646,7 +654,8 @@ console.")
`(("ncurses" ,ncurses)))
(native-inputs
`(("autoconf" ,autoconf)
- ("automake" ,automake)))
+ ("automake" ,automake)
+ ("python" ,python-minimal-wrapper))) ; for scripts/MakeHeader.py
(home-page "https://htop.dev")
(synopsis "Interactive process viewer")
(description
@@ -747,15 +756,14 @@ re-executing them as necessary.")
(define-public inetutils
(package
(name "inetutils")
- (version "1.9.4")
+ (version "2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/inetutils/inetutils-"
version ".tar.gz"))
- (patches (search-patches "inetutils-hurd.patch"))
(sha256
(base32
- "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
+ "0j1nb69bhg29cm4xkqqjh2ln1zqcj2lnpm92v638lpwrs11dypxl"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--localstatedir=/var"
@@ -776,10 +784,17 @@ re-executing them as necessary.")
"--disable-uucpd"
"--disable-whois")
'()))
+ ;; Make sure that canonical "coreutils" package is not referred.
+ #:make-flags
+ (list (string-append "CPPFLAGS=-DPATHDEF_CP=\\\""
+ (assoc-ref %build-inputs "coreutils*")
+ "/bin/cp\\\""))
;; On some systems, 'libls.sh' may fail with an error such as:
;; "Failed to tell switch -a apart from -A".
#:parallel-tests? #f))
- (inputs `(("ncurses" ,ncurses)
+ (inputs `(("coreutils*" ,coreutils)
+ ("shadow" ,shadow) ;for login (used in telnetd and rlogind)
+ ("ncurses" ,ncurses)
("readline" ,readline))) ;for 'ftp'
(native-inputs (if (member (%current-system)
(package-supported-systems net-tools))
@@ -1662,10 +1677,7 @@ system administrator.")
;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
#:tests? #f))
(native-inputs
- ;; XXX TODO: Remove on next rebuild cycle.
- (if (hurd-target?)
- '()
- `(("groff" ,groff))))
+ `(("groff" ,groff)))
(inputs
`(("coreutils" ,coreutils)
,@(if (hurd-target?)
@@ -2897,7 +2909,7 @@ done with the @code{auditctl} utility.")
"install-nping")
(make ndiff "install-ndiff")
(wrap-program (string-append ndiff "/bin/ndiff")
- `("PYTHONPATH" prefix
+ `("GUIX_PYTHONPATH" prefix
(,(python-path ndiff)))))
#t))
;; These are the tests that do not require network access.
@@ -2952,7 +2964,7 @@ results (ndiff), and a packet generation and response analysis tool (nping).")
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/dstat")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
#t))))))
(inputs
`(("python" ,python-wrapper)
@@ -4052,8 +4064,7 @@ cache of unix and unix-like systems.")
(modify-phases %standard-phases
(add-before 'build 'setenv-PATH
(lambda _
- (setenv "PYTHONPATH" (string-append "lib:" (getenv "PYTHONPATH")))
- #t)))))
+ (setenv "PYTHONPATH" "lib"))))))
(propagated-inputs
`(("python-pygobject" ,python-pygobject)
("python-pyudev" ,python-pyudev)
diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm
index b36ec18462..1b71d0107c 100644
--- a/gnu/packages/adns.scm
+++ b/gnu/packages/adns.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019, 2021 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,7 +65,7 @@ scripts.")
(define-public c-ares
(package
(name "c-ares")
- (version "1.16.0")
+ (version "1.17.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -73,9 +73,15 @@ scripts.")
".tar.gz"))
(sha256
(base32
- "129sm0wzij0mp8vdv68v18hnykcjb6ivi66wnqnnw598q7bql1fy"))))
- (replacement c-ares/fixed)
+ "0h7wjfnk2092glqcp9mqaax7xx0s13m501z1gi0gsjl2vvvd0gfp"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'filter-live-tests
+ (lambda _
+ ;; Filter tests that require internet access.
+ (setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*"))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://c-ares.haxx.se/")
@@ -88,23 +94,6 @@ The primary examples of such applications are servers which communicate with
multiple clients and programs with graphical user interfaces.")
(license (x11-style "https://c-ares.haxx.se/license.html"))))
-(define-public c-ares/fixed
- (package
- (inherit c-ares)
- (name "c-ares")
- (version "1.17.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://c-ares.haxx.se/download/" name "-" version
- ".tar.gz"))
- (sha256
- (base32
- "0h7wjfnk2092glqcp9mqaax7xx0s13m501z1gi0gsjl2vvvd0gfp"))))
- (arguments
- `(;; FIXME: Some tests require network access
- #:tests? #f))))
-
;; gRPC requires a c-ares built with CMake in order to get the .cmake modules.
;; We can not build c-ares itself with CMake because that would introduce a
;; circular dependency through nghttp2.
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index 3db631d92e..21fc1957a2 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -30,9 +30,11 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
@@ -169,16 +171,18 @@ C/C++ programs to use its capabilities without restrictions or overhead.")
(define-public zbar
(package
(name "zbar")
- (version "0.23")
+ (version "0.23.90")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://linuxtv.org/downloads/zbar/zbar-"
- version
- ".tar.bz2"))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/mchehab/zbar")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0bmd93a15qpgbsq9c9j33qms18rdrgz6gbc48zi6z9w5pvrvi7z9"))))
+ "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list "--with-gtk=auto"
@@ -187,17 +191,27 @@ C/C++ programs to use its capabilities without restrictions or overhead.")
(assoc-ref %outputs "out")
"/etc"))))
(native-inputs
- `(("glib" ,glib "bin")
- ("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)))
(inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("gtk+" ,gtk+)
+ `(("dbus" ,dbus)
("imagemagick" ,imagemagick)
("libjpeg" ,libjpeg-turbo)
+ ("perl" ,perl)
("python" ,python)
- ("qtbase" ,qtbase-5)
("qtx11extras" ,qtx11extras)
("v4l-utils" ,v4l-utils)))
+ (propagated-inputs
+ ;; These are in 'requires' field of .pc files.
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("qtbase" ,qtbase-5)))
(synopsis "Bar code reader")
(description
"ZBar can read barcodes from various sources, such as video streams,
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index d8ed9e8f1e..40f1971860 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -246,8 +246,8 @@ the real span of the lattice.")
"1cgwdpw8b797883z9y92ixxjkv72kiy65zsw2qqf5and1kbzgv41"))))
(build-system gnu-build-system)
(native-inputs
- `(("texlive" ,(texlive-union
- (list texlive-amsfonts/patched)))))
+ `(("texlive" ,(texlive-updmap.cfg
+ (list texlive-amsfonts)))))
(inputs `(("gmp" ,gmp)
("libx11" ,libx11)
("perl" ,perl)
@@ -704,6 +704,8 @@ binary.")
("ed" ,ed)
("flex" ,flex)
("texinfo" ,texinfo)))
+ (inputs
+ `(("readline" ,readline)))
(arguments
'(#:configure-flags
(list "--with-readline")
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index eb538f6540..f09d8e9522 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2017, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020 Andreas Enge <andreas@enge.fr>
@@ -1026,13 +1026,6 @@ connected devices via ADB.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'enjarify-wrapper-inherit-pythonpath
- ;; enjarify sets PYTHONPATH from a shell script, overwriting
- ;; PYTHONPATH set from guix. Comment out this line.
- (lambda _
- (substitute* "enjarify.sh"
- (("export PYTHONPATH") "# export PYTHONPATH"))
- #t))
(add-before 'check 'fixup-expected-test-results
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 51c0572674..177ea0b74f 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,14 +58,14 @@
(define-public nasm
(package
(name "nasm")
- (version "2.14.02")
+ (version "2.15.05")
(source (origin
(method url-fetch)
(uri (string-append "http://www.nasm.us/pub/nasm/releasebuilds/"
version "/nasm-" version ".tar.xz"))
(sha256
(base32
- "1xg8dfr49py15vbwk1rzcjc3zpqydmr49ahlijm56wlgj8zdwjp2"))))
+ "0gqand86b0r86k3h46dh560lykxmxqqywz5m55kgjfq7q4lngbrw"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ;for doc and test target
("texinfo" ,texinfo)))
@@ -75,11 +76,10 @@
(add-after 'unpack 'dont-build-ps-pdf-outputs
(lambda _
(substitute* "doc/Makefile.in"
- (("html nasmdoc.txt nasmdoc.pdf")
+ (("html nasmdoc.txt nasmdoc.pdf \\$\\(XZFILES\\)")
"html nasmdoc.txt")
(("\\$\\(INSTALL_DATA\\) nasmdoc.pdf")
- "$(INSTALL_DATA)"))
- #t))
+ "$(INSTALL_DATA)"))))
(add-after 'install 'install-info
(lambda _
(invoke "make" "install_doc"))))))
@@ -445,19 +445,19 @@ sets, both THUMB and ARM mode.")
(define-public intel-xed
(package
(name "intel-xed")
- (version "11.2.0")
+ (version "12.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/intelxed/xed")
(commit version)))
- (sha256 (base32 "1jffayski2gpd54vaska7fmiwnnia8v3cka4nfyzjgl8xsky9v2s"))
+ (sha256 (base32 "07zfff8zf29c2n0wal87hiqfq3cwcjn80zz78mz0nyjfj09nd39f"))
(file-name (git-file-name name version))
(patches (search-patches "intel-xed-fix-nondeterminism.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("python-wrapper" ,python-wrapper)
+ `(("python" ,python-wrapper)
("tcsh" ,tcsh)
;; As of the time of writing this comment, mbuild does not exist in the
;; Python Package Index and seems to only be used by intel-xed, so we
@@ -471,10 +471,10 @@ sets, both THUMB and ARM mode.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/intelxed/mbuild")
- (commit "5304b94361fccd830c0e2417535a866b79c1c297")))
+ (commit "3de3f0d753c11dbe634bec611d4cc13f74768e4f")))
(sha256
(base32
- "0r3avc3035aklqxcnc14rlmmwpj3jp09vbcbwynhvvmcp8srl7dl"))
+ "0z8hdhpmk8y5c9429p2yns9daswnffbprni9czkq3vij8f58lkg4"))
(file-name (git-file-name name version)))))))
(outputs '("out" "lib"))
(arguments
@@ -489,8 +489,7 @@ sets, both THUMB and ARM mode.")
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(let ((mbuild (assoc-ref inputs "mbuild")))
- (setenv "PYTHONPATH" (string-append
- (getenv "PYTHONPATH") ":" mbuild))
+ (setenv "PYTHONPATH" mbuild)
(invoke "./mfile.py"
(string-append "--build-dir=" build-dir)
(string-append "--install-dir=" kit-dir)
@@ -517,8 +516,7 @@ sets, both THUMB and ARM mode.")
(copy-recursively (string-append kit-dir "/include")
(string-append lib "/include"))
(copy-recursively (string-append kit-dir "/lib")
- (string-append lib "/lib"))
- #t)))))))
+ (string-append lib "/lib")))))))))
(home-page "https://intelxed.github.io/")
(synopsis "Encoder and decoder for x86 (IA32 and Intel64) instructions")
(description "The Intel X86 Encoder Decoder (XED) is a software library and
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 3885a22e10..f7a675802c 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -386,8 +386,8 @@ by MusicIP.")
(origin
(method url-fetch)
(uri
- (string-append "https://sourceforge.net/projects/faac/files/faac-src/"
- "faac-1.30/faac-1_30.tar.gz/download"))
+ (string-append "mirror://sourceforge/faac/faac-src"
+ "/faac-" version "/faac-1_30.tar.gz"))
(sha256
(base32 "1lmj0dib3mjp84jhxc5ddvydkzzhb0gfrdh3ikcidjlcb378ghxd"))))
(build-system gnu-build-system)
@@ -2110,9 +2110,9 @@ synchronous execution of all clients, and low latency operation.")
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure 'jack_control' runs with the correct PYTHONPATH.
(let* ((out (assoc-ref outputs "out"))
- (path (getenv "PYTHONPATH")))
+ (path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/jack_control")
- `("PYTHONPATH" ":" prefix (,path))))
+ `("GUIX_PYTHONPATH" ":" prefix (,path))))
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
@@ -4233,8 +4233,7 @@ the following features:
(base32 "189l6lz8sz5vr6bjyzgcsrvksl1w6crqsg0q65r94b5yjsmjnpr4"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.55
- ;; Using a "release" build is recommended for performance
+ `(;; Using a "release" build is recommended for performance
#:build-type "release"
#:phases
(modify-phases %standard-phases
@@ -4720,10 +4719,11 @@ as is the case with audio plugins.")
(chmod (string-append out "/share/carla/carla") #o555)
#t)))
(add-after 'install 'wrap-executables
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-script (string-append out "/bin/carla")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+ #:guile (search-input-file inputs "bin/guile")
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
#t))))))
(inputs
`(("alsa-lib" ,alsa-lib)
@@ -4817,8 +4817,7 @@ in the package.")
"1570m2dfia17dbkhd2qhx8jjihrpm7g8nnyg6n4wif4vv229s7dz"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.55
- #:configure-flags
+ `(#:configure-flags
;; Build the tests.
`("-Dtests=true")))
(inputs
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 33e1905a25..cdd7425a07 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -59,12 +59,9 @@
"113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4"))))
(build-system gnu-build-system)
(inputs
- ;; TODO: remove `if' in the next rebuild cycle.
- (if (%current-target-system)
- `(("bash" ,bash-minimal)
- ("perl" ,perl)
- ("m4" ,m4))
- '()))
+ `(("bash" ,bash-minimal)
+ ("perl" ,perl)
+ ("m4" ,m4)))
(native-inputs
`(("perl" ,perl)
("m4" ,m4)))
@@ -205,9 +202,9 @@ files with a system-specific shebang."
(inputs `(("guile"
;; XXX: Kludge to hide the circular dependency.
,(module-ref (resolve-interface '(gnu packages guile))
- 'guile-2.0))
+ 'guile-3.0/fixed))
("autoconf" ,autoconf)
- ("bash" ,bash)))
+ ("bash" ,bash-minimal)))
(arguments
'(#:modules ((guix build utils))
#:builder
@@ -320,24 +317,21 @@ output is indexed in many ways to simplify browsing.")
(define-public automake
(package
(name "automake")
- (version "1.16.2")
+ (version "1.16.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
- "1l7dkqbsmbf94ax29jj1jf6a0r6ikc8jybg1p5m0c3ki7pg5ki6c"))
+ "0fmz2fhmzcpacnprl5msphvaflwiy0hvpgmqlgfny72ddijzfazz"))
(patches
(search-patches "automake-skip-amhello-tests.patch"))))
(build-system gnu-build-system)
(inputs
- ;; TODO: remove `if' in the next rebuild cycle.
- (if (%current-target-system)
- `(("autoconf" ,autoconf-wrapper)
- ("bash" ,bash-minimal)
- ("perl" ,perl))
- '()))
+ `(("autoconf" ,autoconf-wrapper)
+ ("bash" ,bash-minimal)
+ ("perl" ,perl)))
(native-inputs
`(("autoconf" ,autoconf-wrapper)
("perl" ,perl)))
@@ -482,11 +476,19 @@ Makefile, simplifying the entire process for the developer.")
(("/bin/sh")
(string-append bash "/bin/sh")))
#t)))
- (add-after 'patch-source-shebangs 'restore-ltmain-shebang
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "build-aux/ltmain.in"
- (("^#!.*/bin/sh$") "#!/bin/sh"))
- #t)))))
+ ;; These files may be copied into source trees by libtoolize,
+ ;; therefore they must not point to store file names that would be
+ ;; leaked with tarballs generated by make dist.
+ (add-after 'install 'restore-build-aux-shebang
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (dir (string-append out "/share/libtool/build-aux")))
+ (for-each (lambda (file)
+ (format #t "restoring shebang on `~a'~%" file)
+ (substitute* file
+ (("^#!.*/bin/sh") "#!/bin/sh")))
+ (find-files dir ".*"))
+ #t))))))
(synopsis "Generic shared library support tools")
(description
diff --git a/gnu/packages/aux-files/guile-launcher.c b/gnu/packages/aux-files/guile-launcher.c
index 47ba069de1..ad0094bff5 100644
--- a/gnu/packages/aux-files/guile-launcher.c
+++ b/gnu/packages/aux-files/guile-launcher.c
@@ -82,10 +82,13 @@ main (int argc, char **argv)
unsetenv ("GUILE_LOAD_PATH");
unsetenv ("GUILE_LOAD_COMPILED_PATH");
- /* XXX: Do not let GMP allocate via libgc as this can lead to memory
- corruption in GnuTLS/Nettle since Nettle also uses GMP:
+#if !SCM_ENABLE_MINI_GMP
+ /* XXX: On Guile < 3.0.6 and Guile built without its bundled mini-GMP, do
+ not let GMP allocate via libgc as this can lead to memory corruption in
+ GnuTLS/Nettle since Nettle also uses GMP:
<https://issues.guix.gnu.org/46330>. */
scm_install_gmp_memory_functions = 0;
+#endif
scm_boot_guile (argc, argv, inner_main, 0);
return 0; /* never reached */
diff --git a/gnu/packages/aux-files/python/sanity-check.py b/gnu/packages/aux-files/python/sanity-check.py
new file mode 100644
index 0000000000..83b6d583ca
--- /dev/null
+++ b/gnu/packages/aux-files/python/sanity-check.py
@@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
+#
+# 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/>.
+
+from __future__ import print_function # Python 2 support.
+import importlib
+import pkg_resources
+import sys
+import traceback
+
+try:
+ from importlib.machinery import PathFinder
+except ImportError:
+ PathFinder = None
+
+ret = 0
+
+# Only check site-packages installed by this package, but not dependencies
+# (which pkg_resources.working_set would include). Path supplied via argv.
+ws = pkg_resources.find_distributions(sys.argv[1])
+
+for dist in ws:
+ print('validating', repr(dist.project_name), dist.location)
+ try:
+ print('...checking requirements: ', end='')
+ req = str(dist.as_requirement())
+ # dist.activate() is not enough to actually check requirements, we
+ # have to .require() it.
+ pkg_resources.require(req)
+ print('OK')
+ except Exception as e:
+ print('ERROR:', req, e)
+ ret = 1
+ continue
+
+ # Try to load top level modules. This should not have any side-effects.
+ try:
+ metalines = dist.get_metadata_lines('top_level.txt')
+ except (KeyError, FileNotFoundError):
+ # distutils (i.e. #:use-setuptools? #f) will not install any metadata.
+ # This file is also missing for packages built using a PEP 517 builder
+ # such as poetry.
+ print('WARNING: cannot determine top-level modules')
+ continue
+ for name in metalines:
+ # Only available on Python 3.
+ if PathFinder and PathFinder.find_spec(name) is None:
+ # Ignore unavailable modules, often C modules, which were not
+ # installed at the top-level. Cannot use ModuleNotFoundError,
+ # because it is raised by failed imports too.
+ continue
+ try:
+ print('...trying to load module', name, end=': ')
+ importlib.import_module(name)
+ print('OK')
+ except Exception:
+ print('ERROR:')
+ traceback.print_exc(file=sys.stdout)
+ ret = 1
+
+ # Try to load entry points of console scripts too, making sure they
+ # work. They should be removed if they don't. Other groups may not be
+ # safe, as they can depend on optional packages.
+ for group, v in dist.get_entry_map().items():
+ if group not in {'console_scripts', 'gui_scripts'}:
+ continue
+ for name, ep in v.items():
+ try:
+ print('...trying to load endpoint', group, name, end=': ')
+ ep.load()
+ print('OK')
+ except Exception:
+ print('ERROR:')
+ traceback.print_exc(file=sys.stdout)
+ ret = 1
+
+sys.exit(ret)
diff --git a/gnu/packages/aux-files/python/sitecustomize.py b/gnu/packages/aux-files/python/sitecustomize.py
new file mode 100644
index 0000000000..65d3c7d554
--- /dev/null
+++ b/gnu/packages/aux-files/python/sitecustomize.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+#
+# 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/>.
+
+import os
+import sys
+
+python_root = os.path.realpath(sys.executable).split('/bin/')[0]
+major_minor = '{}.{}'.format(sys.version_info[0], sys.version_info[1])
+site_packages_prefix = 'lib/python' + major_minor + '/site-packages'
+python_site = python_root + '/' + site_packages_prefix
+
+try:
+ all_sites_raw = os.environ['GUIX_PYTHONPATH'].split(':')
+except KeyError:
+ all_sites_raw = []
+# Normalize paths, otherwise a trailing slash would cause it to not match.
+all_sites_norm = [os.path.normpath(p) for p in all_sites_raw]
+matching_sites = [p for p in all_sites_norm
+ if p.endswith(site_packages_prefix)]
+
+# Insert sites matching the current version into sys.path, right before
+# Python's own site.
+sys_path_absolute = [os.path.realpath(p) for p in sys.path]
+index = sys_path_absolute.index(python_site)
+sys.path = sys.path[:index] + matching_sites + sys.path[index:]
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index b2aeeadf47..602f9d7997 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -74,7 +74,7 @@
("expat" ,expat)
("gdbm" ,gdbm)
("glib" ,glib)
- ("libcap" ,libcap-2.31) ;to enable chroot support in avahi-daemon
+ ("libcap" ,libcap) ;to enable chroot support in avahi-daemon
("libdaemon" ,libdaemon)
("libevent" ,libevent)))
(native-inputs
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 5e0009472e..01849a0328 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -217,7 +217,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(define-public libarchive
(package
(name "libarchive")
- (version "3.4.2")
+ (version "3.5.1")
(source
(origin
(method url-fetch)
@@ -228,7 +228,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
version ".tar.xz")))
(sha256
(base32
- "18dd01ahs2hv74xm7axjc3yhq839p0x0s4vssvlmm8fknja09qfq"))))
+ "16r95rlmikll1k8vbhh06vq6x3srkc10hzxjjf3021mjs2ld65qf"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)
@@ -793,8 +793,8 @@ NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes.")
(output-dir
(assoc-ref outputs "out"))
- ;; Just a default... not so useful on guixsd though
- ;; You probably want to a service with file(s) to point to.
+ ;; Just a default... not so useful on Guix Systems though.
+ ;; You probably want a service with file(s) to point to.
(confdir "/etc/dirvish")
(perl (string-append (assoc-ref %build-inputs "perl")
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index ea2e102c15..edc4c4a427 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
@@ -39,6 +39,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages attr)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages ed)
@@ -98,14 +99,14 @@ command-line arguments, multiple languages, and so on.")
(define-public grep
(package
(name "grep")
- (version "3.4")
+ (version "3.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grep/grep-"
version ".tar.xz"))
(sha256
(base32
- "1yy33kiwrxrwj2nxa4fg15bvmwyghqbs8qwkdvy5phm784f7brjq"))
+ "0gipv6bzkm1aihj0ncqpyh164xrzgcxcv9r1kwzyk2g1mzl1azk6"))
(patches (search-patches "grep-timing-sensitive-test.patch"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) ;some of the tests require it
@@ -122,8 +123,7 @@ command-line arguments, multiple languages, and so on.")
(substitute* (list (string-append bin "/egrep")
(string-append bin "/fgrep"))
(("^exec grep")
- (string-append "exec " bin "/grep")))
- #t))))))
+ (string-append "exec " bin "/grep")))))))))
(synopsis "Print lines matching a pattern")
(description
"grep is a tool for finding text inside files. Text is found by
@@ -146,24 +146,20 @@ including, for example, recursive directory searching.")
".tar.gz"))
(sha256
(base32
- "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk"))))
+ "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk"))
+ ;; Remove this snippet once upstream releases a fixed version.
+ ;; This snippet changes Makefile.in, even though the upstream
+ ;; patch changes testsuite/local.mk, since we build sed from a
+ ;; release tarball. See: https://bugs.gnu.org/36150
+ (snippet
+ '(begin
+ (substitute* "Makefile.in"
+ (("^ abs_srcdir='\\$\\(abs_srcdir\\)'.*" previous-line)
+ (string-append
+ previous-line
+ " CONFIG_HEADER='$(CONFIG_HEADER)'\t\t\\\n")))))
+ (modules '((guix build utils)))))
(build-system gnu-build-system)
- (arguments
- ;; TODO: When merging this into core-updates, keep the version of
- ;; this code (with comment!) applied as a snippet.
- `(,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
- (%current-system)))
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'allow-building-on-selinux-systems
- (lambda _
- (substitute* "Makefile.in"
- (("^ abs_srcdir='\\$\\(abs_srcdir\\)'.*" previous-line)
- (string-append
- previous-line
- " CONFIG_HEADER='$(CONFIG_HEADER)'\t\t\\\n")))
- #t))))
- '())))
(synopsis "Stream editor")
(native-inputs
`(("perl" ,perl))) ;for tests
@@ -179,14 +175,14 @@ implementation offers several extensions over the standard utility.")
(define-public tar
(package
(name "tar")
- (version "1.32")
+ (version "1.34")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/tar/tar-"
version ".tar.xz"))
(sha256
(base32
- "1n7xy657ii0sa42zx6944v2m4v9qrh6sqgmw17l3nch3y43sxlyh"))
+ "0a0x87anh9chbi2cgcyy7pmnm5hzk4yd1w2j8gm1wplwhwkbvgk3"))
(patches (search-patches "tar-skip-unreliable-tests.patch"
"tar-remove-wholesparse-check.patch"))))
(build-system gnu-build-system)
@@ -214,8 +210,7 @@ implementation offers several extensions over the standard utility.")
(let ((bash (assoc-ref inputs "bash")))
(substitute* "src/system.c"
(("/bin/sh")
- (string-append bash "/bin/sh")))
- #t))))))
+ (string-append bash "/bin/sh")))))))))
;; When cross-compiling, the 'set-shell-file-name' phase needs to be able
;; to refer to the target Bash.
@@ -290,16 +285,15 @@ interactive means to merge two files.")
(define-public findutils
(package
(name "findutils")
- (version "4.7.0")
+ (version "4.8.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/findutils/findutils-"
version ".tar.xz"))
(sha256
(base32
- "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5"))
- (patches (search-patches "findutils-localstatedir.patch"
- "findutils-test-rwlock-threads.patch"))))
+ "0r3i72hnw0a30khlczi9k2c51aamaj6kfmp5mk3844nrjxz7n4jp"))
+ (patches (search-patches "findutils-localstatedir.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list
@@ -311,8 +305,7 @@ interactive means to merge two files.")
(substitute* '("tests/xargs/verbose-quote.sh"
"tests/find/exec-plus-last-file.sh")
(("#!/bin/sh")
- (string-append "#!" (which "sh"))))
- #t)))))
+ (string-append "#!" (which "sh")))))))))
(synopsis "Operating on files matching given criteria")
(description
"Findutils supplies the basic file directory searching utilities of the
@@ -338,6 +331,7 @@ used to apply commands with arbitrarily long arguments.")
(patches (search-patches "coreutils-ls.patch"))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
+ ("attr" ,attr) ;for xattrs in ls, mv, etc
("gmp" ,gmp) ;bignums in 'expr', yay!
;; Do not use libcap when cross-compiling since it's not quite
@@ -345,8 +339,8 @@ used to apply commands with arbitrarily long arguments.")
,@(if (and (not (%current-target-system))
(member (%current-system)
(package-supported-systems libcap)))
- `(("libcap" ,libcap-2.31)) ;capability support in 'ls', etc.
- '())))
+ `(("libcap" ,libcap)) ;capability support in 'ls', etc.
+ '())))
(native-inputs
;; Perl is needed to run tests in native builds, and to run the bundled
;; copy of help2man. However, don't pass it when cross-compiling since
@@ -383,16 +377,18 @@ used to apply commands with arbitrarily long arguments.")
(substitute* (find-files "gnulib-tests" "\\.c$")
(("/bin/sh") (which "sh")))
(substitute* (find-files "tests" "\\.sh$")
- (("#!/bin/sh") (string-append "#!" (which "sh"))))
- #t))
- ,@(if (hurd-target?)
- `((add-after 'unpack 'remove-tests
- (lambda _
- (substitute* "Makefile.in"
+ (("#!/bin/sh") (string-append "#!" (which "sh"))))))
+ (add-after 'unpack 'remove-tests
+ (lambda _
+ ,@(if (hurd-target?)
+ '((substitute* "Makefile.in"
;; this test hangs
- (("^ *tests/misc/timeout-group.sh.*") ""))
- #t)))
- '()))))
+ (("^ *tests/misc/timeout-group.sh.*") "")))
+ '())
+ (substitute* "Makefile.in"
+ ;; fails on filesystems where inotify cannot be used,
+ ;; more info in #47935
+ (("^ *tests/tail-2/inotify-dir-recreate.sh.*") "")))))))
(synopsis "Core GNU utilities (file, text, shell)")
(description
"GNU Coreutils package includes all of the basic command-line tools that
@@ -436,8 +432,7 @@ standard.")
;; specific issue, but "env-S.pl" is not adjusted for build
;; environments with long prefixes (/tmp/guix-build-...).
(substitute* "Makefile"
- (("^.*tests/misc/env-S.pl.*$") ""))
- #t)))))))))
+ (("^.*tests/misc/env-S.pl.*$") "")))))))))))
(define-public gnu-make
(package
@@ -469,8 +464,7 @@ standard.")
(substitute* "src/job.c"
(("default_shell =.*$")
(format #f "default_shell = \"~a/bin/sh\";\n"
- bash)))
- #t))))))
+ bash)))))))))
(synopsis "Remake files automatically")
(description
"Make is a program that is used to control the production of
@@ -504,21 +498,21 @@ change. GNU make offers many powerful extensions over the standard utility.")
(substitute* "job.c"
(("default_shell =.*$")
(format #f "default_shell = \"~a/bin/sh\";\n"
- bash)))
- #t))))))))
+ bash)))))))))))
(define-public binutils
(package
(name "binutils")
- (version "2.34")
+ (version "2.36.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
- "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49"))
- (patches (search-patches "binutils-loongson-workaround.patch"))))
+ "18ypqr5y48vxqg9mkz1c47798jp1xb1d4vfpmfq8vkihkvkx4jsv"))
+ (patches (search-patches "binutils-libiberty-endianness-bug.patch"
+ "binutils-loongson-workaround.patch"))))
(build-system gnu-build-system)
;; TODO: Add dependency on zlib + those for Gold.
@@ -542,17 +536,7 @@ change. GNU make offers many powerful extensions over the standard utility.")
;; Make sure 'ar' and 'ranlib' produce archives in a
;; deterministic fashion.
- "--enable-deterministic-archives")
-
- ;; XXX: binutils 2.34 was mistakenly released without generated manuals:
- ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=25491>. To avoid a
- ;; circular dependency on texinfo, prevent the build system from creating
- ;; the manuals by calling "true" instead of "makeinfo"...
- #:make-flags '("MAKEINFO=true")))
-
- ;; ...and "hide" this package so that users who install binutils get the
- ;; version with documentation defined below.
- (properties '((hidden? . #t)))
+ "--enable-deterministic-archives")))
(synopsis "Binary utilities: bfd gas gprof ld")
(description
@@ -565,18 +549,6 @@ included.")
(license gpl3+)
(home-page "https://www.gnu.org/software/binutils/")))
-;; Work around a problem with binutils 2.34 whereby manuals are missing from
-;; the release tarball. Remove this and the related code above when updating.
-(define-public binutils+documentation
- (package/inherit
- binutils
- (native-inputs
- `(("texinfo" ,texinfo)))
- (arguments
- (substitute-keyword-arguments (package-arguments binutils)
- ((#:make-flags _ ''()) ''())))
- (properties '())))
-
;; FIXME: ath9k-firmware-htc-binutils.patch do not apply on 2.34 because of a
;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream).
;; Keep this version around until the patch is updated.
@@ -597,7 +569,7 @@ included.")
(properties '())))
(define-public binutils-gold
- (package/inherit binutils+documentation
+ (package/inherit binutils
(name "binutils-gold")
(arguments
`(#:phases
@@ -605,8 +577,7 @@ included.")
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
(substitute* "gold/Makefile.in"
- (("/bin/sh") (which "sh")))
- #t)))
+ (("/bin/sh") (which "sh"))))))
,@(substitute-keyword-arguments (package-arguments binutils)
; Upstream is aware of unrelocatable test failures on arm*.
((#:tests? _ #f)
@@ -705,24 +676,16 @@ the store.")
;; version 2.28, GNU/Hurd used a different glibc branch.
(package
(name "glibc")
- (version "2.31")
+ (version "2.33")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
(sha256
(base32
- "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj"))
- (snippet
- ;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
- ;; required on LFS distros to avoid loading the distro's libc.so
- ;; instead of ours.
- '(begin
- (substitute* "sysdeps/unix/sysv/linux/configure"
- (("use_ldconfig=yes")
- "use_ldconfig=no"))
- #t))
- (modules '((guix build utils)))
- (patches (search-patches "glibc-ldd-x86_64.patch"
+ "1zvp0qdfbdyqrzydz18d9zg3n5ygy8ps7cmny1bvsp8h1q05c99f"))
+ (patches (search-patches "glibc-ldd-powerpc.patch"
+ "glibc-ldd-x86_64.patch"
+ "glibc-dl-cache.patch"
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
@@ -730,7 +693,8 @@ the store.")
"glibc-supported-locales.patch"
"glibc-hurd-clock_t_centiseconds.patch"
"glibc-hurd-clock_gettime_monotonic.patch"
- "glibc-hurd-signal-sa-siginfo.patch"))))
+ "glibc-hurd-mach-print.patch"
+ "glibc-hurd-gettyent.patch"))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -803,6 +767,11 @@ the store.")
'("--disable-werror")
'()))
+ ;; Arrange so that /etc/rpc & co. go to $out/etc.
+ #:make-flags (list (string-append "sysconfdir="
+ (assoc-ref %outputs "out")
+ "/etc"))
+
#:tests? #f ; XXX
#:phases (modify-phases %standard-phases
(add-before
@@ -830,6 +799,11 @@ the store.")
;; 4.7.1.
((" -lgcc_s") ""))
+ ;; Tell the ld.so cache code where the store is.
+ (substitute* "elf/dl-cache.c"
+ (("@STORE_DIRECTORY@")
+ (string-append "\"" (%store-directory) "\"")))
+
;; Have `system' use that Bash.
(substitute* "sysdeps/posix/system.c"
(("#define[[:blank:]]+SHELL_PATH.*$")
@@ -865,9 +839,7 @@ the store.")
;; "bilingual" eval/exec magic at the top of the file.
"")
(("exec @PERL@")
- "exec perl"))
-
- #t)))
+ "exec perl")))))
(add-after 'install 'move-static-libs
(lambda* (#:key outputs #:allow-other-keys)
@@ -905,17 +877,8 @@ the store.")
((out) static)))
(filter linker-script?
(map (cut string-append slib "/" <>)
- files)))
- #t)))
-
- ,@(if (target-powerpc?)
- '((add-after 'unpack 'apply-patch
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((patch (assoc-ref inputs
- "powerpc64le-patch")))
- (invoke "patch" "--force" "-p1"
- "-i" patch)))))
- '())
+ files))))))
+
,@(if (hurd-target?)
'((add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
@@ -923,8 +886,7 @@ the store.")
(substitute* (string-append out "/lib/libc.so")
(("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3"
- " libmachuser.so libhurduser.so"))))
- #t)))
+ " libmachuser.so libhurduser.so")))))))
'()))))
(inputs `(("static-bash" ,static-bash)))
@@ -937,10 +899,6 @@ the store.")
("gettext" ,gettext-minimal)
("python" ,python-minimal)
- ,@(if (target-powerpc?)
- `(("powerpc64le-patch" ,@(search-patches
- "glibc-ldd-powerpc.patch")))
- '())
,@(if (hurd-target?)
`(("mig" ,mig)
("perl" ,perl))
@@ -969,6 +927,17 @@ with the Linux kernel.")
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
+(define-public glibc-2.31
+ (package
+ (inherit glibc)
+ (version "2.31")
+ (source (origin
+ (inherit (package-source glibc))
+ (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
+ (sha256
+ (base32
+ "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj"))))))
+
(define-public glibc-2.30
(package
(inherit glibc)
@@ -1126,8 +1095,7 @@ to the @code{share/locale} sub-directory of this package.")
(string-append (dirname directory)
"/" name "."
normalized)))))
- locales)
- #t)))
+ locales))))
(delete 'install)
(delete 'move-static-libs)))
((#:configure-flags flags)
@@ -1267,8 +1235,7 @@ command.")
(let ((out (assoc-ref outputs "out")))
(close-port
(open-output-file
- (string-append out "/include/gnu/stubs.h"))))
- #t))
+ (string-append out "/include/gnu/stubs.h"))))))
(delete 'build))))))) ; nothing to build
(define-public tzdata
@@ -1334,8 +1301,7 @@ command.")
(copy-recursively (string-append out "/share/zoneinfo-leaps")
(string-append out "/share/zoneinfo/right"))
(delete-file-recursively
- (string-append out "/share/zoneinfo-leaps"))
- #t)))
+ (string-append out "/share/zoneinfo-leaps")))))
(delete 'configure))))
(inputs `(("tzcode" ,(origin
(method url-fetch)
@@ -1363,7 +1329,7 @@ and daylight-saving rules.")
(hidden-package
(package
(inherit tzdata)
- (version "2019c")
+ (version "2020d")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1371,7 +1337,7 @@ and daylight-saving rules.")
version ".tar.gz"))
(sha256
(base32
- "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
+ "1wxskk9mh1x2073n99qna2mq58mgi648mbq5dxlqfcrnvrbkk0cd"))))
(inputs
`(("tzcode" ,(origin
(method url-fetch)
@@ -1380,7 +1346,7 @@ and daylight-saving rules.")
version ".tar.gz"))
(sha256
(base32
- "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))))))
+ "1mgsckixmmk9qxzsflfxnp3999qi3ls72bgksclk01g852x51w3c")))))))))
(define-public libiconv
(package
@@ -1397,11 +1363,9 @@ and daylight-saving rules.")
(snippet
;; Work around "declared gets" error on glibc systems (fixed by
;; Gnulib commit 66712c23388e93e5c518ebc8515140fa0c807348.)
- '(begin
- (substitute* "srclib/stdio.in.h"
- (("^#undef gets") "")
- (("^_GL_WARN_ON_USE \\(gets.*") ""))
- #t))))
+ '(substitute* "srclib/stdio.in.h"
+ (("^#undef gets") "")
+ (("^_GL_WARN_ON_USE \\(gets.*") "")))))
(build-system gnu-build-system)
(synopsis "Character set conversion library")
(description
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index ed2931fd97..7e98367bbb 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,7 +58,7 @@
(define (patch-url seqno)
"Return the URL of Bash patch number SEQNO."
- (format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno))
+ (format #f "mirror://gnu/bash/bash-5.1-patches/bash51-~3,'0d" seqno))
(define (bash-patch seqno sha256-bv)
"Return the origin of Bash patch SEQNO, with expected hash SHA256-BV."
@@ -70,26 +71,18 @@
(list (bash-patch seqno (base32 hash))
...))
-(define %patch-series-5.0
+(define %patch-series-5.1
;; This is the current patches series for 5.0, generated using
;; 'download-patches' below.
(patch-series
- (1 "12bjfdy6bg8nhyw27bdgxn7h4paylx8d927skfmi9pxd1wgrxzpj")
- (2 "01w7yrzmz10mw06ys0546vhl7isv2v402ziyvfd7k67588spvs47")
- (3 "0ny81ridp5n0j69hb8ixrc7dmxybby54jbsz5hikly8kgg1wvssf")
- (4 "021gqqvgydixkrmqss64b6srfdlkvnx88lyfzpxfrn5d6bc7li0l")
- (5 "0xl2kyzm84nlyklrqzkn73ixabhzfhn9x91lzcmis89cppclvxav")
- (6 "0844749ixk1z60437nkznzms1f0nzh9an62kj7sny6r0zyk2k1fn")
- (7 "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")
- (8 "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf")
- (9 "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d")
- (10 "04ca5bjv456v538mkspzvn4xb2zdphh31r4fpvfm9p5my0jw7yyn")
- (11 "1sklyixvsv8993kxzs0jigacpdchjrq7jv5xpdx7kbqyp4rf6k9c")
- (12 "0cz21qg2gbr40lfgza7g02bqi2qknwqgxnq459pjj640d0cywhr9")
- (13 "16h9nwz3yzwj7fnxvlidjymdc4yr30h818433gh9j1x3in6igmzm")
- (14 "12gm5bvv2pd3m72z2ilj26pa08c61az253dsgfl24vpf2ijywvjx")
- (15 "0pm0px758w4i23s55wajcv6lqfiym7zgxvq0pxf6vclkv8nxy5x5")
- (16 "0vdha332km2iwx8g2ld15jy7d24cbplzgr1531dpzylr9ajxglgz")))
+ (1 "1ymm8ppss6gyh9ifznjwiabrb4k91npd09c10y7mk66xp8yppc7b")
+ (2 "1gjx9zqcm407am3n2sh44b8dxm48kgm15rzfiijqxr01m0hn3shm")
+ (3 "1cdnpbfc64yhvkjj4d12s9ywp11g195vzfl1cab24sq55wkcrwi2")
+ (4 "11iwhy6v562bv0kk7lwj7f5jj65ma9bblivy0v02h3ggcibbdbls")
+ (5 "19bdyigdr81824nxvqr6a7k0cax60wq7376j6b91afbnwvlvbjyc")
+ (6 "051x8wlwrqk0yr0zg378vh824iklfl5g9pkmcdf62qp8gn9pvqbm")
+ (7 "0fir80pp1gmlpadmqcgkrv4y119pc7xllchjzg05fd7px73viz5c")
+ (8 "1lfjgshk8i9vch92p5wgc9r90j3phw79aa7gbai89w183b2z6b7j")))
(define (download-patches store count)
"Download COUNT Bash patches into store. Return a list of
@@ -125,7 +118,7 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
" -Wl,-rpath -Wl,"
(assoc-ref %build-inputs "ncurses")
"/lib")))
- (version "5.0"))
+ (version "5.1"))
(package
(name "bash")
(source (origin
@@ -134,11 +127,11 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
"mirror://gnu/bash/bash-" version ".tar.gz"))
(sha256
(base32
- "0kgvfwqdcd90waczf4gx39xnrxzijhjrzyzv7s8v4w31qqm0za5l"))
+ "1alv68wplnfdm6mh39hm57060xgssb9vqca4yr1cyva0c342n0fc"))
(patch-flags '("-p0"))
(patches (cons (search-patch "bash-linux-pgrp-pipe.patch")
- %patch-series-5.0))))
- (version (string-append version "." (number->string (length %patch-series-5.0))))
+ %patch-series-5.1))))
+ (version (string-append version "." (number->string (length %patch-series-5.1))))
(build-system gnu-build-system)
(outputs '("out"
@@ -409,6 +402,7 @@ capturing.")
;; Install phase
(invoke "./install.sh" %output)
(wrap-script (string-append %output "/bin/bats")
+ #:guile (search-input-file %build-inputs "bin/guile")
(list "PATH" 'prefix (string-split (getenv "PATH")
#\:))))))
(build-system trivial-build-system)
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index ecac5b9368..0d82889bac 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -46,7 +46,11 @@
(list
;; Install gc_cpp.h et al.
"--enable-cplusplus"
- ;; In GNU/Hurd systems during the 'Check' phase,
+
+ ;; Work around <https://github.com/ivmai/bdwgc/issues/353>.
+ "--disable-munmap"
+
+ ;; In GNU/Hurd systems during the 'check' phase,
;; there is a deadlock caused by the 'gctest' test.
;; To disable the error set "--disable-gcj-support"
;; to configure script. See bug report and discussion:
@@ -85,17 +89,6 @@ C or C++ programs, though that is not its primary goal.")
(license (x11-style (string-append home-page "license.txt")))))
-(define-public libgc/disable-munmap
- ;; TODO: Use '--disable-munmap' by default on next rebuild cycle.
- (package/inherit libgc
- (arguments
- ;; Work around <https://github.com/ivmai/bdwgc/issues/353>.
- (substitute-keyword-arguments (package-arguments libgc)
- ((#:configure-flags flags ''())
- `(cons "--disable-munmap" ,flags))))
- (properties `((hidden? . #t)
- ,@(package-properties libgc)))))
-
;; TODO: Add a static output in libgc in the next rebuild cycle.
(define-public libgc/static-libs
(package/inherit
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 681408a4e6..6a6ac1d8d5 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -104,7 +104,7 @@
"fiologparser.py"))
;; Make sure numpy et.al is found.
(wrap-program (string-append newbin "/fiologparser_hist.py")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
#t))))))
(outputs '("out" "utils"))
(inputs
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 7a1c8cc8e3..e4a01ca208 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12,7 +12,7 @@
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
-;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
@@ -220,8 +220,7 @@ structure of the predicted RNA.")
(snippet
`(begin
;; Delete bundled htslib.
- (delete-file-recursively "c/htslib-1.3.1")
- #t))))
+ (delete-file-recursively "c/htslib-1.3.1")))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; BamM is Python 2 only.
@@ -241,37 +240,22 @@ structure of the predicted RNA.")
;; Use autogen so that 'configure' works.
(substitute* "autogen.sh" (("/bin/sh") sh))
(setenv "CONFIG_SHELL" sh)
- (invoke "./autogen.sh")))
- #t))
- (delete 'build)
- ;; Run tests after installation so compilation only happens once.
- (delete 'check)
- (add-after 'install 'wrap-executable
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (path (getenv "PATH")))
- (wrap-program (string-append out "/bin/bamm")
- `("PATH" ":" prefix (,path))))
- #t))
- (add-after 'wrap-executable 'post-install-check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (setenv "PATH"
- (string-append (assoc-ref outputs "out")
- "/bin:"
- (getenv "PATH")))
- (setenv "PYTHONPATH"
- (string-append
- (assoc-ref outputs "out")
- "/lib/python"
- (string-take (string-take-right
- (assoc-ref inputs "python") 5) 3)
- "/site-packages:"
- (getenv "PYTHONPATH")))
+ (invoke "./autogen.sh")))))
+ (delete 'build) ;the build loops otherwise
+ (replace 'check
+ (lambda _
;; There are 2 errors printed, but they are safe to ignore:
;; 1) [E::hts_open_format] fail to open file ...
;; 2) samtools view: failed to open ...
- (invoke "nosetests")
- #t)))))
+ (invoke "nosetests")))
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (path (getenv "PATH"))
+ (pythonpath (getenv "GUIX_PYTHONPATH")))
+ (wrap-program (string-append out "/bin/bamm")
+ `("PATH" ":" prefix (,path))
+ `("GUIX_PYTHONPATH" ":" prefix (,pythonpath)))))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -917,9 +901,7 @@ servers supporting the protocol.")
"0wc7z8g8prgdx7n5chjva2fdq03wiwhqisjjxzkjg1j5k5ha7151"))))
(build-system python-build-system)
(arguments
- `(#:modules ((ice-9 ftw)
- (srfi srfi-1)
- (srfi srfi-26)
+ `(#:modules ((srfi srfi-26)
(guix build utils)
(guix build python-build-system))
;; See https://github.com/daler/pybedtools/issues/192
@@ -939,8 +921,6 @@ servers supporting the protocol.")
(substitute* "pybedtools/test/test_issues.py"
(("def test_issue_303")
"def _test_issue_303"))))
- ;; TODO: Remove phase after it's part of PYTHON-BUILD-SYSTEM.
- ;; build system.
;; Force the Cythonization of C++ files to guard against compilation
;; problems.
(add-after 'unpack 'remove-cython-generated-files
@@ -952,20 +932,12 @@ servers supporting the protocol.")
(string-take filename (string-index-right filename #\.)))
(define (cythonized? c/c++-file)
(member (strip-extension c/c++-file) cython-sources))
- (for-each delete-file (filter cythonized? c/c++-files))
- #t)))
+ (for-each delete-file (filter cythonized? c/c++-files)))))
(add-after 'remove-cython-generated-files 'generate-cython-extensions
(lambda _
(invoke "python" "setup.py" "cythonize")))
(replace 'check
(lambda _
- (let* ((build-root-directory (string-append (getcwd) "/build/"))
- (build (string-append
- build-root-directory
- (find (cut string-prefix? "lib" <>)
- (scandir build-root-directory)))))
- (setenv "PYTHONPATH"
- (string-append build ":" (getenv "PYTHONPATH"))))
;; The tests need to be run from elsewhere...
(mkdir-p "/tmp/test")
(copy-recursively "pybedtools/test" "/tmp/test")
@@ -2086,15 +2058,10 @@ has several key features:
(snippet '(begin
;; Drop bundled htslib. TODO: Also remove samtools
;; and bcftools.
- (delete-file-recursively "htslib")
- #t))))
+ (delete-file-recursively "htslib")))))
(build-system python-build-system)
(arguments
- `(#:modules ((ice-9 ftw)
- (srfi srfi-26)
- (guix build python-build-system)
- (guix build utils))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'build 'set-flags
(lambda* (#:key inputs #:allow-other-keys)
@@ -2104,22 +2071,16 @@ has several key features:
(setenv "HTSLIB_INCLUDE_DIR"
(string-append (assoc-ref inputs "htslib") "/include"))
(setenv "LDFLAGS" "-lncurses")
- (setenv "CFLAGS" "-D_CURSES_LIB=1")
- #t))
+ (setenv "CFLAGS" "-D_CURSES_LIB=1")))
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda _
;; This file contains tests that require a connection to the
;; internet.
(delete-file "tests/tabix_test.py")
- ;; FIXME: This test fails
+ ;; FIXME: These tests fail with "AttributeError: 'array.array'
+ ;; object has no attribute 'tostring'".
(delete-file "tests/AlignmentFile_test.py")
- ;; Add first subdirectory of "build" directory to PYTHONPATH.
- (setenv "PYTHONPATH"
- (string-append
- (getenv "PYTHONPATH")
- ":" (getcwd) "/build/"
- (car (scandir "build"
- (negate (cut string-prefix? "." <>))))))
+ (delete-file "tests/AlignedSegment_test.py")
;; Step out of source dir so python does not import from CWD.
(with-directory-excursion "tests"
(setenv "HOME" "/tmp")
@@ -2460,9 +2421,9 @@ gene predictor designed to work with assembled, aligned RNA-seq transcripts.")
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure 'couger' runs with the correct PYTHONPATH.
(let* ((out (assoc-ref outputs "out"))
- (path (getenv "PYTHONPATH")))
+ (path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/couger")
- `("PYTHONPATH" ":" prefix (,path))))
+ `("GUIX_PYTHONPATH" ":" prefix (,path))))
#t)))))
(inputs
`(("python" ,python-2)
@@ -3138,19 +3099,14 @@ data and settings.")
(substitute* "src/plasma/fasta.hpp"
(("#define FASTA_HPP" line)
(string-append line "\n#include <random>")))
- #t))
- ;; FIXME: this is needed because we're using texlive-union, which
- ;; doesn't handle fonts correctly. It expects to be able to generate
- ;; fonts in the home directory.
- (add-before 'build 'setenv-HOME
- (lambda _ (setenv "HOME" "/tmp") #t)))))
+ #t)))))
(inputs
`(("boost" ,boost)
("cairo" ,cairo)
("rmath-standalone" ,rmath-standalone)))
(native-inputs
- `(("texlive" ,(texlive-union (list texlive-fonts-cm
- texlive-fonts-amsfonts
+ `(("texlive" ,(texlive-updmap.cfg (list texlive-cm
+ texlive-amsfonts
texlive-latex-doi
texlive-latex-examplep
@@ -5586,9 +5542,11 @@ predicts the locations of structural units in the sequences.")
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((path (getenv "PATH"))
- (out (assoc-ref outputs "out")))
+ (out (assoc-ref outputs "out"))
+ (guile (search-input-file inputs "bin/guile")))
(for-each (lambda (script)
- (wrap-script script `("PATH" ":" prefix (,path))))
+ (wrap-script script #:guile guile
+ `("PATH" ":" prefix (,path))))
(cons (string-append out "/bin/proteinortho")
(find-files out "\\.(pl|py)$"))))
#t)))))
@@ -6629,25 +6587,6 @@ complexity samples.")
(base32
"148vcb7w2wr6a4w6vs2bsxanbqibxfk490zbcbg4m61s8669zdjx"))))
(build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- ;; Tests must be run after installation, as the "screed" command does
- ;; not exist right after building.
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (setenv "PYTHONPATH"
- (string-append out "/lib/python"
- (string-take (string-take-right
- (assoc-ref inputs "python")
- 5) 3)
- "/site-packages:"
- (getenv "PYTHONPATH")))
- (setenv "PATH" (string-append out "/bin:" (getenv "PATH"))))
- (invoke "python" "setup.py" "test")
- #t)))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
@@ -7750,10 +7689,11 @@ experience substantial biological insertions and deletions.")
(delete 'configure)
(delete 'build)
(replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
- (scripts (find-files "." "prinseq.*.pl")))
+ (scripts (find-files "." "prinseq.*.pl"))
+ (guile (search-input-file "bin/guile")))
(substitute* scripts
(("\"perl -pe")
(string-append "\"" (which "perl") " -pe")))
@@ -7761,6 +7701,7 @@ experience substantial biological insertions and deletions.")
(chmod file #o555)
(install-file file bin)
(wrap-script (string-append bin "/" (basename file))
+ #:guile guile
`("PERL5LIB" ":" prefix
(,(getenv "PERL5LIB")))))
scripts)))))))
@@ -8854,7 +8795,8 @@ matplotlib.use('Agg')
" line)))
;; Make sure GESS has all modules in its path
(wrap-script (string-append target "GESS.py")
- `("PYTHONPATH" ":" = (,target ,(getenv "PYTHONPATH"))))
+ #:guile (search-input-file inputs "bin/guile")
+ `("GUIX_PYTHONPATH" ":" = (,target ,(getenv "GUIX_PYTHONPATH"))))
(mkdir-p bin)
(symlink (string-append target "GESS.py")
(string-append bin "GESS.py"))
@@ -9793,11 +9735,7 @@ variational inference.")
(modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH"
- (string-append (getcwd) ":"
- (getenv "PYTHONPATH")))
- (invoke "pytest" "tests")
- #t)))))
+ (invoke "pytest" "tests"))))))
(propagated-inputs
`(("python-h5py" ,python-h5py)
("python-numpy" ,python-numpy)
@@ -11278,11 +11216,11 @@ conversions, region filtering, FASTA sequence extraction and more.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
- (path (getenv "PYTHONPATH")))
+ (path (getenv "GUIX_PYTHONPATH")))
(for-each (lambda (script)
(install-file script bin)
(wrap-program (string-append bin "/" script)
- `("PYTHONPATH" ":" prefix (,path))))
+ `("GUIX_PYTHONPATH" ":" prefix (,path))))
'("cmp_bed.py"
"find_circ.py"
"maxlength.py"
@@ -11406,8 +11344,7 @@ implementation differs in these ways:
(setenv "PYTHONPATH"
(string-append (getcwd) ":"
(getenv "PYTHONPATH")))
- (invoke "pytest")
- #t)))))
+ (invoke "pytest"))))))
(propagated-inputs
`(("python-anndata" ,python-anndata)
("python-h5py" ,python-h5py)
@@ -12436,10 +12373,10 @@ datasets.")
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (path (getenv "PYTHONPATH")))
+ (path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out
"/share/filtlong/scripts/histogram.py")
- `("PYTHONPATH" ":" prefix (,path))))
+ `("GUIX_PYTHONPATH" ":" prefix (,path))))
#t))
(add-before 'check 'patch-tests
(lambda _
@@ -12511,16 +12448,18 @@ choosing which reads pass the filter.")
(find-files "scripts" ".*"))
#t)))
(add-after 'install 'wrap-programs
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((pythonpath (getenv "PYTHONPATH"))
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((pythonpath (getenv "GUIX_PYTHONPATH"))
(perl5lib (getenv "PERL5LIB"))
(scripts (string-append (assoc-ref outputs "out")
- "/share/nanopolish/scripts")))
+ "/share/nanopolish/scripts"))
+ (guile (search-input-file inputs "bin/guile")))
(for-each (lambda (file)
- (wrap-program file `("PYTHONPATH" ":" prefix (,pythonpath))))
+ (wrap-program file `("GUIX_PYTHONPATH" ":" prefix (,pythonpath))))
(find-files scripts "\\.py"))
(for-each (lambda (file)
- (wrap-script file `("PERL5LIB" ":" prefix (,perl5lib))))
+ (wrap-script file #:guile guile
+ `("PERL5LIB" ":" prefix (,perl5lib))))
(find-files scripts "\\.pl"))))))))
(inputs
`(("guile" ,guile-3.0) ; for wrappers
@@ -12734,7 +12673,7 @@ to an artifact/contaminant file.")
`(("openmpi" ,openmpi)
("zlib" ,zlib)))
(native-inputs
- `(("texlive" ,(texlive-union (list texlive-latex-graphics
+ `(("texlive" ,(texlive-updmap.cfg (list texlive-latex-graphics
texlive-latex-hyperref)))))
(home-page "https://www.ebi.ac.uk/~zerbino/velvet/")
(synopsis "Nucleic acid sequence assembler for very short reads")
diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm
index 4c6da7d9b7..252cd56c15 100644
--- a/gnu/packages/bison.scm
+++ b/gnu/packages/bison.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
@@ -33,7 +33,7 @@
(define-public bison
(package
(name "bison")
- (version "3.5.3")
+ (version "3.7.6")
(source
(origin
(method url-fetch)
@@ -41,7 +41,7 @@
version ".tar.xz"))
(sha256
(base32
- "1i57hbczvr8674z73775jxdd3y59qggs5lmfd60gmwm5i1gmpy1b"))))
+ "1kzkxrd3z4262k2sbxmyh9k5g5r2lakw0gv44l2hb4i1wbhqrmk7"))))
(build-system gnu-build-system)
(arguments
'(;; Building in parallel on many-core systems may cause an error such as
@@ -68,17 +68,6 @@ simple tools through complex programming languages.
Bison also provides an implementation of @command{yacc}, as specified by POSIX.")
(license gpl3+)))
-(define-public bison-3.6
- (package
- (inherit bison)
- (version "3.6.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/bison/bison-" version ".tar.xz"))
- (sha256
- (base32 "0gdpnjh6ra9xa9vj6hzjdf0c04x4pjyy8vssm3qdb7fya4v7knq6"))))))
-
(define-public bison-3.0
(package
(inherit bison)
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index e05a3c32fe..14b6734ed7 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -8,12 +8,14 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;;
@@ -65,21 +67,15 @@
(define-public boost
(package
(name "boost")
- (version "1.72.0")
+ (version "1.76.0")
(source (origin
(method url-fetch)
(uri (string-append "https://boostorg.jfrog.io/artifactory/main/release/"
version "/source/boost_"
(version-with-underscores version) ".tar.bz2"))
- (patches
- (list (boost-patch
- ;; 1.72.0 was released with a faulty coroutine submodule:
- ;; <https://github.com/boostorg/coroutine/issues/46>.
- "0001-revert-cease-dependence-on-range.patch" version
- "1zcqxzh56m1s635wqwk15j3zcs2gmjvjy2f0hid7i78s4pgm0yfs")))
(sha256
(base32
- "08h7cv61fd0lzb4z50xanfqn0pdgvizjrpd1kcdgj725pisb5jar"))))
+ "0hcc661savk32hx65997p0ss1awj6ala4cmz4w7lbi42x6k7nfgh"))))
(build-system gnu-build-system)
(inputs `(("icu4c" ,icu4c)
("zlib" ,zlib)))
@@ -87,7 +83,7 @@
`(("perl" ,perl)
,@(if (%current-target-system)
'()
- `(("python" ,python-wrapper)))
+ `(("python" ,python-minimal-wrapper)))
("tcsh" ,tcsh)))
(arguments
`(#:imported-modules ((guix build python-build-system)
@@ -128,8 +124,7 @@
(out (assoc-ref outputs "out")))
(substitute* '("libs/config/configure"
"libs/spirit/classic/phoenix/test/runtest.sh"
- "tools/build/src/engine/execunix.cpp"
- "tools/build/src/engine/Jambase")
+ "tools/build/src/engine/execunix.cpp")
(("/bin/sh") (which "sh")))
(setenv "SHELL" (which "sh"))
@@ -144,13 +139,9 @@
'())
;; Change an #ifdef __MACH__ that really targets macOS.
- ;; TODO: Inline this on the next rebuild cycle.
- ,@(if (hurd-target?)
- '((substitute* "boost/test/utils/timer.hpp"
- (("defined\\(__MACH__\\)")
- "(defined __MACH__ && !defined __GNU__)"))
- #t)
- '())
+ (substitute* "boost/test/utils/timer.hpp"
+ (("defined\\(__MACH__\\)")
+ "(defined __MACH__ && !defined __GNU__)"))
(invoke "./bootstrap.sh"
(string-append "--prefix=" out)
@@ -288,13 +279,6 @@ across a broad spectrum of applications.")
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "./b2" "install" make-flags))))))))
-(define-public boost-with-python2
- (package/inherit boost
- (name "boost-python2")
- (native-inputs
- `(("python" ,python-2)
- ,@(alist-delete "python" (package-native-inputs boost))))))
-
(define-public boost-with-python3
(deprecated-package "boost-with-python3" boost))
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index c598cedc0a..5a8028a465 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -32,11 +32,13 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module ((guix store)
- #:select (run-with-store add-to-store add-text-to-store))
+ #:select (%store-monad interned-file text-file store-lift))
#:use-module ((guix derivations)
- #:select (derivation derivation-input derivation->output-path))
- #:use-module ((guix utils) #:select (gnu-triplet->nix-system))
+ #:select (raw-derivation derivation-input derivation->output-path))
+ #:use-module (guix utils)
+ #:use-module ((guix build utils) #:select (elf-file?))
#:use-module ((guix gexp) #:select (lower-object))
+ #:use-module (guix monads)
#:use-module (guix memoization)
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
@@ -89,6 +91,15 @@
,(base32 "1j51gv08sfg277yxj73xd564wjq3f8xwd6s9rbcg8v9gms47m4cx"))
("xz"
,(base32 "1d779rwsrasphg5g3r37qppcqy3p7ay1jb1y83w7x4i3qsc7zjy2")))
+ ("powerpc-linux"
+ ("bash"
+ ,(base32 "0hwlw5lcyjzadprf5fm0cv4zb6jw667g9amnmhq0lbixasy7j72j"))
+ ("mkdir"
+ ,(base32 "12lfwh5p8pp06250wgi9mdvjv1jdfpd5xpmvfc0616aj0xqh09hp"))
+ ("tar"
+ ,(base32 "00sbmwl8qh6alxv9mw4hvj1j4yipwmw5mrw6qad8bi2pr7ya5386"))
+ ("xz"
+ ,(base32 "0hi47y6zh5zz137i59l5ibw92x6g54zn7ris1b1ym9rvavsasg7b")))
("armhf-linux"
("bash"
,(base32 "0s6f1s26g4dsrrkl39zblvwpxmbzi6n9mgqf6vxsqz42gik6bgyn"))
@@ -139,6 +150,7 @@
;; This is where the bootstrap executables come from.
'("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/"
"https://alpha.gnu.org/gnu/guix/bootstrap/"
+ "http://flashner.co.il/guix/bootstrap/"
"http://lilypond.org/janneke/guix/"))
(define (bootstrap-executable-file-name system program)
@@ -146,6 +158,7 @@
(match system
("powerpc64le-linux" (string-append system "/20210106/" program))
("i586-gnu" (string-append system "/20200326/" program))
+ ("powerpc-linux" (string-append system "/20200923/bin/" program))
(_ (string-append system "/" program
"?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e"))))
@@ -341,6 +354,8 @@ or false to signal an error."
(match system
("aarch64-linux"
"/20170217/guile-2.0.14.tar.xz")
+ ("powerpc-linux"
+ "/20200923/guile-2.0.14.tar.xz")
("armhf-linux"
"/20150101/guile-2.0.11.tar.xz")
("i586-gnu"
@@ -366,7 +381,9 @@ or false to signal an error."
("aarch64-linux"
(base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r"))
("i586-gnu"
- (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))))
+ (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))
+ ("powerpc-linux"
+ (base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4"))))
(define (bootstrap-guile-origin system)
"Return an <origin> object for the Guile tarball of SYSTEM."
@@ -376,59 +393,58 @@ or false to signal an error."
%bootstrap-base-urls))
(sha256 (bootstrap-guile-hash system))))
-(define (download-bootstrap-guile store system)
+(define (download-bootstrap-guile system)
"Return a derivation that downloads the bootstrap Guile tarball for SYSTEM."
(let* ((path (bootstrap-guile-url-path system))
(base (basename path))
(urls (map (cut string-append <> path) %bootstrap-base-urls)))
- (run-with-store store
- (url-fetch urls 'sha256 (bootstrap-guile-hash system)
- #:system system))))
+ (url-fetch urls 'sha256 (bootstrap-guile-hash system)
+ #:system system)))
-(define* (raw-build store name inputs
+(define* (raw-build name inputs
#:key outputs system search-paths
#:allow-other-keys)
(define (->store file)
- (run-with-store store
- (lower-object (bootstrap-executable file system)
- system)))
-
- (let* ((tar (->store "tar"))
- (xz (->store "xz"))
- (mkdir (->store "mkdir"))
- (bash (->store "bash"))
- (guile (download-bootstrap-guile store system))
- ;; The following code, run by the bootstrap guile after it is
- ;; unpacked, creates a wrapper for itself to set its load path.
- ;; This replaces the previous non-portable method based on
- ;; reading the /proc/self/exe symlink.
- (make-guile-wrapper
- '(begin
- (use-modules (ice-9 match))
- (match (command-line)
- ((_ out bash)
- (let ((bin-dir (string-append out "/bin"))
- (guile (string-append out "/bin/guile"))
- (guile-real (string-append out "/bin/.guile-real"))
- ;; We must avoid using a bare dollar sign in this code,
- ;; because it would be interpreted by the shell.
- (dollar (string (integer->char 36))))
- (chmod bin-dir #o755)
- (rename-file guile guile-real)
- (call-with-output-file guile
- (lambda (p)
- (format p "\
+ (lower-object (bootstrap-executable file system)
+ system))
+
+ (define (make-guile-wrapper bash guile-real)
+ ;; The following code, run by the bootstrap guile after it is unpacked,
+ ;; creates a wrapper for itself to set its load path. This replaces the
+ ;; previous non-portable method based on reading the /proc/self/exe
+ ;; symlink.
+ '(begin
+ (use-modules (ice-9 match))
+ (match (command-line)
+ ((_ out bash)
+ (let ((bin-dir (string-append out "/bin"))
+ (guile (string-append out "/bin/guile"))
+ (guile-real (string-append out "/bin/.guile-real"))
+ ;; We must avoid using a bare dollar sign in this code,
+ ;; because it would be interpreted by the shell.
+ (dollar (string (integer->char 36))))
+ (chmod bin-dir #o755)
+ (rename-file guile guile-real)
+ (call-with-output-file guile
+ (lambda (p)
+ (format p "\
#!~a
export GUILE_SYSTEM_PATH=~a/share/guile/2.0
export GUILE_SYSTEM_COMPILED_PATH=~a/lib/guile/2.0/ccache
exec -a \"~a0\" ~a \"~a@\"\n"
- bash out out dollar guile-real dollar)))
- (chmod guile #o555)
- (chmod bin-dir #o555))))))
- (builder
- (add-text-to-store store
- "build-bootstrap-guile.sh"
- (format #f "
+ bash out out dollar guile-real dollar)))
+ (chmod guile #o555)
+ (chmod bin-dir #o555))))))
+
+ (mlet* %store-monad ((tar (->store "tar"))
+ (xz (->store "xz"))
+ (mkdir (->store "mkdir"))
+ (bash (->store "bash"))
+ (guile (download-bootstrap-guile system))
+ (wrapper -> (make-guile-wrapper bash guile))
+ (builder
+ (text-file "build-bootstrap-guile.sh"
+ (format #f "
echo \"unpacking bootstrap Guile to '$out'...\"
~a $out
cd $out
@@ -441,19 +457,19 @@ $out/bin/guile -c ~s $out ~a
# Sanity check.
$out/bin/guile --version~%"
- (derivation->output-path mkdir)
- (derivation->output-path xz)
- (derivation->output-path tar)
- (format #f "~s" make-guile-wrapper)
- (derivation->output-path bash)))))
- (derivation store name
- (derivation->output-path bash) `(,builder)
- #:system system
- #:inputs (map derivation-input
- (list bash mkdir tar xz guile))
- #:sources (list builder)
- #:env-vars `(("GUILE_TARBALL"
- . ,(derivation->output-path guile))))))
+ (derivation->output-path mkdir)
+ (derivation->output-path xz)
+ (derivation->output-path tar)
+ (object->string wrapper)
+ (derivation->output-path bash)))))
+ (raw-derivation name
+ (derivation->output-path bash) `(,builder)
+ #:system system
+ #:inputs (map derivation-input
+ (list bash mkdir tar xz guile))
+ #:sources (list builder)
+ #:env-vars `(("GUILE_TARBALL"
+ . ,(derivation->output-path guile))))))
(define* (make-raw-bag name
#:key source inputs native-inputs outputs
@@ -500,6 +516,8 @@ $out/bin/guile --version~%"
"/20210106/static-binaries-0-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
+ ("powerpc-linux"
+ "/20200923/static-binaries.tar.xz")
(_
"/20131110/static-binaries.tar.xz")))
%bootstrap-base-urls))
@@ -523,6 +541,9 @@ $out/bin/guile --version~%"
("i586-gnu"
(base32
"17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn"))
+ ("powerpc-linux"
+ (base32
+ "0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m"))
("mips64el-linux"
(base32
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
@@ -573,6 +594,8 @@ $out/bin/guile --version~%"
"/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
+ ("powerpc-linux"
+ "/20200923/binutils-2.35.1.tar.xz")
(_
"/20131110/binutils-2.23.2.tar.xz")))
%bootstrap-base-urls))
@@ -596,6 +619,9 @@ $out/bin/guile --version~%"
("i586-gnu"
(base32
"11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
+ ("powerpc-linux"
+ (base32
+ "0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8"))
("mips64el-linux"
(base32
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
@@ -653,6 +679,8 @@ $out/bin/guile --version~%"
"/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/glibc-stripped-2.31-i586-pc-gnu.tar.xz")
+ ("powerpc-linux"
+ "/20200923/glibc-2.32.tar.xz")
(_
"/20131110/glibc-2.18.tar.xz")))
%bootstrap-base-urls))
@@ -676,6 +704,9 @@ $out/bin/guile --version~%"
("i586-gnu"
(base32
"14ddm10lpbas8bankmn5bcrlqvz1v5dnn1qjzxb19r57vd2w5952"))
+ ("powerpc-linux"
+ (base32
+ "0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb"))
("mips64el-linux"
(base32
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
@@ -749,6 +780,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
"/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz")
("i586-gnu"
"/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
+ ("powerpc-linux"
+ "/20200923/gcc-5.5.0.tar.xz")
(_
"/20131110/gcc-4.8.2.tar.xz")))
%bootstrap-base-urls))
@@ -772,14 +805,20 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
("i586-gnu"
(base32
"1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))
+ ("powerpc-linux"
+ (base32
+ "1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w"))
("mips64el-linux"
(base32
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
(native-search-paths
(list (search-path-specification
- (variable "CPATH")
+ (variable "C_INCLUDE_PATH")
(files '("include")))
(search-path-specification
+ (variable "CPLUS_INCLUDE_PATH")
+ (files '("include/c++" "include")))
+ (search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index d2fb9e05df..6285ecabf3 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -264,7 +264,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson
(package
(name "meson")
- (version "0.53.2")
+ (version "0.58.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -272,12 +272,11 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
- "07y2hh9dfn1m9g4bsy49nbn3vdmd0b2iwr8bxg19fhqq6c7q73ry"))))
+ "0padn0ykwz8azqiwkhi8p97bl742y8lsjbv0wpqpkkrgcvda6i1i"))))
(build-system python-build-system)
(arguments
- `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH
- ;; patch in meson-for-build, and patching many hard-coded file system
- ;; locations in "run_unittests.py".
+ `(;; FIXME: Tests require many additional inputs and patching many
+ ;; hard-coded file system locations in "run_unittests.py".
#:tests? #f
#:phases (modify-phases %standard-phases
;; Meson calls the various executables in out/bin through the
@@ -296,45 +295,6 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that
resembles Python.")
(license license:asl2.0)))
-;; Added temporarily for packages that need it.
-;; TODO: Remove when core-updates is merged.
-(define-public meson-0.55
- (package
- (inherit meson)
- (version "0.55.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mesonbuild/meson/"
- "releases/download/" version "/meson-"
- version ".tar.gz"))
- (sha256
- (base32
- "1070kjiirxxdfppmrhi3wsc6rykay1zlciqrzayjhjg0hkw42mrv"))))))
-
-(define-public meson-next
- (package
- (inherit meson)
- (version "0.57.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mesonbuild/meson/"
- "releases/download/" version "/meson-"
- version ".tar.gz"))
- (sha256
- (base32
- "1iac7p99zfgkznq4qlnkk7b8xwwlilcrnkf33sczm56yqnqyg0rs"))))))
-
-(define-public meson-for-build
- (package
- (inherit meson)
- (name "meson-for-build")
- (source (origin
- (inherit (package-source meson))
- (patches (search-patches "meson-for-build-rpath.patch"))))
-
- ;; People should probably install "meson", not "meson-for-build".
- (properties `((hidden? . #t)))))
-
(define-public premake4
(package
(name "premake")
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index aaf1e693fb..3c287fc856 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -116,7 +116,7 @@ the <tz.h> library for handling time zones and leap seconds.")
(define-public libical
(package
(name "libical")
- (version "3.0.8")
+ (version "3.0.10")
(source (origin
(method url-fetch)
(uri (string-append
@@ -124,7 +124,7 @@ the <tz.h> library for handling time zones and leap seconds.")
version "/libical-" version ".tar.gz"))
(sha256
(base32
- "0vr8s7hn8204lyc4ys5bs3j5qss4lmc9ffly2m1a59avyz5cmzh9"))))
+ "1d1nqcfilb4k8bc5x85fhnd26l1ski58wpk2nmds6mlxrzkb6czr"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; test suite appears broken
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 443d7455a7..de72cc0856 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -1043,7 +1043,7 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/cdemu")))
(wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))))
#t))))))
(home-page "https://cdemu.sourceforge.io/")
(synopsis "Command-line client for controlling cdemu-daemon")
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index 9dcd733ffe..82e5b8c987 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -4,6 +4,8 @@
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,60 +25,53 @@
(define-module (gnu packages certs)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
- #:use-module (gnu packages python)
+ #:use-module (gnu packages nss)
#:use-module (gnu packages perl)
#:use-module (gnu packages tls))
(define certdata2pem
- (package
- (name "certdata2pem")
- (version "2013")
- (source
- (origin
- (method url-fetch)
- (uri
- "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/plain/certdata2pem.py?id=053dde8a2f5901e97028a58bf54e7d0ef8095a54")
- (file-name "certdata2pem.py")
- (sha256
- (base32
- "0zscrm41gnsf14zvlkxhy00h3dmgidyz645ldpda3y3vabnwv8dx"))))
- (build-system trivial-build-system)
- (inputs
- `(("python" ,python-2)))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let ((bin (string-append %output "/bin")))
- (copy-file (assoc-ref %build-inputs "source") "certdata2pem.py")
- (chmod "certdata2pem.py" #o555)
- (substitute* "certdata2pem.py"
- (("/usr/bin/python")
- (string-append (assoc-ref %build-inputs "python")
- "/bin/python"))
- ;; Use the file extension .pem instead of .crt.
- (("crt") "pem"))
- (mkdir-p bin)
- (copy-file "certdata2pem.py"
- (string-append bin "/certdata2pem.py"))
- #t))))
- (synopsis "Python script to extract .pem data from certificate collection")
- (description
- "certdata2pem.py is a Python script to transform X.509 certificate
-\"source code\" as contained, for example, in the Mozilla sources, into
-.pem formatted certificates.")
- (license license:gpl2+)
- (home-page "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/")))
+ (let ((revision "1")
+ (commit "4c576f350f44186d439179f63d5be19f710a73f5"))
+ (package
+ (name "certdata2pem")
+ (version "0.0.0") ;no version
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://raw.githubusercontent.com/sabotage-linux/sabotage/"
+ commit "/KEEP/certdata2pem.c"))
+ (sha256
+ (base32
+ "1rywp29q4l1cs2baplkbcravxqs4kw2cys4yifhfznbc210pskq6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (invoke ,(cc-for-target) "certdata2pem.c"
+ "-o" "certdata2pem")))
+ (delete 'check) ;no test suite
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "certdata2pem"
+ (string-append out "/bin"))))))))
+ (home-page "https://github.com/sabotage-linux/")
+ (synopsis "Utility to split TLS certificates data into multiple PEM files")
+ (description "This is a C version of the certdata2pem Python utility
+that was originally contributed to Debian.")
+ (license license:isc))))
(define-public nss-certs
(package
(name "nss-certs")
- (version "3.59")
+ (version "3.67")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -87,56 +82,35 @@
"nss-" version ".tar.gz")))
(sha256
(base32
- "096fs3z21r171q24ca3rq53p1389xmvqz1f2rpm7nlm8r9s82ag6"))))
+ "0zyfi27lbdz1bmk9dmsivcya4phx25rzlxqcnjab69yd928rlm7n"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs
`(("certdata2pem" ,certdata2pem)
- ("openssl" ,openssl)
- ("perl" ,perl))) ;for OpenSSL's 'c_rehash'
+ ("openssl" ,openssl)))
(inputs '())
(propagated-inputs '())
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(rnrs io ports)
- (srfi srfi-26)
- (ice-9 regex))
+ (srfi srfi-26))
#:phases
(modify-phases
(map (cut assq <> %standard-phases)
'(set-paths install-locale unpack))
(add-after 'unpack 'install
(lambda _
- (let ((certsdir (string-append %output "/etc/ssl/certs/"))
- (trusted-rx (make-regexp "^# openssl-trust=[a-zA-Z]"
- regexp/newline)))
-
- (define (maybe-install-cert file)
- (let ((cert (call-with-input-file file get-string-all)))
- (when (regexp-exec trusted-rx cert)
- (call-with-output-file
- (string-append certsdir file)
- (cut display cert <>)))))
-
- (mkdir-p certsdir)
+ (let ((certsdir (string-append %output "/etc/ssl/certs/")))
(with-directory-excursion "nss/lib/ckfw/builtins/"
- ;; extract single certificates from blob
- (invoke "certdata2pem.py" "certdata.txt")
- ;; copy selected .pem files into the output
- (for-each maybe-install-cert
- (find-files "." ".*\\.pem")))
-
- (with-directory-excursion certsdir
- ;; create symbolic links for and by openssl
- ;; Strangely, the call (system* "c_rehash" certsdir)
- ;; from inside the build dir fails with
- ;; "Usage error; try -help."
- ;; This looks like a bug in openssl-1.0.2, but we can also
- ;; switch into the target directory.
- (invoke "c_rehash" "."))
- #t))))))
-
+ (unless (file-exists? "blacklist.txt")
+ (call-with-output-file "blacklist.txt" (const #t)))
+ ;; Extract selected single certificates from blob.
+ (invoke "certdata2pem")
+ ;; Copy .crt files into the output.
+ (for-each (cut install-file <> certsdir)
+ (find-files "." ".*\\.crt$")))
+ (invoke "openssl" "rehash" certsdir)))))))
(synopsis "CA certificates from Mozilla")
(description
"This package provides certificates for Certification Authorities (CA)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 7b20d863e6..73874c284c 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -25,7 +25,7 @@
;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2015, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
@@ -35,7 +35,7 @@
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,6 +67,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -146,7 +147,27 @@ like Jasmine or Mocha.")
version "/check-" version ".tar.gz"))
(sha256
(base32
- "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8"))))
+ "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8"))
+ (patches
+ (list
+ ;; This patch fixes some tests that would otherwise fail on
+ ;; powerpc64le-linux. Without this patch, the tests make certain
+ ;; assumptions about floating point number precision that are not true
+ ;; on that platform.
+ ;;
+ ;; TODO: Remove this patch when updating to the next check release,
+ ;; since it will be included there. See:
+ ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47698
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/libcheck/check/commit/"
+ "4fbe702fa4f35bee8a90512f9f59d1441c4ae82e.patch"))
+ (file-name (string-append name
+ "-fix-test-precision-for-ppc.patch"))
+ (sha256
+ (base32
+ "04qg1p9afdd6453k18qskazrvscysdcjz9j6w4i6p5x4xyma19v6")))))))
(build-system gnu-build-system)
(home-page "https://libcheck.github.io/check/")
(synopsis "Unit test framework for C")
@@ -918,39 +939,40 @@ standard library.")
(define-public python-pytest
(package
(name "python-pytest")
- (version "5.3.5")
+ (version "6.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest" version))
(sha256
(base32
- "139i9cjhrv5aici3skq8iihvfb3lq0d8xb5j7qycr2hlk8cfjpqd"))))
+ "01n3jny7m05r6g7gphbkj2xdms75ql93x69crd377hlvi6qikr36"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key (tests? #t) #:allow-other-keys)
+ (setenv "TERM" "dumb") ;attempt disabling markup tests
(if tests?
(invoke "pytest" "-vv" "-k"
(string-append
- ;; These tests involve the /usr directory, and fails.
- "not test_remove_dir_prefix"
- " and not test_argcomplete"
- ;; This test tries to override PYTHONPATH, and
- ;; subsequently fails to locate the test libraries.
- " and not test_collection"))
- (format #t "test suite not run~%"))
- #t)))))
+ ;; This test involve the /usr directory, and fails.
+ " not test_argcomplete"
+ ;; These test do not honor the isatty detection and
+ ;; fail.
+ " and not test_code_highlight"
+ " and not test_color_yes"))
+ (format #t "test suite not run~%")))))))
(propagated-inputs
- `(("python-atomicwrites" ,python-atomicwrites)
- ("python-attrs" ,python-attrs-bootstrap)
+ `(("python-attrs" ,python-attrs-bootstrap)
+ ("python-iniconfig" ,python-iniconfig)
("python-more-itertools" ,python-more-itertools)
("python-packaging" ,python-packaging-bootstrap)
("python-pluggy" ,python-pluggy)
("python-py" ,python-py)
("python-six" ,python-six-bootstrap)
+ ("python-toml" ,python-toml)
("python-wcwidth" ,python-wcwidth)))
(native-inputs
`(;; Tests need the "regular" bash since 'bash-final' lacks `compgen`.
@@ -960,6 +982,7 @@ standard library.")
("python-mock" ,python-mock)
("python-pytest" ,python-pytest-bootstrap)
("python-setuptools-scm" ,python-setuptools-scm)
+ ("python-toml" ,python-toml)
("python-xmlschema" ,python-xmlschema)))
(home-page "https://docs.pytest.org/en/latest/")
(synopsis "Python testing library")
@@ -970,45 +993,6 @@ and many external plugins.")
(license license:expat)
(properties `((python2-variant . ,(delay python2-pytest))))))
-(define-public python-pytest-6
- (package
- (inherit (strip-python2-variant python-pytest))
- (version "6.1.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pytest" version))
- (sha256
- (base32
- "0gl2sdm322vzmsh5k4f8kj9raiq2y7kdinnca4m45ifvii5fk9y0"))))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key (tests? #t) #:allow-other-keys)
- (setenv "TERM" "dumb") ;attempt disabling markup tests
- (if tests?
- (invoke "pytest" "-vv" "-k"
- (string-append
- ;; This test involve the /usr directory, and fails.
- " not test_argcomplete"
- ;; These test do not honor the isatty detection and
- ;; fail.
- " and not test_code_highlight"
- " and not test_color_yes"))
- (format #t "test suite not run~%"))
- #t)))))
- (propagated-inputs
- (append (alist-delete "python-py"
- (package-propagated-inputs python-pytest))
- `(("python-py" ,python-py-next))))
- (native-inputs
- (append (alist-delete "python-pytest"
- (package-native-inputs python-pytest))
- `(("python-pytest" ,python-pytest-6-bootstrap)
- ("python-toml" ,python-toml)
- ("python-iniconfig" ,python-iniconfig))))))
-
;; Pytest 4.x are the last versions that support Python 2.
(define-public python2-pytest
(package
@@ -1049,19 +1033,12 @@ and many external plugins.")
(package
(inherit (strip-python2-variant python-pytest))
(name "python-pytest-bootstrap")
- (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (native-inputs `(("python-iniconfig" ,python-iniconfig)
+ ("python-setuptools-scm" ,python-setuptools-scm)
+ ("python-toml" ,python-toml)))
(arguments `(#:tests? #f))
(properties `((python2-variant . ,(delay python2-pytest-bootstrap))))))
-(define-public python-pytest-6-bootstrap
- (package
- (inherit (strip-python2-variant python-pytest-6))
- (name "python-pytest-bootstrap")
- (arguments `(#:tests? #f))
- (native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-toml" ,python-toml)))))
-
(define-public python2-pytest-bootstrap
(hidden-package
(package/inherit
@@ -1284,20 +1261,25 @@ same arguments.")
#t))))
(build-system python-build-system)
(arguments
- '(#:tests? #f)) ;FIXME: Some tests are failing.
- ;; #:phases
- ;; (modify-phases %standard-phases
- ;; (delete 'check)
- ;; (add-after 'install 'check
- ;; (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; (add-installed-pythonpath inputs outputs)
- ;; (zero? (system* "py.test" "-v")))))
+ '(#:tests? #f ; Lots of tests fail.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-setup-py
+ (lambda _
+ ;; Relax pytest requirement.
+ (substitute* "setup.py"
+ (("pytest>=6\\.0\\.0") "pytest"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "py.test" "-v")))))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(propagated-inputs
`(("python-execnet" ,python-execnet)
("python-pytest" ,python-pytest)
- ("python-py" ,python-py)))
+ ("python-py" ,python-py)
+ ("python-pytest-forked" ,python-pytest-forked)))
(home-page
"https://github.com/pytest-dev/pytest-xdist")
(synopsis
@@ -1347,19 +1329,18 @@ timeout has been exceeded.")
(define-public python-pytest-forked
(package
(name "python-pytest-forked")
- (version "1.1.3")
+ (version "1.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-forked" version))
(sha256
(base32
- "000i4q7my2fq4l49n8idx2c812dql97qv6qpm2vhrrn9v6g6j18q"))))
+ "1jip9qh115zcg1rn7irqx5qycb9k248d5imy86f566md01zaraba"))))
(build-system python-build-system)
- (propagated-inputs
- `(("python-pytest" ,python-pytest)))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ `(("python-pytest" ,python-pytest)
+ ("python-setuptools-scm" ,python-setuptools-scm)))
(home-page
"https://github.com/pytest-dev/pytest-forked")
(synopsis
@@ -1578,7 +1559,12 @@ protocol.")))
(base32
"1vxj29bzz3rd4pcy51d05wng9q9dh4jq6wx92yklsm7i6h1ddw7w"))))
(build-system python-build-system)
- (arguments `(#:tests? #f))
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Package is not loadable on its own at this stage.
+ (delete 'sanity-check))))
(propagated-inputs
`(("python-pbr-minimal" ,python-pbr-minimal)
("python-six" ,python-six)))
@@ -1683,13 +1669,13 @@ executed.")
(define-public python-pytest-asyncio
(package
(name "python-pytest-asyncio")
- (version "0.10.0")
+ (version "0.15.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-asyncio" version))
(sha256
- (base32 "1bysy4nii13bm7h345wxf8fxcjhab7l374pqdv7vwv3izl053b4z"))))
+ (base32 "0vrzsrg3j1cfd57m0b3r5xf87rslgcs42jya346mdg9bc6wwwr15"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)
@@ -1953,13 +1939,13 @@ instantly.")
(define-public python-hypothesis
(package
(name "python-hypothesis")
- (version "5.4.1")
+ (version "6.0.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "hypothesis" version))
(sha256
(base32
- "0zn09bn6hadk4vxl6jy8bkjr5fz8mrhin3z46w7pq5qgbaycr89p"))))
+ "0wj7ip779naf2n076nylf2gi0sjz68z1ir9d9r2rgs7br18naqdf"))))
(build-system python-build-system)
(arguments
;; XXX: Tests are not distributed with the PyPI archive.
@@ -1976,18 +1962,6 @@ seamlessly into your existing Python unit testing work flow.")
(license license:mpl2.0)
(properties `((python2-variant . ,(delay python2-hypothesis))))))
-(define-public python-hypothesis-5.23
- (package
- (inherit python-hypothesis)
- (version "5.23.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "hypothesis" version))
- (sha256
- (base32
- "0sy1v6nyxg4rjcf3rlr8nalb7wqd9nccpb2lzkchbj5an13ysf1h"))))
- (home-page "https://github.com/HypothesisWorks/hypothesis")))
-
;; This is the last version of Hypothesis that supports Python 2.
(define-public python2-hypothesis
(let ((hypothesis (package-with-python2
@@ -2007,19 +1981,19 @@ seamlessly into your existing Python unit testing work flow.")
(define-public python-hypothesmith
(package
(name "python-hypothesmith")
- (version "0.1.2")
+ (version "0.1.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hypothesmith" version))
(sha256
(base32
- "09331sspknv459xcyn1k0lx5flqlc6gmnwp9370pfvg4kg1zmss6"))))
+ "02j101m5grjrbvrgjap17jsxd1hgawkylmyswcn33vf42mxh9zzr"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-hypothesis" ,python-hypothesis-5.23)
+ `(("python-hypothesis" ,python-hypothesis)
("python-lark-parser" ,python-lark-parser)
- ("python-libcst" ,python-libcst)))
+ ("python-libcst" ,python-libcst-minimal)))
(home-page "https://github.com/Zac-HD/hypothesmith")
(synopsis "Strategies for generating Python programs")
(description
@@ -2069,7 +2043,18 @@ failures.")
"06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f)) ; Fails with recent pytest and pep8. See upstream issues #8 and #12.
+ `(#:tests? #f ; Fails with recent pytest and pep8. See upstream issues #8 and #12.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-dependencies
+ (lambda _
+ (substitute* "setup.py"
+ (("'pytest-cache', ") "")))) ; Included in recent pytest
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-v")))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(propagated-inputs
@@ -2154,7 +2139,7 @@ statements in the module it tests.")
(define-public python-pylint
(package
(name "python-pylint")
- (version "2.5.3")
+ (version "2.6.0")
(source
(origin
(method git-fetch)
@@ -2163,13 +2148,26 @@ statements in the module it tests.")
(commit (string-append "pylint-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04cgbh2z1mygar63plzziyz34yg6bdr4i0g63jp256fgnqwb1bi3"))))
+ (base32 "0ws3dz3wm49brnhhfm7v75zq202pwlwfbi3njdd69aqxq912x15z"))))
(build-system python-build-system)
- ;; FIXME: Tests are failing since version 2.4.3, see:
- ;; https://github.com/PyCQA/pylint/issues/3198.
- (arguments '(#:tests? #f))
+ (arguments
+ `(#:tests? #t
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; The following failing tests are skipped (see:
+ ;; https://github.com/PyCQA/pylint/issues/4068).
+ (invoke "pytest" "-k"
+ (string-append
+ "not unused_typing_imports "
+ "and not star_needs_assignment_target_py35 "
+ "and not regression_property_no_member_2641 "
+ "and not missing_kwoa_py3"))))))))
(native-inputs
`(("python-pytest" ,python-pytest)
+ ("python-pytest-benchmark" ,python-pytest-benchmark)
("python-pytest-runner" ,python-pytest-runner)
("python-tox" ,python-tox)))
(propagated-inputs
@@ -2365,20 +2363,10 @@ backported from Python 2.7 for Python 2.4+.")
("python-pyhamcrest" ,python-pyhamcrest)
("python-pytest" ,python-pytest)))
(propagated-inputs
- `(("python-importlib-metadata" ,python-importlib-metadata)
- ("python-six" ,python-six)
- ("python-parse" ,python-parse)
+ `(("python-parse" ,python-parse)
("python-parse-type" ,python-parse-type)))
(arguments
- '(#:test-target "behave_test"
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'fix-library-loading
- (lambda _
- ;; Otherwise, tests fail with no module named 'path'
- (setenv "PYTHONPATH" (string-append (getenv "PYTHONPATH") ":"
- (getcwd) "/tasks/_vendor"))
- #t)))))
+ '(#:test-target "behave_test"))
(home-page "https://github.com/behave/behave")
(synopsis "Python behavior-driven development")
(description
@@ -2617,48 +2605,35 @@ retried.")
(package-with-python2 python-flaky))
(define-public python-pyhamcrest
- ;; The latest release was in 2016 and its test suite does not work with recent
- ;; versions of Pytest. Just take the master branch for now, which seems stable.
- (let ((commit "25fdc5f00bdf3084335353bc9247253098ec4cf2")
- (revision "0"))
- (package
- (name "python-pyhamcrest")
- (version (git-version "1.9.0" revision commit))
- (source (origin
- ;; Tests not distributed from pypi release.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hamcrest/PyHamcrest")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1miqmhhi68vaix8sqc1lvpvbm27bacffxh5anm5cbfsvk7g9n6f3"))))
- (native-inputs ;all native inputs are for tests
- `(("python-pytest-cov" ,python-pytest-cov)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-hypothesis" ,python-hypothesis)))
- (propagated-inputs
- `(("python-six" ,python-six)))
- (build-system python-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (setenv "PYTHONPATH"
- (string-append "build/lib:"
- (getenv "PYTHONPATH")))
- (invoke "pytest" "-vv"))))))
- (home-page "http://hamcrest.org/")
- (synopsis "Hamcrest matchers for Python")
- (description
- "PyHamcrest is a framework for writing matcher objects,
- allowing you to declaratively define \"match\" rules.")
- (license license:bsd-3))))
-
-(define-public python2-pyhamcrest
- (package-with-python2 python-pyhamcrest))
+ (package
+ (name "python-pyhamcrest")
+ (version "2.0.2")
+ (source (origin
+ ;; Tests not distributed from pypi release.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hamcrest/PyHamcrest")
+ (commit (string-append "V" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05kdzlhs2kvj82pfca13qszszcj6dyrk4b9pbr46x06sq2s4qyls"))))
+ (native-inputs ;all native inputs are for tests
+ `(("python-pytest-cov" ,python-pytest-cov)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-hypothesis" ,python-hypothesis)))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "-vv"))))))
+ (home-page "http://hamcrest.org/")
+ (synopsis "Hamcrest matchers for Python")
+ (description "PyHamcrest is a framework for writing matcher objects,
+allowing you to declaratively define \"match\" rules.")
+ (license license:bsd-3)))
(define-public unittest-cpp
(package
@@ -2688,7 +2663,7 @@ portable to just about any platform.")
(define-public libfaketime
(package
(name "libfaketime")
- (version "0.9.8")
+ (version "0.9.9")
(home-page "https://github.com/wolfcw/libfaketime")
(source (origin
(method git-fetch)
@@ -2697,35 +2672,35 @@ portable to just about any platform.")
(commit (string-append "v" version))))
(sha256
(base32
- "1mfdl82ppgbdvy1ny8mb7xii7p0g7awvn4bn36jb8v4r545slmjc"))
+ "1gi1xciqga5hl2xlk7rc3j8wy47ag97pi7ngmdl6ny1d11b2wn1z"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'embed-date-reference
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((coreutils (assoc-ref inputs "coreutils")))
+ (substitute* "src/faketime.c"
+ (("\"date\"")
+ (string-append "\"" coreutils "/bin/date\""))))))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (setenv "CC" "gcc")
+ (setenv "CC" ,(cc-for-target))
(setenv "PREFIX" out)
;; XXX: Without this flag, the CLOCK_REALTIME test hangs
;; indefinitely. See README.packagers for more information.
- ;; Try removing this for future versions of libfaketime.
- (setenv "FAKETIME_COMPILE_CFLAGS" "-DFORCE_MONOTONIC_FIX")
-
- #t)))
+ (setenv "FAKETIME_COMPILE_CFLAGS" "-DFORCE_MONOTONIC_FIX"))))
(add-before 'check 'pre-check
(lambda _
(substitute* "test/functests/test_exclude_mono.sh"
- (("/bin/bash") (which "bash")))
-
- ;; Do not fail due to use of 'ftime', which was deprecated in
- ;; glibc 2.31. Remove this for later versions of libfaketime.
- (setenv "FAKETIME_COMPILE_CFLAGS" "-Wno-deprecated-declarations")
- #t)))
+ (("/bin/bash") (which "bash"))))))
#:test-target "test"))
(native-inputs
`(("perl" ,perl))) ;for tests
+ (inputs
+ `(("coreutils" ,coreutils)))
(synopsis "Fake the system time for single applications")
(description
"The libfaketime library allows users to modify the system time that an
@@ -2828,13 +2803,21 @@ grew out of the @dfn{Vc} project.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-testsuite
+ (lambda _
+ ;; Time difference is larger than expected.
+ (substitute* "pyfakefs/tests/fake_filesystem_unittest_test.py"
+ (("(\\s+)def test_copy_real_file" all indent)
+ (string-append
+ indent
+ "@unittest.skip('disabled by guix')\n"
+ all)))))
;; The default test suite does not run these extra tests.
(add-after 'check 'check-pytest-plugin
(lambda _
(invoke
"python" "-m" "pytest"
- "pyfakefs/pytest_tests/pytest_plugin_test.py")
- #t)))))
+ "pyfakefs/pytest_tests/pytest_plugin_test.py"))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(build-system python-build-system)
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 1cd2cde71b..a886e59130 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -114,8 +114,8 @@
;; for docs
("stex" ,stex)
("xorg-rgb" ,xorg-rgb)
- ("texlive" ,(texlive-union (list texlive-latex-oberdiek
- texlive-generic-epsf)))
+ ("texlive" ,(texlive-updmap.cfg (list texlive-latex-oberdiek
+ texlive-generic-epsf)))
("ghostscript" ,ghostscript)
("netpbm" ,netpbm)))
(native-search-paths
@@ -316,13 +316,13 @@ and 32-bit PowerPC architectures.")
(native-inputs
`(("chez-scheme" ,chez-scheme)
("ghostscript" ,ghostscript)
- ("texlive" ,(texlive-union (list texlive-latex-oberdiek
+ ("texlive" ,(texlive-updmap.cfg (list texlive-latex-oberdiek
texlive-generic-epsf
texlive-metapost
texlive-fonts-charter
- texlive-generic-pdftex
- texlive-context-base
- texlive-fonts-cm
+ texlive-pdftex
+ texlive-context
+ texlive-cm
texlive-tex-plain)))))
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
@@ -333,12 +333,6 @@ and 32-bit PowerPC architectures.")
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
- (add-before 'build 'set-HOME
- (lambda _
- ;; FIXME: texlive-union does not find the built
- ;; metafonts, so it tries to generate them in HOME.
- (setenv "HOME" "/tmp")
- #t))
;; This package has a custom "bootstrap" script that
;; is meant to be run from the Makefile.
(delete 'bootstrap)
@@ -381,7 +375,7 @@ programming in Scheme.")
(native-inputs
`(("chez-scheme" ,chez-scheme)
("chez-web" ,chez-web)
- ("texlive" ,(texlive-union (list texlive-generic-pdftex)))))
+ ("texlive" ,(texlive-updmap.cfg (list texlive-pdftex)))))
(arguments
`(#:tests? #f ; no tests
#:phases
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 0bcde0fad5..3a2e6df207 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -168,7 +168,7 @@
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))
#t))))))
(inputs
- `(("guile" ,guile-3.0/libgc-7)
+ `(("guile" ,guile-3.0-latest)
("guile-avahi" ,guile-avahi)
("guile-fibers" ,guile-fibers)
("guile-gcrypt" ,guile-gcrypt)
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 65580c9ff7..68d215da93 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -109,7 +109,6 @@ using the CMake build system.")
"Source/cmGlobalXCodeGenerator.cxx"
"Source/cmLocalUnixMakefileGenerator3.cxx"
"Source/cmExecProgramCommand.cxx"
- "Utilities/Release/release_cmake.cmake"
"Tests/CMakeLists.txt"
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
(("/bin/sh") (which "sh")))
@@ -122,20 +121,24 @@ using the CMake build system.")
;; This test requires network access.
"CTestTestUpload"
;; This test requires 'ldconfig' which is not available in Guix.
- "RunCMake.install"))
+ "RunCMake.install"
+ ;; This test fails for unknown reason.
+ "RunCMake.file-GET_RUNTIME_DEPENDENCIES"))
(define %preserved-third-party-files
'(;; 'Source/cm_getdate.c' includes archive_getdate.c wholesale, so it must
;; be available along with the required headers.
"Utilities/cmlibarchive/libarchive/archive_getdate.c"
- "Utilities/cmlibarchive/libarchive/archive_getdate.h"))
+ "Utilities/cmlibarchive/libarchive/archive_getdate.h"
+ ;; CMake header wrappers.
+ "Utilities/cm3p"))
;;; The "bootstrap" CMake. It is used to build 'cmake-minimal' below, as well
;;; as any dependencies that need cmake-build-system.
(define-public cmake-bootstrap
(package
(name "cmake-bootstrap")
- (version "3.16.5")
+ (version "3.20.2")
(source (origin
(method url-fetch)
(uri (string-append "https://cmake.org/files/v"
@@ -143,49 +146,7 @@ using the CMake build system.")
"/cmake-" version ".tar.gz"))
(sha256
(base32
- "1z4bb8z6b4dvq5hrvajrf1hyybqay3xybyimf71w1jgcp180nxjz"))
- (modules '((guix build utils)
- (ice-9 ftw)))
- (snippet
- `(begin
- ;; CMake bundles its dependencies in the "Utilities" directory.
- ;; Delete those to ensure the system libraries are used.
- (define preserved-files
- '(,@%preserved-third-party-files
- ;; Use the bundled JsonCpp during bootstrap to work around
- ;; a circular dependency. TODO: JsonCpp can be built with
- ;; Meson instead of CMake, but meson-build-system currently
- ;; does not support cross-compilation.
- "Utilities/cmjsoncpp"
- ;; LibUV is required to bootstrap the initial build system.
- "Utilities/cmlibuv"))
-
- (file-system-fold (lambda (dir stat result) ;enter?
- (or (string=? "Utilities" dir) ;init
- ;; The bundled dependencies are
- ;; distinguished by having a "cm"
- ;; prefix to their upstream names.
- (and (string-prefix? "Utilities/cm" dir)
- (not (member dir preserved-files)))))
- (lambda (file stat result) ;leaf
- (unless (or (member file preserved-files)
- ;; Preserve top-level files.
- (string=? "Utilities"
- (dirname file)))
- (delete-file file)))
- (const #t) ;down
- (lambda (dir stat result) ;up
- (when (equal? (scandir dir) '("." ".."))
- (rmdir dir)))
- (const #t) ;skip
- (lambda (file stat errno result)
- (format (current-error-port)
- "warning: failed to delete ~a: ~a~%"
- file (strerror errno)))
- #t
- "Utilities"
- lstat)
- #t))
+ "0kjlb7sxbwg8z4027c3jjcmyjh9d36p0r9d4nqxynyaijz5nxkxf"))
(patches (search-patches "cmake-curl-certificates.patch"))))
(build-system gnu-build-system)
(arguments
@@ -241,14 +202,13 @@ using the CMake build system.")
(apply invoke "./configure" configure-flags))))))
(inputs
`(("bzip2" ,bzip2)
- ("curl" ,curl-minimal)
+ ("curl" ,curl)
("expat" ,expat)
("file" ,file)
("libarchive" ,libarchive)
,@(if (hurd-target?)
'()
`(("libuv" ,libuv))) ;not supported on the Hurd
- ("ncurses" ,ncurses) ;required for ccmake
("rhash" ,rhash)
("zlib" ,zlib)))
(native-search-paths
@@ -286,17 +246,41 @@ and workspaces that can be used in the compiler environment of your choice.")
(name "cmake-minimal")
(source (origin
(inherit (package-source cmake-bootstrap))
+ ;; Purge CMakes bundled dependencies as they are no longer needed.
+ (modules '((ice-9 ftw)))
(snippet
- (match (origin-snippet (package-source cmake-bootstrap))
- ((_ _ exp ...)
- ;; Now we can delete the remaining software bundles.
- (append `(begin
- (define preserved-files ',%preserved-third-party-files))
- exp))))))
+ `(begin
+ (define preserved-files ',%preserved-third-party-files)
+
+ (file-system-fold (lambda (dir stat result) ;enter?
+ (or (string=? "Utilities" dir) ;init
+ ;; The bundled dependencies are
+ ;; distinguished by having a "cm"
+ ;; prefix to their upstream names.
+ (and (string-prefix? "Utilities/cm" dir)
+ (not (member dir preserved-files)))))
+ (lambda (file stat result) ;leaf
+ (unless (or (member file preserved-files)
+ ;; Preserve top-level files.
+ (string=? "Utilities"
+ (dirname file)))
+ (delete-file file)))
+ (const #t) ;down
+ (lambda (dir stat result) ;up
+ (when (equal? (scandir dir) '("." ".."))
+ (rmdir dir)))
+ (const #t) ;skip
+ (lambda (file stat errno result)
+ (format (current-error-port)
+ "warning: failed to delete ~a: ~a~%"
+ file (strerror errno)))
+ #t
+ "Utilities"
+ lstat)
+ #t))))
(inputs
- `(("curl" ,curl)
- ("jsoncpp" ,jsoncpp)
- ,@(alist-delete "curl" (package-inputs cmake-bootstrap))))
+ `(("jsoncpp" ,jsoncpp)
+ ,@(package-inputs cmake-bootstrap)))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -311,6 +295,15 @@ and workspaces that can be used in the compiler environment of your choice.")
#:phases
(modify-phases %standard-phases
,@%common-build-phases
+ (add-after 'install 'delete-help-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (delete-file-recursively
+ (string-append (assoc-ref outputs "out")
+ "/share/cmake-"
+ ,(version-major+minor
+ (package-version cmake-bootstrap))
+ "/Help"))
+ #t))
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(let ((skipped-tests (list ,@%common-disabled-tests
@@ -334,39 +327,6 @@ and workspaces that can be used in the compiler environment of your choice.")
(package
(inherit cmake-minimal)
(name "cmake")
- (version "3.19.2")
- ;; TODO: Move the following source field to the cmake-bootstrap package in
- ;; the next rebuild cycle.
- (source (origin
- (inherit (package-source cmake-bootstrap))
- (uri (string-append "https://cmake.org/files/v"
- (version-major+minor version)
- "/cmake-" version ".tar.gz"))
- (sha256
- (base32
- "1w67w0ak6vf37501dlz9yhnzlvvpw1w10n2nm3hi7yxp4cxzvq73"))
- (snippet
- (match (origin-snippet (package-source cmake-bootstrap))
- ((_ _ exp ...)
- ;; Now we can delete the remaining software bundles.
- (append `(begin
- (define preserved-files
- '(,@%preserved-third-party-files
- ;; TODO: Move this file to the
- ;; %preserved-third-party-files variable in
- ;; the next rebuild cycle.
- "Utilities/cm3p" ;CMake header wrappers
- ;; Use the bundled JsonCpp during bootstrap
- ;; to work around a circular dependency.
- ;; TODO: JsonCpp can be built with Meson
- ;; instead of CMake, but meson-build-system
- ;; currently does not support
- ;; cross-compilation.
- "Utilities/cmjsoncpp"
- ;; LibUV is required to bootstrap the initial
- ;; build system.
- "Utilities/cmlibuv")))
- exp))))))
(arguments
(substitute-keyword-arguments (package-arguments cmake-minimal)
;; Use cmake-minimal this time.
@@ -388,42 +348,7 @@ and workspaces that can be used in the compiler environment of your choice.")
,flags))
((#:phases phases)
`(modify-phases ,phases
- ;; TODO: Remove this override in the next rebuild cycle and adjust
- ;; the %common-build-phases variable instead: the
- ;; Utilities/Release/release_cmake.cmake file no longer exists in
- ;; version 3.19.0.
- (replace 'patch-bin-sh
- (lambda _
- ;; Replace "/bin/sh" by the right path in... a lot of
- ;; files.
- (substitute*
- '("Modules/CompilerId/Xcode-3.pbxproj.in"
- "Modules/Internal/CPack/CPack.RuntimeScript.in"
- "Source/cmGlobalXCodeGenerator.cxx"
- "Source/cmLocalUnixMakefileGenerator3.cxx"
- "Source/cmExecProgramCommand.cxx"
- "Tests/CMakeLists.txt"
- "Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
- (("/bin/sh") (which "sh")))
- #t))
- ;; TODO: Remove this override in the next rebuild cycle and adjust
- ;; the %common-disabled-tests variable instead.
- (replace 'check
- (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
- (let ((skipped-tests (list ,@%common-disabled-tests
- ;; This test fails for unknown reason.
- "RunCMake.file-GET_RUNTIME_DEPENDENCIES"
- ;; This test requires the bundled libuv.
- "BootstrapTest")))
- (if tests?
- (begin
- (invoke "ctest" "-j" (if parallel-tests?
- (number->string (parallel-job-count))
- "1")
- "--exclude-regex"
- (string-append "^(" (string-join skipped-tests "|") ")$")))
- (format #t "test suite not run~%"))
- #t)))
+ (delete 'delete-help-documentation)
(add-after 'install 'move-html-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@@ -436,6 +361,9 @@ and workspaces that can be used in the compiler environment of your choice.")
(string-append doc html))
(delete-file-recursively (string-append out html))
#t)))))))
+ (inputs
+ `(("ncurses" ,ncurses) ;required for ccmake
+ ,@(package-inputs cmake-minimal)))
;; Extra inputs required to build the documentation.
(native-inputs
`(,@(package-native-inputs cmake-minimal)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index e7bd6cf002..d44d1dd3ca 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1,15 +1,17 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,12 +51,13 @@
#:use-module (gnu packages shells)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages rsync)
#:use-module (gnu packages xml)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
+ #:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix memoization)
#:use-module (guix utils)
@@ -116,8 +119,7 @@
(guile-dir (assoc-ref inputs "guile"))
(guile (string-append guile-dir "/bin/guile")))
(invoke guile "--no-auto-compile" source)
- (chdir "bootar")
- #t)))
+ (chdir "bootar"))))
(replace 'configure (bootstrap-configure ,version "." "scripts"))
(replace 'build (bootstrap-build "."))
(replace 'install (bootstrap-install "." "scripts"))))))
@@ -163,8 +165,7 @@ pure Scheme to Tar and decompression in one easy step.")
(symlink (string-append out "/bin/gash")
(string-append out "/bin/sh"))
(symlink (string-append out "/bin/gash")
- (string-append out "/bin/bash"))
- #t)))))))
+ (string-append out "/bin/bash")))))))))
(inputs `(("guile" ,%bootstrap-guile)))
(native-inputs `(("bootar" ,bootar)))))
@@ -190,8 +191,7 @@ pure Scheme to Tar and decompression in one easy step.")
(lambda* (#:key inputs #:allow-other-keys)
(let ((gash (assoc-ref inputs "gash")))
(add-to-load-path (string-append gash "/share/guile/site/"
- (effective-version))))
- #t))
+ (effective-version))))))
(add-before 'configure 'pre-configure
(lambda _
(format #t "Creating gash/commands/testb.scm~%")
@@ -217,8 +217,7 @@ pure Scheme to Tar and decompression in one easy step.")
(copy-file "scripts/template.in" "scripts/[.in")
(substitute* "scripts/[.in"
(("@UTILITY@") "testb"))
- (delete-file "scripts/template.in")
- #t))
+ (delete-file "scripts/template.in")))
(replace 'configure
(bootstrap-configure ,(package-version gash-utils)
"gash" "scripts"))
@@ -247,8 +246,7 @@ pure Scheme to Tar and decompression in one easy step.")
(copy-file (string-append gash-godir "/gash/compat.go")
(string-append godir "/gash/compat.go"))
(copy-recursively (string-append gash-godir "/gash/compat")
- (string-append godir "/gash/compat"))
- #t)))))))
+ (string-append godir "/gash/compat")))))))))
(inputs `(("gash" ,gash-boot)
("guile" ,%bootstrap-guile)))
(native-inputs `(("bootar" ,bootar)))))
@@ -438,8 +436,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(string-suffix? ".s" name))))))
(for-each (lambda (x) (install-file x cache))
(append (objects-in-dir ".")
- (objects-in-dir "mescc-lib"))))
- #t)))))
+ (objects-in-dir "mescc-lib")))))))))
(native-search-paths
(list (search-path-specification
(variable "C_INCLUDE_PATH")
@@ -573,8 +570,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(add-after 'unpack 'scripted-patch
(lambda _
(substitute* "util.c"
- (("^char [*]strlwr" all) (string-append all "_tcc_cannot_handle_dupe")))
- #t))
+ (("^char [*]strlwr" all) (string-append all "_tcc_cannot_handle_dupe")))))
(replace 'build
(lambda _
(let ((files '("bits" "crypt" "deflate" "getopt" "gzip"
@@ -636,13 +632,11 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(lambda _
(substitute* "build.sh.in"
(("@LIBOBJS@") "getloadavg.o")
- (("@REMOTE@") "stub"))
- #t))
+ (("@REMOTE@") "stub"))))
(add-after 'configure 'configure-fixup
(lambda _
(substitute* "make.h"
- (("^extern long int lseek.*" all) (string-append "// " all)))
- #t))
+ (("^extern long int lseek.*" all) (string-append "// " all)))))
(replace 'build
(lambda _
(invoke "sh" "./build.sh")))
@@ -694,16 +688,14 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(("uTimBuf[.]" all)
(string-append "// " all))
(("retVal = utime [(] dstName, &uTimBuf [)];" all)
- (string-append "retVal = 0; // " all)))
- #t))
+ (string-append "retVal = 0; // " all)))))
(replace 'configure
(lambda _
(with-output-to-file "utime.h"
(lambda _ (display "
#define fchown(filedes, owner, group) 0
#define fchmod(filedes, mode) 0
-")))
- #t))
+")))))
(replace 'check
(lambda _
(invoke "./bzip2" "--help")))
@@ -759,8 +751,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(setenv "CC" "tcc")
(setenv "LD" "tcc")
(setenv "AR" "tcc -ar")
- (setenv "CFLAGS" "-D _POSIX_VERSION=1")
- #t)))
+ (setenv "CFLAGS" "-D _POSIX_VERSION=1"))))
(add-after 'unpack 'scripted-patch
(lambda _
(substitute* "Makefile.in"
@@ -773,8 +764,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(substitute* "lib/sh/snprintf.c"
(("^#if (defined [(]HAVE_LOCALE_H[)])" all define) (string-append "#if 0 //" define)))
(substitute* "configure"
- ((" egrep") " grep"))
- #t))
+ ((" egrep") " grep"))))
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
(let ((configure-flags (filter (lambda (x)
@@ -789,20 +779,16 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(substitute* "config.h"
(("#define GETCWD_BROKEN 1") "#undef GETCWD_BROKEN"))
(let ((config.h (open-file "config.h" "a")))
- (display (string-append
- ;; XXX TODO: remove nested ,(string-append ...) and
- ;; store file name on next rebuild cycle
- ,(string-append "
+ (display "
// tcc: error: undefined symbol 'enable_hostname_completion'
#define enable_hostname_completion(on_or_off) 0
-// /gnu/store/" "cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice
+// /gnu/store/…-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice
#define HAVE_POSIX_SIGNALS 1
#define endpwent(x) 0
-"))
+"
config.h)
- (close config.h))
- #t))
+ (close config.h))))
(replace 'check
(lambda _
(invoke "./bash" "--version")))
@@ -812,8 +798,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(bin (string-append out "/bin")))
(mkdir-p bin)
(copy-file "bash" (string-append bin "/bash"))
- (copy-file "bash" (string-append bin "/sh"))
- #t))))))))
+ (copy-file "bash" (string-append bin "/sh"))))))))))
(define tcc-boot
;; The final tcc.
@@ -846,8 +831,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(copy-file source "tarball.tar.bz2")
(invoke "bzip2" "-d" "tarball.tar.bz2")
(invoke "tar" "xvf" "tarball.tar")
- (chdir (string-append "tcc-" ,version))
- #t))
+ (chdir (string-append "tcc-" ,version))))
;; no patch yet
;; (add-after 'unpack 'apply-boot-patch
;; (lambda* (#:key inputs #:allow-other-keys)
@@ -858,8 +842,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(substitute* "libtcc.c"
(("s->alacarte_link = 1;" all)
(string-append all "
- s->static_link = 1;")))
- #t))
+ s->static_link = 1;")))))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
@@ -919,57 +902,8 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(invoke "tcc" "-ar" "rc" "libtcc1.a" "libtcc1.o")
(copy-file "libtcc1.a" (string-append out "/lib/libtcc1.a"))
(delete-file (string-append out "/lib/tcc/libtcc1.a"))
- (copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a"))
- #t)))))))))
-
-(define diffutils-mesboot
- ;; The initial diffutils.
- (package
- (inherit diffutils)
- (name "diffutils-mesboot")
- (version "2.7")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/diffutils/diffutils-"
- version ".tar.gz"))
- (sha256
- (base32
- "1mirn5i825bn5w7rh6mgn0r8aj9xqanav95dwcl1b8sn82f4iwnm"))))
- (supported-systems '("i686-linux" "x86_64-linux"))
- (inputs '())
- (propagated-inputs '())
- (native-inputs (%boot-tcc0-inputs))
- (arguments
- `(#:implicit-inputs? #f
- #:guile ,%bootstrap-guile
- #:parallel-build? #f
- #:tests? #f ; check is naive, also checks non-built PROGRAMS
- #:strip-binaries? #f ; no strip yet
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'remove-diff3-sdiff
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "Makefile.in"
- (("PROGRAMS = .*" all) "PROGRAMS = cmp diff"))))
- (replace 'configure ; needs classic invocation of configure
- (lambda* (#:key configure-flags #:allow-other-keys)
- (let* ((out (assoc-ref %outputs "out"))
- (bash (assoc-ref %build-inputs "bash"))
- (shell (string-append bash "/bin/bash")))
- (setenv "CONFIG_SHELL" shell)
- (setenv "CC" "tcc")
- (setenv "LD" "tcc")
- (format (current-error-port)
- "running ./configure ~a\n" (string-join configure-flags))
- (apply invoke (cons "./configure" configure-flags)))))
- (replace 'install
- (lambda _
- (let* ((out (assoc-ref %outputs "out"))
- (bin (string-append out "/bin")))
- (mkdir-p bin)
- (install-file "cmp" bin)
- (install-file "diff" bin)
- #t))))))))
+ (copy-file "libtcc1.a"
+ (string-append out "/lib/tcc/libtcc1.a")))))))))))
(define patch-mesboot
;; The initial patch.
@@ -1002,8 +936,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
;; avoid another segfault
(substitute* "pch.c"
(("while [(]p_end >= 0[)]" all)
- "p_end = -1;\nwhile (0)"))
- #t))
+ "p_end = -1;\nwhile (0)"))))
;; FIXME: no compressing gzip yet
(delete 'compress-documentation))))))
@@ -1039,8 +972,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(bash (assoc-ref %build-inputs "bash"))
(shell (string-append bash "/bin/bash")))
(substitute* "configure"
- (("/bin/sh") shell))
- #t)))
+ (("/bin/sh") shell)))))
(replace 'check
(lambda _
(invoke "./sed" "--version")))
@@ -1048,16 +980,16 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(lambda _
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin")))
- (install-file "sed" bin)
- #t))))))))
+ (install-file "sed" bin)))))))))
(define (%boot-tcc-inputs)
`(("bash" ,bash-mesboot0)
("bzip2" ,bzip2-mesboot)
- ("diffutils" ,diffutils-mesboot)
("gzip" ,gzip-mesboot)
("patch" ,patch-mesboot)
("sed" ,sed-mesboot0)
+ ;; Place lower than sed so we don't override it.
+ ("gash-utils" ,gash-utils-boot)
("tcc" ,tcc-boot)
,@(alist-delete "tcc" (%boot-tcc0-inputs))))
@@ -1105,14 +1037,12 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(setenv "SHELL" shell)
(setenv "AR" "tcc -ar")
(setenv "RANLIB" "true")
- (setenv "CC" "tcc -D __GLIBC_MINOR__=6")
- #t)))
+ (setenv "CC" "tcc -D __GLIBC_MINOR__=6"))))
(add-after 'unpack 'scripted-patch
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "bfd/configure"
(("^sed -e '/SRC-POTFILES.*" all)
- "echo -e 'all:\\n\\ttrue\\n\\ninstall:\\n\\ttrue\\n' > po/Makefile\n"))
- #t))
+ "echo -e 'all:\\n\\ttrue\\n\\ninstall:\\n\\ttrue\\n' > po/Makefile\n"))))
(replace 'configure ; needs classic invocation of configure
(lambda* (#:key configure-flags #:allow-other-keys)
(format (current-error-port)
@@ -1184,8 +1114,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(add-after 'unpack 'apply-boot-patch
(lambda* (#:key inputs #:allow-other-keys)
(let ((patch-file (assoc-ref inputs "boot-patch")))
- (system* "patch" "--force" "-p1" "-i" patch-file)
- #t)))
+ (system* "patch" "--force" "-p1" "-i" patch-file))))
(add-before 'configure 'setenv
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1233,8 +1162,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(invoke "ar" "x" (string-append tcc "/lib/libtcc1.a"))
(invoke "ar" "x" (string-append tcc "/lib/libc.a"))
(invoke "ar" "r" (string-append gcc-dir "/libc.a")
- "libc.o" "libtcc1.o")
- #t))))))
+ "libc.o" "libtcc1.o")))))))
(native-search-paths
(list (search-path-specification
(variable "C_INCLUDE_PATH")
@@ -1277,8 +1205,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(headers (assoc-ref %build-inputs "kernel-headers")))
(mkdir-p include)
(copy-recursively "include" out)
- (copy-recursively headers out)
- #t))))))))
+ (copy-recursively headers out)))))))))
(define gawk-mesboot0
;; The initial Gawk.
@@ -1329,8 +1256,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(setenv "CPP" "tcc -E")
(setenv "LD" "tcc")
(setenv "ac_cv_func_getpgrp_void" "yes")
- (setenv "ac_cv_func_tzset" "yes"))
- #t))
+ (setenv "ac_cv_func_tzset" "yes"))))
(replace 'configure ; needs classic invocation of configure
(lambda* (#:key configure-flags #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
@@ -1345,8 +1271,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "gawk" bin)
- (symlink "gawk" (string-append bin "/awk"))
- #t))))))))
+ (symlink "gawk" (string-append bin "/awk"))))))))))
(define glibc-mesboot0
;; GNU C Library 2.2.5 is the most recent glibc that we managed to build
@@ -1423,8 +1348,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(setenv "CONFIG_SHELL" shell)
(setenv "SHELL" shell)
(setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags))
- (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags))
- #t)))
+ (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)))))
(replace 'configure ; needs classic invocation of configure
(lambda* (#:key configure-flags #:allow-other-keys)
(format (current-error-port)
@@ -1441,8 +1365,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(("INSTALL = scripts/") "INSTALL = $(..)./scripts/")
(("BASH = ") (string-append
"SHELL = " shell "
- BASH = ")))
- #t))))))))
+ BASH = ")))))))))))
(define gcc-mesboot0
(package
@@ -1465,8 +1388,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(lambda _
(display "
ac_cv_c_float_format='IEEE (little-endian)'
-")))
- #t))
+")))))
(replace 'install2
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1543,14 +1465,12 @@ ac_cv_c_float_format='IEEE (little-endian)'
(substitute* "configure"
((" /bin/sh") shell)))
(substitute* "Makefile.in"
- (("^SUBDIRS = doc") "SUBDIRS ="))
- #t))
+ (("^SUBDIRS = doc") "SUBDIRS ="))))
(replace 'install
(lambda _
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin")))
- (install-file "src/tar" bin)
- #t))))))))
+ (install-file "src/tar" bin)))))))))
(define grep-mesboot
;; The initial grep.
@@ -1587,8 +1507,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(bin (string-append out "/bin")))
(install-file "grep" bin)
(symlink "grep" (string-append bin "/egrep"))
- (symlink "grep" (string-append bin "/fgrep"))
- #t))))))))
+ (symlink "grep" (string-append bin "/fgrep"))))))))))
(define binutils-mesboot1
(package
@@ -1613,8 +1532,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(let* ((out (assoc-ref %outputs "out"))
(bash (assoc-ref %build-inputs "bash"))
(shell (string-append bash "/bin/bash")))
- (setenv "CONFIG_SHELL" shell)
- #t)))))))))
+ (setenv "CONFIG_SHELL" shell))))))))))
(define coreutils-mesboot0
(package
@@ -1677,8 +1595,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
- (install-file "make" bin)
- #t))))))))
+ (install-file "make" bin)))))))))
(define gawk-mesboot
(package
@@ -1713,8 +1630,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "gawk" bin)
- (symlink "gawk" (string-append bin "/awk"))
- #t))))))))
+ (symlink "gawk" (string-append bin "/awk"))))))))))
(define sed-mesboot
(package
@@ -1745,8 +1661,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(shell (string-append bash "/bin/bash")))
(substitute* "testsuite/Makefile.tests"
(("^SHELL = /bin/sh")
- (string-append "SHELL = " shell)))
- #t))))))))
+ (string-append "SHELL = " shell)))))))))))
(define bash-mesboot
(package
@@ -1789,14 +1704,12 @@ ac_cv_c_float_format='IEEE (little-endian)'
(add-after 'unpack 'scripted-patch
(lambda _
(substitute* "shell.c"
- ((";;") ";"))
- #t))
+ ((";;") ";"))))
(add-before 'configure 'setenv
(lambda _
(setenv "AWK" "gawk")
(setenv "LIBS" "-lc -lnss_files -lnss_dns -lresolv")
- (setenv "gl_cv_func_rename_dest_works" "yes")
- #t))
+ (setenv "gl_cv_func_rename_dest_works" "yes")))
(add-after 'configure 'configure-fixups
(lambda _
(let ((config.h (open-file "config.h" "a")))
@@ -1804,8 +1717,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
#define enable_hostname_completion(on_or_off) 0
")
config.h)
- (close config.h))
- #t))
+ (close config.h))))
(replace 'check
(lambda _
(invoke "./bash" "--version")))
@@ -1815,8 +1727,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(bin (string-append out "/bin")))
(mkdir-p bin)
(copy-file "bash" (string-append bin "/bash"))
- (copy-file "bash" (string-append bin "/sh"))
- #t))))))))
+ (copy-file "bash" (string-append bin "/sh"))))))))))
(define (%boot-mesboot1-inputs)
`(("bash" ,bash-mesboot)
@@ -1942,8 +1853,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(lambda* (#:key inputs #:allow-other-keys)
(let ((patch-file (assoc-ref inputs "boot-patch")))
(format (current-error-port) "patch file=~s\n" patch-file)
- (system* "patch" "--force" "-p1" "-i" patch-file))
- #t))
+ (system* "patch" "--force" "-p1" "-i" patch-file))))
;; c&p from commencement.scm:gcc-boot0
(add-after 'unpack 'unpack-gmp&co
(lambda* (#:key inputs #:allow-other-keys)
@@ -1967,8 +1877,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(package-full-name lib "-")
char-set:letter)
,(package-name lib)))
- (list gmp-boot mpfr-boot mpc-boot))
- #t)))
+ (list gmp-boot mpfr-boot mpc-boot)))))
(add-before 'configure 'setenv
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1986,8 +1895,8 @@ ac_cv_c_float_format='IEEE (little-endian)'
(setenv "LIBRARY_PATH" (string-append glibc "/lib"
":" gcc "/lib"))
(format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
- (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH"))
- #t))))))))
+ (format (current-error-port) "LIBRARY_PATH=~a\n"
+ (getenv "LIBRARY_PATH"))))))))))
(define gcc-mesboot1
(package
@@ -2017,8 +1926,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(add-before 'unpack 'unpack-g++
(lambda _
(let ((source-g++ (assoc-ref %build-inputs "gcc-g++")))
- (invoke "tar" "xvf" source-g++))
- #t))
+ (invoke "tar" "xvf" source-g++))))
(replace 'setenv
(lambda _
(setenv "CONFIG_SHELL" (which "sh"))
@@ -2030,8 +1938,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
;; Set the C++ search path so that C headers can be found as
;; libstdc++ is being compiled.
- (setenv "CPLUS_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
- #t))))))))
+ (setenv "CPLUS_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))))))))))
(define (%boot-mesboot2-inputs)
`(("gcc" ,gcc-mesboot1)
@@ -2172,8 +2079,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(substitute* "gprof/Makefile.in"
(("^SUBDIRS = po") "SUBDIRS ="))
(substitute* "ld/Makefile.in"
- (("^SUBDIRS = po") "SUBDIRS ="))
- #t)))))))
+ (("^SUBDIRS = po") "SUBDIRS =")))))))))
(define (%boot-mesboot3-inputs)
`(("binutils" ,binutils-mesboot)
@@ -2225,8 +2131,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(invoke "tar" "xvf" source)
- (chdir (string-append "glibc-" ,version))
- #t))
+ (chdir (string-append "glibc-" ,version))))
(replace 'setenv
(lambda* (#:key inputs #:allow-other-keys)
(let* ((headers (assoc-ref inputs "headers"))
@@ -2248,15 +2153,13 @@ ac_cv_c_float_format='IEEE (little-endian)'
;; avoid -fstack-protector
(setenv "libc_cv_ssp" "false")
(substitute* "configure"
- (("/bin/pwd") "pwd"))
- #t)))
+ (("/bin/pwd") "pwd")))))
(replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((kernel-headers (assoc-ref %build-inputs "kernel-headers"))
(out (assoc-ref outputs "out")))
- (and (apply invoke "make" make-flags)
- (copy-recursively kernel-headers out)
- #t))))
+ (apply invoke "make" make-flags)
+ (copy-recursively kernel-headers out))))
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
(format (current-error-port) "running ../configure ~a\n" (string-join configure-flags))
@@ -2285,8 +2188,7 @@ SHELL := " shell "
(invoke "make" (string-append (getcwd) "/sysd-sorted" ))
(substitute* "sysd-sorted"
((" sunrpc") " ")
- ((" nis") " "))
- #t)))))))))
+ ((" nis") " ")))))))))))
(define glibc-mesboot
(package
@@ -2307,9 +2209,8 @@ SHELL := " shell "
(let* ((kernel-headers (assoc-ref %build-inputs "kernel-headers"))
(out (assoc-ref outputs "out"))
(install-flags (cons "install" make-flags)))
- (and (apply invoke "make" install-flags)
- (copy-recursively kernel-headers out)
- #t)))))))))))
+ (apply invoke "make" install-flags)
+ (copy-recursively kernel-headers out)))))))))))
(define (%boot-mesboot4-inputs)
`(("libc" ,glibc-mesboot)
@@ -2364,8 +2265,7 @@ exec " gcc "/bin/" program
"g++"
"i686-unknown-linux-gnu-cpp"
"i686-unknown-linux-gnu-gcc"
- "i686-unknown-linux-gnu-g++"))
- #t)))
+ "i686-unknown-linux-gnu-g++")))))
(replace 'check
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -2380,7 +2280,6 @@ exec " gcc "/bin/" program
(version (package-version gcc-4.9))
(source (bootstrap-origin (package-source gcc-4.9)))
(native-inputs `(("gcc-wrapper" ,gcc-mesboot1-wrapper)
- ("gcc" ,gcc-mesboot1)
("headers" ,glibc-headers-mesboot)
,@(%boot-mesboot4-inputs)))
(arguments
@@ -2453,8 +2352,8 @@ exec " gcc "/bin/" program
":" gcc "/lib"))
(format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
(format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH"))
- (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH"))
- #t))))))))))
+ (format (current-error-port) "LIBRARY_PATH=~a\n"
+ (getenv "LIBRARY_PATH"))))))))))))
(define gcc-mesboot-wrapper
;; We need this so gcc-mesboot can be used to create shared binaries that
@@ -2506,6 +2405,7 @@ exec " gcc "/bin/" program
(define gnu-make-boot0
(package
(inherit gnu-make)
+ (outputs (delete "debug" (package-outputs gnu-make)))
(source (bootstrap-origin (package-source gnu-make)))
(name "make-boot0")
(arguments
@@ -2527,8 +2427,7 @@ exec " gcc "/bin/" program
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
- (install-file "make" bin)
- #t))))))))
+ (install-file "make" bin)))))))))
(native-inputs '()) ; no need for 'pkg-config'
(inputs (%bootstrap-inputs+toolchain))))
@@ -2549,6 +2448,7 @@ exec " gcc "/bin/" program
(define coreutils-boot0
(package
(inherit coreutils)
+ (outputs (delete "debug" (package-outputs coreutils)))
(source (bootstrap-origin (package-source coreutils)))
(name "coreutils-boot0")
(native-inputs `())
@@ -2594,6 +2494,8 @@ exec " gcc "/bin/" program
,@(%bootstrap-inputs+toolchain)))
(arguments
`(#:implicit-inputs? #f
+ ;; Ignore test failure in gnulib for armhf/aarch64.
+ #:tests? ,(not (target-arm?))
#:guile ,%bootstrap-guile
;; The build system assumes we have done a mistake when time_t is 32-bit
@@ -2608,7 +2510,20 @@ exec " gcc "/bin/" program
((or "arm-linux" "aarch64-linux")
''("--disable-dependency-tracking"))
(_ ''()))
- ,flags)))))))
+ ,flags))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ ;; 'test-fnmatch' fails when using glibc-mesboot@2.16, due
+ ;; to incorrect handling of the [:alpha:] regexp character
+ ;; class. Ignore it.
+ ,@(if (string=? (%current-system)
+ (or "x86_64-linux" "i686-linux"))
+ '((add-before 'check 'skip-fnmatch-test
+ (lambda _
+ (substitute* "gnulib-tests/Makefile"
+ (("^XFAIL_TESTS =")
+ "XFAIL_TESTS = test-fnmatch ")))))
+ '()))))))))
(define file
(package
@@ -2640,7 +2555,7 @@ exec " gcc "/bin/" program
(define gawk-boot0
(package
- (inherit patch)
+ (inherit gawk)
(source (bootstrap-origin (package-source gawk)))
(name "gawk-boot0")
(native-inputs '())
@@ -2753,8 +2668,7 @@ exec " gcc "/bin/" program
(with-directory-excursion (string-append out "/bin")
(for-each (lambda (name)
(symlink name (remove-triplet-prefix name)))
- (scandir "." has-triplet-prefix?)))
- #t))))
+ (scandir "." has-triplet-prefix?)))))))
,@(substitute-keyword-arguments (package-arguments binutils)
((#:configure-flags cf)
@@ -2789,8 +2703,7 @@ exec " gcc "/bin/" program
;; fail, which in turn confuses the configure script.
(lambda _
(substitute* "libstdc++-v3/configure"
- (("g\\+\\+ -v") "true"))
- #t))))))
+ (("g\\+\\+ -v") "true"))))))))
(_ (package-arguments lib)))))
(inputs (%boot0-inputs))
(native-inputs '()))))
@@ -2799,6 +2712,7 @@ exec " gcc "/bin/" program
(package
(inherit gcc)
(name "gcc-cross-boot0")
+ (outputs (delete "debug" (package-outputs gcc)))
(source (bootstrap-origin (package-source gcc)))
(arguments
`(#:guile ,%bootstrap-guile
@@ -2819,12 +2733,12 @@ exec " gcc "/bin/" program
"--disable-shared"
"--enable-languages=c,c++"
- ;; boot-triplet inserts "guix" in the triplet.
- ,@(if (equal? "powerpc64le-guix-linux-gnu" (boot-triplet))
- ;; On POWER9 (little endian) glibc needs the
- ;; 128-bit long double type.
- '("--with-long-double-128")
- '())
+ ;; On POWER9 (little endian) glibc needs the 128-bit
+ ;; long double type. 32-bit PPC is affected by the
+ ;; changes applied for powerpc64le.
+ ,@(if (string-prefix? "powerpc" (boot-triplet))
+ '("--with-long-double-128")
+ '())
;; libstdc++ cannot be built at this stage
;; ("Link tests are not allowed after
@@ -2879,8 +2793,7 @@ exec " gcc "/bin/" program
(package-full-name lib "-")
char-set:letter)
,(package-name lib)))
- (list gmp-6.0 mpfr mpc))
- #t)))
+ (list gmp-6.0 mpfr mpc)))))
,(match (%current-system)
((or "i686-linux" "x86_64-linux")
'(add-before 'configure 'fix-libcc1
@@ -2893,8 +2806,7 @@ exec " gcc "/bin/" program
(assoc-ref inputs "gcc") "/lib")))
;; XXX: "g++ -v" is broken (see also libstdc++ above).
(substitute* "libcc1/configure"
- (("g\\+\\+ -v") "true"))
- #t)))
+ (("g\\+\\+ -v") "true")))))
(_ '(add-before 'configure 'return-true
(lambda _ #t))))
(add-after 'install 'symlink-libgcc_eh
@@ -2906,8 +2818,7 @@ exec " gcc "/bin/" program
(string-append out "/lib/gcc/"
,(boot-triplet)
"/" ,(package-version gcc))
- (symlink "libgcc.a" "libgcc_eh.a"))
- #t))))))))
+ (symlink "libgcc.a" "libgcc_eh.a"))))))))))
(inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
("mpfr-source" ,(bootstrap-origin (package-source mpfr)))
@@ -2948,8 +2859,7 @@ exec " gcc "/bin/" program
(lambda _
(substitute* "Configure"
(("^libswanted=(.*)pthread" _ before)
- (string-append "libswanted=" before)))
- #t))))
+ (string-append "libswanted=" before)))))))
;; Do not configure with '-Dusethreads' since pthread
;; support is missing.
((#:configure-flags configure-flags)
@@ -3006,15 +2916,6 @@ exec " gcc "/bin/" program
#:guile ,%bootstrap-guile
#:tests? #f))))
-(define rsync-boot0
- (package
- (inherit rsync)
- (native-inputs `(("perl" ,perl-boot0)))
- (inputs (%boot0-inputs))
- (arguments
- `(#:implicit-inputs? #f
- #:guile ,%bootstrap-guile))))
-
(define-syntax define/system-dependent
(lambda (s)
"Bind IDENTIFIER to EXP, where the value of EXP is known to depend on
@@ -3050,9 +2951,6 @@ memoized as a function of '%current-system'."
;; Flex and Bison are required since version 4.16.
("flex" ,flex-boot0)
("bison" ,bison-boot0)
-
- ;; Rsync is required since version 5.3.
- ("rsync" ,rsync-boot0)
,@(%boot0-inputs)))))
(define with-boot0
@@ -3155,6 +3053,7 @@ memoized as a function of '%current-system'."
(package
(inherit expat)
(inputs (%boot0-inputs))
+ (outputs '("out"))
(arguments
;; XXX: Linking 'runtestscpp' fails with things like:
;;
@@ -3169,6 +3068,7 @@ memoized as a function of '%current-system'."
;; Since we're not passing the right -Wl,-rpath flags, build the
;; static library to avoid RUNPATH validation failure.
`(cons "--disable-shared" ,flags))
+ ((#:phases phases) '%standard-phases)
((#:tests? _ #f) #f))))))
(define python-boot0
@@ -3195,11 +3095,17 @@ memoized as a function of '%current-system'."
(substitute* "Modules/Setup.dist"
;; Link Expat instead of embedding the bundled one.
(("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n"))
- #t)))))
+ ;; Delete windows binaries
+ (for-each delete-file
+ (find-files "Lib/distutils/command" ".*.exe$"))
+ (for-each delete-file
+ (find-files "Lib/ensurepip" ".*.whl$")))))))
(inputs
`(,@(%boot0-inputs)
("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc.
- (native-inputs '()) ;and pkg-config
+ (native-inputs ;and pkg-config
+ `(("sitecustomize.py" ,(local-file (search-auxiliary-file
+ "python/sitecustomize.py")))))
(arguments
`(#:implicit-inputs? #f
#:guile ,%bootstrap-guile
@@ -3224,6 +3130,7 @@ memoized as a function of '%current-system'."
('add-after unpack apply-alignment-patch _))
`(modify-phases ,original-phases ,@changes))
(_ phases)))
+ (delete 'remove-windows-binaries)
(add-before 'configure 'disable-modules
(lambda _
(substitute* "setup.py"
@@ -3231,18 +3138,21 @@ memoized as a function of '%current-system'."
(("extensions\\.append\\(ctypes\\)") "")
;; Prevent the 'ossaudiodev' extension from being
;; built, since it requires Linux headers.
- (("'linux', ") ""))
- #t))
+ (("'linux', ") ""))))
(delete 'set-TZDIR)
,@(if (hurd-system?)
`((add-before 'build 'fix-regen
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc")))
(substitute* "Lib/plat-generic/regen"
- (("/usr/include/") (string-append libc "/include/")))
- #t))))
- '())))
- ((#:tests? _ #f) #f))))))
+ (("/usr/include/")
+ (string-append libc "/include/")))))))
+ '())
+ (replace 'install-sitecustomize.py
+ ,(customize-site version))))
+ ((#:tests? _ #f) #f))))
+ (native-search-paths
+ (list (guix-pythonpath-search-path version)))))
(define/system-dependent ld-wrapper-boot0
;; The first 'ld' wrapper, defined with 'define/system-dependent' because
@@ -3272,6 +3182,7 @@ memoized as a function of '%current-system'."
(package
(inherit glibc)
(name "glibc-intermediate")
+ (outputs (delete "debug" (package-outputs glibc)))
(source (bootstrap-origin (package-source glibc)))
(arguments
`(#:guile ,%bootstrap-guile
@@ -3289,9 +3200,9 @@ memoized as a function of '%current-system'."
`(modify-phases ,phases
(add-before 'configure 'pre-configure
(lambda* (#:key inputs #:allow-other-keys)
- ;; Don't clobber CPATH with the bootstrap libc.
- (setenv "NATIVE_CPATH" (getenv "CPATH"))
- (unsetenv "CPATH")
+ ;; Don't clobber include paths with the bootstrap libc.
+ (unsetenv "C_INCLUDE_PATH")
+ (unsetenv "CPLUS_INCLUDE_PATH")
;; Tell 'libpthread' where to find 'libihash' on Hurd systems.
,@(if (hurd-system?)
@@ -3301,25 +3212,13 @@ memoized as a function of '%current-system'."
(string-append "LDLIBS-pthread.so = "
(assoc-ref %build-inputs "kernel-headers")
"/lib/libihash.a\n"))))
- '())
-
- ;; 'rpcgen' needs native libc headers to be built.
- (substitute* "sunrpc/Makefile"
- (("sunrpc-CPPFLAGS =.*" all)
- (string-append "CPATH = $(NATIVE_CPATH)\n"
- "export CPATH\n"
- all "\n")))
- #t)))))))
+ '()))))))))
(propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0))))
(native-inputs
`(("bison" ,bison-boot0)
("texinfo" ,texinfo-boot0)
("perl" ,perl-boot0)
- ("python" ,python-boot0)
- ,@(if (target-powerpc?)
- `(("powerpc64le-patch" ,@(search-patches
- "glibc-ldd-powerpc.patch")))
- '())))
+ ("python" ,python-boot0)))
(inputs
`( ;; The boot inputs. That includes the bootstrap libc. We don't want
;; it in $CPATH, hence the 'pre-configure' phase above.
@@ -3330,9 +3229,6 @@ memoized as a function of '%current-system'."
`(("mig" ,mig-boot0))
'())
- ;; A native GCC is needed to build `cross-rpcgen'.
- ("native-gcc" ,@(assoc-ref (%boot0-inputs) "gcc"))
-
;; Here, we use the bootstrap Bash, which is not satisfactory
;; because we don't want to depend on bootstrap tools.
("static-bash" ,@(assoc-ref (%boot0-inputs) "bash"))))))
@@ -3380,9 +3276,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
triplet "-" tool)
tool))
'("ar" "ranlib"))
- (for-each wrap-program '("gcc" "g++")))
-
- #t))))
+ (for-each wrap-program '("gcc" "g++")))))))
(native-inputs
`(("binutils" ,binutils)
("gcc" ,gcc)
@@ -3445,16 +3339,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; Build only the tools.
(add-after 'unpack 'chdir
(lambda _
- (chdir "gettext-tools")
- #t))
+ (chdir "gettext-tools")))
;; Some test programs require pthreads, which we don't have.
(add-before 'configure 'no-test-programs
(lambda _
(substitute* "tests/Makefile.in"
(("^PROGRAMS =.*$")
- "PROGRAMS =\n"))
- #t)))))))
+ "PROGRAMS =\n")))))))))
(define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above.
@@ -3470,10 +3362,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; This time we need 'msgfmt' to install all the libc.mo files.
(native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
- ,@(if (target-powerpc?)
- `(("powerpc64le-patch" ,@(search-patches
- "glibc-ldd-powerpc.patch")))
- '())
("gettext" ,gettext-boot0)))
(propagated-inputs
@@ -3484,7 +3372,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; if 'allowed-references' were per-output.
(arguments
`(#:allowed-references
- ((,gcc-boot0 "lib")
+ (,(gexp-input gcc-boot0 "lib")
,(kernel-headers-boot0)
,static-bash-for-glibc
,@(if (hurd-system?)
@@ -3635,8 +3523,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(package-full-name lib "-")
char-set:letter)
,(package-name lib)))
- (list gmp-6.0 mpfr mpc))
- #t))))))))
+ (list gmp-6.0 mpfr mpc))))))))))
;; This time we want Texinfo, so we get the manual. Add
;; STATIC-BASH-FOR-GLIBC so that it's used in the final shebangs of
@@ -3925,10 +3812,10 @@ is the GNU Compiler Collection.")
(make-gcc-toolchain gcc-6))
(define-public gcc-toolchain-7
- gcc-toolchain)
+ (make-gcc-toolchain gcc-7))
(define-public gcc-toolchain-8
- (make-gcc-toolchain gcc-8))
+ gcc-toolchain)
(define-public gcc-toolchain-9
(make-gcc-toolchain gcc-9))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 48fe791b09..719cd36235 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
@@ -32,6 +32,7 @@
;;; Copyright © 2020 Léo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -482,7 +483,7 @@ compressed with pbzip2 can be decompressed with bzip2).")
(define-public xz
(package
(name "xz")
- (version "5.2.4")
+ (version "5.2.5")
(source (origin
(method url-fetch)
(uri (list (string-append "http://tukaani.org/xz/xz-" version
@@ -491,7 +492,7 @@ compressed with pbzip2 can be decompressed with bzip2).")
version ".tar.gz")))
(sha256
(base32
- "0ibi2zsfaz6l756spjwc5rayf4ckgc9hwmy8qinppcyk4svz64mm"))))
+ "045s9agl3bpv3swlwydhgsqh7791957vmgw2plw8f1rks07r3x7n"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -609,14 +610,14 @@ some compression ratio).")
(define-public lzip
(package
(name "lzip")
- (version "1.21")
+ (version "1.22")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lzip-"
version ".tar.gz"))
(sha256
(base32
- "12qdcw5k1cx77brv9yxi1h4dzwibhfmdpigrj43nfk8nscwm12z4"))))
+ "0j59hx72258334rmkwn57ahr6s69nlrx0a5ip1jw2fbiwr12sd63"))))
(build-system gnu-build-system)
(home-page "https://www.nongnu.org/lzip/lzip.html")
(synopsis "Lossless data compressor based on the LZMA algorithm")
@@ -1497,15 +1498,14 @@ or junctions, and always follows hard links.")
(define-public zstd
(package
(name "zstd")
- (version "1.4.4")
+ (version "1.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/releases/download/"
"v" version "/zstd-" version ".tar.gz"))
(sha256
- (base32 "05ckxap00qvc0j51d3ci38150cxsw82w7s9zgd5fgzspnzmp1vsr"))))
- (replacement zstd/fixed)
+ (base32 "150y541303vnvfhd8wkbih00lfvvm98rd12yijwlbkqzg3xgp52i"))))
(build-system gnu-build-system)
(outputs '("out" ;1.2MiB executables and documentation
"lib" ;1.2MiB shared library and headers
@@ -1513,6 +1513,26 @@ or junctions, and always follows hard links.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'remove-bogus-check
+ (lambda _
+ ;; lib/Makefile falsely claims that no .pc file can be created.
+ (substitute* "lib/Makefile"
+ (("error configured .*dir ")
+ "true "))
+ #t))
+ (add-after 'unpack 'patch-command-file-names
+ ;; Don't require hard requirements to be in $PATH.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (our (lambda (name) (string-append out "/bin/" name))))
+ (substitute* "programs/zstdgrep"
+ (("(:-)(grep)" _ prefix command)
+ (string-append prefix (which command)))
+ (("(:-)(zstdcat)" _ prefix command)
+ (string-append prefix (our command))))
+ (substitute* "programs/zstdless"
+ (("zstdcat" command)
+ (our command))))))
(delete 'configure) ;no configure script
(add-after 'install 'adjust-library-locations
(lambda* (#:key outputs #:allow-other-keys)
@@ -1532,17 +1552,16 @@ or junctions, and always follows hard links.")
;; Make sure the pkg-config file refers to the right output.
(substitute* (string-append shared-libs "/pkgconfig/libzstd.pc")
(("^prefix=.*")
- (string-append "prefix=" lib "\n")))
-
- #t))))
+ ;; Note: The .pc file expects a trailing slash for 'prefix'.
+ (string-append "prefix=" lib "/\n")))))))
#:make-flags
- ;; TODO: Integrate in next rebuild cycle.
- (list ,(if (%current-target-system)
- (string-append "CC=" (cc-for-target))
- "CC=gcc")
- (string-append "PREFIX=" (assoc-ref %outputs "out"))
- (string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib")
- (string-append "INCLUDEDIR=" (assoc-ref %outputs "lib") "/include")
+ (list ,(string-append "CC=" (cc-for-target))
+ (string-append "prefix=" (assoc-ref %outputs "out"))
+ (string-append "libdir=" (assoc-ref %outputs "lib") "/lib")
+ (string-append "includedir=" (assoc-ref %outputs "lib") "/include")
+ ;; Auto-detection is over-engineered and buggy.
+ "PCLIBDIR=lib"
+ "PCINCDIR=include"
;; Skip auto-detection of, and creating a dependency on, the build
;; environment's ‘xz’ for what amounts to a dubious feature anyway.
"HAVE_LZMA=0"
@@ -1565,17 +1584,6 @@ speed.")
license:public-domain ; zlibWrapper/examples/fitblk*
license:zlib)))) ; zlibWrapper/{gz*.c,gzguts.h}
-(define zstd/fixed
- (package
- (inherit zstd)
- (source
- (origin
- (inherit (package-source zstd))
- (patches
- (search-patches
- ;; From Ubuntu focal-security
- "zstd-CVE-2021-24031_CVE-2021-24032.patch"))))))
-
(define-public pzstd
(package/inherit zstd
(name "pzstd")
@@ -1688,8 +1696,32 @@ Compression ratios of 2:1 to 3:1 are common for text files.")
"unzip-attribs-overflow.patch"
"unzip-overflow-on-invalid-input.patch"
"unzip-format-secure.patch"
- "unzip-overflow-long-fsize.patch"))))
- (replacement unzip/fixed)
+ "unzip-overflow-long-fsize.patch"
+
+ ;; From Fedora
+ "unzip-alt-iconv-utf8.patch"
+ "unzip-alt-iconv-utf8-print.patch"
+ "unzip-fix-recmatch.patch"
+ "unzip-case-insensitive.patch"
+ "unzip-close.patch"
+ "unzip-COVSCAN-fix-unterminated-string.patch"
+ "unzip-CVE-2016-9844.patch"
+ "unzip-CVE-2018-1000035.patch"
+ "unzip-CVE-2018-18384.patch"
+ "unzip-exec-shield.patch"
+ "unzip-manpage-fix.patch"
+ "unzip-overflow.patch"
+ "unzip-timestamp.patch"
+ "unzip-valgrind.patch"
+ "unzip-x-option.patch"
+ ;; CVE-2019-13232
+ "unzip-zipbomb-manpage.patch"
+ "unzip-zipbomb-part1.patch"
+ "unzip-zipbomb-part2.patch"
+ "unzip-zipbomb-part3.patch"
+
+ ;; https://github.com/madler/unzip/issues/2
+ "unzip-32bit-zipbomb-fix.patch"))))
(build-system gnu-build-system)
;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO
(arguments
@@ -1725,57 +1757,6 @@ recreates the stored directory structure by default.")
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
-(define unzip/fixed
- (package
- (inherit unzip)
- (version "6.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/infozip"
- "/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz"))
- (sha256
- (base32
- "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83"))
- (patches (search-patches "unzip-CVE-2014-8139.patch"
- "unzip-CVE-2014-8140.patch"
- "unzip-CVE-2014-8141.patch"
- "unzip-CVE-2014-9636.patch"
- "unzip-CVE-2015-7696.patch"
- "unzip-CVE-2015-7697.patch"
- "unzip-allow-greater-hostver-values.patch"
- "unzip-initialize-symlink-flag.patch"
- "unzip-remove-build-date.patch"
- "unzip-attribs-overflow.patch"
- "unzip-overflow-on-invalid-input.patch"
- "unzip-format-secure.patch"
- "unzip-overflow-long-fsize.patch"
-
- ;; From Fedora
- "unzip-alt-iconv-utf8.patch"
- "unzip-alt-iconv-utf8-print.patch"
- "unzip-fix-recmatch.patch"
- "unzip-case-insensitive.patch"
- "unzip-close.patch"
- "unzip-COVSCAN-fix-unterminated-string.patch"
- "unzip-CVE-2016-9844.patch"
- "unzip-CVE-2018-1000035.patch"
- "unzip-CVE-2018-18384.patch"
- "unzip-exec-shield.patch"
- "unzip-manpage-fix.patch"
- "unzip-overflow.patch"
- "unzip-timestamp.patch"
- "unzip-valgrind.patch"
- "unzip-x-option.patch"
- ;; CVE-2019-13232
- "unzip-zipbomb-manpage.patch"
- "unzip-zipbomb-part1.patch"
- "unzip-zipbomb-part2.patch"
- "unzip-zipbomb-part3.patch"
-
- ;; https://github.com/madler/unzip/issues/2
- "unzip-32bit-zipbomb-fix.patch"))))))
-
(define-public ziptime
(let ((commit "2a5bc9dfbf7c6a80e5f7cb4dd05b4036741478bc")
(revision "0"))
@@ -1828,38 +1809,22 @@ timestamps in the file header with a fixed time (1 January 2008).
(define-public zziplib
(package
(name "zziplib")
- (version "0.13.69")
+ (version "0.13.72")
(home-page "https://github.com/gdraheim/zziplib")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
- (patches (search-patches "zziplib-CVE-2018-16548.patch"))
(sha256
(base32
- "0fbk9k7ryas2wh2ykwkvm1pbi40i88rfvc3dydh9xyd7w2jcki92"))))
- (replacement zziplib/fixed)
- (build-system gnu-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'check 'make-files-writable
- (lambda _
- (for-each make-file-writable
- (find-files "test" #:directories? #t))
- #t)))
-
- ;; XXX: The default test target attempts to download external resources and
- ;; fails without error: <https://github.com/gdraheim/zziplib/issues/53>.
- ;; To prevent confusing log messages, just run a simple zip test that works.
- #:test-target "check-readme"))
+ "0i6bpa2b13z19alm6ig80364dnin1w28cvif18k6wkkb0w3dzp8y"))))
+ (build-system cmake-build-system)
(inputs
`(("zlib" ,zlib)))
(native-inputs `(("perl" ,perl) ; for the documentation
("pkg-config" ,pkg-config)
- ;; for the documentation; Python 3 not supported,
- ;; http://forums.gentoo.org/viewtopic-t-863161-start-0.html
- ("python" ,python-2)
+ ("python" ,python)
("zip" ,zip))) ; to create test files
(synopsis "Library for accessing zip files")
(description
@@ -1868,40 +1833,6 @@ timestamps in the file header with a fixed time (1 January 2008).
;; files carry the Zlib license; see "docs/copying.html" for details.
(license (list license:lgpl2.0+ license:mpl1.1))))
-(define-public zziplib/fixed
- (package
- (inherit zziplib)
- (name "zziplib")
- (version "0.13.72")
- (home-page "https://github.com/gdraheim/zziplib")
- (source (origin
- (method git-fetch)
- (uri (git-reference (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0i6bpa2b13z19alm6ig80364dnin1w28cvif18k6wkkb0w3dzp8y"))))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-compatibility-symlinks
- (lambda* (#:key outputs #:allow-other-keys)
- (with-directory-excursion
- (string-append (assoc-ref outputs "out") "/lib")
- (map (lambda (lib new-symlink)
- (symlink lib new-symlink))
- (list "libzzip.so.13" "libzzipfseeko.so.13"
- "libzzipmmapped.so.13" "libzzipwrap.so.13")
- (list "libzzip-0.so.13" "libzzipfseeko-0.so.13"
- "libzzipmmapped-0.so.13" "libzzipwrap-0.so.13")))
- #t)))))
- (native-inputs
- `(("python" ,python)
- ,@(alist-delete "python"
- (package-native-inputs zziplib))))
- (build-system cmake-build-system)))
-
(define-public libzip
(package
(name "libzip")
diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm
index ac3e7422e8..c0cfa1be4d 100644
--- a/gnu/packages/connman.scm
+++ b/gnu/packages/connman.scm
@@ -122,7 +122,7 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/econnman-bin")))
(wrap-program bin
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
#t))))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
diff --git a/gnu/packages/cpio.scm b/gnu/packages/cpio.scm
index 58b2f45937..2f7a7b2363 100644
--- a/gnu/packages/cpio.scm
+++ b/gnu/packages/cpio.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,7 +36,14 @@
version ".tar.bz2"))
(sha256
(base32
- "0vbgnhkawdllgnkdn6zn1f56fczwk0518krakz2qbwhxmv2vvdga"))))
+ "0vbgnhkawdllgnkdn6zn1f56fczwk0518krakz2qbwhxmv2vvdga"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove superfluous declaration that trips GCC 10.
+ (substitute* "src/global.c"
+ (("char \\*program_name;")
+ ""))))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/cpio/")
(synopsis "Manage cpio and tar file archives")
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ecdc813292..e78f081c37 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2020 André Batista <nandre@riseup.net>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
@@ -24548,10 +24549,10 @@ image together with its neighboring pixels.")
("rust-flate2" ,rust-flate2-1)
("rust-image" ,rust-image-0.20)
("rust-itoa" ,rust-itoa-0.4)
- ("rust-linked-hash-map" ,rust-linked-hash-map-0.4)
+ ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
("rust-log" ,rust-log-0.4)
("rust-lzw" ,rust-lzw-0.10)
- ("rust-nom" ,rust-nom-5)
+ ("rust-nom" ,rust-nom-6)
("rust-pom" ,rust-pom-3)
("rust-rayon" ,rust-rayon-1)
("rust-time" ,rust-time-0.2))))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 180594509b..926b00ccdf 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
@@ -243,6 +243,9 @@ target that libc."
(append
(origin-patches (package-source xgcc))
(append (cond
+ ((version>=? (package-version xgcc) "10.0")
+ (search-patches "gcc-10-cross-environment-variables.patch"
+ "gcc-cross-gxx-include-dir.patch"))
((version>=? (package-version xgcc) "8.0")
(search-patches "gcc-8-cross-environment-variables.patch"))
((version>=? (package-version xgcc) "6.0")
@@ -341,15 +344,18 @@ target that libc."
`(#:implicit-cross-inputs? #f
,@(package-arguments linux-headers))
((#:phases phases)
- `(alist-replace
- 'build
- (lambda _
- (setenv "ARCH" ,(system->linux-architecture target))
- (format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH"))
-
- (invoke "make" ,(system->defconfig target))
- (invoke "make" "mrproper" "headers_check"))
- ,phases))))
+ `(modify-phases ,phases
+ (replace 'build
+ (lambda _
+ (setenv "ARCH" ,(system->linux-architecture target))
+ (format #t "`ARCH' set to `~a' (cross compiling)~%"
+ (getenv "ARCH"))
+
+ (invoke "make" ,(system->defconfig target))
+ (invoke "make" "mrproper"
+ ,@(if (version>=? (package-version linux-headers) "5.3")
+ '("headers")
+ '("headers_check")))))))))
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-native-inputs linux-headers)))))
@@ -527,32 +533,13 @@ and the cross tool chain."
(("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3"
" libmachuser.so libhurduser.so"))))
- #t))
- ;; TODO: move to glibc in the next rebuild cycle
- (add-after 'unpack 'patch-libc/hurd
- (lambda* (#:key inputs #:allow-other-keys)
- (for-each
- (lambda (name)
- (let ((patch (assoc-ref inputs name)))
- (invoke "patch" "-p1" "--force" "-i" patch)))
- '("hurd-mach-print.patch"
- "hurd-gettyent.patch")))))
+ #t)))
'())))))
;; Shadow the native "kernel-headers" because glibc's recipe expects the
;; "kernel-headers" input to point to the right thing.
(propagated-inputs `(("kernel-headers" ,xheaders)))
- ;; FIXME: 'static-bash' should really be an input, not a native input, but
- ;; to do that will require building an intermediate cross libc.
- (inputs (if (hurd-triplet? target)
- `(;; TODO: move to glibc in the next rebuild cycle
- ("hurd-mach-print.patch"
- ,(search-patch "glibc-hurd-mach-print.patch"))
- ("hurd-gettyent.patch"
- ,(search-patch "glibc-hurd-gettyent.patch")))
- '()))
-
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(if (hurd-triplet? target)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 99455dc632..8848954ab8 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -433,7 +433,7 @@ secure operations. ")
(lambda _
(invoke "./worgen" "8-12" "top1000.txt" "3-10" "top400nouns.txt"
"3-6" "top150adjectives.txt" "3-6")
- (invoke "./eschalot" "-r" "^guix|^guixsd")
+ (invoke "./eschalot" "-r" "^guix|^GuixSystem")
(invoke "./eschalot" "-r" "^gnu|^free")
(invoke "./eschalot" "-r" "^cyber|^hack")
(invoke "./eschalot" "-r" "^troll")))
@@ -890,7 +890,7 @@ BLAKE.")
(define-public rhash
(package
(name "rhash")
- (version "1.3.9")
+ (version "1.4.1")
(source
(origin
(method url-fetch)
@@ -899,7 +899,7 @@ BLAKE.")
(file-name (string-append "rhash-" version ".tar.gz"))
(sha256
(base32
- "1xn9fqa6rlnhsbgami45g82dlw9i1skg2sri3ydiinwak5ph1ca2"))))
+ "15x28khy4k3sa0cfcyi13vj50d2nd7dha2p3gkq7i6z66ckq2323"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 5a15cd51b6..230a36b23e 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -128,7 +129,7 @@ driver is known to work with these printers:
(define-public cups-filters
(package
(name "cups-filters")
- (version "1.27.4")
+ (version "1.28.8")
(source(origin
(method url-fetch)
(uri
@@ -136,7 +137,7 @@ driver is known to work with these printers:
"cups-filters-" version ".tar.xz"))
(sha256
(base32
- "110b1xhb5vfpcx0zq9kkas7pj281skx5dpnnr22idx509jfdzj8b"))
+ "0652xkpgcr2m2axrk68bjb7gv4b7hv6arxcpq2apgqrwz1ildz7n"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output
@@ -196,17 +197,18 @@ driver is known to work with these printers:
#t)))
(add-after 'install 'wrap-filters
(lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Some filters expect to find 'gs' in $PATH. We cannot
- ;; just hard-code its absolute file name in the source
+ ;; Some filters expect to find things in $PATH. We cannot
+ ;; just hard-code all absolute file names in the source
;; because foomatic-rip, for example, has tests like
;; 'startswith(cmd, "gs")'.
(let ((out (assoc-ref outputs "out"))
- (ghostscript (assoc-ref inputs "ghostscript")))
+ (ghostscript (assoc-ref inputs "ghostscript"))
+ (grep (assoc-ref inputs "grep")))
(for-each (lambda (file)
(wrap-program file
`("PATH" ":" prefix
- (,(string-append ghostscript
- "/bin")))))
+ (,(string-append ghostscript "/bin:"
+ grep "/bin")))))
(find-files (string-append
out "/lib/cups/filter")))
#t))))))
@@ -219,6 +221,7 @@ driver is known to work with these printers:
("freetype" ,freetype)
("font-dejavu" ,font-dejavu) ; also needed by test suite
("ghostscript" ,ghostscript/cups)
+ ("grep" ,grep)
("ijs" ,ijs)
("dbus" ,dbus)
("lcms" ,lcms)
@@ -517,8 +520,7 @@ should only be used as part of the Guix cups-pk-helper service.")
(("^dat2drvdir =.*")
"dat2drvdir = $(pkglibexecdir)\n")
(("^locatedriverdir =.*")
- "locatedriverdir = $(pkglibexecdir)\n"))
- #t))))
+ "locatedriverdir = $(pkglibexecdir)\n"))))))
(build-system gnu-build-system)
(outputs (list "out" "ppd"))
(home-page "https://developers.hp.com/hp-linux-imaging-and-printing")
@@ -607,8 +609,7 @@ should only be used as part of the Guix cups-pk-helper service.")
(string-append "rulessystemdir = " out
"/lib/systemd/system"))
(("/etc/sane.d")
- (string-append out "/etc/sane.d")))
- #t)))
+ (string-append out "/etc/sane.d"))))))
(add-before 'configure 'fix-build-with-python-3.8
(lambda* (#:key inputs #:allow-other-keys)
(let ((python (assoc-ref inputs "python")))
@@ -619,15 +620,13 @@ should only be used as part of the Guix cups-pk-helper service.")
(setenv "C_INCLUDE_PATH"
(string-append python "/include/python"
(python:python-version python)
- ":" (getenv "C_INCLUDE_PATH"))))
- #t)))
+ ":" (getenv "C_INCLUDE_PATH")))))))
(add-after 'install 'install-models-dat
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(models-dir (string-append out
"/share/hplip/data/models")))
- (install-file "data/models/models.dat" models-dir))
- #t))
+ (install-file "data/models/models.dat" models-dir))))
(add-after 'install 'wrap-binaries
;; Scripts in /bin are all symlinks to .py files in /share/hplip.
;; Symlinks are immune to the Python build system's 'WRAP phase,
@@ -638,7 +637,7 @@ should only be used as part of the Guix cups-pk-helper service.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
- (python (assoc-ref inputs "python")))
+ (site (python:site-packages inputs outputs)))
(with-directory-excursion bin
(for-each (lambda (file)
(let ((target (readlink file)))
@@ -647,19 +646,15 @@ should only be used as part of the Guix cups-pk-helper service.")
(lambda _
(format #t
"#!~a~@
- export PYTHONPATH=\"~a:~a\"~@
+ export GUIX_PYTHONPATH=\"~a:~a\"~@
exec -a \"$0\" \"~a/~a\" \"$@\"~%"
(which "bash")
- (string-append
- out "/lib/python"
- (python:python-version python)
- "/site-packages")
- (getenv "PYTHONPATH")
+ site
+ (getenv "GUIX_PYTHONPATH")
bin target)))
(chmod file #o755)))
(find-files "." (lambda (file stat)
- (eq? 'symlink (stat:type stat)))))
- #t)))))))
+ (eq? 'symlink (stat:type stat))))))))))))
;; Note that the error messages printed by the tools in the case of
;; missing dependencies are often downright misleading.
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index d368c4140e..60eeb8fad1 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Dale Mellor <guix-devel-0brg6b@rdmp.org>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,7 +43,6 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libidn)
- #:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -53,29 +53,29 @@
(define-public curl
(package
(name "curl")
- (replacement curl-7.77.0)
- (version "7.74.0")
+ (version "7.77.0")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
- "12w7gskrglg6qrmp822j37fmbr0icrcxv7rib1fy5xiw80n5z7cr"))
- (patches (search-patches "curl-use-ssl-cert-env.patch"))))
+ "0jsrc97vbghvljic997r9nypc9qqddcil2lzvv032br8ahn5hr0g"))
+ (patches (search-patches "curl-use-ssl-cert-env.patch"
+ "curl-7.77-tls-priority-string.patch"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
(inputs `(("gnutls" ,gnutls)
("libidn" ,libidn)
- ("openldap" ,openldap)
("mit-krb5" ,mit-krb5)
("nghttp2" ,nghttp2 "lib")
("zlib" ,zlib)))
(native-inputs
- `(("perl" ,perl)
+ `(("nghttp2" ,nghttp2)
+ ("perl" ,perl)
("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
+ ("python" ,python-minimal-wrapper)))
(native-search-paths
;; These variables are introduced by curl-use-ssl-cert-env.patch.
(list (search-path-specification
@@ -143,29 +143,8 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
-;; This package exists mainly to bootstrap CMake. It must not depend on
-;; anything that uses cmake-build-system.
(define-public curl-minimal
- (hidden-package
- (package/inherit
- curl
- (name "curl-minimal")
- (inputs (alist-delete "openldap" (package-inputs curl))))))
-
-(define-public curl-7.77.0
- (package
- (inherit curl)
- (version "7.77.0")
- (source
- (origin
- (inherit (package-source curl))
- (uri (string-append "https://curl.haxx.se/download/curl-"
- version ".tar.xz"))
- (patches (search-patches "curl-7.76-use-ssl-cert-env.patch"
- "curl-7.77-tls-priority-string.patch"))
- (sha256
- (base32
- "0jsrc97vbghvljic997r9nypc9qqddcil2lzvv032br8ahn5hr0g"))))))
+ (deprecated-package "curl-minimal" curl))
(define-public kurly
(package
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index f90b6e1bd8..63f9656e2d 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -720,6 +720,8 @@ Language.")
(sha256
(base32
"1s3vfm73911cddjhgpcbkya6nz7ag2zygg56qqzwscn5ybv28j7b"))
+ (patches (search-patches "mariadb-CVE-2021-27928.patch"
+ "mariadb-cmake-compat.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -740,7 +742,6 @@ Language.")
(append (find-files "extra/wolfssl")
(find-files "zlib")))
#t))))
- (replacement mariadb/fixed)
(build-system cmake-build-system)
(outputs '("out" "lib" "dev"))
(arguments
@@ -976,13 +977,6 @@ Language.")
as a drop-in replacement of MySQL.")
(license license:gpl2)))
-(define mariadb/fixed
- (package
- (inherit mariadb)
- (source (origin
- (inherit (package-source mariadb))
- (patches (search-patches "mariadb-CVE-2021-27928.patch"))))))
-
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
@@ -1037,15 +1031,14 @@ and high-availability (HA).")
(define-public postgresql-13
(package
(name "postgresql")
- (replacement postgresql-13.3)
- (version "13.1")
+ (version "13.3")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "07z6zwr58dckaa97yl9ml240z83d1lhgaxw9aq49i8lsp21mqd0j"))
+ "18dliq7h2l8irffhyyhdmfwx3si515q6gds3cxdjb9n7m17lbn9w"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
@@ -1064,6 +1057,12 @@ and high-availability (HA).")
"src/bin/psql/command.c")
(("/bin/sh") (which "sh")))
#t))
+ (add-before 'configure 'set-socket-dir
+ (lambda _
+ (substitute* '("src/include/pg_config_manual.h")
+ (("DEFAULT_PGSOCKET_DIR[^\n]*")
+ "DEFAULT_PGSOCKET_DIR \"/var/run/postgresql\""))
+ #t))
(add-after 'build 'build-contrib
(lambda _
(invoke "make" "-C" "contrib")))
@@ -1086,20 +1085,6 @@ TIMESTAMP. It also supports storage of binary large objects, including
pictures, sounds, or video.")
(license (license:x11-style "file://COPYRIGHT"))))
-(define-public postgresql-13.3
- (package
- (inherit postgresql-13)
- (name "postgresql")
- (version "13.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ftp.postgresql.org/pub/source/v"
- version "/postgresql-" version ".tar.bz2"))
- (sha256
- (base32
- "18dliq7h2l8irffhyyhdmfwx3si515q6gds3cxdjb9n7m17lbn9w"))
- (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))))
-
(define-public postgresql-11
(package
(inherit postgresql-13)
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 577e7b1430..4973ce98af 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -296,8 +296,6 @@ equivalent succinct data structure are (most of the time) identical.")
(base32
"061mkg6hc9x89zya3bw18ymxlzd8fbhjipxpva8x01lh2vp1d4f0"))))
(build-system meson-build-system)
- (arguments
- `(#:meson ,meson-0.55))
(synopsis "Typed link list for C")
(description
"@code{tllist} is a @dfn{typed linked list} C header file only library
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index 2dd51efb8c..daefc444ab 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -1,9 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2016, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
;;;
;;; This file is part of GNU Guix.
@@ -46,7 +47,8 @@
version ".tar.gz"))
(sha256
(base32
- "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"))))
+ "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"))
+ (patches (search-patches "bdb-5.3-atomics-on-gcc-9.patch"))))
(build-system gnu-build-system)
(outputs '("out" ; programs, libraries, headers
"doc")) ; 94 MiB of HTML docs
@@ -114,7 +116,9 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
version ".tar.gz"))
(sha256
(base32
- "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))))))
+ "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"))
+ (patch-flags '("-p0"))
+ (patches (search-patches "bdb-5.3-atomics-on-gcc-9.patch"))))))
(define-public bdb-6
(package (inherit bdb-4.8)
@@ -136,14 +140,14 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(define-public gdbm
(package
(name "gdbm")
- (version "1.18.1")
+ (version "1.19")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdbm/gdbm-"
version ".tar.gz"))
(sha256
(base32
- "1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6"))))
+ "1g342f0xhh8xbc8p9vrr34clhxz57589k50dibhp5f9284hi5v9p"))))
(arguments `(#:configure-flags '("--enable-libgdbm-compat"
"--disable-static")))
(build-system gnu-build-system)
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 3a29886b0e..9a4ce7067a 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -513,10 +513,10 @@ input. Zzuf's behaviour is deterministic, making it easy to reproduce bugs.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (python-path (getenv "PYTHONPATH")))
+ (python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/share/gameconqueror/GameConqueror.py")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- `("PYTHONPATH" ":" prefix (,python-path))))
+ `("GUIX_PYTHONPATH" ":" prefix (,python-path))))
#t)))))
(native-inputs
`(("libtool" ,libtool)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 8a0342d7c5..7ae41a674e 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -223,7 +223,7 @@ easy to use, login interface with a modern yet classy touch.")
;; Run test-suite under a dbus session.
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program "tests/src/test-python-greeter"
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
;; Avoid printing locale warnings, which trip up the text
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index f157db9ba2..d53c06380a 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
;;; Copyright © 2019 Sam <smbaines8@gmail.com>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -74,24 +75,11 @@
(substitute* "tests/settings_tests/tests.py"
((".*def test_incorrect_timezone.*" all)
(string-append " @unittest.skipIf(True, 'Disabled by Guix')\n"
- all)))
-
- ;; Preserve the PYTHONPATH created by Guix when running the tests.
- (substitute* "tests/admin_scripts/tests.py"
- (("python_path = \\[")
- (string-append "python_path = ['"
- (string-join
- (string-split (getenv "PYTHONPATH") #\:)
- "','")
- "', ")))
-
- #t))
+ all)))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(with-directory-excursion "tests"
- (setenv "PYTHONPATH"
- (string-append "..:" (getenv "PYTHONPATH")))
(invoke "python" "runtests.py"
;; By default tests run in parallel, which may cause
;; various race conditions. Run sequentially for
@@ -332,23 +320,18 @@ size and quality.")
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(if tests?
- (begin
- (add-installed-pythonpath inputs outputs)
- (setenv "PYTHONPATH"
- (string-append ".:" ;for pytest_django_test
- (getenv "PYTHONPATH")))
- (setenv "PYTEST_DJANGO_TEST_RUNNER" "pytest")
- (setenv "DJANGO_SETTINGS_MODULE"
- "pytest_django_test.settings_sqlite_file")
- (invoke "pytest" "-vv" "-k"
- ;; FIXME: these tests fail to locate Django templates ...
- (string-append "not test_django_not_loaded_without_settings"
- " and not test_settings"
- ;; ... and this does not discover
- ;; 'pytest_django_test'.
- " and not test_urls_cache_is_cleared")))
- (format #t "test suite not run~%"))
- #t)))))
+ (begin
+ (setenv "PYTEST_DJANGO_TEST_RUNNER" "pytest")
+ (setenv "DJANGO_SETTINGS_MODULE"
+ "pytest_django_test.settings_sqlite_file")
+ (invoke "python" "-m" "pytest" "-vv" "-k"
+ ;; FIXME: these tests fail to locate Django templates ...
+ (string-append "not test_django_not_loaded_without_settings"
+ " and not test_settings"
+ ;; ... and this does not discover
+ ;; 'pytest_django_test'.
+ " and not test_urls_cache_is_cleared")))
+ (format #t "test suite not run~%")))))))
(native-inputs
`(("python-django" ,python-django)
("python-setuptools-scm" ,python-setuptools-scm)
@@ -356,7 +339,7 @@ size and quality.")
;; For tests.
("python-pytest-xdist" ,python-pytest-xdist)))
(propagated-inputs
- `(("python-pytest" ,python-pytest-6)))
+ `(("python-pytest" ,python-pytest)))
(home-page "https://pytest-django.readthedocs.org/")
(synopsis "Django plugin for py.test")
(description "Pytest-django is a plugin for py.test that provides a set of
@@ -718,9 +701,6 @@ project aims to bulk update given objects using one query over Django ORM.")
(modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH"
- (string-append "./build/lib:"
- (getenv "PYTHONPATH")))
(invoke "coverage" "run" "--source" "contact_form"
"runtests.py"))))))
(native-inputs
@@ -779,14 +759,9 @@ entries, photos, book chapters, or anything else.")
(which "env")))))
(replace 'check
(lambda*(#:key tests? #:allow-other-keys)
- (or
- (not tests?)
- (begin
- (setenv "PYTHONPATH"
- (string-append (getcwd) ":"
- (getenv "PYTHONPATH")))
- (setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
- (invoke "django-admin" "test" "tests"))))))))
+ (when tests?
+ (setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
+ (invoke "django-admin" "test" "tests")))))))
(native-inputs
`(("python-django" ,python-django)))
(propagated-inputs
@@ -913,10 +888,8 @@ using Python multiprocessing.")
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH" (string-append "./test_project:"
- "./build/lib:.:"
- (getenv "PYTHONPATH")))
- (invoke "django-admin.py" "test" "--settings=settings"))))))
+ (invoke "python" "django-admin.py"
+ "test" "--settings=settings"))))))
(native-inputs
`(("python-django" ,python-django)))
(home-page "https://github.com/jazzband/django-sortedm2m")
@@ -942,10 +915,8 @@ the order of added relations.")
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH" (string-append ".:"
- (getenv "PYTHONPATH")))
(setenv "DJANGO_SETTINGS_MODULE" "tests.test_settings")
- (invoke "django-admin.py" "test" "-v2"))))))
+ (invoke "python" "django-admin.py" "test" "-v2"))))))
(native-inputs
`(("python-django" ,python-django)))
(home-page "https://github.com/django-compressor/django-appconf")
@@ -977,9 +948,7 @@ name is purely coincidental.")
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
- (setenv "PYTHONPATH"
- (string-append "./tests/test_project:./build/lib:"
- (getenv "PYTHONPATH")))
+ (setenv "PYTHONPATH" "./tests/test_project")
(setenv "DJANGO_SETTINGS_MODULE" "project.settings")
(invoke "pytest" "-vv"))))))
(native-inputs
@@ -1296,15 +1265,11 @@ to ElasticSearch.")
;; Do not depend on compatibility package for old
;; Python versions.
(substitute* "requirements.txt"
- (("enum-compat") ""))
- #t))
+ (("enum-compat") ""))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(begin
- (setenv "PYTHONPATH"
- (string-append "./build/lib:.:"
- (getenv "PYTHONPATH")))
(setenv "DJANGO_SETTINGS_MODULE"
"test_project.settings")
(invoke "pytest" "-vv" "--doctest-modules"
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index 1945fb6a4b..9f47dadd5d 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -28,13 +28,16 @@
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages tex)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages base)
+ #:use-module (gnu packages web-browsers)
#:use-module (gnu packages xml)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix build utils) #:select (alist-replace))
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system python))
@@ -170,15 +173,17 @@ by no means limited to these applications.) This package provides XML DTDs.")
(define-public docbook-xsl
(package
(name "docbook-xsl")
- (version "1.79.1")
+ (version "1.79.2")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/docbook/docbook-xsl/"
- version "/docbook-xsl-" version ".tar.bz2"))
- (patches (search-patches "docbook-xsl-nonrecursive-string-subst.patch"))
+ (uri (string-append "https://github.com/docbook/xslt10-stylesheets"
+ "/releases/download/release%2F" version
+ "/docbook-xsl-" version ".tar.bz2"))
+ (patches (search-patches "docbook-xsl-support-old-url.patch"
+ "docbook-xsl-nonrecursive-string-subst.patch"))
(sha256
(base32
- "0s59lihif2fr7rznckxr2kfyrvkirv76r1zvidp9b5mj28p4apvj"))
+ "0wd33z41kdsybyx3ay21w6bdlmgpd9kyn3mr5y520lsf8km28r9i"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -186,9 +191,12 @@ by no means limited to these applications.) This package provides XML DTDs.")
#t))))
(build-system trivial-build-system)
(arguments
- `(#:builder (let ((name-version (string-append ,name "-" ,version)))
+ `(#:builder (begin
(use-modules (guix build utils))
+ (define name-version
+ (string-append ,name "-" ,version))
+
(let* ((bzip2 (assoc-ref %build-inputs "bzip2"))
(xz (assoc-ref %build-inputs "xz"))
(tar (assoc-ref %build-inputs "tar"))
@@ -382,25 +390,24 @@ the in DocBook SGML DTDs.")
(define-public dblatex
(package
(name "dblatex")
- (version "0.3.11")
+ (version "0.3.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/dblatex/dblatex/"
- "dblatex-" version "/dblatex-"
+ "dblatex-" version "/dblatex3-"
version ".tar.bz2"))
(sha256
(base32
- "0rp1bc2lgisigscq1i7zxfd2qdaxxxld6khbcxss4pq7fpi9fzkv"))))
+ "0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))))
(build-system python-build-system)
;; TODO: Add xfig/transfig for fig2dev utility
(inputs
- `(("texlive" ,(texlive-union (list texlive-amsfonts/patched
+ `(("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts
texlive-latex-anysize
texlive-latex-appendix
+ texlive-latex-bookmark
texlive-latex-changebar
texlive-latex-colortbl
- texlive-latex-eepic
- texlive-latex-eso-pic
texlive-latex-fancybox
texlive-latex-fancyhdr
texlive-latex-fancyvrb
@@ -410,26 +417,23 @@ the in DocBook SGML DTDs.")
texlive-latex-jknapltx
texlive-latex-listings
texlive-latex-multirow
- texlive-latex-oberdiek
texlive-latex-overpic
texlive-latex-pdfpages
+ texlive-latex-refcount
texlive-latex-subfigure
texlive-latex-titlesec
- texlive-latex-url
texlive-latex-wasysym
- texlive-fonts-ec
texlive-fonts-rsfs
texlive-fonts-stmaryrd
- texlive-generic-ifxetex)))
+ texlive-generic-iftex)))
("imagemagick" ,imagemagick) ;for convert
("inkscape" ,inkscape) ;for svg conversion
("docbook" ,docbook-xml)
("libxslt" ,libxslt))) ;for xsltproc
(arguments
- `(#:python ,python-2 ;'print' syntax
- ;; Using setuptools causes an invalid "package_base" path in
+ `(;; Using setuptools causes an invalid "package_base" path in
;; out/bin/.dblatex-real due to a missing leading '/'. This is caused
;; by dblatex's setup.py stripping the root path when creating the
;; script. (dblatex's setup.py still uses distutils and thus has to
@@ -473,3 +477,88 @@ DB2LaTeX.")
(package/inherit dblatex
(inputs (alist-replace "imagemagick" `(,imagemagick/stable)
(package-inputs dblatex))))))
+
+(define-public docbook-utils
+ (package
+ (name "docbook-utils")
+ (version "0.6.14")
+ (source (origin
+ (method url-fetch)
+ ;; The original sources are not accessible anymore.
+ (uri (string-append "http://deb.debian.org/debian/pool/main/"
+ "d/docbook-utils/docbook-utils_"
+ version ".orig.tar.gz"))
+ (sha256
+ (base32
+ "1scj5vgw1xz872pq54a89blcxqqm11p90yzv8a9mqq57x27apyj8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-build-system
+ (lambda _
+ (substitute* (find-files "." "\\.in$")
+ ;; Do not hard-code SGML_CATALOG_FILES.
+ ((".*SGML_CATALOG_FILES=/etc/sgml/catalog.*") "")
+ ;; Use OpenSP and OpenJade.
+ (("\\bjade\\b")
+ "openjade")
+ (("\\bnsgmls\\b")
+ "onsgmls"))
+ #t))
+ (add-after 'unpack 'patch-jw.in
+ ;; Do not override the SGML_CATALOG_FILES environment
+ ;; variable.
+ (lambda _
+ (substitute* "bin/jw.in"
+ ((".*SGML_CATALOG_FILES=`find.*")
+ "")
+ (("SGML_CATALOG_FILES=`echo.*")
+ ":\n")
+ (("SGML_CATALOG_FILES=\"\"")
+ ":")
+ (("\\bwhich\\b")
+ "command -v"))
+ #t))
+ (add-after 'unpack 'patch-txt-backend
+ (lambda _
+ ;; Locate lynx, links or w3m from the PATH, not from
+ ;; /usr/bin.
+ (substitute* "backends/txt"
+ (("CONVERT=/usr/bin/")
+ "CONVERT=")
+ (("\\[ -x /usr/bin/([^ ]+) \\]" dummy command)
+ (string-append "command -v " command " > /dev/null")))
+ #t)))))
+ ;; Propagated for convenience. All these tools are used at run time to
+ ;; provide the complete functionality of the docbook-utils commands.
+ (propagated-inputs
+ `(("texlive-jadetex" ,texlive-jadetex)
+ ("docbook-sgml" ,docbook-sgml-3.1)
+ ("docbook-dsssl" ,docbook-dsssl)
+ ("openjade" ,openjade)
+ ("opensp" ,opensp)
+ ("lynx" ,lynx)
+ ("perl-sgmls" ,perl-sgmls)))
+ (home-page "https://packages.debian.org/sid/docbook-utils")
+ (synopsis "DocBook converter to other formats")
+ (description "The docbook-utils package is a collection of utilities
+intended to ease the use of SGML and XML.
+@table @command
+@item jw
+Convert a SGML DocBook file to other formats such as Hyper Text Markup
+Language (HTML), Rich Text Format (RTF), PostScript (PS), man, Portable
+Document Format (PDF), TeX, Texinfo or plain text (txt). It can be used
+more conveniently via the following wrappers:
+@itemx docbook2dvi Convert a SGML DocBook file to the DVI format.
+@itemx docbook2html Convert a SGML DocBook file to an HTML document.
+@itemx docbook2man Convert a SGML DocBook file a man page.
+@itemx docbook2pdf Convert a SGML DocBook file to a PDF document.
+@itemx docbook2ps Convert a SGML DocBook file to a PS document.
+@itemx docbook2rtf Convert a SGML DocBook file to a RTF document.
+@itemx docbook2tex Convert a SGML DocBook file to a TeX document.
+@itemx docbook2texi Convert a SGML DocBook file to a Texinfo document.
+@itemx docbook2txt Convert a SGML DocBook file to a plain text document.
+@item sgmldiff
+Detect the differences in markup between two SGML files.
+@end table")
+ (license gpl2+)))
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 19190f4480..4313af387e 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -185,8 +185,8 @@ markup) can be customized and extended by the user.")
(define-public doxygen
(package
(name "doxygen")
- (version "1.8.17")
- (home-page "http://www.doxygen.nl/")
+ (version "1.9.1")
+ (home-page "https://www.doxygen.nl/")
(source (origin
(method url-fetch)
(uri (list (string-append home-page "files/doxygen-"
@@ -196,9 +196,7 @@ markup) can be customized and extended by the user.")
".src.tar.gz")))
(sha256
(base32
- "16dmv0gm1x8rvbm82fmjvi213q8fxqxinm75pcf595flya59ific"))
- (patches (search-patches "doxygen-test.patch"
- "doxygen-1.8.17-runtests.patch"))))
+ "1lcif1qi20gf04qyjrx7x367669g17vz2ilgi4cmamp1whdsxbk7"))))
(build-system cmake-build-system)
(native-inputs
`(("bison" ,bison)
@@ -218,6 +216,12 @@ markup) can be customized and extended by the user.")
'())
#:test-target "tests"
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-bibtex-test
+ (lambda _
+ ;; Disable test that requires bibtex to avoid a
+ ;; circular dependency.
+ (for-each delete-file-recursively
+ '("testing/012" "testing/012_cite.dox"))))
(add-before 'configure 'patch-sh
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/portable.cpp"
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 48f005f51a..1fcee832a3 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -325,7 +325,7 @@ sip-include-dirs = [\"" pyqt "/share/sip" "\"]")))
;; rather than create ..calibre-real-real-s. For more
;; information see: https://issues.guix.gnu.org/43249.
(find-files "." (lambda (file stat)
- (not (wrapper? file)))))))
+ (not (wrapped-program? file)))))))
#t)))))
(home-page "https://calibre-ebook.com/")
(synopsis "E-book library management software")
@@ -514,12 +514,12 @@ following formats:
(libmagic-path (string-append
(assoc-ref %build-inputs "file")
"/lib"))
- (python-path (getenv "PYTHONPATH")))
+ (python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/cozy")
`("LD_LIBRARY_PATH" ":" prefix (,libmagic-path))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
- `("PYTHONPATH" ":" prefix (,python-path ,pylib))))
+ `("GUIX_PYTHONPATH" ":" prefix (,python-path ,pylib))))
#t)))))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm
index da4c3ddf04..accc461e9b 100644
--- a/gnu/packages/ed.scm
+++ b/gnu/packages/ed.scm
@@ -28,14 +28,14 @@
(define-public ed
(package
(name "ed")
- (version "1.16")
+ (version "1.17")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.lz"))
(sha256
(base32
- "0b4b1lwizvng9bvpcjnmpj2i80xz9xw2w8nfff27b2h4mca7mh6g"))))
+ "0m2yrkfjjraakxr98nsiakqrn351h99n706x9asgmdi57j43kpki"))))
(build-system gnu-build-system)
(native-inputs `(("lzip" ,lzip)))
(arguments
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 45d7311290..d815c6e689 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -828,7 +828,7 @@ stored and user can review his performance in any time.")
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
- `("PYTHONPATH" = ,site-packages)))
+ `("GUIX_PYTHONPATH" = ,site-packages)))
(find-files bin ".")))
#t)))))
(native-inputs
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index aab912648b..0309dd95b5 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -47,14 +47,14 @@
(define-public elfutils
(package
(name "elfutils")
- (version "0.182")
+ (version "0.183")
(source (origin
(method url-fetch)
(uri (string-append "https://sourceware.org/elfutils/ftp/"
version "/elfutils-" version ".tar.bz2"))
(sha256
(base32
- "0n48dcadjy0wiilddzav2zaxdi30qkkfp160gw5mycyz9s8hdi7c"))
+ "1igjfia9x8h6fmh9nbl8mpz0i24my5iixrji99qmi79hilh7qqy3"))
(patches (search-patches "elfutils-tests-ptrace.patch"))))
(build-system gnu-build-system)
@@ -70,6 +70,7 @@
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib")
+ "--disable-static"
;; TODO: Enable the debuginfo server. It
;; increases the closure size significantly
;; and presents bootstrapping problems, so
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ca87a2ed46..1cc4a8de66 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -690,14 +690,12 @@ on stdout instead of using a socket as the Emacsclient does.")
(make-file-writable "libgit.el")
(emacs-substitute-variables "libgit.el"
("libgit--module-file"
- (string-append (emacs:elpa-directory out) "/libegit2.so")))
- #t)))
+ (string-append (emacs:elpa-directory out) "/libegit2.so"))))))
(add-before 'install 'prepare-for-install
(lambda _
- (let ((s (string-append "../" ,name "-" ,version "-checkout")))
+ (let ((s "../source"))
(copy-file "libegit2.so" (string-append s "/libegit2.so"))
- (chdir s)
- #t)))
+ (chdir s))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((install (assoc-ref emacs:%standard-phases 'install)))
@@ -2593,7 +2591,7 @@ as a library for other Emacs packages.")
`(("perl" ,perl)))
(inputs
`(("ghostscript" ,ghostscript)
- ("texlive" ,(texlive-union (list texlive-amsfonts/patched)))))
+ ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts)))))
(home-page "https://www.gnu.org/software/auctex/")
(synopsis "Integrated environment for TeX")
(description
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 1edbaa463a..060a253968 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -71,6 +71,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix utils)
+ #:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public emacs
@@ -266,7 +267,12 @@
("libpng" ,libpng)
("zlib" ,zlib)
- ("librsvg" ,librsvg)
+ ;; librsvg is an optional dependency that pulls in rust. Rust is not
+ ;; supported well on every architecture yet.
+ ,@(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ `(("librsvg" ,librsvg))
+ '())
("libxpm" ,libxpm)
("libxml2" ,libxml2)
("libice" ,libice)
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index ec8d3d21d6..ca935036d4 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -2057,17 +2057,6 @@ performance, features, and ease of use.")
(guix build utils))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'install-bindings-to-python-output
- (lambda* (#:key outputs #:allow-other-keys)
- ;; python-build-system will build the bindings and install them to
- ;; the "out" output, so change the build-internal names of the
- ;; outputs.
- ;;
- ;; TODO: remove this once #40469 lands, through the core-updates
- ;; holding zone, on master.
- (set-car! (assoc "out" outputs) "lib")
- (set-car! (assoc "python" outputs) "out")
- #t))
(add-before 'build 'build-library
(lambda* (#:key inputs #:allow-other-keys)
(invoke "make"
@@ -2080,7 +2069,7 @@ performance, features, and ease of use.")
"UNICORN_STATIC=no"
(string-append
"PREFIX="
- (assoc-ref outputs "lib")))))
+ (assoc-ref outputs "out")))))
(add-before 'build 'prepare-bindings
(lambda* (#:key outputs #:allow-other-keys)
(chdir "bindings/python")
@@ -2093,7 +2082,7 @@ performance, features, and ease of use.")
(("_path_list = \\[.*")
(string-append
"_path_list = [\""
- (assoc-ref outputs "lib")
+ (assoc-ref outputs "out")
;; eat the rest of the list
"/lib\"] + 0*[")))
#t))
@@ -2114,10 +2103,10 @@ performance, features, and ease of use.")
(let* ((python-samples (find-files "." "sample_.*"))
(c-samples (find-files "../../samples" ".*\\.c"))
(python-docdir
- (string-append (assoc-ref outputs "out")
+ (string-append (assoc-ref outputs "python")
"/share/doc/unicorn/samples"))
(c-docdir
- (string-append (assoc-ref outputs "lib")
+ (string-append (assoc-ref outputs "out")
"/share/doc/unicorn/samples")))
(for-each (cut install-file <> c-docdir) c-samples)
(for-each (cut install-file <> python-docdir) python-samples)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index bfd0d2f685..e6e1382380 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -526,7 +526,7 @@ featuring various improvements and bug fixes.")))
;; FIXME: with texlive-tiny citation references are rendered as question
;; marks. During the build warnings like these are printed:
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line 3.
- `(("texlive" ,(texlive-union (list texlive-fonts-amsfonts)))
+ `(("texlive" ,(texlive-updmap.cfg (list texlive-fonts-amsfonts)))
("ghostscript" ,ghostscript)))
(arguments
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
@@ -948,9 +948,9 @@ Emacs).")
,(version-major+minor
(package-version python))
"/site-packages:"
- (getenv "PYTHONPATH"))))
+ (getenv "GUIX_PYTHONPATH"))))
(wrap-program file
- `("PYTHONPATH" ":" prefix (,path))
+ `("GUIX_PYTHONPATH" ":" prefix (,path))
`("PATH" ":" prefix
(,(string-append python "/bin:")))))
#t)))))
@@ -1211,9 +1211,9 @@ the 'showing the effect of'-style of operation.")
,(version-major+minor
(package-version python))
"/site-packages:"
- (getenv "PYTHONPATH"))))
+ (getenv "GUIX_PYTHONPATH"))))
(wrap-program file
- `("PYTHONPATH" ":" prefix (,path))
+ `("GUIX_PYTHONPATH" ":" prefix (,path))
`("PATH" ":" prefix
(,(string-append python "/bin:")))))
#t)))))
@@ -2733,9 +2733,7 @@ GUI.")
"06qgry1pal2vampmbmc1lzlhf1qnjkd8py781r5h020v981n6y5s"))))
(build-system gnu-build-system)
;; The GUI, which we elide, requires tcl and tk.
- (native-inputs `(;; Requires bison 3.6+ but we currently only have 3.5.
- ;; Bison 3.6 will be available in the next core update.
- ("bison-3.6" ,bison-3.6)
+ (native-inputs `(("bison" ,bison)
("clisp" ,clisp)
("dejagnu" ,dejagnu)
("flex" ,flex)
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index 3f1145b520..6fb98244f9 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,14 +31,14 @@
(define-public file
(package
(name "file")
- (version "5.38")
+ (version "5.39")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
version ".tar.gz"))
(sha256
(base32
- "0d7s376b4xqymnrsjxi3nsv3f5v89pzfspzml2pcajdk5by2yg2r"))))
+ "1lgs2w2sgamzf27kz5h7pajz7v62554q21fbs11n4mfrfrm2hpgh"))))
(build-system gnu-build-system)
;; When cross-compiling, this package depends upon a native install of
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index c02be6463c..dbce5beba8 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -11,6 +11,8 @@
;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
@@ -36,6 +38,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages datastructures)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
@@ -59,6 +62,7 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages tex)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -317,55 +321,61 @@ Font Format (WOFF).")
(license license:expat)))
(define-public fontconfig
- (package
- (name "fontconfig")
- (version "2.13.1")
- (source (origin
+ (hidden-package
+ (package
+ (name "fontconfig-minimal")
+ (version "2.13.93")
+ (source (origin
(method url-fetch)
(uri (string-append
- "https://www.freedesktop.org/software/fontconfig/release/fontconfig-"
- version ".tar.bz2"))
- (patches (search-patches "fontconfig-hurd-path-max.patch"))
+ "https://www.freedesktop.org/software/"
+ "fontconfig/release/fontconfig-" version ".tar.xz"))
(sha256 (base32
- "0hb700a68kk0ip51wdlnjjc682kvlrmb6q920mzajykdk0mdsmgn"))))
- (build-system gnu-build-system)
- ;; In Requires or Requires.private of fontconfig.pc.
- (propagated-inputs `(("expat" ,expat)
- ("freetype" ,freetype)
- ("libuuid" ,util-linux "lib")))
- (inputs
- ;; We use to use 'gs-fonts' but they are not recognized by newer versions
- ;; of Pango, causing many applications to fail to find fonts otherwise.
- `(("font-dejavu" ,font-dejavu)))
- (native-inputs
- `(("gperf" ,gperf)
- ("pkg-config" ,pkg-config)))
- (arguments
- `(#:configure-flags
- (list "--with-cache-dir=/var/cache/fontconfig"
- ;; register the default fonts
- (string-append "--with-default-fonts="
- (assoc-ref %build-inputs "font-dejavu")
- "/share/fonts")
-
- ;; Register fonts from user and system profiles.
- (string-append "--with-add-fonts="
- "~/.guix-profile/share/fonts,"
- "/run/current-system/profile/share/fonts")
-
- ;; python is not actually needed
- "PYTHON=false")
- #:phases
- (modify-phases %standard-phases
- (replace 'install
- (lambda _
- ;; Don't try to create /var/cache/fontconfig.
- (invoke "make" "install"
- "fc_cachedir=$(TMPDIR)"
- "RUN_FC_CACHE_TEST=false"))))))
- (synopsis "Library for configuring and customizing font access")
- (description
- "Fontconfig can discover new fonts when installed automatically;
+ "1850q4k80yxma5g3yxkvyv8i5a3xqzswwml8gjy3jmywx8qqd5pa"))))
+ (build-system gnu-build-system)
+ ;; In Requires or Requires.private of fontconfig.pc.
+ (propagated-inputs `(("expat" ,expat)
+ ("freetype" ,freetype)
+ ("libuuid" ,util-linux "lib")))
+ (inputs
+ ;; We use to use 'gs-fonts' but they are not recognized by newer versions
+ ;; of Pango, causing many applications to fail to find fonts otherwise.
+ `(("font-dejavu" ,font-dejavu)))
+ (native-inputs
+ `(("gperf" ,gperf)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-minimal))) ;to avoid a cycle through tk
+ (arguments
+ `(#:configure-flags
+ (list "--disable-docs"
+ "--with-cache-dir=/var/cache/fontconfig"
+ ;; register the default fonts
+ (string-append "--with-default-fonts="
+ (assoc-ref %build-inputs "font-dejavu")
+ "/share/fonts")
+
+ ;; Register fonts from user and system profiles.
+ (string-append "--with-add-fonts="
+ "~/.guix-profile/share/fonts,"
+ "/run/current-system/profile/share/fonts"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'skip-problematic-tests
+ (lambda _
+ (substitute* "test/run-test.sh"
+ ;; The crbug1004254 test attempts to fetch fonts from the
+ ;; network.
+ (("\\[ -x \"\\$BUILDTESTDIR\"/test-crbug1004254 \\]")
+ "false"))))
+ (replace 'install
+ (lambda _
+ ;; Don't try to create /var/cache/fontconfig.
+ (invoke "make" "install"
+ "fc_cachedir=$(TMPDIR)"
+ "RUN_FC_CACHE_TEST=false"))))))
+ (synopsis "Library for configuring and customizing font access")
+ (description
+ "Fontconfig can discover new fonts when installed automatically;
perform font name substitution, so that appropriate alternative fonts can
be selected if fonts are missing;
identify the set of fonts required to completely cover a set of languages;
@@ -373,10 +383,44 @@ have GUI configuration tools built as it uses an XML-based configuration file;
efficiently and quickly find needed fonts among the set of installed fonts;
be used in concert with the X Render Extension and FreeType to implement
high quality, anti-aliased and subpixel rendered text on a display.")
- ; The exact license is more X11-style than BSD-style.
- (license (license:non-copyleft "file://COPYING"
- "See COPYING in the distribution."))
- (home-page "https://www.freedesktop.org/wiki/Software/fontconfig")))
+ ; The exact license is more X11-style than BSD-style.
+ (license (license:non-copyleft "file://COPYING"
+ "See COPYING in the distribution."))
+ (home-page "https://www.freedesktop.org/wiki/Software/fontconfig"))))
+
+;;; The documentation of fontconfig is built in a separate package, as it
+;;; causes a dramatic increase in the size of the closure of fontconfig. This
+;;; is intentionally named 'fontconfig', as it's intended as the user-facing
+;;; fontconfig package.
+(define-public fontconfig-with-documentation
+ (package
+ (inherit fontconfig)
+ (name "fontconfig")
+ (outputs (cons "doc" (package-outputs fontconfig)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fontconfig)
+ ((#:configure-flags configure-flags)
+ `(delete "--disable-docs" ,configure-flags))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-after 'install 'move-man-sections
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Move share/man/man{3,5} to the "doc" output. Leave "man1" in
+ ;; "out" for convenience.
+ (let ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (for-each (lambda (section)
+ (let ((source (string-append out "/share/man/"
+ section))
+ (target (string-append doc "/share/man/"
+ section)))
+ (copy-recursively source target)
+ (delete-file-recursively source)))
+ '("man3" "man5")))))))))
+ (native-inputs
+ (append (package-native-inputs fontconfig)
+ `(("docbook-utils" ,docbook-utils))))
+ (properties (alist-delete 'hidden? (package-properties fontconfig)))))
(define-public t1lib
(package
@@ -421,14 +465,14 @@ X11-system or any other graphical user interface.")
(define-public teckit
(package
(name "teckit")
- (version "2.5.9") ;signed by key 0xC9183BEA0288CDEE
+ (version "2.5.10") ; signed by key 0xC9183BEA0288CDEE
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/silnrsi/teckit/releases/"
"download/v" version "/teckit-" version ".tar.gz"))
(sha256
- (base32 "0gbxyip4wdibirdg2pvzayzyy927vxyd6dfyfiflx8zg88qzn8v8"))))
+ (base32 "12qnf8nhxyr4d5pc01s3vc6h726506957an4vvmmfz633cqi5796"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
@@ -472,17 +516,6 @@ applications should be.")
(base32
"01jzhwnj1c3d68dmw15jdxly0hwkmd8ja4kw755rbkykn1ly2qyx"))))
(build-system cmake-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'adjust-test-PYTHONPATH
- (lambda _
- ;; Tell the build system not to override PYTHONPATH
- ;; while running the Python tests.
- (substitute* "Graphite.cmake"
- (("ENVIRONMENT PYTHONPATH=")
- (string-append "ENVIRONMENT PYTHONPATH="
- (getenv "PYTHONPATH") ":")))
- #t)))))
(native-inputs
`(("python" ,python)
("python-fonttools" ,python-fonttools)))
@@ -601,14 +634,14 @@ definitions.")
(define-public fontforge
(package
(name "fontforge")
- (version "20200314")
+ (version "20201107")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/fontforge/fontforge/releases/download/"
version "/fontforge-" version ".tar.xz"))
(sha256
- (base32 "0qf88wd6riycq56d24brybyc93ns74s0nyyavm43zp2kfcihn6fd"))))
+ (base32 "0y3c8x1i6yf6ak9m5dhr1nldgfmg7zhnwdfd57ffs698c27vmg38"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -810,8 +843,6 @@ maintain the Noto Fonts project.")
(base32
"0314r038jl17hrhc9nrbx30jk0pz8ckbdnizws4r46b1rf4h0b1f"))))
(build-system meson-build-system)
- (arguments
- `(#:meson ,meson-0.55))
(native-inputs
`(("check" ,check)
("gcc" ,gcc-10) ;TODO: Remove when the default compiler is > GCC 7.
@@ -869,7 +900,7 @@ generated list of fallback fonts are checked.")
("glib" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
- ("vala" ,vala-0.50)
+ ("vala" ,vala)
("yelp-tools" ,yelp-tools)))
(inputs
`(("fonconfig" ,fontconfig)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 24f12a045a..5c76e6b8f0 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -647,7 +647,7 @@ the freedesktop.org XDG Base Directory specification.")
;; logind system so that it can flicker the monitor, etc.
;; Just skip it until a more narrow selection can be made.
(substitute* "src/libelogind/sd-login/test-login.c"
- (("r = sd_pid_get_slice.*")
+ (("test_login\\(\\);")
"return 77;"))
#t))
(add-after 'unpack 'change-pid-file-path
@@ -951,38 +951,63 @@ Python.")
(define-public wayland
(package
(name "wayland")
- (version "1.18.0")
+ (version "1.19.0")
(source (origin
(method url-fetch)
(uri (string-append "https://wayland.freedesktop.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6"))))
- (build-system gnu-build-system)
+ "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
(arguments
- `(#:parallel-tests? #f))
+ `(#:parallel-tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "doc"
+ (substitute* (find-files "." "\\.xml$")
+ (("http://www.oasis-open.org/docbook/xml/4\\.5/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))
+ (("http://www.oasis-open.org/docbook/xml/4\\.2/")
+ (string-append (assoc-ref inputs "docbook-xml-4.2")
+ "/xml/dtd/docbook/"))))
+ #t))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))
+ #t))))))
(native-inputs
- `(("doxygen" ,doxygen)
- ("graphviz" ,graphviz)
+ `(("docbook-xml-4.2" ,docbook-xml-4.2)
+ ("docbook-xml" ,docbook-xml)
+ ("docbook-xsl" ,docbook-xsl)
+ ("dot" ,graphviz)
+ ("doxygen" ,doxygen)
("pkg-config" ,pkg-config)
("xmlto" ,xmlto)
("xsltproc" ,libxslt)))
(inputs
- `(("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("expat" ,expat)
- ("libffi" ,libffi)
- ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
+ `(("expat" ,expat)
+ ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
+ (propagated-inputs
+ `(("libffi" ,libffi)))
(home-page "https://wayland.freedesktop.org/")
- (synopsis "Display server protocol")
- (description
- "Wayland is a protocol for a compositor to talk to its clients as well as
-a C library implementation of that protocol. The compositor can be a standalone
-display server running on Linux kernel modesetting and evdev input devices, an X
-application, or a wayland client itself. The clients can be traditional
-applications, X servers (rootless or fullscreen) or other display servers.")
- (license license:x11)))
+ (synopsis "Core Wayland window system code and protocol")
+ (description "Wayland is a project to define a protocol for a compositor to
+talk to its clients as well as a library implementation of the protocol. The
+compositor can be a standalone display server running on Linux kernel
+modesetting and evdev input devices, an X application, or a wayland client
+itself. The clients can be traditional applications, X servers (rootless or
+fullscreen) or other display servers.")
+ (license license:expat)))
(define-public wayland-protocols
(package
@@ -1002,7 +1027,10 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Wayland protocols")
- (description "This package contains XML definitions of the Wayland protocols.")
+ (description "Wayland-Protocols contains Wayland protocols that add
+functionality not available in the Wayland core protocol. Such protocols either
+add completely new functionality, or extend the functionality of some other
+protocol either in Wayland core, or some other protocol in wayland-protocols.")
(home-page "https://wayland.freedesktop.org")
(license license:expat)))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 78983cd991..b67c4e51d2 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1244,8 +1244,7 @@ developed mainly for Ren'py.")
`(("python2-future" ,python2-future)
("python2-pygame" ,python2-pygame-sdl2)))
(native-inputs
- `(("gcc" ,gcc-8) ; for const variables as initializer elements
- ("python2-cython" ,python2-cython)
+ `(("python2-cython" ,python2-cython)
("xdg-utils" ,xdg-utils)))
(home-page "https://www.renpy.org/")
(synopsis "Ren'py python module")
@@ -1425,7 +1424,7 @@ if __name__ == \"__main__\":
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/renpy")
- `("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))))
#t)))))
(inputs
`(("python2-tkinter" ,python-2 "tk")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 6b3a6f0e1f..6bd6104629 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2230,9 +2230,9 @@ utilizing the art assets from the @code{SuperTux} project.")
(lambda (p)
(format p "\
#!~a
-export PYTHONPATH=~a/LIB:~a
+export GUIX_PYTHONPATH=~a/LIB:~a
exec -a \"~a\" ~a \"$@\"\n"
- (which "bash") data (getenv "PYTHONPATH")
+ (which "bash") data (getenv "GUIX_PYTHONPATH")
(which "python3")
(string-append lib "/main.py"))))
(chmod roguebox-adventures #o555))
@@ -2306,9 +2306,9 @@ can be explored and changed freely.")
(lambda (p)
(format p
"#!~a~@
- export PYTHONPATH=~a:~a~@
+ export GUIX_PYTHONPATH=~a:~a~@
exec -a \"~a\" ~a \"$@\"~%"
- (which "bash") data (getenv "PYTHONPATH")
+ (which "bash") data (getenv "GUIX_PYTHONPATH")
(which "python3")
(string-append data "/run_game.py"))))
(chmod executable #o555))
@@ -3802,9 +3802,12 @@ Widgets, and allows users to create more.")
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; TODO The test running fails to run some tests.
- #:modules ((srfi srfi-1)
- (guix build cmake-build-system)
- (guix build utils))
+ #:imported-modules ,(cons '(guix build python-build-system)
+ %cmake-build-system-modules)
+ #:modules ((guix build cmake-build-system)
+ ((guix build python-build-system) #:select (guix-pythonpath))
+ (guix build utils)
+ (srfi srfi-1))
#:configure-flags
(list
(string-append "-DOPENALSOFT_INCLUDE_DIR="
@@ -3831,30 +3834,15 @@ Widgets, and allows users to create more.")
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
- (define python-version
- (let* ((version (last (string-split
- (assoc-ref inputs "python")
- #\-)))
- (components (string-split version #\.))
- (major+minor (take components 2)))
- (string-join major+minor ".")))
-
(when tests?
- ;; Set PYTHONPATH so that python finds the installed modules.
- (setenv "PYTHONPATH"
- (string-append (getenv "PYTHONPATH") ":"
- (assoc-ref outputs "out")
- "/lib/python"
- python-version
- "/site-packages"))
+ (add-installed-pythonpath inputs outputs)
;; The tests require an X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
(setenv "XDG_RUNTIME_DIR" "/tmp")
;; Run tests
(chdir ,(string-append "../" name "-" version))
- (invoke "python3" "run_tests.py" "-a"))
- #t)))))
+ (invoke "python3" "run_tests.py" "-a")))))))
(inputs
`(("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image)
@@ -7162,7 +7150,7 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("curl" ,curl-minimal)
+ `(("curl" ,curl)
("libvorbis" ,libvorbis)
("mesa" ,mesa)
("openal" ,openal)
@@ -10480,7 +10468,7 @@ This package is part of the KDE games module.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/kajongg")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
#t))))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm
index d8494e9c1c..6dab274be1 100644
--- a/gnu/packages/gawk.scm
+++ b/gnu/packages/gawk.scm
@@ -30,13 +30,13 @@
(define-public gawk
(package
(name "gawk")
- (version "5.0.1")
+ (version "5.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.xz"))
(sha256
- (base32 "15570p7g2x54asvr2fsc56sxzmm08fbk4mzpcs5n92fp9vq8cklf"))))
+ (base32 "1gc2cccqy1x1bf6rhwlmd8q7dz7gnam6nwgl38bxapv6qm5flpyg"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -66,6 +66,16 @@
(substitute* "test/Makefile"
(("\\| more") ""))
+ ;; Silence a warning from bash about not being able
+ ;; to change to an ISO-8859-1 locale. The test itself
+ ;; works fine, but newer versions of bash give a
+ ;; locale warning which mangles the test output.
+ (substitute* "test/localenl.sh"
+ (("for LC_ALL in")
+ "for LC in")
+ (("export LC_ALL\n")
+ "export LC_ALL=$LC 2>/dev/null\n"))
+
;; Adjust the shebang in that file since it is then diff'd
;; against the actual test output.
(substitute* "test/watchpoint1.ok"
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 0a394615b5..24a4b42000 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -274,13 +274,10 @@ where the OS part is overloaded to denote a specific ABI---into GCC
~a"
libc line))))
- ;; TODO: Make this unconditional in core-updates.
- ,@(if (target-powerpc?)
- `((when (file-exists? "gcc/config/rs6000")
- ;; Force powerpc libdir to be /lib and not /lib64
- (substitute* (find-files "gcc/config/rs6000")
- (("/lib64") "/lib"))))
- `())
+ (when (file-exists? "gcc/config/rs6000")
+ ;; Force powerpc libdir to be /lib and not /lib64
+ (substitute* (find-files "gcc/config/rs6000")
+ (("/lib64") "/lib")))
;; Don't retain a dependency on the build-time sed.
(substitute* "fixincludes/fixincl.x"
@@ -329,8 +326,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; but there's nothing useful to look for here.)
(substitute* "gcc/config.in"
(("PREFIX_INCLUDE_DIR")
- "PREFIX_INCLUDE_DIR_isnt_necessary_here"))
- #t)))
+ "PREFIX_INCLUDE_DIR_isnt_necessary_here")))))
(add-after 'configure 'post-configure
(lambda _
@@ -338,8 +334,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'.
(substitute* "Makefile"
(("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
- "TOPLEVEL_CONFIGURE_ARGUMENTS=\n"))
- #t)))))
+ "TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))))))
(native-search-paths
;; Use the language-specific variables rather than 'CPATH' because they
@@ -387,15 +382,13 @@ Go. It also includes runtime support libraries for these languages.")
;; This is required for building with glibc-2.26.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
- '(begin
- (for-each
- (lambda (dir)
- (substitute* (string-append "libgcc/config/"
- dir "/linux-unwind.h")
- (("struct ucontext") "ucontext_t")))
- '("aarch64" "alpha" "bfin" "i386" "m68k"
- "pa" "sh" "tilepro" "xtensa"))
- #t))))
+ '(for-each
+ (lambda (dir)
+ (substitute* (string-append "libgcc/config/"
+ dir "/linux-unwind.h")
+ (("struct ucontext") "ucontext_t")))
+ '("aarch64" "alpha" "bfin" "i386" "m68k"
+ "pa" "sh" "tilepro" "xtensa")))))
(supported-systems %supported-systems)
(inputs
`(("isl" ,isl-0.11)
@@ -423,15 +416,13 @@ Go. It also includes runtime support libraries for these languages.")
;; This is required for building with glibc-2.26.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
- '(begin
- (for-each
- (lambda (dir)
- (substitute* (string-append "libgcc/config/"
- dir "/linux-unwind.h")
- (("struct ucontext") "ucontext_t")))
- '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
- "pa" "sh" "tilepro" "xtensa"))
- #t))))
+ '(for-each
+ (lambda (dir)
+ (substitute* (string-append "libgcc/config/"
+ dir "/linux-unwind.h")
+ (("struct ucontext") "ucontext_t")))
+ '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
+ "pa" "sh" "tilepro" "xtensa")))))
;; Override inherited texinfo-5 with latest version.
(native-inputs `(("perl" ,perl) ;for manpages
("texinfo" ,texinfo)))
@@ -459,8 +450,7 @@ Go. It also includes runtime support libraries for these languages.")
":"))
(format #t
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
- (getenv "CPLUS_INCLUDE_PATH"))
- #t))))))))))
+ (getenv "CPLUS_INCLUDE_PATH"))))))))))))
(define-public gcc-5
;; Note: GCC >= 5 ships with .info files but 'make install' fails to install
@@ -492,11 +482,9 @@ Go. It also includes runtime support libraries for these languages.")
;;
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67590
;; http://cgit.openembedded.org/openembedded-core/commit/?id=f6e47aa9b12f9ab61530c40e0343f451699d9077
- '(begin
- (substitute* "libcc1/configure"
- (("\\$gcc_cv_objdump -T")
- "$OBJDUMP_FOR_TARGET -T"))
- #t))))
+ '(substitute* "libcc1/configure"
+ (("\\$gcc_cv_objdump -T")
+ "$OBJDUMP_FOR_TARGET -T")))))
(inputs
`(;; GCC5 needs <isl/band.h> which is removed in later versions.
("isl" ,isl-0.18)
@@ -611,7 +599,7 @@ It also includes runtime support libraries for these languages.")))
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions.
-(define-public gcc gcc-7)
+(define-public gcc gcc-10)
(define-public (make-libstdc++ gcc)
"Return a libstdc++ package based on GCC. The primary use case is when
@@ -622,25 +610,16 @@ using compilers other than GCC."
(arguments
`(#:out-of-source? #t
#:phases
- ;; TODO: Use the target-powerpc arm for everyone.
- ,(if (target-powerpc?)
- `(modify-phases %standard-phases
- ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
- (add-before 'chdir 'fix-rs6000-libdir
- (lambda _
- (when (file-exists? "gcc/config/rs6000")
- (substitute* (find-files "gcc/config/rs6000")
- (("/lib64") "/lib")))
- #t))
- (add-before 'configure 'chdir
- (lambda _
- (chdir "libstdc++-v3")
- #t)))
- `(alist-cons-before 'configure 'chdir
- (lambda _
- (chdir "libstdc++-v3")
- #t)
- %standard-phases))
+ (modify-phases %standard-phases
+ ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
+ (add-before 'chdir 'fix-rs6000-libdir
+ (lambda _
+ (when (file-exists? "gcc/config/rs6000")
+ (substitute* (find-files "gcc/config/rs6000")
+ (("/lib64") "/lib")))))
+ (add-before 'configure 'chdir
+ (lambda _
+ (chdir "libstdc++-v3"))))
#:configure-flags `("--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
@@ -691,16 +670,14 @@ using compilers other than GCC."
(modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _
- (chdir "libiberty")
- #t))
+ (chdir "libiberty")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/"))
(include (string-append out "/include/")))
(install-file "libiberty.a" lib)
- (install-file "../include/libiberty.h" include))
- #t)))))
+ (install-file "../include/libiberty.h" include)))))))
(inputs '())
(outputs '("out"))
(native-inputs '())
@@ -742,8 +719,7 @@ as the 'native-search-paths' field."
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
- ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
- #t))))))))
+ ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))))
(define %generic-search-paths
;; This is the language-neutral search path for GCC. Entries in $CPATH are
@@ -759,12 +735,7 @@ as the 'native-search-paths' field."
(define-public gfortran
(hidden-package
- (custom-gcc (package
- (inherit gcc)
- ;; XXX: Remove LIBSTDC++-HEADERS from the inputs just to
- ;; avoid a rebuild of all the GFORTRAN dependents.
- ;; TODO: Remove this hack on the next rebuild cycle.
- (inputs (alist-delete "libstdc++" (package-inputs gcc))))
+ (custom-gcc gcc
"gfortran" '("fortran")
%generic-search-paths)))
@@ -802,8 +773,7 @@ as the 'native-search-paths' field."
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
- ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
- #t))))))
+ ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
(synopsis "GCC library generating machine code on-the-fly at runtime")
(description
"This package is part of the GNU Compiler Collection and provides an
@@ -869,7 +839,7 @@ provides the GNU compiler for the Go programming language."))
(custom-gcc gcc-10 "gcc-objc" '("objc")
%objc-search-paths))
-(define-public gcc-objc gcc-objc-7)
+(define-public gcc-objc gcc-objc-10)
(define %objc++-search-paths
(list (search-path-specification
@@ -911,7 +881,7 @@ provides the GNU compiler for the Go programming language."))
(custom-gcc gcc-10 "gcc-objc++" '("obj-c++")
%objc++-search-paths))
-(define-public gcc-objc++ gcc-objc++-7)
+(define-public gcc-objc++ gcc-objc++-10)
(define (make-libstdc++-doc gcc)
"Return a package with the libstdc++ documentation for GCC."
@@ -936,8 +906,7 @@ provides the GNU compiler for the Go programming language."))
#:phases (modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _
- (chdir "libstdc++-v3")
- #t))
+ (chdir "libstdc++-v3")))
(add-before 'configure 'set-xsl-directory
(lambda* (#:key inputs #:allow-other-keys)
(let ((docbook (assoc-ref inputs "docbook-xsl")))
@@ -946,8 +915,7 @@ provides the GNU compiler for the Go programming language."))
(("@XSL_STYLE_DIR@")
(string-append
docbook "/xml/xsl/"
- (strip-store-file-name docbook))))
- #t)))
+ (strip-store-file-name docbook)))))))
(replace 'build
(lambda _
;; XXX: There's also a 'doc-info' target, but it
@@ -974,7 +942,7 @@ provides the GNU compiler for the Go programming language."))
(define-public isl
(package
(name "isl")
- (version "0.22.1")
+ (version "0.23")
(source (origin
(method url-fetch)
(uri (list (string-append
@@ -985,7 +953,7 @@ provides the GNU compiler for the Go programming language."))
name "-" version ".tar.bz2")))
(sha256
(base32
- "1kf54jib0nind1pvakblnfhimmwzm0y1llz8470ag0di5vwqwrhs"))))
+ "0k91zck10zxs9sk3yrbb92y1j3w981w3fbwkfwd7kl779b0j52f5"))))
(build-system gnu-build-system)
(outputs '("out" "static"))
(arguments
@@ -1004,8 +972,7 @@ provides the GNU compiler for the Go programming language."))
;; libtool looks for it in the usual locations.
(substitute* (string-append out "/lib/libisl.la")
(("^old_library=.*")
- "old_library=''\n"))
- #t))))))
+ "old_library=''\n"))))))))
(inputs `(("gmp" ,gmp)))
(home-page "http://isl.gforge.inria.fr/")
(synopsis
@@ -1131,8 +1098,7 @@ effective code.")
(copy-file file
(string-append html "/"
file)))
- (find-files "." "\\.html$"))
- #t))))))
+ (find-files "." "\\.html$"))))))))
(synopsis "Reference manual for the C programming language")
(description
"This is a reference manual for the C programming language, as
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index 2923358d8f..e37c485761 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@@ -42,7 +42,7 @@
;; Note: With libgd.org now pointing to github.com, genuine old
;; tarballs are no longer available. Notably, versions 2.0.x are
;; missing.
- (version "2.3.0")
+ (version "2.3.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -50,9 +50,14 @@
version "/libgd-" version ".tar.xz"))
(sha256
(base32
- "0n5czhxzinvjvmhkf5l9fwjdx5ip69k5k7pj6zwb6zs1k9dibngc"))
- (patches (search-patches "gd-fix-tests-on-i686.patch"
- "gd-brect-bounds.patch"))))
+ "1yypywkh8vphcy4qqpf51kxpb0a3r7rjqk3fc61rpn70hiq092j7"))
+ (patches
+ (search-patches "gd-fix-tests-on-i686.patch"
+ "gd-brect-bounds.patch"
+ ;; Drop when
+ ;; https://github.com/libgd/libgd/issues/691
+ ;; is solved.
+ "gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch"))))
(build-system gnu-build-system)
(arguments
;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding
@@ -61,15 +66,14 @@
#:configure-flags '("--disable-static")
#:phases
(modify-phases %standard-phases
- ;; This test is known to fail on i686-linux:
+ ;; This test is known to fail on most architectures:
;; https://github.com/libgd/libgd/issues/359
;; TODO Replace this substitution with an upstream bug fix.
(add-after 'unpack 'disable-failing-test
(lambda _
(substitute* "tests/gdimagegrayscale/basic.c"
(("return gdNumFailures\\(\\)")
- "return 0"))
- #t)))))
+ "return 0")))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 8c28f82992..24b7c00dbd 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -118,6 +119,12 @@
mig/32-bit
mig)))
'())))
+ ;; TODO: Add support for the GDB_DEBUG_FILE_DIRECTORY environment
+ ;; variable in GDB itself instead of relying on some glue code in
+ ;; the Guix-provided .gdbinit file.
+ (native-search-paths (list (search-path-specification
+ (variable "GDB_DEBUG_FILE_DIRECTORY")
+ (files '("lib/debug")))))
(home-page "https://www.gnu.org/software/gdb/")
(synopsis "The GNU debugger")
(description
@@ -129,18 +136,18 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
(license gpl3+)))
;; This version of GDB is required by some of the Rust compilers, see
-;; <https://bugs.gnu.org/37810>.
-(define-public gdb-8.2
+;; <https://github.com/rust-lang/rust/issues/79009>.
+(define-public gdb-9.2
(package
(inherit gdb-10)
- (version "8.2.1")
+ (version "9.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
- "00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha"))))
+ "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n"))))
(inputs
(alist-replace "guile" (list guile-2.0)
(package-inputs gdb-10)))))
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 21228694d7..9a3a24d89b 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2019, 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -52,14 +52,14 @@
(define-public gettext-minimal
(package
(name "gettext-minimal")
- (version "0.20.1")
+ (version "0.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
- "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6"))))
+ "04kbg1sx0ncfrsbr85ggjslqkzzb243fcw9nyh3rrv1a22ihszf7"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;9 MiB of HTML
@@ -238,12 +238,14 @@ from Markdown files.")
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-programs
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure all executables in "bin" find the Perl modules
- ;; provided by this package at runtime.
+ ;; required by this package at runtime.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
- (path (string-append out "/lib/perl5/site_perl")))
+ (Pod::Parser (assoc-ref inputs "perl-pod-parser"))
+ (path (string-append out "/lib/perl5/site_perl:"
+ Pod::Parser "/lib/perl5/site_perl")))
(for-each (lambda (file)
(wrap-program file
`("PERL5LIB" ":" prefix (,path))))
@@ -263,6 +265,13 @@ from Markdown files.")
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/")))
#t))
+ (add-before 'build 'do-not-override-PERL5LIB
+ (lambda _
+ ;; Don't hard-code PERL5LIB to include just the build directory
+ ;; so that the build script finds modules from inputs.
+ (substitute* "Po4aBuilder.pm"
+ (("PERL5LIB=lib") ""))
+ (setenv "PERL5LIB" (string-append (getenv "PERL5LIB") ":lib"))))
(add-before 'check 'disable-failing-tests
(lambda _
;; FIXME: these tests require SGMLS.pm.
@@ -286,6 +295,8 @@ from Markdown files.")
("perl-test-pod" ,perl-test-pod)
("perl-yaml-tiny" ,perl-yaml-tiny)
("texlive" ,texlive-tiny)))
+ (inputs
+ `(("perl-pod-parser" ,perl-pod-parser)))
(home-page "https://po4a.org/")
(synopsis "Scripts to ease maintenance of translations")
(description
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 03a516dc52..26a964d4d4 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -4,11 +4,12 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2013, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -48,15 +49,14 @@
(define-public lcms
(package
(name "lcms")
- (version "2.9")
+ (version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/" version
"/lcms2-" version ".tar.gz"))
- (patches (search-patches "lcms-CVE-2018-16435.patch"))
(sha256 (base32
- "083xisy6z01zhm7p7rgk4bx9d6zlr8l20qkfv1g29ylnhgwzvij8"))))
+ "1x8hzq8kw16lgjxmqpnqah1p3hrqqhjpcl1ymiah8434x22kjrhq"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
@@ -69,7 +69,7 @@
focus on accuracy and performance. It uses the International Color
Consortium standard (ICC), approved as ISO 15076-1.")
(license license:x11)
- (home-page "http://www.littlecms.com/")
+ (home-page "https://www.littlecms.com/")
(properties '((cpe-name . "little_cms_color_engine")))))
(define-public libpaper
@@ -159,7 +159,7 @@ printing, and psresize, for adjusting page sizes.")
(define-public ghostscript
(package
(name "ghostscript")
- (version "9.52")
+ (version "9.54.0")
(source
(origin
(method url-fetch)
@@ -169,10 +169,8 @@ printing, and psresize, for adjusting page sizes.")
"/ghostscript-" version ".tar.xz"))
(sha256
(base32
- "0z1w42y2jmcpl2m1l3z0sfii6zmvzcwcgzn6bydklia6ig7jli2p"))
- (patches (search-patches "ghostscript-freetype-compat.patch"
- "ghostscript-CVE-2020-15900.patch"
- "ghostscript-no-header-creationdate.patch"
+ "0fvfvv6di5s6j4sy4gaw65klm23dby39bkdjxxq4w3v0vqyb9dy2"))
+ (patches (search-patches "ghostscript-no-header-creationdate.patch"
"ghostscript-no-header-id.patch"
"ghostscript-no-header-uuid.patch"))
(modules '((guix build utils)))
@@ -268,7 +266,7 @@ printing, and psresize, for adjusting page sizes.")
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config) ;needed for freetype
- ("python" ,python-wrapper)
+ ("python" ,python-minimal-wrapper)
("tcl" ,tcl)
;; When cross-compiling, some of the natively-built tools require all
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 2da57ee8ee..a0490e5421 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -185,8 +185,7 @@ of a larger interface.")
"1w68h81kqkqnziixrx21qs0gfv2z79651h19sxn226xdb58mjgqb"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.55
- #:configure-flags
+ `(#:configure-flags
(list "-Denable-gir=false")))
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -225,8 +224,7 @@ provided, as well as a framework to add new color models and data types.")
"1pd8xkx70k0fsi1hrzrmaify7112wjmxzk0p6bi6js89yhn7h4n1"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.55
- #:configure-flags
+ `(#:configure-flags
(list "-Dintrospection=false")
#:phases
(modify-phases %standard-phases
@@ -304,7 +302,7 @@ buffers.")
;; Install 'sitecustomize.py' into gimp's python directory to
;; add pygobject and pygtk to pygimp's search path.
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((pythonpath (getenv "PYTHONPATH"))
+ (let* ((pythonpath (getenv "GUIX_PYTHONPATH"))
(out (assoc-ref outputs "out"))
(sitecustomize.py
(string-append
@@ -608,7 +606,7 @@ transferring the style of an image.")
;; Install 'sitecustomize.py' into glimpse's python directory to
;; add pygobject and pygtk to pygimp's search path.
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((pythonpath (getenv "PYTHONPATH"))
+ (let* ((pythonpath (getenv "GUIX_PYTHONPATH"))
(out (assoc-ref outputs "out"))
(sitecustomize.py
(string-append
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index c14e7c0d53..cc5131b28d 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;;
;;; This file is part of GNU Guix.
@@ -106,6 +107,7 @@ as ASCII text.")
(uri (string-append
"mirror://sourceforge/freeglut/freeglut/"
version "/freeglut-" version ".tar.gz"))
+ (patches (search-patches "freeglut-gcc-compat.patch"))
(sha256
(base32
"0s6sk49q8ijgbsrrryb7dzqx2fa744jhx1wck5cz5jia2010w06l"))))
@@ -235,7 +237,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "20.2.4")
+ (version "20.2.6")
(source
(origin
(method url-fetch)
@@ -247,7 +249,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
- "14m09bk7akj0k02lg8fhvvzbdsashlbdsgl2cw7wbqfj2mhdqwh5"))
+ "1nw5k2qrlcrp5bljy1lmyybgl525y0h44synkbbirw92qv3a6b7i"))
(patches
(search-patches "mesa-skip-tests.patch"))))
(build-system meson-build-system)
@@ -270,7 +272,7 @@ also known as DXTn or DXTC) for Mesa.")
("libxrandr" ,libxrandr)
("libxvmc" ,libxvmc)
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
;; Note: update the 'clang' input of mesa-opencl when bumping this.
`(("llvm" ,llvm-11)))
(_
@@ -282,7 +284,7 @@ also known as DXTn or DXTC) for Mesa.")
("flex" ,flex)
("gettext" ,gettext-minimal)
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
`(("glslang" ,glslang)))
(_
`()))
@@ -297,36 +299,38 @@ also known as DXTn or DXTC) for Mesa.")
((or "armhf-linux" "aarch64-linux")
;; TODO: Fix svga driver for non-Intel architectures.
'("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
- ("powerpc64le-linux"
+ ((or "powerpc64le-linux" "powerpc-linux")
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
(_
'("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
;; Enable various optional features. TODO: opencl requires libclc,
;; omx requires libomxil-bellagio
- "-Dplatforms=x11,drm,surfaceless,wayland"
+ "-Dplatforms=x11,wayland"
"-Dglx=dri" ;Thread Local Storage, improves performance
;; "-Dopencl=true"
;; "-Domx=true"
"-Dosmesa=gallium"
- "-Dgallium-xa=true"
+ "-Dgallium-xa=enabled"
;; features required by wayland
- "-Dgles2=true"
- "-Dgbm=true"
- "-Dshared-glapi=true"
+ "-Dgles2=enabled"
+ "-Dgbm=enabled"
+ "-Dshared-glapi=enabled"
;; Explicitly enable Vulkan on some architectures.
,@(match (%current-system)
((or "i686-linux" "x86_64-linux")
'("-Dvulkan-drivers=intel,amd"))
- ("powerpc64le-linux"
+ ((or "powerpc64le-linux" "powerpc-linux")
'("-Dvulkan-drivers=amd"))
+ ("aarch64-linux"
+ '("-Dvulkan-drivers=freedreno,amd"))
(_
'("-Dvulkan-drivers=auto")))
;; Enable the Vulkan overlay layer on architectures using llvm.
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
'("-Dvulkan-overlay-layer=true"))
(_
'()))
@@ -339,10 +343,10 @@ also known as DXTn or DXTC) for Mesa.")
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
- "-Dllvm=true")) ; default is x86/x86_64 only
- ("powerpc64le-linux"
+ "-Dllvm=enabled")) ; default is x86/x86_64 only
+ ((or "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
'("-Ddri-drivers=nouveau,r200,r100"
- "-Dllvm=true"))
+ "-Dllvm=enabled"))
(_
'("-Ddri-drivers=nouveau,r200,r100"))))
@@ -356,25 +360,39 @@ also known as DXTn or DXTC) for Mesa.")
(guix build meson-build-system))
#:phases
(modify-phases %standard-phases
- ,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
- (%current-system)))
- ;; Disable some of the llvmpipe tests.
- `((add-after 'unpack 'disable-failing-test
- (lambda _
- (substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c"
- (("0\\.5, ") ""))
- #t)))
- '())
- ,@(if (string-prefix? "i686" (or (%current-target-system)
- (%current-system)))
- ;; Disable new test from Mesa 19 that fails on i686. Upstream
- ;; report: <https://bugs.freedesktop.org/show_bug.cgi?id=110612>.
- `((add-after 'unpack 'disable-failing-test
- (lambda _
- (substitute* "src/util/tests/format/meson.build"
- (("'u_format_test',") ""))
- #t)))
- '())
+ (add-after 'unpack 'disable-failing-test
+ (lambda _
+ ,@(match (%current-system)
+ ("powerpc64le"
+ ;; Disable some of the llvmpipe tests.
+ `((substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c"
+ (("0\\.5, ") ""))))
+ ("powerpc"
+ ;; There are some tests which fail specifically on powerpc.
+ `((substitute* '(;; LLVM ERROR: Relocation type not implemented yet!
+ "src/gallium/drivers/llvmpipe/meson.build"
+ ;; This is probably a big-endian test failure.
+ "src/gallium/targets/osmesa/meson.build")
+ (("if with_tests") "if not with_tests"))
+ (substitute* "src/util/tests/format/meson.build"
+ ;; This is definately an endian-ness test failure.
+ (("'u_format_test', ") ""))
+ ;; It is only this portion of the test which fails.
+ (substitute* "src/mesa/main/tests/meson.build"
+ ((".*mesa_formats.*") ""))))
+ ("i686-linux"
+ ;; Disable new test from Mesa 19 that fails on i686. Upstream
+ ;; report: <https://bugs.freedesktop.org/show_bug.cgi?id=110612>.
+ `((substitute* "src/util/tests/format/meson.build"
+ (("'u_format_test',") ""))))
+ (_
+ '((display "No tests to disable on this architecture.\n"))))))
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; See <https://gitlab.freedesktop.org/mesa/mesa/-/issues/3181>.
+ (substitute* "src/compiler/glsl/glcpp/tests/084-unbalanced-parentheses.c.expected"
+ (("unexpected \\$end") "unexpected end of file"))
+ #t))
(add-before 'configure 'fix-dlopen-libnames
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -398,22 +416,13 @@ also known as DXTn or DXTC) for Mesa.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(bin (assoc-ref outputs "bin")))
- ,@(match (%current-system)
- ((or "i686-linux" "x86_64-linux" "powerpc64le-linux")
- ;; Install the Vulkan overlay control script to a separate
- ;; output to prevent a reference on Python, saving ~70 MiB
- ;; on the closure size.
- '((copy-recursively (string-append out "/bin")
- (string-append bin "/bin"))
- (delete-file-recursively (string-append out "/bin"))))
- (_
- ;; XXX: On architectures without the Vulkan overlay layer
- ;; just create an empty file because outputs can not be
- ;; added conditionally.
- '((mkdir-p (string-append bin "/bin"))
- (call-with-output-file (string-append bin "/bin/.empty")
- (const #t)))))
- #t)))
+ ;; Not all architectures have the Vulkan overlay control script.
+ (mkdir-p (string-append bin "/bin"))
+ (call-with-output-file (string-append bin "/bin/.empty")
+ (const #t))
+ (copy-recursively (string-append out "/bin")
+ (string-append bin "/bin"))
+ (delete-file-recursively (string-append out "/bin")))))
(add-after 'install 'symlinks-instead-of-hard-links
(lambda* (#:key outputs #:allow-other-keys)
;; All the drivers and gallium targets create hard links upon
@@ -663,7 +672,7 @@ OpenGL graphics API.")
(define-public libepoxy
(package
(name "libepoxy")
- (version "1.5.4")
+ (version "1.5.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -671,7 +680,7 @@ OpenGL graphics API.")
version "/libepoxy-" version ".tar.xz"))
(sha256
(base32
- "1ll9fach4v30dsyd47s5ial4gaiwihzr2afb77vxxzzy3mlcrlhb"))))
+ "0mh5bdgqfd8m4wj6jlvn4ac94sgfa8r6ish75ciwrhdw47dn65i6"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -691,7 +700,8 @@ OpenGL graphics API.")
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python)))
- (inputs
+ (propagated-inputs
+ ;; epoxy.pc: 'Requires.private: gl egl'
`(("mesa" ,mesa)))
(home-page "https://github.com/anholt/libepoxy/")
(synopsis "A library for handling OpenGL function pointer management")
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 206222b578..f0be2ddaa4 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -11,8 +11,10 @@
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
-;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -34,16 +36,20 @@
#:use-module (gnu packages)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libffi)
@@ -58,7 +64,6 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
- #:use-module (gnu packages selinux)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -90,7 +95,7 @@
(define dbus
(package
(name "dbus")
- (version "1.12.16")
+ (version "1.12.20")
(source (origin
(method url-fetch)
(uri (string-append
@@ -98,9 +103,8 @@
version ".tar.gz"))
(sha256
(base32
- "107ckxaff1cv4q6kmfdi2fb1nlsv03312a7kf6lb4biglhpjv8jl"))
- (patches (search-patches "dbus-CVE-2020-12049.patch"
- "dbus-helper-search-path.patch"))))
+ "1zp5gpx61v1cpqf2zwb1cidhp9xylvw49d3zydkxqk6b1qa20xpp"))
+ (patches (search-patches "dbus-helper-search-path.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -170,264 +174,165 @@ shared NFS home directories.")
(define glib
(package
- (name "glib")
- (version "2.62.6")
- (replacement glib/fixed)
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/"
- name "/" (string-take version 4) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
- (patches (search-patches "glib-appinfo-watch.patch"
- "glib-tests-timer.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "tests/spawn-test.c"
- (("/bin/sh") "sh"))
- #t))))
- (build-system meson-build-system)
- (outputs '("out" ; everything
- "bin")) ; glib-mkenums, gtester, etc.; depends on Python
- (propagated-inputs
- `(("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc
- ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
- ;; These are in the Requires.private field of gio-2.0.pc
- ("util-linux" ,util-linux "lib") ;for libmount
- ("libselinux" ,libselinux)
- ("zlib" ,zlib)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("m4" ,m4) ; for installing m4 macros
- ("dbus" ,dbus) ; for GDBus tests
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
- ("perl" ,perl) ; needed by GIO tests
- ("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c
- (arguments
- `(#:disallowed-references (,tzdata-for-tests)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-dbus-launch-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((dbus (assoc-ref inputs "dbus")))
- (substitute* "gio/gdbusaddress.c"
- (("command_line = g_strdup_printf \\(\"dbus-launch")
- (string-append "command_line = g_strdup_printf (\""
- dbus "/bin/dbus-launch")))
- #t)))
- (add-after 'unpack 'patch-gio-launch-desktop
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
- ;; for another future fix.
- (substitute* "gio/gdesktopappinfo.c"
- (("gio-launch-desktop")
- (string-append out "/libexec/gio-launch-desktop")))
- #t)))
- ;; TODO: Remove the conditional in the next core-updates cycle.
- ;; Needed to build glib on slower ARM nodes.
- ,@(if (string-prefix? "arm" (%current-system))
- `((add-after 'unpack 'increase-test-timeout
- (lambda _
- (substitute* "meson.build"
- (("test_timeout = 60")
- "test_timeout = 120")
- (("test_timeout_slow = 120")
- "test_timeout_slow = 180")))))
- '())
- (add-before 'build 'pre-build
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; For tests/gdatetime.c.
- (setenv "TZDIR"
- (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
-
- ;; Some tests want write access there.
- (setenv "HOME" (getcwd))
- (setenv "XDG_CACHE_HOME" (getcwd))
- #t))
- (add-after 'unpack 'disable-failing-tests
- (lambda _
- (let ((disable
- (lambda (test-file test-paths)
- (define pattern+procs
- (map (lambda (test-path)
- (cons
- ;; XXX: only works for single line statements.
- (format #f "g_test_add_func.*\"~a\".*" test-path)
- (const "")))
- test-paths))
- (substitute test-file pattern+procs)))
- (failing-tests
- '(("glib/tests/thread.c"
- (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
- ;; as found on hydra.gnu.org, and strace(1) doesn't
- ;; recognize it.
- "/thread/thread4"))
-
- ;; This tries to find programs in FHS directories.
- ("glib/tests/utils.c"
- ("/utils/find-program"))
-
- ;; This fails because "glib/tests/echo-script" cannot be
- ;; found.
- ("glib/tests/spawn-singlethread.c"
- ("/gthread/spawn-script"))
-
- ("glib/tests/timer.c"
- (;; fails if compiler optimizations are enabled, which they
- ;; are by default.
- "/timer/stop"))
-
- ("gio/tests/gapplication.c"
- (;; XXX: proven to be unreliable. See:
- ;; <https://bugs.debian.org/756273>
- ;; <http://bugs.gnu.org/18445>
- "/gapplication/quit"
-
- ;; XXX: fails randomly for unknown reason. See:
- ;; <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
- "/gapplication/local-actions"))
-
- ("gio/tests/contenttype.c"
- (;; XXX: requires shared-mime-info.
- "/contenttype/guess"
- "/contenttype/guess_svg_from_data"
- "/contenttype/subtype"
- "/contenttype/list"
- "/contenttype/icon"
- "/contenttype/symbolic-icon"
- "/contenttype/tree"))
-
- ("gio/tests/appinfo.c"
- (;; XXX: requires update-desktop-database.
- "/appinfo/associations"))
-
- ("gio/tests/desktop-app-info.c"
- (;; XXX: requires update-desktop-database.
- "/desktop-app-info/delete"
- "/desktop-app-info/default"
- "/desktop-app-info/fallback"
- "/desktop-app-info/lastused"
- "/desktop-app-info/search"))
-
- ("gio/tests/gdbus-peer.c"
- (;; Requires /etc/machine-id.
- "/gdbus/codegen-peer-to-peer"))
-
- ("gio/tests/gdbus-address-get-session.c"
- (;; Requires /etc/machine-id.
- "/gdbus/x11-autolaunch"))
-
- ("gio/tests/gsocketclient-slow.c"
- (;; These tests tries to resolve "localhost", and fails.
- "/socket-client/happy-eyeballs/slow"
- "/socket-client/happy-eyeballs/cancellation/delayed"))
-
- )))
- (for-each (lambda (x) (apply disable x)) failing-tests)
- #t)))
- (replace 'check
- (lambda _
- (setenv "MESON_TESTTHREADS"
- (number->string (parallel-job-count)))
- ;; Do not run tests marked as "flaky".
- (invoke "meson" "test" "--no-suite" "flaky")))
- ;; TODO: meson does not permit the bindir to be outside of prefix.
- ;; See https://github.com/mesonbuild/meson/issues/2561
- ;; We can remove this once meson is patched.
- (add-after 'install 'move-executables
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (bin (assoc-ref outputs "bin")))
- (mkdir-p bin)
- (rename-file (string-append out "/bin")
- (string-append bin "/bin"))
- ;; This one is an implementation detail of glib.
- ;; It is wrong that that's in "/bin" in the first place,
- ;; but that's what upstream is doing right now.
- ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
- (mkdir (string-append out "/libexec"))
- (rename-file (string-append bin "/bin/gio-launch-desktop")
- (string-append out "/libexec/gio-launch-desktop"))
- ;; Do not refer to "bindir", which points to "${prefix}/bin".
- ;; We don't patch "bindir" to point to "$bin/bin", because that
- ;; would create a reference cycle between the "out" and "bin"
- ;; outputs.
- (substitute* (list (string-append out "/lib/pkgconfig/gio-2.0.pc")
- (string-append out "/lib/pkgconfig/glib-2.0.pc"))
- (("bindir=\\$\\{prefix\\}/bin") "")
- (("=\\$\\{bindir\\}/") "="))
- #t))))))
- ;; TODO: see above for explanation.
- ;; #:configure-flags (list (string-append "--bindir="
- ;; (assoc-ref %outputs "bin")
- ;; "/bin"))
-
- (native-search-paths
- ;; This variable is not really "owned" by GLib, but several related
- ;; packages refer to it: gobject-introspection's tools use it as a search
- ;; path for .gir files, and it's also a search path for schemas produced
- ;; by 'glib-compile-schemas'.
- (list (search-path-specification
- (variable "XDG_DATA_DIRS")
- (files '("share")))
- ;; To load extra gio modules from glib-networking, etc.
- (search-path-specification
- (variable "GIO_EXTRA_MODULES")
- (files '("lib/gio/modules")))))
- (search-paths native-search-paths)
- (properties '((hidden? . #t)))
-
- (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
- (description
- "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
- (home-page "https://developer.gnome.org/glib/")
- (license license:lgpl2.1+)))
-
-(define glib/fixed
- (package
- (inherit glib)
- (source (origin
- (inherit (package-source glib))
- (patches
- (append (search-patches "glib-CVE-2021-27218.patch"
- "glib-CVE-2021-27219-01.patch"
- "glib-CVE-2021-27219-02.patch"
- "glib-CVE-2021-27219-03.patch"
- "glib-CVE-2021-27219-04.patch"
- "glib-CVE-2021-27219-05.patch"
- "glib-CVE-2021-27219-06.patch"
- "glib-CVE-2021-27219-07.patch"
- "glib-CVE-2021-27219-08.patch"
- "glib-CVE-2021-27219-09.patch"
- "glib-CVE-2021-27219-10.patch"
- "glib-CVE-2021-27219-11.patch"
- "glib-CVE-2021-27219-12.patch"
- "glib-CVE-2021-27219-13.patch"
- "glib-CVE-2021-27219-14.patch"
- "glib-CVE-2021-27219-15.patch"
- "glib-CVE-2021-27219-16.patch"
- "glib-CVE-2021-27219-17.patch"
- "glib-CVE-2021-27219-18.patch"
- "glib-CVE-2021-28153.patch")
- (origin-patches (package-source glib))))))))
+ (name "glib")
+ (version "2.68.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/"
+ name "/" (string-take version 4) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1sh3h6b734cxhdd1qlzvhxq6rc7k73dsisap5y3s419s9xc4ywv7"))
+ (patches
+ (search-patches "glib-appinfo-watch.patch"
+ "glib-skip-failing-test.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "tests/spawn-test.c"
+ (("/bin/sh") "sh"))
+ #t))))
+ (build-system meson-build-system)
+ (outputs '("out" ;libraries, locales, etc
+ "static" ;static libraries
+ "bin")) ;executables; depends on Python
+ (arguments
+ `(#:disallowed-references (,tzdata-for-tests)
+ #:configure-flags '("--default-library=both"
+ "-Dman=true"
+ "-Dselinux=disabled")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Needed to pass the test phase on slower ARM and i686 machines.
+ (add-after 'unpack 'increase-test-timeout
+ (lambda _
+ (substitute* "meson.build"
+ (("(test_timeout.*) = ([[:digit:]]+)" all first second)
+ (string-append first " = " second "0")))))
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (with-directory-excursion "glib/tests"
+ (substitute* '("unix.c" "utils.c")
+ (("[ \t]*g_test_add_func.*;") "")))
+ (with-directory-excursion "gio/tests"
+ (substitute* '("contenttype.c" "gdbus-address-get-session.c"
+ "gdbus-peer.c" "appinfo.c" "desktop-app-info.c")
+ (("[ \t]*g_test_add_func.*;") "")))
+ #t))
+ ;; Python references are not being patched in patch-phase of build,
+ ;; despite using python-wrapper as input. So we patch them manually.
+ (add-after 'unpack 'patch-python-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+ "glib/gtester-report.in"
+ "gobject/glib-genmarshal.in"
+ "gobject/glib-mkenums.in")
+ (("@PYTHON@")
+ (string-append (assoc-ref inputs "python")
+ "/bin/python"
+ ,(version-major+minor
+ (package-version python)))))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; For tests/gdatetime.c.
+ (setenv "TZDIR"
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo"))
+ ;; Some tests want write access there.
+ (setenv "HOME" (getcwd))
+ (setenv "XDG_CACHE_HOME" (getcwd))
+ #t))
+ (add-after 'install 'move-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (static (assoc-ref outputs "static")))
+ (mkdir-p (string-append static "/lib"))
+ (for-each (lambda (file)
+ (link file (string-append static "/lib/"
+ (basename file)))
+ (delete-file file))
+ (find-files (string-append out "/lib") "\\.a$")))))
+ ;; Meson does not permit the bindir to be outside of prefix.
+ (add-after 'install 'move-bin
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (assoc-ref outputs "bin")))
+ (mkdir-p bin)
+ (rename-file
+ (string-append out "/bin")
+ (string-append bin "/bin"))
+ ;; Do not refer to "bindir", which points to "${prefix}/bin".
+ ;; We don't patch "bindir" to point to "$bin/bin", because that
+ ;; would create a reference cycle between the "out" and "bin"
+ ;; outputs.
+ (substitute*
+ (list
+ (string-append out "/lib/pkgconfig/gio-2.0.pc")
+ (string-append out "/lib/pkgconfig/glib-2.0.pc"))
+ (("bindir=\\$\\{prefix\\}/bin") "")
+ (("=\\$\\{bindir\\}/") "="))
+ #t))))))
+ ;; TODO: see above for explanation.
+ ;; #:configure-flags (list (string-append "--bindir="
+ ;; (assoc-ref %outputs "bin")
+ ;; "/bin"))
+ (native-inputs
+ `(("docbook-xsl" ,docbook-xsl)
+ ("gettext" ,gettext-minimal)
+ ("libintl" ,intltool)
+ ("m4" ,m4) ; for installing m4 macros
+ ("perl" ,perl) ; needed by GIO tests
+ ("pkg-config" ,pkg-config)
+ ("python" ,python) ; For 'patch-python-references
+ ("python-wrapper" ,python-wrapper)
+ ("tzdata" ,tzdata-for-tests) ; for tests/gdatetime.c
+ ("xmllint" ,libxml2)
+ ("xsltproc" ,libxslt)))
+ (inputs
+ `(("bash-completion" ,bash-completion)
+ ("dbus" ,dbus)
+ ("libelf" ,libelf)))
+ (propagated-inputs
+ `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+ ("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc
+ ("util-linux" ,util-linux "lib") ;for libmount
+ ("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc
+ (native-search-paths
+ ;; This variable is not really "owned" by GLib, but several related
+ ;; packages refer to it: gobject-introspection's tools use it as a search
+ ;; path for .gir files, and it's also a search path for schemas produced
+ ;; by 'glib-compile-schemas'.
+ (list
+ (search-path-specification
+ (variable "XDG_DATA_DIRS")
+ (files '("share")))
+ ;; To load extra gio modules from glib-networking, etc.
+ (search-path-specification
+ (variable "GIO_EXTRA_MODULES")
+ (files '("lib/gio/modules")))))
+ (search-paths native-search-paths)
+ (synopsis "Low-level core library for GNOME projects")
+ (description "GLib provides the core application building blocks for
+libraries and applications written in C. It provides the core object system
+used in GNOME, the main loop implementation, and a large set of utility
+functions for strings and common data structures.")
+ (home-page "https://wiki.gnome.org/Projects/GLib")
+ (license license:lgpl2.1+)))
(define-public glib-with-documentation
;; glib's doc must be built in a separate package since it requires gtk-doc,
;; which in turn depends on glib.
(package/inherit glib
- (properties (alist-delete 'hidden? (package-properties glib)))
+ ;; (properties (alist-delete 'hidden? (package-properties glib)))
+ (properties '((hidden? . #t)))
(outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
(native-inputs
- `(("gtk-doc" ,gtk-doc) ; for the doc
- ("docbook-xml" ,docbook-xml)
+ `(("docbook-xml-4.2" ,docbook-xml-4.2)
+ ("docbook-xml-4.5" ,docbook-xml)
+ ("gtk-doc" ,gtk-doc) ; for the doc
("libxml2" ,libxml2)
,@(package-native-inputs glib)))
(arguments
@@ -436,62 +341,43 @@ dynamic loading, and an object system.")
`(cons "-Dgtk_doc=true" ,flags))
((#:phases phases)
`(modify-phases ,phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs"
+ (substitute* (find-files "." "\\.xml$")
+ (("http://www.oasis-open.org/docbook/xml/4\\.5/")
+ (string-append (assoc-ref inputs "docbook-xml-4.5")
+ "/xml/dtd/docbook/"))
+ (("http://www.oasis-open.org/docbook/xml/4\\.2/")
+ (string-append (assoc-ref inputs "docbook-xml-4.2")
+ "/xml/dtd/docbook/"))))
+ #t))
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc"))
- (html (string-append "/share/gtk-doc")))
- (copy-recursively (string-append out html)
- (string-append doc html))
- (delete-file-recursively (string-append out html))
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc"))
+ (html (string-append "/share/gtk-doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out html)
+ (string-append doc html))
#t)))))))))
-;;; TODO: Merge into glib as a 'static' output on core-updates.
-(define-public glib-static
- (hidden-package
- (package
- (inherit glib)
- (name "glib-static")
- (outputs '("out"))
- (arguments
- (substitute-keyword-arguments (package-arguments glib)
- ((#:configure-flags flags ''())
- `(cons* "--default-library=static"
- "-Dselinux=disabled"
- "-Dman=false"
- "-Dgtk_doc=false"
- "-Dinternal_pcre=false"
- ,flags))
- ((#:phases phases)
- `(modify-phases ,phases
- (delete 'move-executables)
- (replace 'install
- ;; Only install the static libraries.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- (for-each (lambda (f)
- (install-file f lib))
- (find-files "." "\\.a$"))))))))))))
-
(define gobject-introspection
(package
(name "gobject-introspection")
- (version "1.62.0")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/"
- "gobject-introspection/" (version-major+minor version)
- "/gobject-introspection-" version ".tar.xz"))
- (sha256
- (base32 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
- (patches
- (search-patches
- "gobject-introspection-cc.patch"
- "gobject-introspection-girepository.patch"
- "gobject-introspection-absolute-shlib-path.patch"))))
+ (version "1.66.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/"
+ "gobject-introspection/" (version-major+minor version)
+ "/gobject-introspection-" version ".tar.xz"))
+ (sha256
+ (base32 "078n0q7b6z682mf4irclrksm73cyixq295mqnqifl9plwmgaai6x"))
+ (patches (search-patches
+ "gobject-introspection-cc.patch"
+ "gobject-introspection-girepository.patch"
+ "gobject-introspection-absolute-shlib-path.patch"))))
(build-system meson-build-system)
(arguments
`(#:phases
@@ -508,11 +394,11 @@ dynamic loading, and an object system.")
(inputs
`(("bison" ,bison)
("flex" ,flex)
- ("glib" ,glib)
("python" ,python-wrapper)
("zlib" ,zlib)))
(propagated-inputs
- `(;; In practice, GIR users will need libffi when using
+ `(("glib" ,glib)
+ ;; In practice, GIR users will need libffi when using
;; gobject-introspection.
("libffi" ,libffi)))
(native-search-paths
@@ -609,7 +495,7 @@ The intltool collection can be used to do these things:
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/itstool")))
(wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))))
#t))))))
(home-page "http://www.itstool.org")
(synopsis "Tool to translate XML documents with PO files")
@@ -664,63 +550,149 @@ by GDBus included in Glib.")
(define libsigc++
(package
(name "libsigc++")
- (version "2.10.3")
+ (version "3.0.6")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/libsigc++/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b"))))
- (build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)
- ("m4" ,m4)))
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/libsigc++/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:configure-flags
+ (list
+ "-Dbuild-documentation=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs"
+ (substitute* (find-files "." "\\.xml$")
+ (("http://www.oasis-open.org/docbook/xml/4\\.1\\.2/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
+ #t))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))
+ #t))))))
+ (native-inputs
+ `(("docbook-xml" ,docbook-xml-4.1.2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("m4" ,m4)
+ ("mm-common" ,mm-common)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xmllint" ,libxml2)
+ ("xsltproc" ,libxslt)))
+ (inputs
+ `(("boost" ,boost)))
(home-page "https://libsigcplusplus.github.io/libsigcplusplus/")
(synopsis "Type-safe callback system for standard C++")
(description
"Libsigc++ implements a type-safe callback system for standard C++. It
-allows you to define signals and to connect those signals to any callback
-function, either global or a member function, regardless of whether it is
-static or virtual.
+ allows you to define signals and to connect those signals to any callback
+ function, either global or a member function, regardless of whether it is
+ static or virtual.
-It also contains adaptor classes for connection of dissimilar callbacks and
-has an ease of use unmatched by other C++ callback libraries.")
- (license license:lgpl2.1+)))
+ It also contains adaptor classes for connection of dissimilar callbacks and
+ has an ease of use unmatched by other C++ callback libraries.")
+ (license license:lgpl3+)))
+
+ (define-public libsigc++-2
+ (package
+ (inherit libsigc++)
+ (name "libsigc++")
+ (version "2.9.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/libsigc++/"
+ (version-major+minor version)
+ "/libsigc++-" version ".tar.xz"))
+ (sha256
+ (base32 "0zq963d0sss82q62fdfjs7l9iwbdch51albck18cb631ml0v7y8b"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs"
+ (substitute* (find-files "." "\\.xml$")
+ (("http://www.oasis-open.org/docbook/xml/4\\.1\\.2/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
+ #t))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))
+ #t))))))))
(define glibmm
(package
(name "glibmm")
- (version "2.62.0")
+ (version "2.68.0")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/glibmm/"
- (version-major+minor version)
- "/glibmm-" version ".tar.xz"))
- (sha256
- (base32
- "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n"))))
- (build-system gnu-build-system)
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/glibmm/"
+ (version-major+minor version)
+ "/glibmm-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
(arguments
- `(#:phases
+ `(#:configure-flags
+ (list
+ "-Dbuild-documentation=true")
+ #:phases
(modify-phases %standard-phases
- (add-before 'build 'pre-build
+ (add-after 'unpack 'disable-failing-tests
(lambda _
- ;; This test uses /etc/fstab as an example file to read
- ;; from; choose a better example.
- (substitute* "tests/giomm_simple/main.cc"
- (("/etc/fstab")
- (string-append (getcwd)
- "/tests/giomm_simple/main.cc")))
-
- ;; This test does a DNS lookup, and then expects to be able
- ;; to open a TLS session; just skip it.
- (substitute* "tests/giomm_tls_client/main.cc"
- (("Gio::init.*$")
- "return 77;\n"))
- #t)))))
- (native-inputs `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")))
+ (substitute* "tests/meson.build"
+ ;; This test uses /etc/fstab as an example file to read
+ ;; from; disable it.
+ (("[ \t]*.*giomm_simple.*$") "")
+ ;; This test does a DNS lookup, and then expects to be able
+ ;; to open a TLS session; just skip it.
+ (("[ \t]*.*giomm_tls_client.*$") ""))
+ #t))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))
+ #t))))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("glib:bin" ,glib "bin")
+ ("m4" ,m4)
+ ("mm-common" ,mm-common)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
(propagated-inputs
`(("libsigc++" ,libsigc++)
("glib" ,glib)))
@@ -735,7 +707,7 @@ useful for C++.")
(package
(inherit glibmm)
(name "glibmm")
- (version "2.64.2")
+ (version "2.64.5")
(source
(origin
(method url-fetch)
@@ -744,10 +716,10 @@ useful for C++.")
(version-major+minor version)
"/glibmm-" version ".tar.xz"))
(sha256
- (base32 "1v6lp23fr2qh4zshcnm28sn29j3nzgsvcqj2nhmrnvamipjq4lm7"))))
+ (base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh"))))
(propagated-inputs
- `(("libsigc++" ,libsigc++)
- ("glib" ,glib)))))
+ `(("libsigc++" ,libsigc++-2)
+ ,@(package-propagated-inputs glibmm)))))
(define-public python2-pygobject-2
(package
@@ -790,7 +762,7 @@ useful for C++.")
(define-public python-pygobject
(package
(name "python-pygobject")
- (version "3.34.0")
+ (version "3.40.1")
(source
(origin
(method url-fetch)
@@ -799,7 +771,7 @@ useful for C++.")
"/pygobject-" version ".tar.xz"))
(sha256
(base32
- "06i7ynnbvgpz0gw09zsjbvhgcp5qz4yzdifw27qjwdazg2mckql7"))
+ "0d80g5kgf2i9cginyhalvb7ibfk9g30yilqzmcsw6h6byj8xbih0"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index d8997ac538..af920c501d 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -916,7 +916,7 @@ track stocks, currencies and cryptocurrencies.")
("json-glib" ,json-glib)
("jsonrpc-glib" ,jsonrpc-glib)
("libgee" ,libgee)
- ("vala" ,vala-0.50)))
+ ("vala" ,vala)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/benwaffle/vala-language-server")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 91ffa23548..e03ed77374 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -143,6 +143,7 @@
#:use-module (gnu packages lirc)
#:use-module (gnu packages lua)
#:use-module (gnu packages mail)
+ #:use-module (gnu packages man)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages music)
@@ -956,7 +957,7 @@ cloud integration is offered through GNOME Online Accounts.")
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
`("GST_PLUGIN_SYSTEM_PATH" = (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
`("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))
- `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))))
#t)))))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
@@ -1120,8 +1121,7 @@ freedesktop.org desktop notification specification.")
"1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.55
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda* (#:key inputs #:allow-other-keys)
@@ -1420,8 +1420,6 @@ and implementation of UPnP A/V profiles.")
(base32
"1mlw1qgj8nkd9ll6b6h54r1gfdy3zp8a8xqz7qfyfaj85jjgbph7"))))
(build-system meson-build-system)
- (arguments
- `(#:meson ,meson-next))
(native-inputs
`(("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
@@ -1808,7 +1806,6 @@ either on a local, or remote machine via a number of methods.")
(build-system glib-or-gtk-build-system)
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
- ("gcc" ,gcc-8) ;required for -Wcast-function-type
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
@@ -2749,7 +2746,7 @@ and how they are displayed (View).")
(package-version python))
"/site-packages")))
(wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(native-inputs
@@ -3267,104 +3264,70 @@ XML/CSS rendering engine.")
(sha256
(base32
"0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags '("--disable-static")))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
-
- ;; For tests.
- ("perl" ,perl)
- ("perl-xml-parser" ,perl-xml-parser)))
- (inputs
- `(("zlib" ,zlib)
- ("bzip2" ,bzip2)))
- (propagated-inputs
- `(("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)
- ("libxml2" ,libxml2)))
- (home-page "https://www.gnome.org/projects/libgsf")
- (synopsis "GNOME's Structured File Library")
- (description
- "Libgsf aims to provide an efficient extensible I/O abstraction for
-dealing with different structured file formats.")
-
- ;; LGPLv2.1-only.
- (license license:lgpl2.1)))
-
-(define-public librsvg
- (package
- (name "librsvg")
- (version "2.40.21")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
- (build-system gnu-build-system)
+ (build-system glib-or-gtk-build-system)
+ (outputs '("out" "bin" "doc"))
(arguments
`(#:configure-flags
- (list "--disable-static"
- "--enable-vala") ; needed for e.g. gnome-mines
+ (list
+ "--disable-static"
+ "--enable-introspection"
+ (string-append "--with-gir-dir="
+ (assoc-ref %outputs "out")
+ "/share/gir-"
+ ,(version-major
+ (package-version gobject-introspection))
+ ".0")
+ (string-append "--with-typelib-dir="
+ (assoc-ref %outputs "out")
+ "/lib/girepository-"
+ ,(version-major
+ (package-version gobject-introspection))
+ ".0")
+ (string-append "--with-html-dir="
+ (assoc-ref %outputs "doc")
+ "/share/gtk-doc/html")
+ "--with-zlib"
+ "--with-bz2")
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'pre-configure
+ (add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
- (substitute* "gdk-pixbuf-loader/Makefile.in"
- ;; By default the gdk-pixbuf loader is installed under
- ;; gdk-pixbuf's prefix. Work around that.
- (("gdk_pixbuf_moduledir = .*$")
- (string-append "gdk_pixbuf_moduledir = "
- "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
- "loaders\n"))
- ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
- (("gdk_pixbuf_cache_file = .*$")
- "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
- #t))
- (add-before 'check 'remove-failing-tests
- (lambda _
- (with-directory-excursion "tests/fixtures/reftests"
- (for-each delete-file
- '(;; This test fails on i686:
- "svg1.1/masking-path-04-b.svg"
- ;; This test fails on armhf:
- "svg1.1/masking-mask-01-b.svg"
- ;; This test fails on aarch64:
- "bugs/777834-empty-text-children.svg")))
+ (with-directory-excursion "doc"
+ (substitute* "gsf-docs.xml"
+ (("http://www.oasis-open.org/docbook/xml/4.5/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
#t)))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("glib" ,glib "bin") ; glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+ `(("docbook-xml" ,docbook-xml)
+ ("gettext" ,gettext-minimal)
+ ("gobject-introspection" ,gobject-introspection)
+ ("perl" ,perl)
+ ("perl-xml-parser" ,perl-xml-parser)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
(inputs
- `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
- ;; this ancient version of librsvg.
- ("pango" ,pango-1.42)
- ("libcroco" ,libcroco)
- ("bzip2" ,bzip2)
- ("libgsf" ,libgsf)
- ("libxml2" ,libxml2)))
- (propagated-inputs
- ;; librsvg-2.0.pc refers to all of that.
- `(("cairo" ,cairo)
+ `(("bzip2" ,bzip2)
("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)))
- (home-page "https://wiki.gnome.org/LibRsvg")
- (synopsis "Render SVG files using Cairo")
- (description
- "Librsvg is a C library to render SVG files using the Cairo 2D graphics
-library.")
- (license license:lgpl2.0+)))
+ ("zlib" ,zlib)))
+ (propagated-inputs
+ `(("glib" ,glib)
+ ("libxml2" ,libxml2)))
+ (synopsis "G Structured File Library")
+ (description "Libgsf aims to provide an efficient extensible I/O abstraction
+for dealing with different structured file formats.")
+ (home-page "https://gitlab.gnome.org/GNOME/libgsf")
+ (license
+ (list
+ ;; Library
+ license:lgpl2.1+
+ ;; Others
+ license:lgpl2.0+))))
-(define-public librsvg-next
+(define-public librsvg
(package
(name "librsvg")
- (version "2.50.3")
+ (version "2.50.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/librsvg/"
@@ -3372,15 +3335,16 @@ library.")
"librsvg-" version ".tar.xz"))
(sha256
(base32
- "0n79i4wj9hm0d3bbn4xvknq5ylhqs16pvhaqr1rxspx9wfc8lad4"))
+ "0wlj5g1jgp93sj3rr6qspj282whz13ahnv8ca99d7zilq9s1aw1j"))
(modules '((guix build utils)))
(snippet
- '(begin (delete-file-recursively "vendor")
- #t))))
+ '(begin (delete-file-recursively "vendor")))))
(build-system cargo-build-system)
(outputs '("out" "doc"))
(arguments
`(#:install-source? #f
+ ;; XXX: compiling librsvg_c_api hangs forever with 1.49.
+ #:rust ,rust-1.48
#:modules
((guix build cargo-build-system)
(guix build utils)
@@ -3440,8 +3404,7 @@ library.")
(substitute* "rsvg-docs.xml"
(("http://www.oasis-open.org/docbook/xml/4.3/")
(string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))
- #t))
+ "/xml/dtd/docbook/"))))))
(add-after 'unpack 'prepare-for-build
(lambda _
;; In lieu of #:make-flags
@@ -3449,8 +3412,7 @@ library.")
;; Something about the build environment resists building
;; successfully with the '--locked' flag.
(substitute* '("Makefile.am" "Makefile.in")
- (("--locked") ""))
- #t))
+ (("--locked") ""))))
(add-before 'configure 'pre-configure
(lambda _
(substitute* "gdk-pixbuf-loader/Makefile.in"
@@ -3462,8 +3424,7 @@ library.")
"loaders\n"))
;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
(("gdk_pixbuf_cache_file = .*$")
- "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
- #t))
+ "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))))
(add-after 'configure 'gnu-configure
(lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
((assoc-ref gnu:%standard-phases 'configure)
@@ -3474,14 +3435,13 @@ library.")
(list "--disable-static"
"--enable-vala"
(string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
+ (assoc-ref outputs "doc")
"/share/gtk-doc/html")))))
(add-after 'configure 'dont-vendor-self
(lambda* (#:key vendor-dir #:allow-other-keys)
;; Don't keep the whole tarball in the vendor directory
(delete-file-recursively
- (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
- #t))
+ (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))))
(replace 'build
(assoc-ref gnu:%standard-phases 'build))
(add-before 'check 'ignore-failing-tests
@@ -3507,8 +3467,7 @@ library.")
(("fn multiple_input_files_not_allowed_for_png_output" all)
(string-append "#[ignore] " all))
(("fn stylesheet_option_error" all)
- (string-append "#[ignore] " all)))
- #t))
+ (string-append "#[ignore] " all)))))
(replace 'check
(lambda* args
((assoc-ref gnu:%standard-phases 'check)
@@ -4389,61 +4348,58 @@ passwords in the GNOME keyring.")
(define-public vala
(package
(name "vala")
- (version "0.46.5")
+ (version "0.52.0")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
+ (uri (string-append "mirror://gnome/sources/vala/"
(version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ "vala-" version ".tar.xz"))
(sha256
(base32
- "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
- (build-system gnu-build-system)
+ "12y6p8wdjp01vmfhxg2cgh32xnyqq6ivblvrar9clnj6vc867qhx"))))
+ (build-system glib-or-gtk-build-system)
(arguments
- '(#:phases
+ '(#:configure-flags '("--enable-coverage")
+ #:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "doc/manual"
+ (substitute* '("manual.xml" "version.xml.in")
+ (("http://www.oasis-open.org/docbook/xml/4.4/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
+ #t))
(add-before 'check 'pre-check
- (lambda _
- (setenv "CC" "gcc")
- (substitute* "valadoc/tests/testrunner.sh"
- (("export PKG_CONFIG_PATH=" m)
- (string-append m "$PKG_CONFIG_PATH:")))
- ;; For missing '/etc/machine-id'.
- (setenv "DBUS_FATAL_WARNINGS" "0")
- #t)))))
+ (lambda _
+ (setenv "CC" "gcc")
+ (substitute* "valadoc/tests/libvaladoc\
+/tests-extra-environment.sh"
+ (("export PKG_CONFIG_PATH=" m)
+ (string-append m "$PKG_CONFIG_PATH:"))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("bison" ,bison)
+ ("dbus" ,dbus) ; for dbus tests
+ ("docbook-xml" ,docbook-xml-4.4)
+ ("docbook-xsl" ,docbook-xsl)
("flex" ,flex)
- ("bison" ,bison)
- ("xsltproc" ,libxslt)
- ("dbus" ,dbus) ; for dbus tests
- ("gobject-introspection" ,gobject-introspection))) ; for gir tests
- (inputs
- `(("graphviz" ,graphviz)))
+ ("gobject-introspection" ,gobject-introspection) ; for gir tests
+ ("help2man" ,help2man)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
(propagated-inputs
- `(("glib" ,glib))) ; required by libvala-0.40.pc
+ `(("glib" ,glib) ; required by libvala-0.40.pc
+ ("libgvc" ,graphviz)))
(home-page "https://wiki.gnome.org/Projects/Vala/")
- (synopsis "Compiler for the GObject type system")
- (description
- "Vala is a programming language that aims to bring modern programming
-language features to GNOME developers without imposing any additional runtime
-requirements and without using a different ABI compared to applications and
-libraries written in C.")
+ (synopsis "Compiler using the GObject type system")
+ (description "Vala is a programming language using modern high level
+abstractions without imposing additional runtime requirements and without using
+a different ABI compared to applications and libraries written in C. Vala uses
+the GObject type system and has additional code generation routines that make
+targeting the GNOME stack simple.")
(license license:lgpl2.1+)))
-(define-public vala-0.50
- (package
- (inherit vala)
- (version "0.50.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/vala/"
- (version-major+minor version) "/"
- "vala-" version ".tar.xz"))
- (sha256
- (base32
- "1nnf0x6vk0a9p2y6z7jwjfvmlxh3qhj581v381r0y1sxsv35s39c"))))))
-
(define-public vte
(package
(name "vte")
@@ -4639,7 +4595,7 @@ configuration storage systems.")
(define-public json-glib
(package
(name "json-glib")
- (version "1.4.4")
+ (version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4647,23 +4603,54 @@ configuration storage systems.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
+ "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3"))))
(build-system meson-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:configure-flags
+ (list
+ "-Ddocs=true"
+ "-Dman=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "doc"
+ (substitute* (find-files "." "\\.xml$")
+ (("http://www.oasis-open.org/docbook/xml/4\\.3/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/")))
+ (substitute* "meson.build"
+ (("http://docbook.sourceforge.net/release/xsl/current/")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-1.79.2/"))))
+ #t))
+ (add-after 'install 'move-docs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/gtk-doc")
+ (string-append doc "/share/gtk-doc"))
+ #t))))))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
+ `(("docbook-xml" ,docbook-xml-4.3)
+ ("docbook-xsl" ,docbook-xsl)
+ ("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
+ ("gtk-doc" ,gtk-doc)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
(propagated-inputs
- `(("glib" ,glib))) ;according to json-glib-1.0.pc
+ `(("glib" ,glib))) ;according to json-glib-1.0.pc
(home-page "https://wiki.gnome.org/Projects/JsonGlib")
- (synopsis "Compiler for the GObject type system")
- (description
- "JSON-GLib is a C library based on GLib providing serialization and
-deserialization support for the JavaScript Object Notation (JSON) format
-described by RFC 4627. It provides parser and generator GObject classes and
-various wrappers for the complex data types employed by JSON, such as arrays
-and objects.")
+ (synopsis "Glib and GObject implementation of JSON")
+ (description "JSON-GLib is a library providing serialization and
+described by RFC 4627. It implements a full JSON parser and generator using
+GLib and GObject, and integrates JSON with GLib data types.")
(license license:lgpl2.1+)))
(define-public libxklavier
@@ -4750,7 +4737,7 @@ library.")
(define-public glib-networking
(package
(name "glib-networking")
- (version "2.62.2")
+ (version "2.68.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glib-networking/"
@@ -4758,23 +4745,29 @@ library.")
"glib-networking-" version ".tar.xz"))
(sha256
(base32
- "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
+ "0vlzn8jf4sg90cm8xxr28yf66nhf8qy9dl2m4b8w1cr6mn2mw8qb"))))
(build-system meson-build-system)
(arguments
- `(#:configure-flags '("-Dlibproxy_support=false")))
+ `(#:configure-flags '("-Dopenssl=auto")))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("glib" ,glib)
("gnutls" ,gnutls)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
- (home-page "https://www.gnome.org")
- (synopsis "Network-related GIO modules")
- (description
- "This package contains various network related extensions for the GIO
-library.")
- (license license:lgpl2.0+)))
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("libproxy" ,libproxy)
+ ("openssl" ,openssl)))
+ (home-page "https://wiki.gnome.org/Projects/GLib")
+ (synopsis "Network extensions for GLib")
+ (description
+ "Glib-networking contains the implementations of certain GLib networking
+features that cannot be implemented directly in GLib itself because of their
+dependencies. Currently it contains GnuTLS and OpenSSL-based implementations of
+GTlsBackend, a libproxy-based implementation of GProxyResolver,
+GLibproxyResolver, and a GNOME GProxyResolver that uses the proxy information
+from the GSettings schemas in gsettings-desktop-schemas.")
+ (license license:lgpl2.1+)))
(define-public rest
(package
@@ -4857,49 +4850,10 @@ libxml to ease remote use of the RESTful API.")
(substitute* "tests/hsts-db-test.c"
((".*/hsts-db/subdomains.*") ""))
- ;; Generate a self-signed certificate that has "localhost" as its
- ;; 'dnsName'. Failing to do that, and starting with GnuTLS
- ;; 3.5.12, tests such as "ssl-tests" fail:
- ;;
- ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
- ;;
- ;; 'certtool' is interactive so we have to pipe it the answers.
- ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
- (let ((pipe (open-output-pipe "certtool --generate-self-signed \
- --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
- (for-each (lambda (line)
- (display line pipe)
- (newline pipe))
- '("" ;Common name
- "" ;UID
- "Guix" ;Organizational unit name
- "GNU" ;Organization name
- "" ;Locality name
- "" ;State or province
- "" ;Country
- "" ;subject's domain component (DC)
- "" ;E-mail
- "" ;serial number
- "-1" ;expiration time
- "N" ;belong to authority?
- "N" ;web client certificate?
- "N" ;IPsec IKE?
- "Y" ;web server certificate?
- "localhost" ;dnsName of subject
- "" ;dnsName of subject (end)
- "" ;URI of subject
- "127.0.0.1" ;IP address of subject
- "" ;signing?
- "" ;encryption (RSA)?
- "" ;data encryption?
- "" ;sign OCSP requests?
- "" ;sign code?
- "" ;time stamping?
- "" ;email protection?
- "" ;URI of the CRL distribution point
- "y" ;above info OK?
- ))
- (close-pipe pipe))
+ ;; FIXME: ssl-test fails, starting with
+ ;; glib-networking 2.68.x.
+ (substitute* "tests/meson.build"
+ (("[ \t]*\\['ssl', true, \\[\\]\\],") ""))
#t))
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
@@ -4921,7 +4875,6 @@ libxml to ease remote use of the RESTful API.")
("vala" ,vala)
("php" ,php)
("curl" ,curl)
- ("gnutls" ,gnutls) ;for 'certtool'
("httpd" ,httpd)))
(propagated-inputs
;; libsoup-2.4.pc refers to all of these (except where otherwise noted)
@@ -6310,12 +6263,12 @@ which can read a large number of file formats.")
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
(grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
- (python-path (getenv "PYTHONPATH")))
+ (python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/rhythmbox")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
`("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
- `("PYTHONPATH" ":" prefix (,python-path))))
+ `("GUIX_PYTHONPATH" ":" prefix (,python-path))))
#t)))))
(propagated-inputs
`(("dconf" ,dconf)))
@@ -6418,7 +6371,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
("libexif" ,libexif)
("libpeas" ,libpeas)
("libjpeg" ,libjpeg-turbo)
- ("librsvg" ,librsvg-next)
+ ("librsvg" ,librsvg)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)))
(home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
@@ -6687,7 +6640,7 @@ almost all of them.")
":")))
(wrap-program (string-append out "/bin/eolie")
`("LD_LIBRARY_PATH" ":" prefix (,path))
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
#t)))))
(native-inputs
@@ -6833,7 +6786,7 @@ principles are simplicity and standards compliance.")
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/d-feet")))
(wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(native-inputs
@@ -6870,10 +6823,17 @@ of running programs and invoke methods on those interfaces.")
(sha256
(base32 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ "--enable-doc")))
(native-inputs
- `(("gettext-minimal" ,gettext-minimal)
+ `(("ducktype" ,mallard-ducktype)
+ ("gettext" ,gettext-minimal)
+ ("intltool" ,intltool)
("itstool" ,itstool)
- ("xmllint" ,libxml2)))
+ ("xmllint" ,libxml2)
+ ("xsltproc" ,libxslt)))
(synopsis "XSL stylesheets for Yelp")
(description "Yelp-XSL is a collection of programs and data files to help
you build, maintain, and distribute documentation. It provides XSLT stylesheets
@@ -7292,11 +7252,11 @@ javascript engine and the GObject introspection framework.")
(let ((out (assoc-ref outputs "out"))
(gtksourceview (assoc-ref inputs "gtksourceview"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (python-path (getenv "PYTHONPATH")))
+ (python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/gedit")
;; For plugins.
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- `("PYTHONPATH" ":" prefix (,python-path))
+ `("GUIX_PYTHONPATH" ":" prefix (,python-path))
;; For language-specs.
`("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
"/share")))))
@@ -7659,12 +7619,12 @@ Evolution (hence the name), but is now used by other packages as well.")
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (python-path (getenv "PYTHONPATH"))
+ (python-path (getenv "GUIX_PYTHONPATH"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(for-each
(lambda (prog)
(wrap-program prog
- `("PYTHONPATH" ":" prefix (,python-path))
+ `("GUIX_PYTHONPATH" ":" prefix (,python-path))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
(list (string-append out "/bin/caribou-preferences")
(string-append out "/libexec/antler-keyboard"))))
@@ -8519,9 +8479,10 @@ properties, screen resolution, and other GNOME parameters.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:disallowed-references ((,glib "bin")
- ,inkscape ,libxslt
- ,ruby-sass)
+ #:disallowed-references ,(list (gexp-input glib "bin")
+ (gexp-input inkscape)
+ (gexp-input libxslt)
+ (gexp-input ruby-sass))
#:configure-flags
(list "-Dsystemd=false"
;; Otherwise, the RUNPATH will lack the final path component.
@@ -8570,7 +8531,7 @@ properties, screen resolution, and other GNOME parameters.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (python-path (getenv "PYTHONPATH")))
+ (python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/gnome-shell")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
;; FIXME: gnome-shell loads these libraries with unqualified
@@ -8584,7 +8545,7 @@ properties, screen resolution, and other GNOME parameters.")
(for-each
(lambda (prog)
(wrap-program (string-append out "/bin/" prog)
- `("PYTHONPATH" ":" prefix (,python-path))
+ `("GUIX_PYTHONPATH" ":" prefix (,python-path))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
'("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
#t)))
@@ -9368,7 +9329,7 @@ specified duration and save it as a GIF encoded animated image file.")
(package-version python))
"/site-packages")))
(wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(native-inputs
@@ -9579,13 +9540,13 @@ desktop. It supports multiple calendars, month, week and year view.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (python-path (getenv "PYTHONPATH")))
+ (python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/gnome-todo")
;; XXX: gi plugins are broken.
;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
;; For plugins.
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- `("PYTHONPATH" ":" prefix (,python-path))))
+ `("GUIX_PYTHONPATH" ":" prefix (,python-path))))
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -10187,8 +10148,8 @@ accessibility infrastructure.")
(,(getenv "GI_TYPELIB_PATH")))
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix
(,(getenv "GST_PLUGIN_SYSTEM_PATH")))
- `("PYTHONPATH" ":" prefix
- (,(getenv "PYTHONPATH")))))
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(getenv "GUIX_PYTHONPATH")))))
#t)))))
(native-inputs
`(("intltool" ,intltool)
@@ -10521,7 +10482,7 @@ apply fancy special effects and lets you share the fun with others.")
(package-version python))
"/site-packages")))
(wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(native-inputs
@@ -11588,7 +11549,7 @@ and toolbars.")
(package-version python))
"/site-packages")))
(wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(native-inputs
@@ -11649,7 +11610,7 @@ GTK+. It integrates well with the GNOME desktop environment.")
(pygo (string-append
(assoc-ref inputs "python-pygobject") site))
(python-wrap
- `("PYTHONPATH" = (,evdev ,pygo))))
+ `("GUIX_PYTHONPATH" = (,evdev ,pygo))))
(wrap-program (string-append out "/bin/" "ratbagctl")
python-wrap)
#t))))))
@@ -12031,7 +11992,7 @@ integrated profiler via Sysprof, debugging support, and more.")
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/komikku")))
(wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+ `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(inputs
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 9cc94dddb6..a6ec75765c 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -82,7 +82,7 @@
(define-public libgpg-error
(package
(name "libgpg-error")
- (version "1.37")
+ (version "1.42")
(source
(origin
(method url-fetch)
@@ -90,7 +90,7 @@
version ".tar.bz2"))
(sha256
(base32
- "0qwpx8mbc2l421a22l0l1hpzkip9jng06bbzgxwpkkvk5bvnybdk"))))
+ "08syj8mlarww8mh8x3s0x6hjqbnxp2lkg3hab57qqpv1dh7yf1zw"))))
(build-system gnu-build-system)
(arguments
(if (%current-target-system)
@@ -132,14 +132,14 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
- (version "1.8.5")
+ (version "1.8.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
- "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv"))))
+ "0j27jxhjay78by940d64778nxwbysxynv5mq6iq1nmlrh810zdq3"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error-host" ,libgpg-error)))
@@ -171,7 +171,7 @@ generation.")
(define-public libassuan
(package
(name "libassuan")
- (version "2.5.4")
+ (version "2.5.5")
(source
(origin
(method url-fetch)
@@ -179,7 +179,7 @@ generation.")
version ".tar.bz2"))
(sha256
(base32
- "1w7vnnycq4z7gf4bk38pi4hrb8qrrzgfpz3cd7frwldxnfbfx060"))))
+ "1r1lvcp67gn5lfrj1g388sd77ca6qwnmxndirdysd71gk362z34f"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)
@@ -199,7 +199,7 @@ provided.")
(define-public libksba
(package
(name "libksba")
- (version "1.5.0")
+ (version "1.5.1")
(source
(origin
(method url-fetch)
@@ -208,7 +208,7 @@ provided.")
version ".tar.bz2"))
(sha256
(base32
- "1fm0mf3wq9fmyi1rmc1vk2fafn6liiw2mgxml3g7ybbb44lz2jmf"))))
+ "08grggf4c7sxahna12slwhqrbgi8gbkw1f7n94irlza49rgcdx5h"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index a997fc1c73..a0e72be427 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -417,7 +417,7 @@ in C/C++.")
(define-public mozjs-78
(package
(inherit mozjs-60)
- (version "78.5.0")
+ (version "78.10.1")
(source (origin
(method url-fetch)
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
@@ -426,7 +426,7 @@ in C/C++.")
version "esr.source.tar.xz"))
(sha256
(base32
- "1442yjmwz69hkfcvh8kkb60jf4c9ms0pac04nc3xw2da13v4zxai"))))
+ "0gyg2p6i1wmmfghwg13pp6fj8j8xz6c14f6bbnf4pf0f5c3la7y4"))))
(arguments
`(#:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
#:modules ((guix build cargo-utils)
@@ -550,10 +550,10 @@ in C/C++.")
("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python-3)
- ("rust" ,rust)
- ("cargo" ,rust "cargo")))
+ ("rust" ,rust-1.41)
+ ("cargo" ,rust-1.41 "cargo")))
(inputs
- `(("icu4c" ,icu4c-68)
+ `(("icu4c" ,icu4c)
("readline" ,readline)
("zlib" ,zlib)))))
@@ -929,8 +929,8 @@ from forcing GEXP-PROMISE."
("patch" ,(canonical-package patch))
- ("rust" ,rust-1.41)
- ("cargo" ,rust-1.41 "cargo")
+ ("rust" ,rust)
+ ("cargo" ,rust "cargo")
("rust-cbindgen" ,rust-cbindgen-0.14)
("llvm" ,llvm)
("clang" ,clang)
@@ -1602,7 +1602,7 @@ standards of the IceCat project.")
(base32
"10l042dd7b8rvla0cbiks5kjrz2b28yy7hr8sr169wlx202hxa01")))))
("autoconf" ,autoconf-2.13)
- ("cargo" ,rust-1.41 "cargo")
+ ("cargo" ,rust "cargo")
("clang" ,clang)
("llvm" ,llvm)
("nasm" ,nasm)
@@ -1611,7 +1611,7 @@ standards of the IceCat project.")
("pkg-config" ,pkg-config)
("python" ,python)
("python2" ,python-2.7)
- ("rust" ,rust-1.41)
+ ("rust" ,rust)
("rust-cbindgen" ,rust-cbindgen-0.14)
("which" ,which)
("yasm" ,yasm)))
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm
index 1219162016..b6a692bc3e 100644
--- a/gnu/packages/gpodder.scm
+++ b/gnu/packages/gpodder.scm
@@ -90,9 +90,6 @@
#t)))
(replace 'check
(lambda _
- ; The `unittest' target overrides the PYTHONPATH variable.
- (substitute* "makefile"
- (("PYTHONPATH=src/") "PYTHONPATH=${PYTHONPATH}:src/"))
(invoke "make" "unittest")))
;; 'msgmerge' introduces non-determinism by resetting the
;; POT-Creation-Date in .po files.
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index 0eb4362858..49bc5e8254 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -281,7 +281,7 @@ such as elevation, speed, heart rate, power, temperature, and gear shifts.")
":")))
(for-each (lambda (script)
(wrap-program (string-append out "/bin/" script)
- `("PYTHONPATH" ":" prefix (,pythonpath))))
+ `("GUIX_PYTHONPATH" ":" prefix (,pythonpath))))
'("gegps" "gpscat" "gpsfake" "gpsprof"
"ubxtool" "xgps" "xgpsspeed" "zerk")))
#t)))))
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 72c96655bc..34d6434f60 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -62,16 +62,15 @@
(define-public graphviz
(package
(name "graphviz")
- (replacement graphviz/fixed)
- (version "2.42.3")
+ (version "2.47.1")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://www2.graphviz.org/Packages/stable/portable_source/"
- "graphviz-" version ".tar.gz"))
+ (uri (string-append "https://gitlab.com/graphviz/graphviz"
+ "/-/package_files/9573974/download"))
+ (file-name (string-append "graphviz-" version ".tar.xz"))
(sha256
(base32
- "1pbswjbx3fjdlsxcm7cmlsl5bvaa3d6gcnr0cr8x3c8pag13zbwg"))))
+ "1hff831p300n989x1gmyzh3ix43xd2mgx01qgrrqill44n7zxfza"))))
(build-system gnu-build-system)
(arguments
;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input.
@@ -127,15 +126,6 @@ software engineering, database and web design, machine learning, and in visual
interfaces for other technical domains.")
(license license:epl1.0)))
-(define-public graphviz/fixed
- (hidden-package
- (package
- (inherit graphviz)
- (source (origin
- (inherit (package-source graphviz))
- (patches (append (search-patches "graphviz-CVE-2020-18032.patch")
- (origin-patches (package-source graphviz)))))))))
-
;; Older Graphviz needed for pygraphviz. See
;; https://github.com/pygraphviz/pygraphviz/issues/175
(define-public graphviz-2.38
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 138fa7c314..dc0089cbd9 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;;
@@ -60,6 +60,8 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -74,10 +76,14 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
+ #:use-module (gnu packages iso-codes)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages m4)
+ #:use-module (gnu packages man)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -88,6 +94,7 @@
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages cups)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
@@ -98,86 +105,103 @@
(define-public atk
(package
- (name "atk")
- (version "2.34.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
- (build-system meson-build-system)
- (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ; glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
- (synopsis "GNOME accessibility toolkit")
- (description
- "ATK provides the set of accessibility interfaces that are implemented
+ (name "atk")
+ (version "2.36.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
+ (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin") ; glib-mkenums, etc.
+ ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+ ("pkg-config" ,pkg-config)))
+ (synopsis "GNOME accessibility toolkit")
+ (description
+ "ATK provides the set of accessibility interfaces that are implemented
by other toolkits and applications. Using the ATK interfaces, accessibility
tools have full access to view and control running applications.")
- (license license:lgpl2.0+)
- (home-page "https://developer.gnome.org/atk/")))
+ (license license:lgpl2.1+)
+ (home-page "https://wiki.gnome.org/Accessibility")))
(define-public cairo
(package
- (name "cairo")
- (version "1.16.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://cairographics.org/releases/cairo-"
- version ".tar.xz"))
- (patches (search-patches "cairo-CVE-2018-19876.patch"
- "cairo-CVE-2020-35492.patch"))
- (sha256
- (base32
- "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
- (build-system gnu-build-system)
- (propagated-inputs
- `(("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("glib" ,glib)
- ("libpng" ,libpng)
- ("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxrender" ,libxrender)
- ("pixman" ,pixman)))
- (inputs
- `(("ghostscript" ,ghostscript)
- ("libspectre" ,libspectre)
- ("poppler" ,poppler)
- ("xorgproto" ,xorgproto)
- ("zlib" ,zlib)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
+ (name "cairo")
+ (version "1.16.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://cairographics.org/releases/cairo-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))
+ (patches (search-patches
+ "cairo-CVE-2018-19876.patch"
+ "cairo-CVE-2020-35492.patch"))))
+ (build-system glib-or-gtk-build-system)
+ (outputs '("out" "doc"))
(arguments
- `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
- #:configure-flags '("--enable-tee" ;needed for GNU Icecat
- "--enable-xml" ;for cairo-xml support
- "--disable-static")))
- (synopsis "2D graphics library")
- (description
- "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF. Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering. All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
- (license license:lgpl2.1) ; or Mozilla Public License 1.1
- (home-page "https://cairographics.org/")))
+ `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+ #:configure-flags
+ (list
+ "--disable-static"
+ ;; XXX: To be enabled.
+ ;; "--enable-gallium=yes"
+ ;; "--enable-gl=yes"
+ ;; " --enable-glesv2=yes"
+ ;; "--enable-glesv3=yes"
+ ;; "--enable-cogl=yes"
+ ;; "--enable-directfb=yes"
+ ;; "--enable-vg=yes"
+ "--enable-tee=yes" ;needed for GNU IceCat
+ "--enable-xml=yes" ;for cairo-xml support
+ (string-append "--with-html-dir="
+ (assoc-ref %outputs "doc")
+ "/share/gtk-doc/html"))))
+ (native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("drm" ,libdrm)
+ ("ghostscript" ,ghostscript)
+ ("libspectre" ,libspectre)
+ ("poppler" ,poppler)))
+ (propagated-inputs
+ `( ;; ("cogl" ,cogl)
+ ;; ("directfb" ,directfb)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("glib" ,glib)
+ ;; ("gtk+" ,gtk+)
+ ("libpng" ,libpng)
+ ;; ("librsvg" ,librsvg)
+ ;; ("opengl" ,mesa)
+ ("pixman" ,pixman)
+ ("x11" ,libx11)
+ ("xcb" ,libxcb)
+ ("xext" ,libxext)
+ ("xrender" ,libxrender)))
+ (synopsis "Multi-platform 2D graphics library")
+ (description "Cairo is a 2D graphics library with support for multiple output
+devices. Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
+ (home-page "https://cairographics.org/")
+ (license
+ ;; This project is dual-licensed.
+ (list
+ license:lgpl2.1+
+ license:mpl1.1))))
(define-public cairo-sans-poppler
;; Variant used to break the dependency cycle between Poppler and Cairo.
@@ -200,15 +224,15 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz
(package
(name "harfbuzz")
- (version "2.6.4")
+ (version "2.8.1")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.freedesktop.org/software/"
- "harfbuzz/release/harfbuzz-"
+ (uri (string-append "https://github.com/harfbuzz/harfbuzz"
+ "/releases/download/" version "/harfbuzz-"
version ".tar.xz"))
(sha256
(base32
- "04iwq13w6zkdhljmsxrzgg4fyh04qnwfn57rgrl9kmijc7cvh4wl"))))
+ "000ki4nwi3vfy3qflkgkiyj4jhhb6xl0c8ygv6af5x2bxiizc921"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo
@@ -300,54 +324,61 @@ applications.")
(define-public pango
(package
- (name "pango")
- (version "1.44.7")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/pango/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (patches (search-patches "pango-skip-libthai-test.patch"))
- (sha256
- (base32
- "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'disable-cantarell-tests
- (lambda _
- (substitute* "tests/meson.build"
- ;; XXX FIXME: These tests require "font-cantarell", but
- ;; adding it here would introduce a circular dependency.
- (("\\[ 'test-harfbuzz'.*") "")
- (("\\[ 'test-itemize'.*") "")
- (("\\[ 'test-layout'.*") ""))
- #t)))))
- (propagated-inputs
- ;; These are all in Requires or Requires.private of the '.pc' files.
- `(("cairo" ,cairo)
- ("fribidi" ,fribidi)
- ("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("glib" ,glib)
- ("harfbuzz" ,harfbuzz)
-
- ;; Some packages, such as Openbox, expect Pango to be built with the
- ;; optional libxft support.
- ("libxft" ,libxft)))
- (inputs
- `(("zlib" ,zlib)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin") ; glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
- (synopsis "GNOME text and font handling library")
- (description
- "Pango is the core text and font handling library used in GNOME
-applications. It has extensive support for the different writing systems
-used throughout the world.")
- (license license:lgpl2.0+)
- (home-page "https://developer.gnome.org/pango/")))
+ (name "pango")
+ (version "1.48.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/pango/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (patches (search-patches "pango-skip-libthai-test.patch"))
+ (sha256
+ (base32
+ "0ym3cvajy2asapj8xbhfpy05rak79afrhi32hiss0w900vxi72a1"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-cantarell-tests
+ (lambda _
+ (substitute* "tests/meson.build"
+ ;; XXX FIXME: These tests require "font-cantarell", but
+ ;; adding it here would introduce a circular dependency.
+ (("\\[ 'test-layout'.*") "")
+ (("\\[ 'test-itemize'.*") "")
+ (("\\[ 'test-font'.*") "")
+ (("\\[ 'test-harfbuzz'.*") ""))
+ #t)))))
+ (propagated-inputs
+ ;; These are all in Requires or Requires.private of the '.pc' files.
+ `(("cairo" ,cairo)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("fribidi" ,fribidi)
+ ("glib" ,glib)
+ ("harfbuzz" ,harfbuzz)
+ ("libthai" ,libthai)
+ ;; Some packages, such as Openbox, expect Pango to be built with the
+ ;; optional libxft support.
+ ("libxft" ,libxft)
+ ("libxrender" ,libxrender)))
+ (inputs
+ `(("zlib" ,zlib)))
+ (native-inputs
+ `(("glib" ,glib "bin") ; glib-mkenums, etc.
+ ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+ ("help2man" ,help2man)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (synopsis "Text and font handling library")
+ (description "Pango is a library for laying out and rendering of text, with
+an emphasis on internationalization. Pango can be used anywhere that text
+layout is needed, though most of the work on Pango so far has been done in the
+context of the GTK+ widget toolkit. Pango forms the core of text and font
+handling for GTK+-2.x.")
+ (home-page "https://pango.gnome.org/")
+ (license license:lgpl2.0+)))
(define-public pango-1.42
(package
@@ -559,64 +590,74 @@ highlighting and other features typical of a source code editor.")
(define-public gdk-pixbuf
(package
- (name "gdk-pixbuf")
- (version "2.40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (patches (search-patches "gdk-pixbuf-CVE-2020-29385.patch"))
- (sha256
- (base32
- "1rnlx9yfw970maxi2x6niaxmih5la11q1ilr7gzshz2kk585k0hm"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags '("-Dinstalled_tests=false")
- #:phases
- (modify-phases %standard-phases
- (add-after
- 'unpack 'disable-failing-tests
- (lambda _
- (substitute* "tests/meson.build"
- ;; XXX FIXME: This test fails on armhf machines with:
- ;; SKIP Not enough memory to load bitmap image
- ;; ERROR: cve-2015-4491 - too few tests run (expected 4, got 2)
- ((".*'cve-2015-4491'.*") "")
- ;; XXX FIXME: This test fails with:
- ;; ERROR:pixbuf-jpeg.c:74:test_type9_rotation_exif_tag:
- ;; assertion failed (error == NULL): Data differ
- ;; (gdk-pixbuf-error-quark, 0)
- ((".*'pixbuf-jpeg'.*") ""))
- #t))
- ;; The slow tests take longer than the specified timeout.
- ,@(if (any (cute string=? <> (%current-system))
- '("armhf-linux" "aarch64-linux"))
- '((replace 'check
- (lambda _
- (invoke "meson" "test" "--timeout-multiplier" "5"))))
- '()))))
- (propagated-inputs
- `(;; Required by gdk-pixbuf-2.0.pc
- ("glib" ,glib)
- ("libpng" ,libpng)
- ;; Used for testing and required at runtime.
- ("shared-mime-info" ,shared-mime-info)))
- (inputs
- `(("libjpeg" ,libjpeg-turbo)
- ("libtiff" ,libtiff)
- ("libx11" ,libx11)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
+ (name "gdk-pixbuf")
+ (version "2.42.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0k9f9177qxaryaxprwrhqnv5p2gdq4a8i6y05gm98qa8izc5v77y"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs"
+ (substitute* "meson.build"
+ (("http://docbook.sourceforge.net/release/xsl/current/")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-1.79.2/")))
+ (substitute* (find-files "." "\\.xml$")
+ (("http://www.oasis-open.org/docbook/xml/4\\.3/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))
+ #t))
+ (add-before 'configure 'disable-failing-tests
+ (lambda _
+ (substitute* "tests/meson.build"
+ (("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],")
+ ""))
+ #t))
+ ;; The slow tests take longer than the specified timeout.
+ ,@(if (any (cute string=? <> (%current-system))
+ '("armhf-linux" "aarch64-linux"))
+ '((replace 'check
+ (lambda _
+ (invoke "meson" "test" "--timeout-multiplier" "5"))))
+ '()))))
+ (propagated-inputs
+ `( ;; Required by gdk-pixbuf-2.0.pc
+ ("glib" ,glib)
+ ;; Required by gdk-pixbuf-xlib-2.0.pc
+ ("libx11" ,libx11)
+ ;; Used for testing and required at runtime.
+ ("shared-mime-info" ,shared-mime-info)))
+ (inputs
+ `(("jasper" ,jasper)
+ ("libjpeg" ,libjpeg-turbo)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)))
+ (native-inputs
+ `(("docbook-xml" ,docbook-xml-4.3)
+ ("docbook-xsl" ,docbook-xsl)
("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ; glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
- (synopsis "GNOME image loading and manipulation library")
- (description
- "GdkPixbuf is a library for image loading and manipulation developed
-in the GNOME project.")
- (license license:lgpl2.0+)
- (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+ ("glib" ,glib "bin") ; glib-mkenums, etc.
+ ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
+ (synopsis "Image loading library")
+ (description "GdkPixbuf is a library that loads image data in various
+formats and stores it as linear buffers in memory. The buffers can then be
+scaled, composited, modified, saved, or rendered.")
+ (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
+ (license license:lgpl2.1+)))
;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the
@@ -628,10 +669,9 @@ in the GNOME project.")
`(("librsvg" ,librsvg)
,@(package-inputs gdk-pixbuf)))
(arguments
- '(#:configure-flags '("-Dinstalled-tests=false")
- #:tests? #f ; tested by the gdk-pixbuf package already
- #:phases
- (modify-phases %standard-phases
+ (substitute-keyword-arguments (package-arguments gdk-pixbuf)
+ ((#:phases phases)
+ `(modify-phases ,phases
(add-after 'install 'register-svg-loader
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -645,78 +685,89 @@ in the GNOME project.")
(apply invoke
gdk-pixbuf-query-loaders
"--update-cache"
- loaders)))))))
- (synopsis
- "GNOME image loading and manipulation library, with SVG support")))
+ loaders))))))))
+ (synopsis "Image loading library, with SVG support")))
(define-public at-spi2-core
(package
- (name "at-spi2-core")
- (version "2.34.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ihixwhh3c16q6253qj9gf69741rb2pi51822a4rylsfcyywsafn"))))
- (build-system meson-build-system)
- (outputs '("out" "doc"))
- (arguments
- '(#:configure-flags
- (list "-Ddocs=true")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-documentation-path
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Ensure that the cross-references point to the "doc" output.
- (substitute* "doc/libatspi/meson.build"
- (("docpath =.*")
- (string-append "docpath = '" (assoc-ref outputs "doc") "/share/gtk-doc/html'\n")))
- #t))
- (add-before 'install 'prepare-doc-directory
- (lambda* (#:key outputs #:allow-other-keys)
- (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
- #t))
- (add-after 'install 'move-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (copy-recursively
- (string-append out "/share/gtk-doc")
- (string-append doc "/share/gtk-doc"))
- (delete-file-recursively
- (string-append out "/share/gtk-doc")))
- #t))
- (add-after 'install 'check
- (lambda _
- (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
- ;; Run test-suite under a dbus session.
- (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
- (string-append %output "/share"))
- ;; Don't fail on missing '/etc/machine-id'.
- (setenv "DBUS_FATAL_WARNINGS" "0") ;
- (invoke "dbus-launch" "ninja" "test")))
+ (name "at-spi2-core")
+ (version "2.40.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0a9l6cfxynjn6jcp29d72i75xbkrzs1l5kmqcwmfal801b9sg5j1"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:configure-flags
+ (list "-Ddocs=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-documentation-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Ensure that the cross-references point to the "doc" output.
+ (substitute* "doc/libatspi/meson.build"
+ (("docpath =.*")
+ (string-append "docpath = '" (assoc-ref outputs "doc") "/share/gtk-doc/html'\n")))
+ #t))
+ (add-before 'install 'prepare-doc-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
+ #t))
+ (add-after 'unpack 'patch-docbook-sgml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook")))
+ (substitute* "doc/libatspi/libatspi-docs.sgml"
+ (("http://.*/docbookx\\.dtd")
+ (string-append xmldoc "/docbookx.dtd")))
+ #t)))
+ (add-after 'install 'move-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (copy-recursively
+ (string-append out "/share/gtk-doc")
+ (string-append doc "/share/gtk-doc"))
+ (delete-file-recursively
+ (string-append out "/share/gtk-doc")))
+ #t))
+ (add-after 'install 'check
+ (lambda _
+ (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
+ ;; Run test-suite under a dbus session.
+ (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
+ (string-append %output "/share"))
+ ;; Don't fail on missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0") ;
+ (invoke "dbus-launch" "ninja" "test")))
(delete 'check))))
- (propagated-inputs
- ;; atspi-2.pc refers to all these.
- `(("dbus" ,dbus)
- ("glib" ,glib)
- ("libxi" ,libxi)
- ("libxtst" ,libxtst)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("glib" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (synopsis "Assistive Technology Service Provider Interface, core components")
- (description
- "The Assistive Technology Service Provider Interface, core components,
+ (propagated-inputs
+ ;; atspi-2.pc refers to all these.
+ `(("dbus" ,dbus)
+ ("glib" ,glib)
+ ("libx11" ,libx11)
+ ("libxi" ,libxi)
+ ("libxtst" ,libxtst)))
+ (native-inputs
+ `(("docbook-xml" ,docbook-xml-4.3)
+ ("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (synopsis "Assistive Technology Service Provider Interface, core components")
+ (description
+ "The Assistive Technology Service Provider Interface, core components,
is part of the GNOME accessibility project.")
- (license license:lgpl2.0+)
- (home-page "https://projects.gnome.org/accessibility/")))
+ (license license:lgpl2.1+)
+ (home-page "https://wiki.gnome.org/Accessibility/")))
;;; A minimal variant used to prevent a cycle with Inkscape.
(define at-spi2-core-minimal
@@ -738,199 +789,273 @@ is part of the GNOME accessibility project.")
(define-public at-spi2-atk
(package
- (name "at-spi2-atk")
- (version "2.34.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "05ncp7s5nddjinffs26mcvpbd63vk1m3cv5y530p3plgfhqgjvbp"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- ;; Run test-suite under a dbus session.
- (lambda _
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "meson" "test"))))))
- (propagated-inputs
- ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
- ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
- `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
- (inputs
- `(("atk" ,atk)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ;; For tests.
- ("dbus" ,dbus)
- ("libxml2" ,libxml2)))
- (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
- (description
- "The Assistive Technology Service Provider Interface
+ (name "at-spi2-atk")
+ (version "2.38.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0ks6r9sx27l80n3a7yjmkilxv48cqj183wc7cap3caw2myjhi86g"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ ;; Run test-suite under a dbus session.
+ (lambda _
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ (invoke "dbus-launch" "meson" "test"))))))
+ (propagated-inputs
+ ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
+ ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
+ `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
+ (inputs
+ `(("atk" ,atk)
+ ("glib" ,glib)))
+ (native-inputs
+ `(("dbus" ,dbus) ; For tests
+ ("gobject-introspection" ,gobject-introspection)
+ ("libxml2" ,libxml2)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
+ (description
+ "The Assistive Technology Service Provider Interface
is part of the GNOME accessibility project.")
- (license license:lgpl2.0+)
- (home-page "https://projects.gnome.org/accessibility/")))
+ (license license:lgpl2.1+)
+ (home-page "https://wiki.gnome.org/Accessibility/")))
(define-public gtk+-2
(package
- (name "gtk+")
- (version "2.24.32")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
- (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
- "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
- "gtk2-theme-paths.patch"))))
- (build-system gnu-build-system)
- (outputs '("out" "bin" "doc"))
- (propagated-inputs
- `(("atk" ,atk)
- ("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("pango" ,pango)))
- (inputs
- `(("cups" ,cups)
- ("libxcomposite" ,libxcomposite)
- ("libxcursor" ,libxcursor)
- ("libxdamage" ,libxdamage)
- ("libxi" ,libxi)
- ("libxinerama" ,libxinerama)
- ("libxrandr" ,libxrandr)))
- (native-inputs
- `(("perl" ,perl)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
- (arguments
- `(#:configure-flags
- (list "--with-xinput=yes"
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'disable-tests
- (lambda _
- ;; FIXME: re-enable tests requiring an X server
- (substitute* "gtk/Makefile.in"
- (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
- #t))
- (add-after 'install 'remove-cache
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each
+ (name "gtk+")
+ (version "2.24.33")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1nn6kks1zyvb5xikr9y2k7r9bwjy1g4b0m0s66532bclymbwfamc"))
+ (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
+ "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
+ "gtk2-theme-paths.patch"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "bin" "doc"))
+ (propagated-inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ;; SVG support is optional and requires librsvg, which pulls in rust.
+ ;; Rust is not supported well on every architecture yet.
+ ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ gdk-pixbuf+svg
+ gdk-pixbuf))
+ ("glib" ,glib)
+ ("pango" ,pango)))
+ (inputs
+ `(("cups" ,cups)
+ ("libx11" ,libx11)
+ ("libxcomposite" ,libxcomposite)
+ ("libxcursor" ,libxcursor)
+ ("libxext" ,libxext)
+ ("libxdamage" ,libxdamage)
+ ("libxi" ,libxi)
+ ("libxinerama" ,libxinerama)
+ ("libxkbcommon" ,libxkbcommon)
+ ("libxrandr" ,libxrandr)
+ ("libxrender" ,libxrender)
+ ("libxshmfence" ,libxshmfence)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("intltool" ,intltool)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (arguments
+ `(#:parallel-tests? #f
+ #:configure-flags
+ (list "--with-xinput=yes"
+ (string-append "--with-html-dir="
+ (assoc-ref %outputs "doc")
+ "/share/gtk-doc/html"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "gtk/Makefile.in"
+ (("aliasfilescheck\\.sh") ""))
+ (substitute* "gtk/tests/recentmanager.c"
+ (("g_test_add_func \\(\"/recent-manager.*;") ""))
+ (substitute* "gtk/tests/defaultvalue.c"
+ (("return g_test_run\\(\\);") ""))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t))
+ (add-after 'install 'remove-cache
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each
delete-file
(find-files (assoc-ref outputs "out") "immodules.cache"))
- #t)))))
- (native-search-paths
- (list (search-path-specification
- (variable "GUIX_GTK2_PATH")
- (files '("lib/gtk-2.0")))))
- (synopsis "Cross-platform toolkit for creating graphical user interfaces")
- (description
- "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
+ #t)))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GUIX_GTK2_PATH")
+ (files '("lib/gtk-2.0")))))
+ (search-paths native-search-paths)
+ (synopsis "Cross-platform toolkit for creating graphical user interfaces")
+ (description
+ "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
graphical user interfaces. Offering a complete set of widgets, GTK+ is
suitable for projects ranging from small one-off tools to complete
application suites.")
- (license license:lgpl2.0+)
- (home-page "https://www.gtk.org/")))
+ (license license:lgpl2.0+)
+ (home-page "https://www.gtk.org/")))
(define-public gtk+
- (package (inherit gtk+-2)
- (name "gtk+")
- (version "3.24.24")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
- (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
- "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
- (propagated-inputs
- `(("at-spi2-atk" ,at-spi2-atk)
- ("atk" ,atk)
- ("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("libepoxy" ,libepoxy)
- ("libxcursor" ,libxcursor)
- ("libxi" ,libxi)
- ("libxinerama" ,libxinerama)
- ("libxkbcommon" ,libxkbcommon)
- ("libxdamage" ,libxdamage)
- ("libxrandr" ,libxrandr)
- ("mesa" ,mesa)
- ("pango" ,pango)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)))
- (inputs
- `(("libxml2" ,libxml2)
- ;; XXX: colord depends on mozjs (through polkit), which fails on
- ;; on non-intel systems now.
- ;;("colord" ,colord)
- ("cups" ,cups) ;for printing support
- ;; XXX: rest depends on p11-kit, which fails on mips64el now.
- ;;("rest" ,rest)
- ("json-glib" ,json-glib)))
- (native-inputs
- `(("perl" ,perl)
- ("glib" ,glib "bin")
- ("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)
- ("python-wrapper" ,python-wrapper)
- ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
- ;; of updating xorg-server directly on the master branch.
- ("xorg-server" ,xorg-server-for-tests)))
- (arguments
- `(#:disallowed-references (,xorg-server-for-tests)
- ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
- ;; to "doc".
- #:configure-flags (list (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html")
- ;; The header file <gdk/gdkwayland.h> is required
- ;; by gnome-control-center
- "--enable-wayland-backend"
- ;; This is necessary to build both backends.
- "--enable-x11-backend"
- ;; This enables the HTML5 websocket backend.
- "--enable-broadway-backend")
- #:phases (modify-phases %standard-phases
- (add-before 'configure 'pre-configure
- (lambda _
- ;; Disable most tests, failing in the chroot with the message:
- ;; D-Bus library appears to be incorrectly set up; failed to read
- ;; machine uuid: Failed to open "/etc/machine-id": No such file or
- ;; directory.
- ;; See the manual page for dbus-uuidgen to correct this issue.
- (substitute* "testsuite/Makefile.in"
- (("SUBDIRS = gdk gtk a11y css reftests")
- "SUBDIRS = gdk"))
- #t))
- (add-after 'install 'move-desktop-files
- ;; Move desktop files into 'bin' to avoid cycle references.
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (bin (assoc-ref outputs "bin")))
- (mkdir-p (string-append bin "/share"))
- (rename-file (string-append out "/share/applications")
- (string-append bin "/share/applications"))
- #t))))))
- (native-search-paths
- (list (search-path-specification
- (variable "GUIX_GTK3_PATH")
- (files '("lib/gtk-3.0")))))))
+ (package
+ (inherit gtk+-2)
+ (name "gtk+")
+ (version "3.24.27")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "09ksflq5j257bf5zn8q2nnf2flicg9qqgfy7za79z7rkf1shc77p"))
+ (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
+ "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
+ (propagated-inputs
+ `(("atk" ,atk)
+ ("at-spi2-atk" ,at-spi2-atk)
+ ("cairo" ,cairo)
+ ("fribidi" ,fribidi)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ;; SVG support is optional and requires librsvg, which pulls in rust.
+ ;; Rust is not supported well on every architecture yet.
+ ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ gdk-pixbuf+svg
+ gdk-pixbuf))
+ ("glib" ,glib)
+ ("libcloudproviders" ,libcloudproviders)
+ ("libepoxy" ,libepoxy)
+ ("libx11" ,libx11)
+ ("libxcomposite" ,libxcomposite)
+ ("libxcursor" ,libxcursor)
+ ("libxdamage" ,libxdamage)
+ ("libxext" ,libxext)
+ ("libxfixes" ,libxfixes)
+ ("libxi" ,libxi)
+ ("libxinerama" ,libxinerama)
+ ("libxkbcommon" ,libxkbcommon)
+ ("libxrandr" ,libxrandr)
+ ("libxrender" ,libxrender)
+ ("mesa" ,mesa)
+ ("pango" ,pango)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
+ (inputs
+ `(("colord" ,colord)
+ ("cups" ,cups)
+ ("graphene" ,graphene)
+ ("harfbuzz" ,harfbuzz)
+ ("iso-codes" ,iso-codes)
+ ("json-glib" ,json-glib)
+ ("libxml2" ,libxml2)
+ ("rest" ,rest)))
+ (native-inputs
+ `(("docbook-xml" ,docbook-xml-4.1.2)
+ ("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)
+ ("sassc" ,sassc)
+ ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
+ ;; of updating xorg-server directly on the master branch.
+ ("xorg-server" ,xorg-server-for-tests)
+ ("xsltproc" ,libxslt)))
+ (arguments
+ `(#:disallowed-references (,xorg-server-for-tests)
+ ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
+ ;; to "doc".
+ #:configure-flags (list (string-append "--with-html-dir="
+ (assoc-ref %outputs "doc")
+ "/share/gtk-doc/html")
+ "--enable-cloudproviders"
+ ;; The header file <gdk/gdkwayland.h> is required
+ ;; by gnome-control-center
+ "--enable-wayland-backend"
+ ;; This is necessary to build both backends.
+ "--enable-x11-backend"
+ ;; This enables the HTML5 websocket backend.
+ "--enable-broadway-backend")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "testsuite/gtk/Makefile.in"
+ (("builderparser cellarea check-icon-names check-cursor-names")
+ "builderparser cellarea check-cursor-names")
+ (("notify no-gtk-init object objects-finalize papersize rbtree")
+ "no-gtk-init papersize rbtree")
+ (("stylecontext templates textbuffer textiter treemodel treepath")
+ "stylecontext textbuffer textiter treemodel treepath"))
+ (substitute* "testsuite/a11y/Makefile.in"
+ (("accessibility-dump tree-performance text children derive")
+ "tree-performance text children derive"))
+ (substitute* "testsuite/reftests/Makefile.in"
+ (("TEST_PROGS = gtk-reftest")
+ "TEST_PROGS = "))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t))
+ (add-after 'install 'move-desktop-files
+ ;; Move desktop files into 'bin' to avoid cycle references.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bin (assoc-ref outputs "bin")))
+ (mkdir-p (string-append bin "/share"))
+ (rename-file (string-append out "/share/applications")
+ (string-append bin "/share/applications"))
+ #t))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GUIX_GTK3_PATH")
+ (files '("lib/gtk-3.0")))))))
;;;
;;; Guile bindings.
@@ -1247,23 +1372,45 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
(define-public cairomm
(package
(name "cairomm")
- (version "1.12.2")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.cairographics.org/releases/"
- name "-" version ".tar.gz"))
+ name "-" version ".tar.xz"))
(sha256
(base32
- "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25"))))
- (build-system gnu-build-system)
+ "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
(arguments
- ;; The examples lack -lcairo.
- '(#:make-flags '("LDFLAGS=-lcairo")))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:configure-flags
+ (list
+ "-Dbuild-documentation=true"
+ "-Dboost-shared=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))
+ #t))))))
+ (native-inputs
+ `(("boost" ,boost)
+ ("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("mm-common" ,mm-common)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
+ (inputs
+ `(("fontconfig" ,fontconfig)))
(propagated-inputs
`(("libsigc++" ,libsigc++)
- ("freetype" ,freetype)
- ("fontconfig" ,fontconfig)
("cairo" ,cairo)))
(home-page "https://cairographics.org/")
(synopsis "C++ bindings to the Cairo 2D graphics library")
@@ -1272,37 +1419,61 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
library.")
(license license:lgpl2.0+)))
-(define-public cairomm-1.13
+(define-public cairomm-1.14
(package
(inherit cairomm)
(name "cairomm")
- (version "1.13.1")
+ (version "1.14.2")
(source
(origin
(method url-fetch)
(uri
(string-append "https://www.cairographics.org/releases/"
- name "-" version ".tar.gz"))
+ name "-" version ".tar.xz"))
(sha256
- (base32 "1xlfl0fm5mgv53lr8xjv2kqsk3bz67qkk6qzvbrqmbvbvvbqp9wp"))))
+ (base32 "1qwdj9xw1w651kqwh82nipbryimm1ir5n3c6q34nphsx576bj9h1"))))
(propagated-inputs
- `(("cairo" ,cairo)
- ("sigc++" ,libsigc++)))))
+ `(("libsigc++" ,libsigc++-2)
+ ,@(package-propagated-inputs cairomm)))))
(define-public pangomm
(package
(name "pangomm")
- (version "2.42.0")
+ (version "2.48.0")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0mmzxp3wniaafkxr30sb22mq9x44xckb5d60h1bl99lkzxks0vfa"))))
- (build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:configure-flags
+ (list
+ "-Dbuild-documentation=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))
+ #t))))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("m4" ,m4)
+ ("mm-common" ,mm-common)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
(propagated-inputs
`(("cairo" ,cairo)
("cairomm" ,cairomm)
@@ -1315,11 +1486,11 @@ library.")
library.")
(license license:lgpl2.1+)))
-(define-public pangomm-2.42
+(define-public pangomm-2.46
(package
(inherit pangomm)
(name "pangomm")
- (version "2.42.1")
+ (version "2.46.0")
(source
(origin
(method url-fetch)
@@ -1328,102 +1499,186 @@ library.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "03zli5amizhv9bfklwfq7xyf0b5dagchx1lnz9f0v1rhk69h9gql"))))
+ (base32 "06zczkaxf5p5kjgnzrfylzi40w9a8lxpndgs7rpn12qrsq27sy6k"))))
(propagated-inputs
- `(("cairomm" ,cairomm-1.13)
+ `(("cairomm" ,cairomm-1.14)
("glibmm" ,glibmm-2.64)
("pango" ,pango)))))
(define-public atkmm
(package
(name "atkmm")
- (version "2.28.0")
+ (version "2.36.0")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
- (build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:configure-flags
+ (list
+ "-Dbuild-documentation=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))
+ #t))))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("m4" ,m4)
+ ("mm-common" ,mm-common)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
(propagated-inputs
`(("glibmm" ,glibmm) ("atk" ,atk)))
- (home-page "https://www.gtkmm.org")
- (synopsis "C++ interface to the ATK accessibility library")
- (description
- "ATKmm provides a C++ programming interface to the ATK accessibility
-toolkit.")
- (license license:lgpl2.1+)))
+ (synopsis "C++ bindings for ATK")
+ (description "ATKmm is the C++ binding for the ATK library.")
+ (home-page "https://wiki.gnome.org/Accessibility")
+ (license
+ (list
+ ;; Library
+ license:lgpl2.1+
+ ;; Tools
+ license:gpl2+))))
+
+(define-public atkmm-2.28
+ (package
+ (inherit atkmm)
+ (name "atkmm")
+ (version "2.28.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1b8vycqzr3lfvk2l73f4kk74hj48081zbh9r1r2ilr3h8xh7cs0i"))))
+ (propagated-inputs
+ `(("glibmm" ,glibmm-2.64)
+ ,@(package-propagated-inputs atkmm)))))
(define-public gtkmm
(package
(name "gtkmm")
- (version "3.24.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd"))))
- (build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin") ;for 'glib-compile-resources'
- ("xorg-server" ,xorg-server-for-tests)))
+ (version "3.24.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "0hv7pviln4cpjvpz7m7ga5krcsbibqzixdcn0dwzpz0cx71p3swv"))))
+ (build-system meson-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:configure-flags '("-Dbuild-documentation=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))
+ #t))))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("glib:bin" ,glib "bin")
+ ("m4" ,m4)
+ ("mm-common" ,mm-common)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)
+ ("xorg-server" ,xorg-server-for-tests)))
(propagated-inputs
- `(("pangomm" ,pangomm)
- ("cairomm" ,cairomm)
- ("atkmm" ,atkmm)
+ `(("atkmm" ,atkmm-2.28)
+ ("cairomm" ,cairomm-1.14)
+ ("glibmm" ,glibmm)
("gtk+" ,gtk+)
- ("glibmm" ,glibmm)))
- (arguments
- `(#:disallowed-references (,xorg-server-for-tests)
- #:phases (modify-phases %standard-phases
- (add-before 'check 'run-xvfb
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xorg-server (assoc-ref inputs "xorg-server")))
- ;; Tests such as 'object_move/test' require a running
- ;; X server.
- (system (string-append xorg-server "/bin/Xvfb :1 &"))
- (setenv "DISPLAY" ":1")
- ;; Don't fail because of the missing /etc/machine-id.
- (setenv "DBUS_FATAL_WARNINGS" "0")
- #t))))))
+ ("pangomm" ,pangomm-2.46)))
+ (synopsis "C++ Interfaces for GTK+ and GNOME")
+ (description "GTKmm is the official C++ interface for the popular GUI
+library GTK+. Highlights include typesafe callbacks, and a comprehensive set of
+widgets that are easily extensible via inheritance. You can create user
+interfaces either in code or with the Glade User Interface designer, using
+libglademm. There's extensive documentation, including API reference and a
+tutorial.")
(home-page "https://gtkmm.org/")
- (synopsis
- "C++ interface to the GTK+ graphical user interface library")
- (description
- "gtkmm is the official C++ interface for the popular GUI library GTK+.
-Highlights include typesafe callbacks, and a comprehensive set of widgets that
-are easily extensible via inheritance. You can create user interfaces either
-in code or with the Glade User Interface designer, using libglademm. There's
-extensive documentation, including API reference and a tutorial.")
- (license license:lgpl2.1+)))
-
+ (license
+ (list
+ ;; Library
+ license:lgpl2.1+
+ ;; Tools
+ license:gpl2+))))
(define-public gtkmm-2
- (package (inherit gtkmm)
+ (package
+ (inherit gtkmm)
(name "gtkmm")
(version "2.24.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
- (arguments '())
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
+ (build-system gnu-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments gtkmm)
+ ((#:modules modules %gnu-build-system-modules)
+ `((srfi srfi-1)
+ ,@modules))
+ ((#:configure-flags flags)
+ `(fold delete
+ ,flags
+ '("-Dbuild-documentation=true")))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("m4" ,m4)
+ ("mm-common" ,mm-common)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)
+ ("xorg-server" ,xorg-server-for-tests)))
(propagated-inputs
- `(("pangomm" ,pangomm)
- ("cairomm" ,cairomm)
- ("atkmm" ,atkmm)
+ `(("atkmm" ,atkmm-2.28)
+ ("cairomm" ,cairomm-1.14)
+ ("glibmm" ,glibmm-2.64)
("gtk+" ,gtk+-2)
- ("glibmm" ,glibmm)))))
+ ("pangomm" ,pangomm-2.46)))))
(define-public gtksourceviewmm
(package
@@ -1460,7 +1715,7 @@ printing and other features typical of a source code editor.")
(define-public python-pycairo
(package
(name "python-pycairo")
- (version "1.19.1")
+ (version "1.20.0")
(source
(origin
(method url-fetch)
@@ -1468,7 +1723,7 @@ printing and other features typical of a source code editor.")
version "/pycairo-" version ".tar.gz"))
(sha256
(base32
- "111fav9m1iagw3nh2ws2vzkjh34r97yl7rdlpvsngsqg521k251c"))))
+ "1326aa2ybhhhrvz3n4p22z5sic25m016ddb5yq0hvbprnw6a35an"))))
(build-system python-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1721,7 +1976,7 @@ information.")
(define-public gtk-doc
(package
(name "gtk-doc")
- (version "1.28")
+ (version "1.32")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1729,8 +1984,9 @@ information.")
name "-" version ".tar.xz"))
(sha256
(base32
- "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
- (build-system gnu-build-system)
+ "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
+ (build-system glib-or-gtk-build-system)
+ (outputs '("out" "help"))
(arguments
`(#:parallel-tests? #f
#:phases
@@ -1738,31 +1994,22 @@ information.")
(add-after 'unpack 'patch-gtk-doc-scan
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "gtk-doc.xsl"
- (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
- (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl)
- "/html/chunk.xsl"))
- (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
- (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl)
- "/common/en.xml")))
+ (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl)
+ "/html/chunk.xsl"))
+ (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl)
+ "/common/en.xml")))
#t))
- (add-after 'patch-gtk-doc-scan 'patch-test-out
+ (add-after 'unpack 'disable-failing-tests
(lambda _
- ;; sanity.sh counts the number of status lines. Since our
- ;; texlive regenerates the fonts every time and the font
- ;; generator metafont outputs a lot of extra lines, this
- ;; test would always fail. Disable it for now.
(substitute* "tests/Makefile.in"
- (("empty.sh sanity.sh") "empty.sh"))
- #t))
- (add-before 'build 'set-HOME
- (lambda _
- ;; FIXME: dblatex with texlive-union does not find the built
- ;; metafonts, so it tries to generate them in HOME.
- (setenv "HOME" "/tmp")
+ (("annotations.sh bugs.sh empty.sh fail.sh gobject.sh program.sh")
+ ""))
#t))
(add-before 'configure 'fix-docbook
(lambda* (#:key inputs #:allow-other-keys)
@@ -1784,36 +2031,53 @@ information.")
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (prog)
(wrap-program prog
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))
(find-files (string-append out "/bin")))
#t))))
#:configure-flags
(list (string-append "--with-xml-catalog="
(assoc-ref %build-inputs "docbook-xml")
- "/xml/dtd/docbook/catalog.xml"))))
+ "/xml/dtd/docbook/catalog.xml")
+ (string-append "--with-help-dir="
+ (assoc-ref %outputs "help")
+ "/share/help"))))
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
("itstool" ,itstool)
- ("libxml" ,libxml2)
- ("gettext" ,gettext-minimal)
- ("bc" ,bc)))
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)))
(inputs
- `(("perl" ,perl)
- ("python" ,python)
- ("xsltproc" ,libxslt)
+ `(("bc" ,bc)
("dblatex" ,dblatex)
("docbook-xml" ,docbook-xml-4.3)
("docbook-xsl" ,docbook-xsl)
- ("source-highlight" ,source-highlight)
("glib" ,glib)
- ("python-six" ,python-six)))
- (home-page "https://www.gtk.org/gtk-doc/")
- (synopsis "Documentation generator from C source code")
- (description
- "GTK-Doc generates API documentation from comments added to C code. It is
-typically used to document the public API of GTK+ and GNOME libraries, but it
-can also be used to document application code.")
- (license license:gpl2+)))
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("python" ,python)
+ ("python-anytree" ,python-anytree)
+ ("python-lxml" ,python-lxml)
+ ("python-parameterized" ,python-parameterized)
+ ("python-pygments" ,python-pygments)
+ ("python-unittest2" ,python-unittest2)
+ ("source-highlight" ,source-highlight)
+ ("yelp-tools" ,yelp-tools)))
+ (home-page "https://wiki.gnome.org/DocumentationProject/GtkDoc")
+ (synopsis "GTK+ DocBook Documentation Generator")
+ (description "GtkDoc is a tool used to extract API documentation from C-code
+like Doxygen, but handles documentation of GObject (including signals and
+properties) that makes it very suitable for GTK+ apps and libraries. It uses
+docbook for intermediate files and can produce html by default and pdf/man-pages
+with some extra work.")
+ (license
+ (list
+ ;; Docs.
+ license:fdl1.1+
+ ;; Others.
+ license:gpl2+))))
;; This is a variant of the 'gtk-doc' package that is not updated often. It
;; is intended to be used as a native-input at build-time only. This allows
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 7d7ffcb221..5e63075751 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -3274,7 +3274,7 @@ API.")
("perl" ,perl)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)
- ("texlive" ,(texlive-union (list texlive-generic-epsf)))))
+ ("texlive" ,(texlive-updmap.cfg (list texlive-generic-epsf)))))
(inputs
`(("dbus-glib" ,dbus-glib)
("guile" ,guile-3.0)
@@ -3558,7 +3558,7 @@ feature-set, fully programmable in Guile Scheme.")
("vigra-c" ,vigra-c)
("guile" ,guile-2.2)))
(native-inputs
- `(("texlive" ,(texlive-union (list texlive-booktabs
+ `(("texlive" ,(texlive-updmap.cfg (list texlive-booktabs
texlive-lm
texlive-siunitx
texlive-standalone
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 5de4f68093..0012d919c8 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -180,6 +180,11 @@ without requiring the source code to be rewritten.")
(arguments
`(#:configure-flags '("--disable-static") ; saves 3 MiB
+
+ ;; Work around non-reproducible .go files as described in
+ ;; <https://bugs.gnu.org/20272>, which affects 2.0, 2.2, and 3.0 so far.
+ #:parallel-build? #f
+
#:phases
(modify-phases %standard-phases
,@(if (hurd-system?)
@@ -246,7 +251,8 @@ without requiring the source code to be rewritten.")
"013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd"))
(modules '((guix build utils)))
(patches (search-patches
- "guile-2.2-skip-oom-test.patch"))
+ "guile-2.2-skip-oom-test.patch"
+ "guile-2.2-skip-so-test.patch"))
;; Remove the pre-built object files. Instead, build everything
;; from source, at the expense of significantly longer build
@@ -285,21 +291,56 @@ without requiring the source code to be rewritten.")
(package
(inherit guile-2.2)
(name "guile")
- (version "3.0.2")
+ (version "3.0.7")
(source (origin
(inherit (package-source guile-2.2))
+ (patches '()) ; We no longer need the patches.
(uri (string-append "mirror://gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
- "12lziar4j27j9whqp2n18427q45y9ghq7gdd8lqhmj1k0lr7vi2k"))))
+ "1dwiwsrpm4f96alfnz6wibq378242z4f16vsxgy1n9r00v3qczgm"))
+ ;; Replace the snippet because the oom-test still
+ ;; fails on some 32-bit architectures.
+ (snippet '(begin
+ (substitute* "test-suite/standalone/Makefile.in"
+ (("test-out-of-memory") ""))
+ (for-each delete-file
+ (find-files "prebuilt" "\\.go$"))
+ #t))))
+
+ ;; Build with the bundled mini-GMP to avoid interference with GnuTLS' own
+ ;; use of GMP via Nettle: <https://issues.guix.gnu.org/46330>.
+ (propagated-inputs
+ (srfi-1:fold srfi-1:alist-delete
+ (package-propagated-inputs guile-2.2)
+ '("gmp" "libltdl")))
(arguments
- ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd.
- (if (hurd-target?)
- (substitute-keyword-arguments (package-arguments guile-2.2)
- ((#:configure-flags flags ''())
- `(cons "--disable-jit" ,flags)))
- (package-arguments guile-2.2)))
+ (substitute-keyword-arguments (package-arguments guile-2.2)
+ ((#:configure-flags flags ''())
+ (let ((flags `(cons "--enable-mini-gmp" ,flags)))
+ ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd.
+ (if (hurd-target?)
+ `(cons "--disable-jit" ,flags)
+ flags)))
+ ((#:phases phases)
+ (if (string-prefix? "powerpc-" (%current-system))
+ `(modify-phases ,phases
+ (add-after 'unpack 'adjust-bootstrap-flags
+ (lambda _
+ ;; Upstream knows about suggested solution.
+ ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
+ (substitute* "bootstrap/Makefile.in"
+ (("^GUILE_OPTIMIZATIONS.*")
+ "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))
+ (add-after 'unpack 'skip-failing-fdes-test
+ (lambda _
+ ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
+ (substitute* "test-suite/tests/ports.test"
+ (("fdes not closed\"" all) (string-append all "(exit 77)")))
+ #t)))
+ phases))))
+
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
@@ -310,31 +351,7 @@ without requiring the source code to be rewritten.")
"share/guile/site/3.0")))))))
(define-public guile-3.0-latest
- ;; TODO: Make this 'guile-3.0' on the next rebuild cycle.
- (package
- (inherit guile-3.0)
- (version "3.0.7")
- (source (origin
- (inherit (package-source guile-3.0)) ;preserve snippet
- (patches '())
- (uri (string-append "mirror://gnu/guile/guile-"
- version ".tar.xz"))
- (sha256
- (base32
- "1dwiwsrpm4f96alfnz6wibq378242z4f16vsxgy1n9r00v3qczgm"))))
-
- ;; Build with the bundled mini-GMP to avoid interference with GnuTLS' own
- ;; use of GMP via Nettle: <https://issues.guix.gnu.org/46330>. Use
- ;; LIBGC/DISABLE-MUNMAP to work around <https://bugs.gnu.org/40525>.
- ;; Remove libltdl, which is no longer used.
- (propagated-inputs
- `(("bdw-gc" ,libgc/disable-munmap)
- ,@(srfi-1:fold srfi-1:alist-delete (package-propagated-inputs guile-3.0)
- '("gmp" "libltdl" "bdw-gc"))))
- (arguments
- (substitute-keyword-arguments (package-arguments guile-3.0)
- ((#:configure-flags flags ''())
- `(cons "--enable-mini-gmp" ,flags))))))
+ guile-3.0)
(define-public guile-3.0/libgc-7
;; Using libgc-7 avoid crashes that can occur, particularly when loading
@@ -403,7 +420,8 @@ without requiring the source code to be rewritten.")
(source (package-source guile))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("--disable-silent-rules")
+ '(#:configure-flags '("--disable-silent-rules"
+ "--enable-mini-gmp") ;for Guile >= 3.0.6
#:phases (modify-phases %standard-phases
(add-before 'build 'chdir
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index e6001efa7f..cdd4708d22 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -42,6 +42,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -49,18 +50,21 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages logging)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
#:use-module (gnu packages unicode)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages xdisorg))
(define-public ibus
(package
(name "ibus")
- (version "1.5.22")
+ (version "1.5.24")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ibus/ibus/"
@@ -68,12 +72,14 @@
version "/ibus-" version ".tar.gz"))
(sha256
(base32
- "0jmy2w01phpmqnjnfnak7nvfna57mpgfnl87jwc4iai8ijjynw41"))))
+ "07s2ly75xv50bqg37mn37i9akqvcfd45k2mbplxrsqk3a2b3mwxb"))))
(build-system glib-or-gtk-build-system)
+ (outputs '("out" "doc"))
(arguments
- `(#:tests? #f ; tests fail because there's no connection to dbus
- #:parallel-build? #f ; race condition discovered with emoji support
+ `(#:parallel-build? #f ; race condition discovered with emoji support
#:configure-flags (list "--enable-python-library"
+ "--enable-gtk-doc"
+ "--enable-memconf"
(string-append
"--with-unicode-emoji-dir="
(assoc-ref %build-inputs "unicode-emoji")
@@ -88,6 +94,20 @@
"--enable-wayland")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ ;; These tests require /etc/machine-id.
+ (with-directory-excursion "src/tests"
+ (substitute* '("ibus-share.c" "ibus-compose.c"
+ "ibus-keypress.c")
+ (("[ \t]*return g_test_run \\(\\);") "")))))
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "docs/reference/ibus"
+ (substitute* "ibus-docs.sgml.in"
+ (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/"))))))
(add-after 'unpack 'patch-python-target-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((root (string-append (assoc-ref outputs "out")
@@ -98,13 +118,11 @@
(("(py2?overridesdir)=.*" _ var)
(string-append var "=" root "/gi/overrides/"))
(("(pkgpython2dir=).*" _ var)
- (string-append var root "/ibus"))))
- #t))
+ (string-append var root "/ibus"))))))
(add-before 'configure 'disable-dconf-update
(lambda _
(substitute* "data/dconf/Makefile.in"
- (("dconf update") "echo dconf update"))
- #t))
+ (("dconf update") "echo dconf update"))))
(add-after 'unpack 'delete-generated-files
(lambda _
(for-each (lambda (file)
@@ -112,8 +130,7 @@
(when (file-exists? c)
(format #t "deleting ~a\n" c)
(delete-file c))))
- (find-files "." "\\.vala"))
- #t))
+ (find-files "." "\\.vala"))))
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/ibusenginesimple.c"
@@ -122,43 +139,73 @@
"/share/X11/locale")))
(substitute* "ui/gtk3/xkblayout.vala"
(("\"(setxkbmap|xmodmap)\"" _ prog)
- (string-append "\"" (assoc-ref inputs prog) "/bin/" prog "\"")))
- #t))
+ (string-append "\"" (assoc-ref inputs prog) "/bin/" prog "\"")))))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; Tests require running iBus daemon.
+ (system "./bus/ibus-daemon --daemonize")))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/gtk-doc")
+ (string-append doc "/share/gtk-doc")))))
(add-after 'wrap-program 'wrap-with-additional-paths
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'ibus-setup' runs with the correct PYTHONPATH and
;; GI_TYPELIB_PATH.
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/ibus-setup")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")
- ,(string-append out "/lib/girepository-1.0")))))
- #t)))))
+ ,(string-append out "/lib/girepository-1.0"))))))))))
(inputs
`(("dbus" ,dbus)
("dconf" ,dconf)
- ("gconf" ,gconf)
+ ("glib" ,glib)
("gtk2" ,gtk+-2)
("gtk+" ,gtk+)
+ ("iso-codes" ,iso-codes)
("json-glib" ,json-glib)
("libnotify" ,libnotify)
("libx11" ,libx11)
+ ("libxkbcommon" ,libxkbcommon)
+ ("libxtst" ,libxtst)
+ ("pygobject" ,python-pygobject)
+ ("python" ,python)
+ ("python-dbus" ,python-dbus)
("setxkbmap" ,setxkbmap)
+ ("ucd" ,ucd)
+ ("unicode-cldr-common" ,unicode-cldr-common)
+ ("unicode-emoji" ,unicode-emoji)
("wayland" ,wayland)
- ("xmodmap" ,xmodmap)
- ("iso-codes" ,iso-codes)
- ("pygobject2" ,python-pygobject)
- ("python" ,python)))
+ ("xmodmap" ,xmodmap)))
(native-inputs
- `(("glib" ,glib "bin") ; for glib-genmarshal
+ `(("docbook-xml" ,docbook-xml-4.1.2)
+ ("glib" ,glib "bin") ; for glib-genmarshal
("gettext" ,gettext-minimal)
+ ("gnome-common" ,gnome-common)
("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
- ("ucd" ,ucd)
- ("unicode-emoji" ,unicode-emoji)
- ("unicode-cldr-common" ,unicode-cldr-common)
+ ("gtk+:bin" ,gtk+ "bin")
+ ("gtk-doc" ,gtk-doc)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)
("vala" ,vala)
- ("pkg-config" ,pkg-config)))
+ ("which" ,which)
+ ("xorg-server" ,xorg-server-for-tests)))
(native-search-paths
(list (search-path-specification
(variable "IBUS_COMPONENT_PATH")
@@ -195,8 +242,8 @@ may also simplify input method development.")
;; PYTHONPATH and GI_TYPELIB_PATH.
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/libexec/ibus-setup-libpinyin")
- `("PYTHONPATH" ":" =
- (,(getenv "PYTHONPATH")
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(getenv "GUIX_PYTHONPATH")
,(string-append (assoc-ref inputs "ibus")
"/lib/girepository-1.0")
,(string-append (assoc-ref outputs "out")
@@ -277,8 +324,8 @@ Chinese pinyin input methods.")
(for-each
(lambda (prog)
(wrap-program (string-append out "/libexec/" prog)
- `("PYTHONPATH" ":" prefix
- (,(getenv "PYTHONPATH")))
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")
,(string-append out "/lib/girepository-1.0")))))
@@ -740,7 +787,7 @@ hanja dictionary and small hangul character classification.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/libexec/ibus-setup-hangul")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("LD_LIBRARY_PATH" ":" prefix
(,(string-append (assoc-ref inputs "libhangul") "/lib")))
`("GI_TYPELIB_PATH" ":" prefix
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 12f8393900..7397f7cab8 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
@@ -39,7 +39,7 @@
(define-public icu4c
(package
(name "icu4c")
- (version "66.1")
+ (version "69.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -48,10 +48,8 @@
"/icu4c-"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
- (patch-flags '("-p2"))
- (patches (search-patches "icu4c-CVE-2020-10531.patch"))
(sha256
- (base32 "0bharwzc9nzkbrcf405z2nb3h7q0711z450arz0mjmdrk8hg58sj"))))
+ (base32 "0icps0avkwy5df3wwc5kybxcg63hcgk4phdh9g244g0xrmx7pfjc"))))
(build-system gnu-build-system)
;; When cross-compiling, this package needs a source directory of a
;; native-build of itself.
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 457fb90744..0ab910f0dc 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2020 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
@@ -26,6 +26,7 @@
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
@@ -111,8 +112,8 @@
(origin
(method url-fetch)
(uri
- (string-append "https://sourceforge.net/projects/iqa/files/"
- "1.1.2%20Release/iqa_1.1.2_src.tar.gz/download"))
+ (string-append "mirror://sourceforge/iqa/"
+ version " Release" "/iqa_" version "_src.tar.gz"))
(sha256
(base32 "00mgwy031ammab6bwmd1whhvqv3fxy1cs1igabq0n3ag12zhjs77"))))
(build-system gnu-build-system)
@@ -581,7 +582,7 @@ extracting icontainer icon files.")
(define-public libtiff
(package
(name "libtiff")
- (version "4.1.0")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
@@ -589,11 +590,10 @@ extracting icontainer icon files.")
version ".tar.gz"))
(sha256
(base32
- "0d46bdvxdiv59lxnb0xz9ywm8arsr6xsapi5s6y6vnys2wjz6aax"))))
- (replacement libtiff/fixed)
+ "1jrkjv0xya9radddn8idxvs2gqzp3l2b1s8knlizmn7ad3jq817b"))))
(build-system gnu-build-system)
(outputs '("out"
- "doc")) ;1.3 MiB of HTML documentation
+ "doc")) ;1.8 MiB of HTML documentation
(arguments
;; Instead of using --docdir, this package has its own --with-docdir.
`(#:configure-flags
@@ -614,20 +614,6 @@ collection of tools for doing simple manipulations of TIFF images.")
"See COPYRIGHT in the distribution."))
(home-page "http://www.simplesystems.org/libtiff/")))
-(define-public libtiff/fixed
- (package
- (inherit libtiff)
- (name "libtiff")
- (version "4.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://download.osgeo.org/libtiff/tiff-"
- version ".tar.gz"))
- (sha256
- (base32
- "1jrkjv0xya9radddn8idxvs2gqzp3l2b1s8knlizmn7ad3jq817b"))))))
-
(define-public leptonica
(package
(name "leptonica")
@@ -690,15 +676,15 @@ arithmetic ops.")
(define-public jbig2dec
(package
(name "jbig2dec")
- (version "0.18")
+ (version "0.19")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ArtifexSoftware"
"/ghostpdl-downloads/releases/download"
- "/gs951/" name "-" version ".tar.gz"))
+ "/gs9533/" name "-" version ".tar.gz"))
(sha256
(base32
- "0pigfw2v0ppvr0lbysm69gx0zsa5q2q92yrb8af2j3im6x97f6cy"))))
+ "0dwa24kjqyg9hmm40fh048sdxfpnasz43l2rm8wlkw1qbdlpd517"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--disable-static")
#:phases (modify-phases %standard-phases
@@ -716,7 +702,7 @@ arithmetic ops.")
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
- ("python" ,python-wrapper))) ;for tests
+ ("python" ,python-minimal-wrapper))) ;for tests
(synopsis "Decoder of the JBIG2 image compression format")
(description
"JBIG2 is designed for lossy or lossless encoding of @code{bilevel} (1-bit
@@ -809,17 +795,17 @@ images of initially unknown height.")
(define-public openjpeg-data
(package
(name "openjpeg-data")
- (version "2020.05.19")
+ (version "2020.11.30")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/uclouvain/openjpeg-data")
- (commit "c5c4a8c")))
+ (commit "cd724fb1f93e6af41ebc68c4904f4bf2a4cd1e60")))
(file-name (git-file-name name version))
(sha256
- (base32 "1jp84gbhw8q5b8mhc322ql9410hjf32w9hg10x4isfa9j59mnncb"))))
+ (base32 "1q2swh4g9r9haqs075fyk42aclqcs9q51lqqzfb57lisszminpwm"))))
(build-system copy-build-system)
(synopsis "Test files for OpenJPEG")
(description "OpenJPEG-Data contains all files required to run the openjpeg
@@ -831,23 +817,47 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
(define-public openjpeg
(package
(name "openjpeg")
- (version "2.3.1")
+ (version "2.4.0")
(source
(origin
(method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/uclouvain/openjpeg")
- (commit
- (string-append "v" version))))
- (file-name
- (git-file-name "openjpeg" version))
+ (uri (git-reference
+ (url "https://github.com/uclouvain/openjpeg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
+ (base32 "143dvy5g6v6129lzvl0r8mrgva2fppkn0zl099qmi9yi9l9h7yyf"))))
(build-system cmake-build-system)
(arguments
- '(#:tests? #f ;TODO: requires a 1.1 GiB data repository
- #:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
+ `(#:configure-flags
+ (list
+ "-DBUILD_STATIC_LIBS=OFF"
+ "-DBUILD_UNIT_TESTS=ON"
+ "-DBUILD_TESTING=ON"
+ (string-append "-DOPJ_DATA_ROOT="
+ (assoc-ref %build-inputs "openjpeg-data")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ ;; To be re-enabled after upstream fixes the bug,
+ ;; https://github.com/uclouvain/openjpeg/issues/1264
+ (substitute* "tests/CMakeLists.txt"
+ (("add_subdirectory\\(nonregression\\)")
+ ""))
+ ;; These tests fail on all architectures except x86_64
+ (substitute* "tests/conformance/CMakeLists.txt"
+ ;; 4, 5, 6 fail
+ (("numFileC1P0 RANGE 1 16") "numFileC1P0 RANGE 7 16")
+ ;; 2, 3, 4, 5 fail
+ (("numFileC1P1 RANGE 1 7") "numFileC1P1 1 6 7")
+ ;; 2, 3 fail
+ (("numFileJP2 RANGE 1 9") "numFileJP2 RANGE 4 9")
+ ;; All fail
+ (("subsampling.*") "")
+ (("zoo.*") "")))))))
+ (native-inputs
+ `(("openjpeg-data" ,openjpeg-data))) ; Files for test-suite
(inputs
`(("lcms" ,lcms)
("libpng" ,libpng)
@@ -1275,7 +1285,7 @@ language bindings to VIGRA.")
(define-public libwebp
(package
(name "libwebp")
- (version "1.1.0")
+ (version "1.2.0")
(source
(origin
;; No tarballs are provided for >0.6.1.
@@ -1286,7 +1296,7 @@ language bindings to VIGRA.")
(file-name (git-file-name name version))
(sha256
(base32
- "0r2yy9if0ndvpzadk39bigvsygyqnlv0xjb9w2aj6rs534mncazz"))))
+ "1rgblphsd56033w7lpkrzl7m5w0fi7wavxri1ayzlg8fhpmmqp4k"))))
(build-system gnu-build-system)
(inputs
`(("freeglut" ,freeglut)
diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
index 46c8c4cc34..1e19ea592e 100644
--- a/gnu/packages/inkscape.scm
+++ b/gnu/packages/inkscape.scm
@@ -79,7 +79,7 @@
("freetype" ,freetype)
("popt" ,popt)
("potrace" ,potrace)
- ("python" ,python-2)
+ ("python" ,python-wrapper)
("lcms" ,lcms)
("boost" ,boost)))
(native-inputs
@@ -259,7 +259,7 @@ endif()~%~%"
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/inkscape")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))
#t)))))
(inputs
`(("aspell" ,aspell)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 471cc5e906..bf5da8272f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm