aboutsummaryrefslogtreecommitdiff
path: root/gnu/installer/newt/ethernet.scm
blob: d75a640519232218088352032fabfce31ed09e6d (about) (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu installer newt ethernet)
  #:use-module (gnu installer connman)
  #:use-module (gnu installer steps)
  #:use-module (gnu installer newt utils)
  #:use-module (gnu installer newt page)
  #:use-module (guix i18n)
  #:use-module (ice-9 format)
  #:use-module (ice-9 match)
  #:use-module (srfi srfi-34)
  #:use-module (srfi srfi-35)
  #:use-module (newt)
  #:export (run-ethernet-page))

(define (ethernet-services)
  "Return all the connman services of ethernet type."
  (let ((services (connman-services)))
    (filter (lambda (service)
              (and (string=? (service-type service) "ethernet")
                   (not (string-null? (service-name service)))))
            services)))

(define (ethernet-service->text service)
  "Return a string describing the given ethernet SERVICE."
  (let* ((name (service-name service))
         (path (service-path service))
         (full-name (string-append name "-" path))
         (state (service-state service))
         (connected? (or (string=? state "online")
                         (string=? state "ready"))))
    (format #f "~c ~a~%"
            (if connected? #\* #\ )
            full-name)))

(define (connect-ethernet-service service)
  "Connect to the given ethernet SERVICE. Display a connecting page while the
connection is pending."
  (let* ((service-name (service-name service))
         (form (draw-connecting-page service-name)))
    (connman-connect service)
    (destroy-form-and-pop form)
    service))

(define (run-ethernet-page)
  (match (ethernet-services)
    (()
     (run-error-page
      (G_ "No ethernet service available, please try again.")
      (G_ "No service"))
     (abort-to-prompt 'installer-step 'abort))
    ((service)
     ;; Only one service is available so return it directly.
     service)
    ((services ...)
     (run-listbox-selection-page
      #:info-text (G_ "Please select an ethernet network.")
      #:title (G_ "Ethernet connection")
      #:listbox-items services
      #:listbox-item->text ethernet-service->text
      #:listbox-height (min (+ (length services) 2) 5)
      #:button-text (G_ "Exit")
      #:button-callback-procedure
      (lambda _
        (abort-to-prompt 'installer-step 'abort))
      #:listbox-callback-procedure connect-ethernet-service))))
/tr> -rw-r--r--gnu/packages/autotools.scm26
-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/backup.scm8
-rw-r--r--gnu/packages/base.scm166
-rw-r--r--gnu/packages/benchmark.scm2
-rw-r--r--gnu/packages/bioinformatics.scm162
-rw-r--r--gnu/packages/bison.scm17
-rw-r--r--gnu/packages/boost.scm39
-rw-r--r--gnu/packages/bootstrap.scm6
-rw-r--r--gnu/packages/build-tools.scm19
-rw-r--r--gnu/packages/cdrom.scm2
-rw-r--r--gnu/packages/certs.scm136
-rw-r--r--gnu/packages/check.scm277
-rw-r--r--gnu/packages/chez.scm18
-rw-r--r--gnu/packages/cmake.scm105
-rw-r--r--gnu/packages/commencement.scm331
-rw-r--r--gnu/packages/compression.scm63
-rw-r--r--gnu/packages/connman.scm2
-rw-r--r--gnu/packages/cpio.scm10
-rw-r--r--gnu/packages/crates-io.scm39
-rw-r--r--gnu/packages/cross-base.scm21
-rw-r--r--gnu/packages/crypto.scm2
-rw-r--r--gnu/packages/cups.scm43
-rw-r--r--gnu/packages/curl.scm16
-rw-r--r--gnu/packages/databases.scm12
-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.scm79
-rw-r--r--gnu/packages/docbook.scm102
-rw-r--r--gnu/packages/ebook.scm4
-rw-r--r--gnu/packages/ed.scm4
-rw-r--r--gnu/packages/education.scm2
-rw-r--r--gnu/packages/emacs-xyz.scm2
-rw-r--r--gnu/packages/emulators.scm19
-rw-r--r--gnu/packages/engineering.scm24
-rw-r--r--gnu/packages/file.scm5
-rw-r--r--gnu/packages/fontutils.scm165
-rw-r--r--gnu/packages/game-development.scm2
-rw-r--r--gnu/packages/games.scm40
-rw-r--r--gnu/packages/gawk.scm4
-rw-r--r--gnu/packages/gcc.scm77
-rw-r--r--gnu/packages/gdb.scm15
-rw-r--r--gnu/packages/gettext.scm23
-rw-r--r--gnu/packages/ghostscript.scm8
-rw-r--r--gnu/packages/gimp.scm4
-rw-r--r--gnu/packages/gl.scm7
-rw-r--r--gnu/packages/glib.scm61
-rw-r--r--gnu/packages/gnome-xyz.scm2
-rw-r--r--gnu/packages/gnome.scm167
-rw-r--r--gnu/packages/gnupg.scm8
-rw-r--r--gnu/packages/gnuzilla.scm8
-rw-r--r--gnu/packages/gpodder.scm3
-rw-r--r--gnu/packages/gps.scm2
-rw-r--r--gnu/packages/gtk.scm32
-rw-r--r--gnu/packages/guile-xyz.scm4
-rw-r--r--gnu/packages/guile.scm30
-rw-r--r--gnu/packages/ibus.scm13
-rw-r--r--gnu/packages/icu4c.scm8
-rw-r--r--gnu/packages/image.scm30
-rw-r--r--gnu/packages/inkscape.scm4
-rw-r--r--gnu/packages/jemalloc.scm4
-rw-r--r--gnu/packages/kerberos.scm7
-rw-r--r--gnu/packages/ld-wrapper.in3
-rw-r--r--gnu/packages/libevent.scm15
-rw-r--r--gnu/packages/libffi.scm23
-rw-r--r--gnu/packages/libidn.scm5
-rw-r--r--gnu/packages/libsigsegv.scm4
-rw-r--r--gnu/packages/linux.scm11
-rw-r--r--gnu/packages/lisp.scm8
-rw-r--r--gnu/packages/llvm.scm12
-rw-r--r--gnu/packages/machine-learning.scm47
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/packages/make-bootstrap.scm4
-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.scm88
-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.scm17
-rw-r--r--gnu/packages/nettle.scm6
-rw-r--r--gnu/packages/networking.scm9
-rw-r--r--gnu/packages/nss.scm221
-rw-r--r--gnu/packages/onc-rpc.scm19
-rw-r--r--gnu/packages/openldap.scm42
-rw-r--r--gnu/packages/password-utils.scm4
-rw-r--r--gnu/packages/patches/bdb-5.3-atomics-on-gcc-9.patch22
-rw-r--r--gnu/packages/patches/boost-fix-transitive-linking.patch16
-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/findutils-test-rwlock-threads.patch38
-rw-r--r--gnu/packages/patches/fontconfig-hurd-path-max.patch17
-rw-r--r--gnu/packages/patches/ganeti-preserve-PYTHONPATH.patch21
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2020-15900.patch36
-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/guile-ssh-fix-test-suite.patch217
-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/libtirpc-hurd-client.patch50
-rw-r--r--gnu/packages/patches/meson-for-build-rpath.patch24
-rw-r--r--gnu/packages/patches/nss-3.56-pkgconfig.patch187
-rw-r--r--gnu/packages/patches/nss-increase-test-timeout.patch4
-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-3-fix-tests.patch194
-rw-r--r--gnu/packages/patches/python-3-hurd-configure.patch27
-rw-r--r--gnu/packages/patches/python-3.8-fix-tests.patch42
-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-pyflakes-fix-tests.patch40
-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/tcsh-fix-autotest.patch11
-rw-r--r--gnu/packages/patches/zziplib-CVE-2018-16548.patch49
-rw-r--r--gnu/packages/patchutils.scm2
-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.scm60
-rw-r--r--gnu/packages/python-crypto.scm22
-rw-r--r--gnu/packages/python-web.scm53
-rw-r--r--gnu/packages/python-xyz.scm697
-rw-r--r--gnu/packages/python.scm499
-rw-r--r--gnu/packages/radio.scm6
-rw-r--r--gnu/packages/readline.scm19
-rw-r--r--gnu/packages/ruby.scm56
-rw-r--r--gnu/packages/rust.scm1741
-rw-r--r--gnu/packages/scheme.scm6
-rw-r--r--gnu/packages/screen.scm2
-rw-r--r--gnu/packages/sequoia.scm2
-rw-r--r--gnu/packages/serialization.scm6
-rw-r--r--gnu/packages/shells.scm15
-rw-r--r--gnu/packages/simulation.scm36
-rw-r--r--gnu/packages/solidity.scm92
-rw-r--r--gnu/packages/spice.scm4
-rw-r--r--gnu/packages/sqlite.scm26
-rw-r--r--gnu/packages/ssh.scm6
-rw-r--r--gnu/packages/statistics.scm21
-rw-r--r--gnu/packages/storage.scm7
-rw-r--r--gnu/packages/syndication.scm4
-rw-r--r--gnu/packages/task-management.scm4
-rw-r--r--gnu/packages/tex.scm1999
-rw-r--r--gnu/packages/texinfo.scm27
-rw-r--r--gnu/packages/text-editors.scm3
-rw-r--r--gnu/packages/tls.scm48
-rw-r--r--gnu/packages/tmux.scm4
-rw-r--r--gnu/packages/version-control.scm14
-rw-r--r--gnu/packages/video.scm2
-rw-r--r--gnu/packages/virtualization.scm84
-rw-r--r--gnu/packages/w3m.scm13
-rw-r--r--gnu/packages/web.scm29
-rw-r--r--gnu/packages/wicd.scm5
-rw-r--r--gnu/packages/xdisorg.scm30
-rw-r--r--gnu/packages/xfce.scm2
-rw-r--r--gnu/packages/xml.scm58
-rw-r--r--gnu/packages/xorg.scm43
-rw-r--r--gnu/system/locale.scm3
-rw-r--r--gnu/system/shadow.scm8
-rw-r--r--gnu/system/vm.scm6
-rw-r--r--guix/build-system/cargo.scm2
-rw-r--r--guix/build-system/gnu.scm25
-rw-r--r--guix/build-system/meson.scm2
-rw-r--r--guix/build-system/python.scm8
-rw-r--r--guix/build-system/texlive.scm10
-rw-r--r--guix/build/copy-build-system.scm2
-rw-r--r--guix/build/emacs-build-system.scm16
-rw-r--r--guix/build/gnu-build-system.scm224
-rw-r--r--guix/build/gremlin.scm117
-rw-r--r--guix/build/lisp-utils.scm2
-rw-r--r--guix/build/maven/pom.scm2
-rw-r--r--guix/build/meson-build-system.scm2
-rw-r--r--guix/build/minify-build-system.scm11
-rw-r--r--guix/build/python-build-system.scm133
-rw-r--r--guix/build/rpath.scm59
-rw-r--r--guix/build/ruby-build-system.scm25
-rw-r--r--guix/build/texlive-build-system.scm42
-rw-r--r--guix/build/utils.scm187
-rw-r--r--guix/gexp.scm29
-rw-r--r--guix/packages.scm218
-rw-r--r--guix/profiles.scm48
-rw-r--r--guix/scripts/pack.scm27
-rw-r--r--guix/store/roots.scm2
-rw-r--r--guix/tests.scm43
-rw-r--r--guix/utils.scm43
-rw-r--r--tests/build-utils.scm24
-rw-r--r--tests/builders.scm121
-rw-r--r--tests/gremlin.scm66
-rw-r--r--tests/packages.scm85
217 files changed, 6466 insertions, 7099 deletions
diff --git a/Makefile.am b/Makefile.am
index bb27297096..5387ac7b9d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -222,7 +222,6 @@ MODULES = \
guix/build/union.scm \
guix/build/profiles.scm \
guix/build/compile.scm \
- guix/build/rpath.scm \
guix/build/cvs.scm \
guix/build/svn.scm \
guix/build/syscalls.scm \
@@ -385,6 +384,8 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/4.4-i686.conf \
gnu/packages/aux-files/linux-libre/4.4-x86_64.conf \
gnu/packages/aux-files/pack-audit.c \
+ gnu/packages/aux-files/python/sanity-check.py \
+ gnu/packages/aux-files/python/sitecustomize.py \
gnu/packages/aux-files/run-in-namespace.c
# Templates, examples.
diff --git a/doc/build.scm b/doc/build.scm
index d77fc0a700..abdcf43d96 100644
--- a/doc/build.scm
+++ b/doc/build.scm
@@ -736,7 +736,7 @@ makeinfo OPTIONS."
;; accented letters.
;;
;; (define texlive
- ;; (texlive-union (list texlive-tex-texinfo
+ ;; (texlive-updmap.cfg (list texlive-tex-texinfo
;; texlive-generic-epsf
;; texlive-fonts-ec)))
diff --git a/doc/guix.texi b/doc/guix.texi
index 464c1141d8..17636d9451 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2772,8 +2772,8 @@ you should add them to @file{~/.bash_profile} (or equivalent file if you
do not use Bash) so that environment variables are set next time you
spawn a shell. You only need to do this once and other search paths
environment variables will be taken care of similarly---e.g., if you
-eventually install @code{python} and Python libraries, @code{PYTHONPATH}
-will be defined.
+eventually install @code{python} and Python libraries,
+@env{GUIX_PYTHONPATH} will be defined.
You can go on installing packages at your will. To list installed
packages, run:
@@ -3512,24 +3512,26 @@ Show details about @var{package}, taken from the list of available packages, in
recutils manual}).
@example
-$ guix package --show=python | recsel -p name,version
-name: python
-version: 2.7.6
+$ guix package --show=guile | recsel -p name,version
+name: guile
+version: 3.0.5
-name: python
-version: 3.3.5
+name: guile
+version: 3.0.2
+
+name: guile
+version: 2.2.7
+@dots{}
@end example
You may also specify the full name of a package to only get details about a
specific version of it (this time using the @command{guix show} alias):
@example
-$ guix show python@@3.4 | recsel -p name,version
-name: python
-version: 3.4.3
+$ guix show guile@@3.0.5 | recsel -p name,version
+name: guile
+version: 3.0.5
@end example
-
-
@item --list-installed[=@var{regexp}]
@itemx -I [@var{regexp}]
List the currently installed packages in the specified profile, with the
@@ -5604,11 +5606,11 @@ guix environment guile -- make -j4
In other situations, it is more convenient to specify the list of
packages needed in the environment. For example, the following command
-runs @command{python} from an environment containing Python@tie{}2.7 and
+runs @command{python} from an environment containing Python@tie{}3 and
NumPy:
@example
-guix environment --ad-hoc python2-numpy python-2.7 -- python
+guix environment --ad-hoc python-numpy python -- python3
@end example
Furthermore, one might want the dependencies of a package and also some
@@ -7851,8 +7853,9 @@ packages, which consists in running @code{python setup.py build} and
then @code{python setup.py install --prefix=/gnu/store/@dots{}}.
For packages that install stand-alone Python programs under @code{bin/},
-it takes care of wrapping these programs so that their @env{PYTHONPATH}
-environment variable points to all the Python libraries they depend on.
+it takes care of wrapping these programs so that their
+@env{GUIX_PYTHONPATH} environment variable points to all the Python
+libraries they depend on.
Which Python package is used to perform the build can be specified with
the @code{#:python} parameter. This is a useful way to force a package
@@ -7864,6 +7867,13 @@ By default guix calls @code{setup.py} under control of
@code{setuptools}, much like @command{pip} does. Some packages are not
compatible with setuptools (and pip), thus you can disable this by
setting the @code{#:use-setuptools?} parameter to @code{#f}.
+
+If a @code{"python"} output is available, the package is installed into it
+instead of the default @code{"out"} output. This is useful for packages that
+include a Python package as only a part of the software, and thus want to
+combine the phases of @code{python-build-system} with another build system.
+Python bindings are a common usecase.
+
@end defvr
@defvr {Scheme Variable} perl-build-system
@@ -8084,9 +8094,7 @@ implements the build procedure for packages that use
It adds both Meson and @uref{https://ninja-build.org/, Ninja} to the set
of inputs, and they can be changed with the parameters @code{#:meson}
-and @code{#:ninja} if needed. The default Meson is
-@code{meson-for-build}, which is special because it doesn't clear the
-@code{RUNPATH} of binaries and libraries when they are installed.
+and @code{#:ninja} if needed.
This build system is an extension of @code{gnu-build-system}, but with the
following phases changed to some specific for Meson:
@@ -8117,11 +8125,11 @@ Apart from that, the build system also adds the following phases:
@item fix-runpath
This phase ensures that all binaries can find the libraries they need.
-It searches for required libraries in subdirectories of the package being
-built, and adds those to @code{RUNPATH} where needed. It also removes
-references to libraries left over from the build phase by
-@code{meson-for-build}, such as test dependencies, that aren't actually
-required for the program to run.
+It searches for required libraries in subdirectories of the package
+being built, and adds those to @code{RUNPATH} where needed. It also
+removes references to libraries left over from the build phase by
+@code{meson}, such as test dependencies, that aren't actually required
+for the program to run.
@item glib-or-gtk-wrap
This phase is the phase provided by @code{glib-or-gtk-build-system}, and it
@@ -8462,12 +8470,14 @@ Make @var{file} writable for its owner.
@end deffn
@deffn {Scheme Procedure} copy-recursively @var{source} @var{destination} @
- [#:log (current-output-port)] [#:follow-symlinks? #f] [#:keep-mtime? #f]
+ [#:log (current-output-port)] [#:follow-symlinks? #f] @
+ [#:copy-file copy-file] [#:keep-mtime? #f] [#:keep-permissions? #t]
Copy @var{source} directory to @var{destination}. Follow symlinks if
-@var{follow-symlinks?} is true; otherwise, just preserve them. When
-@var{keep-mtime?} is true, keep the modification time of the files in
-@var{source} on those of @var{destination}. Write verbose output to the
-@var{log} port.
+@var{follow-symlinks?} is true; otherwise, just preserve them. Call
+@var{copy-file} to copy regular files. When @var{keep-mtime?} is true,
+keep the modification time of the files in @var{source} on those of
+@var{destination}. When @var{keep-permissions?} is true, preserve file
+permissions. Write verbose output to the @var{log} port.
@end deffn
@deffn {Scheme Procedure} delete-file-recursively @var{dir} @
@@ -34254,6 +34264,20 @@ GDB}):
From there on, GDB will pick up debugging information from the
@file{.debug} files under @file{~/.guix-profile/lib/debug}.
+Below is an alternative GDB script which is useful when working with
+other profiles. It takes advantage of the optional Guile integration in
+GDB. This snippet is included by default on Guix System in the
+@file{~/.gdbinit} file.
+
+@example
+guile
+(use-modules (gdb))
+(execute (string-append "set debug-file-directory "
+ (or (getenv "GDB_DEBUG_FILE_DIRECTORY")
+ "~/.guix-profile/lib/debug")))
+end
+@end example
+
In addition, you will most likely want GDB to be able to show the source
code being debugged. To do that, you will have to unpack the source
code of the package of interest (obtained with @code{guix build
diff --git a/gnu/build/image.scm b/gnu/build/image.scm
index f6e5cb42f6..45eed0b298 100644
--- a/gnu/build/image.scm
+++ b/gnu/build/image.scm
@@ -61,7 +61,7 @@
(inexact->exact (ceiling (/ size 1024)))))
(define (estimate-partition-size root)
- "Given the ROOT directory, evalute and return its size. As this doesn't
+ "Given the ROOT directory, evaluate and return its size. As this doesn't
take the partition metadata size into account, take a 25% margin."
(* 1.25 (file-size root)))
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 25afb99618..6c6d1ba47b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 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, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
@@ -19,7 +19,7 @@
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018, 2019, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
-# Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+# Copyright © 2018, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@@ -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>
#
# This file is part of GNU Guix.
#
@@ -515,6 +516,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 \
@@ -830,7 +832,7 @@ dist_patch_DATA = \
%D%/packages/patches/avahi-localstatedir.patch \
%D%/packages/patches/avidemux-install-to-lib.patch \
%D%/packages/patches/awesome-reproducible-png.patch \
- %D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \
+ %D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \
%D%/packages/patches/aws-checksums-cmake-prefix.patch \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \
@@ -839,6 +841,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/bsd-games-2.17-64bit.patch \
%D%/packages/patches/bsd-games-add-configure-config.patch \
@@ -868,6 +871,7 @@ dist_patch_DATA = \
%D%/packages/patches/blender-2.79-oiio2.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
%D%/packages/patches/blender-2.79-python-3.8-fix.patch \
+ %D%/packages/patches/boost-fix-transitive-linking.patch \
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
@@ -920,7 +924,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 \
@@ -933,6 +936,7 @@ dist_patch_DATA = \
%D%/packages/patches/diffutils-gets-undeclared.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 \
@@ -988,12 +992,10 @@ 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 \
@@ -1006,7 +1008,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 \
@@ -1062,7 +1063,6 @@ 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 \
@@ -1080,6 +1080,7 @@ 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 \
@@ -1142,6 +1143,7 @@ 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/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
@@ -1176,13 +1178,10 @@ 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 \
%D%/packages/patches/ilmbase-fix-tests.patch \
- %D%/packages/patches/inetutils-hurd.patch \
%D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/intel-xed-fix-nondeterminism.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
@@ -1214,7 +1213,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jfsutils-add-sysmacros.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/libffi-3.3-powerpc-fixes.patch \
@@ -1298,7 +1296,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 \
@@ -1353,7 +1350,6 @@ dist_patch_DATA = \
%D%/packages/patches/mediastreamer2-srtp2.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 \
@@ -1463,9 +1459,7 @@ 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-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 \
@@ -1523,7 +1517,7 @@ dist_patch_DATA = \
%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-hurd-configure.patch \
%D%/packages/patches/python-3.8-CVE-2021-3177.patch \
%D%/packages/patches/python-3.9-fix-tests.patch \
%D%/packages/patches/python-CVE-2018-14647.patch \
@@ -1538,13 +1532,16 @@ dist_patch_DATA = \
%D%/packages/patches/python-keras-integration-test.patch \
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
+ %D%/packages/patches/python-pyflakes-fix-tests.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 \
@@ -1600,11 +1597,6 @@ dist_patch_DATA = \
%D%/packages/patches/rnp-unbundle-googletest.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
%D%/packages/patches/runc-CVE-2019-5736.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-nettle-disable-vendor.patch \
@@ -1753,8 +1745,7 @@ dist_patch_DATA = \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
%D%/packages/patches/xsane-support-ipv6.patch \
%D%/packages/patches/xsane-tighten-default-umask.patch \
- %D%/packages/patches/yggdrasil-extra-config.patch \
- %D%/packages/patches/zziplib-CVE-2018-16548.patch
+ %D%/packages/patches/yggdrasil-extra-config.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index b0fee13907..00436e9920 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 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>
@@ -584,7 +585,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
@@ -686,15 +688,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"
@@ -715,10 +716,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))
@@ -1570,10 +1578,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?)
@@ -2801,7 +2806,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.
@@ -2856,7 +2861,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)
@@ -3972,8 +3977,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 57f34942d5..a67a00284b 100644
--- a/gnu/packages/adns.scm
+++ b/gnu/packages/adns.scm
@@ -65,7 +65,7 @@ scripts.")
(define-public c-ares
(package
(name "c-ares")
- (version "1.16.0")
+ (version "1.16.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -73,7 +73,7 @@ scripts.")
".tar.gz"))
(sha256
(base32
- "129sm0wzij0mp8vdv68v18hnykcjb6ivi66wnqnnw598q7bql1fy"))))
+ "1kl6bzlcmxn0524h5qldlbh99wf96whhvk54w3p4igf3xk8150yh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 6f36f267b0..61cd481da0 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -245,7 +245,7 @@ the real span of the lattice.")
"1cgwdpw8b797883z9y92ixxjkv72kiy65zsw2qqf5and1kbzgv41"))))
(build-system gnu-build-system)
(native-inputs
- `(("texlive" ,(texlive-union
+ `(("texlive" ,(texlive-updmap.cfg
(list texlive-amsfonts)))))
(inputs `(("gmp" ,gmp)
("libx11" ,libx11)
@@ -703,6 +703,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 9db1834d27..a54421cfab 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.
;;;
@@ -445,19 +446,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 +472,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 +490,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 +517,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 2440fed1fd..b6cbafb669 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2062,9 +2062,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)
@@ -4675,7 +4675,7 @@ as is the case with audio plugins.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-script (string-append out "/bin/carla")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
#t))))))
(inputs
`(("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index e999688894..005e97f83e 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -205,9 +205,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
@@ -318,14 +318,14 @@ 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)
@@ -480,11 +480,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/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/backup.scm b/gnu/packages/backup.scm
index 78c5b31bb5..c1e9de5595 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -212,7 +212,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)
@@ -223,7 +223,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)
@@ -784,8 +784,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 9aa69cfe77..5c65abe1bc 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1,11 +1,11 @@
;;; 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>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
-;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
@@ -15,6 +15,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com>
+;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,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)
@@ -96,14 +98,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
@@ -120,8 +122,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
@@ -144,7 +145,19 @@ 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)
(synopsis "Stream editor")
(native-inputs
@@ -161,14 +174,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)
@@ -196,8 +209,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.
@@ -272,16 +284,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
@@ -293,8 +304,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
@@ -320,6 +330,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
@@ -365,15 +376,13 @@ 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))
+ (("#!/bin/sh") (string-append "#!" (which "sh"))))))
,@(if (hurd-target?)
`((add-after 'unpack 'remove-tests
(lambda _
(substitute* "Makefile.in"
;; this test hangs
- (("^ *tests/misc/timeout-group.sh.*") ""))
- #t)))
+ (("^ *tests/misc/timeout-group.sh.*") "")))))
'()))))
(synopsis "Core GNU utilities (file, text, shell)")
(description
@@ -418,8 +427,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
@@ -451,8 +459,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
@@ -486,20 +493,19 @@ 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"))
+ "18ypqr5y48vxqg9mkz1c47798jp1xb1d4vfpmfq8vkihkvkx4jsv"))
(patches (search-patches "binutils-loongson-workaround.patch"))))
(build-system gnu-build-system)
@@ -524,17 +530,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
@@ -547,18 +543,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.
@@ -579,7 +563,7 @@ included.")
(properties '())))
(define-public binutils-gold
- (package/inherit binutils+documentation
+ (package/inherit binutils
(name "binutils-gold")
(arguments
`(#:phases
@@ -587,8 +571,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)
@@ -687,24 +670,15 @@ the store.")
;; version 2.28, GNU/Hurd used a different glibc branch.
(package
(name "glibc")
- (version "2.31")
+ (version "2.32")
(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)))
+ "0di848ibffrnwq7g2dvgqrnn4xqhj3h96csn69q4da51ymafl9qn"))
(patches (search-patches "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"
@@ -712,7 +686,9 @@ 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-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
@@ -785,6 +761,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
@@ -812,6 +793,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.*$")
@@ -847,9 +833,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)
@@ -887,8 +871,7 @@ the store.")
((out) static)))
(filter linker-script?
(map (cut string-append slib "/" <>)
- files)))
- #t)))
+ files))))))
,@(if (hurd-target?)
'((add-after 'install 'augment-libc.so
@@ -897,8 +880,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)))
@@ -939,6 +921,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)
@@ -1096,8 +1089,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)
@@ -1237,8 +1229,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
@@ -1302,8 +1293,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)
@@ -1331,7 +1321,7 @@ and daylight-saving rules.")
(hidden-package
(package
(inherit tzdata)
- (version "2019c")
+ (version "2020d")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1339,7 +1329,7 @@ and daylight-saving rules.")
version ".tar.gz"))
(sha256
(base32
- "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
+ "1wxskk9mh1x2073n99qna2mq58mgi648mbq5dxlqfcrnvrbkk0cd"))))
(inputs
`(("tzcode" ,(origin
(method url-fetch)
@@ -1348,7 +1338,7 @@ and daylight-saving rules.")
version ".tar.gz"))
(sha256
(base32
- "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))))))
+ "1mgsckixmmk9qxzsflfxnp3999qi3ls72bgksclk01g852x51w3c")))))))))
(define-public libiconv
(package
@@ -1365,11 +1355,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/benchmark.scm b/gnu/packages/benchmark.scm
index cb97c9c7a5..ff9cc26f48 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -103,7 +103,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 6d21e14360..d37d93047e 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>
@@ -211,8 +211,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.
@@ -232,37 +231,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)
@@ -819,9 +803,7 @@ intended to behave exactly the same as the original BWK awk.")
"14w5i40gi25clrr7h4wa2pcpnyipya8hrqi7nq77553zc5wf0df0"))))
(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
@@ -847,10 +829,7 @@ intended to behave exactly the same as the original BWK awk.")
;; This issue still occurs on python2
(substitute* "pybedtools/test/test_issues.py"
(("def test_issue_303")
- "def _test_issue_303"))
- #t))
- ;; TODO: Remove phase after it's part of PYTHON-BUILD-SYSTEM.
- ;; build system.
+ "def _test_issue_303"))))
;; Force the Cythonization of C++ files to guard against compilation
;; problems.
(add-after 'unpack 'remove-cython-generated-files
@@ -862,30 +841,12 @@ intended to behave exactly the same as the original BWK awk.")
(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* ((cwd (getcwd))
- (build-root-directory (string-append cwd "/build/"))
- (build (string-append
- build-root-directory
- (find (cut string-prefix? "lib" <>)
- (scandir (string-append
- build-root-directory)))))
- (scripts (string-append
- build-root-directory
- (find (cut string-prefix? "scripts" <>)
- (scandir build-root-directory)))))
- (setenv "PYTHONPATH"
- (string-append build ":" (getenv "PYTHONPATH")))
- ;; Executable scripts such as 'intron_exon_reads.py' must be
- ;; available in the PATH.
- (setenv "PATH"
- (string-append scripts ":" (getenv "PATH"))))
;; The tests need to be run from elsewhere...
(mkdir-p "/tmp/test")
(copy-recursively "pybedtools/test" "/tmp/test")
@@ -1942,15 +1903,10 @@ multiple sequence alignments.")
(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)
@@ -1960,22 +1916,16 @@ multiple sequence alignments.")
(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")
@@ -2316,9 +2266,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)
@@ -2981,19 +2931,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
@@ -6433,25 +6378,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)
@@ -11138,7 +11064,7 @@ matplotlib.use('Agg')
" line)))
;; Make sure GESS has all modules in its path
(wrap-script (string-append target "GESS.py")
- `("PYTHONPATH" ":" = (,target ,(getenv "PYTHONPATH"))))
+ `("GUIX_PYTHONPATH" ":" = (,target ,(getenv "GUIX_PYTHONPATH"))))
(mkdir-p bin)
(symlink (string-append target "GESS.py")
(string-append bin "GESS.py"))
@@ -12088,11 +12014,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)
@@ -13320,11 +13242,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"
@@ -13369,11 +13291,7 @@ in RNA-seq data.")
(delete-file "scanpy/tests/test_preprocessing.py")
(delete-file "scanpy/tests/test_read_10x.py")
- (setenv "PYTHONPATH"
- (string-append (getcwd) ":"
- (getenv "PYTHONPATH")))
- (invoke "pytest")
- #t)))))
+ (invoke "pytest"))))))
(propagated-inputs
`(("python-anndata" ,python-anndata)
("python-h5py" ,python-h5py)
@@ -14270,10 +14188,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 _
@@ -14346,12 +14264,12 @@ choosing which reads pass the filter.")
#t)))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
- (let ((pythonpath (getenv "PYTHONPATH"))
+ (let ((pythonpath (getenv "GUIX_PYTHONPATH"))
(perl5lib (getenv "PERL5LIB"))
(scripts (string-append (assoc-ref outputs "out")
"/share/nanopolish/scripts")))
(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))))
@@ -14568,7 +14486,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..6e27de5a12 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.5")
(source
(origin
(method url-fetch)
@@ -41,7 +41,7 @@
version ".tar.xz"))
(sha256
(base32
- "1i57hbczvr8674z73775jxdd3y59qggs5lmfd60gmwm5i1gmpy1b"))))
+ "1aridd55c3alxw9ryqh91gq57zcjr8qmxwnh49k66v9rpk2kpig8"))))
(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 b1ab8a4ec9..bc0e95b1ba 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 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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -61,21 +63,17 @@
(define-public boost
(package
(name "boost")
- (version "1.72.0")
+ (version "1.75.0")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.bintray.com/boostorg/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")))
+ ; Should be included in next Boost update
+ (patches (search-patches "boost-fix-transitive-linking.patch"))
(sha256
(base32
- "08h7cv61fd0lzb4z50xanfqn0pdgvizjrpd1kcdgj725pisb5jar"))))
+ "1js9zpij58l60kx46s3lxdp5207igppjnhqigwhbpdvd04gb6gcm"))))
(build-system gnu-build-system)
(inputs `(("icu4c" ,icu4c)
("zlib" ,zlib)))
@@ -83,7 +81,7 @@
`(("perl" ,perl)
,@(if (%current-target-system)
'()
- `(("python" ,python-wrapper)))
+ `(("python" ,python-minimal-wrapper)))
("tcsh" ,tcsh)))
(arguments
`(#:imported-modules ((guix build python-build-system)
@@ -124,8 +122,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"))
@@ -140,13 +137,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)
@@ -199,14 +192,6 @@ across a broad spectrum of applications.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
-(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 c39e60ec8b..fee2ae1199 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -740,9 +741,12 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
"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 1b4a2effd5..27733a8c53 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -266,7 +266,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson
(package
(name "meson")
- (version "0.53.2")
+ (version "0.56.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -274,7 +274,7 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
- "07y2hh9dfn1m9g4bsy49nbn3vdmd0b2iwr8bxg19fhqq6c7q73ry"))))
+ "1x47vc7023w8w90r6jda5hk2jsh68i66x49gckdgixw32fwvvf1w"))))
(build-system python-build-system)
(arguments
`(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH
@@ -303,7 +303,7 @@ resembles Python.")
(define-public meson-0.55
(package
(inherit meson)
- (version "0.55.1")
+ (version "0.55.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -311,18 +311,7 @@ resembles Python.")
version ".tar.gz"))
(sha256
(base32
- "1070kjiirxxdfppmrhi3wsc6rykay1zlciqrzayjhjg0hkw42mrv"))))))
-
-(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)))))
+ "19cjy24mfaswxyvqmns6rd7hx05ybqb663zlgklspfr8l4jjmvbb"))))))
(define-public premake4
(package
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index d93c673ac2..dd1283b26d 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 b72d927c0d..5bdf3b5a4a 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,120 +25,82 @@
(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")
- (source (origin
- (method url-fetch)
- (uri (let ((version-with-underscores
- (string-join (string-split version #\.) "_")))
- (string-append
- "https://ftp.mozilla.org/pub/mozilla.org/security/nss/"
- "releases/NSS_" version-with-underscores "_RTM/src/"
- "nss-" version ".tar.gz")))
- (sha256
- (base32
- "096fs3z21r171q24ca3rq53p1389xmvqz1f2rpm7nlm8r9s82ag6"))))
+ (version (package-version nss))
+ (source (package-source nss))
(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)
- (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))))))
-
+ (let ((certsdir (string-append %output "/etc/ssl/certs/")))
+ (with-directory-excursion "lib/ckfw/builtins/"
+ (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 0baf777393..50f4e4b0ef 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -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)
@@ -931,39 +932,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`.
@@ -973,6 +975,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")
@@ -983,45 +986,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
@@ -1062,19 +1026,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
@@ -1266,20 +1223,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
@@ -1329,19 +1291,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
@@ -1560,7 +1521,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)))
@@ -1929,13 +1895,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.
@@ -1952,18 +1918,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
@@ -1983,19 +1937,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
@@ -2045,7 +1999,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
@@ -2128,7 +2093,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)
@@ -2137,13 +2102,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
@@ -2339,20 +2317,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
@@ -2591,48 +2559,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
@@ -2802,13 +2757,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 eac556c4d0..11cd04c161 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -88,7 +88,7 @@
("zlib:static" ,zlib "static")
("stex" ,stex)))
(native-inputs
- `(("texlive" ,(texlive-union (list texlive-latex-oberdiek
+ `(("texlive" ,(texlive-updmap.cfg (list texlive-latex-oberdiek
texlive-generic-epsf)))
("ghostscript" ,ghostscript)
("netpbm" ,netpbm)))
@@ -273,13 +273,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)
@@ -290,12 +290,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)
@@ -338,7 +332,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/cmake.scm b/gnu/packages/cmake.scm
index 65580c9ff7..8d6a091507 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -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,26 @@ 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"
+ ;; This test requires the bundled libuv.
+ "BootstrapTest"))
(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.19.2")
(source (origin
(method url-fetch)
(uri (string-append "https://cmake.org/files/v"
@@ -143,7 +148,7 @@ using the CMake build system.")
"/cmake-" version ".tar.gz"))
(sha256
(base32
- "1z4bb8z6b4dvq5hrvajrf1hyybqay3xybyimf71w1jgcp180nxjz"))
+ "1w67w0ak6vf37501dlz9yhnzlvvpw1w10n2nm3hi7yxp4cxzvq73"))
(modules '((guix build utils)
(ice-9 ftw)))
(snippet
@@ -241,14 +246,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
@@ -294,9 +298,8 @@ and workspaces that can be used in the compiler environment of your choice.")
(define preserved-files ',%preserved-third-party-files))
exp))))))
(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 +314,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 +346,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 +367,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 +380,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 432910d7a3..890d57941f 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1,14 +1,15 @@
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -54,6 +55,7 @@
#: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)
@@ -115,8 +117,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"))))))
@@ -162,8 +163,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)))))
@@ -189,8 +189,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~%")
@@ -216,8 +215,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"))
@@ -246,8 +244,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)))))
@@ -437,8 +434,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")
@@ -572,8 +568,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"
@@ -635,13 +630,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")))
@@ -693,16 +686,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")))
@@ -758,8 +749,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"
@@ -772,8 +762,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)
@@ -788,20 +777,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")))
@@ -811,8 +796,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.
@@ -845,8 +829,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)
@@ -857,8 +840,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"))
@@ -918,57 +900,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.
@@ -1001,8 +934,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))))))
@@ -1038,8 +970,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")))
@@ -1047,16 +978,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))))
@@ -1104,14 +1035,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)
@@ -1183,8 +1112,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"))
@@ -1232,8 +1160,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")
@@ -1276,8 +1203,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.
@@ -1328,8 +1254,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"))
@@ -1344,8 +1269,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
@@ -1422,8 +1346,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)
@@ -1440,8 +1363,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
@@ -1464,8 +1386,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"))
@@ -1542,14 +1463,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.
@@ -1586,8 +1505,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
@@ -1612,8 +1530,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
@@ -1676,8 +1593,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
@@ -1712,8 +1628,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
@@ -1744,8 +1659,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
@@ -1788,14 +1702,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")))
@@ -1803,8 +1715,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")))
@@ -1814,8 +1725,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)
@@ -1941,8 +1851,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)
@@ -1966,8 +1875,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"))
@@ -1985,8 +1893,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
@@ -2016,8 +1924,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"))
@@ -2029,8 +1936,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)
@@ -2171,8 +2077,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)
@@ -2224,8 +2129,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"))
@@ -2247,15 +2151,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))
@@ -2284,8 +2186,7 @@ SHELL := " shell "
(invoke "make" (string-append (getcwd) "/sysd-sorted" ))
(substitute* "sysd-sorted"
((" sunrpc") " ")
- ((" nis") " "))
- #t)))))))))
+ ((" nis") " ")))))))))))
(define glibc-mesboot
(package
@@ -2306,9 +2207,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)
@@ -2363,8 +2263,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"))
@@ -2379,7 +2278,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
@@ -2452,8 +2350,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
@@ -2526,8 +2424,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))))
@@ -2593,6 +2490,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
@@ -2607,7 +2506,17 @@ exec " gcc "/bin/" program
((or "arm-linux" "aarch64-linux")
''("--disable-dependency-tracking"))
(_ ''()))
- ,flags)))))))
+ ,flags))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-before 'check 'skip-fnmatch-test
+ (lambda _
+ ;; 'test-fnmatch' fails when using glibc-mesboot@2.16, due
+ ;; to incorrect handling of the [:alpha:] regexp character
+ ;; class. Ignore it.
+ (substitute* "gnulib-tests/Makefile"
+ (("^XFAIL_TESTS =")
+ "XFAIL_TESTS = test-fnmatch ")))))))))))
(define file
(package
@@ -2639,7 +2548,7 @@ exec " gcc "/bin/" program
(define gawk-boot0
(package
- (inherit patch)
+ (inherit gawk)
(source (bootstrap-origin (package-source gawk)))
(name "gawk-boot0")
(native-inputs '())
@@ -2752,8 +2661,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)
@@ -2788,8 +2696,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 '()))))
@@ -2877,8 +2784,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
@@ -2891,8 +2797,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
@@ -2904,8 +2809,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)))
@@ -2946,8 +2850,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)
@@ -3192,12 +3095,13 @@ memoized as a function of '%current-system'."
(delete-file-recursively "Modules/expat")
(substitute* "Modules/Setup.dist"
;; Link Expat instead of embedding the bundled one.
- (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n"))
- #t)))))
+ (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")))))))
(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
@@ -3229,18 +3133,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
@@ -3287,9 +3194,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?)
@@ -3299,15 +3206,7 @@ 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)
@@ -3324,9 +3223,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"))))))
@@ -3374,9 +3270,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)
@@ -3439,16 +3333,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.
@@ -3615,8 +3507,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
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm