From 567cca260d54a4515097ff3f2dc277d10ceaf613 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 15 Aug 2019 16:45:03 -0400 Subject: gnu: bash: Unconditionally configure PGRP_PIPE for *-linux systems. * gnu/packages/patches/bash-linux-pgrp-pipe.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/bash.scm (bash)[source]: Add the patch. --- gnu/local.mk | 1 + gnu/packages/bash.scm | 3 ++- gnu/packages/patches/bash-linux-pgrp-pipe.patch | 32 +++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/bash-linux-pgrp-pipe.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5705494090..d4006c56eb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -703,6 +703,7 @@ dist_patch_DATA = \ %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-4.4-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-completion-directories.patch \ + %D%/packages/patches/bash-linux-pgrp-pipe.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ %D%/packages/patches/beets-python-3.7-fix.patch \ diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index d3abeec6e6..f1ef7047bf 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -115,7 +115,8 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." (base32 "0kgvfwqdcd90waczf4gx39xnrxzijhjrzyzv7s8v4w31qqm0za5l")) (patch-flags '("-p0")) - (patches %patch-series-5.0))) + (patches (cons (search-patch "bash-linux-pgrp-pipe.patch") + %patch-series-5.0)))) (version (string-append version "." (number->string (length %patch-series-5.0)))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/bash-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-linux-pgrp-pipe.patch new file mode 100644 index 0000000000..234a55e897 --- /dev/null +++ b/gnu/packages/patches/bash-linux-pgrp-pipe.patch @@ -0,0 +1,32 @@ +Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of +the kernel version in use on the build machine. + +--- configure.ac.orig 2019-01-02 09:38:44.000000000 -0500 ++++ configure.ac 2019-08-15 16:40:24.271758379 -0400 +@@ -1108,10 +1108,7 @@ + solaris2*) LOCAL_CFLAGS=-DSOLARIS ;; + lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;; + linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading +- case "`uname -r`" in +- 1.*|2.[[0123]]*) : ;; +- *) AC_DEFINE(PGRP_PIPE) ;; +- esac ;; ++ AC_DEFINE(PGRP_PIPE) ;; + netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;; + *qnx[[67]]*) LOCAL_LIBS="-lncurses" ;; + *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; +--- configure.orig 2019-01-02 09:43:04.000000000 -0500 ++++ configure 2019-08-15 16:41:44.440155912 -0400 +@@ -16312,11 +16312,7 @@ + solaris2*) LOCAL_CFLAGS=-DSOLARIS ;; + lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;; + linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading +- case "`uname -r`" in +- 1.*|2.[0123]*) : ;; +- *) $as_echo "#define PGRP_PIPE 1" >>confdefs.h +- ;; +- esac ;; ++ $as_echo "#define PGRP_PIPE 1" >>confdefs.h ;; + netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;; + *qnx[67]*) LOCAL_LIBS="-lncurses" ;; + *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; -- cgit 1.4.1 From 001504a70ab8e34742aea3fe9e21619a7264dc25 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 26 Jun 2019 10:16:32 +0200 Subject: gnu: perl: Fix cross-compilation. * gnu/packages/perl.scm (perl)[arguments]: Use cross-libc instead of libc when cross-compiling. --- gnu/packages/perl.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 79d8f3b684..03bd710aa9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2018, 2019 Pierre Neidhardt ;;; Copyright © 2018 Kei Kebreau ;;; Copyright © 2019 Alex Griffin +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,7 +82,7 @@ "perl-reproducible-build-date.patch")))) (build-system gnu-build-system) (arguments - '(#:tests? #f + `(#:tests? #f #:configure-flags (let ((out (assoc-ref %outputs "out")) (libc (assoc-ref %build-inputs "libc"))) @@ -130,7 +131,9 @@ (add-after 'install 'remove-extra-references (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc")) + (libc (assoc-ref inputs + ,(if (%current-target-system) + "cross-libc" "libc"))) (config1 (car (find-files (string-append out "/lib/perl5") "^Config_heavy\\.pl$"))) (config2 (find-files (string-append out "/lib/perl5") -- cgit 1.4.1 From 57ec9861f45784a16a469d8bfaf0792969a45455 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 6 Mar 2019 16:39:00 +0100 Subject: gnu: python: Fix cross compilation. * gnu/packages/python.scm (python-2.7)[arguments]: Add a configure flag to disable a check failing when cross-compiling. This is covered here: https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html, [native-inputs]: Add self and which when cross-compiling, (python-3.7)[arguments]: Refer to native python when cross-compiling. --- gnu/packages/python.scm | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 644c9d7666..b7a664271b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -38,7 +38,7 @@ ;;; Copyright © 2017 Frederick M. Muriithi ;;; Copyright © 2017, 2018 Adriano Peluso ;;; Copyright © 2017 Ben Sturmfels -;;; Copyright © 2017, 2018 Mathieu Othacehe +;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe ;;; Copyright © 2017 José Miguel Sánchez García ;;; Copyright © 2017 Roel Janssen ;;; Copyright © 2017, 2018 Kei Kebreau @@ -150,6 +150,13 @@ "INSTALL=install -c" "MKDIR_P=mkdir -p" + ;; Disable runtime check failing if cross-compiling, see: + ;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html + ,@(if (%current-target-system) + '("ac_cv_buggy_getaddrinfo=no" + "ac_cv_file__dev_ptmx=no" + "ac_cv_file__dev_ptc=no") + '()) (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) ;; With no -j argument tests use all available cpus, so provide one. @@ -292,7 +299,12 @@ ("tcl" ,tcl) ("tk" ,tk))) ; for tkinter (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ;; When cross-compiling, a native version of Python itself is needed. + ,@(if (%current-target-system) + `(("self" ,this-package) + ("which" ,which)) + '()))) (native-search-paths (list (search-path-specification (variable "PYTHONPATH") @@ -388,13 +400,16 @@ data types.") (if (null? opt) "none" (car opt))) (for-each (lambda (file) (apply invoke - `(,(string-append out "/bin/python3") - ,@opt - "-m" "compileall" - "-f" ; force rebuild - ;; Don't build lib2to3, because it's Python 2 code. - "-x" "lib2to3/.*" - ,file))) + `(,,(if (%current-target-system) + "python3" + '(string-append out + "/bin/python3")) + ,@opt + "-m" "compileall" + "-f" ; force rebuild + ;; Don't build lib2to3, because it's Python 2 code. + "-x" "lib2to3/.*" + ,file))) (find-files out "\\.py$"))) (list '() '("-O") '("-OO"))) #t))))))) -- cgit 1.4.1 From 2ce30a37ad5d74e368a8db4a1f38877ee9759a02 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 26 Jun 2019 18:29:23 +0200 Subject: gnu: tcl: Fix cross-compilation. * gnu/packages/tcl.scm (tcl)[arguments]: Add configure flags to fix cross-compilation. --- gnu/packages/tcl.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 21ca185066..96f41e7928 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -53,7 +53,7 @@ "0kjzj7mkzfnb7ksxanbibibfpciyvsh5ffdlhs0bmfc75kgd435d")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure (lambda _ (chdir "unix") #t)) (add-after 'install 'install-private-headers @@ -73,9 +73,16 @@ ;; PREFIX/share/man. The 'validate-documentation-location' phase is ;; not able to fix this up because the default install populates both ;; PREFIX/man and PREFIX/share/man. - #:configure-flags (list (string-append "--mandir=" - (assoc-ref %outputs "out") - "/share/man")) + #:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "out") + "/share/man") + ;; This is needed when cross-compiling, see: + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247 + ,@(if (%current-target-system) + '("tcl_cv_strtod_buggy=1" + "ac_cv_func_strtod=yes") + '())) ;; XXX: There are a few test failures (related to HTTP, most ;; likely related to name resolution), but that doesn't cause -- cgit 1.4.1 From ee4c8c899b91ff5a691213cb79ff181bc13fe76c Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 26 Jun 2019 18:30:13 +0200 Subject: gnu: tk: Fix cross-compilation. * gnu/packages/tcl.scm (tk)[arguments]: Add configure flags to fix cross-compilation. --- gnu/packages/tcl.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 96f41e7928..9ef95b42ed 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -186,9 +186,16 @@ X11 GUIs.") "/lib -lfontconfig"))) #t)))) - #:configure-flags (list (string-append "--with-tcl=" - (assoc-ref %build-inputs "tcl") - "/lib")) + #:configure-flags + (list (string-append "--with-tcl=" + (assoc-ref %build-inputs "tcl") + "/lib") + ;; This is needed when cross-compiling, see: + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247 + ,@(if (%current-target-system) + '("tcl_cv_strtod_buggy=1" + "ac_cv_func_strtod=yes") + '())) ;; The tests require a running X server, so we just skip them. #:tests? #f)) -- cgit 1.4.1 From da66bd38572840eb56a11e8cf3093bd811992eb5 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 26 Jun 2019 18:31:45 +0200 Subject: gnu: libxslt: Fix cross-compilation. * gnu/packages/xml.scm (libxslt)[native-inputs]: Add pkg-config. --- gnu/packages/xml.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index b8f3774039..042f06eed3 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -226,6 +226,8 @@ project (but it is usable outside of the Gnome platform).") ("libxml2" ,libxml2) ("python" ,python-minimal-wrapper) ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) (description "Libxslt is an XSLT C library developed for the GNOME project. It is based on libxml for XML parsing, tree manipulation and XPath support.") -- cgit 1.4.1 From d7c53647323963ec656852a5b967f3e3792b99c3 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 26 Jun 2019 18:43:22 +0200 Subject: gnu: xorg: Fix cross-compilation of multiple packages. * gnu/packages/xorg.scm (libxext)[arguments]: Disable zero malloc check that fails when cross-compiling, (libxrender)[arguments]: ditto, (libx11)[arguments]: ditto. --- gnu/packages/xorg.scm | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b3d9fd3cb7..d7cd585664 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4552,6 +4552,13 @@ cannot be adequately worked around on the client side of the wire.") (base32 "0azqxllcsfxc3ilhz6kwc6x7m8wc477p59ir9p0yrsldx766zbar")))) (build-system gnu-build-system) + ;; Disable zero malloc check that fails when cross-compiling. + (arguments + `(#:configure-flags + (list + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4637,6 +4644,13 @@ cannot be adequately worked around on the client side of the wire.") (base32 "0j89cnb06g8x79wmmnwzykgkkfdhin9j7hjpvsxwlr3fz1wmjvf0")))) (build-system gnu-build-system) + ;; Disable zero malloc check that fails when cross-compiling. + (arguments + `(#:configure-flags + (list + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -5245,16 +5259,22 @@ draggable titlebars and borders.") (outputs '("out" "doc")) ;8 MiB of man pages + XML (arguments - '(#:configure-flags (list (string-append "--mandir=" - (assoc-ref %outputs "doc") - "/share/man")))) + `(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "doc") + "/share/man") + ;; Disable zero malloc check that fails when cross-compiling. + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("xorgproto" ,xorgproto) ("libxcb" ,libxcb))) (inputs `(("xtrans" ,xtrans))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("xorgproto" ,xorgproto))) (home-page "https://www.x.org/wiki/") (synopsis "Xorg Core X11 protocol client library") (description "Xorg Core X11 protocol client library.") -- cgit 1.4.1 From ceb9de75a6b39fd5df585418953d937361237202 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 29 Jun 2019 17:31:07 +0200 Subject: gnu: python: Further cross-compilation fixes. * gnu/packages/patches/python-2.7-search-paths.patch: Add cross-compilation support. * gnu/packages/patches/python-3-search-paths.patch: Ditto. * gnu/packages/patches/python-cross-compile.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add above new patch. * gnu/packages/python.scm (python-2.7)[patches]: Add new patch above, [arguments]: Set _PYTHON_HOST_PLATFORM env variable when cross compiling. --- gnu/local.mk | 1 + gnu/packages/patches/python-2.7-search-paths.patch | 10 +- gnu/packages/patches/python-3-search-paths.patch | 11 +- gnu/packages/patches/python-cross-compile.patch | 145 +++++++++++++++++++++ gnu/packages/python.scm | 23 +++- 5 files changed, 181 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/python-cross-compile.patch diff --git a/gnu/local.mk b/gnu/local.mk index d4006c56eb..7bde8663f8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1246,6 +1246,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-CVE-2018-14647.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ + %D%/packages/patches/python-cross-compile.patch \ %D%/packages/patches/python-cffi-x87-stack-clean.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ diff --git a/gnu/packages/patches/python-2.7-search-paths.patch b/gnu/packages/patches/python-2.7-search-paths.patch index a012bc8fe0..5a345c7691 100644 --- a/gnu/packages/patches/python-2.7-search-paths.patch +++ b/gnu/packages/patches/python-2.7-search-paths.patch @@ -3,13 +3,17 @@ looking for headers and libraries. --- Python-2.7.10/setup.py 2015-10-07 18:33:18.125153186 +0200 +++ Python-2.7.10/setup.py 2015-10-07 18:33:47.497347552 +0200 -@@ -526,6 +526,10 @@ class PyBuildExt(build_ext): +@@ -526,6 +526,14 @@ class PyBuildExt(build_ext): inc_dirs += ['/system/include', '/atheos/autolnk/include'] inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep) + # Always honor these variables. -+ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ inc_dirs += os.getenv('CPATH', '').split(os.pathsep) ++ if not cross_compiling: ++ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep) ++ inc_dirs += os.getenv('CPATH', '').split(os.pathsep) ++ else: ++ lib_dirs = os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) ++ inc_dirs = os.getenv('CROSS_CPATH', '').split(os.pathsep) + # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb) if host_platform in ['osf1', 'unixware7', 'openunix8']: diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch index 5fea9c66b6..cf1647207b 100644 --- a/gnu/packages/patches/python-3-search-paths.patch +++ b/gnu/packages/patches/python-3-search-paths.patch @@ -3,7 +3,7 @@ looking for headers and libraries. --- a/setup.py 2015-10-07 23:32:58.891329173 +0200 +++ b/setup.py 2015-10-07 23:46:29.653349924 +0200 -@@ -575,8 +575,8 @@ +@@ -575,15 +575,15 @@ # if a file is found in one of those directories, it can # be assumed that no additional -I,-L directives are needed. if not cross_compiling: @@ -14,3 +14,12 @@ looking for headers and libraries. else: # Add the sysroot paths. 'sysroot' is a compiler option used to # set the logical path of the standard system headers and + # libraries. +- lib_dirs = (self.compiler.library_dirs + ++ lib_dirs = (os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) + + sysroot_paths(('LDFLAGS', 'CC'), system_lib_dirs)) +- inc_dirs = (self.compiler.include_dirs + ++ inc_dirs = (os.getenv('CROSS_CPATH', '').split(os.pathsep) + + sysroot_paths(('CPPFLAGS', 'CFLAGS', 'CC'), + system_include_dirs)) + exts = [] diff --git a/gnu/packages/patches/python-cross-compile.patch b/gnu/packages/patches/python-cross-compile.patch new file mode 100644 index 0000000000..5a470e1852 --- /dev/null +++ b/gnu/packages/patches/python-cross-compile.patch @@ -0,0 +1,145 @@ +Patch taken from https://bugs.python.org/issue22724 and augmented with +following Nix patch +https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/python/cpython/2.7/cross-compile.patch +to fix the whole cross-compilation circus. + +--- + Makefile.pre.in | 14 +++++++------- + configure | 5 ++++- + setup.py | 9 ++++++--- + 3 files changed, 17 insertions(+), 11 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 2a14f3323b..6239fc32fc 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -492,7 +492,7 @@ $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) + $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) + + platform: $(BUILDPYTHON) pybuilddir.txt +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform + + # Create build directory and generate the sysconfig build-time data there. + # pybuilddir.txt contains the name of the build dir and is used for +@@ -503,7 +503,7 @@ platform: $(BUILDPYTHON) pybuilddir.txt + # or removed in case of failure. + pybuilddir.txt: $(BUILDPYTHON) + @echo "none" > ./pybuilddir.txt +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\ ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\ + if test $$? -ne 0 ; then \ + echo "generate-posix-vars failed" ; \ + rm -f ./pybuilddir.txt ; \ +@@ -525,7 +525,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o + esac; \ + $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ + _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ +- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build ++ $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build + + # Build static library + # avoid long command lines, same as LIBRARY_OBJS +@@ -928,7 +928,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoninstall bininstall maninstall @FRAMEWORKI + upgrade) ensurepip="--upgrade" ;; \ + install|*) ensurepip="" ;; \ + esac; \ +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -m ensurepip \ + $$ensurepip --root=$(DESTDIR)/ ; \ + fi + +@@ -939,7 +939,7 @@ altinstall: commoninstall + upgrade) ensurepip="--altinstall --upgrade --no-default-pip" ;; \ + install|*) ensurepip="--altinstall --no-default-pip" ;; \ + esac; \ +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -m ensurepip \ + $$ensurepip --root=$(DESTDIR)/ ; \ + fi + +@@ -1270,7 +1270,7 @@ libainstall: @DEF_MAKE_RULE@ python-config + # Install the dynamically loadable modules + # This goes into $(exec_prefix) + sharedinstall: sharedmods +- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ ++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --install-platlib=$(DESTSHARED) \ +@@ -1344,7 +1344,7 @@ frameworkinstallextras: + # This installs a few of the useful scripts in Tools/scripts + scriptsinstall: + SRCDIR=$(srcdir) $(RUNSHARED) \ +- $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \ ++ $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --root=$(DESTDIR)/ +diff --git a/configure b/configure +index 67300fe2b6..6050f588c5 100755 +--- a/configure ++++ b/configure +@@ -741,6 +741,7 @@ CONFIG_ARGS + SOVERSION + VERSION + PYTHON_FOR_BUILD ++PY_BUILD_ENVIRON + PYTHON_FOR_REGEN + host_os + host_vendor +@@ -2964,7 +2965,8 @@ $as_echo_n "checking for python interpreter for cross build... " >&6; } + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $interp" >&5 + $as_echo "$interp" >&6; } +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp ++ PY_BUILD_ENVIRON='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR)' ++ PYTHON_FOR_BUILD=$interp + fi + elif test "$cross_compiling" = maybe; then + as_fn_error $? "Cross compiling required --host=HOST-TUPLE and --build=ARCH" "$LINENO" 5 +@@ -2974,6 +2976,7 @@ fi + + + ++ + if test "$prefix" != "/"; then + prefix=`echo "$prefix" | sed -e 's/\/$//g'` + fi +diff --git a/setup.py b/setup.py +index cb47a2339c..472e7e2b26 100644 +--- a/setup.py ++++ b/setup.py +@@ -497,8 +497,6 @@ class PyBuildExt(build_ext): + if not cross_compiling: + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') +- if cross_compiling: +- self.add_gcc_paths() + self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and +@@ -556,7 +554,10 @@ class PyBuildExt(build_ext): + # be assumed that no additional -I,-L directives are needed. + inc_dirs = self.compiler.include_dirs[:] + lib_dirs = self.compiler.library_dirs[:] +- if not cross_compiling: ++ if cross_compiling: ++ inc_dirs = [] ++ lib_dirs = [] ++ else: + for d in ( + '/usr/include', + ): +@@ -621,6 +622,8 @@ class PyBuildExt(build_ext): + # Some modules that are normally always on: + #exts.append( Extension('_weakref', ['_weakref.c']) ) + ++ self.compiler.library_dirs = lib_dirs + [ '.' ] ++ + # array objects + exts.append( Extension('array', ['arraymodule.c']) ) + +-- +2.17.1 + diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b7a664271b..504a468bab 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -109,7 +109,8 @@ "python-2-deterministic-build-info.patch" "python-2.7-site-prefixes.patch" "python-2.7-source-date-epoch.patch" - "python-2.7-adjust-tests.patch")) + "python-2.7-adjust-tests.patch" + "python-cross-compile.patch")) (modules '((guix build utils))) (snippet '(begin @@ -177,6 +178,12 @@ (add-before 'configure 'patch-lib-shells (lambda _ + ;; This variable is used in setup.py to enable cross compilation + ;; specific switches. As it is not set properly by configure + ;; script, set it manually. + ,@(if (%current-target-system) + '((setenv "_PYTHON_HOST_PLATFORM" "")) + '()) ;; Filter for existing files, since some may not exist in all ;; versions of python that are built with this recipe. (substitute* (filter file-exists? @@ -256,7 +263,9 @@ (if (null? opt) "none" (car opt))) (for-each (lambda (file) (apply invoke - `(,(string-append out "/bin/python") + `(,,(if (%current-target-system) + "python2" + '(string-append out "/bin/python")) ,@opt "-m" "compileall" "-f" ; force rebuild @@ -302,7 +311,7 @@ `(("pkg-config" ,pkg-config) ;; When cross-compiling, a native version of Python itself is needed. ,@(if (%current-target-system) - `(("self" ,this-package) + `(("python2" ,this-package) ("which" ,which)) '()))) (native-search-paths @@ -376,10 +385,11 @@ data types.") ((#:phases phases) `(modify-phases ,phases (add-before 'check 'set-TZDIR - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; test_email requires the Olson time zone database. (setenv "TZDIR" - (string-append (assoc-ref inputs "tzdata") + (string-append (assoc-ref + (or native-inputs inputs) "tzdata") "/share/zoneinfo")) #t)) ;; Unset SOURCE_DATE_EPOCH while running the test-suite and set it @@ -415,6 +425,9 @@ data types.") #t))))))) (native-inputs `(("tzdata" ,tzdata-for-tests) + ,@(if (%current-target-system) + `(("python3" ,this-package)) + '()) ,@(package-native-inputs python-2))) (native-search-paths (list (search-path-specification -- cgit 1.4.1 From 078784ce7c1ac5ed6483a00712b6c6badac8b2c9 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 1 Jul 2019 15:31:48 +0200 Subject: gnu: http-parser: Fix cross-compilation. * gnu/packages/web.scm (http-parser)[arguments]: Set CC and AR variables in Makefile in order to fix cross-compilation. --- gnu/packages/web.scm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 5b1f60cfdd..b415a149b7 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -35,6 +35,7 @@ ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Hartmut Goebel ;;; Copyright © 2019 Jakob L. Kreuze +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -5243,10 +5244,22 @@ into your tests. It automatically starts up a HTTP server in a separate thread #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "CC=gcc" "library") + "library" + ,@(if (%current-target-system) + '() + '("CC=gcc"))) #:phases (modify-phases %standard-phases - (delete 'configure)))) + ,@(if (%current-target-system) + '((replace 'configure + (lambda* (#:key target #:allow-other-keys) + (substitute* (find-files "." "Makefile") + (("CC\\?=.*$") + (string-append "CC=" target "-gcc\n")) + (("AR\\?=.*$") + (string-append "AR=" target "-ar\n"))) + #t))) + '((delete 'configure)))))) (synopsis "HTTP request/response parser for C") (description "This is a parser for HTTP messages written in C. It parses both requests and responses. The parser is designed to be used in -- cgit 1.4.1 From bc5ae287b75ea76ce4dfef2867ddb3dbf30735e5 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 1 Jul 2019 16:58:53 +0200 Subject: gnu: libgit2: Fix cross compilation. * gnu/packages/version-control.scm (libgit2)[arguments]: Set PKG_CONFIG_EXECUTABLE variable when cross-compiling. Also do not run test suite if cross-compiling. --- gnu/packages/version-control.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 573fa6f8cc..192fa666d9 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -545,7 +545,14 @@ everything from small to very large projects with speed and efficiency.") (build-system cmake-build-system) (outputs '("out" "debug")) (arguments - `(#:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection + `(#:configure-flags + (list "-DUSE_SHA1DC=ON" ; SHA-1 collision detection + ,@(if (%current-target-system) + `((string-append + "-DPKG_CONFIG_EXECUTABLE=" + (assoc-ref %build-inputs "pkg-config") + "/bin/" ,(%current-target-system) "-pkg-config")) + '())) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-hardcoded-paths @@ -560,9 +567,13 @@ everything from small to very large projects with speed and efficiency.") (lambda _ (for-each make-file-writable (find-files ".")) #t)) - ;; Run checks more verbosely. + ;; Run checks more verbosely, unless we are cross-compiling. (replace 'check - (lambda _ (invoke "./libgit2_clar" "-v" "-Q")))))) + (lambda* (#:key (tests? #t) #:allow-other-keys) + (if tests? + (invoke "./libgit2_clar" "-v" "-Q") + ;; Tests may be disabled if cross-compiling. + (format #t "Test suite not run.~%"))))))) (inputs `(("libssh2" ,libssh2) ("http-parser" ,http-parser))) -- cgit 1.4.1 From 283fb648514b68c07203a388fc04cbd2ba7cd3a4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 6 Mar 2019 11:26:35 +0100 Subject: gnu: ath9k-htc-firmware: Fix cross compilation. * gnu/packages/firmware.scm (ath9k-htc-firmware)[phases]: Search for "cross-gcc" in native-inputs and inputs in "configure" phase. --- gnu/packages/firmware.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index c473ccd920..3104d78b39 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Vagrant Cascadian +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,7 +60,7 @@ '(#:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) (chdir "target_firmware") ;; 'configure' is a simple script that runs 'cmake' with @@ -67,7 +68,7 @@ (substitute* "configure" (("^TOOLCHAIN=.*$") (string-append "TOOLCHAIN=" - (assoc-ref inputs "cross-gcc") + (assoc-ref (or native-inputs inputs) "cross-gcc") "\n"))) #t)) (replace 'install -- cgit 1.4.1 From b5ebab80238dfaea3acb0bd2c6b29fa5fb2bb45e Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 09:34:28 +0200 Subject: gnu: mit-krb5: Fix cross-compilation. * gnu/packages/kerberos.scm (mit-krb5)[arguments]: Disable tests when cross-compiling. Add cross-compilation specific configure-flags and make-flags. Search for perl in native-inputs or inputs. --- gnu/packages/kerberos.scm | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 1253a58546..bf344ce8ce 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Alex Vong +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -68,9 +69,21 @@ ("perl" ,perl))) (arguments `(;; XXX: On 32-bit systems, 'kdb5_util' hangs on an fcntl/F_SETLKW call - ;; while running the tests in 'src/tests'. - #:tests? ,(string=? (%current-system) "x86_64-linux") + ;; while running the tests in 'src/tests'. Also disable tests when + ;; cross-compiling. + #:tests? ,(and (not (%current-target-system)) + (string=? (%current-system) "x86_64-linux")) + ,@(if (%current-target-system) + '(#:configure-flags + (list "krb5_cv_attr_constructor_destructor=yes" + "ac_cv_func_regcomp=yes" + "ac_cv_printf_positional=yes" + "ac_cv_file__etc_environment=yes" + "ac_cv_file__etc_TIMEZONE=no") + #:make-flags + (list "CFLAGS+=-DDESTRUCTOR_ATTR_WORKS=1")) + '()) #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-source-directory @@ -78,8 +91,8 @@ (chdir "src") #t)) (add-before 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) - (let ((perl (assoc-ref inputs "perl"))) + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((perl (assoc-ref (or native-inputs inputs) "perl"))) (substitute* "plugins/kdb/db2/libdb2/test/run.test" (("/bin/cat") (string-append perl "/bin/perl")) (("D/bin/sh") (string-append "D" (which "sh"))) -- cgit 1.4.1 From 642328abcdd5986c177702fa7cb20bb9aef35d17 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 10:58:04 +0200 Subject: gnu: help2man: Fix cross-compilation. * gnu/packages/man.scm (help2man)[native-inputs]: Add perl. --- gnu/packages/man.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 42e1918597..79e24cf02d 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -216,6 +216,8 @@ Linux kernel and C library interfaces employed by user-space programs.") ;; ("perl-LocaleGettext" ,perl-LocaleGettext) ;; ("gettext" ,gettext-minimal) )) + (native-inputs + `(("perl" ,perl))) (home-page "https://www.gnu.org/software/help2man/") (synopsis "Automatically generate man pages from program --help") (description -- cgit 1.4.1 From 1475554147d8e287afb243912d3cb6e5a3b20baf Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 17:21:37 +0200 Subject: gnu: xmlto: Fix cross-compilation. * gnu/packages/xml.scm (xmlto)[native-inputs]: Add util-linux. --- gnu/packages/xml.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 042f06eed3..47a7e7b793 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -940,6 +940,8 @@ code for classes that correspond to data structures defined by XMLSchema.") (assoc-ref %build-inputs "util-linux") "/bin/getopt")))) + (native-inputs + `(("util-linux" ,util-linux))) (inputs `(("util-linux" ,util-linux) ; for 'getopt' ("libxml2" ,libxml2) ; for 'xmllint' -- cgit 1.4.1 From 5fd395db3f6b425a04675b96279f92ea86aa1c54 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 17:46:34 +0200 Subject: gnu: libarchive: Fix cross-compilation. * gnu/packages/backup.scm (libarchive)[arguments]: Do not build and run tests when cross-compiling. --- gnu/packages/backup.scm | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index a92c8c9aca..512882c17c 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2019 Alex Vong ;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -230,24 +231,34 @@ backups (called chunks) to allow easy burning to CD/DVD.") (("/bin/pwd") (which "pwd"))) #t)) (replace 'check - (lambda _ - ;; XXX: The test_owner_parse, test_read_disk, and - ;; test_write_disk_lookup tests expect user 'root' to exist, but - ;; the chroot's /etc/passwd doesn't have it. Turn off those tests. - ;; - ;; XXX: Adjust test that fails with zstd 1.4.1 because the default - ;; options compresses two bytes better than this test expects. - ;; https://github.com/libarchive/libarchive/issues/1226 - (substitute* "libarchive/test/test_write_filter_zstd.c" - (("compression-level\", \"6\"") - "compression-level\", \"7\"")) - - ;; The tests allow one to disable tests matching a globbing pattern. - (invoke "make" "libarchive_test" "bsdcpio_test" "bsdtar_test") - ;; XXX: This glob disables too much. - (invoke "./libarchive_test" "^test_*_disk*") - (invoke "./bsdcpio_test" "^test_owner_parse") - (invoke "./bsdtar_test"))) + (lambda* (#:key (tests? #t) #:allow-other-keys) + (if tests? + ;; XXX: The test_owner_parse, test_read_disk, and + ;; test_write_disk_lookup tests expect user 'root' to + ;; exist, but the chroot's /etc/passwd doesn't have + ;; it. Turn off those tests. + ;; + ;; XXX: Adjust test that fails with zstd 1.4.1 + ;; because the default options compresses two bytes + ;; better than this test expects. + ;; https://github.com/libarchive/libarchive/issues/1226 + (begin + (substitute* "libarchive/test/test_write_filter_zstd.c" + (("compression-level\", \"6\"") + "compression-level\", \"7\"")) + + ;; The tests allow one to disable tests matching a globbing pattern. + (invoke "make" + "libarchive_test" + "bsdcpio_test" + "bsdtar_test") + + ;; XXX: This glob disables too much. + (invoke "./libarchive_test" "^test_*_disk*") + (invoke "./bsdcpio_test" "^test_owner_parse") + (invoke "./bsdtar_test")) + ;; Tests may be disabled if cross-compiling. + (format #t "Test suite not run.~%")))) (add-after 'install 'add--L-in-libarchive-pc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit 1.4.1 From 2b9ef6e5ef13a4f17312633e514f034f7fd6f155 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 18:14:12 +0200 Subject: gnu: tcsh: Fix cross-compilation. * gnu/packages/shells.scm (tcsh)[arguments]: Replace "cc" by "gcc" as native gethost compiler when cross-compiling. --- gnu/packages/shells.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 0579c167fc..cf578151b4 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2019 Meiyo Peng ;;; Copyright © 2019 Timothy Sample +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -356,6 +357,14 @@ written by Paul Haahr and Byron Rakitzis.") (arguments `(#:phases (modify-phases %standard-phases + ,@(if (%current-target-system) + '((add-before 'configure 'set-cross-cc + (lambda _ + (substitute* "configure" + (("CC_FOR_GETHOST=\"cc\"") + "CC_FOR_GETHOST=\"gcc\"")) + #t))) + '()) (add-before 'check 'patch-test-scripts (lambda _ ;; Take care of pwd -- cgit 1.4.1 From 032974aae621e871c86c9654f94de9c07e2fde43 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 18:26:48 +0200 Subject: gnu: pkg-config: Fix cross-compilation. * gnu/packages/pkg-config.scm (%pkg-config)[arguments]: Add configure-flags to disable tests that fail when cross-compiling. --- gnu/packages/pkg-config.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index 6fc19a975d..329a63658a 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,7 +49,17 @@ (base32 "14fmwzki1rlz8bs2p810lk6jqdxsk966d8drgsjmi54cd00rrikg")))) (build-system gnu-build-system) - (arguments `(#:configure-flags '("--with-internal-glib"))) + (arguments + `(#:configure-flags + '("--with-internal-glib" + ;; Those variables are guessed incorrectly when cross-compiling. + ;; See: https://developer.gimp.org/api/2.0/glib/glib-cross-compiling.html. + ,@(if (%current-target-system) + '("glib_cv_stack_grows=no" + "glib_cv_uscore=no" + "ac_cv_func_posix_getpwuid_r=yes" + "ac_cv_func_posix_getgrgid_r=yes") + '())))) (native-search-paths (list (search-path-specification (variable "PKG_CONFIG_PATH") -- cgit 1.4.1 From 9b70f2c38647c32459cfecfb2755800fbb31ea29 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 18:41:05 +0200 Subject: gnu: alsa-utils: Fix cross-compilation. * gnu/packages/linux.scm (alsa-utils)[inputs]: Move gettext from here ... [native-inputs]: ... to here, in order to fix cross-compilation. --- gnu/packages/linux.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b65303ae6f..32b0cd009d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -22,7 +22,7 @@ ;;; Copyright © 2017, 2018 Leo Famulari ;;; Copyright © 2017 José Miguel Sánchez García ;;; Copyright © 2017 Gábor Boskovits -;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2017 nee @@ -1524,12 +1524,13 @@ MIDI functionality to the Linux-based operating system.") (("\\$\\(MKDIR_P\\) .*ASOUND_STATE_DIR.*") "true\n")) #t))))) + (native-inputs + `(("gettext" ,gettext-minimal))) (inputs `(("libsamplerate" ,libsamplerate) ("ncurses" ,ncurses) ("alsa-lib" ,alsa-lib) - ("xmlto" ,xmlto) - ("gettext" ,gettext-minimal))) + ("xmlto" ,xmlto))) (home-page "http://www.alsa-project.org/") (synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)") (description -- cgit 1.4.1 From 5a2f58d52caea7a2a94a8ff18ef1ce9bebab7166 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 4 Sep 2019 18:25:17 +0200 Subject: gnu: texinfo: Fix cross-compilation. * gnu/packages/texinfo.scm (texinfo)[arguments]: Do not reset environment before running configure with the native compiler, in a cross-compilation context, [inputs]: move perl from here ... [native-inputs]: ... to here. Also add ncurses that is needed in a cross-compilation context to build texinfo native tools. --- gnu/packages/texinfo.scm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index befdd78551..9b96d2d0cf 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -41,8 +41,28 @@ (base32 "0rixv4c301djr0d0cnsxs8c1wjndi6bf9vi5axz6mwjkv80cmfcv")))) (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses) - ("perl" ,perl))) + (arguments + ;; When cross-compiling, the package is configured twice: once with the + ;; native compiler and once with the cross-compiler. During the configure + ;; with the native compiler, the environment is reset. This leads to + ;; multiple environment variables missing. Do not reset the environment + ;; to prevent that. + (if (%current-target-system) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-cross-configure + (lambda _ + (substitute* "configure" + (("env -i") + "env ")) + #t)))) + '())) + (inputs `(("ncurses" ,ncurses))) + ;; When cross-compiling, texinfo will build some of its own binaries with + ;; the native compiler. This means ncurses is needed both in both inputs + ;; and native-inputs. + (native-inputs `(("perl" ,perl) + ("ncurses" ,ncurses))) (native-search-paths ;; This is the variable used by the standalone Info reader. -- cgit 1.4.1 From c096028a372d2f19a8efdc741d44cffbdc74ee03 Mon Sep 17 00:00:00 2001 From: Pierre-Moana Levesque Date: Tue, 2 Jul 2019 19:37:56 +0200 Subject: gnu: texinfo-5: Fix cross-compilation. * gnu/packages/texinfo.scm (texinfo-5)[native-inputs]: Keep native-inputs from inherited package texinfo. --- gnu/packages/texinfo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 9b96d2d0cf..a79330d20e 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2016 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2019 Pierre-Moana Levesque ;;; ;;; This file is part of GNU Guix. ;;; @@ -91,8 +92,7 @@ is on expressing the content semantically, avoiding physical markup commands.") (patches (search-patches "texinfo-5-perl-compat.patch")) (sha256 (base32 - "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal")))) - (native-inputs '()))) + "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal")))))) (define-public texinfo-4 (package (inherit texinfo) -- cgit 1.4.1 From 6fe3e25006308ebd570996d444475a6a30d4d30e Mon Sep 17 00:00:00 2001 From: Pierre-Moana Levesque Date: Thu, 4 Jul 2019 19:21:37 +0200 Subject: gnu: texinfo-4: Fix cross compilation * gnu/packages/texinfo.scm (texinfo-4)[native-inputs]: Add automake and native-inputs from texinfo package, [arguments]: Replace outdated config.sub and config.guess by the ones taken from automake above. Also make sure native tools are built before build phase. --- gnu/packages/texinfo.scm | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index a79330d20e..1603db0b4e 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -21,9 +21,11 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages texinfo) + #:use-module (gnu packages autotools) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages compression) @@ -106,8 +108,37 @@ is on expressing the content semantically, avoiding physical markup commands.") (sha256 (base32 "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) - (native-inputs '()) - (inputs `(("ncurses" ,ncurses) ("xz" ,xz))))) + (inputs `(("ncurses" ,ncurses) + ("xz" ,xz))) + (native-inputs + `(("automake" ,automake) + ,@(package-native-inputs texinfo))) + (arguments + (substitute-keyword-arguments (package-arguments texinfo) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess. + (with-directory-excursion "build-aux" + (for-each + (lambda (file) + (install-file (string-append + (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess"))) + #t)) + ;; Build native version of tools before running 'build phase. + ,@(if (%current-target-system) + `((add-before 'build 'make-native-gnu-lib + (lambda* (#:key inputs #:allow-other-keys) + (invoke "make" "-C" "tools/gnulib/lib") + #t))) + '()))))))) (define-public info-reader ;; The idea of this package is to have the standalone Info reader without -- cgit 1.4.1 From c3d523b04812c49080fbb5f95db5a03b73e36429 Mon Sep 17 00:00:00 2001 From: Pierre-Moana Levesque Date: Thu, 8 Aug 2019 17:16:50 +0200 Subject: gnu: guile-xcb: Fix cross-compilation. * gnu/packages/guile-wm.scm (guile-xcb)[native-inputs]: Add guile. --- gnu/packages/guile-wm.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-wm.scm b/gnu/packages/guile-wm.scm index 622fc560d9..3a6eebc91a 100644 --- a/gnu/packages/guile-wm.scm +++ b/gnu/packages/guile-wm.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Alex ter Weele ;;; Copyright © 2017, 2019 Ricardo Wurmus ;;; Copyright © 2017 ng0 +;;; Copyright © 2019 Pierre-Moana Levesque ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +58,8 @@ "--with-guile-site-ccache-dir=" (assoc-ref %outputs "out") "/lib/guile/2.2/site-ccache")))) - (native-inputs `(("pkg-config" ,pkg-config) + (native-inputs `(("guile" ,guile-2.2) + ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) (inputs `(("guile" ,guile-2.2) ("xcb" ,xcb-proto))) -- cgit 1.4.1 From e373adc13969bb8d5bf7c040fb32b8a51b40c91b Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 20 Sep 2019 09:30:24 +0200 Subject: gnu: libgpg-error: Fix cross compilation. * gnu/packages/gnupg.scm (libgpg-error)[arguments]: Add a lock-obj header to the target platform when cross-compiling, [native-inputs]: add gettext that is needed when cross-compiling. --- gnu/packages/gnupg.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 56db412145..4acc434093 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -96,6 +96,31 @@ (("namespace=errnos") "pkg_namespace=errnos")) #t)))) (build-system gnu-build-system) + (arguments + (if (%current-target-system) + `(#:modules ((ice-9 match) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + ;; When cross-compiling, some platform specific properties cannot + ;; be detected. Create a symlink to the appropriate platform + ;; file. See Cross-Compiling section at: + ;; https://github.com/gpg/libgpg-error/blob/master/README + (add-after 'unpack 'cross-symlinks + (lambda* (#:key target inputs #:allow-other-keys) + (let ((triplet + (match (string-take target + (string-index target #\-)) + ("armhf" "arm-unknown-linux-gnueabi") + (x + (string-append x "-unknown-linux-gnu"))))) + (symlink + (string-append "lock-obj-pub." triplet ".h") + "src/syscfg/lock-obj-pub.linux-gnu.h")) + #t)))) + '())) + (native-inputs `(("gettext" ,gettext-minimal))) (home-page "https://gnupg.org") (synopsis "Library of error values for GnuPG components") (description -- cgit 1.4.1 From 3fe8fe5360a0c53296d807a5109d6a94adc5d95f Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 2 Jul 2019 16:20:19 +0200 Subject: gnu: libpaper: Fix aarch64 cross-compilation. The packaged config.sub and config.guess do not have aarch64 support. Replace them by the ones from automake. * gnu/packages/ghostscript.scm (libpaper)[arguments]: Replace outdated config.sub and config.guess, taken from ... [native-inputs]: ... here, by adding automake. --- gnu/packages/ghostscript.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 3b74a96966..7839ac5b72 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,6 +85,24 @@ Consortium standard (ICC), approved as ISO 15076-1.") (sha256 (base32 "0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q")))) (build-system gnu-build-system) + (native-inputs + `(("automake" ,automake))) ; For up to date 'config.guess' and 'config.sub'. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (for-each (lambda (file) + (install-file + (string-append (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess")) + #t))))) (synopsis "Library for handling paper sizes") (description "The paper library and accompanying files are intended to provide a simple -- cgit 1.4.1 From 59bd4b90e8ffb960430d8659cc2dac0c19fe8217 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 3 Jul 2019 16:15:39 +0200 Subject: gnu: indent: Fix aarch64 cross-compilation. The packaged config.sub and config.guess do not have aarch64 support. Replace them by the ones from automake. * gnu/packages/code.scm (indent)[arguments]: Replace outdated config.sub and config.guess, taken from ... [native-inputs]: ... here, by adding automake. (indent-2.2.12)[native-inputs]: Inherit from indent native-inputs to keep automake that is added above. --- gnu/packages/code.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 13e2c4ad44..50d6870bc7 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -29,6 +29,7 @@ (define-module (gnu packages code) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -644,9 +645,24 @@ the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") ;; overrides this to be in PREFIX/doc. Fix this. (substitute* "doc/Makefile.in" (("^docdir = .*$") "docdir = @docdir@\n")) + #t)) + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (with-directory-excursion "config" + (for-each (lambda (file) + (install-file + (string-append (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess"))) #t))))) (native-inputs - `(("texinfo" ,texinfo))) + `(("texinfo" ,texinfo) + ("automake" ,automake))) ; For up to date 'config.guess' and 'config.sub'. (synopsis "Code reformatter") (description "Indent is a program that makes source code easier to read by -- cgit 1.4.1 From 1a1bce6b5dd1f1f3c566feb5146279d69a2c9483 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 4 Jul 2019 09:01:44 +0200 Subject: gnu: libsamplerate: Fix aarch64 cross-compilation. The packaged config.sub and config.guess do not have aarch64 support. Replace them by the ones from automake. * gnu/packages/pulseaudio.scm (libsamplerate)[arguments]: Replace outdated config.sub and config.guess, taken from ... [native-inputs]: ... here, by adding automake. --- gnu/packages/pulseaudio.scm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index ff4049d707..89773d8be2 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Langlois ;;; Copyright © 2019 Alex Griffin +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix utils) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix build-system gnu) #:use-module (guix build-system python) @@ -102,10 +104,28 @@ for reading and writing new sound file formats.") "1ha46i0nbibq0pl0pjwcqiyny4hj8lp1bnl4dpxm64zjw9lb2zha")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("automake" ,automake))) ;For up to date 'config.guess' and 'config.sub'. (propagated-inputs `(("libsndfile" ,libsndfile) ("fftw" ,fftw))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (with-directory-excursion "Cfg" + (for-each (lambda (file) + (install-file (string-append + (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess"))) + #t))))) (home-page "http://www.mega-nerd.com/SRC/index.html") (synopsis "Audio sample rate conversion library") (description -- cgit 1.4.1 From f8dae88c1e5808394aca8a45a7433d60ee1b71bb Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 18:34:09 +0200 Subject: gnu: mkfontdir: Fix aarch64 cross-compilation. The packaged config.sub and config.guess do not have aarch64 support. Replace them by the ones from automake. * gnu/packages/xorg.scm (mkfontdir)[arguments]: Replace outdated config.sub and config.guess, by the ones taken from ... [native-inputs]: ... here, by adding automake. --- gnu/packages/xorg.scm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d7cd585664..d5d983a8d2 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2018 Benjamin Slade ;;; Copyright © 2019 nee ;;; Copyright © 2019 Yoshinori Arai +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -4742,8 +4743,21 @@ protocol and arbitrary X extension protocol.") "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (for-each (lambda (file) + (install-file (string-append + (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess")) + #t)) (add-after 'install 'wrap-mkfontdir (lambda* (#:key inputs outputs #:allow-other-keys) (wrap-program (string-append (assoc-ref outputs "out") @@ -4755,7 +4769,8 @@ protocol and arbitrary X extension protocol.") (inputs `(("mkfontscale" ,mkfontscale))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("automake" ,automake))) ;For up to date 'config.guess' and 'config.sub'. (home-page "https://www.x.org/wiki/") (synopsis "Create an index of X font files in a directory") (description -- cgit 1.4.1 From eff633257cc191d33b93cb1ada6ef34daa969c00 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 8 Jul 2019 14:12:32 +0200 Subject: gnu: lvm2: Fix cross-compilation. * gnu/packages/linux.scm (lvm2)[arguments]: Add cross-compilation specific configure-flags. --- gnu/packages/linux.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 32b0cd009d..7ac5a771c8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2654,7 +2654,7 @@ time.") (inputs `(("udev" ,eudev))) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-after 'configure 'set-makefile-shell (lambda _ @@ -2689,7 +2689,12 @@ time.") (assoc-ref %outputs "out") "/lib,-rpath=" (assoc-ref %outputs "out") - "/lib/device-mapper")) + "/lib/device-mapper") + ;; This is needed when cross-compiling. + ,@(if (%current-target-system) + '("ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes") + '())) ;; The tests use 'mknod', which requires root access. #:tests? #f)) -- cgit 1.4.1 From 8e8855f9aa0521ade0741896b2285d9ddf493fed Mon Sep 17 00:00:00 2001 From: Pierre-Moana Levesque Date: Wed, 31 Jul 2019 13:18:08 +0200 Subject: gnu: nghttp2: Fix cross-compilation. * gnu/packages/web.scm (nghttp2)[arguments]: In set-timezone-directory phase, search in both inputs and native-inputs. --- gnu/packages/web.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index b415a149b7..d23f6cb400 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -36,6 +36,7 @@ ;;; Copyright © 2019 Hartmut Goebel ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2019 Pierre-Moana Levesque ;;; ;;; This file is part of GNU Guix. ;;; @@ -6444,9 +6445,10 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (assoc-ref outputs "lib"))) #t)) (add-before 'check 'set-timezone-directory - (lambda* (#:key inputs #:allow-other-keys) - (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo")) + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (setenv "TZDIR" (string-append + (assoc-ref (or native-inputs inputs) "tzdata") + "/share/zoneinfo")) #t))))) (home-page "https://nghttp2.org/") (synopsis "HTTP/2 protocol client, proxy, server, and library") -- cgit 1.4.1 From f0d5ce5a117b8195f2e5a3eb059d3f9038b5a90a Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 2 Aug 2019 11:32:06 +0200 Subject: gnu: procps: Fix cross-compilation. * gnu/packages/linux.scm (procps)[arguments]: Add configure flags needed from cross-compilation. --- gnu/packages/linux.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7ac5a771c8..351087e556 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1141,10 +1141,16 @@ by Robert Shea and Robert Anton Wilson.") "0r84kwa5fl0sjdashcn4vh7hgfm7ahdcysig3mcjvpmkzi7p9g8h")))) (build-system gnu-build-system) (arguments - '(#:modules ((guix build utils) + `(#:modules ((guix build utils) (guix build gnu-build-system) (srfi srfi-1) (srfi srfi-26)) + ,@(if (%current-target-system) + '(#:configure-flags + (list + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes")) + '()) #:phases (modify-phases %standard-phases (add-after -- cgit 1.4.1 From f22997b1a7e9ae480398c8963a5e28c6c5afa64e Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 18 Aug 2019 12:59:48 +0200 Subject: gnu: console-setup: Fix cross-compilation. * gnu/packages/xorg.scm (console-setup)[native-inputs]: Add perl, [arguments]: search for bash in both native-inputs and inputs. --- gnu/packages/xorg.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d5d983a8d2..ecd8c29f21 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6412,25 +6412,28 @@ output.") " "))) #t)) (add-before 'build 'make-doubled-bdfs - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key native-inputs inputs #:allow-other-keys) (invoke "make" "-C" "Fonts" "doubled_bdfs" (string-append "SHELL=" - (assoc-ref inputs "bash") + (assoc-ref (or native-inputs inputs) + "bash") "/bin/bash")))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) (let ((out (assoc-ref %outputs "out"))) (invoke "make" "install-linux" (string-append "prefix=" out) (string-append "SHELL=" - (assoc-ref inputs "bash") + (assoc-ref (or native-inputs inputs) + "bash") "/bin/bash")))))))) (native-inputs `(("pkg-config" ,pkg-config) ("bdftopcf" ,bdftopcf) ("bdfresize" ,bdfresize) - ("sharutils" ,sharutils))) ;for 'uuencode' + ("sharutils" ,sharutils) ;for 'uuencode' + ("perl" ,perl))) (inputs `(("perl" ,perl))) ;used by 'ckbcomp' (synopsis "Set up the Linux console font and keyboard") -- cgit 1.4.1 From 7dbd3a8e3e9492dbe7338886d2bc1e23f917933f Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 18 Aug 2019 13:01:17 +0200 Subject: gnu: mdadm: Fix cross-compilation. * gnu/packages/linux.scm (mdadm)[arguments]: Search for coreutils in both native-inputs and inputs. --- gnu/packages/linux.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 351087e556..461c019d64 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3503,8 +3503,9 @@ MPEG-2 and audio over Linux IEEE 1394.") #:phases (modify-phases %standard-phases (add-before 'build 'patch-program-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((coreutils (assoc-ref inputs "coreutils"))) + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((coreutils (assoc-ref (or native-inputs inputs) + "coreutils"))) (substitute* "udev-md-raid-arrays.rules" (("/usr/bin/(readlink|basename)" all program) (string-append coreutils "/bin/" program)))) -- cgit 1.4.1 From 06b2bc550fdcd943e19471873e0838e712217681 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 3 Jul 2019 09:25:39 +0200 Subject: gnu: bc: Fix cross-compilation. * gnu/packages/patches/bc-fix-cross-compilation.patch: New patch file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/algebra.scm (bc)[origin]: Apply it, [native-inputs]: Add automake and autoconf, [arguments]: Add a new 'autogen phase that is needed by the new patch. --- gnu/local.mk | 1 + gnu/packages/algebra.scm | 15 +- .../patches/bc-fix-cross-compilation.patch | 171 +++++++++++++++++++++ 3 files changed, 184 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/bc-fix-cross-compilation.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7bde8663f8..a1190af0db 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -706,6 +706,7 @@ dist_patch_DATA = \ %D%/packages/patches/bash-linux-pgrp-pipe.patch \ %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/beets-python-3.7-fix.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/benchmark-unbundle-googletest.patch \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 02b4d4ca21..956f349d0b 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017, 2019 Eric Bavier +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -681,15 +682,23 @@ binary.") (uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz")) (sha256 (base32 - "0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2")))) + "0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2")) + (patches (search-patches "bc-fix-cross-compilation.patch")))) (build-system gnu-build-system) (native-inputs - `(("ed" ,ed) + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("ed" ,ed) ("flex" ,flex) ("texinfo" ,texinfo))) (arguments '(#:configure-flags - (list "--with-readline"))) + (list "--with-readline") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (invoke "autoreconf" "-vif")))))) (home-page "https://www.gnu.org/software/bc/") (synopsis "Arbitrary precision numeric processing language") (description diff --git a/gnu/packages/patches/bc-fix-cross-compilation.patch b/gnu/packages/patches/bc-fix-cross-compilation.patch new file mode 100644 index 0000000000..14dfecdbde --- /dev/null +++ b/gnu/packages/patches/bc-fix-cross-compilation.patch @@ -0,0 +1,171 @@ +Patch taken from nix. + +commit fdda59736ddc048cf38a2c7103f4f5d9eeaf995e +Author: Ben Gamari +Date: Tue Oct 17 10:51:34 2017 -0400 + + Try implementing cross-compilation + +diff --git a/bc/Makefile.am b/bc/Makefile.am +index d9d412e..fdef633 100644 +--- a/bc/Makefile.am ++++ b/bc/Makefile.am +@@ -17,6 +17,7 @@ MAINTAINERCLEANFILES = Makefile.in bc.c bc.h scan.c \ + + AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../h + LIBBC = ../lib/libbc.a ++LIBBC_HOST = ../lib/libbc_host.a + LIBL = @LEXLIB@ + LDADD = $(LIBBC) $(LIBL) @READLINELIB@ + +@@ -29,12 +30,20 @@ $(PROGRAMS): libmath.h $(LIBBC) + scan.o: bc.h + global.o: libmath.h ++ ++main_host.c : main.c ++ cp $< $@ + +-fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o ++fbcOBJ = $(addsuffix _host,main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o) ++ ++%.o_host : CC:=$(CC_FOR_BUILD) ++ ++%.o_host : %.c ++ $(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $< + +-libmath.h: libmath.b $(fbcOBJ) $(LIBBC) ++libmath.h: libmath.b $(fbcOBJ) $(LIBBC_HOST) + echo '{0}' > libmath.h +- $(MAKE) global.o +- $(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS) ++ $(MAKE) global.o_host ++ $(CC_FOR_BUILD) -o fbc $(fbcOBJ) global.o_host $(LIBBC_HOST) $(LIBL) ${READLINELIB} $(LIBS) + ./fbc -c $(srcdir)/libmath.b libmath.h + $(srcdir)/fix-libmath_h + rm -f ./fbc ./global.o +diff --git a/configure.ac b/configure.ac +index fc74573..5cabb73 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,6 +20,7 @@ m4_define([dc_version], 1.4.1) + + AC_INIT([bc],[bc_version]) + AC_CONFIG_SRCDIR(doc/bc.1) ++AC_CONFIG_MACRO_DIR([m4]) + AM_INIT_AUTOMAKE([dist-bzip2]) + AC_CONFIG_HEADERS(config.h) + +@@ -35,6 +36,7 @@ AC_DEFINE([DC_COPYRIGHT], + [Define the dc copyright line.]) + + AC_PROG_CC ++AX_CC_FOR_BUILD + AC_USE_SYSTEM_EXTENSIONS + + AM_PROG_LEX +diff --git a/lib/Makefile.am b/lib/Makefile.am +index ec4bf59..c670f5b 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -1,5 +1,5 @@ + ## Process this file with automake to produce Makefile.in +-noinst_LIBRARIES = libbc.a ++noinst_LIBRARIES = libbc.a libbc_host.a + + AM_CPPFLAGS = -I. -I.. -I$(srcdir)/../h + +@@ -24,3 +24,11 @@ testmul: testmul.o number.o + + specialnumber: newnumber.o + cp newnumber.o number.o ++ ++%.o_host : CC:=$(CC_FOR_BUILD) ++%.o_host : %.c ++ $(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $< ++ ++libbc_host.a : $(addsuffix _host,$(libbc_a_OBJECTS)) ++ ar cru $@ $+ ++ ranlib $@ +diff --git a/m4/cc_for_build.m4 b/m4/cc_for_build.m4 +new file mode 100644 +index 0000000..c62ffad +--- /dev/null ++++ b/m4/cc_for_build.m4 +@@ -0,0 +1,77 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_cc_for_build.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CC_FOR_BUILD ++# ++# DESCRIPTION ++# ++# Find a build-time compiler. Sets CC_FOR_BUILD and EXEEXT_FOR_BUILD. ++# ++# LICENSE ++# ++# Copyright (c) 2010 Reuben Thomas ++# Copyright (c) 1999 Richard Henderson ++# ++# This program 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. ++# ++# This program 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 this program. If not, see . ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 3 ++ ++dnl Get a default for CC_FOR_BUILD to put into Makefile. ++AC_DEFUN([AX_CC_FOR_BUILD], ++[# Put a plausible default for CC_FOR_BUILD in Makefile. ++if test -z "$CC_FOR_BUILD"; then ++ if test "x$cross_compiling" = "xno"; then ++ CC_FOR_BUILD='$(CC)' ++ else ++ CC_FOR_BUILD=gcc ++ fi ++fi ++AC_SUBST(CC_FOR_BUILD) ++# Also set EXEEXT_FOR_BUILD. ++if test "x$cross_compiling" = "xno"; then ++ EXEEXT_FOR_BUILD='$(EXEEXT)' ++else ++ AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext, ++ [rm -f conftest* ++ echo 'int main () { return 0; }' > conftest.c ++ bfd_cv_build_exeext= ++ ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5 ++ for file in conftest.*; do ++ case $file in ++ *.c | *.o | *.obj | *.ilk | *.pdb) ;; ++ *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;; ++ esac ++ done ++ rm -f conftest* ++ test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no]) ++ EXEEXT_FOR_BUILD="" ++ test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext} ++fi ++AC_SUBST(EXEEXT_FOR_BUILD)])dnl -- cgit 1.4.1 From 647cfcf68184e8558fcea751ef6d95b6e5d86ae1 Mon Sep 17 00:00:00 2001 From: Pierre-Moana Levesque Date: Thu, 4 Jul 2019 19:18:48 +0200 Subject: gnu: libtool: Fix cross-compilation. * gnu/packages/autotools.scm (libtool)[arguments]: Do not run tests and use bash from native-inputs when cross-compiling. --- gnu/packages/autotools.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index ceb70dfee7..98f31f6bca 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017, 2019 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2019 Pierre-Moana Levesque ;;; ;;; This file is part of GNU Guix. ;;; @@ -354,21 +355,22 @@ Makefile, simplifying the entire process for the developer.") ;; XXX: There are test failures on mips64el-linux starting from 2.4.4: ;; . - #:tests? ,(not (string-prefix? "mips64" - (or (%current-target-system) + ;; Also, do not run tests when cross compiling + #:tests? ,(not (or (%current-target-system) + (string-prefix? "mips64" (%current-system)))) #:phases (modify-phases %standard-phases (add-before 'check 'pre-check - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; Run the test suite in parallel, if possible. (setenv "TESTSUITEFLAGS" (string-append "-j" (number->string (parallel-job-count)))) ;; Patch references to /bin/sh. - (let ((bash (assoc-ref inputs "bash"))) + (let ((bash (assoc-ref (or native-inputs inputs) "bash"))) (substitute* "tests/testsuite" (("/bin/sh") (string-append bash "/bin/sh"))) -- cgit 1.4.1 From 57bc2dcf0bfa300dcdc52d64a201e435c4e65a2c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 14 Oct 2019 15:37:25 +0200 Subject: gnu: commencement: Remove 'm4-boot0*'. * gnu/packages/commencement.scm (m4-boot0*): Remove. (bison-boot0, flex-boot0): Use M4-BOOT0 instead. --- gnu/packages/commencement.scm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 54746151ce..0b01d4f307 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1716,12 +1716,6 @@ exec " gcc "/bin/" program #:implicit-inputs? #f ,@(package-arguments m4))))) -(define m4-boot0* - (package - ;; TODO: On the next rebuild cycle, use M4-BOOT0 as is. - (inherit m4-boot0) - (name "m4"))) - (define bison-boot0 ;; This Bison is needed to build MiG so we need it early in the process. ;; Recent versions of Linux-Libre headers also depend on this. @@ -1729,7 +1723,7 @@ exec " gcc "/bin/" program (inherit bison) ;; TODO: On the next build cycle, do: ;;(name "bison-boot0") - (propagated-inputs `(("m4" ,m4-boot0*))) + (propagated-inputs `(("m4" ,m4-boot0))) (native-inputs `(("perl" ,perl-boot0))) (inputs (%boot0-inputs)) ;remove Flex... (arguments @@ -1765,12 +1759,7 @@ exec " gcc "/bin/" program (package (inherit flex) (native-inputs `(("bison" ,bison-boot0))) - (propagated-inputs - ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it - ;; appears twice in '%build-inputs', like when we were using - ;; 'package-with-explicit-inputs'. - ;; TODO: Remove this hack on the next rebuild cycle. - `(("m4" ,(package (inherit m4-boot0*))))) + (propagated-inputs `(("m4" ,m4-boot0))) (inputs (%boot0-inputs)) (arguments `(#:implicit-inputs? #f -- cgit 1.4.1 From e5c1f5cfdfe0ba4c0893779e7c5103edb6843465 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 14 Oct 2019 15:38:23 +0200 Subject: gnu: bison-boot0: Set name to "bison-boot0". * gnu/packages/commencement.scm (bison-boot0)[name]: New field. --- gnu/packages/commencement.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 0b01d4f307..1e30027c49 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1721,8 +1721,7 @@ exec " gcc "/bin/" program ;; Recent versions of Linux-Libre headers also depend on this. (package (inherit bison) - ;; TODO: On the next build cycle, do: - ;;(name "bison-boot0") + (name "bison-boot0") (propagated-inputs `(("m4" ,m4-boot0))) (native-inputs `(("perl" ,perl-boot0))) (inputs (%boot0-inputs)) ;remove Flex... -- cgit 1.4.1 From 62548232711b2f34fa6a03caee2b3cf082c99ada Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 14 Oct 2019 15:40:35 +0200 Subject: gnu: bison-boot0: Remove conditional parallel build/test flags. * gnu/packages/commencement.scm (bison-boot0)[arguments]: Remove conditional #:parallel-build? and #:parallel-tests? flags. Append (package-arguments bison). --- gnu/packages/commencement.scm | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1e30027c49..26b0a94c74 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1730,17 +1730,6 @@ exec " gcc "/bin/" program #:implicit-inputs? #f #:guile ,%bootstrap-guile - ;; XXX: These flags should be unconditional, but for now - ;; we just add them on x86 to avoid a full rebuild. - ;; TODO: On the next core-updates, use - ;; 'substitute-keyword-arguments' to inherit them from - ;; BISON. - ,@(if (member (%current-system) - '("x86_64-linux" "i686-linux")) - '(#:parallel-build? #f - #:parallel-tests? #f) - '()) - ;; Zero timestamps in liby.a; this must be done ;; explicitly here because the bootstrap Binutils don't ;; do that (default is "cru".) @@ -1751,7 +1740,9 @@ exec " gcc "/bin/" program "RANLIB=ranlib") (_ "RANLIB=ranlib -D")) - "V=1"))))) + "V=1") + + ,@(package-arguments bison))))) (define flex-boot0 ;; This Flex is needed to build MiG as well as Linux-Libre headers. -- cgit 1.4.1 From fd67cdb7e3a617bfc7ab5091a6b3bf894cf4c28c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 14 Oct 2019 15:42:42 +0200 Subject: gnu: commencement: Clean up 'gnu-make-final' dependencies. * gnu/packages/commencement.scm (gnu-make-final): Remove GUILE-FINAL from the inputs of 'pkg-config'. --- gnu/packages/commencement.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 26b0a94c74..58ee3ba5d9 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2375,13 +2375,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define gnu-make-final ;; The final GNU Make, which uses the final Guile. - ;; FIXME: This is a mistake: we shouldn't be propagating GUILE-FINAL to - ;; PKG-CONFIG. - ;; TODO: Fix that on the next rebuild cycle. (let ((pkg-config (package (inherit pkg-config) - (inputs `(("guile" ,guile-final) - ,@(%boot5-inputs))) + (inputs (%boot5-inputs)) (arguments `(#:implicit-inputs? #f ,@(package-arguments pkg-config)))))) -- cgit 1.4.1 From 10bb4e165056199dfc3b3f0910a83dd7b4aa5e55 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 26 May 2019 10:15:28 +0200 Subject: guix: Add helper for generating desktop entry files. * guix/build/utils.scm (make-desktop-entry-file): New procedure. --- guix/build/utils.scm | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index b8be73ead4..cee4e8aaa2 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -1324,6 +1324,105 @@ not supported." (&wrap-error (program prog) (type 'no-interpreter-found))))))))) +(define* (make-desktop-entry-file destination #:key + (type "Application") ; One of "Application", "Link" or "Directory". + (version "1.1") + name + (generic-name name) + (no-display #f) + comment + icon + (hidden #f) + only-show-in + not-show-in + (d-bus-activatable #f) + try-exec + exec + path + (terminal #f) + actions + mime-type + (categories "Application") + implements + keywords + (startup-notify #t) + startup-w-m-class + #:rest all-args) + "Create a desktop entry file at DESTINATION. +You must specify NAME. + +Values can be booleans, numbers, strings or list of strings. + +Additionally, locales can be specified with an alist where the key is the +locale. The #f key specifies the default. Example: + + #:name '((#f \"I love Guix\") (\"fr\" \"J'aime Guix\")) + +produces + + Name=I love Guix + Name[fr]=J'aime Guix + +For a complete description of the format, see the specifications at +https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html." + (define (escape-semicolon s) + (string-join (string-split s #\;) "\\;")) + (define* (parse key value #:optional locale) + (set! value (match value + (#t "true") + (#f "false") + ((? number? n) n) + ((? string? s) (escape-semicolon s)) + ((? list? value) + (catch 'wrong-type-arg + (lambda () (string-join (map escape-semicolon value) ";")) + (lambda args (error "List arguments can only contain strings: ~a" args)))) + (_ (error "Value must be a boolean, number, string or list of strings")))) + (format #t "~a=~a~%" + (if locale + (format #f "~a[~a]" key locale) + key) + value)) + + (define key-error-message "This procedure only takes key arguments beside DESTINATION") + + (unless name + (error "Missing NAME key argument")) + (unless (member #:type all-args) + (set! all-args (append (list #:type type) all-args))) + (mkdir-p (dirname destination)) + + (with-output-to-file destination + (lambda () + (format #t "[Desktop Entry]~%") + (let loop ((args all-args)) + (match args + (() #t) + ((_) (error key-error-message)) + ((key value . ...) + (unless (keyword? key) + (error key-error-message)) + (set! key + (string-join (map string-titlecase + (string-split (symbol->string + (keyword->symbol key)) + #\-)) + "")) + (match value + (((_ . _) . _) + (for-each (lambda (locale-subvalue) + (parse key + (if (and (list? (cdr locale-subvalue)) + (= 1 (length (cdr locale-subvalue)))) + ;; Support both proper and improper lists for convenience. + (cadr locale-subvalue) + (cdr locale-subvalue)) + (car locale-subvalue))) + value)) + (_ + (parse key value))) + (loop (cddr args)))))))) + ;;; ;;; Locales. -- cgit 1.4.1 From a9a507613b15272a0a4e89bd7a2160734205fc46 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 27 May 2019 09:04:13 +0200 Subject: gnu: emacs-exwm: Use make-desktop-entry-file. * gnu/packages/emacs-xyz.scm (emacs-exwm)[arguments]: Do it. --- gnu/packages/emacs-xyz.scm | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bbafd548b1..12c2eede94 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9072,15 +9072,12 @@ It should enable you to implement low-level X11 applications.") ;; Add a .desktop file to xsessions (mkdir-p xsessions) (mkdir-p bin) - (with-output-to-file - (string-append xsessions "/exwm.desktop") - (lambda _ - (format #t "[Desktop Entry]~@ - Name=~a~@ - Comment=~a~@ - Exec=~a~@ - TryExec=~:*~a~@ - Type=Application~%" ,name ,synopsis exwm-executable))) + (make-desktop-entry-file + (string-append xsessions "/exwm.desktop") + #:name ,name + #:comment ,synopsis + #:exec exwm-executable + #:try-exec exwm-executable) ;; Add a shell wrapper to bin (with-output-to-file exwm-executable (lambda _ -- cgit 1.4.1 From 96a320e5c7cb80d613e47eca48ef68641fa3344f Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 27 May 2019 09:04:55 +0200 Subject: gnu: tome4: Use make-desktop-entry-file. * gnu/packages/games.scm (tome4)[arguments]: Do it. --- gnu/packages/games.scm | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2ed505bbc4..839fc155cd 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -5259,19 +5259,13 @@ Crowther & Woods, its original authors, in 1995. It has been known as (copy-recursively "game" (string-append data "/game")) ;; launcher (mkdir-p applications) - (with-output-to-file (string-append applications "/" - ,name ".desktop") - (lambda () - (display - (string-append - "[Desktop Entry] -Name=ToME4 -Comment=" ,synopsis "\n" -"Exec=" ,name "\n" -"Icon=" icon "\n" -"Terminal=false -Type=Application -Categories=Game;RolePlaying;\n"))))) + (make-desktop-entry-file + (string-append applications "/" ,name ".desktop") + #:name "ToME4" + #:comment ,synopsis + #:exec ,name + #:icon icon + #:categories '("Game" "RolePlaying"))) #t))))) (home-page "https://te4.org") (description "Tales of Maj’Eyal (ToME) RPG, featuring tactical turn-based -- cgit 1.4.1 From 47f4df157f999a361fb1d37c07a82f2089fffb4d Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 27 May 2019 09:05:15 +0200 Subject: gnu: drascula: Use make-desktop-entry-file. * gnu/packages/games.scm (drascula)[arguments]: Do it. --- gnu/packages/games.scm | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 839fc155cd..b5023e1ee7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -7556,22 +7556,18 @@ on items and player adaptability for character progression.") ;; game, so we borrow SCUMMVM's. (let ((apps (string-append out "/share/applications"))) (mkdir-p apps) - (with-output-to-file (string-append apps "/drascula.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=Drascula: The Vampire Strikes Back~@ - GenericName=Drascula~@ - Exec=~a/bin/drascula~@ - Icon=~a/share/icons/hicolor/scalable/apps/scummvm.svg~@ - Categories=AdventureGame;Game;RolePlaying;~@ - Keywords=game;adventure;roleplaying;2D,fantasy;~@ - Comment=Classic 2D point and click adventure game~@ - Comment[de]=klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier~@ - Comment[fr]=Jeux classique d'aventure pointer-et-cliquer en 2D~@ - Comment[it]=Gioco classico di avventura punta e clicca 2D~@ - Type=Application~%" - out scummvm)))) + (make-desktop-entry-file + (string-append apps "/drascula.desktop") + #:name "Drascula: The Vampire Strikes Back" + #:generic-name "Drascula" + #:exec (string-append out "/bin/drascula") + #:icon (string-append scummvm "/share/icons/hicolor/scalable/apps/scummvm.svg") + #:categories '("AdventureGame" "Game" "RolePlaying") + #:keywords '("game" "adventure" "roleplaying" "2D" "fantasy") + #:comment '((#f "Classic 2D point and click adventure game") + ("de" "Klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier") + ("fr" "Jeu classique d'aventure pointer-et-cliquer en 2D") + ("it" "Gioco classico di avventura punta e clicca 2D")))) #t)))) (native-inputs `(("bash" ,bash) -- cgit 1.4.1 From 7da3e81aa1b95ba2d72118e393c4531da44d5536 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 10 Sep 2019 11:02:16 +0900 Subject: gnu: glib: Reference dbus-launch by its absolute path. * gnu/packages/glib.scm (glib)[phases]{patch-dbus-launch-path}: New phase. --- gnu/packages/glib.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index c558d9fcb6..62f09436a2 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -201,6 +201,14 @@ shared NFS home directories.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-dbus-launch-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((dbus (assoc-ref inputs "dbus"))) + (substitute* "gio/gdbusaddress.c" + (("command_line = g_strdup_printf \\(\"dbus-launch") + (string-append "command_line = g_strdup_printf (\"" + dbus "/bin/dbus-launch"))) + #t))) (add-before 'build 'pre-build (lambda* (#:key inputs outputs #:allow-other-keys) ;; For tests/gdatetime.c. -- cgit 1.4.1 From 1051facc8108110e582f2c0a9d8a5fd38b1486b6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 26 Oct 2019 17:19:57 -0400 Subject: gnu: file: Update to 5.37 [fixes CVE-2019-18218]. * gnu/packages/file.scm (file): Update to 5.37. * gnu/packages/patches/file-CVE-2019-18218.patch: New file. * gnu/packages/patches/file-CVE-2018-10360.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 2 +- gnu/packages/file.scm | 6 +-- gnu/packages/patches/file-CVE-2018-10360.patch | 27 ------------- gnu/packages/patches/file-CVE-2019-18218.patch | 55 ++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 31 deletions(-) delete mode 100644 gnu/packages/patches/file-CVE-2018-10360.patch create mode 100644 gnu/packages/patches/file-CVE-2019-18218.patch diff --git a/gnu/local.mk b/gnu/local.mk index e46d74be64..336be3cb8d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -822,7 +822,7 @@ dist_patch_DATA = \ %D%/packages/patches/fcgi-2.4.0-poll.patch \ %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ - %D%/packages/patches/file-CVE-2018-10360.patch \ + %D%/packages/patches/file-CVE-2019-18218.patch \ %D%/packages/patches/findutils-gnulib-libio.patch \ %D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-makedev.patch \ diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm index 9ba51d1b74..cf770297c4 100644 --- a/gnu/packages/file.scm +++ b/gnu/packages/file.scm @@ -30,15 +30,15 @@ (define-public file (package (name "file") - (version "5.33") + (version "5.37") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.astron.com/pub/file/file-" version ".tar.gz")) - (patches (search-patches "file-CVE-2018-10360.patch")) + (patches (search-patches "file-CVE-2019-18218.patch")) (sha256 (base32 - "1iipnwjkag7q04zjkaqic41r9nlw0ml6mhqian6qkkbisb1whlhw")))) + "0zz0p9bqnswfx0c16j8k62ivjq1m16x10xqv4hy9lcyxyxkkkhg9")))) (build-system gnu-build-system) ;; When cross-compiling, this package depends upon a native install of diff --git a/gnu/packages/patches/file-CVE-2018-10360.patch b/gnu/packages/patches/file-CVE-2018-10360.patch deleted file mode 100644 index 9285611c04..0000000000 --- a/gnu/packages/patches/file-CVE-2018-10360.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/file/file/commit/a642587a9c9e2dd7feacdf513c3643ce26ad3c22.patch -The leading part of the patch starting at line 27 was trimmed off. -This patch should be OK to drop with file@5.35. - -From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas -Date: Sat, 9 Jun 2018 16:00:06 +0000 -Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis) - ---- - src/readelf.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/readelf.c b/src/readelf.c -index 79c83f9f5..1f41b4611 100644 ---- a/src/readelf.c -+++ b/src/readelf.c -@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, - - cname = (unsigned char *) - &nbuf[doff + prpsoffsets(i)]; -- for (cp = cname; *cp && isprint(*cp); cp++) -+ for (cp = cname; cp < nbuf + size && *cp -+ && isprint(*cp); cp++) - continue; - /* - * Linux apparently appends a space at the end diff --git a/gnu/packages/patches/file-CVE-2019-18218.patch b/gnu/packages/patches/file-CVE-2019-18218.patch new file mode 100644 index 0000000000..21069823b7 --- /dev/null +++ b/gnu/packages/patches/file-CVE-2019-18218.patch @@ -0,0 +1,55 @@ +Fix CVE-2019-18218: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-18218 + +Patch copied from upstream source repository: + +https://github.com/file/file/commit/46a8443f76cec4b41ec736eca396984c74664f84 + +From 46a8443f76cec4b41ec736eca396984c74664f84 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas +Date: Mon, 26 Aug 2019 14:31:39 +0000 +Subject: [PATCH] Limit the number of elements in a vector (found by oss-fuzz) + +--- + src/cdf.c | 9 ++++----- + src/cdf.h | 1 + + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/cdf.c b/src/cdf.c +index 9d6396742..bb81d6374 100644 +--- a/src/cdf.c ++++ b/src/cdf.c +@@ -1027,8 +1027,9 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h, + goto out; + } + nelements = CDF_GETUINT32(q, 1); +- if (nelements == 0) { +- DPRINTF(("CDF_VECTOR with nelements == 0\n")); ++ if (nelements > CDF_ELEMENT_LIMIT || nelements == 0) { ++ DPRINTF(("CDF_VECTOR with nelements == %" ++ SIZE_T_FORMAT "u\n", nelements)); + goto out; + } + slen = 2; +@@ -1070,8 +1071,6 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h, + goto out; + inp += nelem; + } +- DPRINTF(("nelements = %" SIZE_T_FORMAT "u\n", +- nelements)); + for (j = 0; j < nelements && i < sh.sh_properties; + j++, i++) + { +diff --git a/src/cdf.h b/src/cdf.h +index 2f7e554b7..05056668f 100644 +--- a/src/cdf.h ++++ b/src/cdf.h +@@ -48,6 +48,7 @@ + typedef int32_t cdf_secid_t; + + #define CDF_LOOP_LIMIT 10000 ++#define CDF_ELEMENT_LIMIT 100000 + + #define CDF_SECID_NULL 0 + #define CDF_SECID_FREE -1 -- cgit 1.4.1 From 373007882def43f43d8da9678f6ab81047e32230 Mon Sep 17 00:00:00 2001 From: Gábor Boskovits Date: Thu, 7 Nov 2019 08:08:32 +0100 Subject: gnu: wayland: Update to 1.18.0. * gnu/packages/freedesktop.scm (wayland): Update to 1.18.0. --- gnu/packages/freedesktop.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 4339f14f35..b184dcd8ad 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -552,7 +552,7 @@ Python.") (define-public wayland (package (name "wayland") - (version "1.17.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "https://wayland.freedesktop.org/releases/" -- cgit 1.4.1 From ba469f1ad916ca12e7cec44af7edd209f1a146a0 Mon Sep 17 00:00:00 2001 From: Gábor Boskovits Date: Thu, 7 Nov 2019 08:12:27 +0100 Subject: gnu: wayland-protocols: Update to 1.18. * gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.18. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index b184dcd8ad..c893c7f221 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -588,7 +588,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public wayland-protocols (package (name "wayland-protocols") - (version "1.17") + (version "1.18") (source (origin (method url-fetch) (uri (string-append @@ -596,7 +596,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") "wayland-protocols-" version ".tar.xz")) (sha256 (base32 - "0bw1sqixqk2a7mqw630cs4dlgcp5yib90vyikzm3lr05jz7ij4yz")))) + "1cvl93h83ymbfhb567jv5gzyq08181w7c46rsw4xqqqpcvkvfwrx")))) (build-system gnu-build-system) (inputs `(("wayland" ,wayland))) -- cgit 1.4.1 From f6c51f598ebb63c6933a8e157ea4592f8d078258 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Nov 2019 21:03:19 +0200 Subject: gnu: fribidi: Fix CVE-2019-18397. * gnu/packages/fribidi.scm (fribidi): Replace with fribidi/fixed. (fribidi/fixed): New variable. * gnu/packages/patches/fribidi-CVE-2019-18397.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/fribidi.scm | 13 ++++++++++-- gnu/packages/patches/fribidi-CVE-2019-18397.patch | 26 +++++++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/fribidi-CVE-2019-18397.patch diff --git a/gnu/local.mk b/gnu/local.mk index 336be3cb8d..64f0ba268d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -831,6 +831,7 @@ dist_patch_DATA = \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ + %D%/packages/patches/fribidi-CVE-2019-18397.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ %D%/packages/patches/gawk-shell.patch \ diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index dfd2a77c20..61aa6fd726 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2019 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -22,10 +22,12 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (guix licenses)) + #:use-module (guix licenses) + #:use-module (gnu packages)) (define-public fribidi (package + (replacement fribidi/fixed) (name "fribidi") (version "1.0.5") (source @@ -45,3 +47,10 @@ Algorithm. This algorithm is used to properly display text in left-to-right or right-to-left ordering as necessary.") (home-page "https://github.com/fribidi/fribidi") (license lgpl2.1+))) + +(define fribidi/fixed + (package + (inherit fribidi) + (source + (origin (inherit (package-source fribidi)) + (patches (search-patches "fribidi-CVE-2019-18397.patch")))))) diff --git a/gnu/packages/patches/fribidi-CVE-2019-18397.patch b/gnu/packages/patches/fribidi-CVE-2019-18397.patch new file mode 100644 index 0000000000..aff1a669b2 --- /dev/null +++ b/gnu/packages/patches/fribidi-CVE-2019-18397.patch @@ -0,0 +1,26 @@ +https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch + +From 034c6e9a1d296286305f4cfd1e0072b879f52568 Mon Sep 17 00:00:00 2001 +From: Dov Grobgeld +Date: Thu, 24 Oct 2019 09:37:29 +0300 +Subject: [PATCH] Truncate isolate_level to FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL + +--- + lib/fribidi-bidi.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c +index 6c84392..d384878 100644 +--- a/lib/fribidi-bidi.c ++++ b/lib/fribidi-bidi.c +@@ -747,7 +747,9 @@ fribidi_get_par_embedding_levels_ex ( + } + + RL_LEVEL (pp) = level; +- RL_ISOLATE_LEVEL (pp) = isolate_level++; ++ RL_ISOLATE_LEVEL (pp) = isolate_level; ++ if (isolate_level < FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL-1) ++ isolate_level++; + base_level_per_iso_level[isolate_level] = new_level; + + if (!FRIBIDI_IS_NEUTRAL (override)) -- cgit 1.4.1 From 4e6febec687f7ae443b511ebf8c41637459a595e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Nov 2019 10:16:43 +0200 Subject: gnu: fribidi: Ungraft. * gnu/packages/fribidi.scm (fribidi)[replacement]: Remove field. [source]: Add patch. (fribidi/fixed): Remove variable. --- gnu/packages/fribidi.scm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index 61aa6fd726..b775053ba5 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -27,7 +27,6 @@ (define-public fribidi (package - (replacement fribidi/fixed) (name "fribidi") (version "1.0.5") (source @@ -38,7 +37,8 @@ "/download/v" version "/fribidi-" version ".tar.bz2")) (sha256 - (base32 "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a")))) + (base32 "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a")) + (patches (search-patches "fribidi-CVE-2019-18397.patch")))) (build-system gnu-build-system) (synopsis "Implementation of the Unicode bidirectional algorithm") (description @@ -47,10 +47,3 @@ Algorithm. This algorithm is used to properly display text in left-to-right or right-to-left ordering as necessary.") (home-page "https://github.com/fribidi/fribidi") (license lgpl2.1+))) - -(define fribidi/fixed - (package - (inherit fribidi) - (source - (origin (inherit (package-source fribidi)) - (patches (search-patches "fribidi-CVE-2019-18397.patch")))))) -- cgit 1.4.1 From bb750fa0212fc565a1ecf8a03ce97820c5743c93 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Nov 2019 12:11:32 +0200 Subject: gnu: fribidi: Update to 1.0.7. * gnu/packages/fribidi.scm (fribidi): Update to 1.0.7. --- gnu/packages/fribidi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index b775053ba5..b6cabdc4b0 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -28,7 +28,7 @@ (define-public fribidi (package (name "fribidi") - (version "1.0.5") + (version "1.0.7") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ "/download/v" version "/fribidi-" version ".tar.bz2")) (sha256 - (base32 "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a")) + (base32 "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das")) (patches (search-patches "fribidi-CVE-2019-18397.patch")))) (build-system gnu-build-system) (synopsis "Implementation of the Unicode bidirectional algorithm") -- cgit 1.4.1 From 4554d6b77e0f306a3dc33a8c1f68c9a302967a08 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 14 Nov 2019 22:30:24 +0100 Subject: gnu: aspell: Truly honor $ASPELL_DICT_DIR. Fixes . Reported by Oleg Pykhalov . * gnu/packages/aspell.scm (aspell)[arguments]: Remove 'wrap-aspell' phase. * gnu/packages/patches/aspell-default-dict-dir.patch: Add hunk to expand the right-hand size of '|' in values like "<$FOO|$BAR/baz>". Change DICT_DIR to refer to "$HOME" on the right-hand side. --- gnu/packages/aspell.scm | 10 +-------- gnu/packages/patches/aspell-default-dict-dir.patch | 24 +++++++++++++++++++++- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 4f6f1a1cca..f0e0fbcc21 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016, 2017, 2019 Efraim Flashner @@ -65,14 +65,6 @@ (("\"filter-path(.*)DICT_DIR" _ middle) (string-append "\"filter-path" middle "\"" libdir "\""))) - #t))) - (add-after 'install 'wrap-aspell - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin/aspell (string-append (assoc-ref outputs "out") - "/bin/aspell"))) - (wrap-program bin/aspell - '("ASPELL_CONF" "" = - ("${ASPELL_CONF:-\"dict-dir ${GUIX_PROFILE:-$HOME/.guix-profile}/lib/aspell\"}"))) #t)))))) (inputs `(("perl" ,perl))) diff --git a/gnu/packages/patches/aspell-default-dict-dir.patch b/gnu/packages/patches/aspell-default-dict-dir.patch index 17a6ff606f..5f759a66d9 100644 --- a/gnu/packages/patches/aspell-default-dict-dir.patch +++ b/gnu/packages/patches/aspell-default-dict-dir.patch @@ -8,12 +8,34 @@ However it is necessary for applications that use libaspell since --- a/common/config.cpp +++ b/common/config.cpp +@@ -651,7 +651,20 @@ namespace acommon { + } else { // sep == '|' + assert(replace[0] == '$'); + const char * env = getenv(replace.c_str()+1); +- final_str += env ? env : second; ++ if (env) { ++ final_str += env; ++ } else if (second[0] == '$') { ++ // Expand the right-hand side of '|', which starts with a ++ // reference to an environment variable. ++ auto slash = second.find('/'); ++ String variable = second.substr(1, slash - 1); ++ const char * env = getenv(variable.c_str()); ++ String value = env ? String(env) : ""; ++ value += second.substr(slash, second.size() - slash); ++ final_str += value; ++ } else { ++ final_str += second; ++ } + } + replace = ""; + in_replace = false; @@ -1349,6 +1349,9 @@ namespace acommon { # define REPL ".aspell..prepl" #endif +#undef DICT_DIR -+#define DICT_DIR "<$ASPELL_DICT_DIR|home-dir/.guix-profile/lib/aspell>" ++#define DICT_DIR "<$ASPELL_DICT_DIR|$HOME/.guix-profile/lib/aspell>" + static const KeyInfo config_keys[] = { // the description should be under 50 chars -- cgit 1.4.1 From 2387e2f2d1839b79f13ddd832f9a008bb220eed6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 14 Nov 2019 22:38:10 +0100 Subject: gnu: aspell: Update to 0.60.8. * gnu/packages/aspell.scm (aspell): Update to 0.60.8. [source]: Remove "aspell-gcc-compat.patch". * gnu/packages/patches/aspell-gcc-compat.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/aspell.scm | 7 +++---- gnu/packages/patches/aspell-gcc-compat.patch | 31 ---------------------------- 3 files changed, 3 insertions(+), 36 deletions(-) delete mode 100644 gnu/packages/patches/aspell-gcc-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 64f0ba268d..29988d25e6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -695,7 +695,6 @@ dist_patch_DATA = \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ - %D%/packages/patches/aspell-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index f0e0fbcc21..70d0561004 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -38,7 +38,7 @@ (define-public aspell (package (name "aspell") - (version "0.60.6.1") + (version "0.60.8") (source (origin (method url-fetch) @@ -46,9 +46,8 @@ version ".tar.gz")) (sha256 (base32 - "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm")) - (patches (search-patches "aspell-default-dict-dir.patch" - "aspell-gcc-compat.patch")))) + "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr")) + (patches (search-patches "aspell-default-dict-dir.patch")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/aspell-gcc-compat.patch b/gnu/packages/patches/aspell-gcc-compat.patch deleted file mode 100644 index 94c44f8fb6..0000000000 --- a/gnu/packages/patches/aspell-gcc-compat.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix GCC7 warnings. - -Taken from upstream: -https://git.savannah.gnu.org/cgit/aspell.git/commit/?id=8089fa02122fed0a6394eba14bbedcb1d18e2384 - -diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp -index a979539..19ab63c 100644 ---- a/modules/filter/tex.cpp -+++ b/modules/filter/tex.cpp -@@ -174,7 +174,7 @@ namespace { - - if (c == '{') { - -- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0') -+ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0') - push_command(Parm); - - top.in_what = Parm; -diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp -index db54f3d..89ee09d 100644 ---- a/prog/check_funs.cpp -+++ b/prog/check_funs.cpp -@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) { - } - } - if (i == width-1) { -- if (word == '\0') -+ if (*word == '\0') - put(out,' '); - else if (word[len] == '\0') - put(out, word, len); -- cgit 1.4.1 From bdcdd55000c61f46649164fe43289f33c6132417 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 2 Jul 2019 11:42:12 +0200 Subject: gnu: openssl: Fix cross-compilation. * gnu/packages/tls.scm (openssl-next)[arguments]: Pass CROSS_COMPILE environment variable and target system to configure script. --- gnu/packages/tls.scm | 62 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 2def6ee703..b93b4ef6e6 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018 Clément Lassieur +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -297,6 +298,23 @@ required structures.") #:disallowed-references ,(list (canonical-package perl)) #:phases (modify-phases %standard-phases + ,@(if (%current-target-system) + '((add-before + 'configure 'set-cross-compile + (lambda* (#:key target outputs #:allow-other-keys) + (setenv "CROSS_COMPILE" (string-append target "-")) + (setenv "CONFIGURE_TARGET_ARCH" + (cond + ((string-prefix? "i686" target) + "linux-x86") + ((string-prefix? "x86_64" target) + "linux-x86_64") + ((string-prefix? "arm" target) + "linux-armv4") + ((string-prefix? "aarch64" target) + "linux-aarch64"))) + #t))) + '()) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -306,7 +324,9 @@ required structures.") (("/usr/bin/env") (string-append (assoc-ref %build-inputs "coreutils") "/bin/env"))) - (invoke "./config" + (invoke ,@(if (%current-target-system) + '("./Configure") + '("./config")) "shared" ;build shared libraries "--libdir=lib" @@ -317,7 +337,10 @@ required structures.") "/share/openssl-" ,version) (string-append "--prefix=" out) - (string-append "-Wl,-rpath," lib))))) + (string-append "-Wl,-rpath," lib) + ,@(if (%current-target-system) + '((getenv "CONFIGURE_TARGET_ARCH")) + '()))))) (add-after 'install 'move-static-libraries (lambda* (#:key outputs #:allow-other-keys) ;; Move static libraries to the "static" output. @@ -432,21 +455,26 @@ required structures.") (("^MANDIR[[:blank:]]*=.*$") (string-append "MANDIR = " out "/share/man\n"))) #t))) - (replace 'configure - ;; Override this phase because OpenSSL 1.0 does not understand -rpath. - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "./config" - "shared" ;build shared libraries - "--libdir=lib" - - ;; The default for this catch-all directory is - ;; PREFIX/ssl. Change that to something more - ;; conventional. - (string-append "--openssldir=" out - "/share/openssl-" ,version) - - (string-append "--prefix=" out))))) + (replace 'configure + ;; Override this phase because OpenSSL 1.0 does not understand -rpath. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke ,@(if (%current-target-system) + '("./Configure") + '("./config")) + "shared" ;build shared libraries + "--libdir=lib" + + ;; The default for this catch-all directory is + ;; PREFIX/ssl. Change that to something more + ;; conventional. + (string-append "--openssldir=" out + "/share/openssl-" ,version) + + (string-append "--prefix=" out) + ,@(if (%current-target-system) + '((getenv "CONFIGURE_TARGET_ARCH")) + '()))))) (delete 'move-extra-documentation) (add-after 'install 'move-man3-pages (lambda* (#:key outputs #:allow-other-keys) -- cgit 1.4.1 From 534537e2efd7ff3d521a0c4cc60170a126d9c9f3 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 2 Jul 2019 15:22:16 +0200 Subject: gnu: cmake: Fix cross-compilation. * gnu/packages/cmake.scm (cmake-minimal-cross): New package. * guix/build-system/cmake.scm (default-cmake): Add new target argument and use it to select cmake-minimal or cmake-minimal-cross. (lower): Pass target to default-cmake. --- gnu/packages/cmake.scm | 8 ++++++++ guix/build-system/cmake.scm | 9 ++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 64349be444..13252a9486 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -219,6 +219,14 @@ and workspaces that can be used in the compiler environment of your choice.") (append (search-patches "cmake-curl-certificates.patch") (origin-patches (package-source cmake)))))))) +(define-public cmake-minimal-cross + (package + (inherit cmake-minimal) + (name "cmake-minimal-cross") + (native-search-paths '()) + (search-paths + (package-native-search-paths cmake-minimal)))) + (define-public emacs-cmake-mode (package (inherit cmake) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index ca88fadddf..aa0f4187ec 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -43,16 +43,19 @@ `((guix build cmake-build-system) ,@%gnu-build-system-modules)) -(define (default-cmake) +(define (default-cmake target) "Return the default CMake package." ;; Do not use `@' to avoid introducing circular dependencies. (let ((module (resolve-interface '(gnu packages cmake)))) - (module-ref module 'cmake-minimal))) + (module-ref module + (if target + 'cmake-minimal-cross + 'cmake-minimal)))) (define* (lower name #:key source inputs native-inputs outputs system target - (cmake (default-cmake)) + (cmake (default-cmake target)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." -- cgit 1.4.1 From e45c333c5569c42debbf3cd888b251d1a1e209e4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 6 Mar 2019 10:33:29 +0100 Subject: gnu: groff: Fix cross compilation. * gnu/packages/groff.scm (groff)[native-inputs]: Add self, [arguments]: set GROFF_BIN_PATH and GROFFBIN variables when cross-compiling. (groff-minimal)[native-inputs]: Add groff. --- gnu/packages/groff.scm | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index 98f17914bf..5fe353a901 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ludovic Courtès ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2019 Eric Bavier +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,12 +56,28 @@ ;; from 'inputs'. (inputs `(("ghostscript" ,ghostscript))) - (native-inputs `(("bison" ,bison) + + ;; When cross-compiling, this package depends upon a native install of + ;; itself. + (native-inputs `(,@(if (%current-target-system) + `(("self" ,this-package)) + '()) + ("bison" ,bison) ("perl" ,perl) ("psutils" ,psutils) ("texinfo" ,texinfo))) (arguments `(#:parallel-build? #f ; parallel build fails + ,@(if (%current-target-system) + `(#:make-flags + ;; In groff-minimal package, that inherits from this package, + ;; we'll need to locate "groff" instead of "self". + (let ((groff (or (assoc-ref %build-host-inputs "groff") + (assoc-ref %build-host-inputs "self")))) + (list + (string-append "GROFF_BIN_PATH=" groff) + (string-append "GROFFBIN=" groff "/bin/groff")))) + '()) #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-relocatability @@ -115,7 +132,8 @@ is usually the formatter of \"man\" documentation pages.") ;; Omit the DVI, PS, PDF, and HTML backends. (inputs '()) (native-inputs `(("bison" ,bison) - ("perl" ,perl))) + ("perl" ,perl) + ("groff" ,groff))) (arguments `(#:disallowed-references (,perl) -- cgit 1.4.1 From 3382a4f344e04ad6dad374bb25ddf15a010d14a3 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 10:34:13 +0200 Subject: gnu: cyrus-sasl: Fix cross-compilation. * gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cyrus-sasl.scm (cyrus-sasl)[origin]: Apply it. [native-tools]: Add autoconf, automake and libtool. [arguments]: Run autoconf to apply m4 modification in patch above. --- gnu/local.mk | 1 + gnu/packages/cyrus-sasl.scm | 17 +++++++++++++++-- gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch | 12 ++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 29988d25e6..8a0d9bd805 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -763,6 +763,7 @@ dist_patch_DATA = \ %D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ + %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm index f84136e631..3e65a1faf6 100644 --- a/gnu/packages/cyrus-sasl.scm +++ b/gnu/packages/cyrus-sasl.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2017 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ (define-module (gnu packages cyrus-sasl) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages dbm) #:use-module (gnu packages kerberos) #:use-module (gnu packages tls) @@ -41,8 +43,13 @@ "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version ".tar.gz"))) (sha256 (base32 - "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6")))) + "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6")) + (patches (search-patches "cyrus-sasl-ac-try-run-fix.patch")))) (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("gdbm" ,gdbm) ("openssl" ,openssl))) (propagated-inputs @@ -57,7 +64,13 @@ ;; 'plugin_common.c'. When building the shared libraries there, libtool ;; ends up doing "ln -s plugin_common.lo plugin_common.o", which can ;; fail with EEXIST when building things in parallel. - #:parallel-build? #f)) + #:parallel-build? #f + + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (invoke "autoreconf" "-vif")))))) (synopsis "Simple Authentication Security Layer implementation") (description "SASL (Simple Authentication Security Layer) is an Internet diff --git a/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch b/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch new file mode 100644 index 0000000000..8662e812e9 --- /dev/null +++ b/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch @@ -0,0 +1,12 @@ +--- a/m4/sasl2.m4 2018-11-18 22:33:29.902625600 +0300 ++++ b/m4/sasl2.m4 2018-11-18 22:33:59.828746176 +0300 +@@ -339,7 +339,8 @@ + ], + [ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO]) + AC_MSG_RESULT(yes) ], +- AC_MSG_RESULT(no)) ++ AC_MSG_RESULT(no), ++ AC_MSG_RESULT(no)) + LIBS="$cmu_save_LIBS" + + else -- cgit 1.4.1 From 63eb30c1915e774d1384c9c74feff28b2fbad744 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Jul 2019 17:10:31 +0200 Subject: gnu: icu4c: Fix cross-compilation. * gnu/packages/icu4c.scm (icu4c-build-root): New variable. (icu4c)[native-inputs]: Add it. [arguments]: Pass it as a configure-flag. --- gnu/packages/icu4c.scm | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 922dfbd348..c70871f7e7 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module (gnu packages python) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix build-system ant) #:use-module (guix build-system gnu)) @@ -70,13 +72,23 @@ (sha256 (base32 "0v0xsf14xwlj125y9fd8lrhsaych4d8liv8gr746zng6g225szb2")))) (build-system gnu-build-system) + ;; When cross-compiling, this package needs a source directory of a + ;; native-build of itself. (native-inputs - `(("python" ,python-minimal))) + `(("python" ,python-minimal) + ,@(if (%current-target-system) + `(("icu4c-build-root" ,icu4c-build-root)) + '()))) (inputs `(("perl" ,perl))) (arguments `(#:configure-flags - '("--enable-rpath") + (list + "--enable-rpath" + ,@(if (%current-target-system) + '((string-append "--with-cross-build=" + (assoc-ref %build-inputs "icu4c-build-root"))) + '())) #:phases (modify-phases %standard-phases (add-after 'unpack 'chdir-to-source @@ -105,6 +117,25 @@ C/C++ part.") (license x11) (home-page "http://site.icu-project.org/"))) +(define-public icu4c-build-root + (package + (inherit icu4c) + (name "icu4c-build-root") + (arguments + (substitute-keyword-arguments (package-arguments icu4c) + ((#:tests? _ '()) + #f) + ((#:out-of-source? _ '()) + #t) + ((#:phases phases) + `(modify-phases ,phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (copy-recursively "../build" out) + #t))))))) + (native-inputs '()))) + (define-public java-icu4j (package (name "java-icu4j") -- cgit 1.4.1 From a4c04bee7bc3faadf7ef6d98d83f57959f911fd1 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 8 Jul 2019 13:08:01 +0200 Subject: gnu: boost: Fix cross-compilation. * gnu/packages/patches/boost-dumpversion.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/boost.scm (boost)[source]: Apply it, [native-inputs]: add python unless cross-compiling, [arguments]: pass cross-compilation mandatory flags and fill a user-config.jam file pointing to cross-compiler. Disable python support that is broken when cross-compiling. Disable provide-libboost_python when cross-compiling. --- gnu/local.mk | 1 + gnu/packages/boost.scm | 59 ++++++++++++++++++++++------ gnu/packages/patches/boost-dumpversion.patch | 24 +++++++++++ 3 files changed, 71 insertions(+), 13 deletions(-) create mode 100644 gnu/packages/patches/boost-dumpversion.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8a0d9bd805..7118b251f0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -720,6 +720,7 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ + %D%/packages/patches/boost-dumpversion.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-remove-test-bs4.patch \ diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index a2253a9efc..4e1e68204f 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Maxim Cournoyer ;;; Copyright © 2018 Efraim Flashner +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,6 +55,8 @@ (string-append "https://dl.bintray.com/boostorg/release/" version "/source/boost_" version-with-underscores ".tar.bz2")))) + (patches + (search-patches "boost-dumpversion.patch")) (sha256 (base32 "0y47nc7w0arwgj4x1phadxbvl7wyfcgknbz5kv8lzpl98wsyh2j3")))) @@ -62,7 +65,9 @@ ("zlib" ,zlib))) (native-inputs `(("perl" ,perl) - ("python" ,python-2) + ,@(if (%current-target-system) + '() + `(("python" ,python-2))) ("tcsh" ,tcsh))) (arguments `(#:tests? #f @@ -76,7 +81,24 @@ ;; Set the RUNPATH to $libdir so that the libs find each other. (string-append "linkflags=-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib")) + (assoc-ref %outputs "out") "/lib") + ,@(if (%current-target-system) + `("--user-config=user-config.jam" + ;; Python is not supported when cross-compiling. + "--without-python" + "binary-format=elf" + "target-os=linux" + ,@(cond + ((string-prefix? "arm" (%current-target-system)) + '("abi=aapcs" + "address-model=32" + "architecture=arm")) + ((string-prefix? "aarch64" (%current-target-system)) + '("abi=aapcs" + "address-model=64" + "architecture=arm")) + (else '()))) + '())) #:phases (modify-phases %standard-phases (delete 'bootstrap) @@ -94,6 +116,14 @@ (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + ,@(if (%current-target-system) + `((call-with-output-file "user-config.jam" + (lambda (port) + (format port + "using gcc : cross : ~a-c++ ;" + ,(%current-target-system))))) + '()) + (invoke "./bootstrap.sh" (string-append "--prefix=" out) ;; Auto-detection looks for ICU only in traditional @@ -108,17 +138,20 @@ (replace 'install (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "./b2" "install" make-flags))) - (add-after 'install 'provide-libboost_python - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Boost can build support for both Python 2 and Python 3 since - ;; version 1.67.0, and suffixes each library with the Python - ;; version. Many consumers only check for libboost_python - ;; however, so we provide it here as suggested in - ;; . - (with-directory-excursion (string-append out "/lib") - (symlink "libboost_python27.so" "libboost_python.so")) - #t)))))) + ,@(if (%current-target-system) + '() + '((add-after 'install 'provide-libboost_python + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Boost can build support for both Python 2 and + ;; Python 3 since version 1.67.0, and suffixes each + ;; library with the Python version. Many consumers + ;; only check for libboost_python however, so we + ;; provide it here as suggested in + ;; . + (with-directory-excursion (string-append out "/lib") + (symlink "libboost_python27.so" "libboost_python.so")) + #t)))))))) (home-page "https://www.boost.org") (synopsis "Peer-reviewed portable C++ source libraries") diff --git a/gnu/packages/patches/boost-dumpversion.patch b/gnu/packages/patches/boost-dumpversion.patch new file mode 100644 index 0000000000..7df779cfe6 --- /dev/null +++ b/gnu/packages/patches/boost-dumpversion.patch @@ -0,0 +1,24 @@ +This issue is described here: https://github.com/openwrt/packages/pull/8685 +and has not been solved as of 1.70.0 release. + +--- a/tools/build/src/tools/common.jam ++++ b/tools/build/src/tools/common.jam +@@ -973,18 +973,6 @@ + } + } + +- # From GCC 5, versioning changes and minor becomes patch +- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ] +- { +- version = $(version[1]) ; +- } +- +- # Ditto, from Clang 4 +- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ] +- { +- version = $(version[1]) ; +- } +- + # On intel, version is not added, because it does not matter and it is the + # version of vc used as backend that matters. Ideally, we should encode the + # backend version but that would break compatibility with V1. -- cgit 1.4.1 From 213e1764f4acf158cf470534c4c5fccfe0a92cb5 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 8 Jul 2019 13:41:59 +0200 Subject: gnu: eudev: Fix cross-compilation. * gnu/packages/linux.scm (eudev)[arguments]: Look for xsltproc in both native-inputs and inputs. Also, do not run udevadm when cross-compiling. We need to find another way to generate hwdb.bin file for cross-built systems. --- gnu/packages/linux.scm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ccde9d172d..ed6df21ae0 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2620,7 +2620,7 @@ from the module-init-tools project.") (patches (search-patches "eudev-rules-directory.patch")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'make-source-writable (lambda _ @@ -2629,19 +2629,25 @@ from the module-init-tools project.") (for-each make-file-writable (find-files ".")) #t)) (add-before 'bootstrap 'patch-file-names - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) (substitute* "man/make.sh" (("/usr/bin/xsltproc") - (string-append (assoc-ref inputs "xsltproc") + (string-append (assoc-ref + (or native-inputs inputs) "xsltproc") "/bin/xsltproc"))) #t)) (add-after 'install 'build-hwdb (lambda* (#:key outputs #:allow-other-keys) ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and ;; similar tools to display product names. + ;; + ;; XXX: This can't be done when cross-compiling. Find another way + ;; to generate hwdb.bin for cross-built systems. (let ((out (assoc-ref outputs "out"))) - (invoke (string-append out "/bin/udevadm") - "hwdb" "--update"))))) + ,@(if (%current-target-system) + '(#t) + '((invoke (string-append out "/bin/udevadm") + "hwdb" "--update"))))))) #:configure-flags (list "--enable-manpages"))) (native-inputs `(("autoconf" ,autoconf) -- cgit 1.4.1 From 63539587bc63e1be0a838ba2230c73774dd18ffe Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 22 Aug 2019 14:48:33 +0200 Subject: gnu: bdb: Fix cross-compilation. * gnu/packages/dbm.scm (bdb-4.8)[arguments]: Pass host argument to configure when cross-compiling. --- gnu/packages/dbm.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index 5191c475c2..84c5817a79 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm @@ -55,7 +55,7 @@ #:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key target outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (doc (assoc-ref outputs "doc"))) ;; '--docdir' is not honored, so we need to patch. @@ -74,6 +74,10 @@ '("--build=aarch64-unknown-linux-gnu") '()) + ,@(if (%current-target-system) ; cross building + '((string-append "--host=" target)) + '()) + ;; Remove 7 MiB of .a files. "--disable-static" -- cgit 1.4.1 From 1c8b1870a60de12f6c19d809522f5d8362215131 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 31 Jul 2019 16:54:28 +0200 Subject: gnu: openldap: Fix cross-compilation. * gnu/packages/openldap.scm (openldap)[inputs]: Move groff from here to ... [native-inputs]: ... here. Also add bdb and automake. [arguments]: Add cross-compilation specific configure-flags. Do not strip when cross-compiling. Add a new fix-configure phase to update outdated config.sub and config.guess. Add a fix-cross-gcc phase to set CC variable to cross-compiler name when cross-compiling. --- gnu/packages/openldap.scm | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 7abe9ab6f0..8316a593e6 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,7 @@ #:use-module (gnu packages) #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl)) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -79,16 +81,46 @@ (inputs `(("bdb" ,bdb-5.3) ("cyrus-sasl" ,cyrus-sasl) ("gnutls" ,gnutls) - ("groff" ,groff) ("icu4c" ,icu4c) ("libgcrypt" ,libgcrypt) ("zlib" ,zlib))) - (native-inputs `(("libtool" ,libtool))) + (native-inputs `(("libtool" ,libtool) + ("groff" ,groff) + ("bdb" ,bdb-5.3) + ;; For up to date 'config.guess' and 'config.sub'. + ("automake" ,automake))) (arguments `(#:tests? #f - #:configure-flags '("--disable-static") + #:configure-flags + '("--disable-static" + ,@(if (%current-target-system) + '("--with-yielding_select=yes" + "ac_cv_func_memcmp_working=yes") + '())) + ;; Disable install stripping as it breaks cross-compiling. + #:make-flags '("STRIP=") #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.sub and config.guess: + (with-directory-excursion "build" + (for-each (lambda (file) + (install-file (string-append + (assoc-ref + (or native-inputs inputs) "automake") + "/share/automake-" + ,(version-major+minor + (package-version automake)) + "/" file) ".")) + '("config.sub" "config.guess"))) + #t)) + ,@(if (%current-target-system) + '((add-before 'configure 'fix-cross-gcc + (lambda* (#:key target #:allow-other-keys) + (setenv "CC" (string-append target "-gcc")) + #t))) + '()) (add-after 'install 'patch-sasl-path ;; Give -L arguments for cyrus-sasl to avoid propagation. (lambda* (#:key inputs outputs #:allow-other-keys) -- cgit 1.4.1 From 457e1166981db9f7593340f0fc2f4d228cf11361 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 31 Jul 2019 18:17:30 +0200 Subject: gnu: swig: Fix cross-compilation. * gnu/packages/swig.scm (swig)[inputs]: Add pcre that is needed when cross-compiling. --- gnu/packages/swig.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index b1b17fc68d..90d698a8b4 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -62,6 +62,7 @@ (native-inputs `(("boost" ,boost) ("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(;; Provide these to run the corresponding tests. + ("pcre" ,pcre) ("guile" ,guile-2.0) ("perl" ,perl))) ;; FIXME: reactivate input python as soon as the test failures -- cgit 1.4.1 From 6beb6cc6dff8b7285c820fbce508bd97ae2de214 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 2 Aug 2019 11:22:47 +0200 Subject: gnu: git: Fix cross-compilation. * gnu/packages/version-control.scm (git-cross-configure-flags): New variable, (git)[arguments]: add it to configure-flags. Also add cross curl-config script to PATH. (git-minimal): Add previous variable to configure-flags. --- gnu/packages/version-control.scm | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 192fa666d9..947873e6d5 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -141,6 +141,10 @@ changes to project files over time. It supports both a distributed workflow as well as the classic centralized workflow.") (license license:gpl2+))) +(define git-cross-configure-flags + '("ac_cv_fread_reads_directories=yes" + "ac_cv_snprintf_returns_bogus=no")) + (define-public git (package (name "git") @@ -233,7 +237,10 @@ as well as the classic centralized workflow.") ;; absolute file name to 'wish'. #:configure-flags (list (string-append "--with-tcltk=" (assoc-ref %build-inputs "tk") - "/bin/wish8.6")) ; XXX + "/bin/wish8.6") ; XXX + ,@(if (%current-target-system) + git-cross-configure-flags + '())) #:modules ((srfi srfi-1) (srfi srfi-26) @@ -250,6 +257,15 @@ as well as the classic centralized workflow.") (remove (cut string-prefix? bash-full <>) path) ":")) #t))) + ;; Add cross curl-config script to PATH when cross-compiling. + ,@(if (%current-target-system) + '((add-before 'configure 'add-cross-curl-config + (lambda* (#:key inputs #:allow-other-keys) + (setenv "PATH" + (string-append (assoc-ref inputs "curl") "/bin:" + (getenv "PATH"))) + #t))) + '()) (add-after 'configure 'patch-makefiles (lambda _ (substitute* "Makefile" @@ -506,7 +522,10 @@ everything from small to very large projects with speed and efficiency.") (string-append out "/share/gitweb")) #t))))) ((#:configure-flags flags) - ''()) + `(list + ,@(if (%current-target-system) + git-cross-configure-flags + '()))) ((#:disallowed-references lst '()) `(,perl ,@lst)))) (outputs '("out")) -- cgit 1.4.1 From 21b0ed1f9d6fec4cd49e2fa9cf94a07552ff7cf9 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 2 Aug 2019 11:35:37 +0200 Subject: gnu: doxygen: Fix cross-compilation. * gnu/packages/documentation.scm (doxygen)[arguments]: Force cmake to use iconv.h from cross-libc. --- gnu/packages/documentation.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 19c42b00eb..eda8ca3368 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages python) #:use-module (gnu packages bison) @@ -145,7 +147,15 @@ markup) can be customized and extended by the user.") (inputs `(("bash" ,bash-minimal))) (arguments - `(#:test-target "tests" + ;; Force cmake to use iconv header from cross-libc instead of the one + ;; from native libc. + `(,@(if (%current-target-system) + '(#:configure-flags + (list (string-append "-DICONV_INCLUDE_DIR=" + (assoc-ref %build-inputs "cross-libc") + "/include"))) + '()) + #:test-target "tests" #:phases (modify-phases %standard-phases (add-before 'configure 'patch-sh (lambda* (#:key inputs #:allow-other-keys) -- cgit 1.4.1 From 891fd849ce1cfaaaf3e6cb4d236a02dd21df5036 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 18 Aug 2019 09:47:19 +0200 Subject: gnu: guile-gcrypt: Fix cross-compilation. * gnu/packages/gnupg.scm (guile-gcrypt) [native-inputs]: Add guile, [arguments]: add libgcrypt-config to PATH when cross-compiling. --- gnu/packages/gnupg.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index f97f687d36..b31781a7b6 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Marius Bakke ;;; Copyright © 2018 Björn Höfling +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -492,11 +493,26 @@ gpgpme starting with version 1.7.") "1mhc5m4xygkfj7x18f8apiqpfdn9mrql0am5sk13cf5xn8x1r63z")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) + (arguments + ;; When cross-compiling, the bash script libgcrypt-config provided by + ;; libgcrypt must be accessible during configure phase. + `(,@(if (%current-target-system) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'add-libgrypt-config + (lambda _ + (setenv "PATH" (string-append + (assoc-ref %build-inputs "libgcrypt") + "/bin:" + (getenv "PATH"))) + #t)))) + '()))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) ("automake" ,automake) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + ("guile" ,guile-2.2))) (inputs `(("guile" ,guile-2.2) ("libgcrypt" ,libgcrypt))) -- cgit 1.4.1 From e53bf62e31793d199d7691f99bbf2767e7067b29 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 18 Aug 2019 09:10:58 +0200 Subject: gnu: guile-sqlite3: Fix cross-compilation. * gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/guile.scm (guile-sqlite3)[source]: Apply previous patch, [native-inputs]: add guile. --- gnu/local.mk | 1 + gnu/packages/guile.scm | 7 ++- .../guile-sqlite3-fix-cross-compilation.patch | 55 ++++++++++++++++++++++ 3 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7118b251f0..21318afe66 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -941,6 +941,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-relocatable.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ %D%/packages/patches/guile-emacs-fix-configure.patch \ + %D%/packages/patches/guile-sqlite3-fix-cross-compilation.patch \ %D%/packages/patches/gstreamer-buffer-reset-offset.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 49a6e964a3..f142b73a9d 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2019 Ricardo Wurmus ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2017 Marius Bakke -;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018 Amirouche ;;; Copyright © 2018 Danny Milosavljevic @@ -536,11 +536,14 @@ Guile's foreign function interface.") (sha256 (base32 "1nv8j7wk6b5n4p22szyi8lv8fs31rrzxhzz16gyj8r38c1fyp9qp")) - (file-name (string-append name "-" version "-checkout")))) + (file-name (string-append name "-" version "-checkout")) + (patches + (search-patches "guile-sqlite3-fix-cross-compilation.patch")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) + ("guile" ,guile-2.2) ("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2) diff --git a/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch b/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch new file mode 100644 index 0000000000..9ea9a47677 --- /dev/null +++ b/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch @@ -0,0 +1,55 @@ +From a6e9e62a77ecc5012929613e20da23b2636450a5 Mon Sep 17 00:00:00 2001 +From: Mathieu Othacehe +Date: Mon, 25 Mar 2019 11:00:38 +0100 +Subject: [PATCH] cross compile + +--- + build-aux/guile.am | 2 +- + configure.ac | 19 ++++++++++++------- + 2 files changed, 13 insertions(+), 8 deletions(-) + +diff --git a/build-aux/guile.am b/build-aux/guile.am +index dc1e63f..3126372 100644 +--- a/build-aux/guile.am ++++ b/build-aux/guile.am +@@ -16,4 +16,4 @@ EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES) + GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat + SUFFIXES = .scm .go + .scm.go: +- $(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<" ++ $(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_TARGET) $(GUILE_WARNINGS) -o "$@" "$<" +diff --git a/configure.ac b/configure.ac +index f648fcb..2d34d0a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -21,15 +21,20 @@ PKG_CHECK_MODULES([SQLITE], [sqlite3]) + SQLITE_LIBDIR="`"$PKG_CONFIG" sqlite3 --variable libdir`" + AC_SUBST([SQLITE_LIBDIR]) + +-AC_MSG_CHECKING([whether '$SQLITE_LIBDIR/libsqlite3' is usable]) +-GUILE_CHECK([retval], +- [(dynamic-func \"sqlite3_open_v2\" ++if test "$cross_compiling" = "no"; then ++ AC_MSG_CHECKING([whether '$SQLITE_LIBDIR/libsqlite3' is usable]) ++ GUILE_CHECK([retval], ++ [(dynamic-func \"sqlite3_open_v2\" + (dynamic-link \"$SQLITE_LIBDIR/libsqlite3\"))]) +-if test "$retval" != 0; then +- AC_MSG_RESULT([no]) +- AC_MSG_ERROR([failed to load '$SQLITE_LIBDIR/libsqlite3']) ++ if test "$retval" != 0; then ++ AC_MSG_RESULT([no]) ++ AC_MSG_ERROR([failed to load '$SQLITE_LIBDIR/libsqlite3']) ++ else ++ AC_MSG_RESULT([yes]) ++ fi + else +- AC_MSG_RESULT([yes]) ++ GUILE_TARGET="--target=$host_alias" ++ AC_SUBST([GUILE_TARGET]) + fi + + AC_CONFIG_FILES([Makefile sqlite3.scm]) +-- +2.17.1 + -- cgit 1.4.1 From c41f88699d8dce182ab422433d9f87cdb83ce2a4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 30 Sep 2019 15:03:18 +0200 Subject: gnu: libnl: Move python outputs to separate packages. Cross compiling python extensions is currently broken. To allow libnl cross compilation, move its python2 and python3 outputs to separate packages. * gnu/packages/linux.scm (libnl)[outputs]: Remove python2 and python3 and replace by ... (libnl-python-package): ... this new procedure, (libnl-python2, libnl-python3): new variables. --- gnu/packages/linux.scm | 66 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ed6df21ae0..911bd592b6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1997,35 +1997,18 @@ transparently through a bridge.") "/libnl-doc-" version ".tar.gz")) (sha256 (base32 "19p5y8q3cm5wqvamqc4s5syxnnkvzxy3gw8ivxk6fv9ybn8jm35h")))))) - (inputs - `(("python-2" ,python-2) - ("python-3" ,python-3))) - (outputs '("out" "doc" "python2" "python3")) + (outputs `("out" "doc")) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:phases + `(#:phases (modify-phases %standard-phases - (add-after 'install 'install-python - (lambda* (#:key outputs #:allow-other-keys) - (define (python-inst python) - (invoke python "setup.py" "build") - (invoke python "setup.py" "install" - (string-append "--prefix=" - (assoc-ref %outputs python))) - (invoke python "setup.py" "clean")) - (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib" - (assoc-ref %outputs "out"))) - (with-directory-excursion "./python" - (for-each python-inst '("python2" "python3"))) - #t)) (add-after 'install 'install-doc - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) (let ((dest (string-append (assoc-ref outputs "doc") "/share/doc/libnl"))) (mkdir-p dest) - (invoke "tar" "xf" (assoc-ref inputs "libnl3-doc") + (invoke "tar" "xf" (assoc-ref + (or native-inputs inputs) + "libnl3-doc") "--strip-components=1" "-C" dest))))))) (home-page "https://www.infradead.org/~tgr/libnl/") (synopsis "NetLink protocol library suite") @@ -2040,6 +2023,43 @@ configuration and monitoring interfaces.") ;; 'nl-addr-add.c'), so the result is GPLv2-only. (license license:gpl2))) +;; libnl python extensions used to be outputs of libnl. However, as +;; cross-compiling python extensions is currently broken, create separate +;; packages for libnl python extensions. +(define (libnl-python-package python) + (let ((name (string-append "libnl-" python))) + (package + (inherit libnl) + (name name) + (inputs `(,@(cond + ((string=? python "python2") + `(("python-2" ,python-2))) + ((string=? python "python3") + `(("python-3" ,python-3)))))) + (propagated-inputs `(("libnl" ,libnl))) + (outputs '("out")) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (define (python-inst python) + (invoke python "setup.py" "build") + (invoke python "setup.py" "install" + (string-append "--prefix=" + (assoc-ref %outputs "out"))) + (invoke python "setup.py" "clean")) + (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib" + (assoc-ref inputs "libnl"))) + (with-directory-excursion "./python" (python-inst ,python)) + #t)))))))) + +(define-public libnl-python2 (libnl-python-package "python2")) +(define-public libnl-python3 (libnl-python-package "python3")) + (define-public iw (package (name "iw") -- cgit 1.4.1 From 3403a4201057a9f7b02d332029d0c4f2ba158376 Mon Sep 17 00:00:00 2001 From: Pierre-Moana Levesque Date: Wed, 14 Aug 2019 09:40:21 +0200 Subject: gnu: crda: Fix cross-compilation * gnu/packages/linux.scm (crda)[arguments]: Patch Makefile to use cross pkg-config when cross-compiling. Also search for wireless-regdb in both native-inputs and inputs. Set CC variable to cross-compiler when cross-compiling. --- gnu/packages/linux.scm | 67 +++++++++++++++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 911bd592b6..3950d86cbb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2854,13 +2854,23 @@ interface.") (patches (search-patches "crda-optional-gcrypt.patch")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases (delete 'configure) (add-after 'unpack 'gzip-determinism (lambda _ (substitute* "Makefile" (("gzip") "gzip --no-name")) #t)) + ,@(if (%current-target-system) + '((add-after + 'unpack 'fix-pkg-config + (lambda* (#:key target #:allow-other-keys) + (substitute* + "Makefile" + (("pkg-config") + (string-append target "-pkg-config"))) + #t))) + '()) (add-before 'build 'no-werror-no-ldconfig (lambda _ @@ -2870,37 +2880,44 @@ interface.") #t)) (add-before 'build 'set-regulator-db-file-name - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key native-inputs inputs #:allow-other-keys) ;; Tell CRDA where to find our database. - (let ((regdb (assoc-ref inputs "wireless-regdb"))) + (let ((regdb (assoc-ref (or native-inputs inputs) + "wireless-regdb"))) (substitute* "crda.c" (("\"/lib/crda/regulatory.bin\"") (string-append "\"" regdb "/lib/crda/regulatory.bin\""))) #t)))) #:test-target "verify" - #:make-flags (let ((out (assoc-ref %outputs "out")) - (regdb (assoc-ref %build-inputs "wireless-regdb"))) - (list "CC=gcc" "V=1" - - ;; Disable signature-checking on 'regulatory.bin'. - ;; The reason is that this simplifies maintenance - ;; on our side (no need to manage a distro key - ;; pair), and we can guarantee integrity of - ;; 'regulatory.bin' by other means anyway, such as - ;; 'guix gc --verify'. See - ;; - ;; for a discssion. - "USE_OPENSSL=0" - - (string-append "PREFIX=" out) - (string-append "SBINDIR=" out "/sbin/") - (string-append "UDEV_RULE_DIR=" - out "/lib/udev/rules.d") - (string-append "LDFLAGS=-Wl,-rpath=" - out "/lib -L.") - (string-append "REG_BIN=" regdb - "/lib/crda/regulatory.bin"))))) + #:make-flags (let ((out (assoc-ref %outputs "out")) + (regdb (assoc-ref %build-inputs "wireless-regdb")) + (target ,(%current-target-system))) + (list + (string-append + "CC=" (if target + (string-append target "-gcc") "gcc")) + "V=1" + + ;; Disable signature-checking on 'regulatory.bin'. + ;; The reason is that this simplifies maintenance + ;; on our side (no need to manage a distro key + ;; pair), and we can guarantee integrity of + ;; 'regulatory.bin' by other means anyway, such as + ;; 'guix gc --verify'. See + ;; + ;; for a discssion. + "USE_OPENSSL=0" + + (string-append "PREFIX=" out) + (string-append "SBINDIR=" out "/sbin/") + (string-append "UDEV_RULE_DIR=" + out "/lib/udev/rules.d") + (string-append "LDFLAGS=-Wl,-rpath=" + out "/lib -L.") + (string-append "REG_BIN=" regdb + "/lib/crda/regulatory.bin") + "all_noverify")))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-2) ("wireless-regdb" ,wireless-regdb))) -- cgit 1.4.1 From a8446b40295c18ce1fcce66081c828bb391c09c9 Mon Sep 17 00:00:00 2001 From: Pierre-Moana Levesque Date: Mon, 5 Aug 2019 22:50:54 +0200 Subject: gnu: cmake: Fix cross-compilation. * gnu/packages/cmake.scm (cmake-minimal)[inputs]: Move all inputs to ... [native-inputs]: ... here, except for ncurses. --- gnu/packages/cmake.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 13252a9486..b9ac84ad7e 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019 Pierre-Moana Levesque ;;; ;;; This file is part of GNU Guix. ;;; @@ -145,16 +146,17 @@ (replace 'configure (lambda* (#:key (configure-flags '()) #:allow-other-keys) (apply invoke "./configure" configure-flags)))))) - (inputs + (native-inputs `(("bzip2" ,bzip2) ("curl" ,curl) ("expat" ,expat) ("file" ,file) ("libarchive" ,libarchive) ("libuv" ,libuv) - ("ncurses" ,ncurses) ; required for ccmake ("rhash" ,rhash) ("zlib" ,zlib))) + (inputs + `(("ncurses" ,ncurses))) ; required for ccmake (native-search-paths (list (search-path-specification (variable "CMAKE_PREFIX_PATH") -- cgit 1.4.1 From 94f60b4bc98d9a054be731e613b81073e1082ce3 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 20 Aug 2019 17:45:50 +0200 Subject: utils: Use target-aarch64? and target-arm? helpers. * guix/utils.scm (target-aarch64?, target-arm?): New exported procedures. --- guix/utils.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/guix/utils.scm b/guix/utils.scm index 1f99c5b3f5..c9236ad165 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -78,6 +78,8 @@ package-name->name+version target-mingw? target-arm32? + target-aarch64? + target-arm? target-64bit? version-compare version>? @@ -494,6 +496,12 @@ a character other than '@'." (define (target-arm32?) (string-prefix? "arm" (or (%current-target-system) (%current-system)))) +(define (target-aarch64?) + (string-prefix? "aarch64" (or (%current-target-system) (%current-system)))) + +(define (target-arm?) + (or (target-arm32?) (target-aarch64?))) + (define (target-64bit?) (let ((system (or (%current-target-system) (%current-system)))) (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "ppc64")))) -- cgit 1.4.1 From 8ac892c99cd451993c8472933b895eca1aa00c2c Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 23 Aug 2019 09:51:33 +0200 Subject: build: vm: Fix arm32 support. * gnu/build/vm.scm (load-in-linux-vm): Disable qemu highmem support on ARM32 systems. --- gnu/build/vm.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index a5d9fefa62..b85398ed24 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -102,6 +102,14 @@ the #:references-graphs parameter of 'derivation'." ;; hardware limits imposed by other machines. ,@(if target-arm32? '("-M" "virt") '()) + ;; On ARM32, if the kernel is built without LPAE support, ECAM conflicts + ;; with VIRT_PCIE_MMIO causing PCI devices not to show up. Disable + ;; explicitely highmem to fix it. + ;; See: https://bugs.launchpad.net/qemu/+bug/1790975. + ,@(if target-arm32? + '("-machine" "highmem=off") + '()) + ;; Only enable kvm if we see /dev/kvm exists. This allows users without ;; hardware virtualization to still use these commands. KVM support is ;; still buggy on some ARM32 boards. Do not use it even if available. -- cgit 1.4.1 From fd02b831ba70c0902dd103707f253aa07ea64bfb Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 20 Aug 2019 18:00:40 +0200 Subject: system: vm: Add arm64 support. * gnu/build/vm.scm (load-in-linux-vm): Add target-arm64? argument and use it to pass correct arguments to qemu. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass the new target-arm64? argument added above. Do not add ESP partition on all ARM targets. Do not pass grub-efi package to initialize-hard-disk on ARM targets. --- gnu/build/vm.scm | 19 +++++++++++++------ gnu/system/vm.scm | 15 +++++++++------ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index b85398ed24..6f920aec9e 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -82,6 +82,7 @@ make-disk-image? single-file-output? target-arm32? + target-aarch64? (disk-image-size (* 100 (expt 2 20))) (disk-image-format "qcow2") (references-graphs '())) @@ -97,10 +98,14 @@ access it via /dev/hda. REFERENCES-GRAPHS can specify a list of reference-graph files as produced by the #:references-graphs parameter of 'derivation'." + (define target-arm? (or target-arm32? target-aarch64?)) + (define arch-specific-flags `(;; On ARM, a machine has to be specified. Use "virt" machine to avoid ;; hardware limits imposed by other machines. - ,@(if target-arm32? '("-M" "virt") '()) + ,@(if target-arm? + '("-M" "virt") + '()) ;; On ARM32, if the kernel is built without LPAE support, ECAM conflicts ;; with VIRT_PCIE_MMIO causing PCI devices not to show up. Disable @@ -112,9 +117,9 @@ the #:references-graphs parameter of 'derivation'." ;; Only enable kvm if we see /dev/kvm exists. This allows users without ;; hardware virtualization to still use these commands. KVM support is - ;; still buggy on some ARM32 boards. Do not use it even if available. + ;; still buggy on some ARM boards. Do not use it even if available. ,@(if (and (file-exists? "/dev/kvm") - (not target-arm32?)) + (not target-arm?)) '("-enable-kvm") '()) @@ -125,11 +130,11 @@ the #:references-graphs parameter of 'derivation'." ;; The serial port name differs between emulated ;; architectures/machines. " console=" - (if target-arm32? "ttyAMA0" "ttyS0")) + (if target-arm? "ttyAMA0" "ttyS0")) ;; NIC is not supported on ARM "virt" machine, so use a user mode ;; network stack instead. - ,@(if target-arm32? + ,@(if target-arm? '("-device" "virtio-net-pci,netdev=mynet" "-netdev" "user,id=mynet") '("-net" "nic,model=virtio")))) @@ -153,7 +158,9 @@ the #:references-graphs parameter of 'derivation'." (_ #f)) (apply invoke qemu "-nographic" "-no-reboot" - "-smp" (number->string (parallel-job-count)) + ;; CPU "max" behaves as "host" when KVM is enabled, and like a system + ;; CPU with the maximum possible feature set otherwise. + "-cpu" "max" "-m" (number->string memory-size) "-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng" "-device" "virtio-rng-pci,rng=guixsd-vm-rng" diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index ac6e4ded92..de20030848 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -235,10 +235,12 @@ made available under the /xchg CIFS share." #:memory-size #$memory-size #:make-disk-image? #$make-disk-image? #:single-file-output? #$single-file-output? - ;; FIXME: ‘target-arm32?’ may not operate on - ;; the right system/target values. Rewrite + ;; FIXME: ‘target-arm32?’ and + ;; ‘target-aarch64?’ may not operate on the + ;; right system/target values. Rewrite ;; using ‘let-system’ when available. #:target-arm32? #$(target-arm32?) + #:target-aarch64? #$(target-aarch64?) #:disk-image-format #$disk-image-format #:disk-image-size size #:references-graphs graphs)))))) @@ -452,10 +454,10 @@ system." ;; bootloaders if we are not targeting ARM because UEFI ;; support in U-Boot is experimental. ;; - ;; FIXME: ‘target-arm32?’ may be not operate on the right + ;; FIXME: ‘target-arm?’ may be not operate on the right ;; system/target values. Rewrite using ‘let-system’ when ;; available. - (if #$(target-arm32?) + (if #$(target-arm?) '() (list (partition ;; The standalone grub image is about 10MiB, but @@ -466,10 +468,11 @@ system." ;; when mounting. The actual FAT-ness is based ;; on file system size (16 in this case). (file-system "vfat") - (flags '(esp)))))))) + (flags '(esp))))))) + (grub-efi #$(and (not (target-arm?)) grub-efi))) (initialize-hard-disk "/dev/vda" #:partitions partitions - #:grub-efi #$grub-efi + #:grub-efi grub-efi #:bootloader-package #$(bootloader-package bootloader) #:bootcfg #$bootcfg-drv -- cgit 1.4.1 From 4ba3c0da4f76e8ec487036f23a14f9353f09131a Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 21 Aug 2019 09:19:58 +0200 Subject: system: vm: Support cross-compilation. * gnu/system.scm (system-linux-image-file-name): Add support for cross-built systems. Remove system argument that was ignored, (operating-system-kernel-file): adapt by removing ignored os argument. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Add target argument and turn inputs into native-inputs. Pass target to qemu-command and gexp->derivation calls. (iso9660-image): Add target argument and pass it to expression->derivation-in-linux-vm. Remove qemu from inputs as it is not necessary. (qemu-image): Add target argument, also remove qemu from inputs. Pass target argument to expression->derivation-in-linux-vm call. --- gnu/system.scm | 15 ++++++++------- gnu/system/vm.scm | 18 +++++++++++++----- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index a353b1a5c8..96c2b5aad3 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -447,20 +447,21 @@ from the initrd." "Return the list of swap services for OS." (map swap-service (operating-system-swap-devices os))) -(define* (system-linux-image-file-name #:optional (system (%current-system))) +(define* (system-linux-image-file-name) "Return the basename of the kernel image file for SYSTEM." ;; FIXME: Evaluate the conditional based on the actual current system. - (cond - ((string-prefix? "arm" (%current-system)) "zImage") - ((string-prefix? "mips" (%current-system)) "vmlinuz") - ((string-prefix? "aarch64" (%current-system)) "Image") - (else "bzImage"))) + (let ((target (or (%current-target-system) (%current-system)))) + (cond + ((string-prefix? "arm" target) "zImage") + ((string-prefix? "mips" target) "vmlinuz") + ((string-prefix? "aarch64" target) "Image") + (else "bzImage")))) (define (operating-system-kernel-file os) "Return an object representing the absolute file name of the kernel image of OS." (file-append (operating-system-kernel os) - "/" (system-linux-image-file-name os))) + "/" (system-linux-image-file-name))) (define* (operating-system-directory-base-entries os) "Return the basic entries of the 'system' directory of OS for use as the diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index de20030848..c900b2d435 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -143,7 +143,7 @@ (define* (expression->derivation-in-linux-vm name exp #:key - (system (%current-system)) + (system (%current-system)) target (linux linux-libre) initrd (qemu qemu-minimal) @@ -214,7 +214,8 @@ made available under the /xchg CIFS share." (use-modules (guix build utils) (gnu build vm)) - (let* ((inputs '#$(list qemu (canonical-package coreutils))) + (let* ((native-inputs + '#+(list qemu (canonical-package coreutils))) (linux (string-append #$linux "/" #$(system-linux-image-file-name))) (initrd #$initrd) @@ -222,16 +223,18 @@ made available under the /xchg CIFS share." (graphs '#$(match references-graphs (((graph-files . _) ...) graph-files) (_ #f))) + (target #$(or (%current-target-system) (%current-system))) (size #$(if (eq? 'guess disk-image-size) #~(+ (* 70 (expt 2 20)) ;ESP (estimated-partition-size graphs)) disk-image-size))) - (set-path-environment-variable "PATH" '("bin") inputs) + (set-path-environment-variable "PATH" '("bin") native-inputs) (load-in-linux-vm loader #:output #$output #:linux linux #:initrd initrd + #:qemu (qemu-command target) #:memory-size #$memory-size #:make-disk-image? #$make-disk-image? #:single-file-output? #$single-file-output? @@ -248,6 +251,7 @@ made available under the /xchg CIFS share." (gexp->derivation name builder ;; TODO: Require the "kvm" feature. #:system system + #:target target #:env-vars env-vars #:guile-for-build guile-for-build #:references-graphs references-graphs))) @@ -263,6 +267,7 @@ made available under the /xchg CIFS share." file-system-label file-system-uuid (system (%current-system)) + (target (%current-target-system)) (qemu qemu-minimal) os bootcfg-drv @@ -299,7 +304,7 @@ INPUTS is a list of inputs (as for packages)." (setlocale LC_ALL "en_US.utf8") (let ((inputs - '#$(append (list qemu parted e2fsprogs dosfstools xorriso) + '#$(append (list parted e2fsprogs dosfstools xorriso) (map canonical-package (list sed grep coreutils findutils gawk)))) @@ -328,6 +333,7 @@ INPUTS is a list of inputs (as for packages)." #:volume-uuid #$(and=> file-system-uuid uuid-bytevector)))))) #:system system + #:target target ;; Keep a local file system for /tmp so that we can populate it directly as ;; root and have files owned by root. See . @@ -346,6 +352,7 @@ INPUTS is a list of inputs (as for packages)." (define* (qemu-image #:key (name "qemu-image") (system (%current-system)) + (target (%current-target-system)) (qemu qemu-minimal) (disk-image-size 'guess) (disk-image-format "qcow2") @@ -404,7 +411,7 @@ system." (setlocale LC_ALL "en_US.utf8") (let ((inputs - '#$(append (list qemu parted e2fsprogs dosfstools) + '#$(append (list parted e2fsprogs dosfstools) (map canonical-package (list sed grep coreutils findutils gawk)))) @@ -481,6 +488,7 @@ system." #:bootloader-installer #$(bootloader-installer bootloader))))))) #:system system + #:target target #:make-disk-image? #t #:disk-image-size disk-image-size #:disk-image-format disk-image-format -- cgit 1.4.1 From e4696c69d75f4fcf54c42beeb928032726bdaf7d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 18 Aug 2019 13:09:05 +0200 Subject: scripts: system: Add --target option. * guix/scripts/system.scm (%options): Add target option, (%default-options): ditto, (process-action): Rename existing target variable to target-file and pass new target variable to run-with-store procedure. --- guix/scripts/system.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 27b014db68..d3e10b6dc7 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2016, 2017, 2018 Chris Marusich -;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Christopher Baines ;;; @@ -931,6 +931,8 @@ Some ACTIONS support additional ARGS.\n")) --full-boot for 'vm', make a full boot sequence")) (display (G_ " --skip-checks skip file system and initrd module safety checks")) + (display (G_ " + --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"")) (display (G_ " -v, --verbosity=LEVEL use the given verbosity LEVEL")) (newline) @@ -1004,6 +1006,10 @@ Some ACTIONS support additional ARGS.\n")) (lambda (opt name arg result) (alist-cons 'system arg (alist-delete 'system result eq?)))) + (option '("target") #t #f + (lambda (opt name arg result) + (alist-cons 'target arg + (alist-delete 'target result eq?)))) (option '(#\r "root") #t #f (lambda (opt name arg result) (alist-cons 'gc-root arg result))) @@ -1012,6 +1018,7 @@ Some ACTIONS support additional ARGS.\n")) (define %default-options ;; Alist of default option values. `((system . ,(%current-system)) + (target . #f) (substitutes? . #t) (build-hook? . #t) (print-build-trace? . #t) @@ -1045,6 +1052,7 @@ resulting from command-line parsing." ((x . _) x))) (expr (assoc-ref opts 'expression)) (system (assoc-ref opts 'system)) + (target (assoc-ref opts 'target)) (os (ensure-operating-system (or file expr) (cond @@ -1061,7 +1069,7 @@ resulting from command-line parsing." (dry? (assoc-ref opts 'dry-run?)) (bootloader? (assoc-ref opts 'install-bootloader?)) - (target (match args + (target-file (match args ((first second) second) (_ #f))) (bootloader-target @@ -1103,9 +1111,10 @@ resulting from command-line parsing." (_ #f)) opts) #:install-bootloader? bootloader? - #:target target + #:target target-file #:bootloader-target bootloader-target #:gc-root (assoc-ref opts 'gc-root))))) + #:target target #:system system)) (warn-about-disk-space))) -- cgit 1.4.1 From eacd072c09f8e4b5e0264d39ea9afe7814247f46 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 16 Nov 2019 18:14:31 +0100 Subject: gnu: linux-libre: Remove cross-libc from CROSS_CPATH. * gnu/packages/linux.scm (make-linux-libre*)[arguments]: Do not unset CROSS_CPATH completely, instead remove cross-libc from CROSS_CPATH in the same way that libc is removed from CPATH. --- gnu/packages/linux.scm | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 19432817ca..3552c2e281 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -679,23 +679,26 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." #t)) (replace 'configure (lambda* (#:key inputs native-inputs target #:allow-other-keys) - ;; Unset CROSS_CPATH to make sure that cross-libc is not - ;; found. Otherwise, some of its header would conflict with the - ;; one from linux (stdint.h and linux/types.h) - ,@(if (%current-target-system) - '((unsetenv "CROSS_CPATH")) - '()) - - ;; On AArch64 (at least), we need to remove glibc headers from CPATH - ;; (they are still available as "system headers"), so that the kernel - ;; can override uint64_t. See . - (setenv "CPATH" - (string-join - (remove (cut string-prefix? (assoc-ref inputs "libc") <>) - (string-split (getenv "CPATH") #\:)) - ":")) - (format #t "environment variable `CPATH' changed to `~a'~%" - (getenv "CPATH")) + ;; On AArch64 (at least), we need to remove glibc headers from + ;; CPATH (they are still available as "system headers"), so that + ;; the kernel can override uint64_t. See + ;; . This is also true when + ;; cross-compiling, except in that case, cross-libc must be + ;; removed from CROSS_CPATH. + (let ((var ,(if (%current-target-system) + "CROSS_CPATH" + "CPATH")) + (libc ,(if (%current-target-system) + "cross-libc" + "libc"))) + (setenv var + (string-join + (remove + (cut string-prefix? (assoc-ref inputs libc) <>) + (string-split (getenv var) #\:)) + ":")) + (format #t "environment variable `~a' changed to `~a'~%" + var (getenv var))) ;; Avoid introducing timestamps (setenv "KCONFIG_NOTIMESTAMP" "1") -- cgit 1.4.1 From 86b38e4af465a69d45cedbcceb3748e4be8b2fcb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 26 Nov 2019 17:58:16 +0200 Subject: gnu: libidn2: Update to 2.3.0. * gnu/packages/libidn.scm (libidn2): Update to 2.3.0. --- gnu/packages/libidn.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm index ea9ce70dfb..8731ed3f83 100644 --- a/gnu/packages/libidn.scm +++ b/gnu/packages/libidn.scm @@ -59,14 +59,14 @@ Java libraries.") (define-public libidn2 (package (name "libidn2") - (version "2.2.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libidn/" name "-" version ".tar.lz")) (sha256 (base32 - "1a5cv79q6b719jv4fpwjl3r0mmx9qcpla98v9dk64cgxn8f8di10")))) + "14yw4w37ya6rcqa7h6p44x6711dwgq2j22xg6k79ybbf04sj88kb")))) (native-inputs `(("lzip" ,lzip))) (inputs -- cgit 1.4.1 From a0361e09658a728ec4b7f36fba0e9625948b4ea1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 26 Nov 2019 22:18:44 +0200 Subject: gnu: bison: Update to 3.4.2. * gnu/packages/bison.scm (bison): Update to 3.4.2. --- gnu/packages/bison.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm index 12f19b785e..e65ef34c94 100644 --- a/gnu/packages/bison.scm +++ b/gnu/packages/bison.scm @@ -31,7 +31,7 @@ (define-public bison (package (name "bison") - (version "3.4.1") + (version "3.4.2") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "03c2pmq3bs0drdislnz6gm1rwz3n4pb2rz9navyxydppxg2rl597")))) + "185zd8rl9diy5sl3zmizml05kcvcin05ppbax1lxqdcpd4s5bl17")))) (build-system gnu-build-system) (arguments '(;; Building in parallel on many-core systems may cause an error such as -- cgit 1.4.1 From ba6008760a84b22d71f3d70e6a15f7d89960b4bf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 26 Nov 2019 22:24:35 +0200 Subject: gnu: libgcrypt: Update to 1.8.5. * gnu/packages/gnupg.scm (libgcrypt): Update to 1.8.5. [replacement]: Remove field. (libgcrypt-1.8.5): Remove variable. --- gnu/packages/gnupg.scm | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 7f01f8a0a6..3ba49c884f 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -137,15 +137,14 @@ Daemon and possibly more in the future.") (define-public libgcrypt (package (name "libgcrypt") - (version "1.8.4") - (replacement libgcrypt-1.8.5) + (version "1.8.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" version ".tar.bz2")) (sha256 (base32 - "09r27ywj9zplq6n9qw3mn7zmvf6y2jdmwx5d1kg8yqkj0qx18f7n")))) + "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error-host" ,libgpg-error))) @@ -171,18 +170,6 @@ generation.") (properties '((ftp-server . "ftp.gnupg.org") (ftp-directory . "/gcrypt/libgcrypt"))))) -(define-public libgcrypt-1.8.5 - (package - (inherit libgcrypt) - (version "1.8.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-" - version ".tar.bz2")) - (sha256 - (base32 - "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv")))))) - (define-public libassuan (package (name "libassuan") -- cgit 1.4.1 From 7ad3c81240b366b99f29c4ac5f7c42173c91f38a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 26 Nov 2019 22:26:20 +0200 Subject: gnu: gsl: Update to 2.6. * gnu/packages/maths.scm (gsl): Update to 2.6. [source]: Remove patch. * gnu/packages/patches/gsl-test-i686.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/maths.scm | 5 ++--- gnu/packages/patches/gsl-test-i686.patch | 17 ----------------- 3 files changed, 2 insertions(+), 21 deletions(-) delete mode 100644 gnu/packages/patches/gsl-test-i686.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4cf68dcfd9..e97a5083d1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -938,7 +938,6 @@ dist_patch_DATA = \ %D%/packages/patches/grep-timing-sensitive-test.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ %D%/packages/patches/grub-efi-fat-serial-number.patch \ - %D%/packages/patches/gsl-test-i686.patch \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-default-utf8.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 16a9d97a47..fd7159a411 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -375,15 +375,14 @@ semiconductors.") (define-public gsl (package (name "gsl") - (version "2.5") + (version "2.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gsl/gsl-" version ".tar.gz")) (sha256 (base32 - "1395y9hlhqadn5g9j8q22224fds5sd92jxi9czfavjj24myasq04")) - (patches (search-patches "gsl-test-i686.patch")))) + "1a460zj9xmbgvcymkdhqh313c4l29mn9cffbi5vf33x3qygk70mp")))) (build-system gnu-build-system) (arguments `(;; Currently there are numerous tests that fail on "exotic" diff --git a/gnu/packages/patches/gsl-test-i686.patch b/gnu/packages/patches/gsl-test-i686.patch deleted file mode 100644 index 8828c08614..0000000000 --- a/gnu/packages/patches/gsl-test-i686.patch +++ /dev/null @@ -1,17 +0,0 @@ -Work around a test failure due to a rounding issue on 32-bit -platforms, as reported at: - - https://lists.gnu.org/archive/html/bug-gsl/2016-10/msg00000.html - ---- gsl-2.2.1/linalg/test.c 2016-10-05 13:27:42.464059730 +0200 -+++ gsl-2.2.1/linalg/test.c 2016-10-05 13:27:46.988095882 +0200 -@@ -4843,9 +4843,6 @@ main(void) - gsl_test(test_cholesky_decomp_unit(), "Cholesky Decomposition [unit triangular]"); - gsl_test(test_cholesky_solve(), "Cholesky Solve"); - -- gsl_test(test_cholesky_decomp(r), "Cholesky Decomposition"); -- gsl_test(test_cholesky_invert(r), "Cholesky Inverse"); -- gsl_test(test_pcholesky_decomp(r), "Pivoted Cholesky Decomposition"); - gsl_test(test_pcholesky_solve(r), "Pivoted Cholesky Solve"); - gsl_test(test_pcholesky_invert(r), "Pivoted Cholesky Inverse"); - gsl_test(test_mcholesky_decomp(r), "Modified Cholesky Decomposition"); -- cgit 1.4.1 From 4e4aedf097b9c81af090fe5a4751dfbc9c54955d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 27 Nov 2019 11:25:31 +0200 Subject: gnu: binutils: Update to 2.33.1. * gnu/packages/base.scm (binutils): Update to 2.33.1. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 3a3360dc7a..87eee4787c 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -414,14 +414,14 @@ change. GNU make offers many powerful extensions over the standard utility.") (define-public binutils (package (name "binutils") - (version "2.32") + (version "2.33.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (sha256 (base32 - "0b8767nyal1bc4cyzg5h9iis8kpkln1i3wkamig75cifj1fb2f6y")) + "1cmd0riv37bqy9mwbg6n3523qgr8b3bbm5kwj19sjrasl4yq9d0c")) (patches (search-patches "binutils-loongson-workaround.patch")))) (build-system gnu-build-system) -- cgit 1.4.1 From 3f0f0d61bbcbba2300f0dcebdf87a8c61015ebc3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 27 Nov 2019 15:13:17 +0200 Subject: gnu: bash: Update to patch level 11. * gnu/packages/bash.scm (%patch-series-5.0): Add patches 8 through 11. --- gnu/packages/bash.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 9ed0e2dae4..84406d02ff 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -69,7 +69,11 @@ (4 "021gqqvgydixkrmqss64b6srfdlkvnx88lyfzpxfrn5d6bc7li0l") (5 "0xl2kyzm84nlyklrqzkn73ixabhzfhn9x91lzcmis89cppclvxav") (6 "0844749ixk1z60437nkznzms1f0nzh9an62kj7sny6r0zyk2k1fn") - (7 "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p"))) + (7 "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p") + (8 "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf") + (9 "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d") + (10 "04ca5bjv456v538mkspzvn4xb2zdphh31r4fpvfm9p5my0jw7yyn") + (11 "1sklyixvsv8993kxzs0jigacpdchjrq7jv5xpdx7kbqyp4rf6k9c"))) (define (download-patches store count) "Download COUNT Bash patches into store. Return a list of -- cgit 1.4.1 From 8456f9fcd93034150460e7e950aa502db3cc3d38 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 27 Nov 2019 19:58:52 +0200 Subject: gnu: gcc-7: Update to 7.5.0. * gnu/packages/gcc.scm (gcc-7): Update to 7.5.0. --- gnu/packages/gcc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index bda6a2b48a..4c036933e1 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -491,14 +491,14 @@ Go. It also includes runtime support libraries for these languages.") (define-public gcc-7 (package (inherit gcc-6) - (version "7.4.0") + (version "7.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd")) + "0qg6kqc5l72hpnj4vr6l0p69qav0rh4anlkk3y55540zy3klc6dq")) (patches (search-patches "gcc-strmov-store-file-names.patch" "gcc-5.0-libvtv-runpath.patch")))) (description -- cgit 1.4.1 From fad5b1a6d8d9c36bea5785ae4fbc1beb37e644d7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 28 Nov 2019 15:12:49 +0200 Subject: gnu: sqlite: Build with column metadata. * gnu/packages/sqlite.scm (sqlite)[arguments]: Add configure flag to enable column metadata. (sqlite-with-column-metadata): Remove variable. * gnu/packages/fontutils.scm (fontmanager)[inputs]: Replace sqlite-with-column-metadata with sqlite. * gnu/packages/messaging (dino)[inputs]: Ditto. * gnu/packages/music.scm (clementine)[inputs]: Ditto. * gnu/packages/qt.scm (qtbase)[inputs]: Ditto. * gnu/packages/telephony.scm (jami)[inputs]: Remove sqlite-with-column-metadata. [arguments]: Remove custom 'wrap phase. --- gnu/packages/fontutils.scm | 2 +- gnu/packages/messaging.scm | 2 +- gnu/packages/music.scm | 2 +- gnu/packages/qt.scm | 4 ++-- gnu/packages/sqlite.scm | 15 ++------------- gnu/packages/telephony.scm | 22 +--------------------- 6 files changed, 8 insertions(+), 39 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index aba6f07537..7a88ad9a12 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -762,7 +762,7 @@ maintain the Noto Fonts project.") ("desktop-file-utils" ,desktop-file-utils))) (inputs `(("json-glib" ,json-glib) - ("sqlite-with-column-metadata" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("fonconfig" ,fontconfig) ("freetype" ,freetype) ("gtk+" ,gtk+))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 3f223c2cfe..5f791ca642 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -753,7 +753,7 @@ on Axolotl and PEP.") ("libgcrypt" ,libgcrypt) ("libsoup" ,libsoup) ("qrencode" ,qrencode) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("gpgme" ,gpgme) ("gtk+" ,gtk+) ("glib-networking" ,glib-networking) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 241ede58d8..3f69e88b26 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -297,7 +297,7 @@ score, keyboard, guitar, drum and controller views.") ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("sparsehash" ,sparsehash) ("taglib" ,taglib))) (home-page "https://clementine-player.org") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 241e73d575..e012ffaf9b 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -189,7 +189,7 @@ system, and the core design of Django is reused in Grantlee.") ("postgresql" ,postgresql) ("pulseaudio" ,pulseaudio) ("pcre2" ,pcre2) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("udev" ,eudev) ("unixodbc" ,unixodbc) ("wayland" ,wayland) @@ -385,7 +385,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("pcre2" ,pcre2) ("postgresql" ,postgresql) ("pulseaudio" ,pulseaudio) - ("sqlite" ,sqlite-with-column-metadata) + ("sqlite" ,sqlite) ("unixodbc" ,unixodbc) ("xcb-util" ,xcb-util) ("xcb-util-image" ,xcb-util-image) diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index 6d6df17f90..1a064197b8 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm @@ -74,7 +74,8 @@ (list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE " "-DSQLITE_ENABLE_FTS3 " "-DSQLITE_ENABLE_UNLOCK_NOTIFY " - "-DSQLITE_ENABLE_DBSTAT_VTAB")))) + "-DSQLITE_ENABLE_DBSTAT_VTAB " + "-DSQLITE_ENABLE_COLUMN_METADATA")))) (home-page "https://www.sqlite.org/") (synopsis "The SQLite database management system") (description @@ -83,15 +84,3 @@ zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.") (license license:public-domain))) - -;; This is used by Qt. -(define-public sqlite-with-column-metadata - (package/inherit sqlite - (name "sqlite-with-column-metadata") - (arguments - (substitute-keyword-arguments (package-arguments sqlite) - ((#:configure-flags flags) - `(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE " - "-DSQLITE_ENABLE_UNLOCK_NOTIFY " - "-DSQLITE_ENABLE_DBSTAT_VTAB " - "-DSQLITE_ENABLE_COLUMN_METADATA"))))))) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index abb68f62b2..21f00f51a1 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -60,7 +60,6 @@ #:use-module (gnu packages qt) #:use-module (gnu packages serialization) #:use-module (gnu packages speech) - #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages upnp) #:use-module (gnu packages video) @@ -858,19 +857,7 @@ This package provides a library common to all Jami clients.") ("clutter-gtk" ,clutter-gtk) ("gettext" ,gnu-gettext) ("libcanberra" ,libcanberra) - ("webkitgtk" ,webkitgtk) - ;; TODO: We must wrap ring-client-gnome to force using the - ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it - ;; fails with: - ;; - ;; /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so: - ;; undefined symbol: sqlite3_column_table_name16 - ;; - ;; qtbase is built against sqlite-with-column-metadata but somehow - ;; jami-client-gnome ends up with both `sqlite' and - ;; `sqlite-with-column-metadata' as inputs and it seems that - ;; libqsqlite.so gets confused. - ("sqlite" ,sqlite-with-column-metadata))) + ("webkitgtk" ,webkitgtk))) (native-inputs `(("pkg-config" ,pkg-config) ("glib:bin" ,glib "bin") @@ -886,13 +873,6 @@ This package provides a library common to all Jami clients.") (add-after 'unpack 'change-directory (lambda _ (chdir "client-gnome") - #t)) - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (path (string-append (assoc-ref inputs "sqlite") "/lib"))) - (wrap-program (string-append out "/bin/gnome-ring") - `("LD_LIBRARY_PATH" ":" prefix (,path)))) #t))))) (synopsis "Distributed multimedia communications platform") (description "Jami (formerly GNU Ring) is a secure and distributed voice, -- cgit 1.4.1 From b7fd304e28a3206e565d568c3f988a72b57d0b16 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 28 Nov 2019 15:20:37 +0200 Subject: gnu: Remove static-bash-for-bootstrap. * gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): Remove variable. (%static-inputs): Let gawk use static-bash if %current-target-system. Use static-bash. --- gnu/packages/make-bootstrap.scm | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index b8d1b2af3e..d149a7ec1a 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -167,15 +167,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (current-source-location) #:native-inputs native-inputs)) -(define static-bash-for-bootstrap - (package - (inherit static-bash) - (source (origin - (inherit (package-source static-bash)) - (patches - (cons (search-patch "bash-reproducible-linux-pgrp-pipe.patch") - (origin-patches (package-source static-bash)))))))) - (define %static-inputs ;; Packages that are to be used as %BOOTSTRAP-INPUTS. (let ((coreutils (package (inherit coreutils) @@ -252,7 +243,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (("-Wl,-export-dynamic") "")) #t))))))) (inputs (if (%current-target-system) - `(("bash" ,static-bash-for-bootstrap)) + `(("bash" ,static-bash)) '())))) (tar (package (inherit tar) (arguments @@ -298,7 +289,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ("sed" ,sed) ("grep" ,grep) ("gawk" ,gawk))) - ("bash" ,static-bash-for-bootstrap)))) + ("bash" ,static-bash)))) (define %static-binaries (package -- cgit 1.4.1 From 7ed91f8c8de0de7df992c1534a1c86219ab5ba84 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 1 Dec 2019 10:31:28 +0200 Subject: gnu: swig: Clean up inputs. * gnu/packages/swig.scm (swig)[inputs]: Move perl, guile-2.0 ... [inputs]: ... to here. --- gnu/packages/swig.scm | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index 90d698a8b4..e10e30b332 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2019 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,18 +61,12 @@ (("-isystem ") "-I")) #t))))) (native-inputs `(("boost" ,boost) - ("pcre" ,pcre "bin"))) ;for 'pcre-config' - (inputs `(;; Provide these to run the corresponding tests. - ("pcre" ,pcre) - ("guile" ,guile-2.0) - ("perl" ,perl))) - ;; FIXME: reactivate input python as soon as the test failures - ;; fatal error: Python.h: No such file or directory - ;; # include - ;; are fixed. - ;; The python part probably never worked and does not seem to - ;; be needed for currently dependent packages. -;; ("python" ,python-wrapper))) + ("pcre" ,pcre "bin") ;for 'pcre-config' + ;; The following are for tests and examples: + ("guile" ,guile-2.0) + ("perl" ,perl))) + ;;("python" ,python-wrapper) + (inputs `(("pcre" ,pcre))) (home-page "http://swig.org/") (synopsis "Interface compiler that connects C/C++ code to higher-level languages") -- cgit 1.4.1 From 60bd56c6d8368c23dcd97b26501771c82316fc8c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 1 Dec 2019 10:35:09 +0200 Subject: gnu: swig.scm: Sort module inputs alphabetically. * gnu/packages/swig.scm: Sort module inputs alphabetically. --- gnu/packages/swig.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index e10e30b332..655c1a19ab 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -25,11 +25,11 @@ #:use-module (guix licenses) #:use-module (guix build-system gnu) #:use-module (gnu packages) - #:use-module (gnu packages pcre) - #:use-module (gnu packages guile) #:use-module (gnu packages boost) - #:use-module (gnu packages python) - #:use-module (gnu packages perl)) + #:use-module (gnu packages guile) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages python)) (define-public swig (package -- cgit 1.4.1 From 3d46333539e4a8271d61108574f69bc323de5f19 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Dec 2019 17:29:55 +0100 Subject: gnu: libjpeg-turbo: Remove graft for 2.0.3. * gnu/packages/image.scm (libjpeg-turbo): Update to 2.0.3. [replacement]: Remove. [source](patches): New field. --- gnu/packages/image.scm | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 0536779b64..b8640227f9 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1486,15 +1486,15 @@ is hereby granted.")))) (define-public libjpeg-turbo (package (name "libjpeg-turbo") - (version "2.0.2") - (replacement libjpeg-turbo/fixed) + (version "2.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libjpeg-turbo/" version "/libjpeg-turbo-" version ".tar.gz")) + (patches (search-patches "libjpeg-turbo-CVE-2019-2201.patch")) (sha256 (base32 - "1v9gx1gdzgxf51nd55ncq7rghmj4x9x91rby50ag36irwngmkf5c")))) + "1ds16bnj17v6hzd43w8pzijz3imd9am4hw75ir0fxm240m8dwij2")))) (build-system cmake-build-system) (native-inputs `(("nasm" ,nasm))) @@ -1517,20 +1517,6 @@ and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).") license:ijg ;the libjpeg library and associated tools license:zlib)))) ;the libjpeg-turbo SIMD extensions -;; Replacement package to fix CVE-2019-13960 and CVE-2019-2201. -(define libjpeg-turbo/fixed - (package - (inherit libjpeg-turbo) - (version "2.0.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/libjpeg-turbo/" - version "/libjpeg-turbo-" version ".tar.gz")) - (sha256 - (base32 - "1ds16bnj17v6hzd43w8pzijz3imd9am4hw75ir0fxm240m8dwij2")) - (patches (search-patches "libjpeg-turbo-CVE-2019-2201.patch")))))) - (define-public niftilib (package (name "niftilib") -- cgit 1.4.1 From c8817d11011dc85c8523daa9ba3ec4676ab37e8a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 21 Jun 2019 17:49:32 +0200 Subject: gnu: perl: Remove obsolete workaround. * gnu/packages/perl.scm (perl)[arguments]: Remove phase "make-shared-objects-writable". --- gnu/packages/perl.scm | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 47eeb48b5e..86bbeabf86 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -116,18 +116,6 @@ (lambda* (#:key configure-flags #:allow-other-keys) (format #t "Perl configure flags: ~s~%" configure-flags) (apply invoke "./Configure" configure-flags))) - (add-before - 'strip 'make-shared-objects-writable - (lambda* (#:key outputs #:allow-other-keys) - ;; The 'lib/perl5' directory contains ~50 MiB of .so. Make them - ;; writable so that 'strip' actually strips them. - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib"))) - (for-each (lambda (dso) - (chmod dso #o755)) - (find-files lib "\\.so$")) - #t))) - (add-after 'install 'remove-extra-references (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit 1.4.1 From 6711ad08c723ffa21a0307c41aa8f966b7614cdd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:29:47 +0100 Subject: gnu: fribidi: Remove defunct replacement. * gnu/packages/fribidi.scm (fribidi)[replacement]: Remove. (fribidi/fixed): Remove variable. --- gnu/packages/fribidi.scm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index ada7c261dd..b6cabdc4b0 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -27,7 +27,6 @@ (define-public fribidi (package - (replacement fribidi/fixed) (name "fribidi") (version "1.0.7") (source @@ -48,10 +47,3 @@ Algorithm. This algorithm is used to properly display text in left-to-right or right-to-left ordering as necessary.") (home-page "https://github.com/fribidi/fribidi") (license lgpl2.1+))) - -(define fribidi/fixed - (package - (inherit fribidi) - (source - (origin (inherit (package-source fribidi)) - (patches (search-patches "fribidi-CVE-2019-18397.patch")))))) -- cgit 1.4.1 From edb8aa3a28d410ef6fcb9355b57f9be26f87caed Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:40:45 +0100 Subject: gnu: avahi: Incorporate grafted changes. * gnu/packages/avahi.scm (avahi)[replacement]: Remove. [source](patches): Add avahi-CVE-2018-1000845.patch. [properties]: New field. (avahi/fixed): Remove variable. --- gnu/packages/avahi.scm | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index e84fed6a71..f82a421e08 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -35,7 +35,6 @@ (package (name "avahi") (version "0.7") - (replacement avahi/fixed) (home-page "http://avahi.org") (source (origin (method url-fetch) @@ -44,7 +43,10 @@ (sha256 (base32 "0128n7jlshw4bpx0vg8lwj8qwdisjxi7mvniwfafgnkzzrfrpaap")) - (patches (search-patches "avahi-localstatedir.patch")))) + (patches (search-patches "avahi-localstatedir.patch" + "avahi-CVE-2018-1000845.patch")))) + ;; Hide a duplicate of the CVE fixed above. + (properties `((lint-hidden-cve . ("CVE-2017-6519")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-distro=none" @@ -75,17 +77,6 @@ network. It is an implementation of the mDNS (for \"Multicast DNS\") and DNS-SD (for \"DNS-Based Service Discovery\") protocols.") (license lgpl2.1+))) -(define avahi/fixed - (package - (inherit avahi) - (source (origin - (inherit (package-source avahi)) - (patches - (append (search-patches "avahi-CVE-2018-1000845.patch") - (origin-patches (package-source avahi)))))) - ;; Hide a duplicate of the CVE fixed above. - (properties `((lint-hidden-cve . ("CVE-2017-6519")))))) - (define-public nss-mdns (package (name "nss-mdns") -- cgit 1.4.1 From 6cd34029c588a5e0d19a77571888968d7acaf0e7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 2 Dec 2019 23:56:25 +0100 Subject: gnu: expat: Remove grafted replacement. * gnu/packages/xml.scm (expat): Update to 2.2.9. [replacement]: Remove. (expat-2.2.9): Remove variable. --- gnu/packages/xml.scm | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 698d1f6188..b3aae8d219 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -66,8 +66,7 @@ (define-public expat (package (name "expat") - (version "2.2.7") - (replacement expat-2.2.9) + (version "2.2.9") (source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c)))) (origin (method url-fetch) @@ -79,7 +78,7 @@ "/expat-" version ".tar.xz"))) (sha256 (base32 - "1y5yax6bq8p9xk49zqkd62pxk8bq266wrgbrqgaxp3wsrw5g9qrh"))))) + "1960mmgbb4cm64n1p0nz3hrs1pw03hkrfcw8prmnn4622mdrd9hy"))))) (build-system gnu-build-system) (home-page "https://libexpat.github.io/") (synopsis "Stream-oriented XML parser library written in C") @@ -89,23 +88,6 @@ stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags).") (license license:expat))) -(define expat-2.2.9 - (package - (inherit expat) - (version "2.2.9") - (source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c)))) - (origin - (method url-fetch) - (uri (list (string-append "mirror://sourceforge/expat/expat/" - version "/expat-" version ".tar.xz") - (string-append - "https://github.com/libexpat/libexpat/releases/download/R_" - (string-map dot->underscore version) - "/expat-" version ".tar.xz"))) - (sha256 - (base32 - "1960mmgbb4cm64n1p0nz3hrs1pw03hkrfcw8prmnn4622mdrd9hy"))))))) - (define-public libebml (package (name "libebml") -- cgit 1.4.1 From 767abd373b595fee5f46189627ea761c9fa555e3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 05:22:24 +0100 Subject: gnu: expat: Do not build static libraries. * gnu/packages/xml.scm (expat)[arguments]: New field. --- gnu/packages/xml.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index b3aae8d219..d1376a5bee 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -80,6 +80,8 @@ (base32 "1960mmgbb4cm64n1p0nz3hrs1pw03hkrfcw8prmnn4622mdrd9hy"))))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "https://libexpat.github.io/") (synopsis "Stream-oriented XML parser library written in C") (description -- cgit 1.4.1 From f09ef814d9d6150cb06bc0e329f994602b525917 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 04:22:29 +0100 Subject: gnu: nghttp2: Update to 1.40.0. * gnu/packages/web.scm (nghttp2): Update to 1.40.0. [replacement]: Remove. (nghttp2-1.39.1): Remove variable. --- gnu/packages/web.scm | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index da8049ee41..6330c73c16 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6762,8 +6762,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (define-public nghttp2 (package (name "nghttp2") - (version "1.39.1") - (replacement nghttp2-1.39.2) + (version "1.40.0") (source (origin (method url-fetch) @@ -6772,7 +6771,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") "nghttp2-" version ".tar.xz")) (sha256 (base32 - "0j0lk37k8k3f61r9nw647hg4b22z1753l36n3xrp9x01civ614b7")))) + "0wwhwv7cvi1vxpdjwvg0kpa4jzhszclpnwrwfcw728zz53a47z09")))) (build-system gnu-build-system) (outputs (list "out" "lib")) ; only libnghttp2 @@ -6842,19 +6841,6 @@ compressed JSON header blocks. @end itemize\n") (license license:expat))) -(define nghttp2-1.39.2 - (package - (inherit nghttp2) - (version "1.39.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/nghttp2/nghttp2/" - "releases/download/v" version "/" - "nghttp2-" version ".tar.xz")) - (sha256 - (base32 - "12yfsjghbaypp4w964d45ih9vs38g6anih80wbsflaxx192idlm2")))))) - (define-public hpcguix-web (let ((commit "f39c90b35e99e4122b0866ec4337020d61c81508") (revision "4")) -- cgit 1.4.1 From f3e00778d8c949ee28266d6b362a04905dd70496 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 23:48:35 +0100 Subject: gnu: curl: Update to 7.67.0. * gnu/packages/curl.scm (curl): Update to 7.67.0. [replacement]: Remove field. (curl-7.66.0): Remove variable. --- gnu/packages/curl.scm | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index aa5d24c401..a05c8e2c79 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -50,15 +50,14 @@ (define-public curl (package (name "curl") - (version "7.65.3") - (replacement curl-7.66.0) + (version "7.67.0") (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" version ".tar.xz")) (sha256 (base32 - "1sjz4fq7jg96mpmpqq82nd61njna6jp3c4m9yrbx2j1rh5a8ingj")))) + "0v2k1v28ams5fa9gkybmnpnlkfqa2im5diywa8wqqcvr0crfglpm")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.2 MiB of man3 pages @@ -143,18 +142,6 @@ tunneling, and so on.") "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) -(define curl-7.66.0 - (package - (inherit curl) - (version "7.66.0") - (source (origin - (method url-fetch) - (uri (string-append "https://curl.haxx.se/download/curl-" - version ".tar.xz")) - (sha256 - (base32 - "1hcqxpibhknhjy56wcxz5vd6m9ggx3ykwp3wp5wx05ih36481d6v")))))) - (define-public kurly (package (name "kurly") -- cgit 1.4.1 From e554eba02c8f5fc090ca54476a0ad6a1de9cc5c0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:04:11 +0100 Subject: gnu: OpenSSL: Incorporate grafted changes. * gnu/packages/tls.scm (openssl): Update to 1.1.1d. [replacement]: Remove field. (openssl-1.1.1d): Remove variable. --- gnu/packages/tls.scm | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index da9ba9346f..7e1bf832ba 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -300,8 +300,7 @@ required structures.") (define-public openssl (package (name "openssl") - (version "1.1.1c") - (replacement openssl-1.1.1d) + (version "1.1.1d") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -313,7 +312,7 @@ required structures.") "/openssl-" version ".tar.gz"))) (sha256 (base32 - "142c7zdlz06hjrrvinb9f276czc78bnkyhd9xma621qmmmwk1yzn")) + "1whinyw402z3b9xlb3qaxv4b9sk4w1bgh9k0y8df1z4x3yy92fhy")) (patches (search-patches "openssl-1.1-c-rehash-in.patch")))) (build-system gnu-build-system) (outputs '("out" @@ -425,24 +424,6 @@ required structures.") (license license:openssl) (home-page "https://www.openssl.org/"))) -(define openssl-1.1.1d - (package/inherit - openssl - (version "1.1.1d") - (source (origin - (method url-fetch) - (uri (list (string-append "https://www.openssl.org/source/openssl-" - version ".tar.gz") - (string-append "ftp://ftp.openssl.org/source/" - "openssl-" version ".tar.gz") - (string-append "ftp://ftp.openssl.org/source/old/" - (string-trim-right version char-set:letter) - "/openssl-" version ".tar.gz"))) - (patches (search-patches "openssl-1.1-c-rehash-in.patch")) - (sha256 - (base32 - "1whinyw402z3b9xlb3qaxv4b9sk4w1bgh9k0y8df1z4x3yy92fhy")))))) - (define-public openssl-1.0 (package (inherit openssl) -- cgit 1.4.1 From c751e5c6bba28365073c99bdbebf4c64b382dce5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 22:16:56 +0100 Subject: gnu: ghostscript: Incorporate grafted changes. * gnu/packages/ghostscript.scm (ghostscript)[replacement]: Remove field. [arguments]: Add "--disable-compile-inits" and "--with-fontpath" in #:configure-flags. [native-inputs]: Add PKG-CONFIG. [inputs]: Add FONTCONFIG and GS-FONTS. (ghostscript/fixed): Remove variable. --- gnu/packages/ghostscript.scm | 34 ++++++++-------------------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 7839ac5b72..224a83641b 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -157,12 +157,6 @@ printing, and psresize, for adjusting page sizes.") (package (name "ghostscript") (version "9.27") - - ;; The problems addressed by GHOSTSCRIPT/FIXED are not security-related, - ;; but they have a significant impact on usability, hence this graft. - ;; TODO: Ungraft on next update cycle. - (replacement ghostscript/fixed) - (source (origin (method url-fetch) @@ -205,6 +199,10 @@ printing, and psresize, for adjusting page sizes.") (string-append "ZLIBDIR=" (assoc-ref %build-inputs "zlib") "/include") "--enable-dynamic" + "--disable-compile-inits" + (string-append "--with-fontpath=" + (assoc-ref %build-inputs "gs-fonts") + "/share/fonts/type1/ghostscript") ,@(if (%current-target-system) '(;; Specify the native compiler, which is used to build 'echogs' @@ -268,6 +266,7 @@ printing, and psresize, for adjusting page sizes.") #t)))))) (native-inputs `(("perl" ,perl) + ("pkg-config" ,pkg-config) ;needed for freetype ("python" ,python-wrapper) ("tcl" ,tcl) @@ -278,7 +277,9 @@ printing, and psresize, for adjusting page sizes.") ("libjpeg/native" ,libjpeg)) '()))) (inputs - `(("freetype" ,freetype) + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("gs-fonts" ,gs-fonts) ("jbig2dec" ,jbig2dec) ("libjpeg" ,libjpeg) ("libpaper" ,libpaper) @@ -294,25 +295,6 @@ output file formats and printers.") (home-page "https://www.ghostscript.com/") (license license:agpl3+))) -(define ghostscript/fixed - ;; This adds the Freetype dependency (among other things), which fixes the - ;; rendering issues described in . - (package/inherit - ghostscript - (arguments - (substitute-keyword-arguments (package-arguments ghostscript) - ((#:configure-flags flags ''()) - `(append (list "--disable-compile-inits" - (string-append "--with-fontpath=" - (assoc-ref %build-inputs "gs-fonts") - "/share/fonts/type1/ghostscript")) - ,flags)))) - (native-inputs `(("pkg-config" ,pkg-config) ;needed for freetype - ,@(package-native-inputs ghostscript))) - (inputs `(("gs-fonts" ,gs-fonts) - ("fontconfig" ,fontconfig) - ,@(package-inputs ghostscript))))) - (define-public ghostscript/x (package/inherit ghostscript (name (string-append (package-name ghostscript) "-with-x")) -- cgit 1.4.1 From e0fb90490e47e6304dd6f12f16b0b66df1c56c50 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 23:47:24 +0100 Subject: gnu: ghostscript: Update to 9.50. * gnu/packages/ghostscript.scm (ghostscript): Update to 9.50. * gnu/packages/patches/ghostscript-no-header-id.patch: Adjust context. --- gnu/packages/ghostscript.scm | 4 ++-- gnu/packages/patches/ghostscript-no-header-id.patch | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 224a83641b..72a38fddf5 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -156,7 +156,7 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package (name "ghostscript") - (version "9.27") + (version "9.50") (source (origin (method url-fetch) @@ -166,7 +166,7 @@ printing, and psresize, for adjusting page sizes.") "/ghostscript-" version ".tar.xz")) (sha256 (base32 - "06dnj0mxyaryfbwlsjwaqf847w91w2h8f108kxxcc41nrnx1y3zw")) + "1m770dwc82afdgzgq2kar3120r1lbybm3mssdm79f8kggf0v16yv")) (patches (search-patches "ghostscript-no-header-creationdate.patch" "ghostscript-no-header-id.patch" "ghostscript-no-header-uuid.patch")) diff --git a/gnu/packages/patches/ghostscript-no-header-id.patch b/gnu/packages/patches/ghostscript-no-header-id.patch index da1aa5530f..45fc95fd6e 100644 --- a/gnu/packages/patches/ghostscript-no-header-id.patch +++ b/gnu/packages/patches/ghostscript-no-header-id.patch @@ -9,10 +9,10 @@ See: https://bugs.ghostscript.com/show_bug.cgi?id=698208 diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c --- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:30:28.960479189 +0200 +++ gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:34:34.306524488 +0200 -@@ -1785,8 +1785,11 @@ +@@ -1810,8 +1810,11 @@ * +1 for the linearisation dict and +1 for the primary hint stream. */ - linear_params->FirsttrailerOffset = gp_ftell_64(linear_params->Lin_File.file); + linear_params->FirsttrailerOffset = gp_ftell(linear_params->Lin_File.file); - gs_sprintf(LDict, "\ntrailer\n<>\nstartxref\r\n0\n%%%%EOF\n \n", - linear_params->LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber, fileID, fileID, 0); + gs_sprintf(LDict, "\ntrailer\n<OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 && strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) /* ID is mandatory when encrypting */ + gs_sprintf(LDict, "/ID[%s%s]", fileID, fileID); + gs_sprintf(LDict, "/Prev %d>>\nstartxref\r\n0\n%%%%EOF\n \n", 0); - fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file); + gp_fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file); /* Write document catalog (Part 4) */ -@@ -2321,8 +2324,11 @@ +@@ -2346,8 +2349,11 @@ if (code != 0) return_error(gs_error_ioerror); @@ -34,10 +34,10 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9. + if (pdev->OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 || strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) /* ID is mandatory when encrypting */ + gs_sprintf(LDict, "/ID[%s%s]", fileID, fileID); + gs_sprintf(LDict, "/Prev %"PRId64">>\nstartxref\r\n0\n%%%%EOF\n", mainxref); - fwrite(LDict, strlen(LDict), 1, linear_params->sfile); + gp_fwrite(LDict, strlen(LDict), 1, linear_params->sfile); - code = gp_fseek_64(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET); -@@ -3016,10 +3022,12 @@ + code = gp_fseek(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET); +@@ -3012,10 +3018,12 @@ stream_puts(s, "trailer\n"); pprintld3(s, "<< /Size %ld /Root %ld 0 R /Info %ld 0 R\n", pdev->next_id, Catalog_id, Info_id); -- cgit 1.4.1 From 5d229b496373179998f6a51da47629554c2d1e18 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 23:47:59 +0100 Subject: gnu: jbig2dec: Update to 0.17. * gnu/packages/image.scm (jbig2dec): Update to 0.17. --- gnu/packages/image.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index b8640227f9..f9bfbb7427 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -628,15 +628,15 @@ arithmetic ops.") (define-public jbig2dec (package (name "jbig2dec") - (version "0.16") + (version "0.17") (source (origin (method url-fetch) (uri (string-append "https://github.com/ArtifexSoftware" "/ghostpdl-downloads/releases/download" - "/gs927/" name "-" version ".tar.gz")) + "/gs950/" name "-" version ".tar.gz")) (sha256 (base32 - "00h61y7bh3z6mqfzxyb318gyh0f8jwarg4hvlrm83rqps8avzxm4")) + "0wpvslmwazia3z8gyk343kbq6yj47pxr4x5yjvx332v309qssazp")) (patches (search-patches "jbig2dec-ignore-testtest.patch")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) -- cgit 1.4.1 From 0b3df5c913af91bc196bb8cb41783126e55bf5a0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 17:44:25 +0100 Subject: gnu: glibc: Update to 2.30. * gnu/packages/patches/glibc-CVE-2019-19126.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/base.scm (glibc): Update to 2.30. [source](patches): Adjust for 2.30. (glibc-2.29): New public variable. --- gnu/local.mk | 1 + gnu/packages/base.scm | 28 ++++++++++++++++++++----- gnu/packages/patches/glibc-CVE-2019-19126.patch | 22 +++++++++++++++++++ 3 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/glibc-CVE-2019-19126.patch diff --git a/gnu/local.mk b/gnu/local.mk index fef7fd1e28..25dfef3849 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -906,6 +906,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-CVE-2018-11237.patch \ %D%/packages/patches/glibc-CVE-2019-7309.patch \ %D%/packages/patches/glibc-CVE-2019-9169.patch \ + %D%/packages/patches/glibc-CVE-2019-19126.patch \ %D%/packages/patches/glibc-allow-kernel-2.6.32.patch \ %D%/packages/patches/glibc-boot-2.16.0.patch \ %D%/packages/patches/glibc-boot-2.2.5.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index a444213a84..caaa04258c 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -567,13 +567,13 @@ the store.") ;; version 2.28, GNU/Hurd used a different glibc branch. (package (name "glibc") - (version "2.29") + (version "2.30") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk")) + "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72")) (snippet ;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is ;; required on LFS distros to avoid loading the distro's libc.so @@ -585,9 +585,7 @@ the store.") #t)) (modules '((guix build utils))) (patches (search-patches "glibc-ldd-x86_64.patch" - "glibc-CVE-2019-7309.patch" - "glibc-CVE-2019-9169.patch" - "glibc-2.29-git-updates.patch" + "glibc-CVE-2019-19126.patch" "glibc-hidden-visibility-ldconfig.patch" "glibc-versioned-locpath.patch" "glibc-allow-kernel-2.6.32.patch" @@ -819,6 +817,26 @@ 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.29 + (package + (inherit glibc) + (version "2.29") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk")) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-CVE-2019-7309.patch" + "glibc-CVE-2019-9169.patch" + "glibc-2.29-git-updates.patch" + "glibc-hidden-visibility-ldconfig.patch" + "glibc-versioned-locpath.patch" + "glibc-allow-kernel-2.6.32.patch" + "glibc-reinstate-prlimit64-fallback.patch" + "glibc-supported-locales.patch")))))) + (define-public glibc-2.28 (package (inherit glibc) diff --git a/gnu/packages/patches/glibc-CVE-2019-19126.patch b/gnu/packages/patches/glibc-CVE-2019-19126.patch new file mode 100644 index 0000000000..5b9ac58ab7 --- /dev/null +++ b/gnu/packages/patches/glibc-CVE-2019-19126.patch @@ -0,0 +1,22 @@ +Fix CVE-2019-19126: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19126 +https://sourceware.org/bugzilla/show_bug.cgi?id=25204 + +Taken from upstream: +https://sourceware.org/git/?p=glibc.git;a=commit;h=37c90e117310728a4ad1eb998c0bbe7d79c4a398 + +diff --git a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h +index 975cbe2..df2cdfd 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h ++++ b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h +@@ -31,7 +31,8 @@ + environment variable, LD_PREFER_MAP_32BIT_EXEC. */ + #define EXTRA_LD_ENVVARS \ + case 21: \ +- if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \ ++ if (!__libc_enable_secure \ ++ && memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \ + GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \ + |= bit_arch_Prefer_MAP_32BIT_EXEC; \ + break; -- cgit 1.4.1 From ca0576d6998cf954b91e4696f0f2570372ebb6d5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 23:50:54 +0100 Subject: gnu: zstd: Update to 1.4.4. * gnu/packages/compression.scm (zstd): Update to 1.4.4. [arguments]: Adjust pkg-config substitution. --- gnu/packages/compression.scm | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 89dcc34e21..905931acbd 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1394,18 +1394,18 @@ or junctions, and always follows hard links.") (define-public zstd (package (name "zstd") - (version "1.4.2") + (version "1.4.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/facebook/zstd/releases/download/" "v" version "/zstd-" version ".tar.gz")) (sha256 - (base32 "1ja3nrjynmiwwdjrf6crraizkbagp7y414bqqq2ady91nn1hjwqj")))) + (base32 "05ckxap00qvc0j51d3ci38150cxsw82w7s9zgd5fgzspnzmp1vsr")))) (build-system gnu-build-system) - (outputs '("out" ;1.1MiB executables and documentation - "lib" ;1MiB shared library and headers - "static")) ;1MiB static library + (outputs '("out" ;1.2MiB executables and documentation + "lib" ;1.2MiB shared library and headers + "static")) ;1.2MiB static library (arguments `(#:phases (modify-phases %standard-phases @@ -1425,12 +1425,10 @@ or junctions, and always follows hard links.") (delete-file ar)) (find-files shared-libs "\\.a$")) - ;; While here, remove prefix= from the pkg-config file because it - ;; is unused, and because it contains a needless reference to $out. - ;; XXX: It would be great if #:disallow-references worked between - ;; outputs. + ;; Make sure the pkg-config file refers to the right output. (substitute* (string-append shared-libs "/pkgconfig/libzstd.pc") - (("^prefix=.*") "")) + (("^prefix=.*") + (string-append "prefix=" lib "\n"))) #t)))) #:make-flags -- cgit 1.4.1 From abd5124417bda96ddd0a73a198465b357940a5d5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 23:52:43 +0100 Subject: gnu: libbsd: Update to 0.10.0. * gnu/packages/libbsd.scm (libbsd): Update to 0.10.0. --- gnu/packages/libbsd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libbsd.scm b/gnu/packages/libbsd.scm index a616de70bd..9d0dff10f1 100644 --- a/gnu/packages/libbsd.scm +++ b/gnu/packages/libbsd.scm @@ -25,14 +25,14 @@ (define-public libbsd (package (name "libbsd") - (version "0.9.1") + (version "0.10.0") (source (origin (method url-fetch) (uri (string-append "https://libbsd.freedesktop.org/releases/" "libbsd-" version ".tar.xz")) (sha256 (base32 - "1957w2wi7iqar978qlfsm220dwywnrh5m58nrnn9zmi74ds3bn2n")))) + "11x8q45jvjvf2dvgclds64mscyg10lva33qinf2hwgc84v3svf1l")))) (build-system gnu-build-system) (synopsis "Utility functions from BSD systems") (description "This library provides useful functions commonly found on BSD -- cgit 1.4.1 From 8aeac338a7084720a0143f54b83e39d18a2edcdc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 23:54:23 +0100 Subject: gnu: jemalloc: Update to 5.2.1. * gnu/packages/jemalloc.scm (jemalloc): Update to 5.2.1. --- gnu/packages/jemalloc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index aa8493fd1d..2eabf4403f 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -32,7 +32,7 @@ (define-public jemalloc (package (name "jemalloc") - (version "5.2.0") + (version "5.2.1") (source (origin (method url-fetch) (uri (string-append @@ -40,7 +40,7 @@ version "/jemalloc-" version ".tar.bz2")) (sha256 (base32 - "1d73a5c5qdrwck0fa5pxz0myizaf3s9alsvhiqwrjahdlr29zgkl")))) + "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit 1.4.1 From 5f1000d5d4cc4dfc9a1fe220457c17ad011d9e33 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 29 Nov 2019 23:56:03 +0100 Subject: gnu: libffi: Update to 3.3. * gnu/packages/patches/libffi-3.2.1-complex-alpha.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/libffi.scm (libffi): Update to 3.3. [source](patches): Remove. * gnu/packages/python.scm (python-3.7)[arguments]: Remove workaround. --- gnu/local.mk | 1 - gnu/packages/libffi.scm | 15 +++--------- .../patches/libffi-3.2.1-complex-alpha.patch | 28 ---------------------- gnu/packages/python.scm | 7 +----- 4 files changed, 4 insertions(+), 47 deletions(-) delete mode 100644 gnu/packages/patches/libffi-3.2.1-complex-alpha.patch diff --git a/gnu/local.mk b/gnu/local.mk index 25dfef3849..f13d8f3645 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1066,7 +1066,6 @@ dist_patch_DATA = \ %D%/packages/patches/libgnome-encoding.patch \ %D%/packages/patches/libgnomeui-utf8.patch \ %D%/packages/patches/libgpg-error-gawk-compat.patch \ - %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ %D%/packages/patches/libjpeg-turbo-CVE-2019-2201.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index b61dbc8657..52654ddf3f 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -41,7 +41,7 @@ (define-public libffi (package (name "libffi") - (version "3.2.1") + (version "3.3") (source (origin (method url-fetch) (uri @@ -49,21 +49,12 @@ name "-" version ".tar.gz")) (sha256 (base32 - "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh")) - (patches (search-patches "libffi-3.2.1-complex-alpha.patch")))) + "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj")))) (build-system gnu-build-system) (arguments `(;; Prevent the build system from passing -march and -mtune to the ;; compiler. See "ax_cc_maxopt.m4" and "ax_gcc_archflag.m4". - #:configure-flags '("--enable-portable-binary" "--without-gcc-arch") - #:phases - (modify-phases %standard-phases - (add-after 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - (define out (assoc-ref outputs "out")) - (symlink (string-append out "/lib/libffi-3.2.1/include") - (string-append out "/include")) - #t))))) + #:configure-flags '("--enable-portable-binary" "--without-gcc-arch"))) (outputs '("out" "debug")) (synopsis "Foreign function call interface library") (description diff --git a/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch b/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch deleted file mode 100644 index ebbc0635a5..0000000000 --- a/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch +++ /dev/null @@ -1,28 +0,0 @@ -The patch fixes build failure of form: - ../src/alpha/osf.S:298:2: error: #error "osf.S out of sync with ffi.h" -Upstream fixed the bug in a more invasive way -but didn't have releases since 3.2.1. - -The patch is taken from Gentoo: -https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch - ---- libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:15.000000000 +0100 -+++ libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:24.000000000 +0100 -@@ -279,6 +279,7 @@ - .gprel32 $load_64 # FFI_TYPE_SINT64 - .gprel32 $load_none # FFI_TYPE_STRUCT - .gprel32 $load_64 # FFI_TYPE_POINTER -+ .gprel32 $load_none # FFI_TYPE_COMPLEX - - /* Assert that the table above is in sync with ffi.h. */ - -@@ -294,7 +295,8 @@ - || FFI_TYPE_SINT64 != 12 \ - || FFI_TYPE_STRUCT != 13 \ - || FFI_TYPE_POINTER != 14 \ -- || FFI_TYPE_LAST != 14 -+ || FFI_TYPE_COMPLEX != 15 \ -+ || FFI_TYPE_LAST != 15 - #error "osf.S out of sync with ffi.h" - #endif - diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 43b4044e72..ef1c8e4a09 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -377,12 +377,7 @@ data types.") " --exclude test_mmap" ;; test_socket may hang and eventually run out of memory ;; on some systems: . - " test_socket" - ;; XXX: test_ctypes fails on some platforms due to a problem in - ;; libffi 3.2.1: . - ,@(if (string-prefix? "aarch64" (%current-system)) - '(" test_ctypes") - '())))) + " test_socket"))) ((#:phases phases) `(modify-phases ,phases (add-before 'check 'set-TZDIR -- cgit 1.4.1 From d9cd568aea3b134ca92333c67baa5bdab3ba010f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 03:15:53 +0100 Subject: gnu: libtiff: Update to 4.1.0. * gnu/packages/image.scm (libtiff): Update to 4.1.0. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index f9bfbb7427..3a816f8308 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -543,7 +543,7 @@ extracting icontainer icon files.") (define-public libtiff (package (name "libtiff") - (version "4.0.10") + (version "4.1.0") (source (origin (method url-fetch) @@ -551,7 +551,7 @@ extracting icontainer icon files.") version ".tar.gz")) (sha256 (base32 - "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic")))) + "0d46bdvxdiv59lxnb0xz9ywm8arsr6xsapi5s6y6vnys2wjz6aax")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.3 MiB of HTML documentation -- cgit 1.4.1 From 2874a33d712b92d172e6e70a1fbd2e0fe65bcdf4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 03:16:26 +0100 Subject: gnu: libtiff: Do not build static libraries. * gnu/packages/image.scm (libtiff)[arguments]: Add "--disable-static" in #:configure-flags. --- gnu/packages/image.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 3a816f8308..0a2ad5a99a 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -560,7 +560,8 @@ extracting icontainer icon files.") `(#:configure-flags (list (string-append "--with-docdir=" (assoc-ref %outputs "doc") "/share/doc/" - ,name "-" ,version)))) + ,name "-" ,version) + "--disable-static"))) (inputs `(("zlib" ,zlib) ("libjpeg" ,libjpeg))) (synopsis "Library for handling TIFF files") -- cgit 1.4.1 From c218e03362ebddca17d1797c5d4c0b18d634bded Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 03:17:18 +0100 Subject: gnu: perl: Update to 5.30.1. * gnu/packages/perl.scm (perl): Update to 5.30.1. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 86bbeabf86..89254de339 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -67,14 +67,14 @@ ;; Yeah, Perl... It is required early in the bootstrap process by Linux. (package (name "perl") - (version "5.30.0") + (version "5.30.1") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 - "1wkmz6xn3fswpqhz29akiklcxclnlykhp96a8bqcz36rak3i64l5")) + "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz")) (patches (search-patches "perl-no-sys-dirs.patch" "perl-autosplit-default-time.patch" -- cgit 1.4.1 From f7511ff1109868d215f5668d8e07e539ef77bd7b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 03:33:56 +0100 Subject: gnu: readline: Add a version parameter to patch procedures. * gnu/packages/readline.scm (patch-url, readline-patch, patch-series): Add VERSION parameter. (%patch-series-7.0): Pass "7.0" to PATCH-SERIES. --- gnu/packages/readline.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index 57d550d67f..1304bb8b2b 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -30,22 +30,24 @@ #:use-module (guix utils) #:use-module (ice-9 format)) -(define (patch-url seqno) - (format #f "mirror://gnu/readline/readline-7.0-patches/readline70-~3,'0d" seqno)) +(define (patch-url version seqno) + (format #f "mirror://gnu/readline/readline-~a-patches/readline~a-~3,'0d" + version (string-join (string-split version #\.) "") seqno)) -(define (readline-patch seqno sha256) +(define (readline-patch version seqno sha256) "Return the origin of Readline patch SEQNO, with expected hash SHA256" (origin (method url-fetch) - (uri (patch-url seqno)) + (uri (patch-url version seqno)) (sha256 sha256))) -(define-syntax-rule (patch-series (seqno hash) ...) - (list (readline-patch seqno (base32 hash)) +(define-syntax-rule (patch-series version (seqno hash) ...) + (list (readline-patch version seqno (base32 hash)) ...)) (define %patch-series-7.0 (patch-series + "7.0" (1 "0xm3sxvwmss7ddyfb11n6pgcqd1aglnpy15g143vzcf75snb7hcs") (2 "0n1dxmqsbjgrfxb1hgk5c6lsraw4ncbnzxlsx7m35nym6lncjiw7") (3 "1027kmymniizcy0zbdlrczxfx3clxcdln5yq05q9yzlc6y9slhwy") -- cgit 1.4.1 From d7316c774386a79559d557a5cec7f98e345561c6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 03:37:14 +0100 Subject: gnu: readline: Update to 8.0.1. * gnu/packages/readline.scm (%patch-series-8.0): New variable. (readline)[version]: Adjust accordingly. [source](patches): Add %PATCH-SERIES-8.0. --- gnu/packages/readline.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index 1304bb8b2b..9f886f9b6e 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2019 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +46,11 @@ (list (readline-patch version seqno (base32 hash)) ...)) +(define %patch-series-8.0 + (patch-series + "8.0" + (1 "0sfh7wn0pr743xspnb1zndxndlv9rc0hcg14cbw5cmyg6f4ykrfq"))) + (define %patch-series-7.0 (patch-series "7.0" @@ -57,7 +63,8 @@ (define-public readline (package (name "readline") - (version "8.0") + (version (string-append "8.0." + (number->string (length %patch-series-8.0)))) (source (origin (method url-fetch) (uri (string-append "mirror://gnu/readline/readline-" @@ -65,7 +72,8 @@ (sha256 (base32 "0qg4924hf4hg0r0wbx2chswsr08734536fh5iagkd3a7f4czafg3")) - (patches (search-patches "readline-link-ncurses.patch")) + (patches (append %patch-series-8.0 + (search-patches "readline-link-ncurses.patch"))) (patch-flags '("-p0")))) (build-system gnu-build-system) (propagated-inputs `(("ncurses" ,ncurses))) -- cgit 1.4.1 From e8acfd1a9fcb5d947f023293852373758784d15f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 03:40:14 +0100 Subject: gnu: icu4c: Update to 65.1. * gnu/packages/icu4c.scm (%icu4c-patches): Remove variable. (icu4c): Update to 65.1. [source](uri): Change to new download location. [source](patches, patch-flags): Remove. --- gnu/packages/icu4c.scm | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index c70871f7e7..717ed277ee 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -33,44 +33,20 @@ #:use-module (guix build-system ant) #:use-module (guix build-system gnu)) -;; These patches are taken from ICUs 'maint-64' branch and will be included in -;; 64.3. The latter patch is needed because many packages use "invalid" -;; locales which misbehave with ICU 64.2. See discussion at -;; . -(define %icu4c-patches - (list (origin - (method url-fetch) - (uri (string-append "https://github.com/unicode-org/icu/commit/" - "7788f04eb9be0d7ecade6af46cf7b9825447763d.patch")) - (file-name "icu4c-datetime-regression.patch") - (sha256 - (base32 - "0gs2sbdfpzwwdjqcqr0c16fw3g7wy3gb1gbgvzs9k1ciw0bhpv4w"))) - (origin - (method url-fetch) - (uri (string-append "https://github.com/unicode-org/icu/commit/" - "cfb20862909ff105d4f2c43923c97561bc5a5815.patch")) - (file-name "icu4c-locale-mapping.patch") - (sha256 - (base32 - "0s5psb60aisj6icziblvlp9dqcz56n3887i8ib0yidbjnnrw5b97"))))) - (define-public icu4c (package (name "icu4c") - (version "64.2") + (version "65.1") (source (origin (method url-fetch) (uri (string-append - "http://download.icu-project.org/files/icu4c/" - version + "https://github.com/unicode-org/icu/releases/download/release-" + (string-map (lambda (x) (if (char=? x #\.) #\- x)) version) "/icu4c-" (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) "-src.tgz")) - (patches %icu4c-patches) - (patch-flags '("-p2")) (sha256 - (base32 "0v0xsf14xwlj125y9fd8lrhsaych4d8liv8gr746zng6g225szb2")))) + (base32 "0j6r6qqnhfr5iqkx53k63ifkm93kv1kkb7h2mlgd1mnnndk79qsk")))) (build-system gnu-build-system) ;; When cross-compiling, this package needs a source directory of a ;; native-build of itself. -- cgit 1.4.1 From adfcb15ff1e662489cad390614fb7119065e7d39 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 04:19:36 +0100 Subject: gnu: sqlite: Update to 3.30.1. * gnu/packages/sqlite.scm (sqlite): Update to 3.30.1. --- gnu/packages/sqlite.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index 1a064197b8..d7eb132584 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm @@ -46,7 +46,7 @@ (define-public sqlite (package (name "sqlite") - (version "3.28.0") + (version "3.30.1") (source (origin (method url-fetch) (uri (let ((numeric-version @@ -62,7 +62,7 @@ numeric-version ".tar.gz"))) (sha256 (base32 - "1hxpi45crbqp6lacl7z611lna02k956m9bsy2bjzrbb2y23546yn")))) + "0q4f57a5995wz9c7dfiqy9zwl0kn0b900nxwinqa3llv13dm0nlc")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) (arguments -- cgit 1.4.1 From 72c7788fcf0d619fb5e99c7da0c087af8edbd6bb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 04:20:04 +0100 Subject: gnu: Tcl/Tk: Update to 8.6.10. * gnu/packages/tcl.scm (tcl, tk): Update to 8.6.10. --- gnu/packages/tcl.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 31f9ae848e..7531c1ca9d 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -43,14 +43,14 @@ (define-public tcl (package (name "tcl") - (version "8.6.9") + (version "8.6.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/tcl/Tcl/" version "/tcl" version "-src.tar.gz")) (sha256 (base32 - "0kjzj7mkzfnb7ksxanbibibfpciyvsh5ffdlhs0bmfc75kgd435d")))) + "1vc7imilx6kcb5319r7hnrp4jn5pqb41an3vr3azhgcfcgvdp5ji")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -145,7 +145,7 @@ X11 GUIs.") (define-public tk (package (name "tk") - (version "8.6.9.1") + (version "8.6.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/tcl/Tcl/" @@ -153,7 +153,7 @@ X11 GUIs.") version "-src.tar.gz")) (sha256 (base32 - "1d7bfkxpacy33w5nahf73lkwxqpff44w1jplg7i2gmwgiaawvjwg")) + "11p3ycqbr5116vpaxv6fl6md6gcav1ffspgr8wrlc2lxhn543pv3")) (patches (search-patches "tk-find-library.patch")))) (build-system gnu-build-system) (arguments -- cgit 1.4.1 From 717867a6efba935b026d4178aeee232bdbee0102 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 04:41:12 +0100 Subject: gnu: findutils: Update to 4.7.0. * gnu/packages/patches/findutils-gnulib-libio.patch, gnu/packages/patches/findutils-makedev.patch, gnu/packages/patches/findutils-test-xargs.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/base.scm (findutils): Update to 4.7.0. [source](uri): Adjust for file name change. [source](snippet): Remove. [source](patches): Remove obsolete. [arguments]: Remove obsolete workaround. Add phase to patch tests. * gnu/packages/commencement.scm (findutils-boot0)[arguments]: Allow 32-bit time_t on 64-bit systems. --- gnu/local.mk | 3 - gnu/packages/base.scm | 38 +++----- gnu/packages/commencement.scm | 10 +- gnu/packages/patches/findutils-gnulib-libio.patch | 114 ---------------------- gnu/packages/patches/findutils-makedev.patch | 22 ----- gnu/packages/patches/findutils-test-xargs.patch | 22 ----- 6 files changed, 22 insertions(+), 187 deletions(-) delete mode 100644 gnu/packages/patches/findutils-gnulib-libio.patch delete mode 100644 gnu/packages/patches/findutils-makedev.patch delete mode 100644 gnu/packages/patches/findutils-test-xargs.patch diff --git a/gnu/local.mk b/gnu/local.mk index f13d8f3645..0c0f5651a9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -833,10 +833,7 @@ 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/file-CVE-2019-18218.patch \ - %D%/packages/patches/findutils-gnulib-libio.patch \ %D%/packages/patches/findutils-localstatedir.patch \ - %D%/packages/patches/findutils-makedev.patch \ - %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index caaa04258c..a336f5e6d0 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -253,40 +253,28 @@ interactive means to merge two files.") (define-public findutils (package (name "findutils") - (version "4.6.0") + (version "4.7.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/findutils/findutils-" - version ".tar.gz")) + version ".tar.xz")) (sha256 (base32 - "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) - (patches (search-patches - "findutils-gnulib-libio.patch" - "findutils-localstatedir.patch" - "findutils-makedev.patch" - "findutils-test-xargs.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; The gnulib test-lock test is prone to writer starvation - ;; with our glibc@2.25, which prefers readers, so disable it. - ;; The gnulib commit b20e8afb0b2 should fix this once - ;; incorporated here. - (substitute* "tests/Makefile.in" - (("test-lock\\$\\(EXEEXT\\) ") "")) - #t)))) + "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5")) + (patches (search-patches "findutils-localstatedir.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list ;; Tell 'updatedb' to write to /var. - "--localstatedir=/var" - - ;; Work around cross-compilation failure. See - ;; . - ,@(if (%current-target-system) - '("gl_cv_func_wcwidth_works=yes") - '())))) + "--localstatedir=/var") + #:phases (modify-phases %standard-phases + (add-before 'check 'adjust-test-shebangs + (lambda _ + (substitute* '("tests/xargs/verbose-quote.sh" + "tests/find/exec-plus-last-file.sh") + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + #t))))) (synopsis "Operating on files matching given criteria") (description "Findutils supplies the basic file directory searching utilities of the diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8bf7704598..90cd001ba2 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1450,7 +1450,15 @@ exec " gcc "/bin/" program (arguments `(#:implicit-inputs? #f #:guile ,%bootstrap-guile - ,@(package-arguments findutils))))) + + ;; The build system assumes we have done a mistake when time_t is 32-bit + ;; on a 64-bit system. Ignore that for our bootstrap toolchain. + ,@(if (target-64bit?) + (substitute-keyword-arguments (package-arguments findutils) + ((#:configure-flags flags ''()) + `(cons "TIME_T_32_BIT_OK=yes" + ,flags))) + (package-arguments findutils)))))) (define file-boot0 (package diff --git a/gnu/packages/patches/findutils-gnulib-libio.patch b/gnu/packages/patches/findutils-gnulib-libio.patch deleted file mode 100644 index 79f9fd914d..0000000000 --- a/gnu/packages/patches/findutils-gnulib-libio.patch +++ /dev/null @@ -1,114 +0,0 @@ -Adjust to removal of libio interface in glibc 2.28. - -Based on this gnulib commit: -https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827c0bc5e0ec67af23edef4f15cee8e - -diff --git a/gl/lib/fflush.c b/gl/lib/fflush.c -index 5ae3e41..7a82470 100644 ---- a/gl/lib/fflush.c -+++ b/gl/lib/fflush.c -@@ -33,7 +33,7 @@ - #undef fflush - - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ - static void -@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) - - #endif - --#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) -+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) - - # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) - if (stream == NULL || ! freading (stream)) - return fflush (stream); - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - clear_ungetc_buffer_preserving_position (stream); - -diff --git a/gl/lib/fpurge.c b/gl/lib/fpurge.c -index f313b22..ecdf82d 100644 ---- a/gl/lib/fpurge.c -+++ b/gl/lib/fpurge.c -@@ -62,7 +62,7 @@ fpurge (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_IO_read_end = fp->_IO_read_ptr; - fp->_IO_write_ptr = fp->_IO_write_base; - /* Avoid memory leak when there is an active ungetc buffer. */ -diff --git a/gl/lib/freadahead.c b/gl/lib/freadahead.c -index 094daab..3f8101e 100644 ---- a/gl/lib/freadahead.c -+++ b/gl/lib/freadahead.c -@@ -25,7 +25,7 @@ - size_t - freadahead (FILE *fp) - { --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - return 0; - return (fp->_IO_read_end - fp->_IO_read_ptr) -diff --git a/gl/lib/freading.c b/gl/lib/freading.c -index 0512b19..8c48fe4 100644 ---- a/gl/lib/freading.c -+++ b/gl/lib/freading.c -@@ -31,7 +31,7 @@ freading (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return ((fp->_flags & _IO_NO_WRITES) != 0 - || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 - && fp->_IO_read_base != NULL)); -diff --git a/gl/lib/fseeko.c b/gl/lib/fseeko.c -index 1c65d2a..9026408 100644 ---- a/gl/lib/fseeko.c -+++ b/gl/lib/fseeko.c -@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence) - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence) - return -1; - } - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ -diff --git a/gl/lib/stdio-impl.h b/gl/lib/stdio-impl.h -index 502d891..ea38ee2 100644 ---- a/gl/lib/stdio-impl.h -+++ b/gl/lib/stdio-impl.h -@@ -18,6 +18,12 @@ - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - -+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this -+ problem by defining it ourselves. FIXME: Do not rely on glibc -+ internals. */ -+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN -+# define _IO_IN_BACKUP 0x100 -+#endif - - /* BSD stdio derived implementations. */ - diff --git a/gnu/packages/patches/findutils-makedev.patch b/gnu/packages/patches/findutils-makedev.patch deleted file mode 100644 index 2f16c625d8..0000000000 --- a/gnu/packages/patches/findutils-makedev.patch +++ /dev/null @@ -1,22 +0,0 @@ -Include for "makedev". - -Taken from this gnulib commit: -https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4da63c5881f60f71999a943612da9112232b9161 - -diff --git a/gl/lib/mountlist.c b/gl/lib/mountlist.c -index bb4e4ee21..cf4020e2a 100644 ---- a/gl/lib/mountlist.c -+++ b/gl/lib/mountlist.c -@@ -37,6 +37,12 @@ - # include - #endif - -+#if MAJOR_IN_MKDEV -+# include -+#elif MAJOR_IN_SYSMACROS -+# include -+#endif -+ - #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */ - # if HAVE_SYS_UCRED_H - # include /* needed on OSF V4.0 for definition of NGROUPS, diff --git a/gnu/packages/patches/findutils-test-xargs.patch b/gnu/packages/patches/findutils-test-xargs.patch deleted file mode 100644 index 10c7bed28d..0000000000 --- a/gnu/packages/patches/findutils-test-xargs.patch +++ /dev/null @@ -1,22 +0,0 @@ -This test relies on 'xargs' being available in $PATH, which is not -the case when we build the initial Findutils doing bootstrapping. -Reported at . - ---- findutils-4.6.0/find/testsuite/sv-34976-execdir-fd-leak.sh 2015-12-31 19:37:59.401526288 +0100 -+++ findutils-4.6.0/find/testsuite/sv-34976-execdir-fd-leak.sh 2015-12-31 19:38:36.061770693 +0100 -@@ -50,13 +50,14 @@ die() { - # Create test files, each 98 in the directories ".", "one" and "two". - make_test_data() { - d="$1" -+ xargs="`cd ../../xargs; pwd -P`/xargs" - ( - cd "$1" || exit 1 - mkdir one two || exit 1 - for i in ${three_to_hundred} ; do - printf "./%03d one/%03d two/%03d " $i $i $i - done \ -- | xargs touch || exit 1 -+ | "$xargs" touch || exit 1 - ) \ - || die "failed to set up the test in ${outdir}" - } -- cgit 1.4.1 From 3efc744f946d1756c1610169a4e7fc8698161aab Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:08:59 +0100 Subject: gnu: libtasn1: Update to 4.15.0. * gnu/packages/tls.scm (libtasn1): Update to 4.15.0. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 7e1bf832ba..ee7c39baab 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -71,7 +71,7 @@ (define-public libtasn1 (package (name "libtasn1") - (version "4.14") + (version "4.15.0") (source (origin (method url-fetch) @@ -79,7 +79,7 @@ version ".tar.gz")) (sha256 (base32 - "025sqnlzji78ss2fi78dajc0v0h5fi02wp39hws41sn8qnjlnq4y")))) + "17kkh89zfnwszw657fj13y2gamzay33lsrfazgm4sc7mx2gm0xyx")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static"))) -- cgit 1.4.1 From 355ab32eed66a011187a6444d18460f6814b2e27 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:10:01 +0100 Subject: gnu: GnuTLS: Update to 3.6.11.1. * gnu/packages/tls.scm (gnutls): Update to 3.6.11.1. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index ee7c39baab..0d764b63ee 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -163,7 +163,7 @@ living in the same process.") (define-public gnutls (package (name "gnutls") - (version "3.6.9") + (version "3.6.11.1") (source (origin (method url-fetch) (uri @@ -175,7 +175,7 @@ living in the same process.") (patches (search-patches "gnutls-skip-trust-store-test.patch")) (sha256 (base32 - "1jqz5s3lv8sa53348cfi9nr5pw5l55n8m40b8msdvv0pb2jzqca3")))) + "1y1wadpsrj5ai603xv5bgssl9v0pb1si2hg14zqdnmcsvgri5fpv")))) (build-system gnu-build-system) (arguments `(; Ensure we don't keep a reference to this buggy software. -- cgit 1.4.1 From 857d443494740a04a4c1a90f9be23d955f54a7a6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:10:55 +0100 Subject: gnu: openldap: Update to 2.4.48. * gnu/packages/openldap.scm (openldap): Update to 2.4.48. --- gnu/packages/openldap.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 8316a593e6..ec528787ca 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -59,7 +59,7 @@ (define-public openldap (package (name "openldap") - (version "2.4.47") + (version "2.4.48") (source (origin (method url-fetch) @@ -76,7 +76,7 @@ "openldap-release/openldap-" version ".tgz"))) (sha256 (base32 - "02sj0p1pq12hqq29b22m3f5zs2rykgvc0q3wlynxjcsjhrvmhk7m")))) + "0k87qra4kirb6xgja4q1jyw6piwb9v8b8g6gkxq4plawmgy3ylnr")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb-5.3) ("cyrus-sasl" ,cyrus-sasl) -- cgit 1.4.1 From a4de5cfd2f75f19d751a2f37d758b500bfd19a7e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:13:03 +0100 Subject: gnu: Remove cmake/fixed. * gnu/packages/cmake.scm (cmake/fixed): Remove variable. (cmake-minimal)[source](patches): Add "cmake-curl-certificates.patch". --- gnu/packages/cmake.scm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 5c9b9810c8..135863f6c2 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -75,7 +75,8 @@ "cmliblzma" ;; "cmlibuv" "cmzlib")) - #t))))) + #t))) + (patches (search-patches "cmake-curl-certificates.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -209,18 +210,6 @@ and workspaces that can be used in the compiler environment of your choice.") (outputs '("out" "doc")) (properties (alist-delete 'hidden? (package-properties cmake-minimal))))) -(define-public cmake/fixed - ;; This is a variant of CMake that fixes X.509 certificate lookup: - ;; . - (package - (inherit cmake) - (version (string-append (package-version cmake) "-1")) - (source (origin - (inherit (package-source cmake)) - (patches - (append (search-patches "cmake-curl-certificates.patch") - (origin-patches (package-source cmake)))))))) - (define-public cmake-minimal-cross (package (inherit cmake-minimal) -- cgit 1.4.1 From 47c4c1fe236ee9318838492c95dabc65648eb0ed Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:14:06 +0100 Subject: gnu: CMake: Update to 3.16.0. * gnu/packages/cmake.scm (cmake-minimal): Update to 3.16.0. [arguments]: Adjust for renamed file. Disable test RunCMake.install. * gnu/packages/patches/cmake-curl-certificates.patch: Adjust context. --- gnu/packages/cmake.scm | 24 +++++----------------- gnu/packages/patches/cmake-curl-certificates.patch | 10 ++++----- 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 135863f6c2..806a7396e9 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -51,7 +51,7 @@ (define-public cmake-minimal (package (name "cmake-minimal") - (version "3.15.1") + (version "3.16.0") (source (origin (method url-fetch) (uri (string-append "https://www.cmake.org/files/v" @@ -59,7 +59,7 @@ "/cmake-" version ".tar.gz")) (sha256 (base32 - "1xyprly3sf4wi0n1x79k4n22yxm6pb7fv70gqr9lvc7qv14cbphq")) + "0pwcgvk75577rdizpzjrk2n43a6l7rvfhmhn7sd6xarwqrb6b9bd")) (modules '((guix build utils))) (snippet '(begin @@ -101,6 +101,8 @@ (let ((skipped-tests (list "BundleUtilities" ; This test fails on Guix. "CTestTestSubdir" ; This test fails to build 2 of the 3 tests. + ;; This test requires 'ldconfig' which is not available in Guix. + "RunCMake.install" ;; These tests requires network access. "CTestCoverageCollectGCOV" "CTestTestUpload"))) @@ -125,7 +127,7 @@ ;; files. (substitute* '("Modules/CompilerId/Xcode-3.pbxproj.in" - "Modules/CPack.RuntimeScript.in" + "Modules/Internal/CPack/CPack.RuntimeScript.in" "Source/cmGlobalXCodeGenerator.cxx" "Source/cmLocalUnixMakefileGenerator3.cxx" "Source/cmExecProgramCommand.cxx" @@ -218,22 +220,6 @@ and workspaces that can be used in the compiler environment of your choice.") (search-paths (package-native-search-paths cmake-minimal)))) -(define-public cmake-3.15.5 - ;; CMake 3.15.5 fixes some issues, but declare another version to - ;; avoid triggering the rebuild of all CMake-based packages. - ;; See . - (package - (inherit cmake) - (version "3.15.5") - (source (origin - (inherit (package-source cmake)) - (uri (string-append "https://www.cmake.org/files/v" - (version-major+minor version) - "/cmake-" version ".tar.gz")) - (sha256 - (base32 - "1d5y8d92axcc6rfqlsxamayfs3fc1vdby91hn5mx1kn02ppprpgv")))))) - (define-public emacs-cmake-mode (package (inherit cmake) diff --git a/gnu/packages/patches/cmake-curl-certificates.patch b/gnu/packages/patches/cmake-curl-certificates.patch index 36252083f8..7fe2615271 100644 --- a/gnu/packages/patches/cmake-curl-certificates.patch +++ b/gnu/packages/patches/cmake-curl-certificates.patch @@ -6,19 +6,19 @@ as well as /etc/ssl/certs. --- cmake-3.13.1/Source/cmCurl.cxx 2019-09-10 17:27:36.926907260 +0200 +++ cmake-3.13.1/Source/cmCurl.cxx 2019-09-10 17:52:35.475903919 +0200 -@@ -4,11 +4,8 @@ - - #include "cmThirdParty.h" +@@ -2,11 +2,8 @@ + file Copyright.txt or https://cmake.org/licensing for details. */ + #include "cmCurl.h" -#if !defined(CMAKE_USE_SYSTEM_CURL) && !defined(_WIN32) && \ - !defined(__APPLE__) && !defined(CURL_CA_BUNDLE) && !defined(CURL_CA_PATH) # define CMAKE_FIND_CAFILE # include "cmSystemTools.h" -#endif + #include "cmStringAlgorithms.h" // curl versions before 7.21.5 did not provide this error code - #if defined(LIBCURL_VERSION_NUM) && LIBCURL_VERSION_NUM < 0x071505 -@@ -29,6 +26,19 @@ std::string cmCurlSetCAInfo(::CURL* curl +@@ -30,6 +27,19 @@ ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, cafile); check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: "); } -- cgit 1.4.1 From 8b2c4eb5020eff458690f600351b56ed97465db1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:15:26 +0100 Subject: gnu: swig: Update to 4.0.1. * gnu/packages/patches/swig-guile-gc.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/swig.scm (swig): Update to 4.0.1. [source](patches): Remove. [arguments]: Remove 'set-env' phase. [inputs]: Change GUILE-2.0 to GUILE-2.2. --- gnu/local.mk | 1 - gnu/packages/patches/swig-guile-gc.patch | 76 -------------------------------- gnu/packages/swig.scm | 10 +---- 3 files changed, 2 insertions(+), 85 deletions(-) delete mode 100644 gnu/packages/patches/swig-guile-gc.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0c0f5651a9..122e23f68a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1370,7 +1370,6 @@ dist_patch_DATA = \ %D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/supertux-unbundle-squirrel.patch \ - %D%/packages/patches/swig-guile-gc.patch \ %D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-format-security.patch \ %D%/packages/patches/symmetrica-bruch.patch \ diff --git a/gnu/packages/patches/swig-guile-gc.patch b/gnu/packages/patches/swig-guile-gc.patch deleted file mode 100644 index 0e745a6247..0000000000 --- a/gnu/packages/patches/swig-guile-gc.patch +++ /dev/null @@ -1,76 +0,0 @@ -Fix garbage collection for Guile versions >= 2.0.12. This issue showed -up when running the tests on i686-linux. - -Taken from this upstream commit: -https://github.com/swig/swig/commit/38f2ab0c30e369e63bbd0a6152108488d0de68e1 - -diff --git a/Lib/guile/guile_scm_run.swg b/Lib/guile/guile_scm_run.swg -index 274f197158..0d04cb7c62 100644 ---- a/Lib/guile/guile_scm_run.swg -+++ b/Lib/guile/guile_scm_run.swg -@@ -99,6 +99,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *len) { - static int swig_initialized = 0; - static scm_t_bits swig_tag = 0; - static scm_t_bits swig_collectable_tag = 0; -+static scm_t_bits swig_finalized_tag = 0; - static scm_t_bits swig_destroyed_tag = 0; - static scm_t_bits swig_member_function_tag = 0; - static SCM swig_make_func = SCM_EOL; -@@ -163,7 +164,19 @@ SWIG_Guile_PointerType(SCM object) - } - else scm_wrong_type_arg("SWIG-Guile-PointerType", 1, object); - } -- -+ -+SWIGINTERN int -+SWIG_Guile_IsValidSmob(SCM smob) -+{ -+ /* We do not accept smobs representing destroyed pointers, but we have to -+ allow finalized smobs because Guile >= 2.0.12 sets all smob instances -+ to the 'finalized' type before calling their 'free' function. This change -+ was introduced to Guile in commit 8dff3af087c6eaa83ae0d72aa8b22aef5c65d65d */ -+ return SCM_SMOB_PREDICATE(swig_tag, smob) -+ || SCM_SMOB_PREDICATE(swig_collectable_tag, smob) -+ || SCM_SMOB_PREDICATE(swig_finalized_tag, smob); -+} -+ - SWIGINTERN int - SWIG_Guile_ConvertPtr(SCM s, void **result, swig_type_info *type, int flags) - { -@@ -179,8 +192,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **result, swig_type_info *type, int flags) - *result = SCM_POINTER_VALUE(s); - return SWIG_OK; - #endif /* if SCM_MAJOR_VERSION >= 2 */ -- } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) { -- /* we do not accept smobs representing destroyed pointers */ -+ } else if (SWIG_Guile_IsValidSmob(smob)) { - from = (swig_type_info *) SCM_CELL_WORD_2(smob); - if (!from) return SWIG_ERROR; - if (type) { -@@ -239,7 +251,7 @@ SWIG_Guile_MarkPointerNoncollectable(SCM s) - { - SCM smob = SWIG_Guile_GetSmob(s); - if (!SCM_NULLP(smob)) { -- if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) { -+ if (SWIG_Guile_IsValidSmob(smob)) { - SCM_SET_CELL_TYPE(smob, swig_tag); - } - else scm_wrong_type_arg(NULL, 0, s); -@@ -252,7 +264,7 @@ SWIG_Guile_MarkPointerDestroyed(SCM s) - { - SCM smob = SWIG_Guile_GetSmob(s); - if (!SCM_NULLP(smob)) { -- if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) { -+ if (SWIG_Guile_IsValidSmob(smob)) { - SCM_SET_CELL_TYPE(smob, swig_destroyed_tag); - } - else scm_wrong_type_arg(NULL, 0, s); -@@ -419,6 +431,8 @@ SWIG_Guile_Init () - scm_set_smob_print(swig_collectable_tag, print_collectable_swig); - scm_set_smob_equalp(swig_collectable_tag, equalp_swig); - scm_set_smob_free(swig_collectable_tag, free_swig); -+ /* For Guile >= 2.0.12. See libguile/smob.c:clear_smobnum */ -+ swig_finalized_tag = swig_collectable_tag & ~0xff00; - } - if (ensure_smob_tag(swig_module, &swig_destroyed_tag, - "destroyed-swig-pointer", "destroyed-swig-pointer-tag")) { diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index 655c1a19ab..df49428964 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -34,25 +34,19 @@ (define-public swig (package (name "swig") - (version "3.0.12") + (version "4.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version "/" name "-" version ".tar.gz")) - (patches (search-patches "swig-guile-gc.patch")) (sha256 (base32 - "0kf99ygrjs5616gsqhz1l7bib3a12izmxi7g48bwblbymr3z9ybw")))) + "1ac7g0gd8ndwv3ybqn5vjgqxa7090bby4db164a7mn9ssp8b803s")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'set-env - ;; Required since Perl 5.26.0's removal of the current - ;; working directory from @INC. - ;; TODO Try removing this for later versions of SWIG. - (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t)) (add-before 'configure 'workaround-gcc-bug (lambda _ ;; XXX: Don't add the -isystem flag, or GCCs #include_next -- cgit 1.4.1 From 33c1c4c95fc8311606f1d513a06bc365607d4f6c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:19:20 +0100 Subject: gnu: doxygen: Update to 1.8.16. * gnu/packages/documentation.scm (doxygen): Update to 1.8.16. [arguments]: Add phase 'remove-git-requirement'. * gnu/packages/patches/doxygen-test.patch: Adjust for upstream changes. --- gnu/packages/documentation.scm | 11 ++++++++-- gnu/packages/patches/doxygen-test.patch | 38 ++++++++++++++++++++++++++------- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index eda8ca3368..c512a9803b 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -125,7 +125,7 @@ markup) can be customized and extended by the user.") (define-public doxygen (package (name "doxygen") - (version "1.8.15") + (version "1.8.16") (home-page "http://www.doxygen.nl/") (source (origin (method url-fetch) @@ -136,7 +136,7 @@ markup) can be customized and extended by the user.") ".src.tar.gz"))) (sha256 (base32 - "0p94b4yb6bk2dxzs5kyl82xxgq2qakgbx5yy3ssbbadncb20x75x")) + "10iwv8bcz5b5cd85gg8pgn0bmyg04n9hs36xn7ggjjnvynv1z67z")) (patches (search-patches "doxygen-test.patch")))) (build-system cmake-build-system) (native-inputs @@ -157,6 +157,13 @@ markup) can be customized and extended by the user.") '()) #:test-target "tests" #:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-git-requirement + (lambda _ + ;; TODO: Remove this for > 1.8.16. + (substitute* "cmake/git_watcher.cmake" + (("Git QUIET REQUIRED") + "Git QUIET")) + #t)) (add-before 'configure 'patch-sh (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/portable.cpp" diff --git a/gnu/packages/patches/doxygen-test.patch b/gnu/packages/patches/doxygen-test.patch index 8ccb9ec3c4..a2da54a3fa 100644 --- a/gnu/packages/patches/doxygen-test.patch +++ b/gnu/packages/patches/doxygen-test.patch @@ -5,19 +5,40 @@ test. diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012/citelist.xml --- doxygen-1.8.7.orig/testing/012/citelist.xml 2014-04-24 23:43:34.000000000 +0200 +++ doxygen-1.8.7/testing/012/citelist.xml 2014-04-24 23:49:43.000000000 +0200 -@@ -6,17 +6,6 @@ +@@ -6,38 +6,6 @@ - - - -- [1] +- [1] +- +- +- P.Belotti. Disjunctive cuts for non-convex MINLP. In Lee and Leyffer [4], pages 117144. +- +- +- +- [2] +- +- +- T.Berthold, S.Heinz, and S.Vigerske. Extending a CIP framework to solve MIQCPs. In Lee and Leyffer [4], pages 427444. +- +- +- +- [3] - - - DonaldE. Knuth. Tex and Metafont, New Directions in Typesetting. American Mathematical Society and Digital Press, Stanford, 1979. - - +- +- [4] +- +- +- Jon Lee and Sven Leyffer, editors. Mixed Integer Nonlinear Programming, volume 154 of The IMA Volumes in Mathematics and its Applications. Springer, 2012. +- +- - - @@ -26,13 +47,14 @@ diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012 diff -u -r doxygen-1.8.7.orig/testing/012/indexpage.xml doxygen-1.8.7/testing/012/indexpage.xml --- doxygen-1.8.7.orig/testing/012/indexpage.xml 2014-04-24 23:43:34.000000000 +0200 +++ doxygen-1.8.7/testing/012/indexpage.xml 2014-04-24 23:44:05.000000000 +0200 -@@ -4,7 +4,7 @@ - index - My Project +@@ -6,8 +6,8 @@ + + -- See [1] for more info. -+ See knuth79 for more info. +- See [3] for more info. +- Oter references with crosreference see [1] and [2] for more info. ++ See knuth79 for more info. ++ Oter references with crosreference see Be09 and BertholdHeinzVigerske2009 for more info. - -- cgit 1.4.1 From 63a572cbd390ff015646eaa669ec6687f5eef9f2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:20:32 +0100 Subject: gnu: meson: Update to 0.52.1. * gnu/packages/build-tools.scm (meson): Update to 0.52.1. --- gnu/packages/build-tools.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index a82b867282..4e65978d99 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -168,7 +168,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") - (version "0.50.1") + (version "0.52.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -176,7 +176,7 @@ files and generates build instructions for the Ninja build system.") version ".tar.gz")) (sha256 (base32 - "1k2fw5qk4mqjcb4j5dhp8xfn0caqphb11yh8zkw7v9w01kb5d3zn")))) + "0df0iw94cx6jiqd0liw8ax1by3dqaw6fdqrxgr9sal4rwir789qc")))) (build-system python-build-system) (arguments `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH -- cgit 1.4.1 From 600037b3752f1c8f0da38a89c1c3561f23d7ce27 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:21:36 +0100 Subject: gnu: libspiro: Update to 20190731. * gnu/packages/fontutils.scm (libspiro): Update to 20190731. [source](uri): Adjust file name. --- gnu/packages/fontutils.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 7a88ad9a12..2254b3509a 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -525,15 +525,15 @@ using the above tables.") (define-public libspiro (package (name "libspiro") - (version "0.5.20150702") + (version "20190731") (source (origin (method url-fetch) (uri (string-append "https://github.com/fontforge/libspiro/releases" - "/download/" version "/libspiro-dist-" version ".tar.gz")) + "/download/" version "/libspiro-" version ".tar.gz")) (sha256 (base32 - "153ckwj6h3wwlsgcppzqj8cymv1927hi8ar8fzpchq5q89cj2kai")))) + "0m63x97b7aciviijprvy85gm03p2jsgslxn323zl9zn7qz6d3ir4")))) (build-system gnu-build-system) (synopsis "Clothoid to bezier conversion library") (description -- cgit 1.4.1 From 066398768de6d0ed833970832bc5e5f88677416e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:22:12 +0100 Subject: gnu: libspiro: Do not build static libraries. * gnu/packages/fontutils.scm (libspiro)[arguments]: New field. --- gnu/packages/fontutils.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 2254b3509a..97d4cae872 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -535,6 +535,8 @@ using the above tables.") (base32 "0m63x97b7aciviijprvy85gm03p2jsgslxn323zl9zn7qz6d3ir4")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (synopsis "Clothoid to bezier conversion library") (description "Raph Levien's Spiro package as a library. A mechanism for drawing -- cgit 1.4.1 From badcb119c57fe1a6fc617d2f4a237c1192305584 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 2 Dec 2019 22:42:44 +0100 Subject: gnu: libxslt: Update to 1.1.34. * gnu/packages/xml.scm (libxslt): Update to 1.1.34. [arguments]: Add phase to disable fuzz tests. * gnu/packages/patches/libxslt-generated-ids.patch: Adjust for upstream changes. --- gnu/packages/patches/libxslt-generated-ids.patch | 6 +++--- gnu/packages/xml.scm | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gnu/packages/patches/libxslt-generated-ids.patch b/gnu/packages/patches/libxslt-generated-ids.patch index 4273875c7c..1cd2363d6a 100644 --- a/gnu/packages/patches/libxslt-generated-ids.patch +++ b/gnu/packages/patches/libxslt-generated-ids.patch @@ -162,10 +162,10 @@ diff --git a/libxslt/xsltInternals.h b/libxslt/xsltInternals.h index 95e8fe6..8eedae4 100644 --- a/libxslt/xsltInternals.h +++ b/libxslt/xsltInternals.h -@@ -1786,6 +1786,8 @@ struct _xsltTransformContext { - int funcLevel; /* Needed to catch recursive functions issues */ - int maxTemplateDepth; +@@ -1782,6 +1782,8 @@ struct _xsltTransformContext { int maxTemplateVars; + unsigned long opLimit; + unsigned long opCount; + + unsigned long nextid;/* for generating stable ids */ }; diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index d1376a5bee..84066ff5d1 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -212,16 +212,26 @@ project (but it is usable outside of the Gnome platform).") (define-public libxslt (package (name "libxslt") - (version "1.1.33") + (version "1.1.34") (source (origin (method url-fetch) (uri (string-append "ftp://xmlsoft.org/libxslt/libxslt-" version ".tar.gz")) (sha256 (base32 - "1j1q1swnsy8jgi9x7mclvkrqhfgn09886gdlr9wzk7a08i8n0dlf")) + "0zrzz6kjdyavspzik6fbkpvfpbd25r2qg6py5nnjaabrsr3bvccq")) (patches (search-patches "libxslt-generated-ids.patch")))) (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-fuzz-tests + (lambda _ + ;; Disable libFuzzer tests, because they require + ;; instrumentation builds of libxml2 and libxslt. + (substitute* "tests/Makefile" + (("exslt plugins fuzz") + "exslt plugins")) + #t))))) (home-page "http://xmlsoft.org/XSLT/index.html") (synopsis "C library for applying XSLT stylesheets to XML documents") (inputs `(("libgcrypt" ,libgcrypt) -- cgit 1.4.1 From 7a039449aa0e9d523df5e69d84c0ea257ef911dd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:50:20 +0100 Subject: gnu: python-fonttools: Update to 4.2.0. * gnu/packages/python-xyz.scm (python-fonttools): Update to 4.2.0. (python2-fonttools): Stay on 3.38.0. --- gnu/packages/python-xyz.scm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9dd97a61bd..01bb565027 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6803,13 +6803,13 @@ add functionality and customization to your projects with their own plugins.") (define-public python-fonttools (package (name "python-fonttools") - (version "3.38.0") + (version "4.2.0") (source (origin (method url-fetch) (uri (pypi-uri "fonttools" version ".zip")) (sha256 (base32 - "12ripk3s7skgxr1bs9r8n13r94ym3s8iir7ivfixls9fa4dabmlh")))) + "0psy6z52jn49wp93s3k7kj0jzji1cad3wnwgm6c26vphv5appk4v")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip) @@ -6825,8 +6825,18 @@ also contains a tool called “TTX” which converts TrueType/OpenType fonts to from an XML-based format.") (license license:expat))) +;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here. (define-public python2-fonttools - (package-with-python2 python-fonttools)) + (let ((base (package-with-python2 (strip-python2-variant python-fonttools)))) + (package/inherit + base + (version "3.38.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "fonttools" version ".zip")) + (sha256 + (base32 + "12ripk3s7skgxr1bs9r8n13r94ym3s8iir7ivfixls9fa4dabmlh"))))))) (define-public python-ly (package -- cgit 1.4.1 From 8057faf0943f605a071ea133f7660eccab6bff6a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:51:20 +0100 Subject: gnu: python2-fonttools: Update to 3.44.0. * gnu/packages/python-xyz.scm (python2-fonttools): Update to 3.44.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 01bb565027..a735aceff5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6830,13 +6830,13 @@ from an XML-based format.") (let ((base (package-with-python2 (strip-python2-variant python-fonttools)))) (package/inherit base - (version "3.38.0") + (version "3.44.0") (source (origin (method url-fetch) (uri (pypi-uri "fonttools" version ".zip")) (sha256 (base32 - "12ripk3s7skgxr1bs9r8n13r94ym3s8iir7ivfixls9fa4dabmlh"))))))) + "0v6399g755f2hn1ry62i5b6gdinf2fpx2966v3bxh6bjw1accb5p"))))))) (define-public python-ly (package -- cgit 1.4.1 From c10247506a12882a55490dc69b1f5d3be49f5129 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:52:58 +0100 Subject: gnu: harfbuzz: Update to 2.6.4. * gnu/packages/gtk.scm (harfbuzz): Update to 2.6.4. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 777601ed97..80a7e399b8 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -181,7 +181,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public harfbuzz (package (name "harfbuzz") - (version "2.5.3") + (version "2.6.4") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/" @@ -189,7 +189,7 @@ affine transformation (scale, rotation, shear, etc.).") version ".tar.xz")) (sha256 (base32 - "0p45xk5bblsw8lfs7y7z80b4rvda9f2hlpr28flkrfmpjz3hvl7y")))) + "04iwq13w6zkdhljmsxrzgg4fyh04qnwfn57rgrl9kmijc7cvh4wl")))) (build-system gnu-build-system) (outputs '("out" "bin")) ; 160K, only hb-view depend on cairo -- cgit 1.4.1 From c9bba9928aec988b0eaf505ae12042c1200811e9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 13:49:29 +0100 Subject: gnu: libxml2: Update to 2.9.10. * gnu/packages/xml.scm (libxml2): Update to 2.9.10. --- gnu/packages/xml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 84066ff5d1..cc21d315eb 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -117,14 +117,14 @@ hierarchical form with variable field lengths.") (define-public libxml2 (package (name "libxml2") - (version "2.9.9") + (version "2.9.10") (source (origin (method url-fetch) (uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-" version ".tar.gz")) (sha256 (base32 - "0wd881jzvqayx0ihzba29jl80k06xj9ywp16kxacdqs3064p1ywl")))) + "07xynh8hcxb2yb1fs051xrgszjvj37wnxvxgsj10rzmqzy9y3zma")))) (build-system gnu-build-system) (outputs '("out" "static")) (arguments -- cgit 1.4.1 From 326dc630941ca70c74b4e6e2b1a01f0d046890c2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 14:56:29 +0100 Subject: gexp: Unconditionally include (system base target) in 'compiled-modules'. * guix/gexp.scm (compiled-modules): Remove conditional. --- guix/gexp.scm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index a96592ac76..ffe4fc95c7 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1386,14 +1386,9 @@ TARGET, a GNU triplet." (ice-9 format) (srfi srfi-1) (srfi srfi-26) + (system base target) (system base compile)) - ;; TODO: Inline this on the next rebuild cycle. - (ungexp-splicing - (if target - (gexp ((use-modules (system base target)))) - (gexp ()))) - (define (regular? file) (not (member file '("." "..")))) -- cgit 1.4.1 From a0947e0d0765b1009637fc03d7abfd4bca627358 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:24:53 +0100 Subject: gnu: libxinerama: Do not build static libraries. * gnu/packages/xorg.scm (libxinerama)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 81e1512054..8b7aa12f9c 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4588,6 +4588,8 @@ cannot be adequately worked around on the client side of the wire.") (base32 "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs -- cgit 1.4.1 From 0e48722212e37872e5a8211811fe7381b57a235e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:25:47 +0100 Subject: gnu: libxi: Do not build static libraries. * gnu/packages/xorg.scm (libxi)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8b7aa12f9c..e1e156fd7d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4955,6 +4955,8 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "0q8hz3slga3w3ch8wp0k7ay9ilhz315qnab0w1y2x9w3cf7hv8rn")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto) ("libx11" ,libx11) -- cgit 1.4.1 From bca176c26c843ba23d5288395345e38cf28e62e4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:44:30 +0100 Subject: gnu: libdmx: Do not build static libraries. * gnu/packages/xorg.scm (libdmx)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e1e156fd7d..c01cbb2814 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1040,6 +1040,8 @@ of new capabilities and controls for text keyboards.") (base32 "0hvjfhrcym770cr0zpqajdy3cda30aiwbjzv16iafkqkbl090gr5")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("xorgproto" ,xorgproto) ("libxext" ,libxext) -- cgit 1.4.1 From 1b4e191447d841cc90eececb02097a624e0b4d80 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:45:00 +0100 Subject: gnu: libxshmfence: Do not build static libraries. * gnu/packages/xorg.scm (libxshmfence)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c01cbb2814..0fc36a4c52 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1068,6 +1068,8 @@ of new capabilities and controls for text keyboards.") (base32 "1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("xorgproto" ,xorgproto))) (home-page "https://www.x.org/") -- cgit 1.4.1 From cefa4fe7a395a51096b49107a2e13872c011e05e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:45:32 +0100 Subject: gnu: libfontenc: Do not build static libraries. * gnu/packages/xorg.scm (libfontenc)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 0fc36a4c52..5d3190c578 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1097,6 +1097,8 @@ synchronization between the X server and direct-rendering clients.") (base32 "0y90170dp8wsidr1dzza0grxr1lfh30ji3b5vkjz4j6x1n0wxz1c")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("zlib" ,zlib) ("xorgproto" ,xorgproto))) -- cgit 1.4.1 From 49a6fca11e58a3cc58c9dfe4ef6622fc78162cd9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:45:54 +0100 Subject: gnu: libxcomposite: Do not build static libraries. * gnu/packages/xorg.scm (libxcomposite)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 5d3190c578..d8930d4ce7 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1285,6 +1285,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.") (base32 "13sfcglvz87vl58hd9rszwr73z0z4nwga3c12rfh7f5s2ln8l8dk")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs ;; xcomposite.pc refers to all these. `(("xorgproto" ,xorgproto) -- cgit 1.4.1 From dce53e6bd2f844a5efdf5c67aa4f1726585c3752 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:46:14 +0100 Subject: gnu: libxdmcp: Do not build static libraries. * gnu/packages/xorg.scm (libxdmcp)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d8930d4ce7..b692429a61 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1316,6 +1316,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.") (base32 "0ab53h0rkq721ihk5hi469x500f3pgbkm1wy01yf24x5m923nli0")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libbsd" ,libbsd) ("xorgproto" ,xorgproto))) -- cgit 1.4.1 From 9fcc987d20e6b65f5351e265c029d7a996d24787 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:46:36 +0100 Subject: gnu: libxft: Do not build static libraries. * gnu/packages/xorg.scm (libxft)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b692429a61..06b2c7cb52 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1344,6 +1344,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.") (base32 "05lja9s54090xwh31r0bqms4v3pimng5xr09g2rdnafx2vk6hp12")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs ;; xft.pc refers to all these. `(("libxrender" ,libxrender) -- cgit 1.4.1 From c4fc9b13e9f3d6262e09b4f5fc34957dd6de34a7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:47:00 +0100 Subject: gnu: libxkbfile: Do not build static libraries. * gnu/packages/xorg.scm (libxkbfile)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 06b2c7cb52..3a658bdbfb 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1380,6 +1380,8 @@ configuration files.") (base32 "1irq9crvscd3yb8sr802dhvvfr35jdy1n2yz094xplmd42mbv3bm")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libx11" ,libx11))) (native-inputs -- cgit 1.4.1 From b2f626dab75a6184dbeef24031ea3315daf80ff0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:47:25 +0100 Subject: gnu: libxmu: Do not build static libraries. * gnu/packages/xorg.scm (libxmu)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3a658bdbfb..efeafbd074 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1407,6 +1407,8 @@ configuration files.") (base32 "0cdpqnx6258i4l6qhphvkdiyspysg0i5caqjy820kp63wwjk4d4w")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libxt" ,libxt) ("xorgproto" ,xorgproto) -- cgit 1.4.1 From 7f5fa7d079699afc01ead9460b2b2392f0a12af1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:47:44 +0100 Subject: gnu: libxpm: Do not build static libraries. * gnu/packages/xorg.scm (libxpm)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index efeafbd074..aa2dee6d25 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1441,6 +1441,8 @@ treat it as part of their software base when porting.") (base32 "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("gettext" ,gettext-minimal) ("libxt" ,libxt) -- cgit 1.4.1 From 795bd8487f79921e8470cd57ab52b09bb157a3fb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:48:10 +0100 Subject: gnu: libxres: Do not build static libraries. * gnu/packages/xorg.scm (libxres)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index aa2dee6d25..e169d880ea 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1471,6 +1471,8 @@ treat it as part of their software base when porting.") (base32 "1m0jr0lbz9ixpp9ihk68349q0i7ry2379lnfzdy4mrl86ijc2xgz")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("xorgproto" ,xorgproto) ("libxext" ,libxext) -- cgit 1.4.1 From c14571a711b9c813808d6b70c47fc77cd650c78d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:48:36 +0100 Subject: gnu: libxscrnsaver: Do not build static libraries. * gnu/packages/xorg.scm (libxscrnsaver)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e169d880ea..69c9603a12 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1500,6 +1500,8 @@ treat it as part of their software base when porting.") (base32 "1y4vx1vabg7j9hamp0vrfrax5b0lmgm3h0lbgbb3hnkv3dd0f5zr")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libxext" ,libxext) ("libx11" ,libx11))) -- cgit 1.4.1 From 56db9f6c605005c07c1861295cfedc6f2e6d0b57 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:49:02 +0100 Subject: gnu: libxxf86dga: Do not build static libraries. * gnu/packages/xorg.scm (libxxf86dga)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 69c9603a12..edc5716270 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1527,6 +1527,8 @@ treat it as part of their software base when porting.") (sha256 (base32 "00vjvcdlc1sga251jkxn6gkxmx9h5n290ffxxpa40qbca1gvr61b")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs -- cgit 1.4.1 From 101be25e7de2e291b0fcca3359713de0b6c7e4de Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:49:29 +0100 Subject: gnu: libxext: Do not build static libraries. * gnu/packages/xorg.scm (libxext)[arguments]: Add "--disable-static" in #:configure-flags. --- gnu/packages/xorg.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index edc5716270..d0524c7182 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4576,13 +4576,13 @@ cannot be adequately worked around on the client side of the wire.") (base32 "0azqxllcsfxc3ilhz6kwc6x7m8wc477p59ir9p0yrsldx766zbar")))) (build-system gnu-build-system) - ;; Disable zero malloc check that fails when cross-compiling. (arguments `(#:configure-flags - (list - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + (list "--disable-static" + ;; Disable zero malloc check that fails when cross-compiling. + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs -- cgit 1.4.1 From 2f9b757677fa919f801319f5aa0da5c24fb70cbf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:50:16 +0100 Subject: gnu: libxrender: Do not build static libraries. * gnu/packages/xorg.scm (libxrender)[arguments]: Add "--disable-static" in #:configure-flags. --- gnu/packages/xorg.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d0524c7182..a88e4460cd 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4670,13 +4670,13 @@ cannot be adequately worked around on the client side of the wire.") (base32 "0j89cnb06g8x79wmmnwzykgkkfdhin9j7hjpvsxwlr3fz1wmjvf0")))) (build-system gnu-build-system) - ;; Disable zero malloc check that fails when cross-compiling. (arguments `(#:configure-flags - (list - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + (list "--disable-static" + ;; Disable zero malloc check that fails when cross-compiling. + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs -- cgit 1.4.1 From 2d4d56fc690f431bb9ed0bf41fde5c00f7283963 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:50:48 +0100 Subject: gnu: libxtst: Do not build static libraries. * gnu/packages/xorg.scm (libxtst)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a88e4460cd..89d5f8d61a 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4703,6 +4703,8 @@ cannot be adequately worked around on the client side of the wire.") (base32 "012jpyj7xfm653a9jcfqbzxyywdmwb2b5wr1dwylx14f3f54jma6")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxi" ,libxi) ("xorgproto" ,xorgproto))) -- cgit 1.4.1 From 6e6c9f39e4efe9c5cedc99696a9ede95ab1115d9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:51:17 +0100 Subject: gnu: libxv: Do not build static libraries. * gnu/packages/xorg.scm (libxv)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 89d5f8d61a..3922e12922 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4742,6 +4742,8 @@ protocol and arbitrary X extension protocol.") (base32 "125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs -- cgit 1.4.1 From f6f51ab2389b6e9c44a1613ab126bb1baecda16c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:51:44 +0100 Subject: gnu: libice: Do not build static libraries. * gnu/packages/xorg.scm (libice)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3922e12922..50f82ed7da 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4856,6 +4856,8 @@ common definitions and porting layer.") (base32 "0j638yvmyna2k4mz465jywgdybgdchdqppfx6xfazg7l5khxr1kg")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs -- cgit 1.4.1 From 8e6b3856bbf397d75e2c64d1e35a7e31964288fb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:52:05 +0100 Subject: gnu: libxau: Do not build static libraries. * gnu/packages/xorg.scm (libxau)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 50f82ed7da..23024816eb 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4886,6 +4886,8 @@ common definitions and porting layer.") (base32 "1v3krc6x0zliaa66qq1bf9j60x5nqfy68v8axaiglxpnvgqcpy6c")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (native-inputs -- cgit 1.4.1 From e36506a4fe9a48c71a5c952b21abe36387cf022e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:52:26 +0100 Subject: gnu: libxfixes: Do not build static libraries. * gnu/packages/xorg.scm (libxfixes)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 23024816eb..fdb96c99c9 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4914,6 +4914,8 @@ an X Window System display.") (base32 "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs -- cgit 1.4.1 From 41d9a0927e3aed78d4120b7603e6369665484800 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:52:50 +0100 Subject: gnu: libxfont: Do not build static libraries. * gnu/packages/xorg.scm (libxfont)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index fdb96c99c9..ea07b47486 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4942,6 +4942,8 @@ an X Window System display.") (base32 "0hiji1bvpl78aj3a3141hkk353aich71wv8l5l2z51scfy878zqs")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("freetype" ,freetype) ("libfontenc" ,libfontenc) -- cgit 1.4.1 From 7711aa4024f7b52b53146851b3298882f4957f08 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:53:11 +0100 Subject: gnu: libxrandr: Do not build static libraries. * gnu/packages/xorg.scm (libxrandr)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ea07b47486..17b11c1473 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5020,6 +5020,8 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "08z0mqywrm7ij8bxlfrx0d2wy6kladdmkva1nw5k6qix82z0xsla")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs ;; In accordance with xrandr.pc. `(("libx11" ,libx11) -- cgit 1.4.1 From 97d323b4b7027dde14e451456ad01b35a2542f00 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:53:34 +0100 Subject: gnu: libxvmc: Do not build static libraries. * gnu/packages/xorg.scm (libxvmc)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 17b11c1473..41c3c20c4e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5051,6 +5051,8 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "1kbdjsvkm5l7axv7g477qj18sab2wnqhliy6197syzizgfbsfgbb")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxv" ,libxv))) (inputs -- cgit 1.4.1 From 763f805d0457be883e1315e89a88bacac1b41e0e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:53:57 +0100 Subject: gnu: libxxf86vm: Do not build static libraries. * gnu/packages/xorg.scm (libxxf86vm)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 41c3c20c4e..b0295c899f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5081,6 +5081,8 @@ new API's in libXft, or the legacy API's in libX11.") (base32 "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxext" ,libxext) ("xorgproto" ,xorgproto))) -- cgit 1.4.1 From 5498fcc438f92f86e1a597708e2d6a7c3d156a16 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:54:23 +0100 Subject: gnu: libxcb: Do not build static libraries. * gnu/packages/xorg.scm (libxcb)[arguments]: Add "--disable-static" in #:configure-flags. --- gnu/packages/xorg.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b0295c899f..83732afbb6 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5124,7 +5124,8 @@ protocol.") `(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper))) (arguments - `(#:configure-flags '("--enable-xkb"))) + `(#:configure-flags '("--enable-xkb" + "--disable-static"))) (home-page "https://xcb.freedesktop.org/") (synopsis "The X C Binding (XCB) library") (description -- cgit 1.4.1 From 526ca00af6577a11da068c810b11890c7d8d384d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:54:49 +0100 Subject: gnu: libx11: Do not build static libraries. * gnu/packages/xorg.scm (libx11)[arguments]: Add "--disable-static" in #:configure-flags. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 83732afbb6..d531363d18 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5333,6 +5333,8 @@ draggable titlebars and borders.") (list (string-append "--mandir=" (assoc-ref %outputs "doc") "/share/man") + "--disable-static" + ;; Disable zero malloc check that fails when cross-compiling. ,@(if (%current-target-system) '("--disable-malloc0returnsnull") -- cgit 1.4.1 From f1f88fc950b4324fff4ece9990f371cc565683a1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:55:17 +0100 Subject: gnu: libxcursor: Do not build static libraries. * gnu/packages/xorg.scm (libxcursor)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d531363d18..8507b0e523 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5369,6 +5369,8 @@ draggable titlebars and borders.") (base32 "10l7c9fm0jmpkm9ab9dz8r6m1pr87vvgqjnbx1psz50h4pwfklrs")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libx11" ,libx11) ("libxrender" ,libxrender) -- cgit 1.4.1 From 71a25873f2021822575211ae4ca330c5ff840d1d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:55:40 +0100 Subject: gnu: libxt: Do not build static libraries. * gnu/packages/xorg.scm (libxt)[arguments]: New field. --- gnu/packages/xorg.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8507b0e523..be62a07071 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5413,7 +5413,8 @@ draggable titlebars and borders.") (arguments '(#:configure-flags (list (string-append "--mandir=" (assoc-ref %outputs "doc") - "/share/man")))) + "/share/man") + "--disable-static"))) (propagated-inputs `(("libx11" ,libx11) ("libice" ,libice) -- cgit 1.4.1 From 9a81d1492fe4124f8458020d5f7888b2a675a770 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:55:59 +0100 Subject: gnu: libxaw: Do not build static libraries. * gnu/packages/xorg.scm (libxaw)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index be62a07071..8158a7b0bb 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5444,6 +5444,8 @@ draggable titlebars and borders.") (base32 "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxext" ,libxext) ("libxmu" ,libxmu) -- cgit 1.4.1 From 4965ca7783cbfbe5018f61cd90f922b716b698f2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:56:24 +0100 Subject: gnu: xcb-util: Do not build static libraries. * gnu/packages/xorg.scm (xcb-util)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8158a7b0bb..e764b9178d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5505,6 +5505,8 @@ keyboard focus, and user-specified key and pointer button bindings.") (base32 "1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (native-inputs -- cgit 1.4.1 From 5bf6d5597462118f2f369df48e1ad14dbf0f17a5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:56:44 +0100 Subject: gnu: xcb-util-cursor: Do not build static libraries. * gnu/packages/xorg.scm (xcb-util-cursor)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e764b9178d..11497be08b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5543,6 +5543,8 @@ The XCB util module provides the following libraries: (base32 "0krr4rcw6r42cncinzvzzdqnmxk3nrgpnadyg2h8k9x10q3hm885")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (native-inputs `(("m4" ,m4) ("pkg-config" ,pkg-config))) -- cgit 1.4.1 From 790eea5e4240ad2601ae265652098d76ca3c1605 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:57:08 +0100 Subject: gnu: xcb-util-image: Do not build static libraries. * gnu/packages/xorg.scm (xcb-util-image)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 11497be08b..17b32cb33a 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5627,6 +5627,8 @@ numbers.") (base32 "1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (inputs -- cgit 1.4.1 From 95c2ec0bb99ae9c219852e46ab332c7041bb8a40 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:57:30 +0100 Subject: gnu: xcb-util-keysyms: Do not build static libraries. * gnu/packages/xorg.scm (xcb-util-keysyms)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 17b32cb33a..5889c7343f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5663,6 +5663,8 @@ The XCB util-image module provides the following library: (base32 "1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (native-inputs -- cgit 1.4.1 From dea60654eda221c0281faffc7548300482bd6747 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:57:53 +0100 Subject: gnu: xcb-util-renderutil: Do not build static libraries. * gnu/packages/xorg.scm (xcb-util-renderutil)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 5889c7343f..5adb265b29 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5697,6 +5697,8 @@ The XCB util-keysyms module provides the following library: (base32 "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (native-inputs -- cgit 1.4.1 From f45a826f7295a1b8c48e3151918fb7c1c368e348 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 04:58:19 +0100 Subject: gnu: xcb-util-wm: Do not build static libraries. * gnu/packages/xorg.scm (xcb-util-wm)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 5adb265b29..1843283211 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5731,6 +5731,8 @@ The XCB util-renderutil module provides the following library: (base32 "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libxcb" ,libxcb))) (native-inputs -- cgit 1.4.1 From 92ab0841c09607c2e15f6b7ea0f3c2e679abd996 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 05:12:13 +0100 Subject: gnu: pixman: Do not build static libraries. * gnu/packages/xdisorg.scm (pixman)[arguments]: New field. --- gnu/packages/xdisorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index b1759eabb2..f5a55e1289 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -406,6 +406,8 @@ following the mouse.") "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns")) (patches (search-patches "pixman-CVE-2016-5296.patch")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libpng" ,libpng) ("zlib" ,zlib))) -- cgit 1.4.1 From defcbeae46366f7e5d98ef0f5d6185a571cd6405 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 05:15:08 +0100 Subject: gnu: gdbm: Do not build static libraries. * gnu/packages/dbm.scm (gdbm)[arguments]: Add "--disable-static" to #:configure-flags. --- gnu/packages/dbm.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index 84c5817a79..ea812c9715 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm @@ -138,7 +138,8 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (sha256 (base32 "1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6")))) - (arguments `(#:configure-flags '("--enable-libgdbm-compat"))) + (arguments `(#:configure-flags '("--enable-libgdbm-compat" + "--disable-static"))) (build-system gnu-build-system) (home-page "http://www.gnu.org.ua/software/gdbm") (synopsis -- cgit 1.4.1 From a114b262d5c5b0e93791a4f4f19ec4459990d40b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 05:18:03 +0100 Subject: gnu: cairo: Do not build static libraries. * gnu/packages/gtk.scm (cairo)[arguments]: Add "--disable-static" to #:configure-flags. --- gnu/packages/gtk.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 80a7e399b8..ea2b087724 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -145,7 +145,8 @@ tools have full access to view and control running applications.") ("python" ,python-wrapper))) (arguments `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html - #:configure-flags '("--enable-tee"))) ; needed for GNU Icecat + #:configure-flags '("--enable-tee" ;needed for GNU Icecat + "--disable-static"))) (synopsis "2D graphics library") (description "Cairo is a 2D graphics library with support for multiple output devices. -- cgit 1.4.1 From 9092e3e936c747932140e7a5389219ee8c4580f6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 05:20:32 +0100 Subject: gnu: dbus: Do not build static libraries. * gnu/packages/glib.scm (dbus)[arguments]: Add "--disable-static" in #:configure-flags. --- gnu/packages/glib.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index ce646febd0..eb37b9e824 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -105,6 +105,9 @@ ;; Install the session bus socket under /tmp. "--with-session-socket-dir=/tmp" + ;; Build shared libraries only. + "--disable-static" + ;; Use /etc/dbus-1 for system-wide config. ;; Look for configuration file under ;; /etc/dbus-1. This is notably required by -- cgit 1.4.1 From 785fcb62fecde1c275fd5bd5da488ef345f456d9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 23:33:09 +0100 Subject: gnu: Remove python-libxml2 workaround. * gnu/packages/xml.scm (python-libxml2)[source]: New field. (python-libxml2/fixed): Remove variable. * gnu/packages/glib.scm (itstool/fixed): Remove variable. * gnu/packages/gnome.scm (gnumeric)[native-inputs]: Replace ITSTOOL/FIXED with ITSTOOL. (yelp-tools/fixed): Remove variable. * gnu/packages/mate.scm (mate-applets, mate-utils)[native-inputs]: Replace YELP-TOOLS/FIXED with YELP-TOOLS. --- gnu/packages/glib.scm | 10 ---------- gnu/packages/gnome.scm | 13 +------------ gnu/packages/mate.scm | 4 ++-- gnu/packages/xml.scm | 17 ++++------------- 4 files changed, 7 insertions(+), 37 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index eb37b9e824..ff5206e7fd 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -540,16 +540,6 @@ information in their documents, such as whether a particular element should be translated.") (license license:gpl3+))) -(define-public itstool/fixed - ;; This variant fixes a python-libxml2 crash when processing UTF-8 - ;; sequences: . Since the issue is quite rare, - ;; create this variant here to avoid a full rebuild. - (package/inherit - itstool - (inputs - `(("python-libxml2" ,python-libxml2/fixed) - ,@(alist-delete "python-libxml2" (package-inputs itstool)))))) - (define dbus-glib (package (name "dbus-glib") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cddfd75cc0..108004434c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2388,7 +2388,7 @@ Hints specification (EWMH).") `(("bison" ,bison) ("docbook-xml" ,docbook-xml) ("intltool" ,intltool) - ("itstool" ,itstool/fixed) ;see + ("itstool" ,itstool) ("glib:bin" ,glib "bin") ("pkg-config" ,pkg-config))) (home-page "http://www.gnumeric.org") @@ -4893,17 +4893,6 @@ lifting is done by packages like yelp-xsl and itstool. This package just wraps things up in a developer-friendly way.") (license license:gpl2+))) -(define-public yelp-tools/fixed - ;; This variant fixes a python-libxml2 crash when processing UTF-8 - ;; sequences: . TODO: Remove this in - ;; the next rebuild cycle. - (hidden-package - (package/inherit - yelp-tools - (propagated-inputs - `(("itstool" ,itstool/fixed) - ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools))))))) - (define-public libgee (package (name "libgee") diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index d55d1b4461..ba90ccec73 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -565,7 +565,7 @@ assorted menu related utility programs.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("libxslt" ,libxslt) - ("yelp-tools" ,yelp-tools/fixed) + ("yelp-tools" ,yelp-tools) ("scrollkeeper" ,scrollkeeper) ("gettext" ,gettext-minimal) ("docbook-xml" ,docbook-xml) @@ -1279,7 +1279,7 @@ can be used as backgrounds in the MATE Desktop environment.") ("pkg-config" ,pkg-config) ("scrollkeeper" ,scrollkeeper) ("xorgproto" ,xorgproto) - ("yelp-tools" ,yelp-tools/fixed))) + ("yelp-tools" ,yelp-tools))) (inputs `(("atk" ,atk) ("cairo" ,cairo) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index cc21d315eb..6d1aa6f76c 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -166,9 +166,12 @@ project (but it is usable outside of the Gnome platform).") (license license:x11))) (define-public python-libxml2 - ;; TODO: Merge with 'python-libxml2/fixed' on the next rebuild cycle. (package/inherit libxml2 (name "python-libxml2") + (source (origin + (inherit (package-source libxml2)) + (patches (cons (search-patch "python-libxml2-utf8.patch") + (origin-patches (package-source libxml2)))))) (build-system python-build-system) (outputs '("out")) (arguments @@ -194,18 +197,6 @@ project (but it is usable outside of the Gnome platform).") (inputs `(("libxml2" ,libxml2))) (synopsis "Python bindings for the libxml2 library"))) -(define-public python-libxml2/fixed - ;; This variant fixes a crash when processing UTF-8 sequences: - ;; - ;; TODO: Merge with 'python-libxml2' on the next rebuild cycle. - (package/inherit - python-libxml2 - (version (string-append (package-version python-libxml2) "-1")) - (source (origin - (inherit (package-source libxml2)) - (patches (cons (search-patch "python-libxml2-utf8.patch") - (origin-patches (package-source libxml2)))))))) - (define-public python2-libxml2 (package-with-python2 python-libxml2)) -- cgit 1.4.1 From 6d8a29aaeb4e49922d2788446575c4e86e29f5f6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 23:33:42 +0100 Subject: gnu: libx11: Update to 1.6.9. * gnu/packages/xorg.scm (libx11): Update to 1.6.9. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 1843283211..cbf40459b9 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5314,7 +5314,7 @@ draggable titlebars and borders.") (define-public libx11 (package (name "libx11") - (version "1.6.8") + (version "1.6.9") (source (origin (method url-fetch) @@ -5324,7 +5324,7 @@ draggable titlebars and borders.") ".tar.bz2")) (sha256 (base32 - "1mbkwhhprhf49s2iwx7kiliprsdvd690zk44x3h53ql9q52si2dj")))) + "1ldyn9c6pyx54sxzaw120n3q42rqi7b503aqmyjky6fn038fiiww")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of man pages + XML -- cgit 1.4.1 From 223f907cd509f09a0bd6f0116499a8461c05860f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 23:34:12 +0100 Subject: gnu: xorgproto: Update to 2019.2. * gnu/packages/xorg.scm (xorgproto): Update to 2019.2. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index cbf40459b9..2e992b4b2f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -212,14 +212,14 @@ which can be read by any architecture.") (define-public xorgproto (package (name "xorgproto") - (version "2019.1") + (version "2019.2") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/proto/" "xorgproto-" version ".tar.bz2")) (sha256 (base32 - "16yll1kaffnslik5sizlw3qrigj1gpsgfgyq6903g3mwdixamnm6")))) + "13kvir8dz9dvzhvyfndpff1z7k8h14s7kkl7mbl427andhax1v26")))) (build-system gnu-build-system) (propagated-inputs ;; To get util-macros in (almost?) all package inputs. -- cgit 1.4.1 From 922ed1db45f100d55ad2d526d833eeecd539cc7b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Dec 2019 23:34:44 +0100 Subject: gnu: GLib: Ensure no references are kept to 'tzdata-for-tests'. * gnu/packages/glib.scm (glib)[arguments]: Add #:disallowed-references. --- gnu/packages/glib.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index ff5206e7fd..369bd373ac 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -202,9 +202,7 @@ shared NFS home directories.") ("perl" ,perl) ; needed by GIO tests ("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c (arguments - `(;; TODO: Uncomment on the next rebuild cycle. - ;; #:disallowed-references (,tzdata-for-tests) - + `(#:disallowed-references (,tzdata-for-tests) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-dbus-launch-path -- cgit 1.4.1 From c9d4e14ab4f8d28d72ea64e95272c6b1d63216cb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Dec 2019 00:43:00 +0100 Subject: gnu: giflib: Update to 5.2.1. * gnu/packages/patches/giflib-make-reallocarray-private.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/image.scm (giflib): Update to 5.2.1. [source](uri): Adjust for new file name. [source](patches): Remove. [inputs]: Remove, as they were already unused. [arguments]: Add #:make-flags. Adjust substitution. Delete configure phase. --- gnu/local.mk | 1 - gnu/packages/image.scm | 22 ++-- .../patches/giflib-make-reallocarray-private.patch | 120 --------------------- 3 files changed, 11 insertions(+), 132 deletions(-) delete mode 100644 gnu/packages/patches/giflib-make-reallocarray-private.patch diff --git a/gnu/local.mk b/gnu/local.mk index 122e23f68a..1654fe729b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -889,7 +889,6 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ - %D%/packages/patches/giflib-make-reallocarray-private.patch \ %D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glibc-CVE-2015-5180.patch \ %D%/packages/patches/glibc-CVE-2015-7547.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 0a2ad5a99a..9ab97fa163 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -782,31 +782,31 @@ error-resilience, a Java-viewer for j2k-images, ...") (define-public giflib (package (name "giflib") - (version "5.1.4") + (version "5.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/giflib/giflib-" - version ".tar.bz2")) + version ".tar.gz")) (sha256 (base32 - "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz")) - (patches (search-patches - "giflib-make-reallocarray-private.patch")))) + "1gbrg03z1b6rlrvjyc6d41bc8j1bsr7rm8206gb1apscyii5bnii")))) (build-system gnu-build-system) (outputs '("bin" ; utility programs "out")) ; library - (inputs `(("libx11" ,libx11) - ("libice" ,libice) - ("libsm" ,libsm) - ("perl" ,perl))) (arguments - `(#:phases + '(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out")) + (string-append "BINDIR=" + (assoc-ref %outputs "bin") "/bin")) + #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-html-doc-gen (lambda _ - (substitute* "doc/Makefile.in" + (substitute* "doc/Makefile" (("^all: allhtml manpages") "")) #t)) + (delete 'configure) (add-after 'install 'install-manpages (lambda* (#:key outputs #:allow-other-keys) (let* ((bin (assoc-ref outputs "bin")) diff --git a/gnu/packages/patches/giflib-make-reallocarray-private.patch b/gnu/packages/patches/giflib-make-reallocarray-private.patch deleted file mode 100644 index 69228c5be8..0000000000 --- a/gnu/packages/patches/giflib-make-reallocarray-private.patch +++ /dev/null @@ -1,120 +0,0 @@ -Move the declaration from gif_lib.h to gif_lib_private.h to solve -conflicts when some .c-file #includes both stdlib.h and gif_lib.h. -See also https://sourceforge.net/p/giflib/bugs/110/ - -diff -ur giflib-5.1.4.orig/lib/dgif_lib.c giflib-5.1.4/lib/dgif_lib.c ---- giflib-5.1.4.orig/lib/dgif_lib.c 2018-02-28 20:31:02.294682673 +0100 -+++ giflib-5.1.4/lib/dgif_lib.c 2018-02-28 22:38:11.659126414 +0100 -@@ -396,7 +396,7 @@ - - if (GifFile->SavedImages) { - SavedImage* new_saved_images = -- (SavedImage *)reallocarray(GifFile->SavedImages, -+ (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages, - (GifFile->ImageCount + 1), sizeof(SavedImage)); - if (new_saved_images == NULL) { - GifFile->Error = D_GIF_ERR_NOT_ENOUGH_MEM; -@@ -1108,7 +1108,7 @@ - if (ImageSize > (SIZE_MAX / sizeof(GifPixelType))) { - return GIF_ERROR; - } -- sp->RasterBits = (unsigned char *)reallocarray(NULL, ImageSize, -+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL, ImageSize, - sizeof(GifPixelType)); - - if (sp->RasterBits == NULL) { -diff -ur giflib-5.1.4.orig/lib/gifalloc.c giflib-5.1.4/lib/gifalloc.c ---- giflib-5.1.4.orig/lib/gifalloc.c 2018-02-28 20:31:02.294682673 +0100 -+++ giflib-5.1.4/lib/gifalloc.c 2018-02-28 22:38:11.657126423 +0100 -@@ -8,7 +8,7 @@ - #include - #include - --#include "gif_lib.h" -+#include "gif_lib_private.h" - - #define MAX(x, y) (((x) > (y)) ? (x) : (y)) - -@@ -188,7 +188,7 @@ - - /* perhaps we can shrink the map? */ - if (RoundUpTo < ColorUnion->ColorCount) { -- GifColorType *new_map = (GifColorType *)reallocarray(Map, -+ GifColorType *new_map = (GifColorType *)giflib_private_reallocarray(Map, - RoundUpTo, sizeof(GifColorType)); - if( new_map == NULL ) { - GifFreeMapObject(ColorUnion); -@@ -232,7 +232,7 @@ - if (*ExtensionBlocks == NULL) - *ExtensionBlocks=(ExtensionBlock *)malloc(sizeof(ExtensionBlock)); - else { -- ExtensionBlock* ep_new = (ExtensionBlock *)reallocarray -+ ExtensionBlock* ep_new = (ExtensionBlock *)giflib_private_reallocarray - (*ExtensionBlocks, (*ExtensionBlockCount + 1), - sizeof(ExtensionBlock)); - if( ep_new == NULL ) -@@ -325,7 +325,7 @@ - if (GifFile->SavedImages == NULL) - GifFile->SavedImages = (SavedImage *)malloc(sizeof(SavedImage)); - else -- GifFile->SavedImages = (SavedImage *)reallocarray(GifFile->SavedImages, -+ GifFile->SavedImages = (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages, - (GifFile->ImageCount + 1), sizeof(SavedImage)); - - if (GifFile->SavedImages == NULL) -@@ -355,7 +355,7 @@ - } - - /* next, the raster */ -- sp->RasterBits = (unsigned char *)reallocarray(NULL, -+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL, - (CopyFrom->ImageDesc.Height * - CopyFrom->ImageDesc.Width), - sizeof(GifPixelType)); -@@ -369,7 +369,7 @@ - - /* finally, the extension blocks */ - if (sp->ExtensionBlocks != NULL) { -- sp->ExtensionBlocks = (ExtensionBlock *)reallocarray(NULL, -+ sp->ExtensionBlocks = (ExtensionBlock *)giflib_private_reallocarray(NULL, - CopyFrom->ExtensionBlockCount, - sizeof(ExtensionBlock)); - if (sp->ExtensionBlocks == NULL) { -diff -ur giflib-5.1.4.orig/lib/gif_lib.h giflib-5.1.4/lib/gif_lib.h ---- giflib-5.1.4.orig/lib/gif_lib.h 2018-02-28 20:31:02.294682673 +0100 -+++ giflib-5.1.4/lib/gif_lib.h 2018-02-28 20:31:43.135716712 +0100 -@@ -244,9 +244,6 @@ - GifPixelType ColorTransIn2[]); - extern int GifBitSize(int n); - --extern void * --reallocarray(void *optr, size_t nmemb, size_t size); -- - /****************************************************************************** - Support for the in-core structures allocation (slurp mode). - ******************************************************************************/ -diff -ur giflib-5.1.4.orig/lib/gif_lib_private.h giflib-5.1.4/lib/gif_lib_private.h ---- giflib-5.1.4.orig/lib/gif_lib_private.h 2018-02-28 20:31:02.294682673 +0100 -+++ giflib-5.1.4/lib/gif_lib_private.h 2018-02-28 22:38:11.657126423 +0100 -@@ -54,6 +54,9 @@ - bool gif89; - } GifFilePrivateType; - -+extern void * -+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size); -+ - #endif /* _GIF_LIB_PRIVATE_H */ - - /* end */ -diff -ur giflib-5.1.4.orig/lib/openbsd-reallocarray.c giflib-5.1.4/lib/openbsd-reallocarray.c ---- giflib-5.1.4.orig/lib/openbsd-reallocarray.c 2018-02-28 20:31:02.295682659 +0100 -+++ giflib-5.1.4/lib/openbsd-reallocarray.c 2018-02-28 22:38:11.656126428 +0100 -@@ -27,7 +27,7 @@ - #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) - - void * --reallocarray(void *optr, size_t nmemb, size_t size) -+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size) - { - if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && - nmemb > 0 && SIZE_MAX / nmemb < size) { -- cgit 1.4.1 From a80cfbdcb96b71285aac01584aca4f9af3c6b3d1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Dec 2019 00:45:32 +0100 Subject: gnu: libuv: Update to 1.34.0. * gnu/packages/libevent.scm (libuv): Update to 1.34.0. --- gnu/packages/libevent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 465ed95eb2..b59efecbe1 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -99,14 +99,14 @@ limited support for fork events.") (define-public libuv (package (name "libuv") - (version "1.30.1") + (version "1.34.0") (source (origin (method url-fetch) (uri (string-append "https://dist.libuv.org/dist/v" version "/libuv-v" version ".tar.gz")) (sha256 (base32 - "12s7ifwgbfxblhv46inqa8c2lsnl8cgmvd37y4a4248xhkx1d0s6")))) + "0j416x38cp6gh5isn3fwv331aw6bpfmrk8xgm07rq5py47kyqg52")))) (build-system gnu-build-system) (arguments '(;; XXX: Some tests want /dev/tty, attempt to make connections, etc. -- cgit 1.4.1 From d098aa3e67b934f61758430c4740cd86d1ff234d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 30 Nov 2019 04:37:57 +0100 Subject: gnu: tcsh: Update to 6.22.02. * gnu/packages/patches/tcsh-fix-autotest.patch: Adjust for 6.22.02. * gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/shells.scm (tcsh): Update to 6.22.02. [source](patches): Remove obsolete patch. --- gnu/local.mk | 1 - gnu/packages/patches/tcsh-fix-autotest.patch | 45 ++-------------------- .../patches/tcsh-fix-out-of-bounds-read.patch | 31 --------------- gnu/packages/shells.scm | 7 ++-- 4 files changed, 6 insertions(+), 78 deletions(-) delete mode 100644 gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1654fe729b..4592e4c38a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1383,7 +1383,6 @@ dist_patch_DATA = \ %D%/packages/patches/tcc-boot-0.9.27.patch \ %D%/packages/patches/tclxml-3.2-install.patch \ %D%/packages/patches/tcsh-fix-autotest.patch \ - %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/teeworlds-use-latest-wavpack.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \ diff --git a/gnu/packages/patches/tcsh-fix-autotest.patch b/gnu/packages/patches/tcsh-fix-autotest.patch index 78444a1b2a..200867cb9b 100644 --- a/gnu/packages/patches/tcsh-fix-autotest.patch +++ b/gnu/packages/patches/tcsh-fix-autotest.patch @@ -63,38 +63,14 @@ AT_DATA([comment2.csh], [[echo testing...@%:@\ -@@ -567,10 +567,10 @@ run=3 -# Adapt to changes in sed 4.3: -# https://github.com/tcsh-org/tcsh/commit/2ad4fc1705893207598ed5cd21713ddf3f17bba0 - ]]) - AT_DATA([uniformity_test.csh], - [[ --set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` -+set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` - echo -n "$SERVICE_NAME_LOG" > ./output1 - --cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 -+cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 - - diff -uprN ./output1 ./output2 >& /dev/null - -@@ -587,7 +587,7 @@ AT_DATA([quoting_result_test.csh], - echo "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP\)(HOST=db\)(PORT=1521\)\)(CONNECT_DATA=(SERVER=DEDICATED\)(SERVICE_NAME=bns03\)\)\)" > ./expected_result - - set string = "jdbc_url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bns03)))" --set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` -+set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` - - echo "$SERVICE_NAME_LOG" > ./actual_result - --- tests/subst.at +++ tests/subst.at -@@ -54,7 +54,7 @@ AT_CHECK([echo 'echo ~; echo "$HOME"' | tcsh -f | uniq | wc -l | tr -d ' \t'], +@@ -54,7 +54,7 @@ AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }') , [1 ]) --AT_CHECK([echo "echo ~$(id -un)/foo; echo \"$HOME/foo\"" | tcsh -f | uniq dnl -+AT_CHECK([echo "echo ~$(id -un)/foo; echo \"$HOME/foo\"" | tcsh -f | grep -v "/homeless-shelter" | uniq dnl +-AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }'); echo "echo ~$(id -un)/foo; echo \"\$HOME/foo\"" | tcsh -f | uniq dnl ++AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }'); echo "echo ~$(id -un)//foo; echo \"\$HOME/foo\"" | tcsh -f | uniq dnl | wc -l | tr -d ' \t'], , [1 ]) @@ -110,21 +86,6 @@ ]]) chmod a+x args.sh AT_CHECK([tcsh -f listflags.csh], , -@@ -704,9 +705,9 @@ AT_CHECK([tcsh -f mail.csh], , -# This test fails by trying to change to the build user's home -# directory, which does not exist. - AT_CLEANUP - - --AT_SETUP([$ cdtohome]) --AT_CHECK([tcsh -f -c 'cd'], 0) --AT_CLEANUP -+#AT_SETUP([$ cdtohome]) -+#AT_CHECK([tcsh -f -c 'cd'], 0) -+#AT_CLEANUP - AT_SETUP([$ noimplicithome]) - AT_CHECK([tcsh -f -c 'unset cdtohome; cd'], 1, , [cd: Too few arguments. - ]) @@ -728,55 +729,57 @@ TCSH_UNTESTED([$ oid]) AT_SETUP([$ owd]) diff --git a/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch b/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch deleted file mode 100644 index 48c294f78e..0000000000 --- a/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix out-of-bounds read in c_substitute(): - -http://seclists.org/oss-sec/2016/q4/612 - -Patch copied from upstream source repository: - -https://github.com/tcsh-org/tcsh/commit/6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 - -From 6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 Mon Sep 17 00:00:00 2001 -From: christos -Date: Fri, 2 Dec 2016 16:59:28 +0000 -Subject: [PATCH] Fix out of bounds read (Brooks Davis) (reproduce by starting - tcsh and hitting tab at the prompt) - ---- - ed.chared.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ed.chared.c b/ed.chared.c -index 1277e53..310393e 100644 ---- ed.chared.c -+++ ed.chared.c -@@ -750,7 +750,7 @@ c_substitute(void) - /* - * If we found a history character, go expand it. - */ -- if (HIST != '\0' && *p == HIST) -+ if (p >= InputBuf && HIST != '\0' && *p == HIST) - nr_exp = c_excl(p); - else - nr_exp = 0; diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 1fd138fb4c..ef7f911682 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -334,7 +334,7 @@ written by Paul Haahr and Byron Rakitzis.") (define-public tcsh (package (name "tcsh") - (version "6.20.00") + (version "6.22.02") (source (origin (method url-fetch) ;; Old tarballs are moved to old/. @@ -344,9 +344,8 @@ written by Paul Haahr and Byron Rakitzis.") "old/tcsh-" version ".tar.gz"))) (sha256 (base32 - "17ggxkkn5skl0v1x0j6hbv5l0sgnidfzwv16992sqkdm983fg7dq")) - (patches (search-patches "tcsh-fix-autotest.patch" - "tcsh-fix-out-of-bounds-read.patch")) + "0nw8prz1n0lmr82wnpyhrzmki630afn7p9cfgr3vl00vr9c72a7d")) + (patches (search-patches "tcsh-fix-autotest.patch")) (patch-flags '("-p0")))) (build-system gnu-build-system) (native-inputs -- cgit 1.4.1 From 3a3c9bae7999352e396bd30941913092b470b1f3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Dec 2019 01:10:49 +0100 Subject: gnu: sqlite: Move static library to separate output. * gnu/packages/sqlite.scm (sqlite)[outputs]: New field. [arguments]: Add #:phases. --- gnu/packages/sqlite.scm | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index d7eb132584..195146aca2 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 David Craven -;;; Copyright © 2016, 2017, 2018 Marius Bakke +;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Jelle Licht ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -65,6 +65,7 @@ "0q4f57a5995wz9c7dfiqy9zwl0kn0b900nxwinqa3llv13dm0nlc")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) + (outputs '("out" "static")) (arguments `(#:configure-flags ;; Add -DSQLITE_SECURE_DELETE, -DSQLITE_ENABLE_FTS3, @@ -75,7 +76,24 @@ "-DSQLITE_ENABLE_FTS3 " "-DSQLITE_ENABLE_UNLOCK_NOTIFY " "-DSQLITE_ENABLE_DBSTAT_VTAB " - "-DSQLITE_ENABLE_COLUMN_METADATA")))) + ;; Column metadata is required by GNU Jami and Qt, et.al. + "-DSQLITE_ENABLE_COLUMN_METADATA")) + #:phases (modify-phases %standard-phases + (add-after 'install 'move-static-library + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static")) + (source (string-append out "/lib/libsqlite3.a"))) + (mkdir-p (string-append static "/lib")) + (link source (string-append static "/lib/libsqlite3.a")) + (delete-file source) + + ;; Remove reference to the static library from the .la file + ;; so that Libtool looks for it in the usual places. + (substitute* (string-append out "/lib/libsqlite3.la") + (("^old_library=.*") + "old_library=''\n")) + #t)))))) (home-page "https://www.sqlite.org/") (synopsis "The SQLite database management system") (description -- cgit 1.4.1 From 9e837ea0f35bb232eebfc8603264459ba4ffa52f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Dec 2019 01:21:27 +0100 Subject: gnu: SELinux: Update to 3.0. * gnu/packages/selinux.scm (libsepol): Update to 3.0. [arguments]: Don't set DESTDIR. Change PYSITEDIR to PYTHONLIBDIR. Drop phase 'remove-Werror'. (libselinux)[arguments]: Add substitution to use the correct Python directory. (libsemanage)[arguments]: Change PYSITEDIR to PYTHONLIBDIR. Add phase 'adjust-semanage-conf-location'. [inputs]: Remove USTR. (policycoreutils)[arguments]: Remove obsolete substitution. --- gnu/packages/selinux.scm | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm index 1c45cb8c7e..49362d129b 100644 --- a/gnu/packages/selinux.scm +++ b/gnu/packages/selinux.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,7 +40,6 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages swig) - #:use-module (gnu packages textutils) #:use-module (gnu packages xml)) ;; Update the SELinux packages together! @@ -47,8 +47,8 @@ (define-public libsepol (package (name "libsepol") - (version "2.7") - (source (let ((release "20170804")) + (version "3.0") + (source (let ((release "20191204")) (origin (method git-fetch) (uri (git-reference @@ -57,7 +57,7 @@ (file-name (string-append "selinux-" release "-checkout")) (sha256 (base32 - "1l1nn8bx08v4cxkw5kb0wgr61rfqj5ra9dh1dy5jslillj93vivq"))))) + "05rpzm72cgprd0ccr6lvx9hm8j8b5nkqi4avshlsyg7s3sdlcxjs"))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; tests require checkpolicy, which requires libsepol @@ -65,7 +65,7 @@ #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "PREFIX=" out) - (string-append "DESTDIR=" out) + (string-append "SHLIBDIR=" out "/lib") (string-append "MAN3DIR=" out "/share/man/man3") (string-append "MAN5DIR=" out "/share/man/man5") (string-append "MAN8DIR=" out "/share/man/man8") @@ -139,7 +139,7 @@ module into a binary representation.") (string-append "LIBSEPOLA=" (assoc-ref %build-inputs "libsepol") "/lib/libsepol.a") - (string-append "PYSITEDIR=" + (string-append "PYTHONLIBDIR=" (assoc-ref %outputs "python") "/lib/python" ,(version-major+minor (package-version python)) @@ -150,19 +150,17 @@ module into a binary representation.") (delete 'portability) (replace 'enter-dir (lambda _ (chdir ,name) #t)) - (add-after 'enter-dir 'remove-Werror - (lambda _ - ;; GCC complains about the fact that the output does not (yet) - ;; have an "include" directory, even though it is referenced. - (substitute* '("src/Makefile" - "utils/Makefile") - (("-Werror ") "")) - #t)) (add-after 'build 'pywrap (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "pywrap" make-flags))) (add-after 'install 'install-pywrap - (lambda* (#:key make-flags #:allow-other-keys) + (lambda* (#:key make-flags outputs #:allow-other-keys) + ;; The build system uses "python setup.py install" to install + ;; Python bindings. Instruct it to use the correct output. + (substitute* "src/Makefile" + (("--prefix=\\$\\(PREFIX\\)") + (string-append "--prefix=" (assoc-ref outputs "python")))) + (apply invoke "make" "install-pywrap" make-flags))))))) ;; These libraries are in "Requires.private" in libselinux.pc. (propagated-inputs @@ -191,7 +189,7 @@ the core SELinux management utilities.") (substitute-keyword-arguments (package-arguments libsepol) ((#:make-flags flags) `(cons* "PYTHON=python3" - (string-append "PYSITEDIR=" + (string-append "PYTHONLIBDIR=" (assoc-ref %outputs "out") "/lib/python" ,(version-major+minor (package-version python)) @@ -202,6 +200,12 @@ the core SELinux management utilities.") (delete 'portability) (replace 'enter-dir (lambda _ (chdir ,name) #t)) + (add-before 'install 'adjust-semanage-conf-location + (lambda _ + (substitute* "src/Makefile" + (("DEFAULT_SEMANAGE_CONF_LOCATION=/etc") + "DEFAULT_SEMANAGE_CONF_LOCATION=$(PREFIX)/etc")) + #t)) (add-after 'build 'pywrap (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "pywrap" make-flags))) @@ -212,7 +216,6 @@ the core SELinux management utilities.") `(("libsepol" ,libsepol) ("libselinux" ,libselinux) ("audit" ,audit) - ("ustr" ,ustr) ;; For pywrap phase ("python" ,python-wrapper))) (native-inputs @@ -393,11 +396,6 @@ tools, and libraries designed to facilitate SELinux policy analysis.") (lambda _ (chdir ,name) #t)) (add-after 'enter-dir 'ignore-/usr-tests (lambda* (#:key inputs #:allow-other-keys) - ;; The Makefile decides to build restorecond only if it finds the - ;; inotify header somewhere under /usr. - (substitute* "Makefile" - (("ifeq.*") "") - (("endif.*") "")) ;; Rewrite lookup paths for header files. (substitute* '("newrole/Makefile" "setfiles/Makefile" -- cgit 1.4.1 From 703cd3865698dcce04b6edebdcdc6d68c62d9225 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Dec 2019 17:14:05 +0100 Subject: gnu: node: Update to 10.17.0. * gnu/packages/node.scm (node): Update to 10.17.0. --- gnu/packages/node.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 83427d935f..753d2cc06a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -45,14 +45,14 @@ (define-public node (package (name "node") - (version "10.16.0") + (version "10.17.0") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "0236jlb1hxhzqjlmmlxipcycrndiq92c8434iyy7zshh3n4pzqqq")) + "13n5cvb340ba7vwm8il7bjrmpz89h6cibhk9rc3kq9ymdgbnf9j1")) (modules '((guix build utils))) (snippet `(begin -- cgit 1.4.1 From 8c42cee19657a3e74c0b9c3f685cb53d1e1762b1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Dec 2019 17:14:59 +0100 Subject: gnu: graphviz: Update to 2.42.3. * gnu/packages/graphviz.scm (graphviz): Update to 2.42.3. [source](uri): Adjust for new download location. --- gnu/packages/graphviz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index f9667e873b..0d3b1e8339 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -55,15 +55,15 @@ (define-public graphviz (package (name "graphviz") - (version "2.40.1") + (version "2.42.3") (source (origin (method url-fetch) (uri (string-append - "http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-" - version ".tar.gz")) + "https://www2.graphviz.org/Packages/stable/portable_source/" + "graphviz-" version ".tar.gz")) (sha256 (base32 - "08d4ygkxz2f553bxj6087da56a23kx1khv0j8ycxa102vvx1hlna")))) + "1pbswjbx3fjdlsxcm7cmlsl5bvaa3d6gcnr0cr8x3c8pag13zbwg")))) (build-system gnu-build-system) (arguments ;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input. -- cgit 1.4.1 From d45720d8b456e82380601d77e25bd05c6e0dc36a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Dec 2019 03:44:48 +0200 Subject: gnu: swig: Build with guile-2.2. This is a follow-up to 8b2c4eb5020eff458690f600351b56ed97465db1. * gnu/packages/swig.scm (swig)[native-inputs]: Replace guile-2.0 with guile-2.2. --- gnu/packages/swig.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index df49428964..3de6343da8 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -57,7 +57,7 @@ (native-inputs `(("boost" ,boost) ("pcre" ,pcre "bin") ;for 'pcre-config' ;; The following are for tests and examples: - ("guile" ,guile-2.0) + ("guile" ,guile-2.2) ("perl" ,perl))) ;;("python" ,python-wrapper) (inputs `(("pcre" ,pcre))) -- cgit 1.4.1 From 2c267e630086caaa141957ddd9cdf14205b2759c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Dec 2019 04:14:40 +0200 Subject: gnu: nss: Ungraft. * gnu/packages/nss.scm (nss)[replacement]: Remove field. [source]: Add patch. (nss/fixed): Remove variable. --- gnu/packages/nss.scm | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 4f421f6e9d..6ed197b578 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver -;;; Copyright © 2016, 2017, 2018 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -71,7 +71,6 @@ in the Mozilla clients.") (package (name "nss") (version "3.46.1") - (replacement nss/fixed) (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -84,7 +83,8 @@ in the Mozilla clients.") (base32 "0l9ns44rlkp1bpblplspfbqmyhb8rhvc89y56kqh725rgpny1xrv")) ;; Create nss.pc and nss-config. - (patches (search-patches "nss-pkgconfig.patch" + (patches (search-patches "nss-CVE-2019-11745.patch" + "nss-pkgconfig.patch" "nss-freebl-stubs.patch" "nss-increase-test-timeout.patch")))) (build-system gnu-build-system) @@ -184,11 +184,3 @@ applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards.") (license license:mpl2.0))) - -(define nss/fixed - (package - (inherit nss) - (source (origin - (inherit (package-source nss)) - (patches (append (search-patches "nss-CVE-2019-11745.patch") - (origin-patches (package-source nss)))))))) -- cgit 1.4.1 From fd248cb815d571043c3a0c52a01c9b3e368a069e Mon Sep 17 00:00:00 2001 From: Brett Gilio Date: Mon, 9 Dec 2019 14:46:47 -0600 Subject: gnu: ruby: Configure for dynamic linking. * gnu/packages/ruby.scm (ruby)[arguments]: Use #:configure-flags to properly enable dynamic linking instead of using libruby-static.a. Fixes #38500: Reported-by: Vicente Eduardo --- gnu/packages/ruby.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e1d69f9655..d30ee415c4 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2019 Brian Leung ;;; Copyright © 2019 Collin J. Doering ;;; Copyright © 2019 Diego N. Barbato +;;; Copyright © 2019 Brett Gilio ;;; ;;; This file is part of GNU Guix. ;;; @@ -95,6 +96,7 @@ (build-system gnu-build-system) (arguments `(#:test-target "test" + #:configure-flags '("--enable-shared") ; dynamic linking #:phases (modify-phases %standard-phases (add-before 'configure 'replace-bin-sh-and-remove-libffi -- cgit 1.4.1 From 6d01ff96a38aea7535299246f8a32d014ded28d1 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 14 Dec 2019 17:34:28 +0100 Subject: gnu: Add u-boot-pine64-lts. * gnu/packages/bootloaders.scm (u-boot-pine64-lts): New variable. --- gnu/packages/bootloaders.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 156e4c4cdd..55b4abbda5 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 nee +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -677,6 +678,9 @@ it fits within common partitioning schemes.") (define-public u-boot-pine64-plus (make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu")) +(define-public u-boot-pine64-lts + (make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu")) + (define-public u-boot-pinebook (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu")) -- cgit 1.4.1 From de5394f7456900146e217864aa2d58127a1dbc33 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 14 Dec 2019 17:35:02 +0100 Subject: gnu: bootloaders: Fix make-u-boot-sunxi64-package cross-compilation. * gnu/packages/bootloaders.scm (make-u-boot-sunxi64-package)[arguments]: Search in native-inputs to fix cross-compilation. --- gnu/packages/bootloaders.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 55b4abbda5..91d567288f 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -662,9 +662,11 @@ it fits within common partitioning schemes.") ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'set-environment - (lambda* (#:key inputs #:allow-other-keys) - (let ((bl31 (string-append (assoc-ref inputs "firmware") - "/bl31.bin"))) + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((bl31 + (string-append + (assoc-ref (or native-inputs inputs) "firmware") + "/bl31.bin"))) (setenv "BL31" bl31) ;; This is necessary when we're using the bundled dtc. ;(setenv "PATH" (string-append (getenv "PATH") ":" -- cgit 1.4.1 From 2f014c85f742148971801cfc4f29ae7f5e734c99 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 14 Dec 2019 17:37:23 +0100 Subject: gnu: Add u-boot-pine64-lts-bootloader. * gnu/bootloader/u-boot.scm (u-boot-pine64-lts-bootloader): New variable. --- gnu/bootloader/u-boot.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index e21526eb7e..3e892c5475 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 David Craven -;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +33,7 @@ u-boot-nintendo-nes-classic-edition-bootloader u-boot-novena-bootloader u-boot-pine64-plus-bootloader + u-boot-pine64-lts-bootloader u-boot-pinebook-bootloader u-boot-puma-rk3399-bootloader u-boot-rock64-rk3328-bootloader @@ -206,6 +207,11 @@ (inherit u-boot-allwinner64-bootloader) (package u-boot-pine64-plus))) +(define u-boot-pine64-lts-bootloader + (bootloader + (inherit u-boot-allwinner-bootloader) + (package u-boot-pine64-lts))) + (define u-boot-pinebook-bootloader (bootloader (inherit u-boot-allwinner64-bootloader) -- cgit 1.4.1 From 7b90379db8adae9b23da4d5b7c7d3ec61d0e59a1 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 14 Dec 2019 17:46:27 +0100 Subject: gnu: info-reader: Fix cross-compilation. * gnu/packages/texinfo.scm (info-reader)[arguments]: Add keep-only-info-reader phase to inherited texinfo package phases, so that fix-cross-configure phase is preserved. --- gnu/packages/texinfo.scm | 49 ++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index ef3dfba09e..c755790448 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2019 Pierre-Moana Levesque +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -159,32 +160,32 @@ is on expressing the content semantically, avoiding physical markup commands.") (inherit texinfo) (name "info-reader") (arguments - `(#:disallowed-references ,(assoc-ref (package-inputs texinfo) - "perl") + `(,@(substitute-keyword-arguments (package-arguments texinfo) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'keep-only-info-reader + (lambda* (#:key outputs #:allow-other-keys) + ;; Remove everything but 'bin/info' and associated + ;; files. + (define (files) + (scandir "." (lambda (file) + (not (member file '("." "..")))))) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion out + (for-each delete-file-recursively + (fold delete (files) '("bin" "share")))) + (with-directory-excursion (string-append out "/bin") + (for-each delete-file (delete "info" (files)))) + (with-directory-excursion (string-append out "/share") + (for-each delete-file-recursively + (fold delete (files) + '("info" "locale")))) + #t)))))) + #:disallowed-references ,(assoc-ref (package-inputs texinfo) + "perl") #:modules ((ice-9 ftw) (srfi srfi-1) - ,@%gnu-build-system-modules) - - #:phases (modify-phases %standard-phases - (add-after 'install 'keep-only-info-reader - (lambda* (#:key outputs #:allow-other-keys) - ;; Remove everything but 'bin/info' and associated - ;; files. - (define (files) - (scandir "." (lambda (file) - (not (member file '("." "..")))))) - - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion out - (for-each delete-file-recursively - (fold delete (files) '("bin" "share")))) - (with-directory-excursion (string-append out "/bin") - (for-each delete-file (delete "info" (files)))) - (with-directory-excursion (string-append out "/share") - (for-each delete-file-recursively - (fold delete (files) - '("info" "locale")))) - #t)))))) + ,@%gnu-build-system-modules))) (synopsis "Standalone Info documentation reader"))) (define-public texi2html -- cgit 1.4.1 From e8cbebb4769328f6ad49a4b5868f9c935e7e5372 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 14 Dec 2019 19:47:57 +0100 Subject: gnu: gtk+-2: Split binaries. * gnu/packages/gtk.scm (gtk+-2): Add "bin" output. * guix/profiles.scm (gtk-im-modules): Use "bin" output for generating gtk+-2 immodules cache file. --- gnu/packages/gtk.scm | 24 ++++++++++++++---------- guix/profiles.scm | 4 +++- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index ea2b087724..67b129c2a1 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -672,7 +672,7 @@ is part of the GNOME accessibility project.") "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch" "gtk2-theme-paths.patch")))) (build-system gnu-build-system) - (outputs '("out" "doc")) + (outputs '("out" "bin" "doc")) (propagated-inputs `(("atk" ,atk) ("gdk-pixbuf" ,gdk-pixbuf+svg) @@ -699,14 +699,19 @@ is part of the GNOME accessibility project.") (assoc-ref %outputs "doc") "/share/gtk-doc/html")) #:phases - (alist-cons-before - 'configure 'disable-tests - (lambda _ - ;; FIXME: re-enable tests requiring an X server - (substitute* "gtk/Makefile.in" - (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits .")) - #t) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'disable-tests + (lambda _ + ;; FIXME: re-enable tests requiring an X server + (substitute* "gtk/Makefile.in" + (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits .")) + #t)) + (add-after 'install 'remove-cache + (lambda* (#:key outputs #:allow-other-keys) + (for-each + delete-file + (find-files (assoc-ref outputs "out") "immodules.cache")) + #t))))) (native-search-paths (list (search-path-specification (variable "GUIX_GTK2_PATH") @@ -734,7 +739,6 @@ application suites.") "10xyyhlfb0yk4hglngxh2zsv9xrxkqv343df8h01dvagc6jyp10k")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) - (outputs '("out" "bin" "doc")) (propagated-inputs `(("at-spi2-atk" ,at-spi2-atk) ("atk" ,atk) diff --git a/guix/profiles.scm b/guix/profiles.scm index 616605151e..539fe04267 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1106,6 +1106,8 @@ for both major versions of GTK+." ;; Don't run the hook when there's nothing to do. (let* ((pkg-gtk+ (module-ref ; lazy reference (resolve-interface '(gnu packages gtk)) 'gtk+)) + (pkg-gtk+2 (module-ref ; lazy reference + (resolve-interface '(gnu packages gtk)) 'gtk+-2)) (gexp #~(begin #$(if gtk+ (build @@ -1119,7 +1121,7 @@ for both major versions of GTK+." (build gtk+-2 "2.10.0" #~(string-append - #$gtk+-2 "/bin/gtk-query-immodules-2.0")) + #$pkggtk+-2:bin "/bin/gtk-query-immodules-2.0")) #t)))) (if (or gtk+ gtk+-2) (gexp->derivation "gtk-im-modules" gexp -- cgit 1.4.1 From 50b61ec22306181c419a3bd4c35b3c001c604994 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 12 Dec 2019 12:09:13 +0100 Subject: gnu: llvm: split scripts to a separate output. This reduces the closure size by almost 80 MiB. * gnu/packages/llvm.scm (llvm-8): Add "opt-viewer" output. --- gnu/packages/llvm.scm | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 082e6e96ca..e09b7f016e 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -88,6 +88,7 @@ as \"x86_64-linux\"." (base32 "0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8")))) (build-system cmake-build-system) + (outputs '("out" "opt-viewer")) (native-inputs `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 ("perl" ,perl))) @@ -105,16 +106,27 @@ as \"x86_64-linux\"." ;; Don't use '-g' during the build, to save space. #:build-type "Release" - #:phases (modify-phases %standard-phases - (add-before 'build 'shared-lib-workaround - ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen - ;; doesn't seem to get the correct rpath to be able to run - ;; from the build directory. Set LD_LIBRARY_PATH as a - ;; workaround. - (lambda _ - (setenv "LD_LIBRARY_PATH" - (string-append (getcwd) "/lib")) - #t))))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'shared-lib-workaround + ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen + ;; doesn't seem to get the correct rpath to be able to run + ;; from the build directory. Set LD_LIBRARY_PATH as a + ;; workaround. + (lambda _ + (setenv "LD_LIBRARY_PATH" + (string-append (getcwd) "/lib")) + #t)) + (add-after 'install 'install-opt-viewer + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (opt-viewer-out (assoc-ref outputs "opt-viewer")) + (opt-viewer-share-dir (string-append opt-viewer-out "/share")) + (opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer"))) + (mkdir-p opt-viewer-share-dir) + (rename-file (string-append out "/share/opt-viewer") + opt-viewer-dir)) + #t))))) (home-page "https://www.llvm.org") (synopsis "Optimizing compiler infrastructure") (description -- cgit 1.4.1 From 28292d8c5c600632786f58a9cbcd0358b52838ae Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Dec 2019 19:19:41 +0200 Subject: guix: Fix typo. This is a follow-up to e8cbebb4769328f6ad49a4b5868f9c935e7e5372. * guix/profiles.scm (gtk-im-modules): Corectly refer to gtk+-2 package. --- guix/profiles.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/profiles.scm b/guix/profiles.scm index 539fe04267..987bab4e7f 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1121,7 +1121,7 @@ for both major versions of GTK+." (build gtk+-2 "2.10.0" #~(string-append - #$pkggtk+-2:bin "/bin/gtk-query-immodules-2.0")) + #$pkg-gtk+2:bin "/bin/gtk-query-immodules-2.0")) #t)))) (if (or gtk+ gtk+-2) (gexp->derivation "gtk-im-modules" gexp -- cgit 1.4.1 From 0c25097e8bbf6f25c53106d7e5ba9ba3c5146b1b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 16 Dec 2019 10:30:36 +0200 Subject: gnu: bison: Update to 3.5. * gnu/packages/bison.scm (bison): Update to 3.5. --- gnu/packages/bison.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm index e65ef34c94..eae8673edc 100644 --- a/gnu/packages/bison.scm +++ b/gnu/packages/bison.scm @@ -31,7 +31,7 @@ (define-public bison (package (name "bison") - (version "3.4.2") + (version "3.5") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "185zd8rl9diy5sl3zmizml05kcvcin05ppbax1lxqdcpd4s5bl17")))) + "0hd6lgkxb9i46alcwn87jygs53q4vkq7k0jzb84ikbdln4is1r2m")))) (build-system gnu-build-system) (arguments '(;; Building in parallel on many-core systems may cause an error such as -- cgit 1.4.1 From 2e4c2a3ae9297e86f3665cbb89e6cb8113360f3a Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 16 Dec 2019 12:39:18 +0100 Subject: gnu: iw: Fix cross-compilation. * gnu/packages/linux.scm (iw)[arguments]: Set PKG_CONFIG and CC variables correctly for cross-compilation. --- gnu/packages/linux.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index fb9be39a31..a81905df7f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2098,8 +2098,18 @@ configuration and monitoring interfaces.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libnl" ,libnl))) (arguments - `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "CC=gcc") + `(#:make-flags + (let* ((target ,(%current-target-system)) + (gcc (if target (string-append target "-gcc") "gcc")) + (pkg-config (if target + (string-append target "-pkg-config") + "pkg-config"))) + (list + (string-append "CC=" gcc) + (string-append "PKG_CONFIG=" + (assoc-ref %build-inputs "pkg-config") + "/bin/" pkg-config) + (string-append "PREFIX=" (assoc-ref %outputs "out")))) #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "https://wireless.wiki.kernel.org/") (synopsis "Tool for configuring wireless devices") -- cgit 1.4.1 From 60825fdd18d56bec0aefd1760bd663f70e7ff1cc Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 16 Dec 2019 13:39:05 +0100 Subject: gnu: libxslt: Fix cross-compilation. This package native build was relying on xz as an implicit input. In fact libxslt is linking against liblzma, and xz is thus an input. * gnu/packages/xml.scm (libxslt)[inputs]: Add xz. --- gnu/packages/xml.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 86c8eb815f..5ccbc695ea 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -228,7 +228,8 @@ project (but it is usable outside of the Gnome platform).") (inputs `(("libgcrypt" ,libgcrypt) ("libxml2" ,libxml2) ("python" ,python-minimal-wrapper) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("xz" ,xz))) (native-inputs `(("pkg-config" ,pkg-config))) (description -- cgit 1.4.1 From 6eae90898a8c1bcd23d156b086e7ab03930356f1 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 16 Dec 2019 14:30:11 +0100 Subject: gnu: pciutils: Fix cross-compilation. * gnu/packages/pciutils.scm (pciutils)[arguments]: Set CROSS_COMPILE, HOST and STRIP variables correctly in Makefile to fix cross-compilation. --- gnu/packages/pciutils.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index f8b79cf907..18d7c1e56c 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2017 Ludovic Courtès ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) @@ -42,12 +44,26 @@ "1wwkpglvvr1sdj2gxz9khq507y02c4px48njy25divzdhv4jwifv")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs #:allow-other-keys) ;; There's no 'configure' script, just a raw makefile. (substitute* "Makefile" + ,@(if (%current-target-system) + `((("^CROSS_COMPILE=.*$") + (string-append "CROSS_COMPILE=" + ,(%current-target-system) "-" + "\n")) + (("^HOST=.*$") + (string-append "HOST=" + ,(gnu-triplet->nix-system + (%current-target-system)) "\n")) + ;; Disable 'install' strip option, that would fail when + ;; we are cross-compiling. + (("^STRIP=.*$") + "STRIP=\n")) + '()) (("^PREFIX=.*$") (string-append "PREFIX := " (assoc-ref outputs "out") "\n")) -- cgit 1.4.1 From 8166b6afe5e28d64d3ffd426a8153a980e2692b0 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 16 Dec 2019 16:41:01 +0100 Subject: gnu: psmisc: Fix cross-compilation. * gnu/packages/linux.scm (psmisc)[arguments]: Pass ac_cv_func_malloc_0_nonnull=yes and ac_cv_func_realloc_0_nonnull=yes options that are required when cross-compiling. --- gnu/packages/linux.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a81905df7f..998fd20ad8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1078,6 +1078,13 @@ at login. Local and dynamic reconfiguration are its key features.") (sha256 (base32 "16i7qzjmm6g0lzha8yzpfrlcxnvkgh95hkq9gdjd4zmzb8d0wxa1")))) (build-system gnu-build-system) + (arguments + `(,@(if (%current-target-system) + '(#:configure-flags + (list + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes")) + '()))) (inputs `(("ncurses" ,ncurses))) (home-page "https://gitlab.com/psmisc/psmisc") (synopsis "Small utilities that use the proc file system") -- cgit 1.4.1 From 8a0e29d8b9da4a277c8f9613be85df16de9e8898 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 19 Dec 2019 09:51:56 +0100 Subject: gnu: tcl: Fix cross-compilation. * gnu/packages/patches/tcl-fix-cross-compilation.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/tcl.scm (tcl): Apply it. --- gnu/local.mk | 1 + .../patches/tcl-fix-cross-compilation.patch | 39 ++++++++++++++++++++++ gnu/packages/tcl.scm | 4 ++- 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/tcl-fix-cross-compilation.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0224b7101b..3d672ea213 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1383,6 +1383,7 @@ dist_patch_DATA = \ %D%/packages/patches/tar-skip-unreliable-tests.patch \ %D%/packages/patches/tcc-boot-0.9.27.patch \ %D%/packages/patches/tclxml-3.2-install.patch \ + %D%/packages/patches/tcl-fix-cross-compilation.patch \ %D%/packages/patches/tcsh-fix-autotest.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/teeworlds-use-latest-wavpack.patch \ diff --git a/gnu/packages/patches/tcl-fix-cross-compilation.patch b/gnu/packages/patches/tcl-fix-cross-compilation.patch new file mode 100644 index 0000000000..00c36b8f27 --- /dev/null +++ b/gnu/packages/patches/tcl-fix-cross-compilation.patch @@ -0,0 +1,39 @@ +From f7fa48c4c75a1e748dc5071e709c0b62ff739eaa Mon Sep 17 00:00:00 2001 +From: "jan.nijtmans" +Date: Mon, 9 Dec 2019 10:02:20 +0000 +Subject: [PATCH] Fix [abd4abedd2]: Failed to build tk 8.6.10 with cross + compile + +Patch taken from upstream to fix cross-compilation. To be removed on next Tcl release. + +--- + compat/strtol.c | 2 +- + compat/strtoul.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/compat/strtol.c b/compat/strtol.c +index b7f69196ce2..811006a64c3 100644 +--- a/compat/strtol.c ++++ b/compat/strtol.c +@@ -53,7 +53,7 @@ strtol( + */ + + p = string; +- while (TclIsSpaceProc(*p)) { ++ while (isspace(UCHAR(*p))) { + p += 1; + } + +diff --git a/compat/strtoul.c b/compat/strtoul.c +index e37eb05f823..15587f1da1a 100644 +--- a/compat/strtoul.c ++++ b/compat/strtoul.c +@@ -74,7 +74,7 @@ strtoul( + */ + + p = string; +- while (TclIsSpaceProc(*p)) { ++ while (isspace(UCHAR(*p))) { + p += 1; + } + if (*p == '-') { diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 7531c1ca9d..c88d0338cb 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Julien Lepiller +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,7 +51,8 @@ version "/tcl" version "-src.tar.gz")) (sha256 (base32 - "1vc7imilx6kcb5319r7hnrp4jn5pqb41an3vr3azhgcfcgvdp5ji")))) + "1vc7imilx6kcb5319r7hnrp4jn5pqb41an3vr3azhgcfcgvdp5ji")) + (patches (search-patches "tcl-fix-cross-compilation.patch")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases -- cgit 1.4.1 From 45e7599ce87c184e934a23df73e7738c1ce17666 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 19 Dec 2019 15:00:22 +0100 Subject: gnu: isc-dhcp: Fix cross-compilation. * gnu/packages/admin.scm (isc-dhcp)[arguments]: Add a configure flag to specify randomdev path, which is needed when cross-compiling. Also add a fix-bind-cross-compilation phase. --- gnu/packages/admin.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c2be85e81e..33d378310e 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2019 Hartmut Goebel ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Guillaume Le Vaillant +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -776,6 +777,7 @@ connection alive.") (build-system gnu-build-system) (arguments `(#:parallel-build? #f + #:configure-flags '("--with-randomdev=/dev/random") #:phases (modify-phases %standard-phases (add-after 'unpack 'replace-bundled-bind @@ -807,6 +809,12 @@ connection alive.") (("^RELEASEVER=.*") (format #f "RELEASEVER=~a\n" ,bind-release-version))) #t)) + (add-before 'configure 'fix-bind-cross-compilation + (lambda _ + (substitute* "configure" + (("--host=\\$host") + "--host=$host_alias")) + #t)) (add-after 'configure 'post-configure (lambda* (#:key outputs #:allow-other-keys) ;; Point to the right client script, which will be -- cgit 1.4.1 From 80a61b38b84f881ff2bf735754c07ab8e38c763b Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 19 Dec 2019 15:28:56 +0100 Subject: gnu: wireless-tools: Fix cross-compilation. * gnu/packages/linux.scm (wireless-tools)[arguments]: Replace 'configure phase to substitute CC, AR and RANLIB Makefile variables to suitable values when cross-compiling. --- gnu/packages/linux.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 998fd20ad8..3cec941db2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2870,8 +2870,20 @@ mapper. Kernel components are part of Linux-libre.") (string-append "INSTALL_MAN=" %output "/share/man") (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") "BUILD_STATIC=") - #:phases (modify-phases %standard-phases - (delete 'configure)) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key target #:allow-other-keys) + (when ,(%current-target-system) + ;; Cross-compilation: use the cross tools. + (substitute* (find-files "." "Makefile") + (("CC = .*$") + (string-append "CC = " target "-gcc\n")) + (("AR = .*$") + (string-append "AR = " target "-ar\n")) + (("RANLIB = .*$") + (string-append "RANLIB = " target "-ranlib\n")))) + #t))) #:tests? #f)) (synopsis "Tools for manipulating Linux Wireless Extensions") (description "Wireless Tools are used to manipulate the now-deprecated -- cgit 1.4.1 From 3cd1444df70a0d2ff69a90441d86b4920ce18002 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 14 Dec 2019 17:52:53 +0100 Subject: gexp: Add system and target support to gexp->file. * guix/gexp.scm (gexp->file): Add system and target arguments and pass them to gexp->derivation and load-path-expression calls, (scheme-file-compiler): adapt accordingly to pass system and target arguments. --- guix/gexp.scm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index ffe4fc95c7..ef09c030ee 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2018 Jan Nieuwenhuizen +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -456,7 +457,10 @@ This is the declarative counterpart of 'gexp->file'." ;; Compile FILE by returning a derivation that builds the file. (match file (($ name gexp splice?) - (gexp->file name gexp #:splice? splice?)))) + (gexp->file name gexp + #:splice? splice? + #:system system + #:target target)))) ;; Appending SUFFIX to BASE's output file name. (define-record-type @@ -1598,7 +1602,9 @@ imported modules in its search path. Look up EXP's modules in MODULE-PATH." (define* (gexp->file name exp #:key (set-load-path? #t) (module-path %load-path) - (splice? #f)) + (splice? #f) + (system (%current-system)) + target) "Return a derivation that builds a file NAME containing EXP. When SPLICE? is true, EXP is considered to be a list of expressions that will be spliced in the resulting file. @@ -1621,10 +1627,14 @@ Lookup EXP's modules in MODULE-PATH." exp (gexp ((ungexp exp))))))))) #:local-build? #t - #:substitutable? #f) + #:substitutable? #f + #:system system + #:target target) (mlet %store-monad ((set-load-path (load-path-expression modules module-path - #:extensions extensions))) + #:extensions extensions + #:system system + #:target target))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) @@ -1637,7 +1647,9 @@ Lookup EXP's modules in MODULE-PATH." (gexp ((ungexp exp))))))))) #:module-path module-path #:local-build? #t - #:substitutable? #f)))) + #:substitutable? #f + #:system system + #:target target)))) (define* (text-file* name #:rest text) "Return as a monadic value a derivation that builds a text file containing -- cgit 1.4.1 From 7681436bfd9c3b6d9b8d18a1c81102d14378cbe8 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Tue, 24 Dec 2019 14:15:43 +0100 Subject: gnu: poppler: Update to 0.83.0. * gnu/packages/pdf.scm (poppler): Update to 0.83.0. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index ebe0168ff2..b5ce6e4c2c 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -90,14 +90,14 @@ (define-public poppler (package (name "poppler") - (version "0.79.0") + (version "0.83.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "1j18jlv1q6h21azb939gqjsgcbsh5qcd8dwxdmad54p5ixha91gr")))) + "16vr1g5qsqwyxfnyikqw37i04x9zpp45far2x90c7qbijw6nap38")))) (build-system cmake-build-system) ;; FIXME: ;; use libcurl: no -- cgit 1.4.1 From adf218e2e8d855ca9c8477658478658939ed2107 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 26 Dec 2019 17:55:43 +0100 Subject: gnu: libxt: Fix cross-compilation. * gnu/packages/xorg.scm (libxt)[arguments]: Pass --disable-malloc0returnsnull configure flag when cross-compiling. --- gnu/packages/xorg.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 801e5e459b..b3792122ac 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5411,10 +5411,15 @@ draggable titlebars and borders.") (outputs '("out" "doc")) ;2 MiB of man pages + XML (arguments - '(#:configure-flags (list (string-append "--mandir=" - (assoc-ref %outputs "doc") - "/share/man") - "--disable-static"))) + `(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "doc") + "/share/man") + "--disable-static" + ;; Disable zero malloc check that fails when cross-compiling. + ,@(if (%current-target-system) + '("--disable-malloc0returnsnull") + '())))) (propagated-inputs `(("libx11" ,libx11) ("libice" ,libice) -- cgit 1.4.1 From 3d8c77836b73ae8284c673eabdae7f0880d70a8d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 26 Dec 2019 18:09:32 +0100 Subject: gnu: openssh: Fix cross-compilation. * gnu/packages/ssh.scm (openssh): Pass --disable-strip argument when cross-compiling. --- gnu/packages/ssh.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index de33effc89..7abf710757 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2018 Manuel Graf ;;; Copyright © 2019 Gábor Boskovits +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -165,7 +166,15 @@ a server that supports the SSH-2 protocol.") "--with-libedit" ;; Enable PAM support in sshd. - "--with-pam") + "--with-pam" + + ;; "make install" runs "install -s" by default, + ;; which doesn't work for cross-compiled binaries + ;; because it invokes 'strip' instead of + ;; 'TRIPLET-strip'. Work around this. + ,,@(if (%current-target-system) + '("--disable-strip") + '())) #:phases (modify-phases %standard-phases -- cgit 1.4.1 From 91be09de61c277d0f1b26cefcefcd0a7fae2e00d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 24 Dec 2019 15:04:57 +0100 Subject: profiles: Fix profile-derivation cross-compilation. * guix/store.scm (current-target-system): New exported monadic procedure. * guix/profiles.scm (profile-derivation): Set target at bind time using the above procedure. --- guix/profiles.scm | 4 ++++ guix/store.scm | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/guix/profiles.scm b/guix/profiles.scm index 987bab4e7f..d20f06e7b3 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Huang Ying ;;; Copyright © 2017 Maxim Cournoyer ;;; Copyright © 2019 Kyle Meyer +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -1459,6 +1460,9 @@ are cross-built for TARGET." (mlet* %store-monad ((system (if system (return system) (current-system))) + (target (if target + (return target) + (current-target-system))) (ok? (if allow-collisions? (return #t) (check-for-collisions manifest system diff --git a/guix/store.scm b/guix/store.scm index cf25d347fc..f99fa581a8 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2018 Jan Nieuwenhuizen +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -159,6 +160,7 @@ %guile-for-build current-system set-current-system + current-target-system text-file interned-file interned-file-tree @@ -1816,6 +1818,11 @@ the store." (lambda (state) (values (%current-system system) state))) +(define-inlinable (current-target-system) + ;; Consult the %CURRENT-TARGET-SYSTEM fluid at bind time. + (lambda (state) + (values (%current-target-system) state))) + (define %guile-for-build ;; The derivation of the Guile to be used within the build environment, ;; when using 'gexp->derivation' and co. -- cgit 1.4.1 From 0715e520ead9b3188da41b31a691ab2e3c28fe31 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 31 Dec 2019 13:14:52 +0100 Subject: gnu: python-lxml: Update to 4.4.2. * gnu/packages/python-xyz.scm (python-lxml): Update to 4.4.2. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 574c596e5f..a369720202 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5754,14 +5754,14 @@ the GObject Introspection bindings to libnotify for non-GTK applications.") (define-public python-lxml (package (name "python-lxml") - (version "4.4.1") + (version "4.4.2") (source (origin (method url-fetch) (uri (pypi-uri "lxml" version)) (sha256 (base32 - "14jnpfcpgqr9sx8ppd286jzcbk0b36hbqsvd8jkvffipzw5v8768")))) + "01nvb5j8vs9nk4z5s3250b1m22b4d08kffa36if3g1mdygdrvxpg")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases -- cgit 1.4.1 From ba0e14061aab502999c29b71412b8dd7e6b00bac Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 3 Jan 2020 16:00:44 +0100 Subject: gnu: mingetty: Fix cross-compilation. * gnu/packages/admin.scm (mingetty)[arguments]: When cross-compiling, set CC to the appropriate value in configure phase. --- gnu/packages/admin.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 1725f2a563..81f9f3b70e 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2019 Hartmut Goebel ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Guillaume Le Vaillant -;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -520,13 +520,17 @@ login, passwd, su, groupadd, and useradd.") `(#:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs outputs target #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (man8 (string-append out "/share/man/man8")) (sbin (string-append out "/sbin")) (shadow (assoc-ref inputs "shadow")) (login (string-append shadow "/bin/login"))) (substitute* "Makefile" + ,@(if (%current-target-system) + '((("CC=.*$") + (string-append "CC=" target "-gcc\n"))) + '()) (("^SBINDIR.*") (string-append "SBINDIR = " out "/sbin\n")) -- cgit 1.4.1 From 0d58d1acaac6d5ed9f9b480c454a57a0f3fd9645 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 18:52:25 +0100 Subject: Revert "gnu: poppler: Update to 0.83.0." This reverts commit 7681436bfd9c3b6d9b8d18a1c81102d14378cbe8. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index b5ce6e4c2c..ebe0168ff2 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -90,14 +90,14 @@ (define-public poppler (package (name "poppler") - (version "0.83.0") + (version "0.79.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "16vr1g5qsqwyxfnyikqw37i04x9zpp45far2x90c7qbijw6nap38")))) + "1j18jlv1q6h21azb939gqjsgcbsh5qcd8dwxdmad54p5ixha91gr")))) (build-system cmake-build-system) ;; FIXME: ;; use libcurl: no -- cgit 1.4.1 From f09948fd442c22f0b1873ff40b64827a0bbe8a2c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Dec 2019 18:22:42 +0100 Subject: gnu: libfaketime: Fix failing test. * gnu/packages/check.scm (libfaketime)[arguments]: Set environment variable before building. --- gnu/packages/check.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index f61e96422b..7f548636a7 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2298,6 +2298,12 @@ portable to just about any platform.") (let ((out (assoc-ref outputs "out"))) (setenv "CC" "gcc") (setenv "PREFIX" out) + + ;; XXX: Without this flag, the CLOCK_REALTIME test hangs + ;; indefinitely. See README.packagers for more information. + ;; Try removing this for future versions of libfaketime. + (setenv "FAKETIME_COMPILE_CFLAGS" "-DFORCE_MONOTONIC_FIX") + #t))) (add-before 'check 'pre-check (lambda _ -- cgit 1.4.1 From 84f1e12b8b84acca1b3be7d41daacce28feb391d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 20:58:19 +0100 Subject: gnu: python-pyopenssl: Fix test failure. * gnu/packages/python-crypto.scm (python-pyopenssl)[native-inputs]: Add LIBFAKETIME. [arguments]: Use it to run tests with a fixed date. --- gnu/packages/python-crypto.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 63d3be17c2..b9e32109ae 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari -;;; Copyright © 2016, 2017 Marius Bakke +;;; Copyright © 2016, 2017, 2020 Marius Bakke ;;; Copyright © 2017 Ben Sturmfels ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2015 Cyril Roelandt @@ -448,7 +448,10 @@ message digests and key derivation functions.") (add-after 'install 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (invoke "py.test" "-v" "-k" + ;; PyOpenSSL runs tests against a certificate with a fixed + ;; expiry time. To ensure successful builds in the future, + ;; set the time to roughly the release date. + (invoke "faketime" "2019-01-01" "py.test" "-v" "-k" (string-append ;; This test tries to look up certificates from ;; the compiled-in default path in OpenSSL, which @@ -463,7 +466,8 @@ message digests and key derivation functions.") (inputs `(("openssl" ,openssl))) (native-inputs - `(("python-flaky" ,python-flaky) + `(("libfaketime" ,libfaketime) + ("python-flaky" ,python-flaky) ("python-pretend" ,python-pretend) ("python-pytest" ,python-pytest))) (home-page "https://github.com/pyca/pyopenssl") -- cgit 1.4.1 From eb5f3ea1003f76545b197b1e779e2967ec379475 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Dec 2019 18:19:23 +0100 Subject: gnu: WebkitGTK: Fix build failure with ICU 65. * gnu/packages/patches/webkitgtk-icu-65.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/webkit.scm (webkitgtk)[source](patches): New field. --- gnu/local.mk | 1 + gnu/packages/patches/webkitgtk-icu-65.patch | 47 +++++++++++++++++++++++++++++ gnu/packages/webkit.scm | 1 + 3 files changed, 49 insertions(+) create mode 100644 gnu/packages/patches/webkitgtk-icu-65.patch diff --git a/gnu/local.mk b/gnu/local.mk index efbd9067bf..7cb5cad2ee 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1464,6 +1464,7 @@ dist_patch_DATA = \ %D%/packages/patches/wavpack-CVE-2018-7253.patch \ %D%/packages/patches/wavpack-CVE-2018-7254.patch \ %D%/packages/patches/weasyprint-library-paths.patch \ + %D%/packages/patches/webkitgtk-icu-65.patch \ %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ diff --git a/gnu/packages/patches/webkitgtk-icu-65.patch b/gnu/packages/patches/webkitgtk-icu-65.patch new file mode 100644 index 0000000000..66819c566b --- /dev/null +++ b/gnu/packages/patches/webkitgtk-icu-65.patch @@ -0,0 +1,47 @@ +Fix build with ICU 65. + +Taken from upstream: +https://bugs.webkit.org/show_bug.cgi?id=202600 +https://trac.webkit.org/r250747 + +diff --git a/Source/WTF/wtf/URLHelpers.cpp b/Source/WTF/wtf/URLHelpers.cpp +index 18e7f13cd615..c584f1a0cb7e 100644 +--- a/Source/WTF/wtf/URLHelpers.cpp ++++ b/Source/WTF/wtf/URLHelpers.cpp +@@ -301,7 +301,7 @@ static bool allCharactersInIDNScriptWhiteList(const UChar* buffer, int32_t lengt + Optional previousCodePoint; + while (i < length) { + UChar32 c; +- U16_NEXT(buffer, i, length, c) ++ U16_NEXT(buffer, i, length, c); + UErrorCode error = U_ZERO_ERROR; + UScriptCode script = uscript_getScript(c, &error); + if (error != U_ZERO_ERROR) { +diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp +index 2443e24c9bc4..1fbb3a716006 100644 +--- a/Source/WebCore/dom/Document.cpp ++++ b/Source/WebCore/dom/Document.cpp +@@ -4954,12 +4954,12 @@ static bool isValidNameNonASCII(const UChar* characters, unsigned length) + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -5019,7 +5019,7 @@ ExceptionOr> Document::parseQualifiedName(cons + + for (unsigned i = 0; i < length; ) { + UChar32 c; +- U16_NEXT(qualifiedName, i, length, c) ++ U16_NEXT(qualifiedName, i, length, c); + if (c == ':') { + if (sawColon) + return Exception { InvalidCharacterError }; diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index b0b0d79a05..5101ceb2ea 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -126,6 +126,7 @@ engine that uses Wayland for graphics output.") (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" "webkitgtk-" version ".tar.xz")) + (patches (search-patches "webkitgtk-icu-65.patch")) (sha256 (base32 "04k5h0sid9azsqz9pyq436v1rx4lnfrhvmcgmicqb0c0g9iz103b")))) -- cgit 1.4.1 From 46c3a08b2ee8d5abae9f8fb42ff68dbf211dd261 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Dec 2019 18:20:51 +0100 Subject: gnu: dconf: Fix build failure with Meson 0.52. * gnu/packages/patches/dconf-meson-0.52.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gnome.scm (dconf)[source](patches): New field. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 1 + gnu/packages/patches/dconf-meson-0.52.patch | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 gnu/packages/patches/dconf-meson-0.52.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7cb5cad2ee..234d283ee6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -798,6 +798,7 @@ dist_patch_DATA = \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ + %D%/packages/patches/dconf-meson-0.52.patch \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index dd9ac29f4e..37873e42bc 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2851,6 +2851,7 @@ and RDP protocols.") "mirror://gnome/sources/" name "/" (version-major+minor version) "/" name "-" version ".tar.xz")) + (patches (search-patches "dconf-meson-0.52.patch")) (sha256 (base32 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38")))) diff --git a/gnu/packages/patches/dconf-meson-0.52.patch b/gnu/packages/patches/dconf-meson-0.52.patch new file mode 100644 index 0000000000..c636edc108 --- /dev/null +++ b/gnu/packages/patches/dconf-meson-0.52.patch @@ -0,0 +1,19 @@ +Fix build failure with Meson 0.52. + +Taken from upstream: +https://gitlab.gnome.org/GNOME/dconf/commit/7ad890fb7a2ec90a777a756a1fa20a615ec7245e +https://gitlab.gnome.org/GNOME/dconf/merge_requests/54 + +diff --git a/client/meson.build b/client/meson.build +index f3b7122cb05bfa7bb481c487e3cd052aa1ad58e5..de6387e2cac2aba12b83f2614c277bada434fd16 100644 +--- a/client/meson.build ++++ b/client/meson.build +@@ -28,7 +28,7 @@ libdconf_client = static_library( + + libdconf_client_dep = declare_dependency( + dependencies: gio_dep, +- link_whole: libdconf_client, ++ link_with: libdconf_client, + ) + + libdconf = shared_library( -- cgit 1.4.1 From 12818a0656817e95a80aace01089042c0b0e7e22 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Dec 2019 18:21:48 +0100 Subject: gnu: network-manager: Fix build with glibc 2.30. * gnu/packages/patches/network-manager-gettid.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gnome.scm (network-manager)[source](patches): Add it. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 3 ++- gnu/packages/patches/network-manager-gettid.patch | 20 ++++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/network-manager-gettid.patch diff --git a/gnu/local.mk b/gnu/local.mk index 234d283ee6..2b17423483 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1197,6 +1197,7 @@ dist_patch_DATA = \ %D%/packages/patches/netsurf-system-utf8proc.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \ + %D%/packages/patches/network-manager-gettid.patch \ %D%/packages/patches/nfs-utils-missing-headers.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/nm-plugin-path.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 37873e42bc..464f2ad818 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5822,7 +5822,8 @@ users.") (uri (string-append "mirror://gnome/sources/NetworkManager/" (version-major+minor version) "/" "NetworkManager-" version ".tar.xz")) - (patches (search-patches "nm-plugin-path.patch")) + (patches (search-patches "nm-plugin-path.patch" + "network-manager-gettid.patch")) (sha256 (base32 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3")) diff --git a/gnu/packages/patches/network-manager-gettid.patch b/gnu/packages/patches/network-manager-gettid.patch new file mode 100644 index 0000000000..d50b5f8102 --- /dev/null +++ b/gnu/packages/patches/network-manager-gettid.patch @@ -0,0 +1,20 @@ +glibc 2.30 added gettid() which conflicts with the implementation in +NetworkManager. Remove for 1.17.1 and later versions. + +Adapted from upstream: +https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/10276322bde8f015e48ac06f6a7509f514eb46f0 + +--- a/src/systemd/sd-adapt/nm-sd-adapt.h ++++ b/src/systemd/sd-adapt/nm-sd-adapt.h +@@ -181,9 +181,10 @@ + #endif + } + +-static inline pid_t gettid(void) { ++static inline pid_t _nm_gettid(void) { + return (pid_t) syscall(SYS_gettid); + } ++#define gettid() _nm_gettid () + + /* we build with C11 and thus provides char32_t,char16_t. */ + #define HAVE_CHAR32_T 1 -- cgit 1.4.1 From cc41e2b09f3a07c7b2baa59f79380c7812d47c69 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Dec 2019 08:18:33 +0100 Subject: gnu: libsm: Do not build static library. * gnu/packages/xorg.scm (libsm)[arguments]: New field. --- gnu/packages/xorg.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b3792122ac..a02a8eb9ef 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1226,6 +1226,8 @@ hit when running single-threaded.") (base32 "1fwwfq9v3sqmpzpscymswxn76xhxnysa24pfim1mcpxhvjcl89id")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (propagated-inputs `(("libice" ,libice))) ; SMlib.h includes ICElib.h (inputs -- cgit 1.4.1 From 25a2f2efa16860dce461c469aae11a4d0993e816 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Dec 2019 19:10:35 +0100 Subject: gnu: sbcl-cffi: Update to 0.20.1. * gnu/packages/lisp-xyz.scm (sbcl-cffi-bootstrap): Update to 0.20.1. [arguments]: Update substitution for libffi 3.3. --- gnu/packages/lisp-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 3589640653..cfdef02cea 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2210,7 +2210,7 @@ non-consing thread safe queues and fibonacci priority queues.") (define sbcl-cffi-bootstrap (package (name "sbcl-cffi-bootstrap") - (version "0.19.0") + (version "0.20.1") (source (origin (method git-fetch) @@ -2219,7 +2219,7 @@ non-consing thread safe queues and fibonacci priority queues.") (commit (string-append "v" version)))) (file-name (git-file-name "cffi-bootstrap" version)) (sha256 - (base32 "09sfgc6r7ihmbkwfpvkq5fxc7h45cabpvgbvs47i5cvnmv3k72xy")))) + (base32 "1bzgdwd5yzkv9hwnxg6lqyh5z1vjgjyrl12c72afj7hxziadccm8")))) (build-system asdf-build-system/sbcl) (inputs `(("libffi" ,libffi) @@ -2234,7 +2234,7 @@ non-consing thread safe queues and fibonacci priority queues.") (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "libffi/libffi.lisp" - (("libffi.so.6" all) (string-append + (("libffi.so.7" all) (string-append (assoc-ref inputs "libffi") "/lib/" all))) (substitute* "toolchain/c-toolchain.lisp" -- cgit 1.4.1 From c6af97b70a46efc59e4bf22f4566ffa502306f3e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Dec 2019 19:13:27 +0100 Subject: gnu: libfreehand: Fix build with ICU 65. * gnu/packages/libreoffice.scm (libfreehand)[arguments]: New field. --- gnu/packages/libreoffice.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 038031b800..3283f1b402 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -482,6 +482,17 @@ library primarily intended for language guessing.") (sha256 (base32 "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'build 'adjust-for-ICU-65 + (lambda _ + ;; Fix build with ICU 65 and later. Taken from this + ;; upstream commit, remove for libfreehand > 0.1.2: + ;; https://gerrit.libreoffice.org/#/c/80224/ + (substitute* "src/lib/libfreehand_utils.cpp" + (("U16_NEXT.*" all) + (string-append all ";\n"))) + #t))))) (native-inputs `(("cppunit" ,cppunit) ("doxygen" ,doxygen) -- cgit 1.4.1 From a1badf864f53b16ab8a52e387a65bf06530c2311 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 15:39:23 +0100 Subject: gnu: lcms: Do not build static library. * gnu/packages/ghostscript.scm (lcms)[arguments]: New field. --- gnu/packages/ghostscript.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 72a38fddf5..2b3a359bd6 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -58,6 +58,8 @@ (sha256 (base32 "083xisy6z01zhm7p7rgk4bx9d6zlr8l20qkfv1g29ylnhgwzvij8")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--disable-static"))) (inputs `(("libjpeg" ,libjpeg) ("libtiff" ,libtiff) ("zlib" ,zlib))) -- cgit 1.4.1 From 2fc865d301de71ab66bcb29f9aac22479a512dfe Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 15:58:05 +0100 Subject: gnu: gd: Do not build static library. * gnu/packages/gd.scm (gd)[arguments]: Add #:configure-flags. --- gnu/packages/gd.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 5b3f8509f8..6afccb7b0c 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -63,6 +63,7 @@ ;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding ;; issues on aarch64 and other architectures. `(#:make-flags '("CFLAGS=-ffp-contract=off") + #:configure-flags '("--disable-static") #:phases (modify-phases %standard-phases ;; This test is known to fail on i686-linux: -- cgit 1.4.1 From bd0af90a4e543626f4802f81267f544096e35417 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:21:14 +0100 Subject: gnu: libXpm: Gettext is a native input. * gnu/packages/xorg.scm (libxpm)[inputs]: Move GETTEXT-MINIMAL ... [native-inputs]: ... here. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a02a8eb9ef..8f4d2c33ef 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1446,12 +1446,12 @@ treat it as part of their software base when porting.") (arguments '(#:configure-flags '("--disable-static"))) (inputs - `(("gettext" ,gettext-minimal) - ("libxt" ,libxt) + `(("libxt" ,libxt) ("xorgproto" ,xorgproto) ("libxext" ,libxext))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") (synopsis "Xorg XPM library") (description "XPM (X Pixmap) image file format library.") -- cgit 1.4.1 From 6a66709d385c607b928d0d5a425331d36fea40ca Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:21:57 +0100 Subject: gnu: libXpm: Update to 3.5.13. * gnu/packages/xorg.scm (libxpm): Update to 3.5.13. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8f4d2c33ef..a7ec5851e2 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1431,7 +1431,7 @@ treat it as part of their software base when porting.") (define-public libxpm (package (name "libxpm") - (version "3.5.12") + (version "3.5.13") (source (origin (method url-fetch) @@ -1441,7 +1441,7 @@ treat it as part of their software base when porting.") ".tar.bz2")) (sha256 (base32 - "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx")))) + "09dc6nwlb2122h02vl64k9x56mxnyqz2gwpga0abfv4bb1bxmlcw")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) -- cgit 1.4.1 From 9039f0b7b61f56f70e8beb41ec02bcb96f12aacb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:26:23 +0100 Subject: gnu: CMake: Update to 3.16.2. * gnu/packages/cmake.scm (cmake-minimal): Update to 3.16.2. --- gnu/packages/cmake.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 806a7396e9..556e98afc1 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -51,7 +51,7 @@ (define-public cmake-minimal (package (name "cmake-minimal") - (version "3.16.0") + (version "3.16.2") (source (origin (method url-fetch) (uri (string-append "https://www.cmake.org/files/v" @@ -59,7 +59,7 @@ "/cmake-" version ".tar.gz")) (sha256 (base32 - "0pwcgvk75577rdizpzjrk2n43a6l7rvfhmhn7sd6xarwqrb6b9bd")) + "1ag65ignli58kpmji6gjhj8xw4w1qdr910i99hsvx8hcqrp7h2cc")) (modules '((guix build utils))) (snippet '(begin -- cgit 1.4.1 From 343139dabbe858c9e34544ba21fab34fbc6df20d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:29:13 +0100 Subject: gnu: cURL: Update to 7.68.0. * gnu/packages/curl.scm (curl): Update to 7.68.0. --- gnu/packages/curl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index a05c8e2c79..ee1cca449b 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -50,14 +50,14 @@ (define-public curl (package (name "curl") - (version "7.67.0") + (version "7.68.0") (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" version ".tar.xz")) (sha256 (base32 - "0v2k1v28ams5fa9gkybmnpnlkfqa2im5diywa8wqqcvr0crfglpm")))) + "0nh3j90w6b97wqcgxjfq55qhkz9s38955fbhwzv2fsi7483j895p")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.2 MiB of man3 pages -- cgit 1.4.1 From b9f71df3773c8cbe799cec1362aa5fb8314f7e13 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:47:37 +0100 Subject: gnu: fribidi: Update to 1.0.8. * gnu/packages/patches/fribidi-CVE-2019-18397.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/fribidi.scm (fribidi): Update to 1.0.8. --- gnu/local.mk | 1 - gnu/packages/fribidi.scm | 5 ++--- gnu/packages/patches/fribidi-CVE-2019-18397.patch | 26 ----------------------- 3 files changed, 2 insertions(+), 30 deletions(-) delete mode 100644 gnu/packages/patches/fribidi-CVE-2019-18397.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2b17423483..63f84ab459 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -859,7 +859,6 @@ dist_patch_DATA = \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ - %D%/packages/patches/fribidi-CVE-2019-18397.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ %D%/packages/patches/gawk-shell.patch \ diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index b6cabdc4b0..8fa0e6d980 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -28,7 +28,7 @@ (define-public fribidi (package (name "fribidi") - (version "1.0.7") + (version "1.0.8") (source (origin (method url-fetch) @@ -37,8 +37,7 @@ "/download/v" version "/fribidi-" version ".tar.bz2")) (sha256 - (base32 "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das")) - (patches (search-patches "fribidi-CVE-2019-18397.patch")))) + (base32 "0v0ybhck9vz4yayihydknmikslh3xfxygzywnh9rcamdhs6vdiwl")))) (build-system gnu-build-system) (synopsis "Implementation of the Unicode bidirectional algorithm") (description diff --git a/gnu/packages/patches/fribidi-CVE-2019-18397.patch b/gnu/packages/patches/fribidi-CVE-2019-18397.patch deleted file mode 100644 index aff1a669b2..0000000000 --- a/gnu/packages/patches/fribidi-CVE-2019-18397.patch +++ /dev/null @@ -1,26 +0,0 @@ -https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch - -From 034c6e9a1d296286305f4cfd1e0072b879f52568 Mon Sep 17 00:00:00 2001 -From: Dov Grobgeld -Date: Thu, 24 Oct 2019 09:37:29 +0300 -Subject: [PATCH] Truncate isolate_level to FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL - ---- - lib/fribidi-bidi.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c -index 6c84392..d384878 100644 ---- a/lib/fribidi-bidi.c -+++ b/lib/fribidi-bidi.c -@@ -747,7 +747,9 @@ fribidi_get_par_embedding_levels_ex ( - } - - RL_LEVEL (pp) = level; -- RL_ISOLATE_LEVEL (pp) = isolate_level++; -+ RL_ISOLATE_LEVEL (pp) = isolate_level; -+ if (isolate_level < FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL-1) -+ isolate_level++; - base_level_per_iso_level[isolate_level] = new_level; - - if (!FRIBIDI_IS_NEUTRAL (override)) -- cgit 1.4.1 From 972a3e0b1e40eeb58350fa322122890bd776f3d7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:50:10 +0100 Subject: gnu: mit-krb5: Update to 1.17.1. * gnu/packages/kerberos.scm (mit-krb5): Update to 1.17.1. --- gnu/packages/kerberos.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index bf344ce8ce..7435566c06 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -50,7 +50,7 @@ (define-public mit-krb5 (package (name "mit-krb5") - (version "1.17") + (version "1.17.1") (source (origin (method url-fetch) (uri (list @@ -62,7 +62,7 @@ "/krb5-" version ".tar.gz"))) (sha256 (base32 - "1xc1ly09697b7g2vngvx76szjqy9769kpgn27lnp1r9xln224vjs")))) + "10dimzcdzk9s79291qb4s3kwmbpb8bvppa6k6873wxxa5vndf1ip")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) -- cgit 1.4.1 From ef2782d7b4f82e5744e956a64492c883d6455132 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:52:34 +0100 Subject: gnu: libarchive: Update to 3.4.1. * gnu/packages/backup.scm (libarchive): Update to 3.4.1. [source](uri): Change to ".xz" tarball. --- gnu/packages/backup.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index e663cdc4cb..434b9a9c58 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -200,18 +200,18 @@ backups (called chunks) to allow easy burning to CD/DVD.") (define-public libarchive (package (name "libarchive") - (version "3.4.0") + (version "3.4.1") (source (origin (method url-fetch) (uri (list (string-append "https://libarchive.org/downloads/libarchive-" - version ".tar.gz") + version ".tar.xz") (string-append "https://github.com/libarchive/libarchive" "/releases/download/v" version "/libarchive-" - version ".tar.gz"))) + version ".tar.xz"))) (sha256 (base32 - "0pl25mmz1b1cnwf35kxmygyy9g7z7hslxbx329a9yx8csh7dahw6")))) + "1xs2c3fsss1g2a6yzip98j9bl93pxd3gqwr4ivh2fc6c10py115v")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2) -- cgit 1.4.1 From ceaf180526a81c025554717feb9d63080e550d19 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:55:04 +0100 Subject: gnu: libjpeg-turbo: Update to 2.0.4. * gnu/packages/patches/libjpeg-turbo-CVE-2019-2201.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/image.scm (libjpeg-turbo): Update to 2.0.4. [source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/image.scm | 5 ++-- .../patches/libjpeg-turbo-CVE-2019-2201.patch | 31 ---------------------- 3 files changed, 2 insertions(+), 35 deletions(-) delete mode 100644 gnu/packages/patches/libjpeg-turbo-CVE-2019-2201.patch diff --git a/gnu/local.mk b/gnu/local.mk index 63f84ab459..60b3b652f1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1086,7 +1086,6 @@ dist_patch_DATA = \ %D%/packages/patches/libgnome-encoding.patch \ %D%/packages/patches/libgnomeui-utf8.patch \ %D%/packages/patches/libgpg-error-gawk-compat.patch \ - %D%/packages/patches/libjpeg-turbo-CVE-2019-2201.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index c433429656..c70a60584b 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1487,15 +1487,14 @@ is hereby granted.")))) (define-public libjpeg-turbo (package (name "libjpeg-turbo") - (version "2.0.3") + (version "2.0.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libjpeg-turbo/" version "/libjpeg-turbo-" version ".tar.gz")) - (patches (search-patches "libjpeg-turbo-CVE-2019-2201.patch")) (sha256 (base32 - "1ds16bnj17v6hzd43w8pzijz3imd9am4hw75ir0fxm240m8dwij2")))) + "01ill8bgjyk582wipx7sh7gj2nidylpbzvwhx0wkcm6mxx3qbp9k")))) (build-system cmake-build-system) (native-inputs `(("nasm" ,nasm))) diff --git a/gnu/packages/patches/libjpeg-turbo-CVE-2019-2201.patch b/gnu/packages/patches/libjpeg-turbo-CVE-2019-2201.patch deleted file mode 100644 index 35f2bf5963..0000000000 --- a/gnu/packages/patches/libjpeg-turbo-CVE-2019-2201.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix integer overflow which can potentially lead to RCE. - -https://www.openwall.com/lists/oss-security/2019/11/11/1 -https://nvd.nist.gov/vuln/detail/CVE-2019-2201 - -The problem was partially fixed in 2.0.3. This patch is a follow-up. -https://github.com/libjpeg-turbo/libjpeg-turbo/issues/388 -https://github.com/libjpeg-turbo/libjpeg-turbo/commit/c30b1e72dac76343ef9029833d1561de07d29bad - -diff --git a/tjbench.c b/tjbench.c -index a7d397318..13a5bde62 100644 ---- a/tjbench.c -+++ b/tjbench.c -@@ -171,7 +171,7 @@ static int decomp(unsigned char *srcBuf, unsigned char **jpegBuf, - } - /* Set the destination buffer to gray so we know whether the decompressor - attempted to write to it */ -- memset(dstBuf, 127, pitch * scaledh); -+ memset(dstBuf, 127, (size_t)pitch * scaledh); - - if (doYUV) { - int width = doTile ? tilew : scaledw; -@@ -193,7 +193,7 @@ static int decomp(unsigned char *srcBuf, unsigned char **jpegBuf, - double start = getTime(); - - for (row = 0, dstPtr = dstBuf; row < ntilesh; -- row++, dstPtr += pitch * tileh) { -+ row++, dstPtr += (size_t)pitch * tileh) { - for (col = 0, dstPtr2 = dstPtr; col < ntilesw; - col++, tile++, dstPtr2 += ps * tilew) { - int width = doTile ? min(tilew, w - col * tilew) : scaledw; -- cgit 1.4.1 From 5184cbe5500abb48ce6a5be04655e0d357d04042 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 16:56:55 +0100 Subject: gnu: meson: Update to 0.53.0. * gnu/packages/build-tools.scm (meson): Update to 0.53.0. --- gnu/packages/build-tools.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index cffe59f309..006b0c48f2 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -168,7 +168,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") - (version "0.52.1") + (version "0.53.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -176,7 +176,7 @@ files and generates build instructions for the Ninja build system.") version ".tar.gz")) (sha256 (base32 - "0df0iw94cx6jiqd0liw8ax1by3dqaw6fdqrxgr9sal4rwir789qc")))) + "1xnkm4q9gk71nsdmrrmq7rv7lffgcif86awhpyg6rymn7acpaph3")))) (build-system python-build-system) (arguments `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH -- cgit 1.4.1 From e468843db38017849ea026f865827cc127dfaad7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 17:00:49 +0100 Subject: gnu: RHash: Do not use unstable source tarball. * gnu/packages/crypto.scm (rhash)[source]: Change to GIT-FETCH. --- gnu/packages/crypto.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index db39166d45..b63e322a9f 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -702,13 +702,14 @@ BLAKE.") (version "1.3.8") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rhash/RHash/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rhash/RHash") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0k60ywyhwqwqxa2q2l85vwgf884hcgy31nxir3dqgz7ymib6llxy")))) + "0i00wl63hn80g0s9gdi772gchbghwgkvn4nbb5227y2wwy30yyi2")))) (build-system gnu-build-system) (arguments `(#:make-flags -- cgit 1.4.1 From 23c883ef832d45387bb2a11451411a76be0c034f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 17:01:40 +0100 Subject: gnu: RHash: Update to 1.3.9. * gnu/packages/crypto.scm (rhash): Update to 1.3.9. [arguments]: Add phase 'patch-/bin/sh'. --- gnu/packages/crypto.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index b63e322a9f..91fbe6a8e4 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -699,7 +699,7 @@ BLAKE.") (define-public rhash (package (name "rhash") - (version "1.3.8") + (version "1.3.9") (source (origin (method git-fetch) @@ -709,7 +709,7 @@ BLAKE.") (file-name (git-file-name name version)) (sha256 (base32 - "0i00wl63hn80g0s9gdi772gchbghwgkvn4nbb5227y2wwy30yyi2")))) + "06i49x1l21h2q7pfnf4crbmjyg8b9ad0qs10ywyyn5sjpi0c21wq")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -724,6 +724,11 @@ BLAKE.") (lambda* (#:key outputs #:allow-other-keys) (invoke "./configure" (string-append "--prefix=" (assoc-ref outputs "out"))))) + (add-before 'check 'patch-/bin/sh + (lambda _ + (substitute* "Makefile" + (("/bin/sh") (which "sh"))) + #t)) (add-after 'install 'install-library-extras (lambda* (#:key make-flags #:allow-other-keys) (apply invoke -- cgit 1.4.1 From b34c1258515e75bcc73be7911fd7d237db1dd14b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 17:10:47 +0100 Subject: gnu: doxygen: Update to 1.8.17. * gnu/packages/documentation.scm (doxygen): Update to 1.8.17. [source](patches): Add doxygen-1.8.17-runtests.patch. [arguments]: Remove obsolete phase. * gnu/packages/patches/doxygen-test.patch: Adjust for upstream changes. * gnu/packages/patches/doxygen-1.8.17-runtests.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 + gnu/packages/documentation.scm | 14 ++--- gnu/packages/patches/doxygen-1.8.17-runtests.patch | 73 ++++++++++++++++++++++ gnu/packages/patches/doxygen-test.patch | 4 +- 4 files changed, 80 insertions(+), 12 deletions(-) create mode 100644 gnu/packages/patches/doxygen-1.8.17-runtests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 60b3b652f1..e2b605e0b8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -814,6 +814,7 @@ dist_patch_DATA = \ %D%/packages/patches/docker-use-fewer-modprobes.patch \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/doxygen-test.patch \ + %D%/packages/patches/doxygen-1.8.17-runtests.patch \ %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \ %D%/packages/patches/dstat-skip-devices-without-io.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index c512a9803b..c4a8c0242d 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -125,7 +125,7 @@ markup) can be customized and extended by the user.") (define-public doxygen (package (name "doxygen") - (version "1.8.16") + (version "1.8.17") (home-page "http://www.doxygen.nl/") (source (origin (method url-fetch) @@ -136,8 +136,9 @@ markup) can be customized and extended by the user.") ".src.tar.gz"))) (sha256 (base32 - "10iwv8bcz5b5cd85gg8pgn0bmyg04n9hs36xn7ggjjnvynv1z67z")) - (patches (search-patches "doxygen-test.patch")))) + "16dmv0gm1x8rvbm82fmjvi213q8fxqxinm75pcf595flya59ific")) + (patches (search-patches "doxygen-test.patch" + "doxygen-1.8.17-runtests.patch")))) (build-system cmake-build-system) (native-inputs `(("bison" ,bison) @@ -157,13 +158,6 @@ markup) can be customized and extended by the user.") '()) #:test-target "tests" #:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-git-requirement - (lambda _ - ;; TODO: Remove this for > 1.8.16. - (substitute* "cmake/git_watcher.cmake" - (("Git QUIET REQUIRED") - "Git QUIET")) - #t)) (add-before 'configure 'patch-sh (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/portable.cpp" diff --git a/gnu/packages/patches/doxygen-1.8.17-runtests.patch b/gnu/packages/patches/doxygen-1.8.17-runtests.patch new file mode 100644 index 0000000000..0340c72448 --- /dev/null +++ b/gnu/packages/patches/doxygen-1.8.17-runtests.patch @@ -0,0 +1,73 @@ +1.8.17 was released with a broken test runner. + +https://github.com/doxygen/doxygen/issues/7464 + +Taken from upstream: +https://github.com/doxygen/doxygen/commit/cd9dee013dc749a10bbe019c350e0e62b6635795 + +diff --git a/testing/runtests.py b/testing/runtests.py +index a4118b865..10fe50214 100755 +--- a/testing/runtests.py ++++ b/testing/runtests.py +@@ -3,6 +3,7 @@ + from __future__ import print_function + import argparse, glob, itertools, re, shutil, os, sys + import subprocess ++import shlex + + config_reg = re.compile('.*\/\/\s*(?P\S+):\s*(?P.*)$') + +@@ -28,10 +29,10 @@ def xpopen(cmd, cmd1="",encoding='utf-8-sig', getStderr=False): + return os.popen(cmd).read() # Python 2 without encoding + else: + if (getStderr): +- proc = subprocess.run(cmd1,encoding=encoding,capture_output=True) # Python 3 with encoding +- return proc.stderr ++ proc = subprocess.Popen(shlex.split(cmd1),stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding ++ return proc.stderr.read() + else: +- proc = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding ++ proc = subprocess.Popen(shlex.split(cmd),stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding=encoding) # Python 3 with encoding + return proc.stdout.read() + + class Tester: +@@ -137,7 +138,7 @@ def prepare_test(self): + print('GENERATE_DOCBOOK=NO', file=f) + if (self.args.xhtml): + print('GENERATE_HTML=YES', file=f) +- # HTML_OUTPUT can also be set locally ++ # HTML_OUTPUT can also have been set locally + print('HTML_OUTPUT=%s/html' % self.test_out, file=f) + print('HTML_FILE_EXTENSION=.xhtml', file=f) + if (self.args.pdf): +@@ -184,7 +185,7 @@ def update_test(self,testmgr): + print('Non-existing file %s after \'check:\' statement' % check_file) + return + # convert output to canonical form +- data = xpopen('%s --format --noblanks --nowarning %s' % (self.args.xmllint,check_file)).read() ++ data = xpopen('%s --format --noblanks --nowarning %s' % (self.args.xmllint,check_file)) + if data: + # strip version + data = re.sub(r'xsd" version="[0-9.-]+"','xsd" version=""',data).rstrip('\n') +@@ -326,7 +327,7 @@ def perform_test(self,testmgr): + tests.append(glob.glob('%s/*.xml' % (docbook_output))) + tests.append(glob.glob('%s/*/*/*.xml' % (docbook_output))) + tests = ' '.join(list(itertools.chain.from_iterable(tests))).replace(self.args.outputdir +'/','').replace('\\','/') +- exe_string = '%s --nonet --postvalid %s' % (self.args.xmllint,tests) ++ exe_string = '%s --noout --nonet --postvalid %s' % (self.args.xmllint,tests) + exe_string1 = exe_string + exe_string += ' %s' % (redirx) + exe_string += ' %s more "%s/temp"' % (separ,docbook_output) +@@ -346,7 +347,11 @@ def perform_test(self,testmgr): + redirx=' 2> %s/temp >nul:'%html_output + else: + redirx='2>%s/temp >/dev/null'%html_output +- exe_string = '%s --path dtd --nonet --postvalid %s/*xhtml' % (self.args.xmllint,html_output) ++ check_file = [] ++ check_file.append(glob.glob('%s/*.xhtml' % (html_output))) ++ check_file.append(glob.glob('%s/*/*/*.xhtml' % (html_output))) ++ check_file = ' '.join(list(itertools.chain.from_iterable(check_file))).replace(self.args.outputdir +'/','').replace('\\','/') ++ exe_string = '%s --noout --path dtd --nonet --postvalid %s' % (self.args.xmllint,check_file) + exe_string1 = exe_string + exe_string += ' %s' % (redirx) + exe_string += ' %s more "%s/temp"' % (separ,html_output) diff --git a/gnu/packages/patches/doxygen-test.patch b/gnu/packages/patches/doxygen-test.patch index a2da54a3fa..1c0d4eb946 100644 --- a/gnu/packages/patches/doxygen-test.patch +++ b/gnu/packages/patches/doxygen-test.patch @@ -52,9 +52,9 @@ diff -u -r doxygen-1.8.7.orig/testing/012/indexpage.xml doxygen-1.8.7/testing/01 - See [3] for more info. -- Oter references with crosreference see [1] and [2] for more info. +- Other references with cross references see [1] and [2] for more info. + See knuth79 for more info. -+ Oter references with crosreference see Be09 and BertholdHeinzVigerske2009 for more info. ++ Other references with cross references see Be09 and BertholdHeinzVigerske2009 for more info. -- cgit 1.4.1 From f62df4cbf275964ebba1b88ae584caf3f629efd8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 18:34:12 +0100 Subject: gnu: libpaper: Do not build the static library. * gnu/packages/ghostscript.scm (libpaper)[arguments]: Add #:configure-flags. --- gnu/packages/ghostscript.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 2b3a359bd6..c63fc2f9f9 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -90,7 +90,8 @@ Consortium standard (ICC), approved as ISO 15076-1.") (native-inputs `(("automake" ,automake))) ; For up to date 'config.guess' and 'config.sub'. (arguments - `(#:phases + `(#:configure-flags '("--disable-static") + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-configure (lambda* (#:key inputs native-inputs #:allow-other-keys) -- cgit 1.4.1 From 9d2c24d22780f6db8b2190905dcff6c8d498df56 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 18:41:39 +0100 Subject: gnu: teckit: Do not build the static library. * gnu/packages/fontutils.scm (teckit)[arguments]: New field. --- gnu/packages/fontutils.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 97d4cae872..b5c8d27c7e 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -403,6 +403,8 @@ X11-system or any other graphical user interface.") (sha256 (base32 "0gbxyip4wdibirdg2pvzayzyy927vxyd6dfyfiflx8zg88qzn8v8")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("zlib" ,zlib) ("expat" ,expat))) -- cgit 1.4.1 From 02fef9619bd96086aa9255ffb0944d4cda617c84 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 19:03:12 +0100 Subject: gnu: Boost: Update to 1.72.0. * gnu/packages/patches/boost-dumpversion.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/boost.scm (boost): Update to 1.72.0. [source](uri): Remove defunct mirror. [source](patches): Remove. [arguments]: Adjust /bin/sh substitutions. Remove obsolete workaround. --- gnu/local.mk | 1 - gnu/packages/boost.scm | 25 ++++++++----------------- gnu/packages/patches/boost-dumpversion.patch | 24 ------------------------ 3 files changed, 8 insertions(+), 42 deletions(-) delete mode 100644 gnu/packages/patches/boost-dumpversion.patch diff --git a/gnu/local.mk b/gnu/local.mk index e2b605e0b8..2a60a8d4c7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -750,7 +750,6 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ - %D%/packages/patches/boost-dumpversion.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-remove-test-bs4.patch \ diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 3665dccb56..1f896d3811 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019 Giacomo Leidi +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,21 +47,17 @@ (define-public boost (package (name "boost") - (version "1.70.0") + (version "1.72.0") (source (origin (method url-fetch) (uri (let ((version-with-underscores (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version))) - (list (string-append "mirror://sourceforge/boost/boost/" version - "/boost_" version-with-underscores ".tar.bz2") - (string-append "https://dl.bintray.com/boostorg/release/" - version "/source/boost_" - version-with-underscores ".tar.bz2")))) - (patches - (search-patches "boost-dumpversion.patch")) + (string-append "https://dl.bintray.com/boostorg/release/" + version "/source/boost_" + version-with-underscores ".tar.bz2"))) (sha256 (base32 - "0y47nc7w0arwgj4x1phadxbvl7wyfcgknbz5kv8lzpl98wsyh2j3")))) + "08h7cv61fd0lzb4z50xanfqn0pdgvizjrpd1kcdgj725pisb5jar")))) (build-system gnu-build-system) (inputs `(("icu4c" ,icu4c) ("zlib" ,zlib))) @@ -75,11 +72,6 @@ #:make-flags (list "threading=multi" "link=shared" - ;; XXX: Disable installation of Boosts modular CMake config scripts - ;; which conflicts in 1.70.0 with the ones provided by CMake. - ;; See . - "--no-cmake-config" - ;; Set the RUNPATH to $libdir so that the libs find each other. (string-append "linkflags=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib") @@ -109,9 +101,8 @@ (out (assoc-ref outputs "out"))) (substitute* '("libs/config/configure" "libs/spirit/classic/phoenix/test/runtest.sh" - "tools/build/src/engine/execunix.c" - "tools/build/src/engine/Jambase" - "tools/build/src/engine/jambase.c") + "tools/build/src/engine/execunix.cpp" + "tools/build/src/engine/Jambase") (("/bin/sh") (which "sh"))) (setenv "SHELL" (which "sh")) diff --git a/gnu/packages/patches/boost-dumpversion.patch b/gnu/packages/patches/boost-dumpversion.patch deleted file mode 100644 index 7df779cfe6..0000000000 --- a/gnu/packages/patches/boost-dumpversion.patch +++ /dev/null @@ -1,24 +0,0 @@ -This issue is described here: https://github.com/openwrt/packages/pull/8685 -and has not been solved as of 1.70.0 release. - ---- a/tools/build/src/tools/common.jam -+++ b/tools/build/src/tools/common.jam -@@ -973,18 +973,6 @@ - } - } - -- # From GCC 5, versioning changes and minor becomes patch -- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ] -- { -- version = $(version[1]) ; -- } -- -- # Ditto, from Clang 4 -- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ] -- { -- version = $(version[1]) ; -- } -- - # On intel, version is not added, because it does not matter and it is the - # version of vc used as backend that matters. Ideally, we should encode the - # backend version but that would break compatibility with V1. -- cgit 1.4.1 From 2ac164a8107dbb07ba1ed29986859d3e936f795a Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Sun, 8 Dec 2019 22:18:35 +0100 Subject: gnu: Boost: Use Python 3 by default. * gnu/packages/boost.scm (boost)[inputs]: Change PYTHON-2 to PYTHON-WRAPPER. [arguments]: Add #:modules and #:imported-modules. Adjust phases 'configure' and 'provide-libboost_python.so' to be agnostic of Python version. * gnu/packages/boost.scm (boost-with-python3): Rename to ... * gnu/packages/boost.scm (boost-with-python2): ... this. [arguments]: Remove. [native-inputs]: Inherit from BOOST, but replace the "python" input with PYTHON-2. Co-authored-by: Marius Bakke --- gnu/packages/boost.scm | 100 +++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 58 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 1f896d3811..c00db88654 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2018 Maxim Cournoyer ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019 Mathieu Othacehe -;;; Copyright © 2019 Giacomo Leidi +;;; Copyright © 2019, 2020 Giacomo Leidi ;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -42,7 +42,8 @@ #:use-module (gnu packages icu4c) #:use-module (gnu packages perl) #:use-module (gnu packages python) - #:use-module (gnu packages shells)) + #:use-module (gnu packages shells) + #:use-module (srfi srfi-1)) (define-public boost (package @@ -65,10 +66,14 @@ `(("perl" ,perl) ,@(if (%current-target-system) '() - `(("python" ,python-2))) + `(("python" ,python-wrapper))) ("tcsh" ,tcsh))) (arguments - `(#:tests? #f + `(#:imported-modules ((guix build python-build-system) + ,@%gnu-build-system-modules) + #:modules (((guix build python-build-system) #:select (python-version)) + ,@%gnu-build-system-modules) + #:tests? #f #:make-flags (list "threading=multi" "link=shared" @@ -98,6 +103,7 @@ (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((icu (assoc-ref inputs "icu4c")) + (python (assoc-ref inputs "python")) (out (assoc-ref outputs "out"))) (substitute* '("libs/config/configure" "libs/spirit/classic/phoenix/test/runtest.sh" @@ -116,11 +122,23 @@ ,(%current-target-system))))) '()) + (when (which "python3") + (substitute* "tools/build/src/tools/python.jam" + (("include/python\\$\\(version\\)") + "include/python$(version)m"))) + (invoke "./bootstrap.sh" (string-append "--prefix=" out) ;; Auto-detection looks for ICU only in traditional ;; install locations. (string-append "--with-icu=" icu) + ;; Ditto for Python. + ,@(if (%current-target-system) + '() + `((string-append "--with-python-root=" python) + (string-append "--with-python=" python "/bin/python") + (string-append "--with-python-version=" + (python-version python)))) "--with-toolset=gcc")))) (replace 'build (lambda* (#:key make-flags #:allow-other-keys) @@ -133,16 +151,23 @@ ,@(if (%current-target-system) '() '((add-after 'install 'provide-libboost_python - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Boost can build support for both Python 2 and - ;; Python 3 since version 1.67.0, and suffixes each - ;; library with the Python version. Many consumers - ;; only check for libboost_python however, so we - ;; provide it here as suggested in - ;; . + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (python-version (python-version + (assoc-ref inputs "python"))) + (libboost_pythonNN.so + (string-append "libboost_python" + (string-join (string-split + python-version #\.) + "") + ".so"))) (with-directory-excursion (string-append out "/lib") - (symlink "libboost_python27.so" "libboost_python.so")) + (symlink libboost_pythonNN.so "libboost_python.so") + ;; Some packages only look for the major version. + (symlink libboost_pythonNN.so + (string-append "libboost_python" + (string-take python-version 1) + ".so"))) #t)))))))) (home-page "https://www.boost.org") @@ -153,54 +178,13 @@ across a broad spectrum of applications.") (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt" "Some components have other similar licences.")))) -;; TODO: Merge with 'Boost' in the next rebuild cycle. -(define-public boost-with-python3 +(define-public boost-with-python2 (package (inherit boost) - (name "boost-python3") + (name "boost-python2") (native-inputs - `(("perl" ,perl) - ("python" ,python) - ("tcsh" ,tcsh))) - (arguments (substitute-keyword-arguments (package-arguments boost) - ((#:phases phases) - `(modify-phases ,phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((icu (assoc-ref inputs "icu4c")) - (python (assoc-ref inputs "python")) - (out (assoc-ref outputs "out"))) - (substitute* '("libs/config/configure" - "libs/spirit/classic/phoenix/test/runtest.sh" - "tools/build/src/engine/execunix.c" - "tools/build/src/engine/Jambase" - "tools/build/src/engine/jambase.c") - (("/bin/sh") (which "sh"))) - - (setenv "SHELL" (which "sh")) - (setenv "CONFIG_SHELL" (which "sh")) - - (substitute* "tools/build/src/tools/python.jam" - (("include/python\\$\\(version\\)") - "include/python$(version)m")) - - (invoke "./bootstrap.sh" - (string-append "--prefix=" out) - ;; Auto-detection looks for dependencies only - ;; in traditional install locations. - (string-append "--with-icu=" icu) - (string-append "--with-python=" python "/bin/python3") - (string-append "--with-python-root=" python) - "--with-python-version=3.7" - "--with-toolset=gcc")))) - (replace 'provide-libboost_python - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion (string-append out "/lib") - (symlink "libboost_python37.so" "libboost_python.so") - ;; Some packages also look for libboost_python3.so - (symlink "libboost_python37.so" "libboost_python3.so")) - #t))))))))) + `(("python" ,python-2) + ,@(alist-delete "python" (package-native-inputs boost)))))) (define-public boost-static (package -- cgit 1.4.1 From a82e6faa8b993d1f3b47a8bd22c4509f7cae7ec1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 21:35:21 +0100 Subject: gnu: vigra: Build with Python 3. * gnu/packages/patches/vigra-python-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/image.scm (vigra)[source](patches): New field. [inputs]: Change PYTHON-2 and PYTHON2-NUMPY to PYTHON and PYTHON-NUMPY. [native-inputs]: Change from PYTHON2-NOSE to PYTHON. [arguments]: Adjust #:configure-flags accordingly. --- gnu/local.mk | 1 + gnu/packages/image.scm | 14 +++++++++----- gnu/packages/patches/vigra-python-compat.patch | 18 ++++++++++++++++++ 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/vigra-python-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2a60a8d4c7..802884a74f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1450,6 +1450,7 @@ dist_patch_DATA = \ %D%/packages/patches/vboot-utils-fix-format-load-address.patch \ %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \ %D%/packages/patches/vboot-utils-skip-test-workbuf.patch \ + %D%/packages/patches/vigra-python-compat.patch \ %D%/packages/patches/vinagre-newer-freerdp.patch \ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ %D%/packages/patches/virglrenderer-CVE-2017-6386.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index c70a60584b..298bff3450 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018 Fis Trivial ;;; Copyright © 2018 Pierre Neidhardt -;;; Copyright © 2018, 2019 Marius Bakke +;;; Copyright © 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Rutger Helling @@ -76,6 +76,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system meson) @@ -1007,6 +1008,7 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (uri (string-append "https://github.com/ukoethe/vigra/releases/download/" "Version-" (string-join (string-split version #\.) "-") "/vigra-" version "-src.tar.gz")) + (patches (search-patches "vigra-python-compat.patch")) (sha256 (base32 "1bqs8vx5i1bzamvv563i24gx2xxdidqyxh9iaj46mbznhc84wmm5")))) (build-system cmake-build-system) @@ -1021,12 +1023,12 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") ("libpng" ,libpng) ("libtiff" ,libtiff) ("openexr" ,openexr) - ("python" ,python-2) ; print syntax - ("python2-numpy" ,python2-numpy) + ("python" ,python) + ("python-numpy" ,python-numpy) ("zlib" ,zlib))) (native-inputs `(("doxygen" ,doxygen) - ("python2-nose" ,python2-nose) + ("python-nose" ,python-nose) ("sphinx" ,python-sphinx))) (arguments `(#:test-target "check" @@ -1046,7 +1048,9 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (list "-Wno-dev" ; suppress developer mode with lots of warnings (string-append "-DVIGRANUMPY_INSTALL_DIR=" (assoc-ref %outputs "out") - "/lib/python2.7/site-packages") + "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages") ;; OpenEXR is not enabled by default. "-DWITH_OPENEXR=1" ;; Fix rounding error on 32-bit machines diff --git a/gnu/packages/patches/vigra-python-compat.patch b/gnu/packages/patches/vigra-python-compat.patch new file mode 100644 index 0000000000..63c6abb326 --- /dev/null +++ b/gnu/packages/patches/vigra-python-compat.patch @@ -0,0 +1,18 @@ +Fix build with Boost + Python 3.7. + +Taken from upstream: +https://github.com/ukoethe/vigra/commit/a6fa62663c6a6b752ed0707e95f643e25867a0f9 + +diff --git a/vigranumpy/src/core/vigranumpycore.cxx b/vigranumpy/src/core/vigranumpycore.cxx +index ec38d3636..c81c6ae52 100644 +--- a/vigranumpy/src/core/vigranumpycore.cxx ++++ b/vigranumpy/src/core/vigranumpycore.cxx +@@ -61,7 +61,7 @@ UInt32 pychecksum(python::str const & s) + return checksum(data, size); + #else + Py_ssize_t size = 0; +- char * data = PyUnicode_AsUTF8AndSize(s.ptr(), &size); ++ const char * data = PyUnicode_AsUTF8AndSize(s.ptr(), &size); + return checksum(data, size); + #endif + } -- cgit 1.4.1 From 9d3b6a5d65505018186d778c4812c3c90aab3527 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Jan 2020 22:27:48 +0100 Subject: Revert "gnu: network-manager: Fix build with glibc 2.30." This commit was obsolete by the time it was pushed, whoops! This reverts commit 12818a0656817e95a80aace01089042c0b0e7e22. --- gnu/local.mk | 1 - gnu/packages/gnome.scm | 3 +-- gnu/packages/patches/network-manager-gettid.patch | 20 -------------------- 3 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 gnu/packages/patches/network-manager-gettid.patch diff --git a/gnu/local.mk b/gnu/local.mk index 802884a74f..7462445c98 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1195,7 +1195,6 @@ dist_patch_DATA = \ %D%/packages/patches/netsurf-system-utf8proc.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \ - %D%/packages/patches/network-manager-gettid.patch \ %D%/packages/patches/nfs-utils-missing-headers.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/nm-plugin-path.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 464f2ad818..37873e42bc 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5822,8 +5822,7 @@ users.") (uri (string-append "mirror://gnome/sources/NetworkManager/" (version-major+minor version) "/" "NetworkManager-" version ".tar.xz")) - (patches (search-patches "nm-plugin-path.patch" - "network-manager-gettid.patch")) + (patches (search-patches "nm-plugin-path.patch")) (sha256 (base32 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3")) diff --git a/gnu/packages/patches/network-manager-gettid.patch b/gnu/packages/patches/network-manager-gettid.patch deleted file mode 100644 index d50b5f8102..0000000000 --- a/gnu/packages/patches/network-manager-gettid.patch +++ /dev/null @@ -1,20 +0,0 @@ -glibc 2.30 added gettid() which conflicts with the implementation in -NetworkManager. Remove for 1.17.1 and later versions. - -Adapted from upstream: -https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/10276322bde8f015e48ac06f6a7509f514eb46f0 - ---- a/src/systemd/sd-adapt/nm-sd-adapt.h -+++ b/src/systemd/sd-adapt/nm-sd-adapt.h -@@ -181,9 +181,10 @@ - #endif - } - --static inline pid_t gettid(void) { -+static inline pid_t _nm_gettid(void) { - return (pid_t) syscall(SYS_gettid); - } -+#define gettid() _nm_gettid () - - /* we build with C11 and thus provides char32_t,char16_t. */ - #define HAVE_CHAR32_T 1 -- cgit 1.4.1 From 691068f08d23464865162656f0a87223dda93c00 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Jan 2020 14:36:01 +0100 Subject: gnu: vigra: Fix 'vigra-config' executable. This fixes a regression introduced in a82e6faa8b993d1f3b47a8bd22c4509f7cae7ec1 where 'vigra-config' would lack a usable shebang because no 'python' executable was available. * gnu/packages/image.scm (vigra)[inputs]: Change from PYTHON to PYTHON-WRAPPER. --- gnu/packages/image.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 298bff3450..06fe4cb2aa 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1023,7 +1023,7 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") ("libpng" ,libpng) ("libtiff" ,libtiff) ("openexr" ,openexr) - ("python" ,python) + ("python" ,python-wrapper) ("python-numpy" ,python-numpy) ("zlib" ,zlib))) (native-inputs -- cgit 1.4.1 From 5cde458bd519f0765716afca84627052eee16489 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Jan 2020 15:25:49 +0100 Subject: gnu: boost: Add upstream patch. * gnu/packages/boost.scm (version-with-underscores, boost-patch): New procedures. (boost)[source](uri): Remove LET binding for VERSION-WITH-UNDERSCORES. [source](patches): New field. --- gnu/packages/boost.scm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index c00db88654..e44087dcb5 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -45,17 +45,32 @@ #:use-module (gnu packages shells) #:use-module (srfi srfi-1)) +(define (version-with-underscores version) + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)) + +(define (boost-patch name version hash) + (origin + (method url-fetch) + (uri (string-append "https://www.boost.org/patches/" + (version-with-underscores version) "/" name)) + (file-name (string-append "boost-" name)) + (sha256 (base32 hash)))) + (define-public boost (package (name "boost") (version "1.72.0") (source (origin (method url-fetch) - (uri (let ((version-with-underscores - (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version))) - (string-append "https://dl.bintray.com/boostorg/release/" - version "/source/boost_" - version-with-underscores ".tar.bz2"))) + (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: + ;; . + "0001-revert-cease-dependence-on-range.patch" version + "1zcqxzh56m1s635wqwk15j3zcs2gmjvjy2f0hid7i78s4pgm0yfs"))) (sha256 (base32 "08h7cv61fd0lzb4z50xanfqn0pdgvizjrpd1kcdgj725pisb5jar")))) -- cgit 1.4.1 From 8419a7ed44ee86e1b93b9dd1779c9ab192f98175 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Jan 2020 18:42:59 +0100 Subject: gnu: dblatex: Update to 0.3.11. * gnu/packages/docbook.scm (dblatex): Update to 0.3.11. --- gnu/packages/docbook.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index d114e24ee7..dcb58af44e 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -183,7 +183,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (define-public dblatex (package (name "dblatex") - (version "0.3.10") + (version "0.3.11") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/dblatex/dblatex/" @@ -191,7 +191,7 @@ by no means limited to these applications.) This package provides XML DTDs.") version ".tar.bz2")) (sha256 (base32 - "1yicd861rqz78i2khl35j7nvc0ccv4jx4hzqrbhll17082vrdmkg")))) + "0rp1bc2lgisigscq1i7zxfd2qdaxxxld6khbcxss4pq7fpi9fzkv")))) (build-system python-build-system) ;; TODO: Add xfig/transfig for fig2dev utility (inputs -- cgit 1.4.1 From 869b63cb93c68a2825bfe25b652d5481555f9b12 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 3 Dec 2019 00:55:06 +0100 Subject: gnu: pango: Update to 1.44.7. * gnu/packages/patches/pango-skip-libthai-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gtk.scm (pango): Update to 1.44.7. [source](patches): New field. [build-system]: Switch to MESON-BUILD-SYSTEM. [arguments]: Disable tests that require the Cantarell font. [inputs]: Move LIBXFT ... [propagated-inputs]: ... here. (pango-1.42): New public variable. * gnu/packages/gnome.scm (librsvg)[inputs]: Change from PANGO to PANGO-1.42. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 4 ++- gnu/packages/gtk.scm | 41 ++++++++++++++++++---- gnu/packages/patches/pango-skip-libthai-test.patch | 23 ++++++++++++ 4 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/pango-skip-libthai-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7462445c98..62561c7261 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1242,6 +1242,7 @@ dist_patch_DATA = \ %D%/packages/patches/p7zip-CVE-2017-17969.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \ %D%/packages/patches/pam-mount-luks2-support.patch \ + %D%/packages/patches/pango-skip-libthai-test.patch \ %D%/packages/patches/patchutils-test-perms.patch \ %D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/pcre2-fix-jit_match-crash.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 37873e42bc..d492739df5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1543,7 +1543,9 @@ dealing with different structured file formats.") ("glib" ,glib "bin") ; glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. (inputs - `(("pango" ,pango) + `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for + ;; this ancient version of librsvg. + ("pango" ,pango-1.42) ("libcroco" ,libcroco) ("bzip2" ,bzip2) ("libgsf" ,libgsf) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 67b129c2a1..0ab5c36ca1 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2016 ng0 ;;; Copyright © 2017 Roel Janssen ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice -;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Pierre Neidhardt @@ -222,16 +222,28 @@ affine transformation (scale, rotation, shear, etc.).") (define-public pango (package (name "pango") - (version "1.42.4") + (version "1.44.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" (version-major+minor version) "/" name "-" version ".tar.xz")) + (patches (search-patches "pango-skip-libthai-test.patch")) (sha256 (base32 - "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx")))) - (build-system gnu-build-system) + "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6")))) + (build-system meson-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-cantarell-tests + (lambda _ + (substitute* "tests/meson.build" + ;; XXX FIXME: These tests require "font-cantarell", but + ;; adding it here would introduce a circular dependency. + (("\\[ 'test-harfbuzz'.*") "") + (("\\[ 'test-itemize'.*") "") + (("\\[ 'test-layout'.*") "")) + #t))))) (propagated-inputs ;; These are all in Requires or Requires.private of the '.pc' files. `(("cairo" ,cairo) @@ -239,13 +251,13 @@ affine transformation (scale, rotation, shear, etc.).") ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) - ("harfbuzz" ,harfbuzz))) - (inputs - `(("zlib" ,zlib) + ("harfbuzz" ,harfbuzz) ;; Some packages, such as Openbox, expect Pango to be built with the ;; optional libxft support. ("libxft" ,libxft))) + (inputs + `(("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; glib-mkenums, etc. @@ -258,6 +270,21 @@ used throughout the world.") (license license:lgpl2.0+) (home-page "https://developer.gnome.org/pango/"))) +(define-public pango-1.42 + (package/inherit + pango + (version "1.42.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pango/" + (version-major+minor version) "/" + "pango-" version ".tar.xz")) + (sha256 + (base32 + "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx")))) + (build-system gnu-build-system) + (arguments '()))) + (define-public pangox-compat (package (name "pangox-compat") diff --git a/gnu/packages/patches/pango-skip-libthai-test.patch b/gnu/packages/patches/pango-skip-libthai-test.patch new file mode 100644 index 0000000000..98732b5391 --- /dev/null +++ b/gnu/packages/patches/pango-skip-libthai-test.patch @@ -0,0 +1,23 @@ +Skip Thai character test when libthai is unavailable. + +Taken from upstream bug tracker: +https://gitlab.gnome.org/GNOME/pango/merge_requests/161 +https://gitlab.gnome.org/GNOME/pango/commit/b73284747ac937e31dc9191f84ed6e24284c88ee + +diff --git a/tests/test-break.c b/tests/test-break.c +index 8549b678bba69360d07dce3af21d915412f20d51..47fa3009165e19a331aa04a0df4351ae2323933b 100644 +--- a/tests/test-break.c ++++ b/tests/test-break.c +@@ -305,6 +305,12 @@ main (int argc, char *argv[]) + if (!strstr (name, "break")) + continue; + ++#ifndef HAVE_LIBTHAI ++ /* four.break involves Thai, so only test it when we have libthai */ ++ if (strstr (name, "four.break")) ++ continue; ++#endif ++ + path = g_strdup_printf ("/break/%s", name); + g_test_add_data_func_full (path, g_test_build_filename (G_TEST_DIST, "breaks", name, NULL), + test_break, g_free); -- cgit 1.4.1 From 233c1be0a30846f6646b1f4edc6257037d0835fc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Jan 2020 22:05:28 +0100 Subject: Revert "gnu: wayland: Update to 1.18.0." This commit only changed the version, not the checksum; and the version does not exist. This reverts commit 373007882def43f43d8da9678f6ab81047e32230. --- gnu/packages/freedesktop.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 2096cdb49f..a26cbea542 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -555,7 +555,7 @@ Python.") (define-public wayland (package (name "wayland") - (version "1.18.0") + (version "1.17.0") (source (origin (method url-fetch) (uri (string-append "https://wayland.freedesktop.org/releases/" -- cgit 1.4.1 From 3963fc70a52e9ebdd0639870a60ec786c59aaca3 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Thu, 26 Dec 2019 20:00:01 +0200 Subject: gnu: python-fonttools: Update to 4.2.2. * gnu/packages/python-xyz.scm (python-fonttools): Update to 4.2.2. --- gnu/packages/python-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 75ab361616..daa57888bb 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -68,6 +68,7 @@ ;;; Copyright © 2019 Wiktor Żelazny ;;; Copyright © 2019 Tanguy Le Carrour ;;; Copyright © 2019 Mădălin Ionel Patrașcu +;;; Copyright © 2020 Riku Viitanen ;;; ;;; This file is part of GNU Guix. ;;; @@ -6800,13 +6801,13 @@ add functionality and customization to your projects with their own plugins.") (define-public python-fonttools (package (name "python-fonttools") - (version "4.2.0") + (version "4.2.2") (source (origin (method url-fetch) (uri (pypi-uri "fonttools" version ".zip")) (sha256 (base32 - "0psy6z52jn49wp93s3k7kj0jzji1cad3wnwgm6c26vphv5appk4v")))) + "012qqspnwdl4vy8qgzzpfglkk5dgzxiw0fak2jq74ngygvz3vfv6")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip) -- cgit 1.4.1 From 3cc8e029a08f33f6fd8d033e46f56efe499de563 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Jan 2020 23:36:36 +0100 Subject: gnu: Add ruby-hydra. * gnu/packages/ruby.scm (ruby-hydra): New public variable. --- gnu/packages/ruby.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 57d7fa91f3..969fc95a00 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2019 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft ;;; Copyright © 2017 ng0 -;;; Copyright © 2017, 2019 Marius Bakke +;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur @@ -1953,6 +1953,40 @@ two hashes.") (home-page "https://github.com/liufengyun/hashdiff") (license license:expat))) +(define-public ruby-hydra + ;; No releases yet. + (let ((commit "5abfa378743756ae4d9306cc134bcc482f5c9525") + (revision "0")) + (package + (name "ruby-hydra") + (version (git-version "0.0" revision commit)) + (home-page "https://github.com/hyphenation/hydra") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cik398l2765y3d9sdhjzki3303hkry58ac6jlkiy7iy62nm529f")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) + (replace 'check + (lambda _ + (invoke "rspec")))))) + (native-inputs + `(("ruby-rspec" ,ruby-rspec))) + (propagated-inputs + `(("ruby-byebug" ,ruby-byebug))) + (synopsis "Ruby hyphenation patterns") + (description + "ruby-hydra is a Ruby library for working with hyphenation patterns.") + (license license:expat)))) + (define-public ruby-shindo (package (name "ruby-shindo") -- cgit 1.4.1 From 1e5663e2e63e1e1dab116d3e84a7e5852922ed31 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 18:36:50 +0100 Subject: gnu: poppler: Update to 0.84.0. * gnu/packages/pdf.scm (poppler): Update to 0.84.0. * gnu/packages/inkscape.scm (inkscape)[arguments]: Add phase 'adjust-for-new-poppler'. --- gnu/packages/inkscape.scm | 15 ++++++++++++++- gnu/packages/pdf.scm | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 1ad23a92d4..0bd8b9496b 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2014, 2016 Mark H Weaver ;;; Copyright © 2016, 2018 Ricardo Wurmus -;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017, 2020 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -88,6 +88,19 @@ (substitute* "share/icons/application/CMakeLists.txt" (("gtk-update-icon-cache") "true")) #t)) + (add-after 'unpack 'adjust-for-new-poppler + (lambda _ + (substitute* (find-files "src/extension/internal/pdfinput") + ;; Needed for Poppler 0.82. + (("Unicode \\*u") "Unicode const *u") + ;; Needed for Poppler 0.83. + (("\\(GfxPath") "(const GfxPath") + (("GfxSubpath") "const GfxSubpath") + (("new GlobalParams\\(\\)") + "std::unique_ptr(new GlobalParams())") + (("new GlobalParams\\(poppler_datadir\\)") + "std::unique_ptr(new GlobalParams(poppler_datadir))")) + #t)) (add-before 'configure 'dont-use-system-includes (lambda _ ;; Don't add redundant -isystem includes which confuses GCC7. diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 368b2ce69e..32a45ed4d5 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -90,14 +90,14 @@ (define-public poppler (package (name "poppler") - (version "0.79.0") + (version "0.84.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "1j18jlv1q6h21azb939gqjsgcbsh5qcd8dwxdmad54p5ixha91gr")))) + "0ccp2gx05cz5y04k5pgbyi4ikyq60nafa7x2yx4aaf1vfkd318f7")))) (build-system cmake-build-system) ;; FIXME: ;; use libcurl: no -- cgit 1.4.1 From cebe07775bb3e16d41f75b2161a56da84937c7bd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 22:36:40 +0100 Subject: build-system/texlive: Update to texlive-2019.3, revision 51265. * guix/build-system/texlive.scm (%texlive-tag): Change to "2019.3". (%texlive-revision): Change to 51265. --- guix/build-system/texlive.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm index ad99d1e2d0..8bbca0ccb7 100644 --- a/guix/build-system/texlive.scm +++ b/guix/build-system/texlive.scm @@ -42,8 +42,8 @@ ;; These variables specify the SVN tag and the matching SVN revision. They ;; are taken from https://www.tug.org/svn/texlive/tags/ -(define %texlive-tag "texlive-2018.2") -(define %texlive-revision 49435) +(define %texlive-tag "texlive-2019.3") +(define %texlive-revision 51265) (define (texlive-origin name version locations hash) "Return an object for a TeX Live package consisting of multiple -- cgit 1.4.1 From 1f2ef813fccd38a81c186d2e664c05038fc674e4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 22:37:10 +0100 Subject: gnu: texlive-bin: Update to 20190410. * gnu/packages/patches/texlive-bin-CVE-2018-17407.patch, gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch: Delete files. * gnu/packages/patches/texlive-bin-poppler-0.83.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/tex.scm (texlive-extra-src): Update to 20190419. (texlive-bin): Likewise. [source](patches): Update Arch patches for Poppler 0.84 compatibility. [arguments]: Remove phase 'use-code-for-even-newer-poppler'; add phase 'patch-dvisgm-build-files'. --- gnu/local.mk | 3 +- .../patches/texlive-bin-CVE-2018-17407.patch | 249 ----------------- .../texlive-bin-luatex-poppler-compat.patch | 293 --------------------- .../patches/texlive-bin-poppler-0.83.patch | 52 ++++ gnu/packages/tex.scm | 44 ++-- 5 files changed, 72 insertions(+), 569 deletions(-) delete mode 100644 gnu/packages/patches/texlive-bin-CVE-2018-17407.patch delete mode 100644 gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch create mode 100644 gnu/packages/patches/texlive-bin-poppler-0.83.patch diff --git a/gnu/local.mk b/gnu/local.mk index 09f46b065e..fd3d434d0c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1405,8 +1405,7 @@ dist_patch_DATA = \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/teeworlds-use-latest-wavpack.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \ - %D%/packages/patches/texlive-bin-CVE-2018-17407.patch \ - %D%/packages/patches/texlive-bin-luatex-poppler-compat.patch \ + %D%/packages/patches/texlive-bin-poppler-0.83.patch \ %D%/packages/patches/telegram-purple-adjust-test.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-i18n.patch \ diff --git a/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch b/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch deleted file mode 100644 index 63646d420c..0000000000 --- a/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch +++ /dev/null @@ -1,249 +0,0 @@ -This patch adds support for newer versions of Poppler and some upstream -TexLive fixes, including one for CVE-2018-17407. - -It is taken from Linux From Scratch: -. - -Submitted By: Ken Moffat -Date: 2018-12-26 -Initial Package Version: 20180414 -Upstream Status: Applied -Origin: Upstream -Description: Two fixes, cherry-picked from svn plus a CVE fix. -I have removed the partial fixes for various system versions of poppler. - -r47469 Fix segfault in dvipdfm-x (XeTeX) on 1/2/4-bit transparent indexed PNGs. - -r47477 Fix a ptex regression for discontinuous kinsoku table. - -Also, via fedora (I got lost in svn) a critical fix for CVE-2018-17407 - -"A buffer overflow in the handling of Type 1 fonts allows arbitrary code -execution when a malicious font is loaded by one of the vulnerable tools: -pdflatex, pdftex, dvips, or luatex." - -diff -Naur a/texk/dvipdfm-x/pngimage.c b/texk/dvipdfm-x/pngimage.c ---- a/texk/dvipdfm-x/pngimage.c 2018-02-17 08:41:35.000000000 +0000 -+++ b/texk/dvipdfm-x/pngimage.c 2018-10-09 01:52:01.648670875 +0100 -@@ -964,12 +964,16 @@ - png_bytep trans; - int num_trans; - png_uint_32 i; -+ png_byte bpc, mask, shift; - - if (!png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) || - !png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL)) { - WARN("%s: PNG does not have valid tRNS chunk but tRNS is requested.", PNG_DEBUG_STR); - return NULL; - } -+ bpc = png_get_bit_depth(png_ptr, info_ptr); -+ mask = 0xff >> (8 - bpc); -+ shift = 8 - bpc; - - smask = pdf_new_stream(STREAM_COMPRESS); - dict = pdf_stream_dict(smask); -@@ -981,7 +985,8 @@ - pdf_add_dict(dict, pdf_new_name("ColorSpace"), pdf_new_name("DeviceGray")); - pdf_add_dict(dict, pdf_new_name("BitsPerComponent"), pdf_new_number(8)); - for (i = 0; i < width*height; i++) { -- png_byte idx = image_data_ptr[i]; -+ /* data is packed for 1/2/4 bpc formats, msb first */ -+ png_byte idx = (image_data_ptr[bpc * i / 8] >> (shift - bpc * i % 8)) & mask; - smask_data_ptr[i] = (idx < num_trans) ? trans[idx] : 0xff; - } - pdf_add_stream(smask, (char *)smask_data_ptr, width*height); -diff -Naur a/texk/dvipsk/writet1.c b/texk/dvipsk/writet1.c ---- a/texk/dvipsk/writet1.c 2016-11-25 18:24:26.000000000 +0000 -+++ b/texk/dvipsk/writet1.c 2018-10-09 01:52:01.648670875 +0100 -@@ -1449,7 +1449,9 @@ - *(strend(t1_buf_array) - 1) = ' '; - - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/luatexdir/font/writet1.w b/texk/web2c/luatexdir/font/writet1.w ---- a/texk/web2c/luatexdir/font/writet1.w 2016-11-25 18:24:34.000000000 +0000 -+++ b/texk/web2c/luatexdir/font/writet1.w 2018-10-09 01:52:01.648670875 +0100 -@@ -1625,7 +1625,9 @@ - if (sscanf(p, "%i", &i) != 1) { - strcpy(t1_buf_array, t1_line_array); - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w ---- a/texk/web2c/luatexdir/image/pdftoepdf.w 2018-01-17 18:00:12.000000000 +0000 -+++ b/texk/web2c/luatexdir/image/pdftoepdf.w 2018-10-09 01:52:01.648670875 +0100 -@@ -472,10 +472,10 @@ - break; - */ - case objString: -- copyString(pdf, obj->getString()); -+ copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, obj->getName()); -+ copyName(pdf, (char *)obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -diff -Naur a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc ---- a/texk/web2c/luatexdir/lua/lepdflib.cc 2018-02-14 14:44:38.000000000 +0000 -+++ b/texk/web2c/luatexdir/lua/lepdflib.cc 2018-10-09 01:52:01.649670868 +0100 -@@ -674,7 +674,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- gs = ((in *) uin->d)->function(); \ -+ gs = (GooString *)((in *) uin->d)->function(); \ - if (gs != NULL) \ - lua_pushlstring(L, gs->getCString(), gs->getLength()); \ - else \ -@@ -1813,7 +1813,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((Object *) uin->d)->isString()) { -- gs = ((Object *) uin->d)->getString(); -+ gs = (GooString *)((Object *) uin->d)->getString(); - lua_pushlstring(L, gs->getCString(), gs->getLength()); - } else - lua_pushnil(L); -diff -Naur a/texk/web2c/pdftexdir/writet1.c b/texk/web2c/pdftexdir/writet1.c ---- a/texk/web2c/pdftexdir/writet1.c 2016-11-25 18:24:37.000000000 +0000 -+++ b/texk/web2c/pdftexdir/writet1.c 2018-10-09 01:52:01.649670868 +0100 -@@ -1598,7 +1598,9 @@ - *(strend(t1_buf_array) - 1) = ' '; - - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/ptexdir/ptex_version.h b/texk/web2c/ptexdir/ptex_version.h ---- a/texk/web2c/ptexdir/ptex_version.h 2018-01-21 03:48:06.000000000 +0000 -+++ b/texk/web2c/ptexdir/ptex_version.h 2018-10-09 01:52:01.649670868 +0100 -@@ -1 +1 @@ --#define PTEX_VERSION "p3.8.0" -+#define PTEX_VERSION "p3.8.1" -diff -Naur a/texk/web2c/ptexdir/tests/free_ixsp.tex b/texk/web2c/ptexdir/tests/free_ixsp.tex ---- a/texk/web2c/ptexdir/tests/free_ixsp.tex 1970-01-01 01:00:00.000000000 +0100 -+++ b/texk/web2c/ptexdir/tests/free_ixsp.tex 2018-10-09 01:52:01.649670868 +0100 -@@ -0,0 +1,53 @@ -+%#!eptex -ini -etex -+\let\dump\relax -+\batchmode -+\input plain -+ -+\errorstopmode -+\catcode`@=11 -+\newcount\@tempcnta -+\newcount\@tempcntb -+\newcount\@tempcntc -+\mathchardef\LIM=256 -+ -+\def\MYCHAR#1{% -+ \@tempcntc=\numexpr7*#1+"101\relax -+ \@tempcnta=\@tempcntc\divide\@tempcnta 94 -+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax -+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi -+ \advance\@tempcnta18 % 18区以降 -+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax -+} -+ -+\newcount\CNT\newcount\CNTA -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \message{\the\CNT.} -+ \inhibitxspcode\CNTA=1\relax -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+ -+\newcount\CNTB -+ -+\loop -+ \MYCHAR\CNTB -+ \global\inhibitxspcode\CNTA=3 -+{% -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \count@=\numexpr 1-\inhibitxspcode\CNTA\relax -+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else -+ \errmessage{<\the\CNTB, \the\CNT, \the\inhibitxspcode\CNTA>}\fi\fi -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+} -+ \MYCHAR\CNTB -+ \global\inhibitxspcode\CNTA=1\relax -+ \advance\CNTB1\relax -+ \ifnum\CNTB<\LIM -+\repeat -+\bye -diff -Naur a/texk/web2c/ptexdir/tests/free_pena.tex b/texk/web2c/ptexdir/tests/free_pena.tex ---- a/texk/web2c/ptexdir/tests/free_pena.tex 1970-01-01 01:00:00.000000000 +0100 -+++ b/texk/web2c/ptexdir/tests/free_pena.tex 2018-10-09 01:52:01.649670868 +0100 -@@ -0,0 +1,52 @@ -+%#!eptex -ini -etex -+\let\dump\relax -+\batchmode -+\input plain -+ -+\errorstopmode -+\catcode`@=11 -+\newcount\@tempcnta -+\newcount\@tempcntb -+\newcount\@tempcntc -+\mathchardef\LIM=256 -+ -+\def\MYCHAR#1{% -+ \@tempcntc=\numexpr7*#1+"101\relax -+ \@tempcnta=\@tempcntc\divide\@tempcnta 94 -+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax -+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi -+ \advance\@tempcnta18 % 18区以降 -+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax -+} -+ -+\newcount\CNT\newcount\CNTA -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \message{\the\CNT.} -+ \prebreakpenalty\CNTA=\numexpr\CNT+1\relax -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+ -+\newcount\CNTB -+ -+\loop -+ \MYCHAR\CNTB -+ \global\prebreakpenalty\CNTA=0 -+{% -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \count@=\numexpr -\CNT-1+\prebreakpenalty\CNTA\relax -+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else\errmessage{<\the\CNTB, \the\CNT>}\fi\fi -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+} -+ \MYCHAR\CNTB -+ \global\prebreakpenalty\CNTA=\numexpr\CNTB+1\relax -+ \advance\CNTB1\relax -+ \ifnum\CNTB<\LIM -+\repeat -+\bye diff --git a/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch b/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch deleted file mode 100644 index 024ff416af..0000000000 --- a/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch +++ /dev/null @@ -1,293 +0,0 @@ -Fix LuaTeX compatibility with Poppler 0.75. - -Upstream LuaTeX have moved from Poppler to "pplib" and thus upstream -fixes are unavailable. This is based on Archs patch, with minor -tweaks to comply with texlive-bin-CVE-2018-17407.patch. -https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/texlive-bin&id=418dd6f008c3d41a461353fdb60f2d73d87c58ed - -diff --git a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w ---- a/texk/web2c/luatexdir/image/pdftoepdf.w -+++ b/texk/web2c/luatexdir/image/pdftoepdf.w -@@ -363,7 +363,7 @@ void copyReal(PDF pdf, double d) - - static void copyString(PDF pdf, GooString * string) - { -- char *p; -+ const char *p; - unsigned char c; - size_t i, l; - p = string->getCString(); -@@ -393,7 +393,7 @@ static void copyString(PDF pdf, GooString * string) - pdf->cave = true; - } - --static void copyName(PDF pdf, char *s) -+static void copyName(PDF pdf, const char *s) - { - pdf_out(pdf, '/'); - for (; *s != 0; s++) { -@@ -412,7 +412,7 @@ static void copyArray(PDF pdf, PdfDocument * pdf_doc, Array * array) - Object obj1; - pdf_begin_array(pdf); - for (i = 0, l = array->getLength(); i < l; ++i) { -- obj1 = array->getNF(i); -+ obj1 = array->getNF(i).copy(); - copyObject(pdf, pdf_doc, &obj1); - } - pdf_end_array(pdf); -@@ -425,7 +425,7 @@ static void copyDict(PDF pdf, PdfDocument * pdf_doc, Dict * dict) - pdf_begin_dict(pdf); - for (i = 0, l = dict->getLength(); i < l; ++i) { - copyName(pdf, dict->getKey(i)); -- obj1 = dict->getValNF(i); -+ obj1 = dict->getValNF(i).copy(); - copyObject(pdf, pdf_doc, &obj1); - } - pdf_end_dict(pdf); -@@ -475,7 +475,7 @@ static void copyObject(PDF pdf, PdfDocument * pdf_doc, Object * obj) - copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, (char *)obj->getName()); -+ copyName(pdf, obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -@@ -531,22 +531,22 @@ static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) - { - switch (pagebox_spec) { - case PDF_BOX_SPEC_MEDIA: -- return page->getMediaBox(); -+ return (PDFRectangle *) page->getMediaBox(); - break; - case PDF_BOX_SPEC_CROP: -- return page->getCropBox(); -+ return (PDFRectangle *) page->getCropBox(); - break; - case PDF_BOX_SPEC_BLEED: -- return page->getBleedBox(); -+ return (PDFRectangle *) page->getBleedBox(); - break; - case PDF_BOX_SPEC_TRIM: -- return page->getTrimBox(); -+ return (PDFRectangle *) page->getTrimBox(); - break; - case PDF_BOX_SPEC_ART: -- return page->getArtBox(); -+ return (PDFRectangle *) page->getArtBox(); - break; - default: -- return page->getMediaBox(); -+ return (PDFRectangle *) page->getMediaBox(); - break; - } - } -@@ -788,12 +788,12 @@ void write_epdf(PDF pdf, image_dict * idict, int suppress_optional_info) - Now all relevant parts of the Page dictionary are copied. Metadata validity - check is needed(as a stream it must be indirect). - */ -- obj1 = pageDict->lookupNF("Metadata"); -+ obj1 = pageDict->lookupNF("Metadata").copy(); - if (!obj1.isNull() && !obj1.isRef()) - formatted_warning("pdf inclusion","/Metadata must be indirect object"); - /* copy selected items in Page dictionary */ - for (i = 0; pagedictkeys[i] != NULL; i++) { -- obj1 = pageDict->lookupNF(pagedictkeys[i]); -+ obj1 = pageDict->lookupNF(pagedictkeys[i]).copy(); - if (!obj1.isNull()) { - pdf_add_name(pdf, pagedictkeys[i]); - /* preserves indirection */ -@@ -806,13 +806,13 @@ void write_epdf(PDF pdf, image_dict * idict, int suppress_optional_info) - PDF file, climbing up the tree until the Resources are found. - (This fixes a problem with Scribus 1.3.3.14.) - */ -- obj1 = pageDict->lookupNF("Resources"); -+ obj1 = pageDict->lookupNF("Resources").copy(); - if (obj1.isNull()) { - op1 = &pagesobj1; - op2 = &pagesobj2; - *op1 = pageDict->lookup("Parent"); - while (op1->isDict()) { -- obj1 = op1->dictLookupNF("Resources"); -+ obj1 = op1->dictLookupNF("Resources").copy(); - if (!obj1.isNull()) { - pdf_add_name(pdf, "Resources"); - copyObject(pdf, pdf_doc, &obj1); -diff --git a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc ---- a/texk/web2c/luatexdir/lua/lepdflib.cc -+++ b/texk/web2c/luatexdir/lua/lepdflib.cc -@@ -240,7 +240,7 @@ static int l_new_Attribute(lua_State * L) - if (uobj->pd != NULL && uobj->pd->pc != uobj->pc) - pdfdoc_changed_error(L); - uout = new_Attribute_userdata(L); -- uout->d = new Attribute(n, nlen, (Object *)uobj->d); -+ uout->d = new Attribute((GooString)n, (Object *)uobj->d); - uout->atype = ALLOC_LEPDF; - uout->pc = uobj->pc; - uout->pd = uobj->pd; -@@ -496,7 +496,7 @@ static int l_new_Object(lua_State * L) - double numA = lua_tonumber(L,1); - double genA = lua_tonumber(L,2); - if ( ((numA)==(int)(numA)) && ((genA)==(int)(genA)) ){ -- uout->d = new Object((int)(numA), (int)(genA)); -+ uout->d = new Object({(int)(numA), (int)(genA)}); - uout->atype = ALLOC_LEPDF; - uout->pc = 0; - uout->pd = NULL; -@@ -596,7 +596,7 @@ static int m_##in##_##function(lua_State * L) \ - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- o = ((in *) uin->d)->function(); \ -+ o = (out *) ((in *) uin->d)->function(); \ - if (o != NULL) { \ - uout = new_##out##_userdata(L); \ - uout->d = o; \ -@@ -889,7 +889,7 @@ static int m_Array_getNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1); -+ *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1125,12 +1125,12 @@ m_poppler_get_INT(Dict, getLength); - - static int m_Dict_add(lua_State * L) - { -- char *s; -+ const char *s; - udstruct *uin, *uobj; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- s = copyString(luaL_checkstring(L, 2)); -+ s = luaL_checkstring(L, 2); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); - ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d))); - return 0; -@@ -1190,7 +1190,7 @@ static int m_Dict_lookupNF(lua_State * L) - s = luaL_checkstring(L, 2); - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s); -+ *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1263,7 +1263,7 @@ static int m_Dict_getValNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1); -+ *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1653,7 +1653,7 @@ static int m_Object_initRef(lua_State * L) - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- *((Object *) uin->d) = Object(num, gen); -+ *((Object *) uin->d) = Object({num, gen}); - return 0; - } - -@@ -2011,7 +2011,7 @@ static int m_Object_arrayGetNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1); -+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2051,7 +2051,7 @@ static int m_Object_dictAdd(lua_State * L) - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d))); -+ ((Object *) uin->d)->dictAdd(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -2104,7 +2104,7 @@ static int m_Object_dictLookupNF(lua_State * L) - if (((Object *) uin->d)->isDict()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2169,7 +2169,7 @@ static int m_Object_dictGetValNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2470,7 +2470,7 @@ static int m_PDFDoc_getFileName(lua_State * L) - uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- gs = ((PdfDocument *) uin->d)->doc->getFileName(); -+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->getFileName(); - if (gs != NULL) - lua_pushlstring(L, gs->getCString(), gs->getLength()); - else -@@ -2559,7 +2559,7 @@ static int m_PDFDoc_readMetadata(lua_State * L) - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- gs = ((PdfDocument *) uin->d)->doc->readMetadata(); -+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->readMetadata(); - if (gs != NULL) - lua_pushlstring(L, gs->getCString(), gs->getLength()); - else -@@ -2577,7 +2577,7 @@ static int m_PDFDoc_getStructTreeRoot(lua_State * L) - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); -+ obj = (StructTreeRoot *) ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); - uout = new_StructTreeRoot_userdata(L); - uout->d = obj; - uout->pc = uin->pc; ---- texlive-source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2019-04-24 09:41:05.090522664 +0000 -+++ texlive-source/texk/web2c/luatexdir/lua/lepdflib.cc 2019-04-24 09:43:37.119184926 +0000 -@@ -994,7 +994,8 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- i = ((Catalog *) uin->d)->findPage(num, gen); -+ Ref numgen = {num, gen}; -+ i = ((Catalog *) uin->d)->findPage(numgen); - if (i > 0) - lua_pushinteger(L, i); - else -@@ -2596,8 +2597,9 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -+ Ref numgen = {num, gen}; - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- i = ((PdfDocument *) uin->d)->doc->findPage(num, gen); -+ i = ((PdfDocument *) uin->d)->doc->findPage(numgen); - if (i > 0) - lua_pushinteger(L, i); - else ---- texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w.orig 2019-04-24 09:56:38.406498975 +0000 -+++ texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w 2019-04-24 09:56:57.020081327 +0000 -@@ -630,7 +630,7 @@ - if (link == NULL || !link->isOk()) - formatted_error("pdf inclusion","invalid destination '%s'",img_pagename(idict)); - Ref ref = link->getPageRef(); -- img_pagenum(idict) = catalog->findPage(ref.num, ref.gen); -+ img_pagenum(idict) = catalog->findPage(ref); - if (img_pagenum(idict) == 0) - formatted_error("pdf inclusion","destination is not a page '%s'",img_pagename(idict)); - delete link; diff --git a/gnu/packages/patches/texlive-bin-poppler-0.83.patch b/gnu/packages/patches/texlive-bin-poppler-0.83.patch new file mode 100644 index 0000000000..5e57e3efac --- /dev/null +++ b/gnu/packages/patches/texlive-bin-poppler-0.83.patch @@ -0,0 +1,52 @@ +Fix build with Poppler 0.83 and later. + +Taken from Arch Linux, but adjusted to patch the versioned Poppler +files, as upstream applies it after copying them in place. +https://git.archlinux.org/svntogit/packages.git/tree/trunk/texlive-poppler-0.83.patch?h=packages/texlive-bin + +diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc +--- texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc ++++ texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc +@@ -723,7 +723,7 @@ + #endif + // initialize + if (!isInit) { +- globalParams = new GlobalParams(); ++ globalParams.reset(new GlobalParams()); + globalParams->setErrQuiet(false); + isInit = true; + } +@@ -1108,6 +1108,5 @@ + delete_document(p); + } + // see above for globalParams +- delete globalParams; + } + } +diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc +--- texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc ++++ texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc +@@ -79,7 +79,7 @@ + exit(1); + } + fileName = new GString(argv[1]); +- globalParams = new GlobalParams(); ++ globalParams.reset(new GlobalParams()); + doc = new PDFDoc(fileName); + if (!doc->isOk()) { + fprintf(stderr, "Invalid PDF file\n"); +@@ -100,7 +100,7 @@ + if (objnum == 0) { + srcStream = catalogDict.dictLookup("SourceObject"); + static char const_SourceFile[] = "SourceFile"; +- if (!srcStream.isStream(const_SourceFile)) { ++ if (!srcStream.isDict(const_SourceFile)) { + fprintf(stderr, "No SourceObject found\n"); + exit(1); + } +@@ -202,5 +202,4 @@ + fprintf(stderr, "Cross-reference table extracted to %s\n", outname); + fclose(outfile); + delete doc; +- delete globalParams; + } diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index e4346d1232..644b455966 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -227,9 +227,9 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (define texlive-extra-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2018/texlive-20180414-extra.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2019/texlive-20190410-extra.tar.xz") (sha256 (base32 - "0a83kymxc8zmlxjb0y1gf6mx7qnf0hxffwkivwh5yh138y2rfhsv")))) + "13ncf2an4nlqv18lki6y2p6pcsgs1i54zqkhfwprax5j53bk70j8")))) (define texlive-texmf-src (origin @@ -241,15 +241,15 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (define-public texlive-bin (package (name "texlive-bin") - (version "20180414") + (version "20190410") (source (origin (method url-fetch) - (uri (string-append "ftp://tug.org/historic/systems/texlive/2018/" + (uri (string-append "ftp://tug.org/historic/systems/texlive/2019/" "texlive-" version "-source.tar.xz")) (sha256 (base32 - "0khyi6h015r2zfqgg0a44a2j7vmr1cy42knw7jbss237yvakc07y")) + "1dfps39q6bdr1zsbp9p74mvalmy3bycihv19sb9c6kg30kprz8nj")) (patches (let ((arch-patch (lambda (name revision hash) @@ -260,14 +260,13 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "&id=" revision)) (file-name (string-append "texlive-bin-" name)) (sha256 (base32 hash))))) - (arch-revision "c4b99aba97213ea554b6592a4916d3c7394a6d7b")) - (append (search-patches "texlive-bin-CVE-2018-17407.patch" - "texlive-bin-luatex-poppler-compat.patch") - (list - (arch-patch "pdftex-poppler0.76.patch" arch-revision - "15ypbh21amfsdxy7ca825x28lkmmkklxk1w660gpgvzdi7s70h0b") - (arch-patch "xetex-poppler-fixes.patch" arch-revision - "1jj1p5zkjljb7id9pjv29cw0cf8mwrgrh4ackgzz9c200vaqpsvx"))))))) + (arch-revision "49d7fe25e5ea63f136ebc20270c1d8fc9b00041c")) + (list + (arch-patch "pdftex-poppler0.76.patch" arch-revision + "03vc88dz37mjjyaspzv0fik2fp5gp8qv82114869akd1dhszbaax") + (search-patch "texlive-bin-poppler-0.83.patch") + (arch-patch "texlive-poppler-0.84.patch" arch-revision + "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")))))) (build-system gnu-build-system) (inputs `(("texlive-extra-src" ,texlive-extra-src) @@ -284,7 +283,7 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "-checkout")) (sha256 (base32 - "0wrjls1y9b4k1z10l9l8w2l3yjcw7v7by2y16kchdpkiyldlkry6")))) + "1cj04svl8bpfwjr4gqfcc04rmklz3aggrxvgj7q5bxrh7c7g18xh")))) ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("fontforge" ,fontforge) @@ -362,18 +361,13 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (copy-file "texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc" "texk/web2c/pdftexdir/pdftosrc.cc") #t)) - (add-after 'use-code-for-new-poppler 'use-code-for-even-newer-poppler + (add-after 'unpack 'patch-dvisvgm-build-files (lambda _ - ;; Adjust for deprecated types in Poppler 0.73 and later. - (substitute* (append - (find-files "texk/web2c/luatexdir/" "\\.(cc|w)$") - '("texk/web2c/pdftexdir/pdftosrc.cc")) - (("GBool") "bool") - (("gFalse") "false") - (("gTrue") "true") - (("getCString") "c_str") - (("Guint") "unsigned int") - (("Guchar") "unsigned char")) + ;; XXX: Ghostscript is detected, but HAVE_LIBGS is never set, so + ;; the appropriate linker flags are not added. + (substitute* "texk/dvisvgm/configure" + (("^have_libgs=yes" all) + (string-append all "\nHAVE_LIBGS=1"))) #t)) (add-after 'unpack 'disable-failing-test (lambda _ -- cgit 1.4.1 From 46fd83031e72a0795ee8380a1e0285746e031c55 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 22:38:01 +0100 Subject: gnu: texlive-bin: Do not build static libraries. * gnu/packages/tex.scm (texlive-bin)[arguments]: Add "--disable-static" in #:configure-flags. --- gnu/packages/tex.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 644b455966..3653e1d00c 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -314,7 +314,8 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (arguments `(#:out-of-source? #t #:configure-flags - `("--disable-native-texlive-build" + '("--disable-static" + "--disable-native-texlive-build" "--with-system-cairo" "--with-system-freetype2" "--with-system-gd" -- cgit 1.4.1 From 928fc7c5116c3ecd8b9d4487eef0c07c71a43c37 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 22:38:35 +0100 Subject: gnu: texlive-bin: Purge unused bundled software from the source. * gnu/packages/tex.scm (texlive-bin)[source](modules, snippet): New fields. --- gnu/packages/tex.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 3653e1d00c..c9b211ed84 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -266,7 +266,22 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "03vc88dz37mjjyaspzv0fik2fp5gp8qv82114869akd1dhszbaax") (search-patch "texlive-bin-poppler-0.83.patch") (arch-patch "texlive-poppler-0.84.patch" arch-revision - "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")))))) + "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")))) + (modules '((guix build utils) + (ice-9 ftw))) + (snippet + '(begin + (with-directory-excursion "libs" + (let ((preserved-directories '("." ".." "lua53" "luajit"))) + ;; Delete bundled software, except Lua which cannot easily be + ;; used as an external dependency. + (for-each delete-file-recursively + (scandir "." + (lambda (file) + (and (not (member file preserved-directories)) + (eq? 'directory (stat:type (stat file))))))))) + ;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too. + #t)))) (build-system gnu-build-system) (inputs `(("texlive-extra-src" ,texlive-extra-src) -- cgit 1.4.1 From 737ac0b7dafba31fee03bfd8618c8a5db5ef4521 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 10 Jan 2020 23:05:07 +0100 Subject: gnu: Add texlive-hyphen-pali. * gnu/packages/tex.scm (texlive-hyphen-pali): New public variable. --- gnu/packages/tex.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index c9b211ed84..4acdc3baf1 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -1959,6 +1959,19 @@ It ranges from the Val d'Aran within Catalunya, to the South Western Italian Alps encompassing the southern half of the French pentagon.") (license license:lppl1.0+))) +(define-public texlive-hyphen-pali + (package + (inherit (texlive-hyphen-package + "texlive-hyphen-pali" "pi" + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pi.tex") + (base32 + "1fak853s4ijdqgrnhwymaq1lh8jab3qfyxapdmf6qpg6bqd20kxq"))) + (synopsis "Panjabi hyphenation patterns") + (description "This package provides hyphenation patterns for Panjabi in +T1/EC encoding.") + ;; Can be used with either license. + (license (list license:expat license:lgpl3+ license:gpl3+)))) + (define-public texlive-hyphen-piedmontese (package (inherit (texlive-hyphen-package -- cgit 1.4.1 From 85892948bd9fb5fcc3409a60204cc8b14a4eb030 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Jan 2020 23:53:40 +0100 Subject: gnu: TeX Live: Update packages to 2019.3. * gnu/packages/tex.scm (texlive-texmf, texlive): Update to 20190410. (texlive-union)[native-inputs]: Update "updmap.cfg". (texlive-latex-base)[source]: Adjust for removed files. [arguments]: Ignore one new csplain build. [native-inputs]: Update hash for "texlive-luatexconfig". [inputs]: Add TEXLIVE-HYPHEN-PALI. (texlive-hyphen-package)[native-inputs]: Add RUBY-HYDRA. [arguments]: Rewrite phases for upstream changes. In particular, the language is now detected automatically, rendering the CODE parameter obsolete. (texlive-hyphen-armenian, texlive-hyphen-turkish)[arguments]: Use pre-generated patterns. (texlive-hyphen-basque, texlive-hyphen-turkmen)[arguments]: Likewise. [license]: Adjust for updated source file. (texlive-hyphen-ethiopic, texlive-hyphen-galician)[arguments, license]: Likewise. [native-inputs]: Remove. (texlive-hyphen-german)[source]: Adjust for file rename. (texlive-latex-fancyvrb): Use SIMPLE-TEXLIVE-PACKAGE. (texlive-fonts-ec)[license]: Update URI. (texlive-doi, texlive-pst-text)[source]: Update paths and hash. (texlive-latex-pgf)[native-inputs]: Update "texlive-latex-pgf-generic". (texlive-generic-pdftex)[native-inputs]: Update "pdftex-map". (texlive-latex-pdfx)[native-inputs]: Update "texlive-tex-pdfx". (hyph-utf8-scripts, texlive-docstrip, texlive-unicode-data, texlive-hyphen-base, texlive-fontinst, texlive-cm, texlive-tex-plain, texlive-hyphen-afrikaans, texlive-hyphen-ancientgreek, texlive-hyphen-belarusian, texlive-hyphen-bulgarian, texlive-hyphen-catalan, texlive-hyphen-chinese, texlive-hyphen-churchslavonic, texlive-hyphen-coptic, texlive-hyphen-croatian, texlive-hyphen-czech, texlive-hyphen-danish, texlive-hyphen-dutch, texlive-hyphen-english, texlive-hyphen-esperanto, texlive-hyphen-estonian, texlive-hyphen-finnish, texlive-hyphen-french, texlive-hyphen-friulan, texlive-hyphen-galician, texlive-hyphen-georgian, texlive-hyphen-greek, texlive-hyphen-hungarian, texlive-hyphen-icelandic, texlive-hyphen-indic, texlive-hyphen-indonesian, texlive-hyphen-interlingua, texlive-hyphen-irish, texlive-hyphen-italian, texlive-hyphen-kurmanji, texlive-hyphen-latin, texlive-hyphen-latvian, texlive-hyphen-lithuanian, texlive-hyphen-mongolian, texlive-hyphen-norwegian, texlive-hyphen-occitan, texlive-hyphen-piedmontese, texlive-hyphen-polish, texlive-hyphen-portuguese, texlive-hyphen-romanian, texlive-hyphen-romansh, texlive-hyphen-russian, texlive-hyphen-sanskrit, texlive-hyphen-serbian, texlive-hyphen-slovak, texlive-hyphen-slovenian, texlive-hyphen-spanish, texlive-hyphen-swedish, texlive-hyphen-thai, texlive-hyphen-ukrainian, texlive-hyphen-uppersorbian, texlive-hyphen-welsh, texlive-hyph-utf8, texlive-dehyph-exptl, texlive-latex-kpathsea, texlive-latex-filecontents, texlive-latex-oberdisk, texlive-latex-tools, texlive-latex-l3kernel, texlive-latex-l3packages, texlive-latex-fontspec, texlive-latex-amsmath, texlive-latex-babel, texlive-generic-babel-german, texlive-latex-etoolbox, texlive-latex-g-brief, texlive-latex-geometry, texlive-latex-polyglossia, texlive-tex-texinfo, texlive-latex-colortbl, texlive-luatex-fancyhdr, texlive-latex-listings, texlive-latex-eso-pic, texlive-latex-enumitem, texlive-latex-multirow, texlive-latex-overpic, texlive-latex-parskip, texlive-latex-metapost, texlive-latex-acmart, texlive-fonts-media9, texlive-latex-ocgx2, texlive-latex-pgf, texlive-metapost, texlive-latex-koma-script, texlive-generic-listofitems, texlive-latex-bibtex, texlive-context-base, texlive-beamer, texlive-latex-pdfx, texlive-pstricks, texlive-tools, texlive-siunitx): Update hashes. --- gnu/packages/tex.scm | 501 +++++++++++++++++---------------------------------- 1 file changed, 162 insertions(+), 339 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 4acdc3baf1..a31e2695e7 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Thomas Danckaert ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2017 Leo Famulari -;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017, 2020 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2018 Arun Isaac @@ -143,19 +143,17 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "-checkout")) (sha256 (base32 - "1ix8h637hwhz4vrdhilf84kzzdza0wi8fp26nh7iws0bq08sl517")))) + "0lk7shx768sxvgr85y8bnmmnj8x4bbkgpxrz3z8jp8avi33prw83")))) (define (texlive-hyphen-package name code locations hash) + "Return a TeX Live hyphenation package with the given NAME, using source +files from LOCATIONS with expected checksum HASH. CODE is not currently in use." (let ((parent (simple-texlive-package name locations hash #:trivial? #t))) (package (inherit parent) (arguments (substitute-keyword-arguments (package-arguments parent) - ((#:modules _ '()) - '((guix build gnu-build-system) - (guix build utils) - (ice-9 match))) ((#:phases phases) `(modify-phases ,phases (replace 'build @@ -168,12 +166,8 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (string-append root "/tex/generic/hyph-utf8/loadhyph")) (ptex (string-append root "/tex/generic/hyph-utf8/patterns/ptex")) - (filter-expression - (match ',code - ((? string?) - (format #f "\nlanguages.select!{|l| l.code == \"~a\"}\n" ',code)) - ((a b ...) - (format #f "\nlanguages.select!{|l| [~{\"~a\",~}].include? l.code }\n" ',code))))) + (quote + (string-append root "/tex/generic/hyph-utf8/patterns/quote"))) (mkdir "scripts") (copy-recursively (assoc-ref inputs "hyph-utf8-scripts") "scripts") @@ -182,45 +176,40 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (mkdir-p patterns) (mkdir-p loaders) (mkdir-p ptex) + (mkdir-p quote) ;; Generate plain patterns (with-directory-excursion "scripts" - (substitute* "languages.rb" - (("../../../tex/generic/") "../tex/generic/")) + (substitute* "lib/tex/hyphen/path.rb" + (("^([[:blank:]]+)TeXROOT = .*" _ indent) + (string-append indent "TeXROOT = \"" + (getcwd) "/..\"\n"))) + (substitute* "generate-plain-patterns.rb" ;; Ruby 2 does not need this. (("require 'unicode'") "") - (("Unicode.upcase\\(ch\\)") "ch.upcase") ;; Write directly to the output directory - (("\\$path_root=File.*") - (string-append "$path_root=\"" out "/share/texmf-dist/\"\n")) - ;; Create quote directory when needed - (("f = File.open\\(\"#\\{\\$path_quote\\}" m) - (string-append "require 'fileutils'; FileUtils.mkdir_p $path_quote;" m)) - ;; Only generate patterns for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (("File\\.join\\(PATH::TXT") + (string-append "File.join(\"" patterns "\"")) + (("File\\.join\\(PATH::QUOTE") + (string-append "File.join(\"" quote "\""))) (invoke "ruby" "generate-plain-patterns.rb") ;; Build pattern loaders (substitute* "generate-pattern-loaders.rb" - (("\\$path_tex_generic=File.*") - (string-append "$path_tex_generic=\"" root "/tex/generic\"\n")) - ;; Only generate loader for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (("File\\.join\\(PATH::LOADER") + (string-append "File.join(\"" loaders "\""))) + (invoke "ruby" "generate-pattern-loaders.rb") ;; Build ptex patterns (substitute* "generate-ptex-patterns.rb" - (("\\$path_root=File.*") - (string-append "$path_root=\"" root "\"\n")) - ;; Only generate ptex patterns for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (("File\\.join\\(PATH::PTEX") + (string-append "File.join(\"" ptex "\""))) (invoke "ruby" "generate-ptex-patterns.rb"))))))))) (native-inputs `(("ruby" ,ruby) + ("ruby-hydra" ,ruby-hydra) ("hyph-utf8-scripts" ,hyph-utf8-scripts))) (home-page "https://ctan.org/pkg/hyph-utf8")))) @@ -234,9 +223,9 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (define texlive-texmf-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2018/texlive-20180414-texmf.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2019/texlive-20190410-texmf.tar.xz") (sha256 (base32 - "1b8zigzg8raxkhhzphcmynf84rbdbj2ym2qkz24v8n0qx82zmqms")))) + "00n4qh9fj8v9zzy3y488hpfq1g3dnnh72y4yjsaikfcqpi59gv62")))) (define-public texlive-bin (package @@ -460,7 +449,7 @@ This package contains the binaries.") "texlive-docstrip" (list "/tex/latex/base/docstrip.tex") (base32 - "17vdy43d9vknldz7wb69hp33r8awmdvn4xszamvgs5ikcl4cp289") + "1f9sx1lp7v34zwm186msf03q2h28rrg0lh65z59zc0cvqffs6dvb") #:trivial? #t)) (home-page "https://www.ctan.org/texlive") (synopsis "Utility to strip documentation from TeX files.") @@ -475,7 +464,7 @@ documentation from TeX files. It is part of the LaTeX base.") (list "/tex/generic/unicode-data/" "/doc/generic/unicode-data/") (base32 - "1j63kz29arfiydb8r1a53q1r4zyk1yjbcq0w9i93zddczgqzgbfb") + "0zy4v9y667cka5fi4dnc6x500907812y7pcaf63s5qxi8l7khxxy") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/unicode-data") (synopsis "Unicode data and loaders for TeX") @@ -508,7 +497,7 @@ out to date by @code{unicode-letters.tex}. ") "/tex/generic/hyphen/hypht1.tex" "/tex/generic/hyphen/zerohyph.tex") (base32 - "002g5zhzbj3ikgg8zidagdp605ac9f4qmfl148mp0mbpz1svk0ni") + "0f19nml4hdx9lh7accqdk1b9ismwfm2523l5zsc4kb4arysgcakz") #:trivial? #t)) (home-page "https://tug.org/texlive/") (synopsis "Core hyphenation support files") @@ -637,7 +626,7 @@ build fonts using the Metafont system.") "/scripts/texlive/fontinst.sh") (base32 - "09drlb0krhnizw92xlm5wxzzpgn3shcxd684xlg0zc5p16l47w6h") + "0lprwib7n2ygfxvrw675vhif7ghyip2x6k70kqs9syp8lqxiizf8") #:trivial? #t))) (package (inherit template) @@ -726,7 +715,7 @@ documents.") "/fonts/map/dvips/cm/cmtext-bsr-interpolated.map" "/doc/fonts/cm/") (base32 - "1h0q71paqmg1xjg6k35ni2i6m93kmlq9rdwm913xg9n4qngywl18") + "09mvl94qrwlb9b4pkigi151l256v3djhwl4m5lgvk6yhn5y75zrp") #:trivial? #t))) (package (inherit template) @@ -1288,7 +1277,7 @@ incorporates the e-TeX extensions.") "texlive-tex-plain" (list "/tex/plain/") (base32 - "1rrfay4d7lbyj02wlf23mwvbpjd160nwlgryx97hq1vb7dva4swr") + "1m4qpaszwfv7j8a85rlwl7rs4iv5nlj67c1vvn6ysly72h9gjydb") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/plain") (synopsis "Plain TeX format and supporting files") @@ -1304,7 +1293,7 @@ discussed in the book).") "texlive-hyphen-afrikaans" "af" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-af.tex") (base32 - "1vb3jccqnn1pm0680yqx52kvz595fmxnwa0cbf8qman6zglsssiw"))) + "1k9k27a27bbrb0gz36191w32l2v6d3zbdh8zhrp4l3ild2pj3n4l"))) (synopsis "Hyphenation patterns for Afrikaans") (description "The package provides hyphenation patterns for the Afrikaans language.") @@ -1318,7 +1307,7 @@ language.") "/tex/generic/hyphen/grahyph5.tex" "/tex/generic/hyphen/ibyhyph.tex") (base32 - "0kwrqsz7wdr1d9kylzwp60ka3wfbj8iad029k5h6y94nb86mf7zv"))) + "01326lb6z0s8krcfgs8i1pnjfrm4gr33rc53gy80f63qbv4ssxrw"))) (synopsis "Hyphenation patterns for ancient Greek") (description "The package provides hyphenation patterns for ancient Greek.") @@ -1327,33 +1316,11 @@ Greek.") (define-public texlive-hyphen-armenian (let ((template (texlive-hyphen-package "texlive-hyphen-armenian" "hy" - (list "/source/generic/hyph-utf8/languages/hy/generate_patterns_hy.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hy.tex") (base32 - "0z666y580w1kpxssdanz67ykq257lf11a1mnp1jrn08zijvfrw9c")))) + "0hzny0npynsb07syxrpbfa5pkpj8r0j51pj64yxyfl1c0bak1fwp")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/hy/" - (substitute* "generate_patterns_hy.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-hy.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_hy.rb")) - #t))) - (add-after 'install 'install-hyph-hy.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Armenian") (description "The package provides hyphenation patterns for the Armenian language.") @@ -1363,39 +1330,17 @@ language.") (define-public texlive-hyphen-basque (let ((template (texlive-hyphen-package "texlive-hyphen-basque" "eu" - (list "/source/generic/hyph-utf8/languages/eu/generate_patterns_eu.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-eu.tex") (base32 - "1yhsbzf1g9dm70jfixsz51hsfvn26cwfkfxvhg7xv2piynr4v51l")))) + "15w969g1jqzn68l2b2lzf7iv7g3kil02aba3if6cag3qcnq92ra9")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/eu/" - (substitute* "generate_patterns_eu.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-eu.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_eu.rb")) - #t))) - (add-after 'install 'install-hyph-eu.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Basque") (description "The package provides hyphenation patterns for the Basque language.") - ;; "Free for any purpose". + ;; Similar to Unicode license. (license (license:fsf-free - "/source/generic/hyph-utf8/languages/eu/generate_patterns_eu.rb"))))) + "/tex/generic/hyph-utf8/patterns/tex/hyph-eu.tex"))))) (define-public texlive-hyphen-belarusian (package @@ -1403,7 +1348,7 @@ language.") "texlive-hyphen-belarusian" "be" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-be.tex") (base32 - "1xvffph824rg43gi2xs3ny9gzlp708fyxj9zfhckmg8pzh9vv3n6"))) + "0ppm12wndaxv9da62dwkbnk7w9nijikn6jkc97m76xis338g2h02"))) (synopsis "Hyphenation patterns for Belarusian") (description "The package provides hyphenation patterns for the Belarusian language.") @@ -1417,7 +1362,7 @@ language.") "/doc/generic/hyph-utf8/bg/azbukaExtended.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-bg.tex") (base32 - "06dxkk9azsggbri04i6g62lswygzadsx3rpqvbyzvbxc5wxz1dj1"))) + "0ngrgw2rmipxss76rgfk62x9nnsgwmaxxna2jqxxhybai3q39mx5"))) (synopsis "Hyphenation patterns for Bulgarian") (description "The package provides hyphenation patterns for the Bulgarian language in T2A and UTF-8 encodings.") @@ -1431,7 +1376,7 @@ language in T2A and UTF-8 encodings.") "texlive-hyphen-catalan" "ca" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ca.tex") (base32 - "0cisx76jpw8kpd3an37m9h8ppiysnizgfzl48y9d9n3fvx8jyykb"))) + "10zzlfz5v8d9csg85ibpp2vfvmpqa56vbl85qy5gws099vygpayg"))) (synopsis "Hyphenation patterns for Catalan") (description "The package provides hyphenation patterns for Catalan in T1/EC and UTF-8 encodings.") @@ -1443,7 +1388,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-chinese" "zh-latn-pinyin" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-zh-latn-pinyin.tex") (base32 - "07gbrn5fcl5d3hyg1zpai3zp1ggl73cmvpalwvh7ah313f57gjkk"))) + "1j68mry2zy91m1kbzwhin5q2jajf6xh48npdds8wvp1sqmzih2a3"))) (synopsis "Hyphenation patterns for unaccented Chinese pinyin") (description "The package provides hyphenation patterns for unaccented Chinese pinyin T1/EC and UTF-8 encodings.") @@ -1455,7 +1400,7 @@ Chinese pinyin T1/EC and UTF-8 encodings.") "texlive-hyphen-churchslavonic" "cu" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cu.tex") (base32 - "0xkqlz3ixyl4fxsnzrbxqrb82p0n67rhgpddbiyv3qwfnbr2b5a4"))) + "0fhbwaapq2213msbhgr0d1lw06ihmrqirxj092mn73d8ynl13qlh"))) (synopsis "Hyphenation patterns for Church Slavonic") (description "The package provides hyphenation patterns for Church Slavonic in UTF-8 encoding.") @@ -1468,7 +1413,7 @@ Slavonic in UTF-8 encoding.") (list "/tex/generic/hyph-utf8/patterns/tex-8bit/copthyph.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-cop.tex") (base32 - "07i03jpdfy4ip7zbg4gnk4hk8zwj8rlni9dgrb1p8mfw2w19d80c"))) + "1jlxxvyfa2aljizaa3qlcxyhqsrb4dawv3q3fbyp2lxz6ag9fy6m"))) (synopsis "Hyphenation patterns for Coptic") (description "The package provides hyphenation patterns for Coptic in UTF-8 encoding as well as in ASCII-based encoding for 8-bit engines.") @@ -1481,7 +1426,7 @@ UTF-8 encoding as well as in ASCII-based encoding for 8-bit engines.") "texlive-hyphen-croatian" "hr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hr.tex") (base32 - "129nz2nqilyq2477n2clx20xfbxh1qxm69zg4n2f6c4d4a8711nc"))) + "12n9r2winai15jc622sqdwclgcs1s68r6vcf7ic8vvq0x9qhwc5v"))) (synopsis "Hyphenation patterns for Croatian") (description "The package provides hyphenation patterns for Croatian in T1/EC and UTF-8 encodings.") @@ -1493,7 +1438,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-czech" "cs" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cs.tex") (base32 - "1k5516gbfp1d5p97j247byag9sdgds5zwc11bwxfk58i6zq1v0m6"))) + "1q37s6p8yfyi3rp1azbz421lg4lr4aiki8m631i4x9rmps89m8iq"))) (synopsis "Hyphenation patterns for Czech") (description "The package provides hyphenation patterns for Czech in T1/EC and UTF-8 encodings.") @@ -1505,7 +1450,7 @@ and UTF-8 encodings.") "texlive-hyphen-danish" "da" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-da.tex") (base32 - "0zxzs1b1723mav76i0wiyq4w82x8715cykvwa2bc60ldc2amv0vs"))) + "1vj8nip64rzcrcg3skm4vqad1ggqwgan74znrdns610wjcm1z9qd"))) (synopsis "Hyphenation patterns for Danish") (description "The package provides hyphenation patterns for Danish in T1/EC and UTF-8 encodings.") @@ -1518,7 +1463,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-dutch" "nl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-nl.tex") (base32 - "0cq46cmgjc4y2x0xs9b0a5zca3jmszv4rkzmrhgjb5z2nm3xkrpi"))) + "1bg9g790ksq5cn8qihai6pacmkp9vpf35h4771z361nvwa40l8yk"))) (synopsis "Hyphenation patterns for Dutch") (description "The package provides hyphenation patterns for Dutch in T1/EC and UTF-8 encodings.") @@ -1531,7 +1476,7 @@ and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-en-gb.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-en-us.tex") (base32 - "08hyih8hn2w2q12gc4zygz0ckbz00mkzzn9898z2bicky02zg3kc"))) + "08b3jihjaamcl1pvffi0s47nwavkm66l9mrrmby3l32dfpkprrc5"))) (synopsis "Hyphenation patterns for American and British English") (description "The package provides additional hyphenation patterns for American and British English in ASCII encoding.") @@ -1545,7 +1490,7 @@ American and British English in ASCII encoding.") "texlive-hyphen-esperanto" "eo" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-eo.tex") (base32 - "03xbjbzasznsyf4wd45bya6f4snfmzpdzg5zpvqj5q6gjykdg54k"))) + "1503kzn9bk4mm4ba35cka2hm8rz0v3j5l30v5rrsd4rqgpibcgic"))) (synopsis "Hyphenation patterns for Esperanto") (description "The package provides hyphenation patterns for Esperanto ISO Latin 3 and UTF-8 encodings.") @@ -1557,7 +1502,7 @@ Latin 3 and UTF-8 encodings.") "texlive-hyphen-estonian" "et" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-et.tex") (base32 - "0idl6xajkkgxqngjn19jcfd29is5rhfn59v0z8h4sv8yjv6k934m"))) + "1rdas2450ib02rwy65i69l86nyc9h15bl07xbbwhmhxfnj8zj4v8"))) (synopsis "Hyphenation patterns for Estonian") (description "The package provides hyphenation patterns for Estonian in T1/EC and UTF-8 encodings.") @@ -1567,53 +1512,17 @@ T1/EC and UTF-8 encodings.") (define-public texlive-hyphen-ethiopic (let ((template (texlive-hyphen-package "texlive-hyphen-ethiopic" "mul-ethi" - (list "/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-mul-ethi.tex") (base32 - "1dp5qn1mhv62kj27lqc7s0ca65z9bziyavkvif9ds5ivk7aq9drw")))) + "1b93fc6j4aybh0pgq23hsn1njm6asf7sfz803fbj3ai0whsxd10l")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda* (#:key inputs #:allow-other-keys) - (let ((tex (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex/"))) - (mkdir-p tex) - (with-directory-excursion "source/generic/hyph-utf8/languages/mul-ethi/" - (substitute* "generate_patterns_mul-ethi.lua" - (("\"UnicodeData.txt\"") - (string-append "\"" - (assoc-ref inputs "UnicodeData.txt") - "\""))) - (invoke "texlua" "generate_patterns_mul-ethi.lua") - (rename-file "hyph-mul-ethi.tex" - (string-append tex "/hyph-mul-ethi.tex")) - #t)))) - (add-after 'install 'install-hyph-mul-ethi.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) - (native-inputs - `(,@(package-native-inputs template) - ("texlive-bin" ,texlive-bin) - ("UnicodeData.txt" - ,(origin - (method url-fetch) - (uri (string-append "http://www.unicode.org/Public/10.0.0/ucd/" - "UnicodeData.txt")) - (sha256 - (base32 - "1cfak1j753zcrbgixwgppyxhm4w8vda8vxhqymi7n5ljfi6kwhjj")))))) (synopsis "Hyphenation patterns for Ethiopic scripts") (description "The package provides hyphenation patterns for languages written using the Ethiopic script for Unicode engines. They are not supposed to be linguistically relevant in all cases and should, for proper typography, be replaced by files tailored to individual languages.") - (license license:lppl)))) + (license license:expat)))) (define-public texlive-hyphen-finnish (package @@ -1621,7 +1530,7 @@ be replaced by files tailored to individual languages.") "texlive-hyphen-finnish" "fi" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fi.tex") (base32 - "03n6s8dwwa5vfk9bbyhcdf7p0bc0d1rrr312hpgbz8jfc9fbgd7n"))) + "1f72b4ydb4zddvw2i004948khmwzigxkdkwfym5v1kkq0183sfpj"))) (synopsis "Hyphenation patterns for Finnish") (description "The package provides hyphenation patterns for Finnish in T1/EC and UTF-8 encodings.") @@ -1633,7 +1542,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-french" "fr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fr.tex") (base32 - "1q82mmwvy7fdkm42958ajb53w89qkcdwybswxlwcvqngvhpy3zf0"))) + "0jc3kqys6cxjw8x8pzjln7z78l8s7f5rlyrkv7dzr1kiwnwilk9d"))) (synopsis "Hyphenation patterns for French") (description "The package provides hyphenation patterns for French in T1/EC and UTF-8 encodings.") @@ -1645,7 +1554,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-friulan" "fur" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fur.tex") (base32 - "07m975p0ghzs9sjqqgxy7qdkqmgvg4rx4xp08zwm1parqsdlwd5d"))) + "1dlnh8slpf50mryxv7zzbx08xp54zkdfs1j7y37ipwbrajvd740f"))) (synopsis "Hyphenation patterns for Friulan") (description "The package provides hyphenation patterns for Friulan in ASCII encodings.") @@ -1654,50 +1563,15 @@ ASCII encodings.") (define-public texlive-hyphen-galician (let ((template (texlive-hyphen-package "texlive-hyphen-galician" "gl" - (list "/source/generic/hyph-utf8/languages/gl/README" - "/source/generic/hyph-utf8/languages/gl/glhybiox.tex" - "/source/generic/hyph-utf8/languages/gl/glhyextr.tex" - "/source/generic/hyph-utf8/languages/gl/glhymed.tex" - "/source/generic/hyph-utf8/languages/gl/glhyquim.tex" - "/source/generic/hyph-utf8/languages/gl/glhytec.tex" - "/source/generic/hyph-utf8/languages/gl/glhyxeog.tex" - "/source/generic/hyph-utf8/languages/gl/glpatter-utf8.tex") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-gl.tex") (base32 - "1yj1gxhkqqlyaand5gd6ij6xwffskryzlbcigdam3871a9p8x18w")))) + "13zx2r3nrxdr025g2lxrph0ga6wf7cs8dxixn4fhbl6xr1cx028g")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda* (#:key inputs #:allow-other-keys) - (let ((tex (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex/"))) - (mkdir-p tex) - (with-directory-excursion "source/generic/hyph-utf8/languages/gl/" - (setenv "TEXINPUTS" - (string-append (getcwd) "//:" - (assoc-ref inputs "texlive-mkpattern") "//")) - (invoke "tex" "-ini" "-8bit" "glpatter-utf8.tex") - (rename-file "hyph-gl.tex" - (string-append tex "/hyph-gl.tex")) - #t)))) - (add-after 'install 'install-hyph-gl.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) - (native-inputs - `(,@(package-native-inputs template) - ("texlive-bin" ,texlive-bin) - ("texlive-mkpattern" ,texlive-mkpattern))) (synopsis "Hyphenation patterns for Galician") (description "The package provides hyphenation patterns for Galician in T1/EC and UTF-8 encodings.") - ;; glhyextr.tex is the only file in the public domain. - (license (list license:lppl1.3 license:public-domain))))) + (license license:lppl1.3)))) (define-public texlive-hyphen-georgian (package @@ -1705,7 +1579,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-georgian" "ka" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ka.tex") (base32 - "01zhn6mflpiqw4lyi8dx8syiz5mky9jrxm87cgw31hanis5cml4l"))) + "0l0hk7ka04fr8x11nnw95x151cxyycy0fph772m3a3p8qk4x9wp7"))) (synopsis "Hyphenation patterns for Georgian") (description "The package provides hyphenation patterns for Georgian in T8M, T8K, and UTF-8 encodings.") @@ -1718,12 +1592,12 @@ T8M, T8K, and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-de-1901.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-de-1996.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-de-ch-1901.tex" - "/tex/generic/hyphen/dehyphn.tex" - "/tex/generic/hyphen/dehypht.tex" - "/tex/generic/hyphen/dehyphtex.tex" - "/tex/generic/hyphen/ghyphen.README") + "/tex/generic/dehyph/dehyphn.tex" + "/tex/generic/dehyph/dehypht.tex" + "/tex/generic/dehyph/dehyphtex.tex" + "/tex/generic/dehyph/README") (base32 - "1g0vhpvl2l69rn2lx7lkw0inrjbcxkj2sjgwd2fq7hdi4yb2ms76"))) + "0wp5by5kkf4ac6li5mbppqzw11500wa7f22p5vpz3m1kwd15zavw"))) (synopsis "Hyphenation patterns for German") (description "This package provides hyphenation patterns for German in T1/EC and UTF-8 encodings, for traditional and reformed spelling, including @@ -1742,7 +1616,7 @@ Swiss German.") "/tex/generic/hyphen/grmhyph5.tex" "/tex/generic/hyphen/grphyph5.tex") (base32 - "04626jhlrv2flgdygm7sfv6xpqhfwiavi16gy2ac04iliyk4rypg"))) + "1qyr6m1nh6d4wj68616cfxv4wjpiy1w2rlldxlx2ajzba381w3hf"))) (synopsis "Hyphenation patterns for Greek") (description "This package provides hyphenation patterns for Modern Greek in monotonic and polytonic spelling in LGR and UTF-8 encodings.") @@ -1756,7 +1630,7 @@ in monotonic and polytonic spelling in LGR and UTF-8 encodings.") "/doc/generic/hyph-utf8/hu/" "/tex/generic/hyph-utf8/patterns/tex/hyph-hu.tex") (base32 - "0c81w2569cqsi4j56azwz0lfx16541zhiqgmn3m4iwh7mpx3rji8"))) + "1j1b8kksg9r8nmjyjvvz8fr3hgcrjj6jlybf9p06nwrrwm2r8j8f"))) (synopsis "Hyphenation patterns for Hungarian") (description "This package provides hyphenation patterns for Hungarian in T1/EC and UTF-8 encodings.") @@ -1769,7 +1643,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-icelandic" "is" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-is.tex") (base32 - "1ah1f82lgfhqgid4ngsfiypybx10v8gwxnb12396vfsj3bq6j0ba"))) + "1m9xj41csj3ldym09d82zjbd3345sg2z10d8pxpvhgibf97mb66h"))) (synopsis "Hyphenation patterns for Icelandic") (description "This package provides hyphenation patterns for Icelandic in T1/EC and UTF-8 encodings.") @@ -1792,7 +1666,7 @@ T1/EC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-ta.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-te.tex") (base32 - "1v8zc3wdbkhzjrflndmz4gdj11syz8vrcg0vwvm5bwhkx23g91lv"))) + "02d2kcd3lpk95fykjwhzw9s2a1s2w1skz8h2mmszrz979d1xzhpm"))) (synopsis "Indic hyphenation patterns") (description "This package provides hyphenation patterns for Assamese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Oriya, Panjabi, Tamil @@ -1805,7 +1679,7 @@ and Telugu for Unicode engines.") "texlive-hyphen-indonesian" "id" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-id.tex") (base32 - "0mf0hr9c952kb2hmzid7fqg5whshwpribbyndb3ba092wh02abh5"))) + "1r62w02rf0i4z0jgij54d16qjbj0zyfwm9dwdkqka76jrivij83q"))) (synopsis "Indonesian hyphenation patterns") (description "This package provides hyphenation patterns for Indonesian (Bahasa Indonesia) in ASCII encoding. They are probably also @@ -1818,7 +1692,7 @@ usable for Malay (Bahasa Melayu).") "texlive-hyphen-interlingua" "ia" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ia.tex") (base32 - "1aihgma3rix4jkc1z5k1lh6hlfrncn66yj0givd3j6xjqflafr2g"))) + "0a9na20vjnzhgjbicaxay0jk4rm5zg1rjyiswr377mjhd9mx5cg3"))) (synopsis "Interlingua hyphenation patterns") (description "This package provides hyphenation patterns for Interlingua in ASCII encoding.") @@ -1830,7 +1704,7 @@ in ASCII encoding.") "texlive-hyphen-irish" "ga" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ga.tex") (base32 - "02k1fykgj3xamczjq16i9fsjjsh78pp5ypmh93p64izk2vymfwk0"))) + "1h1l9jzkpsb91nyhz6s6c9jfrbz8jx5ip8vyq3dkz0rl6g960i6b"))) (synopsis "Irish hyphenation patterns") (description "This package provides hyphenation patterns for Irish (Gaeilge) in T1/EC and UTF-8 encodings.") @@ -1843,7 +1717,7 @@ Irish (Gaeilge) in T1/EC and UTF-8 encodings.") "texlive-hyphen-italian" "it" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-it.tex") (base32 - "1a65q3hjn2p212cgv6p7wa0wcn34qnxcz2pl3v3ip0xmb16qqsk5"))) + "03c7jiqslfxvl3gbdx79hggbvrfi2l4z2bnwxc0na8f8lkp1m787"))) (synopsis "Italian hyphenation patterns") (description "This package provides hyphenation patterns for Italian in ASCII encoding. Compliant with the Recommendation UNI 6461 on hyphenation @@ -1857,7 +1731,7 @@ UNI).") "texlive-hyphen-kurmanji" "kmr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-kmr.tex") (base32 - "1145ykfd0b0hgklindlxdgkqmsnj3cai3cwgllz411yqmrhjc6y9"))) + "01ylbsi5wymrdrxr9b28nmjmcj72mdhqr657lwsb6m9aj33c9ql6"))) (synopsis "Kurmanji hyphenation patterns") (description "This package provides hyphenation patterns for Kurmanji (Northern Kurdish) as spoken in Turkey and by the Kurdish diaspora in @@ -1872,7 +1746,7 @@ Europe, in T1/EC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-la-x-liturgic.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-la.tex") (base32 - "1d8d6b47r4r000gqgzyl0sy9is0y0dg41jp8fw4gqq8qmcgdxgsg"))) + "0rxg8a4s5cpj8vlkz5a74a036axda5jqgvr3f9aj2cc2x9f2f3w9"))) (synopsis "Liturgical Latin hyphenation patterns") (description "This package provides hyphenation patterns for Latin in T1/EC and UTF-8 encodings, mainly in modern spelling (u when u is needed and v @@ -1893,7 +1767,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-latvian" "lv" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-lv.tex") (base32 - "1xbh5s6nwfjbv7g4kmcpjkm02a6s767p7jn9qjcnz5ip0ndl5g66"))) + "00jf8xma4ldz0zpqwma97k9q3j0mqx7qdj6b7baph3n5xgc24aaw"))) (synopsis "Latvian hyphenation patterns") (description "This package provides hyphenation patterns for Latvian in L7X and UTF-8 encodings.") @@ -1906,7 +1780,7 @@ L7X and UTF-8 encodings.") "texlive-hyphen-lithuanian" "lt" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-lt.tex") (base32 - "0v9spw0qkygkihj5app2immzqqr98w81pz460bcgvj1ah35jdfsl"))) + "1kfq7j2ajg6nj952s1ygd520sj9z9kl0bqvd291a36ni2b1frzgd"))) (synopsis "Lithuanian hyphenation patterns") (description "This package provides hyphenation patterns for Lithuanian in L7X and UTF-8 encodings.") @@ -1921,7 +1795,7 @@ L7X and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-mn-cyrl-x-lmc.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-mn-cyrl.tex") (base32 - "0lqq3jgwgnclb1cn3x99xmk90xra9q51b00ypwy5crssmy023hqc"))) + "1y1b91ihrdl9bad3rxlsfjpd9wmyd5zzgci3qv9w8qqk33jxhwya"))) (synopsis "Mongolian hyphenation patterns in Cyrillic script") (description "This package provides hyphenation patterns for Mongolian in T2A, LMC and UTF-8 encodings.") @@ -1936,7 +1810,7 @@ T2A, LMC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-nn.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-no.tex") (base32 - "1fxnf671yz0p3lmdkspna7fjh96br1jy6yf7v17yh4fxwry3s4yz"))) + "08gbwj64p4fckm199k52yp5lx65h9f4wwdkvl4pv4aa7k370jq9y"))) (synopsis "Norwegian Bokmal and Nynorsk hyphenation patterns") (description "This package provides hyphenation patterns for Norwegian Bokmal and Nynorsk in T1/EC and UTF-8 encodings.") @@ -1950,7 +1824,7 @@ Bokmal and Nynorsk in T1/EC and UTF-8 encodings.") "texlive-hyphen-occitan" "oc" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-oc.tex") (base32 - "1y6j6ac9ncn79p7hnp6mdwdsw9ij14zyjby5iwdhpvzzn7yyc7p8"))) + "0vhjbq2nr58vhqwwky3cwx4dqiwjmmfwp81rb65mfpf0m8yypdfg"))) (synopsis "Occitan hyphenation patterns") (description "This package provides hyphenation patterns for Occitan in T1/EC and UTF-8 encodings. They are supposed to be valid for all the Occitan @@ -1978,7 +1852,7 @@ T1/EC encoding.") "texlive-hyphen-piedmontese" "pms" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pms.tex") (base32 - "00fqzymkg374r3dzf1y82k6b18bqrf688vnjv0vkvw5a45srlb5r"))) + "0xva3l2gwzkqw1sz64k5g5iprhdyr27w1mv8rxp8x62i5y3aqr1k"))) (synopsis "Piedmontese hyphenation patterns") (description "This package provides hyphenation patterns for Piedmontese in ASCII encoding. Compliant with 'Gramatica dla lengua piemonteisa' by @@ -1991,7 +1865,7 @@ Camillo Brero.") "texlive-hyphen-polish" "pl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pl.tex") (base32 - "0dzq8ca96q7m5bslh51x8d30pdb86glh2gn3mmvq5ip813ckwh3s"))) + "1c22g99isxapv4xjrmsw24hhp1xb83wbgcxyd8j24mxdnizywxzm"))) (synopsis "Polish hyphenation patterns") (description "This package provides hyphenation patterns for Polish in QX and UTF-8 encodings.") @@ -2004,7 +1878,7 @@ and UTF-8 encodings.") "texlive-hyphen-portuguese" "pt" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pt.tex") (base32 - "1waxrmm33fd2qfc4kiaiblg8kwzasrvgq4j3l14z733d0hlg4rfz"))) + "00rkjy4p7893zs940bq3s4hp7al0skgxqggj5qfax0bx8karf30b"))) (synopsis "Portuguese hyphenation patterns") (description "This package provides hyphenation patterns for Portuguese in T1/EC and UTF-8 encodings.") @@ -2016,7 +1890,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-romanian" "ro" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ro.tex") (base32 - "12i1vryl51yhdpj163ahfyiy21rjmf4gkqgslpriirdjmyrwrs65"))) + "1ykb5v7ip6p3n34wq8qypfyrap4gg946by5rsl6ab0k5gv6ypsbf"))) (synopsis "Romanian hyphenation patterns") (description "This package provides hyphenation patterns for Romanian in T1/EC and UTF-8 encodings.") @@ -2029,7 +1903,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-romansh" "rm" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-rm.tex") (base32 - "06wan8i4appc1zfvc0q4cgnfv1nj0qgk02w3sg56zc11hf8sywl9"))) + "0a1q9p6sp5n6a9w6xhwk03vmkrrmnh2md7g1k4qhnf0dc4h7dy9r"))) (synopsis "Romansh hyphenation patterns") (description "This package provides hyphenation patterns for Romansh in ASCII encodings. They are supposed to comply with the rules indicated by the @@ -2042,7 +1916,7 @@ Lia Rumantscha (Romansh language society).") "texlive-hyphen-russian" "ru" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ru.tex") (base32 - "09s4vq23x4vff08ykmf08dvcdradjzzwvyys8p2wk6jxaqp980s3"))) + "00sy7qh5f8ryxw36fwbyd1yi2hxhv7hmk99yp7dwh73n4mxv6lpl"))) (synopsis "Russian hyphenation patterns") (description "This package provides hyphenation patterns for Russian in T2A and UTF-8 encodings.") @@ -2055,7 +1929,7 @@ T2A and UTF-8 encodings.") (list "/doc/generic/hyph-utf8/sa/hyphenmin.txt" "/tex/generic/hyph-utf8/patterns/tex/hyph-sa.tex") (base32 - "0grnn09l4i5yridx10yhm6dg9sbhgc2pmsp1p6hrcy7lzkqwdvs3"))) + "0gi2qk0wf388h9n25gzhv0cdz67ph83wal8h3iz2sqnpdjsw8kpc"))) (synopsis "Sanskrit hyphenation patterns") (description "This package provides hyphenation patterns for Sanskrit and Prakrit in longdesc transliteration, and in Devanagari, Bengali, Kannada, @@ -2072,7 +1946,7 @@ Malayalam longdesc and Telugu scripts for Unicode engines.") "/tex/generic/hyph-utf8/patterns/tex/hyph-sh-latn.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-sr-cyrl.tex") (base32 - "0fhdfydyaspb8dwirlf24vn7y9dzwmhsld0mmw0fz1lmcfaj252n"))) + "0pwc9z0m5y6acq1vqm0da9akg156jbhxzvsfp2f8bsz5b99y5z45"))) (synopsis "Serbian hyphenation patterns") (description "This package provides hyphenation patterns for Serbian in T1/EC, T2A and UTF-8 encodings.") @@ -2085,7 +1959,7 @@ T1/EC, T2A and UTF-8 encodings.") "texlive-hyphen-slovak" "sk" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sk.tex") (base32 - "1cgw6fmyci3za3vsa49b6m74wqv582w0rpca7s9xva3hqm1m5qdg"))) + "0ppp53bbclp5c8wvx748krvrp5y5053khgkjnnv966a90fvp3vgd"))) (synopsis "Slovak hyphenation patterns") (description "This package provides hyphenation patterns for Slovak in T1/EC and UTF-8 encodings.") @@ -2097,7 +1971,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-slovenian" "sl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sl.tex") (base32 - "1ixf2pxir9xf1gggq9k28xxglsq9bwqlghd9cl4amk5vrn5bjbds"))) + "02n8l9yf4hqyhbpsc1n6b2mggy09z6lq4dcb8ndiwawb6h0mp7s4"))) (synopsis "Slovenian hyphenation patterns") (description "This package provides hyphenation patterns for Slovenian in T1/EC and UTF-8 encodings.") @@ -2113,7 +1987,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-spanish" "es" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-es.tex") (base32 - "0jgs0zzyk2wwrjbx2hqdh5qggrnik9xmsxygbfhlb7gdrcrs0mbj"))) + "1h3yg9vcq0lf7hxv0ahkqmyg269dxjs8m2mz8sgz5l1fxmvahvaj"))) (synopsis "Hyphenation patterns for Spanish") (description "The package provides hyphenation patterns for Spanish in T1/EC and UTF-8 encodings.") @@ -2125,7 +1999,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-swedish" "sv" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sv.tex") (base32 - "12sf9f43zwyzb4cn57yry8r4zmwdc7cfdljn3qwxwrny4m3sw4w8"))) + "1n7incy7n24pix1q2i8c3h7i78zpql5ayhskavlmy6mhd7ayncaw"))) (synopsis "Swedish hyphenation patterns") (description "This package provides hyphenation patterns for Swedish in T1/EC and UTF-8 encodings.") @@ -2137,7 +2011,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-thai" "th" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-th.tex") (base32 - "15k1n4xdw8zzd5nrh76s53z4j95gxa4i2h1av5gx5vrjgblzzl97"))) + "00gxcs4jfqifd5cnrjipn77m73fmpw2qms4lp216jj3kz4a7h9kf"))) (synopsis "Thai hyphenation patterns") (description "This package provides hyphenation patterns for Thai in LTH and UTF-8 encodings.") @@ -2146,33 +2020,11 @@ and UTF-8 encodings.") (define-public texlive-hyphen-turkish (let ((template (texlive-hyphen-package "texlive-hyphen-turkish" "tr" - (list "/source/generic/hyph-utf8/languages/tr/generate_patterns_tr.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-tr.tex") (base32 - "0rvlhs2z2sn312lqsf44bzknid5dry7d2sl2q1whfvr0y4qj1g8f")))) + "04sihjgpm31i5bi67rrfp15w3imn7hxwwk70v0vhx053ghxy72vh")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/tr/" - (substitute* "generate_patterns_tr.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-tr.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_tr.rb")) - #t))) - (add-after 'install 'install-hyph-tr.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Turkish") (description "The package provides hyphenation patterns for Turkish in T1/EC and UTF-8 encodings. The patterns for Turkish were first produced for @@ -2185,37 +2037,15 @@ compatibility with 8-bit engines.") (define-public texlive-hyphen-turkmen (let ((template (texlive-hyphen-package "texlive-hyphen-turkmen" "tk" - (list "/source/generic/hyph-utf8/languages/tk/generate_patterns_tk.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-tk.tex") (base32 - "1wlqx8wb0wsqhdv823brc3i8w1vf4m4bkb2vg917j5dq8p8p71aw")))) + "0g5ip2lw9g47s61mv3cypswc6qm7zy9c4iqq4h19ysvds81adzkr")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/tk/" - (substitute* "generate_patterns_tk.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-tr.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_tk.rb")) - #t))) - (add-after 'install 'install-hyph-tk.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Turkmen") (description "The package provides hyphenation patterns for Turkmen in T1/EC and UTF-8 encodings.") - (license license:public-domain)))) + (license license:expat)))) (define-public texlive-hyphen-ukrainian (package @@ -2223,7 +2053,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-ukrainian" "uk" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-uk.tex") (base32 - "17z0gmw5svsf5zlhjkckwk4y21g7prfwj473jlqnwcsr8a941gsf"))) + "0fbfhx1fmbshxr4ihsjaqgx251h69h7i288p8gh3w6ysgxr53p60"))) (synopsis "Ukrainian hyphenation patterns") (description "This package provides hyphenation patterns for Ukrainian in T2A and UTF-8 encodings.") @@ -2236,7 +2066,7 @@ T2A and UTF-8 encodings.") "texlive-hyphen-uppersorbian" "hsb" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hsb.tex") (base32 - "1q42s32cfbynlnzn9hpcldi77fszi5xkn1c85l8xqjmfydqbqdyi"))) + "0x0051wph3sqmzzw6prvjy6bp7gn02rbmys1bmbc210jk3pkylfj"))) (synopsis "Upper Sorbian hyphenation patterns") (description "This package provides hyphenation patterns for Upper Sorbian in T1/EC and UTF-8 encodings.") @@ -2248,7 +2078,7 @@ in T1/EC and UTF-8 encodings.") "texlive-hyphen-welsh" "cy" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cy.tex") (base32 - "0h8yjj5zdg0hvpb2vx9gi376536nl59hp8w286z1a13diaayg1m2"))) + "1bpxp3jiifdw7waw2idz5j9xgi3526nkxm8mbmsspr4mlf2xyr76"))) (synopsis "Welsh hyphenation patterns") (description "This package provides hyphenation patterns for Welsh in T1/EC and UTF-8 encodings.") @@ -2277,7 +2107,7 @@ T1/EC and UTF-8 encodings.") "/doc/generic/hyph-utf8/img/miktex-languages.png" "/doc/generic/hyph-utf8/img/texlive-collection.png") (base32 - "10y8svgk68sivmgzrv8gv137r7kv49cs256cq2wja9ms437pxvbj"))) + "1bar5mc808ch20anhqrdxcwiych359qsvr7mggxpg2l2kq5xdyq0"))) (outputs '("out" "doc")) (build-system gnu-build-system) (arguments @@ -2410,7 +2240,7 @@ converters, will completely supplant the older patterns.") (list "/tex/generic/dehyph-exptl/" "/doc/generic/dehyph-exptl/") (base32 - "1w2danvvy2f52hcb4acvjks53kcanwxr9s990fap6mj279hpgmh2") + "1fnqc63gz8gvdyfz45bx8dxn1r1rwrypahs3bqd2vlc8ff76xp86") #:trivial? #t)) (propagated-inputs `(("texlive-hyphen-base" ,texlive-hyphen-base) @@ -2517,7 +2347,7 @@ UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.") "/web2c/tcvn-t5.tcx" "/web2c/viscii-t5.tcx") (base32 - "0ajfp9kr330lcm2ymr3kl9zn6y2xjkrzpa0c0azc4qdm5jllawb9") + "191i8n3g46p53bb9dkx2ggwpzy7skgg0pbklsrpx8x4ayd86wcaf") #:trivial? #t)) (home-page "https://www.tug.org/texlive/") (synopsis "Files related to the path searching library for TeX") @@ -2550,18 +2380,16 @@ formats.") ;; these are not: "/tex/latex/base/idx.tex" "/tex/latex/base/lablst.tex" - "/tex/latex/base/lppl.tex" "/tex/latex/base/ltnews.cls" "/tex/latex/base/ltxcheck.tex" "/tex/latex/base/ltxguide.cls" "/tex/latex/base/minimal.cls" "/tex/latex/base/sample2e.tex" "/tex/latex/base/small2e.tex" - "/tex/latex/base/source2e.tex" "/tex/latex/base/testpage.tex" "/tex/latex/base/texsys.cfg") (base32 - "0f8d41wk1gb7i6xq1a10drwhhayc50pg9nwzjkrqnxrv0pcc08w5") + "0m0gjb4hbsf2iqkkx3px4f28r2scjvsjv4zb2whkbnb44apyw1f0") #:trivial? #t))) (package (inherit template) @@ -2616,6 +2444,7 @@ formats.") '("aleph aleph" "lamed aleph" "uptex uptex" "euptex euptex" "eptex eptex" "ptex ptex" "pdfxmltex pdftex" "platex eptex" "csplain pdftex" "mf mf-nowin" "mex pdftex" "pdfmex pdftex" + "luacsplain luatex" "cont-en xetex" "cont-en pdftex" "pdfcsplain xetex" "pdfcsplain pdftex" "pdfcsplain luatex" "cslatex pdftex" "mptopdf pdftex" "uplatex euptex" "jadetex pdftex" @@ -2674,7 +2503,7 @@ formats.") "/tex/generic/config/luatexiniconfig.tex" "/web2c/texmfcnf.lua") (base32 - "0cs67a8wwh4s5p5gn8l49jyccgy7glw8mfq5klgn3dfsl2fdlhk7"))))) + "1gi87wy12r8w8fhx9ajcid382dmqzf6b9070b5nndvbbjrvhwf23"))))) (propagated-inputs `(("texlive-dehyph-exptl" ,texlive-dehyph-exptl) ("texlive-etex" ,texlive-etex) @@ -2719,6 +2548,7 @@ formats.") ("texlive-hyphen-mongolian" ,texlive-hyphen-mongolian) ("texlive-hyphen-norwegian" ,texlive-hyphen-norwegian) ("texlive-hyphen-occitan" ,texlive-hyphen-occitan) + ("texlive-hyphen-pali" ,texlive-hyphen-pali) ("texlive-hyphen-piedmontese" ,texlive-hyphen-piedmontese) ("texlive-hyphen-polish" ,texlive-hyphen-polish) ("texlive-hyphen-portuguese" ,texlive-hyphen-portuguese) @@ -2760,7 +2590,7 @@ contain.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0swkbxv8vg0yizadfnvrwjb4cj0pn34v9wm6v7wqq903fdav7k7q")))) + "1h78zw0vhldx478zs4v86ajg7vpkysd1kg3npc480qqls3q6ba40")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/filecontents")) (home-page "https://www.ctan.org/pkg/filecontents") @@ -2825,19 +2655,13 @@ users, via its Plain TeX version.)") (define-public texlive-latex-fancyvrb (package - (name "texlive-latex-fancyvrb") - (version (number->string %texlive-revision)) - (source (origin - (method svn-fetch) - (uri (texlive-ref "latex" "fancyvrb")) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "03l7140y031rr14h02i4z9zqsfvrbn7wzwxbjsrjcgrk6sdr71wv")))) - (build-system texlive-build-system) - (arguments - '(#:tex-directory "latex/fancyvrb" - #:tex-format "latex")) + (inherit (simple-texlive-package + "texlive-latex-fancyvrb" + (list "/doc/latex/fancyvrb/README" + "/tex/latex/fancyvrb/") + (base32 + "1dwkcradz9nwpjwmv1sjzn77lvw25ypr0rrgmf1kd8pd2mw7dxcn") + #:trivial? #t)) (home-page "https://www.ctan.org/pkg/fancyvrb") (synopsis "Sophisticated verbatim text") (description @@ -2990,7 +2814,7 @@ pdf and HTML backends. The package is distributed with the @code{backref} and (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1m9fg8ddhpsl1212igr9a9fmj012lv780aghjn6fpidg2wqrffmn")))) + "0pi2d6gsddcs9wprdbar46s91kdc5fxl1m79g7xrbccsx8s9xbml")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/oberdiek" @@ -3023,7 +2847,7 @@ arrows; record information about document class(es) used; and many more.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0vj7h1fgf1396h4qjdc2m07y08i54gbbfrxl8y327cn3r1n093s6")))) + "1wqvn4z0s92h5iqzrvxw7hinzp95avjk9v8lnqbqr4kz6nv4xb9l")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/tools" @@ -3092,7 +2916,7 @@ Live distribution.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0p3fsxap1ilwjz356aq4s5ygwvdscis8bh93g8klf8mhrd8cr2jy")))) + "0s77z2cbv841l45qrpf0s8qhzfa4wi689lg7zkw88qg18nzvy0ly")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3kernel")) @@ -3116,7 +2940,7 @@ that the LaTeX3 conventions can be used with regular LaTeX 2e packages.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0pyx0hffiyss363vv7fkrcdiaf7p099xnq0mngzqc7v8v9q849hs")))) + "1cv4fk9pabh7mkxhfsdmh4k8xpmzg1psgcsvd11c869m7n3a629h")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3packages" @@ -3171,7 +2995,7 @@ programming tools and kernel sup­port. Packages provided in this release are: (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1p0mkn6iywl0k4m9cx3hnhylpi499inisff3f72pcf349baqsnvq")))) + "1223cw029n6zff7pqpwbsq1x8v3w63smczkmnybqxkw5h2za8gbz")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/fontspec" @@ -3354,7 +3178,7 @@ loading fonts by their proper names instead of file names.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0arvk7gn32mshnfdad5qkgf3i1arxq77k3vq7wnpm4nwnrzclxal")))) + "0qgk2332dacsxn1z95qzp35gbs7wrzl1ipjdhnmk1r897msm4sf5")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/amsmath")) (home-page "https://www.ctan.org/pkg/amsmath") @@ -3407,7 +3231,7 @@ distribution.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0yhlfiz3fjc8jd46f1zrjj4jig48l8rrzh8cmd8ammml8z9a01z6")))) + "1rwqq841i1rxywymzwkw0cw2yhgvxwjx5mgygfasvypwrwll6f6s")))) (build-system texlive-build-system) (arguments '(#:tex-directory "generic/babel" @@ -3464,7 +3288,7 @@ for Canadian and USA text.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0h47s67gnhdaxfgbf8pirp5vw4z6rrhxl8zav803yjxka0096i3y")))) + "129f9w41cb6yyrr6kpv3zz9ml6334hyq1wcz7j9jn47p0hlxqfk8")))) (build-system texlive-build-system) (arguments '(#:tex-directory "generic/babel-german")) (home-page "https://www.ctan.org/pkg/babel-german") @@ -3678,7 +3502,7 @@ standard LaTeX packages." (number->string %texlive-revision))) (sha256 (base32 - "06mwpy5i218g5k3sf4gba0fmxgas82hkzx9fhwn67z5ik37d8apq")))))) + "0faqknqxs80qp9ywk0by5k85s0yalg97c4lja4q56lsyblrr4j7i")))))) (home-page (package-home-page texlive-bin)) (synopsis "Union of TeX Live packages") (description "This package provides a subset of the TeX Live @@ -4153,10 +3977,10 @@ to something that's not a float.") (package (inherit (simple-texlive-package "texlive-doi" - (list "/doc/latex/doi/README" + (list "/doc/latex/doi/README.md" "/tex/latex/doi/") (base32 - "17lnnhfmb8g4nh4fnyc9616h8xg3vjrzmlvfmlfqwwlfpma9xnnw") + "18z9922lqb3hliqn95h883fndqs4lgyi5yqbnq2932ya0imc3j7h") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/doi") (synopsis "Create correct hyperlinks for DOI numbers") @@ -4180,7 +4004,7 @@ hyperlink to the target of the DOI.") (list "/doc/latex/etoolbox/" "/tex/latex/etoolbox/") (base32 - "1qg4x5r4ibinl6zy5lq70lv4zcrjsn54n6hwv31k5kl7mwv0mvr3") + "1cc1vw1ach55g4ff4x30by8k1mg01w199ccxvn72f5khlnnxial0") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/etoolbox") (synopsis "e-TeX tools for LaTeX") @@ -4282,7 +4106,7 @@ course of the framed/shaded matter. There is also a command (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0sikazkg0dpkcpzlbqw8qzxr81paf2f443vsrh14jnw7s4gswvc5")))) + "1br4kv9y17cvngp83ykpvy7gy3jqfan5plk7sggcgbdfhndi5dsr")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/g-brief" @@ -4355,7 +4179,7 @@ BibLaTeX, and is considered experimental.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0yw6bjfgsli3s1dldsgb7mkr7lnk329cgdjbgs8z2xn59pmmdsn4")))) + "0a8f38c2ds1flxcr0apdpyaaz3k6fyalz6dkbrmcv9srjc40mh3n")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/geometry")) (propagated-inputs @@ -4406,7 +4230,7 @@ array environments; verbatim handling; and syntax diagrams.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "03ma58z3ypsbp7zgkzb1ylpn2ygr27cxzkf042ns0rif4g8s491f")))) + "0na7v4hsyx5s67cpjj2dbnq8j67k8lln6b19hmj631gfs27slss1")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/polyglossia")) (home-page "https://www.ctan.org/pkg/polyglossia") @@ -4452,7 +4276,7 @@ situations where longtable has problems.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "06cf821y1j7jdg93pb41ayigrfwgn0y49d7w1025zlijjxi6bvjp")))) + "16jy02m089m7n6v9vbfi4xjgngc1fnvsmmppk8axfwzbhdky3c9c")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -4626,7 +4450,7 @@ copy-and-paste functions work properly.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "190pmq8la2rq07xry8bn8z8yywzxv6fqyqaj7yjfj5rgw6x0mas8")))) + "16vd99p01a0y30xr5yf1z2j5da9x8gy21vb30wk08jh31zffbaqj")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/colortbl")) (home-page "https://www.ctan.org/pkg/colortbl") @@ -4685,7 +4509,7 @@ floats, center, flushleft, and flushright, lists, and pages.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1xsnzx7vgdfh9zh2m7bjz6bgdpxsgb1kyc19p50vhs34x5nbgsnr")))) + "0hrwspqkqfahxyzzsnjyrxlgxj06zw1f3636gx76pvl4xhvdj1cj")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -4763,7 +4587,7 @@ footnotes with symbols rather than numbers.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1nsn9wp3wl12b36c0sqrim33lf33cr5wky0h4ncnw8lvqgm7h8wf")))) + "1fbrhqj22vzakn30j71fc41l8nliqbv1dmxm0zlwi2qjjbq6fwav")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/listings" @@ -4897,7 +4721,7 @@ fonts are available in (traced) Adobe Type 1 format, as part of the set, Latin Modern, is not actually a direct development of the EC set, and differs from the EC in a number of particulars.") (license (license:fsf-free "https://www.tug.org/svn/texlive/tags/\ -texlive-2018.2/Master/texmf-dist/doc/fonts/ec/copyrite.txt")))) +texlive-2019.3/Master/texmf-dist/doc/fonts/ec/copyrite.txt")))) ;; FIXME: the fonts should be built from source, but running "tex aefonts.tex" ;; fails with obscure TeX-typical error messages. @@ -5092,7 +4916,7 @@ one of the packages @code{calrsfs} and @code{mathrsfs}.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1xvmms28mvvfpks9x7lfya2xhh5k8jy3qnlih1mzcnf156xnb89z")))) + "0y2y08kr3w6asm9lblj9yywqmhaal36fq71zzcbfsc7cvwf641q7")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/eso-pic")) (home-page "https://www.ctan.org/pkg/eso-pic") @@ -5154,7 +4978,7 @@ splines, and filled circles and ellipses. The package uses @code{tpic} (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0q24b1bkdi9l6bw787bpggww83jh2vj8955aw2m5yccqbx4vgr5r")))) + "1vm9xp67hzif0pqab4r3ialf0cyhi0fa4p8kxgp1ymcf85pqip14")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5186,7 +5010,7 @@ in the form @code{key=value} are available, for example: (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0qlxy47f1f8plgch3jqfsnrdgpyz20sz46yp33i2jwvf9hvfczf0")))) + "07vbcp6avdwldr870cwf65av2s9lfyzcpp8gpld53yw6lcxgaipj")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/multirow")) (home-page "https://www.ctan.org/pkg/multirow") @@ -5211,7 +5035,7 @@ entry at the \"natural\" width of its text.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1rpx4ibjncj5416rg19v0xjbj3z9avhfdfn2gzp8r8sz9vz25c6g")))) + "1pr6ym3ad7x14ng7gmhsmywh3685d2cnm5qgyrqbigng2r6fcc1k")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5247,7 +5071,7 @@ positions; a grid for orientation is available.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "14r6h9hqb0qgccxj5l1208694fx8sb8avmgzps36lsbbpszl7i7m")))) + "0j1fhm1m9k6rz80lmch3x44g20y9nm4abaaf8czb0q8hzwlx5aq5")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5598,7 +5422,7 @@ OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0sf18pc6chgy26p9bxxn44xcqhzjrfb53jxjr2y7l3jb6xllhblq")))) + "1xyd57c8z1xi0kbqpbad61flcazz68i9ssxrag0gjvci3irxi8xh")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5627,7 +5451,7 @@ than the bitmaps Metafont creates.") (uri (texlive-ref "latex" "acmart")) (sha256 (base32 - "0n62cs8dhcbn29y9ij1nnyigzr76yhk36kyahhqkkmvbafbys9s7")) + "18rl67p2zhngskisnhv78mksv8q8q658l6igkswzswldixmkpphq")) (file-name (string-append name "-" version "-checkout")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/acmart")) @@ -5865,7 +5689,7 @@ e-TeX.") (file-name (string-append name "-map-" version "-checkout")) (sha256 (base32 - "18jvcm0vwpg6wwzijvnb92xx78la45kkh71k6l44425krp2vnwm0")))))) + "03rfif2631pgd8g1ar4xblcdh078kky7fvw3kfsj5a47rxxgicp2")))))) (home-page "https://www.ctan.org/pkg/pdftex") (synopsis "TeX extension for direct creation of PDF") (description @@ -5876,7 +5700,7 @@ directly generate PDF documents instead of DVI.") (define texlive-texmf (package (name "texlive-texmf") - (version "20180414") + (version "20190410") (source texlive-texmf-src) (build-system gnu-build-system) (inputs @@ -5953,7 +5777,7 @@ This package contains the complete tree of texmf-dist data.") (define-public texlive (package (name "texlive") - (version "20180414") + (version "20190410") (source #f) (build-system trivial-build-system) (inputs `(("bash" ,bash) ; for wrap-program @@ -6359,7 +6183,7 @@ required: automatic sectioning and pagination, spell checking and so forth.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0lhb2h5hxjq9alpk4r3gvg21pwyifs4ah6hqzp92k55mkp1xv73j")))) + "0s86v2b6b1vky1svmmn8pn0l2gz3v280mvjbr2d9l2sjyarlgz9w")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6399,7 +6223,7 @@ specification. It replaces the now obsolete @code{movie15} package.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0zp00jg058djx8xp0xqwas92y3j97clkyd8z6pqr890yqy06myqb")))) + "1yhp51w8yr10c10pc9196q7hlw80brzqinnqbjw81d0sf2p0llc5")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6600,7 +6424,7 @@ striking out (line through words) and crossing out (/// over words).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1dq8p10pz8wn0vx412m7d7d5gj1syxly3yqdqvf7lv2xl8zndn5h")))) + "1dscrgwyr71vgx35mzb316xl669arzagfgq50fdv3nxga63959b3")))) (build-system trivial-build-system) (native-inputs `(("texlive-latex-pgf-generic" @@ -6614,7 +6438,7 @@ striking out (line through words) and crossing out (/// over words).") (file-name (string-append "texlive-latex-pgf-generic" version "-checkout")) (sha256 (base32 - "0xkxw26sjzr5npjpzpr28yygwdbhzpdd0hsk80gjpidhcxmz393i")))))) + "0hk5x2j15n4pps279cmkbjl1dvhasq3mbhna5xdvp2qgh635ahks")))))) (propagated-inputs `(("texlive-latex-xcolor" ,texlive-latex-xcolor))) (arguments @@ -6658,7 +6482,7 @@ produce either PostScript or PDF output.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0nqwf0sr4mf3v9gqa6apv6ml2xhcdwax0vgyf12a672g7rpdyvgm")))) + "1vz9zg7s5w52xr323zgglzprfrvba2zvyzf6b8vrdf4wdghlpv4z")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils) @@ -6718,7 +6542,7 @@ typearea (which are the main parts of the bundle).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0hs28fc0v2l92ad9las9b8xcckyrdrwmyhcx1yzmbr6s7s6nvsx8")))) + "1x4wnpca97rnbvvg6wjmbkxxvnfva274q9ahzx746b435q93z3i1")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6907,7 +6731,7 @@ AMS-LaTeX, AMS-TeX, and plain TeX). The distribution includes Michael Barr's (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0hnbs0s1znbn32hfcsyijl39z81sdb00jf092a4blqz421qs2mbv")))) + "1wijqq605cbhn2bdaryby3xpkwmnk9ixcrjn5zwlfrxbgfblzfmz")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6966,7 +6790,7 @@ Support for use with LaTeX is available in @code{freenfss}, part of (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0rlx4qqijms1n64gjx475kvip8l322fh7v17zkmwp1l1g0w3vlyz")))) + "0d7d74giz5knvj4rj6mbzd6c05mwg9jrxab86jxdqbc3jy7cl4kz")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6992,7 +6816,7 @@ of support information.") (list "/doc/latex/beamer/" "/tex/latex/beamer/") (base32 - "00z1a32wkz1ffif7dc8h3ar2fn2hlvfnljgim2szjam2k14l82x3") + "1fqzbkmw2kfxihab8j4dadc3v68xap6v2ghpp2064fna47xlwy1c") #:trivial? #t)) (propagated-inputs `(("texlive-latex-hyperref" ,texlive-latex-hyperref) @@ -7051,7 +6875,7 @@ the file to which it applies.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0ikxg8yzq78hy5b9x13d4nah46d0yvmwlqmdri06pygbx116dcac")))) + "18294h0cr05fs424m3x6aq24z5hf5zmiflalkj4kvpmsyyqqsj74")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/pdfx" @@ -7085,7 +6909,7 @@ the file to which it applies.") (file-name (string-append "texlive-tex-latex-pdfx-" version "-checkout")) (sha256 (base32 - "14j1zsvqc59ims3sk34v6km8db6cimks28y5fcxcr5mi2ykvj4vf")))))) + "171ffvpkj2fab4ljcxv3l6l5c8ga8zavdhmhfq07id8zyyr619ip")))))) (home-page "https://www.ctan.org/pkg/pdfx") (synopsis "PDF/X and PDF/A support for pdfTeX, LuaTeX and XeTeX") (description @@ -7149,7 +6973,7 @@ change.") "/tex/generic/pstricks/" "/tex/latex/pstricks/") (base32 - "04566354c77claxl1sznc490cda0m5gaa5ck6ms4q7mm44rj3rzk") + "0sdxdd0qi4sccw9il7d4s7jivs24pq99cdzfnrf0gkqjb1y8s7cl") #:trivial? #t))) (package (inherit template) @@ -7173,12 +6997,11 @@ or shading the cells of tables.") (let ((template (simple-texlive-package "texlive-pst-text" (list "/doc/generic/pst-text/" - "/source/generic/pst-text/Makefile" "/dvips/pst-text/pst-text.pro" "/tex/generic/pst-text/" "/tex/latex/pst-text/") (base32 - "0s2bbkdfy0shqrrkjflrn0x0pnvxzbdc38pjbdfw46wnmnxrnasm") + "146fpzd1xlqi94q5r48z8ni8qww713yh6nwkbr9pw27mjrqdadb9") #:trivial? #t))) (package (inherit template) @@ -7217,7 +7040,7 @@ LuaTeX (respectively) is not the engine in use.") (list "/doc/latex/tools/" "/source/latex/tools/") (base32 - "0v3zqcpy0w5bzy1xdcv1wnxbmxrn1j6x03h3y2af7qmjggph2a09")))) + "1ivhij7171wvrgcjn4wah84wxwpd21d0chh3zxab4pj067c8d0mh")))) (package (inherit template) (arguments @@ -7360,7 +7183,7 @@ The behaviour in standalone mode may adjusted using a configuration file (list "/source/latex/siunitx/siunitx.dtx" "/doc/latex/siunitx/README.md") (base32 - "0dmljnxgv2bwl3mi74iil41q03swvrm1b0ziwxlhc4m9lx31b1q1"))) + "11kf6znkgw7y5qmw75qk6px6pqf57bwr53q0673zaiyq20lif96c"))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/siunitx" -- cgit 1.4.1 From 0bcc1b14fc3e2382406b97577c56e2292b96b8d4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 6 Jan 2020 19:58:20 +0100 Subject: gnu: glib: Fix g_app_info_get_default_for_type. Fixes . Reported by Reza Alizadeh Majd . * gnu/packages/glib.scm (glib)[arguments]<#:phases>[patch-gio-launch-desktop]: New phase. [move-executables]: Modify. --- gnu/packages/glib.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 2e7f436560..4fe38b7f25 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -213,6 +213,15 @@ shared NFS home directories.") (string-append "command_line = g_strdup_printf (\"" dbus "/bin/dbus-launch"))) #t))) + (add-after 'unpack 'patch-gio-launch-desktop + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; See also + ;; for another future fix. + (substitute* "gio/gdesktopappinfo.c" + (("gio-launch-desktop") + (string-append out "/libexec/gio-launch-desktop"))) + #t))) (add-before 'build 'pre-build (lambda* (#:key inputs outputs #:allow-other-keys) ;; For tests/gdatetime.c. @@ -321,6 +330,13 @@ shared NFS home directories.") (mkdir-p bin) (rename-file (string-append out "/bin") (string-append bin "/bin")) + ;; This one is an implementation detail of glib. + ;; It is wrong that that's in "/bin" in the first place, + ;; but that's what upstream is doing right now. + ;; See . + (mkdir (string-append out "/libexec")) + (rename-file (string-append bin "/bin/gio-launch-desktop") + (string-append out "/libexec/gio-launch-desktop")) ;; Do not refer to "bindir", which points to "${prefix}/bin". ;; We don't patch "bindir" to point to "$bin/bin", because that ;; would create a reference cycle between the "out" and "bin" -- cgit 1.4.1 From f87b68a18627fe8bab960d45460dd2217fa85def Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 17:56:24 +0100 Subject: gnu: findutils: Fix bootstrap on aarch64-linux and armhf-linux. * gnu/packages/patches/findutils-test-rwlock-threads.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/base.scm (findutils)[source](patches): Add it. --- gnu/local.mk | 1 + gnu/packages/base.scm | 3 +- .../patches/findutils-test-rwlock-threads.patch | 38 ++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/findutils-test-rwlock-threads.patch diff --git a/gnu/local.mk b/gnu/local.mk index fd3d434d0c..0ba01efcc6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -854,6 +854,7 @@ dist_patch_DATA = \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ %D%/packages/patches/file-CVE-2019-18218.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/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index a336f5e6d0..52ca78fa70 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -261,7 +261,8 @@ interactive means to merge two files.") (sha256 (base32 "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5")) - (patches (search-patches "findutils-localstatedir.patch")))) + (patches (search-patches "findutils-localstatedir.patch" + "findutils-test-rwlock-threads.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list diff --git a/gnu/packages/patches/findutils-test-rwlock-threads.patch b/gnu/packages/patches/findutils-test-rwlock-threads.patch new file mode 100644 index 0000000000..3062577c21 --- /dev/null +++ b/gnu/packages/patches/findutils-test-rwlock-threads.patch @@ -0,0 +1,38 @@ +Skip "test-rwlock1" when multithreading is disabled, which is the case +during bootstrapping on architectures not supported by GNU Mes. + +Taken from upstream gnulib: +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=fdff8bd09a7f053381f8bdb107ab5280b7c95959 + +diff --git a/gnulib-tests/test-rwlock1.c b/gnulib-tests/test-rwlock1.c +--- a/gnulib-tests/test-rwlock1.c ++++ b/gnulib-tests/test-rwlock1.c +@@ -21,6 +21,8 @@ + + #include + ++#if USE_ISOC_THREADS || USE_POSIX_THREADS || USE_ISOC_AND_POSIX_THREADS || USE_WINDOWS_THREADS ++ + #include "glthread/lock.h" + + #include +@@ -151,3 +153,18 @@ main () + sleep (1); + } + } ++ ++#else ++ ++/* No multithreading available. */ ++ ++#include ++ ++int ++main () ++{ ++ fputs ("Skipping test: multithreading not enabled\n", stderr); ++ return 77; ++} ++ ++#endif + -- cgit 1.4.1 From 488c30437ca12ea6bf487180c1d28df381413e98 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 17:59:20 +0100 Subject: gnu: file: Update to 5.38. * gnu/packages/patches/file-CVE-2019-18218.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/file.scm (file): Update to 5.38. [source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/file.scm | 5 +-- gnu/packages/patches/file-CVE-2019-18218.patch | 55 -------------------------- 3 files changed, 2 insertions(+), 59 deletions(-) delete mode 100644 gnu/packages/patches/file-CVE-2019-18218.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0ba01efcc6..4677c42979 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -852,7 +852,6 @@ dist_patch_DATA = \ %D%/packages/patches/fbreader-curl-7.62.patch \ %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ - %D%/packages/patches/file-CVE-2019-18218.patch \ %D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-test-rwlock-threads.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm index cf770297c4..bac951f9c5 100644 --- a/gnu/packages/file.scm +++ b/gnu/packages/file.scm @@ -30,15 +30,14 @@ (define-public file (package (name "file") - (version "5.37") + (version "5.38") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.astron.com/pub/file/file-" version ".tar.gz")) - (patches (search-patches "file-CVE-2019-18218.patch")) (sha256 (base32 - "0zz0p9bqnswfx0c16j8k62ivjq1m16x10xqv4hy9lcyxyxkkkhg9")))) + "0d7s376b4xqymnrsjxi3nsv3f5v89pzfspzml2pcajdk5by2yg2r")))) (build-system gnu-build-system) ;; When cross-compiling, this package depends upon a native install of diff --git a/gnu/packages/patches/file-CVE-2019-18218.patch b/gnu/packages/patches/file-CVE-2019-18218.patch deleted file mode 100644 index 21069823b7..0000000000 --- a/gnu/packages/patches/file-CVE-2019-18218.patch +++ /dev/null @@ -1,55 +0,0 @@ -Fix CVE-2019-18218: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-18218 - -Patch copied from upstream source repository: - -https://github.com/file/file/commit/46a8443f76cec4b41ec736eca396984c74664f84 - -From 46a8443f76cec4b41ec736eca396984c74664f84 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas -Date: Mon, 26 Aug 2019 14:31:39 +0000 -Subject: [PATCH] Limit the number of elements in a vector (found by oss-fuzz) - ---- - src/cdf.c | 9 ++++----- - src/cdf.h | 1 + - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/cdf.c b/src/cdf.c -index 9d6396742..bb81d6374 100644 ---- a/src/cdf.c -+++ b/src/cdf.c -@@ -1027,8 +1027,9 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h, - goto out; - } - nelements = CDF_GETUINT32(q, 1); -- if (nelements == 0) { -- DPRINTF(("CDF_VECTOR with nelements == 0\n")); -+ if (nelements > CDF_ELEMENT_LIMIT || nelements == 0) { -+ DPRINTF(("CDF_VECTOR with nelements == %" -+ SIZE_T_FORMAT "u\n", nelements)); - goto out; - } - slen = 2; -@@ -1070,8 +1071,6 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h, - goto out; - inp += nelem; - } -- DPRINTF(("nelements = %" SIZE_T_FORMAT "u\n", -- nelements)); - for (j = 0; j < nelements && i < sh.sh_properties; - j++, i++) - { -diff --git a/src/cdf.h b/src/cdf.h -index 2f7e554b7..05056668f 100644 ---- a/src/cdf.h -+++ b/src/cdf.h -@@ -48,6 +48,7 @@ - typedef int32_t cdf_secid_t; - - #define CDF_LOOP_LIMIT 10000 -+#define CDF_ELEMENT_LIMIT 100000 - - #define CDF_SECID_NULL 0 - #define CDF_SECID_FREE -1 -- cgit 1.4.1 From 391ee9c3206656df00ae470b3b09729f28efe302 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:03:01 +0100 Subject: gnu: OpenSSL: Remove duplicate #:disallowed-references. * gnu/packages/tls.scm (openssl)[arguments]: Remove #:disallowed-references. --- gnu/packages/tls.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index d01202c684..90f99ea49e 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -320,8 +320,7 @@ required structures.") "static")) ;6.4 MiB of .a files (native-inputs `(("perl" ,perl))) (arguments - `(#:disallowed-references (,perl) - #:parallel-build? #f + `(#:parallel-build? #f #:parallel-tests? #f #:test-target "test" -- cgit 1.4.1 From 88b525270d879b0fa32cf0a2a7902ee0a468c94a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:04:09 +0100 Subject: gnu: OpenSSL: Enable parallel build. * gnu/packages/tls.scm (openssl)[arguments]: Remove #:parallel-build?. --- gnu/packages/tls.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 90f99ea49e..1fe08720d1 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -320,8 +320,7 @@ required structures.") "static")) ;6.4 MiB of .a files (native-inputs `(("perl" ,perl))) (arguments - `(#:parallel-build? #f - #:parallel-tests? #f + `(#:parallel-tests? #f #:test-target "test" ;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure, -- cgit 1.4.1 From e8b79cd9f449c0419f1d4f09d7b8e0712b6a961f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:08:30 +0100 Subject: gnu: grep: Update to 3.4. * gnu/packages/base.scm (grep): Update to 3.4. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 52ca78fa70..5c48db40a7 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -92,14 +92,14 @@ command-line arguments, multiple languages, and so on.") (define-public grep (package (name "grep") - (version "3.3") + (version "3.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/grep/grep-" version ".tar.xz")) (sha256 (base32 - "055mqp6vrd0brkygmygb2673qwz409a7kyp1mzbfy6cn94f58q5r")) + "1yy33kiwrxrwj2nxa4fg15bvmwyghqbs8qwkdvy5phm784f7brjq")) (patches (search-patches "grep-timing-sensitive-test.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it -- cgit 1.4.1 From f63495d31bf5acad00b6ee5f44a0553a67ee91fb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:09:50 +0100 Subject: gnu: guile: Apply Shepherd fix to the default Guile. * gnu/packages/guile.scm (guile-2.2/bug-fix): Remove variable. (guile-2.2)[source](patches): Add "guile-finalization-crash.patch". * gnu/packages/admin.scm (shepherd)[inputs, native-inputs]: Change from GUILE-2.2/BUG-FIX to GUILE-2.2. --- gnu/packages/admin.scm | 4 ++-- gnu/packages/guile.scm | 13 +------------ 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 0790925416..460228db61 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -211,10 +211,10 @@ and provides a \"top-like\" mode (monitoring).") `(("pkg-config" ,pkg-config) ;; This is the Guile we use as a cross-compiler... - ("guile" ,guile-2.2/bug-fix))) + ("guile" ,guile-2.2))) (inputs ;; ... and this is the one that appears in shebangs when cross-compiling. - `(("guile" ,guile-2.2/bug-fix) ;for + `(("guile" ,guile-2.2) ;for ;; The 'shepherd' command uses Readline when used interactively. It's ;; an unusual use case though, so we don't propagate it. diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index c0743269fc..7b6009770d 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -230,6 +230,7 @@ without requiring the source code to be rewritten.") "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk")) (modules '((guix build utils))) (patches (search-patches + "guile-finalization-crash.patch" "guile-2.2-skip-oom-test.patch")) ;; Remove the pre-built object files. Instead, build everything @@ -250,18 +251,6 @@ without requiring the source code to be rewritten.") (variable "GUILE_LOAD_COMPILED_PATH") (files '("lib/guile/2.2/site-ccache"))))))) -(define-public guile-2.2/bug-fix - ;; This variant contains a bug fix for a relatively rare crash that could - ;; affect shepherd as PID 1: . - (package - (inherit guile-2.2) - (version (string-append (package-version guile-2.2) "-1")) - (source (origin - (inherit (package-source guile-2.2)) - (patches - (append (search-patches "guile-finalization-crash.patch") - (origin-patches (package-source guile-2.2)))))))) - (define-public guile-2.2/fixed ;; A package of Guile 2.2 that's rarely changed. It is the one used ;; in the `base' module, and thus changing it entails a full rebuild. -- cgit 1.4.1 From 404efac48bbb96ce6852df2059001cbfa22a3cfb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:10:33 +0100 Subject: gnu: python-boot0: Do not inherit source snippet from python. This is in preparation for Python 3.8 which requires changes. * gnu/packages/commencement.scm (python-boot0)[source]: Copy modules and snippet from PYTHON instead of inheriting. --- gnu/packages/commencement.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 928819db6e..0f7ca24865 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1885,13 +1885,21 @@ the bootstrap environment." (version "3.5.7") (source (bootstrap-origin (origin - (inherit (package-source python)) + (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) - (patches '()) (sha256 (base32 - "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18"))))) + "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the bundled copy of libexpat. + (delete-file-recursively "Modules/expat") + (substitute* "Modules/Setup.dist" + ;; Link Expat instead of embedding the bundled one. + (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) + #t))))) (inputs `(,@(%boot0-inputs) ("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc. -- cgit 1.4.1 From 73fec9ca1055199aaa4e39e977d17364c33c860c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:11:10 +0100 Subject: gnu: python-boot0: Update to 3.5.9. * gnu/packages/commencement.scm (python-boot0): Update to 3.5.9. --- gnu/packages/commencement.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 0f7ca24865..d173f5a19b 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1882,7 +1882,7 @@ the bootstrap environment." ;; pthreads, which is missing on non-x86 platforms at this stage. ;; Python 3.6 technically supports being built without threading ;; support, but requires additional patches. - (version "3.5.7") + (version "3.5.9") (source (bootstrap-origin (origin (method url-fetch) @@ -1890,7 +1890,7 @@ the bootstrap environment." version "/Python-" version ".tar.xz")) (sha256 (base32 - "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18")) + "0jdh9pvx6m6lfz2liwvvhn7vks7qrysqgwn517fkpxb77b33fjn2")) (modules '((guix build utils))) (snippet '(begin -- cgit 1.4.1 From ecfe153706b62714c9d0c2af347fca6e84f6f28a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:12:03 +0100 Subject: gnu: acl: Do not build the static library. * gnu/packages/acl.scm (acl)[arguments]: Add #:configure-flags. --- gnu/packages/acl.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index 0131adcac4..bcab125164 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -48,6 +48,7 @@ (arguments `(#:modules ((ice-9 ftw) ,@%gnu-build-system-modules) + #:configure-flags '("--disable-static") #:phases (modify-phases %standard-phases ;; XXX After repacking the sources the timestamps are reset to the -- cgit 1.4.1 From 1fabfd0ec9d28eeb6cfd4e3b33c208c42c059991 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:12:41 +0100 Subject: gnu: libev: Update to 4.31. * gnu/packages/libevent.scm (libev): Update to 4.31. --- gnu/packages/libevent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index b59efecbe1..85436c20c9 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -75,7 +75,7 @@ loop.") (define-public libev (package (name "libev") - (version "4.25") + (version "4.31") (source (origin (method url-fetch) (uri (string-append "http://dist.schmorp.de/libev/Attic/libev-" @@ -83,7 +83,7 @@ loop.") ".tar.gz")) (sha256 (base32 - "1295q0lkkbrlpd5dl5i48bh1rm8mjzh9y795jlvjz3bp4wf7wxbq")))) + "0nkfqv69wfyy2bpga4d53iqydycpik8jp8x6q70353hia8mmv1gd")))) (build-system gnu-build-system) (home-page "http://software.schmorp.de/pkg/libev.html") (synopsis "Event loop loosely modelled after libevent") -- cgit 1.4.1 From 295eaeebcb93a90113c4a377650aabcbd7d2753f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:13:07 +0100 Subject: gnu: libev: Do not build the static library. * gnu/packages/libevent.scm (libev)[arguments]: New field. --- gnu/packages/libevent.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 85436c20c9..c1a7353d44 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -85,6 +85,8 @@ loop.") (base32 "0nkfqv69wfyy2bpga4d53iqydycpik8jp8x6q70353hia8mmv1gd")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "http://software.schmorp.de/pkg/libev.html") (synopsis "Event loop loosely modelled after libevent") (description -- cgit 1.4.1 From dc73ea4195f9b368a6ed6917b91d70e1b88e7200 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:13:41 +0100 Subject: gnu: libuv: Update to 1.34.1. * gnu/packages/libevent.scm (libuv): Update to 1.34.1. --- gnu/packages/libevent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index c1a7353d44..bc2df4e744 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -101,14 +101,14 @@ limited support for fork events.") (define-public libuv (package (name "libuv") - (version "1.34.0") + (version "1.34.1") (source (origin (method url-fetch) (uri (string-append "https://dist.libuv.org/dist/v" version "/libuv-v" version ".tar.gz")) (sha256 (base32 - "0j416x38cp6gh5isn3fwv331aw6bpfmrk8xgm07rq5py47kyqg52")))) + "1kwgl7j9snmjicrszhynfyp4njckqaw6l90y71a0b0alp2m8asbn")))) (build-system gnu-build-system) (arguments '(;; XXX: Some tests want /dev/tty, attempt to make connections, etc. -- cgit 1.4.1 From f0136e4d18fe604e4e2f53c3b30f94ab00c3bf84 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:14:01 +0100 Subject: gnu: libuv: Do not build the static library. * gnu/packages/libevent.scm (libuv)[arguments]: Add #:configure-flags. --- gnu/packages/libevent.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index bc2df4e744..72bbddea00 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -111,7 +111,8 @@ limited support for fork events.") "1kwgl7j9snmjicrszhynfyp4njckqaw6l90y71a0b0alp2m8asbn")))) (build-system gnu-build-system) (arguments - '(;; XXX: Some tests want /dev/tty, attempt to make connections, etc. + '(#:configure-flags '("--disable-static") + ;; XXX: Some tests want /dev/tty, attempt to make connections, etc. #:tests? #f)) (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) -- cgit 1.4.1 From 2c854762cece1f1d49ab98e600dd4610b1aa05d7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:15:20 +0100 Subject: gnu: python2: Update to 2.7.17. * gnu/packages/python.scm (python-2.7): Update to 2.7.17. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ef1c8e4a09..7aa170ffc0 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -97,7 +97,7 @@ (define-public python-2.7 (package (name "python2") - (version "2.7.16") + (version "2.7.17") (source (origin (method url-fetch) @@ -105,7 +105,7 @@ version "/Python-" version ".tar.xz")) (sha256 (base32 - "1mqfcqp5y8r0bfyr7ppl74n0lig45p9mc4b8adlcpvj74rhfy8pj")) + "0hds28cg226m8j8sr394nm9yc4gxhvlv109w0avsf2mxrlrz0hsd")) (patches (search-patches "python-2.7-search-paths.patch" "python-2-deterministic-build-info.patch" "python-2.7-site-prefixes.patch" -- cgit 1.4.1 From ec836b46bf52a5f86c61f50e3a2c3330a7ee3665 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 18:16:57 +0100 Subject: gnu: help2man: Update to 1.47.12. * gnu/packages/man.scm (help2man): Update to 1.47.12. (help2man/latest): Remove variable. --- gnu/packages/man.scm | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index f396eeafa9..f63946c04f 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -198,7 +198,7 @@ Linux kernel and C library interfaces employed by user-space programs.") (define-public help2man (package (name "help2man") - (version "1.47.10") + (version "1.47.12") (source (origin (method url-fetch) @@ -206,7 +206,7 @@ Linux kernel and C library interfaces employed by user-space programs.") version ".tar.xz")) (sha256 (base32 - "1yywli520246aba12vpgj7bhr1r13swad3xm49a0cygqcgywnwgk")))) + "0q5ixbxz1v7wqnpg4bq7k7nbv9ssnmcvdbqsq5ycjvniz56ac2vx")))) (build-system gnu-build-system) (arguments `(;; There's no `check' target. #:tests? #f)) @@ -226,18 +226,6 @@ Linux kernel and C library interfaces employed by user-space programs.") automatically.") (license gpl3+))) -(define-public help2man/latest - (package - (inherit help2man) - (version "1.47.11") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/help2man/help2man-" - version ".tar.xz")) - (sha256 - (base32 - "123vsimgx8zq1h077sbyh3bd0hbmlc3wih2231wwh133z1bv51ar")))))) - (define-public scdoc (package (name "scdoc") -- cgit 1.4.1 From bb93042c8beb881ab907fa802eefb3c4091039a2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 00:24:28 +0100 Subject: gnu: util-linux: Move libraries to separate output. Fixes . Reported by Diego Nicola Barbato . * gnu/packages/linux.scm (util-linux)[outputs]: Add "lib". [arguments]: Update #:configure-flags and the "move-static-libraries" phase accordingly. Add phases "patch-build-scripts" and "adjust-pkg-config-files". (e2fsprogs, psm, mtd-utils, f2fs-tools, f2fs-tools-1.7, eudev, xfsprogs)[inputs]: Change to the "lib" output of UTIL-LINUX. (btrfs-progs)[inputs]: Remove duplicate UTIL-LINUX inputs and change to use the "lib" output. * gnu/packages/admin.scm (pam-mount)[inputs]: Add UTIL-LINUX:LIB. (testdisk)[inputs]: Change to the "lib" output of UTIL-LINUX. * gnu/packages/android.scm (abootimg)[inputs]: Likewise. * gnu/packages/audio.scm (jack-1)[propagated-inputs]: Likewise. * gnu/packages/bootloaders.scm (syslinux, vboot-utils)[inputs]: Likewise. * gnu/packages/chez.scm (chez-scheme)[inputs]: Likewise. * gnu/packages/cryptsetup.scm (cryptsetup, cryptsetup-static)[inputs]: Likewise. * gnu/packages/databases.scm (postgresql, 4store)[inputs]: Likewise. * gnu/packages/disk.scm (ndctl, gptfdisk, fdisk, gparted, rmlint, volume-key)[inputs]: Likewise. (parted)[inputs]: Likewise. [native-inputs]: Add UTIL-LINUX. * gnu/packages/efi.scm (sbsigntools)[inputs]: Add UTIL-LINUX:LIB. * gnu/packages/engineering.scm (lib3mf)[inputs]: Change to the "lib" output of UTIL-LINUX. * gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise. * gnu/packages/file-systems.scm (glusterfs, jfsutils, zfs)[inputs]: Likewise. * gnu/packages/firmware.scm (ovmf)[inputs]: Likewise. * gnu/packages/fontutils.scm (fontconfig)[propagated-inputs]: Likewise. * gnu/packages/freedesktop.scm (localed)[inputs]: Likewise. * gnu/packages/glib.scm (glib, appstream-glib)[propagated-inputs]: Likewise. * gnu/packages/gnome.scm (tracker, gnome-terminal)[inputs]: Likewise. * gnu/packages/jupyter.scm (xeus)[inputs]: Likewise. * gnu/packages/kde.scm (kpmcore)[inputs]: Likewise. * gnu/packages/kodi.scm (crossguid)[inputs]: Likewise. * gnu/packages/lighting.scm (ola)[inputs]: Likewise. * gnu/packages/music.scm (libgig)[inputs]: Likewise. * gnu/packages/nfs.scm (nfs-utils)[inputs]: Likewise. * gnu/packages/opencog.scm (opencog)[inputs]: Likewise. * gnu/packages/package-management.scm (msitools)[inputs]: Change to the "lib" output of UTIL-LINUX. * gnu/packages/password-utils.scm (pwsafe)[inputs]: Likewise. * gnu/packages/telephony.scm (pjproject)[propagated-inputs]: Likewise. * gnu/packages/rdf.scm (rasqal)[inputs]: Likewise. * gnu/packages/search.scm (xapian)[inputs]: Likewise. * gnu/packages/sssd.scm (sssd)[native-inputs]: Likewise. * gnu/packages/storage.scm (ceph)[inputs]: Add UTIL-LINUX:LIB. * gnu/packages/task-management.scm (taskwarrior)[inputs]: Change to the "lib" output of UTIL-LINUX. * gnu/packages/virtualization.scm (libvirt, xen)[inputs]: Likewise. * gnu/packages/xorg.scm (libsm)[inputs]: Likewise. --- gnu/packages/admin.scm | 3 +- gnu/packages/android.scm | 2 +- gnu/packages/audio.scm | 2 +- gnu/packages/bootloaders.scm | 4 +-- gnu/packages/chez.scm | 2 +- gnu/packages/cryptsetup.scm | 4 +-- gnu/packages/databases.scm | 4 +-- gnu/packages/disk.scm | 18 ++++++------ gnu/packages/efi.scm | 1 + gnu/packages/engineering.scm | 2 +- gnu/packages/enlightenment.scm | 2 +- gnu/packages/file-systems.scm | 6 ++-- gnu/packages/firmware.scm | 2 +- gnu/packages/fontutils.scm | 2 +- gnu/packages/freedesktop.scm | 2 +- gnu/packages/glib.scm | 4 +-- gnu/packages/gnome.scm | 4 +-- gnu/packages/jupyter.scm | 2 +- gnu/packages/kde.scm | 2 +- gnu/packages/kodi.scm | 2 +- gnu/packages/lighting.scm | 2 +- gnu/packages/linux.scm | 55 ++++++++++++++++++++++++++----------- gnu/packages/music.scm | 2 +- gnu/packages/nfs.scm | 2 +- gnu/packages/opencog.scm | 2 +- gnu/packages/package-management.scm | 2 +- gnu/packages/password-utils.scm | 2 +- gnu/packages/rdf.scm | 2 +- gnu/packages/search.scm | 2 +- gnu/packages/sssd.scm | 2 +- gnu/packages/storage.scm | 1 + gnu/packages/task-management.scm | 2 +- gnu/packages/telephony.scm | 2 +- gnu/packages/virtualization.scm | 4 +-- gnu/packages/xorg.scm | 2 +- 35 files changed, 91 insertions(+), 63 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 460228db61..2b7cac7c16 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1717,7 +1717,7 @@ characters can be replaced as well, as can UTF-8 characters.") (build-system gnu-build-system) (inputs `(("ntfs-3g" ,ntfs-3g) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("openssl" ,openssl) ;; FIXME: add reiserfs. ("zlib" ,zlib) @@ -3561,6 +3561,7 @@ tcpdump and snoop.") ("lvm2" ,lvm2) ("openssl" ,openssl) ("pcre" ,pcre) + ("libmount" ,util-linux "lib") ("util-linux" ,util-linux))) (arguments `(#:configure-flags diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 30dd8925a4..62a5466ed0 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -835,7 +835,7 @@ script that you can put anywhere in your path.") (install-file "abootimg" bin) #t)))))) (inputs - `(("libblkid" ,util-linux))) + `(("libblkid" ,util-linux "lib"))) (home-page "https://ac100.grandou.net/abootimg") (synopsis "Tool for manipulating Android Boot Images") (description "This package provides a tool for manipulating old Android diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 2b0e68fdc4..e14516e8e8 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1584,7 +1584,7 @@ especially for creating reverb effects. It supports impulse responses with 1, ;; uuid.h is included in the JACK type headers ;; db.h is included in the libjack metadata headers (propagated-inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("bdb" ,bdb))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index c072ff8c8e..d3773bf6df 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -306,7 +306,7 @@ menu to select one of the installed operating systems.") ("perl" ,perl) ("python-2" ,python-2))) (inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("mtools" ,mtools))) (arguments `(#:parallel-build? #f @@ -887,7 +887,7 @@ to Novena upstream, does not load u-boot.img from the first partition.") ("libyaml" ,libyaml) ("openssl" ,openssl) ("openssl:static" ,openssl "static") - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (home-page "https://dev.chromium.org/chromium-os/chromiumos-design-docs/verified-boot") (synopsis "ChromiumOS verified boot utilities") diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 3330f91dfc..d08363a8dc 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -77,7 +77,7 @@ (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("libx11" ,libx11) ("xorg-rgb" ,xorg-rgb) ("nanopass" ,nanopass) diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm index 2a824d416e..d4c039ac04 100644 --- a/gnu/packages/cryptsetup.scm +++ b/gnu/packages/cryptsetup.scm @@ -62,7 +62,7 @@ ("libgcrypt" ,libgcrypt) ("lvm2" ,lvm2) ; device-mapper ("popt" ,popt) - ("util-linux" ,util-linux))) ; libuuid + ("util-linux" ,util-linux "lib"))) ;libuuid (synopsis "Hard disk encryption tool") (description "LUKS (Linux Unified Key Setup)/Cryptsetup provides a standard on-disk @@ -142,6 +142,6 @@ files). This assumes LIBRARY uses Libtool." ("libgcrypt" ,libgcrypt-static) ("lvm2" ,lvm2-static) ("util-linux" ,util-linux "static") - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("popt" ,popt)))) (synopsis "Hard disk encryption tool (statically linked)"))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 5d770f46e5..7607c01391 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -165,7 +165,7 @@ ("avahi" ,avahi) ("cyrus-sasl" ,cyrus-sasl) ("openssl" ,openssl) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) ;; http://www.4store.org has been down for a while now. (home-page "https://github.com/4store/4store") (synopsis "Clustered RDF storage and query engine") @@ -974,7 +974,7 @@ as a drop-in replacement of MySQL.") (invoke "make" "-C" "contrib" "install")))))) (inputs `(("readline" ,readline) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("openssl" ,openssl) ("zlib" ,zlib))) (home-page "https://www.postgresql.org/") diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 8a17e8ddbb..d63ba3e58d 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -100,13 +100,15 @@ (inputs `(("lvm2" ,lvm2) ("readline" ,readline) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (native-inputs `(("gettext" ,gettext-minimal) + ;; For the tests. ("e2fsprogs" ,e2fsprogs) ("perl" ,perl) - ("python" ,python-2))) + ("python" ,python-2) + ("util-linux" ,util-linux))) (home-page "https://www.gnu.org/software/parted/") (synopsis "Disk partition editor") (description @@ -130,7 +132,7 @@ tables. It includes a library and command-line utility.") (inputs `(("gettext" ,gettext-minimal) ("guile" ,guile-1.8) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("parted" ,parted))) ;; The build neglects to look for its own headers in its own tree. A next ;; release should fix this, but may never come: GNU fdisk looks abandoned. @@ -171,7 +173,7 @@ tables, and it understands a variety of different formats.") `(("gettext" ,gettext-minimal) ("ncurses" ,ncurses) ("popt" ,popt) - ("util-linux" ,util-linux))) ; libuuid + ("util-linux" ,util-linux "lib"))) ;libuuid (arguments `(#:test-target "test" #:phases @@ -359,7 +361,7 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") ;; as '/dev/disk/by-id' `(#:tests? #f)) (inputs - `(("util-linux" ,util-linux) + `(("util-linux" ,util-linux "lib") ("parted" ,parted) ("glib" ,glib) ("gtkmm" ,gtkmm) @@ -587,7 +589,7 @@ automatically finding out which program to use for what file type.") (inputs `(("cryptsetup" ,cryptsetup) ("nss" ,nss) - ("libblkid" ,util-linux) + ("libblkid" ,util-linux "lib") ("lvm2" ,lvm2) ; for "-ldevmapper" ("glib" ,glib) ("gpgme" ,gpgme))) @@ -640,7 +642,7 @@ passphrases.") ("json-c" ,json-c) ("keyutils" ,keyutils) ("kmod" ,kmod) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:configure-flags (list "--disable-asciidoctor" ; use docbook-xsl instead @@ -809,7 +811,7 @@ LVM D-Bus API).") ("libelf" ,libelf) ("elfutils" ,elfutils) ("json-glib" ,json-glib) - ("libblkid" ,util-linux))) + ("libblkid" ,util-linux "lib"))) (home-page "https://rmlint.rtfd.org") (synopsis "Remove duplicates and other lint from the file system") (description "@command{rmlint} finds space waste and other broken things diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm index b6e93dd618..2bfebfdbc2 100644 --- a/gnu/packages/efi.scm +++ b/gnu/packages/efi.scm @@ -113,6 +113,7 @@ environment presented by Intel's EFI.") ("util-linux" ,util-linux))) ; getopt (inputs `(("gnu-efi" ,gnu-efi) + ("libuuid" ,util-linux "lib") ("openssl" ,openssl))) (synopsis "EFI signing tools") (description "This package provides tools for signing EFI binaries.") diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 3f4cdbd172..bd611f01f2 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2149,7 +2149,7 @@ engineers for reverse engineers.") (native-inputs `(("googletest-source" ,(package-source googletest)))) (inputs - `(("libuuid" ,util-linux))) + `(("libuuid" ,util-linux "lib"))) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index d79ca949f2..121627dd88 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -134,7 +134,7 @@ ("lz4" ,lz4) ("openssl" ,openssl) ("pulseaudio" ,pulseaudio) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("wayland" ,wayland) ("zlib" ,zlib))) (arguments diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index a3dc993055..50afe29c77 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -127,7 +127,7 @@ single file can be mounted.") "jfsutils-include-systypes.patch")))) (build-system gnu-build-system) (inputs - `(("util-linux" ,util-linux))) + `(("util-linux" ,util-linux "lib"))) (home-page "http://jfs.sourceforge.net/home.html") (synopsis "Utilities for managing JFS file systems") (description @@ -271,7 +271,7 @@ non-determinism in the build process.") ("fuse", fuse) ("openssl" ,openssl) ("liburcu" ,liburcu) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("libxml2" ,libxml2) ("readline" ,readline) ("zlib" ,zlib) @@ -503,7 +503,7 @@ APFS.") ("openssl" ,openssl) ("python" ,python) ("python-cffi" ,python-cffi) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("zlib" ,zlib))) (home-page "https://zfsonlinux.org/") (synopsis "Native ZFS on Linux") diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 0156a4e9fa..ab03bc32fd 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -253,7 +253,7 @@ coreboot.") ("gcc" ,gcc-5) ("nasm" ,nasm) ("python-2" ,python-2) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:tests? #f ; No check target. #:phases diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index b5c8d27c7e..107967bb5d 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -308,7 +308,7 @@ fonts to/from the WOFF2 format.") ;; In Requires or Requires.private of fontconfig.pc. (propagated-inputs `(("expat" ,expat) ("freetype" ,freetype) - ("libuuid" ,util-linux))) + ("libuuid" ,util-linux "lib"))) (inputs `(("gs-fonts" ,gs-fonts))) (native-inputs `(("gperf" ,gperf) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index ed221439b4..79363f5662 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -476,7 +476,7 @@ of a the system to know what users are logged in, and where.") (find-files ".." "^(kbd-model-map|language-fallback-map)$")) #t))))))) (native-inputs (package-native-inputs elogind)) - (inputs `(("libmount" ,util-linux) + (inputs `(("libmount" ,util-linux "lib") ("xkeyboard-config" ,xkeyboard-config) ("kbd" ,kbd) ,@(package-inputs elogind))) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 4fe38b7f25..2b8700f6da 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -188,7 +188,7 @@ shared NFS home directories.") `(("pcre" ,pcre) ; in the Requires.private field of glib-2.0.pc ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc ;; These are in the Requires.private field of gio-2.0.pc - ("util-linux" ,util-linux) ; for libmount + ("util-linux" ,util-linux "lib") ;for libmount ("libselinux" ,libselinux) ("zlib" ,zlib))) (inputs @@ -931,7 +931,7 @@ programming language. It also contains the utility (propagated-inputs `(("gcab" ,gcab) ; for .pc file ("gdk-pixbuf" ,gdk-pixbuf) ; for .pc file - ("util-linux" ,util-linux))) ; for .pc file + ("libuuid" ,util-linux "lib"))) ; for .pc file (inputs `(("glib" ,glib) ("gperf" ,gperf) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ac566b8647..b841a72c3b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3832,7 +3832,7 @@ more fun.") ("vte" ,vte) ("gnutls" ,gnutls) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("vala" ,vala))) (home-page "https://wiki.gnome.org/Apps/Terminal") (synopsis "Terminal emulator") @@ -7291,7 +7291,7 @@ easy, safe, and automatic.") ("openjpeg" ,openjpeg-1) ("libseccomp" ,libseccomp) ("libsoup" ,libsoup) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("network-manager" ,network-manager))) (synopsis "Metadata database, indexer and search tool") (home-page "https://wiki.gnome.org/Projects/Tracker") diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index e65a8bd6c9..3f16bc27f1 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -171,7 +171,7 @@ Messaging Protocol}.") ("cppzmq" ,cppzmq) ("zeromq" ,zeromq) ("openssl" ,openssl) - ("util-linux" ,util-linux))) ;libuuid + ("util-linux" ,util-linux "lib"))) ;libuuid (home-page "https://quantstack.net/xeus") (synopsis "C++ implementation of the Jupyter Kernel protocol") (description diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index bb5c25014e..924ca752d9 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -472,7 +472,7 @@ cards.") ("kwidgetsaddons" ,kwidgetsaddons) ("qtbase" ,qtbase) ("qca" ,qca) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (home-page "https://community.kde.org/Frameworks") (synopsis "Library for managing partitions") (description "Library for managing partitions.") diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 23afd138a3..bc61e96d19 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -121,7 +121,7 @@ (string-append out "/lib")) #t)))))) (inputs - `(("util-linux" ,util-linux))) + `(("libuuid" ,util-linux "lib"))) (synopsis "Lightweight universal identifier library") (description "CrossGuid is a minimal GUID/UUID generator library for C++.") diff --git a/gnu/packages/lighting.scm b/gnu/packages/lighting.scm index b91f5c8834..18110420de 100644 --- a/gnu/packages/lighting.scm +++ b/gnu/packages/lighting.scm @@ -57,7 +57,7 @@ `(("libftdi" ,libftdi) ("libmicrohttpd" ,libmicrohttpd) ("libusb" ,libusb) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("zlib" ,zlib))) (propagated-inputs ;; Ola 0.10.5 only supports protobuf 2.x, and building it with 3.x breaks. diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7e2d04e53e..e91d4c2c21 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1118,19 +1118,33 @@ providing the system administrator with some help in common tasks.") (("build_kill=yes") "build_kill=no")) #t)))) (build-system gnu-build-system) - (outputs '("out" - "static")) ;>2 MiB of static .a libraries + (outputs '("out" ;6.4 MiB executables and documentation + "lib" ;8.8 MiB shared libraries, headers and locales + "static")) ;2.9 MiB static .a libraries (arguments `(#:configure-flags (list "--disable-use-tty-group" "--enable-fs-paths-default=/run/current-system/profile/sbin" ;; Don't try to chown root:root mount and umount "--disable-makeinstall-chown" + "--localstatedir=/var" + (string-append "--localedir=" + (assoc-ref %outputs "lib") + "/share/locale") ;; Install completions where our ;; bash-completion package expects them. (string-append "--with-bashcompletiondir=" (assoc-ref %outputs "out") "/etc/bash_completion.d")) #:phases (modify-phases %standard-phases + (add-before 'configure 'patch-build-scripts + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "configure" + ;; The build system assumes that we want to install + ;; libraries below $exec_prefix when $libdir does not + ;; match any of the "usual" locations. Fix that. + (("usrlib_execdir='\\$\\{exec_prefix\\}'\\$libdir") + "usrlib_execdir=$libdir")) + #t)) (add-before 'build 'set-umount-file-name (lambda* (#:key outputs #:allow-other-keys) ;; Tell 'eject' the right file name of 'umount'. @@ -1150,10 +1164,12 @@ providing the system administrator with some help in common tasks.") #t))) (add-after 'install 'move-static-libraries (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) + (let ((lib (assoc-ref outputs "lib")) (static (assoc-ref outputs "static"))) + + ;; Move static libraries to the "static" output. (mkdir-p (string-append static "/lib")) - (with-directory-excursion out + (with-directory-excursion lib (for-each (lambda (file) (rename-file file (string-append static "/" @@ -1166,7 +1182,16 @@ providing the system administrator with some help in common tasks.") (substitute* (find-files "lib" "\\.la$") (("old_library=.*") "old_library=''\n"))) - #t)))))) + #t))) + (add-after 'install 'adjust-pkg-config-files + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (assoc-ref outputs "lib"))) + ;; Drop the unused "prefix=" and "exec_prefix=" variables from + ;; the pkg-config files to avoid a cyclic reference on "out". + (substitute* (find-files (string-append lib "/lib/pkgconfig") + "\\.pc$") + (("^(exec_)?prefix=.*") ""))) + #t))))) (inputs `(("zlib" ,zlib) ("ncurses" ,ncurses) @@ -1333,7 +1358,7 @@ slabtop, and skill.") (base32 "00nwl1ppjalxbnx40dsm895r3q793p8nni6n81saj7faj2szdyk5")))) (build-system gnu-build-system) - (inputs `(("util-linux" ,util-linux))) + (inputs `(("util-linux" ,util-linux "lib"))) (native-inputs `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo) ;for the libext2fs Info manual @@ -2746,7 +2771,7 @@ from the module-init-tools project.") ;; When linked against libblkid, eudev can populate /dev/disk/by-label ;; and similar; it also installs the '60-persistent-storage.rules' file, ;; which contains the rules to do that. - `(("util-linux" ,util-linux) ;for blkid + `(("util-linux" ,util-linux "lib") ;for blkid ("kmod" ,kmod))) (home-page "https://wiki.gentoo.org/wiki/Project:Eudev") (synopsis "Userspace device management") @@ -4048,11 +4073,9 @@ and copy/paste text in the console and in xterm.") #:test-target "test" #:parallel-tests? #f)) ; tests fail when run in parallel (inputs `(("e2fsprogs" ,e2fsprogs) - ("libblkid" ,util-linux) - ("libblkid:static" ,util-linux "static") - ("libuuid" ,util-linux) - ("libuuid:static" ,util-linux "static") ("lzo" ,lzo) + ("util-linux:lib" ,util-linux "lib") ;for libblkid and libuuid + ("util-linux:static" ,util-linux "static") ;ditto ("zlib" ,zlib) ("zlib:static" ,zlib "static") ("zstd" ,zstd "lib") @@ -4182,7 +4205,7 @@ obviously it can be shared with files outside our set).") ("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("libselinux" ,libselinux))) (home-page "https://f2fs.wiki.kernel.org/") (synopsis "Userland tools for f2fs") @@ -4208,7 +4231,7 @@ disks and SD cards. This package provides the userland utilities.") (base32 "0z9c0y3qq75iyqknl5k0v7v46l8c3pcifpqb0yqalrs24blkm7dk")))) (inputs - `(("libuuid" ,util-linux))))) + `(("libuuid" ,util-linux "lib"))))) (define-public freefall (package @@ -4877,7 +4900,7 @@ are exceeded.") ("pkg-config" ,pkg-config))) (inputs `(("acl" ,acl) ; extended attributes (xattr) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("lzo" ,lzo) ("openssl" ,openssl) ; optional crypto support ("zlib" ,zlib) @@ -5655,7 +5678,7 @@ libraries, which are often integrated directly into libfabric.") "psm-disable-memory-stats.patch")))) (build-system gnu-build-system) (outputs '("out" "debug")) - (inputs `(("libuuid" ,util-linux))) + (inputs `(("libuuid" ,util-linux "lib"))) (arguments '(#:make-flags `("PSM_USE_SYS_UUID=1" "CC=gcc" "WERROR=" ,(string-append "INSTALL_PREFIX=" %output) @@ -6032,7 +6055,7 @@ IP addresses and routes, and configure IPsec.") (native-inputs `(("gettext" ,gettext-minimal))) (inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("python" ,python-wrapper))) (home-page "https://xfs.wiki.kernel.org/") (synopsis "XFS file system tools") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2583191f33..4a4d870ac5 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2252,7 +2252,7 @@ improves on support for JACK features, such as JACK MIDI.") "1zs5yy124bymfyapsnljr6rv2lnn5inwchm0xnwiw44b2d39l8hn")))) (build-system gnu-build-system) (inputs - `(("libuuid" ,util-linux) + `(("libuuid" ,util-linux "lib") ("libsndfile" ,libsndfile))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm index b81623fd07..7efee9360a 100644 --- a/gnu/packages/nfs.scm +++ b/gnu/packages/nfs.scm @@ -113,7 +113,7 @@ ("rpcsvc-proto" ,rpcsvc-proto) ;for 'rpcgen' ("sqlite" ,sqlite) ("lvm2" ,lvm2) - ("util-linux" ,util-linux) + ("util-linux" ,util-linux "lib") ("mit-krb5" ,mit-krb5) ("libtirpc" ,libtirpc))) (native-inputs diff --git a/gnu/packages/opencog.scm b/gnu/packages/opencog.scm index c6828d6603..6484c10dce 100644 --- a/gnu/packages/opencog.scm +++ b/gnu/packages/opencog.scm @@ -235,7 +235,7 @@ tasks.") ("cogutil" ,cogutil) ("gmp" ,gmp) ("guile" ,guile-2.2) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("link-grammar" ,link-grammar))) (native-inputs `(("cxxtest" ,cxxtest) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 6becdb22a9..009dfba85c 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -939,7 +939,7 @@ Microsoft cabinet (.@dfn{CAB}) files.") ("glib" ,glib) ("libgsf" ,libgsf) ("libxml2" ,libxml2) - ("uuid" ,util-linux))) + ("uuid" ,util-linux "lib"))) (home-page "https://wiki.gnome.org/msitools") (synopsis "Windows Installer file manipulation tool") (description diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index db5f54e1d9..bef32e8d29 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -209,7 +209,7 @@ algorithms AES or Twofish.") ("zip" ,zip))) (inputs `(("curl" ,curl) ("file" ,file) - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("libxt" ,libxt) ("libxtst" ,libxtst) ("openssl" ,openssl) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index b086d2f00f..c69e9cb892 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -217,7 +217,7 @@ taxonomic inference capability.") ("libxml2" ,libxml2) ("mpfr" ,mpfr) ("pcre" ,pcre) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (propagated-inputs `(("raptor2" ,raptor2))) ; stipulated by rasqal.pc (arguments diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 3b7bc36889..5410263d5b 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -59,7 +59,7 @@ (base32 "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index 7bb71dce13..905f0b11ca 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -164,7 +164,7 @@ fundamental object types for C.") ("libxml2" ,libxml2) ; for xmllint ("libxslt" ,libxslt) ("pkg-config" ,pkg-config) - ("util-linux" ,util-linux))) ; for uuid.h, reqired for KCM + ("util-linux" ,util-linux "lib"))) ;for uuid.h, reqired for KCM (home-page "https://pagure.io/SSSD/sssd/") (synopsis "System security services daemon") (description "SSSD is a system daemon. Its primary function is to provide diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index a5614777fa..e3a883a535 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -231,6 +231,7 @@ ("snappy" ,snappy) ("udev" ,eudev) ("util-linux" ,util-linux) + ("util-linux:lib" ,util-linux "lib") ("xfsprogs" ,xfsprogs) ("zlib" ,zlib))) (home-page "https://ceph.com/") diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 701e14a5e2..a0313c17c2 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -40,7 +40,7 @@ (inputs `(("gnutls" ,gnutls) ("lua" ,lua) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:tests? #f ; No tests implemented. #:phases diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 1ae0724ba2..8a84cbc2cd 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -624,7 +624,7 @@ calls and messages") ("libsrtp" ,libsrtp) ("gnutls" ,gnutls) ("resample", resample) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 51ba3c602a..a3db8e813d 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -480,7 +480,7 @@ manage system or application containers.") ("libpcap" ,libpcap) ("libnl" ,libnl) ("libtirpc" ,libtirpc) ;for - ("libuuid" ,util-linux) + ("libuuid" ,util-linux "lib") ("lvm2" ,lvm2) ;for libdevmapper ("curl" ,curl) ("openssl" ,openssl) @@ -1336,7 +1336,7 @@ override CC = " (assoc-ref inputs "cross-gcc") "/bin/i686-linux-gnu-gcc")) ("pixman" ,pixman) ("qemu" ,qemu-minimal) ("seabios" ,seabios) - ("util-linux" ,util-linux) ; uuid + ("util-linux" ,util-linux "lib") ; uuid ; TODO: ocaml-findlib, ocaml-nox. ("xz" ,xz) ; for liblzma ("zlib" ,zlib))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9127d38c3a..c7b4c8299b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1233,7 +1233,7 @@ hit when running single-threaded.") `(("libice" ,libice))) ; SMlib.h includes ICElib.h (inputs `(("xtrans" ,xtrans) - ("util-linux" ,util-linux))) + ("libuuid" ,util-linux "lib"))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") -- cgit 1.4.1 From a76a343082d61d5303b61a9e4cbde4ab8515a1e7 Mon Sep 17 00:00:00 2001 From: Jakub Kądziołka Date: Tue, 14 Jan 2020 17:59:21 +0100 Subject: gnu: curl: Make libcurl respect SSL_CERT_DIR and SSL_CERT_FILE. * gnu/packages/patches/curl-use-ssl-cert-env.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/curl.scm (curl)[source]: Use the patch. [native-search-paths]: Add the new variables. Signed-off-by: Marius Bakke --- gnu/local.mk | 1 + gnu/packages/curl.scm | 20 ++++++-- gnu/packages/patches/curl-use-ssl-cert-env.patch | 64 ++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/curl-use-ssl-cert-env.patch diff --git a/gnu/local.mk b/gnu/local.mk index 62ea29cdbb..659098deb5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -789,6 +789,7 @@ dist_patch_DATA = \ %D%/packages/patches/csvkit-fix-tests.patch \ %D%/packages/patches/clucene-contribs-lib.patch \ %D%/packages/patches/cube-nocheck.patch \ + %D%/packages/patches/curl-use-ssl-cert-env.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index ee1cca449b..3d230dc1f0 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Roel Janssen ;;; Copyright © 2019 Ricardo Wurmus +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +58,8 @@ version ".tar.xz")) (sha256 (base32 - "0nh3j90w6b97wqcgxjfq55qhkz9s38955fbhwzv2fsi7483j895p")))) + "0nh3j90w6b97wqcgxjfq55qhkz9s38955fbhwzv2fsi7483j895p")) + (patches (search-patches "curl-use-ssl-cert-env.patch")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.2 MiB of man3 pages @@ -74,10 +76,20 @@ ("pkg-config" ,pkg-config) ("python" ,python-wrapper))) (native-search-paths - ;; Note: This search path is respected by the `curl` command-line tool only. - ;; Ideally we would bake this into libcurl itself so other users can benefit, - ;; but it's not supported upstream due to thread safety concerns. + ;; These variables are introduced by libcurl-use-ssl-cert-env.patch. (list (search-path-specification + (variable "SSL_CERT_DIR") + (separator #f) ;single entry + (files '("etc/ssl/certs"))) + (search-path-specification + (variable "SSL_CERT_FILE") + (file-type 'regular) + (separator #f) ;single entry + (files '("etc/ssl/certs/ca-certificates.crt"))) + ;; Note: This search path is respected by the `curl` command-line + ;; tool only. Patching libcurl to read it too would bring no + ;; advantages and require maintaining a more complex patch. + (search-path-specification (variable "CURL_CA_BUNDLE") (file-type 'regular) (separator #f) ;single entry diff --git a/gnu/packages/patches/curl-use-ssl-cert-env.patch b/gnu/packages/patches/curl-use-ssl-cert-env.patch new file mode 100644 index 0000000000..c8e80b4445 --- /dev/null +++ b/gnu/packages/patches/curl-use-ssl-cert-env.patch @@ -0,0 +1,64 @@ +Make libcurl respect the SSL_CERT_{DIR,FILE} variables by default. The variables +are fetched during initialization to preserve thread-safety (curl_global_init(3) +must be called when no other threads exist). + +This fixes network functionality in rust:cargo, and probably removes the need +for other future workarounds. +=================================================================== +--- curl-7.66.0.orig/lib/easy.c 2020-01-02 15:43:11.883921171 +0100 ++++ curl-7.66.0/lib/easy.c 2020-01-02 16:18:54.691882797 +0100 +@@ -134,6 +134,9 @@ + # pragma warning(default:4232) /* MSVC extension, dllimport identity */ + #endif + ++char * Curl_ssl_cert_dir = NULL; ++char * Curl_ssl_cert_file = NULL; ++ + /** + * curl_global_init() globally initializes curl given a bitwise set of the + * different features of what to initialize. +@@ -155,6 +158,9 @@ + #endif + } + ++ Curl_ssl_cert_dir = curl_getenv("SSL_CERT_DIR"); ++ Curl_ssl_cert_file = curl_getenv("SSL_CERT_FILE"); ++ + if(!Curl_ssl_init()) { + DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n")); + return CURLE_FAILED_INIT; +@@ -260,6 +266,9 @@ + Curl_ssl_cleanup(); + Curl_resolver_global_cleanup(); + ++ free(Curl_ssl_cert_dir); ++ free(Curl_ssl_cert_file); ++ + #ifdef WIN32 + Curl_win32_cleanup(init_flags); + #endif +diff -ur curl-7.66.0.orig/lib/url.c curl-7.66.0/lib/url.c +--- curl-7.66.0.orig/lib/url.c 2020-01-02 15:43:11.883921171 +0100 ++++ curl-7.66.0/lib/url.c 2020-01-02 16:21:11.563880346 +0100 +@@ -524,6 +524,21 @@ + if(result) + return result; + #endif ++ extern char * Curl_ssl_cert_dir; ++ extern char * Curl_ssl_cert_file; ++ if(Curl_ssl_cert_dir) { ++ if(result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_ORIG], Curl_ssl_cert_dir)) ++ return result; ++ if(result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_PROXY], Curl_ssl_cert_dir)) ++ return result; ++ } ++ ++ if(Curl_ssl_cert_file) { ++ if(result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_ORIG], Curl_ssl_cert_file)) ++ return result; ++ if(result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_PROXY], Curl_ssl_cert_file)) ++ return result; ++ } + } + + set->wildcard_enabled = FALSE; -- cgit 1.4.1 From 12341d344a91b073b210a72bde30f6781fe6d9cd Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:57:54 +0000 Subject: gnu: ruby-listen: Update to 3.2.0. This avoids some test failures when updating Ruby to 2.6. * gnu/packages/ruby.scm (ruby-listen): Update to 3.2.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 969fc95a00..cc3510b98d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4584,7 +4584,7 @@ a native C extension.") (define-public ruby-listen (package (name "ruby-listen") - (version "3.1.5") + (version "3.2.0") (source (origin ;; The gem does not include a Rakefile, so fetch from the Git @@ -4596,7 +4596,7 @@ a native C extension.") (file-name (git-file-name name version)) (sha256 (base32 - "1hqmkfa9f2xb5jlvqbafdxjd5ax75jm8gqj5nh3k22xq0kacsvgg")))) + "1hkp1g6hk5clsmbd001gkc12ma6s459x820piajyasv61m87if24")))) (build-system ruby-build-system) (arguments `(#:test-target "spec" -- cgit 1.4.1 From cf7201c4cc8be4b66f16da1670edee8fe6e1fd72 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:58:02 +0000 Subject: gnu: ruby-aruba: Update to 0.14.14. Stop patching out the use of simplecov, it's used throughout the tests now, so it's not as simple to avoid using it. * gnu/packages/ruby.scm (ruby-aruba): Update to 0.14.14. [arguments]: Stop patching out the use of simplecov. [native-inputs]: Add ruby-simplecov. --- gnu/packages/ruby.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index cc3510b98d..b11dc8a138 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5441,14 +5441,14 @@ It is intended be used by all Cucumber implementations to parse (define-public ruby-aruba (package (name "ruby-aruba") - (version "0.14.8") + (version "0.14.14") (source (origin (method url-fetch) (uri (rubygems-uri "aruba" version)) (sha256 (base32 - "0zdd81l1lp0x78sxa6kkfqclpj5il3xl70nz05wqv2sfzzhqydxh")))) + "0l2mfpdxc03gdrbwc2hv4vdhjhqhfcdp6d02j05j64ncpi9srlqn")))) (build-system ruby-build-system) (arguments '(#:test-target "spec" @@ -5480,11 +5480,7 @@ It is intended be used by all Cucumber implementations to parse ((".*cucumber.*") "\n") ((".*license_finder.*") "\n") ((".*rake.*") "gem 'rake'\n") - ((".*simplecov.*") "\n") ((".*relish.*") "\n")) - (substitute* "spec/spec_helper.rb" - ((".*simplecov.*") "") - (("^SimpleCov.*") "")) (substitute* "aruba.gemspec" (("spec\\.add\\_runtime\\_dependency 'cucumber'.*") "spec.add_runtime_dependency 'cucumber'")) @@ -5494,7 +5490,8 @@ It is intended be used by all Cucumber implementations to parse (native-inputs `(("bundler" ,bundler) ("ruby-rspec" ,ruby-rspec) - ("ruby-fuubar" ,ruby-fuubar))) + ("ruby-fuubar" ,ruby-fuubar) + ("ruby-simplecov" ,ruby-simplecov))) (propagated-inputs `(("ruby-childprocess" ,ruby-childprocess) ("ruby-contracts" ,ruby-contracts) -- cgit 1.4.1 From 5142012471867818f18574dc1202a52ce8eedfb7 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:58:13 +0000 Subject: gnu: ruby-childprocess-0.6: Remove version 0.6.3. As it is unused. * gnu/packages/ruby.scm (ruby-childprocess-0.6): Rename to ruby-childprocess. [version, source]: Copy from ruby-childprocess. --- gnu/packages/ruby.scm | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b11dc8a138..ae40be29a2 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7460,17 +7460,17 @@ in standard Ruby syntax.") (home-page "https://github.com/ruby/rake") (license license:expat))) -(define-public ruby-childprocess-0.6 +(define-public ruby-childprocess (package (name "ruby-childprocess") - (version "0.6.3") + (version "0.9.0") (source (origin (method url-fetch) (uri (rubygems-uri "childprocess" version)) (sha256 (base32 - "1p3f43scdzx9zxmy2kw5zsc3az6v46nq4brwcxmnscjy4w4racbv")))) + "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) @@ -7485,19 +7485,6 @@ programs running in the background, in Ruby.") (home-page "http://github.com/enkessler/childprocess") (license license:expat))) -(define-public ruby-childprocess - (package - (inherit ruby-childprocess-0.6) - (name "ruby-childprocess") - (version "0.9.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "childprocess" version)) - (sha256 - (base32 - "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p")))))) - (define-public ruby-public-suffix (package (name "ruby-public-suffix") -- cgit 1.4.1 From 459e4a1aa184ad863eec4374ca7683de92b4aa06 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:58:17 +0000 Subject: gnu: ruby-childprocess: Update to 3.0.0. * gnu/packages/ruby.scm (ruby-childprocess): Update to 3.0.0. [home-page]: Switch to https, as it's supported by github.com. --- gnu/packages/ruby.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ae40be29a2..140d9f5fd2 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7463,14 +7463,14 @@ in standard Ruby syntax.") (define-public ruby-childprocess (package (name "ruby-childprocess") - (version "0.9.0") + (version "3.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "childprocess" version)) (sha256 (base32 - "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p")))) + "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) @@ -7482,7 +7482,7 @@ in standard Ruby syntax.") (synopsis "Control external programs running in the background, in Ruby") (description "@code{childprocess} provides a gem to control external programs running in the background, in Ruby.") - (home-page "http://github.com/enkessler/childprocess") + (home-page "https://github.com/enkessler/childprocess") (license license:expat))) (define-public ruby-public-suffix -- cgit 1.4.1 From f321380fb3fa5921dcbe77df4329af8b242a2dcb Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:58:22 +0000 Subject: gnu: ruby-yard: Update to 0.9.20. * gnu/packages/ruby.scm (ruby-yard): Update to 0.9.20. [arguments]: Delete the Gemfile before running the tests. [native-inputs]: Add ruby-redcloth and ruby-asciidoctor. --- gnu/packages/ruby.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 140d9f5fd2..eec20b088f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5783,7 +5783,7 @@ A modified copy of yajl is used, and included in the package.") (define-public ruby-yard (package (name "ruby-yard") - (version "0.9.16") + (version "0.9.20") (source (origin (method git-fetch) @@ -5794,20 +5794,24 @@ A modified copy of yajl is used, and included in the package.") (file-name (git-file-name name version)) (sha256 (base32 - "0a4r1pfs0ms4vlccsf1x2jckx35lqm8b8lh6rdjxqfr5fia5izpf")))) + "1v48zz8hzazrg79jksj9siys21d2axvzijvkxw2j42zh86syi1wi")))) (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ + ;; Delete the Gemfile to avoid errors relating to it + (delete-file "Gemfile") ;; $HOME needs to be set to somewhere writeable for tests to run (setenv "HOME" "/tmp") ;; Run tests without using 'rake' to avoid dependencies. (invoke "rspec")))))) (native-inputs `(("ruby-rspec" ,ruby-rspec) - ("ruby-rack" ,ruby-rack))) + ("ruby-rack" ,ruby-rack) + ("ruby-redcloth" ,ruby-redcloth) + ("ruby-asciidoc" ,ruby-asciidoctor))) (synopsis "Documentation generation tool for Ruby") (description "YARD is a documentation generation tool for the Ruby programming -- cgit 1.4.1 From d0d2dd24de81a90116008863b2a868de43d3663f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:58:28 +0000 Subject: gnu: ruby-hoe: Update to 3.21.0. * gnu/packages/ruby.scm (ruby-hoe): Update to 3.21.0. [arguments]: Avoid having SOURCE_DATE_EPOCH set while the tests are running. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index eec20b088f..48cbf427d5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -299,14 +299,32 @@ a menu system for providing multiple options to the user.") (define-public ruby-hoe (package (name "ruby-hoe") - (version "3.16.2") + (version "3.21.0") (source (origin (method url-fetch) (uri (rubygems-uri "hoe" version)) (sha256 (base32 - "12q6dn2irsfamdbjpqvs0dwl4i1vl7wflxrcg972h9jw0ds38f3a")))) + "0qid0n56mgsjvq5ksxajv0gb92akky8imwgvw22ajms5g4fd6nf4")))) (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; One of the tests fails if the SOURCE_DATE_EPOCH environment + ;; variable is set, so unset it for the duration of the tests. + ;; + ;; TestHoe#test_possibly_better + ;; [/tmp/guix-build-ruby-hoe-3.20.0.drv-0/gem/test/test_hoe.rb:250]: + ;; Expected: 2019-11-12 00:00:00 UTC + ;; Actual: 1970-01-01 00:00:00 UTC + (add-before 'check 'unset-SOURCE-DATE-EPOCH + (lambda _ + (unsetenv "SOURCE_DATE_EPOCH") + #t)) + (add-after 'check 'set-SOURCE-DATE-EPOCH-again + (lambda _ + (setenv "SOURCE_DATE_EPOCH" "1") + #t))))) (synopsis "Ruby project management helper") (description "Hoe is a rake/rubygems helper for project Rakefiles. It helps manage, -- cgit 1.4.1 From 6754323bd865d3b58c5049c55fb9744ff1a41893 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:58:37 +0000 Subject: gnu: ruby-power-assert: Update to 1.1.5. * gnu/packages/ruby.scm (ruby-power-assert): Update to 1.1.5. [arguments]: Disable running the tests. --- gnu/packages/ruby.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 48cbf427d5..5db3d3b2ef 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2292,14 +2292,16 @@ using Net::HTTP, supporting reconnection and retry according to RFC 2616.") (define-public ruby-power-assert (package (name "ruby-power-assert") - (version "0.2.7") + (version "1.1.5") (source (origin (method url-fetch) (uri (rubygems-uri "power_assert" version)) (sha256 (base32 - "0ka6w71lcan4wgf111xi3pcn9ma9lhakv31jg8w007nwzi0xfjbi")))) + "1dii0wkfa0jm8sk9b20zl1z4980dmrjh0zqnii058485pp3ws10s")))) (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ; No included tests (native-inputs `(("bundler" ,bundler))) (synopsis "Assert library with descriptive assertion messages") -- cgit 1.4.1 From 1c65d99f1b455ac06c6e30594aa4d8243d36b8b6 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:58:41 +0000 Subject: gnu: ruby-json-pure: Update to 2.2.0. * gnu/packages/ruby.scm (ruby-json-pure): Update to 2.2.0. [home-page]: Add trailing /, due to a redirect. --- gnu/packages/ruby.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5db3d3b2ef..34c7b9c157 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4498,13 +4498,13 @@ a native C extension.") (define-public ruby-json-pure (package (name "ruby-json-pure") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (rubygems-uri "json_pure" version)) (sha256 (base32 - "12yf9fmhr4c2jm3xl20vf1qyz5i63vc8a6ngz9j0f86nqwhmi2as")))) + "0m0j1mfwv0mvw72kzqisb26xjl236ivqypw1741dkis7s63b8439")))) (build-system ruby-build-system) (arguments `(#:phases @@ -4538,7 +4538,7 @@ a native C extension.") (synopsis "JSON implementation in pure Ruby") (description "This package provides a JSON implementation written in pure Ruby.") - (home-page "https://flori.github.com/json") + (home-page "https://flori.github.com/json/") (license license:ruby))) (define-public ruby-jwt -- cgit 1.4.1 From 740fea08727fc300f530e00fab49a57e984387cb Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:58:56 +0000 Subject: gnu: ruby-tzinfo: Skip safe tests. The safe tests attempt to run with Ruby 2.6, but these tests fail if the build takes place within /tmp, as the Ruby LOAD_PATH then includes /tmp, which is world writable. * gnu/packages/ruby.scm (ruby-tzinfo)[arguments]: Add skip-safe-tests phase. --- gnu/packages/ruby.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 34c7b9c157..95d29850b5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4108,6 +4108,16 @@ utilities for Ruby.") (base32 "09dpbrih054mn42flbbcdpzk2727mzfvjrgqb12zdafhx7p9rrzp")))) (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-safe-tests + (lambda _ + (substitute* "test/test_utils.rb" + (("def safe_test\\(options = \\{\\}\\)") + "def safe_test(options = {}) + skip('The Guix build environment has an unsafe load path')")) + #t))))) (propagated-inputs `(("ruby-thread-safe" ,ruby-thread-safe))) (synopsis "Time zone library for Ruby") -- cgit 1.4.1 From f6d7df3ceea04187023cabfab402d7891cd9b81f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:59:01 +0000 Subject: gnu: ruby-2.4: Update to 2.4.9. * gnu/packages/ruby.scm (ruby-2.4): Update to 2.4.9. --- gnu/packages/ruby.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 95d29850b5..79a36e9c19 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -133,7 +133,7 @@ a focus on simplicity and productivity.") (define-public ruby-2.4 (package (inherit ruby) - (version "2.4.3") + (version "2.4.9") (source (origin (method url-fetch) @@ -142,8 +142,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0l9bv67dgsphk42lmiskhrnh47hbyj6rfg2rcjx22xivpx07srr3")) - (patches (search-patches "ruby-rubygems-276-for-ruby24.patch")) + "0546ymj2h3iai679fvx17bb2hksrqyhh22llxgz8fwggac100khc")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi -- cgit 1.4.1 From 4914c157fd3380dd25a1b00f5b44638943f6353b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:59:05 +0000 Subject: gnu: ruby: Update to 2.6.5. Make zlib a propagated-input, as the pkgconfig configuration includes linking against zlib as default, which means that gems with native components will fail to build without zlib. * gnu/packages/ruby.scm (ruby): Update to 2.6.5. --- gnu/packages/ruby.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 79a36e9c19..ff1b63785c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -78,7 +78,7 @@ (define-public ruby (package (name "ruby") - (version "2.5.3") + (version "2.6.5") (source (origin (method url-fetch) @@ -87,7 +87,7 @@ "/ruby-" version ".tar.xz")) (sha256 (base32 - "0vrhrw7kcz9mg0jkqnihkcxqy5k05v8k1j0y2735z8wfk8sx1j8w")) + "0qhsw2mr04f3lqinkh557msr35pb5rdaqy4vdxcj91flgxqxmmnm")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi @@ -118,8 +118,9 @@ `(("readline" ,readline) ("openssl" ,openssl) ("libffi" ,libffi) - ("gdbm" ,gdbm) - ("zlib" ,zlib))) + ("gdbm" ,gdbm))) + (propagated-inputs + `(("zlib" ,zlib))) (native-search-paths (list (search-path-specification (variable "GEM_PATH") -- cgit 1.4.1 From 227fab3ed8842b22337196ee21c79143fc093855 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 13 Jan 2020 19:59:11 +0000 Subject: gnu: Add ruby-2.5. * gnu/packages/ruby.scm (ruby-2.5): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ff1b63785c..50758d204b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -131,6 +131,25 @@ a focus on simplicity and productivity.") (home-page "https://www.ruby-lang.org") (license license:ruby))) +(define-public ruby-2.5 + (package + (inherit ruby) + (version "2.5.7") + (source + (origin + (method url-fetch) + (uri (string-append "http://cache.ruby-lang.org/pub/ruby/" + (version-major+minor version) + "/ruby-" version ".tar.xz")) + (sha256 + (base32 + "159zka4sbx1p4ayxqi7a5ybbzxvn3n5mivrz4d1damw9ypl70610")) + (modules '((guix build utils))) + (snippet `(begin + ;; Remove bundled libffi + (delete-file-recursively "ext/fiddle/libffi-3.2.1") + #t)))))) + (define-public ruby-2.4 (package (inherit ruby) -- cgit 1.4.1 From aded68b30083d2042c543c0a1d7685b2147c2b83 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 15 Jan 2020 10:32:07 +0200 Subject: gnu: sed: Update to 4.8. * gnu/packages/base.scm (sed): Update to 4.8. [source]: Download gzip tarball. --- gnu/packages/base.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5c48db40a7..bb7ab350b4 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver ;;; Copyright © 2014 Alex Kost ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis -;;; Copyright © 2016, 2017, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016, 2018 Alex Vong ;;; Copyright © 2017 Rene Saavedra @@ -133,14 +133,14 @@ including, for example, recursive directory searching.") (define-public sed (package (name "sed") - (version "4.7") + (version "4.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/sed/sed-" version - ".tar.xz")) + ".tar.gz")) (sha256 (base32 - "0smxcx66vx29djzb542nxcynl7qnzxqa5032ibazi7x2s267d198")))) + "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk")))) (build-system gnu-build-system) (synopsis "Stream editor") (native-inputs -- cgit 1.4.1 From 8bd2b15b06f6306e37cc72995b76a7f0754cf1a6 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 3 Jan 2020 15:20:18 +0100 Subject: gnu: make-bootstrap: Add cross-libc:static to the inputs. This is a follow-up of 4610ab7c9a5327df0d475262817bc081a5891aa8. 'getpw' & co fail with a cross-compiled statically-linked guile. * gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[inputs]: Add "cross-libc:static". --- gnu/packages/make-bootstrap.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index d149a7ec1a..0144a6e9a2 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018, 2019 Mark H Weaver ;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -137,7 +138,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (define (inputs) (if (%current-target-system) ; is this package cross built? `(("cross-libc" - ,(cross-bootstrap-libc (%current-target-system)))) + ,(cross-bootstrap-libc (%current-target-system))) + ("cross-libc:static" + ,(cross-bootstrap-libc (%current-target-system)) + "static")) '())) (define (native-inputs) -- cgit 1.4.1 From 4798554038271f1a6d1319313ca68ea99ddaabbe Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 3 Dec 2019 18:29:57 +0100 Subject: gnu: mit-krb5: Set localstatedir to /var. * gnu/packages/kerberos.scm (mit-krb5)[arguments]: Set localstatedir. --- gnu/packages/kerberos.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 7435566c06..2b8ebbac77 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2012, 2017 Ludovic Courtès -;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2019 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2019 Mathieu Othacehe @@ -76,14 +76,16 @@ ,@(if (%current-target-system) '(#:configure-flags - (list "krb5_cv_attr_constructor_destructor=yes" + (list "--localstatedir=/var" + "krb5_cv_attr_constructor_destructor=yes" "ac_cv_func_regcomp=yes" "ac_cv_printf_positional=yes" "ac_cv_file__etc_environment=yes" "ac_cv_file__etc_TIMEZONE=no") #:make-flags (list "CFLAGS+=-DDESTRUCTOR_ATTR_WORKS=1")) - '()) + '(#:configure-flags + (list "--localstatedir=/var"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-source-directory -- cgit 1.4.1 From 201015b10eb6988ea15ab8aacd7944b48a5549a3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Jan 2020 12:56:34 +0100 Subject: gnu: texlive-latex-base: Fix syntax error in Lua file. * gnu/packages/tex.scm (texlive-latex-base)[arguments]: Patch ltluatex.dtx. --- gnu/packages/tex.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index a31e2695e7..d95434aa8f 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -2402,6 +2402,13 @@ formats.") (srfi srfi-26))) ((#:phases phases) `(modify-phases ,phases + ;; The literal tab in the dtx file is translated to the string + ;; "^^I" in the generated Lua file, which causes a syntax error. + (add-after 'unpack 'fix-lua-sources + (lambda _ + (substitute* "source/latex/base/ltluatex.dtx" + ((" ") " ")) + #t)) (replace 'build (lambda* (#:key inputs #:allow-other-keys) ;; Find required fonts -- cgit 1.4.1 From 36930b2463fc933e7c5580f49413dbd14cf1df48 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 17 Jan 2020 21:21:07 +0100 Subject: packages: 'patch-and-repack' sets the mtime to 1, not 0. * guix/packages.scm (patch-and-repack)[build]: Pass "--mtime=@1" instead of "--mtime=@0". --- guix/packages.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/guix/packages.scm b/guix/packages.scm index 5ecb97f946..d925e754a3 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Alex Kost @@ -637,8 +637,10 @@ specifies modules in scope when evaluating SNIPPET." (apply invoke (string-append #+tar "/bin/tar") "cvfa" #$output - ;; avoid non-determinism in the archive - "--mtime=@0" + ;; Avoid non-determinism in the archive. Set the mtime + ;; to 1 as is the case in the store (software like gzip + ;; behaves differently when it stumbles upon mtime = 0). + "--mtime=@1" "--owner=root:0" "--group=root:0" (if tar-supports-sort? -- cgit 1.4.1 From 64b39d6e42ab349507ed495edf26c48c426b5a1a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 20:17:46 +0100 Subject: gnu: Remove texinfo@6.6 * gnu/packages/texinfo.scm (texinfo): Update to 6.7. (texinfo-6.7): Remove variable. --- gnu/packages/texinfo.scm | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index ae8ecc868b..04f63dafa7 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -42,14 +42,14 @@ (define-public texinfo (package (name "texinfo") - (version "6.6") + (version "6.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/texinfo/texinfo-" version ".tar.xz")) (sha256 (base32 - "0rixv4c301djr0d0cnsxs8c1wjndi6bf9vi5axz6mwjkv80cmfcv")))) + "1aicn1v3czqii08wc91jw089n1x3gfchkf808q2as59dak0h714q")))) (build-system gnu-build-system) (arguments ;; When cross-compiling, the package is configured twice: once with the @@ -91,18 +91,6 @@ their source and the command-line Info reader. The emphasis of the language is on expressing the content semantically, avoiding physical markup commands.") (license gpl3+))) -(define-public texinfo-6.7 - (package - (inherit texinfo) - (version "6.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/texinfo/texinfo-" - version ".tar.xz")) - (sha256 - (base32 - "1aicn1v3czqii08wc91jw089n1x3gfchkf808q2as59dak0h714q")))))) - (define-public texinfo-5 (package (inherit texinfo) (version "5.2") -- cgit 1.4.1 From e21b70acccedb3758ef124543fb522795d219608 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 19 Jan 2020 11:00:26 +0100 Subject: gnu: libcap: Update to 2.31. * gnu/packages/linux.scm (libcap): Update to 2.31. [inputs]: Remove ATTR. --- gnu/packages/linux.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3fd70306eb..02b3c021b5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1956,7 +1956,7 @@ configuration (iptunnel, ipmaddr).") (define-public libcap (package (name "libcap") - (version "2.27") + (version "2.31") (source (origin (method url-fetch) (uri (string-append @@ -1964,7 +1964,7 @@ configuration (iptunnel, ipmaddr).") "libcap2/libcap-" version ".tar.xz")) (sha256 (base32 - "0sj8kidl7qgf2qwxcbw1vadnlb30y4zvjzxswsmfdghq04npkhfs")))) + "0ikwm0kngrqa4ci80lqnrkk17kg09q7dxrz28y0gm5qw3vj8s266")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -1982,7 +1982,6 @@ configuration (iptunnel, ipmaddr).") (assoc-ref %outputs "out")) "RAISE_SETFCAP=no"))) (native-inputs `(("perl" ,perl))) - (inputs `(("attr" ,attr))) (home-page "https://sites.google.com/site/fullycapable/") (synopsis "Library for working with POSIX capabilities") (description -- cgit 1.4.1 From 2a65cd8c05633c00589918878a15370c6397e593 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Jan 2020 18:06:58 +0100 Subject: gnu: libcap: Enable tests. * gnu/packages/linux.scm (libcap)[arguments]: Remove #:tests?. Add #:test-target. --- gnu/packages/linux.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 02b3c021b5..60f217ba95 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1976,7 +1976,7 @@ configuration (iptunnel, ipmaddr).") (string-append "LDFLAGS := -Wl,-rpath=" %output "/lib"))) #t))) - #:tests? #f ; no 'check' target + #:test-target "test" #:make-flags (list "lib=lib" (string-append "prefix=" (assoc-ref %outputs "out")) -- cgit 1.4.1 From 76feb6e74ba2aa57ab7d5e61d7b64c0d2a1fb557 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 19 Jan 2020 11:03:49 +0100 Subject: gnu: gmp: Update to 6.2.0. * gnu/packages/multiprecision.scm (gmp): Update to 6.2.0. --- gnu/packages/multiprecision.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 36d035ada0..4d8c3d3fdf 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -37,7 +37,7 @@ (define-public gmp (package (name "gmp") - (version "6.1.2") + (version "6.2.0") (source (origin (method url-fetch) (uri @@ -45,7 +45,7 @@ version ".tar.xz")) (sha256 (base32 - "04hrwahdxyqdik559604r7wrj9ffklwvipgfxgj4ys4skbl6bdc7")) + "09hmg8k63mbfrx1x3yy6y1yzbbq85kw5avbibhcgrg9z3ganr3i5")) (patches (search-patches "gmp-faulty-test.patch")))) (build-system gnu-build-system) (native-inputs `(("m4" ,m4))) -- cgit 1.4.1 From 14ab0249783a4df8fb405d54a138f42677e9dfa0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Jan 2020 18:05:47 +0100 Subject: gnu: guile@3.0: Do not inherit all patches from guile@2.2. * gnu/packages/guile.scm (guile-3.0)[source](patches): New field. --- gnu/packages/guile.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index cba4d363e1..223104610c 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -284,7 +284,8 @@ without requiring the source code to be rewritten.") version ".tar.xz")) (sha256 (base32 - "0x8ca6q1qdmk29lh12gj6ngvgn7kp79w42rxfgwrpxm9jmjqs4y9")))) + "0x8ca6q1qdmk29lh12gj6ngvgn7kp79w42rxfgwrpxm9jmjqs4y9")) + (patches (search-patches "guile-2.2-skip-oom-test.patch")))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") -- cgit 1.4.1 From e3ca10aba12cb953f79ab7518d7478010ad69140 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Jan 2020 18:08:09 +0100 Subject: gnu: tzdata-for-tests: Update to 2019c. * gnu/packages/base.scm (tzdata-for-tests): Inherit all of TZDATA. --- gnu/packages/base.scm | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index bb7ab350b4..9f8130be50 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1278,26 +1278,7 @@ and daylight-saving rules.") ;;; package. (define-public tzdata-for-tests (hidden-package - (package - (inherit tzdata) - (version "2019b") - (source (origin - (method url-fetch) - (uri (string-append - "https://data.iana.org/time-zones/releases/tzdata" - version ".tar.gz")) - (sha256 - (base32 - "0r0clnlslwm15m1c61dinf1fi9ffgl6aipng7i7yryfwj0n0kn85")))) - (inputs - `(("tzcode" ,(origin - (method url-fetch) - (uri (string-append - "https://data.iana.org/time-zones/releases/tzcode" - version ".tar.gz")) - (sha256 - (base32 - "0vbmswvv3li25s31shyllq5v24449lxnrki9hr043nipjd09sirf"))))))))) + (package/inherit tzdata))) (define-public libiconv (package -- cgit 1.4.1 From 84fd5d6feb7e234a32965a80dfdd66cfe0f4aea3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Jan 2020 18:10:09 +0100 Subject: gnu: xorg-server-for-tests: Update to 1.20.7. * gnu/packages/xorg.scm (xorg-server-for-tests): Inherit all of XORG-SERVER. --- gnu/packages/xorg.scm | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 74eaccbc85..017a41203d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5282,16 +5282,7 @@ draggable titlebars and borders.") (define-public xorg-server-for-tests (hidden-package (package - (inherit xorg-server) - (version "1.20.5") - (source (origin - (inherit (package-source xorg-server)) - (uri (string-append - "mirror://xorg/individual/xserver/" - "xorg-server-" version ".tar.bz2")) - (sha256 - (base32 - "17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8"))))))) + (inherit xorg-server)))) (define-public xorg-server-xwayland (package -- cgit 1.4.1 From 99406d9b684ec60384dc29d850905dd517fb9790 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Jan 2020 18:11:38 +0100 Subject: gnu: ghostscript: Fix CVE-2019-14869. * gnu/packages/patches/ghostscript-CVE-2019-14869.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/ghostscript.scm (ghostscript)[source](patches): Add it. --- gnu/local.mk | 1 + gnu/packages/ghostscript.scm | 3 +- .../patches/ghostscript-CVE-2019-14869.patch | 48 ++++++++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/ghostscript-CVE-2019-14869.patch diff --git a/gnu/local.mk b/gnu/local.mk index b6a717820b..6958cc6af0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -910,6 +910,7 @@ 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-2019-14869.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index c63fc2f9f9..84c6985bde 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -170,7 +170,8 @@ printing, and psresize, for adjusting page sizes.") (sha256 (base32 "1m770dwc82afdgzgq2kar3120r1lbybm3mssdm79f8kggf0v16yv")) - (patches (search-patches "ghostscript-no-header-creationdate.patch" + (patches (search-patches "ghostscript-CVE-2019-14869.patch" + "ghostscript-no-header-creationdate.patch" "ghostscript-no-header-id.patch" "ghostscript-no-header-uuid.patch")) (modules '((guix build utils))) diff --git a/gnu/packages/patches/ghostscript-CVE-2019-14869.patch b/gnu/packages/patches/ghostscript-CVE-2019-14869.patch new file mode 100644 index 0000000000..d80fba0594 --- /dev/null +++ b/gnu/packages/patches/ghostscript-CVE-2019-14869.patch @@ -0,0 +1,48 @@ +Fix CVE-2019-14869: + +https://nvd.nist.gov/vuln/detail/CVE-2019-14869 + +Patch taken from upstream: + +https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=485904772c5f0aa1140032746e5a0abfc40f4cef + +diff --git a/Resource/Init/gs_ttf.ps b/Resource/Init/gs_ttf.ps +index 74043d1..6be8fe9 100644 +--- a/Resource/Init/gs_ttf.ps ++++ b/Resource/Init/gs_ttf.ps +@@ -1304,7 +1304,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef + TTFDEBUG { (\n1 setting alias: ) print dup ==only + ( to be the same as ) print 2 index //== exec } if + +- 7 index 2 index 3 -1 roll exch .forceput ++ 7 index 2 index 3 -1 roll exch put + } forall + pop pop pop + } +@@ -1322,7 +1322,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef + exch pop + TTFDEBUG { (\n2 setting alias: ) print 1 index ==only + ( to use glyph index: ) print dup //== exec } if +- 5 index 3 1 roll .forceput ++ 5 index 3 1 roll put + //false + } + { +@@ -1339,7 +1339,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef + { % CharStrings(dict) isunicode(boolean) cmap(dict) RAGL(dict) gname(name) codep(integer) gindex(integer) + TTFDEBUG { (\3 nsetting alias: ) print 1 index ==only + ( to be index: ) print dup //== exec } if +- exch pop 5 index 3 1 roll .forceput ++ exch pop 5 index 3 1 roll put + } + { + pop pop +@@ -1369,7 +1369,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef + } ifelse + ] + TTFDEBUG { (Encoding: ) print dup === flush } if +-} .bind executeonly odef % hides .forceput ++} .bind odef + + % ---------------- CIDFontType 2 font loading ---------------- % + -- cgit 1.4.1 From cdba91486a60bbba727d843707322f98f8286124 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Jan 2020 18:13:53 +0100 Subject: gnu: make: Update to 4.3. * gnu/packages/patches/make-impure-dirs.patch: Adjust for renamed files. * gnu/packages/patches/make-glibc-compat.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/base.scm (gnu-make): Update to 4.3. [source](uri): Change to ".gz" tarball. [source](patches): Remove obsolete. [arguments]: Remove #:configure-flags. Adjust for renamed files. [inputs]: Change from GUILE-2.0 to GUILE-3.0. * gnu/packages/commencement.scm (gnu-make-boot0)[arguments]: Add #:configure-flags. --- gnu/local.mk | 1 - gnu/packages/base.scm | 18 ++++------ gnu/packages/commencement.scm | 5 +++ gnu/packages/patches/make-glibc-compat.patch | 52 ---------------------------- gnu/packages/patches/make-impure-dirs.patch | 12 +++---- 5 files changed, 18 insertions(+), 70 deletions(-) delete mode 100644 gnu/packages/patches/make-glibc-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6958cc6af0..fb9f506f31 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1152,7 +1152,6 @@ dist_patch_DATA = \ %D%/packages/patches/luminance-hdr-qt-printer.patch \ %D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lxsession-use-gapplication.patch \ - %D%/packages/patches/make-glibc-compat.patch \ %D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/mariadb-client-test-32bit.patch \ %D%/packages/patches/mars-install.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 9f8130be50..45f6cf79ba 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -360,31 +360,27 @@ functionality beyond that which is outlined in the POSIX standard.") (define-public gnu-make (package (name "make") - (version "4.2.1") + (version "4.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/make/make-" version - ".tar.bz2")) + ".tar.gz")) (sha256 (base32 - "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn")) - (patches (search-patches "make-impure-dirs.patch" - "make-glibc-compat.patch")))) + "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0")) + (patches (search-patches "make-impure-dirs.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) ; to detect Guile - (inputs `(("guile" ,guile-2.0))) + (inputs `(("guile" ,guile-3.0))) (outputs '("out" "debug")) (arguments - '(;; Work around faulty glob detection with glibc 2.27. See - ;; . - #:configure-flags '("make_cv_sys_gnu_glob=yes") - #:phases + '(#:phases (modify-phases %standard-phases (add-before 'build 'set-default-shell (lambda* (#:key inputs #:allow-other-keys) ;; Change the default shell from /bin/sh. (let ((bash (assoc-ref inputs "bash"))) - (substitute* "job.c" + (substitute* "src/job.c" (("default_shell =.*$") (format #f "default_shell = \"~a/bin/sh\";\n" bash))) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index d173f5a19b..851bb02163 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1412,6 +1412,11 @@ exec " gcc "/bin/" program #:implicit-inputs? #f #:tests? #f ; cannot run "make check" ,@(substitute-keyword-arguments (package-arguments gnu-make) + ((#:configure-flags flags ''()) + ;; The generated config.status has some problems due to the + ;; bootstrap environment. Disable dependency tracking to work + ;; around it. + `(cons "--disable-dependency-tracking" ,flags)) ((#:phases phases) `(modify-phases ,phases (replace 'build diff --git a/gnu/packages/patches/make-glibc-compat.patch b/gnu/packages/patches/make-glibc-compat.patch deleted file mode 100644 index 9ce7f2b5bf..0000000000 --- a/gnu/packages/patches/make-glibc-compat.patch +++ /dev/null @@ -1,52 +0,0 @@ -Work with the new glob interface in glibc 2.27. - -Taken from this upstream commit: -https://git.savannah.gnu.org/cgit/make.git/commit/?id=193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4 - -diff --git a/dir.c b/dir.c -index adbb8a9..c343e4c 100644 ---- a/dir.c -+++ b/dir.c -@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf) - } - #endif - -+/* Similarly for lstat. */ -+#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS) -+# ifndef VMS -+# ifndef HAVE_SYS_STAT_H -+int lstat (const char *path, struct stat *sbuf); -+# endif -+# else -+ /* We are done with the fake lstat. Go back to the real lstat */ -+# ifdef lstat -+# undef lstat -+# endif -+# endif -+# define local_lstat lstat -+#elif defined(WINDOWS32) -+/* Windows doesn't support lstat(). */ -+# define local_lstat local_stat -+#else -+static int -+local_lstat (const char *path, struct stat *buf) -+{ -+ int e; -+ EINTRLOOP (e, lstat (path, buf)); -+ return e; -+} -+#endif -+ - void - dir_setup_glob (glob_t *gl) - { - gl->gl_opendir = open_dirstream; - gl->gl_readdir = read_dirstream; - gl->gl_closedir = free; -+ gl->gl_lstat = local_lstat; - gl->gl_stat = local_stat; -- /* We don't bother setting gl_lstat, since glob never calls it. -- The slot is only there for compatibility with 4.4 BSD. */ - } - - void diff --git a/gnu/packages/patches/make-impure-dirs.patch b/gnu/packages/patches/make-impure-dirs.patch index 83a5fbe3a5..89595b06ec 100644 --- a/gnu/packages/patches/make-impure-dirs.patch +++ b/gnu/packages/patches/make-impure-dirs.patch @@ -4,9 +4,9 @@ don't look in /usr/include and friends. Patch from Nixpkgs, by Eelco Dolstra. -diff -rc make-3.81-orig/read.c make-3.81/read.c -*** make-3.81-orig/read.c 2006-03-17 15:24:20.000000000 +0100 ---- make-3.81/read.c 2007-05-24 17:16:31.000000000 +0200 +diff -rc make-3.81-orig/src/read.c make-3.81/src/read.c +*** make-3.81-orig/src/read.c 2006-03-17 15:24:20.000000000 +0100 +--- make-3.81/src/read.c 2007-05-24 17:16:31.000000000 +0200 *************** *** 99,107 **** --- 99,109 ---- @@ -21,9 +21,9 @@ diff -rc make-3.81-orig/read.c make-3.81/read.c #endif 0 }; -diff -rc make-3.81-orig/remake.c make-3.81/remake.c -*** make-3.81-orig/remake.c 2006-03-20 03:36:37.000000000 +0100 ---- make-3.81/remake.c 2007-05-24 17:06:54.000000000 +0200 +diff -rc make-3.81-orig/src/remake.c make-3.81/src/remake.c +*** make-3.81-orig/src/remake.c 2006-03-20 03:36:37.000000000 +0100 +--- make-3.81/src/remake.c 2007-05-24 17:06:54.000000000 +0200 *************** *** 1452,1460 **** --- 1452,1462 ---- -- cgit 1.4.1 From c2d837b943e522d6da350421283e7670c9b88da2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Jan 2020 19:15:40 +0100 Subject: gnu: orbit2: Disable parallel tests. * gnu/packages/gnome.scm (orbit2)[arguments]: Add #:parallel-tests?. --- gnu/packages/gnome.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4d92f58eb5..5a813f6854 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2468,7 +2468,9 @@ functionality was designed to be as reusable and portable as possible.") "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam")))) (build-system gnu-build-system) (arguments - `(#:configure-flags + `(;; The "timeout-server" test hangs when run in parallel. + #:parallel-tests? #f + #:configure-flags '(;; We don't need static libraries, plus they don't build reproducibly ;; (non-deterministic ordering of .o files in the archive.) "--disable-static" -- cgit 1.4.1 From 848a3cdb4f5e214c28c520b2b4ce63a247996ce1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 22 Jan 2020 18:53:28 +0100 Subject: gnu: cmake: Update to 3.16.3. * gnu/packages/cmake.scm (cmake-minimal): Update to 3.16.3. --- gnu/packages/cmake.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index e24b6dea7d..21f11ac4f0 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -52,7 +52,7 @@ (define-public cmake-minimal (package (name "cmake-minimal") - (version "3.16.2") + (version "3.16.3") (source (origin (method url-fetch) (uri (string-append "https://www.cmake.org/files/v" @@ -60,7 +60,7 @@ "/cmake-" version ".tar.gz")) (sha256 (base32 - "1ag65ignli58kpmji6gjhj8xw4w1qdr910i99hsvx8hcqrp7h2cc")) + "0s06wrp0jnw2l4yq94skj53hwnz7lqrmhh96sq7w7njkkggickz5")) (modules '((guix build utils))) (snippet '(begin -- cgit 1.4.1 From 03d66a84f7fd817aeef3e4838b70ad913ced3586 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 22 Jan 2020 20:43:22 +0100 Subject: gnu: Add deprecation notice for 'boost-with-python3'. * gnu/packages/boost.scm (boost-with-python3): New public variable. --- gnu/packages/boost.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index e44087dcb5..ded4db0586 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -201,6 +201,9 @@ across a broad spectrum of applications.") `(("python" ,python-2) ,@(alist-delete "python" (package-native-inputs boost)))))) +(define-public boost-with-python3 + (deprecated-package "boost-with-python3" boost)) + (define-public boost-static (package (inherit boost) -- cgit 1.4.1 From 2bb84b8efe9195549cfd2c30a7b861d33041232d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 22 Jan 2020 20:44:49 +0100 Subject: gnu: Add deprecation notice for 'sqlite-with-column-metadata'. * gnu/packages/sqlite.scm (sqlite-with-column-metadata): New public variable. --- gnu/packages/sqlite.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index 195146aca2..445c1606cf 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 David Craven -;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Jelle Licht ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -102,3 +102,8 @@ zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.") (license license:public-domain))) + +;; Column metadata support was added to the regular 'sqlite' package with +;; commit fad5b1a6d8d9c36bea5785ae4fbc1beb37e644d7. +(define-public sqlite-with-column-metadata + (deprecated-package "sqlite-with-column-metadata" sqlite)) -- cgit 1.4.1 From 6ab31af7c7fae218388b624af6c092d72b12c5b3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 22 Jan 2020 20:46:34 +0100 Subject: gnu: curl: Remove unused input. Groff is only needed to build the PDF manual, which we currently do not. * gnu/packages/curl.scm (curl)[native-inputs]: Remove GROFF. --- gnu/packages/curl.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 3d230dc1f0..b2884ddd82 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -71,12 +71,10 @@ ("zlib" ,zlib))) (native-inputs `(("perl" ,perl) - ;; to enable the --manual option and make test 1026 pass - ("groff" ,groff) ("pkg-config" ,pkg-config) ("python" ,python-wrapper))) (native-search-paths - ;; These variables are introduced by libcurl-use-ssl-cert-env.patch. + ;; These variables are introduced by curl-use-ssl-cert-env.patch. (list (search-path-specification (variable "SSL_CERT_DIR") (separator #f) ;single entry -- cgit 1.4.1 From f5fa1a77c76376d2cfe5af13578bb74b2f2a67af Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 22 Jan 2020 21:11:24 +0100 Subject: gnu: curl: Remove unnecessary reference to the "doc" output. * gnu/packages/curl.scm (curl)[arguments]: Add #:disallowed-references. Add phase to prevent configure flags from being stored in the output. --- gnu/packages/curl.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index b2884ddd82..b06d01c7d7 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Tomáš Čech ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2016, 2017, 2019 Leo Famulari -;;; Copyright © 2017, 2019 Marius Bakke +;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Roel Janssen @@ -93,13 +93,20 @@ (separator #f) ;single entry (files '("etc/ssl/certs/ca-certificates.crt"))))) (arguments - `(#:configure-flags (list "--with-gnutls" + `(#:disallowed-references ("doc") + #:configure-flags (list "--with-gnutls" (string-append "--with-gssapi=" (assoc-ref %build-inputs "mit-krb5")) "--disable-static") - ;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl #:phases (modify-phases %standard-phases + (add-after 'unpack 'do-not-record-configure-flags + (lambda _ + ;; Do not save the configure options to avoid unnecessary references. + (substitute* "curl-config.in" + (("@CONFIGURE_OPTIONS@") + "\"not available\"")) + #t)) (add-after 'install 'move-man3-pages (lambda* (#:key outputs #:allow-other-keys) -- cgit 1.4.1 From 26edcd9b8db553bed324149bc039c306a804a2a3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 18 Jan 2020 21:16:26 +0100 Subject: gnu: RHash: Download tarball from SourceForge instead of a git checkout. * gnu/packages/crypto.scm (rhash)[source]: Change to URL-FETCH. --- gnu/packages/crypto.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 276612f887..fde3ba286d 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -711,14 +711,13 @@ BLAKE.") (version "1.3.9") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/rhash/RHash") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "mirror://sourceforge/rhash/rhash/" version + "/rhash-" version "-src.tar.gz")) + (file-name (string-append "rhash-" version ".tar.gz")) (sha256 (base32 - "06i49x1l21h2q7pfnf4crbmjyg8b9ad0qs10ywyyn5sjpi0c21wq")))) + "1xn9fqa6rlnhsbgami45g82dlw9i1skg2sri3ydiinwak5ph1ca2")))) (build-system gnu-build-system) (arguments `(#:make-flags -- cgit 1.4.1 From ff5733d186839f32d1558a9e1f049d218613fa1a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Jan 2020 19:18:04 +0100 Subject: gnu: libjpeg-turbo: Build with a minimal variant of CMake. This is necessary to avoid a circular dependency in the next commit. * gnu/packages/curl.scm (curl-minimal): New public variable. * gnu/packages/cmake.scm (cmake-minimal-bootstrap): New public variable. * gnu/packages/image.scm (libjpeg-turbo)[arguments]: Add #:cmake. --- gnu/packages/cmake.scm | 14 +++++++++++++- gnu/packages/curl.scm | 12 +++++++++++- gnu/packages/image.scm | 10 ++++++++-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 21f11ac4f0..cf542f12e4 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2017, 2018 Marius Bakke +;;; Copyright © 2017, 2018, 2020 Marius Bakke ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Maxim Cournoyer @@ -232,6 +232,18 @@ and workspaces that can be used in the compiler environment of your choice.") (search-paths (package-native-search-paths cmake-minimal)))) +;; The purpose of this package is to solve a circular dependency between +;; packages that use cmake-build-system and CMakes own dependencies. +(define-public cmake-minimal-bootstrap + (package + (inherit cmake-minimal) + (name "cmake-minimal-bootstrap") + (native-inputs + `(;; cURL depends on ghostscript (via groff and OpenLDAP), which depends on + ;; 'cmake-build-system' through libtiff and ultimately libjpeg-turbo. + ("curl" ,curl-minimal) + ,@(alist-delete "curl" (package-native-inputs cmake-minimal)))))) + (define-public emacs-cmake-mode (package (inherit cmake) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index b06d01c7d7..9289e2ffd3 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -46,7 +46,8 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages tls) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (srfi srfi-1)) (define-public curl (package @@ -159,6 +160,15 @@ tunneling, and so on.") "See COPYING in the distribution.")) (home-page "https://curl.haxx.se/"))) +;; This package exists mainly to bootstrap CMake. It must not depend on +;; anything that uses cmake-build-system. +(define-public curl-minimal + (hidden-package + (package/inherit + curl + (name "curl-minimal") + (inputs (alist-delete "openldap" (package-inputs curl)))))) + (define-public kurly (package (name "kurly") diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 709599fb98..4fef6fe21e 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages curl) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) @@ -1504,8 +1505,13 @@ is hereby granted.")))) (native-inputs `(("nasm" ,nasm))) (arguments - '(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib" - "-DENABLE_STATIC=0"))) + `(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib" + "-DENABLE_STATIC=0") + ,@(if (%current-target-system) + '() + ;; Use a special "bootstrap" CMake for the native build to work + ;; around a circular dependency between CMake and this package. + `(#:cmake ,cmake-minimal-bootstrap)))) (home-page "https://libjpeg-turbo.org/") (synopsis "SIMD-accelerated JPEG image handling library") (description "libjpeg-turbo is a JPEG image codec that accelerates baseline -- cgit 1.4.1 From 4bd428a7ce382f623784a3ff8186aadc3cebca91 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Jan 2020 19:27:01 +0100 Subject: gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'. * gnu/packages/abiword.scm (abiword)[inputs]: Change from LIBJPEG to LIBJPEG-TURBO. * gnu/packages/admin.scm (testdisk)[inputs]: Likewise. * gnu/packages/algebra.scm (giac)[inputs]: Likewise. * gnu/packages/animation.scm (synfig)[inputs]: Likewise. * gnu/packages/astronomy.scm (gnuastro, celestia)[inputs]: Likewise. * gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise. * gnu/packages/cran.scm (r-jpeg, r-tiff, r-readbitmap)[inputs]: Likewise. * gnu/packages/cups.scm (cups-filters, hplip)[inputs]: Likewise. * gnu/packages/display-managers.scm (slim)[inputs]: Likewise. * gnu/packages/ebook.scm (fbreader)[inputs]: Likewise. * gnu/packages/emacs.scm (emacs)[inputs]: Likewise. * gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise. * gnu/packages/fltk.scm (fltk, ntk)[inputs]: Likewise. * gnu/packages/fontutils.scm (fontforge)[inputs]: Likewise. * gnu/packages/freedesktop.scm (weston)[inputs]: Likewise. * gnu/packages/game-development.scm (sfml, allegro, aseprite, python-pygame, eureka, ioquake3)[inputs]: Likewise. * gnu/packages/games.scm (adanaxisgpl, freedroidrpg, irrlicht, minetest, fizmo, supertuxkart, gzdoom, xmoto, xonotic)[inputs]: Likewise. * gnu/packages/gd.scm (gd, perl-gd)[inputs]: Likewise. * gnu/packages/ghostscript.scm (lcms)[inputs]: Likewise. (ghostscript)[inputs, native-inputs]: Likewise. * gnu/packages/gimp.scm (gegl, gimp)[inputs]: Likewise. * gnu/packages/gnome.scm (libgnomeui, eog, tracker-miners, gthumb)[inputs]: Likewise. * gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise. * gnu/packages/gnustep.scm (windowmaker)[inputs]: Likewise. * gnu/packages/graphics.scm (blender, blender-2.79, openimageio, openscenegraph, openscenegraph-3.4, povray, fgallery)[inputs]: Likewise. * gnu/packages/graphviz.scm (graphviz)[inputs]: Likewise. * gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Likewise. * gnu/packages/gtk.scm (gdk-pixbuf)[inputs]: Likewise. * gnu/packages/image-processing.scm (dcmtk, mia, vtk, opencv, vips, nip2, vxl, insight-toolkit)[inputs]: Likewise. * gnu/packages/image-viewers.scm (gpicview, luminance-hdr)[inputs]: Likewise. * gnu/packages/image.scm (jpegoptim, libtiff, leptonica, imlib2, freeimage, vigra, libwebp, libmng, jasper, steghide, jp2a)[inputs]: Likewise. * gnu/packages/imagemagick.scm (imagemagick, graphicsmagick)[inputs]: Likewise. * gnu/packages/java.scm (icedtea-6, icedtea-7, openjdk9, openjdk11, openjdk12)[inputs]: Likewise. * gnu/packages/kde-frameworks.scm (khtml)[inputs]: Likewise. * gnu/packages/kodi.scm (kodi)[inputs]: Likewise. * gnu/packages/machine-learning.scm (dlib, tensorflow)[inputs]: Likewise. * gnu/packages/mate.scm (atril, eom)[inputs]: Likewise. * gnu/packages/maths.scm (hdf4, hdf-java, hdf-eos2, netcdf)[inputs]: Likewise. * gnu/packages/netpbm.scm (netpbm)[inputs]: Likewise. * gnu/packages/pdf.scm (zathura-pdf-mupdf, podofo, mupdf, fbida)[inputs]: Likewise. * gnu/packages/photo.scm (libraw, libpano13, enblend-enfuse, darktable, hugin, rawtherapee)[inputs]: Likewise. * gnu/packages/prolog.scm (swi-prolog)[native-inputs]: Likewise. * gnu/packages/python-xyz.scm (python-hdf4, python-pillow)[inputs]: Likewise. * gnu/packages/qt.scm (qtbase, qtwebkit)[inputs]: Likewise. * gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise. * gnu/packages/scanner.scm (sane-backends, xsane)[inputs]: Likewise. * gnu/packages/scheme.scm (racket)[inputs]: Likewise. * gnu/packages/scribus.scm (scribus)[inputs]: Likewise. * gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise. (guile-sdl)[native-inputs]: Likewise. * gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise. * gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise. * gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise. * gnu/packages/upnp.scm (readymedia)[inputs]: Likewise. * gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise. * gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise. * gnu/packages/web.scm (netsurf)[inputs]: Likewise. * gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise. * gnu/packages/wine.scm (wine)[inputs]: Likewise. * gnu/packages/wv.scm (wv)[inputs]: Likewise. * gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise. * gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise. * gnu/packages/xfce.scm (tumbler)[inputs]: Likewise. * gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise. * gnu/packages/xorg.scm (xpra)[inputs]: Likewise. --- gnu/packages/abiword.scm | 2 +- gnu/packages/admin.scm | 2 +- gnu/packages/algebra.scm | 2 +- gnu/packages/animation.scm | 2 +- gnu/packages/astronomy.scm | 4 ++-- gnu/packages/cdrom.scm | 2 +- gnu/packages/cran.scm | 6 +++--- gnu/packages/cups.scm | 4 ++-- gnu/packages/display-managers.scm | 2 +- gnu/packages/ebook.scm | 2 +- gnu/packages/emacs.scm | 2 +- gnu/packages/enlightenment.scm | 2 +- gnu/packages/fltk.scm | 4 ++-- gnu/packages/fontutils.scm | 2 +- gnu/packages/freedesktop.scm | 2 +- gnu/packages/game-development.scm | 12 ++++++------ gnu/packages/games.scm | 18 +++++++++--------- gnu/packages/gd.scm | 4 ++-- gnu/packages/ghostscript.scm | 6 +++--- gnu/packages/gimp.scm | 4 ++-- gnu/packages/gnome.scm | 8 ++++---- gnu/packages/gnunet.scm | 2 +- gnu/packages/gnustep.scm | 2 +- gnu/packages/graphics.scm | 14 +++++++------- gnu/packages/graphviz.scm | 2 +- gnu/packages/gstreamer.scm | 2 +- gnu/packages/gtk.scm | 2 +- gnu/packages/image-processing.scm | 16 ++++++++-------- gnu/packages/image-viewers.scm | 4 ++-- gnu/packages/image.scm | 22 +++++++++++----------- gnu/packages/imagemagick.scm | 4 ++-- gnu/packages/java.scm | 10 +++++----- gnu/packages/kde-frameworks.scm | 2 +- gnu/packages/kodi.scm | 2 +- gnu/packages/machine-learning.scm | 4 ++-- gnu/packages/mate.scm | 4 ++-- gnu/packages/maths.scm | 8 ++++---- gnu/packages/netpbm.scm | 2 +- gnu/packages/pdf.scm | 8 ++++---- gnu/packages/photo.scm | 12 ++++++------ gnu/packages/prolog.scm | 2 +- gnu/packages/python-xyz.scm | 4 ++-- gnu/packages/qt.scm | 4 ++-- gnu/packages/rdesktop.scm | 2 +- gnu/packages/scanner.scm | 4 ++-- gnu/packages/scheme.scm | 2 +- gnu/packages/scribus.scm | 2 +- gnu/packages/sdl.scm | 4 ++-- gnu/packages/spice.scm | 2 +- gnu/packages/statistics.scm | 2 +- gnu/packages/tcl.scm | 2 +- gnu/packages/upnp.scm | 2 +- gnu/packages/video.scm | 8 ++++---- gnu/packages/web-browsers.scm | 4 ++-- gnu/packages/web.scm | 2 +- gnu/packages/webkit.scm | 2 +- gnu/packages/wine.scm | 2 +- gnu/packages/wv.scm | 2 +- gnu/packages/wxwidgets.scm | 4 ++-- gnu/packages/xdisorg.scm | 2 +- gnu/packages/xfce.scm | 2 +- gnu/packages/xfig.scm | 4 ++-- gnu/packages/xorg.scm | 2 +- 63 files changed, 140 insertions(+), 140 deletions(-) diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm index 2b65a02242..9cfd12a1e6 100644 --- a/gnu/packages/abiword.scm +++ b/gnu/packages/abiword.scm @@ -95,7 +95,7 @@ ("libchamplain" ,libchamplain) ("libglade" ,libglade) ("libgsf" ,libgsf) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("librsvg" ,librsvg) ("libxml2" ,libxml2) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 2b7cac7c16..c40529f817 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1722,7 +1722,7 @@ characters can be replaced as well, as can UTF-8 characters.") ;; FIXME: add reiserfs. ("zlib" ,zlib) ("e2fsprogs" ,e2fsprogs) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("ncurses" ,ncurses))) (home-page "https://www.cgsecurity.org/wiki/TestDisk") (synopsis "Data recovery tool") diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index a31ac8dab0..d3e4dfbd86 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -405,7 +405,7 @@ precision.") ("gsl" ,gsl) ("lapack" ,lapack) ("libao" ,ao) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libsamplerate" ,libsamplerate) ("libx11" ,libx11) diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 08bf4eb1de..0357ac1190 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -112,7 +112,7 @@ C++ @dfn{Standard Template Library} (STL).") `(("boost" ,boost) ("ffmpeg" ,ffmpeg) ("libdv" ,libdv) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libmng" ,libmng) ("zlib" ,zlib))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 3bb236fde9..2ac41e17a0 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -132,7 +132,7 @@ header.") (inputs `(("cfitsio" ,cfitsio) ("gsl" ,gsl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("wcslib" ,wcslib) ("zlib" ,zlib))) @@ -218,7 +218,7 @@ objects.") `(("glu" ,glu) ("glew" ,glew) ("libtheora" ,libtheora) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ;; maybe required? ("mesa" ,mesa) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index b6bdf33eef..64aa38d785 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -459,7 +459,7 @@ capacity is user-selectable.") ("eudev" ,eudev) ("fontconfig" ,fontconfig) ("libexif" ,libexif) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("ffmpeg" ,ffmpeg-3.4))) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ff2490bc31..3368d60042 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1347,7 +1347,7 @@ applications. That is, compute distances and related measures for angular (base32 "1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x")))) (build-system r-build-system) - (inputs `(("libjpeg" ,libjpeg))) + (inputs `(("libjpeg" ,libjpeg-turbo))) (home-page "http://www.rforge.net/jpeg/") (synopsis "Read and write JPEG images with R") (description "This package provides a way to read, write and display @@ -9704,7 +9704,7 @@ redundant complex conjugate when the input is real data.") (build-system r-build-system) (inputs `(("libtiff" ,libtiff) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (home-page "http://www.rforge.net/tiff/") (synopsis "Read and write TIFF images") @@ -18295,7 +18295,7 @@ currently limited to 8 bit greyscale images and 24, 32 bit (A)RGB images.") (properties `((upstream-name . "readbitmap"))) (build-system r-build-system) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng))) (propagated-inputs `(("r-bmp" ,r-bmp) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 8fbb2ee4f6..d8c1d11944 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -158,7 +158,7 @@ ("ijs" ,ijs) ("dbus" ,dbus) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("glib" ,glib) @@ -585,7 +585,7 @@ should only be used as part of the Guix cups-pk-helper service.") (inputs `(("cups-minimal" ,cups-minimal) ("dbus" ,dbus) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libusb" ,libusb) ("python" ,python) ("python-dbus" ,python-dbus) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index bfe1a8f6dd..70caeab06d 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -244,7 +244,7 @@ GTK+, lets you select a desktop session and log in to it.") (build-system cmake-build-system) (inputs `(("linux-pam" ,linux-pam) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("freeglut" ,freeglut) ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 7f8aa42e95..683be7927a 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -290,7 +290,7 @@ designed to be used in a generic text renderer.") ("fribidi" ,fribidi) ("glib" ,glib) ("gtk+-2" ,gtk+-2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("liblinebreak" ,liblinebreak) ("libxft" ,libxft) ("sqlite" ,sqlite) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b26c928e87..cfbcb83872 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -173,7 +173,7 @@ ("libxft" ,libxft) ("libtiff" ,libtiff) ("giflib" ,giflib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("imagemagick" ,imagemagick) ("acl" ,acl) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 121627dd88..3fc9d522f4 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -124,7 +124,7 @@ ("harfbuzz" ,harfbuzz) ("luajit" ,luajit) ("libinput" ,libinput-minimal) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libsndfile" ,libsndfile) ("libtiff" ,libtiff) diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index 40d5e7e513..204d2f8483 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -56,7 +56,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("libxft" ,libxft) @@ -129,7 +129,7 @@ UI builder called FLUID that can be used to create applications in minutes.") (assoc-ref outputs "out") "/lib")) #t))))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("glu" ,glu) ("waf" ,python-waf))) ;; ntk.pc lists "x11" and "xft" in Requires.private, and "cairo" in diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 107967bb5d..34e17fdf67 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -594,7 +594,7 @@ definitions.") ("libSM" ,libsm) ("libX11" ,libx11) ("libXi" ,libxi) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libltdl" ,libltdl) ("libpng" ,libpng) ("libspiro" ,libspiro) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 1b61ea43dd..7a7eea2d67 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -687,7 +687,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") ("lcms" ,lcms) ("libevdev" ,libevdev) ("libinput" ,libinput-minimal) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libunwind" ,libunwind) ("libva" ,libva) ("libwebp" ,libwebp) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index ee8dea23b5..54703cf846 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -527,7 +527,7 @@ clone.") ("xcb-util-image" ,xcb-util-image) ("libxrandr" ,libxrandr) ("eudev" ,eudev) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libsndfile" ,libsndfile) ("stb-image" ,stb-image) ("stb-image-write" ,stb-image-write))) @@ -746,7 +746,7 @@ etc.") ("freetype" ,freetype) ("glu" ,glu) ("gtk" ,gtk+-2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) @@ -828,7 +828,7 @@ etc.") ("curl" ,curl) ("freetype" ,freetype) ("giflib" ,giflib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libwebp" ,libwebp) ("libx11" ,libx11) @@ -980,7 +980,7 @@ interface (API).") ("sdl-mixer" ,sdl-mixer) ("sdl-ttf" ,sdl-ttf) ("sdl-gfx" ,sdl-gfx) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libX11" ,libx11) ("libsmpeg" ,libsmpeg) @@ -1663,7 +1663,7 @@ scripted in a Python-like language.") ("libxft" ,libxft) ("libxinerama" ,libxinerama) ("libfontconfig" ,fontconfig) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("fltk" ,fltk) ("zlib" ,zlib))) @@ -1835,7 +1835,7 @@ of the others") (build-system gnu-build-system) (inputs `(("sdl2" ,sdl2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("openal" ,openal) ("curl" ,curl) ("opusfile" ,opusfile) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index eb703d114a..49a2bde6eb 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -235,7 +235,7 @@ `(("expat" ,expat) ("freeglut" ,freeglut) ("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libogg" ,libogg) ("libtiff" ,libtiff) ("libvorbis" ,libvorbis) @@ -683,7 +683,7 @@ effects and music to make a completely free game.") `(("pkg-config" ,pkg-config))) (inputs `(("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libogg" ,libogg) ("libpng" ,libpng) ("libvorbis" ,libvorbis) @@ -1925,7 +1925,7 @@ are primarily in English, however some in other languages are provided.") #:make-flags '("CC=gcc" "sharedlib"))) (inputs `(("bzip2" ,bzip2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("libxxf86vm" ,libxxf86vm) @@ -2072,7 +2072,7 @@ match, cannon keep, and grave-itation pit.") ("gmp" ,gmp) ("irrlicht" ,irrlicht) ("jsoncpp" ,jsoncpp) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libogg" ,libogg) ("libvorbis" ,libvorbis) @@ -2314,7 +2314,7 @@ games using Python as well as C++.") `(("pkg-config" ,pkg-config))) (inputs `(("freetype" ,freetype) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libsndfile" ,libsndfile) ("libxml2" ,libxml2) @@ -2443,7 +2443,7 @@ This game is based on the GPL version of the famous game TuxRacer.") ("curl" ,curl) ;; The following input is needed to build the bundled and modified ;; version of irrlicht. - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("openssl" ,openssl) ("enet" ,enet))) (native-inputs @@ -5772,7 +5772,7 @@ You can save humanity and get programming skills!") ("fluidsynth" ,fluidsynth) ("gtk+3" ,gtk+) ("libgme" ,libgme) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libsndfile" ,libsndfile) ("mesa" ,mesa) ("mpg123" ,mpg123) @@ -6229,7 +6229,7 @@ quotation from a collection of quotes.") `(("xonotic-data" ,xonotic-data) ("alsa-lib" ,alsa-lib) ("curl" ,curl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmodplug" ,libmodplug) ("libvorbis" ,libvorbis) ("libogg" ,libogg) @@ -9634,7 +9634,7 @@ This package is part of the KDE games module.") `(("curl" ,curl) ("font-dejavu" ,font-dejavu) ("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxdg-basedir" ,libxdg-basedir) ("libxml2" ,libxml2) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 6afccb7b0c..e336282546 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -83,7 +83,7 @@ ("zlib" ,zlib))) (propagated-inputs `(("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (home-page "http://www.libgd.org/") (synopsis "Library for the dynamic creation of images by programmers") (description @@ -114,7 +114,7 @@ most common applications of GD involve website development.") ("freetype" ,freetype) ("gd" ,gd) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (arguments `(#:make-maker-flags diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 84c6985bde..3cd1e4af8d 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -60,7 +60,7 @@ (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static"))) - (inputs `(("libjpeg" ,libjpeg) + (inputs `(("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("zlib" ,zlib))) (synopsis "Little CMS, a small-footprint colour management engine") @@ -278,14 +278,14 @@ printing, and psresize, for adjusting page sizes.") ;; these libraries. ,@(if (%current-target-system) `(("zlib/native" ,zlib) - ("libjpeg/native" ,libjpeg)) + ("libjpeg/native" ,libjpeg-turbo)) '()))) (inputs `(("fontconfig" ,fontconfig) ("freetype" ,freetype) ("gs-fonts" ,gs-fonts) ("jbig2dec" ,jbig2dec) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpaper" ,libpaper) ("libpng" ,libpng) ("libtiff" ,libtiff) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 42a55cff33..e95251cc79 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -117,7 +117,7 @@ provided, as well as a framework to add new color models and data types.") `(("cairo" ,cairo) ("pango" ,pango) ("libpng" ,libpng) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; for gtester @@ -174,7 +174,7 @@ buffers.") ("glib" ,glib) ("glib-networking" ,glib-networking) ("libtiff" ,libtiff) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("atk" ,atk) ("gexiv2" ,gexiv2) ("gtk+" ,gtk+-2) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5a813f6854..0be8fcc49e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2803,7 +2803,7 @@ creating interactive structured graphics.") ("libgnome" ,libgnome) ("libgnomecanvas" ,libgnomecanvas) ("libgnome-keyring" ,libgnome-keyring))) - (inputs `(("libjpeg" ,libjpeg) + (inputs `(("libjpeg" ,libjpeg-turbo) ("popt" ,popt) ("libbonobo" ,libbonobo) ("libxml2" ,libxml2) @@ -5150,7 +5150,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") ("lcms" ,lcms) ("libexif" ,libexif) ("libpeas" ,libpeas) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("librsvg" ,librsvg) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+))) @@ -7518,7 +7518,7 @@ shared object databases, search tools and indexing.") ("libgsf" ,libgsf) ("libgxps" ,libgxps) ("libiptcdata" ,libiptcdata) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libosinfo" ,libosinfo) ("libpng" ,libpng) ("libseccomp" ,libseccomp) @@ -9444,7 +9444,7 @@ functionality.") ("clutter" ,clutter) ("clutter-gst" ,clutter-gst) ("clutter-gtk" ,clutter-gtk) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libraw" ,libraw))) (home-page "https://wiki.gnome.org/Apps/Gthumb") diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 43605dfc86..d026c67992 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -101,7 +101,7 @@ ("gtk+" ,gtk+) ("libarchive" ,libarchive) ("libgsf" ,libgsf) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libltdl" ,libltdl) ("libmpeg2" ,libmpeg2) ("libmp4v2" ,libmp4v2) diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index dd7c67d553..ff2145a25e 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -139,7 +139,7 @@ to easily create cross-compiled binaries.") ("libx11" ,libx11) ("libxinerama" ,libxinerama) ("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("giflib" ,giflib) ("libpng" ,libpng) ("libtiff" ,libtiff))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 217ccb4ece..8091afaf0a 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -153,7 +153,7 @@ ("opensubdiv" ,opensubdiv) ("ilmbase" ,ilmbase) ("openjpeg" ,openjpeg) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("ffmpeg" ,ffmpeg) @@ -241,7 +241,7 @@ application can be customized via its API for Python scripting.") ("openexr" ,openexr) ("ilmbase" ,ilmbase) ("openjpeg" ,openjpeg-1) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("ffmpeg" ,ffmpeg) @@ -495,7 +495,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (inputs `(("boost" ,boost) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("giflib" ,giflib) ("openexr" ,openexr) @@ -558,7 +558,7 @@ visual effects work for film.") ("unzip" ,unzip))) (inputs `(("giflib" ,giflib) - ("libjpeg" ,libjpeg) ; Required for the JPEG texture plugin. + ("libjpeg" ,libjpeg-turbo) ; Required for the JPEG texture plugin. ("jasper" ,jasper) ("librsvg" ,librsvg) ("libxrandr" ,libxrandr) @@ -597,7 +597,7 @@ virtual reality, scientific visualization and modeling.") "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags)))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ,@(package-inputs openscenegraph))))) @@ -662,7 +662,7 @@ virtual reality, scientific visualization and modeling.") ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("openexr" ,openexr) @@ -1014,7 +1014,7 @@ your terminal.") `(("imagemagick" ,imagemagick) ("lcms" ,lcms) ("fbida" ,fbida) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zip" ,zip) ("perl" ,perl) ("perl-cpanel-json-xs" ,perl-cpanel-json-xs) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 5ef0fd0344..406375b3d6 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -104,7 +104,7 @@ ("libltdl" ,libltdl) ("libXaw" ,libxaw) ("expat" ,expat) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng))) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 1e26a3ce3e..2854945d78 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -264,7 +264,7 @@ for the GStreamer multimedia library.") ("libcaca" ,libcaca) ("libdv" ,libdv) ("libiec61883" ,libiec61883) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libshout" ,libshout) ("libsoup" ,libsoup) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b136449f7e..f0068dbe05 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -531,7 +531,7 @@ highlighting and other features typical of a source code editor.") ;; Used for testing and required at runtime. ("shared-mime-info" ,shared-mime-info))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libx11" ,libx11))) (native-inputs diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index f5d67c8917..cdaf8e86e2 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -89,7 +89,7 @@ (inputs `(;; Our ICU is too recent: “error: ‘UChar’ does not name a type“. ;; ("icu4c" ,icu4c) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxml2" ,libxml2) @@ -137,7 +137,7 @@ licences similar to the Modified BSD licence.")))) ("gts" ,gts) ("hdf5" ,hdf5) ("itpp" ,itpp) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxml" ,libxml2) @@ -198,7 +198,7 @@ of external libraries that provide additional functionality.") ("expat" ,expat) ("freetype" ,freetype) ("hdf5" ,hdf5) - ("jpeg" ,libjpeg) + ("jpeg" ,libjpeg-turbo) ("jsoncpp" ,jsoncpp) ("libogg" ,libogg) ("libtheora" ,libtheora) @@ -393,7 +393,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") (patches (search-patches "opencv-rgbd-aarch64-test-fix.patch")) (sha256 (base32 "1f334glf39nk42mpqq6j732h3ql2mpz89jd4mcl678s8n73nfjh2")))))) - (inputs `(("libjpeg" ,libjpeg) + (inputs `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("jasper" ,jasper) ;; ffmpeg 4.0 causes core dumps in tests. @@ -454,7 +454,7 @@ vision algorithms. It can be used to do things like: ("gobject-introspection" ,gobject-introspection))) (inputs `(("glib" ,glib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("librsvg" ,librsvg) ("libtiff" ,libtiff) @@ -516,7 +516,7 @@ due to its architecture which automatically parallelises the image workflows.") ("gtk+-2" ,gtk+-2) ("libxml2" ,libxml2) ("libexif" ,libexif) - ("libjpeg" ,libjpeg) ; required by vips.pc + ("libjpeg" ,libjpeg-turbo) ;required by vips.pc ("librsvg" ,librsvg) ("fftw" ,fftw) ("libgsf" ,libgsf) @@ -573,7 +573,7 @@ recalculates.") (inputs `(("libgeotiff" ,libgeotiff) ("libtiff" ,libtiff) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("zlib" ,zlib))) (home-page "https://github.com/vxl/vxl/") @@ -650,7 +650,7 @@ libraries designed for computer vision research and implementation.") ("fftw" ,fftw) ("fftwf" ,fftwf) ("hdf5" ,hdf5) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("mesa" ,mesa-opencl) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 85d3a153e7..8589130822 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -204,7 +204,7 @@ collection. Geeqie was initially based on GQview.") "0hi9v0rdx47nys0wvm9xasdrafa34r5kq6crb074a0ipwmc60iiq")))) (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+-2) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) (synopsis "Simple and fast image viewer for X") @@ -382,7 +382,7 @@ It supports JPEG, PNG and GIF formats.") ("zlib" ,zlib) ("exiv2" ,exiv2) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("lcms" ,lcms) ("openexr" ,openexr) ("fftw" ,fftwf) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 4fef6fe21e..6bb0b47cb3 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -500,7 +500,7 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t (sha256 (base32 "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8")))) (build-system gnu-build-system) - (inputs `(("libjpeg" ,libjpeg))) + (inputs `(("libjpeg" ,libjpeg-turbo))) (arguments '(#:tests? #f)) ; no tests (synopsis "Optimize JPEG images") @@ -565,7 +565,7 @@ extracting icontainer icon files.") ,name "-" ,version) "--disable-static"))) (inputs `(("zlib" ,zlib) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (synopsis "Library for handling TIFF files") (description "Libtiff provides support for the Tag Image File Format (TIFF), a format @@ -598,7 +598,7 @@ collection of tools for doing simple manipulations of TIFF images.") ("pkg-config" ,pkg-config))) (inputs `(("giflib" ,giflib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libwebp" ,libwebp))) @@ -872,7 +872,7 @@ compose, and analyze GIF images.") ("freetype" ,freetype) ("giflib" ,giflib) ("libid3tag" ,libid3tag) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libx11" ,libx11) @@ -983,7 +983,7 @@ supplies a generic doubly-linked list and some string functions.") `(("pkg-config" ,pkg-config) ("unzip" ,unzip))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libjxr" ,libjxr) ("libpng" ,libpng) ("libraw" ,libraw) @@ -1020,7 +1020,7 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") ("hdf5" ,hdf5) ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly ; to create a configure-flag - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("openexr" ,openexr) @@ -1124,7 +1124,7 @@ language bindings to VIGRA.") (inputs `(("freeglut" ,freeglut) ("giflib" ,giflib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff))) (native-inputs @@ -1164,7 +1164,7 @@ channels.") (propagated-inputs ;; These are all in the 'Libs.private' field of libmng.pc. `(("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (home-page "http://www.libmng.com/") (synopsis "Library for handling MNG files") @@ -1280,7 +1280,7 @@ convert, manipulate, filter and display a wide variety of image formats.") (base32 "05l75yd1zsxwv25ykwwwjs8961szv7iywf16nc6vc6qpby27ckv6")))) (build-system cmake-build-system) - (inputs `(("libjpeg" ,libjpeg))) + (inputs `(("libjpeg" ,libjpeg-turbo))) (synopsis "JPEG-2000 library") (description "The JasPer Project is an initiative to provide a reference implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e., @@ -1368,7 +1368,7 @@ differences in file encoding, image quality, and other small variations.") (inputs `(("libmhash" ,libmhash) ("libmcrypt" ,libmcrypt) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (arguments `(#:make-flags '("CXXFLAGS=-fpermissive") ;required for MHashPP.cc @@ -1739,7 +1739,7 @@ identical visual appearance.") (build-system gnu-build-system) (inputs `(("curl" ,curl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("ncurses" ,ncurses))) (home-page "https://csl.name/jp2a/") (synopsis "Convert JPEG images to ASCII") diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 2b4bc5680d..f75dd795f1 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -101,7 +101,7 @@ ("libxml2" ,libxml2) ("libtiff" ,libtiff) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("pango" ,pango) ("freetype" ,freetype) ("bzip2" ,bzip2) @@ -203,7 +203,7 @@ script.") ("libxml2" ,libxml2) ("libtiff" ,libtiff) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("freetype" ,freetype) ("bzip2" ,bzip2) ("xz" ,xz) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6abd0c8360..96d14c3988 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -949,7 +949,7 @@ machine."))) ("grep" ,grep) ("jamvm" ,jamvm) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libnsl" ,libnsl) ("libpng" ,libpng) ("libtool" ,libtool) @@ -1569,7 +1569,7 @@ bootstrapping purposes.") ("libxi" ,libxi) ("libxinerama" ,libxinerama) ("libxrender" ,libxrender) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("mit-krb5" ,mit-krb5) ("nss" ,nss) @@ -1866,7 +1866,7 @@ new Date();")) ("giflib" ,giflib) ("lcms" ,lcms) ("libelf" ,libelf) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libice" ,libice) ("libpng" ,libpng) ("libx11" ,libx11) @@ -2144,7 +2144,7 @@ new Date();")) ("freetype" ,freetype) ("giflib" ,giflib) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("libxext" ,libxext) @@ -2191,7 +2191,7 @@ new Date();")) ("freetype" ,freetype) ("giflib" ,giflib) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("libxext" ,libxext) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 9230bb71c0..fd1b6ec7ca 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -3768,7 +3768,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.") ("kwidgetsaddons" ,kwidgetsaddons) ("kwindowsystem" ,kwindowsystem) ("kxmlgui" ,kxmlgui) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("openssl" ,openssl) ("phonon" ,phonon) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index bc61e96d19..c74d4e0532 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -419,7 +419,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") ("libcdio" ,libcdio) ("libdrm" ,libdrm) ("libgcrypt" ,libgcrypt) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libltdl" ,libltdl) ("libmad" ,libmad) ("libmicrohttpd" ,libmicrohttpd) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 719401d69a..d92a74efa8 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -778,7 +778,7 @@ than 8 bits, and at the end only some significant 8 bits are kept.") (inputs `(("giflib" ,giflib) ("lapack" ,lapack) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("openblas" ,openblas) @@ -1746,7 +1746,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) ("eigen" ,eigen-for-tensorflow) ("gemmlowp" ,gemmlowp-for-tensorflow) ("lmdb" ,lmdb) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("giflib" ,giflib) ("grpc" ,grpc) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index fa95d0bf66..5c9da6d72b 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -808,7 +808,7 @@ infamous 'Wanda the Fish'.") ("libice" ,libice) ("libsm" ,libsm) ("libgxps" ,libgxps) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libxml2" ,libxml2) ("dogtail" ,python2-dogtail) ("shared-mime-info" ,shared-mime-info) @@ -1344,7 +1344,7 @@ can be used as backgrounds in the MATE Desktop environment.") ("libpeas" ,libpeas) ("libxml2" ,libxml2) ("libexif" ,libexif) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("librsvg" ,librsvg) ("lcms" ,lcms) ("mate-desktop" ,mate-desktop) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 003e8c0286..1d5a9edc5f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -725,7 +725,7 @@ computations.") ("flex" ,flex))) (inputs `(("zlib" ,zlib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtirpc" ,libtirpc))) (arguments `(#:parallel-tests? #f @@ -965,7 +965,7 @@ extremely large and complex data collections.") `(("hdf4" ,hdf4) ("hdf5" ,hdf5) ("zlib" ,zlib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("slf4j-api" ,java-slf4j-api))) (arguments `(#:configure-flags @@ -1082,7 +1082,7 @@ implemented in C.") `(("hdf4" ,hdf4-alt) ; assume most HDF-EOS2 users won't use the HDF4 netCDF API ;; XXX: These inputs are really dependencies of hdf4. ("zlib" ,zlib) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtirpc" ,libtirpc) ("gctp" ,gctp))) @@ -1242,7 +1242,7 @@ similar to MATLAB, GNU Octave or SciPy.") `(("hdf4" ,hdf4-alt) ("hdf5" ,hdf5) ("zlib" ,zlib) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (arguments `(#:configure-flags '("--enable-doxygen" "--enable-dot" "--enable-hdf4") diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm index 7fe0503d6f..aac6f13379 100644 --- a/gnu/packages/netpbm.scm +++ b/gnu/packages/netpbm.scm @@ -102,7 +102,7 @@ (build-system gnu-build-system) (inputs `(("ghostscript" ,ghostscript) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxml2" ,libxml2) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 32a45ed4d5..8451390647 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -433,7 +433,7 @@ using the DjVuLibre library.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("jbig2dec" ,jbig2dec) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("mujs" ,mujs) ("mupdf" ,mupdf) ("openjpeg" ,openjpeg) @@ -573,7 +573,7 @@ interaction.") `(("cppunit" ,cppunit) ("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("fontconfig" ,fontconfig) ("freetype" ,freetype) @@ -632,7 +632,7 @@ extracting content or merging files.") ("freetype" ,freetype) ("harfbuzz" ,harfbuzz) ("jbig2dec" ,jbig2dec) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libx11" ,libx11) ("libxext" ,libxext) ("mujs" ,mujs) @@ -859,7 +859,7 @@ the PDF pages.") #:tests? #f #:make-flags (list "CC=gcc" (string-append "prefix=" (assoc-ref %outputs "out"))))) - (inputs `(("libjpeg" ,libjpeg) + (inputs `(("libjpeg" ,libjpeg-turbo) ("curl" ,curl) ("libtiff" ,libtiff) ("libudev" ,eudev) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 0867433245..0dfc442883 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -82,7 +82,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg))) ;for lossy DNGs and old Kodak cameras + `(("libjpeg" ,libjpeg-turbo))) ;for lossy DNGs and old Kodak cameras (propagated-inputs `(("lcms" ,lcms))) ;for color profiles (home-page "https://www.libraw.org") @@ -258,7 +258,7 @@ and a wide variety of other metadata.") "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3")))) (build-system cmake-build-system) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("zlib" ,zlib))) @@ -300,7 +300,7 @@ overlapping images, as well as some command line tools.") `(("boost" ,boost) ("gsl" ,gsl) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("openexr" ,openexr) @@ -394,7 +394,7 @@ photographic equipment.") ("pugixml" ,pugixml) ("gtk+" ,gtk+) ("sqlite" ,sqlite) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("cairo" ,cairo) ("lcms" ,lcms) @@ -450,7 +450,7 @@ and enhance them.") ("freeglut" ,freeglut) ("glew" ,glew) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpano13" ,libpano13) ("libpng" ,libpng) ("libtiff" ,libtiff) @@ -535,7 +535,7 @@ a complete panorama and stitch any series of overlapping pictures.") ("lensfun" ,lensfun) ("libcanberra" ,libcanberra) ("libiptcdata" ,libiptcdata) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("librsvg" ,librsvg) ("libsigc++" ,libsigc++) diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index ca280f77fa..f8ea6194c6 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -137,7 +137,7 @@ manner. It also features an interactive interpreter.") ("texinfo" ,texinfo) ("libarchive" ,libarchive) ("libunwind" ,libunwind) - ("libjpeg", libjpeg) + ("libjpeg", libjpeg-turbo) ("libxft" ,libxft) ("fontconfig" ,fontconfig) ("perl" ,perl) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c00b1c7ed0..4dfe6ee612 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -441,7 +441,7 @@ Expressions are constructed from parsed strings or directly in Python.") (propagated-inputs `(("numpy" ,python-numpy))) (inputs `(("hdf4" ,hdf4) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) (arguments `(#:phases @@ -4460,7 +4460,7 @@ the OleFileIO module from PIL, the Python Image Library.") (inputs `(("freetype" ,freetype) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libwebp" ,libwebp) ("openjpeg" ,openjpeg) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 435bdbd518..675720288a 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -380,7 +380,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("harfbuzz" ,harfbuzz) ("icu4c" ,icu4c) ("libinput" ,libinput-minimal) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmng" ,libmng) ("libpng" ,libpng) ("libx11" ,libx11) @@ -2396,7 +2396,7 @@ different kinds of sliders, and much more.") `(("icu" ,icu4c) ("glib" ,glib) ("gst-plugins-base" ,gst-plugins-base) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libwebp" ,libwebp) ("sqlite" ,sqlite) diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index 71464237f4..2e364b2b8e 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -103,7 +103,7 @@ to remotely control a user's Windows desktop.") `(("alsa-lib" ,alsa-lib) ("cups" ,cups) ("ffmpeg" ,ffmpeg) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libx11" ,libx11) ("libxkbcommon" ,libxkbcommon) ("libxkbfile" ,libxkbfile) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 98f7fd203a..8e57cb20eb 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -123,7 +123,7 @@ package contains the library, but no drivers.") (name "sane-backends") (inputs `(("hplip" ,(@ (gnu packages cups) hplip-minimal)) - ("libjpeg" ,libjpeg) ; wanted by pixma, epsonds, others + ("libjpeg" ,libjpeg-turbo) ; wanted by pixma, epsonds, others ("libpng" ,libpng) ; support ‘scanimage --format=png’ ,@(package-inputs sane-backends-minimal))) (arguments @@ -219,7 +219,7 @@ package contains the library and drivers."))) (inputs `(("gtk+" ,gtk+-2) ("lcms" ,lcms) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("sane-backends" ,sane-backends) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index b0da2ac36b..44eab98fba 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -533,7 +533,7 @@ implementation techniques and as an expository tool.") ("glu" ,glu) ("gmp" ,gmp) ("gtk+" ,gtk+) ; propagates gdk-pixbuf+svg - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libx11" ,libx11) ("mesa" ,mesa) diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm index e9c998c7b6..385017f2c2 100644 --- a/gnu/packages/scribus.scm +++ b/gnu/packages/scribus.scm @@ -87,7 +87,7 @@ ("lcms" ,lcms) ("libcdr" ,libcdr) ("libfreehand" ,libfreehand) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmspub" ,libmspub) ("libpagemaker" ,libpagemaker) ("librevenge" ,librevenge) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index a01cafb34a..b133227629 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -238,7 +238,7 @@ other supporting functions for SDL.") ;; propagated input because the pkg-config file refers to SDL's pkg-config ;; file. (propagated-inputs `(("sdl" ,sdl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libwebp" ,libwebp))) @@ -507,7 +507,7 @@ directory.") `(("pkg-config" ,pkg-config) ;; Required by test suite. ("xorg-server" ,xorg-server) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (inputs `(("guile" ,guile-2.2) ("sdl-union" ,(sdl-union)))) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index a57e0151ca..12461914bc 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -146,7 +146,7 @@ which allows users to view a desktop computing environment.") ("gobject-introspection" ,gobject-introspection) ("json-glib" ,json-glib) ("libepoxy" ,libepoxy) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libxcb" ,libxcb) ("lz4" ,lz4) ("mesa" ,mesa) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ec2994dc33..a9e17ff2e5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -343,7 +343,7 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ ("openblas" ,openblas) ("gfortran" ,gfortran) ("icu4c" ,icu4c) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxt" ,libxt) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index c88d0338cb..f17e138bdb 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -232,7 +232,7 @@ interfaces (GUIs) in the Tcl language.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libx11" ,libx11) ("libpng" ,libpng) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg-turbo))) (arguments `(#:make-maker-flags `(,(string-append "X11=" (assoc-ref %build-inputs "libx11"))) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 8f3c887a68..c7ad33c17b 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -144,7 +144,7 @@ and others.") ("gettext" ,gettext-minimal))) (inputs `(("libexif" ,libexif) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libid3tag" ,libid3tag) ("flac" ,flac) ("libvorbis" ,libvorbis) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 730d5a408f..370994c9d6 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1281,7 +1281,7 @@ streaming protocols.") ("libass" ,libass) ("libdvdcss" ,libdvdcss) ("libdvdnav" ,libdvdnav) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmpeg2" ,libmpeg2) ("libmpg123" ,mpg123) ; audio codec for MP3 ("libpng" ,libpng) @@ -1379,7 +1379,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ("libcdio-paranoia" ,libcdio-paranoia) ("libdvdread" ,libdvdread) ("libdvdnav" ,libdvdnav) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libva" ,libva) ("libvdpau" ,libvdpau) ("libx11" ,libx11) @@ -2334,7 +2334,7 @@ tools, XML authoring components, and an extensible plug-in based API.") (inputs `(("alsa-lib" ,alsa-lib) ("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libx11" ,libx11) ("qtbase" ,qtbase) ("eudev" ,eudev))) @@ -3336,7 +3336,7 @@ It counts more than 100 plugins.") ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("ffmpeg" ,ffmpeg-3.4) ("libmicrohttpd" ,libmicrohttpd) ("sqlite" ,sqlite))) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 0c18191cc7..1a492cab30 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -78,7 +78,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("fltk" ,fltk) ("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxcursor" ,libxcursor) ("libxft" ,libxft) @@ -126,7 +126,7 @@ older or slower computers and embedded systems.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("zlib" ,zlib) ("openssl" ,openssl) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libevent" ,libevent) ("libpng" ,libpng) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 3568cf0a7f..18ee158be5 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5001,7 +5001,7 @@ w3c webidl files and a binding configuration file.") ("openssl" ,openssl) ("utf8proc" ,utf8proc) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libcss" ,libcss) ("libdom" ,libdom) ("libnsbmp" ,libnsbmp) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 5101ceb2ea..3d367aa54f 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -207,7 +207,7 @@ engine that uses Wayland for graphics output.") ("hyphen" ,hyphen) ("icu4c" ,icu4c) ("libgcrypt" ,libgcrypt) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libnotify" ,libnotify) ("libpng" ,libpng) ("libseccomp" ,libseccomp) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 258980803a..0700fdce20 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -111,7 +111,7 @@ ("libsane" ,sane-backends) ("libpcap" ,libpcap) ("libpng" ,libpng) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libICE" ,libice) ("libX11" ,libx11) diff --git a/gnu/packages/wv.scm b/gnu/packages/wv.scm index 866cfee222..37881a4d0f 100644 --- a/gnu/packages/wv.scm +++ b/gnu/packages/wv.scm @@ -45,7 +45,7 @@ (inputs `(("glib" ,glib) ("libgsf" ,libgsf) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("zlib" ,zlib))) (native-inputs diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 48e6c31f6c..c2eedad5cb 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -67,7 +67,7 @@ ;; XXX gstreamer-0.10 builds fail ;; ("gstreamer" ,gstreamer-0.10) ("gtk" ,gtk+) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmspack" ,libmspack) ("libsm" ,libsm) ("libtiff" ,libtiff) @@ -114,7 +114,7 @@ and many other languages.") (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk")))) (inputs `(("gtk" ,gtk+-2) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libmspack" ,libmspack) ("sdl" ,sdl) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index d5c375e046..baf03e012f 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -1239,7 +1239,7 @@ protocol.") ("libglade" ,libglade) ("libxml2" ,libxml2) ("libsm" ,libsm) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("linux-pam" ,linux-pam) ("pango" ,pango) ("gtk+" ,gtk+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 7489624646..ff3d6c9ece 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -289,7 +289,7 @@ merging features essential for loading menus modified with menu editors.") ("gdk-pixbuf" ,gdk-pixbuf) ("cairo" ,cairo) ;; Needed for pdf thumbnails (poppler-glibc.pc) ("freetype" ,freetype) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libgsf" ,libgsf) ("poppler" ,poppler) ;; FIXME Provide gstreamer and gstreamer-tag to get video thumbnails diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm index 09c7597761..c3d02619b4 100644 --- a/gnu/packages/xfig.scm +++ b/gnu/packages/xfig.scm @@ -47,7 +47,7 @@ `(("desktop-file-utils" ,desktop-file-utils))) (inputs `(("libxaw3d" ,libxaw3d) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxpm" ,libxpm) ("libx11" ,libx11) @@ -90,7 +90,7 @@ selected in various ways. For text, 35 fonts are available.") ("makedepend" ,makedepend))) (inputs `(("xfig" ,xfig) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxpm" ,libxpm) ("libx11" ,libx11) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 017a41203d..ab86b228bb 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6120,7 +6120,7 @@ basic eye-candy effects.") (inputs `(("ffmpeg" ,ffmpeg) ("flac" ,flac) ("gtk+-2" ,gtk+-2) ;; no full GTK3 support yet - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libvpx" ,libvpx) ("libx264" ,libx264) -- cgit 1.4.1 From a1552f52aa1b54e78eaa933a243fed2e99c6ba81 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Jan 2020 19:27:36 +0100 Subject: gnu: Deprecate the 'libjpeg' variable. * gnu/packages/image.scm (libjpeg, libjpeg-8): Rename to ... (ijg-libjpeg, ijg-libjpeg-8): ... this. (libjpeg): Define as deprecated by LIBJPEG-TURBO. --- gnu/packages/image.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 6bb0b47cb3..1b86f700e4 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -83,6 +83,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system scons) + #:use-module (guix deprecation) #:use-module (srfi srfi-1)) (define-public libpng @@ -364,7 +365,7 @@ Features: @end enumerate") (license license:gpl3+))) -(define-public libjpeg +(define-public ijg-libjpeg (package (name "libjpeg") (version "9c") @@ -393,8 +394,8 @@ lossless JPEG manipulations such as rotation, scaling or cropping: (license license:ijg) (home-page "https://www.ijg.org/"))) -(define-public libjpeg-8 - (package (inherit libjpeg) +(define-public ijg-libjpeg-8 + (package (inherit ijg-libjpeg) (version "8d") (source (origin (method url-fetch) @@ -1528,6 +1529,8 @@ and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).") license:ijg ;the libjpeg library and associated tools license:zlib)))) ;the libjpeg-turbo SIMD extensions +(define-deprecated libjpeg libjpeg-turbo) + (define-public niftilib (package (name "niftilib") -- cgit 1.4.1 From bd0f5f24913b52df29f1f26321ed1095d08877b5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 22 Jan 2020 23:50:17 +0100 Subject: gnu: Remove unused module imports. This is a follow-up to commits 6ab31af7c7fae218388b624af6c092d72b12c5b3 and e21b70acccedb3758ef124543fb522795d219608. * gnu/packages/curl.scm: Do not import (gnu packages groff). * gnu/packages/linux.scm: Do not import (gnu packages attr). --- gnu/packages/curl.scm | 1 - gnu/packages/linux.scm | 1 - 2 files changed, 2 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 9289e2ffd3..2c0390a3ef 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -37,7 +37,6 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages golang) - #:use-module (gnu packages groff) #:use-module (gnu packages guile) #:use-module (gnu packages kerberos) #:use-module (gnu packages libidn) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 60f217ba95..3be93e77dc 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -60,7 +60,6 @@ #:use-module (gnu packages acl) #:use-module (gnu packages admin) #:use-module (gnu packages algebra) - #:use-module (gnu packages attr) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages backup) -- cgit 1.4.1 From f2821deb9682e9bb4fa8a5caa7992701f05dcd8d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:17:47 +0100 Subject: gnu: glib: Remove redundant input. * gnu/packages/glib.scm (glib)[inputs]: Remove. --- gnu/packages/glib.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 2b8700f6da..c54051a156 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -191,8 +191,6 @@ shared NFS home directories.") ("util-linux" ,util-linux "lib") ;for libmount ("libselinux" ,libselinux) ("zlib" ,zlib))) - (inputs - `(("coreutils" ,coreutils))) (native-inputs `(("gettext" ,gettext-minimal) ("m4" ,m4) ; for installing m4 macros -- cgit 1.4.1 From 23572ded7081aa6117fe0004a49d7ad37354bbcb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:18:36 +0100 Subject: gnu: glib: Update to 2.62.4. * gnu/packages/glib.scm (glib): Update to 2.62.4. [arguments]: Adjust for renamed file. --- gnu/packages/glib.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index c54051a156..2bcd9fbec2 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -165,7 +165,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.60.6") + (version "2.62.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -173,7 +173,7 @@ shared NFS home directories.") name "-" version ".tar.xz")) (sha256 (base32 - "0v7vpx2md1gn0wwiirn7g4bhf2csfvcr03y96q2zv97ain6sp3zz")) + "1g2vj9lyh032kcwij7avx5d6a99rcsnkd07sbl9i55zsfw6h712c")) (patches (search-patches "glib-tests-timer.patch")) (modules '((guix build utils))) (snippet @@ -300,7 +300,7 @@ shared NFS home directories.") (;; Requires /etc/machine-id. "/gdbus/codegen-peer-to-peer")) - ("gio/tests/gdbus-unix-addresses.c" + ("gio/tests/gdbus-address-get-session.c" (;; Requires /etc/machine-id. "/gdbus/x11-autolaunch")) -- cgit 1.4.1 From c8257208264321b42bdf1d2bb99128ae6c3ed489 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:19:52 +0100 Subject: gnu: glibmm: Update to 2.62.0. * gnu/packages/glib.scm (glibmm): Update to 2.62.0. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 2bcd9fbec2..ba806566c6 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -610,7 +610,7 @@ has an ease of use unmatched by other C++ callback libraries.") (define glibmm (package (name "glibmm") - (version "2.60.0") + (version "2.62.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glibmm/" @@ -618,7 +618,7 @@ has an ease of use unmatched by other C++ callback libraries.") "/glibmm-" version ".tar.xz")) (sha256 (base32 - "1g7jxqd270dv2d83r7pf5893mwpz7d5xib0q01na2yalh34v38d3")))) + "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit 1.4.1 From 632a9b32c560606dc7061027683c10c9b16be29f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:20:21 +0100 Subject: gnu: yelp-xsl: Update to 3.34.2. * gnu/packages/gnome.scm (yelp-xsl): Update to 3.34.2. [native-inputs]: Remove INTLTOOL. Add GETTEXT-MINIMAL. --- gnu/packages/gnome.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index abcc485b79..5a29b9a733 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5574,7 +5574,7 @@ of running programs and invoke methods on those interfaces.") (define-public yelp-xsl (package (name "yelp-xsl") - (version "3.32.1") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5582,10 +5582,10 @@ of running programs and invoke methods on those interfaces.") name "-" version ".tar.xz")) (sha256 (base32 - "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya")))) + "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc")))) (build-system gnu-build-system) (native-inputs - `(("intltool" ,intltool) + `(("gettext-minimal" ,gettext-minimal) ("itstool" ,itstool) ("xmllint" ,libxml2))) (home-page "https://wiki.gnome.org/Apps/Yelp") -- cgit 1.4.1 From 8fe8a42a906ad1996806739b8826b8188a1046cf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:20:48 +0100 Subject: gnu: yelp-tools: Update to 3.32.2. * gnu/packages/gnome.scm (yelp-tools): Update to 3.32.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5a29b9a733..c817be3e28 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5632,7 +5632,7 @@ freedesktop.org help system specification.") (define-public yelp-tools (package (name "yelp-tools") - (version "3.28.0") + (version "3.32.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5640,7 +5640,7 @@ freedesktop.org help system specification.") name "-" version ".tar.xz")) (sha256 (base32 - "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2")))) + "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit 1.4.1 From b92a36dbc825472c5b8159e4b78e31e4e06b5ded Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:24:06 +0100 Subject: gnu: vala: Update to 0.46.5. * gnu/packages/gnome.scm (vala): Update to 0.46.5. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c817be3e28..6e6239a978 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3220,7 +3220,7 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.44.5") + (version "0.46.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3228,7 +3228,7 @@ passwords in the GNOME keyring.") name "-" version ".tar.xz")) (sha256 (base32 - "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv")))) + "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit 1.4.1 From 404e386ed01a7a84565e4b49b71d456fbcc506c4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:24:53 +0100 Subject: gnu: shared-mime-info: Update to 1.15. * gnu/packages/gnome.scm (shared-mime-info): Update to 1.15. [native-inputs]: Remove INTLTOOL. Add GETTEXT-MINIMAL and ITSTOOL. --- gnu/packages/gnome.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6e6239a978..960ff24148 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1709,14 +1709,16 @@ guidelines.") (define-public shared-mime-info (package (name "shared-mime-info") - (version "1.10") + (version "1.15") (source (origin (method url-fetch) - (uri (string-append "https://freedesktop.org/~hadess/" - "shared-mime-info-" version ".tar.xz")) + (uri (string-append + "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/" + "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version + ".tar.xz")) (sha256 (base32 - "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6")))) + "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl")))) (build-system gnu-build-system) (arguments ;; The build system appears not to be parallel-safe. @@ -1725,7 +1727,8 @@ guidelines.") `(("glib" ,glib) ("libxml2" ,libxml2))) (native-inputs - `(("intltool" ,intltool) + `(("gettext" ,gettext-minimal) + ("itstool" ,itstool) ("pkg-config" ,pkg-config))) (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info") (synopsis "Database of common MIME types") -- cgit 1.4.1 From 4cb09502f2b4b0970a9525a0fb0f615b83c3657a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:26:25 +0100 Subject: gnu: gnome-calculator: Update to 3.34.1. * gnu/packages/gnome.scm (gnome-calculator): Update to 3.34.1. [native-inputs]: Remove INTLTOOL. Add GETTEXT-MINIMAL. [inputs]: Add LIBGEE. --- gnu/packages/gnome.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 960ff24148..5301ceee69 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8550,7 +8550,7 @@ handling the startup notification side.") (define-public gnome-calculator (package (name "gnome-calculator") - (version "3.32.2") + (version "3.34.1") (source (origin (method url-fetch) @@ -8559,19 +8559,20 @@ handling the startup notification side.") name "-" version ".tar.xz")) (sha256 (base32 - "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41")))) + "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache - ("intltool" ,intltool) ("itstool" ,itstool) ("vala" ,vala) ("pkg-config" ,pkg-config))) (inputs `(("glib" ,glib) ("gtksourceview" ,gtksourceview) + ("libgee" ,libgee) ("libsoup" ,libsoup) ("libxml2" ,libxml2) ("mpc" ,mpc) -- cgit 1.4.1 From 1de804da52d172865f6b04d1dd041f2e15965f35 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:27:45 +0100 Subject: gnu: gcr: Update to 3.34.0. * gnu/packages/gnome.scm (gcr): Update to 3.34.0. [source](patches): Remove. [arguments]: Disable D-Bus tests differently. [native-inputs]: Remove PYTHON-2 and INTLTOOL. Add PYTHON-WRAPPER and GETTEXT-MINIMAL. --- gnu/packages/gnome.scm | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5301ceee69..631f048d98 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1316,7 +1316,7 @@ the font would look under various sizes.") (define-public gcr (package (name "gcr") - (version "3.28.1") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1324,20 +1324,7 @@ the font would look under various sizes.") name "-" version ".tar.xz")) (sha256 (base32 - "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m")) - (patches - (list - ;; This patch solves an ordering issue that showed up when - ;; running the test suite against newer Glib 2.60. See - ;; . - (origin - (method url-fetch) - (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/" - "45d637578d7643ff96c0183ac267497a0b4c6344.diff")) - (file-name "gcr-hashtable-ordering.patch") - (sha256 - (base32 - "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi"))))))) + "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1346,9 +1333,9 @@ the font would look under various sizes.") ;; build environment. (add-after 'unpack 'disable-failing-tests (lambda _ - (substitute* "gcr/test-system-prompt.c" - (("g_test_add") "//") - (("return.*") "return 0;")) + (substitute* "Makefile.in" + (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)") + "")) #t)) (add-before 'check 'pre-check (lambda _ @@ -1360,11 +1347,11 @@ the font would look under various sizes.") ("gnupg" ,gnupg) ;called as a child process during tests ("libgcrypt" ,libgcrypt))) (native-inputs - `(("python" ,python-2) ;for tests + `(("python" ,python-wrapper) ;for tests ("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) - ("intltool" ,intltool) ("libxml2" ,libxml2) ("vala" ,vala) ("xsltproc" ,libxslt))) -- cgit 1.4.1 From 3440fecd4eff3bde98a4ffe7ad241f2b23ba1f5f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:28:57 +0100 Subject: gnu: nvi: Fix build with glibc 2.30. * gnu/packages/nvi.scm (nvi)[source](modules): New field. [source](snippet): Add substitution to prevent including code that relies on obsolete glibc functions. --- gnu/packages/nvi.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm index 187de31720..c34b1cad72 100644 --- a/gnu/packages/nvi.scm +++ b/gnu/packages/nvi.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ (patches (search-patches "nvi-assume-preserve-path.patch" "nvi-dbpagesize-binpower.patch" "nvi-db4.patch")) + (modules '((guix build utils))) (snippet ;; Create a wrapper for the configure script, make it executable. '(let ((conf-wrap (open-output-file "configure"))) @@ -51,6 +53,12 @@ (newline conf-wrap) (close-output-port conf-wrap) (chmod "configure" #o0755) + + ;; Glibc 2.30 removed the deprecated , so fall back + ;; to the internal PTY allocation logic. + (substitute* "ex/ex_script.c" + (("#ifdef HAVE_SYS5_PTY") + "#if defined(HAVE_SYS5_PTY) && !defined(__GLIBC__)")) #t)))) (build-system gnu-build-system) -- cgit 1.4.1 From 49d7167328aa1a1f6408f220b1864094d1630a06 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Jan 2020 23:21:44 +0100 Subject: gnu: gobject-introspection: Update to 1.62.0. * gnu/packages/glib.scm (gobject-introspection): Update to 1.62.0. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index ba806566c6..08c7811809 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -403,14 +403,14 @@ dynamic loading, and an object system.") (define gobject-introspection (package (name "gobject-introspection") - (version "1.60.2") + (version "1.62.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" "gobject-introspection/" (version-major+minor version) "/gobject-introspection-" version ".tar.xz")) (sha256 - (base32 "172ymc1vbg2rclq1rszx4y32vm900nn1mc4qg1a4mqxjiwvf5pzz")) + (base32 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi")) (patches (search-patches "gobject-introspection-cc.patch" "gobject-introspection-girepository.patch" -- cgit 1.4.1 From b15d1c467fd5de9724c3a47c4d0d9c26246e8dc9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Jan 2020 19:52:58 +0100 Subject: gnu: Python: Update to 3.8.1. * gnu/packages/python.scm (python-3.7): Rename to ... (python-3.8): ... this. Update to 3.8.1. [source](patches): Add "python-3.8-fix-tests.patch". [source](snippet): Adjust for renamed file. (python-3): Alias to PYTHON-3.8. * gnu/packages/patches/python-3-search-paths.patch: Adjust for 3.8. * gnu/packages/patches/python-3.8-search-paths.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 - gnu/packages/patches/python-3-search-paths.patch | 28 ++++++++--------- gnu/packages/patches/python-3.8-search-paths.patch | 17 ---------- gnu/packages/python.scm | 36 ++++------------------ 4 files changed, 20 insertions(+), 62 deletions(-) delete mode 100644 gnu/packages/patches/python-3.8-search-paths.patch diff --git a/gnu/local.mk b/gnu/local.mk index 63a3fcffbe..4f1385d73b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1307,7 +1307,6 @@ 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-search-paths.patch \ %D%/packages/patches/python-3.8-fix-tests.patch \ %D%/packages/patches/python-CVE-2018-14647.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch index cf1647207b..aaf7236631 100644 --- a/gnu/packages/patches/python-3-search-paths.patch +++ b/gnu/packages/patches/python-3-search-paths.patch @@ -3,23 +3,23 @@ looking for headers and libraries. --- a/setup.py 2015-10-07 23:32:58.891329173 +0200 +++ b/setup.py 2015-10-07 23:46:29.653349924 +0200 -@@ -575,15 +575,15 @@ +@@ -676,15 +676,15 @@ # if a file is found in one of those directories, it can # be assumed that no additional -I,-L directives are needed. - if not cross_compiling: -- lib_dirs = self.compiler.library_dirs + system_lib_dirs -- inc_dirs = self.compiler.include_dirs + system_include_dirs -+ lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ inc_dirs = os.getenv('CPATH', '').split(os.pathsep) + if not CROSS_COMPILING: +- self.lib_dirs = self.compiler.library_dirs + system_lib_dirs +- self.inc_dirs = self.compiler.include_dirs + system_include_dirs ++ self.lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep) ++ self.inc_dirs = os.getenv('CPATH', '').split(os.pathsep) else: # Add the sysroot paths. 'sysroot' is a compiler option used to # set the logical path of the standard system headers and # libraries. -- lib_dirs = (self.compiler.library_dirs + -+ lib_dirs = (os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) + - sysroot_paths(('LDFLAGS', 'CC'), system_lib_dirs)) -- inc_dirs = (self.compiler.include_dirs + -+ inc_dirs = (os.getenv('CROSS_CPATH', '').split(os.pathsep) + - sysroot_paths(('CPPFLAGS', 'CFLAGS', 'CC'), - system_include_dirs)) - exts = [] +- self.lib_dirs = (self.compiler.library_dirs + ++ self.lib_dirs = (os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) + + sysroot_paths(('LDFLAGS', 'CC'), system_lib_dirs)) +- self.inc_dirs = (self.compiler.include_dirs + ++ self.inc_dirs = (os.getenv('CROSS_CPATH', '').split(os.pathsep) + + sysroot_paths(('CPPFLAGS', 'CFLAGS', 'CC'), + system_include_dirs)) + diff --git a/gnu/packages/patches/python-3.8-search-paths.patch b/gnu/packages/patches/python-3.8-search-paths.patch deleted file mode 100644 index 88f19850bf..0000000000 --- a/gnu/packages/patches/python-3.8-search-paths.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/setup.py b/setup.py -index 20d7f35..5751083 100644 ---- a/setup.py -+++ b/setup.py -@@ -676,8 +676,8 @@ class PyBuildExt(build_ext): - # if a file is found in one of those directories, it can - # be assumed that no additional -I,-L directives are needed. - if not CROSS_COMPILING: -- self.lib_dirs = self.compiler.library_dirs + system_lib_dirs -- self.inc_dirs = self.compiler.include_dirs + system_include_dirs -+ self.lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ self.inc_dirs = os.getenv('CPATH', '').split(os.pathsep) - else: - # Add the sysroot paths. 'sysroot' is a compiler option used to - # set the logical path of the standard system headers and --- -2.23.0 diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7aa170ffc0..96caaae0b3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -344,27 +344,28 @@ data types.") (name "python") (properties `((superseded . ,python-2))))) -(define-public python-3.7 +(define-public python-3.8 (package (inherit python-2) (name "python") - (version "3.7.4") + (version "3.8.1") (source (origin (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) (patches (search-patches "python-3-fix-tests.patch" + "python-3.8-fix-tests.patch" "python-3-deterministic-build-info.patch" "python-3-search-paths.patch")) (sha256 (base32 - "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv")) + "1s4lwn5vzsajlc88m6hkghsvnjw4d00l2dsgng0m2w6vyqbl32bm")) (modules '((guix build utils))) (snippet '(begin ;; Delete the bundled copy of libexpat. (delete-file-recursively "Modules/expat") - (substitute* "Modules/Setup.dist" + (substitute* "Modules/Setup" ;; Link Expat instead of embedding the bundled one. (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) #t)))) @@ -432,33 +433,8 @@ data types.") (version-major+minor version) "/site-packages")))))))) -(define-public python-3.8 - (package - (inherit python-3.7) - (name "python-next") - (version "3.8.0") - (source - (origin - (inherit (package-source python-3.7)) - (uri (string-append "https://www.python.org/ftp/python/" - version "/Python-" version ".tar.xz")) - (sha256 (base32 "110d0did9rxn7rg85kf2fwli5hqq44xv2d8bi7d92m7v2d728mmk")) - (patches (search-patches - "python-3.8-search-paths.patch" - "python-3-fix-tests.patch" - "python-3.8-fix-tests.patch" - "python-3-deterministic-build-info.patch")) - (snippet - '(begin - ;; Delete the bundled copy of libexpat. - (delete-file-recursively "Modules/expat") - (substitute* "Modules/Setup" - ;; Link Expat instead of embedding the bundled one. - (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) - #t)))))) - ;; Current 3.x version. -(define-public python-3 python-3.7) +(define-public python-3 python-3.8) ;; Current major version. (define-public python python-3) -- cgit 1.4.1 From 1cc3971242fe28835b57e3e480c2336db04ca024 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 07:42:13 +0100 Subject: gnu: boost: Fix build with Python 3.8. * gnu/packages/boost.scm (boost)[arguments]: Drop "m" suffix of Python 3 header location. --- gnu/packages/boost.scm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index ded4db0586..16a08bde44 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -137,11 +137,6 @@ ,(%current-target-system))))) '()) - (when (which "python3") - (substitute* "tools/build/src/tools/python.jam" - (("include/python\\$\\(version\\)") - "include/python$(version)m"))) - (invoke "./bootstrap.sh" (string-append "--prefix=" out) ;; Auto-detection looks for ICU only in traditional -- cgit 1.4.1 From 6e3cbafb60dd55c41dd5cab1f2ccf4077c7cc27a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 08:11:08 +0100 Subject: gnu: fontforge: Fix build with Python 3.8. * gnu/packages/fontutils.scm (fontforge)[native-inputs]: Add AUTOCONF, AUTOMAKE, and LIBTOOL. [arguments]: Add phase 'fix-linking-with-python-3.8'. --- gnu/packages/fontutils.scm | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 34e17fdf67..1e5ebea868 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2018, 2019 Ludovic Courtès -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -585,7 +585,13 @@ definitions.") (base32 "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + + ;; TODO: Remove these inputs and the 'fix-linking-with-python-3.8' phase + ;; below when updating fontforge. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("cairo" ,cairo) ("fontconfig" ,fontconfig) ;dlopen'd ("freetype" ,freetype) @@ -610,6 +616,17 @@ definitions.") (arguments '(#:phases (modify-phases %standard-phases + (add-before 'bootstrap 'fix-linking-with-python-3.8 + (lambda _ + ;; Applications that embed the Python interpreter are supposed to + ;; use the new "python-3.8-embed.pc" pkg-config file starting with + ;; Python 3.8. Adjust the build system accordingly. + (substitute* "m4/fontforge_arg_enable.m4" + (("python-\"\\$\\{PYTHON_VERSION\\}\"" all) + (string-append all "-embed"))) + ;; Delete the configure script in order to force autoreconf. + (delete-file "configure") + #t)) (add-after 'install 'set-library-path (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) -- cgit 1.4.1 From b8f5aa6fa024805247f7d4b3dddf7551541bee54 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:26:53 +0100 Subject: gnu: python-scandir: Update to 1.10.0. * gnu/packages/python-xyz.scm (python-scandir): Update to 1.10.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4dfe6ee612..47da29627a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12963,13 +12963,13 @@ It supports both normal and Unicode strings.") (define-public python-scandir (package (name "python-scandir") - (version "1.9.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (pypi-uri "scandir" version)) (sha256 - (base32 "0r3hvf1a9jm1rkqgx40gxkmccknkaiqjavs8lccgq9s8khh5x5s4")))) + (base32 "1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases -- cgit 1.4.1 From 5e1d6787f2b11c28e861de9314f4a76d50b935be Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:27:27 +0100 Subject: gnu: python-coverage: Update to 5.0.3. * gnu/packages/check.scm (python-coverage): Update to 5.0.3. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 17d5fa6ba8..f6654e4e3b 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1348,14 +1348,14 @@ have failed since the last commit or what tests are currently failing."))) (define-public python-coverage (package (name "python-coverage") - (version "4.5.3") + (version "5.0.3") (source (origin (method url-fetch) (uri (pypi-uri "coverage" version)) (sha256 (base32 - "02f6m073qdispn96rc616hg0rnmw1pgqzw3bgxwiwza4zf9hirlx")))) + "1vrg8panqw79pswg52ygbrff3wdnxarrd9qz6c64ah0c4h2cmbvp")))) (build-system python-build-system) (arguments ;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors. -- cgit 1.4.1 From 1c4746ee6926861543d28a4cd5e0fd60ea01938d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:30:18 +0100 Subject: gnu: python-setuptools-scm: Update to 3.3.3. * gnu/packages/python-xyz.scm (python-setuptools-scm): Update to 3.3.3. (python-setuptools-scm-3.3): Remove variable. (python-lazy-object-proxy)[native-inputs]: Change from PYTHON-SETUPTOOLS-SCM-3.3 to PYTHON-SETUPTOOLS-SCM. --- gnu/packages/python-xyz.scm | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 47da29627a..62c407c65e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4930,13 +4930,13 @@ child application and control it as if a human were typing commands.") (define-public python-setuptools-scm (package (name "python-setuptools-scm") - (version "3.2.0") + (version "3.3.3") (source (origin (method url-fetch) (uri (pypi-uri "setuptools_scm" version)) (sha256 (base32 - "0n3knn3p1sqlx31k2lahn7z9bacvlv8nhlfidj77vz50bxqlgasj")))) + "19cyndx23xmpbhz4qrwmfwsmnnaczd0dw7qg977ksq2dbvxy29dx")))) (build-system python-build-system) (home-page "https://github.com/pypa/setuptools_scm/") (synopsis "Manage Python package versions in SCM metadata") @@ -4946,18 +4946,6 @@ child application and control it as if a human were typing commands.") them as the version argument or in a SCM managed file.") (license license:expat))) -;; Needed by python-lazy-object-proxy, remove on next update cycle. -(define-public python-setuptools-scm-3.3 - (package - (inherit python-setuptools-scm) - (version "3.3.3") - (source (origin - (method url-fetch) - (uri (pypi-uri "setuptools_scm" version)) - (sha256 - (base32 - "19cyndx23xmpbhz4qrwmfwsmnnaczd0dw7qg977ksq2dbvxy29dx")))))) - (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) @@ -10666,7 +10654,7 @@ it will manage (install/update) them for you.") (base32 "1w1aaay424ciz8fz3fkzxb0pxzfxn184f2whpyn4fx72bn50x47k")))) (native-inputs - `(("python-setuptools-scm" ,python-setuptools-scm-3.3))) + `(("python-setuptools-scm" ,python-setuptools-scm))) (build-system python-build-system) (home-page "https://github.com/ionelmc/python-lazy-object-proxy") (synopsis "Lazy object proxy for python") -- cgit 1.4.1 From 23d5d859a83d781e1e0873f6aa2b9093ee0cfc7a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:30:45 +0100 Subject: gnu: python-py: Update to 1.8.1. * gnu/packages/python-xyz.scm (python-py): Update to 1.8.1. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 62c407c65e..07886969d2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1704,14 +1704,14 @@ server.") (define-public python-py (package (name "python-py") - (version "1.8.0") + (version "1.8.1") (source (origin (method url-fetch) (uri (pypi-uri "py" version)) (sha256 (base32 - "0lsy1gajva083pzc7csj1cvbmminb7b4l6a0prdzyb3fd829nqyw")))) + "1ajjazg3913n0sp3vjyva9c2qh5anx8ziryng935f89604a0h9sy")))) (build-system python-build-system) (arguments ;; FIXME: "ImportError: 'test' module incorrectly imported from -- cgit 1.4.1 From 559f5799db26ad0db93335fd353302fd02bf69c1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:31:36 +0100 Subject: gnu: python-typing: Update to 3.7.4.1. * gnu/packages/python-xyz.scm (python-typing): Update to 3.7.4.1. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 07886969d2..95054f751e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -14820,14 +14820,14 @@ based on the CPython 2.7 and 3.7 parsers.") (define-public python-typing (package (name "python-typing") - (version "3.6.6") + (version "3.7.4.1") (source (origin (method url-fetch) (uri (pypi-uri "typing" version)) (sha256 (base32 - "0ba9acs4awx15bf9v3nrs781msbd2nx826906nj6fqks2bvca9s0")))) + "08xs7s5pyq99hbrzw23inczmidz90krvpv9q5p1qrvh6yzrydpwi")))) (build-system python-build-system) (home-page "https://docs.python.org/3/library/typing.html") (synopsis "Type hints for Python") -- cgit 1.4.1 From c6bc3529a507a45637c4a061dfdb00b619e5f4f0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:32:16 +0100 Subject: gnu: python-configparser: Update to 4.0.2. * gnu/packages/python-xyz.scm (python-configparser): Update to 4.0.2. [native-inputs]: Add PYTHON-SETUPTOOLS-SCM. --- gnu/packages/python-xyz.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 95054f751e..7296b9b2d7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12719,14 +12719,16 @@ of @code{functools.lru_cache} from python 3.3.") (define-public python-configparser (package (name "python-configparser") - (version "3.7.1") + (version "4.0.2") (source (origin (method url-fetch) (uri (pypi-uri "configparser" version)) (sha256 (base32 - "0cnz213il9lhgda6x70fw7mfqr8da43s3wm343lwzhqx94mgmmav")))) + "1priacxym85yjcf68hh38w55nqswaxp71ryjyfdk222kg9l85ln7")))) + (native-inputs + `(("python-setuptools_scm" ,python-setuptools-scm))) (build-system python-build-system) (home-page "https://github.com/jaraco/configparser/") (synopsis "Backport of configparser from python 3.5") -- cgit 1.4.1 From f00722b40c9d302772020d8435e3eb6f4f0b683a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:32:46 +0100 Subject: gnu: python-six: Update to 1.13.0. * gnu/packages/python-xyz.scm (python-six): Update to 1.13.0. [native-inputs]: Remove PYTHON-PY. --- gnu/packages/python-xyz.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7296b9b2d7..e3ff64677e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1091,14 +1091,14 @@ from the Python interpreter, or as a small part of a larger application.") (define-public python-six (package (name "python-six") - (version "1.12.0") + (version "1.13.0") (source (origin (method url-fetch) (uri (pypi-uri "six" version)) (sha256 (base32 - "0wxs1q74v07ssjywbbm7x6h5v9qx209ld2yfsif4060sxi0h2sni")))) + "0rkby0kxlxj0kk2m6q5mh73ka5rk608p886vnv57h9cbkqki1xih")))) (build-system python-build-system) (arguments `(#:phases @@ -1107,8 +1107,7 @@ from the Python interpreter, or as a small part of a larger application.") (lambda _ (invoke "py.test" "-v")))))) (native-inputs - `(("python-py" ,python-py) - ("python-pytest" ,python-pytest-bootstrap))) + `(("python-pytest" ,python-pytest-bootstrap))) (home-page "https://pypi.python.org/pypi/six/") (synopsis "Python 2 and 3 compatibility utilities") (description -- cgit 1.4.1 From 87a49025e9c6dec06f12df5f382fed5bf8906789 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:53:38 +0100 Subject: gnu: python2-pathlib2: Update to 2.3.5. * gnu/packages/python-xyz.scm (python2-pathlib2): Update to 2.3.5. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e3ff64677e..5713bb359b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9455,13 +9455,13 @@ anymore.") (define-public python2-pathlib2 (package (name "python2-pathlib2") - (version "2.3.3") + (version "2.3.5") (source (origin (method url-fetch) (uri (pypi-uri "pathlib2" version)) (sha256 (base32 - "0hpp92vqqgcd8h92msm9slv161b1q160igjwnkf2ag6cx0c96695")))) + "0s4qa8c082fdkb17izh4mfgwrjd1n5pya18wvrbwqdvvb5xs9nbc")))) (build-system python-build-system) ;; We only need the the Python 2 variant, since for Python 3 our minimum ;; version is 3.4 which already includes this package as part of the -- cgit 1.4.1 From fb7686a9999109fa478c8a2f115e7e65c5e166d7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:55:57 +0100 Subject: gnu: python-flake8: Update to 3.7.9. * gnu/packages/python-xyz.scm (python-flake8): Update to 3.7.9. [native-inputs]: Remove PYTHON-PYTEST-RUNNER. --- gnu/packages/python-xyz.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5713bb359b..a0cc69d084 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6535,13 +6535,13 @@ complexity of Python source code.") (define-public python-flake8 (package (name "python-flake8") - (version "3.7.7") + (version "3.7.9") (source (origin (method url-fetch) (uri (pypi-uri "flake8" version)) (sha256 (base32 - "0qg6zggqigrd4k3gv88shd1a27d0cwgfql8vfiq2c7rl7w3rd6c5")))) + "1yscj6avirm6m12bjh4fn2lfgxaamqsjh9pirdqfi0fcgq8ils25")))) (build-system python-build-system) (arguments `(#:phases @@ -6559,8 +6559,7 @@ complexity of Python source code.") ("python-mccabe" ,python-mccabe))) (native-inputs `(("python-mock" ,python-mock) - ("python-pytest" ,python-pytest-bootstrap) - ("python-pytest-runner" ,python-pytest-runner))) + ("python-pytest" ,python-pytest-bootstrap))) (home-page "https://gitlab.com/pycqa/flake8") (synopsis "The modular source code checker: pep8, pyflakes and co") -- cgit 1.4.1 From a9d1da178e5f10d5578de8be099fc79f9554fdfd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:56:34 +0100 Subject: gnu: python-more-itertools: Update to 8.1.0. * gnu/packages/python-xyz.scm (python-more-itertools): Update to 8.1.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a0cc69d084..78ab4e98ee 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15048,14 +15048,14 @@ file system events on Linux.") (define-public python-more-itertools (package (name "python-more-itertools") - (version "7.1.0") + (version "8.1.0") (source (origin (method url-fetch) (uri (pypi-uri "more-itertools" version)) (sha256 (base32 - "16phg2f2dvm6ci5wr49ncha5lmc0m2in3bsl33c61vzca4gkvd4b")))) + "121j5nsz017r8ry2vabx4wb13srlvfjvhk0i38lbd043aznass64")))) (build-system python-build-system) (home-page "https://github.com/erikrose/more-itertools") (synopsis "More routines for operating on iterables, beyond itertools") -- cgit 1.4.1 From dab41b95fb56631fe61b9d04dba59de88c95fd7c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:57:07 +0100 Subject: gnu: python-mock: Update to 3.0.5. * gnu/packages/check.scm (python-mock): Update to 3.0.5. [propagated-inputs]: Remove PYTHON-PBR-MINIMAL. [native-inputs]: Remove. [arguments]: Remove #:phases. Add #:tests?. --- gnu/packages/check.scm | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index f6654e4e3b..a8d679cc83 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -642,26 +642,20 @@ doctest.") (define-public python-mock (package (name "python-mock") - (version "2.0.0") + (version "3.0.5") (source (origin (method url-fetch) (uri (pypi-uri "mock" version)) (sha256 (base32 - "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i")))) + "1hrp6j0yrx2xzylfv02qa8kph661m6yq4p0mc8fnimch9j4psrc3")))) (propagated-inputs - `(("python-pbr" ,python-pbr-minimal) - ("python-six" ,python-six))) + `(("python-six" ,python-six))) (build-system python-build-system) - (native-inputs - `(("python-unittest2" ,python-unittest2))) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (zero? (system* "unit2"))))))) + ;; FIXME: Tests require "pytest", which depends on this package. + '(#:tests? #f)) (home-page "https://github.com/testing-cabal/mock") (synopsis "Python mocking and patching library for testing") (description -- cgit 1.4.1 From 4c2530afce2f7f43795c217d43f3d66069896257 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:57:42 +0100 Subject: gnu: python-sorted-containers: Disable tests. It did not actually run tests previously, because pytest was unavailable. * gnu/packages/python-xyz.scm (python-sortedcontainers)[arguments]: New field. [native-inputs]: Remove. --- gnu/packages/python-xyz.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 78ab4e98ee..9ef3b8e234 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15811,8 +15811,10 @@ that is accessible to other projects developed in Cython.") (base32 "0fm0w5id2yhqld95hg2m636vjgkz377rvgdfqaxc25vbylr9lklp")))) (build-system python-build-system) - (native-inputs - `(("python-tox" ,python-tox))) + (arguments + ;; FIXME: Tests require many extra dependencies, and would introduce + ;; a circular dependency on hypothesis, which uses this package. + '(#:tests? #f)) (home-page "http://www.grantjenks.com/docs/sortedcontainers/") (synopsis "Sorted List, Sorted Dict, Sorted Set") (description -- cgit 1.4.1 From aadef9c8450f18b54f72f770e549541587641b18 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:58:41 +0100 Subject: gnu: python-sortedcontainers: Add python2 variant. * gnu/packages/python-xyz.scm (python2-sortedcontainers): New public variable. --- gnu/packages/python-xyz.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9ef3b8e234..96ae913b3d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15822,6 +15822,9 @@ that is accessible to other projects developed in Cython.") pure-Python.") (license license:asl2.0))) +(define-public python2-sortedcontainers + (package-with-python2 python-sortedcontainers)) + (define-public python-cloudpickle (package (name "python-cloudpickle") -- cgit 1.4.1 From 11c28af19a2462ae58623e452aed3bf3c7e66b2a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 21:59:48 +0100 Subject: gnu: python-pyparsing: Update to 2.4.6. * gnu/packages/python-xyz.scm (python-pyparsing): Update to 2.4.6. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 96ae913b3d..072f894731 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3724,13 +3724,13 @@ library, libgit2 implements Git plumbing.") (define-public python-pyparsing (package (name "python-pyparsing") - (version "2.3.1") + (version "2.4.6") (source (origin (method url-fetch) (uri (pypi-uri "pyparsing" version)) (sha256 - (base32 "0yk6xl885b91dmlhlsap7x78hk2rdr879fln9anbq6k4ca42djb6")))) + (base32 "17wn5zlijc9m9zj26gy3f541y7smpj8rfhl51d025c2gm210b0sc")))) (build-system python-build-system) (outputs '("out" "doc")) (arguments -- cgit 1.4.1 From 8aed0895f1ddafd0333a15a8473ff5e1fe0751f8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 22:00:38 +0100 Subject: gnu: python-attrs: Update to 19.3.0. * gnu/packages/python-xyz.scm (python-attrs): Update to 19.3.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 072f894731..7ae650c7cc 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -12369,13 +12369,13 @@ and bit flag values.") (define-public python-attrs (package (name "python-attrs") - (version "19.1.0") + (version "19.3.0") (source (origin (method url-fetch) (uri (pypi-uri "attrs" version)) (sha256 (base32 - "16g33zr5f449lqc5wgvzpknxryfzrfsxcr6kpgxwn7l5fkv71f7h")))) + "0wky4h28n7xnr6xv69p9z6kv8bzn50d10c3drmd9ds8gawbcxdzp")))) (build-system python-build-system) (arguments `(#:modules ((guix build utils) -- cgit 1.4.1 From 3b5378a87fd067dca07b35163e85056044d61cdf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 22:01:41 +0100 Subject: gnu: python-hypothesis: Update to 5.1.5. * gnu/packages/check.scm (python-hypothesis): Update to 5.1.5. [native-inputs]: Remove. [arguments]: New field. [propagated-inputs]: Remove PYTHON-COVERAGE. Add PYTHON-SORTEDCONTAINERS. (python2-hypothesis): Update to 4.57.1. --- gnu/packages/check.scm | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index a8d679cc83..684721c6f2 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1612,20 +1612,20 @@ instantly.") (define-public python-hypothesis (package (name "python-hypothesis") - (version "4.18.3") + (version "5.1.5") (source (origin (method url-fetch) (uri (pypi-uri "hypothesis" version)) (sha256 (base32 - "0a35nwqyjnm4cphi43xracqpkws0ip61mndvqb1iqq7gkva83lb1")))) + "1ady8cjwpwsicpkhpjd6qwnipjr1lf488sv23psksbxsbgffg7sz")))) (build-system python-build-system) - (native-inputs - `(("python-flake8" ,python-flake8) - ("python-pytest" ,python-pytest-bootstrap))) + (arguments + ;; XXX: Tests are not distributed with the PyPI archive. + '(#:tests? #f)) (propagated-inputs `(("python-attrs" ,python-attrs-bootstrap) - ("python-coverage" ,python-coverage))) + ("python-sortedcontainers" ,python-sortedcontainers))) (synopsis "Library for property based testing") (description "Hypothesis is a library for testing your Python code against a much larger range of examples than you would ever want to write by hand. It’s @@ -1635,10 +1635,18 @@ seamlessly into your existing Python unit testing work flow.") (license license:mpl2.0) (properties `((python2-variant . ,(delay python2-hypothesis)))))) +;; This is the last version of Hypothesis that supports Python 2. (define-public python2-hypothesis (let ((hypothesis (package-with-python2 (strip-python2-variant python-hypothesis)))) (package (inherit hypothesis) + (version "4.57.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "hypothesis" version)) + (sha256 + (base32 + "183gpxbfcdhdqzlahkji5a71n6lmvgqsbkcb0ihqad51n2j6jhrw")))) (propagated-inputs `(("python2-enum34" ,python2-enum34) ,@(package-propagated-inputs hypothesis)))))) -- cgit 1.4.1 From 17263ef5e84029ddaadef3ab40fcba7cbc9d6c43 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 22:02:22 +0100 Subject: gnu: python-pluggy: Update to 0.13.1. * gnu/packages/python-xyz.scm (python-pluggy): Update to 0.13.1. [properties]: New field. (python2-pluggy): Stay on 0.11.0. --- gnu/packages/python-xyz.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7ae650c7cc..9f37da99d5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8751,14 +8751,14 @@ library as well as on the command line.") (define-public python-pluggy (package (name "python-pluggy") - (version "0.11.0") + (version "0.13.1") (source (origin (method url-fetch) (uri (pypi-uri "pluggy" version)) (sha256 (base32 - "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895")))) + "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm")))) (build-system python-build-system) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) @@ -8766,10 +8766,21 @@ library as well as on the command line.") (description "Pluggy is an extraction of the plugin manager as used by Pytest but stripped of Pytest specific details.") (home-page "https://pypi.python.org/pypi/pluggy") + (properties `((python2-variant . ,(delay python2-pluggy)))) (license license:expat))) (define-public python2-pluggy - (package-with-python2 python-pluggy)) + (let ((base (package-with-python2 (strip-python2-variant + python-pluggy)))) + (package/inherit + base + (version "0.11.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pluggy" version)) + (sha256 + (base32 + "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895"))))))) (define-public python-tox (package -- cgit 1.4.1 From c5d399090e2a3f5a742fcdf4e514f0f8ab6fe491 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 22:03:00 +0100 Subject: gnu: python-pytest: Update to 5.3.2. * gnu/packages/check.scm (python-pytest): Update to 5.3.2. [propagated-inputs]: Add PYTHON-WCWIDTH and PYTHON-PACKAGING-BOOTSTRAP. [native-inputs]: Add PYTHON-XMLSCHEMA. [arguments]: Support overriding check phase with #:tests?. (python2-pytest): Stay on version 4.4.2. (python2-pytest-bootstrap): Inherit from PYTHON2-PYTEST instead of PYTHON-PYTEST-BOOTSTRAP. * gnu/packages/python-xyz.scm (python-packaging-bootstrap): New public variable. --- gnu/packages/check.scm | 96 ++++++++++++++++++++++++++++++++------------- gnu/packages/python-xyz.scm | 11 ++++++ 2 files changed, 79 insertions(+), 28 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 684721c6f2..c28e488a14 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -64,6 +64,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages time) + #:use-module (gnu packages xml) #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -763,35 +764,40 @@ standard library.") (define-public python-pytest (package (name "python-pytest") - (version "4.4.2") + (version "5.3.2") (source (origin (method url-fetch) (uri (pypi-uri "pytest" version)) (sha256 (base32 - "18w38kjnffdcrlbw6ny6dksgxai6x9bxpjs2m6klqmb8hfzjkcb2")))) + "1yi51ckkiywszz0qp67jisxzcp54acf57wqr3ysgk457nlai4mvb")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (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"))))))) + (lambda* (#:key (tests? #t) #:allow-other-keys) + (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))))) (propagated-inputs `(("python-atomicwrites" ,python-atomicwrites) ("python-attrs" ,python-attrs-bootstrap) ("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-six" ,python-six-bootstrap) + ("python-wcwidth" ,python-wcwidth))) (native-inputs `(;; Tests need the "regular" bash since 'bash-final' lacks `compgen`. ("bash" ,bash) @@ -799,7 +805,8 @@ standard library.") ("python-nose" ,python-nose) ("python-mock" ,python-mock) ("python-pytest" ,python-pytest-bootstrap) - ("python-setuptools-scm" ,python-setuptools-scm))) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-xmlschema" ,python-xmlschema))) (home-page "https://docs.pytest.org/en/latest/") (synopsis "Python testing library") (description @@ -809,15 +816,38 @@ and many external plugins.") (license license:expat) (properties `((python2-variant . ,(delay python2-pytest)))))) +;; Pytest 4.x are the last versions that support Python 2. (define-public python2-pytest - (let ((pytest (package-with-python2 - (strip-python2-variant python-pytest)))) - (package - (inherit pytest) - (propagated-inputs - `(("python2-funcsigs" ,python2-funcsigs) - ("python2-pathlib2" ,python2-pathlib2) - ,@(package-propagated-inputs pytest)))))) + (package + (inherit (strip-python2-variant python-pytest)) + (name "python2-pytest") + (version "4.4.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "pytest" version)) + (sha256 + (base32 + "18w38kjnffdcrlbw6ny6dksgxai6x9bxpjs2m6klqmb8hfzjkcb2")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + ,@(package-arguments python-pytest))) + (propagated-inputs + `(("python-atomicwrites" ,python2-atomicwrites) + ("python-attrs" ,python2-attrs-bootstrap) + ("python-funcsigs" ,python2-funcsigs) + ("python-more-itertools" ,python2-more-itertools) + ("python-pathlib2" ,python2-pathlib2) + ("python-pluggy" ,python2-pluggy) + ("python-py" ,python2-py) + ("python-six" ,python2-six-bootstrap))) + (native-inputs + `(("bash" ,bash) ;tests require 'compgen' + ("python-hypothesis" ,python2-hypothesis) + ("python-nose" ,python2-nose) + ("python-mock" ,python2-mock) + ("python-pytest" ,python2-pytest-bootstrap) + ("python-setuptools-scm" ,python2-setuptools-scm))))) (define-public python-pytest-bootstrap (package @@ -828,13 +858,23 @@ and many external plugins.") (properties `((python2-variant . ,(delay python2-pytest-bootstrap)))))) (define-public python2-pytest-bootstrap - (let ((pytest (package-with-python2 - (strip-python2-variant python-pytest-bootstrap)))) - (package (inherit pytest) - (propagated-inputs - `(("python2-funcsigs" ,python2-funcsigs-bootstrap) - ("python2-pathlib2" ,python2-pathlib2-bootstrap) - ,@(package-propagated-inputs pytest)))))) + (hidden-package + (package/inherit + python2-pytest + (name "python2-pytest-bootstrap") + (arguments + (substitute-keyword-arguments (package-arguments python2-pytest) + ((#:tests? _ #f) #f))) + (native-inputs + `(("python-setuptools-scm" ,python2-setuptools-scm))) + (propagated-inputs + `(("python-atomicwrites" ,python2-atomicwrites) + ("python-attrs" ,python2-attrs-bootstrap) + ("python-funcsigs" ,python2-funcsigs-bootstrap) + ("python-more-itertools" ,python2-more-itertools) + ("python-pathlib2" ,python2-pathlib2-bootstrap) + ("python-pluggy" ,python2-pluggy) + ("python-py" ,python2-py)))))) (define-public python-pytest-cov (package diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9f37da99d5..618049e4bd 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13121,6 +13121,17 @@ information.") ;; licenses. (license (list license:asl2.0 license:bsd-2)))) +;; A variant with minimal dependencies, for bootstrapping Pytest. +(define-public python-packaging-bootstrap + (hidden-package + (package/inherit + python-packaging + (name "python-packaging-bootstrap") + (native-inputs '()) + (propagated-inputs + `(("python-pyparsing" ,python-pyparsing))) + (arguments '(#:tests? #f))))) + (define-public python2-packaging (package-with-python2 python-packaging)) -- cgit 1.4.1 From 94fa51e17d23edbbdac2f66809b3c96315dd6781 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 22:15:59 +0100 Subject: gnu: python2-flake8: Add missing input. * gnu/packages/python-xyz.scm (python2-flake8)[propagated-inputs]: Add PYTHON2-FUNCTOOLS32. --- gnu/packages/python-xyz.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 618049e4bd..d9b17fca32 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6574,6 +6574,7 @@ complexity of Python source code.") (propagated-inputs `(("python2-configparser" ,python2-configparser) ("python2-enum34" ,python2-enum34) + ("python2-functools32" ,python2-functools32) ("python2-typing" ,python2-typing) ,@(package-propagated-inputs base)))))) -- cgit 1.4.1 From 5e7202bbdf407470bbb72cf0a74dea6961c2507a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 23:23:00 +0100 Subject: gnu: python2-importlib-resources: Drop 'wheel' dependency. * gnu/packages/python-xyz.scm (python2-importlib-resources)[native-inputs]: Remove. [arguments]: Add #:phases. --- gnu/packages/python-xyz.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d9b17fca32..e44696e454 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4983,9 +4983,17 @@ older Python versions.") "0y3hg12iby1qyaspnbisz4s4vxax7syikk3skznwqizqyv89y9yk")))) (build-system python-build-system) (arguments - `(#:python ,python-2)) - (native-inputs - `(("python-wheel" ,python2-wheel))) + `(#:python ,python-2 + #:phases (modify-phases %standard-phases + ;; The build system tests for python-wheel, but it is + ;; not required for Guix nor the test suite. Just drop + ;; it to make bootstrapping pytest easier. + (add-after 'unpack 'drop-wheel-dependency + (lambda _ + (substitute* "setup.cfg" + (("^[[:blank:]]+wheel") + "")) + #t))))) (propagated-inputs `(("python-pathlib2" ,python2-pathlib2) ("python-typing" ,python2-typing))) -- cgit 1.4.1 From db6fb90a1fc29ab8a5fb61483e0e30d74c4eb8d8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Jan 2020 23:40:07 +0100 Subject: gnu: python2-pluggy: Update to 0.13.1. * gnu/packages/python-xyz.scm (python-pluggy)[source, version]: Remove. [propagated-inputs]: Add PYTHON2-IMPORTLIB-METADATA. --- gnu/packages/python-xyz.scm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e44696e454..ea67be17ef 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8783,13 +8783,8 @@ Pytest but stripped of Pytest specific details.") python-pluggy)))) (package/inherit base - (version "0.11.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "pluggy" version)) - (sha256 - (base32 - "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895"))))))) + (propagated-inputs + `(("python-importlib-metadata" ,python2-importlib-metadata)))))) (define-public python-tox (package -- cgit 1.4.1 From 0ae97f5dd1c6cc2ad8e9f27f62e5a72e0d5fbb4c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 00:45:53 +0100 Subject: gnu: python2-pytest: Update to 4.6.9. * gnu/packages/check.scm (python2-pytest): Update to 4.6.9. (python2-pytest-bootstrap)[propagated-inputs]: Add PYTHON2-IMPORTLIB-METADATA-BOOTSTRAP, PYTHON2-PACKAGING-BOOTSTRAP, and PYTHON2-WCWIDTH. Replace PYTHON2-PLUGGY with PYTHON2-PLUGGY-BOOTSTRAP. * gnu/packages/python-compression.scm (python2-zipp-bootstrap): New public variable. * gnu/packages/python-xyz.scm (python2-importlib-resources-bootstrap): New public variable. (python-importlib-metadata)[native-inputs]: Change from PYTHON-PACKAGING to PYTHON-PACKAGING-BOOTSTRAP. [properties]: New field. (python2-importlib-metadata-bootstrap, python2-contextlib2-bootstrap, python2-pluggy-bootstrap): New public variables. (python-packaging)[arguments]: Allow overriding #:tests?. (python2-packaging-bootstrap): New public variable. --- gnu/packages/check.scm | 16 +++++--- gnu/packages/python-compression.scm | 12 ++++++ gnu/packages/python-xyz.scm | 78 ++++++++++++++++++++++++++++++++++--- 3 files changed, 96 insertions(+), 10 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index c28e488a14..941b4547b6 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -821,13 +821,13 @@ and many external plugins.") (package (inherit (strip-python2-variant python-pytest)) (name "python2-pytest") - (version "4.4.2") + (version "4.6.9") (source (origin (method url-fetch) (uri (pypi-uri "pytest" version)) (sha256 (base32 - "18w38kjnffdcrlbw6ny6dksgxai6x9bxpjs2m6klqmb8hfzjkcb2")))) + "0fgkmpc31nzy97fxfrkqbzycigdwxwwmninx3qhkzp81migggs0r")))) (build-system python-build-system) (arguments `(#:python ,python-2 @@ -836,11 +836,14 @@ and many external plugins.") `(("python-atomicwrites" ,python2-atomicwrites) ("python-attrs" ,python2-attrs-bootstrap) ("python-funcsigs" ,python2-funcsigs) + ("python-importlib-metadata" ,python2-importlib-metadata-bootstrap) ("python-more-itertools" ,python2-more-itertools) + ("python-packaging" ,python2-packaging-bootstrap) ("python-pathlib2" ,python2-pathlib2) ("python-pluggy" ,python2-pluggy) ("python-py" ,python2-py) - ("python-six" ,python2-six-bootstrap))) + ("python-six" ,python2-six-bootstrap) + ("python-wcwidth" ,python2-wcwidth))) (native-inputs `(("bash" ,bash) ;tests require 'compgen' ("python-hypothesis" ,python2-hypothesis) @@ -871,10 +874,13 @@ and many external plugins.") `(("python-atomicwrites" ,python2-atomicwrites) ("python-attrs" ,python2-attrs-bootstrap) ("python-funcsigs" ,python2-funcsigs-bootstrap) + ("python-importlib-metadata" ,python2-importlib-metadata-bootstrap) ("python-more-itertools" ,python2-more-itertools) + ("python-packaging" ,python2-packaging-bootstrap) ("python-pathlib2" ,python2-pathlib2-bootstrap) - ("python-pluggy" ,python2-pluggy) - ("python-py" ,python2-py)))))) + ("python-pluggy" ,python2-pluggy-bootstrap) + ("python-py" ,python2-py) + ("python-wcwidth" ,python2-wcwidth)))))) (define-public python-pytest-cov (package diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 70abc7bad1..7924479185 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2018, 2019 Efraim Flashner ;;; Copyright © 2020 Nicolas Goaziou +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -243,6 +244,17 @@ wrapper. It provides a backport of the @code{Path} object.") ("python-unittest2" ,python2-unittest2) ,@(package-native-inputs base)))))) +;; This package is used to bootstrap pytest, via importlib-metadata. +(define-public python2-zipp-bootstrap + (hidden-package + (package/inherit + python2-zipp + (arguments + `(#:tests? #f + ,@(package-arguments python2-zipp))) + (native-inputs + `(("python-setuptools-scm" ,python2-setuptools-scm)))))) + (define-public python-zstandard (package (name "python-zstandard") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ea67be17ef..12faca73eb 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5004,6 +5004,16 @@ older Python versions.") for older versions of Python.") (license license:asl2.0))) +;; For importlib-metadata-bootstrap below. +(define-public python2-importlib-resources-bootstrap + (hidden-package + (package/inherit + python2-importlib-resources + (name "python2-importlib-resources-bootstrap") + (propagated-inputs + `(("python-pathlib2-bootstrap" ,python2-pathlib2-bootstrap) + ("python-typing" ,python2-typing)))))) + (define-public python-importlib-metadata (package (name "python-importlib-metadata") @@ -5019,7 +5029,7 @@ for older versions of Python.") `(("python-zipp" ,python-zipp))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) - ("python-packaging" ,python-packaging))) + ("python-packaging" ,python-packaging-bootstrap))) (home-page "https://importlib-metadata.readthedocs.io/") (synopsis "Read metadata from Python packages") (description @@ -5045,6 +5055,22 @@ need to use the older and less efficient @code{pkg_resources} package.") ("python-pathlib2" ,python2-pathlib2) ,@(package-propagated-inputs base)))))) +;; This package is used by python2-pytest, and thus must not depend on it. +(define-public python2-importlib-metadata-bootstrap + (hidden-package + (package/inherit + python2-importlib-metadata + (name "python2-importlib-metadata-bootstrap") + (arguments + `(#:tests? #f + ,@(package-arguments python2-importlib-metadata))) + (propagated-inputs + `(("python-zipp" ,python2-zipp-bootstrap) + ("python-pathlib2" ,python2-pathlib2-bootstrap) + ("python-configparser" ,python2-configparser) + ("python-contextlib2" ,python2-contextlib2-bootstrap) + ("python-importlib-resources" ,python2-importlib-resources-bootstrap)))))) + (define-public python-jaraco-packaging (package (name "python-jaraco-packaging") @@ -8288,6 +8314,18 @@ the standard library.") (native-inputs `(("python2-unittest2" ,python2-unittest2)))))) +;; This package is used by python2-pytest via python2-importlib-metadata, +;; and thus can not depend on python-unittest2 (which depends on pytest). +(define-public python2-contextlib2-bootstrap + (hidden-package + (package/inherit + python2-contextlib2 + (name "python2-contextlib2-bootstrap") + (arguments + `(#:tests? #f + ,@(package-arguments python2-contextlib2))) + (native-inputs '())))) + (define-public python-texttable (package (name "python-texttable") @@ -8786,6 +8824,20 @@ Pytest but stripped of Pytest specific details.") (propagated-inputs `(("python-importlib-metadata" ,python2-importlib-metadata)))))) +;; This package requires python2-importlib-metadata, but that package +;; ends up needing python2-pluggy via python2-pytest, so we need this +;; variant to solve the circular dependency. +(define-public python2-pluggy-bootstrap + (hidden-package + (package/inherit + python2-pluggy + (name "python2-pluggy-bootstrap") + (arguments + `(#:tests? #f + ,@(package-arguments python2-pluggy))) + (propagated-inputs + `(("python-importlib-metadata" ,python2-importlib-metadata-bootstrap)))))) + (define-public python-tox (package (name "python-tox") @@ -13107,7 +13159,11 @@ several utilities, as well as an API for building localization tools.") (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ (invoke "py.test" "-vv")))))) + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "py.test" "-vv") + (format #t "test suite not run~%")) + #t))))) (native-inputs `(("python-pretend" ,python-pretend) ("python-pytest" ,python-pytest))) @@ -13125,7 +13181,10 @@ information.") ;; licenses. (license (list license:asl2.0 license:bsd-2)))) -;; A variant with minimal dependencies, for bootstrapping Pytest. +(define-public python2-packaging + (package-with-python2 python-packaging)) + +;; Variants with minimal dependencies, for bootstrapping Pytest. (define-public python-packaging-bootstrap (hidden-package (package/inherit @@ -13136,8 +13195,17 @@ information.") `(("python-pyparsing" ,python-pyparsing))) (arguments '(#:tests? #f))))) -(define-public python2-packaging - (package-with-python2 python-packaging)) +(define-public python2-packaging-bootstrap + (hidden-package + (package/inherit + python2-packaging + (name "python2-packaging-bootstrap") + (native-inputs '()) + (propagated-inputs + `(("python-pyparsing" ,python2-pyparsing))) + (arguments + `(#:tests? #f + ,@(package-arguments python2-packaging)))))) (define-public python-relatorio (package -- cgit 1.4.1 From 0e648e616094b20ffc3b296a27fb01e3085acf38 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 08:31:39 +0100 Subject: gnu: python-mako: Do not use pytest nose compatibility layer. * gnu/packages/python-xyz.scm (python-mako)[native-inputs]: Replace PYTHON-PYTEST with PYTHON-NOSE. [arguments]: Adjust check phase accordingly. While at it, allow overriding the #:tests? key. --- gnu/packages/python-xyz.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 12faca73eb..1de855f617 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8990,13 +8990,16 @@ python-xdo for newer bindings.)") (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest" "-vv")))))) + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "nosetests" "-v") + (format #t "test suite not run~%")) + #t))))) (propagated-inputs `(("python-markupsafe" ,python-markupsafe))) (native-inputs `(("python-mock" ,python-mock) - ("python-pytest" ,python-pytest))) + ("python-nose" ,python-nose))) (home-page "https://www.makotemplates.org/") (synopsis "Templating language for Python") (description "Mako is a templating language for Python that compiles -- cgit 1.4.1 From cc63d8cfd859a2ddc6018d8eac056203dc255c48 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 09:29:10 +0100 Subject: gnu: python-pytest-cov: Update to 2.8.1. * gnu/packages/check.scm (python-pytest-cov): Update to 2.8.1. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 941b4547b6..12c56d4a3e 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -885,13 +885,13 @@ and many external plugins.") (define-public python-pytest-cov (package (name "python-pytest-cov") - (version "2.6.1") + (version "2.8.1") (source (origin (method url-fetch) (uri (pypi-uri "pytest-cov" version)) (sha256 - (base32 "0cyxbbghx2l4p60w10k00j1j74q1ngfiffr0pxn73ababjr69dha")))) + (base32 "0avzlk9p4nc44k7lpx9109dybq71xqnggxb9f4hp0l64pbc44ryc")))) (build-system python-build-system) (arguments `(#:phases -- cgit 1.4.1 From 9ba3cf5782f85e8d0528f9e445aad4c5fd0241a1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 09:13:12 +0100 Subject: gnu: python-pycairo: Update to 1.18.2. * gnu/packages/gtk.scm (python-pycairo): Update to 1.18.2. (python2-pycairo)[propagated-inputs]: Remove. --- gnu/packages/gtk.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 55269438d0..d8aeb156fb 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1278,7 +1278,7 @@ printing and other features typical of a source code editor.") (define-public python-pycairo (package (name "python-pycairo") - (version "1.17.1") + (version "1.18.2") (source (origin (method url-fetch) @@ -1286,7 +1286,7 @@ printing and other features typical of a source code editor.") version "/pycairo-" version ".tar.gz")) (sha256 (base32 - "165n0g7gp2a0qi8558snvfans17x83jv2lv7bx4vr1rxjbn3a2hg")))) + "0cb5n4r4nl0k1g90b1gz9iyk4lp7hi03db98i1p52a870bym7f6w")))) (build-system python-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1305,9 +1305,6 @@ printing and other features typical of a source code editor.") (strip-python2-variant python-pycairo)))) (package (inherit pycairo) - (propagated-inputs - `(("python2-funcsigs" ,python2-funcsigs) - ,@(package-propagated-inputs pycairo))) ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 (license (list license:lgpl2.1 license:mpl1.1))))) -- cgit 1.4.1 From cc9c83c55d23cc5fca1f4642258bcf78d4b1f943 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 09:26:09 +0100 Subject: gnu: python-pygobject: Update to 3.34.0. * gnu/packages/glib.scm (python-pygobject): Update to 3.34.0. [source](modules, snippet): New fields. Delete failing tests identified by commit 622d702f7eba3. [build-system]: Change to MESON-BUILD-SYSTEM. [arguments]: Remove. [native-inputs]: Remove WHICH and DBUS. (python2-pygobject)[build-system]: Change to PYTHON-BUILD-SYSTEM. [arguments]: New field. Copy old phase from python-pygobject. [native-inputs]: Remove WHICH and DBUS. (python-pygobject-3.34.0): Remove variable. --- gnu/packages/glib.scm | 84 ++++++++++++++++++++------------------------------ gnu/packages/gnome.scm | 2 +- 2 files changed, 34 insertions(+), 52 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 08c7811809..e6f1cf819f 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2019 Giacomo Leidi -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -692,7 +692,7 @@ useful for C++.") (define-public python-pygobject (package (name "python-pygobject") - (version "3.28.3") + (version "3.34.0") (source (origin (method url-fetch) @@ -701,24 +701,20 @@ useful for C++.") "/pygobject-" version ".tar.xz")) (sha256 (base32 - "1c6h3brzlyvzbpdsammnd957azmp6cbzqrd65r400vnh2l8f5lrx")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'delete-broken-tests - (lambda _ - ;; FIXME: this test freezes and times out. - (delete-file "tests/test_mainloop.py") - ;; FIXME: this test fails with this kind of error: - ;; AssertionError: != != Date: Thu, 16 Jan 2020 17:05:56 +0100 Subject: gnu: python-dateutil: Add missing input. * gnu/packages/time.scm (python-dateutil)[native-inputs]: Add PYTHON-PYTEST-COV. --- gnu/packages/time.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 0ec9a102a5..cd0d8794d1 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -190,6 +190,7 @@ Pendulum instances.") (invoke "pytest" "-vv")))))) (native-inputs `(("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) ("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs `(("python-six" ,python-six))) -- cgit 1.4.1 From 4255efda3df0d310e00f31666d9e5174cd6f9398 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 17:06:22 +0100 Subject: gnu: python-dateutil: Update to 2.8.1. * gnu/packages/time.scm (python-dateutil): Update to 2.8.1. --- gnu/packages/time.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index cd0d8794d1..63227d7bf5 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -166,14 +166,14 @@ Pendulum instances.") (define-public python-dateutil (package (name "python-dateutil") - (version "2.8.0") + (version "2.8.1") (source (origin (method url-fetch) (uri (pypi-uri "python-dateutil" version)) (sha256 (base32 - "17nsfhy4xdz1khrfxa61vd7pmvd5z0wa3zb6v4gb4kfnykv0b668")))) + "0g42w7k5007iv9dam6gnja2ry8ydwirh99mgdll35s12pyfzxsvk")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases -- cgit 1.4.1 From 403b533fde0d34bd2cb961abe1abbcb17ddf6045 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 18:00:25 +0100 Subject: gnu: libimobiledevice: Fix build with Python 3.8. * gnu/packages/libusb.scm (%libimobiledevice-patches): New variable. (libimobiledevice)[source](patches): New field. [arguments]: Remove #:configure-flags. Add #:phases. [native-inputs]: Add AUTOCONF and AUTOMAKE. --- gnu/packages/libusb.scm | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index abf11400e3..1a677a0fb9 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Jonathan Brielmaier ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Vagrant Cascadian +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -364,6 +365,25 @@ connections from and to iOS devices by connecting to a socket provided by a @code{usbmuxd} daemon.") (license license:lgpl2.1+))) +;; These patches are needed to build with Python 3.8. +(define %libimobiledevice-patches + (list (origin + (method url-fetch) + (uri (string-append "https://github.com/libimobiledevice/libimobiledevice" + "/commit/1ff3448d2e27f1bac8d2f0af8b8e952854860278.patch")) + (file-name "libimobiledevice-python-config.patch") + (sha256 + (base32 + "1mkwhp8vvhajij29jk3w4rkgcfh8d8waf908drh3076k70hb6i8y"))) + (origin + (method url-fetch) + (uri (string-append "https://github.com/libimobiledevice/libimobiledevice" + "/commit/eea4f1be9107c8ab621fd71460e47d0d38e55d71.patch")) + (file-name "libimobiledevice-python-3.8-compat.patch") + (sha256 + (base32 + "1zz8v7kgwyq5ck1qp03l29pcmljygnjwls9d6q28nv5pkwa6848w"))))) + (define-public libimobiledevice (package (name "libimobiledevice") @@ -372,17 +392,19 @@ connections from and to iOS devices by connecting to a socket provided by a (method url-fetch) (uri (string-append "https://www.libimobiledevice.org/downloads/" "libimobiledevice-" version ".tar.bz2")) + ;; Note: Remove the 'force-bootstrap' phase and the autoconf + ;; inputs below when removing these patches. + (patches %libimobiledevice-patches) (sha256 (base32 "0dqhy4qwj30mw8pwckvjmgnj1qqrh6p8c6jknmhvylshhzh0ssvq")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list (string-append "PYTHON_LDFLAGS=-L" - (assoc-ref %build-inputs "python") - "/lib -lpython" - ,(version-major+minor (package-version python)) - "m")))) + `(#:phases (modify-phases %standard-phases + (add-before 'bootstrap 'force-bootstrap + (lambda _ + (delete-file "configure") + #t))))) (propagated-inputs `(("openssl" ,openssl-1.0) ("libplist" ,libplist) @@ -392,6 +414,10 @@ connections from and to iOS devices by connecting to a socket provided by a (native-inputs `(("pkg-config" ,pkg-config) ("python-cython" ,python-cython) + + ;; These are required because we patch and bootstrap the build system. + ("autoconf" ,autoconf) + ("automake" ,automake) ("libtool" ,libtool))) (home-page "https://www.libimobiledevice.org/") (synopsis "Protocol library and tools to communicate with Apple devices") -- cgit 1.4.1 From bf2522863c420f241b312a6c1282cdca4b2816a7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 16 Jan 2020 18:14:00 +0100 Subject: gnu: network-manager: Fix build with Python 3.8. * gnu/packages/gnome.scm (network-manager)[arguments]: Set "NM_TEST_REGENERATE" before running the tests. --- gnu/packages/gnome.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 459d64b731..0ec3bf60fd 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6481,6 +6481,10 @@ users.") (lambda _ ;; For the missing /etc/machine-id. (setenv "DBUS_FATAL_WARNINGS" "0") + + ;; XXX: Regenerate some of the tests that are dependent on Python version. + ;; Try removing this variable for newer versions of NetworkManager. + (setenv "NM_TEST_REGENERATE" "1") #t)) (replace 'install (lambda _ -- cgit 1.4.1 From 96af5dcf917853e40c6b17a2969fb44c161e096c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Jan 2020 08:01:41 +0100 Subject: gnu: python-freezegun: Update to 0.3.13. * gnu/packages/check.scm (python-freezegun): Update to 0.3.13. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 12c56d4a3e..5da3fdb5fd 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2219,13 +2219,13 @@ create data based on random numbers and yet remain repeatable.") (define-public python-freezegun (package (name "python-freezegun") - (version "0.3.12") + (version "0.3.13") (source (origin (method url-fetch) (uri (pypi-uri "freezegun" version)) (sha256 - (base32 "1rx57v8ryjncjimg8hys9kx1r3rknvwcl4y340g20jn0sf69qk9a")))) + (base32 "07lrb8ghng1y1jr278clvgi17dq1470gbr2lvbvwys6jkdg9c9b1")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) -- cgit 1.4.1 From 41fdad9f8c48a674d758c9835ab8640a9192a1a6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Jan 2020 08:03:29 +0100 Subject: gnu: python-cffi: Update to 1.13.2. * gnu/packages/patches/python-cffi-x87-stack-clean.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/libffi.scm (python-cffi): Update to 1.13.2. [arguments]: Adjust substitution. Remove obsolete phase. --- gnu/local.mk | 1 - gnu/packages/libffi.scm | 16 +++--------- .../patches/python-cffi-x87-stack-clean.patch | 29 ---------------------- 3 files changed, 4 insertions(+), 42 deletions(-) delete mode 100644 gnu/packages/patches/python-cffi-x87-stack-clean.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4f1385d73b..88ce141c13 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1312,7 +1312,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-cross-compile.patch \ - %D%/packages/patches/python-cffi-x87-stack-clean.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \ diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index 52654ddf3f..b0098389c0 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -76,14 +76,13 @@ conversions for values passed between the two languages.") (define-public python-cffi (package (name "python-cffi") - (version "1.11.5") + (version "1.13.2") (source (origin (method url-fetch) (uri (pypi-uri "cffi" version)) (sha256 - (base32 "1x3lrj928dcxx1k8k9gf3s4s3jwvzv8mc3kkyg1g7c3a1sc1f3z9")) - (patches (search-patches "python-cffi-x87-stack-clean.patch")))) + (base32 "0iikq5rn9a405n94c7s2j6kq3jv5qs9q4xyik8657b2py27ix6jr")))) (build-system python-build-system) (inputs `(("libffi" ,libffi))) @@ -116,7 +115,7 @@ conversions for values passed between the two languages.") "compiler_so='gcc',linker_exe='gcc'," "linker_so='gcc -shared')"))) (substitute* "testing/cffi0/test_ownlib.py" - (("'cc testownlib") "'gcc testownlib")) + (("\"cc testownlib") "\"gcc testownlib")) (invoke "py.test" "-v" "c/" "testing/") #t)) (add-before 'check 'patch-paths-of-dynamically-loaded-libraries @@ -142,14 +141,7 @@ conversions for values passed between the two languages.") (substitute* "c/test_c.py" (("find_and_load_library\\(['\"]{1}c['\"]{1}") (format #f "find_and_load_library('~a'" libc))) - #t))) - (add-before 'check 'disable-failing-test - ;; This is assumed to be a libffi issue: - ;; https://bitbucket.org/cffi/cffi/issues/312/tests-failed-with-armv8 - (lambda _ - (substitute* "testing/cffi0/test_ownlib.py" - (("ret.left") "ownlib.left")) - #t))))) + #t)))))) (home-page "https://cffi.readthedocs.io/") (synopsis "Foreign function interface for Python") (description "Foreign Function Interface for Python calling C code.") diff --git a/gnu/packages/patches/python-cffi-x87-stack-clean.patch b/gnu/packages/patches/python-cffi-x87-stack-clean.patch deleted file mode 100644 index 50243505ee..0000000000 --- a/gnu/packages/patches/python-cffi-x87-stack-clean.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix test that fails on i686: - -https://bitbucket.org/cffi/cffi/issues/382 - -This is a squashed version of these commits: -https://bitbucket.org/cffi/cffi/commits/ef09637b2314 -https://bitbucket.org/cffi/cffi/commits/7a76a3815340 - -diff -r 99940f1f5402 testing/cffi0/test_function.py ---- a/testing/cffi0/test_function.py Tue Feb 27 21:18:33 2018 +0100 -+++ b/testing/cffi0/test_function.py Sun Nov 11 16:26:23 2018 +0100 -@@ -45,14 +45,14 @@ - assert x != math.sin(1.23) # rounding effects - assert abs(x - math.sin(1.23)) < 1E-6 - -- def test_sin_no_return_value(self): -+ def test_lround_no_return_value(self): - # check that 'void'-returning functions work too - ffi = FFI(backend=self.Backend()) - ffi.cdef(""" -- void sin(double x); -+ void lround(double x); - """) - m = ffi.dlopen(lib_m) -- x = m.sin(1.23) -+ x = m.lround(1.23) - assert x is None - - def test_dlopen_filename(self): -- cgit 1.4.1 From 9a4990064f4707d18f0b17962e9438d75968839e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Jan 2020 18:07:48 +0100 Subject: gnu: python-six: Update to 1.14.0. * gnu/packages/python-xyz.scm (python-six): Update to 1.14.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 1de855f617..15f8fb24de 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1091,14 +1091,14 @@ from the Python interpreter, or as a small part of a larger application.") (define-public python-six (package (name "python-six") - (version "1.13.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (pypi-uri "six" version)) (sha256 (base32 - "0rkby0kxlxj0kk2m6q5mh73ka5rk608p886vnv57h9cbkqki1xih")))) + "02lw67hprv57hyg3cfy02y3ixjk3nzwc0dx3c4ynlvkfwkfdnsr3")))) (build-system python-build-system) (arguments `(#:phases -- cgit 1.4.1 From e0a5693533f343423527f6fc79d398e4e4c6d730 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 00:03:47 +0100 Subject: gnu: python-hypothesis: Update to 5.3.0. * gnu/packages/check.scm (python-hypothesis): Update to 5.3.0. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 5da3fdb5fd..8025ea1979 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1658,13 +1658,13 @@ instantly.") (define-public python-hypothesis (package (name "python-hypothesis") - (version "5.1.5") + (version "5.3.0") (source (origin (method url-fetch) (uri (pypi-uri "hypothesis" version)) (sha256 (base32 - "1ady8cjwpwsicpkhpjd6qwnipjr1lf488sv23psksbxsbgffg7sz")))) + "0aclww914la1s41jkjla10pm0qh88dpdv9x1riyqw7xzwczvbzf9")))) (build-system python-build-system) (arguments ;; XXX: Tests are not distributed with the PyPI archive. -- cgit 1.4.1 From 0075e2e2655c9fa1f2b4a3e696199d79fde2c901 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 00:04:00 +0100 Subject: gnu: python-setuptools-scm: Update to 3.4.3. * gnu/packages/python-xyz.scm (python-setuptools-scm): Update to 3.4.3. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 15f8fb24de..6cf6cb3aeb 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4929,13 +4929,13 @@ child application and control it as if a human were typing commands.") (define-public python-setuptools-scm (package (name "python-setuptools-scm") - (version "3.3.3") + (version "3.4.3") (source (origin (method url-fetch) (uri (pypi-uri "setuptools_scm" version)) (sha256 (base32 - "19cyndx23xmpbhz4qrwmfwsmnnaczd0dw7qg977ksq2dbvxy29dx")))) + "083k93wi7mrmp1cn28hcbnr6sivbgls0y7zz2m5qzn1wg04a3f16")))) (build-system python-build-system) (home-page "https://github.com/pypa/setuptools_scm/") (synopsis "Manage Python package versions in SCM metadata") -- cgit 1.4.1 From a5670bd45a97585e17e974bc689aeeb8ef14d66e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 00:06:22 +0100 Subject: gnu: python-pycairo: Update to 1.19.0. * gnu/packages/gtk.scm (python-pycairo): Update to 1.19.0. (python2-pycairo): Stick with 1.18.2. --- gnu/packages/gtk.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index d8aeb156fb..02f00f4a92 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1278,7 +1278,7 @@ printing and other features typical of a source code editor.") (define-public python-pycairo (package (name "python-pycairo") - (version "1.18.2") + (version "1.19.0") (source (origin (method url-fetch) @@ -1286,7 +1286,7 @@ printing and other features typical of a source code editor.") version "/pycairo-" version ".tar.gz")) (sha256 (base32 - "0cb5n4r4nl0k1g90b1gz9iyk4lp7hi03db98i1p52a870bym7f6w")))) + "176i283glkpycka8wwyndwld0zp1yn9xj9rpvllqgja698vsjnsg")))) (build-system python-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1300,11 +1300,21 @@ printing and other features typical of a source code editor.") (license license:lgpl3+) (properties `((python2-variant . ,(delay python2-pycairo)))))) +;; Pycairo no longer supports Python 2 since version 1.19.0, so we stick +;; with this older version here. (define-public python2-pycairo (let ((pycairo (package-with-python2 (strip-python2-variant python-pycairo)))) (package (inherit pycairo) + (version "1.18.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/pygobject/pycairo/releases" + "/download/v" version "/pycairo-" version ".tar.gz")) + (sha256 + (base32 + "0cb5n4r4nl0k1g90b1gz9iyk4lp7hi03db98i1p52a870bym7f6w")))) ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 (license (list license:lgpl2.1 license:mpl1.1))))) -- cgit 1.4.1 From 0eb2ce12c03d8608b8cace51132ef72c16d36ef2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 00:07:28 +0100 Subject: gnu: python-freezegun: Update to 0.3.14. * gnu/packages/check.scm (python-freezegun): Update to 0.3.14. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 8025ea1979..b58349fb2e 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2219,13 +2219,13 @@ create data based on random numbers and yet remain repeatable.") (define-public python-freezegun (package (name "python-freezegun") - (version "0.3.13") + (version "0.3.14") (source (origin (method url-fetch) (uri (pypi-uri "freezegun" version)) (sha256 - (base32 "07lrb8ghng1y1jr278clvgi17dq1470gbr2lvbvwys6jkdg9c9b1")))) + (base32 "0al75mk829j1izxi760b7yjnknjihyfhp2mvi5qiyrxb9cpxwqk2")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) -- cgit 1.4.1 From 861a265959ca931bab38fe6c1266de8849016820 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 00:13:10 +0100 Subject: gnu: python-pytest-runner: Update to 5.2. * gnu/packages/check.scm (python-pytest-runner): Update to 5.2. [arguments]: New field. [native-inputs]: Remove PYTHON-PYTEST-BOOTSTRAP. --- gnu/packages/check.scm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index b58349fb2e..19147e1afd 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -920,18 +920,28 @@ supports coverage of subprocesses.") (define-public python-pytest-runner (package (name "python-pytest-runner") - (version "4.4") + (version "5.2") (source (origin (method url-fetch) (uri (pypi-uri "pytest-runner" version)) (sha256 (base32 - "1x0d9n40lsiphblbs61rdc0d5r31f6vh0vcahqdv0mffakbnrb80")))) + "0awll1bva5zy8cspsxcpv7pjcrdf5c6pf56nqn4f74vvmlzfgiwn")))) (build-system python-build-system) + (arguments + '(;; FIXME: The test suite requires 'python-flake8' and 'python-black', + ;; but that introduces a circular dependency. + #:tests? #f + #:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "pytest" "-vv") + (format #t "test suite not run~%")) + #t))))) (native-inputs - `(("python-pytest" ,python-pytest-bootstrap) - ("python-setuptools-scm" ,python-setuptools-scm))) + `(("python-setuptools-scm" ,python-setuptools-scm))) (home-page "https://github.com/pytest-dev/pytest-runner") (synopsis "Invoke py.test as a distutils command") (description -- cgit 1.4.1 From 64d47f5043b1996ef398b9aaceac53795a1960b7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 00:13:26 +0100 Subject: gnu: python-fonttools: Update to 4.2.4. * gnu/packages/python-xyz.scm (python-fonttools): Update to 4.2.4. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6cf6cb3aeb..a9b75db2da 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6849,13 +6849,13 @@ add functionality and customization to your projects with their own plugins.") (define-public python-fonttools (package (name "python-fonttools") - (version "4.2.2") + (version "4.2.4") (source (origin (method url-fetch) (uri (pypi-uri "fonttools" version ".zip")) (sha256 (base32 - "012qqspnwdl4vy8qgzzpfglkk5dgzxiw0fak2jq74ngygvz3vfv6")))) + "0rz2fn707x8ri507bb5k5y3di851dwchn0886f77g5bgiflmnpwm")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip) -- cgit 1.4.1 From 0830b2f4aaed3630ba266a7bcc92083ff04d5bed Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 17:16:21 +0100 Subject: gnu: libuv: Update to 1.34.2. * gnu/packages/libevent.scm (libuv): Update to 1.34.2. --- gnu/packages/libevent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 72bbddea00..4a0dc052d8 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -101,14 +101,14 @@ limited support for fork events.") (define-public libuv (package (name "libuv") - (version "1.34.1") + (version "1.34.2") (source (origin (method url-fetch) (uri (string-append "https://dist.libuv.org/dist/v" version "/libuv-v" version ".tar.gz")) (sha256 (base32 - "1kwgl7j9snmjicrszhynfyp4njckqaw6l90y71a0b0alp2m8asbn")))) + "0inzk8qpw78im3fiazrc54qi1gcapbs8dhf0hk3kwpzg0i2kpnb5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static") -- cgit 1.4.1 From f69a22accfe95860f04186ba6fcd997c19d381f5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 17:16:53 +0100 Subject: gnu: util-linux: Update to 2.35. * gnu/packages/linux.scm (util-linux): Update to 2.35. [arguments]: Add substitution to fix test locale. --- gnu/packages/linux.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3be93e77dc..569ba34aa4 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1096,7 +1096,7 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (version "2.34") + (version "2.35") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/" @@ -1104,7 +1104,7 @@ providing the system administrator with some help in common tasks.") "util-linux-" version ".tar.xz")) (sha256 (base32 - "1db2kydkwjmvgd1glkcba3adhidxw0f1x735dcjdpdjjf869sgvl")) + "1jg2vywxi9m2h0f2pz0a7a9afvv1j5726dg0cwryrhb809b1n25k")) (patches (search-patches "util-linux-tests.patch")) (modules '((guix build utils))) (snippet @@ -1160,6 +1160,10 @@ providing the system administrator with some help in common tasks.") (substitute* "tests/ts/misc/mcookie" (("/etc/services") (string-append net "/etc/services"))) + + ;; The C.UTF-8 locale does not exist in our libc. + (substitute* "tests/ts/column/invalid-multibyte" + (("C\\.UTF-8") "en_US.utf8")) #t))) (add-after 'install 'move-static-libraries (lambda* (#:key outputs #:allow-other-keys) -- cgit 1.4.1 From 0d775f987c36309299202e43cfa9d04f64f6a52d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 17:17:53 +0100 Subject: gnu: sqlite: Update to 3.31.0. * gnu/packages/sqlite.scm (sqlite): Update to 3.31.0. --- gnu/packages/sqlite.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index 445c1606cf..80807d5d12 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm @@ -46,7 +46,7 @@ (define-public sqlite (package (name "sqlite") - (version "3.30.1") + (version "3.31.0") (source (origin (method url-fetch) (uri (let ((numeric-version @@ -58,11 +58,11 @@ (map (cut string-pad <> 2 #\0) other-digits)) 6 #\0)))))) - (string-append "https://sqlite.org/2019/sqlite-autoconf-" + (string-append "https://sqlite.org/2020/sqlite-autoconf-" numeric-version ".tar.gz"))) (sha256 (base32 - "0q4f57a5995wz9c7dfiqy9zwl0kn0b900nxwinqa3llv13dm0nlc")))) + "1w7i954349sjd5a6rvy118prra43k07y9hy8rpajs6vmjmnnx7bw")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) (outputs '("out" "static")) -- cgit 1.4.1 From 6abfe6f525a46db5d5b9b227ca45398ec68b79b2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 17:18:27 +0100 Subject: gnu: pciutils: Update to 3.6.3. * gnu/packages/pciutils.scm (pciutils): Update to 3.6.3. --- gnu/packages/pciutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index 18d7c1e56c..5f49bb3400 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -33,7 +33,7 @@ (define-public pciutils (package (name "pciutils") - (version "3.6.2") + (version "3.6.3") (source (origin (method url-fetch) (uri (string-append @@ -41,7 +41,7 @@ version ".tar.xz")) (sha256 (base32 - "1wwkpglvvr1sdj2gxz9khq507y02c4px48njy25divzdhv4jwifv")))) + "1ssjdd91q0w3xlc40y5f2zhfhck3rpajs1902hajas5ir20qvdy5")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit 1.4.1 From 89dc00cc2a4e367e6237b1c9233b5d2f5ff70210 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 17:18:47 +0100 Subject: gnu: meson: Update to 0.53.1. * gnu/packages/build-tools.scm (meson): Update to 0.53.1. --- gnu/packages/build-tools.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 006b0c48f2..cfbcc0f318 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -168,7 +168,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") - (version "0.53.0") + (version "0.53.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -176,7 +176,7 @@ files and generates build instructions for the Ninja build system.") version ".tar.gz")) (sha256 (base32 - "1xnkm4q9gk71nsdmrrmq7rv7lffgcif86awhpyg6rymn7acpaph3")))) + "011v84ijdnmbdgpzslaa6qiq7p2jh52sqzb0q6iaq6vhx8za66zc")))) (build-system python-build-system) (arguments `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH -- cgit 1.4.1 From d040e650b2bfeb4ba25912f68f828b675c6b0464 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 17:19:06 +0100 Subject: gnu: bison: Update to 3.5.1. * gnu/packages/bison.scm (bison): Update to 3.5.1. --- gnu/packages/bison.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm index eae8673edc..92ab80e9bf 100644 --- a/gnu/packages/bison.scm +++ b/gnu/packages/bison.scm @@ -31,7 +31,7 @@ (define-public bison (package (name "bison") - (version "3.5") + (version "3.5.1") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "0hd6lgkxb9i46alcwn87jygs53q4vkq7k0jzb84ikbdln4is1r2m")))) + "1l2d59xwlkmmm6vsskw6vsrk75ql9fvld57681g2v6khv5xhjziy")))) (build-system gnu-build-system) (arguments '(;; Building in parallel on many-core systems may cause an error such as -- cgit 1.4.1 From 5fcc5b38ed309ded75e52f54dc14b371f3a6bc96 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 17:54:58 +0100 Subject: gnu: qmapshack: Remove sqlite-with-column-metadata workaround. * gnu/packages/geo.scm (qmapshack)[arguments]: Do not set LD_LIBRARY_PATH in wrapper scripts. --- gnu/packages/geo.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index b5b6d9114e..5f9037a89f 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1431,23 +1431,15 @@ using the dataset of topographical information collected by (invoke "patch" "-p1" "-i" "FindQuaZip5.patch") #t)) (add-after 'install 'wrap - ;; The program fails to run with the error: - ;; undefined symbol: sqlite3_column_table_name16 - ;; Forcing the program to use sqlite-with-column-metadata instead - ;; of sqlite using LD_LIBRARY_PATH solves the problem. - ;; - ;; The program also fails to find the QtWebEngineProcess program, + ;; The program fails to find the QtWebEngineProcess program, ;; so we set QTWEBENGINEPROCESS_PATH to help it. (lambda* (#:key inputs outputs #:allow-other-keys) (let ((bin (string-append (assoc-ref outputs "out") "/bin")) (qtwebengineprocess (string-append (assoc-ref inputs "qtwebengine") - "/lib/qt5/libexec/QtWebEngineProcess")) - (sqlite-lib (string-append (assoc-ref inputs "sqlite") - "/lib"))) + "/lib/qt5/libexec/QtWebEngineProcess"))) (for-each (lambda (program) (wrap-program program - `("LD_LIBRARY_PATH" ":" prefix (,sqlite-lib)) `("QTWEBENGINEPROCESS_PATH" = (,qtwebengineprocess)))) (find-files bin ".*"))) -- cgit 1.4.1 From 8c81210ed0422522627f87f43f404e38c8bea8cf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Jan 2020 18:49:10 +0100 Subject: gnu: python2-pygtk: Build with pango@1.42. * gnu/packages/gtk.scm (python2-pygtk)[inputs]: Add PANGO-1.42. --- gnu/packages/gtk.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 02f00f4a92..bc396a28f5 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1338,6 +1338,11 @@ printing and other features typical of a source code editor.") `(("pkg-config" ,pkg-config))) (inputs `(("python" ,python-2) + + ;; XXX: The package fails to build with the latest Pango (propagated + ;; from GTK+2), so we provide it with this older version. + ("pango" ,pango-1.42) + ("libglade" ,libglade) ("glib" ,glib))) (propagated-inputs -- cgit 1.4.1 From fa8e0a5387419ba1edd17722329cdb27b1371ccf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jan 2020 12:50:57 +0100 Subject: gnu: cmake: Build an optimized executable. * gnu/packages/cmake.scm (cmake-bootstrap)[arguments]: Pass "-DCMAKE_BUILD_TYPE" in #:configure-flags. --- gnu/packages/cmake.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index cf542f12e4..913317b25f 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -97,7 +97,11 @@ ;; to --mandir and --docdir. "--mandir=share/man" ,(string-append "--docdir=share/doc/cmake-" - (version-major+minor version)))) + (version-major+minor version)) + + ;; By default CMake is built without any optimizations. Use + ;; the recommended Release target for a ~2.5x speedup. + "--" "-DCMAKE_BUILD_TYPE=Release")) #:make-flags (let ((skipped-tests (list "BundleUtilities" ; This test fails on Guix. -- cgit 1.4.1 From 7c1ea9316a3fd4212c08f8c3767dbd654d5136c6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jan 2020 14:19:14 +0100 Subject: gnu: cmake-minimal-bootstrap: Rename to cmake-bootstrap. ...and change the inheritance order while at it, to prepare for the next commit. * gnu/packages/cmake.scm (cmake-minimal): Rename to ... (cmake-bootstrap): ... this. [name]: Set to "cmake-bootstrap". [native-inputs]: Change from CURL to CURL-MINIMAL. (cmake-minimal-bootstrap): Remove variable. (cmake-minimal): New variable, inherits from CMAKE-BOOTSTRAP. * gnu/packages/image.scm (libjpeg-turbo)[arguments]: Change from CMAKE-MINIMAL-BOOTSTRAP to CMAKE-BOOTSTRAP. --- gnu/packages/cmake.scm | 35 ++++++++++++++++++----------------- gnu/packages/image.scm | 2 +- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 913317b25f..252ea1b065 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -47,11 +47,11 @@ #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) -;;; This minimal variant of CMake does not include the documentation. It is -;;; used by the cmake-build-system. -(define-public cmake-minimal +;;; The "bootstrap" CMake. It is used to build the inputs of 'cmake-minimal' +;;; below, to prevent a cyclic dependency on cmake-build-system. +(define-public cmake-bootstrap (package - (name "cmake-minimal") + (name "cmake-bootstrap") (version "3.16.3") (source (origin (method url-fetch) @@ -156,7 +156,9 @@ (apply invoke "./configure" configure-flags)))))) (native-inputs `(("bzip2" ,bzip2) - ("curl" ,curl) + ;; cURL depends on ghostscript (via groff and OpenLDAP), which depends on + ;; 'cmake-build-system' through libtiff and ultimately libjpeg-turbo. + ("curl" ,curl-minimal) ("expat" ,expat) ("file" ,file) ("libarchive" ,libarchive) @@ -194,6 +196,17 @@ and workspaces that can be used in the compiler environment of your choice.") license:expat ; cmjsoncpp is dual MIT/public domain license:public-domain)))) ; cmlibarchive/archive_getdate.c +;;; This minimal variant of CMake does not include the documentation. It is +;;; used by the cmake-build-system. +(define-public cmake-minimal + (package + (inherit cmake-bootstrap) + (name "cmake-minimal") + (native-inputs + `(("curl" ,curl) + ,@(alist-delete "curl" (package-native-inputs cmake-bootstrap)))))) + +;;; The "user-facing" CMake, now with manuals and HTML documentation. (define-public cmake (package (inherit cmake-minimal) @@ -236,18 +249,6 @@ and workspaces that can be used in the compiler environment of your choice.") (search-paths (package-native-search-paths cmake-minimal)))) -;; The purpose of this package is to solve a circular dependency between -;; packages that use cmake-build-system and CMakes own dependencies. -(define-public cmake-minimal-bootstrap - (package - (inherit cmake-minimal) - (name "cmake-minimal-bootstrap") - (native-inputs - `(;; cURL depends on ghostscript (via groff and OpenLDAP), which depends on - ;; 'cmake-build-system' through libtiff and ultimately libjpeg-turbo. - ("curl" ,curl-minimal) - ,@(alist-delete "curl" (package-native-inputs cmake-minimal)))))) - (define-public emacs-cmake-mode (package (inherit cmake) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 1b86f700e4..ebb30742a4 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1512,7 +1512,7 @@ is hereby granted.")))) '() ;; Use a special "bootstrap" CMake for the native build to work ;; around a circular dependency between CMake and this package. - `(#:cmake ,cmake-minimal-bootstrap)))) + `(#:cmake ,cmake-bootstrap)))) (home-page "https://libjpeg-turbo.org/") (synopsis "SIMD-accelerated JPEG image handling library") (description "libjpeg-turbo is a JPEG image codec that accelerates baseline -- cgit 1.4.1 From b5fc075d01d76eafde4d297b146ae43f08e2f347 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jan 2020 14:21:03 +0100 Subject: gnu: cmake-minimal: Remove bundled jsoncpp. * gnu/packages/cmake.scm (cmake-minimal)[source](snippet): New field. Purge bundled jsoncpp. [inputs]: Add JSONCPP. [arguments]: Adjust accordingly. * gnu/packages/serialization.scm (jsoncpp)[arguments]: For native builds, use CMAKE-BOOTSTRAP. --- gnu/packages/cmake.scm | 19 ++++++++++++++++--- gnu/packages/serialization.scm | 6 +++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 252ea1b065..ce9769981b 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -42,9 +42,11 @@ #:use-module (gnu packages file) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages xml) + #:use-module (ice-9 match) #:use-module (srfi srfi-1)) ;;; The "bootstrap" CMake. It is used to build the inputs of 'cmake-minimal' @@ -71,7 +73,6 @@ ;; "cmcompress" "cmcurl" "cmexpat" - ;; "cmjsoncpp" ;; "cmlibarchive" "cmliblzma" ;; "cmlibuv" @@ -88,7 +89,7 @@ (string-append "--parallel=" parallel-job-count) (string-append "--prefix=" out) "--system-libs" - "--no-system-jsoncpp" ; FIXME: Circular dependency. + "--no-system-jsoncpp" ;; By default, the man pages and other docs land ;; in PREFIX/man and PREFIX/doc, but we want them ;; in share/{man,doc}. Note that unlike @@ -202,9 +203,21 @@ and workspaces that can be used in the compiler environment of your choice.") (package (inherit cmake-bootstrap) (name "cmake-minimal") + (source (origin + (inherit (package-source cmake-bootstrap)) + (snippet + (match (origin-snippet (package-source cmake-bootstrap)) + ((begin exp ...) + (append '(begin (delete-file-recursively "Utilities/cmjsoncpp")) + exp)))))) (native-inputs `(("curl" ,curl) - ,@(alist-delete "curl" (package-native-inputs cmake-bootstrap)))))) + ("jsoncpp" ,jsoncpp) + ,@(alist-delete "curl" (package-native-inputs cmake-bootstrap)))) + (arguments + (substitute-keyword-arguments (package-arguments cmake-bootstrap) + ((#:configure-flags flags ''()) + `(delete "--no-system-jsoncpp" ,flags)))))) ;;; The "user-facing" CMake, now with manuals and HTML documentation. (define-public cmake diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 72cc70e3c4..0b3eb7ecaa 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages cpp) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) @@ -296,7 +297,10 @@ that implements both the msgpack and msgpack-rpc specifications.") "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg")))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES"))) + `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES") + ,@(if (%current-target-system) + '() + `(#:cmake ,cmake-bootstrap)))) (synopsis "C++ library for interacting with JSON") (description "JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also -- cgit 1.4.1 From ed24dda76d07f6d714effbc4ff692a4bce62a60e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jan 2020 14:44:53 +0100 Subject: gnu: CMake: Remove most bundled libraries. * gnu/packages/cmake.scm (cmake-bootstrap)[source](modules): Add (ice-9 ftw). [source](snippet): Change to a whitelist approach, keeping "jsoncpp" and "libuv". [arguments]: Add phase "use-system-libarchive". Remove substitution of deleted file. [native-inputs]: Add (PACKAGE-SOURCE LIBARCHIVE) [license]: Remove LICENSE:BSD-4 and LICENSE:BSD-2. --- gnu/packages/cmake.scm | 57 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index ce9769981b..c1b4d5de04 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -63,21 +63,34 @@ (sha256 (base32 "0s06wrp0jnw2l4yq94skj53hwnz7lqrmhh96sq7w7njkkggickz5")) - (modules '((guix build utils))) + (modules '((guix build utils) + (ice-9 ftw))) (snippet '(begin - ;; Drop bundled software. (with-directory-excursion "Utilities" + ;; CMake bundles its dependencies below "Utilities" with a + ;; "cm" prefix in the directory name. Delete those to ensure + ;; the system libraries are used. (for-each delete-file-recursively - '("cmbzip2" - ;; "cmcompress" - "cmcurl" - "cmexpat" - ;; "cmlibarchive" - "cmliblzma" - ;; "cmlibuv" - "cmzlib")) - #t))) + (scandir + "." + (lambda (file) + (and (string-prefix? "cm" file) + (eq? 'directory (stat:type (stat file))) + + ;; jsoncpp must be kept around for now to + ;; work around a circular dependency. It + ;; gets deleted once we reach "cmake-minimal". + ;; TODO: Consider building jsoncpp with + ;; Meson instead, once meson-build-system + ;; learns cross-compilation. + (not (string=? "cmjsoncpp" file)) + + ;; XXX: cmake's bootstrap script appears to + ;; rquire libuv, even though it detects and + ;; uses the system version eventually. + (not (string=? "cmlibuv" file))))))) + #t)) (patches (search-patches "cmake-curl-certificates.patch")))) (build-system gnu-build-system) (arguments @@ -127,6 +140,24 @@ (substitute* "Auxiliary/CMakeLists.txt" ((".*cmake-mode.el.*") "")) #t)) + (add-after 'unpack 'use-system-libarchive + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((libarchive-source (assoc-ref (or native-inputs inputs) + "libarchive:source")) + (libarchive-version ,(package-version libarchive)) + (files-to-unpack '("libarchive/archive_getdate.c" + "libarchive/archive_getdate.h"))) + ;; XXX: Source/cm_get_date.c includes archive_getdate.c wholesale, + ;; so it needs to be available along with the header file. + (mkdir-p "Utilities/cmlibarchive") + (apply invoke "tar" "-xvf" libarchive-source + "--strip-components=1" + "-C" "Utilities/cmlibarchive" + (map (lambda (file) + (string-append "libarchive-" libarchive-version + "/" file)) + files-to-unpack)) + #t))) (add-before 'configure 'patch-bin-sh (lambda _ ;; Replace "/bin/sh" by the right path in... a lot of @@ -138,7 +169,6 @@ "Source/cmLocalUnixMakefileGenerator3.cxx" "Source/cmExecProgramCommand.cxx" "Utilities/Release/release_cmake.cmake" - "Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c" "Tests/CMakeLists.txt" "Tests/RunCMake/File_Generate/RunCMakeTest.cmake") (("/bin/sh") (which "sh"))) @@ -163,6 +193,7 @@ ("expat" ,expat) ("file" ,file) ("libarchive" ,libarchive) + ("libarchive:source" ,(package-source libarchive)) ("libuv" ,libuv) ("rhash" ,rhash) ("zlib" ,zlib))) @@ -192,8 +223,6 @@ and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.") (properties '((hidden? . #t))) (license (list license:bsd-3 ; cmake - license:bsd-4 ; cmcompress - license:bsd-2 ; cmlibarchive license:expat ; cmjsoncpp is dual MIT/public domain license:public-domain)))) ; cmlibarchive/archive_getdate.c -- cgit 1.4.1 From 88b263465c4baabe1711ca2d1eeffe8527a93cc0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 01:52:55 +0100 Subject: build-system/cmake: Enable parallel tests by default. * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Set the PARALLEL-TESTS? key to #t. --- guix/build-system/cmake.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index aa0f4187ec..1fc0931a27 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -102,7 +102,7 @@ (build-type "RelWithDebInfo") (tests? #t) (test-target "test") - (parallel-build? #t) (parallel-tests? #f) + (parallel-build? #t) (parallel-tests? #t) (validate-runpath? #t) (patch-shebangs? #t) (strip-binaries? #t) @@ -181,7 +181,7 @@ provides a 'CMakeLists.txt' file as its build system." (build-type "RelWithDebInfo") (tests? #f) ; nothing can be done (test-target "test") - (parallel-build? #t) (parallel-tests? #f) + (parallel-build? #t) (parallel-tests? #t) (validate-runpath? #t) (patch-shebangs? #t) (strip-binaries? #t) -- cgit 1.4.1 From 013c5c23f9c3cc7464841c920c9557741ff5ed1b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 12:47:55 +0100 Subject: gnu: cmake, cmake-minimal: Use cmake-build-system. This allows removing the bundled LibUV in a subsequent commit. This commit alone makes no functional changes apart from the build system adjustments. * gnu/packages/cmake.scm (%common-build-phases, %common-disabled-tests): New variables. (cmake-bootstrap)[arguments]: Refactor to use the shared phases and tests. (cmake-minimal)[build-system]: Change to CMAKE-BUILD-SYSTEM. [arguments]: Adjust accordingly. (cmake)[arguments]: Likewise. --- gnu/packages/cmake.scm | 175 ++++++++++++++++++++++++++++++------------------- 1 file changed, 109 insertions(+), 66 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index c1b4d5de04..ffb2eeba48 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -33,6 +33,7 @@ #:use-module (guix utils) #:use-module (guix deprecation) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) #:use-module (gnu packages) #:use-module (gnu packages backup) @@ -49,8 +50,63 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-1)) -;;; The "bootstrap" CMake. It is used to build the inputs of 'cmake-minimal' -;;; below, to prevent a cyclic dependency on cmake-build-system. +;;; Build phases shared between 'cmake-bootstrap' and the later variants +;;; that use cmake-build-system. +(define %common-build-phases + `((add-after 'unpack 'split-package + ;; Remove files that have been packaged in other package recipes. + (lambda _ + (delete-file "Auxiliary/cmake-mode.el") + (substitute* "Auxiliary/CMakeLists.txt" + ((".*cmake-mode.el.*") "")) + #t)) + (add-after 'unpack 'use-system-libarchive + ;; 'Source/cm_get_date.c' includes archive_getdate.c wholesale, + ;; so it needs to be available along with the header file. + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((libarchive-source (assoc-ref (or native-inputs inputs) + "libarchive:source")) + ;; XXX: We can not use ,(package-version libarchive) here due to + ;; a cyclic module reference at the top-level. + (libarchive-version "3.4.1") + (files-to-unpack '("libarchive/archive_getdate.c" + "libarchive/archive_getdate.h"))) + (mkdir-p "Utilities/cmlibarchive") + (apply invoke "tar" "-xvf" libarchive-source + "--strip-components=1" + "-C" "Utilities/cmlibarchive" + (map (lambda (file) + (string-append "libarchive-" libarchive-version + "/" file)) + files-to-unpack)) + #t))) + (add-before 'configure '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" + "Utilities/Release/release_cmake.cmake" + "Tests/CMakeLists.txt" + "Tests/RunCMake/File_Generate/RunCMakeTest.cmake") + (("/bin/sh") (which "sh"))) + #t)))) + +(define %common-disabled-tests + '(;; This test copies libgcc_s.so.1 from GCC and tries to modify its RPATH, + ;; but does not cope with the file being read-only. + "BundleUtilities" + ;; This test requires network access. + "CTestTestUpload" + ;; This test requires 'ldconfig' which is not available in Guix. + "RunCMake.install")) + +;;; 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") @@ -78,17 +134,13 @@ (and (string-prefix? "cm" file) (eq? 'directory (stat:type (stat file))) - ;; jsoncpp must be kept around for now to - ;; work around a circular dependency. It - ;; gets deleted once we reach "cmake-minimal". + ;; These inputs are required to bootstrap + ;; the initial build system. They are + ;; deleted in 'cmake-minimal' below. ;; TODO: Consider building jsoncpp with ;; Meson instead, once meson-build-system ;; learns cross-compilation. (not (string=? "cmjsoncpp" file)) - - ;; XXX: cmake's bootstrap script appears to - ;; rquire libuv, even though it detects and - ;; uses the system version eventually. (not (string=? "cmlibuv" file))))))) #t)) (patches (search-patches "cmake-curl-certificates.patch")))) @@ -118,13 +170,11 @@ "--" "-DCMAKE_BUILD_TYPE=Release")) #:make-flags (let ((skipped-tests - (list "BundleUtilities" ; This test fails on Guix. + (list ,@%common-disabled-tests "CTestTestSubdir" ; This test fails to build 2 of the 3 tests. - ;; This test requires 'ldconfig' which is not available in Guix. - "RunCMake.install" - ;; These tests requires network access. - "CTestCoverageCollectGCOV" - "CTestTestUpload"))) + ;; This test fails when ARGS (below) is in use, see + ;; . + "CTestCoverageCollectGCOV"))) (list (string-append ;; These arguments apply for the tests only. @@ -133,46 +183,7 @@ " --exclude-regex ^\\(" (string-join skipped-tests "\\|") "\\)$"))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'split-package - ;; Remove files that have been packaged in other package recipes. - (lambda _ - (delete-file "Auxiliary/cmake-mode.el") - (substitute* "Auxiliary/CMakeLists.txt" - ((".*cmake-mode.el.*") "")) - #t)) - (add-after 'unpack 'use-system-libarchive - (lambda* (#:key native-inputs inputs #:allow-other-keys) - (let ((libarchive-source (assoc-ref (or native-inputs inputs) - "libarchive:source")) - (libarchive-version ,(package-version libarchive)) - (files-to-unpack '("libarchive/archive_getdate.c" - "libarchive/archive_getdate.h"))) - ;; XXX: Source/cm_get_date.c includes archive_getdate.c wholesale, - ;; so it needs to be available along with the header file. - (mkdir-p "Utilities/cmlibarchive") - (apply invoke "tar" "-xvf" libarchive-source - "--strip-components=1" - "-C" "Utilities/cmlibarchive" - (map (lambda (file) - (string-append "libarchive-" libarchive-version - "/" file)) - files-to-unpack)) - #t))) - (add-before 'configure '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" - "Utilities/Release/release_cmake.cmake" - "Tests/CMakeLists.txt" - "Tests/RunCMake/File_Generate/RunCMakeTest.cmake") - (("/bin/sh") (which "sh"))) - #t)) + ,@%common-build-phases (add-before 'configure 'set-paths (lambda _ ;; Help cmake's bootstrap process to find system libraries @@ -187,8 +198,6 @@ (apply invoke "./configure" configure-flags)))))) (native-inputs `(("bzip2" ,bzip2) - ;; cURL depends on ghostscript (via groff and OpenLDAP), which depends on - ;; 'cmake-build-system' through libtiff and ultimately libjpeg-turbo. ("curl" ,curl-minimal) ("expat" ,expat) ("file" ,file) @@ -243,10 +252,37 @@ and workspaces that can be used in the compiler environment of your choice.") `(("curl" ,curl) ("jsoncpp" ,jsoncpp) ,@(alist-delete "curl" (package-native-inputs cmake-bootstrap)))) + (build-system cmake-build-system) (arguments - (substitute-keyword-arguments (package-arguments cmake-bootstrap) - ((#:configure-flags flags ''()) - `(delete "--no-system-jsoncpp" ,flags)))))) + `(#:configure-flags + (list "-DCMAKE_USE_SYSTEM_LIBRARIES=ON" + (string-append "-DCMAKE_DOC_DIR=share/doc/cmake-" + ,(version-major+minor (package-version + cmake-bootstrap)))) + + ;; This is the CMake used in cmake-build-system. Ensure compiler + ;; optimizations are enabled to save size and CPU cycles. + #:build-type "Release" + #:phases + (modify-phases %standard-phases + ,@%common-build-phases + (replace 'check + (lambda* (#:key tests? parallel-tests? #:allow-other-keys) + (let ((skipped-tests (list ,@%common-disabled-tests + ;; 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)))) + ,@(if (%current-target-system) + '() + `(#:cmake ,cmake-bootstrap)))))) ;;; The "user-facing" CMake, now with manuals and HTML documentation. (define-public cmake @@ -255,12 +291,19 @@ and workspaces that can be used in the compiler environment of your choice.") (name "cmake") (arguments (substitute-keyword-arguments (package-arguments cmake-minimal) - ((#:configure-flags configure-flags ''()) - `(append ,configure-flags - ;; Extra configure flags used to generate the documentation. - '("--sphinx-info" - "--sphinx-man" - "--sphinx-html"))) + ;; Use cmake-minimal this time. + ((#:cmake _ #f) + (if (%current-target-system) + cmake-minimal-cross + cmake-minimal)) + ((#:configure-flags flags ''()) + `(append (list "-DSPHINX_INFO=ON" "-DSPHINX_MAN=ON" "-DSPHINX_HTML=ON" + (string-append "-DCMAKE_DOC_DIR=share/doc/cmake-" + ,(version-major+minor (package-version + cmake-minimal))) + "-DCMAKE_INFO_DIR=share/info" + "-DCMAKE_MAN_DIR=share/man") + ,flags)) ((#:phases phases) `(modify-phases ,phases (add-after 'install 'move-html-doc -- cgit 1.4.1 From 11f4d87756dfc83656021c5aae00850724997ee0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 12:48:34 +0100 Subject: gnu: cmake: Remove bundled LibUV. * gnu/packages/cmake.scm (cmake-minimal)[source](snippet): Delete 'Utilities/cmlibuv'. --- gnu/packages/cmake.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index ffb2eeba48..ecabc8a763 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -246,7 +246,11 @@ and workspaces that can be used in the compiler environment of your choice.") (snippet (match (origin-snippet (package-source cmake-bootstrap)) ((begin exp ...) - (append '(begin (delete-file-recursively "Utilities/cmjsoncpp")) + ;; Now we can delete the remaining software bundles. + (append '(begin + (for-each delete-file-recursively + '("Utilities/cmjsoncpp" + "Utilities/cmlibuv"))) exp)))))) (native-inputs `(("curl" ,curl) -- cgit 1.4.1 From 28ba01aec6d998ffffc819458db308d691948246 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 12:49:45 +0100 Subject: gnu: cmake: Enable debugging information. * gnu/packages/cmake.scm (cmake)[arguments]: Set #:build-type. --- gnu/packages/cmake.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index ecabc8a763..93a71e1d92 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -300,6 +300,10 @@ and workspaces that can be used in the compiler environment of your choice.") (if (%current-target-system) cmake-minimal-cross cmake-minimal)) + + ;; Enable debugging information for convenience. + ((#:build-type _ #f) "RelWithDebInfo") + ((#:configure-flags flags ''()) `(append (list "-DSPHINX_INFO=ON" "-DSPHINX_MAN=ON" "-DSPHINX_HTML=ON" (string-append "-DCMAKE_DOC_DIR=share/doc/cmake-" -- cgit 1.4.1 From f3418f58dc6fc2698183a46dacdf01fe16d685f0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 12:57:56 +0100 Subject: gnu: libjpeg-turbo: Fix cross-compilation. * gnu/packages/image.scm (libjpeg-turbo)[arguments]: In #:configure-flags, add "-DCMAKE_SYSTEM_PROCESSOR" for known architectures when cross-compiling. --- gnu/packages/image.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index ebb30742a4..ecd1867af6 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1507,7 +1507,22 @@ is hereby granted.")))) `(("nasm" ,nasm))) (arguments `(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib" - "-DENABLE_STATIC=0") + "-DENABLE_STATIC=0" + ;; The build system probes for the current CPU, but + ;; that fails when cross-compiling. + ,@(let ((target (%current-target-system))) + (if target + (cond + ((string-prefix? "arm" target) + `("-DCMAKE_SYSTEM_PROCESSOR=arm")) + ((string-prefix? "aarch64" target) + `("-DCMAKE_SYSTEM_PROCESSOR=aarch64")) + ((string-prefix? "i686" target) + `("-DCMAKE_SYSTEM_PROCESSOR=x86")) + ((string-prefix? "x86_64" target) + `("-DCMAKE_SYSTEM_PROCESSOR=x86_64")) + (else '())) + '()))) ,@(if (%current-target-system) '() ;; Use a special "bootstrap" CMake for the native build to work -- cgit 1.4.1 From 38746d026cb4179edc18cbb1d1472a0f4c96b5cc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 13:00:30 +0100 Subject: build-system/cmake: Specify C++ compiler when cross-compiling. * guix/build/cmake-build-system.scm (configure)[args]: Add "-DCMAKE_CXX_COMPILER" when cross-compiling. --- guix/build/cmake-build-system.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guix/build/cmake-build-system.scm b/guix/build/cmake-build-system.scm index 9b1112f2d6..d1ff5071be 100644 --- a/guix/build/cmake-build-system.scm +++ b/guix/build/cmake-build-system.scm @@ -67,6 +67,8 @@ ,@(if target (list (string-append "-DCMAKE_C_COMPILER=" target "-gcc") + (string-append "-DCMAKE_CXX_COMPILER=" + target "-g++") (if (string-contains target "mingw") "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_SYSTEM_NAME=Linux")) -- cgit 1.4.1 From 4d67659700798cd0ee8c966312abb4a2308ac636 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 13:02:29 +0100 Subject: gnu: jsoncpp: Fix cross-compilation. * gnu/packages/serialization.scm (jsoncpp)[arguments]: Add configure flag to prevent running a test during the build process. --- gnu/packages/serialization.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 0b3eb7ecaa..8149b05c95 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2017, 2019 Ricardo Wurmus ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016 David Craven -;;; Copyright © 2016, 2019 Marius Bakke +;;; Copyright © 2016, 2019, 2020 Marius Bakke ;;; Copyright © 2016, 2018, 2019 Efraim Flashner ;;; Copyright © 2017 Corentin Bocquillon ;;; Copyright © 2017 Gregor Giesen @@ -297,7 +297,10 @@ that implements both the msgpack and msgpack-rpc specifications.") "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg")))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES") + `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES" + ,@(if (%current-target-system) + `("-DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF") + '())) ,@(if (%current-target-system) '() `(#:cmake ,cmake-bootstrap)))) -- cgit 1.4.1 From a51c9c903f9db26a08672c7e19ddddeef1aee6b4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 13:04:13 +0100 Subject: gnu: rhash: Fix cross-compilation. * gnu/packages/crypto.scm (rhash)[arguments]: In custom configure phase, set "--target" and "-cc" when cross-compiling. --- gnu/packages/crypto.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 4e761de2ce..79472847d6 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2019 Tanguy Le Carrour +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -728,9 +729,16 @@ BLAKE.") (replace 'configure ;; ./configure is not GNU autotools' and doesn't gracefully handle ;; unrecognized options, so we must call it manually. - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key native-inputs outputs #:allow-other-keys) (invoke "./configure" - (string-append "--prefix=" (assoc-ref outputs "out"))))) + (string-append "--prefix=" (assoc-ref outputs "out")) + ,@(let ((target (%current-target-system))) + (if target + `((string-append "--target=" ,target) + (string-append "--cc=" + (assoc-ref native-inputs "cross-gcc") + "/bin/" ,target "-gcc")) + '()))))) (add-before 'check 'patch-/bin/sh (lambda _ (substitute* "Makefile" -- cgit 1.4.1 From ac841750a52e44d68d7f1b02e9507421f3e3824f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 13:15:55 +0100 Subject: gnu: cmake: Fix cross-compilation. * gnu/packages/cmake.scm (cmake-bootstrap)[native-inputs]: Move everything except (PACKAGE-SOURCE LIBARCHIVE) ... [inputs]: ... here. * gnu/packages/cmake.scm (cmake-minimal)[native-inputs, inputs]: Adjust accordingly. --- gnu/packages/cmake.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 93a71e1d92..cc4340bbc6 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -197,17 +197,17 @@ (lambda* (#:key (configure-flags '()) #:allow-other-keys) (apply invoke "./configure" configure-flags)))))) (native-inputs + `(("libarchive:source" ,(package-source libarchive)))) + (inputs `(("bzip2" ,bzip2) ("curl" ,curl-minimal) ("expat" ,expat) ("file" ,file) ("libarchive" ,libarchive) - ("libarchive:source" ,(package-source libarchive)) ("libuv" ,libuv) + ("ncurses" ,ncurses) ;required for ccmake ("rhash" ,rhash) ("zlib" ,zlib))) - (inputs - `(("ncurses" ,ncurses))) ; required for ccmake (native-search-paths (list (search-path-specification (variable "CMAKE_PREFIX_PATH") @@ -252,10 +252,10 @@ and workspaces that can be used in the compiler environment of your choice.") '("Utilities/cmjsoncpp" "Utilities/cmlibuv"))) exp)))))) - (native-inputs + (inputs `(("curl" ,curl) ("jsoncpp" ,jsoncpp) - ,@(alist-delete "curl" (package-native-inputs cmake-bootstrap)))) + ,@(alist-delete "curl" (package-inputs cmake-bootstrap)))) (build-system cmake-build-system) (arguments `(#:configure-flags -- cgit 1.4.1 From 68dbd5c9de78ad803cc33973db40d22e29c532ec Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 30 Jan 2020 01:17:54 +0100 Subject: gexp: Move 'file-mapping->tree' to (guix store). * guix/gexp.scm (%not-slash): Remove. (file-mapping->tree): Move to... * guix/store.scm (file-mapping->tree): ... here. --- guix/gexp.scm | 43 ------------------------------------------- guix/store.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 43 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 8fea42c757..0a9d56c0e8 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1239,49 +1239,6 @@ execution environment." ;;; Module handling. ;;; -(define %not-slash - (char-set-complement (char-set #\/))) - -(define (file-mapping->tree mapping) - "Convert MAPPING, an alist like: - - ((\"guix/build/utils.scm\" . \"…/utils.scm\")) - -to a tree suitable for 'interned-file-tree'." - (let ((mapping (map (match-lambda - ((destination . source) - (cons (string-tokenize destination - %not-slash) - source))) - mapping))) - (fold (lambda (pair result) - (match pair - ((destination . source) - (let loop ((destination destination) - (result result)) - (match destination - ((file) - (let* ((mode (stat:mode (stat source))) - (type (if (zero? (logand mode #o100)) - 'regular - 'executable))) - (alist-cons file - `(,type (file ,source)) - result))) - ((file rest ...) - (let ((directory (assoc-ref result file))) - (alist-cons file - `(directory - ,@(loop rest - (match directory - (('directory . entries) entries) - (#f '())))) - (if directory - (alist-delete file result) - result))))))))) - '() - mapping))) - (define %utils-module ;; This file provides 'mkdir-p', needed to implement 'imported-files' and ;; other primitives below. Note: We give the file name relative to this diff --git a/guix/store.scm b/guix/store.scm index f99fa581a8..77ee23fdd8 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -103,6 +103,7 @@ add-text-to-store add-to-store add-file-tree-to-store + file-mapping->tree binary-file build-things build @@ -1220,6 +1221,45 @@ an arbitrary directory layout in the store without creating a derivation." (hash-set! cache tree result) result))))) +(define (file-mapping->tree mapping) + "Convert MAPPING, an alist like: + + ((\"guix/build/utils.scm\" . \"…/utils.scm\")) + +to a tree suitable for 'add-file-tree-to-store' and 'interned-file-tree'." + (let ((mapping (map (match-lambda + ((destination . source) + (cons (string-tokenize destination %not-slash) + source))) + mapping))) + (fold (lambda (pair result) + (match pair + ((destination . source) + (let loop ((destination destination) + (result result)) + (match destination + ((file) + (let* ((mode (stat:mode (stat source))) + (type (if (zero? (logand mode #o100)) + 'regular + 'executable))) + (alist-cons file + `(,type (file ,source)) + result))) + ((file rest ...) + (let ((directory (assoc-ref result file))) + (alist-cons file + `(directory + ,@(loop rest + (match directory + (('directory . entries) entries) + (#f '())))) + (if directory + (alist-delete file result) + result))))))))) + '() + mapping))) + (define build-things (let ((build (operation (build-things (string-list things) (integer mode)) -- cgit 1.4.1 From 46312064de8ae0cca531fddbc4b5ec8421e5d866 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 30 Jan 2020 01:20:49 +0100 Subject: derivations: Import modules with 'add-file-tree-to-store'. This reduces the number of RPCs on "guix build libreoffice -nd" from 2,589 to 2,558 (1%). * guix/derivations.scm (imported-files): Rewrite to call to 'add-file-tree-to-store'. Remove #:system and #:guile parameters. (%imported-modules): Adjust docstring to say that result is a store item, and adjust 'imported-files' call. (%compiled-modules): Adjust accordingly. (imported+compiled-modules): Likewise. (build-expression->derivation): Likewise. --- guix/derivations.scm | 61 +++++++++++----------------------------------------- 1 file changed, 13 insertions(+), 48 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 480a65c78b..16aa95d2c7 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2016, 2017 Mathieu Lirzin ;;; ;;; This file is part of GNU Guix. @@ -1098,39 +1098,13 @@ recursively." (string-tokenize (dirname file-name) not-slash)))))) (define* (imported-files store files ;deprecated - #:key (name "file-import") - (system (%current-system)) - (guile (%guile-for-build))) - "Return a derivation that imports FILES into STORE. FILES must be a list + #:key (name "file-import")) + "Return a store item that contains FILES. FILES must be a list of (FINAL-PATH . FILE-NAME) pairs; each FILE-NAME is read from the file system, imported, and appears under FINAL-PATH in the resulting store path." - (let* ((files (map (match-lambda - ((final-path . file-name) - (list final-path - (add-to-store store (basename final-path) #f - "sha256" file-name)))) - files)) - (builder - `(begin - (mkdir %output) (chdir %output) - ,@(append-map (match-lambda - ((final-path store-path) - (append (match (parent-directories final-path) - (() '()) - ((head ... tail) - (append (map (lambda (d) - `(false-if-exception - (mkdir ,d))) - head) - `((or (file-exists? ,tail) - (mkdir ,tail)))))) - `((symlink ,store-path ,final-path))))) - files)))) - (build-expression->derivation store name builder - #:system system - #:inputs files - #:guile-for-build guile - #:local-build? #t))) + (add-file-tree-to-store store + `(,name directory + ,@(file-mapping->tree files)))) ;; The "file not found" error condition. (define-condition-type &file-search-error &error @@ -1157,10 +1131,8 @@ of symbols.)" (define* (%imported-modules store modules ;deprecated #:key (name "module-import") - (system (%current-system)) - (guile (%guile-for-build)) (module-path %load-path)) - "Return a derivation that contains the source files of MODULES, a list of + "Return a store item that contains the source files of MODULES, a list of module names such as `(ice-9 q)'. All of MODULES must be in the MODULE-PATH search path." ;; TODO: Determine the closure of MODULES, build the `.go' files, @@ -1169,8 +1141,7 @@ search path." (let ((f (module->source-file-name m))) (cons f (search-path* module-path f)))) modules))) - (imported-files store files #:name name #:system system - #:guile guile))) + (imported-files store files #:name name))) (define* (%compiled-modules store modules ;deprecated #:key (name "module-import-compiled") @@ -1180,11 +1151,8 @@ search path." "Return a derivation that builds a tree containing the `.go' files corresponding to MODULES. All the MODULES are built in a context where they can refer to each other." - (let* ((module-drv (%imported-modules store modules - #:system system - #:guile guile + (let* ((module-dir (%imported-modules store modules #:module-path module-path)) - (module-dir (derivation->output-path module-drv)) (files (map (lambda (m) (let ((f (string-join (map symbol->string m) "/"))) @@ -1215,7 +1183,7 @@ they can refer to each other." files))) (build-expression->derivation store name builder - #:inputs `(("modules" ,module-drv)) + #:inputs `(("modules" ,module-dir)) #:system system #:guile-for-build guile #:local-build? #t))) @@ -1233,8 +1201,7 @@ MODULES are compiled." (list modules (derivation-file-name guile) system)) (or (hash-ref %module-cache key) - (let ((result (cons (%imported-modules store modules - #:system system #:guile guile) + (let ((result (cons (%imported-modules store modules) (%compiled-modules store modules #:system system #:guile guile)))) (hash-set! %module-cache key result) @@ -1368,10 +1335,8 @@ and PROPERTIES." #:guile guile-drv #:system system) '(#f . #f))) - (mod-drv (car mod+go-drv)) + (mod-dir (car mod+go-drv)) (go-drv (cdr mod+go-drv)) - (mod-dir (and mod-drv - (derivation->output-path mod-drv))) (go-dir (and go-drv (derivation->output-path go-drv)))) (derivation store name guile @@ -1388,7 +1353,7 @@ and PROPERTIES." #:inputs `((,(or guile-for-build (%guile-for-build))) (,builder) ,@(map cdr inputs) - ,@(if mod-drv `((,mod-drv) (,go-drv)) '())) + ,@(if mod-dir `((,mod-dir) (,go-drv)) '())) ;; When MODULES is non-empty, shamelessly clobber ;; $GUILE_LOAD_COMPILED_PATH. -- cgit 1.4.1 From 5db7df2eab8c0dc0f91aaaf8431f0ba0d72d6049 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 30 Jan 2020 16:53:44 +0100 Subject: guix: Fix missing export for make-desktop-entry-file. * guix/build/utils.scm: Export make-desktop-entry-file. --- guix/build/utils.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index cee4e8aaa2..a398bf9b90 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -108,6 +108,8 @@ invoke/quiet + make-desktop-entry-file + locale-category->string)) -- cgit 1.4.1 From 1eb343f9cf18544319bc4ac016845348816f7265 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 2 Feb 2020 16:52:55 -0500 Subject: gnu: php: Update to 7.4.2. Fixes issue #38250 (see: https://bugs.gnu.org/38250). * gnu/packages/php.scm (php): Update to 7.4.2. [home-page]: Update URL. [phases]{prepare-tests}: Delete failing tests. --- gnu/packages/php.scm | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index a82257c582..ac0f991206 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Oleg Pykhalov +;;; Copyright © 2020 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,15 +60,15 @@ (define-public php (package (name "php") - (version "7.4.1") - (home-page "https://secure.php.net/") + (version "7.4.2") + (home-page "https://www.php.net/") (source (origin (method url-fetch) (uri (string-append home-page "distributions/" "php-" version ".tar.xz")) (sha256 (base32 - "0qn7zwf2jzj3h7p4b1l79lf9gv236mycwkhgw15hj2fmpmkbh6sn")) + "04yz9f7klh642syfh49rmribzwd1k5ssxv0pc510vnhpq3m4sa4q")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -210,6 +211,14 @@ "ext/standard/tests/strings/setlocale_basic2.phpt" "ext/standard/tests/strings/setlocale_basic3.phpt" "ext/standard/tests/strings/setlocale_variation1.phpt" + ;; This failing test is skipped on PHP's Travis CI as it is + ;; supposedly inaccurate. + "ext/standard/tests/file/disk_free_space_basic.phpt" + ;; The two following tests erroneously expect the link count + ;; of a sub-directory to increase compared to its + ;; parent. + "ext/standard/tests/file/lstat_stat_variation8.phpt" + "ext/standard/tests/file/lstat_stat_variation9.phpt" ;; XXX: These gd tests fails. Likely because our version ;; is different from the (patched) bundled one. @@ -237,6 +246,13 @@ ;; complete. It's a warning in both cases and test ;; result is the same. "ext/gd/tests/bug77973.phpt" + ;; Test expects uninitialized value to be false, but + ;; instead gets "resource(5) of type (gd)". + "ext/gd/tests/bug79067.phpt" + ;; The following test fails with "The image size + ;; differs: expected 114x115, got 117x117". + "ext/gd/tests/bug79068.phpt" + ;; XXX: These iconv tests have the expected outcome, ;; but with different error messages. -- cgit 1.4.1 From 0684a2f907151c20cee1643873547f7968fcbfa0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 3 Feb 2020 09:08:20 +0200 Subject: gnu: python-importlib-metadata: Fix test suite. * gnu/packages/python-xyz.scm (python-importlib-metadata)[native-inputs]: Add python-six. --- gnu/packages/python-xyz.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a9b75db2da..abaec7f699 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5029,6 +5029,7 @@ for older versions of Python.") `(("python-zipp" ,python-zipp))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-six" ,python-six) ("python-packaging" ,python-packaging-bootstrap))) (home-page "https://importlib-metadata.readthedocs.io/") (synopsis "Read metadata from Python packages") -- cgit 1.4.1 From 5d8c7f2f596f0445cebc46b194370f2146ed1e29 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Feb 2020 11:45:00 +0100 Subject: gnu: python2-importlib-metadata: Fix circular dependency. Commit 0684a2f907151c20cee1643873547f7968fcbfa0 introduced a circular dependency in the Python 2 variant of python-importlib-metadata. * gnu/packages/python-xyz.scm (python-importlib-metadata)[native-inputs]: Remove PYTHON-SIX and PYTHON-PACKAGING-BOOTSTRAP. Add PYTHON-PACKAGING. (python2-importlib-metadata)[native-inputs]: New field. --- gnu/packages/python-xyz.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index abaec7f699..5a1ff5bc97 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5029,8 +5029,7 @@ for older versions of Python.") `(("python-zipp" ,python-zipp))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) - ("python-six" ,python-six) - ("python-packaging" ,python-packaging-bootstrap))) + ("python-packaging" ,python-packaging))) (home-page "https://importlib-metadata.readthedocs.io/") (synopsis "Read metadata from Python packages") (description @@ -5049,6 +5048,9 @@ need to use the older and less efficient @code{pkg_resources} package.") (package/inherit base (name "python2-importlib-metadata") + (native-inputs + `(("python-packaging" ,python2-packaging-bootstrap) + ,@(alist-delete "python-packaging" (package-native-inputs base)))) (propagated-inputs `(("python-configparser" ,python2-configparser) ("python-contextlib2" ,python2-contextlib2) -- cgit 1.4.1 From a6046f24ddd34b44418a2d1b02a84ddcc61b47aa Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Feb 2020 09:44:14 +0100 Subject: gnu: llvm@3: Do not inherit 'install-opt-viewer' phase. This is a follow-up to commit 50b61ec22306181c419a3bd4c35b3c001c604994. * gnu/packages/llvm.scm (llvm-3.9.1)[outputs, arguments]: New fields. (llvm-3.8, llvm-3.7, llvm-3.6, llvm-3.5): Inherit from LLVM-3.9.1. --- gnu/packages/llvm.scm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index ae5fe72d93..e333ab7638 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Dennis Mungai ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2017 Roel Janssen -;;; Copyright © 2018, 2019 Marius Bakke +;;; Copyright © 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2018 Tim Gesthuizen @@ -574,7 +574,13 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z")))))) + "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z")))) + (outputs '("out")) + (arguments + (substitute-keyword-arguments (package-arguments llvm) + ((#:phases phases) + `(modify-phases ,phases + (delete 'install-opt-viewer))))))) (define-public clang-runtime-3.9.1 (clang-runtime-from-llvm @@ -590,7 +596,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.8 - (package (inherit llvm) + (package (inherit llvm-3.9.1) (name "llvm") (version "3.8.1") (source @@ -615,7 +621,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.7 - (package (inherit llvm) + (package (inherit llvm-3.9.1) (version "3.7.1") (source (origin @@ -639,7 +645,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.6 - (package (inherit llvm) + (package (inherit llvm-3.9.1) (version "3.6.2") (source (origin @@ -662,7 +668,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.5 - (package (inherit llvm) + (package (inherit llvm-3.9.1) (version "3.5.2") (source (origin -- cgit 1.4.1 From f847d9dcda9bf0efc169601ccb8a1f9546819275 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 27 Jan 2020 22:01:16 +0100 Subject: gnu: libaio: Fix cross-compilation. * gnu/packages/linux.scm (libaio)[arguments]: When cross-compiling, set CC to the cross-gcc in #:make-flags. --- gnu/packages/linux.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 569ba34aa4..e47f731f15 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3838,8 +3838,14 @@ Linux Device Mapper multipathing driver: "0ajhzbqjwsmz51gwccfyw6w9k4j4gmxcl2ph30sfn2gxv0d8gkv2")))) (build-system gnu-build-system) (arguments - '(#:make-flags - (list "CC=gcc" (string-append "prefix=" %output)) + `(#:make-flags + (let ((target ,(%current-target-system))) + (list (string-append "prefix=" %output) + (string-append + "CC=" (if target + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" target "-gcc") + "gcc")))) #:test-target "partcheck" ; need root for a full 'check' #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script -- cgit 1.4.1 From 7981c0be07d4e7723c263bedc5ef258d814a0ffb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 27 Jan 2020 23:06:40 +0100 Subject: gnu: libsepol: Fix cross-compilation. * gnu/packages/selinux.scm (libsepol)[arguments]: Check for (%CURRENT-TARGET-SYSTEM) and adjust the "CC" flag accordingly. --- gnu/packages/selinux.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm index 49362d129b..5c0cbfa639 100644 --- a/gnu/packages/selinux.scm +++ b/gnu/packages/selinux.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,14 +63,19 @@ `(#:tests? #f ; tests require checkpolicy, which requires libsepol #:test-target "test" #:make-flags - (let ((out (assoc-ref %outputs "out"))) + (let ((out (assoc-ref %outputs "out")) + (target ,(%current-target-system))) (list (string-append "PREFIX=" out) (string-append "SHLIBDIR=" out "/lib") (string-append "MAN3DIR=" out "/share/man/man3") (string-append "MAN5DIR=" out "/share/man/man5") (string-append "MAN8DIR=" out "/share/man/man8") (string-append "LDFLAGS=-Wl,-rpath=" out "/lib") - "CC=gcc")) + (string-append "CC=" + (if target + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" target "-gcc") + "gcc")))) #:phases (modify-phases %standard-phases (delete 'configure) -- cgit 1.4.1 From 2401678f56695b80b5a46d2aef931afcde278c2c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 27 Jan 2020 23:07:23 +0100 Subject: gnu: checkpolicy: Fix cross-compilation. * gnu/packages/selinux.scm (checkpolicy)[arguments]: Check for (%CURRENT-TARGET-SYSTEM) and adjust the "CC" flag accordingly. --- gnu/packages/selinux.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm index 5c0cbfa639..1502d167c4 100644 --- a/gnu/packages/selinux.scm +++ b/gnu/packages/selinux.scm @@ -106,12 +106,17 @@ boolean settings).") (arguments `(#:tests? #f ; there is no check target #:make-flags - (let ((out (assoc-ref %outputs "out"))) + (let ((out (assoc-ref %outputs "out")) + (target ,(%current-target-system))) (list (string-append "PREFIX=" out) (string-append "LIBSEPOLA=" (assoc-ref %build-inputs "libsepol") "/lib/libsepol.a") - "CC=gcc")) + (string-append "CC=" + (if target + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" target "-gcc") + "gcc")))) #:phases (modify-phases %standard-phases (delete 'configure) -- cgit 1.4.1 From d2a4020a012e305b425c9bd48e9585c24a606aa7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 09:47:41 +0100 Subject: gnu: RHash: Move custom configure logic to #:configure-flags. * gnu/packages/crypto.scm (rhash)[arguments]: Add #:configure-flags. Adjust the 'configure' phase accordingly. --- gnu/packages/crypto.scm | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 79472847d6..852a262a7c 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -720,7 +720,16 @@ BLAKE.") "1xn9fqa6rlnhsbgami45g82dlw9i1skg2sri3ydiinwak5ph1ca2")))) (build-system gnu-build-system) (arguments - `(#:make-flags + `(#:configure-flags + (list (string-append "--prefix=" (assoc-ref %outputs "out")) + ,@(let ((target (%current-target-system))) + (if target + `((string-append "--target=" ,target) + (string-append "--cc=" + (assoc-ref %build-inputs "cross-gcc") + "/bin/" ,target "-gcc")) + '()))) + #:make-flags ;; The binaries in /bin need some help finding librhash.so.0. (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) #:test-target "test" ; ‘make check’ just checks the sources @@ -729,16 +738,8 @@ BLAKE.") (replace 'configure ;; ./configure is not GNU autotools' and doesn't gracefully handle ;; unrecognized options, so we must call it manually. - (lambda* (#:key native-inputs outputs #:allow-other-keys) - (invoke "./configure" - (string-append "--prefix=" (assoc-ref outputs "out")) - ,@(let ((target (%current-target-system))) - (if target - `((string-append "--target=" ,target) - (string-append "--cc=" - (assoc-ref native-inputs "cross-gcc") - "/bin/" ,target "-gcc")) - '()))))) + (lambda* (#:key configure-flags #:allow-other-keys) + (apply invoke "./configure" configure-flags))) (add-before 'check 'patch-/bin/sh (lambda _ (substitute* "Makefile" -- cgit 1.4.1 From 181171ffdb4bdb534a4ce0fb631fa7cf103a2996 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 14:06:43 +0100 Subject: gnu: ninja: Do not use unstable tarball. * gnu/packages/ninja.scm (ninja)[source]: Change to GIT-FETCH. --- gnu/packages/ninja.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm index a8ad6430ba..320aec0fa6 100644 --- a/gnu/packages/ninja.scm +++ b/gnu/packages/ninja.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +23,7 @@ (define-module (gnu packages ninja) #:use-module ((guix licenses) #:select (asl2.0)) #:use-module (guix packages) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages python)) @@ -32,13 +33,14 @@ (name "ninja") (version "1.9.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/martine/ninja/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ninja-build/ninja") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1ffmzj5s9h98qhl94d9i23zcv057rsqbac9g1hdgvlzq51ccfzjx")))) + "1q0nld3g0d210zmdjyjzjz2xb2bw1s58gj6zsx7p8q30yh0wg610")))) (build-system gnu-build-system) (inputs `(("python" ,python-wrapper))) (arguments -- cgit 1.4.1 From 8928425756a9cc162bc38888a7c7084fcc777bd1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 14:07:39 +0100 Subject: gnu: ninja: Update to 1.10.0. * gnu/packages/ninja.scm (ninja): Update to 1.10.0. --- gnu/packages/ninja.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm index 320aec0fa6..11ee472d56 100644 --- a/gnu/packages/ninja.scm +++ b/gnu/packages/ninja.scm @@ -31,7 +31,7 @@ (define-public ninja (package (name "ninja") - (version "1.9.0") + (version "1.10.0") (source (origin (method git-fetch) (uri (git-reference @@ -40,7 +40,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1q0nld3g0d210zmdjyjzjz2xb2bw1s58gj6zsx7p8q30yh0wg610")))) + "1fbzl7mrcrwp527sgkc1npfl3k6bbpydpiq98xcf1a1hkrx0z5x4")))) (build-system gnu-build-system) (inputs `(("python" ,python-wrapper))) (arguments -- cgit 1.4.1 From 090f33d6767dfc0b23d5e287369ec2dde331de01 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 14:10:18 +0100 Subject: gnu: OpenLDAP: Update to 2.4.49. * gnu/packages/openldap.scm (openldap): Update to 2.4.49. --- gnu/packages/openldap.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index ec528787ca..334affcd2a 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -59,7 +59,7 @@ (define-public openldap (package (name "openldap") - (version "2.4.48") + (version "2.4.49") (source (origin (method url-fetch) @@ -76,7 +76,7 @@ "openldap-release/openldap-" version ".tgz"))) (sha256 (base32 - "0k87qra4kirb6xgja4q1jyw6piwb9v8b8g6gkxq4plawmgy3ylnr")))) + "0vp524rsngdcykf6ki7vprsyg7gj8z7hszg8xwxz50219fa1gcg3")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb-5.3) ("cyrus-sasl" ,cyrus-sasl) -- cgit 1.4.1 From f97db3de739f3a40aeb918c695dc3994d727bc2e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 14:10:41 +0100 Subject: gnu: SQLite: Update to 3.31.1. * gnu/packages/sqlite.scm (sqlite): Update to 3.31.1. --- gnu/packages/sqlite.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index 80807d5d12..8468131ddf 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm @@ -46,7 +46,7 @@ (define-public sqlite (package (name "sqlite") - (version "3.31.0") + (version "3.31.1") (source (origin (method url-fetch) (uri (let ((numeric-version @@ -62,7 +62,7 @@ numeric-version ".tar.gz"))) (sha256 (base32 - "1w7i954349sjd5a6rvy118prra43k07y9hy8rpajs6vmjmnnx7bw")))) + "1bj936svd8i5g25xd1bj52hj4zca01fgl3sqkj86z9q5pkz4wa32")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) (outputs '("out" "static")) -- cgit 1.4.1 From 5855813f772653c2cfe03d2a7e4a209e42687e29 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 14:10:59 +0100 Subject: gnu: poppler: Update to 0.85.0. * gnu/packages/pdf.scm (poppler): Update to 0.85.0. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 8451390647..62120b9cf9 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -90,14 +90,14 @@ (define-public poppler (package (name "poppler") - (version "0.84.0") + (version "0.85.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "0ccp2gx05cz5y04k5pgbyi4ikyq60nafa7x2yx4aaf1vfkd318f7")))) + "0jyr036scdly13hx5dxmsqp2p3jifc29h2by51msw0ih6bmpbj1b")))) (build-system cmake-build-system) ;; FIXME: ;; use libcurl: no -- cgit 1.4.1 From fef24361889103057a0c999b2303e22218c04e63 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 14:12:47 +0100 Subject: gnu: util-linux: Update to 2.35.1. * gnu/packages/linux.scm (util-linux): Update to 2.35.1. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e47f731f15..0fb10e3f1d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1096,7 +1096,7 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (version "2.35") + (version "2.35.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/" @@ -1104,7 +1104,7 @@ providing the system administrator with some help in common tasks.") "util-linux-" version ".tar.xz")) (sha256 (base32 - "1jg2vywxi9m2h0f2pz0a7a9afvv1j5726dg0cwryrhb809b1n25k")) + "1yfpy6bkab4jw61mpx48gfy24yrqp4a7arvpis8csrkk53fkxpnr")) (patches (search-patches "util-linux-tests.patch")) (modules '((guix build utils))) (snippet -- cgit 1.4.1 From effd1422af81b210682a22f34858c5c69f7a1ba7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 17:57:38 +0100 Subject: gnu: libbsd: Do not build the static library. * gnu/packages/libbsd.scm (libbsd)[arguments]: New field. --- gnu/packages/libbsd.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/libbsd.scm b/gnu/packages/libbsd.scm index 9d0dff10f1..16a7e8fd89 100644 --- a/gnu/packages/libbsd.scm +++ b/gnu/packages/libbsd.scm @@ -34,6 +34,8 @@ (base32 "11x8q45jvjvf2dvgclds64mscyg10lva33qinf2hwgc84v3svf1l")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (synopsis "Utility functions from BSD systems") (description "This library provides useful functions commonly found on BSD systems, and lacking on others like GNU systems, thus making it easier to port -- cgit 1.4.1 From 2f144210c677ea7d5fc49906fddc886b66fe3891 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 17:58:26 +0100 Subject: gnu: pciutils: Update to 3.6.4. * gnu/packages/pciutils.scm (pciutils): Update to 3.6.4. --- gnu/packages/pciutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index 5f49bb3400..0a55299c93 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -33,7 +33,7 @@ (define-public pciutils (package (name "pciutils") - (version "3.6.3") + (version "3.6.4") (source (origin (method url-fetch) (uri (string-append @@ -41,7 +41,7 @@ version ".tar.xz")) (sha256 (base32 - "1ssjdd91q0w3xlc40y5f2zhfhck3rpajs1902hajas5ir20qvdy5")))) + "0mb0f2phdcmp4kfiqsszn2k6nlln0w160ffzrjjv4bbfjwrgfzzn")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit 1.4.1 From b8f4d3f4c504ac2a28d5e62552d1c46821f04060 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Feb 2020 11:38:47 +0100 Subject: gnu: python-pytest: Update to 5.3.5. * gnu/packages/check.scm (python-pytest): Update to 5.3.5. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 19147e1afd..4c8275cd67 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -764,14 +764,14 @@ standard library.") (define-public python-pytest (package (name "python-pytest") - (version "5.3.2") + (version "5.3.5") (source (origin (method url-fetch) (uri (pypi-uri "pytest" version)) (sha256 (base32 - "1yi51ckkiywszz0qp67jisxzcp54acf57wqr3ysgk457nlai4mvb")))) + "139i9cjhrv5aici3skq8iihvfb3lq0d8xb5j7qycr2hlk8cfjpqd")))) (build-system python-build-system) (arguments `(#:phases -- cgit 1.4.1 From 916f1d552dd8ebfe73eabf699b32f1c4aa41f220 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Feb 2020 11:39:05 +0100 Subject: gnu: python-hypothesis: Update to 5.4.1. * gnu/packages/check.scm (python-hypothesis): Update to 5.4.1. --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 4c8275cd67..32ef32abda 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1668,13 +1668,13 @@ instantly.") (define-public python-hypothesis (package (name "python-hypothesis") - (version "5.3.0") + (version "5.4.1") (source (origin (method url-fetch) (uri (pypi-uri "hypothesis" version)) (sha256 (base32 - "0aclww914la1s41jkjla10pm0qh88dpdv9x1riyqw7xzwczvbzf9")))) + "0zn09bn6hadk4vxl6jy8bkjr5fz8mrhin3z46w7pq5qgbaycr89p")))) (build-system python-build-system) (arguments ;; XXX: Tests are not distributed with the PyPI archive. -- cgit 1.4.1 From 3079b8144d07cc49599c8df0e26eaf57961463b7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Feb 2020 11:39:24 +0100 Subject: gnu: python-more-itertools: Update to 8.2.0. * gnu/packages/python-xyz.scm (python-more-itertools): Update to 8.2.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5a1ff5bc97..6358db8b60 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15148,14 +15148,14 @@ file system events on Linux.") (define-public python-more-itertools (package (name "python-more-itertools") - (version "8.1.0") + (version "8.2.0") (source (origin (method url-fetch) (uri (pypi-uri "more-itertools" version)) (sha256 (base32 - "121j5nsz017r8ry2vabx4wb13srlvfjvhk0i38lbd043aznass64")))) + "01x5nwm1zxmnd06cllbdd095xxc2nd25ing1a726m2kd30rbkpdi")))) (build-system python-build-system) (home-page "https://github.com/erikrose/more-itertools") (synopsis "More routines for operating on iterables, beyond itertools") -- cgit 1.4.1 From 3a22f04af16fa5fcdcc39c26c849f25b9a1969e3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 2 Feb 2020 22:10:09 +0100 Subject: gnu: libtasn1: Update to 4.16.0. * gnu/packages/tls.scm (libtasn1): Update to 4.16.0. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 0683fe7fc6..671bb1377f 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -71,7 +71,7 @@ (define-public libtasn1 (package (name "libtasn1") - (version "4.15.0") + (version "4.16.0") (source (origin (method url-fetch) @@ -79,7 +79,7 @@ version ".tar.gz")) (sha256 (base32 - "17kkh89zfnwszw657fj13y2gamzay33lsrfazgm4sc7mx2gm0xyx")))) + "179jskl7dmfp1rd2khkzmlibzgki4wi6hvmmwfv7q49r728b03qf")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static"))) -- cgit 1.4.1 From 584d08c5c98cb1893e4f44bd1c4191f405b13f01 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 2 Feb 2020 22:10:27 +0100 Subject: gnu: gnutls: Update to 3.6.12. * gnu/packages/tls.scm (gnutls): Update to 3.6.12. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 671bb1377f..925165dfbe 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -163,7 +163,7 @@ living in the same process.") (define-public gnutls (package (name "gnutls") - (version "3.6.11.1") + (version "3.6.12") (source (origin (method url-fetch) (uri @@ -175,7 +175,7 @@ living in the same process.") (patches (search-patches "gnutls-skip-trust-store-test.patch")) (sha256 (base32 - "1y1wadpsrj5ai603xv5bgssl9v0pb1si2hg14zqdnmcsvgri5fpv")))) + "0jvca1qahn9lrwv6f5kfs95icirc15b2a8x9fzczyj996ipg3b5z")))) (build-system gnu-build-system) (arguments `(; Ensure we don't keep a reference to this buggy software. -- cgit 1.4.1 From fb62edfc35fd6896bd30c06038718b630c1b92bd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Feb 2020 16:04:29 +0100 Subject: gnu: python-importlib-metadata: Update to 1.5.0. * gnu/packages/python-xyz.scm (python-importlib-metadata): Update to 1.5.0. [native-inputs]: Add PYTHON-PYFAKEFS. (python2-importlib-metadata)[native-inputs]: Add PYTHON2-PYFAKEFS-BOOTSTRAP. * gnu/packages/check.scm (python2-pyfakefs-bootstrap): New public variable. --- gnu/packages/check.scm | 13 +++++++++++++ gnu/packages/python-xyz.scm | 11 +++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 3c2bdaff3a..749bcc7831 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2547,3 +2547,16 @@ system. The code under test requires no modification to work with pyfakefs.") (define-public python2-pyfakefs (package-with-python2 python-pyfakefs)) + +;; This minimal variant is used to avoid a circular dependency between +;; python2-importlib-metadata, which requires pyfakefs for its tests, and +;; python2-pytest, which requires python2-importlib-metadata. +(define-public python2-pyfakefs-bootstrap + (hidden-package + (package + (inherit python2-pyfakefs) + (name "python2-pyfakefs-bootstrap") + (native-inputs '()) + (arguments + `(#:python ,python-2 + #:tests? #f))))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b884b4eee1..2024d07d46 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5019,18 +5019,20 @@ for older versions of Python.") (define-public python-importlib-metadata (package (name "python-importlib-metadata") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) (uri (pypi-uri "importlib_metadata" version)) (sha256 - (base32 "1n76444v7zn910xrhh8954jdn4byxbn9f1jck6b85a716mbh2z7i")))) + (base32 + "00ikdj4gjhankdljnz7g5ggak4k9lql2926x0x117ir9j2lv7x86")))) (build-system python-build-system) (propagated-inputs `(("python-zipp" ,python-zipp))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-pyfakefs" ,python-pyfakefs) ("python-packaging" ,python-packaging))) (home-page "https://importlib-metadata.readthedocs.io/") (synopsis "Read metadata from Python packages") @@ -5051,8 +5053,9 @@ need to use the older and less efficient @code{pkg_resources} package.") base (name "python2-importlib-metadata") (native-inputs - `(("python-packaging" ,python2-packaging-bootstrap) - ,@(alist-delete "python-packaging" (package-native-inputs base)))) + `(("python-setuptools-scm" ,python2-setuptools-scm) + ("python-pyfakefs" ,python2-pyfakefs-bootstrap) + ("python-packaging" ,python2-packaging-bootstrap))) (propagated-inputs `(("python-configparser" ,python2-configparser) ("python-contextlib2" ,python2-contextlib2) -- cgit 1.4.1 From b9a3654e09948d56945f8f6aa68de5183d17df9b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 13:36:30 +0100 Subject: gnu: bzip2: Update to 1.0.8. * gnu/packages/compression.scm (bzip2): Update to 1.0.8. [source](uri): Change to maintained fork at sourceware.org. --- gnu/packages/compression.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 6926545c23..37da33908f 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -259,16 +259,14 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in (define-public bzip2 (package (name "bzip2") - (version "1.0.6") + (version "1.0.8") (source (origin (method url-fetch) - ;; XXX The bzip.org domain was allowed to expire. - (uri (string-append "https://web.archive.org/web/20180624184806/" - "http://www.bzip.org/" - version "/bzip2-" version ".tar.gz")) + (uri (string-append "https://sourceware.org/pub/bzip2/bzip2-" + version ".tar.gz")) (sha256 (base32 - "1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152")))) + "0s92986cv0p692icqlw1j42y9nld8zd83qwhzbqd61p1dqbh6nmb")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) -- cgit 1.4.1 From 4a0c71f9f70fd2f2891848e272b3f81e3fabcf86 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 14:10:02 +0100 Subject: gnu: isl: Update to 0.22.1. * gnu/packages/gcc.scm (isl): Update to 0.22.1. --- gnu/packages/gcc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 40cc9ed631..94f7e15382 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -871,7 +871,7 @@ as the 'native-search-paths' field." (define-public isl (package (name "isl") - (version "0.21") + (version "0.22.1") (source (origin (method url-fetch) (uri (list (string-append @@ -882,7 +882,7 @@ as the 'native-search-paths' field." name "-" version ".tar.bz2"))) (sha256 (base32 - "0ng8l3q1px9lkzb44nxnzhh6fhdbclrwng9xs2v9m8yii8gs336i")))) + "1kf54jib0nind1pvakblnfhimmwzm0y1llz8470ag0di5vwqwrhs")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp))) (home-page "http://isl.gforge.inria.fr/") -- cgit 1.4.1 From fe994a0c328b456195fcf64443c28b2ca3f8da76 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Feb 2020 20:10:01 +0100 Subject: gnu: OpenLDAP: Remove cross-compilation workaround. This is no longer required since the update to 2.4.49 in commit 090f33d6767dfc0b23d5e287369ec2dde331de01. * gnu/packages/openldap.scm (openldap)[native-inputs]: Remove AUTOMAKE. [arguments]: Remove 'fix-configure' phase. --- gnu/packages/openldap.scm | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 107b9239b8..60b543393e 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -87,9 +87,7 @@ ("zlib" ,zlib))) (native-inputs `(("libtool" ,libtool) ("groff" ,groff) - ("bdb" ,bdb-5.3) - ;; For up to date 'config.guess' and 'config.sub'. - ("automake" ,automake))) + ("bdb" ,bdb-5.3))) (arguments `(#:tests? #f #:configure-flags @@ -102,20 +100,6 @@ #:make-flags '("STRIP=") #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-configure - (lambda* (#:key inputs native-inputs #:allow-other-keys) - ;; Replace outdated config.sub and config.guess: - (with-directory-excursion "build" - (for-each (lambda (file) - (install-file (string-append - (assoc-ref - (or native-inputs inputs) "automake") - "/share/automake-" - ,(version-major+minor - (package-version automake)) - "/" file) ".")) - '("config.sub" "config.guess"))) - #t)) ,@(if (%current-target-system) '((add-before 'configure 'fix-cross-gcc (lambda* (#:key target #:allow-other-keys) -- cgit 1.4.1 From f0e810110bf44b6c5c61bf0cdcadc836a7fd459d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Feb 2020 20:18:52 +0100 Subject: gnu: WebKitGTK: Remove obsolete patch. This patch was added in eb5f3ea1003f76545b197b1e779e2967ec379475 and no longer necessary since the update to 2.26.3 in f32ca55778eb049e83210aedcbeb4df2c98e587a. * gnu/packages/patches/webkitgtk-icu-65.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/webkit.scm (webkitgtk)[source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/patches/webkitgtk-icu-65.patch | 47 ----------------------------- gnu/packages/webkit.scm | 1 - 3 files changed, 49 deletions(-) delete mode 100644 gnu/packages/patches/webkitgtk-icu-65.patch diff --git a/gnu/local.mk b/gnu/local.mk index 65b62e2e58..60b1ce9248 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1480,7 +1480,6 @@ dist_patch_DATA = \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ %D%/packages/patches/weasyprint-library-paths.patch \ - %D%/packages/patches/webkitgtk-icu-65.patch \ %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ diff --git a/gnu/packages/patches/webkitgtk-icu-65.patch b/gnu/packages/patches/webkitgtk-icu-65.patch deleted file mode 100644 index 66819c566b..0000000000 --- a/gnu/packages/patches/webkitgtk-icu-65.patch +++ /dev/null @@ -1,47 +0,0 @@ -Fix build with ICU 65. - -Taken from upstream: -https://bugs.webkit.org/show_bug.cgi?id=202600 -https://trac.webkit.org/r250747 - -diff --git a/Source/WTF/wtf/URLHelpers.cpp b/Source/WTF/wtf/URLHelpers.cpp -index 18e7f13cd615..c584f1a0cb7e 100644 ---- a/Source/WTF/wtf/URLHelpers.cpp -+++ b/Source/WTF/wtf/URLHelpers.cpp -@@ -301,7 +301,7 @@ static bool allCharactersInIDNScriptWhiteList(const UChar* buffer, int32_t lengt - Optional previousCodePoint; - while (i < length) { - UChar32 c; -- U16_NEXT(buffer, i, length, c) -+ U16_NEXT(buffer, i, length, c); - UErrorCode error = U_ZERO_ERROR; - UScriptCode script = uscript_getScript(c, &error); - if (error != U_ZERO_ERROR) { -diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp -index 2443e24c9bc4..1fbb3a716006 100644 ---- a/Source/WebCore/dom/Document.cpp -+++ b/Source/WebCore/dom/Document.cpp -@@ -4954,12 +4954,12 @@ static bool isValidNameNonASCII(const UChar* characters, unsigned length) - unsigned i = 0; - - UChar32 c; -- U16_NEXT(characters, i, length, c) -+ U16_NEXT(characters, i, length, c); - if (!isValidNameStart(c)) - return false; - - while (i < length) { -- U16_NEXT(characters, i, length, c) -+ U16_NEXT(characters, i, length, c); - if (!isValidNamePart(c)) - return false; - } -@@ -5019,7 +5019,7 @@ ExceptionOr> Document::parseQualifiedName(cons - - for (unsigned i = 0; i < length; ) { - UChar32 c; -- U16_NEXT(qualifiedName, i, length, c) -+ U16_NEXT(qualifiedName, i, length, c); - if (c == ':') { - if (sawColon) - return Exception { InvalidCharacterError }; diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index b3a87e798a..aeead92871 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -126,7 +126,6 @@ engine that uses Wayland for graphics output.") (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" "webkitgtk-" version ".tar.xz")) - (patches (search-patches "webkitgtk-icu-65.patch")) (sha256 (base32 "04g6y0sv04d20bw401myq3k828ikysjhx383ly81vh9wji9i3mdd")))) -- cgit 1.4.1 From a1caea07f6b509e52c16869a9c74ec4503b67139 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 4 Feb 2020 09:35:32 +0100 Subject: gnu: commencement: Avoid hard-coded GCC version numbers. * gnu/packages/commencement.scm (gcc-mesboot1, gcc-mesboot): Use 'package-version' instead of hard-coding the version number. --- gnu/packages/commencement.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index ced13eb075..8f24815b28 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -934,7 +934,7 @@ ac_cv_c_float_format='IEEE (little-endian)' (package (inherit gcc-mesboot0) (name "gcc-mesboot1") - (version "4.7.4") + (version (package-version gcc-4.7)) (source (bootstrap-origin (origin (inherit (package-source gcc-4.7)) (patches (search-patches "gcc-boot-4.7.4.patch"))))) @@ -1261,7 +1261,7 @@ exec " gcc "/bin/" program (package (inherit gcc-mesboot1) (name "gcc-mesboot") - (version "4.9.4") + (version (package-version gcc-4.9)) (source (bootstrap-origin (package-source gcc-4.9))) (native-inputs `(("binutils" ,binutils-mesboot) ("gcc-wrapper" ,gcc-mesboot1-wrapper) -- cgit 1.4.1 From 558b0bbe291b2f2cd38b7f4eadc827e2ed102c54 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 4 Feb 2020 09:40:51 +0100 Subject: gnu: commencement: Rationalize search path handling. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit ensures that only packages that correspond to compilers have a search path set. It also reduces manual handling of search path environment variables. * gnu/packages/commencement.scm (tcc-boot0)[native-search-paths]: Remove copy/pasted comment. (gcc-core-mesboot)[arguments]: In 'install2' phase, do not copy TCC/include to OUT/include. [native-search-paths]: Remove leading slash in "lib/gcc-lib/…" directory name. (mesboot-headers)[native-search-paths]: Remove. (glibc-mesboot0)[native-search-paths]: Remove. (gcc-mesboot0)[native-inputs]: Reorder so that we have libc, then kernel-headers, then gcc. [arguments]: Rewrite 'setenv' phase to only set CONFIG_SHELL and create 'config.cache'. (gcc-mesboot1)[native-inputs]: Reorder similarly. [arguments]: In 'setenv' phase, only set CONFIG_SHELL, C_INCLUDE_PATH, and CPLUS_INCLUDE_PATH. (glibc-headers-mesboot)[arguments]: In 'setenv' phase, replace references to '%build-inputs' by references to 'inputs'; simplify setting of CONFIG_SHELL and SHELL; simplify patching of /bin/pwd in the "configure" file; leave C_INCLUDE_PATH and LIBRARY_PATH unset. (glibc-mesboot)[native-search-paths]: Remove. (gcc-mesboot)[native-inputs]: Reorder. [arguments]: Remove clause for #:phases that would change the 'setenv' phase. --- gnu/packages/commencement.scm | 196 ++++++++++-------------------------------- 1 file changed, 45 insertions(+), 151 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8f24815b28..e26bc1cec2 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2017 Mark H Weaver @@ -144,11 +144,6 @@ (lambda _ (invoke "sh" "install.sh")))))) (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. (list (search-path-specification (variable "C_INCLUDE_PATH") (files '("share/mes/include"))) @@ -262,11 +257,6 @@ (lambda _ (invoke "sh" "install.sh")))))) (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. (list (search-path-specification (variable "C_INCLUDE_PATH") (files '("include"))) @@ -623,18 +613,14 @@ ac_cv_c_float_format='IEEE (little-endian)' (string-append tcc-lib "/libc+gnu.o") (string-append tcc-lib "/libtcc1.o")) (invoke "ls" "-ltrF" gcc-dir) - (copy-recursively (string-append tcc "/include") - (string-append out "/include")) #t)))))) (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. (list (search-path-specification (variable "C_INCLUDE_PATH") - (files '("include" "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include"))) + (files '("include" + + ;; Needed to get things like GCC's . + "lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include"))) (search-path-specification (variable "LIBRARY_PATH") (files '("lib"))))))) @@ -665,16 +651,7 @@ ac_cv_c_float_format='IEEE (little-endian)' (mkdir-p include) (copy-recursively "include" out) (copy-recursively headers out) - #t)))))) - (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))))))) + #t)))))))) (define glibc-mesboot0 ;; GNU C Library 2.2.5 is the most recent glibc that we managed to build @@ -756,67 +733,37 @@ ac_cv_c_float_format='IEEE (little-endian)' (lambda* (#:key configure-flags #:allow-other-keys) (format (current-error-port) "running ./configure ~a\n" (string-join configure-flags)) - (apply invoke "./configure" configure-flags)))))) - (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib"))))))) + (apply invoke "./configure" configure-flags)))))))) (define gcc-mesboot0 (package (inherit gcc-core-mesboot) (name "gcc-mesboot0") (native-inputs `(("binutils" ,binutils-mesboot0) - ("gcc" ,gcc-core-mesboot) + + ;; Packages are given in an order that's relevant for + ;; #include_next purposes. ("libc" ,glibc-mesboot0) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("gcc" ,gcc-core-mesboot) ("bash" ,%bootstrap-coreutils&co) ("coreutils" ,%bootstrap-coreutils&co) ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) ("make" ,make-mesboot0))) (arguments (substitute-keyword-arguments (package-arguments gcc-core-mesboot) ((#:phases phases) `(modify-phases ,phases (replace 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (gcc (assoc-ref %build-inputs "gcc")) - (glibc (assoc-ref %build-inputs "libc")) - (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) - (setenv "C_INCLUDE_PATH" (string-append - gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include" - ":" kernel-headers "/include" - ":" glibc "/include")) - (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) - (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) - ;; FIXME: add glibc dirs to paths manually - (setenv "LIBRARY_PATH" (string-join - (list (string-append glibc "/lib") - (getenv "LIBRARY_PATH")) - ":")) - (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) - (with-output-to-file "config.cache" - (lambda _ - (display " + (lambda _ + (setenv "CONFIG_SHELL" (which "sh")) + (with-output-to-file "config.cache" + (lambda _ + (display " ac_cv_c_float_format='IEEE (little-endian)' "))) - #t))) + #t)) (replace 'install2 (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -942,13 +889,14 @@ ac_cv_c_float_format='IEEE (little-endian)' ("mpfr-source" ,(package-source mpfr-boot)) ("mpc-source" ,(package-source mpc-boot)))) (native-inputs `(("binutils" ,binutils-mesboot) - ("gcc" ,gcc-mesboot0) + ("libc" ,glibc-mesboot0) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("gcc" ,gcc-mesboot0) ("bash" ,%bootstrap-coreutils&co) ("coreutils" ,%bootstrap-coreutils&co) ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) ("make" ,make-mesboot))) (arguments (substitute-keyword-arguments (package-arguments gcc-core-mesboot) @@ -990,24 +938,18 @@ ac_cv_c_float_format='IEEE (little-endian)' #t))) (delete 'remove-info) (replace 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (binutils (assoc-ref %build-inputs "binutils")) - (bash (assoc-ref %build-inputs "bash")) - (gcc (assoc-ref %build-inputs "gcc")) - (glibc (assoc-ref %build-inputs "libc")) - (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "C_INCLUDE_PATH" (string-append - gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include" - ":" kernel-headers "/include" - ":" glibc "/include" - ":" (getcwd) "/mpfr/src")) - (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))) + (lambda _ + (setenv "CONFIG_SHELL" (which "sh")) + + ;; Allow MPFR headers to be found. + (setenv "C_INCLUDE_PATH" + (string-append (getcwd) "/mpfr/src:" + (getenv "C_INCLUDE_PATH"))) + + ;; 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)) (delete 'install2))) ((#:configure-flags configure-flags) `(let ((out (assoc-ref %outputs "out")) @@ -1154,22 +1096,18 @@ exec " gcc "/bin/" program ((#:phases phases) `(modify-phases ,phases (replace 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (headers (assoc-ref %build-inputs "headers")) - (bash (assoc-ref %build-inputs "bash")) - (coreutils (assoc-ref %build-inputs "coreutils")) - (libc (assoc-ref %build-inputs "libc")) - (gcc (assoc-ref %build-inputs "gcc")) + (lambda* (#:key inputs #:allow-other-keys) + (let* ((headers (assoc-ref inputs "headers")) + (libc (assoc-ref inputs "libc")) + (gcc (assoc-ref inputs "gcc")) (cppflags (string-append " -I " (getcwd) "/nptl/sysdeps/pthread/bits" " -D BOOTSTRAP_GLIBC=1")) (cflags (string-append " -L " (getcwd) " -L " libc "/lib"))) (setenv "libc_cv_friendly_stddef" "yes") - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "SHELL" (getenv "CONFIG_SHELL")) - (format (current-error-port) "CONFIG_SHELL=~s\n" (getenv "CONFIG_SHELL")) + (setenv "CONFIG_SHELL" (which "sh")) + (setenv "SHELL" (which "sh")) (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags)) (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)) @@ -1177,10 +1115,7 @@ exec " gcc "/bin/" program ;; avoid -fstack-protector (setenv "libc_cv_ssp" "false") (substitute* "configure" - (("/bin/pwd") (string-append coreutils "/bin/pwd"))) - (setenv "C_INCLUDE_PATH" (string-append libc "/include" - headers "/include")) - (setenv "LIBRARY_PATH" (string-append libc "/lib")) + (("/bin/pwd") "pwd")) #t))) (replace 'install (lambda* (#:key outputs make-flags #:allow-other-keys) @@ -1240,22 +1175,7 @@ exec " gcc "/bin/" program (install-flags (cons "install" make-flags))) (apply invoke "make" install-flags) (copy-recursively kernel-headers out) - #t)))))))) - (native-search-paths ;; FIXME: move to glibc-mesboot0 - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib"))))))) + #t)))))))))) (define gcc-mesboot (package @@ -1264,14 +1184,15 @@ exec " gcc "/bin/" program (version (package-version gcc-4.9)) (source (bootstrap-origin (package-source gcc-4.9))) (native-inputs `(("binutils" ,binutils-mesboot) + + ("libc" ,glibc-mesboot) + ("kernel-headers" ,%bootstrap-linux-libre-headers) ("gcc-wrapper" ,gcc-mesboot1-wrapper) ("gcc" ,gcc-mesboot1) - ("libc" ,glibc-mesboot) ("bash" ,%bootstrap-coreutils&co) ("coreutils" ,%bootstrap-coreutils&co) ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) ("make" ,make-mesboot))) (arguments `(#:validate-runpath? #f @@ -1314,34 +1235,7 @@ exec " gcc "/bin/" program "--disable-libstdcxx-pch" ;; for libcpp ... - "--disable-build-with-cxx"))) - ((#:phases phases) - `(modify-phases ,phases - (replace 'setenv - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (binutils (assoc-ref %build-inputs "binutils")) - (bash (assoc-ref %build-inputs "bash")) - (gcc (assoc-ref %build-inputs "gcc")) - (glibc (assoc-ref %build-inputs "libc")) - (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "C_INCLUDE_PATH" (string-append - gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include" - ":" kernel-headers "/include" - ":" glibc "/include" - ":" (getcwd) "/mpfr/src")) - (setenv "CPLUS_INCLUDE_PATH" (string-append - gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include" - ":" kernel-headers "/include" - ":" glibc "/include" - ":" (getcwd) "/mpfr/src")) - (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) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH")) - (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) - #t)))))))))) + "--disable-build-with-cxx")))))))) (define gcc-mesboot-wrapper ;; We need this so gcc-mesboot can be used to create shared binaries that -- cgit 1.4.1 From 2073b55e6b964cb8ca15e8c74cb32dac00f05f0d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 6 Feb 2020 15:32:00 +0100 Subject: gnu: gcc: Switch back to using 'C_INCLUDE_PATH' instead of 'CPATH'. Fixes . Initially reported by Julien Lepiller . * gnu/packages/base.scm (make-gcc-libc): Remove 'treat-glibc-as-system-header' phase from 'arguments'. * gnu/packages/commencement.scm (gcc-final): Likewise. * gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add "include/c++" to 'CPLUS_INCLUDE_PATH'. (gcc-6)[native-search-paths]: Remove. * gnu/packages/make-bootstrap.scm (gcc-for-bootstrap): Remove 'native-search-paths' and 'arguments'. * gnu/packages/patches/python-2.7-search-paths.patch, gnu/packages/patches/python-3-search-paths.patch: Replace "CPATH" with "C_INCLUDE_PATH". * guix/build-system/cmake.scm (lower): When not cross-compiling, move INPUTS from the 'host-inputs' field to the 'build-inputs' field of the bag, right after NATIVE-INPUTS. * guix/build-system/glib-or-gtk.scm (lower): Likewise. * guix/build-system/gnu.scm (lower): Likewise. * guix/build-system/meson.scm (lower): Likewise. --- gnu/packages/base.scm | 19 +++------------- gnu/packages/commencement.scm | 9 -------- gnu/packages/gcc.scm | 18 +++++----------- gnu/packages/make-bootstrap.scm | 25 ++-------------------- gnu/packages/patches/python-2.7-search-paths.patch | 4 ++-- gnu/packages/patches/python-3-search-paths.patch | 4 ++-- guix/build-system/cmake.scm | 5 +++-- guix/build-system/glib-or-gtk.scm | 16 +++++++------- guix/build-system/gnu.scm | 10 +++++++-- guix/build-system/meson.scm | 14 ++++++------ 10 files changed, 40 insertions(+), 84 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 45f6cf79ba..05a48ce7e0 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014, 2019 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver @@ -981,21 +981,8 @@ with the Linux kernel.") (package-name libc) "-" (package-version libc))) (arguments - (substitute-keyword-arguments - (ensure-keyword-arguments (package-arguments base-gcc) - '(#:implicit-inputs? #f)) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'treat-glibc-as-system-header - (lambda _ - (let ((libc (assoc-ref %build-inputs "libc"))) - ;; GCCs build processes requires that the libc - ;; we're building against is on the system header - ;; search path. - (for-each (lambda (var) - (setenv var (string-append libc "/include"))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) - #t))))))) + (ensure-keyword-arguments (package-arguments base-gcc) + '(#:implicit-inputs? #f))) (native-inputs `(,@(package-native-inputs base-gcc) ,@(append (fold alist-delete (%final-inputs) '("libc" "libc:static"))) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index e26bc1cec2..2a0a83ad49 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2193,15 +2193,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" char-set:letter) ,(package-name lib))) (list gmp-6.0 mpfr mpc)) - #t))) - (add-before 'configure 'treat-glibc-as-system-header - (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "libc"))) - ;; Make sure Glibc is treated as a "system header" so - ;; #include_next does the right thing. - (for-each (lambda (var) - (setenv var (string-append libc "/include"))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) #t)))))))) ;; This time we want Texinfo, so we get the manual. Add diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 94f7e15382..69bac8dd0c 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ricardo Wurmus ;;; Copyright © 2015 Andreas Enge @@ -340,7 +340,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC (files '("include"))) (search-path-specification (variable "CPLUS_INCLUDE_PATH") - (files '("include"))) + ;; Add 'include/c++' here so that 's "#include_next + ;; " finds GCC's , not libc's. + (files '("include/c++" "include"))) (search-path-specification (variable "LIBRARY_PATH") (files '("lib" "lib64"))))) @@ -476,17 +478,7 @@ Go. It also includes runtime support libraries for these languages.") "gcc-5.0-libvtv-runpath.patch")))) (inputs `(("isl" ,isl) - ,@(package-inputs gcc-4.7))) - - (native-search-paths - ;; We have to use 'CPATH' for GCC > 5, not 'C_INCLUDE_PATH' & co., due to - ;; . - (list (search-path-specification - (variable "CPATH") - (files '("include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib" "lib64"))))))) + ,@(package-inputs gcc-4.7))))) (define-public gcc-7 (package diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 0144a6e9a2..eea59758fd 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Mark H Weaver @@ -95,32 +95,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (package (inherit gcc) (outputs '("out")) ;all in one so libgcc_s is easily found - (native-search-paths - ;; Set CPLUS_INCLUDE_PATH so GCC is able to find the libc - ;; C++ headers. - (cons (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include"))) - (package-native-search-paths gcc))) (inputs `( ;; Distinguish the name so we can refer to it below. ("bootstrap-libc" ,(glibc-for-bootstrap glibc)) ("libc:static" ,(glibc-for-bootstrap glibc) "static") - ,@(package-inputs gcc))) - (arguments - (substitute-keyword-arguments (package-arguments gcc) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'treat-glibc-as-system-header - (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "bootstrap-libc"))) - ;; GCCs build processes requires that the libc - ;; we're building against is on the system header - ;; search path. - (for-each (lambda (var) - (setenv var (string-append libc "/include"))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) - #t)))))))))) + ,@(package-inputs gcc)))))) (define (package-with-relocatable-glibc p) "Return a variant of P that uses the libc as defined by diff --git a/gnu/packages/patches/python-2.7-search-paths.patch b/gnu/packages/patches/python-2.7-search-paths.patch index 5a345c7691..3318f44d23 100644 --- a/gnu/packages/patches/python-2.7-search-paths.patch +++ b/gnu/packages/patches/python-2.7-search-paths.patch @@ -1,4 +1,4 @@ -Make sure the build system honors CPATH and LIBRARY_PATH when +Make sure the build system honors C_INCLUDE_PATH and LIBRARY_PATH when looking for headers and libraries. --- Python-2.7.10/setup.py 2015-10-07 18:33:18.125153186 +0200 @@ -10,7 +10,7 @@ looking for headers and libraries. + # Always honor these variables. + if not cross_compiling: + lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ inc_dirs += os.getenv('CPATH', '').split(os.pathsep) ++ inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep) + else: + lib_dirs = os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) + inc_dirs = os.getenv('CROSS_CPATH', '').split(os.pathsep) diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch index aaf7236631..612201d1f2 100644 --- a/gnu/packages/patches/python-3-search-paths.patch +++ b/gnu/packages/patches/python-3-search-paths.patch @@ -1,4 +1,4 @@ -Make sure the build system honors CPATH and LIBRARY_PATH when +Make sure the build system honors C_INCLUDE_PATH and LIBRARY_PATH when looking for headers and libraries. --- a/setup.py 2015-10-07 23:32:58.891329173 +0200 @@ -10,7 +10,7 @@ looking for headers and libraries. - self.lib_dirs = self.compiler.library_dirs + system_lib_dirs - self.inc_dirs = self.compiler.include_dirs + system_include_dirs + self.lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ self.inc_dirs = os.getenv('CPATH', '').split(os.pathsep) ++ self.inc_dirs = os.getenv('C_INCLUDE_PATH', '').split(os.pathsep) else: # Add the sysroot paths. 'sysroot' is a compiler option used to # set the logical path of the standard system headers and diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 1fc0931a27..29259c5785 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2020 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2017 Ricardo Wurmus ;;; @@ -72,6 +72,7 @@ '()) ,@`(("cmake" ,cmake)) ,@native-inputs + ,@(if target '() inputs) ,@(if target ;; Use the standard cross inputs of ;; 'gnu-build-system'. @@ -79,7 +80,7 @@ '()) ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) - (host-inputs inputs) + (host-inputs (if target inputs '())) ;; The cross-libc is really a target package, but for bootstrapping ;; reasons, we can't put it in 'host-inputs'. Namely, 'cross-gcc' is a diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm index 8de7dfbfc2..fb1f8fb930 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014 Federico Beffa ;;; @@ -92,15 +92,15 @@ (bag (name name) (system system) - (host-inputs `(,@(if source - `(("source" ,source)) - '()) - ,@inputs)) - (build-inputs `(("glib:bin" ,glib "bin") ; to compile schemas + (host-inputs (if source + `(("source" ,source)) + '())) + (build-inputs `(,@native-inputs + ,@inputs + ("glib:bin" ,glib "bin") ; to compile schemas ,@(if implicit-inputs? (standard-packages) - '()) - ,@native-inputs)) + '()))) (outputs outputs) (build glib-or-gtk-build) (arguments (strip-keyword-arguments private-keywords arguments))))) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 3cc89f8852..6e66f5ffce 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -296,13 +296,19 @@ standard packages used as implicit inputs of the GNU build system." `(("source" ,source)) '()) ,@native-inputs + + ;; When not cross-compiling, ensure implicit inputs come + ;; last. That way, libc headers come last, which allows + ;; #include_next to work correctly; see + ;; . + ,@(if target '() inputs) ,@(if (and target implicit-cross-inputs?) (standard-cross-packages target 'host) '()) ,@(if implicit-inputs? (standard-packages) '()))) - (host-inputs inputs) + (host-inputs (if target inputs '())) ;; The cross-libc is really a target package, but for bootstrapping ;; reasons, we can't put it in 'host-inputs'. Namely, 'cross-gcc' is a diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm index b29f2f4ecf..b68bcb80de 100644 --- a/guix/build-system/meson.scm +++ b/guix/build-system/meson.scm @@ -74,13 +74,13 @@ (system system) (build-inputs `(("meson" ,meson) ("ninja" ,ninja) - ,@native-inputs)) - (host-inputs `(,@(if source - `(("source" ,source)) - '()) - ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. - ,@(standard-packages))) + ,@native-inputs + ,@inputs + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (host-inputs (if source + `(("source" ,source)) + '())) (outputs outputs) (build meson-build) (arguments (strip-keyword-arguments private-keywords arguments))))) -- cgit 1.4.1 From 22236ceb648e152651b392337441bba0ab957db6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 10 Feb 2020 23:03:30 +0100 Subject: gnu: git, git-minimal: Do not retain a reference to 'bash-for-tests'. Fixes . Reported by Maxim Cournoyer . * gnu/packages/version-control.scm (git, git-minimal)[inputs]: Move BASH ... [native-inputs]: ... here. Add BASH-MINIMAL. --- gnu/packages/version-control.scm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index ac1d68f8f3..3333cd5778 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2017 Vasile Dumitrascu ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 André -;;; Copyright © 2017, 2018 Marius Bakke +;;; Copyright © 2017, 2018, 2020 Marius Bakke ;;; Copyright © 2017 Stefan Reichör ;;; Copyright © 2017 Oleg Pykhalov ;;; Copyright © 2018 Sou Bunnbu @@ -163,6 +163,10 @@ as well as the classic centralized workflow.") (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) + ;; Add bash-minimal explicitly to ensure it comes before bash-for-tests, + ;; see . + ("bash" ,bash-minimal) + ("bash-for-tests" ,bash) ("gettext" ,gettext-minimal) ("git-manpages" ,(origin @@ -185,10 +189,6 @@ as well as the classic centralized workflow.") ("python" ,python-2) ; CAVEAT: incompatible with python-3 according to INSTALL ("zlib" ,zlib) - ;; Note: we keep this in inputs rather than native-inputs to work around - ;; a problem in 'patch-shebangs'; see . - ("bash-for-tests" ,bash) - ;; For PCRE support in git grep (USE_LIBPCRE2). ("pcre" ,pcre2) @@ -539,15 +539,16 @@ everything from small to very large projects with speed and efficiency.") `(,perl ,@lst)))) (outputs '("out")) (native-inputs - `(("native-perl" ,perl) + `(("bash" ,bash-minimal) + ("bash-for-tests" ,bash) + ("native-perl" ,perl) ("gettext" ,gettext-minimal))) (inputs `(("curl" ,curl) ;for HTTP(S) access ("expat" ,expat) ;for 'git push' over HTTP(S) ("openssl" ,openssl) ("perl" ,perl) - ("zlib" ,zlib) - ("bash-for-tests" ,bash))))) + ("zlib" ,zlib))))) (define-public libgit2 (package -- cgit 1.4.1 From d930b0261ca1479505109332db28b0e3df452848 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Feb 2020 16:20:53 +0100 Subject: gnu: inkscape: Remove obsolete workaround. * gnu/packages/inkscape.scm (inkscape)[arguments]: Remove phase "dont-use-system-includes". --- gnu/packages/inkscape.scm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 0bd8b9496b..26d4642547 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -100,13 +100,6 @@ "std::unique_ptr(new GlobalParams())") (("new GlobalParams\\(poppler_datadir\\)") "std::unique_ptr(new GlobalParams(poppler_datadir))")) - #t)) - (add-before 'configure 'dont-use-system-includes - (lambda _ - ;; Don't add redundant -isystem includes which confuses GCC7. - (substitute* "CMakeScripts/DefineDependsandFlags.cmake" - (("include_directories\\(SYSTEM") - "include_directories(")) #t))))) (home-page "https://inkscape.org/") (synopsis "Vector graphics editor") -- cgit 1.4.1 From 7bfb7a596493346ca2c2ba993e871e92537c2956 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Feb 2020 17:06:39 +0100 Subject: gnu: sdl2: Remove obsolete workaround. * gnu/packages/sdl.scm (sdl2)[arguments]: Remove #:make-flags. --- gnu/packages/sdl.scm | 9 --------- 1 file changed, 9 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 81393bf1a3..8ac9213db3 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -130,15 +130,6 @@ joystick, and graphics hardware.") ((#:configure-flags flags) `(append '("--disable-wayland-shared" "--enable-video-kmsdrm" "--disable-kmsdrm-shared") - ,flags)) - ((#:make-flags flags ''()) - ;; Add the Fcitx header files to GCCs "system header" search path - ;; in order to suppress compiler warnings induced by those: - ;; .../include/fcitx-utils/utarray.h:178:9: error: ISO C90 forbids - ;; mixed declarations and code [-Werror=declaration-after-statement] - `(append (list (string-append "C_INCLUDE_PATH=" - (assoc-ref %build-inputs "fcitx") - "/include")) ,flags)))) (inputs ;; SDL2 needs to be built with ibus support otherwise some systems -- cgit 1.4.1 From dfc8ccbf5da96a67eb1cade499f0def21e7fdb02 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 31 Dec 2019 09:56:51 +0100 Subject: system: Stop using canonical-package. Usage of canonical-package outside of thunked fields breaks cross-compilation, see: https://lists.gnu.org/archive/html/guix-devel/2019-12/msg00410.html. * gnu/installer.scm (installer-program): Remove canonical-package. * gnu/services/base.scm (): Ditto, (%base-services): ditto. * gnu/services/xorg.scm: Remove useless canonical-package import. * gnu/system.scm (%base-packages): Remove canonical-package. * gnu/system/install.scm (%installation-services): Ditto, (installation-os): ditto. * gnu/system/locale.scm (single-locale-directory): Ditto. --- gnu/installer.scm | 24 ++++++++++++------------ gnu/services/base.scm | 10 ++++------ gnu/services/xorg.scm | 2 +- gnu/system.scm | 9 ++------- gnu/system/install.scm | 7 +++---- gnu/system/locale.scm | 2 +- 6 files changed, 23 insertions(+), 31 deletions(-) diff --git a/gnu/installer.scm b/gnu/installer.scm index 1676a91801..6766037aae 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -291,18 +291,18 @@ selected keymap." (define set-installer-path ;; Add the specified binary to PATH for later use by the installer. #~(let* ((inputs - '#$(append (list bash ;start subshells - connman ;call connmanctl - cryptsetup - dosfstools ;mkfs.fat - e2fsprogs ;mkfs.ext4 - btrfs-progs ;mkfs.btrfs - jfsutils ;jfs_mkfs - kbd ;chvt - guix ;guix system init call - util-linux ;mkwap - shadow) - (map canonical-package (list coreutils))))) + '#$(list bash ;start subshells + connman ;call connmanctl + cryptsetup + dosfstools ;mkfs.fat + e2fsprogs ;mkfs.ext4 + btrfs-progs + jfsutils ;jfs_mkfs + kbd ;chvt + guix ;guix system init call + util-linux ;mkwap + shadow + coreutils))) (with-output-to-port (%make-void-port "w") (lambda () (set-path-environment-variable "PATH" '("bin" "sbin") inputs))))) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 0c154d1c4e..6988edc249 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -45,7 +45,7 @@ #:select (alsa-utils crda eudev e2fsprogs fuse gpm kbd lvm2 rng-tools)) #:use-module (gnu packages bash) #:use-module ((gnu packages base) - #:select (canonical-package coreutils glibc glibc-utf8-locales)) + #:select (coreutils glibc glibc-utf8-locales)) #:use-module (gnu packages package-management) #:use-module ((gnu packages gnupg) #:select (guile-gcrypt)) #:use-module (gnu packages linux) @@ -1212,7 +1212,7 @@ the tty to run, among other things." (name-services nscd-configuration-name-services ;list of (default '())) (glibc nscd-configuration-glibc ; - (default (canonical-package glibc)))) + (default glibc))) (define-record-type* nscd-cache make-nscd-cache nscd-cache? @@ -2445,9 +2445,7 @@ to handle." (rules (list lvm2 fuse alsa-utils crda)))) (service special-files-service-type - `(("/bin/sh" ,(file-append (canonical-package bash) - "/bin/sh")) - ("/usr/bin/env" ,(file-append (canonical-package coreutils) - "/bin/env")))))) + `(("/bin/sh" ,(file-append bash "/bin/sh")) + ("/usr/bin/env" ,(file-append coreutils "/bin/env")))))) ;;; base.scm ends here diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 73a32e4b02..881521cccf 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -29,7 +29,7 @@ #:use-module (gnu system keyboard) #:use-module (gnu services base) #:use-module (gnu services dbus) - #:use-module ((gnu packages base) #:select (canonical-package)) + #:use-module (gnu packages base) #:use-module (gnu packages guile) #:use-module (gnu packages xorg) #:use-module (gnu packages fonts) diff --git a/gnu/system.scm b/gnu/system.scm index 01baa248a2..d3f2b82519 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -590,18 +590,13 @@ of PROVENANCE-SERVICE-TYPE to its services." bash-completion - ;; XXX: We don't use (canonical-package guile-2.2) here because that - ;; would create a collision in the global profile between the GMP - ;; variant propagated by 'guile-final' and the GMP variant propagated - ;; by 'gnutls', itself propagated by 'guix'. guile-2.2 guile-readline guile-colorized ;; The packages below are also in %FINAL-INPUTS, so take them from ;; there to avoid duplication. - (map canonical-package - (list bash coreutils findutils grep sed - diffutils patch gawk tar gzip bzip2 xz lzip)))) + (list bash coreutils findutils grep sed + diffutils patch gawk tar gzip bzip2 xz lzip))) (define %default-issue ;; Default contents for /etc/issue. diff --git a/gnu/system/install.scm b/gnu/system/install.scm index c15c2c7814..0dc26b2871 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -384,8 +384,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m ;; Having /bin/sh is a good idea. In particular it allows Tramp ;; connections to this system to work. (service special-files-service-type - `(("/bin/sh" ,(file-append (canonical-package bash) - "/bin/sh")))) + `(("/bin/sh" ,(file-append bash "/bin/sh")))) ;; Loopback device, needed by OpenSSH notably. (service static-networking-service-type @@ -408,7 +407,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (list bare-bones-os glibc-utf8-locales texinfo - (canonical-package guile-2.2)))))) + guile-2.2))))) (define %issue ;; Greeting. @@ -480,7 +479,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m ;; Explicitly allow for empty passwords. (base-pam-services #:allow-empty-passwords? #t)) - (packages (cons* (canonical-package glibc) ;for 'tzselect' & co. + (packages (cons* glibc ;for 'tzselect' & co. parted gptfdisk ddrescue fontconfig font-dejavu font-gnu-unifont diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm index 8466d5b07d..5baf80622c 100644 --- a/gnu/system/locale.scm +++ b/gnu/system/locale.scm @@ -86,7 +86,7 @@ or #f on failure." #f))) (define* (single-locale-directory locales - #:key (libc (canonical-package glibc))) + #:key (libc glibc)) "Return a directory containing all of LOCALES for LIBC compiled. Because locale data formats are incompatible when switching from one libc to -- cgit 1.4.1 From f30d84d32db0f4f6cb84e139868e1727a7dc0a51 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 12 Feb 2020 11:07:49 +0100 Subject: system: locale: Remove canonical-package call. This is a follow-up of dfc8ccbf5da96a67eb1cade499f0def21e7fdb02. Building locales using the same glibc as the one programs are linked against is enough. * gnu/system/locale.scm (%default-locale-libcs): Use the plain glibc package. --- gnu/system/locale.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm index 5baf80622c..c7a371e9bf 100644 --- a/gnu/system/locale.scm +++ b/gnu/system/locale.scm @@ -147,7 +147,7 @@ data format changes between libc versions." (define %default-locale-libcs ;; The libcs for which we build locales by default. - (list (canonical-package glibc))) + (list glibc)) (define %default-locale-definitions ;; Arbitrary set of locales that are built by default. They are here mostly -- cgit 1.4.1 From fd1fde6041b7f221bed114593944365d21cb925c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Feb 2020 23:26:38 +0100 Subject: gnu: rust: Switch to 'C_INCLUDE_PATH'. * gnu/packages/rust.scm (rust-1.19)[native-search-paths]: Remove "CPATH" and add "C_INCLUDE_PATH" and "CPLUS_INCLUDE_PATH" instead. --- gnu/packages/rust.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 8bed56ff72..97ba882553 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -413,8 +413,11 @@ test = { path = \"../libtest\" } ;; modules (see ). (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"))))) -- cgit 1.4.1 From 89da127035737bdf922bc566970c5506c2e01b00 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 12 Feb 2020 18:29:19 +0100 Subject: gnu: cross-base: Switch back to 'CROSS_C_INCLUDE_PATH' & co. This is a followup to 2073b55e6b964cb8ca15e8c74cb32dac00f05f0d. * gnu/build/cross-toolchain.scm (%gcc-include-paths): Switch back to 'C_INCLUDE_PATH' & co. * gnu/packages/cross-base.scm (%gcc-include-paths): Likewise. (cross-gcc-arguments): Remove 'treat-glibc-as-system-header' phase. (cross-gcc)[native-inputs]: Reorder so that libc comes last. [search-paths]: Add "include/c++" for 'CROSS_CPLUS_INCLUDE_PATH'. * guix/build-system/gnu.scm (standard-cross-packages): Have "cross-gcc" appear both for 'host and 'target. --- gnu/build/cross-toolchain.scm | 9 ++++--- gnu/packages/cross-base.scm | 63 ++++++++++++++++++++++--------------------- guix/build-system/gnu.scm | 8 +++++- 3 files changed, 46 insertions(+), 34 deletions(-) diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm index 6bdbdd5411..9746be3e50 100644 --- a/gnu/build/cross-toolchain.scm +++ b/gnu/build/cross-toolchain.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2020 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis @@ -38,8 +38,11 @@ (define %gcc-include-paths ;; Environment variables for header search paths. - ;; Note: See for why not 'C_INCLUDE_PATH' & co. - '("CPATH")) + ;; Note: See for why not 'CPATH'. + '("C_INCLUDE_PATH" + "CPLUS_INCLUDE_PATH" + "OBJC_INCLUDE_PATH" + "OBJCPLUS_INCLUDE_PATH")) (define %gcc-cross-include-paths ;; Search path for target headers when cross-compiling. diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 13237fb8a8..497d415f57 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2020 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis @@ -54,8 +54,11 @@ (define %gcc-include-paths ;; Environment variables for header search paths. - ;; Note: See for why not 'C_INCLUDE_PATH' & co. - '("CPATH")) + ;; Note: See for why not 'CPATH'. + '("C_INCLUDE_PATH" + "CPLUS_INCLUDE_PATH" + "OBJC_INCLUDE_PATH" + "OBJCPLUS_INCLUDE_PATH")) (define %gcc-cross-include-paths ;; Search path for target headers when cross-compiling. @@ -177,19 +180,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)" ,flags)) flags)) ((#:phases phases) - `(cross-gcc-build-phases - ,target - (modify-phases ,phases - (add-before 'configure 'treat-glibc-as-system-header - (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "libc"))) - (when libc - ;; For GCC6 and later, make sure Glibc is treated as a "system - ;; header" such that #include_next does the right thing. - (for-each (lambda (var) - (setenv var (string-append libc "/include"))) - '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"))) - #t)))))))))) + `(cross-gcc-build-phases ,target ,phases)))))) (define (cross-gcc-patches xgcc target) "Return GCC patches needed for XGCC and TARGET." @@ -262,27 +253,31 @@ target that libc." #:binutils xbinutils)) ("binutils-cross" ,xbinutils) - ;; Call it differently so that the builder can check whether the "libc" - ;; input is #f. - ("libc-native" ,@(assoc-ref (%final-inputs) "libc")) - - ;; Remaining inputs. ,@(let ((inputs (append (package-inputs xgcc) - (alist-delete "libc" (%final-inputs))))) + (fold alist-delete (%final-inputs) + '("libc" "libc:static")) + + ;; Call it differently so that the builder can + ;; check whether the "libc" input is #f. + `(("libc-native" + ,@(assoc-ref (%final-inputs) "libc")) + ("libc-native:static" + ,@(assoc-ref (%final-inputs) + "libc:static")))))) (cond ((target-mingw? target) (if libc - `(("libc" ,libc) - ,@inputs) - `(("mingw-source" ,(package-source mingw-w64)) - ,@inputs))) + `(,@inputs + ("libc" ,libc)) + `(,@inputs + ("mingw-source" ,(package-source mingw-w64))))) (libc - `(("libc" ,libc) + `(,@inputs + ("libc" ,libc) ("libc:static" ,libc "static") ("xkernel-headers" ;the target headers ,@(assoc-ref (package-propagated-inputs libc) - "kernel-headers")) - ,@inputs)) + "kernel-headers")))) (else inputs))))) (inputs '()) @@ -294,7 +289,15 @@ target that libc." (map (lambda (variable) (search-path-specification (variable variable) - (files '("include")))) + + ;; Add 'include/c++' here so that 's + ;; "#include_next " finds GCC's + ;; , not libc's. + (files (match variable + ("CROSS_CPLUS_INCLUDE_PATH" + '("include/c++" "include")) + (_ + '("include")))))) %gcc-cross-include-paths))) (native-search-paths '()))) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 6e66f5ffce..d6613edb33 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -460,13 +460,19 @@ is one of `host' or `target'." (libc (module-ref cross 'cross-libc))) (case kind ((host) + ;; Cross-GCC appears once here, so that it's in $PATH... `(("cross-gcc" ,(gcc target #:xbinutils (binutils target) #:libc (libc target))) ("cross-binutils" ,(binutils target)))) ((target) (let ((libc (libc target))) - `(("cross-libc" ,libc) + ;; ... and once here, so that libstdc++ & co. are in + ;; CROSS_CPLUS_INCLUDE_PATH, etc. + `(("cross-gcc" ,(gcc target + #:xbinutils (binutils target) + #:libc libc)) + ("cross-libc" ,libc) ;; MinGW's libc doesn't have a "static" output. ,@(if (member "static" (package-outputs libc)) -- cgit 1.4.1 From bbd1e4e7ed0d6d2ff23f3bedd94641d5ad527d3e Mon Sep 17 00:00:00 2001 From: Alexandros Theodotou Date: Sun, 2 Feb 2020 16:26:44 +0000 Subject: gnu: cairo: Add support for XML. * gnu/packages/gtk.scm (cairo)[arguments]: Add enable-xml flag. Signed-off-by: Marius Bakke --- gnu/packages/gtk.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index bc396a28f5..e5064a72e7 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -147,6 +147,7 @@ tools have full access to view and control running applications.") (arguments `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html #:configure-flags '("--enable-tee" ;needed for GNU Icecat + "--enable-xml" ;for cairo-xml support "--disable-static"))) (synopsis "2D graphics library") (description -- cgit 1.4.1 From 4a894c2f096d39ef3a412576c120f0e6d09806d5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Feb 2020 17:06:07 +0100 Subject: gnu: linux-libre: Remove obsolete workaround. * gnu/packages/linux.scm (make-linux-libre*)[arguments]: Do not change CPATH or CROSS_CPATH. --- gnu/packages/linux.scm | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 06ef1fa220..7793bf4d7c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -684,27 +684,6 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." #t)) (replace 'configure (lambda* (#:key inputs native-inputs target #:allow-other-keys) - ;; On AArch64 (at least), we need to remove glibc headers from - ;; CPATH (they are still available as "system headers"), so that - ;; the kernel can override uint64_t. See - ;; . This is also true when - ;; cross-compiling, except in that case, cross-libc must be - ;; removed from CROSS_CPATH. - (let ((var ,(if (%current-target-system) - "CROSS_CPATH" - "CPATH")) - (libc ,(if (%current-target-system) - "cross-libc" - "libc"))) - (setenv var - (string-join - (remove - (cut string-prefix? (assoc-ref inputs libc) <>) - (string-split (getenv var) #\:)) - ":")) - (format #t "environment variable `~a' changed to `~a'~%" - var (getenv var))) - ;; Avoid introducing timestamps (setenv "KCONFIG_NOTIMESTAMP" "1") (setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH")) -- cgit 1.4.1 From 6388bed78cf6e9126b53e2a2ef832765a0373ab7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 15:48:18 +0100 Subject: gnu: efivar: Remove obsolete workaround. * gnu/packages/linux.scm (efivar)[arguments]: Remove phase 'kernel-headers-are-system-headers'. --- gnu/packages/linux.scm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7793bf4d7c..2bf7b4bee9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5062,14 +5062,7 @@ under OpenGL graphics workloads.") (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) #:phases (modify-phases %standard-phases - (delete 'configure) - (add-before 'build 'kernel-headers-are-system-headers - (lambda* (#:key inputs #:allow-other-keys) - (let ((kernel-headers (assoc-ref inputs "kernel-headers"))) - ;; Make sure the kernel headers are treated as system headers - ;; to suppress a conflict between "util.h" and . - (setenv "C_INCLUDE_PATH" (string-append kernel-headers "/include")) - #t)))))) + (delete 'configure)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs -- cgit 1.4.1 From 87d3e94d82111081a40ed2bea76e50575967af30 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 15:48:27 +0100 Subject: gnu: efibootmgr: Remove obsolete workaround. * gnu/packages/linux.scm (efibootmgr)[arguments]: Don't set C_INCLUDE_PATH in #:configure-flags. --- gnu/packages/linux.scm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2bf7b4bee9..e9a6675839 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5095,12 +5095,7 @@ interface to the variable facility of UEFI boot firmware.") ;; installed (known as OS_VENDOR in the code). ;; GRUB overrides this, as such it's only used if ;; nothing else is specified on the command line. - "EFIDIR=gnu" - ;; Treat kernel headers as system headers to prevent - ;; warnings about conflicting types. - (string-append "C_INCLUDE_PATH=" - (assoc-ref %build-inputs "kernel-headers") - "/include")) + "EFIDIR=gnu") #:phases (modify-phases %standard-phases (delete 'configure)))) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit 1.4.1 From 429243a43ab8891b1ca4adc36838576a3de0a50b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 31 Jan 2020 13:14:47 +0100 Subject: gnu: linux-libre-headers: Update to 5.4.20. * gnu/packages/linux.scm (linux-libre-headers-4.19.56): Rename to ... (linux-libre-headers-5.4.20): ... this. Update to 5.4.20. (linux-libre-headers): Adjust accordingly. * gnu/packages/commencement.scm (rsync-boot0): New variable. (linux-libre-headers-boot0)[native-inputs]: Add RSYNC-BOOT0. --- gnu/packages/commencement.scm | 15 ++++++++++++++- gnu/packages/linux.scm | 8 ++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2a0a83ad49..89f9305970 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +46,7 @@ #:use-module (gnu packages hurd) #:use-module (gnu packages texinfo) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages rsync) #:use-module (gnu packages xml) #:use-module (guix packages) #:use-module (guix download) @@ -1661,6 +1662,15 @@ exec " gcc "/bin/" program #:guile ,%bootstrap-guile #:tests? #f)))) +(define rsync-boot0 + (package + (inherit rsync) + (native-inputs `(("perl" ,perl-boot0))) + (inputs (%boot0-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile)))) + (define linux-libre-headers-boot0 (mlambda () "Return Linux-Libre header files for the bootstrap environment." @@ -1680,6 +1690,9 @@ exec " gcc "/bin/" program ;; Flex and Bison are required since version 4.16. ("flex" ,flex-boot0) ("bison" ,bison-boot0) + + ;; Rsync is required since version 5.3. + ("rsync" ,rsync-boot0) ,@(%boot0-inputs)))))) (define with-boot0 diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e9a6675839..b402b4920d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -543,11 +543,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The following package is used in the early bootstrap, and thus must be kept ;; stable and with minimal build requirements. -(define-public linux-libre-headers-4.19.56 - (make-linux-libre-headers "4.19.56" - "1zqiic55viy065lhnkmhn33sz3bbbr2ykbm5f92yzd8lpc9zl7yx")) +(define-public linux-libre-headers-5.4.20 + (make-linux-libre-headers "5.4.20" + "1qxhf6dmcwjblzx8fgn6vr10p38xw10iwh6d1y1v1mxb25y30b47")) -(define-public linux-libre-headers linux-libre-headers-4.19.56) +(define-public linux-libre-headers linux-libre-headers-5.4.20) ;;; -- cgit 1.4.1 From 645772e4b916dfb05c7f9d8f7dbf3d40e2e1b5f4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Feb 2020 12:00:42 +0100 Subject: gnu: dnsmasq: Fix build with linux-libre-headers >= 5.2. * gnu/packages/dns.scm (dnsmasq)[source](modules, snippet): New fields. --- gnu/packages/dns.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 3a42a98bc4..652fc5968a 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 ng0 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2016, 2020 Marius Bakke ;;; Copyright © 2017 Vasile Dumitrascu ;;; Copyright © 2017 Gregor Giesen ;;; Copyright © 2018 Oleg Pykhalov @@ -83,7 +83,17 @@ version ".tar.xz")) (sha256 (base32 - "1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd")))) + "1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd")) + (modules '((guix build utils))) + (snippet + '(begin + ;; The SIOCGSTAMP ioctl is defined in instead + ;; of starting with linux-libre-headers 5.2. + ;; Remove this for dnsmasq versions > 2.80. + (substitute* "src/dnsmasq.h" + (("#if defined\\(HAVE_LINUX_NETWORK\\)" all) + (string-append all "\n#include "))) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit 1.4.1 From 3e3a37b2bcb1f23011fde8626559f83504177889 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Feb 2020 16:28:43 +0100 Subject: gnu: binutils: Update to 2.34. * gnu/packages/base.scm (binutils): Update to 2.34. [arguments]: Add #:make-flags. [properties]: New field. (binutils+documentation): New public variable. * gnu/packages/make-bootstrap.scm (%binutils-static)[arguments]: Inherit #:make-flags. --- gnu/packages/base.scm | 30 ++++++++++++++++++++++++++---- gnu/packages/make-bootstrap.scm | 6 +++++- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 05a48ce7e0..7e5df241a9 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016, 2018 Alex Vong ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017 Mathieu Othacehe -;;; Copyright © 2017, 2018 Marius Bakke +;;; Copyright © 2017, 2018, 2020 Marius Bakke ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Ricardo Wurmus @@ -399,14 +399,14 @@ change. GNU make offers many powerful extensions over the standard utility.") (define-public binutils (package (name "binutils") - (version "2.33.1") + (version "2.34") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (sha256 (base32 - "1cmd0riv37bqy9mwbg6n3523qgr8b3bbm5kwj19sjrasl4yq9d0c")) + "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49")) (patches (search-patches "binutils-loongson-workaround.patch")))) (build-system gnu-build-system) @@ -431,7 +431,17 @@ 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"))) + "--enable-deterministic-archives") + + ;; XXX: binutils 2.34 was mistakenly released without generated manuals: + ;; . 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))) (synopsis "Binary utilities: bfd gas gprof ld") (description @@ -444,6 +454,18 @@ 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 '()))) + (define-public binutils-gold (package (inherit binutils) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index eea59758fd..c1930582d1 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Mark H Weaver ;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; Copyright © 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. @@ -374,6 +374,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (package-arguments binutils)) ((#:configure-flags flags _ ...) flags))) + #:make-flags ,(match (memq #:make-flags (package-arguments binutils)) + ((#:make-flags flags _ ...) + flags) + (_ ''())) #:strip-flags '("--strip-all") #:phases (modify-phases %standard-phases (add-before 'configure 'all-static -- cgit 1.4.1 From a493a5264664b5c3d8f4fcf636715f5ae817b278 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 18:37:49 +0100 Subject: gnu: ath9k-htc-firmware: Build with binutils@2.33.1. * gnu/packages/base.scm (binutils-2.33): New public variable. * gnu/packages/cross-base.scm (cross-binutils): Add optional BINUTILS argument. * gnu/packages/firmware.scm (ath9k-htc-firmware)[native-inputs]: Build the xtensa-elf toolchain with BINUTILS-2.33. --- gnu/packages/base.scm | 19 +++++++++++++++++++ gnu/packages/cross-base.scm | 6 +++--- gnu/packages/firmware.scm | 9 +++++++-- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 7e5df241a9..184ef3b841 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -466,6 +466,25 @@ included.") ((#: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. +(define-public binutils-2.33 + (package/inherit + binutils + (version "2.33.1") + (source (origin + (inherit (package-source binutils)) + (uri (string-append "mirror://gnu/binutils/binutils-" + version ".tar.bz2")) + (sha256 + (base32 + "1cmd0riv37bqy9mwbg6n3523qgr8b3bbm5kwj19sjrasl4yq9d0c")))) + (arguments + (substitute-keyword-arguments (package-arguments binutils) + ((#:make-flags _ ''()) ''()))) + (properties '()))) + (define-public binutils-gold (package (inherit binutils) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 497d415f57..667d1f786a 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; Copyright © 2019 Carl Dong ;;; ;;; This file is part of GNU Guix. @@ -79,8 +79,8 @@ (source (origin (inherit (package-source original)) (patches (list patch)))))) -(define (cross-binutils target) - "Return a cross-Binutils for TARGET." +(define* (cross-binutils target #:optional (binutils binutils)) + "Return a cross-Binutils for TARGET using BINUTILS." (let ((binutils (package (inherit binutils) (arguments (substitute-keyword-arguments (package-arguments diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index bec582d982..f9832161ea 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Vagrant Cascadian ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,7 @@ #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages assembly) + #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages cmake) #:use-module (gnu packages cross-base) @@ -83,8 +85,11 @@ ;; The firmware is cross-compiled using a "bare bones" compiler (no libc.) ;; Use our own tool chain for that. - (native-inputs `(("cross-gcc" ,(cross-gcc "xtensa-elf")) - ("cross-binutils" ,(cross-binutils "xtensa-elf")) + (native-inputs `(("cross-gcc" ,(cross-gcc + "xtensa-elf" + #:xbinutils (cross-binutils "xtensa-elf" + binutils-2.33))) + ("cross-binutils" ,(cross-binutils "xtensa-elf" binutils-2.33)) ("cmake" ,cmake-minimal) ("perl" ,perl))) (home-page "http://wireless.kernel.org/en/users/Drivers/ath9k_htc") -- cgit 1.4.1 From a33eac038a811603c8b9ed106ae405a5f80a0e9d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Feb 2020 16:29:02 +0100 Subject: gnu: glibc: Update to 2.31. * gnu/packages/patches/glibc-supported-locales.patch: Adjust for upstream changes. * gnu/packages/patches/glibc-2.29-supported-locales.patch: New file, with previous contents. * gnu/packages/patches/gcc-4.9-libsanitizer-mode-size.patch, gnu/packages/patches/gcc-6-libsanitizer-mode-size.patch, gnu/packages/patches/gcc-7-libsanitizer-mode-size.patch, gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch, gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gcc.scm (gcc-4.9, gcc-5, gcc-6, gcc-7, gcc-8, gcc-9)[source](patches): Add the respective patch files. * gnu/packages/base.scm (glibc): Update to 2.31. [source](patches): Remove obsolete. (glibc-2.30): New public variable. (glibc-2.29)[source](patches): Adjust for renamed patch file. --- gnu/local.mk | 6 +++ gnu/packages/base.scm | 25 ++++++++-- gnu/packages/gcc.scm | 6 +++ .../patches/gcc-4.9-libsanitizer-mode-size.patch | 52 +++++++++++++++++++ .../patches/gcc-6-libsanitizer-mode-size.patch | 53 ++++++++++++++++++++ .../patches/gcc-7-libsanitizer-mode-size.patch | 53 ++++++++++++++++++++ .../patches/gcc-8-libsanitizer-mode-size.patch | 56 +++++++++++++++++++++ .../patches/gcc-9-libsanitizer-mode-size.patch | 58 ++++++++++++++++++++++ .../patches/glibc-2.29-supported-locales.patch | 33 ++++++++++++ gnu/packages/patches/glibc-supported-locales.patch | 11 ++-- 10 files changed, 343 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/gcc-4.9-libsanitizer-mode-size.patch create mode 100644 gnu/packages/patches/gcc-6-libsanitizer-mode-size.patch create mode 100644 gnu/packages/patches/gcc-7-libsanitizer-mode-size.patch create mode 100644 gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch create mode 100644 gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch create mode 100644 gnu/packages/patches/glibc-2.29-supported-locales.patch diff --git a/gnu/local.mk b/gnu/local.mk index 347713239d..7b3d314993 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -883,6 +883,11 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-4.9-libsanitizer-fix.patch \ %D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \ %D%/packages/patches/gcc-libsanitizer-ustat.patch \ + %D%/packages/patches/gcc-4.9-libsanitizer-mode-size.patch \ + %D%/packages/patches/gcc-6-libsanitizer-mode-size.patch \ + %D%/packages/patches/gcc-7-libsanitizer-mode-size.patch \ + %D%/packages/patches/gcc-8-libsanitizer-mode-size.patch \ + %D%/packages/patches/gcc-9-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-strmov-store-file-names.patch \ %D%/packages/patches/gcc-4-compile-with-gcc-5.patch \ @@ -954,6 +959,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-2.29-git-updates.patch \ %D%/packages/patches/glibc-2.27-supported-locales.patch \ %D%/packages/patches/glibc-2.28-supported-locales.patch \ + %D%/packages/patches/glibc-2.29-supported-locales.patch \ %D%/packages/patches/glibc-supported-locales.patch \ %D%/packages/patches/glm-restore-install-target.patch \ %D%/packages/patches/gmp-arm-asm-nothumb.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 184ef3b841..13bcf7fe9d 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -593,13 +593,13 @@ the store.") ;; version 2.28, GNU/Hurd used a different glibc branch. (package (name "glibc") - (version "2.30") + (version "2.31") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72")) + "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj")) (snippet ;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is ;; required on LFS distros to avoid loading the distro's libc.so @@ -611,7 +611,6 @@ the store.") #t)) (modules '((guix build utils))) (patches (search-patches "glibc-ldd-x86_64.patch" - "glibc-CVE-2019-19126.patch" "glibc-hidden-visibility-ldconfig.patch" "glibc-versioned-locpath.patch" "glibc-allow-kernel-2.6.32.patch" @@ -843,6 +842,24 @@ 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.30 + (package + (inherit glibc) + (version "2.30") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72")) + (patches (search-patches "glibc-ldd-x86_64.patch" + "glibc-CVE-2019-19126.patch" + "glibc-hidden-visibility-ldconfig.patch" + "glibc-versioned-locpath.patch" + "glibc-allow-kernel-2.6.32.patch" + "glibc-reinstate-prlimit64-fallback.patch" + "glibc-2.29-supported-locales.patch")))))) + (define-public glibc-2.29 (package (inherit glibc) @@ -861,7 +878,7 @@ with the Linux kernel.") "glibc-versioned-locpath.patch" "glibc-allow-kernel-2.6.32.patch" "glibc-reinstate-prlimit64-fallback.patch" - "glibc-supported-locales.patch")))))) + "glibc-2.29-supported-locales.patch")))))) (define-public glibc-2.28 (package diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 69bac8dd0c..90cb97e15c 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -402,6 +402,7 @@ Go. It also includes runtime support libraries for these languages.") "14l06m7nvcvb0igkbip58x59w3nq6315k6jcz3wr9ch1rn9d44bc")) (patches (search-patches "gcc-4.9-libsanitizer-fix.patch" "gcc-4.9-libsanitizer-ustat.patch" + "gcc-4.9-libsanitizer-mode-size.patch" "gcc-arm-bug-71399.patch" "gcc-asan-missing-include.patch" "gcc-libvtv-runpath.patch" @@ -441,6 +442,7 @@ Go. It also includes runtime support libraries for these languages.") "gcc-5.0-libvtv-runpath.patch" "gcc-5-source-date-epoch-1.patch" "gcc-5-source-date-epoch-2.patch" + "gcc-6-libsanitizer-mode-size.patch" "gcc-fix-texi2pod.patch")) (modules '((guix build utils))) (snippet @@ -473,6 +475,7 @@ Go. It also includes runtime support libraries for these languages.") (base32 "0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby")) (patches (search-patches "gcc-strmov-store-file-names.patch" + "gcc-6-libsanitizer-mode-size.patch" "gcc-6-source-date-epoch-1.patch" "gcc-6-source-date-epoch-2.patch" "gcc-5.0-libvtv-runpath.patch")))) @@ -492,6 +495,7 @@ Go. It also includes runtime support libraries for these languages.") (base32 "0qg6kqc5l72hpnj4vr6l0p69qav0rh4anlkk3y55540zy3klc6dq")) (patches (search-patches "gcc-strmov-store-file-names.patch" + "gcc-7-libsanitizer-mode-size.patch" "gcc-5.0-libvtv-runpath.patch")))) (description "GCC is the GNU Compiler Collection. It provides compiler front-ends @@ -510,6 +514,7 @@ It also includes runtime support libraries for these languages."))) (base32 "0b3xv411xhlnjmin2979nxcbnidgvzqdf4nbhix99x60dkzavfk4")) (patches (search-patches "gcc-8-strmov-store-file-names.patch" + "gcc-8-libsanitizer-mode-size.patch" "gcc-5.0-libvtv-runpath.patch")))))) (define-public gcc-9 @@ -524,6 +529,7 @@ It also includes runtime support libraries for these languages."))) (base32 "01mj3yk7z49i49168hg2cg7qs4bsccrrnv7pjmbdlf8j2a7z0vpa")) (patches (search-patches "gcc-9-strmov-store-file-names.patch" + "gcc-9-libsanitizer-mode-size.patch" "gcc-9-asan-fix-limits-include.patch" "gcc-5.0-libvtv-runpath.patch")))))) diff --git a/gnu/packages/patches/gcc-4.9-libsanitizer-mode-size.patch b/gnu/packages/patches/gcc-4.9-libsanitizer-mode-size.patch new file mode 100644 index 0000000000..7df22c21aa --- /dev/null +++ b/gnu/packages/patches/gcc-4.9-libsanitizer-mode-size.patch @@ -0,0 +1,52 @@ +Fix assertion failure in libsanitizer when using glibc 2.31 and later. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154 +https://reviews.llvm.org/D69104 + +Adapted from these upstream revision: + +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981 +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653 + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 196eb3b3c64..b588e07e5ab 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -928,7 +928,11 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); ++#endif + CHECK_SIZE_AND_OFFSET(ipc_perm, __seq); + + CHECK_TYPE_SIZE(shmid_ds); +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index aec950454b3..6d94fc65c28 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -154,20 +154,13 @@ namespace __sanitizer { + u64 __unused1; + u64 __unused2; + #elif defined(__sparc__) +-# if defined(__arch64__) + unsigned mode; +- unsigned short __pad1; +-# else +- unsigned short __pad1; +- unsigned short mode; + unsigned short __pad2; +-# endif + unsigned short __seq; + unsigned long long __unused1; + unsigned long long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; ++ unsigned int mode; + unsigned short __seq; + unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) diff --git a/gnu/packages/patches/gcc-6-libsanitizer-mode-size.patch b/gnu/packages/patches/gcc-6-libsanitizer-mode-size.patch new file mode 100644 index 0000000000..005e3c4079 --- /dev/null +++ b/gnu/packages/patches/gcc-6-libsanitizer-mode-size.patch @@ -0,0 +1,53 @@ +Fix assertion failure in libsanitizer when using glibc 2.31 and later. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154 +https://reviews.llvm.org/D69104 + +Adapted from these upstream revision: + +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981 +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653 + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 069d8d557de..c49c28c6e07 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -1130,8 +1130,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); + #ifndef __GLIBC_PREREQ + #define __GLIBC_PREREQ(x, y) 0 + #endif +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index 304d04e3935..6dee89c97e1 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -207,20 +207,13 @@ namespace __sanitizer { + unsigned long __unused1; + unsigned long __unused2; + #elif defined(__sparc__) +-# if defined(__arch64__) + unsigned mode; +- unsigned short __pad1; +-# else +- unsigned short __pad1; +- unsigned short mode; + unsigned short __pad2; +-# endif + unsigned short __seq; + unsigned long long __unused1; + unsigned long long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; ++ unsigned int mode; + unsigned short __seq; + unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) + diff --git a/gnu/packages/patches/gcc-7-libsanitizer-mode-size.patch b/gnu/packages/patches/gcc-7-libsanitizer-mode-size.patch new file mode 100644 index 0000000000..41b4a4cac6 --- /dev/null +++ b/gnu/packages/patches/gcc-7-libsanitizer-mode-size.patch @@ -0,0 +1,53 @@ +Fix assertion failure in libsanitizer when using glibc 2.31 and later. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154 +https://reviews.llvm.org/D69104 + +Adapted from these upstream revision: + +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981 +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653 + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 97eae3fc7bc..4089d4695e2 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -1145,8 +1145,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index c139322839a..7c3c2d866e5 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -211,20 +211,13 @@ namespace __sanitizer { + unsigned long __unused1; + unsigned long __unused2; + #elif defined(__sparc__) +-# if defined(__arch64__) + unsigned mode; +- unsigned short __pad1; +-# else +- unsigned short __pad1; +- unsigned short mode; + unsigned short __pad2; +-# endif + unsigned short __seq; + unsigned long long __unused1; + unsigned long long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; ++ unsigned int mode; + unsigned short __seq; + unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) + diff --git a/gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch b/gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch new file mode 100644 index 0000000000..e343034991 --- /dev/null +++ b/gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch @@ -0,0 +1,56 @@ +Fix assertion failure in libsanitizer when using glibc 2.31 and later. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154 +https://reviews.llvm.org/D69104 + +Adapted from these upstream revision: + +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981 +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653 + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index a915d37cdfe..5c720b2e700 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -1147,8 +1147,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index 4d11d071776..eda75a7cd84 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -210,14 +210,8 @@ namespace __sanitizer { + u64 __unused1; + u64 __unused2; + #elif defined(__sparc__) +-#if defined(__arch64__) + unsigned mode; +- unsigned short __pad1; +-#else +- unsigned short __pad1; +- unsigned short mode; + unsigned short __pad2; +-#endif + unsigned short __seq; + unsigned long long __unused1; + unsigned long long __unused2; +@@ -228,8 +222,7 @@ namespace __sanitizer { + unsigned long __unused1; + unsigned long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; ++ unsigned int mode; + unsigned short __seq; + unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) + diff --git a/gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch b/gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch new file mode 100644 index 0000000000..9e99a3d198 --- /dev/null +++ b/gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch @@ -0,0 +1,58 @@ +Fix assertion failure in libsanitizer when using glibc 2.31 and later. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154 +https://reviews.llvm.org/D69104 + +This is a combination of these upstream revisions: + +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981 +https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653 + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 6cd4a5bac8b..d823a12190c 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -1156,8 +1156,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index 73af92af1e8..6a673a7c995 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -211,26 +211,13 @@ namespace __sanitizer { + u64 __unused1; + u64 __unused2; + #elif defined(__sparc__) +-#if defined(__arch64__) + unsigned mode; +- unsigned short __pad1; +-#else +- unsigned short __pad1; +- unsigned short mode; + unsigned short __pad2; +-#endif + unsigned short __seq; + unsigned long long __unused1; + unsigned long long __unused2; +-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__) +- unsigned int mode; +- unsigned short __seq; +- unsigned short __pad1; +- unsigned long __unused1; +- unsigned long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; ++ unsigned int mode; + unsigned short __seq; + unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) diff --git a/gnu/packages/patches/glibc-2.29-supported-locales.patch b/gnu/packages/patches/glibc-2.29-supported-locales.patch new file mode 100644 index 0000000000..05865dc7be --- /dev/null +++ b/gnu/packages/patches/glibc-2.29-supported-locales.patch @@ -0,0 +1,33 @@ +This patch is taken from debian's glibc package (generate-supported.mk). +It install the localedata/SUPPORTED file of the glibc. This file lists +all the supported locales of the glibc. + +diff --git a/localedata/Makefile b/localedata/Makefile +index 65079f9eb8..14818f84e0 100644 +--- a/localedata/Makefile ++++ b/localedata/Makefile +@@ -169,7 +169,8 @@ endif + # Files to install. + install-others := $(addprefix $(inst_i18ndir)/, \ + $(addsuffix .gz, $(charmaps)) \ +- $(locales)) ++ $(locales)) \ ++ $(inst_i18ndir)/SUPPORTED + + tests: $(objdir)/iconvdata/gconv-modules + +@@ -380,6 +381,14 @@ endif + + include SUPPORTED + ++$(inst_i18ndir)/SUPPORTED: SUPPORTED $(+force) ++ for locale in $(SUPPORTED-LOCALES); do \ ++ [ $$locale = true ] && continue; \ ++ echo $$locale | sed 's,/, ,' >> LOCALES; \ ++ done ++ $(make-target-directory) ++ $(INSTALL_DATA) LOCALES $@ ++ + INSTALL-SUPPORTED-LOCALE-ARCHIVE=$(addprefix install-archive-, $(SUPPORTED-LOCALES)) + INSTALL-SUPPORTED-LOCALE-FILES=$(addprefix install-files-, $(SUPPORTED-LOCALES)) + \ No newline at end of file diff --git a/gnu/packages/patches/glibc-supported-locales.patch b/gnu/packages/patches/glibc-supported-locales.patch index 05865dc7be..28577c75c0 100644 --- a/gnu/packages/patches/glibc-supported-locales.patch +++ b/gnu/packages/patches/glibc-supported-locales.patch @@ -3,20 +3,19 @@ It install the localedata/SUPPORTED file of the glibc. This file lists all the supported locales of the glibc. diff --git a/localedata/Makefile b/localedata/Makefile -index 65079f9eb8..14818f84e0 100644 --- a/localedata/Makefile +++ b/localedata/Makefile -@@ -169,7 +169,8 @@ endif - # Files to install. +@@ -176,7 +176,8 @@ + else install-others := $(addprefix $(inst_i18ndir)/, \ $(addsuffix .gz, $(charmaps)) \ - $(locales)) + $(locales)) \ + $(inst_i18ndir)/SUPPORTED + endif tests: $(objdir)/iconvdata/gconv-modules - -@@ -380,6 +381,14 @@ endif +@@ -401,6 +402,14 @@ include SUPPORTED @@ -30,4 +29,4 @@ index 65079f9eb8..14818f84e0 100644 + INSTALL-SUPPORTED-LOCALE-ARCHIVE=$(addprefix install-archive-, $(SUPPORTED-LOCALES)) INSTALL-SUPPORTED-LOCALE-FILES=$(addprefix install-files-, $(SUPPORTED-LOCALES)) - \ No newline at end of file + -- cgit 1.4.1 From fedce7b2b474251a7b7e0e4fb7cc80d89a2939bd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Feb 2020 09:24:34 +0100 Subject: gnu: libfaketime: Fix build with glibc 2.31. * gnu/packages/check.scm (libfaketime)[arguments]: Disable "deprecated-declarations" warnings before running the test suite. --- gnu/packages/check.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 6c809c7d7c..e819ca72cd 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2437,6 +2437,10 @@ portable to just about any platform.") (lambda _ (substitute* "test/functests/test_exclude_mono.sh" (("/bin/bash") (which "bash"))) + + ;; Do not fail due to use of 'ftime', which was deprecated in + ;; glibc 2.31. Remove this for later versions of libfaketime. + (setenv "FAKETIME_COMPILE_CFLAGS" "-Wno-deprecated-declarations") #t))) #:test-target "test")) (native-inputs -- cgit 1.4.1 From 6457ae1339c8d3dc7ade2baa8511916d55809887 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 16:01:01 +0100 Subject: gnu: telepathy-glib: Fix test failure. * gnu/packages/patches/telepathy-glib-channel-memory-leak.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/glib.scm (telepathy-glib)[source](patches): Add it. --- gnu/local.mk | 1 + gnu/packages/glib.scm | 1 + .../patches/telepathy-glib-channel-memory-leak.patch | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 gnu/packages/patches/telepathy-glib-channel-memory-leak.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7b3d314993..18e8b211f7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1435,6 +1435,7 @@ dist_patch_DATA = \ %D%/packages/patches/texinfo-5-perl-compat.patch \ %D%/packages/patches/texlive-bin-poppler-0.83.patch \ %D%/packages/patches/telegram-purple-adjust-test.patch \ + %D%/packages/patches/telepathy-glib-channel-memory-leak.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-i18n.patch \ %D%/packages/patches/thefuck-test-environ.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index e6f1cf819f..d25959b928 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -805,6 +805,7 @@ up the Gnome environment, and are used in many unrelated projects.") "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")) (patches (list + (search-patch "telepathy-glib-channel-memory-leak.patch") ;; Don't use the same test name for multiple tests. ;; (origin diff --git a/gnu/packages/patches/telepathy-glib-channel-memory-leak.patch b/gnu/packages/patches/telepathy-glib-channel-memory-leak.patch new file mode 100644 index 0000000000..fe07548ec0 --- /dev/null +++ b/gnu/packages/patches/telepathy-glib-channel-memory-leak.patch @@ -0,0 +1,19 @@ +Prevent a memory leak in call-channel, which otherwise would cause a +test failure in file-transfer-channel.c. + +Taken from upstream: +https://gitlab.freedesktop.org/telepathy/telepathy-glib/commit/2e8b2cc0db09b781d99e3755bb6d01548037fe7b + +diff --git a/telepathy-glib/call-channel.c b/telepathy-glib/call-channel.c +index 8ed76323be32f83c5f4d6045a50bc1698d8093fd..2a1fa203d4be9f0c8b99344225f4ba9900666ffc 100644 +--- a/telepathy-glib/call-channel.c ++++ b/telepathy-glib/call-channel.c +@@ -525,6 +525,8 @@ update_call_members (TpCallChannel *self, + + _tp_channel_contacts_queue_prepare_async ((TpChannel *) self, + contacts, update_call_members_prepared_cb, data); ++ ++ g_ptr_array_unref (contacts); + } + + static void -- cgit 1.4.1 From 5d8a4354acd081adf9ef55e07ae2cf0a257d1e95 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 6 Feb 2020 19:41:36 +0100 Subject: gnu: isl: Move the static library to a separate output. * gnu/packages/gcc.scm (isl)[outputs, arguments]: New fields. * gnu/packages/make-bootstrap.scm (%gcc-static)[inputs]: Add ISL:STATIC. --- gnu/packages/gcc.scm | 21 ++++++++++++++++++++- gnu/packages/make-bootstrap.scm | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 90cb97e15c..f9d8b3e150 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016 Carlos Sánchez de La Lama ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2018, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -882,6 +882,25 @@ as the 'native-search-paths' field." (base32 "1kf54jib0nind1pvakblnfhimmwzm0y1llz8470ag0di5vwqwrhs")))) (build-system gnu-build-system) + (outputs '("out" "static")) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'install 'move-static-library + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static")) + (source (string-append out "/lib/libisl.a")) + (target (string-append static "/lib/libisl.a"))) + (mkdir-p (dirname target)) + (link source target) + (delete-file source) + + ;; Remove reference to libisl.a from the .la file so + ;; libtool looks for it in the usual locations. + (substitute* (string-append out "/lib/libisl.la") + (("^old_library=.*") + "old_library=''\n")) + #t)))))) (inputs `(("gmp" ,gmp))) (home-page "http://isl.gforge.inria.fr/") (synopsis diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index c1930582d1..ef274a2ade 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -513,6 +513,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." #t))))))) (inputs `(("zlib:static" ,zlib "static") + ("isl:static" ,isl "static") ,@(package-inputs gcc))) (native-inputs (if (%current-target-system) -- cgit 1.4.1 From 974200102ba6703cde59c5a0eb50ac35cdb42d3f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 7 Feb 2020 12:34:48 +0100 Subject: gnu: python2-more-itertools: Do not depend on 'python2-minimal'. * gnu/packages/python-xyz.scm (python2-more-itertools)[arguments]: Use PYTHON2 instead of PYTHON2-MINIMAL. --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0014cc3bf3..dc48800afb 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15236,7 +15236,7 @@ working with iterables.") (base32 "1r12cm6mcdwdzz7d47a6g4l437xsvapdlgyhqay3i2nrlv03da9q")))) (arguments - `(#:python ,python2-minimal)) + `(#:python ,python-2)) (propagated-inputs `(("python2-six" ,python2-six-bootstrap))))) -- cgit 1.4.1 From 087c94019d31044f91d2c9a3c240b109824fd248 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 12 Feb 2020 17:53:50 +0100 Subject: gnu: OpenBLAS: Update to 0.3.8. * gnu/packages/maths.scm (openblas): Update to 0.3.8. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c88a5ab8cf..a51855797f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3105,7 +3105,7 @@ parts of it.") (define-public openblas (package (name "openblas") - (version "0.3.7") + (version "0.3.8") (source (origin (method url-fetch) @@ -3114,7 +3114,7 @@ parts of it.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0jbdjsi0qsxahdcm42agnn1y7xpmg0hrhwjsxg0zbhs9wwy3p568")))) + "0f7n911vlriphlr4dgfdxk2x4lmjpf8kcl8w9lb584w2nwfkbdk9")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- cgit 1.4.1 From 9640cd972d71fa474e024e43246125217e65c424 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Feb 2020 15:47:48 +0100 Subject: gnu: libgpg-error: Update to 1.37. * gnu/packages/patches/libgpg-error-gawk-compat.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gnupg.scm (libgpg-error): Update to 1.37. [source](modules, patches): Remove. --- gnu/local.mk | 1 - gnu/packages/gnupg.scm | 13 +- .../patches/libgpg-error-gawk-compat.patch | 155 --------------------- 3 files changed, 2 insertions(+), 167 deletions(-) delete mode 100644 gnu/packages/patches/libgpg-error-gawk-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 18e8b211f7..2b425bee22 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1105,7 +1105,6 @@ dist_patch_DATA = \ %D%/packages/patches/libgit2-mtime-0.patch \ %D%/packages/patches/libgnome-encoding.patch \ %D%/packages/patches/libgnomeui-utf8.patch \ - %D%/packages/patches/libgpg-error-gawk-compat.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 4e8869a658..890dd3299b 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -79,7 +79,7 @@ (define-public libgpg-error (package (name "libgpg-error") - (version "1.36") + (version "1.37") (source (origin (method url-fetch) @@ -87,16 +87,7 @@ version ".tar.bz2")) (sha256 (base32 - "0z696dmhfxm2n6pmr8b857wwljq9h633yi99bhbn7h88f91rigds")) - (patches (search-patches "libgpg-error-gawk-compat.patch")) - ;; XXX: Remove this snippet with the gawk patch above. It avoids having - ;; to call autoreconf for the Makefile.am change to take effect. - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "src/Makefile.in" - (("namespace=errnos") "pkg_namespace=errnos")) - #t)))) + "0qwpx8mbc2l421a22l0l1hpzkip9jng06bbzgxwpkkvk5bvnybdk")))) (build-system gnu-build-system) (arguments (if (%current-target-system) diff --git a/gnu/packages/patches/libgpg-error-gawk-compat.patch b/gnu/packages/patches/libgpg-error-gawk-compat.patch deleted file mode 100644 index 85477b0be6..0000000000 --- a/gnu/packages/patches/libgpg-error-gawk-compat.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 7865041c77f4f7005282f10f9b6666b19072fbdf Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka -Date: Mon, 15 Apr 2019 15:10:44 +0900 -Subject: [PATCH] awk: Prepare for Gawk 5.0. - -* src/Makefile.am: Use pkg_namespace (instead of namespace). -* src/mkerrnos.awk: Likewise. -* lang/cl/mkerrcodes.awk: Don't escape # in regexp. -* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto. - --- - -In Gawk 5.0, regexp routines are replaced by Gnulib implementation, -which only allows escaping specific characters. - -GnuPG-bug-id: 4459 -Reported-by: Marius Schamschula -Signed-off-by: NIIBE Yutaka ---- - lang/cl/mkerrcodes.awk | 2 +- - src/Makefile.am | 2 +- - src/mkerrcodes.awk | 2 +- - src/mkerrcodes1.awk | 2 +- - src/mkerrcodes2.awk | 2 +- - src/mkerrnos.awk | 2 +- - src/mkstrtable.awk | 10 +++++----- - 7 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/lang/cl/mkerrcodes.awk b/lang/cl/mkerrcodes.awk -index ae29043..9a1fc18 100644 ---- a/lang/cl/mkerrcodes.awk -+++ b/lang/cl/mkerrcodes.awk -@@ -122,7 +122,7 @@ header { - } - - !header { -- sub (/\#.+/, ""); -+ sub (/#.+/, ""); - sub (/[ ]+$/, ""); # Strip trailing space and tab characters. - - if (/^$/) -diff --git a/src/Makefile.am b/src/Makefile.am -index ce1b882..f2590cb 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -293,7 +293,7 @@ code-from-errno.h: mkerrcodes$(EXEEXT_FOR_BUILD) Makefile - - errnos-sym.h: Makefile mkstrtable.awk errnos.in - $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \ -- -v prefix=GPG_ERR_ -v namespace=errnos_ \ -+ -v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \ - $(srcdir)/errnos.in >$@ - - -diff --git a/src/mkerrcodes.awk b/src/mkerrcodes.awk -index 46d436c..e9c857c 100644 ---- a/src/mkerrcodes.awk -+++ b/src/mkerrcodes.awk -@@ -85,7 +85,7 @@ header { - } - - !header { -- sub (/\#.+/, ""); -+ sub (/#.+/, ""); - sub (/[ ]+$/, ""); # Strip trailing space and tab characters. - - if (/^$/) -diff --git a/src/mkerrcodes1.awk b/src/mkerrcodes1.awk -index a771a73..4578e29 100644 ---- a/src/mkerrcodes1.awk -+++ b/src/mkerrcodes1.awk -@@ -81,7 +81,7 @@ header { - } - - !header { -- sub (/\#.+/, ""); -+ sub (/#.+/, ""); - sub (/[ ]+$/, ""); # Strip trailing space and tab characters. - - if (/^$/) -diff --git a/src/mkerrcodes2.awk b/src/mkerrcodes2.awk -index ea58503..188f7a4 100644 ---- a/src/mkerrcodes2.awk -+++ b/src/mkerrcodes2.awk -@@ -91,7 +91,7 @@ header { - } - - !header { -- sub (/\#.+/, ""); -+ sub (/#.+/, ""); - sub (/[ ]+$/, ""); # Strip trailing space and tab characters. - - if (/^$/) -diff --git a/src/mkerrnos.awk b/src/mkerrnos.awk -index f79df66..15b1aad 100644 ---- a/src/mkerrnos.awk -+++ b/src/mkerrnos.awk -@@ -83,7 +83,7 @@ header { - } - - !header { -- sub (/\#.+/, ""); -+ sub (/#.+/, ""); - sub (/[ ]+$/, ""); # Strip trailing space and tab characters. - - if (/^$/) -diff --git a/src/mkstrtable.awk b/src/mkstrtable.awk -index c9de9c1..285e45f 100644 ---- a/src/mkstrtable.awk -+++ b/src/mkstrtable.awk -@@ -77,7 +77,7 @@ - # - # The variable prefix can be used to prepend a string to each message. - # --# The variable namespace can be used to prepend a string to each -+# The variable pkg_namespace can be used to prepend a string to each - # variable and macro name. - - BEGIN { -@@ -102,7 +102,7 @@ header { - print "/* The purpose of this complex string table is to produce"; - print " optimal code with a minimum of relocations. */"; - print ""; -- print "static const char " namespace "msgstr[] = "; -+ print "static const char " pkg_namespace "msgstr[] = "; - header = 0; - } - else -@@ -110,7 +110,7 @@ header { - } - - !header { -- sub (/\#.+/, ""); -+ sub (/#.+/, ""); - sub (/[ ]+$/, ""); # Strip trailing space and tab characters. - - if (/^$/) -@@ -150,7 +150,7 @@ END { - else - print " gettext_noop (\"" last_msgstr "\");"; - print ""; -- print "static const int " namespace "msgidx[] ="; -+ print "static const int " pkg_namespace "msgidx[] ="; - print " {"; - for (i = 0; i < coded_msgs; i++) - print " " pos[i] ","; -@@ -158,7 +158,7 @@ END { - print " };"; - print ""; - print "static GPG_ERR_INLINE int"; -- print namespace "msgidxof (int code)"; -+ print pkg_namespace "msgidxof (int code)"; - print "{"; - print " return (0 ? 0"; - -- cgit 1.4.1 From 32d3f81a494e4b37c96ddbc23ff9a5a8140e8591 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Feb 2020 15:48:34 +0100 Subject: gnu: mit-krb5: Update to 1.18. * gnu/packages/kerberos.scm (mit-krb5): Update to 1.18. --- gnu/packages/kerberos.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 2b8ebbac77..890f4bc0b2 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -50,7 +50,7 @@ (define-public mit-krb5 (package (name "mit-krb5") - (version "1.17.1") + (version "1.18") (source (origin (method url-fetch) (uri (list @@ -62,7 +62,7 @@ "/krb5-" version ".tar.gz"))) (sha256 (base32 - "10dimzcdzk9s79291qb4s3kwmbpb8bvppa6k6873wxxa5vndf1ip")))) + "121c5xsy3x0i4wdkrpw62yhvji6virbh6n30ypazkp0isws3k4bk")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) -- cgit 1.4.1 From 62852fa27c8c9825023c3db0afacc532621cb6d1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Feb 2020 15:58:57 +0100 Subject: gnu: bison: Update to 3.5.2. --- gnu/packages/bison.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm index 92ab80e9bf..862c2a0528 100644 --- a/gnu/packages/bison.scm +++ b/gnu/packages/bison.scm @@ -31,7 +31,7 @@ (define-public bison (package (name "bison") - (version "3.5.1") + (version "3.5.2") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "1l2d59xwlkmmm6vsskw6vsrk75ql9fvld57681g2v6khv5xhjziy")))) + "1pah9q53aqgr0as3s5la4vbcp9940x6jhj06dyxqpnmnkvdp7qi4")))) (build-system gnu-build-system) (arguments '(;; Building in parallel on many-core systems may cause an error such as -- cgit 1.4.1 From 717c433c46e8e9fc77b796e485092e2cccee336a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Feb 2020 16:00:38 +0100 Subject: gnu: ncurses: Update to 6.2. * gnu/packages/ncurses.scm (ncurses): Update to 6.2. [arguments]: Remove phase "apply-rollup-patch". [native-inputs]: Remove "rollup-patch" input. --- gnu/packages/ncurses.scm | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index 75ad492822..12e16b2403 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -40,7 +40,7 @@ (define-public ncurses (package (name "ncurses") - (version "6.1-20190609") + (version "6.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ncurses/ncurses-" @@ -48,7 +48,7 @@ ".tar.gz")) (sha256 (base32 - "05qdmbmrrn88ii9f66rkcmcyzp1kb1ymkx7g040lfkd1nkp7w1da")))) + "17bcm2z1rdx5gmzj5fb8cp7f28aw5b4g2z4qvvqg3yg0fq66wc1h")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1 MiB of man pages @@ -188,8 +188,6 @@ ,@(if (target-mingw?) '("--enable-term-driver") '())))) #:tests? #f ; no "check" target #:phases (modify-phases %standard-phases - (add-after 'unpack 'apply-rollup-patch - ,apply-rollup-patch-phase) (replace 'configure ,configure-phase) (add-after 'install 'post-install ,post-install-phase) @@ -201,18 +199,6 @@ `(,@(if (%current-target-system) `(("self" ,this-package)) ;for `tic' '()) - - ("rollup-patch" - ,(origin - (method url-fetch) - (uri (string-append - "https://invisible-mirror.net/archives/ncurses/" - (car (string-split version #\-)) - "/ncurses-" version "-patch.sh.bz2")) - (sha256 - (base32 - "0hqlqdqmh7lfs6dwj763qksb4j9nk0pv6crzx5gnp6n4caz3i46g")))) - ("pkg-config" ,pkg-config))) (native-search-paths (list (search-path-specification -- cgit 1.4.1 From f9dcc39ac106bd65df9e472bdabeb48303a4b18a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 15:54:56 +0100 Subject: gnu: CMake: Do not use source files from system libarchive. * gnu/packages/cmake.scm (%common-build-phases): Remove phase 'use-system-libarchive'. (%preserved-third-party-files): New variable. (cmake-bootstrap)[native-inputs]: Remove. [source](snippet): Rewrite in terms of FILE-SYSTEM-FOLD, and preserve two files from the bundled libarchive. (cmake-minimal)[source](snippet): Adjust accordingly. --- gnu/packages/cmake.scm | 92 +++++++++++++++++++++++++------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index cc4340bbc6..a41cd801e8 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -60,26 +60,6 @@ (substitute* "Auxiliary/CMakeLists.txt" ((".*cmake-mode.el.*") "")) #t)) - (add-after 'unpack 'use-system-libarchive - ;; 'Source/cm_get_date.c' includes archive_getdate.c wholesale, - ;; so it needs to be available along with the header file. - (lambda* (#:key native-inputs inputs #:allow-other-keys) - (let ((libarchive-source (assoc-ref (or native-inputs inputs) - "libarchive:source")) - ;; XXX: We can not use ,(package-version libarchive) here due to - ;; a cyclic module reference at the top-level. - (libarchive-version "3.4.1") - (files-to-unpack '("libarchive/archive_getdate.c" - "libarchive/archive_getdate.h"))) - (mkdir-p "Utilities/cmlibarchive") - (apply invoke "tar" "-xvf" libarchive-source - "--strip-components=1" - "-C" "Utilities/cmlibarchive" - (map (lambda (file) - (string-append "libarchive-" libarchive-version - "/" file)) - files-to-unpack)) - #t))) (add-before 'configure 'patch-bin-sh (lambda _ ;; Replace "/bin/sh" by the right path in... a lot of @@ -105,6 +85,12 @@ ;; This test requires 'ldconfig' which is not available in Guix. "RunCMake.install")) +(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")) + ;;; 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 @@ -122,26 +108,44 @@ (modules '((guix build utils) (ice-9 ftw))) (snippet - '(begin - (with-directory-excursion "Utilities" - ;; CMake bundles its dependencies below "Utilities" with a - ;; "cm" prefix in the directory name. Delete those to ensure - ;; the system libraries are used. - (for-each delete-file-recursively - (scandir - "." - (lambda (file) - (and (string-prefix? "cm" file) - (eq? 'directory (stat:type (stat file))) + `(begin + ;; CMake bundles its dependencies in the "Utilities" directory. + ;; Delete those to ensure the system libraries are used. + (define preserved-files + '(,@%preserved-third-party-files + ;; Use the bundled JsonCpp during bootstrap to work around + ;; a circular dependency. TODO: JsonCpp can be built with + ;; Meson instead of CMake, but meson-build-system currently + ;; does not support cross-compilation. + "Utilities/cmjsoncpp" + ;; LibUV is required to bootstrap the initial build system. + "Utilities/cmlibuv")) - ;; These inputs are required to bootstrap - ;; the initial build system. They are - ;; deleted in 'cmake-minimal' below. - ;; TODO: Consider building jsoncpp with - ;; Meson instead, once meson-build-system - ;; learns cross-compilation. - (not (string=? "cmjsoncpp" file)) - (not (string=? "cmlibuv" file))))))) + (file-system-fold (lambda (dir stat result) ;enter? + (or (string=? "Utilities" dir) ;init + ;; The bundled dependencies are + ;; distinguished by having a "cm" + ;; prefix to their upstream names. + (and (string-prefix? "Utilities/cm" dir) + (not (member dir preserved-files))))) + (lambda (file stat result) ;leaf + (unless (or (member file preserved-files) + ;; Preserve top-level files. + (string=? "Utilities" + (dirname file))) + (delete-file file))) + (const #t) ;down + (lambda (dir stat result) ;up + (when (equal? (scandir dir) '("." "..")) + (rmdir dir))) + (const #t) ;skip + (lambda (file stat errno result) + (format (current-error-port) + "warning: failed to delete ~a: ~a~%" + file (strerror errno))) + #t + "Utilities" + lstat) #t)) (patches (search-patches "cmake-curl-certificates.patch")))) (build-system gnu-build-system) @@ -196,8 +200,6 @@ (replace 'configure (lambda* (#:key (configure-flags '()) #:allow-other-keys) (apply invoke "./configure" configure-flags)))))) - (native-inputs - `(("libarchive:source" ,(package-source libarchive)))) (inputs `(("bzip2" ,bzip2) ("curl" ,curl-minimal) @@ -245,12 +247,10 @@ and workspaces that can be used in the compiler environment of your choice.") (inherit (package-source cmake-bootstrap)) (snippet (match (origin-snippet (package-source cmake-bootstrap)) - ((begin exp ...) + ((_ _ exp ...) ;; Now we can delete the remaining software bundles. - (append '(begin - (for-each delete-file-recursively - '("Utilities/cmjsoncpp" - "Utilities/cmlibuv"))) + (append `(begin + (define preserved-files ',%preserved-third-party-files)) exp)))))) (inputs `(("curl" ,curl) -- cgit 1.4.1 From 7e3533a44654f416a6881f05421bfc89f3c4ada4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 15:56:02 +0100 Subject: gnu: libarchive: Update to 3.4.2. * gnu/packages/backup.scm (libarchive): Update to 3.4.2. --- gnu/packages/backup.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index c00244c003..5cdf3b9155 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -200,7 +200,7 @@ backups (called chunks) to allow easy burning to CD/DVD.") (define-public libarchive (package (name "libarchive") - (version "3.4.1") + (version "3.4.2") (source (origin (method url-fetch) @@ -211,7 +211,7 @@ backups (called chunks) to allow easy burning to CD/DVD.") version ".tar.xz"))) (sha256 (base32 - "1xs2c3fsss1g2a6yzip98j9bl93pxd3gqwr4ivh2fc6c10py115v")))) + "18dd01ahs2hv74xm7axjc3yhq839p0x0s4vssvlmm8fknja09qfq")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2) -- cgit 1.4.1 From c37f9be95203d0146fbe6d0037fe993a2d749fdc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 15:56:24 +0100 Subject: gnu: CMake: Update to 3.16.4. * gnu/packages/cmake.scm (cmake-bootstrap): Update to 3.16.4. --- gnu/packages/cmake.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index a41cd801e8..18a27bc588 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -96,7 +96,7 @@ (define-public cmake-bootstrap (package (name "cmake-bootstrap") - (version "3.16.3") + (version "3.16.4") (source (origin (method url-fetch) (uri (string-append "https://www.cmake.org/files/v" @@ -104,7 +104,7 @@ "/cmake-" version ".tar.gz")) (sha256 (base32 - "0s06wrp0jnw2l4yq94skj53hwnz7lqrmhh96sq7w7njkkggickz5")) + "0b5c77lqzfk5l7mnnih5c78i36d3skbkw20jjnph79lx9l8qrk4v")) (modules '((guix build utils) (ice-9 ftw))) (snippet -- cgit 1.4.1 From d317d3dfe32a7974163ac3155722afc18b05515d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 17:47:02 +0100 Subject: gnu: readline: Update to 8.0.4. * gnu/packages/readline.scm (%patch-series-8.0): Add patches 2 through 4. --- gnu/packages/readline.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index 9f886f9b6e..5f61dcb735 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -49,7 +49,10 @@ (define %patch-series-8.0 (patch-series "8.0" - (1 "0sfh7wn0pr743xspnb1zndxndlv9rc0hcg14cbw5cmyg6f4ykrfq"))) + (1 "0sfh7wn0pr743xspnb1zndxndlv9rc0hcg14cbw5cmyg6f4ykrfq") + (2 "1xy8mv8xm8hsfixwp3ci9kfx3dii3y92cq27wwd0jq75y6zzxc1n") + (3 "1vza7sxjcsr2z295ij12nzgncdil1vb6as3mqy4m7svi1chv5pcl") + (4 "0k1rfx9w32lglxg564yvp0mw6jg6883p8ac2f2lxxqpf80m3vami"))) (define %patch-series-7.0 (patch-series -- cgit 1.4.1 From acb9277480fe1c146c00daaf461ef98723622a60 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 17:47:33 +0100 Subject: gnu: bash: Update to 5.0.16. * gnu/packages/bash.scm (%patch-series-5.0): Add patches 12 through 16. --- gnu/packages/bash.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 88005f4618..84268e028b 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -73,7 +73,12 @@ (8 "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf") (9 "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d") (10 "04ca5bjv456v538mkspzvn4xb2zdphh31r4fpvfm9p5my0jw7yyn") - (11 "1sklyixvsv8993kxzs0jigacpdchjrq7jv5xpdx7kbqyp4rf6k9c"))) + (11 "1sklyixvsv8993kxzs0jigacpdchjrq7jv5xpdx7kbqyp4rf6k9c") + (12 "0cz21qg2gbr40lfgza7g02bqi2qknwqgxnq459pjj640d0cywhr9") + (13 "16h9nwz3yzwj7fnxvlidjymdc4yr30h818433gh9j1x3in6igmzm") + (14 "12gm5bvv2pd3m72z2ilj26pa08c61az253dsgfl24vpf2ijywvjx") + (15 "0pm0px758w4i23s55wajcv6lqfiym7zgxvq0pxf6vclkv8nxy5x5") + (16 "0vdha332km2iwx8g2ld15jy7d24cbplzgr1531dpzylr9ajxglgz"))) (define (download-patches store count) "Download COUNT Bash patches into store. Return a list of -- cgit 1.4.1 From 481a0f1a7ceac666a011b28324220584ead07698 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 13 Feb 2020 10:54:29 +0200 Subject: build: gnu-build-system: Don't run configure during bootstrap. * guix/build/gnu-build-system.scm (bootstrap): Add NOCONFIGURE environment variable before running bootstrap scripts. --- guix/build/gnu-build-system.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 4df0bb4904..22805c84ea 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -190,6 +190,7 @@ working directory." (if (executable-file? script) (begin (patch-shebang script) + (setenv "NOCONFIGURE" "true") (invoke script)) (invoke "sh" script))) (if (or (file-exists? "configure.ac") -- cgit 1.4.1 From 778d6b522ae361767d3cf984a3b182bac7361b7a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Feb 2020 09:06:53 +0200 Subject: gnu: Remove obsolete bootstrap workaround phases. * gnu/packages/admin.scm (igt-gpu-tools)[arguments]: Don't set NOCONFIGURE environment variable. * gnu/packages/algebra.scm (givaro, fflas-ffpack, linbox), * gnu/packages/arcan.scm (xarcan), * gnu/packages/audio.scm (rtmidi), * gnu/packages/cinnamon.scm (cinnamon-desktop), * gnu/packages/gnome.scm (dia, libxklavier, byzanz), * gnu/packages/image-viewers.scm (geeqie), * gnu/packages/libusb.scm (libplist), * gnu/packages/mail.scm (libetpan), * gnu/packages/networking.scm (aircrack-ng), * gnu/packages/terminals.scm (tilda, kmscon), * gnu/packages/xorg.scm (xf86-video-intel, xcompmgr) [arguments]: Same. --- gnu/packages/admin.scm | 9 +-------- gnu/packages/algebra.scm | 28 +--------------------------- gnu/packages/arcan.scm | 8 +------- gnu/packages/audio.scm | 7 ------- gnu/packages/cinnamon.scm | 7 ------- gnu/packages/gnome.scm | 23 +++-------------------- gnu/packages/image-viewers.scm | 1 - gnu/packages/libusb.scm | 9 +-------- gnu/packages/mail.scm | 8 +------- gnu/packages/networking.scm | 6 ------ gnu/packages/terminals.scm | 10 ---------- gnu/packages/xorg.scm | 14 +------------- 12 files changed, 9 insertions(+), 121 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index af39676d57..02fdb453b6 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2802,14 +2802,7 @@ buffers.") (base32 "1gpdjs5aj6vsnzwcjvw5bb120lgffvvshi4202phr0bzw3b92ky8")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; many of the tests try to load kernel modules - #:phases - (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - ;; Don't run configure in this phase. - (setenv "NOCONFIGURE" "1") - (invoke "sh" "autogen.sh")))))) + `(#:tests? #f)) ; many of the tests try to load kernel modules (inputs `(("cairo" ,cairo) ("elfutils" ,elfutils) ; libdw diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index d3e4dfbd86..08d209ec58 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1217,15 +1217,6 @@ objects.") ("libtool" ,libtool))) (propagated-inputs `(("gmp" ,gmp))) ; gmp++.h includes gmpxx.h - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'setenv - ;; Prevent the autogen.sh script to carry out the configure - ;; script, which has not yet been patched to replace /bin/sh. - (lambda _ - (setenv "NOCONFIGURE" "yes") - #t))))) (synopsis "Algebraic computations with exact rings and fields") (description "Givaro is a C++ library implementing the basic arithmetic of various @@ -1264,15 +1255,7 @@ compound objects, such as vectors, matrices and univariate polynomials.") `(#:configure-flags (list (string-append "--with-blas-libs=" (assoc-ref %build-inputs "openblas") - "/lib/libopenblas.so")) - #:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'setenv - ;; Prevent the autogen.sh script to carry out the configure - ;; script, which has not yet been patched to replace /bin/sh. - (lambda _ - (setenv "NOCONFIGURE" "yes") - #t))))) + "/lib/libopenblas.so")))) (synopsis "C++ library for linear algebra over finite fields") (description "FFLAS-FFPACK is a C++ template library for basic linear algebra @@ -1308,15 +1291,6 @@ algebra, such as the row echelon form.") ("pkg-config" ,pkg-config))) (inputs `(("fflas-ffpack" ,fflas-ffpack))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'setenv - ;; Prevent the autogen.sh script to carry out the configure - ;; script, which has not yet been patched to replace /bin/sh. - (lambda _ - (setenv "NOCONFIGURE" "yes") - #t))))) (synopsis "C++ library for linear algebra over exact rings") (description "LinBox is a C++ template library for exact linear algebra computation diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm index db472efec5..e3f8b60aea 100644 --- a/gnu/packages/arcan.scm +++ b/gnu/packages/arcan.scm @@ -216,13 +216,7 @@ engine programmable using Lua.") (assoc-ref %build-inputs "xkbcomp") "/bin") ,(string-append "--with-xkb-output=" - "/tmp")) ; FIXME: Copied from xorg - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'noconfigure - (lambda _ - (setenv "NOCONFIGURE" "true") - #t))))) + "/tmp")))) ; FIXME: Copied from xorg (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index fbb2d90979..78d29e1c68 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2444,13 +2444,6 @@ tempo and pitch of an audio recording independently of one another.") (base32 "1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'noconfigure - (lambda _ - (setenv "NOCONFIGURE" "yes") - #t))))) (inputs `(("jack" ,jack-1) ("alsa-lib" ,alsa-lib))) diff --git a/gnu/packages/cinnamon.scm b/gnu/packages/cinnamon.scm index a8850391aa..fadf18df81 100644 --- a/gnu/packages/cinnamon.scm +++ b/gnu/packages/cinnamon.scm @@ -51,13 +51,6 @@ (base32 "18mjy80ly9361npjhxpm3n0pkmrwviaqr2kixjb7hyxa6kzzh5xw")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'skip-premature-configure - (lambda _ - (setenv "NOCONFIGURE" "set") - #t))))) ;; TODO: package 'libgsystem'. (inputs `(("accountsservice" ,accountsservice) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cc00b69cf3..d9a5e6fe5b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -911,13 +911,6 @@ useful as a tutorial and users' guide for new or less experienced users.") ("perl" ,perl) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'dont-configure-during-bootstrap - (lambda _ - (setenv "NOCONFIGURE" "true") - #t))))) (home-page "https://wiki.gnome.org/Apps/Dia") (synopsis "Diagram creation for GNOME") (description "Dia can be used to draw different types of diagrams, and @@ -3505,13 +3498,7 @@ and objects.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'no-configure - (lambda* _ - (setenv "NOCONFIGURE" "1") - #t))) - #:configure-flags + '(#:configure-flags (list (string-append "--with-xkb-base=" (assoc-ref %build-inputs "xkeyboard-config") "/share/X11/xkb") @@ -7924,7 +7911,7 @@ documents and diagrams, playing media, scanning, and much more.") (arguments '(#:phases (modify-phases %standard-phases - (replace 'bootstrap + (add-before 'bootstrap 'build-without-Werror (lambda _ ;; The build system cleverly detects that we're not building from ;; a release tarball and turns on -Werror for GCC. @@ -7932,11 +7919,7 @@ documents and diagrams, playing media, scanning, and much more.") ;; causes the build to fail unnecessarily, so we remove the flag. (substitute* '("configure.ac") (("-Werror") "")) - ;; The autogen.sh script in gnome-common will run ./configure - ;; by default, which is problematic because source shebangs - ;; have not yet been patched. - (setenv "NOCONFIGURE" "t") - (zero? (system* "sh" "autogen.sh"))))))) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 8589130822..2ac15a6cd9 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -155,7 +155,6 @@ actions.") write-dummy-changelog) (call-with-output-file "ChangeLog.html" write-dummy-changelog) - (setenv "NOCONFIGURE" "true") ;; Don't try to run 'git' for the version number. (substitute* "configure.ac" diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 5e468a4316..a0ae273b67 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -318,14 +318,7 @@ wrapper for accessing libusb-1.0.") (base32 "02vraf4j46bp746s0gz7vga2gv2dy3zd1v1bsy9x8algg9fpcb7n")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'configure-later - ;; Don't run ./configure during bootstrap. - (lambda _ - (setenv "NOCONFIGURE" "set") - #t))) - ;; Tests fail randomly when run in parallel because several of them write + `(;; Tests fail randomly when run in parallel because several of them write ;; and read to/from the same file--e.g., "4.plist" is accessed by ;; 'large.test' and 'largecmp.test'. #:parallel-tests? #f)) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1a9f9e5e5c..9d6e3dba8b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1133,13 +1133,7 @@ useful features.") ("expat" ,expat) ("zlib" ,zlib))) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - (setenv "NOCONFIGURE" "true") - (invoke "sh" "autogen.sh")))) - #:configure-flags + '(#:configure-flags '("--disable-static" "--disable-db"))) (home-page "https://www.etpan.org/libetpan.html") (synopsis "Portable middleware for email access") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index dbc40028ad..4a48355163 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -934,12 +934,6 @@ live network and disk I/O bandwidth monitor.") (("/bin/sh") (which "sh"))) #t)) - (replace 'bootstrap - (lambda _ - ;; Patch shebangs in generated files before running - ;; ./configure. - (setenv "NOCONFIGURE" "please") - (invoke "bash" "./autogen.sh"))) (add-after 'build 'absolutize-tools (lambda* (#:key inputs #:allow-other-keys) (let ((ethtool (string-append (assoc-ref inputs "ethtool") diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 8773f1969f..cffaea24a0 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -96,12 +96,6 @@ (base32 "154rsldqjv2m1bddisb930qicb0y35kx7bxq392n2hn68jr2pxkj")))) (build-system glib-or-gtk-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - (setenv "NOCONFIGURE" "true") - (invoke "sh" "autogen.sh")))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -276,10 +270,6 @@ compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.") #:disallowed-references (,mesa) #:phases (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - (setenv "NOCONFIGURE" "indeed") - (invoke "sh" "autogen.sh"))) ;; Use elogind instead of systemd. (add-before 'configure 'remove-systemd (lambda _ diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ab86b228bb..3fb2cf8d0f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2980,13 +2980,7 @@ X server.") (string-prefix? "x86_64-" system))) %supported-systems)) (arguments - '(#:configure-flags '("--with-default-accel=uxa") - #:phases (modify-phases %standard-phases - (add-before 'bootstrap 'pre-bootstrap - (lambda _ - ;; Inhibit autogen.sh from running configure. - (setenv "NOCONFIGURE" "1") - #t))))) + '(#:configure-flags '("--with-default-accel=uxa"))) (home-page "https://www.x.org/wiki/") (synopsis "Intel video driver for X server") (description @@ -6079,12 +6073,6 @@ Conventions Manual) and some of the @dfn{EWMH} (base32 "11i7vyk3pynw8q8aczpy56qncm84y0cmhlvyja3sj8dgy60g03q2")) (file-name (git-file-name name version)))) (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen - (lambda _ - (setenv "NOCONFIGURE" "t") - (invoke "sh" "autogen.sh")))))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) -- cgit 1.4.1 From f379c665a8ba6ab30e19ddeabc310b2f4bb9e4fc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 16 Feb 2020 15:18:39 +0100 Subject: gnu: hurd-headers: Update snapshot. * gnu/packages/hurd.scm (hurd-headers): Update to 0.9-1.91a5167. [version]: Use GIT-VERSION. [arguments]: Add "--without-libcrypt" in #:configure-flags. --- gnu/packages/hurd.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 3d1709fcc3..c147bac8a3 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2018 Ludovic Courtès ;;; Copyright © 2020 Efraim Flashner +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -129,11 +130,11 @@ communication.") (define-public hurd-headers ;; Resort to a post-0.9 snapshot that provides the 'file_utimens' and ;; 'file_exec_paths' RPCs that glibc 2.28 expects. - (let ((revision "0") - (commit "98b33905c89b7e5c309c74ae32302a5745901a6e")) + (let ((revision "1") + (commit "91a51672ff4cfe1f1a0712b4c542ded3081c825b")) (package (name "hurd-headers") - (version "0.9") + (version (git-version "0.9" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -141,7 +142,7 @@ communication.") (commit commit))) (sha256 (base32 - "1mj22sxgscas2675vrbxr477mwbxdj68pqcrh65lbir8qlssrgrf")) + "16k9wkahz9wasviijz53n6i13nmiwa9fs64ikf1jqh8rl60hw7cz")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs @@ -167,6 +168,7 @@ communication.") "--disable-ncursesw" "--disable-test" "--without-libbz2" + "--without-libcrypt" "--without-libz" ;; Skip the clnt_create check because it expects ;; a working glibc causing a circular dependency. -- cgit 1.4.1 From a21bd6d5c208111fbf96e9b402cc5ca872f95109 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Tue, 8 Oct 2019 02:55:03 +1100 Subject: build-system/gnu: Don't try executing directories in bootstrap phase. * guix/build/gnu-build-system.scm: (bootstrap): Change the file-exists? procedure to one that excludes directories, so that we do not mistake it for a script. For example if the source includes a bootstrap/ directory. Signed-off-by: Marius Bakke --- guix/build/gnu-build-system.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 22805c84ea..96913ef9f0 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2018 Mark H Weaver +;;; Copyright © 2020 Brendan Tildesley ;;; ;;; This file is part of GNU Guix. ;;; @@ -173,12 +174,16 @@ working directory." \"autoreconf\". Otherwise do nothing." ;; Note: Run that right after 'unpack' so that the generated files are ;; visible when the 'patch-source-shebangs' phase runs. - (if (not (file-exists? "configure")) + (define (script-exists? file) + (and (file-exists? file) + (not (file-is-directory? file)))) + + (if (not (script-exists? "configure")) ;; First try one of the BOOTSTRAP-SCRIPTS. If none exists, and it's ;; clearly an Autoconf-based project, run 'autoreconf'. Otherwise, do ;; nothing (perhaps the user removed or overrode the 'configure' phase.) - (let ((script (find file-exists? bootstrap-scripts))) + (let ((script (find script-exists? bootstrap-scripts))) ;; GNU packages often invoke the 'git-version-gen' script from ;; 'configure.ac' so make sure it has a valid shebang. (false-if-file-not-found -- cgit 1.4.1 From 1b2b7765a027908cdbeef7c96fd203509c9492de Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 16 Feb 2020 18:45:37 +0200 Subject: build: gnu-build-system: Adjust NOCONFIGURE variable. This ia a follow-up to 481a0f1a7ceac666a011b28324220584ead07698. * guix/build/gnu-build-system.scm (bootstrap): Set NOCONFIGURE for all bootstrap scripts. Clean up variable after use. --- guix/build/gnu-build-system.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 96913ef9f0..2e7dff2034 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -191,13 +191,15 @@ working directory." (if script (let ((script (string-append "./" script))) + (setenv "NOCONFIGURE" "true") (format #t "running '~a'~%" script) (if (executable-file? script) (begin (patch-shebang script) - (setenv "NOCONFIGURE" "true") (invoke script)) - (invoke "sh" script))) + (invoke "sh" script)) + ;; Let's clean up after ourselves. + (unsetenv "NOCONFIGURE")) (if (or (file-exists? "configure.ac") (file-exists? "configure.in")) (invoke "autoreconf" "-vif") -- cgit 1.4.1 From 88f85494491a0cd4d4262c97860f01e99c2bc313 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 17 Feb 2020 16:52:55 +0100 Subject: utils: Change 'patch-shebang' to not try to patch Rust source files. * guix/build/utils.scm (patch-shebang): Match only absolute paths. --- guix/build/utils.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index a398bf9b90..419c10195b 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -894,7 +894,7 @@ transferred and the continuation of the transfer as a thunk." (x x))) (define patch-shebang - (let ((shebang-rx (make-regexp "^[[:blank:]]*([[:graph:]]+)[[:blank:]]*([[:graph:]]*)(.*)$"))) + (let ((shebang-rx (make-regexp "^[[:blank:]]*(/[[:graph:]]+)[[:blank:]]*([[:graph:]]*)(.*)$"))) (lambda* (file #:optional (path (search-path-as-string->list (getenv "PATH"))) -- cgit 1.4.1 From eb07edabaf11e39b25f5cf40967afd3dadcb14eb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 17 Feb 2020 23:01:54 +0100 Subject: gnu: datefudge: Fix compilation against libc 2.31. * gnu/packages/patches/datefudge-gettimeofday.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/time.scm (datefudge)[source] Use it. --- gnu/local.mk | 3 ++- gnu/packages/patches/datefudge-gettimeofday.patch | 13 +++++++++++++ gnu/packages/time.scm | 4 +++- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/datefudge-gettimeofday.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2b425bee22..dcdcef9875 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 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge # Copyright © 2016 Mathieu Lirzin # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver @@ -806,6 +806,7 @@ dist_patch_DATA = \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ + %D%/packages/patches/datefudge-gettimeofday.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ diff --git a/gnu/packages/patches/datefudge-gettimeofday.patch b/gnu/packages/patches/datefudge-gettimeofday.patch new file mode 100644 index 0000000000..11c7640869 --- /dev/null +++ b/gnu/packages/patches/datefudge-gettimeofday.patch @@ -0,0 +1,13 @@ +Add the 'restrict' qualifier to match the 'gettimeofday' declaration found +in glibc 2.31. + +--- datefudge-1.23/datefudge.c 2020-02-17 22:35:21.343341725 +0100 ++++ datefudge-1.23/datefudge.c 2020-02-17 22:35:49.619117874 +0100 +@@ -78,6 +78,6 @@ + return 0; + } + +-int gettimeofday(struct timeval *x, struct timezone *y) { ++int gettimeofday(struct timeval *restrict x, void *restrict y) { + return __gettimeofday(x,y); + } diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 63227d7bf5..b9ce791827 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -39,6 +39,7 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages perl) @@ -429,7 +430,8 @@ datetime type.") (file-name (git-file-name name version)) (sha256 (base32 - "0r9g8v9xnv60hq3j20wqy34kyig3sc2pisjxl4irn7jjx85f1spv")))) + "0r9g8v9xnv60hq3j20wqy34kyig3sc2pisjxl4irn7jjx85f1spv")) + (patches (search-patches "datefudge-gettimeofday.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- cgit 1.4.1 From ac83dc82ea9f458a4040d4449de993d373fa0fdf Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 17 Feb 2020 23:05:20 +0100 Subject: gnu: gnutls: Add dependency on datefudge. * gnu/packages/time.scm (datefudge)[source]: Use 'url-fetch' instead of 'git-fetch'. * gnu/packages/tls.scm (gnutls)[native-inputs]: Add DATEFUDGE. --- gnu/packages/time.scm | 18 ++++++++++-------- gnu/packages/tls.scm | 5 +++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index b9ce791827..d4c0f7efc6 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov -;;; Copyright © 2013, 2017 Ludovic Courtès +;;; Copyright © 2013, 2017, 2020 Ludovic Courtès ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2015, 2017 Leo Famulari @@ -36,7 +36,6 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -423,14 +422,17 @@ datetime type.") (name "datefudge") (version "1.23") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://salsa.debian.org/debian/datefudge.git") - (commit (string-append "debian/" version)))) - (file-name (git-file-name name version)) + ;; Source code is available from + ;; . However, + ;; for bootstrapping reasons, we do not rely on 'git-fetch' here + ;; (since Git -> GnuTLS -> datefudge). + (method url-fetch) + (uri (string-append + "mirror://debian/pool/main/d/datefudge/datefudge_" + version ".tar.xz")) (sha256 (base32 - "0r9g8v9xnv60hq3j20wqy34kyig3sc2pisjxl4irn7jjx85f1spv")) + "0ifnlb0mc8qc2kb5042pbz0ns6rwcb7201di8wyrsphl0yhnhxiv")) (patches (search-patches "datefudge-gettimeofday.patch")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f1d3f94458..d8a767f73f 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2013, 2015 Andreas Enge @@ -225,7 +225,8 @@ living in the same process.") (native-inputs `(("net-tools" ,net-tools) ("pkg-config" ,pkg-config) - ("which" ,which))) + ("which" ,which) + ("datefudge" ,datefudge))) ;tests rely on 'datefudge' (inputs `(("guile" ,guile-2.2))) (propagated-inputs -- cgit 1.4.1 From d98205b4fc00cc3387df911217bffb896d078100 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 15 Sep 2019 13:21:31 +0200 Subject: gnu: Add gash-core-utils. * gnu/packages/shells.scm (gash-core-utils): New variable. --- gnu/packages/shells.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 0e61284c50..a25c15443f 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -855,3 +855,36 @@ designed to be capable of bootstrapping their standard GNU counterparts. Underpinning these utilities are many Scheme interfaces for manipulating files and text.") (license gpl3+))) + +(define-public gash-core-utils + (package + (name "gash-core-utils") + (version "0.0.211-789c3") + (source (origin + (method url-fetch) + (uri (string-append "http://lilypond.org/janneke/guix/20191123/" + "/gash-core-utils-" version ".tar.gz")) + (sha256 + (base32 + "1ycf0ivyn9q3lc9hwq8vxg6wkwpsykvh48a5lrzsmganh0ma8wrr")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,guile-2.2) + ("gash" ,gash))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-test + (lambda _ + (substitute* "tests/core-utils.org" + (("ls \\(GASH\\) UNKNOWN") "ls (GASH) 0.0.211-789c3")) + #t))))) + (home-page "https://gitlab.com/janneke/gash-core-utils") + (synopsis "Bootstrappable replacement of core GNU utilities in Guile Scheme") + (description "Gash Core Utils provides core GNU utilities in Guile +Scheme as bootstrappable replacement for GNU coreutils&co.") + (license gpl3+))) -- cgit 1.4.1 From 6fc09bd74fd529f336a2d1539eb65063c6e31ff4 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 26 Nov 2019 22:40:09 +0100 Subject: gnu: bootstrap: Add janneke's guix package url. * gnu/packages/bootstrap.scm (%bootstrap-base-urls): Add janneke's guix package url. --- gnu/packages/bootstrap.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index d6995f104c..c097d93693 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -301,7 +301,8 @@ or false to signal an error." "http://alpha.gnu.org/gnu/guix/bootstrap" "ftp://alpha.gnu.org/gnu/guix/bootstrap" "http://www.fdn.fr/~lcourtes/software/guix/packages" - "http://flashner.co.il/guix/bootstrap")) + "http://flashner.co.il/guix/bootstrap" + "http://lilypond.org/janneke/guix/")) (define (bootstrap-guile-url-path system) "Return the URI for FILE." -- cgit 1.4.1 From 899c8f3afa6453ff250c6527ff439f536cd0aef1 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 2 Dec 2019 19:11:23 +0100 Subject: gnu: commencement: Add %bootstrap-guile+guild. * gnu/packages/commencement.scm (%bootstrap-guile+guild): New variable. --- gnu/packages/commencement.scm | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 89f9305970..04502a4e90 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -81,6 +81,57 @@ ;;; ;;; Code: +(define %bootstrap-guile+guild + ;; This package combines %bootstrap-guile with guild, which is not included + ;; in %bootstrap-guile. Guild is needed to build gash-boot and + ;; gash-core-utils-boot because it is dependency of the Guile build system. + (package + (name "guile-bootstrap+guild") + (version "2.0") + (source (bootstrap-origin (package-source guile-2.0))) + (native-inputs `(("bash" ,(bootstrap-executable "bash" (%current-system))) + ("tar" ,(bootstrap-executable "tar" (%current-system))) + ("xz" ,(bootstrap-executable "xz" (%current-system))) + ("guile" ,%bootstrap-guile))) + (build-system trivial-build-system) + (arguments + `(#:guile ,%bootstrap-guile + #:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((guile-source (assoc-ref %build-inputs "source")) + (bin (string-append (getcwd) "/bin")) + (tar (assoc-ref %build-inputs "tar")) + (xz (assoc-ref %build-inputs "xz"))) + (mkdir-p bin) + (setenv "PATH" bin) + (with-directory-excursion bin + (copy-file tar "tar") + (copy-file xz "xz") + (setenv "PATH" bin)) + (let* ((out (assoc-ref %outputs "out")) + (out-bin (string-append out "/bin")) + (guile (assoc-ref %build-inputs "guile")) + (bash (assoc-ref %build-inputs "bash"))) + (mkdir-p out-bin) + (with-directory-excursion out-bin + (symlink (string-append guile "/bin/guile") + "guile") + (invoke "tar" "--strip-components=2" + "-xvf" guile-source + (string-append "guile-" + ,(package-version guile-2.0) + "/meta/guild.in")) + (copy-file "guild.in" "guild") + (substitute* "guild" + (("#!/bin/sh") (string-append "#! " bash)) + (("@installed_guile@") (string-append out-bin "/guile"))) + (chmod "guild" #o555))))))) + (synopsis "Bootstrap Guile plus Guild") + (description "Bootstrap Guile with added Guild") + (home-page #f) + (license (package-license guile-2.0)))) + (define mes-boot (package (inherit mes) -- cgit 1.4.1 From d3aec6bd896e005cd4aac77f2c1788aaac91a3f2 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 6 Dec 2019 07:21:21 +0100 Subject: gnu: commencement: Add gash-boot. * gnu/packages/commencement.scm (gash-boot): New variable. --- gnu/packages/commencement.scm | 94 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 04502a4e90..e077fe63d5 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -44,6 +44,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages linux) #:use-module (gnu packages hurd) + #:use-module (gnu packages shells) #:use-module (gnu packages texinfo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages rsync) @@ -51,6 +52,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system guile) #:use-module (guix build-system trivial) #:use-module (guix memoization) #:use-module (guix utils) @@ -130,7 +132,95 @@ (synopsis "Bootstrap Guile plus Guild") (description "Bootstrap Guile with added Guild") (home-page #f) - (license (package-license guile-2.0)))) + (license (package-license guile-2.0)) + (native-search-paths + (list (search-path-specification + (variable "GUILE_LOAD_PATH") + (files '("share/guile/site/2.0"))) + (search-path-specification + (variable "GUILE_LOAD_COMPILED_PATH") + (files '("lib/guile/2.0/site-ccache"))))))) + +(define gash-boot + (package + (inherit gash) + (name "gash-boot") + (version "0.2.0") + (source (bootstrap-origin + (origin (inherit (package-source gash)) + (modules '((guix build utils) + (srfi srfi-26))) + (snippet + '(begin + ;; Remove Guix'y files that we cannot compile. + (delete-file "guix.scm") + (delete-file-recursively "tests") + #t))))) + (build-system guile-build-system) + (native-inputs `(("bash" ,(bootstrap-executable "bash" (%current-system))) + ("tar" ,(bootstrap-executable "tar" (%current-system))) + ("xz" ,(bootstrap-executable "xz" (%current-system))) + ("guile-source" ,(bootstrap-origin + (package-source guile-2.0))))) + (inputs `(("guile" ,%bootstrap-guile+guild))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile+guild + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-guile-source + (lambda _ + (let ((guile-source (assoc-ref %build-inputs "guile-source")) + (bin (string-append (getcwd) "/zee-bin"))) + (mkdir-p bin) + (with-directory-excursion bin + (invoke "tar" "--strip-components=2" + + "-xvf" guile-source + (string-append "guile-" + ,(package-version guile-2.0) + "/meta/guild.in")) + (copy-file "guild.in" "guild") + (chmod "guild" #o555)) + #t))) + (add-before 'unpack 'set-path + (lambda _ + (let ((bash (assoc-ref %build-inputs "bash")) + (tar (assoc-ref %build-inputs "tar")) + (xz (assoc-ref %build-inputs "xz")) + (bin (string-append (getcwd) "/zee-bin"))) + (mkdir-p bin) + (setenv "PATH" (string-append bin ":" (getenv "PATH"))) + (copy-file bash (string-append bin "/bash")) + (copy-file bash (string-append bin "/sh")) + (copy-file tar (string-append bin "/tar")) + (copy-file xz (string-append bin "/xz")) + #t))) + (add-after 'build 'build-scripts + (lambda _ + (let* ((guile (assoc-ref %build-inputs "guile")) + (guile (string-append guile "/bin/guile")) + (out (assoc-ref %outputs "out")) + (effective "2.0") + (moddir (string-append out "/share/guile/site/" effective "/")) + (godir (string-append out "/lib/guile/" effective "/site-ccache/"))) + (copy-file "scripts/gash.in" "scripts/gash") + (chmod "scripts/gash" #o555) + (substitute* "scripts/gash" + (("@GUILE@") guile) + (("@MODDIR@") moddir) + (("@GODIR") godir)) + #t))) + (add-after 'install 'install-scripts + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (install-file "scripts/gash" bin) + (copy-file "scripts/gash" "scripts/sh") + (install-file "scripts/sh" bin) + (copy-file "scripts/gash" "scripts/bash") + (install-file "scripts/bash" bin) + #t)))))))) (define mes-boot (package -- cgit 1.4.1 From 9f5a22b9de807da98b63badc7710325fcfe5f3fd Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 6 Dec 2019 07:22:06 +0100 Subject: gnu: commencement: Add gash-core-utils-boot. * gnu/packages/commencement.scm (gash-core-utils-boot): New variable. (%boot-gash-inputs): New variable. --- gnu/packages/commencement.scm | 166 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index e077fe63d5..bf320c1761 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -222,6 +222,172 @@ (install-file "scripts/bash" bin) #t)))))))) +(define gash-core-utils-boot + (package + (inherit gash-core-utils) + (name "gash-core-utils-boot") + (version "0.0.213-3f6eb") + (source (bootstrap-origin + (origin + (method url-fetch) + (uri (string-append "http://lilypond.org/janneke/" + "/gash-core-utils-" version ".tar.gz")) + (modules '((guix build utils))) + (snippet + '(begin + ;; The Guile build system compiles *.scm; avoid + ;; compiling included lalr. + (delete-file "guix.scm") + (delete-file-recursively "tests") + (substitute* "system/base/lalr.scm" + (("system/base/lalr.upstream.scm") "lalr.upstream.scm")) + #t)) + (sha256 + (base32 + "0601c9hqbjrjjsllr2m3zmkglkd53d97in7a5c22ikd8islddp76"))))) + (build-system guile-build-system) + (native-inputs `(("bash" ,(bootstrap-executable "bash" (%current-system))) + ("tar" ,(bootstrap-executable "tar" (%current-system))) + ("xz" ,(bootstrap-executable "xz" (%current-system))) + ("guile-source" ,(bootstrap-origin + (package-source guile-2.0))) + ;; We need the 2.0.9 lalr for %bootstrap-guile + ("lalr.upstream" + ,(origin + (method url-fetch) + (uri (string-append "http://git.savannah.gnu.org/cgit/guile.git/plain/module/system/base/lalr.upstream.scm?h=v2.0.9")) + (file-name "lalr.upstream.scm") + (sha256 + (base32 + "0h7gyjj8nr2qrgzwma146s7l22scp8bbcqzdy9wqf12bgyhbw7d5")))))) + (inputs `(("guile" ,%bootstrap-guile+guild) + ("gash" ,gash-boot))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile+guild + #:not-compiled-file-regexp "upstream\\.scm$" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-guile-source + (lambda _ + (let ((guile-source (assoc-ref %build-inputs "guile-source")) + (bin (string-append (getcwd) "/zee-bin"))) + (mkdir-p bin) + (with-directory-excursion bin + (invoke "tar" "--strip-components=2" + + "-xvf" guile-source + (string-append "guile-" + ,(package-version guile-2.0) + "/meta/guild.in")) + (copy-file "guild.in" "guild") + (chmod "guild" #o555)) + #t))) + (add-before 'unpack 'set-path + (lambda _ + (let ((bash (assoc-ref %build-inputs "bash")) + (tar (assoc-ref %build-inputs "tar")) + (xz (assoc-ref %build-inputs "xz")) + (bin (string-append (getcwd) "/zee-bin"))) + (mkdir-p bin) + (setenv "PATH" (string-append bin ":" (getenv "PATH"))) + (copy-file bash (string-append bin "/bash")) + (copy-file bash (string-append bin "/sh")) + (copy-file tar (string-append bin "/tar")) + (copy-file xz (string-append bin "/xz")) + #t))) + (add-before 'build 'set-env + (lambda _ + (let ((gash (assoc-ref %build-inputs "gash"))) + (setenv "LANG" "C") + (setenv "LC_ALL" "C") + (setenv "GUILE_LOAD_PATH" + (string-append (getcwd) + ":" (getcwd) "/system/base" + ":" gash "/share/guile/2.0")) + (setenv "GUILE_LOAD_COMPILED_PATH" + (string-append ".:" gash "/lib/guile/2.0/site-ccache/")) + (format (current-error-port) + "GUILE_LOAD_PATH=~s\n" (getenv "GUILE_LOAD_PATH")) + #t))) + (add-before 'build 'replace-lalr.upstream + (lambda _ + (let ((lalr.upstream (assoc-ref %build-inputs "lalr.upstream"))) + (copy-file lalr.upstream "system/base/lalr.upstream.scm") + #t))) + (add-after 'build 'build-scripts + (lambda _ + (let* ((guile (assoc-ref %build-inputs "guile")) + (guile (string-append guile "/bin/guile")) + (gash (string-append guile "gash")) + (out (assoc-ref %outputs "out")) + (effective "2.0") + (guilemoduledir (string-append gash "/share/guile/site/" effective "/")) + (guileobjectdir (string-append gash "/lib/guile/" effective "/site-ccache/")) + (gashmoduledir (string-append out "/share/guile/site/" effective "/")) + (gashobjectdir (string-append out "/lib/guile/" effective "/site-ccache/")) + (bin (string-append out "/bin"))) + (define (wrap name) + (copy-file "command.in" name) + (chmod name #o555) + (substitute* name + (("@GUILE@") guile) + (("@guilemoduledir@") guilemoduledir) + (("@guileobjectdir") guileobjectdir) + (("@gashmoduledir@") gashmoduledir) + (("@gashobjectdir") gashobjectdir) + (("@command@") name)) + (install-file name bin)) + (mkdir-p bin) + (with-directory-excursion "bin" + (for-each wrap '("awk" + "basename" + "cat" + "chmod" + "cmp" + "compress" + "cp" + "cut" + "diff" + "dirname" + "expr" + "false" + "find" + "grep" + "gzip" + "head" + "ln" + "ls" + "mkdir" + "mv" + "pwd" + "reboot" + "rm" + "rmdir" + "sed" + "sleep" + "sort" + "tar" + "test" + "touch" + "tr" + "true" + "uname" + "uniq" + "wc" + "which"))) + (with-directory-excursion bin + (copy-file "grep" "fgrep") + (copy-file "grep" "egrep") + (copy-file "test" "[")) + #t)))))))) + +(define (%boot-gash-inputs) + `(("bash" , gash-boot) ; gnu-build-system wants "bash" + ("coreutils" , gash-core-utils-boot) + ("guile" ,%bootstrap-guile) + ("guile+guild" ,%bootstrap-guile+guild))) + (define mes-boot (package (inherit mes) -- cgit 1.4.1 From da2ae09b4289cfd7e05dfd50538ef72bcae9c45f Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 8 Dec 2019 20:37:55 +0100 Subject: gnu: commencement: Add %bootstrap-mes-rewired. * gnu/packages/commencement.scm (%bootstrap-mes-rewired): New variable. --- gnu/packages/commencement.scm | 109 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index bf320c1761..f666dbe924 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -388,6 +388,115 @@ ("guile" ,%bootstrap-guile) ("guile+guild" ,%bootstrap-guile+guild))) +(define %bootstrap-mes-rewired + (package + (inherit mes) + (name "bootstrap-mes-rewired") + (version "0.19") + (source #f) + (native-inputs `(("mes" ,(@ (gnu packages bootstrap) %bootstrap-mes)) + ("gash" ,gash-boot))) + (inputs '()) + (propagated-inputs '()) + (outputs '("out")) + (build-system trivial-build-system) + (arguments + `(#:guile ,%bootstrap-guile + #:modules ((guix build utils) + (srfi srfi-26)) + #:builder (begin + (use-modules (guix build utils) + (srfi srfi-26)) + (let* ((mes (assoc-ref %build-inputs "mes")) + (gash (assoc-ref %build-inputs "gash")) + (mes-bin (string-append mes "/bin")) + (guile (string-append mes-bin "/mes")) + (mes-module (string-append mes "/share/mes/module")) + (out (assoc-ref %outputs "out")) + (bin (string-append out "/bin")) + (mescc (string-append bin "/mescc")) + (module (string-append out "/share/mes/module"))) + (define (rewire file) + (substitute* file + ((mes) out) + (("/gnu/store[^ ]+mes-minimal-[^/)}\"]*") out) + (("/gnu/store[^ ]+guile-[^/]*/bin/guile") guile) + (("/gnu/store[^ ]+bash-[^/)}\"]*") gash))) + + (mkdir-p bin) + (for-each (lambda (file) (install-file file bin)) + (find-files mes-bin)) + (mkdir-p module) + (copy-recursively (string-append mes-module "/mes") + (string-append module "/mes")) + (copy-recursively (string-append mes-module "/srfi") + (string-append module "/srfi")) + (for-each rewire + ;; Cannot easily rewire "mes" because it + ;; contains NUL characters; would require + ;; remove-store-references alike trick + (filter (negate (cut string-suffix? "/mes" <>)) + (find-files bin))) + (rewire (string-append module "/mes/boot-0.scm")) + + (delete-file mescc) + (with-output-to-file mescc + (lambda _ + (display (string-append + "\ +#! " gash "/bin/sh +LANG=C +LC_ALL=C +export LANG LC_ALL + +MES_PREFIX=${MES_REWIRED_PREFIX-" out "/share/mes} +MES=" bin "/mes +export MES MES_PREFIX + +MES_ARENA=${MES_REWIRED_ARENA-10000000} +MES_MAX_ARENA=${MES_REWIRED_ARENA-10000000} +MES_STACK=${MES_REWIRED_STACK-1000000} +export MES_ARENA MES_MAX_ARENA MES_STACK + +$MES -e '(mescc)' module/mescc.scm -- \"$@\" +")))) + (chmod mescc #o555) + + (with-directory-excursion module + (chmod "mes/base.mes" #o644) + (copy-file "mes/base.mes" "mes/base.mes.orig") + (let ((base.mes (open-file "mes/base.mes" "a"))) + (display " +;; A fixed map, from Mes 0.21, required to bootstrap Mes 0.21 +(define (map f h . t) + (if (or (null? h) + (and (pair? t) (null? (car t))) + (and (pair? t) (pair? (cdr t)) (null? (cadr t)))) '() + (if (null? t) (cons (f (car h)) (map f (cdr h))) + (if (null? (cdr t)) + (cons (f (car h) (caar t)) (map f (cdr h) (cdar t))) + (if (null? (cddr t)) + (cons (f (car h) (caar t) (caadr t)) (map f (cdr h) (cdar t) (cdadr t))) + (if (null? (cdddr t)) + (cons (f (car h) (caar t) (caadr t) (car (caddr t))) (map f (cdr h) (cdar t) (cdadr t) (cdr (caddr t)))) + (error 'unsupported (cons* 'map-5: f h t))) ))))) +" base.mes) + (close base.mes)) + + (chmod "mes/guile.mes" #o644) + (copy-file "mes/guile.mes" "mes/guile.mes.orig") + (let ((guile.mes (open-file "mes/guile.mes" "a"))) + (display " +;; After booting guile.scm; use Mes 0.21; especially: MesCC 0.21 +(let* ((self (car (command-line))) + (prefix (dirname (dirname self)))) + (set! %moduledir (string-append prefix \"/mes/module/\")) + (setenv \"%numbered_arch\" \"true\")) + +" guile.mes) + (close guile.mes))) + #t)))))) + (define mes-boot (package (inherit mes) -- cgit 1.4.1 From c9c1cbf60d64f2f2169b2025495e60c22d283193 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 3 Jan 2019 21:50:10 +0100 Subject: gnu: commencement: mes-boot: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (mes-boot): Update to 0.21-32-g51c7e5f6f. Use Gash instead of coretutils&co. --- gnu/packages/commencement.scm | 96 +++++++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 41 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index f666dbe924..14647dfc87 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -477,9 +477,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (cons (f (car h) (caar t)) (map f (cdr h) (cdar t))) (if (null? (cddr t)) (cons (f (car h) (caar t) (caadr t)) (map f (cdr h) (cdar t) (cdadr t))) - (if (null? (cdddr t)) - (cons (f (car h) (caar t) (caadr t) (car (caddr t))) (map f (cdr h) (cdar t) (cdadr t) (cdr (caddr t)))) - (error 'unsupported (cons* 'map-5: f h t))) ))))) + (error 'unsupported (cons* 'map-4: f h t))b ))))) " base.mes) (close base.mes)) @@ -501,72 +499,88 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (package (inherit mes) (name "mes-boot") - (version "0.19") + (version "0.21-33-g6d493b90d") (source (origin (method url-fetch) - (uri (string-append "mirror://gnu/mes/" + (uri (string-append "http://lilypond.org/janneke/mes/" "mes-" version ".tar.gz")) (sha256 (base32 - "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0")))) + "0nr74zyam5n82svjwfbcz2mycj88vvsqab12x0mxv1lm6yqxqmmj")))) (inputs '()) (propagated-inputs '()) (native-inputs - `(("mescc-tools" ,%bootstrap-mescc-tools) - ("nyacc-source" ,(bootstrap-origin - (package-source nyacc-0.86))) - - ("coreutils" , %bootstrap-coreutils&co) - ("bootstrap-mes" ,%bootstrap-mes))) + `(("nyacc-source" ,(origin (inherit (package-source nyacc)) + (snippet #f))) + ("mes" ,%bootstrap-mes-rewired) + ("mescc-tools" ,%bootstrap-mescc-tools) + ,@(%boot-gash-inputs))) (arguments `(#:implicit-inputs? #f + #:tests? #f #:guile ,%bootstrap-guile #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries #:phases (modify-phases %standard-phases (add-after 'unpack 'unpack-seeds (lambda _ - (let ((nyacc-source (assoc-ref %build-inputs "nyacc-source")) - (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes"))) + (let ((nyacc-source (assoc-ref %build-inputs "nyacc-source"))) (with-directory-excursion ".." - (mkdir-p "nyacc-source") - (invoke "tar" "--strip=1" "-C" "nyacc-source" "-xvf" nyacc-source) - (symlink (string-append bootstrap-mes "/share/mes/lib") "mes-seed")) - #t))) + (invoke "tar" "-xvf" nyacc-source))))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref %outputs "out"))) - (setenv "GUILE" "mes") - (setenv "GUILE_EFFECTIVE_VERSION" "2.2") - (setenv "GUILE_LOAD_PATH" "nyacc") - (symlink (string-append "../nyacc-source/module") "nyacc") - (invoke "bash" "configure.sh" - (string-append "--prefix=" out))))) + (let ((out (assoc-ref %outputs "out")) + (gash (assoc-ref %build-inputs "bash")) + (mes (assoc-ref %build-inputs "mes")) + (dir (with-directory-excursion ".." (getcwd)))) + (setenv "AR" (string-append "gash " (getcwd) "/scripts/mesar")) + (setenv "BASH" (string-append gash "/bin/bash")) + (setenv "CC" (string-append mes "/bin/mescc")) + (setenv "GUILE_LOAD_PATH" + (string-append + mes "/share/mes/module" + ":" dir "/nyacc-0.99.0/module" + ":" (getenv "GUILE_LOAD_PATH"))) + (invoke "gash" "configure.sh" + (string-append "--prefix=" out) + (string-append "--host=i686-linux-gnu"))))) (replace 'build (lambda _ - (let ((mes (assoc-ref %build-inputs "bootstrap-mes"))) - (setenv "MES_PREFIX" (string-append mes "/share/mes")) - (setenv "MES_ARENA" "100000000") - (setenv "MES_MAX_ARENA" "100000000") - (setenv "MES_STACK" "10000000") - (invoke "sh" "bootstrap.sh")))) - (replace 'check - (lambda _ - (setenv "DIFF" "sh scripts/diff.scm") - ;; fail fast tests - ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/t") - ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/63-struct-cell") - (invoke "sh" "check.sh"))) + (invoke "sh" "bootstrap.sh"))) + (delete 'check) (replace 'install (lambda _ - (invoke "sh" "install.sh")))))) + (substitute* "install.sh" ; show some progress + ((" -xf") " -xvf") + (("^( *)((cp|mkdir|tar) [^']*[^\\])\n" all space cmd) + (string-append space "echo '" cmd "'\n" + space cmd "\n"))) + (invoke "sh" "install.sh") + ;; Keep ASCII output, for friendlier comparison and bisection + (let* ((out (assoc-ref %outputs "out")) + (cache (string-append out "/lib/cache"))) + (define (objects-in-dir dir) + (find-files dir + (lambda (name stat) + (and (equal? (dirname name) dir) + (or (string-suffix? ".o" name) + (string-suffix? ".s" name)))))) + (for-each (lambda (x) (install-file x cache)) + (append (objects-in-dir ".") + (objects-in-dir "mescc-lib")))) + #t))))) (native-search-paths (list (search-path-specification (variable "C_INCLUDE_PATH") - (files '("share/mes/include"))) + (files '("include"))) (search-path-specification (variable "LIBRARY_PATH") - (files '("share/mes/lib"))))))) + (files '("lib"))) + (search-path-specification + (variable "MES_PREFIX") + (separator #f) + (files '(""))))))) + (define tcc-boot0 ;; Pristine tcc cannot be built by MesCC, we are keeping a delta of 11 -- cgit 1.4.1 From 5dedce047c97d5ac17daa284b56c74bf4e1a29b2 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 4 Dec 2018 23:19:56 +0100 Subject: gnu: commencement: tcc-boot0: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (tcc-boot0): Use Gash instead of coretutils&co. --- gnu/packages/commencement.scm | 187 +++++++++++++++++++----------------------- 1 file changed, 83 insertions(+), 104 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 14647dfc87..1444c70e3d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -589,111 +589,90 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" ;; bootstrappable effort; we will try again later. These patches have been ;; ported to 0.9.27, alas the resulting tcc is buggy. Once MesCC is more ;; mature, this package should use the 0.9.27 sources (or later). - (let ((version "0.9.26") - (revision "6") - (commit "c004e9a34fb026bb44d211ab98bb768e79900eef")) - (package - (inherit tcc) - (name "tcc-boot0") - (version (string-append version "-" revision "." (string-take commit 7))) - (source (origin - (method url-fetch) - (uri (list (string-append "mirror://gnu/guix/mirror" - "/tinycc-" commit ".tar.gz") - (string-append "https://gitlab.com/janneke/tinycc" - "/-/archive/" commit - "/tinycc-" commit ".tar.gz"))) - (sha256 - (base32 - "1hmzn1pq0x22ppd80hyrn5qzqq94mxd0ychzj6vrr2vnj2frjv5b")))) - (build-system gnu-build-system) - (supported-systems '("i686-linux" "x86_64-linux")) - (inputs '()) - (propagated-inputs '()) - (native-inputs - `(("mes" ,mes-boot) - ("mescc-tools" ,%bootstrap-mescc-tools) - ("nyacc-source" ,(bootstrap-origin - (package-source nyacc-0.86))) + (package + (inherit tcc) + (name "tcc-boot0") + (version "0.9.26-1103-g6e62e0e") + (source (origin + (method url-fetch) + (uri (string-append + "http://lilypond.org/janneke/mes/20191117/" + "/tcc-" version ".tar.gz")) + (sha256 + (base32 + "1qbybw7mxbgkv3sazvz1v7c8byq998vk8f1h25ik8w3d2l63lxng")))) + (build-system gnu-build-system) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs + `(("mes" ,mes-boot) + ("nyacc-source" ,(origin (inherit (package-source nyacc)) + (snippet #f))) + ("mescc-tools" ,%bootstrap-mescc-tools) + ,@(%boot-gash-inputs))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:validate-runpath? #f ; no dynamic executables + #:strip-binaries? #f ; no strip yet + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-seeds + (lambda* (#:key outputs #:allow-other-keys) + (let ((nyacc-source (assoc-ref %build-inputs "nyacc-source"))) + (with-directory-excursion ".." + (invoke "tar" "-xvf" nyacc-source))))) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (dir (with-directory-excursion ".." (getcwd))) + (interpreter "/lib/mes-loader")) - ("coreutils" , %bootstrap-coreutils&co) - ("bootstrap-mes" ,%bootstrap-mes))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-seeds - (lambda* (#:key outputs #:allow-other-keys) - (let* ((coreutils (assoc-ref %build-inputs "coreutils")) - (nyacc-source (assoc-ref %build-inputs "nyacc-source")) - (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes"))) - (setenv "PATH" (string-append - coreutils "/bin")) - (format (current-error-port) "PATH=~s\n" (getenv "PATH")) - (with-directory-excursion ".." - (mkdir-p "nyacc-source") - (invoke "tar" "--strip=1" "-C" "nyacc-source" - "-xvf" nyacc-source) - (symlink (string-append bootstrap-mes "/share/mes/lib") "mes-seed")) - #t))) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (dir (with-directory-excursion ".." (getcwd))) - (coreutils (assoc-ref %build-inputs "coreutils")) - (mes (assoc-ref %build-inputs "mes")) - (mescc-tools (assoc-ref %build-inputs "mescc-tools")) - (libc (assoc-ref %build-inputs "libc")) - (interpreter (if libc - ;; also for x86_64-linux, we are still on i686-linux - (string-append libc ,(glibc-dynamic-linker "i686-linux")) - (string-append mes "/lib/mes-loader")))) - (setenv "PATH" (string-append - coreutils "/bin" - ":" mes "/bin" - ":" mescc-tools "/bin")) - (format (current-error-port) "PATH=~s\n" (getenv "PATH")) - - (setenv "PREFIX" out) - (symlink (string-append mes "/share/mes") "mes") - (symlink (string-append "../nyacc-source/module") "nyacc") - (setenv "MES_PREFIX" "mes") - (setenv "MES_ARENA" "100000000") - (setenv "MES_MAX_ARENA" "100000000") - (setenv "MES_STACK" "10000000") - (setenv "MES" "mes") - (setenv "GUILE_LOAD_PATH" "nyacc") - (invoke "sh" "configure" - "--prefix=$PREFIX" - (string-append "--elfinterp=" interpreter) - "--crtprefix=." - "--tccdir=.")))) - (replace 'build - (lambda _ - (substitute* "bootstrap.sh" - (("^ cmp") "# cmp")) - (invoke "sh" "bootstrap.sh"))) - (replace 'check - (lambda _ - (setenv "DIFF" "diff.scm") - (setenv "OBJDUMP" "true") - ;; fail fast tests - ;; (invoke "sh" "test.sh" "mes/scaffold/tests/30-strlen") - ;; (invoke "sh" "-x" "test.sh" "mes/scaffold/tinycc/00_assignment") - (setenv "TCC" "./tcc") - (invoke "sh" "check.sh"))) - (replace 'install - (lambda _ - (invoke "sh" "install.sh")))))) - (native-search-paths - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib")))))))) + (setenv "prefix" out) + (setenv "GUILE_LOAD_PATH" + (string-append dir "/nyacc-0.99.0/module")) + + (substitute* "conftest.c" + (("volatile") "")) + + (invoke "sh" "configure" + "--cc=mescc" + (string-append "--prefix=" out) + (string-append "--elfinterp=" interpreter) + "--crtprefix=." + "--tccdir=.")))) + (replace 'build + (lambda _ + (substitute* "bootstrap.sh" ; Show some progress + (("^( *)((cp|ls|mkdir|rm|[.]/tcc|[.]/[$][{PROGRAM_PREFIX[}]tcc) [^\"]*[^\\])\n" all space cmd) + (string-append space "echo \"" cmd "\"\n" + space cmd "\n"))) + (invoke "sh" "bootstrap.sh"))) + (replace 'check + (lambda _ + ;; fail fast tests + (system* "./tcc" "--help") ; --help exits 1 + ;; (invoke "sh" "test.sh" "mes/scaffold/tests/30-strlen") + ;; (invoke "sh" "-x" "test.sh" "mes/scaffold/tinycc/00_assignment") + ;; TODO: add sensible check target (without depending on make) + ;; (invoke "sh" "check.sh") + #t)) + (replace 'install + (lambda _ + (substitute* "install.sh" ; Show some progress + (("^( *)((cp|ls|mkdir|rm|tar|./[$][{PROGRAM_PREFIX[}]tcc) [^\"]*[^\\])\n" all space cmd) + (string-append space "echo \"" cmd "\"\n" + space cmd "\n"))) + + (invoke "sh" "install.sh")))))) + (native-search-paths + (list (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib"))))))) (define tcc-boot (package -- cgit 1.4.1 From b022827de5440d64bf1ee57915bafadbca3a3dbe Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 21 Sep 2019 22:03:44 +0200 Subject: gnu: commencement: Add gzip-mesboot. * gnu/packages/commencement.scm (gzip-mesboot): New variable. --- gnu/packages/commencement.scm | 55 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1444c70e3d..0f952286f2 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -674,6 +674,61 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (variable "LIBRARY_PATH") (files '("lib"))))))) +(define gzip-mesboot + ;; The initial gzip. We keep this scripted gzip build before building make + ;; to soften the dependency on Gash Core Utils gzip. + (package + (inherit gzip) + (version "1.2.4") + (name "gzip-mesboot") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gzip/gzip-" version ".tar")) + (sha256 + (base32 + "1rhgk2vvmdvnn6vygf0dja92ryyng00knl0kz5srb77k2kryjb2d")))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("tcc" ,tcc-boot0) + ,@(%boot-gash-inputs))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:strip-binaries? #f ; no strip yet + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'scripted-patch + (lambda _ + (substitute* "util.c" + (("^char [*]strlwr" all) (string-append all "_tcc_cannot_handle_dupe"))) + #t)) + (replace 'build + (lambda _ + (let ((files '("bits" "crypt" "deflate" "getopt" "gzip" + "inflate" "lzw" "trees" "unlzh" "unlzw" + "unpack" "unzip" "util" "zip"))) + (define (compile x) + (invoke "tcc" "-c" "-D NO_UTIME=1" "-D HAVE_UNISTD_H=1" + (string-append x ".c"))) + (for-each compile files) + (apply invoke + (cons* "tcc" "-o" "gzip" + (map (lambda (x) (string-append x ".o")) files))) + (link "gzip" "gunzip")))) + (replace 'install + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (install-file "gzip" bin) + (install-file "gunzip" bin)))) + (replace 'check + (lambda _ + (invoke "./gzip" "--version"))) + ;; no gzip yet + (delete 'compress-documentation)))))) + (define tcc-boot (package (inherit tcc-boot0) -- cgit 1.4.1 From 19be1dc65b99449703741e5e5b37436540ca0894 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 21 Sep 2019 13:34:42 +0200 Subject: gnu: commencement: make-mesboot0: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (make-mesboot0): Use Gash instead of coreutils&co. (%boot-tcc0-inputs): New variable. --- gnu/packages/commencement.scm | 107 +++++++++++++++++++++++------------------- 1 file changed, 60 insertions(+), 47 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 0f952286f2..8f7c95b976 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -729,6 +729,66 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" ;; no gzip yet (delete 'compress-documentation)))))) +(define make-mesboot0 + ;; The initial make + (package + (inherit gnu-make) + (name "make-mesboot0") + (version "3.80") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/make/make-" version ".tar.gz")) + (sha256 + (base32 + "1pb7fb7fqf9wz9najm85qdma1xhxzf1rhj5gwrlzdsz2zm0hpcv4")))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("tcc" ,tcc-boot0) + ,@(%boot-gash-inputs))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:configure-flags '("CC=tcc" + "CPP=tcc -E" + "LD=tcc" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + "--disable-nls") + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:strip-binaries? #f ; no strip yet + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'scripted-patch + (lambda _ + (substitute* "build.sh.in" + (("@LIBOBJS@") "getloadavg.o") + (("@REMOTE@") "stub")) + #t)) + (add-after 'configure 'configure-fixup + (lambda _ + (substitute* "make.h" + (("^extern long int lseek.*" all) (string-append "// " all))) + #t)) + (replace 'build + (lambda _ + (invoke "sh" "./build.sh"))) + (replace 'check ; proper check needs awk + (lambda _ + (invoke "./make" "--version"))) + (replace 'install + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (install-file "make" bin))))))))) + +(define (%boot-tcc0-inputs) + `(("make" ,make-mesboot0) + ("tcc" ,tcc-boot0) + ,@(%boot-gash-inputs))) + (define tcc-boot (package (inherit tcc-boot0) @@ -830,53 +890,6 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a")) #t)))))))) -(define make-mesboot0 - (package - (inherit gnu-make) - (name "make-mesboot0") - (version "3.80") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/make/make-" - version ".tar.gz")) - (sha256 - (base32 - "1pb7fb7fqf9wz9najm85qdma1xhxzf1rhj5gwrlzdsz2zm0hpcv4")))) - (supported-systems '("i686-linux" "x86_64-linux")) - (inputs '()) - (propagated-inputs '()) - (native-inputs `(("tcc" ,tcc-boot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co))) - (arguments - `(#:implicit-inputs? #f - #:tests? #f ; check depends on perl - #:guile ,%bootstrap-guile - #:configure-flags `("CC=tcc -DO_RDONLY=0" - "LD=tcc" - "--disable-nls") - #:phases - (modify-phases %standard-phases - (add-after 'configure 'configure-fixup - (lambda _ - (substitute* "build.sh" - (("^REMOTE=.*") "REMOTE=stub\n") - (("^extras=.*") "extras=getloadavg.c\n")) - (substitute* "make.h" - (("^extern long int lseek.*" all) (string-append "// " all))) - #t)) - (delete 'patch-generated-file-shebangs) ; no perl - (replace 'build - (lambda _ - (invoke "sh" "./build.sh"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (install-file "make" bin) - #t)))))))) - (define diffutils-mesboot (package (inherit diffutils) -- cgit 1.4.1 From 0bf3466372afd981c55396e14a11c3eccaf1924e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 21 Sep 2019 22:32:18 +0200 Subject: gnu: commencement: Add bzip2-mesboot. * gnu/packages/commencement.scm (bzip2-mesboot): New variable. --- gnu/packages/commencement.scm | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8f7c95b976..b9f5e6f438 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -789,6 +789,56 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" ("tcc" ,tcc-boot0) ,@(%boot-gash-inputs))) +(define bzip2-mesboot + ;; The initial bzip2 + (package + (inherit bzip2) + (name "bzip2-mesboot") + (version (package-version bzip2)) + (source (bootstrap-origin (package-source bzip2))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs (%boot-tcc0-inputs)) + (outputs '("out")) + (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 + #:make-flags (list "CC=tcc -I ." "AR=tcc -ar" "bzip2" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'scripted-patch + (lambda _ + (substitute* "Makefile" + (("\tln " all) + (string-append "\t#" all))) + (substitute* "bzip2.c" + (("struct utimbuf uTimBuf;" all) + (string-append "// " all)) + (("uTimBuf[.]" all) + (string-append "// " all)) + (("retVal = utime [(] dstName, &uTimBuf [)];" all) + (string-append "retVal = 0; // " all))) + #t)) + (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"))) + ;; FIXME: no compressing gzip yet + (delete 'compress-documentation)))))) + (define tcc-boot (package (inherit tcc-boot0) -- cgit 1.4.1 From d9484fba91bc360ad18fe82cb9f4963ccb32c580 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 22 Sep 2019 00:53:54 +0200 Subject: gnu: commencement: Add bash-mesboot0. * gnu/packages/commencement.scm (bash-mesboot0): New variable. --- gnu/packages/commencement.scm | 102 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index b9f5e6f438..80fff013e2 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -940,6 +940,108 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a")) #t)))))))) +(define bash-mesboot0 + ;; The initial Bash + (package + (inherit static-bash) + (name "bash-mesboot0") + (version "2.05b") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/bash/bash-" + version ".tar.gz")) + (sha256 + (base32 + "1r1z2qdw3rz668nxrzwa14vk2zcn00hw7mpjn384picck49d80xs")))) + (inputs '()) + (propagated-inputs '()) + (native-inputs (%boot-tcc0-inputs)) + (outputs '("out")) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:parallel-build? #f + #:strip-binaries? #f ; no strip yet + #:configure-flags + (list "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + + "--without-bash-malloc" + "--disable-readline" + "--disable-history" + "--disable-help-builtin" + "--disable-progcomp" + "--disable-net-redirections" + "--disable-nls" + + ;; Pretend 'dlopen' is missing so we don't build loadable + ;; modules and related code. + "ac_cv_func_dlopen=no") + #:make-flags '("bash") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'setenv + (lambda _ + (let* ((gash (assoc-ref %build-inputs "bash")) + (shell (string-append gash "/bin/gash"))) + (setenv "CONFIG_SHELL" shell) + (setenv "SHELL" shell) + (setenv "CC" "tcc") + (setenv "LD" "tcc") + (setenv "AR" "tcc -ar") + (setenv "CFLAGS" "-D _POSIX_VERSION=1") + #t))) + (add-after 'unpack 'scripted-patch + (lambda _ + (substitute* "Makefile.in" + (("mksyntax\\.c\n") "mksyntax.c -lgetopt\n") + (("buildversion[.]o\n") "buildversion.o -lgetopt\n") + ;; No size in Gash + (("\tsize ") "#\tsize")) + (substitute* "lib/sh/oslib.c" + (("int name, namelen;") "char *name; int namelen;")) + (substitute* "lib/sh/snprintf.c" + (("^#if (defined [(]HAVE_LOCALE_H[)])" all define) (string-append "#if 0 //" define))) + (substitute* "configure" + ((" egrep") " grep")) + #t)) + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + (let ((configure-flags (filter (lambda (x) + (and (not (string-prefix? "CONFIG_SHELL=" x)) + (not (string-prefix? "SHELL=" x)))) + configure-flags))) + (format (current-error-port) + "running ./configure ~a\n" (string-join configure-flags))) + (apply invoke (cons "./configure" configure-flags)))) + (add-after 'configure 'configure-fixups + (lambda _ + (substitute* "config.h" + (("#define GETCWD_BROKEN 1") "#undef GETCWD_BROKEN")) + (let ((config.h (open-file "config.h" "a"))) + (display (string-append " +// 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 +#define HAVE_POSIX_SIGNALS 1 +#define endpwent(x) 0 +") + config.h) + (close config.h)) + #t)) + (replace 'check + (lambda _ + (invoke "./bash" "--version"))) + (replace 'install + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (copy-file "bash" (string-append bin "/bash")) + (copy-file "bash" (string-append bin "/sh")) + #t)))))))) + (define diffutils-mesboot (package (inherit diffutils) -- cgit 1.4.1 From 1be3efb39713004e901b200f1c0be9c4b17f6b94 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 21 Sep 2019 10:43:18 +0200 Subject: gnu: commencement: tcc-boot: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (tcc-boot): Use Gash instead of coretutils&co. --- gnu/packages/commencement.scm | 208 ++++++++++++++++++++++-------------------- 1 file changed, 107 insertions(+), 101 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 80fff013e2..21b78063be 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -839,107 +839,6 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" ;; FIXME: no compressing gzip yet (delete 'compress-documentation)))))) -(define tcc-boot - (package - (inherit tcc-boot0) - (name "tcc-boot") - (version "0.9.27") - (source (bootstrap-origin - (origin - (inherit (package-source tcc)) - (patches (search-patches "tcc-boot-0.9.27.patch"))))) - (build-system gnu-build-system) - (inputs '()) - (propagated-inputs '()) - (native-inputs - `(("mes" ,mes-boot) - ("tcc" ,tcc-boot0) - - ("coreutils" , %bootstrap-coreutils&co))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - - ;; Binutils' 'strip' b0rkes MesCC/M1/hex2 binaries, tcc-boot also comes - ;; with MesCC/M1/hex2-built binaries. - #:strip-binaries? #f - - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (coreutils (assoc-ref %build-inputs "coreutils")) - (mes (assoc-ref %build-inputs "mes")) - (tcc (assoc-ref %build-inputs "tcc")) - (libc (assoc-ref %build-inputs "libc")) - (interpreter (if libc - ;; also for x86_64-linux, we are still on i686-linux - (string-append libc ,(glibc-dynamic-linker "i686-linux")) - (string-append mes "/lib/mes-loader")))) - ;; unpack - (setenv "PATH" (string-append - coreutils "/bin" - ":" tcc "/bin")) - (format (current-error-port) "PATH=~s\n" (getenv "PATH")) - (invoke "sh" "configure" - (string-append "--cc=tcc") - (string-append "--cpu=i386") - (string-append "--prefix=" out) - (string-append "--elfinterp=" interpreter) - (string-append "--crtprefix=" tcc "/lib") - (string-append "--sysincludepaths=" tcc "/include") - (string-append "--libpaths=" tcc "/lib"))))) - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) - (mes (assoc-ref %build-inputs "mes")) - (tcc (assoc-ref %build-inputs "tcc")) - (libc (assoc-ref %build-inputs "libc")) - (interpreter (if libc - ;; also for x86_64-linux, we are still on i686-linux - (string-append libc ,(glibc-dynamic-linker "i686-linux")) - (string-append mes "/lib/mes-loader")))) - (invoke "tcc" - "-vvv" - "-D" "BOOTSTRAP=1" - "-D" "ONE_SOURCE=1" - "-D" "TCC_TARGET_I386=1" - "-D" "CONFIG_TCC_STATIC=1" - "-D" "CONFIG_USE_LIBGCC=1" - "-D" (string-append "CONFIG_TCCDIR=\"" out "/lib/tcc\"") - "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out "/lib:{B}/lib:.\"") - "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out - "/lib:{B}/lib:.\"") - "-D" (string-append "CONFIG_TCC_ELFINTERP=\"" interpreter "\"") - "-D" (string-append "CONFIG_TCC_LIBPATHS=\"" tcc "/lib:{B}/lib:.\"") - "-D" (string-append "CONFIG_TCC_SYSINCLUDEPATHS=\"" tcc "/include" ":/include:{B}/include\"") - "-D" (string-append "TCC_LIBGCC=\"" tcc "/lib/libc.a\"") - "-o" "tcc" - "tcc.c")))) - (replace 'check - (lambda _ - ;; FIXME: add sensible check target (without depending on make) - ;; ./check.sh ? - (= 1 (status:exit-val (system* "./tcc" "--help"))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref %outputs "out")) - (tcc (assoc-ref %build-inputs "tcc"))) - (mkdir-p (string-append out "/bin")) - (copy-file "tcc" (string-append out "/bin/tcc")) - (mkdir-p (string-append out "/lib/tcc")) - (copy-recursively (string-append tcc "/include") - (string-append out "/include")) - (copy-recursively (string-append tcc "/lib") - (string-append out "/lib")) - (invoke "tcc" "-D" "TCC_TARGET_I386=1" "-c" "-o" "libtcc1.o" "lib/libtcc1.c") - (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 bash-mesboot0 ;; The initial Bash (package @@ -1042,6 +941,113 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (copy-file "bash" (string-append bin "/sh")) #t)))))))) +(define tcc-boot + ;; The final tcc. + (package + (inherit tcc-boot0) + (name "tcc-boot") + (version "0.9.27") + (source (origin + (inherit (package-source tcc)) + ;; `patches' needs XZ + ;; (patches (search-patches "tcc-boot-0.9.27.patch")) + )) + (build-system gnu-build-system) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(;;("boot-patch" ,(search-patch "tcc-boot-0.9.27.patch")) + ("bzip2" ,bzip2-mesboot) + ,@(%boot-tcc0-inputs))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:validate-runpath? #f ; no dynamic executables + #:strip-binaries? #f ; no strip yet + #:phases + (modify-phases %standard-phases + ;; tar xvf ..bz2 gives + ;; bzip2: PANIC -- internal consistency error + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (copy-file source "tarball.tar.bz2") + (invoke "bzip2" "-d" "tarball.tar.bz2") + (invoke "tar" "xvf" "tarball.tar") + (chdir (string-append "tcc-" ,version)) + #t)) + ;; no patch yet + ;; (add-after 'unpack 'apply-boot-patch + ;; (lambda* (#:key inputs #:allow-other-keys) + ;; (let ((patch-file (assoc-ref inputs "boot-patch"))) + ;; (invoke "patch" "-p1" "-i" patch-file)))) + (add-after 'unpack 'scripted-patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "libtcc.c" + (("s->alacarte_link = 1;" all) + (string-append all " + s->static_link = 1;"))) + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (tcc (assoc-ref %build-inputs "tcc")) + (libc (assoc-ref %build-inputs "libc")) + (interpreter "/mes/loader")) + (invoke "sh" "configure" + (string-append "--cc=tcc") + (string-append "--cpu=i386") + (string-append "--prefix=" out) + (string-append "--elfinterp=" interpreter) + (string-append "--crtprefix=" tcc "/lib") + (string-append "--sysincludepaths=" tcc "/include") + (string-append "--libpaths=" tcc "/lib"))))) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (tcc (assoc-ref %build-inputs "tcc")) + (libc (assoc-ref %build-inputs "libc")) + (interpreter "/mes/loader")) + (invoke + "tcc" + "-vvv" + "-D" "BOOTSTRAP=1" + "-D" "ONE_SOURCE=1" + "-D" "TCC_TARGET_I386=1" + "-D" "CONFIG_TCC_STATIC=1" + "-D" "CONFIG_USE_LIBGCC=1" + "-D" (string-append "CONFIG_TCCDIR=\"" out "/lib/tcc\"") + "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out "/lib:{B}/lib:.\"") + "-D" (string-append "CONFIG_TCC_CRTPREFIX=\"" out "/lib:{B}/lib:.\"") + "-D" (string-append "CONFIG_TCC_ELFINTERP=\"" interpreter "\"") + "-D" (string-append "CONFIG_TCC_LIBPATHS=\"" tcc "/lib:{B}/lib:.\"") + "-D" (string-append "CONFIG_TCC_SYSINCLUDEPATHS=\"" + tcc "/include" ":/include:{B}/include\"") + "-D" (string-append "TCC_LIBGCC=\"" tcc "/lib/libc.a\"") + "-o" "tcc" + "tcc.c")))) + (replace 'check + (lambda _ + ;; FIXME: add sensible check target (without depending on make) + ;; ./check.sh ? + (= 1 (status:exit-val (system* "./tcc" "--help"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref %outputs "out")) + (tcc (assoc-ref %build-inputs "tcc"))) + (and + (mkdir-p (string-append out "/bin")) + (copy-file "tcc" (string-append out "/bin/tcc")) + (mkdir-p (string-append out "/lib/tcc")) + (copy-recursively (string-append tcc "/include") + (string-append out "/include")) + (copy-recursively (string-append tcc "/lib") + (string-append out "/lib")) + (invoke "tcc" "-D" "TCC_TARGET_I386=1" "-c" "-o" "libtcc1.o" "lib/libtcc1.c") + (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 (package (inherit diffutils) -- cgit 1.4.1 From aa196f1f02afee706c4583d07a1fa34bdc18f0c8 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 22 Sep 2019 00:56:46 +0200 Subject: gnu: commencement: diffutils-mesboot: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (diffutils-mesboot): Use Gash instead of coretutils&co. --- gnu/packages/commencement.scm | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 21b78063be..9fcb69f433 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1049,6 +1049,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" #t))))))))) (define diffutils-mesboot + ;; The initial diffutils. (package (inherit diffutils) (name "diffutils-mesboot") @@ -1063,12 +1064,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (supported-systems '("i686-linux" "x86_64-linux")) (inputs '()) (propagated-inputs '()) - (native-inputs `(("mes" ,mes-boot) - ("tcc" ,tcc-boot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("make" ,make-mesboot0))) + (native-inputs (%boot-tcc0-inputs)) (arguments `(#:implicit-inputs? #f #:guile ,%bootstrap-guile @@ -1077,20 +1073,29 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" #:strip-binaries? #f ; no strip yet #:phases (modify-phases %standard-phases - ;; diffutils-2.7 needs more traditional configure - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash"))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "CC" "tcc") - (setenv "LD" "tcc") - (invoke "./configure" (string-append "--prefix=" out))))) (add-before 'configure 'remove-diff3-sdiff (lambda* (#:key outputs #:allow-other-keys) (substitute* "Makefile.in" - (("PROGRAMS = .*" all) "PROGRAMS = cmp diff")) - #t))))))) + (("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)))))))) (define binutils-mesboot0 (package -- cgit 1.4.1 From 1a433d396400577aa6da5c18507dfbe09645acc9 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 6 Oct 2019 14:57:54 +0200 Subject: gnu: commencement: Add patch-mesboot. * gnu/packages/commencement.scm (patch-mesboot): New variable. --- gnu/packages/commencement.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 9fcb69f433..d930063cf2 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1097,6 +1097,42 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (install-file "diff" bin) #t)))))))) +(define patch-mesboot + ;; The initial patch. + (package + (inherit patch) + (name "patch-mesboot") + (version "2.5.9") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/patch/patch-" + version ".tar.gz")) + (sha256 + (base32 + "12nv7jx3gxfp50y11nxzlnmqqrpicjggw6pcsq0wyavkkm3cddgc")))) + (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 + #:configure-flags '("AR=tcc -ar" "CC=tcc" "LD-tcc") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'scripted-patch + (lambda _ + ;; avoid another segfault + (substitute* "pch.c" + (("while [(]p_end >= 0[)]" all) + "p_end = -1;\nwhile (0)")) + #t)) + ;; FIXME: no compressing gzip yet + (delete 'compress-documentation)))))) + (define binutils-mesboot0 (package (inherit binutils) -- cgit 1.4.1 From b755ffef0a61dfb3c522baa8f4b6f19f2c97d851 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 6 Oct 2019 17:47:24 +0200 Subject: gnu: commencement: Add sed-mesboot0. * gnu/packages/commencement.scm (sed-mesboot0): New variable. * gnu/packages/commencement.scm (%boot-tcc-inputs): New variable. --- gnu/packages/commencement.scm | 54 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index d930063cf2..49ed14d158 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1133,6 +1133,60 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" ;; FIXME: no compressing gzip yet (delete 'compress-documentation)))))) +(define sed-mesboot0 + ;; The initial sed. + (package + (inherit sed) + (name "sed-mesboot0") + (version "1.18") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/sed/sed-" + version ".tar.gz")) + (sha256 + (base32 + "1hyv7i82jd0q18xcql51ylc8jwadp3gb3irgcqlis3v61p35jsv2")))) + (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 + #:configure-flags '("CC=tcc") + #:make-flags '("CC=tcc" "extra_objs=" "DEFS=-D HAVE_BCOPY") + #:strip-binaries? #f ; no strip yet + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'scripted-patch + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (substitute* "configure" + (("/bin/sh") shell)) + #t))) + (replace 'check + (lambda _ + (invoke "./sed" "--version"))) + (replace 'install + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (install-file "sed" bin) + #t)))))))) + +(define (%boot-tcc-inputs) + `(("bash" ,bash-mesboot0) + ("bzip2" ,bzip2-mesboot) + ("diffutils" ,diffutils-mesboot) + ("gzip" ,gzip-mesboot) + ("patch" ,patch-mesboot) + ("sed" ,sed-mesboot0) + ("tcc" ,tcc-boot) + ,@(alist-delete "tcc" (%boot-tcc0-inputs)))) + (define binutils-mesboot0 (package (inherit binutils) -- cgit 1.4.1 From cb167958ea904fc79913b883cb771e2d691402e0 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 6 Oct 2019 15:22:01 +0200 Subject: gnu: commencement: binutils-mesboot0: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (binutils-mesboot0): Use Gash instead of coretutils&co; downgrade to 2.14.0. --- gnu/packages/commencement.scm | 77 ++++++++++++++++++++++++++----------------- 1 file changed, 46 insertions(+), 31 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 49ed14d158..c5b473f546 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1188,50 +1188,65 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" ,@(alist-delete "tcc" (%boot-tcc0-inputs)))) (define binutils-mesboot0 + ;; The initial Binutils (package (inherit binutils) (name "binutils-mesboot0") - (version "2.20.1a") - (source (bootstrap-origin - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/binutils/binutils-" - version ".tar.bz2")) - (patches (search-patches "binutils-boot-2.20.1a.patch")) - (sha256 - (base32 - "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi"))))) + (version "2.14") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/binutils/binutils-" + version ".tar.gz")) + (sha256 + (base32 + "1w8xp7k44bkijr974x9918i4p1sw4g2fcd5mxvspkjpg38m214ds")))) (inputs '()) (propagated-inputs '()) - (native-inputs `(("tcc" ,tcc-boot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("make" ,make-mesboot0))) + (native-inputs (%boot-tcc-inputs)) (supported-systems '("i686-linux" "x86_64-linux")) (arguments `(#:implicit-inputs? #f #:guile ,%bootstrap-guile - #:tests? #f ; runtest: command not found + #:tests? #f ; runtest: command not found #:parallel-build? #f - #:strip-binaries? #f ; no strip yet + #:strip-binaries? #f ; no strip yet #:configure-flags - (let ((cppflags (string-append " -D __GLIBC_MINOR__=6" - " -D MES_BOOTSTRAP=1")) - (bash (assoc-ref %build-inputs "bash"))) - `(,(string-append "CONFIG_SHELL=" bash "/bin/sh") - ,(string-append "CPPFLAGS=" cppflags) - "AR=tcc -ar" - "CXX=false" - "RANLIB=true" - ,(string-append "CC=tcc" cppflags) - "--disable-nls" + (let ((out (assoc-ref %outputs "out"))) + `("--disable-nls" "--disable-shared" "--disable-werror" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - "--with-sysroot=/")))))) + "--build=i386-unknown-linux" + "--host=i386-unknown-linux" + "--target=i386-unknown-linux" + "--with-sysroot=/" + ,(string-append "--prefix=" out))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'setenv + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (setenv "CONFIG_SHELL" shell) + (setenv "SHELL" shell) + (setenv "AR" "tcc -ar") + (setenv "RANLIB" "true") + (setenv "CC" "tcc -D __GLIBC_MINOR__=6") + #t))) + (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)) + (replace 'configure ; needs classic invocation of configure + (lambda* (#:key configure-flags #:allow-other-keys) + (format (current-error-port) + "running ./configure ~a\n" (string-join configure-flags)) + (apply system* "./configure" configure-flags) + (substitute* "config.status" + (("[.]//dev/null") "/dev/null")) + (invoke "sh" "./config.status")))))))) (define gcc-core-mesboot ;; Gcc-2.95.3 is the most recent GCC that is supported by what the Mes C -- cgit 1.4.1 From 066169601c6c3ad59394e004944efa4ae8485a4e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 6 Oct 2019 19:29:01 +0200 Subject: gnu: commencement: gcc-core-mesboot0: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (gcc-core-mesboot0): Rename from gcc-core-mesboot; Use Gash instead of coretutils&co. --- gnu/packages/commencement.scm | 119 ++++++++++++++++++++++-------------------- 1 file changed, 63 insertions(+), 56 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index c5b473f546..3a8ac428c3 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1248,36 +1248,32 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (("[.]//dev/null") "/dev/null")) (invoke "sh" "./config.status")))))))) -(define gcc-core-mesboot +(define gcc-core-mesboot0 ;; Gcc-2.95.3 is the most recent GCC that is supported by what the Mes C ;; Library v0.16 offers. Gcc-3.x (and 4.x) place higher demands on a C ;; library, such as dir.h/struct DIR/readdir, locales, signals... Also, - ;; with gcc-2.95.3, binutils-boot-2.20.1a and glibc-2.2.5 we found a GNU - ;; toolchain triplet "that works". + ;; with gcc-2.95.3, binutils (2.14.0, 2.20.1a) and glibc-2.2.5 we found a + ;; GNU toolchain triplet "that works". (package (inherit gcc) - (name "gcc-core-mesboot") + (name "gcc-core-mesboot0") (version "2.95.3") - (source (bootstrap-origin - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gcc/gcc-2.95.3/gcc-core-" - version - ".tar.gz")) - (patches (search-patches "gcc-boot-2.95.3.patch")) - (sha256 - (base32 - "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an"))))) + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-2.95.3/gcc-core-" + version + ".tar.gz")) + ;; `patches' needs XZ + ;; (patches (search-patches "gcc-boot-2.95.3.patch")) + (sha256 + (base32 + "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an")))) (supported-systems '("i686-linux" "x86_64-linux")) (inputs '()) (propagated-inputs '()) - (native-inputs `(("binutils" ,binutils-mesboot0) - ("tcc" ,tcc-boot) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("make" ,make-mesboot0))) + (native-inputs `(("boot-patch" ,(search-patch "gcc-boot-2.95.3.patch")) + ("binutils" ,binutils-mesboot0) + ,@(%boot-tcc-inputs))) (outputs '("out")) (arguments `(#:implicit-inputs? #f @@ -1293,32 +1289,37 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" "--build=i686-unknown-linux-gnu" "--host=i686-unknown-linux-gnu" ,(string-append "--prefix=" out))) - #:make-flags (list - "CC=tcc -static -D __GLIBC_MINOR__=6" - "OLDCC=tcc -static -D __GLIBC_MINOR__=6" - "CC_FOR_BUILD=tcc -static -D __GLIBC_MINOR__=6" - "AR=ar" - "RANLIB=ranlib" - (string-append "LIBGCC2_INCLUDES=-I " - (assoc-ref %build-inputs "tcc") - "/include") - "LANGUAGES=c" - (string-append "BOOT_LDFLAGS=" - " -B" (assoc-ref %build-inputs "tcc") - "/lib/")) + #:make-flags + `("CC=tcc -static -D __GLIBC_MINOR__=6" + "OLDCC=tcc -static -D __GLIBC_MINOR__=6" + "CC_FOR_BUILD=tcc -static -D __GLIBC_MINOR__=6" + "AR=ar" + "RANLIB=ranlib" + ,(string-append "LIBGCC2_INCLUDES=-I " + (assoc-ref %build-inputs "tcc") + "/include") + "LANGUAGES=c" + ,(string-append "BOOT_LDFLAGS=" + " -B" (assoc-ref %build-inputs "tcc") + "/lib/")) #:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1)) #:phases (modify-phases %standard-phases - ;; gcc-2.95.3 needs more traditional configure + (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))) (add-before 'configure 'setenv (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (tcc (assoc-ref %build-inputs "tcc")) - (cppflags " -D __GLIBC_MINOR__=6")) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash")) + (tcc (assoc-ref %build-inputs "tcc")) + (cppflags " -D __GLIBC_MINOR__=6")) + (setenv "CONFIG_SHELL" shell) (setenv "CPPFLAGS" cppflags) (setenv "CC" (string-append "tcc" cppflags)) (setenv "CC_FOR_BUILD" (string-append "tcc" cppflags)) @@ -1327,9 +1328,9 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (lambda _ (display " ac_cv_c_float_format='IEEE (little-endian)' -"))) - #t))) - (replace 'configure +")))))) + ;; gcc-2.95.3 + (replace 'configure ; needs classic invocation of configure (lambda* (#:key configure-flags #:allow-other-keys) (format (current-error-port) "running ./configure ~a\n" (string-join configure-flags)) @@ -1347,18 +1348,18 @@ ac_cv_c_float_format='IEEE (little-endian)' (gcc-dir (string-append out "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3"))) (mkdir-p "tmp") - (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a"))) - (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o"))) + (with-directory-excursion "tmp" + (invoke "ar" "x" (string-append "../gcc/libgcc2.a")) + (invoke "ar" "x" (string-append tcc "/lib/libtcc1.a")) + (apply invoke "ar" "r" (string-append gcc-dir "/libgcc.a") + (find-files "." "\\.o"))) (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a")) (copy-file (string-append tcc "/lib/libtcc1.a") (string-append out "/lib/libtcc1.a")) + (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") - (string-append tcc-lib "/libc+gnu.o") - (string-append tcc-lib "/libtcc1.o")) - (invoke "ar" "r" (string-append out "/lib/libc.a") - (string-append tcc-lib "/libc+gnu.o") - (string-append tcc-lib "/libtcc1.o")) - (invoke "ls" "-ltrF" gcc-dir) + "libc.o" "libtcc1.o") #t)))))) (native-search-paths (list (search-path-specification @@ -1371,6 +1372,12 @@ ac_cv_c_float_format='IEEE (little-endian)' (variable "LIBRARY_PATH") (files '("lib"))))))) +(define (%boot-mesboot-core-inputs) + `(("binutils" ,binutils-mesboot0) + ("gawk" ,gawk-mesboot0) + ("gcc" ,gcc-core-mesboot0) + ,@(alist-delete "tcc" (%boot-tcc-inputs)))) + (define mesboot-headers (package (inherit mes-boot) @@ -1421,7 +1428,7 @@ ac_cv_c_float_format='IEEE (little-endian)' (inputs '()) (propagated-inputs '()) (native-inputs `(("binutils" ,binutils-mesboot0) - ("gcc" ,gcc-core-mesboot) + ("gcc" ,gcc-core-mesboot0) ("bash" ,%bootstrap-coreutils&co) ("coreutils" ,%bootstrap-coreutils&co) @@ -1483,7 +1490,7 @@ ac_cv_c_float_format='IEEE (little-endian)' (define gcc-mesboot0 (package - (inherit gcc-core-mesboot) + (inherit gcc-core-mesboot0) (name "gcc-mesboot0") (native-inputs `(("binutils" ,binutils-mesboot0) @@ -1491,14 +1498,14 @@ ac_cv_c_float_format='IEEE (little-endian)' ;; #include_next purposes. ("libc" ,glibc-mesboot0) ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("gcc" ,gcc-core-mesboot) + ("gcc" ,gcc-core-mesboot0) ("bash" ,%bootstrap-coreutils&co) ("coreutils" ,%bootstrap-coreutils&co) ("diffutils" ,diffutils-mesboot) ("make" ,make-mesboot0))) (arguments - (substitute-keyword-arguments (package-arguments gcc-core-mesboot) + (substitute-keyword-arguments (package-arguments gcc-core-mesboot0) ((#:phases phases) `(modify-phases ,phases (replace 'setenv @@ -1645,7 +1652,7 @@ ac_cv_c_float_format='IEEE (little-endian)' ("diffutils" ,diffutils-mesboot) ("make" ,make-mesboot))) (arguments - (substitute-keyword-arguments (package-arguments gcc-core-mesboot) + (substitute-keyword-arguments (package-arguments gcc-core-mesboot0) ((#:make-flags make-flags) `(let* ((libc (assoc-ref %build-inputs "libc")) (ldflags (string-append -- cgit 1.4.1 From 2c6728148143dc5ec543ef69d7e80cef7675e556 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 6 Oct 2019 22:08:05 +0200 Subject: gnu: commencement: Add gawk-mesboot0. * gnu/packages/commencement.scm (gawk-mesboot0): New variable. --- gnu/packages/commencement.scm | 68 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 3a8ac428c3..1cfbbd9eb6 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1406,6 +1406,74 @@ ac_cv_c_float_format='IEEE (little-endian)' (copy-recursively headers out) #t)))))))) +(define gawk-mesboot0 + ;; The initial Gawk. + (package + (inherit gawk) + (name "gawk-mesboot0") + (version "3.0.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gawk/gawk-" + version ".tar.gz")) + (sha256 + (base32 + "087s7vpc8zawn3l7bwv9f44bf59rc398hvaiid63klw6fkbvabr3")))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs (%boot-tcc-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:configure-flags '("--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + "--disable-nls") + #:make-flags '("gawk") + #:parallel-build? #f + #:parallel-tests? #f + #:strip-binaries? #f ; no strip yet + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'scripted-patch + (lambda _ + (substitute* "Makefile.in" + (("date ") "echo today ") + ((" autoheader") "true") + ((" -lm ") " ")) + (substitute* "test/Makefile.in" + (("^bigtest:.*") "bigtest: basic\n") + (("( |\t)(childin|convfmt|fflush|longwrds|math|negexp)" all sep) sep)))) + (add-before 'configure 'setenv + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (setenv "CONFIG_SHELL" shell) + (setenv "SHELL" shell) + (setenv "CC" "tcc") + (setenv "CPP" "tcc -E") + (setenv "LD" "tcc") + (setenv "ac_cv_func_getpgrp_void" "yes") + (setenv "ac_cv_func_tzset" "yes")) + #t)) + (replace 'configure ; needs classic invocation of configure + (lambda* (#:key configure-flags #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (configure-flags + `(,@configure-flags + ,(string-append "--prefix=" out)))) + (format (current-error-port) "running ./configure ~a\n" (string-join configure-flags)) + (system* "touch" "configure") ; aclocal.m4 is newer than configure + (apply invoke (cons "./configure" configure-flags))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "gawk" bin) + (symlink "gawk" (string-append bin "/awk")) + #t)))))))) + (define glibc-mesboot0 ;; GNU C Library 2.2.5 is the most recent glibc that we managed to build ;; using gcc-2.95.3. Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer -- cgit 1.4.1 From 562c6e3c52863a15bc22f57d2cea323fc39b452e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 16:03:50 +0100 Subject: gnu: commencement: mesboot-headers: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (mesboot-headers): Use Gash instead of coretutils&co. --- gnu/packages/commencement.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1cfbbd9eb6..2542231b82 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1385,8 +1385,8 @@ ac_cv_c_float_format='IEEE (little-endian)' (supported-systems '("i686-linux" "x86_64-linux")) (inputs '()) (propagated-inputs '()) - (native-inputs `(("coreutils" ,%bootstrap-coreutils&co) - ("headers" ,%bootstrap-linux-libre-headers))) + (native-inputs `(("kernel-headers" ,%bootstrap-linux-libre-headers) + ,@(%boot-tcc-inputs))) (arguments `(#:implicit-inputs? #f #:guile ,%bootstrap-guile @@ -1400,7 +1400,7 @@ ac_cv_c_float_format='IEEE (little-endian)' (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (include (string-append out "/include")) - (headers (assoc-ref %build-inputs "headers" ))) + (headers (assoc-ref %build-inputs "kernel-headers"))) (mkdir-p include) (copy-recursively "include" out) (copy-recursively headers out) -- cgit 1.4.1 From f6b911fb5f99b0677c0f94b195b140e464195e9b Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 6 Oct 2019 21:19:35 +0200 Subject: gnu: commencement: glibc-mesboot0: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (glibc-mesboot0): Use Gash instead of coretutils&co. --- gnu/packages/commencement.scm | 101 +++++++++++++-------- .../patches/glibc-bootstrap-system-2.2.5.patch | 30 ++++++ 2 files changed, 95 insertions(+), 36 deletions(-) create mode 100644 gnu/packages/patches/glibc-bootstrap-system-2.2.5.patch diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2542231b82..1ee974840b 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1482,33 +1482,31 @@ ac_cv_c_float_format='IEEE (little-endian)' (inherit glibc) (name "glibc-mesboot0") (version "2.2.5") - (source (bootstrap-origin - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/glibc/glibc-" - version - ".tar.gz")) - (patches (search-patches "glibc-boot-2.2.5.patch")) - (sha256 - (base32 - "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q"))))) + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/glibc/glibc-" + version + ".tar.gz")) + ;; Patch needs XZ + ;; (patches (search-patches "glibc-boot-2.2.5.patch")) + (sha256 + (base32 + "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q")))) (supported-systems '("i686-linux" "x86_64-linux")) (inputs '()) (propagated-inputs '()) - (native-inputs `(("binutils" ,binutils-mesboot0) - ("gcc" ,gcc-core-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) + (native-inputs `(("boot-patch" ,(search-patch "glibc-boot-2.2.5.patch")) + ("system-patch" ,(search-patch "glibc-bootstrap-system-2.2.5.patch")) ("headers" ,mesboot-headers) - ("make" ,make-mesboot0))) + ,@(%boot-mesboot-core-inputs) + ("gash" ,gash-boot))) (outputs '("out")) (arguments `(#:implicit-inputs? #f #:guile ,%bootstrap-guile #:tests? #f #:strip-binaries? #f + #:validate-runpath? #f ; no dynamic executables #:parallel-build? #f ; gcc-2.95.3 ICEs on massively parallel builds #:make-flags (list (string-append "SHELL=" @@ -1517,25 +1515,31 @@ ac_cv_c_float_format='IEEE (little-endian)' #:configure-flags (let ((out (assoc-ref %outputs "out")) (headers (assoc-ref %build-inputs "headers"))) - (list - "--disable-shared" - "--enable-static" - "--disable-sanity-checks" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - (string-append "--with-headers=" headers "/include") - "--enable-static-nss" - "--without-__thread" - "--without-cvs" - "--without-gd" - "--without-tls" - (string-append "--prefix=" out))) + `("--disable-shared" + "--enable-static" + "--disable-sanity-checks" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + ,(string-append "--with-headers=" headers "/include") + "--enable-static-nss" + "--without-__thread" + "--without-cvs" + "--without-gd" + "--without-tls" + ,(string-append "--prefix=" out))) #:phases (modify-phases %standard-phases + (add-after 'unpack 'apply-boot-patch + (lambda* (#:key inputs #:allow-other-keys) + (and (let ((patch (assoc-ref inputs "boot-patch"))) + (invoke "patch" "--force" "-p1" "-i" patch)) + (let ((patch (assoc-ref inputs "system-patch"))) + (invoke "patch" "--force" "-p1" "-i" patch))))) (add-before 'configure 'setenv (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash")) (gcc (assoc-ref %build-inputs "gcc")) (headers (assoc-ref %build-inputs "headers")) (cppflags (string-append @@ -1543,18 +1547,43 @@ ac_cv_c_float_format='IEEE (little-endian)' " -D MES_BOOTSTRAP=1" " -D BOOTSTRAP_GLIBC=1")) (cflags (string-append " -L " (getcwd)))) - (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) - (setenv "SHELL" (getenv "CONFIG_SHELL")) + (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))) - ;; glibc-2.2.5 needs a more classic invocation of configure - ;; configure: warning: CONFIG_SHELL=/gnu/store/…-bash-minimal-4.4.12/bin/bash: invalid host type - (replace 'configure + (replace 'configure ; needs classic invocation of configure (lambda* (#:key configure-flags #:allow-other-keys) (format (current-error-port) "running ./configure ~a\n" (string-join configure-flags)) - (apply invoke "./configure" configure-flags)))))))) + (apply invoke "./configure" configure-flags))) + (add-after 'configure 'fixup-configure + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash")) + (gash (assoc-ref %build-inputs "gash")) + (gash (string-append gash "/bin/gash"))) + (substitute* "config.make" + (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")) + (substitute* "config.make" + (("INSTALL = scripts/") "INSTALL = $(..)./scripts/") + (("BASH = ") (string-append + "SHELL = " shell " +BASH = "))) + ;; XXX: make-syscalls.sh does not run correctly with + ;; bash-mesboot0, producing a wrong sysd-syscalls. + + ;; This leads to posix/uname.c getting compiled where it + ;; shouldn't: + + ;; ../sysdeps/generic/uname.c:25: config-name.h: error 02 + (substitute* "sysdeps/unix/make-syscalls.sh" + (("#!/gnu/store.*/bin/bash") (string-append "#! " gash))) + + (substitute* "sysdeps/unix/Makefile" + ((" [{] [$][(]SHELL[)]") (string-append " { " gash)))) + #t))))))) (define gcc-mesboot0 (package diff --git a/gnu/packages/patches/glibc-bootstrap-system-2.2.5.patch b/gnu/packages/patches/glibc-bootstrap-system-2.2.5.patch new file mode 100644 index 0000000000..d11fc00c75 --- /dev/null +++ b/gnu/packages/patches/glibc-bootstrap-system-2.2.5.patch @@ -0,0 +1,30 @@ +We want to allow builds in chroots that lack /bin/sh. Thus, system(3) +and popen(3) need to be tweaked to use the right shell. For the bootstrap +glibc, we just use whatever `sh' can be found in $PATH. The final glibc +instead uses the hard-coded absolute file name of `bash'. + +--- a/sysdeps/posix/system.c ++++ b/sysdeps/posix/system.c +@@ -106,8 +106,8 @@ do_system (const char *line) + (void) UNBLOCK; + + /* Exec the shell. */ +- (void) __execve (SHELL_PATH, (char *const *) new_argv, __environ); ++ (void) execvp (SHELL_NAME, (char *const *) new_argv); + _exit (127); + } + else if (pid < (pid_t) 0) + /* The fork failed. */ +--- a/libio/iopopen.c ++++ b/libio/iopopen.c +@@ -170,7 +170,7 @@ _IO_new_proc_open (fp, command, mode) + for (p = proc_file_chain; p; p = p->next) + _IO_close (_IO_fileno ((_IO_FILE *) p)); + +- _IO_execl ("/bin/sh", "sh", "-c", command, (char *) 0); ++ execlp ("sh", "sh", "-c", command, (char *) 0); + _IO__exit (127); + } + _IO_close (child_end); + + -- cgit 1.4.1 From 71fb04a5e31ed9fb1310bfdf26897ddf0df99266 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 16:16:59 +0100 Subject: gnu: commencement: gcc-mesboot0: Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (gcc-mesboot0): Use Gash instead of coretutils&co. * gnu/packages/commencement.scm (%boot-mesboot0-inputs): New variable. --- gnu/packages/commencement.scm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1ee974840b..1427c69dc7 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1589,18 +1589,12 @@ BASH = "))) (package (inherit gcc-core-mesboot0) (name "gcc-mesboot0") - (native-inputs `(("binutils" ,binutils-mesboot0) - + (native-inputs `(("boot-patch" ,(search-patch "gcc-boot-2.95.3.patch")) ;; Packages are given in an order that's relevant for ;; #include_next purposes. ("libc" ,glibc-mesboot0) ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("gcc" ,gcc-core-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("make" ,make-mesboot0))) + ,@(%boot-mesboot-core-inputs))) (arguments (substitute-keyword-arguments (package-arguments gcc-core-mesboot0) ((#:phases phases) @@ -1619,11 +1613,11 @@ ac_cv_c_float_format='IEEE (little-endian)' (let* ((out (assoc-ref outputs "out")) (gcc-dir (string-append out "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3"))) - (mkdir-p "tmp") - (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a"))) - (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o"))) - (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a")) - #t))))) + (and + (mkdir-p "tmp") + (zero? (system (string-append "set -x; cd tmp && ar x ../gcc/libgcc2.a"))) + (zero? (system (string-append "set -x; cd tmp && ar r " gcc-dir "/libgcc.a *.o"))) + (copy-file "gcc/libgcc2.a" (string-append out "/lib/libgcc2.a")))))))) ((#:configure-flags configure-flags) `(let ((out (assoc-ref %outputs "out"))) `("--disable-shared" @@ -1637,6 +1631,12 @@ ac_cv_c_float_format='IEEE (little-endian)' ,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include") "LANGUAGES=c"))))))) +(define (%boot-mesboot0-inputs) + `(("gcc" ,gcc-mesboot0) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("libc" ,glibc-mesboot0) + ,@(alist-delete "gcc" (%boot-mesboot-core-inputs)))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From 125d7c587199f10b184aef102ed3eabedf0d4382 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 20:09:17 +0100 Subject: gnu: commencement: Add tar-mesboot. * gnu/packages/commencement.scm (tar-mesboot): New variable. --- gnu/packages/commencement.scm | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1427c69dc7..6cf7b0a368 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1637,6 +1637,62 @@ ac_cv_c_float_format='IEEE (little-endian)' ("libc" ,glibc-mesboot0) ,@(alist-delete "gcc" (%boot-mesboot-core-inputs)))) +(define tar-mesboot + ;; Initial tar with support for xz compression. + (package + (inherit tar) + (name "tar-mesboot") + (version "1.22") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/tar/tar-" + version ".tar.gz")) + (sha256 + (base32 + "19nvix64y95n5v6rr5g9g3fn08zz85cb5anzd7csfv4a4sz9lw4y")))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs (%boot-mesboot0-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 + #:configure-flags '("--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + "--disable-nls") + #:phases + (modify-phases %standard-phases + (replace '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 "SHELL" shell) + (setenv "LIBS" "-lc -lnss_files -lnss_dns -lresolv") + (setenv "gl_cv_func_rename_dest_works" "yes") + (format (current-error-port) + "running ./configure ~a\n" (string-join configure-flags)) + (apply invoke (cons "./configure" configure-flags))))) + (add-after 'unpack 'scripted-patch + (lambda _ + (let* ((bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (substitute* "configure" + ((" /bin/sh") shell))) + (substitute* "Makefile.in" + (("^SUBDIRS = doc") "SUBDIRS =")) + #t)) + (replace 'install + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (install-file "src/tar" bin) + #t)))))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From fa638c18b61db9b9340c35f54f8438d6fabe352b Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 20:32:10 +0100 Subject: gnu: commencement: Add grep-mesboot. * gnu/packages/commencement.scm (grep-mesboot): New variable. --- gnu/packages/commencement.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 6cf7b0a368..4633051fc7 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1693,6 +1693,44 @@ ac_cv_c_float_format='IEEE (little-endian)' (install-file "src/tar" bin) #t)))))))) +(define grep-mesboot + ;; The initial grep. + (package + (inherit grep) + (name "grep-mesboot") + (version "2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/grep/grep-" + version ".tar.gz")) + (sha256 + (base32 + "1w862l80lgc5mxvpiy4cfwk761d6xxavn0m3xd2l7xs2kmzvp6lq")))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs (%boot-mesboot0-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:parallel-build? #f + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-configure + (lambda _ + (let* ((bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (substitute* "configure" + ((" [|][|] ./config.status") " || sh ./config.status"))))) + (replace 'install + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (install-file "grep" bin) + (symlink "grep" (string-append bin "/egrep")) + (symlink "grep" (string-append bin "/fgrep")) + #t)))))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From e7c7326873b9d4f9c45d77cf4ad2ec370d4f00da Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 20:37:30 +0100 Subject: gnu: commencement: Add binutils-mesboot1. * gnu/packages/commencement.scm (binutils-mesboot1): New variable. --- gnu/packages/commencement.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 4633051fc7..eb43356665 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1731,6 +1731,32 @@ ac_cv_c_float_format='IEEE (little-endian)' (symlink "grep" (string-append bin "/fgrep")) #t)))))))) +(define binutils-mesboot1 + (package + (inherit binutils-mesboot0) + (name "binutils-mesboot1") + (native-inputs (%boot-mesboot0-inputs)) + (arguments + (substitute-keyword-arguments (package-arguments binutils-mesboot0) + ((#:configure-flags configure-flags) + '(let ((out (assoc-ref %outputs "out"))) + `("--disable-nls" + "--disable-shared" + "--disable-werror" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + "--with-sysroot=/" + ,(string-append "--prefix=" out)))) + ((#:phases phases) + `(modify-phases ,phases + (replace 'setenv + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (setenv "CONFIG_SHELL" shell) + #t))))))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From e6c7d14ab32a0cf54885fab0ccb026ffbfa5734c Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 20:49:50 +0100 Subject: gnu: commencement: Add coreutils-mesboot0. * gnu/packages/commencement.scm (coreutils-mesboot0): New variable. --- gnu/packages/commencement.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index eb43356665..85ce6d6599 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1757,6 +1757,37 @@ ac_cv_c_float_format='IEEE (little-endian)' (setenv "CONFIG_SHELL" shell) #t))))))))) +(define coreutils-mesboot0 + (package + (inherit coreutils) + (name "coreutils-mesboot0") + ;; The latest .gz release of Coreutils is 8.13; which does not build with gcc-2.95.3: + ;; randperm.c: In function `sparse_swap': + ;; randperm.c:117: invalid lvalue in unary `&' + (version "5.0") ; 2003-04 + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/coreutils/coreutils-" + version ".tar.gz")) + (sha256 + (base32 + "10wq6k66i8adr4k08p0xmg87ff4ypiazvwzlmi7myib27xgffz62")))) + (native-inputs (%boot-mesboot0-inputs)) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (arguments + `(#:implicit-inputs? #f + #:tests? #f ; WARNING: `perl' is needed, ... + #:parallel-build? #f + #:strip-binaries? #f ; strip: unrecognized option `--only-keep-debug' + #:guile ,%bootstrap-guile + #:configure-flags + '("--disable-doc" + "LIBS=-lc -lnss_files -lnss_dns -lresolv" + "ac_cv_func_gethostbyname=no" + "gl_cv_func_rename_dest_works=yes"))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From 635ec0f43a727ff59656a6e1f995fa2192fef3d0 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 20:52:44 +0100 Subject: gnu: commencement: Add make-mesboot. * gnu/packages/commencement.scm (make-mesboot): New variable. --- gnu/packages/commencement.scm | 66 +++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 85ce6d6599..f7ab3e79df 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1788,6 +1788,39 @@ ac_cv_c_float_format='IEEE (little-endian)' "ac_cv_func_gethostbyname=no" "gl_cv_func_rename_dest_works=yes"))))) +(define make-mesboot + (package + (inherit gnu-make) + (name "make-mesboot") + (version "3.82") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/make/make-" + version ".tar.gz")) + (sha256 + (base32 + "1rs2f9hmvy3q6zkl15jnlmnpgffm0bhw5ax0h5c7q604wqrip69x")))) + (native-inputs (%boot-mesboot0-inputs)) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (arguments + `(#:implicit-inputs? #f + #:parallel-build? #f + #:guile ,%bootstrap-guile + #:configure-flags '("LIBS=-lc -lnss_files -lnss_dns -lresolv") + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "./make" "--version"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "make" bin) + #t)))))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) @@ -1811,39 +1844,6 @@ ac_cv_c_float_format='IEEE (little-endian)' "--host=i686-unknown-linux-gnu" "--with-sysroot=/")))))) -(define make-mesboot - (package - (inherit make-mesboot0) - (name "make-mesboot") - (version "3.82") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/make/make-" - version ".tar.gz")) - (sha256 - (base32 - "1rs2f9hmvy3q6zkl15jnlmnpgffm0bhw5ax0h5c7q604wqrip69x")))) - (native-inputs `(("binutils" ,binutils-mesboot0) - ("libc" ,glibc-mesboot0) - ("gcc" ,gcc-mesboot0) - ("make" ,make-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("kernel-headers" ,%bootstrap-linux-libre-headers))) - (arguments - (substitute-keyword-arguments (package-arguments make-mesboot0) - ((#:configure-flags configure-flags) - `(let ((out (assoc-ref %outputs "out"))) - `(,(string-append "--prefix=" out)))) - ((#:phases phases) - `(modify-phases ,phases - (delete 'configure-fixup) - (add-before 'configure 'setenv - (lambda _ - (setenv "LIBS" "-lc -lnss_files -lnss_dns -lresolv") - #t)))))))) - (define gmp-boot (package (inherit gmp) -- cgit 1.4.1 From 53d5cb253b9c220a5798053fd78812b715853620 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 20:56:32 +0100 Subject: gnu: commencement: Add gawk-mesboot. * gnu/packages/commencement.scm (gawk-mesboot): New variable. --- gnu/packages/commencement.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index f7ab3e79df..e03ec2df2a 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1821,6 +1821,42 @@ ac_cv_c_float_format='IEEE (little-endian)' (install-file "make" bin) #t)))))))) +(define gawk-mesboot + (package + (inherit gawk) + (name "gawk-mesboot") + (version "3.1.8") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gawk/gawk-" + version ".tar.gz")) + (sha256 + (base32 + "03d5y7jabq7p2s7ys9alay9446mm7i5g2wvy8nlicardgb6b6ii1")))) + (native-inputs `(,@(%boot-mesboot0-inputs) + ("mesboot-headers" ,mesboot-headers))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (arguments + `(#:implicit-inputs? #f + #:parallel-build? #f + #:guile ,%bootstrap-guile + #:configure-flags '("ac_cv_func_connect=no") + #:make-flags '("gawk") + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "./gawk" "--version"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "gawk" bin) + (symlink "gawk" (string-append bin "/awk")) + #t)))))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From aad146a0bb8269b9c40da419da6afa76cd2a6187 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 21:00:15 +0100 Subject: gnu: commencement: Add sed-mesboot. * gnu/packages/commencement.scm (sed-mesboot): New variable. --- gnu/packages/commencement.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index e03ec2df2a..52562f1e7a 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1857,6 +1857,38 @@ ac_cv_c_float_format='IEEE (little-endian)' (symlink "gawk" (string-append bin "/awk")) #t)))))))) +(define sed-mesboot + (package + (inherit sed) + (name "sed-mesboot") + (version "4.0.6") ; 2003-04 + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/sed/sed-" + version ".tar.gz")) + (sha256 + (base32 + "0861ij94cqc4vaaki6r2wlapwcmhpx4ggp4r70f46mb21a8fkvf1")))) + (native-inputs (%boot-mesboot0-inputs)) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (arguments + `(#:implicit-inputs? #f + #:parallel-build? #f + #:guile ,%bootstrap-guile + #:tests? #f ; 8to7 fails + #:phases + (modify-phases %standard-phases + (add-after 'unpack '/bin/sh + (lambda _ + (let* ((bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (substitute* "testsuite/Makefile.tests" + (("^SHELL = /bin/sh") + (string-append "SHELL = " shell))) + #t)))))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From 9a935f664e229b642eb8e3b9567d4c5f2e4f0d1b Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 21:06:06 +0100 Subject: gnu: commencement: Add gcc-core-mesboot1. * gnu/packages/commencement.scm (gcc-core-mesboot1): New variable. (gmp-boot, mpfr-boot, mpc-boot): Scheme-only bootstrap. * gnu/packages/patches/gcc-boot-4.6.4.patch: New file. * gnu/packages/patches/gcc-boot-4.7.4.patch: Remove. * gnu/local.mk (dist_patch_DATA): Update. --- gnu/local.mk | 2 +- gnu/packages/commencement.scm | 170 ++++++++++++++++++++++++++---- gnu/packages/patches/gcc-boot-4.6.4.patch | 55 ++++++++++ gnu/packages/patches/gcc-boot-4.7.4.patch | 68 ------------ 4 files changed, 203 insertions(+), 92 deletions(-) create mode 100644 gnu/packages/patches/gcc-boot-4.6.4.patch delete mode 100644 gnu/packages/patches/gcc-boot-4.7.4.patch diff --git a/gnu/local.mk b/gnu/local.mk index dcdcef9875..c6eccd7e4a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -877,7 +877,7 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-arm-link-spec-fix.patch \ %D%/packages/patches/gcc-asan-missing-include.patch \ %D%/packages/patches/gcc-boot-2.95.3.patch \ - %D%/packages/patches/gcc-boot-4.7.4.patch \ + %D%/packages/patches/gcc-boot-4.6.4.patch \ %D%/packages/patches/gcc-cross-environment-variables.patch \ %D%/packages/patches/gcc-fix-texi2pod.patch \ %D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \ diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 52562f1e7a..bb42d97b65 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1889,29 +1889,6 @@ ac_cv_c_float_format='IEEE (little-endian)' (string-append "SHELL = " shell))) #t)))))))) -(define binutils-mesboot - (package - (inherit binutils-mesboot0) - (name "binutils-mesboot") - (native-inputs `(("binutils" ,binutils-mesboot0) - ("libc" ,glibc-mesboot0) - ("gcc" ,gcc-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot0))) - (arguments - (substitute-keyword-arguments (package-arguments binutils-mesboot0) - ((#:configure-flags configure-flags) - '(list "--disable-nls" - "--disable-shared" - "--disable-werror" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - "--with-sysroot=/")))))) - (define gmp-boot (package (inherit gmp) @@ -1946,6 +1923,153 @@ ac_cv_c_float_format='IEEE (little-endian)' (base32 "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1")))))) +(define gcc-core-mesboot1 + ;; GCC 4.6.4 is the latest modular distribution. This package is not + ;; stricly needed, but very helpful for development because it builds + ;; relatively fast. If this configures and builds then gcc-mesboot1 also + ;; builds. + (package + (inherit gcc-mesboot0) + (name "gcc-core-mesboot1") + (version "4.6.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-core-" version ".tar.gz")) + (sha256 + (base32 + "173kdb188qg79pcz073cj9967rs2vzanyjdjyxy9v0xb0p5sad75")) + ;; Patch needs XZ + ;; (patches (search-patches "gcc-boot-4.6.4.patch")) + )) + (inputs `(("gmp-source" ,(package-source gmp-boot)) + ("mpfr-source" ,(package-source mpfr-boot)) + ("mpc-source" ,(package-source mpc-boot)))) + (native-inputs `(("boot-patch" ,(search-patch "gcc-boot-4.6.4.patch")) + ,@(%boot-mesboot1-inputs))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:parallel-build? #f ; for debugging + #:make-flags + (let* ((libc (assoc-ref %build-inputs "libc")) + (ldflags (string-append + "-B" libc "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc + ,(glibc-dynamic-linker "i686-linux")))) + (list (string-append "LDFLAGS=" ldflags) + (string-append "LDFLAGS_FOR_TARGET=" ldflags))) + #:configure-flags + (let ((out (assoc-ref %outputs "out")) + (glibc (assoc-ref %build-inputs "libc"))) + (list (string-append "--prefix=" out) + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + (string-append "--with-native-system-header-dir=" glibc "/include") + (string-append "--with-build-sysroot=" glibc "/include") + "--disable-bootstrap" + "--disable-decimal-float" + "--disable-libatomic" + "--disable-libcilkrts" + "--disable-libgomp" + "--disable-libitm" + "--disable-libmudflap" + "--disable-libquadmath" + "--disable-libsanitizer" + "--disable-libssp" + "--disable-libvtv" + "--disable-lto" + "--disable-lto-plugin" + "--disable-multilib" + "--disable-plugin" + "--disable-threads" + "--enable-languages=c" + "--enable-static" + "--disable-shared" + "--enable-threads=single" + "--disable-libstdcxx-pch" + "--disable-build-with-cxx")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'apply-boot-patch + (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)) + ;; c&p from commencement.scm:gcc-boot0 + (add-after 'unpack 'unpack-gmp&co + (lambda* (#:key inputs #:allow-other-keys) + (let ((gmp (assoc-ref %build-inputs "gmp-source")) + (mpfr (assoc-ref %build-inputs "mpfr-source")) + (mpc (assoc-ref %build-inputs "mpc-source"))) + + ;; To reduce the set of pre-built bootstrap inputs, build + ;; GMP & co. from GCC. + (for-each (lambda (source) + (or (invoke "tar" "xvf" source) + (error "failed to unpack tarball" + source))) + (list gmp mpfr mpc)) + + ;; Create symlinks like `gmp' -> `gmp-x.y.z'. + ,@(map (lambda (lib) + ;; Drop trailing letters, as gmp-6.0.0a unpacks + ;; into gmp-6.0.0. + `(symlink ,(string-trim-right + (package-full-name lib "-") + char-set:letter) + ,(package-name lib))) + (list gmp-boot mpfr-boot mpc-boot)) + #t))) + (add-before 'configure 'setenv + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (binutils (assoc-ref %build-inputs "binutils")) + (bash (assoc-ref %build-inputs "bash")) + (gcc (assoc-ref %build-inputs "gcc")) + (glibc (assoc-ref %build-inputs "libc")) + (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (setenv "C_INCLUDE_PATH" (string-append + gcc "/lib/gcc-lib/i686-unknown-linux-gnu/2.95.3/include" + ":" kernel-headers "/include" + ":" glibc "/include" + ":" (getcwd) "/mpfr/src")) + (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)))))))) + +(define binutils-mesboot + (package + (inherit binutils-mesboot0) + (name "binutils-mesboot") + (native-inputs `(("binutils" ,binutils-mesboot0) + ("libc" ,glibc-mesboot0) + ("gcc" ,gcc-mesboot0) + + ("bash" ,%bootstrap-coreutils&co) + ("coreutils" ,%bootstrap-coreutils&co) + ("diffutils" ,diffutils-mesboot) + ("kernel-headers" ,%bootstrap-linux-libre-headers) + ("make" ,make-mesboot0))) + (arguments + (substitute-keyword-arguments (package-arguments binutils-mesboot0) + ((#:configure-flags configure-flags) + '(list "--disable-nls" + "--disable-shared" + "--disable-werror" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + "--with-sysroot=/")))))) + (define gcc-mesboot1 (package (inherit gcc-mesboot0) diff --git a/gnu/packages/patches/gcc-boot-4.6.4.patch b/gnu/packages/patches/gcc-boot-4.6.4.patch new file mode 100644 index 0000000000..4ab0bf8641 --- /dev/null +++ b/gnu/packages/patches/gcc-boot-4.6.4.patch @@ -0,0 +1,55 @@ +This patch enables building gcc-4.6.4 using gcc-2.95.3 and glibc-2.2.5 + + * Tweak Makefile to allow overriding NATIVE_SYSTEM_HEADER_DIR using #:makeflags + * Add missing limits.h include. + * Add SSIZE_MAX define. The SSIZE_MAX define has been added to Mes + upstream and can be removed with the next Mes release. + * Remove -fbuilding-libgcc flag, it assumes features being present from a + newer gcc or glibc. + * [MES_BOOTSTRAP_GCC]: Disable threads harder. + +Upstream status: not presented upstream. + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index f3cc49fdb18..bc5718fc9a6 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -440,7 +440,7 @@ LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h + LTO_SYMTAB_H = $(srcdir)/../include/lto-symtab.h + + # Default native SYSTEM_HEADER_DIR, to be overridden by targets. +-NATIVE_SYSTEM_HEADER_DIR = /usr/include ++# NATIVE_SYSTEM_HEADER_DIR = /usr/include + # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. + CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ + +diff --git a/gcc/config/host-linux.c b/gcc/config/host-linux.c +index 94b7a0b89a7..ab2baab55ca 100644 +--- a/gcc/config/host-linux.c ++++ b/gcc/config/host-linux.c +@@ -23,6 +23,12 @@ + #include "hosthooks.h" + #include "hosthooks-def.h" + ++// ../.././gcc/config/host-linux.c:213: `SSIZE_MAX' undeclared (first ++// use in this function) ++#include ++#ifndef SSIZE_MAX ++# define SSIZE_MAX LONG_MAX ++#endif + + /* Linux has a feature called exec-shield-randomize that perturbs the + address of non-fixed mapped segments by a (relatively) small amount. +diff --git a/libgcc/generic-morestack-thread.c b/libgcc/generic-morestack-thread.c +index bbe6dd12b5a..1d1d48223d7 100644 +--- a/libgcc/generic-morestack-thread.c ++++ b/libgcc/generic-morestack-thread.c +@@ -34,7 +34,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + will want to define inhibit_libc while building a compiler which + can build glibc. */ + +-#ifndef inhibit_libc ++#if 0 //!defined (inhibit_libc) && !MES_BOOTSTRAP_GCC + + #include + #include diff --git a/gnu/packages/patches/gcc-boot-4.7.4.patch b/gnu/packages/patches/gcc-boot-4.7.4.patch deleted file mode 100644 index 3e51e31fdf..0000000000 --- a/gnu/packages/patches/gcc-boot-4.7.4.patch +++ /dev/null @@ -1,68 +0,0 @@ -This patch enables building gcc-4.7.4 using gcc-2.95.3 and glibc-2.2.5 - - * Tweak Makefile to allow overriding NATIVE_SYSTEM_HEADER_DIR using #:makeflags - * Add missing limits.h include. - * Add SSIZE_MAX define. The SSIZE_MAX define has been added to Mes - upstream and can be removed with the next Mes release. - * Remove -fbuilding-libgcc flag, it assumes features being present from a - newer gcc or glibc. - * [MES_BOOTSTRAP_GCC]: Disable threads harder. - -Upstream status: not presented upstream. - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index f3cc49fdb18..bc5718fc9a6 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -458,7 +458,7 @@ LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h - LTO_SYMTAB_H = $(srcdir)/../include/lto-symtab.h - - # Default native SYSTEM_HEADER_DIR, to be overridden by targets. --NATIVE_SYSTEM_HEADER_DIR = @NATIVE_SYSTEM_HEADER_DIR@ -+# NATIVE_SYSTEM_HEADER_DIR = @NATIVE_SYSTEM_HEADER_DIR@ - # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ - -diff --git a/gcc/config/host-linux.c b/gcc/config/host-linux.c -index 94b7a0b89a7..ab2baab55ca 100644 ---- a/gcc/config/host-linux.c -+++ b/gcc/config/host-linux.c -@@ -23,6 +23,12 @@ - #include "hosthooks.h" - #include "hosthooks-def.h" - -+// ../.././gcc/config/host-linux.c:213: `SSIZE_MAX' undeclared (first -+// use in this function) -+#include -+#ifndef SSIZE_MAX -+# define SSIZE_MAX LONG_MAX -+#endif - - /* Linux has a feature called exec-shield-randomize that perturbs the - address of non-fixed mapped segments by a (relatively) small amount. -diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in -index c301ff03cae..f86318c3bd5 100644 ---- a/libgcc/Makefile.in -+++ b/libgcc/Makefile.in -@@ -225,7 +225,7 @@ endif - LIBGCC2_DEBUG_CFLAGS = -g - LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \ - $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \ -- -fbuilding-libgcc -fno-stack-protector \ -+ -fno-stack-protector \ - $(INHIBIT_LIBC_CFLAGS) - - # Additional options to use when compiling libgcc2.a. -diff --git a/libgcc/generic-morestack-thread.c b/libgcc/generic-morestack-thread.c -index bbe6dd12b5a..1d1d48223d7 100644 ---- a/libgcc/generic-morestack-thread.c -+++ b/libgcc/generic-morestack-thread.c -@@ -35,7 +35,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - will want to define inhibit_libc while building a compiler which - can build glibc. */ - --#ifndef inhibit_libc -+#if 0 //!defined (inhibit_libc) && !MES_BOOTSTRAP_GCC - - #include - #include -- cgit 1.4.1 From c1deb838503ec0e9e7c53498fc09549a35dc6dbc Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 21:22:14 +0100 Subject: gnu: commencement: Add bash-mesboot. * gnu/packages/commencement.scm (bash-mesboot): New variable. --- gnu/packages/commencement.scm | 83 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index bb42d97b65..7f2aee97c5 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1889,6 +1889,89 @@ ac_cv_c_float_format='IEEE (little-endian)' (string-append "SHELL = " shell))) #t)))))))) +(define bash-mesboot + (package + (inherit bash-mesboot0) + (version "4.4") + (name "bash-mesboot") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/bash/bash-" + version ".tar.gz")) + (sha256 + (base32 + "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq")))) + (inputs '()) + (propagated-inputs '()) + (native-inputs (%boot-mesboot0-inputs)) + (outputs '("out")) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:parallel-build? #f + #:configure-flags + '("--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + + "--without-bash-malloc" + "--disable-readline" + "--disable-history" + "--disable-help-builtin" + "--disable-progcomp" + "--disable-net-redirections" + "--disable-nls" + + ;; Pretend 'dlopen' is missing so we don't build loadable + ;; modules and related code. + "ac_cv_func_dlopen=no") + #:make-flags '("bash") + #:phases + (modify-phases %standard-phases + (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)) + (add-after 'configure 'configure-fixups + (lambda _ + (let ((config.h (open-file "config.h" "a"))) + (display (string-append " +#define enable_hostname_completion(on_or_off) 0 +") + config.h) + (close config.h)) + #t)) + (replace 'check + (lambda _ + (invoke "./bash" "--version"))) + (replace 'install + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (copy-file "bash" (string-append bin "/bash")) + (copy-file "bash" (string-append bin "/sh")) + #t)))))))) + +(define (%boot-mesboot1-inputs) + `(("bash" ,bash-mesboot) + ("binutils" ,binutils-mesboot1) + ("coreutils" ,coreutils-mesboot0) + ("gawk" ,gawk-mesboot) + ("grep" ,grep-mesboot) + ("make" ,make-mesboot) + ("sed" ,sed-mesboot) + ("tar" ,tar-mesboot) + ,@(fold alist-delete (%boot-mesboot0-inputs) + '("bash" "bash" "binutils" "coreutils" "gash" "gawk" "grep " "guile" + "make" "sed" "tar")))) + (define gmp-boot (package (inherit gmp) -- cgit 1.4.1 From f48fe4e9e139b485f8d2633b707e1c4494564137 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 21:31:23 +0100 Subject: gnu: commencement: Add gcc-mesboot1: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (gcc-mesboot1): Use Gash instead of coreutils&co. --- gnu/packages/commencement.scm | 161 +++++++++++++----------------------------- 1 file changed, 48 insertions(+), 113 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7f2aee97c5..2e5b889099 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2130,6 +2130,54 @@ ac_cv_c_float_format='IEEE (little-endian)' (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) #t)))))))) +(define gcc-mesboot1 + (package + (inherit gcc-core-mesboot1) + (name "gcc-mesboot1") + (version "4.6.4") + (native-inputs + `(("gcc-g++" + ,(origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-g++-" version ".tar.gz")) + (sha256 + (base32 + "1fqqk5zkmdg4vmqzdmip9i42q6b82i3f6yc0n86n9021cr7ms2k9")))) + ,@(package-native-inputs gcc-core-mesboot1))) + (arguments + (substitute-keyword-arguments (package-arguments gcc-core-mesboot1) + ((#:configure-flags configure-flags) + `(let ((out (assoc-ref %outputs "out"))) + `("--enable-languages=c,c++" + ,@(filter + (negate (lambda (x) (string-prefix? "--enable-languages=" x))) + ,configure-flags)))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'unpack 'unpack-g++ + (lambda _ + (let ((source-g++ (assoc-ref %build-inputs "gcc-g++"))) + (invoke "tar" "xvf" source-g++)) + #t)) + (replace 'setenv + (lambda _ + (setenv "CONFIG_SHELL" (which "sh")) + + ;; Allow MPFR headers to be found. + (setenv "C_INCLUDE_PATH" + (string-append (getcwd) "/mpfr/src:" + (getenv "C_INCLUDE_PATH"))) + + ;; 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)))))))) + +(define (%boot-mesboot2-inputs) + `(("gcc" ,gcc-mesboot1) + ,@(alist-delete "gcc" (%boot-mesboot1-inputs)))) + (define binutils-mesboot (package (inherit binutils-mesboot0) @@ -2153,119 +2201,6 @@ ac_cv_c_float_format='IEEE (little-endian)' "--host=i686-unknown-linux-gnu" "--with-sysroot=/")))))) -(define gcc-mesboot1 - (package - (inherit gcc-mesboot0) - (name "gcc-mesboot1") - (version (package-version gcc-4.7)) - (source (bootstrap-origin - (origin (inherit (package-source gcc-4.7)) - (patches (search-patches "gcc-boot-4.7.4.patch"))))) - (inputs `(("gmp-source" ,(package-source gmp-boot)) - ("mpfr-source" ,(package-source mpfr-boot)) - ("mpc-source" ,(package-source mpc-boot)))) - (native-inputs `(("binutils" ,binutils-mesboot) - - ("libc" ,glibc-mesboot0) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("gcc" ,gcc-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("make" ,make-mesboot))) - (arguments - (substitute-keyword-arguments (package-arguments gcc-core-mesboot0) - ((#:make-flags make-flags) - `(let* ((libc (assoc-ref %build-inputs "libc")) - (ldflags (string-append - "-B" libc "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc - ,(glibc-dynamic-linker "i686-linux")))) - (list (string-append "LDFLAGS=" ldflags) - (string-append "LDFLAGS_FOR_TARGET=" ldflags)))) - ((#:phases phases) - `(modify-phases ,phases - ;; c&p from commencement.scm:gcc-boot0 - (add-after 'unpack 'unpack-gmp&co - (lambda* (#:key inputs #:allow-other-keys) - (let ((gmp (assoc-ref %build-inputs "gmp-source")) - (mpfr (assoc-ref %build-inputs "mpfr-source")) - (mpc (assoc-ref %build-inputs "mpc-source"))) - - ;; To reduce the set of pre-built bootstrap inputs, build - ;; GMP & co. from GCC. - (for-each (lambda (source) - (or (invoke "tar" "xvf" source) - (error "failed to unpack tarball" - source))) - (list gmp mpfr mpc)) - - ;; Create symlinks like `gmp' -> `gmp-x.y.z'. - ,@(map (lambda (lib) - ;; Drop trailing letters, as gmp-6.0.0a unpacks - ;; into gmp-6.0.0. - `(symlink ,(string-trim-right - (package-full-name lib "-") - char-set:letter) - ,(package-name lib))) - (list gmp-boot mpfr-boot mpc-boot)) - #t))) - (delete 'remove-info) - (replace 'setenv - (lambda _ - (setenv "CONFIG_SHELL" (which "sh")) - - ;; Allow MPFR headers to be found. - (setenv "C_INCLUDE_PATH" - (string-append (getcwd) "/mpfr/src:" - (getenv "C_INCLUDE_PATH"))) - - ;; 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)) - (delete 'install2))) - ((#:configure-flags configure-flags) - `(let ((out (assoc-ref %outputs "out")) - (glibc (assoc-ref %build-inputs "libc"))) - (list (string-append "--prefix=" out) - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - - (string-append "--with-native-system-header-dir=" glibc "/include") - (string-append "--with-build-sysroot=" glibc "/include") - - "--disable-bootstrap" - "--disable-decimal-float" - "--disable-libatomic" - "--disable-libcilkrts" - "--disable-libgomp" - "--disable-libitm" - "--disable-libmudflap" - "--disable-libquadmath" - "--disable-libsanitizer" - "--disable-libssp" - "--disable-libvtv" - "--disable-lto" - "--disable-lto-plugin" - "--disable-multilib" - "--disable-plugin" - "--disable-threads" - "--enable-languages=c,c++" - - "--enable-static" - ;; libstdc++.so: error: depends on 'libgcc_s.so.1', which cannot be found in RUNPATH () - "--disable-shared" - "--enable-threads=single" - - ;; No pre-compiled libstdc++ headers, to save space. - "--disable-libstdcxx-pch" - - ;; for libcpp ... - "--disable-build-with-cxx"))))))) - (define gcc-mesboot1-wrapper ;; We need this so gcc-mesboot1 can be used to create shared binaries that ;; have the correct interpreter, otherwise configuring gcc-mesboot using -- cgit 1.4.1 From 9c4a021211244c0c2c927908495cabcb9d0db192 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 21:51:49 +0100 Subject: gnu: commencement: Add xz-mesboot. * gnu/packages/commencement.scm (xz-mesboot): New variable. --- gnu/packages/commencement.scm | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2e5b889099..371866b0fa 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2178,6 +2178,52 @@ ac_cv_c_float_format='IEEE (little-endian)' `(("gcc" ,gcc-mesboot1) ,@(alist-delete "gcc" (%boot-mesboot1-inputs)))) +(define xz-mesboot + ;; Finally, we can build xz. + (package + (inherit xz) + (name "xz-mesboot") + (version "5.0.0") + (source (bootstrap-origin + (origin + (method url-fetch) + (uri (list (string-append "http://tukaani.org/xz/xz-" version + ".tar.gz") + (string-append "http://multiprecision.org/guix/xz-" + version ".tar.gz"))) + (sha256 + (base32 + "0kf40ggbs1vaaj5s9k4csycahzqcf65n20pa6lngqhm6j0cj3agb"))))) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (outputs '("out")) + (propagated-inputs '()) + (native-inputs (%boot-mesboot2-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:parallel-build? #f + #:configure-flags + `("--disable-assembler" + "--disable-shared" + "--enable-small" + "--disable-threads" + "--disable-xzdec" + "--disable-lzmadec" + "--disable-lzmainfo" + "--disable-lzma-links" + "--disable-scripts" + "--disable-doc" + "--disable-nls" + "--disable-symbol-versions" + ;; configure disqualifies BASH, CPP, GCC and GREP + ;; all of which seem fine for the build + "ac_cv_prog_cc_c99=-std=gnu9x" + "ac_cv_path_GREP=grep" + "gl_cv_posix_shell=bash" + "ac_cv_have_decl_optreset=no" + "CPPFLAGS=-D__GNUC__=1"))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From 079b2cf3a2d9a4ec17fe5515f2c6fe17c3c17fec Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 21:55:45 +0100 Subject: gnu: commencement: Add hello-mesboot. * gnu/packages/commencement.scm (hello-mesboot): New variable. --- gnu/packages/commencement.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 371866b0fa..eb486fddbb 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2224,6 +2224,28 @@ ac_cv_c_float_format='IEEE (little-endian)' "ac_cv_have_decl_optreset=no" "CPPFLAGS=-D__GNUC__=1"))))) +(define hello-mesboot + ;; Check for Scheme-only bootstrap. + (package + (inherit hello) + (name "hello-mesboot") + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (native-inputs (%boot-mesboot2-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:parallel-build? #f + ;; checking for grep that handles long lines and -e... + ;; configure: error: no acceptable grep could be found + #:configure-flags '("ac_cv_path_GREP=grep") + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "./hello")))))))) + (define binutils-mesboot (package (inherit binutils-mesboot0) -- cgit 1.4.1 From 8bf7b7030733f922c4eb30ed4b20c7e621f29e5e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 22:00:58 +0100 Subject: gnu: commencement: binutils-mesboot: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (binutils-mesboot): Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (%boot-mesboot3-inputs): New variable. --- gnu/packages/commencement.scm | 88 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 70 insertions(+), 18 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index eb486fddbb..5f34d5b49f 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2248,26 +2248,73 @@ ac_cv_c_float_format='IEEE (little-endian)' (define binutils-mesboot (package - (inherit binutils-mesboot0) + (inherit binutils) (name "binutils-mesboot") - (native-inputs `(("binutils" ,binutils-mesboot0) - ("libc" ,glibc-mesboot0) - ("gcc" ,gcc-mesboot0) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot0))) + (version "2.20.1a") + (source (bootstrap-origin + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/binutils/binutils-" + version ".tar.bz2")) + (patches (search-patches "binutils-boot-2.20.1a.patch")) + (sha256 + (base32 + "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi"))))) + (inputs '()) + (propagated-inputs '()) + (native-inputs `(("xz" ,xz-mesboot) + ,@(%boot-mesboot2-inputs))) + (supported-systems '("i686-linux" "x86_64-linux")) (arguments - (substitute-keyword-arguments (package-arguments binutils-mesboot0) - ((#:configure-flags configure-flags) - '(list "--disable-nls" - "--disable-shared" - "--disable-werror" - "--build=i686-unknown-linux-gnu" - "--host=i686-unknown-linux-gnu" - "--with-sysroot=/")))))) + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f ; runtest: command not found + #:parallel-build? #f + #:strip-binaries? #f ; no strip yet + #:configure-flags + `("CC=gcc" + "CXX=false" + "RANLIB=true" + "--disable-doc" + "--disable-nls" + "--disable-shared" + "--disable-werror" + "--build=i686-unknown-linux-gnu" + "--host=i686-unknown-linux-gnu" + "--with-sysroot=/" + ;; checking for grep that handles long lines and -e + "ac_cv_path_GREP=grep") + ;; FIXME: ac_cv_path_GREP=grep doesn't seem to be forwarded to + ;; cascading configure's? + #:make-flags '("ac_cv_path_GREP=grep") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'scripted-patch + (lambda _ + ;; sed-mesboot0 cannot build these + (copy-file "binutils/Makefile.in" "binutils/Makefile.in.orig") + (substitute* "binutils/Makefile.in" + ;; binutils/binutils uses an amazingly complex install + ;; command, using FOR, SED, READ, IF, ECHO, SED, SED, AWK, + ;; READ, and then LIBTOOL (to do something like + ;; `mkdir $DESTDIR$bindir; cp readline $DESTDIR$bindir ...') + + ;; Some tool [debugme!] cannot handle two escaped newlines + ;; (bash?), and the install stops after $(am__EXEEXT_11) + ;; ("objcopy"), so $(am__EXEEXT_13) ("readelf") and others do + ;; not get installed. Remove the stray newline: + (("^\t@BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ .*") "")) + (substitute* "opcodes/Makefile.in" + (("^SUBDIRS = [.] po") "SUBDIRS = .")) + (substitute* "binutils/Makefile.in" + (("^SUBDIRS = doc po") "SUBDIRS =")) + (substitute* "gas/Makefile.in" + (("^SUBDIRS = doc po") "SUBDIRS =")) + (substitute* "gprof/Makefile.in" + (("^SUBDIRS = po") "SUBDIRS =")) + (substitute* "ld/Makefile.in" + (("^SUBDIRS = po") "SUBDIRS =")) + #t))))))) (define gcc-mesboot1-wrapper ;; We need this so gcc-mesboot1 can be used to create shared binaries that @@ -2326,6 +2373,11 @@ exec " gcc "/bin/" program (program (string-append bin "/gcc"))) (invoke program "--help"))))))))) +(define (%boot-mesboot3-inputs) + `(("binutils" ,binutils-mesboot) + ("xz" ,xz-mesboot) + ,@(alist-delete "binutils" (%boot-mesboot2-inputs)))) + (define glibc-headers-mesboot (package (inherit glibc-mesboot0) -- cgit 1.4.1 From c8a2128a1ffa5934b407c5ebdc2fbe749e9ee199 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 22:10:16 +0100 Subject: gnu: commencement: glibc-headers-mesboot: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (glibc-headers-mesboot): Use Gash instead of coreutils&co. --- gnu/packages/commencement.scm | 70 ++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 5f34d5b49f..9a20add6ac 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2394,17 +2394,8 @@ exec " gcc "/bin/" program (sha256 (base32 "0vlz4x6cgz7h54qq4528q526qlhnsjzbsvgc4iizn76cb0bfanx7"))))) - (native-inputs `(("binutils" ,binutils-mesboot) - ("libc" ,glibc-mesboot0) - ("gcc" ,gcc-mesboot1) - ("headers" ,mesboot-headers) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot))) - + (native-inputs `(("headers" ,mesboot-headers) + ,@(%boot-mesboot3-inputs))) (arguments (substitute-keyword-arguments (package-arguments glibc-mesboot0) ((#:configure-flags configure-flags) @@ -2419,13 +2410,21 @@ exec " gcc "/bin/" program "--with-pthread" "--without-cvs" "--without-gd" - "--enable-add-ons=nptl"))) + "--enable-add-ons=nptl" + ;; avoid: configure: error: confusing output from nm -u + "libc_cv_predef_stack_protector=no"))) ((#:make-flags make-flags) - `(let ((bash (assoc-ref %build-inputs "bash"))) - (list (string-append "SHELL=" bash "/bin/sh") - "install-bootstrap-headers=yes" "install-headers"))) + '(list "install-bootstrap-headers=yes" "install-headers")) ((#:phases phases) `(modify-phases ,phases + (delete 'apply-boot-patch) + (delete 'fixup-configure) + (delete 'set-path) + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (invoke "tar" "xvf" source) + (chdir (string-append "glibc-" ,version)) + #t)) (replace 'setenv (lambda* (#:key inputs #:allow-other-keys) (let* ((headers (assoc-ref inputs "headers")) @@ -2442,6 +2441,7 @@ exec " gcc "/bin/" program (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags)) (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)) + (setenv "LD" "gcc") ;; avoid -fstack-protector (setenv "libc_cv_ssp" "false") @@ -2452,9 +2452,9 @@ exec " gcc "/bin/" program (lambda* (#:key outputs make-flags #:allow-other-keys) (let ((kernel-headers (assoc-ref %build-inputs "kernel-headers")) (out (assoc-ref outputs "out"))) - (apply invoke "make" make-flags) - (copy-recursively kernel-headers out) - #t))) + (and (apply invoke "make" make-flags) + (copy-recursively kernel-headers out) + #t)))) (replace 'configure (lambda* (#:key configure-flags #:allow-other-keys) (format (current-error-port) "running ../configure ~a\n" (string-join configure-flags)) @@ -2463,18 +2463,28 @@ exec " gcc "/bin/" program (apply invoke "../configure" configure-flags))) (add-after 'configure 'remove-sunrpc (lambda _ - (invoke "make" (string-append (getcwd) "/sysd-sorted" ) - (string-append "SHELL=" (getenv "CONFIG_SHELL"))) - (substitute* "sysd-sorted" - ((" sunrpc") " ") - ((" nis") " ")) - ;; 'rpcgen' needs native libc headers to be built. - (substitute* "../Makefile" - (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))) - (substitute* "../Makeconfig" - (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))) - (substitute* "../elf/Makefile" - (("^SHELL := /bin/sh") (string-append "SHELL := " (getenv "CONFIG_SHELL")))))))))))) + (let* ((out (assoc-ref %outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + + (let ((Makefile (open-file "Makefile" "a"))) + (display (string-append " + +SHELL := " shell " +") + Makefile) + (close Makefile)) + (substitute* "../Makefile" + (("^SHELL := /bin/sh") (string-append "SHELL := " shell))) + (substitute* "../Makeconfig" + (("^SHELL := /bin/sh") (string-append "SHELL := " shell))) + (substitute* "../elf/Makefile" + (("^SHELL := /bin/sh") (string-append "SHELL := " shell))) + (invoke "make" (string-append (getcwd) "/sysd-sorted" )) + (substitute* "sysd-sorted" + ((" sunrpc") " ") + ((" nis") " ")) + #t))))))))) (define glibc-mesboot (package -- cgit 1.4.1 From 6ff41881953046cf1b775560e82b59ca8ef17c23 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 22:16:22 +0100 Subject: gnu: commencement: glibc-mesboot: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (glibc-mesboot): Use Gash instead of coreutils&co. --- gnu/packages/commencement.scm | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 9a20add6ac..c6b05d48b5 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2490,19 +2490,10 @@ SHELL := " shell " (package (inherit glibc-headers-mesboot) (name "glibc-mesboot") - (native-inputs `(("binutils" ,binutils-mesboot) - ("libc" ,glibc-mesboot0) - ("headers" ,glibc-headers-mesboot) - ("gcc" ,gcc-mesboot1) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("make" ,make-mesboot))) - + (native-inputs `(("headers" ,glibc-headers-mesboot) + ,@(%boot-mesboot3-inputs))) (arguments - `(#:validate-runpath? #f ; fails when using --enable-shared + `(#:validate-runpath? #f ; fails when using --enable-shared ,@(substitute-keyword-arguments (package-arguments glibc-headers-mesboot) ((#:make-flags make-flags) `(let ((bash (assoc-ref %build-inputs "bash"))) @@ -2514,9 +2505,13 @@ SHELL := " shell " (let* ((kernel-headers (assoc-ref %build-inputs "kernel-headers")) (out (assoc-ref outputs "out")) (install-flags (cons "install" make-flags))) - (apply invoke "make" install-flags) - (copy-recursively kernel-headers out) - #t)))))))))) + (and (apply invoke "make" install-flags) + (copy-recursively kernel-headers out) + #t))))))))))) + +(define (%boot-mesboot4-inputs) + `(("libc" ,glibc-mesboot) + ,@(alist-delete "libc" (%boot-mesboot3-inputs)))) (define gcc-mesboot (package -- cgit 1.4.1 From 8b58e499cb68f6e9082e8dedbd9b5642f95b5022 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 22:27:22 +0100 Subject: gnu: commencement: gcc-mesboot1-wrapper: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (gcc-mesboot1-wrapper): Use Gash instead of coreutils&co. --- gnu/packages/commencement.scm | 115 +++++++++++++++++++++--------------------- 1 file changed, 58 insertions(+), 57 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index c6b05d48b5..fa18616899 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2316,63 +2316,6 @@ ac_cv_c_float_format='IEEE (little-endian)' (("^SUBDIRS = po") "SUBDIRS =")) #t))))))) -(define gcc-mesboot1-wrapper - ;; We need this so gcc-mesboot1 can be used to create shared binaries that - ;; have the correct interpreter, otherwise configuring gcc-mesboot using - ;; --enable-shared will fail. - (package - (inherit gcc-mesboot1) - (name "gcc-mesboot1-wrapper") - (source #f) - (inputs '()) - (native-inputs `(("bash" ,%bootstrap-coreutils&co) - ("libc" ,glibc-mesboot) - ("gcc" ,gcc-mesboot1))) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:phases - (modify-phases %standard-phases - (delete 'unpack) - (delete 'configure) - (delete 'install) - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (libc (assoc-ref %build-inputs "libc")) - (gcc (assoc-ref %build-inputs "gcc")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - (for-each - (lambda (program) - (let ((wrapper (string-append bin "/" program))) - (with-output-to-file wrapper - (lambda _ - (display (string-append "#! " bash "/bin/bash -exec " gcc "/bin/" program -" -Wl,--dynamic-linker" -;; also for x86_64-linux, we are still on i686-linux -" -Wl," libc ,(glibc-dynamic-linker "i686-linux") -" -Wl,--rpath" -" -Wl," libc "/lib" -" \"$@\" -")) - (chmod wrapper #o555))))) - '( - "gcc" - "g++" - "i686-unknown-linux-gnu-gcc" - "i686-unknown-linux-gnu-g++" - )) - #t))) - (replace 'check - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (program (string-append bin "/gcc"))) - (invoke program "--help"))))))))) - (define (%boot-mesboot3-inputs) `(("binutils" ,binutils-mesboot) ("xz" ,xz-mesboot) @@ -2513,6 +2456,64 @@ SHELL := " shell " `(("libc" ,glibc-mesboot) ,@(alist-delete "libc" (%boot-mesboot3-inputs)))) +(define gcc-mesboot1-wrapper + ;; We need this so gcc-mesboot1 can be used to create shared binaries that + ;; have the correct interpreter, otherwise configuring gcc-mesboot using + ;; --enable-shared will fail. + (package + (inherit gcc-mesboot1) + (name "gcc-mesboot1-wrapper") + (source #f) + (inputs '()) + (native-inputs `(("bash" ,bash-mesboot) + ("coreutils" ,coreutils-mesboot0) + ("libc" ,glibc-mesboot) + ("gcc" ,gcc-mesboot1))) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:phases + (modify-phases %standard-phases + (delete 'unpack) + (delete 'configure) + (delete 'install) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (libc (assoc-ref %build-inputs "libc")) + (gcc (assoc-ref %build-inputs "gcc")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (for-each + (lambda (program) + (let ((wrapper (string-append bin "/" program))) + (with-output-to-file wrapper + (lambda _ + (display (string-append "#! " bash "/bin/bash +exec " gcc "/bin/" program +" -Wl,--dynamic-linker" +;; also for x86_64-linux, we are still on i686-linux +" -Wl," libc ,(glibc-dynamic-linker "i686-linux") +" -Wl,--rpath" +" -Wl," libc "/lib" +" \"$@\" +")) + (chmod wrapper #o555))))) + '("cpp" + "gcc" + "g++" + "i686-unknown-linux-gnu-cpp" + "i686-unknown-linux-gnu-gcc" + "i686-unknown-linux-gnu-g++")) + #t))) + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (program (string-append bin "/gcc"))) + (invoke program "--help"))))))))) + (define gcc-mesboot (package (inherit gcc-mesboot1) -- cgit 1.4.1 From d9de3abcab11e14264126212176bce3345009ed3 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 22:31:06 +0100 Subject: gnu: commencement: gcc-mesboot: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (gcc-mesboot): Use Gash instead of coreutils&co. --- gnu/packages/commencement.scm | 45 ++++++++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index fa18616899..735bb7b99d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2520,17 +2520,10 @@ exec " gcc "/bin/" program (name "gcc-mesboot") (version (package-version gcc-4.9)) (source (bootstrap-origin (package-source gcc-4.9))) - (native-inputs `(("binutils" ,binutils-mesboot) - - ("libc" ,glibc-mesboot) - ("kernel-headers" ,%bootstrap-linux-libre-headers) - ("gcc-wrapper" ,gcc-mesboot1-wrapper) + (native-inputs `(("gcc-wrapper" ,gcc-mesboot1-wrapper) ("gcc" ,gcc-mesboot1) - - ("bash" ,%bootstrap-coreutils&co) - ("coreutils" ,%bootstrap-coreutils&co) - ("diffutils" ,diffutils-mesboot) - ("make" ,make-mesboot))) + ("headers" ,glibc-headers-mesboot) + ,@(%boot-mesboot4-inputs))) (arguments `(#:validate-runpath? #f ,@(substitute-keyword-arguments (package-arguments gcc-mesboot1) @@ -2572,7 +2565,37 @@ exec " gcc "/bin/" program "--disable-libstdcxx-pch" ;; for libcpp ... - "--disable-build-with-cxx")))))))) + "--disable-build-with-cxx"))) + ((#:phases phases) + `(modify-phases ,phases + (delete 'apply-boot-patch) + (delete 'unpack-g++) ; sadly, gcc-4.9.4 does not provide + ; modular core/language downloads + (replace 'setenv + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (binutils (assoc-ref %build-inputs "binutils")) + (bash (assoc-ref %build-inputs "bash")) + (gcc (assoc-ref %build-inputs "gcc")) + (glibc (assoc-ref %build-inputs "libc")) + (kernel-headers (assoc-ref %build-inputs "kernel-headers"))) + (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) + (setenv "C_INCLUDE_PATH" (string-append + gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.6.4/include" + ":" kernel-headers "/include" + ":" glibc "/include" + ":" (getcwd) "/mpfr/src")) + (setenv "CPLUS_INCLUDE_PATH" (string-append + gcc "/lib/gcc-lib/i686-unknown-linux-gnu/4.6.4/include" + ":" kernel-headers "/include" + ":" glibc "/include" + ":" (getcwd) "/mpfr/src")) + (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) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH")) + (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) + #t)))))))))) (define gcc-mesboot-wrapper ;; We need this so gcc-mesboot can be used to create shared binaries that -- cgit 1.4.1 From d7e8467f97c411696dd46e4f332f80cac422db4d Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 22:34:32 +0100 Subject: gnu: commencement: gcc-mesboot-wrapper: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (gcc-mesboot-wrapper): Use Gash instead of coreutils&co. (%boot-mesboot5-inputs): New variable. --- gnu/packages/commencement.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 735bb7b99d..bbba99b307 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2606,10 +2606,16 @@ exec " gcc "/bin/" program (version (package-version gcc-mesboot)) (source #f) (inputs '()) - (native-inputs `(("bash" ,%bootstrap-coreutils&co) + (native-inputs `(("bash" ,bash-mesboot) + ("coreutils" ,coreutils-mesboot0) ("libc" ,glibc-mesboot) ("gcc" ,gcc-mesboot))))) +(define (%boot-mesboot5-inputs) + `(("gcc-wrapper" ,gcc-mesboot-wrapper) + ("gcc" ,gcc-mesboot) + ,@(fold alist-delete (%boot-mesboot4-inputs) '("gcc" "gcc-wrapper")))) + (define m4-mesboot (package (inherit m4) -- cgit 1.4.1 From 15af8e1d9d5a1b3db7cdab84dae791b357f229b6 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 22:36:22 +0100 Subject: gnu: commencement: Add coreutils-mesboot. * gnu/packages/commencement.scm (coreutils-mesboot): New variable. (%boot-mesboot6-inputs): New variable. --- gnu/packages/commencement.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index bbba99b307..6aed8e595b 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2616,6 +2616,25 @@ exec " gcc "/bin/" program ("gcc" ,gcc-mesboot) ,@(fold alist-delete (%boot-mesboot4-inputs) '("gcc" "gcc-wrapper")))) +(define-public coreutils-mesboot + (package + (inherit coreutils) + (name "coreutils-mesboot") + (source (bootstrap-origin (package-source coreutils))) + (native-inputs (%boot-mesboot5-inputs)) + (supported-systems '("i686-linux" "x86_64-linux")) + (inputs '()) + (propagated-inputs '()) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f)))) + +(define (%boot-mesboot6-inputs) + `(("coreutils" ,coreutils-mesboot) + ,@(fold alist-delete (%boot-mesboot5-inputs) + '("coreutils" "kernel-headers")))) + (define m4-mesboot (package (inherit m4) -- cgit 1.4.1 From 47fb2466b810afbd5d2d741f26a7e1bca8838b49 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 11 Dec 2019 01:07:46 +0100 Subject: gnu: commencement: Remove m4-mesboot. * gnu/packages/commencement.scm (m4-mesboot): Remove. --- gnu/packages/commencement.scm | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 6aed8e595b..6149b848a0 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2635,34 +2635,6 @@ exec " gcc "/bin/" program ,@(fold alist-delete (%boot-mesboot5-inputs) '("coreutils" "kernel-headers")))) -(define m4-mesboot - (package - (inherit m4) - (name "m4-mesboot") - (version "1.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/m4/m4-" - version ".tar.gz")) - (sha256 - (base32 - "1f9bxj176kf3pvs350w2dfs8jgwhminywri5pyn01b11yc4yhsjw")))) - (supported-systems '("i686-linux" "x86_64-linux")) - (native-inputs `(("mes" ,mes-boot) - ("tcc" ,tcc-boot))) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (setenv "CONFIG_SHELL" (string-append - (assoc-ref %build-inputs "bash") - "/bin/sh")) - (setenv "CC" "tcc -static") - (setenv "CPP" "tcc -E") - (invoke "./configure" (string-append "--prefix=" out)))))))))) - (define (%bootstrap-inputs+toolchain) ;; The traditional bootstrap-inputs. For the i686-linux Reduced Binary Seed ;; the actual reduced set with bootstrapped toolchain. -- cgit 1.4.1 From f29fdd4e00cc41b13a1d5e5033d7525e4dbf8d04 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 22:39:14 +0100 Subject: gnu: commencement: %bootstrap-inputs+toolchain: Use Gash instead of coreutils&co. * gnu/packages/commencement.scm (%bootstrap-inputs+toolchain): Use Gash instead of coreutils&co. --- gnu/packages/commencement.scm | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 6149b848a0..2c0ddfce78 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2636,16 +2636,11 @@ exec " gcc "/bin/" program '("coreutils" "kernel-headers")))) (define (%bootstrap-inputs+toolchain) - ;; The traditional bootstrap-inputs. For the i686-linux Reduced Binary Seed - ;; the actual reduced set with bootstrapped toolchain. + ;; The traditional bootstrap-inputs. For the i686-linux, x86_64-linux + ;; Scheme-only bootstrap the actual reduced set with bootstrapped toolchain. (match (%current-system) ((or "i686-linux" "x86_64-linux") - `(("libc" ,glibc-mesboot) - ("binutils" ,binutils-mesboot) - ("gcc-wrapper" ,gcc-mesboot-wrapper) - ("gcc" ,gcc-mesboot) - ,@(fold alist-delete (%bootstrap-inputs) - '("bootstrap-mescc-tools" "mes")))) + (%boot-mesboot6-inputs)) (_ (%bootstrap-inputs)))) -- cgit 1.4.1 From f8d1a95ea45475d106289b32cb07e5aa762ebd30 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 17 Feb 2020 21:56:05 +0100 Subject: gnu: commencement: file: Build file without bzip2. * gnu/packages/commencement.scm (file): New variable. Use it instead of (gnu packages file), removing failing bzip2 extension. --- gnu/packages/commencement.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2c0ddfce78..b5d27e8f96 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -31,7 +31,6 @@ #:use-module (gnu packages c) #:use-module (gnu packages gcc) #:use-module (gnu packages m4) - #:use-module (gnu packages file) #:use-module (gnu packages gawk) #:use-module (gnu packages bison) #:use-module (gnu packages flex) @@ -2709,6 +2708,12 @@ exec " gcc "/bin/" program ,flags))) (package-arguments findutils)))))) +(define file + (package + (inherit (@ (gnu packages file) file)) + (arguments + `(#:configure-flags '("--disable-bzlib"))))) + (define file-boot0 (package (inherit file) @@ -2718,10 +2723,12 @@ exec " gcc "/bin/" program `(("make" ,gnu-make-boot0) ,@(%bootstrap-inputs+toolchain))) (arguments - `(#:implicit-inputs? #f + `(#:tests? #f ; merge test fails + #:implicit-inputs? #f #:guile ,%bootstrap-guile #:strip-binaries? #f - #:validate-runpath? #f)))) + #:validate-runpath? #f + ,@(package-arguments file))))) (define (%boot0-inputs) `(("make" ,gnu-make-boot0) -- cgit 1.4.1 From 4bfce839f9595750960e3bf2e789e351eb74e279 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 11 Dec 2019 17:24:21 +0100 Subject: gnu: commencement: Add gawk-boot0. * gnu/packages/commencement.scm (gawk-boot0): New variable. (%boot0-inputs): Add it. --- gnu/packages/commencement.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index b5d27e8f96..8ab3c3ad31 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2730,11 +2730,28 @@ exec " gcc "/bin/" program #:validate-runpath? #f ,@(package-arguments file))))) +(define gawk-boot0 + (package + (inherit patch) + (source (bootstrap-origin (package-source gawk))) + (name "gawk-boot0") + (native-inputs '()) + (inputs + `(("make" ,gnu-make-boot0) + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:tests? #f + #:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:strip-binaries? #f + #:validate-runpath? #f)))) + (define (%boot0-inputs) `(("make" ,gnu-make-boot0) ("diffutils" ,diffutils-boot0) ("findutils" ,findutils-boot0) ("file" ,file-boot0) + ("gawk" ,gawk-boot0) ,@(%bootstrap-inputs+toolchain))) (define* (boot-triplet #:optional (system (%current-system))) -- cgit 1.4.1 From fdab061994a5f6f737fe8219d7cc2f936f790f5c Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 23:56:32 +0100 Subject: gnu: commencement: Add sed-boot0. linux-libre-headers depends on `sed -E', introduced in sed 4.1.5. * gnu/packages/commencement.scm (sed-boot0): New variable. (%boot0-inputs): Add it. --- gnu/packages/commencement.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8ab3c3ad31..2e91ded693 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2746,12 +2746,28 @@ exec " gcc "/bin/" program #:strip-binaries? #f #:validate-runpath? #f)))) +(define sed-boot0 + (package + (inherit sed) + (name "sed-boot0") + (source (bootstrap-origin (package-source sed))) + (native-inputs '()) + (inputs + `(("make" ,gnu-make-boot0) + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:implicit-inputs? #f + #:tests? #f + #:guile ,%bootstrap-guile + ,@(package-arguments sed))))) + (define (%boot0-inputs) `(("make" ,gnu-make-boot0) ("diffutils" ,diffutils-boot0) ("findutils" ,findutils-boot0) ("file" ,file-boot0) ("gawk" ,gawk-boot0) + ("sed" ,sed-boot0) ,@(%bootstrap-inputs+toolchain))) (define* (boot-triplet #:optional (system (%current-system))) -- cgit 1.4.1 From 31a3db77e96d91cc75bb7c5703c9f16effe190ee Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 23 Nov 2019 08:48:03 +0100 Subject: gnu: commencement: Add patch-boot0. * gnu/packages/commencement.scm (patch-boot0): New variable: patch without lzip dependency (via ed). (%boot0-inputs): Add it. --- gnu/packages/commencement.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2e91ded693..8c9cd7c037 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2746,6 +2746,22 @@ exec " gcc "/bin/" program #:strip-binaries? #f #:validate-runpath? #f)))) +(define patch-boot0 + (package + (inherit patch) + (source (bootstrap-origin (package-source patch))) + (name "patch-boot0") + (native-inputs '()) + (inputs + `(("make" ,gnu-make-boot0) + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:tests? #f ; merge test fails + #:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:strip-binaries? #f + #:validate-runpath? #f)))) + (define sed-boot0 (package (inherit sed) @@ -2767,6 +2783,7 @@ exec " gcc "/bin/" program ("findutils" ,findutils-boot0) ("file" ,file-boot0) ("gawk" ,gawk-boot0) + ("patch" ,patch-boot0) ("sed" ,sed-boot0) ,@(%bootstrap-inputs+toolchain))) -- cgit 1.4.1 From 2e41da947b960941304b42473c1757aef41d772a Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 23 Nov 2019 09:11:57 +0100 Subject: gnu: commencement: Add bzip2-boot0. * gnu/packages/commencement.scm (bzip2-boot0): New variable. (%boot0-inputs): Add it. --- gnu/packages/commencement.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8c9cd7c037..9383e7c20b 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2672,6 +2672,19 @@ exec " gcc "/bin/" program (native-inputs '()) ; no need for 'pkg-config' (inputs (%bootstrap-inputs+toolchain)))) +(define bzip2-boot0 + (package + (inherit bzip2) + (name "bzip2-boot0") + (native-inputs `()) + (inputs + `(("make" ,gnu-make-boot0) + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + ,@(package-arguments bzip2))))) + (define diffutils-boot0 (package (inherit diffutils) @@ -2778,11 +2791,12 @@ exec " gcc "/bin/" program ,@(package-arguments sed))))) (define (%boot0-inputs) - `(("make" ,gnu-make-boot0) + `(("bzip2" ,bzip2-boot0) ("diffutils" ,diffutils-boot0) ("findutils" ,findutils-boot0) ("file" ,file-boot0) ("gawk" ,gawk-boot0) + ("make" ,gnu-make-boot0) ("patch" ,patch-boot0) ("sed" ,sed-boot0) ,@(%bootstrap-inputs+toolchain))) -- cgit 1.4.1 From 1d313d6d88556f1b110d09d1e0e7b2e967a403ca Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 23 Nov 2019 09:13:50 +0100 Subject: gnu: commencement: Add tar-boot0. * gnu/packages/commencement.scm (tar-boot0): New variable. (%boot0-inputs): Add it. --- gnu/packages/commencement.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 9383e7c20b..9d4880f924 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2790,6 +2790,21 @@ exec " gcc "/bin/" program #:guile ,%bootstrap-guile ,@(package-arguments sed))))) +(define tar-boot0 + (package + (inherit tar) + (name "tar-boot0") + (source (bootstrap-origin (package-source tar))) + (native-inputs '()) + (inputs + `(("make" ,gnu-make-boot0) + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:implicit-inputs? #f + #:tests? #f + #:guile ,%bootstrap-guile + ,@(package-arguments tar))))) + (define (%boot0-inputs) `(("bzip2" ,bzip2-boot0) ("diffutils" ,diffutils-boot0) @@ -2799,6 +2814,7 @@ exec " gcc "/bin/" program ("make" ,gnu-make-boot0) ("patch" ,patch-boot0) ("sed" ,sed-boot0) + ("tar" ,tar-boot0) ,@(%bootstrap-inputs+toolchain))) (define* (boot-triplet #:optional (system (%current-system))) -- cgit 1.4.1 From cacb6b903d6d45606a9d7d91e461e58348e3b80c Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 23 Nov 2019 11:18:12 +0100 Subject: gnu: commencement: Add coreutils-boot0. (coreutils-boot0): New variable. * gnu/packages/commencement.scm (%boot0-inputs): Add it. --- gnu/packages/commencement.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 9d4880f924..8555249c17 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2685,6 +2685,21 @@ exec " gcc "/bin/" program #:implicit-inputs? #f ,@(package-arguments bzip2))))) +(define coreutils-boot0 + (package + (inherit coreutils) + (source (bootstrap-origin (package-source coreutils))) + (name "coreutils-boot0") + (native-inputs `()) + (inputs + `(("make" ,gnu-make-boot0) + ,@(%bootstrap-inputs+toolchain))) + (arguments + `(#:tests? #f + #:implicit-inputs? #f + #:guile ,%bootstrap-guile + ,@(package-arguments coreutils))))) + (define diffutils-boot0 (package (inherit diffutils) @@ -2807,6 +2822,7 @@ exec " gcc "/bin/" program (define (%boot0-inputs) `(("bzip2" ,bzip2-boot0) + ("coreutils" ,coreutils-boot0) ("diffutils" ,diffutils-boot0) ("findutils" ,findutils-boot0) ("file" ,file-boot0) -- cgit 1.4.1 From f0505fde55aa4f5b62452abeba5898378195cef4 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 5 Dec 2019 23:13:34 +0100 Subject: gnu: commencement: coreutils-final: Inherit from coreutils-minimal. * gnu/packages/commencement.scm (coreutils-final): Inherit from coreutils-minimal. --- gnu/packages/commencement.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8555249c17..13b1936260 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3768,7 +3768,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define coreutils-final ;; The final Coreutils. Treat them specially because some packages, such as ;; Findutils, keep a reference to the Coreutils they were built with. - (with-boot5 (package-with-bootstrap-guile coreutils) + (with-boot5 (package-with-bootstrap-guile + (package + (inherit coreutils-minimal) + (name "coreutils"))) ;; Use the final Guile, linked against the ;; final libc with working iconv, so that ;; 'substitute*' works well when touching -- cgit 1.4.1 From 6340afee2852c5b81f6a34678c71d42fa17b4a7c Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 13 Dec 2019 23:12:56 +0100 Subject: gnu: commencement: %bootstrap-tarballs: Remove %bootstrap-binaries-tarball. * gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[i686-linux, x86_64-linux]: Remove %bootstrap-binaries-tarball. * gnu/packages/commencement.scm (file-boot0): Drop bzlib dependency. --- gnu/packages/commencement.scm | 1 + gnu/packages/make-bootstrap.scm | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 13b1936260..3bb0e321f8 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2754,6 +2754,7 @@ exec " gcc "/bin/" program `(#:tests? #f ; merge test fails #:implicit-inputs? #f #:guile ,%bootstrap-guile + #:configure-flags '("--disable-bzlib") #:strip-binaries? #f #:validate-runpath? #f ,@(package-arguments file))))) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index ef274a2ade..335d5c811d 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -889,8 +889,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ,%linux-libre-headers-bootstrap-tarball))) (_ `(("gcc-tarball" ,%gcc-bootstrap-tarball) ("binutils-tarball" ,%binutils-bootstrap-tarball) - ("glibc-tarball" ,(%glibc-bootstrap-tarball))))) - ("coreutils&co-tarball" ,%bootstrap-binaries-tarball))) + ("glibc-tarball" ,(%glibc-bootstrap-tarball)) + ("coreutils&co-tarball" ,%bootstrap-binaries-tarball)))))) (synopsis "Tarballs containing all the bootstrap binaries") (description synopsis) (home-page #f) -- cgit 1.4.1 From d77860dbc8fc9fc494fec68da2b81fecd59db8a1 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 22 Nov 2019 23:05:15 +0100 Subject: gnu: bootstrap: Remove %bootstrap-coreutils&co, %bootstrap-bash. * gnu/packages/bootstrap.scm (%bootstrap-inputs)[i686-linux,x86-linux]: Remove %bootstrap-coreutils&co, %bootstrap-bash. --- gnu/packages/bootstrap.scm | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index c097d93693..0fbe8ef64a 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -809,19 +809,18 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ (define (%bootstrap-inputs) ;; The initial, pre-built inputs. From now on, we can start building our ;; own packages. - `(,@(match (%current-system) - ((or "i686-linux" "x86_64-linux") - `(("linux-libre-headers" ,%bootstrap-linux-libre-headers) - ("bootstrap-mescc-tools" ,%bootstrap-mescc-tools) - ("mes" ,%bootstrap-mes))) - (_ - `(("libc" ,%bootstrap-glibc) - ("gcc" ,%bootstrap-gcc) - ("binutils" ,%bootstrap-binutils)))) - ("coreutils&co" ,%bootstrap-coreutils&co) - - ;; In gnu-build-system.scm, we rely on the availability of Bash. - ("bash" ,%bootstrap-coreutils&co))) + (match (%current-system) + ((or "i686-linux" "x86_64-linux") + `(("linux-libre-headers" ,%bootstrap-linux-libre-headers) + ("bootstrap-mescc-tools" ,%bootstrap-mescc-tools) + ("mes" ,%bootstrap-mes))) + (_ + `(("libc" ,%bootstrap-glibc) + ("gcc" ,%bootstrap-gcc) + ("binutils" ,%bootstrap-binutils) + ("coreutils&co" ,%bootstrap-coreutils&co) + ;; In gnu-build-system.scm, we rely on the availability of Bash. + ("bash" ,%bootstrap-coreutils&co))))) (define %bootstrap-inputs-for-tests ;; These are bootstrap inputs that are cheap to produce (no compilation -- cgit 1.4.1 From 2bb7deff9fc748c789bd424590e48c42c8d8e80e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 16 Dec 2019 13:37:56 +0100 Subject: gnu: commencement: gnu-make-mesboot0: Rename from make-mesboot0. * gnu/packages/commencement.scm (gnu-make-mesboot0): Rename from make-mesboot0. Update users. --- gnu/packages/commencement.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 3bb0e321f8..de010c5ef2 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -728,7 +728,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" ;; no gzip yet (delete 'compress-documentation)))))) -(define make-mesboot0 +(define gnu-make-mesboot0 ;; The initial make (package (inherit gnu-make) @@ -784,7 +784,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (install-file "make" bin))))))))) (define (%boot-tcc0-inputs) - `(("make" ,make-mesboot0) + `(("make" ,gnu-make-mesboot0) ("tcc" ,tcc-boot0) ,@(%boot-gash-inputs))) -- cgit 1.4.1 From 476614f782eca24dac1422c00f90515f62216f77 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 16 Dec 2019 13:38:20 +0100 Subject: gnu: commencement: gnu-make-mesboot: Rename from make-mesboot. * gnu/packages/commencement.scm (gnu-make-mesboot): Rename from. make-mesboot. Update users. --- gnu/packages/commencement.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index de010c5ef2..a3c770bd00 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1787,7 +1787,7 @@ ac_cv_c_float_format='IEEE (little-endian)' "ac_cv_func_gethostbyname=no" "gl_cv_func_rename_dest_works=yes"))))) -(define make-mesboot +(define gnu-make-mesboot (package (inherit gnu-make) (name "make-mesboot") @@ -1964,7 +1964,7 @@ ac_cv_c_float_format='IEEE (little-endian)' ("coreutils" ,coreutils-mesboot0) ("gawk" ,gawk-mesboot) ("grep" ,grep-mesboot) - ("make" ,make-mesboot) + ("make" ,gnu-make-mesboot) ("sed" ,sed-mesboot) ("tar" ,tar-mesboot) ,@(fold alist-delete (%boot-mesboot0-inputs) -- cgit 1.4.1 From a75a6aa1b8a091966921e3cff53420d59aaaa808 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 16 Dec 2019 22:56:12 +0100 Subject: gnu: commencement: gash-core-utils-boot: Update to 0.0.214-fc1b. * gnu/packages/commencement.scm (gash-core-utils-boot): Update to 0.0.214-fc1b. --- gnu/packages/commencement.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index a3c770bd00..7d2d00ee51 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -225,7 +225,7 @@ (package (inherit gash-core-utils) (name "gash-core-utils-boot") - (version "0.0.213-3f6eb") + (version "0.0.214-fc1b") (source (bootstrap-origin (origin (method url-fetch) @@ -243,7 +243,7 @@ #t)) (sha256 (base32 - "0601c9hqbjrjjsllr2m3zmkglkd53d97in7a5c22ikd8islddp76"))))) + "090d8m0b165jf9381nhqpljc5zk22jd6bw03xnyf0na5snk9xp6v"))))) (build-system guile-build-system) (native-inputs `(("bash" ,(bootstrap-executable "bash" (%current-system))) ("tar" ,(bootstrap-executable "tar" (%current-system))) -- cgit 1.4.1 From 062bc721176a3b21b7b8e6564e9a5706adc9879c Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 17 Dec 2019 09:12:07 +0100 Subject: gnu: commencement: glibc-mesboot: Use gash only, instead of bash/gash mix. While this works and is much cleaner, it is also much slower. * gnu/packages/commencement.scm (glibc-mesboot0): Use gash only, instead of bash/gash mix. --- gnu/packages/commencement.scm | 49 ++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7d2d00ee51..07d78ad51d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1497,8 +1497,13 @@ ac_cv_c_float_format='IEEE (little-endian)' (native-inputs `(("boot-patch" ,(search-patch "glibc-boot-2.2.5.patch")) ("system-patch" ,(search-patch "glibc-bootstrap-system-2.2.5.patch")) ("headers" ,mesboot-headers) - ,@(%boot-mesboot-core-inputs) - ("gash" ,gash-boot))) + ;; XXX: make-syscalls.sh does not run correctly with + ;; bash-mesboot0, producing a wrong sysd-syscalls. + ;; This leads to posix/uname.c getting compiled where it + ;; shouldn't: + ;; ../sysdeps/generic/uname.c:25: config-name.h: error 02 + ("bash" ,gash-boot) + ,@(%boot-mesboot-core-inputs))) (outputs '("out")) (arguments `(#:implicit-inputs? #f @@ -1556,33 +1561,19 @@ ac_cv_c_float_format='IEEE (little-endian)' (format (current-error-port) "running ./configure ~a\n" (string-join configure-flags)) (apply invoke "./configure" configure-flags))) - (add-after 'configure 'fixup-configure - (lambda _ - (let* ((out (assoc-ref %outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (shell (string-append bash "/bin/bash")) - (gash (assoc-ref %build-inputs "gash")) - (gash (string-append gash "/bin/gash"))) - (substitute* "config.make" - (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")) - (substitute* "config.make" - (("INSTALL = scripts/") "INSTALL = $(..)./scripts/") - (("BASH = ") (string-append - "SHELL = " shell " -BASH = "))) - ;; XXX: make-syscalls.sh does not run correctly with - ;; bash-mesboot0, producing a wrong sysd-syscalls. - - ;; This leads to posix/uname.c getting compiled where it - ;; shouldn't: - - ;; ../sysdeps/generic/uname.c:25: config-name.h: error 02 - (substitute* "sysdeps/unix/make-syscalls.sh" - (("#!/gnu/store.*/bin/bash") (string-append "#! " gash))) - - (substitute* "sysdeps/unix/Makefile" - ((" [{] [$][(]SHELL[)]") (string-append " { " gash)))) - #t))))))) + (add-after 'configure 'fixup-configure + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (substitute* "config.make" + (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")) + (substitute* "config.make" + (("INSTALL = scripts/") "INSTALL = $(..)./scripts/") + (("BASH = ") (string-append + "SHELL = " shell " + BASH = "))) + #t)))))))) (define gcc-mesboot0 (package -- cgit 1.4.1 From 1fdc6a3829ab91c7d2124a4a0771788553c61f77 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 18 Dec 2019 17:14:38 +0100 Subject: gnu: commencement: mes-boot: Update to 0.22. * gnu/packages/commencement.scm (mes-boot): Update to 0.22. --- gnu/packages/commencement.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 07d78ad51d..8b01770caa 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -498,14 +498,14 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (package (inherit mes) (name "mes-boot") - (version "0.21-33-g6d493b90d") + (version "0.22") (source (origin (method url-fetch) - (uri (string-append "http://lilypond.org/janneke/mes/" + (uri (string-append "mirror://gnu/mes/" "mes-" version ".tar.gz")) (sha256 (base32 - "0nr74zyam5n82svjwfbcz2mycj88vvsqab12x0mxv1lm6yqxqmmj")))) + "0p1jsrrmcbc0zrvbvnjbb6iyxr0in71km293q8qj6gnar6bw09av")))) (inputs '()) (propagated-inputs '()) (native-inputs -- cgit 1.4.1 From a7e514170a26cd2dcb9cfc6615a1372c50cb83be Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 18 Dec 2019 17:14:58 +0100 Subject: gnu: commencement: glibc-boot0: Remove gash, use bash-mesboot0 only. * gnu/packages/commencement.scm (glibc-mesboot0): Use bash-mesboot0 only. --- gnu/packages/commencement.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8b01770caa..d1ad396916 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1497,12 +1497,6 @@ ac_cv_c_float_format='IEEE (little-endian)' (native-inputs `(("boot-patch" ,(search-patch "glibc-boot-2.2.5.patch")) ("system-patch" ,(search-patch "glibc-bootstrap-system-2.2.5.patch")) ("headers" ,mesboot-headers) - ;; XXX: make-syscalls.sh does not run correctly with - ;; bash-mesboot0, producing a wrong sysd-syscalls. - ;; This leads to posix/uname.c getting compiled where it - ;; shouldn't: - ;; ../sysdeps/generic/uname.c:25: config-name.h: error 02 - ("bash" ,gash-boot) ,@(%boot-mesboot-core-inputs))) (outputs '("out")) (arguments -- cgit 1.4.1 From 1681d3f1e040cbf0fb8297fc1f557fb787ec7668 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Mon, 3 Feb 2020 11:26:35 -0500 Subject: gnu: Rename 'gash-core-utils' to 'gash-utils'. * gnu/packages/shells.scm (gash-core-utils): Rename this... (gash-utils): ...to this. * gnu/packages/commencement.scm (gash-core-utils): Rename this... (gash-utils): ...to this and update the parent package reference. (%boot-gash-inputs): Update reference. --- gnu/packages/commencement.scm | 10 +++++----- gnu/packages/shells.scm | 32 -------------------------------- 2 files changed, 5 insertions(+), 37 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index d1ad396916..21a676b394 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -85,7 +85,7 @@ (define %bootstrap-guile+guild ;; This package combines %bootstrap-guile with guild, which is not included ;; in %bootstrap-guile. Guild is needed to build gash-boot and - ;; gash-core-utils-boot because it is dependency of the Guile build system. + ;; gash-utils-boot because it is dependency of the Guile build system. (package (name "guile-bootstrap+guild") (version "2.0") @@ -221,10 +221,10 @@ (install-file "scripts/bash" bin) #t)))))))) -(define gash-core-utils-boot +(define gash-utils-boot (package - (inherit gash-core-utils) - (name "gash-core-utils-boot") + (inherit gash-utils) + (name "gash-utils-boot") (version "0.0.214-fc1b") (source (bootstrap-origin (origin @@ -383,7 +383,7 @@ (define (%boot-gash-inputs) `(("bash" , gash-boot) ; gnu-build-system wants "bash" - ("coreutils" , gash-core-utils-boot) + ("coreutils" , gash-utils-boot) ("guile" ,%bootstrap-guile) ("guile+guild" ,%bootstrap-guile+guild))) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index a25c15443f..80ef90e111 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -856,35 +856,3 @@ Underpinning these utilities are many Scheme interfaces for manipulating files and text.") (license gpl3+))) -(define-public gash-core-utils - (package - (name "gash-core-utils") - (version "0.0.211-789c3") - (source (origin - (method url-fetch) - (uri (string-append "http://lilypond.org/janneke/guix/20191123/" - "/gash-core-utils-" version ".tar.gz")) - (sha256 - (base32 - "1ycf0ivyn9q3lc9hwq8vxg6wkwpsykvh48a5lrzsmganh0ma8wrr")))) - (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config))) - (inputs - `(("guile" ,guile-2.2) - ("gash" ,gash))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-test - (lambda _ - (substitute* "tests/core-utils.org" - (("ls \\(GASH\\) UNKNOWN") "ls (GASH) 0.0.211-789c3")) - #t))))) - (home-page "https://gitlab.com/janneke/gash-core-utils") - (synopsis "Bootstrappable replacement of core GNU utilities in Guile Scheme") - (description "Gash Core Utils provides core GNU utilities in Guile -Scheme as bootstrappable replacement for GNU coreutils&co.") - (license gpl3+))) -- cgit 1.4.1 From 9c9407f746aa6ad365c0604ef9668009f4dbe8fd Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Sat, 8 Feb 2020 09:57:21 -0500 Subject: Add (guix build gnu-bootstrap). * guix/build/gnu-bootstrap.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + guix/build/gnu-bootstrap.scm | 114 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 guix/build/gnu-bootstrap.scm diff --git a/Makefile.am b/Makefile.am index c6a2e6cf6c..0371d92d7c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -172,6 +172,7 @@ MODULES = \ guix/build/git.scm \ guix/build/hg.scm \ guix/build/glib-or-gtk-build-system.scm \ + guix/build/gnu-bootstrap.scm \ guix/build/gnu-build-system.scm \ guix/build/gnu-dist.scm \ guix/build/guile-build-system.scm \ diff --git a/guix/build/gnu-bootstrap.scm b/guix/build/gnu-bootstrap.scm new file mode 100644 index 0000000000..1cb9dc5512 --- /dev/null +++ b/guix/build/gnu-bootstrap.scm @@ -0,0 +1,114 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Timothy Sample +;;; +;;; 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 . + +;; Commentary: +;; +;; These procedures can be used to adapt the GNU Build System to build +;; pure Scheme packages targeting the bootstrap Guile. +;; +;; Code: + +(define-module (guix build gnu-bootstrap) + #:use-module (guix build utils) + #:use-module (system base compile) + #:export (bootstrap-configure + bootstrap-build + bootstrap-install)) + +(define (bootstrap-configure version modules scripts) + "Create a procedure that configures an early bootstrap package. The +procedure will search the MODULES directory and configure all of the +'.in' files with VERSION. It will then search the SCRIPTS directory and +configure all of the '.in' files with the bootstrap Guile and its module +and object directories." + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (guile-dir (assoc-ref inputs "guile")) + (guile (string-append guile-dir "/bin/guile")) + (moddir (string-append out "/share/guile/site/" + (effective-version))) + (godir (string-append out "/lib/guile/" + (effective-version) + "/site-ccache"))) + (for-each (lambda (template) + (format #t "Configuring ~a~%" template) + (let ((target (string-drop-right template 3))) + (copy-file template target) + (substitute* target + (("@VERSION@") version)))) + (find-files modules + (lambda (fn st) + (string-suffix? ".in" fn)))) + (for-each (lambda (template) + (format #t "Configuring ~a~%" template) + (let ((target (string-drop-right template 3))) + (copy-file template target) + (substitute* target + (("@GUILE@") guile) + (("@MODDIR@") moddir) + (("@GODIR@") godir)) + (chmod target #o755))) + (find-files scripts + (lambda (fn st) + (string-suffix? ".in" fn)))) + #t))) + +(define (bootstrap-build modules) + "Create a procedure that builds an early bootstrap package. The +procedure will search the MODULES directory and compile all of the +'.scm' files." + (lambda _ + (add-to-load-path (getcwd)) + (for-each (lambda (scm) + (let* ((base (string-drop-right scm 4)) + (go (string-append base ".go")) + (dir (dirname scm))) + (format #t "Compiling ~a~%" scm) + (compile-file scm #:output-file go))) + (find-files modules "\\.scm$")) + #t)) + +(define (bootstrap-install modules scripts) + "Create a procedure that installs an early bootstrap package. The +procedure will install all of the '.scm' and '.go' files in the MODULES +directory, and all the executable files in the SCRIPTS directory." + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (guile-dir (assoc-ref inputs "guile")) + (guile (string-append guile-dir "/bin/guile")) + (moddir (string-append out "/share/guile/site/" + (effective-version))) + (godir (string-append out "/lib/guile/" + (effective-version) + "/site-ccache"))) + (for-each (lambda (scm) + (let* ((base (string-drop-right scm 4)) + (go (string-append base ".go")) + (dir (dirname scm))) + (format #t "Installing ~a~%" scm) + (install-file scm (string-append moddir "/" dir)) + (format #t "Installing ~a~%" go) + (install-file go (string-append godir "/" dir)))) + (find-files modules "\\.scm$")) + (for-each (lambda (script) + (format #t "Installing ~a~%" script) + (install-file script (string-append out "/bin"))) + (find-files scripts + (lambda (fn st) + (executable-file? fn)))) + #t))) -- cgit 1.4.1 From 2ca7af43fe17d9acf082dce85d137a27a8ac4887 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Mon, 3 Feb 2020 10:51:07 -0500 Subject: gnu: commencement: Simplify Gash and Gash-Utils. This change does three things. First Gash-Utils is updated to 0.1.0. Then, the bootstrap Gash and Gash-Utils packages are arranged to be built without using 'guild'. Finally, instead of using a binary 'tar' via 'bootstrap-executable' to extract Gash and Gash-Utils, a self-extracting Scheme implementation of 'tar' and 'gzip' is used instead. These three changes need to happen in concert to avoid breaking the bootstrap process. * gnu/packages/shells.scm (gash-utils): Update to 0.1.0; remove 'autoconf' and 'automake' from 'native-inputs'; delete 'arguments'; update the home-page, synopsis, and description. * gnu/packages/commencement.scm (bootar): New variable. (gash-boot): Replace 'tar', and 'xz' with 'bootar'; remove 'bash' and 'guile-source'; do not use 'guile-build-system' but rather 'gnu-build-system' with some modified phases; disable tests. (gash-utils-boot): Likewise. (%boot-gash-inputs): Add 'bootar'; replace '%bootstrap-guile+guild' with '%bootstrap-guile'. (mes-boot): In the configure phase, do not reference 'GUILE_LOAD_PATH' as it is no longer set. --- gnu/packages/commencement.scm | 378 +++++++++++++++++------------------------- 1 file changed, 148 insertions(+), 230 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 21a676b394..663c0054db 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2019, 2020 Marius Bakke +;;; Copyright © 2020 Timothy Sample ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,8 +52,8 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (guix build-system guile) #:use-module (guix build-system trivial) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix memoization) #:use-module (guix utils) #:use-module (srfi srfi-1) @@ -140,252 +141,170 @@ (variable "GUILE_LOAD_COMPILED_PATH") (files '("lib/guile/2.0/site-ccache"))))))) +(define bootar + (package + (name "bootar") + (version "1") + (source (origin + (method url-fetch) + (uri "https://files.ngyro.com/bootar/bootar-1.ses") + (sha256 + (base32 + "011p0nky2qp0vmyhvdx220qywxxp7a0m6pvy0lzzg4qxbpyqpf0r")))) + (build-system gnu-build-system) + (arguments + `(#:implicit-inputs? #f + #:tests? #f + #:guile ,%bootstrap-guile + #:imported-modules ((guix build gnu-bootstrap) + ,@%gnu-build-system-modules) + #:phases + (begin + (use-modules (guix build gnu-bootstrap)) + (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key inputs #:allow-other-keys) + (let* ((source (assoc-ref inputs "source")) + (guile-dir (assoc-ref inputs "guile")) + (guile (string-append guile-dir "/bin/guile"))) + (invoke guile "--no-auto-compile" source) + (chdir "bootar") + #t))) + (replace 'configure (bootstrap-configure ,version "." "scripts")) + (replace 'build (bootstrap-build ".")) + (replace 'install (bootstrap-install "." "scripts")))))) + (inputs `(("guile" ,%bootstrap-guile))) + (home-page "https://git.ngyro.com/bootar") + (synopsis "Tar decompression and extraction in Guile Scheme") + (description "Bootar is a simple Tar extractor written in Guile +Scheme. It supports running 'tar xvf' on uncompressed tarballs or +tarballs that are compressed with BZip2, GZip, or XZ. It also provides +standalone scripts for 'bzip2', 'gzip', and 'xz' that each support +decompression to standard output. + +What makes this special is that Bootar is distributed as a +self-extracting Scheme (SES) program. That is, a little script that +outputs the source code of Bootar. This makes it possible to go from +pure Scheme to Tar and decompression in one easy step.") + (license license:gpl3+))) + (define gash-boot (package (inherit gash) (name "gash-boot") - (version "0.2.0") - (source (bootstrap-origin - (origin (inherit (package-source gash)) - (modules '((guix build utils) - (srfi srfi-26))) - (snippet - '(begin - ;; Remove Guix'y files that we cannot compile. - (delete-file "guix.scm") - (delete-file-recursively "tests") - #t))))) - (build-system guile-build-system) - (native-inputs `(("bash" ,(bootstrap-executable "bash" (%current-system))) - ("tar" ,(bootstrap-executable "tar" (%current-system))) - ("xz" ,(bootstrap-executable "xz" (%current-system))) - ("guile-source" ,(bootstrap-origin - (package-source guile-2.0))))) - (inputs `(("guile" ,%bootstrap-guile+guild))) + (source (origin + (inherit (package-source gash)) + (modules '()))) (arguments `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile+guild + #:tests? #f + #:guile ,%bootstrap-guile + #:imported-modules ((guix build gnu-bootstrap) + ,@%gnu-build-system-modules) #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-guile-source - (lambda _ - (let ((guile-source (assoc-ref %build-inputs "guile-source")) - (bin (string-append (getcwd) "/zee-bin"))) - (mkdir-p bin) - (with-directory-excursion bin - (invoke "tar" "--strip-components=2" - - "-xvf" guile-source - (string-append "guile-" - ,(package-version guile-2.0) - "/meta/guild.in")) - (copy-file "guild.in" "guild") - (chmod "guild" #o555)) - #t))) - (add-before 'unpack 'set-path - (lambda _ - (let ((bash (assoc-ref %build-inputs "bash")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (bin (string-append (getcwd) "/zee-bin"))) - (mkdir-p bin) - (setenv "PATH" (string-append bin ":" (getenv "PATH"))) - (copy-file bash (string-append bin "/bash")) - (copy-file bash (string-append bin "/sh")) - (copy-file tar (string-append bin "/tar")) - (copy-file xz (string-append bin "/xz")) - #t))) - (add-after 'build 'build-scripts - (lambda _ - (let* ((guile (assoc-ref %build-inputs "guile")) - (guile (string-append guile "/bin/guile")) - (out (assoc-ref %outputs "out")) - (effective "2.0") - (moddir (string-append out "/share/guile/site/" effective "/")) - (godir (string-append out "/lib/guile/" effective "/site-ccache/"))) - (copy-file "scripts/gash.in" "scripts/gash") - (chmod "scripts/gash" #o555) - (substitute* "scripts/gash" - (("@GUILE@") guile) - (("@MODDIR@") moddir) - (("@GODIR") godir)) - #t))) - (add-after 'install 'install-scripts - (lambda _ - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin"))) - (install-file "scripts/gash" bin) - (copy-file "scripts/gash" "scripts/sh") - (install-file "scripts/sh" bin) - (copy-file "scripts/gash" "scripts/bash") - (install-file "scripts/bash" bin) - #t)))))))) + (begin + (use-modules (guix build gnu-bootstrap)) + (modify-phases %standard-phases + (replace 'configure + (bootstrap-configure ,(version) "gash" "scripts")) + (replace 'build (bootstrap-build "gash")) + (replace 'install (bootstrap-install "gash" "scripts")) + (add-after 'install 'install-symlinks + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (symlink (string-append out "/bin/gash") + (string-append out "/bin/sh")) + (symlink (string-append out "/bin/gash") + (string-append out "/bin/bash")) + #t))))))) + (inputs `(("guile" ,%bootstrap-guile))) + (native-inputs `(("bootar" ,bootar))))) (define gash-utils-boot (package (inherit gash-utils) (name "gash-utils-boot") - (version "0.0.214-fc1b") - (source (bootstrap-origin - (origin - (method url-fetch) - (uri (string-append "http://lilypond.org/janneke/" - "/gash-core-utils-" version ".tar.gz")) - (modules '((guix build utils))) - (snippet - '(begin - ;; The Guile build system compiles *.scm; avoid - ;; compiling included lalr. - (delete-file "guix.scm") - (delete-file-recursively "tests") - (substitute* "system/base/lalr.scm" - (("system/base/lalr.upstream.scm") "lalr.upstream.scm")) - #t)) - (sha256 - (base32 - "090d8m0b165jf9381nhqpljc5zk22jd6bw03xnyf0na5snk9xp6v"))))) - (build-system guile-build-system) - (native-inputs `(("bash" ,(bootstrap-executable "bash" (%current-system))) - ("tar" ,(bootstrap-executable "tar" (%current-system))) - ("xz" ,(bootstrap-executable "xz" (%current-system))) - ("guile-source" ,(bootstrap-origin - (package-source guile-2.0))) - ;; We need the 2.0.9 lalr for %bootstrap-guile - ("lalr.upstream" - ,(origin - (method url-fetch) - (uri (string-append "http://git.savannah.gnu.org/cgit/guile.git/plain/module/system/base/lalr.upstream.scm?h=v2.0.9")) - (file-name "lalr.upstream.scm") - (sha256 - (base32 - "0h7gyjj8nr2qrgzwma146s7l22scp8bbcqzdy9wqf12bgyhbw7d5")))))) - (inputs `(("guile" ,%bootstrap-guile+guild) - ("gash" ,gash-boot))) (arguments `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile+guild - #:not-compiled-file-regexp "upstream\\.scm$" + #:tests? #f + #:guile ,%bootstrap-guile + #:imported-modules ((guix build gnu-bootstrap) + ,@%gnu-build-system-modules) #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-guile-source - (lambda _ - (let ((guile-source (assoc-ref %build-inputs "guile-source")) - (bin (string-append (getcwd) "/zee-bin"))) - (mkdir-p bin) - (with-directory-excursion bin - (invoke "tar" "--strip-components=2" - - "-xvf" guile-source - (string-append "guile-" - ,(package-version guile-2.0) - "/meta/guild.in")) - (copy-file "guild.in" "guild") - (chmod "guild" #o555)) - #t))) - (add-before 'unpack 'set-path - (lambda _ - (let ((bash (assoc-ref %build-inputs "bash")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz")) - (bin (string-append (getcwd) "/zee-bin"))) - (mkdir-p bin) - (setenv "PATH" (string-append bin ":" (getenv "PATH"))) - (copy-file bash (string-append bin "/bash")) - (copy-file bash (string-append bin "/sh")) - (copy-file tar (string-append bin "/tar")) - (copy-file xz (string-append bin "/xz")) - #t))) - (add-before 'build 'set-env - (lambda _ - (let ((gash (assoc-ref %build-inputs "gash"))) - (setenv "LANG" "C") - (setenv "LC_ALL" "C") - (setenv "GUILE_LOAD_PATH" - (string-append (getcwd) - ":" (getcwd) "/system/base" - ":" gash "/share/guile/2.0")) - (setenv "GUILE_LOAD_COMPILED_PATH" - (string-append ".:" gash "/lib/guile/2.0/site-ccache/")) - (format (current-error-port) - "GUILE_LOAD_PATH=~s\n" (getenv "GUILE_LOAD_PATH")) - #t))) - (add-before 'build 'replace-lalr.upstream - (lambda _ - (let ((lalr.upstream (assoc-ref %build-inputs "lalr.upstream"))) - (copy-file lalr.upstream "system/base/lalr.upstream.scm") - #t))) - (add-after 'build 'build-scripts - (lambda _ - (let* ((guile (assoc-ref %build-inputs "guile")) - (guile (string-append guile "/bin/guile")) - (gash (string-append guile "gash")) - (out (assoc-ref %outputs "out")) - (effective "2.0") - (guilemoduledir (string-append gash "/share/guile/site/" effective "/")) - (guileobjectdir (string-append gash "/lib/guile/" effective "/site-ccache/")) - (gashmoduledir (string-append out "/share/guile/site/" effective "/")) - (gashobjectdir (string-append out "/lib/guile/" effective "/site-ccache/")) - (bin (string-append out "/bin"))) - (define (wrap name) - (copy-file "command.in" name) - (chmod name #o555) - (substitute* name - (("@GUILE@") guile) - (("@guilemoduledir@") guilemoduledir) - (("@guileobjectdir") guileobjectdir) - (("@gashmoduledir@") gashmoduledir) - (("@gashobjectdir") gashobjectdir) - (("@command@") name)) - (install-file name bin)) - (mkdir-p bin) - (with-directory-excursion "bin" - (for-each wrap '("awk" - "basename" - "cat" - "chmod" - "cmp" - "compress" - "cp" - "cut" - "diff" - "dirname" - "expr" - "false" - "find" - "grep" - "gzip" - "head" - "ln" - "ls" - "mkdir" - "mv" - "pwd" - "reboot" - "rm" - "rmdir" - "sed" - "sleep" - "sort" - "tar" - "test" - "touch" - "tr" - "true" - "uname" - "uniq" - "wc" - "which"))) - (with-directory-excursion bin - (copy-file "grep" "fgrep") - (copy-file "grep" "egrep") - (copy-file "test" "[")) - #t)))))))) + (begin + (use-modules (guix build gnu-bootstrap)) + (modify-phases %standard-phases + (add-after 'unpack 'set-load-path + (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)) + (add-before 'configure 'pre-configure + (lambda _ + (format #t "Creating gash/commands/testb.scm~%") + (copy-file "gash/commands/test.scm" + "gash/commands/testb.scm") + (substitute* "gash/commands/testb.scm" + (("gash commands test") "gash commands testb") + (("apply test [(]cdr") "apply test/bracket (cdr")) + (for-each (lambda (script) + (let ((target (string-append "scripts/" + script ".in"))) + (format #t "Creating scripts/~a~%" target) + (copy-file "scripts/template.in" target) + (substitute* target + (("@UTILITY@") script)))) + '("awk" "basename" "cat" "chmod" "cmp" "command" + "compress" "cp" "cut" "diff" "dirname" "expr" + "false" "find" "grep" "head" "ln" "ls" "mkdir" + "mv" "printf" "pwd" "reboot" "rm" "rmdir" + "sed" "sleep" "sort" "tar" "test" "touch" "tr" + "true" "uname" "uniq" "wc" "which")) + (format #t "Creating scripts/[.in~%") + (copy-file "scripts/template.in" "scripts/[.in") + (substitute* "scripts/[.in" + (("@UTILITY@") "testb")) + (delete-file "scripts/template.in") + #t)) + (replace 'configure + (bootstrap-configure ,(version) "gash" "scripts")) + (replace 'build (bootstrap-build "gash")) + (replace 'install (bootstrap-install "gash" "scripts")) + ;; XXX: The scripts should add Gash to their load paths and + ;; this phase should not exist. + (add-after 'install 'copy-gash + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (moddir (string-append out "/share/guile/site/" + (effective-version))) + (godir (string-append out "/lib/guile/" + (effective-version) + "/site-ccache")) + (gash (assoc-ref inputs "gash")) + (gash-moddir (string-append gash "/share/guile/site/" + (effective-version))) + (gash-godir (string-append gash "/lib/guile/" + (effective-version) + "/site-ccache"))) + (copy-file (string-append gash-moddir "/gash/compat.scm") + (string-append moddir "/gash/compat.scm")) + (copy-recursively (string-append gash-moddir "/gash/compat") + (string-append moddir "/gash/compat")) + (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))))))) + (inputs `(("gash" ,gash-boot) + ("guile" ,%bootstrap-guile))) + (native-inputs `(("bootar" ,bootar))))) (define (%boot-gash-inputs) `(("bash" , gash-boot) ; gnu-build-system wants "bash" ("coreutils" , gash-utils-boot) - ("guile" ,%bootstrap-guile) - ("guile+guild" ,%bootstrap-guile+guild))) + ("bootar" ,bootar) + ("guile" ,%bootstrap-guile))) (define %bootstrap-mes-rewired (package @@ -538,8 +457,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (setenv "GUILE_LOAD_PATH" (string-append mes "/share/mes/module" - ":" dir "/nyacc-0.99.0/module" - ":" (getenv "GUILE_LOAD_PATH"))) + ":" dir "/nyacc-0.99.0/module")) (invoke "gash" "configure.sh" (string-append "--prefix=" out) (string-append "--host=i686-linux-gnu"))))) -- cgit 1.4.1 From 22a9f128ad00586ce0d4ef332e80b14d43b89c54 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Mon, 3 Feb 2020 11:46:25 -0500 Subject: gnu: commencement: Remove %bootstrap-guile+guild. * gnu/packages/commencement.scm (%bootstrap-guile+guild): Remove variable. --- gnu/packages/commencement.scm | 58 ------------------------------------------- 1 file changed, 58 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 663c0054db..aa868c9e21 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -83,64 +83,6 @@ ;;; ;;; Code: -(define %bootstrap-guile+guild - ;; This package combines %bootstrap-guile with guild, which is not included - ;; in %bootstrap-guile. Guild is needed to build gash-boot and - ;; gash-utils-boot because it is dependency of the Guile build system. - (package - (name "guile-bootstrap+guild") - (version "2.0") - (source (bootstrap-origin (package-source guile-2.0))) - (native-inputs `(("bash" ,(bootstrap-executable "bash" (%current-system))) - ("tar" ,(bootstrap-executable "tar" (%current-system))) - ("xz" ,(bootstrap-executable "xz" (%current-system))) - ("guile" ,%bootstrap-guile))) - (build-system trivial-build-system) - (arguments - `(#:guile ,%bootstrap-guile - #:modules ((guix build utils)) - #:builder (begin - (use-modules (guix build utils)) - (let ((guile-source (assoc-ref %build-inputs "source")) - (bin (string-append (getcwd) "/bin")) - (tar (assoc-ref %build-inputs "tar")) - (xz (assoc-ref %build-inputs "xz"))) - (mkdir-p bin) - (setenv "PATH" bin) - (with-directory-excursion bin - (copy-file tar "tar") - (copy-file xz "xz") - (setenv "PATH" bin)) - (let* ((out (assoc-ref %outputs "out")) - (out-bin (string-append out "/bin")) - (guile (assoc-ref %build-inputs "guile")) - (bash (assoc-ref %build-inputs "bash"))) - (mkdir-p out-bin) - (with-directory-excursion out-bin - (symlink (string-append guile "/bin/guile") - "guile") - (invoke "tar" "--strip-components=2" - "-xvf" guile-source - (string-append "guile-" - ,(package-version guile-2.0) - "/meta/guild.in")) - (copy-file "guild.in" "guild") - (substitute* "guild" - (("#!/bin/sh") (string-append "#! " bash)) - (("@installed_guile@") (string-append out-bin "/guile"))) - (chmod "guild" #o555))))))) - (synopsis "Bootstrap Guile plus Guild") - (description "Bootstrap Guile with added Guild") - (home-page #f) - (license (package-license guile-2.0)) - (native-search-paths - (list (search-path-specification - (variable "GUILE_LOAD_PATH") - (files '("share/guile/site/2.0"))) - (search-path-specification - (variable "GUILE_LOAD_COMPILED_PATH") - (files '("lib/guile/2.0/site-ccache"))))))) - (define bootar (package (name "bootar") -- cgit 1.4.1 From e157ed72ec7b673b4204c84a7bf74f13afb44dc7 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Sat, 8 Feb 2020 10:27:34 -0500 Subject: gnu: commencement: Fix '%boot-mesboot1-inputs'. * gnu/packages/commencement.scm (%boot-mesboot1-inputs): In the list of elements to delete from '%boot-mesboot0-inputs', remove a duplicate 'bash', add 'bootar', and remove an extra space at the end of 'grep'. --- gnu/packages/commencement.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index aa868c9e21..9827b77343 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1813,8 +1813,8 @@ ac_cv_c_float_format='IEEE (little-endian)' ("sed" ,sed-mesboot) ("tar" ,tar-mesboot) ,@(fold alist-delete (%boot-mesboot0-inputs) - '("bash" "bash" "binutils" "coreutils" "gash" "gawk" "grep " "guile" - "make" "sed" "tar")))) + '("bash" "binutils" "bootar" "coreutils" "gash" + "gawk" "grep" "guile" "make" "sed" "tar")))) (define gmp-boot (package -- cgit 1.4.1 From 68bbd213e83ae4167096b0760ef756b941d19a85 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 18 Feb 2020 11:17:18 +0100 Subject: gnu: bootstrap-mes-rewired: Do not import the host's (srfi srfi-26). * gnu/packages/commencement.scm (%bootstrap-mes-rewired): Remove (srfi srfi-26) from #:modules. --- gnu/packages/commencement.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 9827b77343..e2dde1b382 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -262,11 +262,12 @@ pure Scheme to Tar and decompression in one easy step.") (build-system trivial-build-system) (arguments `(#:guile ,%bootstrap-guile - #:modules ((guix build utils) - (srfi srfi-26)) + #:modules ((guix build utils)) + #:builder (begin (use-modules (guix build utils) (srfi srfi-26)) + (let* ((mes (assoc-ref %build-inputs "mes")) (gash (assoc-ref %build-inputs "gash")) (mes-bin (string-append mes "/bin")) -- cgit 1.4.1 From 76ad3053aed0f1d04f200d140c42f529dc7af809 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 18 Feb 2020 11:18:03 +0100 Subject: gnu: bootstrap-mes-rewired: Remove unnecessary '@'. * gnu/packages/commencement.scm (%bootstrap-mes-rewired)[native-inputs]: Remove unnecessary use of '@'. --- gnu/packages/commencement.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index e2dde1b382..d06c7055b8 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -254,7 +254,7 @@ pure Scheme to Tar and decompression in one easy step.") (name "bootstrap-mes-rewired") (version "0.19") (source #f) - (native-inputs `(("mes" ,(@ (gnu packages bootstrap) %bootstrap-mes)) + (native-inputs `(("mes" ,%bootstrap-mes) ("gash" ,gash-boot))) (inputs '()) (propagated-inputs '()) -- cgit 1.4.1 From b0966ba20fdb189e50d4cf48834cb1e93591b93f Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 18 Feb 2020 11:25:23 +0100 Subject: gnu: guile-ssh: Update to 0.12.0. * gnu/packages/ssh.scm (guile-ssh): Update to 0.12.0, [source]: remove snippet that were integrated upstream, [arguments]: Add a fix-guile-path phase to fix tests. (guile3.0-ssh)[arguments]: Remove as this is fixed upstream. --- gnu/packages/ssh.scm | 64 ++++++++++++---------------------------------------- 1 file changed, 14 insertions(+), 50 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 2e1ffd76b4..3eda102a56 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2017 ng0 ;;; Copyright © 2018 Manuel Graf ;;; Copyright © 2019 Gábor Boskovits -;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -232,7 +232,7 @@ Additionally, various channel-specific options can be negotiated.") (define-public guile-ssh (package (name "guile-ssh") - (version "0.11.3") + (version "0.12.0") (home-page "https://github.com/artyom-poptsov/guile-ssh") (source (origin (method git-fetch) @@ -242,31 +242,12 @@ Additionally, various channel-specific options can be negotiated.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "03bv3hwp2s8f0bqgfjaan9jx4dyab0abv27n2zn2g0izlidv0vl6")) - (modules '((guix build utils))) - (snippet - '(begin - ;; libssh >= 0.8.0 no longer provides libssh_threads: see - ;; . - (substitute* "libguile-ssh/Makefile.am" - (("-lssh_threads") "")) - - ;; This test would wrongfully pick DSS keys when running on - ;; libssh >= 0.8.0, which fails: - ;; . - (substitute* "tests/server.scm" - (("= %libssh-minor-version 7") - ">= %libssh-minor-version 7")) - - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("^GUILE_PKG.*$") - "GUILE_PKG([3.0 2.2 2.0])\n")) - #t)))) + "054hd9rzfhb48gc1hw3rphhp0cnnd4bs5qmidy5ygsyvy9ravlad")) + (modules '((guix build utils))))) (build-system gnu-build-system) (outputs '("out" "debug")) (arguments - '(;; It makes no sense to build libguile-ssh.a. + `(;; It makes no sense to build libguile-ssh.a. #:configure-flags '("--disable-static") #:phases (modify-phases %standard-phases @@ -285,6 +266,15 @@ Additionally, various channel-specific options can be negotiated.") (("\"libguile-ssh\"") (string-append "\"" lib "/libguile-ssh\""))) #t))) + ,@(if (%current-target-system) + '() + '((add-before 'check 'fix-guile-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((guile (assoc-ref inputs "guile"))) + (substitute* "tests/common.scm" + (("/usr/bin/guile") + (string-append guile "/bin/guile"))) + #t))))) (add-after 'install 'remove-bin-directory (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -327,32 +317,6 @@ libssh library.") (package (inherit guile-ssh) (name "guile3.0-ssh") - (arguments - (substitute-keyword-arguments (package-arguments guile-ssh) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'bootstrap 'delete-old-guile-m4 - (lambda _ - ;; The old 'guile.m4' that's shipped would fail to recognize - ;; Guile 2.9 as "3.0". - (delete-file "m4/guile.m4") - #t)) - (add-before 'build 'adjust-for-guile3 - (lambda _ - ;; Adjust for things that are deprecated in 2.2 and removed in - ;; 3.0. - (substitute* "tests/common.scm" - (("define-module \\(tests common\\)") - "define-module (tests common) - #:use-module (ice-9 threads)\n")) - (substitute* "modules/ssh/tunnel.scm" - (("define-module \\(ssh tunnel\\)") - "define-module (ssh tunnel) - #:use-module (ice-9 threads)")) - (substitute* "modules/srfi/srfi-64.upstream.scm" - (("_IOLBF") - "'line")) - #t)))))) (inputs `(("guile" ,guile-next) ,@(alist-delete "guile" (package-inputs guile-ssh)))))) -- cgit 1.4.1 From ce59688d33ebddb52cea719efb1d8a51ea13adf0 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 18 Feb 2020 11:44:16 +0100 Subject: gnu: guile-ssh: Fix cross-compilation. * gnu/packages/ssh.scm (guile-ssh)[native-inputs]: Add guile. --- gnu/packages/ssh.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 3eda102a56..7f56998be2 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -295,7 +295,8 @@ Additionally, various channel-specific options can be negotiated.") ("libtool" ,libtool) ("texinfo" ,texinfo) ("pkg-config" ,pkg-config) - ("which" ,which))) + ("which" ,which) + ("guile" ,guile-2.2))) (inputs `(("guile" ,guile-2.2) ("libssh" ,libssh) ("libgcrypt" ,libgcrypt))) -- cgit 1.4.1 From 96a9675b55844c8ab3e81ee53ffaad35d289a845 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 18 Feb 2020 11:47:32 +0100 Subject: gnu: guile-git: Fix cross-compilation. * gnu/packages/guile.scm (guile-git)[native-inputs]: Add guile and guile-bytestructures. --- gnu/packages/guile.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index cb88308278..53d626b9d2 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -647,7 +647,9 @@ type system, elevating types to first-class status.") "0c5i3d16hp7gp9rd78vk9zc45js8bphf92m4lbb5gyi4l1yl7kkm")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("guile" ,guile-2.2) + ("guile-bytestructures" ,guile-bytestructures))) (inputs `(("guile" ,guile-2.2) ("libgit2" ,libgit2))) -- cgit 1.4.1 From bbb219bdfeca80e39fa83813b55340a20849680f Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 18 Feb 2020 11:44:16 +0100 Subject: gnu: guile-ssh: Fix cross-compilation. This is a follow-up of ce59688d33ebddb52cea719efb1d8a51ea13adf0. * gnu/packages/ssh.scm (guile2.0-ssh)[native-inputs]: Replace guile from guile-ssh by guile-2.0, (guile3.0-ssh): replace guile from guile-ssh by guile-next. --- gnu/packages/ssh.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 7f56998be2..2efc6ed7a5 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -296,7 +296,7 @@ Additionally, various channel-specific options can be negotiated.") ("texinfo" ,texinfo) ("pkg-config" ,pkg-config) ("which" ,which) - ("guile" ,guile-2.2))) + ("guile" ,guile-2.2))) ;needed when cross-compiling. (inputs `(("guile" ,guile-2.2) ("libssh" ,libssh) ("libgcrypt" ,libgcrypt))) @@ -311,6 +311,9 @@ libssh library.") (package (inherit guile-ssh) (name "guile2.0-ssh") + (native-inputs + `(("guile" ,guile-2.0) ;needed when cross-compiling. + ,@(alist-delete "guile" (package-native-inputs guile-ssh)))) (inputs `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-inputs guile-ssh)))))) @@ -318,6 +321,9 @@ libssh library.") (package (inherit guile-ssh) (name "guile3.0-ssh") + (native-inputs + `(("guile" ,guile-next) ;needed when cross-compiling. + ,@(alist-delete "guile" (package-native-inputs guile-ssh)))) (inputs `(("guile" ,guile-next) ,@(alist-delete "guile" (package-inputs guile-ssh)))))) -- cgit 1.4.1 From 0c54440b793e805290a60d6b1b17d4bd2e4f9443 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 18 Feb 2020 11:35:28 +0100 Subject: gnu: commencement: bzip2-boot0: Add diffutils-boot0 dependency. * gnu/packages/commencement.scm (bzip2-boot0): Add diffutils-boot0 dependency; fixes traditional bootstrap mode (non-intel-linux architectures). --- gnu/packages/commencement.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index d06c7055b8..0d7611b9fe 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2524,7 +2524,8 @@ exec " gcc "/bin/" program (name "bzip2-boot0") (native-inputs `()) (inputs - `(("make" ,gnu-make-boot0) + `(("diffutils" ,diffutils-boot0) + ("make" ,gnu-make-boot0) ,@(%bootstrap-inputs+toolchain))) (arguments `(#:guile ,%bootstrap-guile -- cgit 1.4.1 From 0a3e8536d983722b464d0b939249d63c409feadb Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 19 Feb 2020 15:33:44 +0100 Subject: gnu: commencement: %boot0-inputs: Soft-code Scheme-only additions. * gnu/packages/commencement.scm (%boot0-inputs)[x86-linux,x86_64-linux]: Include *-boot0 additions for Scheme-only bootstrap. --- gnu/packages/commencement.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 0d7611b9fe..511fdd1b68 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2669,16 +2669,19 @@ exec " gcc "/bin/" program ,@(package-arguments tar))))) (define (%boot0-inputs) - `(("bzip2" ,bzip2-boot0) - ("coreutils" ,coreutils-boot0) + `(,@(match (%current-system) + ((or "i686-linux" "x86_64-linux") + `(("bzip2" ,bzip2-boot0) + ("coreutils" ,coreutils-boot0) + ("gawk" ,gawk-boot0) + ("patch" ,patch-boot0) + ("sed" ,sed-boot0) + ("tar" ,tar-boot0))) + (_ '())) + ("make" ,gnu-make-boot0) ("diffutils" ,diffutils-boot0) ("findutils" ,findutils-boot0) ("file" ,file-boot0) - ("gawk" ,gawk-boot0) - ("make" ,gnu-make-boot0) - ("patch" ,patch-boot0) - ("sed" ,sed-boot0) - ("tar" ,tar-boot0) ,@(%bootstrap-inputs+toolchain))) (define* (boot-triplet #:optional (system (%current-system))) -- cgit 1.4.1 From b06199e0e0a8325d9dcad1f1cef740ab6af1a380 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 19 Feb 2020 15:46:44 +0100 Subject: gnu: commencement: diffutils-boot0: Build fix for ARM. * gnu/packages/commencement.scm (diffutils-boot0): Add --disable-dependency-tracking. Fixes arm/aarch64 builds. --- gnu/packages/commencement.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 511fdd1b68..1e873a4fc5 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2559,7 +2559,15 @@ exec " gcc "/bin/" program `(#:tests? #f ; the test suite needs diffutils #:guile ,%bootstrap-guile #:implicit-inputs? #f - ,@(package-arguments diffutils))))) + ,@(match (%current-system) + ((or "arm-linux" "aarch64-linux") + (substitute-keyword-arguments (package-arguments diffutils) + ((#:configure-flags flags ''()) + ;; The generated config.status has some problems due to the + ;; bootstrap environment. Disable dependency tracking to work + ;; around it. + `(cons "--disable-dependency-tracking" ,flags)))) + (_ '())))))) (define findutils-boot0 (package -- cgit 1.4.1 From 70a27b445ebc2842c119645bfa721fe310ffcb5f Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 19 Feb 2020 16:41:38 +0100 Subject: gnu: commencement: file: Build fix for ARM. * gnu/packages/commencement.scm (file)[arm-linux, aarch64-linux]: Configure with --disable-dependency-tracking. Fixes build on arm/Aarch64. --- gnu/packages/commencement.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1e873a4fc5..45e149ff56 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2595,7 +2595,12 @@ exec " gcc "/bin/" program (package (inherit (@ (gnu packages file) file)) (arguments - `(#:configure-flags '("--disable-bzlib"))))) + `(#:configure-flags + `("--disable-bzlib" + ,,@(match (%current-system) + ((or "arm-linux" "aarch64-linux") + '("--disable-dependency-tracking")) + (_ '()))))))) (define file-boot0 (package -- cgit 1.4.1 From b6aedea9cc1c7eb701eccdb863275bbb01644ace Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 19 Feb 2020 18:52:17 +0100 Subject: gnu: commencement: findutils-boot0: Build fix for ARM. * gnu/packages/commencement.scm (findutils-boot0)[arm-linux, aarch64-linux]: Configure with --disable-dependency-tracking. Fixes build on arm/Aarch64. --- gnu/packages/commencement.scm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 45e149ff56..e3800d84a5 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2584,12 +2584,17 @@ exec " gcc "/bin/" program ;; The build system assumes we have done a mistake when time_t is 32-bit ;; on a 64-bit system. Ignore that for our bootstrap toolchain. - ,@(if (target-64bit?) - (substitute-keyword-arguments (package-arguments findutils) - ((#:configure-flags flags ''()) - `(cons "TIME_T_32_BIT_OK=yes" - ,flags))) - (package-arguments findutils)))))) + ,@(substitute-keyword-arguments (package-arguments findutils) + ((#:configure-flags flags ''()) + `(append + ,(if (target-64bit?) + ''("TIME_T_32_BIT_OK=yes") + ''()) + ,(match (%current-system) + ((or "arm-linux" "aarch64-linux") + ''("--disable-dependency-tracking")) + (_ ''())) + ,flags))))))) (define file (package -- cgit 1.4.1 From 971c8bb0a65a730c566eedacd02b689d79c5d562 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 19 Feb 2020 22:11:47 +0100 Subject: gnu: gnutls: Add dependency on util-linux. * gnu/packages/tls.scm (gnutls)[native-inputs]: Add UTIL-LINUX. --- gnu/packages/tls.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index d8a767f73f..ca8838a0d6 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -226,7 +226,8 @@ living in the same process.") `(("net-tools" ,net-tools) ("pkg-config" ,pkg-config) ("which" ,which) - ("datefudge" ,datefudge))) ;tests rely on 'datefudge' + ("datefudge" ,datefudge) ;tests rely on 'datefudge' + ("util-linux" ,util-linux))) ;one test needs 'setsid' (inputs `(("guile" ,guile-2.2))) (propagated-inputs -- cgit 1.4.1 From 5f9f034e2fd1694bf92f4c40b405c46b8417e642 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 20 Feb 2020 17:51:57 +0100 Subject: gnu: guile3.0-gnutls: Update to 3.6.12. * gnu/packages/tls.scm (gnutls-3.6.10): Remove variable. (guile3.0-gnutls): Inherit from GNUTLS. [arguments]: Remove. --- gnu/packages/tls.scm | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index ca8838a0d6..e498909047 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -266,38 +266,13 @@ required structures.") (inputs `(("unbound" ,unbound) ,@(package-inputs gnutls))))) -(define gnutls-3.6.10 - ;; This is for 'guile3.0-gnutls', below. Version 3.6.10 is the first to - ;; introduce Guile 2.9/3.0 support. - (package - (inherit gnutls) - (version "3.6.10") - (source (origin - (inherit (package-source gnutls)) - (uri (string-append "mirror://gnupg/gnutls/v" - (version-major+minor version) - "/gnutls-" version ".tar.xz")) - (sha256 - (base32 - "14r2h73yfj66cm14k9mnb3kgzq5a7qjg5b31m53bf19vcxkwmwxi")))))) - (define-public guile3.0-gnutls (package - (inherit gnutls-3.6.10) + (inherit gnutls) (name "guile3.0-gnutls") - (arguments - (substitute-keyword-arguments (package-arguments gnutls-3.6.10) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'build 'leave-guile-stdout-open - (lambda _ - ;; Work around . - (substitute* "guile/Makefile" - (("out=-") "out=/dev/null")) - #t)))))) (inputs `(("guile" ,guile-next) ,@(alist-delete "guile" - (package-inputs gnutls-3.6.10)))))) + (package-inputs gnutls)))))) (define-public openssl (package -- cgit 1.4.1 From 9d14a67d4bd47559c8a63fc7a35af606f821cfff Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 20 Feb 2020 21:24:38 +0200 Subject: gnu: guile3.0-gcrypt: Fix compilation. * gnu/packages/gnupg.scm (guile3.0-gcrypt)[native-inputs]: Replace guile with guile-next. --- gnu/packages/gnupg.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 890dd3299b..b957eb66b2 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016, 2017 ng0 @@ -515,6 +515,9 @@ interface (FFI) of Guile.") (package (inherit guile-gcrypt) (name "guile3.0-gcrypt") + (native-inputs + `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-native-inputs guile-gcrypt)))) (inputs `(("guile" ,guile-next) ,@(alist-delete "guile" (package-inputs guile-gcrypt)))))) -- cgit 1.4.1 From c7d9abf830c16a00bcec76cdac603f956ecfc9dd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 20 Feb 2020 21:34:49 +0200 Subject: gnu: guile2.0-gcrypt: Don't use guile-2.2. * gnu/packages/gnupg.scm (guile2.0-gcrypt)[native-inputs]: Replace guile with guile-2.0. --- gnu/packages/gnupg.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index b957eb66b2..f4478411e3 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -507,6 +507,9 @@ interface (FFI) of Guile.") (define-public guile2.0-gcrypt (package (inherit guile-gcrypt) (name "guile2.0-gcrypt") + (native-inputs + `(("guile" ,guile-2.0) + ,@(alist-delete "guile" (package-native-inputs guile-gcrypt)))) (inputs `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-inputs guile-gcrypt)))))) -- cgit 1.4.1 From a82cf70e8ae4c8dcf03d2633f09dcfc8bb6d6d1e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 21 Feb 2020 07:46:16 +0100 Subject: gnu: commencement: bootar: Build fix for i686-linux. Fixes . * gnu/packages/commencement.scm (bootar)[i686-linux]: Stub bzip2. --- gnu/packages/commencement.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index e3800d84a5..dc5d9a1bcf 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -111,6 +111,16 @@ (guile (string-append guile-dir "/bin/guile"))) (invoke guile "--no-auto-compile" source) (chdir "bootar") + ;; (commencement bzip2) breaks tar on x86, see + ;; https://bugs.gnu.org/39699 + (delete-file "scripts/bzip2.in") + (delete-file "compression/bzip2.scm") + (with-output-to-file "compression/bzip2.scm" + (lambda _ + (display "(define-module (compression bzip2)) +(define-public is-bzip2-file? (const #f)) +(define-public make-bzip2-input-port (const #f)) +"))) #t))) (replace 'configure (bootstrap-configure ,version "." "scripts")) (replace 'build (bootstrap-build ".")) -- cgit 1.4.1 From 4b807ef87c4634e8bea1431d47ee3df3b519145d Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Fri, 21 Feb 2020 23:48:37 -0500 Subject: gnu: bootar: Update to 1a. * gnu/packages/commencement.scm (bootar): Update to 1a; remove BZip2 workaround for 32-bit platforms. --- gnu/packages/commencement.scm | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index dc5d9a1bcf..dfc913e537 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -86,13 +86,13 @@ (define bootar (package (name "bootar") - (version "1") + (version "1a") (source (origin (method url-fetch) - (uri "https://files.ngyro.com/bootar/bootar-1.ses") + (uri "https://files.ngyro.com/bootar/bootar-1a.ses") (sha256 (base32 - "011p0nky2qp0vmyhvdx220qywxxp7a0m6pvy0lzzg4qxbpyqpf0r")))) + "0mvp6vgx0q316fvy3z2lddlc5xgq5np3bm1fypgvj6dnayibg9np")))) (build-system gnu-build-system) (arguments `(#:implicit-inputs? #f @@ -111,16 +111,6 @@ (guile (string-append guile-dir "/bin/guile"))) (invoke guile "--no-auto-compile" source) (chdir "bootar") - ;; (commencement bzip2) breaks tar on x86, see - ;; https://bugs.gnu.org/39699 - (delete-file "scripts/bzip2.in") - (delete-file "compression/bzip2.scm") - (with-output-to-file "compression/bzip2.scm" - (lambda _ - (display "(define-module (compression bzip2)) -(define-public is-bzip2-file? (const #f)) -(define-public make-bzip2-input-port (const #f)) -"))) #t))) (replace 'configure (bootstrap-configure ,version "." "scripts")) (replace 'build (bootstrap-build ".")) -- cgit 1.4.1 From 5afcb5caa53615c0a432e0c1781155398d747218 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 22 Feb 2020 21:39:27 +0100 Subject: gnu: bootar: Add ftp.gnu.org URL. * gnu/packages/commencement.scm (bootar)[source]: Add "mirror://gnu" URL. --- gnu/packages/commencement.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index dfc913e537..c9be884d6e 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -89,7 +89,11 @@ (version "1a") (source (origin (method url-fetch) - (uri "https://files.ngyro.com/bootar/bootar-1a.ses") + (uri (list (string-append + "mirror://gnu/guix/mirror/bootar-" version ".ses") + (string-append + "https://files.ngyro.com/bootar/bootar-" + version ".ses"))) (sha256 (base32 "0mvp6vgx0q316fvy3z2lddlc5xgq5np3bm1fypgvj6dnayibg9np")))) -- cgit 1.4.1 From 668a519870237d3472e5724089d570458874e5b5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 24 Feb 2020 15:42:05 +0100 Subject: ci: Don't cross build bootstrap tarballs to MinGW. This makes little sense and it broke in commit 8bd2b15b06f6306e37cc72995b76a7f0754cf1a6 since the mingw libc doesn't have a "static" output. * gnu/ci.scm (%packages-to-cross-build): Remove. (packages-to-cross-build): New procedure. (hydra-jobs)[cross-jobs]: Use it. --- gnu/ci.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/ci.scm b/gnu/ci.scm index 89f499e25f..33c2e84b27 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -121,8 +121,12 @@ SYSTEM." %guile-bootstrap-tarball %bootstrap-tarballs)) -(define %packages-to-cross-build - %core-packages) +(define (packages-to-cross-build target) + "Return the list of packages to cross-build for TARGET." + ;; Don't cross-build the bootstrap tarballs for MinGW. + (if (string-contains target "mingw") + (drop-right %core-packages 6) + %core-packages)) (define %cross-targets '("mips64el-linux-gnu" @@ -455,7 +459,7 @@ Return #f if no such checkout is found." (map (lambda (package) (package-cross-job store (job-name package) package target system)) - %packages-to-cross-build)) + (packages-to-cross-build target))) (remove (either from-32-to-64? same? pointless?) %cross-targets))) -- cgit 1.4.1 From 0b870f7915f5da43758753fd088a22033936dc50 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Mon, 2 Mar 2020 17:24:41 -0500 Subject: gnu: commencement: Fix gash and gash-utils version references. * gnu/packages/commencement.scm (gash-boot): When configuring, use the version of the Gash package instead the version of Guile! (gash-utils-boot): Likewise, but for Gash-Utils. --- gnu/packages/commencement.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index c9be884d6e..cebb4b5a68 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -152,7 +152,7 @@ pure Scheme to Tar and decompression in one easy step.") (use-modules (guix build gnu-bootstrap)) (modify-phases %standard-phases (replace 'configure - (bootstrap-configure ,(version) "gash" "scripts")) + (bootstrap-configure ,(package-version gash) "gash" "scripts")) (replace 'build (bootstrap-build "gash")) (replace 'install (bootstrap-install "gash" "scripts")) (add-after 'install 'install-symlinks @@ -214,7 +214,8 @@ pure Scheme to Tar and decompression in one easy step.") (delete-file "scripts/template.in") #t)) (replace 'configure - (bootstrap-configure ,(version) "gash" "scripts")) + (bootstrap-configure ,(package-version gash-utils) + "gash" "scripts")) (replace 'build (bootstrap-build "gash")) (replace 'install (bootstrap-install "gash" "scripts")) ;; XXX: The scripts should add Gash to their load paths and -- cgit 1.4.1 From e6bd8b5e1def33beac3b6b4eb2f1f525f87ad0ea Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 17:19:54 +0100 Subject: gnu: zziplib: Incorporate grafted changes. * gnu/packages/compression.scm (zziplib)[replacement]: Remove. [source](patches): New field. (zziplib/fixed): Remove variable. --- gnu/packages/compression.scm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 1f76f9ac1e..b2edca4cd4 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1580,13 +1580,13 @@ recreates the stored directory structure by default.") (package (name "zziplib") (version "0.13.69") - (replacement zziplib/fixed) (home-page "https://github.com/gdraheim/zziplib") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (patches (search-patches "zziplib-CVE-2018-16548.patch")) (sha256 (base32 "0fbk9k7ryas2wh2ykwkvm1pbi40i88rfvc3dydh9xyd7w2jcki92")))) @@ -1618,13 +1618,6 @@ recreates the stored directory structure by default.") ;; files carry the Zlib license; see "docs/copying.html" for details. (license (list license:lgpl2.0+ license:mpl1.1)))) -(define zziplib/fixed - (package - (inherit zziplib) - (source (origin - (inherit (package-source zziplib)) - (patches (search-patches "zziplib-CVE-2018-16548.patch")))))) - (define-public libzip (package (name "libzip") -- cgit 1.4.1 From c1cc52a2fe1f43c66204d5225a5c5792e2c68068 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 17:20:59 +0100 Subject: gnu: librsvg: Incorporate grafted changes. * gnu/packages/gnome.scm (librsvg): Update to 2.40.21. [replacement]: Remove. (librsvg/fixed): Remove variable. --- gnu/packages/gnome.scm | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c77a17cff5..ff077904fc 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2057,9 +2057,8 @@ dealing with different structured file formats.") (define-public librsvg (package - (replacement librsvg/fixed) (name "librsvg") - (version "2.40.20") + (version "2.40.21") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2067,7 +2066,7 @@ dealing with different structured file formats.") name "-" version ".tar.xz")) (sha256 (base32 - "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g")))) + "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -2124,20 +2123,6 @@ dealing with different structured file formats.") library.") (license license:lgpl2.0+))) -(define librsvg/fixed - (package - (inherit librsvg) - (name "librsvg") - (version "2.40.21") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp")))))) - (define* (computed-origin-method gexp-promise hash-algo hash #:optional (name "source") #:key (system (%current-system)) -- cgit 1.4.1 From 08cf730a7ee1b4943f1c1b6a42a6ee9d08ee41c1 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 3 Mar 2020 12:45:33 +0100 Subject: gnu: qemu-minimal: Fix build. This fixes . * gnu/packages/virtualization.scm (qemu-minimal)[arguments]: Add a remove-glibc phase to remove glibc from C_INCLUDE_PATH. --- gnu/packages/virtualization.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 256cfa87d2..225b5ddec9 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2019 Guy Fleury Iteriteka ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Brice Waegeneire +;;; Copyright © 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -128,7 +129,7 @@ "1w38hzlw7xp05gcq1nhga7hxvndxy6dfcnzi7q2il8ff110isj6k")))) (build-system gnu-build-system) (arguments - '(;; Running tests in parallel can occasionally lead to failures, like: + `(;; Running tests in parallel can occasionally lead to failures, like: ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead) #:parallel-tests? #f #:configure-flags (list "--enable-usb-redir" "--enable-opengl" @@ -139,8 +140,28 @@ "--audio-drv-list=alsa,pa,sdl") ;; Make build and test output verbose to facilitate investigation upon failure. #:make-flags '("V=1") + #:modules ((srfi srfi-1) + (ice-9 match) + ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases + (add-after 'set-paths 'hide-glibc + (lambda* (#:key inputs #:allow-other-keys) + ;; Work around https://issues.guix.info/issue/36882. We need to + ;; remove glibc from C_INCLUDE_PATH so that the one hardcoded in GCC, + ;; at the bottom of GCC include search-path is used. + (let* ((filters '("libc")) + (input-directories + (filter-map (lambda (input) + (match input + ((name . dir) + (and (not (member name filters)) + dir)))) + inputs))) + (set-path-environment-variable "C_INCLUDE_PATH" + '("include") + input-directories) + #t))) (replace 'configure (lambda* (#:key inputs outputs (configure-flags '()) #:allow-other-keys) -- cgit 1.4.1 From 3fd9c90c4ae79ff1e9a0dbe840c3ff10d099d7ca Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 17:22:17 +0100 Subject: gnu: clang-runtime: Adjust for CPLUS_INCLUDE_PATH changes. * gnu/packages/llvm.scm (clang-runtime-from-llvm)[arguments]: Add #:modules and #:phases. --- gnu/packages/llvm.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index bf32322df5..659631e263 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -164,7 +164,28 @@ of programming tools as well as libraries with equivalent functionality.") (arguments `(;; Don't use '-g' during the build to save space. #:build-type "Release" - #:tests? #f)) ; Tests require gtest + #:tests? #f ; Tests require gtest + #:modules ((srfi srfi-1) + (ice-9 match) + ,@%cmake-build-system-modules) + #:phases (modify-phases (@ (guix build cmake-build-system) %standard-phases) + (add-after 'set-paths 'hide-glibc + ;; Work around https://issues.guix.info/issue/36882. We need to + ;; remove glibc from CPLUS_INCLUDE_PATH so that the one hardcoded + ;; in GCC, at the bottom of GCC include search-path is used. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((filters '("libc")) + (input-directories + (filter-map (lambda (input) + (match input + ((name . dir) + (and (not (member name filters)) + dir)))) + inputs))) + (set-path-environment-variable "CPLUS_INCLUDE_PATH" + '("include") + input-directories) + #t)))))) (home-page "https://compiler-rt.llvm.org") (synopsis "Runtime library for Clang/LLVM") (description -- cgit 1.4.1 From af88972bb8e3e69d9c5ea5a8a81f7f234c971133 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 17:27:20 +0100 Subject: gnu: clang-runtime: Fix build with glibc 2.31. * gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch, gnu/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch, gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/llvm.scm (clang-runtime, clang-runtime-8, clang-runtime-7, clang-runtime-6, clang-runtime-3.9.1, clang-runtime-3.8, clang-runtime-3.7): Add the respective patches. --- gnu/local.mk | 3 ++ gnu/packages/llvm.scm | 19 ++++--- ...clang-runtime-3.8-libsanitizer-mode-field.patch | 50 ++++++++++++++++++ ...clang-runtime-3.9-libsanitizer-mode-field.patch | 50 ++++++++++++++++++ .../clang-runtime-9-libsanitizer-mode-field.patch | 60 ++++++++++++++++++++++ 5 files changed, 176 insertions(+), 6 deletions(-) create mode 100644 gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch create mode 100644 gnu/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch create mode 100644 gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9b46ac5629..463d67107d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -783,6 +783,9 @@ dist_patch_DATA = \ %D%/packages/patches/clang-9.0-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ + %D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \ + %D%/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch \ + %D%/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch \ %D%/packages/patches/classpath-aarch64-support.patch \ %D%/packages/patches/clementine-fix-sqlite.patch \ %D%/packages/patches/clementine-remove-crypto++-dependency.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 659631e263..1286fe521b 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -404,7 +404,8 @@ output), and Binutils.") (define-public clang-runtime (clang-runtime-from-llvm llvm - "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2")) + "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2" + '("clang-runtime-9-libsanitizer-mode-field.patch"))) (define-public clang (clang-from-llvm llvm clang-runtime @@ -434,7 +435,8 @@ output), and Binutils.") (define-public clang-runtime-8 (clang-runtime-from-llvm llvm-8 - "1c919wsm17xnv7lr8bhpq2wkq8113lzlw6hzhfr737j59x3wfddl")) + "1c919wsm17xnv7lr8bhpq2wkq8113lzlw6hzhfr737j59x3wfddl" + '("clang-runtime-9-libsanitizer-mode-field.patch"))) (define-public clang-8 (clang-from-llvm llvm-8 clang-runtime-8 @@ -458,7 +460,8 @@ output), and Binutils.") (define-public clang-runtime-7 (clang-runtime-from-llvm llvm-7 - "065ybd8fsc4h2hikbdyricj6pyv4r7r7kpcikhb2y5zf370xybkq")) + "065ybd8fsc4h2hikbdyricj6pyv4r7r7kpcikhb2y5zf370xybkq" + '("clang-runtime-9-libsanitizer-mode-field.patch"))) (define-public clang-7 (clang-from-llvm llvm-7 clang-runtime-7 @@ -482,7 +485,8 @@ output), and Binutils.") (define-public clang-runtime-6 (clang-runtime-from-llvm llvm-6 - "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl")) + "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl" + '("clang-runtime-9-libsanitizer-mode-field.patch"))) (define-public clang-6 (clang-from-llvm llvm-6 clang-runtime-6 @@ -514,7 +518,8 @@ output), and Binutils.") (clang-runtime-from-llvm llvm-3.9.1 "16gc2gdmp5c800qvydrdhsp0bzb97s8wrakl6i8a4lgslnqnf2fk" - '("clang-runtime-asan-build-fixes.patch" + '("clang-runtime-3.9-libsanitizer-mode-field.patch" + "clang-runtime-asan-build-fixes.patch" "clang-runtime-esan-build-fixes.patch" "clang-3.5-libsanitizer-ustat-fix.patch"))) @@ -540,6 +545,7 @@ output), and Binutils.") llvm-3.8 "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d" '("clang-runtime-asan-build-fixes.patch" + "clang-runtime-3.8-libsanitizer-mode-field.patch" "clang-3.5-libsanitizer-ustat-fix.patch"))) (define-public clang-3.8 @@ -563,6 +569,7 @@ output), and Binutils.") llvm-3.7 "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx" '("clang-runtime-asan-build-fixes.patch" + "clang-runtime-3.8-libsanitizer-mode-field.patch" "clang-3.5-libsanitizer-ustat-fix.patch"))) (define-public clang-3.7 @@ -585,7 +592,7 @@ output), and Binutils.") (clang-runtime-from-llvm llvm-3.6 "11qx8d3pbfqjaj2x207pvlvzihbs1z2xbw4crpz7aid6h1yz6bqg" - '("clang-runtime-asan-build-fixes.patch"))) + '("clang-runtime-asan-build-fixes.patch"))) (define-public clang-3.6 (clang-from-llvm llvm-3.6 clang-runtime-3.6 diff --git a/gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch b/gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch new file mode 100644 index 0000000000..f4bca3ecb1 --- /dev/null +++ b/gnu/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch @@ -0,0 +1,50 @@ +Adjust libsanitizer to ABI change in glibc 2.31. + +Adapted to 3.x from this upstream commit: +https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce + +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -1130,8 +1130,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); + #ifndef __GLIBC_PREREQ + #define __GLIBC_PREREQ(x, y) 0 + #endif +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif + +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/lib/sanitizer_common/sanitizer_platform_limits_posix.h +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -188,17 +188,16 @@ namespace __sanitizer { + unsigned __seq; + u64 __unused1; + u64 __unused2; +-#elif defined(__mips__) || defined(__aarch64__) +- unsigned int mode; +- unsigned short __seq; +- unsigned short __pad1; +- unsigned long __unused1; +- unsigned long __unused2; ++#elif defined(__sparc__) ++ unsigned mode; ++ unsigned short __pad2; ++ unsigned short __seq; ++ unsigned long long __unused1; ++ unsigned long long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; +- unsigned short __seq; +- unsigned short __pad2; ++ unsigned int mode; ++ unsigned short __seq; ++ unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) + u64 __unused1; + u64 __unused2; diff --git a/gnu/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch b/gnu/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch new file mode 100644 index 0000000000..2598a1bdeb --- /dev/null +++ b/gnu/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch @@ -0,0 +1,50 @@ +Adjust libsanitizer to ABI change in glibc 2.31. + +Adapted to 3.x from this upstream commit: +https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce + +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -1139,8 +1139,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif + +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -194,17 +194,16 @@ namespace __sanitizer { + unsigned __seq; + u64 __unused1; + u64 __unused2; +-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__) +- unsigned int mode; +- unsigned short __seq; +- unsigned short __pad1; +- unsigned long __unused1; +- unsigned long __unused2; ++#elif defined(__sparc__) ++ unsigned mode; ++ unsigned short __pad2; ++ unsigned short __seq; ++ unsigned long long __unused1; ++ unsigned long long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; +- unsigned short __seq; +- unsigned short __pad2; ++ unsigned int mode; ++ unsigned short __seq; ++ unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) + u64 __unused1; + u64 __unused2; diff --git a/gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch b/gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch new file mode 100644 index 0000000000..ebb080ed9d --- /dev/null +++ b/gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch @@ -0,0 +1,60 @@ +Adjust libsanitizer to ABI change in glibc 2.31. + +Taken from this upstream commit: +https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce + +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -1126,8 +1126,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); + CHECK_SIZE_AND_OFFSET(ipc_perm, gid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit ++ on many architectures. */ + CHECK_SIZE_AND_OFFSET(ipc_perm, mode); + #endif + +diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -203,28 +203,15 @@ namespace __sanitizer { + u64 __unused1; + u64 __unused2; + #elif defined(__sparc__) +-#if defined(__arch64__) +- unsigned mode; +- unsigned short __pad1; +-#else +- unsigned short __pad1; +- unsigned short mode; +- unsigned short __pad2; +-#endif +- unsigned short __seq; +- unsigned long long __unused1; +- unsigned long long __unused2; +-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__) +- unsigned int mode; +- unsigned short __seq; +- unsigned short __pad1; +- unsigned long __unused1; +- unsigned long __unused2; ++ unsigned mode; ++ unsigned short __pad2; ++ unsigned short __seq; ++ unsigned long long __unused1; ++ unsigned long long __unused2; + #else +- unsigned short mode; +- unsigned short __pad1; +- unsigned short __seq; +- unsigned short __pad2; ++ unsigned int mode; ++ unsigned short __seq; ++ unsigned short __pad2; + #if defined(__x86_64__) && !defined(_LP64) + u64 __unused1; + u64 __unused2; -- cgit 1.4.1 From 53453242b7479b0d26939ac5c383b58a7d51f85d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 18:10:09 +0100 Subject: gnu: Python: Update to 3.8.2. * gnu/packages/python.scm (python-3.8): Update to 3.8.2. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 96caaae0b3..8e28265fbe 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -347,7 +347,7 @@ data types.") (define-public python-3.8 (package (inherit python-2) (name "python") - (version "3.8.1") + (version "3.8.2") (source (origin (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" @@ -359,7 +359,7 @@ data types.") "python-3-search-paths.patch")) (sha256 (base32 - "1s4lwn5vzsajlc88m6hkghsvnjw4d00l2dsgng0m2w6vyqbl32bm")) + "1ps5v323cp5czfshqjmbsqw7nvrdpcbk06f62jbzaqik4gfffii6")) (modules '((guix build utils))) (snippet '(begin -- cgit 1.4.1 From aec34459a32c4dddcbbb6f2612d134811f50577d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 20 Feb 2020 17:04:41 +0100 Subject: gnu: glib: Update to 2.62.5. * gnu/packages/glib.scm (glib): Update to 2.62.5. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index b430a4fa36..0e05987bd8 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -165,7 +165,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.62.4") + (version "2.62.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -173,7 +173,7 @@ shared NFS home directories.") name "-" version ".tar.xz")) (sha256 (base32 - "1g2vj9lyh032kcwij7avx5d6a99rcsnkd07sbl9i55zsfw6h712c")) + "0bj5hagvfiqcjd20w543pvbnrlqvs8nbxvqjflyvcn36ljpwvldq")) (patches (search-patches "glib-tests-timer.patch")) (modules '((guix build utils))) (snippet -- cgit 1.4.1 From 275f874958ddbbb68ddce93be2cb65bec7ac1bd4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 29 Feb 2020 19:28:53 +0100 Subject: gnu: meson: Update to 0.53.2. * gnu/packages/build-tools.scm (meson): Update to 0.53.2. --- gnu/packages/build-tools.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 7fbd1c472d..e8f5be8f05 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -168,7 +168,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") - (version "0.53.1") + (version "0.53.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -176,7 +176,7 @@ files and generates build instructions for the Ninja build system.") version ".tar.gz")) (sha256 (base32 - "011v84ijdnmbdgpzslaa6qiq7p2jh52sqzb0q6iaq6vhx8za66zc")))) + "07y2hh9dfn1m9g4bsy49nbn3vdmd0b2iwr8bxg19fhqq6c7q73ry")))) (build-system python-build-system) (arguments `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH -- cgit 1.4.1 From 713c1dd0d5ba24aa426deb65f70dbbbb168e0a13 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Mar 2020 11:46:21 +0100 Subject: gnu: fribidi: Update to 1.0.9. * gnu/packages/fribidi.scm (fribidi): Update to 1.0.9. [source](uri): Adjust tarball name. --- gnu/packages/fribidi.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index 8fa0e6d980..3eff6b1697 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -28,16 +28,16 @@ (define-public fribidi (package (name "fribidi") - (version "1.0.8") + (version "1.0.9") (source (origin (method url-fetch) (uri (string-append "https://github.com/fribidi/fribidi/releases" "/download/v" version "/fribidi-" version - ".tar.bz2")) + ".tar.xz")) (sha256 - (base32 "0v0ybhck9vz4yayihydknmikslh3xfxygzywnh9rcamdhs6vdiwl")))) + (base32 "1iz06r6ha2nrgbzbn4141r58a60a9s5qiaadjjhhvdkg0alpxr65")))) (build-system gnu-build-system) (synopsis "Implementation of the Unicode bidirectional algorithm") (description -- cgit 1.4.1 From 9694101666118903182eefa44a53a0ca86d5a558 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Mar 2020 11:46:40 +0100 Subject: gnu: cURL: Update to 7.69.0. * gnu/packages/curl.scm (curl): Update to 7.69.0. --- gnu/packages/curl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 2c0390a3ef..70d7c4901c 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -51,14 +51,14 @@ (define-public curl (package (name "curl") - (version "7.68.0") + (version "7.69.0") (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" version ".tar.xz")) (sha256 (base32 - "0nh3j90w6b97wqcgxjfq55qhkz9s38955fbhwzv2fsi7483j895p")) + "07r7wcamwa0lb3wdlzfac5q2rg6ip5ddv3d211w7a9y1hbqg5bcz")) (patches (search-patches "curl-use-ssl-cert-env.patch")))) (build-system gnu-build-system) (outputs '("out" -- cgit 1.4.1 From df5a2e4f83a59cbc14f522846d1536b890356b41 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Mar 2020 11:47:00 +0100 Subject: gnu: OpenBLAS: Update to 0.3.9. * gnu/packages/maths.scm (openblas): Update to 0.3.9. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 0d11f4695e..fcba04956e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3151,7 +3151,7 @@ parts of it.") (define-public openblas (package (name "openblas") - (version "0.3.8") + (version "0.3.9") (source (origin (method url-fetch) @@ -3160,7 +3160,7 @@ parts of it.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0f7n911vlriphlr4dgfdxk2x4lmjpf8kcl8w9lb584w2nwfkbdk9")))) + "14iz9xnrb9xiwgj84j94mc74gg0zn2vsy9fmsijxxma1n7dck4w3")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- cgit 1.4.1 From a7924ba9f708cbdcb2db552b2c492ea4ee778dc0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Mar 2020 11:47:20 +0100 Subject: gnu: Poppler: Update to 0.86.1. * gnu/packages/pdf.scm (poppler): Update to 0.86.1. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 891367b1c2..c5001ff086 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -96,14 +96,14 @@ (define-public poppler (package (name "poppler") - (version "0.85.0") + (version "0.86.1") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "0jyr036scdly13hx5dxmsqp2p3jifc29h2by51msw0ih6bmpbj1b")))) + "0v3z4mk1rr8i0c4cfkab7pnxdbil30j4cm4w6cqlq6cfghkhlqxg")))) (build-system cmake-build-system) ;; FIXME: ;; use libcurl: no -- cgit 1.4.1 From 44a33ee90dbd97abf388fc45a7f4cd41cbc8171f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 4 Mar 2020 11:52:29 +0100 Subject: gnu: texlive-bin: Fix build with Poppler 0.86. * gnu/packages/patches/texlive-bin-poppler-0.86.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/tex.scm (texlive-bin)[source](patches): Add it. --- gnu/local.mk | 1 + gnu/packages/patches/texlive-bin-poppler-0.86.patch | 17 +++++++++++++++++ gnu/packages/tex.scm | 3 ++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/texlive-bin-poppler-0.86.patch diff --git a/gnu/local.mk b/gnu/local.mk index 463d67107d..e452cd8895 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1438,6 +1438,7 @@ dist_patch_DATA = \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \ %D%/packages/patches/texlive-bin-poppler-0.83.patch \ + %D%/packages/patches/texlive-bin-poppler-0.86.patch \ %D%/packages/patches/telegram-purple-adjust-test.patch \ %D%/packages/patches/telepathy-glib-channel-memory-leak.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ diff --git a/gnu/packages/patches/texlive-bin-poppler-0.86.patch b/gnu/packages/patches/texlive-bin-poppler-0.86.patch new file mode 100644 index 0000000000..b1adca657b --- /dev/null +++ b/gnu/packages/patches/texlive-bin-poppler-0.86.patch @@ -0,0 +1,17 @@ +Fix build with Poppler 0.86 and later. + +Taken from Arch Linux, but adjusted to patch the versioned Poppler +files, as upstream applies it after copying them in place. +https://git.archlinux.org/svntogit/packages.git/tree/trunk/texlive-poppler-0.86.patch?h=packages/texlive-bin + +--- a/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc 2020-03-03 21:11:35.102711802 +0000 ++++ b/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc 2020-03-03 21:13:13.057420111 +0000 +@@ -757,7 +757,7 @@ + if (page_name) { + // get page by name + GString name(page_name); +- LinkDest *link = pdf_doc->doc->findDest(&name); ++ LinkDest *link = pdf_doc->doc->findDest(&name).get(); + if (link == 0 || !link->isOk()) + pdftex_fail("PDF inclusion: invalid destination <%s>", page_name); + Ref ref = link->getPageRef(); diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index d95434aa8f..dd90ab2b72 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -255,7 +255,8 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. "03vc88dz37mjjyaspzv0fik2fp5gp8qv82114869akd1dhszbaax") (search-patch "texlive-bin-poppler-0.83.patch") (arch-patch "texlive-poppler-0.84.patch" arch-revision - "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")))) + "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa") + (search-patch "texlive-bin-poppler-0.86.patch")))) (modules '((guix build utils) (ice-9 ftw))) (snippet -- cgit 1.4.1 From d7ca0f73ff6db21ec254c7a229feb3467103154f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 17:47:41 +0100 Subject: gnu: coreutils: Update to 8.32. * gnu/packages/base.scm (coreutils): Update to 8.32. [arguments]: Remove obsolete phase. --- gnu/packages/base.scm | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 13bcf7fe9d..1989bdd7eb 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -290,14 +290,14 @@ used to apply commands with arbitrarily long arguments.") (define-public coreutils (package (name "coreutils") - (version "8.31") + (version "8.32") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/coreutils/coreutils-" version ".tar.xz")) (sha256 (base32 - "1zg9m79x1i2nifj4kb0waf9x3i5h6ydkypkjnbsb9rnwis8rqypz")))) + "1yjcrh5hw70c0yn8zw55pd6j51dj90anpq8mmg649ps9g3gdhn24")))) (build-system gnu-build-system) (inputs `(("acl" ,acl) ; TODO: add SELinux ("gmp" ,gmp) ;bignums in 'expr', yay! @@ -329,16 +329,6 @@ used to apply commands with arbitrarily long arguments.") (("/bin/sh") (which "sh"))) (substitute* (find-files "tests" "\\.sh$") (("#!/bin/sh") (string-append "#!" (which "sh")))) - #t)) - (add-before 'check 'disable-broken-test - (lambda _ - ;; This test hits the 127 character shebang limit in the build - ;; environment due to the way "env -S" splits arguments into - ;; shebangs. Note that "env-S-script.sh" works around this - ;; 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))))) (synopsis "Core GNU utilities (file, text, shell)") (description -- cgit 1.4.1 From 8e98f750e63e8723db0361f4e3e960193278fa47 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 18:08:50 +0100 Subject: gnu: bzip2: Do not retain a reference to the bootstrap bzip. * gnu/packages/compression.scm (bzip2)[arguments]: Add phase 'hide-input-bzip2'. --- gnu/packages/compression.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index b2edca4cd4..9ccb34ad4b 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2016 David Craven ;;; Copyright © 2016, 2019 Kei Kebreau -;;; Copyright © 2016, 2018, 2019 Marius Bakke +;;; Copyright © 2016, 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2017 Theodoros Foradis @@ -275,6 +275,22 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in (srfi srfi-1)) #:phases (modify-phases %standard-phases + (add-after 'set-paths 'hide-input-bzip2 + (lambda* (#:key inputs #:allow-other-keys) + (let ((bzip2 (assoc-ref inputs "bzip2"))) + (if bzip2 + ;; Prevent the build system from retaining a reference to + ;; BZIP2 from INPUTS. + (begin + (setenv "LIBRARY_PATH" + (string-join (delete (string-append bzip2 "/lib") + (string-split (getenv "LIBRARY_PATH") + #\:)) + ":")) + (format #t "environment variable `LIBRARY_PATH' set to `~a'~%" + (getenv "LIBRARY_PATH"))) + (format #t "no bzip2 found, nothing done~%")) + #t))) (replace 'configure (lambda* (#:key target #:allow-other-keys) (when ,(%current-target-system) -- cgit 1.4.1 From 4a50e983bade29792076975092fec60df5cca59d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 18:09:13 +0100 Subject: gnu: ed: Update to 1.16. * gnu/packages/ed.scm (ed): Update to 1.16. --- gnu/packages/ed.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm index c2198763ef..da4c3ddf04 100644 --- a/gnu/packages/ed.scm +++ b/gnu/packages/ed.scm @@ -28,14 +28,14 @@ (define-public ed (package (name "ed") - (version "1.15") + (version "1.16") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ed/ed-" version ".tar.lz")) (sha256 (base32 - "0x6ivy5k0d7dy5z9g8q8nipr89m4qbk2ink2898qq43smp08ji5d")))) + "0b4b1lwizvng9bvpcjnmpj2i80xz9xw2w8nfff27b2h4mca7mh6g")))) (build-system gnu-build-system) (native-inputs `(("lzip" ,lzip))) (arguments -- cgit 1.4.1 From feb8c5dac30294d72205ee21b3afcf1cf7a04675 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 18:09:29 +0100 Subject: gnu: ld-wrapper: Add support for quoted arguments in response files. * gnu/packages/ld-wrapper.in (expand-arguments): Add TOKENIZE procedure, and use that to parse the response file. --- gnu/packages/ld-wrapper.in | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/gnu/packages/ld-wrapper.in b/gnu/packages/ld-wrapper.in index 16780c58f6..2b68b87fb9 100644 --- a/gnu/packages/ld-wrapper.in +++ b/gnu/packages/ld-wrapper.in @@ -16,6 +16,7 @@ exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line)) !# ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,7 +36,7 @@ exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line)) (define-module (gnu build-support ld-wrapper) #:use-module (srfi srfi-1) #:use-module (ice-9 match) - #:autoload (ice-9 rdelim) (read-string) + #:autoload (ice-9 rdelim) (read-delimited) #:export (ld-wrapper)) ;;; Commentary: @@ -239,13 +240,27 @@ library outside of ~a: ~s~%" ;; Expand ARGS such that "response file" arguments, such as "@args.txt", are ;; expanded (info "(gcc) Overall Options"). (define (response-file-arguments file) + (define (tokenize port) + ;; Return a list of all strings found in PORT. Quote characters are + ;; removed, but whitespaces within quoted strings are preserved. + (let loop ((tokens '())) + (let* ((token+delimiter (read-delimited " '\"\n" port 'split)) + (token (car token+delimiter)) + (delim (cdr token+delimiter))) + (if (eof-object? token) + (reverse tokens) + (case delim + ((#\") (loop (cons (read-delimited "\"" port) tokens))) + ((#\') (loop (cons (read-delimited "'" port) tokens))) + (else (if (> (string-length token) 0) + (loop (cons token tokens)) + (loop tokens)))))))) + (when %debug? (format (current-error-port) "ld-wrapper: attempting to read arguments from '~a'~%" file)) - ;; FIXME: Options can contain whitespace if they are protected by single - ;; or double quotes; this is not implemented here. - (string-tokenize (call-with-input-file file read-string))) + (call-with-input-file file tokenize)) (define result (fold-right (lambda (arg result) -- cgit 1.4.1 From a343d6bab710eefaa714251a81c9a42002302967 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 18:16:43 +0100 Subject: gnu: Remove ld-wrapper-next. * gnu/packages/ld-wrapper-next.in: Delete file. * gnu/local.mk (MISC_DISTRO_FILES): Adjust accordingly. * gnu/packages/chromium.scm (ld-wrapper-next): Remove variable. (ungoogled-chromium)[native-inputs]: Remove LD-WRAPPER-NEXT. --- gnu/local.mk | 3 +- gnu/packages/chromium.scm | 13 -- gnu/packages/ld-wrapper-next.in | 305 ---------------------------------------- 3 files changed, 1 insertion(+), 320 deletions(-) delete mode 100644 gnu/packages/ld-wrapper-next.in diff --git a/gnu/local.mk b/gnu/local.mk index e452cd8895..0fe2c90781 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1522,5 +1522,4 @@ dist_patch_DATA = \ %D%/packages/patches/zziplib-CVE-2018-16548.patch MISC_DISTRO_FILES = \ - %D%/packages/ld-wrapper.in \ - %D%/packages/ld-wrapper-next.in + %D%/packages/ld-wrapper.in diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 0b3d19a428..275eb0588b 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -427,18 +427,6 @@ from forcing GEXP-PROMISE." `(cons "--enable-custom-modes" ,flags)))))) -;; Add a custom ld wrapper that supports quoted strings in response files. -;; To be merged with 'ld-wrapper' in a future rebuild cycle. -(define-public ld-wrapper-next - (let ((orig (car (assoc-ref (%final-inputs) "ld-wrapper")))) - (package - (inherit orig) - (name "ld-wrapper-next") - (inputs - `(("wrapper" ,(search-path %load-path - "gnu/packages/ld-wrapper-next.in")) - ,@(alist-delete "wrapper" (package-inputs orig))))))) - (define-public ungoogled-chromium (package (name "ungoogled-chromium") @@ -766,7 +754,6 @@ from forcing GEXP-PROMISE." ("clang" ,clang-9) ("gn" ,gn) ("gperf" ,gperf) - ("ld-wrapper" ,ld-wrapper-next) ("ninja" ,ninja) ("node" ,node) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/ld-wrapper-next.in b/gnu/packages/ld-wrapper-next.in deleted file mode 100644 index 5d5756f6a3..0000000000 --- a/gnu/packages/ld-wrapper-next.in +++ /dev/null @@ -1,305 +0,0 @@ -#!@BASH@ -# -*- mode: scheme; coding: utf-8; -*- - -# XXX: We have to go through Bash because there's no command-line switch to -# augment %load-compiled-path, and because of the silly 127-byte limit for -# the shebang line in Linux. -# Use `load-compiled' because `load' (and `-l') doesn't otherwise load our -# .go file (see ). -# Unset 'GUILE_LOAD_COMPILED_PATH' to make sure we do not stumble upon -# incompatible .go files. See -# . - -unset GUILE_LOAD_COMPILED_PATH -main="(@ (gnu build-support ld-wrapper) ld-wrapper)" -exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line)))" "$@" -!# -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès -;;; Copyright © 2020 Marius Bakke -;;; -;;; 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 . - -(define-module (gnu build-support ld-wrapper) - #:use-module (srfi srfi-1) - #:use-module (ice-9 match) - #:autoload (ice-9 rdelim) (read-delimited) - #:export (ld-wrapper)) - -;;; Commentary: -;;; -;;; This is a wrapper for the linker. Its purpose is to inspect the -L and -;;; -l switches passed to the linker, add corresponding -rpath arguments, and -;;; invoke the actual linker with this new set of arguments. -;;; -;;; The alternatives to this hack would be: -;;; -;;; 1. Using $LD_RUN_PATH. However, that would tend to include more than -;;; needed in the RPATH; for instance, given a package with `libfoo' as -;;; an input, all its binaries would have libfoo in their RPATH, -;;; regardless of whether they actually NEED it. -;;; -;;; 2. Use a GCC "lib" spec string such as `%{L*:-rpath %*}', which adds a -;;; `-rpath LIBDIR' argument for each occurrence of `-L LIBDIR'. -;;; However, this doesn't work when $LIBRARY_PATH is used, because the -;;; additional `-L' switches are not matched by the above rule, because -;;; the rule only matches explicit user-provided switches. See -;;; for details. -;;; -;;; As a bonus, this wrapper checks for "impurities"--i.e., references to -;;; libraries outside the store. -;;; -;;; Code: - -(define %real-ld - ;; Name of the linker that we wrap. - "@LD@") - -(define %store-directory - ;; File name of the store. - (or (getenv "NIX_STORE") "/gnu/store")) - -(define %temporary-directory - ;; Temporary directory. - (or (getenv "TMPDIR") "/tmp")) - -(define %build-directory - ;; Top build directory when run from a builder. - (getenv "NIX_BUILD_TOP")) - -(define %allow-impurities? - ;; Whether to allow references to libraries outside the store. - ;; Allow them by default for convenience. - (let ((value (getenv "GUIX_LD_WRAPPER_ALLOW_IMPURITIES"))) - (or (not value) - (let ((value (string-downcase value))) - (cond ((member value '("yes" "y" "t" "true" "1")) - #t) - ((member value '("no" "n" "f" "false" "0")) - #f) - (else - (format (current-error-port) - "ld-wrapper: ~s: invalid value for \ -'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'~%" - value))))))) - -(define %debug? - ;; Whether to emit debugging output. - (getenv "GUIX_LD_WRAPPER_DEBUG")) - -(define %disable-rpath? - ;; Whether to disable automatic '-rpath' addition. - (getenv "GUIX_LD_WRAPPER_DISABLE_RPATH")) - -(define (readlink* file) - ;; Call 'readlink' until the result is not a symlink. - (define %max-symlink-depth 50) - - (let loop ((file file) - (depth 0)) - (define (absolute target) - (if (absolute-file-name? target) - target - (string-append (dirname file) "/" target))) - - (if (>= depth %max-symlink-depth) - file - (call-with-values - (lambda () - (catch 'system-error - (lambda () - (values #t (readlink file))) - (lambda args - (let ((errno (system-error-errno args))) - (if (or (= errno EINVAL) (= errno ENOENT)) - (values #f file) - (apply throw args)))))) - (lambda (success? target) - (if success? - (loop (absolute target) (+ depth 1)) - file)))))) - -(define (pure-file-name? file) - ;; Return #t when FILE is the name of a file either within the store - ;; (possibly via a symlink) or within the build directory. - (let ((file (readlink* file))) - (or (not (string-prefix? "/" file)) - (string-prefix? %store-directory file) - (string-prefix? %temporary-directory file) - (and %build-directory - (string-prefix? %build-directory file))))) - -(define (store-file-name? file) - ;; Return #t when FILE is a store file, possibly indirectly. - (string-prefix? %store-directory (readlink* file))) - -(define (shared-library? file) - ;; Return #t when FILE denotes a shared library. - (or (string-suffix? ".so" file) - (let ((index (string-contains file ".so."))) - ;; Since we cannot use regexps during bootstrap, roll our own. - (and index - (string-every (char-set-union (char-set #\.) char-set:digit) - (string-drop file (+ index 3))))))) - -(define (library-search-path args) - ;; Return the library search path as a list of directory names. The GNU ld - ;; manual notes that "[a]ll `-L' options apply to all `-l' options, - ;; regardless of the order in which the options appear", so we must compute - ;; the search path independently of the -l options. - (let loop ((args args) - (path '())) - (match args - (() - (reverse path)) - (("-L" directory . rest) - (loop rest (cons directory path))) - ((argument . rest) - (if (string-prefix? "-L" argument) ;augment the search path - (loop rest - (cons (string-drop argument 2) path)) - (loop rest path)))))) - -(define (library-files-linked args library-path) - ;; Return the absolute file names of shared libraries explicitly linked - ;; against via `-l' or with an absolute file name in ARGS, looking them up - ;; in LIBRARY-PATH. - (define files+args - (fold (lambda (argument result) - (match result - ((library-files ((and flag - (or "-dynamic-linker" "-plugin")) - . rest)) - ;; When passed '-dynamic-linker ld.so', ignore 'ld.so'; when - ;; passed '-plugin liblto_plugin.so', ignore - ;; 'liblto_plugin.so'. See . - (list library-files - (cons* argument flag rest))) - ((library-files previous-args) - (cond ((string-prefix? "-l" argument) ;add library - (let* ((lib (string-append "lib" - (string-drop argument 2) - ".so")) - (full (search-path library-path lib))) - (list (if full - (cons full library-files) - library-files) - (cons argument previous-args)))) - ((and (string-prefix? %store-directory argument) - (shared-library? argument)) ;add library - (list (cons argument library-files) - (cons argument previous-args))) - (else - (list library-files - (cons argument previous-args))))))) - (list '() '()) - args)) - - (match files+args - ((files arguments) - (reverse files)))) - -(define (rpath-arguments library-files) - ;; Return the `-rpath' argument list for each of LIBRARY-FILES, a list of - ;; absolute file names. - (fold-right (lambda (file args) - ;; Add '-rpath' if and only if FILE is in the store; we don't - ;; want to add '-rpath' for files under %BUILD-DIRECTORY or - ;; %TEMPORARY-DIRECTORY because that could leak to installed - ;; files. - (cond ((and (not %disable-rpath?) - (store-file-name? file)) - (cons* "-rpath" (dirname file) args)) - ((or %allow-impurities? - (pure-file-name? file)) - args) - (else - (begin - (format (current-error-port) - "ld-wrapper: error: attempt to use \ -library outside of ~a: ~s~%" - %store-directory file) - (exit 1))))) - '() - library-files)) - -(define (expand-arguments args) - ;; Expand ARGS such that "response file" arguments, such as "@args.txt", are - ;; expanded (info "(gcc) Overall Options"). - (define (response-file-arguments file) - (define (tokenize port) - ;; Return a list of all strings found in PORT. Quote characters are removed, - ;; but whitespaces within quoted strings are preserved. - (let loop ((words '())) - (let* ((word (read-delimited " '\"" port 'split)) - (token (car word)) - (delim (cdr word))) - (if (eof-object? delim) - (reverse words) - (case delim - ((#\") (loop (cons (read-delimited "\"" port) words))) - ((#\') (loop (cons (read-delimited "'" port) words))) - ((#\ ) (if (> 0 (string-length token)) - (loop (cons token words)) - (loop words))) - (else (loop words))))))) - - (when %debug? - (format (current-error-port) - "ld-wrapper: attempting to read arguments from '~a'~%" file)) - - (call-with-input-file file tokenize)) - - (define result - (fold-right (lambda (arg result) - (if (string-prefix? "@" arg) - (let ((file (string-drop arg 1))) - (append (catch 'system-error - (lambda () - (response-file-arguments file)) - (lambda args - ;; FILE doesn't exist or cannot be read so - ;; leave ARG as is. - (list arg))) - result)) - (cons arg result))) - '() - args)) - - ;; If there are "@" arguments in RESULT *and* we can expand them (they don't - ;; refer to nonexistent files), then recurse. - (if (equal? result args) - result - (expand-arguments result))) - -(define (ld-wrapper . args) - ;; Invoke the real `ld' with ARGS, augmented with `-rpath' switches. - (let* ((args (expand-arguments args)) - (path (library-search-path args)) - (libs (library-files-linked args path)) - (args (append args (rpath-arguments libs)))) - (when %debug? - (format (current-error-port) - "ld-wrapper: library search path: ~s~%" path) - (format (current-error-port) - "ld-wrapper: libraries linked: ~s~%" libs) - (format (current-error-port) - "ld-wrapper: invoking `~a' with ~s~%" - %real-ld args) - (force-output (current-error-port))) - (apply execl %real-ld (basename %real-ld) args))) - -;;; ld-wrapper.scm ends here -- cgit 1.4.1 From aca00b0a367581ba0489641e0d1c451de4416d7a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 5 Mar 2020 19:29:44 +0100 Subject: gnu: CMake: Update to 3.16.5. * gnu/packages/cmake.scm (cmake-bootstrap): Update to 3.16.5. --- gnu/packages/cmake.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 18a27bc588..e24979d2b2 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -96,7 +96,7 @@ (define-public cmake-bootstrap (package (name "cmake-bootstrap") - (version "3.16.4") + (version "3.16.5") (source (origin (method url-fetch) (uri (string-append "https://www.cmake.org/files/v" @@ -104,7 +104,7 @@ "/cmake-" version ".tar.gz")) (sha256 (base32 - "0b5c77lqzfk5l7mnnih5c78i36d3skbkw20jjnph79lx9l8qrk4v")) + "1z4bb8z6b4dvq5hrvajrf1hyybqay3xybyimf71w1jgcp180nxjz")) (modules '((guix build utils) (ice-9 ftw))) (snippet -- cgit 1.4.1 From fdae0fa50acfee57854f6978c3b300bc46aedc68 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 6 Mar 2020 10:06:02 +0100 Subject: store: Add set-current-target procedure. * guix/store.scm (set-current-target): New exported procedure. --- guix/store.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/guix/store.scm b/guix/store.scm index 77ee23fdd8..c616484577 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2018 Jan Nieuwenhuizen -;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -162,6 +162,7 @@ current-system set-current-system current-target-system + set-current-target text-file interned-file interned-file-tree @@ -1863,6 +1864,11 @@ the store." (lambda (state) (values (%current-target-system) state))) +(define-inlinable (set-current-target target) + ;; Set the %CURRENT-TARGET-SYSTEM fluid at bind time. + (lambda (state) + (values (%current-target-system target) state))) + (define %guile-for-build ;; The derivation of the Guile to be used within the build environment, ;; when using 'gexp->derivation' and co. -- cgit 1.4.1 From a6bf7a9745f39afca7412f6627d24dc42ebf8075 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 6 Mar 2020 10:06:54 +0100 Subject: gexp: Default to current target. * guix/gexp.scm (lower-object): Set target argument to 'current by default and look for the current target system at bind time if needed, (gexp->file): ditto, (gexp->script): ditto, (lower-gexp): make sure lowered extensions are not cross-compiled. * tests/gexp.scm: Add cross-compilation test-cases for gexp->script and gexp->file with a target passed explicitely and with a default target. --- guix/gexp.scm | 91 ++++++++++++++++++++++++++++++++++------------------------ tests/gexp.scm | 50 ++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 38 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 0a9d56c0e8..8a59599c28 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2018 Jan Nieuwenhuizen -;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -218,7 +218,7 @@ procedure to expand it; otherwise return #f." (define* (lower-object obj #:optional (system (%current-system)) - #:key target) + #:key (target 'current)) "Return as a value in %STORE-MONAD the derivation or store item corresponding to OBJ for SYSTEM, cross-compiling for TARGET if TARGET is true. OBJ must be an object that has an associated gexp compiler, such as a @@ -228,7 +228,10 @@ OBJ must be an object that has an associated gexp compiler, such as a (raise (condition (&gexp-input-error (input obj))))) (lower ;; Cache in STORE the result of lowering OBJ. - (mlet %store-monad ((graft? (grafting?))) + (mlet %store-monad ((target (if (eq? target 'current) + (current-target-system) + (return target))) + (graft? (grafting?))) (mcached (let ((lower (lookup-compiler obj))) (lower obj system target)) obj @@ -779,7 +782,8 @@ derivations--e.g., code evaluated for its side effects." (extensions -> (gexp-extensions exp)) (exts (mapm %store-monad (lambda (obj) - (lower-object obj system)) + (lower-object obj system + #:target #f)) extensions)) (modules+compiled (imported+compiled-modules %modules system @@ -1549,16 +1553,19 @@ are searched for in PATH. Return #f when MODULES and EXTENSIONS are empty." #:key (guile (default-guile)) (module-path %load-path) (system (%current-system)) - target) + (target 'current)) "Return an executable script NAME that runs EXP using GUILE, with EXP's imported modules in its search path. Look up EXP's modules in MODULE-PATH." - (mlet %store-monad ((set-load-path - (load-path-expression (gexp-modules exp) - module-path - #:extensions - (gexp-extensions exp) - #:system system - #:target target))) + (mlet* %store-monad ((target (if (eq? target 'current) + (current-target-system) + (return target))) + (set-load-path + (load-path-expression (gexp-modules exp) + module-path + #:extensions + (gexp-extensions exp) + #:system system + #:target target))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) @@ -1592,7 +1599,7 @@ imported modules in its search path. Look up EXP's modules in MODULE-PATH." (module-path %load-path) (splice? #f) (system (%current-system)) - target) + (target 'current)) "Return a derivation that builds a file NAME containing EXP. When SPLICE? is true, EXP is considered to be a list of expressions that will be spliced in the resulting file. @@ -1603,36 +1610,44 @@ Lookup EXP's modules in MODULE-PATH." (define modules (gexp-modules exp)) (define extensions (gexp-extensions exp)) - (if (or (not set-load-path?) - (and (null? modules) (null? extensions))) - (gexp->derivation name - (gexp - (call-with-output-file (ungexp output) - (lambda (port) - (for-each (lambda (exp) - (write exp port)) - '(ungexp (if splice? - exp - (gexp ((ungexp exp))))))))) - #:local-build? #t - #:substitutable? #f - #:system system - #:target target) - (mlet %store-monad ((set-load-path - (load-path-expression modules module-path - #:extensions extensions - #:system system - #:target target))) + (mlet* %store-monad + ((target (if (eq? target 'current) + (current-target-system) + (return target))) + (no-load-path? -> (or (not set-load-path?) + (and (null? modules) + (null? extensions)))) + (set-load-path + (load-path-expression modules module-path + #:extensions extensions + #:system system + #:target target))) + (if no-load-path? + (gexp->derivation name + (gexp + (call-with-output-file (ungexp output) + (lambda (port) + (for-each + (lambda (exp) + (write exp port)) + '(ungexp (if splice? + exp + (gexp ((ungexp exp))))))))) + #:local-build? #t + #:substitutable? #f + #:system system + #:target target) (gexp->derivation name (gexp (call-with-output-file (ungexp output) (lambda (port) (write '(ungexp set-load-path) port) - (for-each (lambda (exp) - (write exp port)) - '(ungexp (if splice? - exp - (gexp ((ungexp exp))))))))) + (for-each + (lambda (exp) + (write exp port)) + '(ungexp (if splice? + exp + (gexp ((ungexp exp))))))))) #:module-path module-path #:local-build? #t #:substitutable? #f diff --git a/tests/gexp.scm b/tests/gexp.scm index 7c8985d846..9e38816c3d 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -1331,6 +1331,56 @@ '#~(foo #$bar #$baz:out #$(chbouib 42) #$@(list x y z) #+foo #+foo:out #+(chbouib 42) #+@(list x y z))) +(test-assertm "gexp->file, cross-compilation" + (mlet* %store-monad ((target -> "aarch64-linux-gnu") + (exp -> (gexp (list (ungexp coreutils)))) + (xdrv (gexp->file "foo" exp #:target target)) + (refs (references* + (derivation-file-name xdrv))) + (xcu (package->cross-derivation coreutils + target)) + (cu (package->derivation coreutils))) + (return (and (member (derivation-file-name xcu) refs) + (not (member (derivation-file-name cu) refs)))))) + +(test-assertm "gexp->file, cross-compilation with default target" + (mlet* %store-monad ((target -> "aarch64-linux-gnu") + (_ (set-current-target target)) + (exp -> (gexp (list (ungexp coreutils)))) + (xdrv (gexp->file "foo" exp)) + (refs (references* + (derivation-file-name xdrv))) + (xcu (package->cross-derivation coreutils + target)) + (cu (package->derivation coreutils))) + (return (and (member (derivation-file-name xcu) refs) + (not (member (derivation-file-name cu) refs)))))) + +(test-assertm "gexp->script, cross-compilation" + (mlet* %store-monad ((target -> "aarch64-linux-gnu") + (exp -> (gexp (list (ungexp coreutils)))) + (xdrv (gexp->script "foo" exp #:target target)) + (refs (references* + (derivation-file-name xdrv))) + (xcu (package->cross-derivation coreutils + target)) + (cu (package->derivation coreutils))) + (return (and (member (derivation-file-name xcu) refs) + (not (member (derivation-file-name cu) refs)))))) + +(test-assertm "gexp->script, cross-compilation with default target" + (mlet* %store-monad ((target -> "aarch64-linux-gnu") + (_ (set-current-target target)) + (exp -> (gexp (list (ungexp coreutils)))) + (xdrv (gexp->script "foo" exp)) + (refs (references* + (derivation-file-name xdrv))) + (xcu (package->cross-derivation coreutils + target)) + (cu (package->derivation coreutils))) + (return (and (member (derivation-file-name xcu) refs) + (not (member (derivation-file-name cu) refs)))))) + (test-end "gexp") ;; Local Variables: -- cgit 1.4.1 From b8e08aa2e4e1b3ecc4c41439c0b8ec41ba2566dd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Mar 2020 11:11:58 +0100 Subject: gnu: pango@1.42: Do not inherit replacements from pango@1.44. * gnu/packages/gtk.scm (pango-1.42): Do not use PACKAGE/INHERIT. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 243e9e5319..405ebe3c26 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -273,8 +273,8 @@ used throughout the world.") (home-page "https://developer.gnome.org/pango/"))) (define-public pango-1.42 - (package/inherit - pango + (package + (inherit pango) (version "1.42.4") (source (origin (method url-fetch) -- cgit 1.4.1 From c67ee58c72e52261b54ed0dc2d4fd1d07be1e11d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Mar 2020 11:12:29 +0100 Subject: gnu: pangox-compat: Build with pango@1.42. * gnu/packages/gtk.scm (pangox-compat)[inputs]: Change from PANGO to PANGO-1.42. --- gnu/packages/gtk.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 405ebe3c26..b01f4c704c 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -302,7 +302,7 @@ used throughout the world.") (build-system gnu-build-system) (inputs `(("glib" ,glib) - ("pango" ,pango))) + ("pango" ,pango-1.42))) (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) -- cgit 1.4.1 From 92594b2e0fdae039b9149bcf82b829294ab45fef Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 6 Mar 2020 11:13:12 +0100 Subject: gnu: vpnc-scripts: Tighten substitution regex. * gnu/packages/vpn.scm (vpnc-scripts)[arguments]: Do not substitute file names starting with /bin to preserve /bin/sh shebangs. --- gnu/packages/vpn.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index becc505b34..4899dbe3b7 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -152,7 +152,7 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") (for-each (lambda (script) (substitute* script (("^PATH=.*") "") - (("(/usr|)/s?bin/") "") + (("/usr/s?bin/") "") (("\\[ +-x +([^]]+) +\\]" _ command) (string-append "command -v >/dev/null 2>&1 " command)))) -- cgit 1.4.1 From b4335cfb55ced138ce07cf5d0a29c06fa6e6d1c5 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 6 Mar 2020 13:49:40 +0100 Subject: gnu: guix: Fix cross-compilation. * gnu/packages/package-management.scm (guix)[native-inputs]: Add all Guile libraries to fix cross-compilation. --- gnu/packages/package-management.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c872a563fe..6daad079b3 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018, 2019 Eric Bavier ;;; Copyright © 2019, 2020 Efraim Flashner ;;; Copyright © 2019 Jonathan Brielmaier +;;; Copyright © 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -277,6 +278,16 @@ #t)))))) (native-inputs `(("pkg-config" ,pkg-config) + ;; Guile libraries are needed here for + ;; cross-compilation. + ("guile" ,guile-2.2) + ("gnutls" ,gnutls) + ("guile-gcrypt" ,guile-gcrypt) + ("guile-json" ,guile-json-3) + ("guile-sqlite3" ,guile-sqlite3) + ("guile-ssh" ,guile-ssh) + ("guile-git" ,guile-git) + ;; XXX: Keep the development inputs here even though ;; they're unnecessary, just so that 'guix environment ;; guix' always contains them. -- cgit 1.4.1 From 02043f36d728fd46a3d9b5bc7449cd847f1b231e Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 8 Mar 2020 20:41:51 +0100 Subject: gnu: coreutils: Fix cross-compilation. Fix coreutils cross-compilation for aarch64 that was broken by 8.32 update. The following error occured: src/ls.c: In function 'print_dir': src/ls.c:3026:24: error: 'SYS_getdents' undeclared (first use in this function); did you mean 'SYS_getdents64'? if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1 ^~~~~~~~~~~~ SYS_getdents64 * gnu/packages/patches/coreutils-ls.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (coreutils): Apply it. --- gnu/local.mk | 1 + gnu/packages/base.scm | 5 +- gnu/packages/patches/coreutils-ls.patch | 117 ++++++++++++++++++++++++++++++++ 3 files changed, 121 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/coreutils-ls.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0fe2c90781..7c3e2648e9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -797,6 +797,7 @@ dist_patch_DATA = \ %D%/packages/patches/combinatorial-blas-awpm.patch \ %D%/packages/patches/combinatorial-blas-io-fix.patch \ %D%/packages/patches/containerd-test-with-go1.13.patch \ + %D%/packages/patches/coreutils-ls.patch \ %D%/packages/patches/cpufrequtils-fix-aclocal.patch \ %D%/packages/patches/crawl-upgrade-saves.patch \ %D%/packages/patches/crda-optional-gcrypt.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1989bdd7eb..f048e4b119 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016, 2018 Alex Vong ;;; Copyright © 2017 Rene Saavedra -;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017, 2020 Mathieu Othacehe ;;; Copyright © 2017, 2018, 2020 Marius Bakke ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -297,7 +297,8 @@ used to apply commands with arbitrarily long arguments.") version ".tar.xz")) (sha256 (base32 - "1yjcrh5hw70c0yn8zw55pd6j51dj90anpq8mmg649ps9g3gdhn24")))) + "1yjcrh5hw70c0yn8zw55pd6j51dj90anpq8mmg649ps9g3gdhn24")) + (patches (search-patches "coreutils-ls.patch")))) (build-system gnu-build-system) (inputs `(("acl" ,acl) ; TODO: add SELinux ("gmp" ,gmp) ;bignums in 'expr', yay! diff --git a/gnu/packages/patches/coreutils-ls.patch b/gnu/packages/patches/coreutils-ls.patch new file mode 100644 index 0000000000..59cbbf00b5 --- /dev/null +++ b/gnu/packages/patches/coreutils-ls.patch @@ -0,0 +1,117 @@ +Patch taken from upstream to fix cross-compilation for aarch64. This can be +removed on the next coreutils release. + +From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Thu, 5 Mar 2020 17:25:29 -0800 +Subject: [PATCH] ls: restore 8.31 behavior on removed directories + +* NEWS: Mention this. +* src/ls.c: Do not include +(print_dir): Don't worry about whether the directory is removed. +* tests/ls/removed-directory.sh: Adjust to match new (i.e., old) +behavior. +--- + NEWS | 6 ++++++ + src/ls.c | 22 ---------------------- + tests/ls/removed-directory.sh | 10 ++-------- + 3 files changed, 8 insertions(+), 30 deletions(-) + +diff --git a/NEWS b/NEWS +index fdc8bf5db..653e7178b 100644 +--- a/NEWS ++++ b/NEWS +@@ -2,6 +2,12 @@ GNU coreutils NEWS -*- outline -*- + + * Noteworthy changes in release ?.? (????-??-??) [?] + ++** Changes in behavior ++ ++ On GNU/Linux systems, ls no longer issues an error message on ++ directory merely because it was removed. This reverts a change ++ that was made in release 8.32. ++ + + * Noteworthy changes in release 8.32 (2020-03-05) [stable] + +diff --git a/src/ls.c b/src/ls.c +index 24b983287..4acf5f44d 100644 +--- a/src/ls.c ++++ b/src/ls.c +@@ -49,10 +49,6 @@ + # include + #endif + +-#ifdef __linux__ +-# include +-#endif +- + #include + #include + #include +@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + struct dirent *next; + uintmax_t total_blocks = 0; + static bool first = true; +- bool found_any_entries = false; + + errno = 0; + dirp = opendir (name); +@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + next = readdir (dirp); + if (next) + { +- found_any_entries = true; + if (! file_ignored (next->d_name)) + { + enum filetype type = unknown; +@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + if (errno != EOVERFLOW) + break; + } +-#ifdef __linux__ +- else if (! found_any_entries) +- { +- /* If readdir finds no directory entries at all, not even "." or +- "..", then double check that the directory exists. */ +- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1 +- && errno != EINVAL) +- { +- /* We exclude EINVAL as that pertains to buffer handling, +- and we've passed NULL as the buffer for simplicity. +- ENOENT is returned if appropriate before buffer handling. */ +- file_failure (command_line_arg, _("reading directory %s"), name); +- } +- break; +- } +-#endif + else + break; + +diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh +index e8c835dab..fe8f929a1 100755 +--- a/tests/ls/removed-directory.sh ++++ b/tests/ls/removed-directory.sh +@@ -26,20 +26,14 @@ case $host_triplet in + *) skip_ 'non linux kernel' ;; + esac + +-LS_FAILURE=2 +- +-cat <<\EOF >exp-err || framework_failure_ +-ls: reading directory '.': No such file or directory +-EOF +- + cwd=$(pwd) + mkdir d || framework_failure_ + cd d || framework_failure_ + rmdir ../d || framework_failure_ + +-returns_ $LS_FAILURE ls >../out 2>../err || fail=1 ++ls >../out 2>../err || fail=1 + cd "$cwd" || framework_failure_ + compare /dev/null out || fail=1 +-compare exp-err err || fail=1 ++compare /dev/null err || fail=1 + + Exit $fail -- cgit 1.4.1 From 1926db54a6a31f6676ba5db3668287ce7d709c8b Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 10 Mar 2020 11:29:21 +0100 Subject: gnu: guile3.0-guix: Fix cross-compilation. * gnu/packages/package-management.scm (guile3.0-guix)[native-inputs]: Remove all Guile 2.X libraries and replace them by their 3.0 counterpart. --- gnu/packages/package-management.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 6daad079b3..c71029ef4e 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -412,6 +412,17 @@ the Nix package manager.") (package (inherit guix) (name "guile3.0-guix") + (native-inputs + `(("guile" ,guile-3.0) + ("gnutls" ,guile3.0-gnutls) + ("guile-gcrypt" ,guile3.0-gcrypt) + ("guile-json" ,guile3.0-json) + ("guile-sqlite3" ,guile3.0-sqlite3) + ("guile-ssh" ,guile3.0-ssh) + ("guile-git" ,guile3.0-git) + ,@(fold alist-delete (package-native-inputs guix) + '("guile" "gnutls" "guile-gcrypt" "guile-json" + "guile-sqlite3" "guile-ssh" "guile-git")))) (inputs `(("guile" ,guile-3.0) ,@(alist-delete "guile" (package-inputs guix)))) -- cgit 1.4.1 From bda4b5e0453e4c8feda24306b4aa76ad5406eb7d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 10 Mar 2020 14:16:27 +0100 Subject: gnu: python: Fix cross-compilation. This is a follow-up of 89da127035737bdf922bc566970c5506c2e01b00. * gnu/packages/patches/python-3-search-paths.patch: Use CROSS_C_INCLUDE_PATH instead of CROSS_CPATH. --- gnu/packages/patches/python-3-search-paths.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch index 612201d1f2..df01d3b933 100644 --- a/gnu/packages/patches/python-3-search-paths.patch +++ b/gnu/packages/patches/python-3-search-paths.patch @@ -19,7 +19,7 @@ looking for headers and libraries. + self.lib_dirs = (os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) + sysroot_paths(('LDFLAGS', 'CC'), system_lib_dirs)) - self.inc_dirs = (self.compiler.include_dirs + -+ self.inc_dirs = (os.getenv('CROSS_CPATH', '').split(os.pathsep) + ++ self.inc_dirs = (os.getenv('CROSS_C_INCLUDE_PATH', '').split(os.pathsep) + sysroot_paths(('CPPFLAGS', 'CFLAGS', 'CC'), system_include_dirs)) -- cgit 1.4.1 From edc8fd2e2d75ba7af9bf6403277ecb0dccd48dc3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 10 Mar 2020 20:54:52 +0100 Subject: gnu: Remove guile@2.2.6. * gnu/packages/patches/guile-finalization-crash.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/guile.scm (guile-2.2)[source](patches): Remove 'guile-finalization-crash.patch'. (guile-2.2.7): Remove variable. (guile-2.2/bug-fix): Point to GUILE-2.2. * gnu/packages/admin.scm (shepherd)[native-inputs, inputs]: Use GUILE-2.2 instead of GUILE-2.2.7. --- gnu/local.mk | 1 - gnu/packages/admin.scm | 4 +- gnu/packages/guile.scm | 21 ++------ .../patches/guile-finalization-crash.patch | 61 ---------------------- 4 files changed, 5 insertions(+), 82 deletions(-) delete mode 100644 gnu/packages/patches/guile-finalization-crash.patch diff --git a/gnu/local.mk b/gnu/local.mk index cc219b42df..f2e323c345 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -992,7 +992,6 @@ dist_patch_DATA = \ %D%/packages/patches/guile-3.0-crash.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ - %D%/packages/patches/guile-finalization-crash.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-relocatable.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index af29dc30fe..350cd541b7 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -211,10 +211,10 @@ and provides a \"top-like\" mode (monitoring).") `(("pkg-config" ,pkg-config) ;; This is the Guile we use as a cross-compiler... - ("guile" ,guile-2.2.7))) + ("guile" ,guile-2.2))) (inputs ;; ... and this is the one that appears in shebangs when cross-compiling. - `(("guile" ,guile-2.2.7) ;for + `(("guile" ,guile-2.2) ;; The 'shepherd' command uses Readline when used interactively. It's ;; an unusual use case though, so we don't propagate it. diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 0ce5d71cfd..b97f149391 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -217,7 +217,7 @@ without requiring the source code to be rewritten.") (define-public guile-2.2 (package (inherit guile-2.0) (name "guile") - (version "2.2.6") + (version "2.2.7") (source (origin (method url-fetch) @@ -227,10 +227,9 @@ without requiring the source code to be rewritten.") ".tar.xz")) (sha256 (base32 - "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk")) + "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd")) (modules '((guix build utils))) (patches (search-patches - "guile-finalization-crash.patch" "guile-2.2-skip-oom-test.patch")) ;; Remove the pre-built object files. Instead, build everything @@ -251,21 +250,7 @@ without requiring the source code to be rewritten.") (variable "GUILE_LOAD_COMPILED_PATH") (files '("lib/guile/2.2/site-ccache"))))))) -(define-public guile-2.2.7 - ;; This version contains a bug fix for a relatively rare crash that could - ;; affect shepherd as PID 1: . - (package - (inherit guile-2.2) - (version "2.2.7") - (source (origin - (inherit (package-source guile-2.2)) - (uri (string-append "mirror://gnu/guile/guile-" version - ".tar.xz")) - (sha256 - (base32 - "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd")))))) - -(define-deprecated guile-2.2/bug-fix guile-2.2.7) +(define-deprecated guile-2.2/bug-fix guile-2.2) (define-public guile-2.2/fixed ;; A package of Guile 2.2 that's rarely changed. It is the one used diff --git a/gnu/packages/patches/guile-finalization-crash.patch b/gnu/packages/patches/guile-finalization-crash.patch deleted file mode 100644 index 098249e49f..0000000000 --- a/gnu/packages/patches/guile-finalization-crash.patch +++ /dev/null @@ -1,61 +0,0 @@ -commit edf5aea7ac852db2356ef36cba4a119eb0c81ea9 -Author: Ludovic Courtès -Date: Mon Dec 9 14:44:59 2019 +0100 - - Fix non-deterministic crash in 'finalization_thread_proc'. - - Fixes . - Reported by Jesse Gibbons . - - * libguile/finalizers.c (finalization_thread_proc): Do not enter the - "switch (data.byte)" condition when data.n <= 0. - -diff --git a/libguile/finalizers.c b/libguile/finalizers.c -index c5d69e8e3..94a6e6b0a 100644 ---- a/libguile/finalizers.c -+++ b/libguile/finalizers.c -@@ -1,4 +1,4 @@ --/* Copyright (C) 2012, 2013, 2014 Free Software Foundation, Inc. -+/* Copyright (C) 2012, 2013, 2014, 2019 Free Software Foundation, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License -@@ -211,21 +211,26 @@ finalization_thread_proc (void *unused) - - scm_without_guile (read_finalization_pipe_data, &data); - -- if (data.n <= 0 && data.err != EINTR) -+ if (data.n <= 0) - { -- perror ("error in finalization thread"); -- return NULL; -+ if (data.err != EINTR) -+ { -+ perror ("error in finalization thread"); -+ return NULL; -+ } - } -- -- switch (data.byte) -+ else - { -- case 0: -- scm_run_finalizers (); -- break; -- case 1: -- return NULL; -- default: -- abort (); -+ switch (data.byte) -+ { -+ case 0: -+ scm_run_finalizers (); -+ break; -+ case 1: -+ return NULL; -+ default: -+ abort (); -+ } - } - } - } -- cgit 1.4.1 From 7688dbbdd7a7a091c9a0fc4850e70725e3ff64e3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 00:17:01 +0100 Subject: gnu: ncurses: Prevent binutils reference. This fixes a regression introduces in 717c433c46e8e9fc77b796e485092e2cccee336a where ncurses would needlessly depend on binutils on runtime. * gnu/packages/ncurses.scm (ncurses)[arguments]: Add "cf_cv_ld_searchpath" in #:configure-flags. --- gnu/packages/ncurses.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index 12e16b2403..52819e9665 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen -;;; Copyright © 2017, 2019 Marius Bakke +;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -184,6 +184,12 @@ ;; around this. ,@(if (%current-target-system) '("--disable-stripping") '()) + ;; Do not assume a default search path in ld, even if it is only to + ;; filter it out in ncurses-config. Mainly because otherwise it ends + ;; up using the libdir from binutils, which makes little sense and + ;; causes an unnecessary runtime dependency. + "cf_cv_ld_searchpath=/no-ld-searchpath" + ;; MinGW: Use term-driver created for the MinGW port. ,@(if (target-mingw?) '("--enable-term-driver") '())))) #:tests? #f ; no "check" target -- cgit 1.4.1 From f430c621d502b7e6b85f548e85354924a3898562 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 00:17:39 +0100 Subject: gnu: jemalloc: Install scripts to separate output. * gnu/packages/jemalloc.scm (jemalloc)[outputs]: New field. --- gnu/packages/jemalloc.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index 2eabf4403f..c4b87b540d 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -59,6 +59,9 @@ '() '(#:configure-flags (list "--disable-thp"))))) (inputs `(("perl" ,perl))) + ;; Install the scripts to a separate output to avoid referencing Perl and + ;; Bash in the default output, saving ~75 MiB on the closure. + (outputs '("out" "bin")) (home-page "http://jemalloc.net/") (synopsis "General-purpose scalable concurrent malloc implementation") (description -- cgit 1.4.1 From 6b5a2e58866dc3642a39bb14aea9a77c4019b806 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 00:18:25 +0100 Subject: gnu: OpenLDAP: Remove unused input. * gnu/packages/openldap.scm (openldap)[inputs]: Remove ICU4C. --- gnu/packages/openldap.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 60b543393e..75fe8f9b73 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -82,7 +82,6 @@ (inputs `(("bdb" ,bdb-5.3) ("cyrus-sasl" ,cyrus-sasl) ("gnutls" ,gnutls) - ("icu4c" ,icu4c) ("libgcrypt" ,libgcrypt) ("zlib" ,zlib))) (native-inputs `(("libtool" ,libtool) -- cgit 1.4.1 From aaadd6e2e1bb4f814dfc7b30d8d23b91526c4deb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 00:18:57 +0100 Subject: gnu: salmon: Adjust for C_INCLUDE_PATH changes. * gnu/packages/bioinformatics.scm (salmon)[arguments]: Append Eigen headers to C_INCLUDE_PATH instead of CPATH. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 035a7bb808..5b9413f181 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11970,8 +11970,8 @@ The following file formats are supported: (("lib/libdivsufsort.a") "/lib/libdivsufsort.so")) ;; Ensure that all headers can be found - (setenv "CPATH" - (string-append (getenv "CPATH") + (setenv "CPLUS_INCLUDE_PATH" + (string-append (or (getenv "CPLUS_INCLUDE_PATH") "") ":" (assoc-ref inputs "eigen") "/include/eigen3")) -- cgit 1.4.1 From 4889be6ceb794d8c535d90df007e012ab7c2161e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 00:19:24 +0100 Subject: gnu: blender: Fix build with Python 3.8. * gnu/packages/graphics.scm (blender)[arguments]: Remove 'm' suffix from python directories. --- gnu/packages/graphics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 7e3685482d..fcd5b0c6e2 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -114,11 +114,11 @@ "-DWITH_MOD_OCEANSIM=ON" "-DWITH_OPENSUBDIV=ON" "-DWITH_PYTHON_INSTALL=OFF" - (string-append "-DPYTHON_LIBRARY=python" ,python-version "m") + (string-append "-DPYTHON_LIBRARY=python" ,python-version) (string-append "-DPYTHON_LIBPATH=" (assoc-ref %build-inputs "python") "/lib") (string-append "-DPYTHON_INCLUDE_DIR=" (assoc-ref %build-inputs "python") - "/include/python" ,python-version "m") + "/include/python" ,python-version) (string-append "-DPYTHON_VERSION=" ,python-version) (string-append "-DPYTHON_NUMPY_PATH=" (assoc-ref %build-inputs "python-numpy") -- cgit 1.4.1 From 11a5ffba7327250ebe7b67c777204e49858310bb Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 03:53:38 -0500 Subject: gnu: coreutils: Remove libcap dependency for the Hurd. * gnu/packages/linux.scm (libcap)[supported-systems]: Remove the Hurd. * gnu/packages/base.scm (coreutils)[inputs]: Include libcap only for supported systems. Fixes building on the Hurd. --- gnu/packages/base.scm | 14 ++++++++------ gnu/packages/linux.scm | 2 ++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f048e4b119..d74d304de1 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2014 Alex Kost ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner -;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2016, 2018 Alex Vong ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017, 2020 Mathieu Othacehe @@ -303,11 +303,13 @@ used to apply commands with arbitrarily long arguments.") (inputs `(("acl" ,acl) ; TODO: add SELinux ("gmp" ,gmp) ;bignums in 'expr', yay! - ;; Drop the dependency on libcap when cross-compiling since it's - ;; not quite cross-compilable. - ,@(if (%current-target-system) - '() - `(("libcap" ,libcap))))) ;capability support is 'ls', etc. + ;; Do not use libcap when cross-compiling since it's not quite + ;; cross-compilable; and use it only for supported systems. + ,@(if (and (not (%current-target-system)) + (not (member (%current-system) + (package-supported-systems libcap)))) + `(("libcap" ,libcap)) ;capability support in 'ls', etc. + '()))) (native-inputs ;; Perl is needed to run tests in native builds, and to run the bundled ;; copy of help2man. However, don't pass it when cross-compiling since diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e9f261e859..977f448b56 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -42,6 +42,7 @@ ;;; Copyright © 2020 Pierre Neidhardt ;;; Copyright © 2020 Chris Marusich ;;; Copyright © 2020 Vincent Legoll +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -2068,6 +2069,7 @@ configuration (iptunnel, ipmaddr).") (assoc-ref %outputs "out")) "RAISE_SETFCAP=no"))) (native-inputs `(("perl" ,perl))) + (supported-systems (delete "i586-gnu" %supported-systems)) (home-page "https://sites.google.com/site/fullycapable/") (synopsis "Library for working with POSIX capabilities") (description -- cgit 1.4.1 From 53402d437cbd6658377003058e827fa5a513eecf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 20:14:42 +0100 Subject: gnu: wesnoth: Remove obsolete workaround. * gnu/packages/games.scm (wesnoth)[arguments]: Remove #:phases. --- gnu/packages/games.scm | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 45d5c4697d..e7764cc9ec 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2665,20 +2665,7 @@ falling, themeable graphics and sounds, and replays.") "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;no check target - #:phases (modify-phases %standard-phases - (add-before 'configure 'treat-boost-as-system-header - (lambda* (#:key inputs #:allow-other-keys) - (let ((boost (assoc-ref inputs "boost"))) - ;; Ensure Boost is treated as "system headers" to - ;; pacify compiler warnings induced by Boost headers. - (for-each (lambda (variable) - (setenv variable - (string-append boost "/include:" - (or (getenv variable) - "")))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) - #t)))))) + `(#:tests? #f)) ;no check target (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) -- cgit 1.4.1 From e22c2c78a17b588edd994dc5b04659c06e45992a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 20:16:37 +0100 Subject: gnu: libtorrent-rasterbar: Build with Python 3. * gnu/packages/bittorrent.scm (libtorrent-rasterbar)[native-inputs]: Change from PYTHON-2 to PYTHON-WRAPPER. --- gnu/packages/bittorrent.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index fa63c49920..9e19425e90 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -404,7 +404,7 @@ and will take advantage of multiple processor cores where possible.") (assoc-ref %outputs "out") "/lib")))) (inputs `(("boost" ,boost) ("openssl" ,openssl))) - (native-inputs `(("python" ,python-2) + (native-inputs `(("python" ,python-wrapper) ("pkg-config" ,pkg-config))) (home-page "https://www.libtorrent.org/") (synopsis "Feature complete BitTorrent implementation") -- cgit 1.4.1 From 5afffbeffc931d00074e570f5ec89df8a1ebe568 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 20:31:27 +0100 Subject: gnu: fifengine: Fix build with newer Swig and Python. * gnu/packages/patches/fifengine-swig-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/games.scm (fifengine)[source](patches): New field. [arguments]: Remove hard coded Python version from #:configure-flags. --- gnu/local.mk | 1 + gnu/packages/games.scm | 5 ++++- gnu/packages/patches/fifengine-swig-compat.patch | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/fifengine-swig-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index f2e323c345..47279ffa08 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -868,6 +868,7 @@ dist_patch_DATA = \ %D%/packages/patches/fasthenry-spSolve.patch \ %D%/packages/patches/fasthenry-spFactor.patch \ %D%/packages/patches/fbreader-curl-7.62.patch \ + %D%/packages/patches/fifengine-swig-compat.patch \ %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 \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index e7764cc9ec..43199d2850 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2280,6 +2280,7 @@ Widgets, and allows users to create more.") (uri (string-append "https://codeload.github.com/fifengine/" "fifengine/tar.gz/" version)) (file-name (string-append name "-" version ".tar.gz")) + (patches (search-patches "fifengine-swig-compat.patch")) (sha256 (base32 "1y4grw25cq5iqlg05rnbyxw1njl11ypidnlsm3qy4sm3xxdvb0p8")))) @@ -2296,7 +2297,9 @@ Widgets, and allows users to create more.") "/include/AL") (string-append "-DPYTHON_SITE_PACKAGES=" (assoc-ref %outputs "out") - "/lib/python3.7/site-packages")) + "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages")) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-run_tests.py diff --git a/gnu/packages/patches/fifengine-swig-compat.patch b/gnu/packages/patches/fifengine-swig-compat.patch new file mode 100644 index 0000000000..85cd05f835 --- /dev/null +++ b/gnu/packages/patches/fifengine-swig-compat.patch @@ -0,0 +1,17 @@ +Fix build failure when using Swig 4. + +Taken from upstream: +https://github.com/fifengine/fifengine/commit/d14f232f4cd9a00b05d6872957070e8c020f515d + +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -893,7 +893,7 @@ if(build-python) + find_package(PythonLibs ${PYTHON_VERSION_STRING} EXACT) + include_directories(${PYTHON_INCLUDE_PATH}) + +- set(CMAKE_SWIG_FLAGS -modern -fastdispatch -dirvtable -nosafecstrings -noproxydel -fastproxy -fastinit -fastunpack -fastquery -modernargs -nobuildnone -keyword -w511 -w473 -w404 -w314) ++ set(CMAKE_SWIG_FLAGS -modern -fastdispatch -dirvtable -noproxydel -fastproxy -fastinit -fastunpack -fastquery -modernargs -keyword -w511 -w473 -w404 -w314) + + set_source_files_properties("${PROJECT_BINARY_DIR}/fife.i" PROPERTIES CPLUSPLUS ON) + set(FIFE_SOURCES ${FIFE_CORE_SRC}) -- cgit 1.4.1 From 966301597d7d4cac1d0be806c5ac439b357e2583 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 20:51:16 +0100 Subject: gnu: c-ares: Update to 1.16.0. * gnu/packages/adns.scm (c-ares): Update to 1.16.0. --- gnu/packages/adns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm index 541612d41a..5d8c6fdc91 100644 --- a/gnu/packages/adns.scm +++ b/gnu/packages/adns.scm @@ -62,7 +62,7 @@ scripts.") (define-public c-ares (package (name "c-ares") - (version "1.15.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (string-append @@ -70,7 +70,7 @@ scripts.") ".tar.gz")) (sha256 (base32 - "0lk8knip4xk6qzksdkn7085mmgm4ixfczdyyjw656c193y3rgnvc")))) + "129sm0wzij0mp8vdv68v18hnykcjb6ivi66wnqnnw598q7bql1fy")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit 1.4.1 From 635b14fc6ae2fae64b474315b1f39cebd1e16028 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 20:51:55 +0100 Subject: gnu: cURL: Update to 7.69.1. * gnu/packages/curl.scm (curl): Update to 7.69.1. --- gnu/packages/curl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 70d7c4901c..48d7dd40bd 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -51,14 +51,14 @@ (define-public curl (package (name "curl") - (version "7.69.0") + (version "7.69.1") (source (origin (method url-fetch) (uri (string-append "https://curl.haxx.se/download/curl-" version ".tar.xz")) (sha256 (base32 - "07r7wcamwa0lb3wdlzfac5q2rg6ip5ddv3d211w7a9y1hbqg5bcz")) + "0kwxh76iq9fblk7iyv4f75bmcmasarp2bcm1mm07wyvzd7kdbiq3")) (patches (search-patches "curl-use-ssl-cert-env.patch")))) (build-system gnu-build-system) (outputs '("out" -- cgit 1.4.1 From eceaa46730bedee30afdd062fecd5244672e8cc6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 20:54:38 +0100 Subject: gnu: LibUV: Update to 1.35.0. * gnu/packages/libevent.scm (libuv): Update to 1.35.0. --- gnu/packages/libevent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 4e93f5cf01..608264f2f4 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -102,14 +102,14 @@ limited support for fork events.") (define-public libuv (package (name "libuv") - (version "1.34.2") + (version "1.35.0") (source (origin (method url-fetch) (uri (string-append "https://dist.libuv.org/dist/v" version "/libuv-v" version ".tar.gz")) (sha256 (base32 - "0inzk8qpw78im3fiazrc54qi1gcapbs8dhf0hk3kwpzg0i2kpnb5")))) + "0126mfmaw3s92dsga60sydgwjmzwg9cd36n127pydmisah17v50f")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static") -- cgit 1.4.1 From 8d425d74d25ec9d8eda74d3b70dc21b5e71537e2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 20:58:11 +0100 Subject: gnu: icu4c: Update to 66.1. * gnu/packages/icu4c.scm (icu4c): Update to 66.1. --- gnu/packages/icu4c.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 717ed277ee..61e252cff2 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -36,7 +36,7 @@ (define-public icu4c (package (name "icu4c") - (version "65.1") + (version "66.1") (source (origin (method url-fetch) (uri (string-append @@ -46,7 +46,7 @@ (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) "-src.tgz")) (sha256 - (base32 "0j6r6qqnhfr5iqkx53k63ifkm93kv1kkb7h2mlgd1mnnndk79qsk")))) + (base32 "0bharwzc9nzkbrcf405z2nb3h7q0711z450arz0mjmdrk8hg58sj")))) (build-system gnu-build-system) ;; When cross-compiling, this package needs a source directory of a ;; native-build of itself. -- cgit 1.4.1 From 3db5a01c11d6288b039f6fabb1087cb02c6862a9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 21:00:58 +0100 Subject: gnu: libuninameslist: Update to 20200313. * gnu/packages/fontutils.scm (libuninameslist): Update to 20200313. --- gnu/packages/fontutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index ea2f509d89..edc77d3f00 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -543,7 +543,7 @@ smooth contours with constant curvature at the spline joins.") (define-public libuninameslist (package (name "libuninameslist") - (version "20190701") + (version "20200313") (home-page "https://github.com/fontforge/libuninameslist") (source (origin @@ -552,7 +552,7 @@ smooth contours with constant curvature at the spline joins.") "/libuninameslist-dist-" version ".tar.gz")) (sha256 (base32 - "18c9pcz81wm26q2m7npmvh9j3ibjs2hycxfh5xic2xgjfw40v2qn")))) + "10ri80c64xb4rhbif3sr87y5vhi3m702zb0m02imvj1jib9rq0m8")))) (build-system gnu-build-system) (synopsis "Unicode names and annotation list") (description -- cgit 1.4.1 From 704f1b53c77f3550bc7b3e86aa7237db2fc1594e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Mar 2020 21:05:23 +0100 Subject: gnu: pcre: Update to 8.44. * gnu/packages/pcre.scm (pcre): Update to 8.44. --- gnu/packages/pcre.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index ea45a3d06b..ce2a6e91db 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -35,7 +35,7 @@ (define-public pcre (package (name "pcre") - (version "8.43") + (version "8.44") (source (origin (method url-fetch) (uri (list @@ -46,7 +46,7 @@ version "/pcre-" version ".tar.bz2"))) (sha256 (base32 - "0sxg1wlknq05ryq63h21cchjmcjkin9lmnqsmhs3h08301965rwi")))) + "0v9nk51wh55pcbnf2jr36yarz8ayajn6d7ywiq2wagivn9c8c40r")))) (build-system gnu-build-system) (outputs '("out" ;library & headers "bin" ;depends on Readline (adds 20MiB to the closure) -- cgit 1.4.1 From 3fd74c45064eba882771b0398b4c3b29b030a44a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 01:20:14 +0100 Subject: gnu: jbig2dec: Update to 0.18. * gnu/packages/patches/jbig2dec-ignore-testtest.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/image.scm (jbig2dec): Update to 0.18. [source](uri): Adjust for Ghostscript 9.51. [source](patches): Remove. [arguments]: Add #:phases. [native-inputs]: Add AUTOCONF, AUTOMAKE, LIBTOOL and PYTHON-WRAPPER. --- gnu/local.mk | 1 - gnu/packages/image.scm | 25 +++++++++++++++++----- .../patches/jbig2dec-ignore-testtest.patch | 16 -------------- 3 files changed, 20 insertions(+), 22 deletions(-) delete mode 100644 gnu/packages/patches/jbig2dec-ignore-testtest.patch diff --git a/gnu/local.mk b/gnu/local.mk index 47279ffa08..d5271067d6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1053,7 +1053,6 @@ dist_patch_DATA = \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ - %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jfsutils-add-sysmacros.patch \ %D%/packages/patches/jfsutils-include-systypes.patch \ %D%/packages/patches/jsoncpp-fix-inverted-case.patch \ diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 36f650f23a..3850e7fb77 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -635,18 +635,33 @@ arithmetic ops.") (define-public jbig2dec (package (name "jbig2dec") - (version "0.17") + (version "0.18") (source (origin (method url-fetch) (uri (string-append "https://github.com/ArtifexSoftware" "/ghostpdl-downloads/releases/download" - "/gs950/" name "-" version ".tar.gz")) + "/gs951/" name "-" version ".tar.gz")) (sha256 (base32 - "0wpvslmwazia3z8gyk343kbq6yj47pxr4x5yjvx332v309qssazp")) - (patches (search-patches "jbig2dec-ignore-testtest.patch")))) + "0pigfw2v0ppvr0lbysm69gx0zsa5q2q92yrb8af2j3im6x97f6cy")))) (build-system gnu-build-system) - (arguments '(#:configure-flags '("--disable-static"))) + (arguments '(#:configure-flags '("--disable-static") + #:phases (modify-phases %standard-phases + (add-before 'bootstrap 'force-bootstrap + (lambda _ + ;; XXX: jbig2dec 0.18 was released with + ;; a broken configure script, so we + ;; recreate the build system here. + ;; Remove the autoconf inputs below + ;; when deleting this code. + (delete-file "configure") + (delete-file "autogen.sh") + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("python" ,python-wrapper))) ;for tests (synopsis "Decoder of the JBIG2 image compression format") (description "JBIG2 is designed for lossy or lossless encoding of @code{bilevel} (1-bit diff --git a/gnu/packages/patches/jbig2dec-ignore-testtest.patch b/gnu/packages/patches/jbig2dec-ignore-testtest.patch deleted file mode 100644 index 7c80c545e9..0000000000 --- a/gnu/packages/patches/jbig2dec-ignore-testtest.patch +++ /dev/null @@ -1,16 +0,0 @@ -Do not run the test 'test_jbig2dec.py'. It doesn't seem to do anything -and reports failure. TODO: Actually fix the test instead of ignoring it. - -diff --git a/Makefile.in b/Makefile.in -index 63982d4..8af1d61 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -93,7 +93,7 @@ host_triplet = @host@ - bin_PROGRAMS = jbig2dec$(EXEEXT) - noinst_PROGRAMS = test_sha1$(EXEEXT) test_huffman$(EXEEXT) \ - test_arith$(EXEEXT) --TESTS = test_sha1$(EXEEXT) test_jbig2dec.py test_huffman$(EXEEXT) \ -+TESTS = test_sha1$(EXEEXT) test_huffman$(EXEEXT) \ - test_arith$(EXEEXT) - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -- cgit 1.4.1 From af2f11ff00af569f76550b290037818e98e28b29 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 01:21:28 +0100 Subject: gnu: ghostscript: Update to 9.51. * gnu/packages/patches/ghostscript-CVE-2019-14869.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/patches/ghostscript-no-header-uuid.patch: Adjust for 9.51. * gnu/packages/ghostscript.scm (ghostscript): Update to 9.51. [source](patches): Remove obsolete patch. [arguments]: Remove obsolete substitution. When cross-compiling, add two workaround phases. --- gnu/local.mk | 1 - gnu/packages/ghostscript.scm | 39 +++++++++++++----- .../patches/ghostscript-CVE-2019-14869.patch | 48 ---------------------- .../patches/ghostscript-no-header-uuid.patch | 12 +++--- 4 files changed, 34 insertions(+), 66 deletions(-) delete mode 100644 gnu/packages/patches/ghostscript-CVE-2019-14869.patch diff --git a/gnu/local.mk b/gnu/local.mk index d5271067d6..ebb6b859b3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -930,7 +930,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-2019-14869.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 3cd1e4af8d..ae689925e1 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2018, 2020 Marius Bakke ;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. @@ -159,7 +159,7 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package (name "ghostscript") - (version "9.50") + (version "9.51") (source (origin (method url-fetch) @@ -169,9 +169,8 @@ printing, and psresize, for adjusting page sizes.") "/ghostscript-" version ".tar.xz")) (sha256 (base32 - "1m770dwc82afdgzgq2kar3120r1lbybm3mssdm79f8kggf0v16yv")) - (patches (search-patches "ghostscript-CVE-2019-14869.patch" - "ghostscript-no-header-creationdate.patch" + "0wdpcq9lq19v8an8xs28cgg7vfzb23f1j12m9p2wdnwa1vwk64by")) + (patches (search-patches "ghostscript-no-header-creationdate.patch" "ghostscript-no-header-id.patch" "ghostscript-no-header-uuid.patch")) (modules '((guix build utils))) @@ -234,10 +233,6 @@ printing, and psresize, for adjusting page sizes.") (substitute* "base/gscdef.c" (("GS_DOCDIR") "\"~/.guix-profile/share/doc/ghostscript\"")) - ;; The docdir default changed in 9.23 and a compatibility - ;; symlink was added from datadir->docdir. Remove it. - (substitute* "base/unixinst.mak" - (("ln -s \\$\\(DESTDIR\\)\\$\\(docdir\\).*") "")) #t)) (add-after 'configure 'patch-config-files (lambda _ @@ -245,7 +240,31 @@ printing, and psresize, for adjusting page sizes.") (("/bin/sh") (which "sh"))) #t)) ,@(if (%current-target-system) - `((add-after 'configure 'add-native-lz + `((add-after 'unpack 'define-ARCH_MAX_SIZE_T + (lambda _ + ;; XXX: arch_autoconf.h is missing the recent addition of + ;; ARCH_MAX_SIZE_T. Just add it here based on the definition + ;; in "base/genarch.c". This can likely be removed for + ;; Ghostscript > 9.51. + (substitute* "arch/arch_autoconf.h.in" + (("#define ARCH_MAX_ULONG.*" all) + (string-append all "\n" + "#define ARCH_MAX_SIZE_T " + "((size_t)~0L + (size_t)0)\n"))) + #t)) + (add-before 'configure 'do-not-fail-without-native-freetype + (lambda _ + ;; The configure script recurses to build the native tools. + ;; They are built with --disable-freetype, which was made a + ;; hard error in 9.51, causing a build failure because a + ;; native freetype is not detected. Just ignore the check + ;; because it's not needed for these auxiliary tools. + (substitute* "configure" + (("as_fn_error \\$\\? \"(No usable Freetype.*found)\".*" all msg) + (string-append "$as_echo \"$as_me:${as_lineno-$LINENO}: " + "WARNING: " msg "\"\n"))) + #t)) + (add-after 'configure 'add-native-lz (lambda _ ;; Add missing '-lz' for native tools such as 'mkromfs'. (substitute* "Makefile" diff --git a/gnu/packages/patches/ghostscript-CVE-2019-14869.patch b/gnu/packages/patches/ghostscript-CVE-2019-14869.patch deleted file mode 100644 index d80fba0594..0000000000 --- a/gnu/packages/patches/ghostscript-CVE-2019-14869.patch +++ /dev/null @@ -1,48 +0,0 @@ -Fix CVE-2019-14869: - -https://nvd.nist.gov/vuln/detail/CVE-2019-14869 - -Patch taken from upstream: - -https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=485904772c5f0aa1140032746e5a0abfc40f4cef - -diff --git a/Resource/Init/gs_ttf.ps b/Resource/Init/gs_ttf.ps -index 74043d1..6be8fe9 100644 ---- a/Resource/Init/gs_ttf.ps -+++ b/Resource/Init/gs_ttf.ps -@@ -1304,7 +1304,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef - TTFDEBUG { (\n1 setting alias: ) print dup ==only - ( to be the same as ) print 2 index //== exec } if - -- 7 index 2 index 3 -1 roll exch .forceput -+ 7 index 2 index 3 -1 roll exch put - } forall - pop pop pop - } -@@ -1322,7 +1322,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef - exch pop - TTFDEBUG { (\n2 setting alias: ) print 1 index ==only - ( to use glyph index: ) print dup //== exec } if -- 5 index 3 1 roll .forceput -+ 5 index 3 1 roll put - //false - } - { -@@ -1339,7 +1339,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef - { % CharStrings(dict) isunicode(boolean) cmap(dict) RAGL(dict) gname(name) codep(integer) gindex(integer) - TTFDEBUG { (\3 nsetting alias: ) print 1 index ==only - ( to be index: ) print dup //== exec } if -- exch pop 5 index 3 1 roll .forceput -+ exch pop 5 index 3 1 roll put - } - { - pop pop -@@ -1369,7 +1369,7 @@ currentdict /.pickcmap_with_no_xlatmap .undef - } ifelse - ] - TTFDEBUG { (Encoding: ) print dup === flush } if --} .bind executeonly odef % hides .forceput -+} .bind odef - - % ---------------- CIDFontType 2 font loading ---------------- % - diff --git a/gnu/packages/patches/ghostscript-no-header-uuid.patch b/gnu/packages/patches/ghostscript-no-header-uuid.patch index 473531220c..f4b55764c8 100644 --- a/gnu/packages/patches/ghostscript-no-header-uuid.patch +++ b/gnu/packages/patches/ghostscript-no-header-uuid.patch @@ -11,7 +11,7 @@ See: https://bugs.ghostscript.com/show_bug.cgi?id=698208 diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c aa/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c --- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c 2017-07-09 23:30:28.960479189 +0200 +++ gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c 2017-07-10 01:04:12.252478276 +0200 -@@ -617,7 +617,7 @@ +@@ -620,7 +620,7 @@ return code; /* PDF/A XMP reference recommends setting UUID to empty. If not empty must be a URI */ @@ -20,13 +20,12 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c aa/gnu-ghostscrip instance_uuid[0] = 0x00; cre_date_time_len = pdf_get_docinfo_item(pdev, "/CreationDate", cre_date_time, sizeof(cre_date_time)); -@@ -719,15 +719,18 @@ +@@ -720,14 +720,17 @@ pdf_xml_tag_close(s, "rdf:Description"); pdf_xml_newline(s); - pdf_xml_tag_open_beg(s, "rdf:Description"); -- pdf_xml_attribute_name(s, "rdf:about"); -- pdf_xml_attribute_value(s, instance_uuid); +- pdf_xml_copy(s, " rdf:about=\"\""); - pdf_xml_attribute_name(s, "xmlns:xapMM"); - pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/mm/"); - pdf_xml_attribute_name(s, "xapMM:DocumentID"); @@ -36,8 +35,7 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c aa/gnu-ghostscrip + if (!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 && strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0)) + { + pdf_xml_tag_open_beg(s, "rdf:Description"); -+ pdf_xml_attribute_name(s, "rdf:about"); -+ pdf_xml_attribute_value(s, instance_uuid); ++ pdf_xml_copy(s, " rdf:about=\"\""); + pdf_xml_attribute_name(s, "xmlns:xapMM"); + pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/mm/"); + pdf_xml_attribute_name(s, "xapMM:DocumentID"); @@ -47,4 +45,4 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdfe.c aa/gnu-ghostscrip + } pdf_xml_tag_open_beg(s, "rdf:Description"); - pdf_xml_attribute_name(s, "rdf:about"); + pdf_xml_copy(s, " rdf:about=\"\""); -- cgit 1.4.1 From ef4c5a413e099e58ccfddff1586d941b7c3ab2df Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 01:23:58 +0100 Subject: gnu: gimp: Do not run gtk-update-icon-cache during the build process. * gnu/packages/gimp.scm (gimp)[arguments]: Add "ac_cv_path_GTK_UPDATE_ICON_CACHE" in #:configure-flags. --- gnu/packages/gimp.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 8aa69da7c3..9ff380e167 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari ;;; Copyright © 2018 Thorsten Wilms +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -151,6 +152,10 @@ buffers.") (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") "/share/gtk-doc/html") + ;; Prevent the build system from running 'gtk-update-icon-cache' + ;; which is not needed during the build because Guix runs it at + ;; profile creation time. + "ac_cv_path_GTK_UPDATE_ICON_CACHE=true" ;; ./configure requests not to annoy upstream with packaging bugs. "--with-bug-report-url=https://bugs.gnu.org/guix") #:phases -- cgit 1.4.1 From 75ca2cdaff06b125b39a4f71499efcb73aa94b6c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 01:24:41 +0100 Subject: gnu: innoextract: Fix build failure with recent Boost and CMake. * gnu/packages/compression.scm (innoextract)[arguments]: Add #:configure-flags to prevent usage of Boost's CMake scripts. While at it, remove the obsolete #:phases. --- gnu/packages/compression.scm | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index c3b5632cba..0dec28940b 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1781,17 +1781,7 @@ single-member files which can't be decompressed in parallel.") (build-system cmake-build-system) (arguments `(#:tests? #f - #:phases (modify-phases %standard-phases - (add-before 'configure 'glibc-is-already-a-system-library - (lambda _ - ;; Prevent the build system from passing the glibc - ;; header files to GCC as "system headers", because - ;; it conflicts with the system headers already known - ;; to GCC, causing #include_next failures. - (substitute* "CMakeLists.txt" - (("include_directories\\(SYSTEM \\$\\{iconv") - "include_directories(${iconv")) - #t))))) + #:configure-flags '("-DBoost_NO_BOOST_CMAKE=ON"))) (inputs `(("boost" ,boost) ("libiconv" ,libiconv) ("xz" ,xz))) -- cgit 1.4.1 From 641b9c51b7f21ecf7e3eeca6d3c2c0ceb14c9027 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 01:25:08 +0100 Subject: gnu: log4cpp: Fix build with glibc 2.31. * gnu/packages/logging.scm (log4cpp)[arguments]: New field. --- gnu/packages/logging.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index d75c44aea6..86ebee35cd 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Gábor Boskovits ;;; Copyright © 2019 Meiyo Peng +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,17 @@ (base32 "07gmr3jyaf2239n9sp6h7hwdz1pv7b7aka8n06gmr2fnlmaymfrc")))) (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'do-not-call-stime + (lambda _ + ;; Patch out use of 'stime' which was removed from glibc 2.31. + ;; The test would not work in the build container anyway. + (substitute* "tests/testDailyRollingFileAppender.cpp" + (("if \\(stime\\(&now\\) == -1\\)") + "if (1)")) + #t))))) (synopsis "Log library for C++") (description "Log4cpp is library of C++ classes for flexible logging to files, syslog, -- cgit 1.4.1 From e59d958a9c9a509ce34ca553a5b1b03e406d561f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 12:00:56 +0100 Subject: gnu: mit-krb5: Fix segfault in gsasl test suite. * gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/kerberos.scm (mit-krb5)[source](patches): New field. --- gnu/local.mk | 1 + gnu/packages/kerberos.scm | 1 + .../patches/mit-krb5-qualify-short-hostnames.patch | 29 ++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch diff --git a/gnu/local.mk b/gnu/local.mk index ebb6b859b3..2ccffb333a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1187,6 +1187,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ %D%/packages/patches/minisat-friend-declaration.patch \ %D%/packages/patches/minisat-install.patch \ + %D%/packages/patches/mit-krb5-qualify-short-hostnames.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index af3a0d18b2..0e290c0d46 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -60,6 +60,7 @@ (string-append "https://kerberos.org/dist/krb5/" (version-major+minor version) "/krb5-" version ".tar.gz"))) + (patches (search-patches "mit-krb5-qualify-short-hostnames.patch")) (sha256 (base32 "121c5xsy3x0i4wdkrpw62yhvji6virbh6n30ypazkp0isws3k4bk")))) diff --git a/gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch b/gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch new file mode 100644 index 0000000000..491a358731 --- /dev/null +++ b/gnu/packages/patches/mit-krb5-qualify-short-hostnames.patch @@ -0,0 +1,29 @@ +Fix a null pointer dereference when no DNS search path is configured. +This showed up as a segfault while running the gsasl test suite. + +Taken from upstream: +https://github.com/krb5/krb5/commit/cd82bf377e7fad2409c76bf8b241920692f34fda + +diff --git a/src/lib/krb5/os/dnsglue.c b/src/lib/krb5/os/dnsglue.c +index e35ca9d76c..0cd213fdd7 100644 +--- a/src/lib/krb5/os/dnsglue.c ++++ b/src/lib/krb5/os/dnsglue.c +@@ -91,7 +91,7 @@ static int initparse(struct krb5int_dns_state *); + #define DECLARE_HANDLE(h) struct __res_state h + #define INIT_HANDLE(h) (memset(&h, 0, sizeof(h)), res_ninit(&h) == 0) + #define SEARCH(h, n, c, t, a, l) res_nsearch(&h, n, c, t, a, l) +-#define PRIMARY_DOMAIN(h) strdup(h.dnsrch[0]) ++#define PRIMARY_DOMAIN(h) ((h.dnsrch[0] == NULL) ? NULL : strdup(h.dnsrch[0])) + #if HAVE_RES_NDESTROY + #define DESTROY_HANDLE(h) res_ndestroy(&h) + #else +@@ -104,7 +104,8 @@ static int initparse(struct krb5int_dns_state *); + #define DECLARE_HANDLE(h) + #define INIT_HANDLE(h) (res_init() == 0) + #define SEARCH(h, n, c, t, a, l) res_search(n, c, t, a, l) +-#define PRIMARY_DOMAIN(h) strdup(_res.defdname) ++#define PRIMARY_DOMAIN(h) \ ++ ((_res.defdname == NULL) ? NULL : strdup(_res.defdname)) + #define DESTROY_HANDLE(h) + + #endif -- cgit 1.4.1 From 7cf79d7a51ff5dde4fc430fab2296b5f7de08953 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 12:01:23 +0100 Subject: gnu: kiki: Adjust for CPLUS_INCLUDE_PATH change. * gnu/packages/games.scm (kiki)[arguments]: Prepend to CPLUS_INCLUDE_PATH instead of overriding it. --- gnu/packages/games.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 43199d2850..224ab7fb2d 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4525,7 +4525,8 @@ over 100 user-created campaigns.") (string-append (assoc-ref inputs "sdl-union") "/include/SDL:" (assoc-ref inputs "python") - "/include/python2.7")) + "/include/python2.7:" + (or (getenv "CPLUS_INCLUDE_PATH") ""))) (substitute* "src/main/main.cpp" (("#include " line) (string-append line " -- cgit 1.4.1 From f77ab2abdfd55a38fcbb0e8ebcc4871ab4986bdc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 13:18:23 +0100 Subject: gnu: bluez: Incorporate grafted changes. * gnu/packages/linux.scm (bluez)[replacement]: Remove. [source](patches): New field. (bluez/fixed): Remove variable. --- gnu/packages/linux.scm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index acfee1ac02..04788d2f8a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4079,13 +4079,13 @@ Bluetooth audio output devices like headphones or loudspeakers.") (define-public bluez (package (name "bluez") - (replacement bluez/fixed) (version "5.53") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/bluetooth/bluez-" version ".tar.xz")) + (patches (search-patches "bluez-CVE-2020-0556.patch")) (sha256 (base32 "1g1qg6dz6hl3csrmz75ixr12lwv836hq3ckb259svvrg62l2vaiq")))) @@ -4145,14 +4145,6 @@ Bluetooth audio output devices like headphones or loudspeakers.") is flexible, efficient and uses a modular implementation.") (license license:gpl2+))) -(define bluez/fixed - (package - (inherit bluez) - (source (origin - (inherit (package-source bluez)) - (patches (append (origin-patches (package-source bluez)) - (search-patches "bluez-CVE-2020-0556.patch"))))))) - (define-public fuse-exfat (package (name "fuse-exfat") -- cgit 1.4.1 From d594963856690f1aacf228c8a83e406d33bc44ce Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Mar 2020 13:19:06 +0100 Subject: gnu: eudev: Remove bugfix variant. * gnu/packages/linux.scm (eudev/btrfs-fix): Remove variable. (eudev)[arguments]: Add phase patch-bindir-in-btrfs-rules. * gnu/services/base.scm (, udev-service): Refer to EUDEV instead of EUDEV/BTRFS-FIX. --- gnu/packages/linux.scm | 30 ++++++++++-------------------- gnu/services/base.scm | 4 ++-- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 04788d2f8a..b0600642d5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2871,6 +2871,16 @@ to the in-kernel OOM killer.") (or native-inputs inputs) "xsltproc") "/bin/xsltproc"))) #t)) + (add-before 'configure 'patch-bindir-in-btrfs-rules + (lambda* (#:key outputs #:allow-other-keys) + ;; The "@bindir@" substitution incorrectly expands to a literal + ;; "${exec_prefix}" (see ). Work + ;; around it. + (let ((out (assoc-ref outputs "out"))) + (substitute* "rules/64-btrfs.rules.in" + (("@bindir@") + (string-append out "/bin"))) + #t))) (add-after 'install 'move-static-library (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -2927,26 +2937,6 @@ device nodes from /dev/, handles hotplug events and loads drivers at boot time.") (license license:gpl2+))) -;; TODO: Merge with eudev on the next rebuild cycle. -(define-public eudev/btrfs-fix - (package/inherit - eudev - (version (string-append (package-version eudev) "-1")) - (arguments - (substitute-keyword-arguments (package-arguments eudev) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'configure 'patch-bindir-in-btrfs-rules - (lambda* (#:key outputs #:allow-other-keys) - ;; The "@bindir@" substitution incorrectly expands to a literal - ;; "${exec_prefix}" (see ). Work - ;; around it. - (let ((out (assoc-ref outputs "out"))) - (substitute* "rules/64-btrfs.rules.in" - (("@bindir@") - (string-append out "/bin"))) - #t))))))))) - (define-public eudev-with-hwdb (deprecated-package "eudev-with-hwdb" eudev)) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index ceb6374bfc..b39d0f6610 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1918,7 +1918,7 @@ archive}). If that is not the case, the service will fail to start." udev-configuration make-udev-configuration udev-configuration? (udev udev-configuration-udev ; - (default eudev/btrfs-fix)) + (default eudev)) (rules udev-configuration-rules ;list of (default '()))) @@ -2116,7 +2116,7 @@ the udev rules in use.") directory dynamically. Get extra rules from the packages listed in the @code{rules} field of its value, @code{udev-configuration} object."))) -(define* (udev-service #:key (udev eudev/btrfs-fix) (rules '())) +(define* (udev-service #:key (udev eudev) (rules '())) "Run @var{udev}, which populates the @file{/dev} directory dynamically. Get extra rules from the packages listed in @var{rules}." (service udev-service-type -- cgit 1.4.1 From 56c833ea287f8f6d3c72f8bddc314960c0164d64 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 15 Mar 2020 16:03:16 +0100 Subject: gnu: gcc@4.9, gcc@5: Adjust for CPLUS_INCLUDE_PATH changes. * gnu/packages/gcc.scm (gcc-4.9): Unless cross-compiling, add ... [arguments]: with a phase to remove glibc and GCC from CPLUS_INCLUDE_PATH. (gcc-6)[arguments]: Inherit from GCC-4.8. --- gnu/packages/gcc.scm | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 6f2883042d..0b203d5d71 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -422,7 +422,33 @@ Go. It also includes runtime support libraries for these languages.") #t)))) ;; Override inherited texinfo-5 with latest version. (native-inputs `(("perl" ,perl) ;for manpages - ("texinfo" ,texinfo))))) + ("texinfo" ,texinfo))) + (arguments + (if (%current-target-system) + (package-arguments gcc-4.8) + ;; For native builds of GCC 4.9 and GCC 5, the C++ include path needs + ;; to be adjusted so it does not interfere with GCC's own build processes. + (substitute-keyword-arguments (package-arguments gcc-4.8) + ((#:modules modules %gnu-build-system-modules) + `((srfi srfi-1) + ,@modules)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (assoc-ref inputs "libc")) + (gcc (assoc-ref inputs "gcc"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join (fold delete + (string-split (getenv "CPLUS_INCLUDE_PATH") + #\:) + (list (string-append libc "/include") + (string-append gcc "/include/c++"))) + ":")) + (format #t + "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%" + (getenv "CPLUS_INCLUDE_PATH")) + #t)))))))))) (define-public gcc-5 ;; Note: GCC >= 5 ships with .info files but 'make install' fails to install @@ -479,6 +505,10 @@ Go. It also includes runtime support libraries for these languages.") "gcc-6-source-date-epoch-1.patch" "gcc-6-source-date-epoch-2.patch" "gcc-5.0-libvtv-runpath.patch")))) + + ;; GCC 4.9 and 5 has a workaround that is not needed for GCC 6 and later. + (arguments (package-arguments gcc-4.8)) + (inputs `(("isl" ,isl) ,@(package-inputs gcc-4.7))))) -- cgit 1.4.1 From f42bfc7a99b1e152cd014fca069083527f10665c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 15 Mar 2020 16:04:53 +0100 Subject: gnu: clang: Switch to 'C_INCLUDE_PATH' & co. * gnu/packages/llvm.scm (clang-from-llvm)[native-search-paths]: Remove "CPATH", and add "C_INCLUDE_PATH" and "CPLUS_INCLUDE_PATH". --- gnu/packages/llvm.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 1286fe521b..3909039f3e 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -339,8 +339,11 @@ compiler. In LLVM this library is called \"compiler-rt\".") ;; Clang supports the same environment variables as GCC. (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"))))) -- cgit 1.4.1 From 40a461fd97fb865987e4f6cc41fee6ee6408851d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 15 Mar 2020 16:08:06 +0100 Subject: gnu: libcxx: Hide GCC's C++ headers during the build process. * gnu/packages/llvm.scm (libcxx)[arguments]: New field. --- gnu/packages/llvm.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 3909039f3e..ef273e3ef6 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -671,6 +671,23 @@ output), and Binutils.") (base32 "0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089")))) (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases (@ (guix build cmake-build-system) %standard-phases) + (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + ;; Hide GCC's C++ headers so that they do not interfere with + ;; the ones we are attempting to build. + (setenv "CPLUS_INCLUDE_PATH" + (string-join (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") + #\:)) + ":")) + (format #t + "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%" + (getenv "CPLUS_INCLUDE_PATH")) + #t)))))) (native-inputs `(("clang" ,clang) ("llvm" ,llvm))) -- cgit 1.4.1 From d8f78f54489eae44ffbee3f2af7bbc130e8c0c72 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Mar 2020 15:31:58 +0100 Subject: gnu: ld-wrapper: Use _IOLBF on Guile 2.0 only. * gnu/packages/base.scm (make-ld-wrapper)[arguments]: Wrap use of '_IOLBF' in 'cond-expand' and use 'line instead on Guile > 2.0. --- gnu/packages/base.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index d74d304de1..196106fa29 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -546,7 +546,9 @@ wrapper for the cross-linker for that target, called 'TARGET-ld'." '(string-append bin "/ld"))) (go (string-append ld ".go"))) - (setvbuf (current-output-port) _IOLBF) + (setvbuf (current-output-port) + (cond-expand (guile-2.0 _IOLBF) + (else 'line))) (format #t "building ~s/bin/ld wrapper in ~s~%" (assoc-ref %build-inputs "binutils") out) -- cgit 1.4.1 From b6bee63bed4f013064c0d902e7c8b83ed7514ade Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 23 Feb 2020 00:20:30 +0100 Subject: gnu: Default to Guile 3.0. This patch changes three things: 1. package derivations are built using Guile 3.0; 2. 'gexp->derivation' defaults to Guile 3.0; 3. "guile3.0-" packages are deprecated aliases for the regular package, which now depends on Guile 3.0; "guile2.2-" packages are introduced; "guile-next" is renamed to "guile". * gnu/packages/guile.scm (guile-2.0/fixed): Remove. (guile-3.0/fixed): New variable. (package-for-guile-3.0): Remove. (package-for-guile-2.2): New variable. (define-deprecated-guile3.0-package): New macro. (guile-3.0)[name]: Change to "guile". (guile-json-3)[native-inputs, inputs]: New fields. (guile2.2-json): New variable. (guile3.0-json): Deprecate. (guile-gdbm-ffi)[native-inputs]: Switch to GUILE-3.0. (guile2.2-gdbm-ffi): New variable. (guile3.0-gdbm-ffi): Deprecate. (guile-sqlite3): Switch to GUILE-3.0. (guile2.2-sqlite3): New variable. (guile3.0-sqlite3): Deprecate. (guile-bytestructures): Switch to GUILE-3.0. (guile2.2-bytestructures): New variable. (guile3.0-bytestructures): Deprecate. (guile-git): Switch to GUILE-3.0. (guile2.2-git): New variable. (guile3.0-git): Deprecate. (guile-2.2/bug-fix): * gnu/packages/ci.scm (cuirass): Switch to GUILE-3.0. * gnu/packages/emacs-xyz.scm (emacs-guix): Switch to GUILE-3.0. * gnu/packages/gtk.scm (guile-cairo)[arguments]: New field. Switch to GUILE-3.0. (guile2.2-cairo): New variable. (guile3.0-cairo): Deprecate. (guile-rsvg): Switch to GUILE-3.0. (guile2.2-cairo): New variable. (guile3.0-cairo): Deprecate. (guile-present): Switch to GUILE-3.0. (guile2.2-present): New variable. (guile3.0-present): Deprecate. (guile-gnome)[propagated-inputs]: Use GUILE2.2-CAIRO and GUILE2.2-LIB. * gnu/packages/guile-xyz.scm (guile-fibers)[arguments]: Add #:configure-flags. Switch to GUILE-3.0. (guile2.2-fibers): New variable. (guile3.0-fibers): Deprecate. (guile-syntax-highlight): Switch to GUILE-3.0. (guile2.2-syntax-highlight): New variable. (guile3.0-syntax-highlight): Deprecate. (guile-colorized): Switch to GUILE-3.0. (guile2.2-colorized): New variable. (guile3.0-colorized): Deprecate. (guile-pfds): Switch to GUILE-3.0. (guile2.2-pfds): New variable. (guile3.0-pfds): Deprecate. (guile-simple-zmq): Switch to GUILE-3.0. (guile2.2-simple-zmq): New variable. (guile3.0-simple-zmq): Deprecate. (guile-newt): Switch to GUILE-3.0. (guile2.2-newt): New variable. (guile3.0-newt): Deprecate. (guile-parted): Switch to GUILE-3.0. (guile2.2-parted): New variable. (guile3.0-parted): Deprecate. (guile-config): Switch to GUILE-3.0. (guile2.2-config): New variable. (guile3.0-config): Deprecate. (guile-hall): Switch to GUILE-3.0. (guile2.2-hall): New variable. (guile3.0-hall): Deprecate. (guile-ics): Switch to GUILE-3.0. (guile2.2-ics): New variable. (guile3.0-ics): Deprecate. (guile-wisp)[arguments]: Add 'support-guile-3.0' phase. Switch to GUILE-3.0. (guile2.2-wisp): New variable. (guile3.0-wisp): Deprecate. (guile-lib): Switch to GUILE-3.0. (guile2.2-lib): New variable. (guile3.0-lib): Deprecate. (guile-minikanren): Switch to GUILE-3.0. (guile2.2-minikanren): New variable. (guile3.0-minikanren): Deprecate. (guile-irregex): Switch to GUILE-3.0. (guile2.2-irregex): New variable. (guile3.0-irregex): Deprecate. (haunt): Switch to GUILE-3.0, and remove GUILE-READER. (guile2.2-haunt): New variable. (guile3.0-haunt): Deprecate. (guile-commonmark): Switch to GUILE-3.0. (guile2.2-commonmark): New variable. (guile3.0-commonmark): Deprecate. (mcron): Switch to GUILE-3.0. (guile2.0-mcron): New variable. (guile3.0-mcron): Deprecate. (guile-picture-language): Switch to GUILE-3.0. (guile2.2-picture-language): New variable. (guile3.0-picture-language): Deprecate. (guile-gi): Switch to GUILE-3.0. (guile2.2-gi): New variable. (guile3.0-gi): Deprecate. (guile-hashing): Switch to GUILE-3.0. (guile2.2-hashing): New variable. (guile3.0-hashing): Deprecate. * gnu/packages/package-management.scm (guix): Switch to GUILE-3.0. (guile2.2-guix): New variable. (guile3.0-guix): Deprecate. (gwl): Replace "guile3.0-" with "guile-". (guix-jupyter)[source]: Adjust for Guile 3.0. Switch to GUILE-3.0. * gnu/packages/ssh.scm (guile-ssh): Switch to GUILE-3.0. (guile2.2-ssh): New variable. (guile3.0-ssh): Deprecate. * gnu/packages/admin.scm (shepherd): Switch to GUILE-3.0. (guile2.2-shepherd): New variable. (guile3.0-shepherd): Deprecate. * gnu/packages/mail.scm (mailutils): Switch to GUILE-3.0. (guile2.2-mailutils): New variable. (guile3.0-mailutils): Deprecate. * gnu/packages/plotutils.scm (guile-charting): Switch to GUILE-3.0. (guile2.2-charting): New variable. (guile3.0-charting): Deprecate. * gnu/packages/version-control.scm (libgit2): Switch to GUILE-3.0. * gnu/packages/vpn.scm (vpnc-scripts): Switch to GUILE-3.0. * gnu/packages/web.scm (guix-data-service): Switch to GUILE-3.0. (hpcguix-web): Switch to GUILE-3.0. * guix/self.scm (specification->package): Refer to the "guile-" variants instead of "guile3.0-". * guix/gexp.scm (default-guile): Change to GUILE-3.0. * build-aux/build-self.scm (build): #:guile-version defaults to "3.0". * gnu/packages/commencement.scm (guile-final): Base on GUILE-3.0/FIXED. --- build-aux/build-self.scm | 4 +- gnu/packages/admin.scm | 15 +- gnu/packages/ci.scm | 2 +- gnu/packages/commencement.scm | 2 +- gnu/packages/emacs-xyz.scm | 4 +- gnu/packages/gnupg.scm | 16 +-- gnu/packages/gtk.scm | 59 ++++---- gnu/packages/guile-xyz.scm | 269 ++++++++++++++++++++++-------------- gnu/packages/guile.scm | 96 +++++++++---- gnu/packages/mail.scm | 11 +- gnu/packages/package-management.scm | 63 +++++---- gnu/packages/plotutils.scm | 13 +- gnu/packages/ssh.scm | 15 +- gnu/packages/version-control.scm | 2 +- gnu/packages/vpn.scm | 4 +- gnu/packages/web.scm | 2 +- guix/gexp.scm | 4 +- guix/self.scm | 10 +- 18 files changed, 358 insertions(+), 233 deletions(-) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index f2e785b7f1..b30adfeb9f 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -383,11 +383,11 @@ interface (FFI) of Guile.") #:key verbose? (version (date-version-string)) system (pull-version 0) - ;; For the standalone Guix, default to Guile 2.2. For old + ;; For the standalone Guix, default to Guile 3.0. For old ;; versions of 'guix pull' (pre-0.15.0), we have to use the ;; same Guile as the current one. (guile-version (if (> pull-version 0) - "2.2" + "3.0" (effective-version))) #:allow-other-keys diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 63ee6dd53f..90252fc413 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -211,10 +211,10 @@ and provides a \"top-like\" mode (monitoring).") `(("pkg-config" ,pkg-config) ;; This is the Guile we use as a cross-compiler... - ("guile" ,guile-2.2))) + ("guile" ,guile-3.0))) (inputs ;; ... and this is the one that appears in shebangs when cross-compiling. - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ;; The 'shepherd' command uses Readline when used interactively. It's ;; an unusual use case though, so we don't propagate it. @@ -228,15 +228,18 @@ interface and is based on GNU Guile.") (license license:gpl3+) (home-page "https://www.gnu.org/software/shepherd/"))) -(define-public guile3.0-shepherd +(define-public guile2.2-shepherd (package (inherit shepherd) - (name "guile3.0-shepherd") + (name "guile2.2-shepherd") (native-inputs `(("pkg-config" ,pkg-config) - ("guile" ,guile-next))) + ("guile" ,guile-2.2))) (inputs - `(("guile" ,guile-next))))) + `(("guile" ,guile-2.2))))) + +(define-public guile3.0-shepherd + (deprecated-package "guile3.0-shepherd" shepherd)) (define-public cloud-utils (package diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 24de11b713..a5474e0a96 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -120,7 +120,7 @@ `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs))) #t)))))) (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ("guile-fibers" ,guile-fibers) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-3) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index cebb4b5a68..65797af244 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3589,7 +3589,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; This package must be public because other modules refer to it. However, ;; mark it as hidden so that 'fold-packages' ignores it. (with-boot4 (hidden-package - (package-with-bootstrap-guile guile-2.2/fixed)))) + (package-with-bootstrap-guile guile-3.0/fixed)))) (define glibc-utf8-locales-final ;; Now that we have GUILE-FINAL, build the UTF-8 locales. They are needed diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e2b067e1dc..092bb6f2a0 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost ;;; Copyright © 2015 Federico Beffa @@ -2207,7 +2207,7 @@ type, for example: packages, buffers, files, etc.") `(("pkg-config" ,pkg-config) ("emacs" ,emacs-minimal))) (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ("guix" ,guix))) (propagated-inputs `(("geiser" ,emacs-geiser) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 5d389d165c..9b6019007e 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013, 2015, 2018 Andreas Enge ;;; Copyright © 2014, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Mark H Weaver @@ -493,7 +493,7 @@ gpgpme starting with version 1.7.") ("texinfo" ,texinfo) ("guile" ,guile-2.2))) (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ("libgcrypt" ,libgcrypt))) (synopsis "Cryptography library for Guile using Libgcrypt") (description @@ -514,17 +514,17 @@ interface (FFI) of Guile.") `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-inputs guile-gcrypt)))))) -(define-public guile3.0-gcrypt +(define-public guile2.2-gcrypt (package (inherit guile-gcrypt) - (name "guile3.0-gcrypt") - (native-inputs - `(("guile" ,guile-next) - ,@(alist-delete "guile" (package-native-inputs guile-gcrypt)))) + (name "guile2.2-gcrypt") (inputs - `(("guile" ,guile-next) + `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs guile-gcrypt)))))) +(define-public guile3.0-gcrypt + (deprecated-package "guile3.0-gcrypt" guile-gcrypt)) + (define-public python-gpg (package (name "python-gpg") diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 76766a1b1f..10173bf124 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -875,10 +875,14 @@ application suites.") "#include \n#include \n")) #t))))) (build-system gnu-build-system) + (arguments + ;; Uses of 'scm_t_uint8' & co. are deprecated; don't stop the build + ;; because of them. + '(#:configure-flags '("--disable-Werror"))) (inputs `(("guile-lib" ,guile-lib) ("expat" ,expat) - ("guile" ,guile-2.2))) + ("guile" ,guile-3.0))) (propagated-inputs ;; The .pc file refers to 'cairo'. `(("cairo" ,cairo))) @@ -895,22 +899,19 @@ graphics library with all of the benefits of Scheme: memory management, exceptions, macros, and a dynamic programming environment.") (license license:lgpl3+))) -(define-public guile3.0-cairo +(define-public guile2.2-cairo (package (inherit guile-cairo) - (name "guile3.0-cairo") - (arguments - (substitute-keyword-arguments (package-arguments guile-cairo) - ((#:configure-flags flags ''()) - ;; Uses of 'scm_t_uint8' & co. are deprecated; don't stop the build - ;; because of them. - `(cons "--disable-Werror" ,flags)))) + (name "guile2.2-cairo") (inputs - `(("guile" ,guile-3.0) - ("guile-lib" ,guile3.0-lib) + `(("guile" ,guile-2.2) + ("guile-lib" ,guile2.2-lib) ,@(fold alist-delete (package-inputs guile-cairo) '("guile" "guile-lib")))))) +(define-public guile3.0-cairo + (deprecated-package "guile3.0-cairo" guile-cairo)) + (define-public guile-rsvg ;; Use a recent snapshot that supports Guile 2.2 and beyond. (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678") @@ -947,7 +948,7 @@ exceptions, macros, and a dynamic programming environment.") ("automake" ,automake) ("libtool" ,libtool) ("texinfo" ,texinfo))) - (inputs `(("guile" ,guile-2.2) + (inputs `(("guile" ,guile-3.0) ("librsvg" ,librsvg) ("guile-lib" ,guile-lib))) ;for (unit-test) (propagated-inputs `(("guile-cairo" ,guile-cairo))) @@ -958,16 +959,19 @@ images onto Cairo surfaces.") (home-page "http://wingolog.org/projects/guile-rsvg/") (license license:lgpl2.1+)))) -(define-public guile3.0-rsvg +(define-public guile2.2-rsvg (package (inherit guile-rsvg) - (name "guile3.0-rsvg") + (name "guile2.2-rsvg") (inputs - `(("guile" ,guile-3.0) - ("guile-lib" ,guile3.0-lib) + `(("guile" ,guile-2.2) + ("guile-lib" ,guile2.2-lib) ,@(fold alist-delete (package-inputs guile-rsvg) '("guile" "guile-lib")))) - (propagated-inputs `(("guile-cairo" ,guile3.0-cairo))))) + (propagated-inputs `(("guile-cairo" ,guile2.2-cairo))))) + +(define-public guile3.0-rsvg + (deprecated-package "guile3.0-rsvg" guile-rsvg)) (define-public guile-present (package @@ -1013,7 +1017,7 @@ images onto Cairo surfaces.") out "/lib/guile/" version "/site-ccache ")))) #t))))) (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.2))) + (inputs `(("guile" ,guile-3.0))) (propagated-inputs ;; These are used by the (present …) modules. `(("guile-lib" ,guile-lib) @@ -1029,15 +1033,18 @@ includes a tools to generate PDF presentations out of Org mode and Texinfo documents.") (license license:lgpl3+))) -(define-public guile3.0-present +(define-public guile2.2-present (package (inherit guile-present) - (name "guile3.0-present") - (inputs `(("guile" ,guile-3.0))) + (name "guile2.2-present") + (inputs `(("guile" ,guile-2.2))) (propagated-inputs - `(("guile-lib" ,guile3.0-lib) - ("guile-cairo" ,guile3.0-cairo) - ("guile-rsvg" ,guile3.0-rsvg))))) + `(("guile-lib" ,guile2.2-lib) + ("guile-cairo" ,guile2.2-cairo) + ("guile-rsvg" ,guile2.2-rsvg))))) + +(define-public guile3.0-present + (deprecated-package "guile3.0-present" guile-present)) (define-public guile-gnome (package @@ -1072,9 +1079,9 @@ documents.") ("glib" ,glib))) (inputs `(("guile" ,guile-2.2))) (propagated-inputs - `(("guile-cairo" ,guile-cairo) + `(("guile-cairo" ,guile2.2-cairo) ("g-wrap" ,g-wrap) - ("guile-lib" ,guile-lib))) + ("guile-lib" ,guile2.2-lib))) (arguments `(#:tests? #f ;FIXME #:phases (modify-phases %standard-phases diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 9f8173657e..0ee712b6f5 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -523,7 +523,9 @@ Unix-style DSV format and RFC 4180 format.") #t)))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + '(;; The code uses 'scm_t_uint64' et al., which are deprecated in 3.0. + #:configure-flags '("CFLAGS=-Wno-error=deprecated-declarations") + #:phases (modify-phases %standard-phases (add-after 'install 'mode-guile-objects (lambda* (#:key outputs #:allow-other-keys) ;; .go files are installed to "lib/guile/X.Y/cache". @@ -540,7 +542,7 @@ Unix-style DSV format and RFC 4180 format.") `(("texinfo" ,texinfo) ("pkg-config" ,pkg-config))) (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (synopsis "Lightweight concurrency facility for Guile") (description "Fibers is a Guile library that implements a a lightweight concurrency @@ -556,15 +558,14 @@ is not available for Guile 2.0.") (home-page "https://github.com/wingo/fibers") (license license:lgpl3+))) -(define-public guile3.0-fibers +(define-public guile2.0-fibers (package (inherit guile-fibers) - (name "guile3.0-fibers") - (arguments - ;; The code uses 'scm_t_uint64' et al., which are deprecated in 3.0. - `(#:configure-flags '("CFLAGS=-Wno-error=deprecated-declarations") - ,@(package-arguments guile-fibers))) - (inputs `(("guile" ,guile-3.0))))) + (name "guile2.2-fibers") + (inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-fibers + (deprecated-package "guile3.0-fibers" guile-fibers)) (define-public guile-syntax-highlight (package @@ -591,7 +592,7 @@ is not available for Guile 2.0.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (synopsis "General-purpose syntax highlighter for GNU Guile") (description "Guile-syntax-highlight is a general-purpose syntax highlighting library for GNU Guile. It can parse code written in various @@ -600,11 +601,14 @@ HTML (via SXML) or any other format for rendering.") (home-page "http://dthompson.us/projects/guile-syntax-highlight.html") (license license:lgpl3+))) -(define-public guile3.0-syntax-highlight +(define-public guile2.2-syntax-highlight (package (inherit guile-syntax-highlight) - (name "guile3.0-syntax-highlight") - (inputs `(("guile" ,guile-3.0))))) + (name "guile2.2-syntax-highlight") + (inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-syntax-highlight + (deprecated-package "guile3.0-syntax-highlight" guile-syntax-highlight)) (define-public guile-sjson (package @@ -692,18 +696,21 @@ using Guile's foreign function interface.") (base32 "10mv8c63159r3qvwwdvsgnsvdg7nc2ghak85zapwqpv4ywrqp9zc")))) (build-system guile-build-system) (native-inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (home-page "https://gitlab.com/NalaGinrut/guile-colorized") (synopsis "Colorized REPL for Guile") (description "Guile-colorized provides you with a colorized REPL for GNU Guile.") (license license:gpl3+))) -(define-public guile3.0-colorized +(define-public guile2.2-colorized (package (inherit guile-colorized) - (name "guile3.0-colorized") - (native-inputs `(("guile" ,guile-next))))) + (name "guile2.2-colorized") + (native-inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-colorized + (deprecated-package "guile3.0-colorized" guile-colorized)) (define-public guile-pfds (package @@ -723,6 +730,14 @@ using Guile's foreign function interface.") (arguments '(#:source-directory "src" #:phases (modify-phases %standard-phases + (add-after 'unpack 'work-around-guile-bug + (lambda _ + ;; See bug #39210. + (substitute* '("fingertrees.sls" + "queues/private/condition.sls" + "deques/private/condition.sls") + (("&assertion") "&violation")) + #t)) (add-after 'unpack 'move-files-around (lambda _ ;; Move files under a pfds/ directory to reflect the @@ -756,7 +771,7 @@ using Guile's foreign function interface.") (find-files "." "\\.sls$")) #t))))) (native-inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (synopsis "Purely functional data structures for Guile") (description "This package provides purely functional data structures written in R6RS @@ -777,23 +792,19 @@ Vicare Scheme and IronScheme. Right now it contains: @end itemize\n") (license license:bsd-3))) -(define-public guile3.0-pfds +(define-public guile2.2-pfds (package (inherit guile-pfds) - (name "guile3.0-pfds") - (native-inputs `(("guile" ,guile-3.0))) + (name "guile2.2-pfds") + (native-inputs `(("guile" ,guile-2.2))) (arguments (substitute-keyword-arguments (package-arguments guile-pfds) ((#:phases phases) `(modify-phases ,phases - (add-after 'unpack 'work-around-guile-bug - (lambda _ - ;; See bug #39210. - (substitute* '("fingertrees.sls" - "queues/private/condition.sls" - "deques/private/condition.sls") - (("&assertion") "&violation")) - #t)))))))) + (delete 'work-around-guile-bug))))))) + +(define-public guile3.0-pfds + (deprecated-package "guile3.0-pfds" guile-pfds)) (define-public guile-aa-tree (package @@ -847,7 +858,7 @@ convenient nested tree operations.") (assoc-ref inputs "zeromq")))) #t))))) (native-inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (inputs `(("zeromq" ,zeromq))) (home-page "https://github.com/jerry40/guile-simple-zmq") @@ -857,11 +868,14 @@ convenient nested tree operations.") messaging library.") (license license:gpl3+)))) -(define-public guile3.0-simple-zmq +(define-public guile2.2-simple-zmq (package (inherit guile-simple-zmq) - (name "guile3.0-simple-zmq") - (native-inputs `(("guile" ,guile-next))))) + (name "guile2.2-simple-zmq") + (native-inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-simple-zmq + (deprecated-package "guile3.0-simple-zmq" guile-simple-zmq)) (define-public jupyter-guile-kernel (let ((commit "a7db9245a886e104138474df46c3e88b95cff629") @@ -1068,7 +1082,7 @@ format.") '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ("newt" ,newt))) (native-inputs `(("autoconf" ,autoconf) @@ -1082,13 +1096,16 @@ Scheme by using Guile’s foreign function interface.") (home-page "https://gitlab.com/mothacehe/guile-newt") (license license:gpl3+))) -(define-public guile3.0-newt +(define-public guile2.2-newt (package (inherit guile-newt) - (name "guile3.0-newt") + (name "guile2.2-newt") (inputs `(("guile" ,guile-next) ,@(alist-delete "guile" (package-inputs guile-newt)))))) +(define-public guile3.0-newt + (deprecated-package "guile3.0-newt" guile-newt)) + (define-public guile-mastodon (package (name "guile-mastodon") @@ -1149,7 +1166,7 @@ microblogging service.") '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ("parted" ,parted))) (propagated-inputs `(("guile-bytestructures" ,guile-bytestructures))) @@ -1165,14 +1182,17 @@ written in pure Scheme by using Guile's foreign function interface.") (home-page "https://gitlab.com/mothacehe/guile-parted") (license license:gpl3+))) -(define-public guile3.0-parted +(define-public guile2.2-parted (package (inherit guile-parted) - (name "guile3.0-parted") + (name "guile2.2-parted") (inputs `(("guile" ,guile-next) ,@(alist-delete "guile" (package-inputs guile-parted)))) (propagated-inputs - `(("guile-bytestructures" ,guile3.0-bytestructures))))) + `(("guile-bytestructures" ,guile2.2-bytestructures))))) + +(define-public guile3.0-parted + (deprecated-package "guile3.0-parted" guile-parted)) (define-public guile-xosd (package @@ -1359,7 +1379,7 @@ PostgreSQL.") ("automake" ,automake) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) - (inputs `(("guile" ,guile-2.2))) + (inputs `(("guile" ,guile-3.0))) (synopsis "Guile application configuration parsing library.") (description @@ -1374,13 +1394,16 @@ above command-line parameters.") "https://gitlab.com/a-sassmannshausen/guile-config") (license license:gpl3+))) -(define-public guile3.0-config +(define-public guile2.2-config (package (inherit guile-config) - (name "guile3.0-config") - (inputs `(("guile" ,guile-next) + (name "guile2.2-config") + (inputs `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs guile-config)))))) +(define-public guile3.0-config + (deprecated-package "guile3.0-config" guile-config)) + (define-public guile-hall (package (name "guile-hall") @@ -1447,7 +1470,7 @@ above command-line parameters.") ("automake" ,automake) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) - (inputs `(("guile" ,guile-2.2))) + (inputs `(("guile" ,guile-3.0))) (propagated-inputs `(("guile-config" ,guile-config))) (synopsis "Guile project tooling") @@ -1459,17 +1482,20 @@ provides tight coupling to Guix.") (home-page "https://gitlab.com/a-sassmannshausen/guile-hall") (license license:gpl3+))) -(define-public guile3.0-hall +(define-public guile2.2-hall (package (inherit guile-hall) - (name "guile3.0-hall") - (inputs `(("guile" ,guile-next) + (name "guile2.2-hall") + (inputs `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs guile-hall)))) (propagated-inputs - `(("guile-config" ,guile3.0-config) + `(("guile-config" ,guile2.2-config) ,@(alist-delete "guile-config" (package-propagated-inputs guile-hall)))))) +(define-public guile3.0-hall + (deprecated-package "guile3.0-hall" guile-hall)) + (define-public guile-ics (package (name "guile-ics") @@ -1499,7 +1525,7 @@ provides tight coupling to Guix.") ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.2) ("which" ,which))) + (inputs `(("guile" ,guile-3.0) ("which" ,which))) (propagated-inputs `(("guile-lib" ,guile-lib))) (home-page "https://github.com/artyom-poptsov/guile-ics") (synopsis "Guile parser library for the iCalendar format") @@ -1510,13 +1536,16 @@ pure Scheme. The library can be used to read and write iCalendar data. The library is shipped with documentation in Info format and usage examples.") (license license:gpl3+))) -(define-public guile3.0-ics +(define-public guile2.2-ics (package (inherit guile-ics) - (name "guile3.0-ics") - (inputs `(("guile" ,guile-3.0) + (name "guile2.2-ics") + (inputs `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs guile-ics)))) - (propagated-inputs `(("guile-lib" ,guile3.0-lib))))) + (propagated-inputs `(("guile-lib" ,guile2.2-lib))))) + +(define-public guile3.0-ics + (deprecated-package "guile3.0-ics" guile-ics)) (define-public guile-wisp (package @@ -1543,6 +1572,12 @@ The library is shipped with documentation in Info format and usage examples.") (guix build emacs-utils)) #:phases (modify-phases %standard-phases + (add-after 'unpack 'support-guile-3.0 + (lambda _ + (substitute* "configure" + (("_guile_versions_to_search=\"2.2") + "_guile_versions_to_search=\"3.0 2.2")) + #t)) (add-before 'configure 'patch-/usr/bin/env (lambda _ (substitute* "Makefile.in" @@ -1581,7 +1616,7 @@ The library is shipped with documentation in Info format and usage examples.") (assoc-ref emacs:%standard-phases 'make-autoloads))))) (home-page "https://www.draketo.de/english/wisp") (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (native-inputs `(("emacs" ,emacs-minimal) ("python" ,python) @@ -1592,21 +1627,14 @@ whitespace-significant language. It may be easier on the eyes for some users and in some situations.") (license license:gpl3+))) -(define-public guile3.0-wisp +(define-public guile2.2-wisp (package (inherit guile-wisp) - (name "guile3.0-wisp") - (inputs `(("guile" ,guile-3.0))) - (arguments - (substitute-keyword-arguments (package-arguments guile-wisp) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'support-guile-3.0 - (lambda _ - (substitute* "configure" - (("_guile_versions_to_search=\"2.2") - "_guile_versions_to_search=\"3.0 2.2")) - #t)))))))) + (name "guile2.2-wisp") + (inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-wisp + (deprecated-package "guile3.0-wisp" guile-wisp)) (define-public guile-sly (package @@ -1847,7 +1875,7 @@ library.") $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) #t))))) (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.2))) + (inputs `(("guile" ,guile-3.0))) (home-page "https://www.nongnu.org/guile-lib/") (synopsis "Collection of useful Guile Scheme modules") (description @@ -1867,11 +1895,14 @@ for Guile\".") (name "guile2.0-lib") (inputs `(("guile" ,guile-2.0))))) -(define-public guile3.0-lib +(define-public guile2.2-lib (package (inherit guile-lib) - (name "guile3.0-lib") - (inputs `(("guile" ,guile-3.0))))) + (name "guile2.2-lib") + (inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-lib + (deprecated-package "guile3.0-lib" guile-lib)) (define-public guile-minikanren (package @@ -1888,7 +1919,7 @@ for Guile\".") "0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6")))) (build-system guile-build-system) (native-inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (home-page "https://github.com/ijp/minikanren") (synopsis "MiniKanren declarative logic system, packaged for Guile") (description @@ -1909,11 +1940,14 @@ See http://minikanren.org/ for more on miniKanren generally.") (name "guile2.0-minikanren") (native-inputs `(("guile" ,guile-2.0))))) -(define-public guile3.0-minikanren +(define-public guile2.2-minikanren (package (inherit guile-minikanren) - (name "guile3.0-minikanren") - (native-inputs `(("guile" ,guile-next))))) + (name "guile2.2-minikanren") + (native-inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-minikanren + (deprecated-package "guile3.0-minikanren" guile-minikanren)) (define-public guile-irregex (package @@ -1946,7 +1980,7 @@ See http://minikanren.org/ for more on miniKanren generally.") #t))) #:source-directory "src")) (native-inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (home-page "http://synthcode.com/scheme/irregex") (synopsis "S-expression based regular expressions") (description @@ -1961,11 +1995,14 @@ inspired by the SCSH regular expression system.") (name "guile2.0-irregex") (native-inputs `(("guile" ,guile-2.0))))) -(define-public guile3.0-irregex +(define-public guile2.2-irregex (package (inherit guile-irregex) - (name "guile3.0-irregex") - (native-inputs `(("guile" ,guile-next))))) + (name "guile2.2-irregex") + (native-inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-irregex + (deprecated-package "guile3.0-irregex" guile-irregex)) (define-public haunt (package @@ -2031,9 +2068,10 @@ inspired by the SCSH regular expression system.") `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (propagated-inputs - `(("guile-reader" ,guile-reader) + ;; XXX: Guile-Reader is currently unavailable for Guile 2.2 so strip it. + `(;;("guile-reader" ,guile-reader) ("guile-commonmark" ,guile-commonmark))) (synopsis "Functional static site generator") (description "Haunt is a static site generator written in Guile @@ -2042,14 +2080,14 @@ interface for reading articles in any format.") (home-page "http://haunt.dthompson.us") (license license:gpl3+))) -(define-public guile3.0-haunt +(define-public guile2.2-haunt (package (inherit haunt) - (name "guile3.0-haunt") - (inputs `(("guile" ,guile-3.0))) + (name "guile2.2-haunt") + (inputs `(("guile" ,guile-2.2))) (propagated-inputs - ;; XXX: Guile-Reader is currently unavailable for Guile 3.0 so strip it. - `(("guile-commonmark" ,guile3.0-commonmark))))) + `(("guile-reader" ,guile-reader) + ("guile-commonmark" ,guile2.2-commonmark))))) (define-public guile2.0-haunt (package @@ -2057,6 +2095,9 @@ interface for reading articles in any format.") (name "guile2.0-haunt") (inputs `(("guile" ,guile-2.0))))) +(define-public guile3.0-haunt + (deprecated-package "guile3.0-haunt" haunt)) + (define-public guile-redis (package (name "guile-redis") @@ -2112,7 +2153,7 @@ key-value cache and store.") #t)))) (build-system gnu-build-system) (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (native-inputs `(("pkg-config" ,pkg-config))) (synopsis "CommonMark parser for Guile") @@ -2125,11 +2166,11 @@ is no support for parsing block and inline level HTML.") (home-page "https://github.com/OrangeShark/guile-commonmark") (license license:lgpl3+))) -(define-public guile3.0-commonmark +(define-public guile2.2-commonmark (package (inherit guile-commonmark) - (name "guile3.0-commonmark") - (inputs `(("guile" ,guile-3.0))))) + (name "guile2.2-commonmark") + (inputs `(("guile" ,guile-2.2))))) (define-public guile2.0-commonmark (package @@ -2137,6 +2178,9 @@ is no support for parsing block and inline level HTML.") (name "guile2.0-commonmark") (inputs `(("guile" ,guile-2.0))))) +(define-public guile3.0-commonmark + (deprecated-package "guile3.0-commonmark" guile-commonmark)) + (define-public mcron (package (name "mcron") @@ -2174,7 +2218,7 @@ is no support for parsing block and inline level HTML.") #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("tzdata" ,tzdata-for-tests))) - (inputs `(("guile" ,guile-2.2))) + (inputs `(("guile" ,guile-3.0))) (home-page "https://www.gnu.org/software/mcron/") (synopsis "Run jobs at scheduled times") (description @@ -2184,11 +2228,14 @@ Guile, so its configuration can be written in Scheme; the original cron format is also supported.") (license license:gpl3+))) -(define-public guile3.0-mcron +(define-public guile2.2-mcron (package (inherit mcron) - (name "guile3.0-mcron") - (inputs `(("guile" ,guile-3.0))))) + (name "guile2.2-mcron") + (inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-mcron + (deprecated-package "guile3.0-mcron" mcron)) (define-public mcron2 ;; This was mthl's mcron development branch, and it became mcron 1.1. @@ -2211,7 +2258,7 @@ format is also supported.") "1ydvw9dvssdvlvhh1dr8inyzy2x6m41qgp8hsivca1xysr4gc23a")))) (build-system gnu-build-system) (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -2225,11 +2272,15 @@ format is also supported.") The picture values can directly be displayed in Geiser.") (license license:lgpl3+)))) -(define-public guile3.0-picture-language +(define-public guile2.2-picture-language (package (inherit guile-picture-language) - (name "guile3.0-picture-language") - (inputs `(("guile" ,guile-3.0))))) + (name "guile2.2-picture-language") + (inputs `(("guile" ,guile-2.2))))) + +(define-public guile3.0-picture-language + (deprecated-package "guile3.0-picture-language" + guile-picture-language)) (define-public guile-studio (package @@ -2526,7 +2577,7 @@ list of components. This module takes care of that for you.") ("gtk+" ,gtk+) ("guile-lib" ,guile-lib) ("webkitgtk" ,webkitgtk))) - (inputs `(("guile" ,guile-2.2))) + (inputs `(("guile" ,guile-3.0))) (home-page "https://github.com/spk121/guile-gi") (synopsis "GObject bindings for Guile") (description @@ -2535,14 +2586,17 @@ libraries, such as GTK+3. Its README comes with the disclaimer: This is pre-alpha code.") (license license:gpl3+))) -(define-public guile3.0-gi +(define-public guile2.2-gi (package (inherit guile-gi) - (name "guile3.0-gi") + (name "guile2.2-gi") (native-inputs - `(("guile" ,guile-3.0) + `(("guile" ,guile-2.2) ,@(package-native-inputs guile-gi))))) +(define-public guile3.0-gi + (deprecated-package "guile3.0-gi" guile-gi)) + (define-public guile-srfi-159 (let ((commit "1bd98abda2ae4ef8f36761a167903e55c6bda7bb") (revision "0")) @@ -3012,7 +3066,7 @@ the style of the Node Package Manager (NPM).") (rename-file "private" "hashing/private") #t))))) (native-inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (synopsis "Cryprographic hash functions implemented in Scheme") (description "The @code{(hashing @dots{})} modules implement cryptographic hash @@ -3020,13 +3074,16 @@ functions in pure R6RS Scheme: CRC, HMAC, MD5, SHA-1, and SHA-2 (SHA-256, SHA-512).") (license license:expat))) -(define-public guile3.0-hashing +(define-public guile2.2-hashing (package (inherit guile-hashing) - (name "guile3.0-hashing") + (name "guile2.2-hashing") (native-inputs `(("guile" ,guile-next))))) +(define-public guile3.0-hashing + (deprecated-package "guile3.0-hashing" guile-hashing)) + (define-public guile-webutils (let ((commit "8541904f761066dc9c27b1153e9a838be9a55299") (revision "0")) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 17fa51a3c7..b471eccfed 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -252,15 +252,6 @@ without requiring the source code to be rewritten.") (define-deprecated guile-2.2/bug-fix guile-2.2) -(define-public guile-2.2/fixed - ;; A package of Guile 2.2 that's rarely changed. It is the one used - ;; in the `base' module, and thus changing it entails a full rebuild. - (package - (inherit guile-2.2) - (properties '((hidden? . #t) ;people should install 'guile-2.2' - (timeout . 72000) ;20 hours - (max-silent-time . 36000))))) ;10 hours (needed on ARM - ; when heavily loaded) (define-public guile-2.2.4 (package/inherit guile-2.2 @@ -277,7 +268,7 @@ without requiring the source code to be rewritten.") ;; This is the latest Guile stable version. (package (inherit guile-2.2) - (name "guile-next") ;to be renamed to "guile" + (name "guile") (version "3.0.1") (source (origin (inherit (package-source guile-2.2)) @@ -300,6 +291,16 @@ without requiring the source code to be rewritten.") (define-public guile-next guile-3.0) +(define-public guile-3.0/fixed + ;; A package of Guile that's rarely changed. It is the one used in the + ;; `base' module, and thus changing it entails a full rebuild. + (package + (inherit guile-3.0) + (properties '((hidden? . #t) ;people should install 'guile-2.2' + (timeout . 72000) ;20 hours + (max-silent-time . 36000))))) ;10 hours (needed on ARM + ; when heavily loaded) + (define* (make-guile-readline guile #:optional (name "guile-readline")) (package (name name) @@ -377,9 +378,32 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its (package-input-rewriting `((,guile-2.2 . ,guile-2.0)) (guile-variant-package-name "guile2.0"))) -(define package-for-guile-3.0 - (package-input-rewriting `((,guile-2.2 . ,guile-next)) - (guile-variant-package-name "guile3.0"))) +(define package-for-guile-2.2 + (package-input-rewriting `((,guile-3.0 . ,guile-2.2)) + (guile-variant-package-name "guile2.2"))) + +(define-syntax define-deprecated-guile3.0-package + (lambda (s) + "Define a deprecated package alias for \"guile3.0-something\"." + (syntax-case s () + ((_ name) + (and (identifier? #'name) + (string-prefix? "guile3.0-" (symbol->string (syntax->datum + #'name)))) + (let ((->guile (lambda (str) + (let ((base (string-drop str + (string-length "guile3.0-")))) + (string-append "guile-" base))))) + (with-syntax ((package-name (symbol->string (syntax->datum #'name))) + (package + (datum->syntax + #'name + (string->symbol + (->guile (symbol->string (syntax->datum #'name))))))) + #'(begin + (define-deprecated name package + (deprecated-package package-name package)) + (export name)))))))) (define-public guile-for-guile-emacs (package (inherit guile-2.2) @@ -474,10 +498,16 @@ specification. These are the main features: version ".tar.gz")) (sha256 (base32 - "14m6b6g2maw0mkvfm4x63rqb54vgbpn1gcqs715ijw4bikfzlqfz")))))) + "14m6b6g2maw0mkvfm4x63rqb54vgbpn1gcqs715ijw4bikfzlqfz")))) + (native-inputs `(("pkg-config" ,pkg-config) + ("guile" ,guile-3.0))) + (inputs `(("guile" ,guile-3.0))))) + +(define-public guile2.2-json + (package-for-guile-2.2 guile-json-3)) (define-public guile3.0-json - (package-for-guile-3.0 guile-json-3)) + (deprecated-package "guile3.0-json" guile-json-3)) ;; There are two guile-gdbm packages, one using the FFI and one with ;; direct C bindings, hence the verbose name. @@ -518,7 +548,7 @@ specification. These are the main features: (assoc-ref inputs "gdbm")))) #t))))) (native-inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (inputs `(("gdbm" ,gdbm))) (home-page "https://github.com/ijp/guile-gdbm") @@ -531,8 +561,10 @@ Guile's foreign function interface.") (define-public guile2.0-gdbm-ffi (package-for-guile-2.0 guile-gdbm-ffi)) -(define-public guile3.0-gdbm-ffi - (package-for-guile-3.0 guile-gdbm-ffi)) +(define-public guile2.2-gdbm-ffi + (package-for-guile-2.2 guile-gdbm-ffi)) + +(define-deprecated-guile3.0-package guile3.0-gdbm-ffi) (define-public guile-sqlite3 (package @@ -565,7 +597,7 @@ Guile's foreign function interface.") ("guile" ,guile-2.2) ("pkg-config" ,pkg-config))) (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ("sqlite" ,sqlite))) (synopsis "Access SQLite databases from Guile") (description @@ -575,8 +607,10 @@ Guile's foreign function interface.") (define-public guile2.0-sqlite3 (package-for-guile-2.0 guile-sqlite3)) -(define-public guile3.0-sqlite3 - (package-for-guile-3.0 guile-sqlite3)) +(define-public guile2.2-sqlite3 + (package-for-guile-2.2 guile-sqlite3)) + +(define-deprecated-guile3.0-package guile3.0-sqlite3) (define-public guile-bytestructures (package @@ -608,9 +642,9 @@ Guile's foreign function interface.") `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config) - ("guile" ,guile-2.2))) + ("guile" ,guile-3.0))) (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (synopsis "Structured access to bytevector contents for Guile") (description "Guile bytestructures offers a system imitating the type system @@ -624,8 +658,10 @@ type system, elevating types to first-class status.") (define-public guile2.0-bytestructures (package-for-guile-2.0 guile-bytestructures)) -(define-public guile3.0-bytestructures - (package-for-guile-3.0 guile-bytestructures)) +(define-public guile2.2-bytestructures + (package-for-guile-2.2 guile-bytestructures)) + +(define-deprecated-guile3.0-package guile3.0-bytestructures) (define-public guile-git (package @@ -643,10 +679,10 @@ type system, elevating types to first-class status.") (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ("guile-bytestructures" ,guile-bytestructures))) (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ("libgit2" ,libgit2))) (propagated-inputs `(("guile-bytestructures" ,guile-bytestructures))) @@ -656,8 +692,8 @@ type system, elevating types to first-class status.") manipulate repositories of the Git version control system.") (license license:gpl3+))) -(define-public guile3.0-git - (package-for-guile-3.0 guile-git)) +(define-public guile2.2-git + (package-for-guile-2.2 guile-git)) (define-public guile2.0-git (let ((base (package-for-guile-2.0 guile-git))) @@ -670,5 +706,7 @@ manipulate repositories of the Git version control system.") ,@(srfi-1:alist-delete "libgit2" (package-inputs base))))))) +(define-deprecated-guile3.0-package guile3.0-git) + ;;; guile.scm ends here diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index a09c263697..988542b061 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -222,7 +222,7 @@ `(("dejagnu" ,dejagnu) ("m4" ,m4) ("texinfo" ,texinfo) - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ("gsasl" ,gsasl) ("gnutls" ,gnutls) ("ncurses" ,ncurses) @@ -246,14 +246,17 @@ software.") ;; Libraries are under LGPLv3+, and programs under GPLv3+. (list gpl3+ lgpl3+)))) -(define-public guile3.0-mailutils +(define-public guile2.2-mailutils (package (inherit mailutils) - (name "guile3.0-mailutils") + (name "guile2.2-mailutils") (inputs - `(("guile" ,guile-3.0) + `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs mailutils)))))) +(define-public guile3.0-mailutils + (deprecated-package "guile3.0-mailutils" mailutils)) + (define-public nullmailer (package (name "nullmailer") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 19dbf2c7b8..555019a57d 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -307,7 +307,7 @@ ("sqlite" ,sqlite) ("libgcrypt" ,libgcrypt) - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ;; Some of the tests use "unshare" when it is available. ("util-linux" ,util-linux) @@ -328,7 +328,7 @@ ("glibc-utf8-locales" ,glibc-utf8-locales))) (propagated-inputs - `(("gnutls" ,gnutls) + `(("gnutls" ,guile3.0-gnutls) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-3) ("guile-sqlite3" ,guile-sqlite3) @@ -360,7 +360,7 @@ the Nix package manager.") (fold alist-delete (package-native-inputs guix) '("po4a" "graphviz" "help2man"))) (inputs - `(("gnutls" ,gnutls) + `(("gnutls" ,guile3.0-gnutls) ("guile-git" ,guile-git) ("guile-json" ,guile-json-3) ("guile-gcrypt" ,guile-gcrypt) @@ -408,31 +408,34 @@ the Nix package manager.") (define-public guile2.0-guix (deprecated-package "guile2.0-guix" guix)) -(define-public guile3.0-guix +(define-public guile2.2-guix (package (inherit guix) - (name "guile3.0-guix") + (name "guile2.2-guix") (native-inputs - `(("guile" ,guile-3.0) - ("gnutls" ,guile3.0-gnutls) - ("guile-gcrypt" ,guile3.0-gcrypt) - ("guile-json" ,guile3.0-json) - ("guile-sqlite3" ,guile3.0-sqlite3) - ("guile-ssh" ,guile3.0-ssh) - ("guile-git" ,guile3.0-git) + `(("guile" ,guile-2.2) + ("gnutls" ,guile2.2-gnutls) + ("guile-gcrypt" ,guile2.2-gcrypt) + ("guile-json" ,guile2.2-json) + ("guile-sqlite3" ,guile2.2-sqlite3) + ("guile-ssh" ,guile2.2-ssh) + ("guile-git" ,guile2.2-git) ,@(fold alist-delete (package-native-inputs guix) '("guile" "gnutls" "guile-gcrypt" "guile-json" "guile-sqlite3" "guile-ssh" "guile-git")))) (inputs - `(("guile" ,guile-3.0) + `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs guix)))) (propagated-inputs - `(("gnutls" ,guile3.0-gnutls) - ("guile-gcrypt" ,guile3.0-gcrypt) - ("guile-json" ,guile3.0-json) - ("guile-sqlite3" ,guile3.0-sqlite3) - ("guile-ssh" ,guile3.0-ssh) - ("guile-git" ,guile3.0-git))))) + `(("gnutls" ,gnutls) + ("guile-gcrypt" ,guile2.2-gcrypt) + ("guile-json" ,guile2.2-json) + ("guile-sqlite3" ,guile2.2-sqlite3) + ("guile-ssh" ,guile2.2-ssh) + ("guile-git" ,guile2.2-git))))) + +(define-public guile3.0-guix + (deprecated-package "guile3.0-guix" guix)) (define-public guix-minimal ;; A version of Guix which is built with the minimal set of dependencies, as @@ -837,12 +840,12 @@ written entirely in Python."))) (inputs `(("guile" ,guile-3.0))) (propagated-inputs - `(("guix" ,guile3.0-guix) - ("guile-commonmark" ,guile3.0-commonmark) - ("guile-gcrypt" ,guile3.0-gcrypt) - ("guile-pfds" ,guile3.0-pfds) - ("guile-syntax-highlight" ,guile3.0-syntax-highlight) - ("guile-wisp" ,guile3.0-wisp))) + `(("guix" ,guix) + ("guile-commonmark" ,guile-commonmark) + ("guile-gcrypt" ,guile-gcrypt) + ("guile-pfds" ,guile-pfds) + ("guile-syntax-highlight" ,guile-syntax-highlight) + ("guile-wisp" ,guile-wisp))) (home-page "https://workflows.guix.info") (synopsis "Workflow management extension for GNU Guix") (description "The @dfn{Guix Workflow Language} (GWL) provides an @@ -867,6 +870,14 @@ environments.") (sha256 (base32 "01z7jjkc7r7lj6637rcgpz40v8xqqyfp6871h94yvcnwm7zy9h1n")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure.ac" + (("^GUILE_PKG.*") + "GUILE_PKG([3.0 2.2])\n")) + #t)) (file-name (string-append "guix-jupyter-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -925,7 +936,7 @@ environments.") ("python-ipykernel" ,python-ipykernel))) (inputs `(("guix" ,guix) - ("guile" ,guile-2.2))) + ("guile" ,guile-3.0))) (propagated-inputs `(("guile-json" ,guile-json-3) ("guile-simple-zmq" ,guile-simple-zmq) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 7a7f30e255..a7b6e22030 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -112,7 +112,7 @@ scientific data.") #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.2))) + (inputs `(("guile" ,guile-3.0))) (propagated-inputs `(("guile-cairo" ,guile-cairo))) (home-page "http://wingolog.org/software/guile-charting/") (synopsis "Create charts and graphs in Guile") @@ -121,12 +121,15 @@ scientific data.") using the Cairo drawing library.") (license license:lgpl2.1+))) -(define-public guile3.0-charting +(define-public guile2.2-charting (package (inherit guile-charting) - (name "guile3.0-charting") - (inputs `(("guile" ,guile-3.0))) - (propagated-inputs `(("guile-cairo" ,guile3.0-cairo))))) + (name "guile2.2-charting") + (inputs `(("guile" ,guile-2.2))) + (propagated-inputs `(("guile-cairo" ,guile2.2-cairo))))) + +(define-public guile3.0-charting + (deprecated-package "guile3.0-charting" guile-charting)) (define-public ploticus (package diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 4d062bbb18..9ae9e6aaaa 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -301,8 +301,8 @@ Additionally, various channel-specific options can be negotiated.") ("texinfo" ,texinfo) ("pkg-config" ,pkg-config) ("which" ,which) - ("guile" ,guile-2.2))) ;needed when cross-compiling. - (inputs `(("guile" ,guile-2.2) + ("guile" ,guile-3.0))) ;needed when cross-compiling. + (inputs `(("guile" ,guile-3.0) ("libssh" ,libssh) ("libgcrypt" ,libgcrypt))) (synopsis "Guile bindings to libssh") @@ -322,16 +322,19 @@ libssh library.") (inputs `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-inputs guile-ssh)))))) -(define-public guile3.0-ssh +(define-public guile2.2-ssh (package (inherit guile-ssh) - (name "guile3.0-ssh") + (name "guile2.2-ssh") (native-inputs - `(("guile" ,guile-next) ;needed when cross-compiling. + `(("guile" ,guile-2.2) ;needed when cross-compiling. ,@(alist-delete "guile" (package-native-inputs guile-ssh)))) - (inputs `(("guile" ,guile-next) + (inputs `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs guile-ssh)))))) +(define-public guile3.0-ssh + (deprecated-package "guile3.0-ssh" guile-ssh)) + (define-public corkscrew (package (name "corkscrew") diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 6451037fdb..27c7804029 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2013 Cyril Roelandt -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2015, 2016 Mathieu Lirzin ;;; Copyright © 2014, 2015, 2016 Mark H Weaver diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 4899dbe3b7..d46b29ec13 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge -;;; Copyright © 2013, 2016, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2016, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Jeff Mickey ;;; Copyright © 2016, 2017, 2019 Efraim Flashner @@ -136,7 +136,7 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") (base32 "1g41yarz2bl0f73kbjqnywr485ghanbp7nmspklfb0n07yp0z6ak")))) (build-system gnu-build-system) - (inputs `(("guile" ,guile-2.2) ; for the wrapper scripts + (inputs `(("guile" ,guile-3.0) ; for the wrapper scripts ("coreutils" ,coreutils) ("grep" ,grep) ("iproute2" ,iproute) ; for ‘ip’ diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index db10cbf3e9..84da93b4cc 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -7162,7 +7162,7 @@ compressed JSON header blocks. (inputs `(("guix" ,guix))) (propagated-inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) ("guile-commonmark" ,guile-commonmark) ("guile-json" ,guile-json-3))) (home-page "https://github.com/UMCUGenetics/hpcguix-web") diff --git a/guix/gexp.scm b/guix/gexp.scm index 5912511530..f50104efbc 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1553,12 +1553,12 @@ TARGET, a GNU triplet." ;;; (define (default-guile) - ;; Lazily resolve 'guile-2.2' (not 'guile-final' because this is for + ;; Lazily resolve 'guile-3.0' (not 'guile-final' because this is for ;; programs returned by 'program-file' and we don't want to keep references ;; to several Guile packages). This module must not refer to (gnu …) ;; modules directly, to avoid circular dependencies, hence this hack. (module-ref (resolve-interface '(gnu packages guile)) - 'guile-2.2)) + 'guile-3.0)) (define* (load-path-expression modules #:optional (path %load-path) #:key (extensions '()) system target) diff --git a/guix/self.scm b/guix/self.scm index 6b633f9bc0..e3b36b9407 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -49,11 +49,11 @@ (module-ref (resolve-interface module) variable)))) (match-lambda ("guile" (ref '(gnu packages guile) 'guile-3.0)) - ("guile-json" (ref '(gnu packages guile) 'guile3.0-json)) - ("guile-ssh" (ref '(gnu packages ssh) 'guile3.0-ssh)) - ("guile-git" (ref '(gnu packages guile) 'guile3.0-git)) - ("guile-sqlite3" (ref '(gnu packages guile) 'guile3.0-sqlite3)) - ("guile-gcrypt" (ref '(gnu packages gnupg) 'guile3.0-gcrypt)) + ("guile-json" (ref '(gnu packages guile) 'guile-json-3)) + ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh)) + ("guile-git" (ref '(gnu packages guile) 'guile-git)) + ("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3)) + ("guile-gcrypt" (ref '(gnu packages gnupg) 'guile-gcrypt)) ("gnutls" (ref '(gnu packages tls) 'guile3.0-gnutls)) ("zlib" (ref '(gnu packages compression) 'zlib)) ("lzlib" (ref '(gnu packages compression) 'lzlib)) -- cgit 1.4.1 From 67a3c8ed15f62a39f8684ee9c8dda024de9296a9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 10:39:47 +0100 Subject: gnu: GnuTLS: Build with Guile 3. This is a follow-up to commit b6bee63bed4f013064c0d902e7c8b83ed7514ade. * gnu/packages/tls.scm (gnutls)[inputs]: Change from GUILE-2.2 to GUILE-3.0. (guile3.0-gnutls): Rename to ... (guile2.2-gnutls): ... this. Use GUILE-2.2. (guile3.0-gnutls): New variable. --- gnu/packages/tls.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f94c2a1077..f84d29ecbb 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -229,7 +229,7 @@ living in the same process.") ("datefudge" ,datefudge) ;tests rely on 'datefudge' ("util-linux" ,util-linux))) ;one test needs 'setsid' (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-3.0))) (propagated-inputs ;; These are all in the 'Requires.private' field of gnutls.pc. `(("libtasn1" ,libtasn1) @@ -266,14 +266,16 @@ required structures.") (inputs `(("unbound" ,unbound) ,@(package-inputs gnutls))))) -(define-public guile3.0-gnutls +(define-public guile2.2-gnutls (package (inherit gnutls) - (name "guile3.0-gnutls") - (inputs `(("guile" ,guile-next) + (name "guile2.2-gnutls") + (inputs `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs gnutls)))))) +(define-public guile3.0-gnutls gnutls) + (define-public openssl (package (name "openssl") -- cgit 1.4.1 From cfa4de760a9c56c05f77670a1b9e004b94cef599 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 10:40:19 +0100 Subject: gnu: guile-gcrypt: Use the correct Guile version. This is a follow-up to commit b6bee63bed4f013064c0d902e7c8b83ed7514ade. * gnu/packages/gnupg.scm (guile-gcrypt)[native-inputs]: Remove GUILE-2.2. Add GUILE-3.0. (guile2.2-gcrypt)[native-inputs]: Adjust accordingly. --- gnu/packages/gnupg.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 9b6019007e..c22eb57fc7 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -491,7 +491,7 @@ gpgpme starting with version 1.7.") ("autoconf" ,autoconf) ("automake" ,automake) ("texinfo" ,texinfo) - ("guile" ,guile-2.2))) + ("guile" ,guile-3.0))) (inputs `(("guile" ,guile-3.0) ("libgcrypt" ,libgcrypt))) @@ -518,6 +518,9 @@ interface (FFI) of Guile.") (package (inherit guile-gcrypt) (name "guile2.2-gcrypt") + (native-inputs + `(("guile" ,guile-2.2) + ,@(alist-delete "guile" (package-native-inputs guile-gcrypt)))) (inputs `(("guile" ,guile-2.2) ,@(alist-delete "guile" (package-inputs guile-gcrypt)))))) -- cgit 1.4.1 From 02ed227f94496643cc82259f9e1c11d90a13c8b8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:13:20 +0100 Subject: gnu: guile-sqlite3: Use the correct Guile version. This is a follow-up to commit b6bee63bed4f013064c0d902e7c8b83ed7514ade.. * gnu/packages/guile.scm (guile-sqlite3)[native-inputs]: Remove GUILE-2.2. Add GUILE-3.0. --- gnu/packages/guile.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index b471eccfed..e137ab610a 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -594,7 +594,7 @@ Guile's foreign function interface.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-3.0) -- cgit 1.4.1 From 4e6c9f56b57891cdffadeb1fdba3bd705aa38abc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Mar 2020 15:31:45 +0100 Subject: gnu: gnutls: Make 'guile3.0-gnutls' a deprecated alias. This is a followup to 67a3c8ed15f62a39f8684ee9c8dda024de9296a9. * gnu/packages/tls.scm (guile3.0-gnutls): Make a deprecated alias for GNUTLS. --- gnu/packages/tls.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f84d29ecbb..ce8abfb9a2 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -274,7 +274,8 @@ required structures.") ,@(alist-delete "guile" (package-inputs gnutls)))))) -(define-public guile3.0-gnutls gnutls) +(define-public guile3.0-gnutls + (deprecated-package "guile3.0-gnutls" gnutls)) (define-public openssl (package -- cgit 1.4.1 From 2bc1a400aea97106c5ac8237a06908408e204164 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Mar 2020 15:32:36 +0100 Subject: gexp: Change default Guile effective version to 3.0. This is a followup to b6bee63bed4f013064c0d902e7c8b83ed7514ade. * guix/gexp.scm (lower-gexp, gexp->derivation): #:effective-version defaults to "3.0". --- guix/gexp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index f50104efbc..99390bcafc 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -785,7 +785,7 @@ second element is the derivation to compile them." (target 'current) (graft? (%graft?)) (guile-for-build (%guile-for-build)) - (effective-version "2.2") + (effective-version "3.0") deprecation-warnings) "*Note: This API is subject to change; use at your own risk!* @@ -886,7 +886,7 @@ derivations--e.g., code evaluated for its side effects." (modules '()) (module-path %load-path) (guile-for-build (%guile-for-build)) - (effective-version "2.2") + (effective-version "3.0") (graft? (%graft?)) references-graphs allowed-references disallowed-references -- cgit 1.4.1 From d8e98e853c781dbd9f0e3167daf67651ce7ed76b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Mar 2020 15:34:22 +0100 Subject: scripts: Refer to (default-guile) instead of 'guile-2.2'. This is a followup to b6bee63bed4f013064c0d902e7c8b83ed7514ade. * guix/scripts/environment.scm (guix-environment): Use (default-guile) instead of (canonical-package guile-2.2) when parameterizing '%guile-for-build'. * guix/scripts/pack.scm (guix-pack): Likewise. * guix/scripts/package.scm (guix-package*): Likewise. * guix/scripts/pull.scm (guix-pull): Likewise. --- guix/scripts/environment.scm | 6 ++---- guix/scripts/pack.scm | 2 +- guix/scripts/package.scm | 4 +--- guix/scripts/pull.scm | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index f04363750e..e2fe8051b9 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2018 David Thompson -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2018 Mike Gerwitz ;;; ;;; This file is part of GNU Guix. @@ -38,8 +38,6 @@ #:use-module (gnu system file-systems) #:use-module (gnu packages) #:use-module (gnu packages bash) - #:use-module (gnu packages commencement) - #:use-module (gnu packages guile) #:use-module ((gnu packages bootstrap) #:select (bootstrap-executable %bootstrap-guile)) #:use-module (ice-9 format) @@ -733,7 +731,7 @@ message if any test fails." store (if bootstrap? %bootstrap-guile - (canonical-package guile-2.2))))) + (default-guile))))) (run-with-store store ;; Containers need a Bourne shell at /bin/sh. (mlet* %store-monad ((bash (environment-bash container? diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 652b4c63c4..045fd1643e 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -1027,7 +1027,7 @@ Create a bundle of PACKAGE.\n")) store (if (assoc-ref opts 'bootstrap?) %bootstrap-guile - (canonical-package guile-2.2)) + (default-guile)) (assoc-ref opts 'system) #:graft? (assoc-ref opts 'graft?)))) (let* ((dry-run? (assoc-ref opts 'dry-run?)) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index d2f4f1ccd3..792c458850 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -55,8 +55,6 @@ #:use-module (srfi srfi-35) #:use-module (srfi srfi-37) #:use-module (gnu packages) - #:autoload (gnu packages base) (canonical-package) - #:autoload (gnu packages guile) (guile-2.2) #:autoload (gnu packages bootstrap) (%bootstrap-guile) #:export (build-and-use-profile delete-generations @@ -958,5 +956,5 @@ option processing with 'parse-command-line'." (%store) (if (assoc-ref opts 'bootstrap?) %bootstrap-guile - (canonical-package guile-2.2))))) + (default-guile))))) (process-actions (%store) opts))))))) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 51d4da209a..1c5456026c 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -798,7 +798,7 @@ Use '~/.config/guix/channels.scm' instead.")) store (if (assoc-ref opts 'bootstrap?) %bootstrap-guile - (canonical-package guile-2.2))))) + (default-guile))))) (with-profile-lock profile (run-with-store store (build-and-install instances profile -- cgit 1.4.1 From 9d0c2c6e5226bbd11e710bd4efa8f25e9ffb5a86 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Mar 2020 15:46:15 +0100 Subject: tests: Fix up reference to 'guile-2.2'. This is a followup to b6bee63bed4f013064c0d902e7c8b83ed7514ade. * tests/inferior.scm ("inferior-package-search-paths"): Refer to 'guile-3.0' instead of 'guile-2.2'. --- tests/inferior.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/inferior.scm b/tests/inferior.scm index b4417d8629..5236a3f3e2 100644 --- a/tests/inferior.scm +++ b/tests/inferior.scm @@ -181,7 +181,7 @@ result)) (test-equal "inferior-package-search-paths" - (package-native-search-paths guile-2.2) + (package-native-search-paths guile-3.0) (let* ((inferior (open-inferior %top-builddir #:command "scripts/guix")) (guile (first (lookup-inferior-packages inferior "guile"))) -- cgit 1.4.1 From b03753d8ccf73777d2bbbe65441da6bb6dfa7e8f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Mar 2020 15:49:06 +0100 Subject: tests: Fix compilation of 'gnu-make-for-tests'. * guix/tests.scm (gnu-make-for-tests)[arguments]: Pass "--disable-dependency-tracking" to #:configure-flags. --- guix/tests.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/tests.scm b/guix/tests.scm index ff31bcad44..95a7d7c4b8 100644 --- a/guix/tests.scm +++ b/guix/tests.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -415,6 +415,9 @@ default values, and with EXTRA-FIELDS set as specified." #:implicit-inputs? #f #:tests? #f ;cannot run "make check" ,@(substitute-keyword-arguments (package-arguments gnu-make) + ((#:configure-flags flags ''()) + ;; As in 'gnu-make-boot0', work around a 'config.status' defect. + `(cons "--disable-dependency-tracking" ,flags)) ((#:phases phases) `(modify-phases ,phases (replace 'build -- cgit 1.4.1 From 39569dbb5f86c9c330e4b9700118e090f09d9548 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Mar 2020 16:10:58 +0100 Subject: profiles: 'profile-derivation' uses _IOLBF on Guile 2.0 only. * guix/profiles.scm (profile-derivation)[builder]: Use _IOLBF on Guile 2.0 only. --- guix/profiles.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/guix/profiles.scm b/guix/profiles.scm index 93ceafc4bc..fbe34c8455 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014, 2016 Alex Kost ;;; Copyright © 2015 Mark H Weaver @@ -1511,8 +1511,10 @@ are cross-built for TARGET." (guix search-paths) (srfi srfi-1)) - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF) + (let ((line (cond-expand (guile-2.2 'line) + (else _IOLBF)))) ;Guile 2.0 + (setvbuf (current-output-port) line) + (setvbuf (current-error-port) line)) #+(if locales? set-utf8-locale #t) -- cgit 1.4.1 From b778989e9a299102355b7145d1963baed5db7268 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 17 Mar 2020 18:27:23 +0100 Subject: gnu: guix: Update to 'guile-3.0' also in native-inputs. * gnu/packages/package-management.scm (guix)[native-inputs]: Update to guile-3.0. --- gnu/packages/package-management.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 555019a57d..bcc30638e5 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2019, 2020 Efraim Flashner ;;; Copyright © 2019 Jonathan Brielmaier ;;; Copyright © 2020 Mathieu Othacehe +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -280,7 +281,7 @@ ;; Guile libraries are needed here for ;; cross-compilation. - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ("gnutls" ,gnutls) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-3) -- cgit 1.4.1 From e607cc3a479b39d11e9d2b5979b9719e133008a0 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 23 Feb 2020 11:59:42 +0530 Subject: gnu: swig: Use guile-3.0 instead of guile-2.2. * gnu/packages/swig.scm (swig)[native-inputs]: Replace guile-2.2 with guile-3.0. Signed-off-by: Marius Bakke --- gnu/packages/swig.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm index 3de6343da8..86c1407da9 100644 --- a/gnu/packages/swig.scm +++ b/gnu/packages/swig.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2019 Efraim Flashner +;;; Copyright © 2020 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +58,7 @@ (native-inputs `(("boost" ,boost) ("pcre" ,pcre "bin") ;for 'pcre-config' ;; The following are for tests and examples: - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ("perl" ,perl))) ;;("python" ,python-wrapper) (inputs `(("pcre" ,pcre))) -- cgit 1.4.1 From 8b53495dfb50cda6b2c73b2b49115c184986ccf7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:20:02 +0100 Subject: gnu: perl-xml-parser: Update to 2.46. * gnu/packages/xml.scm (perl-xml-parser): Update to 2.46. --- gnu/packages/xml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 6b68e6f8e0..13c8167be0 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -343,7 +343,7 @@ parsers for it. @code{XML::Descent} allows such parsers to be created.") (define-public perl-xml-parser (package (name "perl-xml-parser") - (version "2.44") + (version "2.46") (source (origin (method url-fetch) (uri (string-append @@ -351,7 +351,7 @@ parsers for it. @code{XML::Descent} allows such parsers to be created.") version ".tar.gz")) (sha256 (base32 - "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s")))) + "0pai3ik47q7rgnix9644c673fwydz52gqkxr9kxwq765j4j36cfk")))) (build-system perl-build-system) (arguments `(#:make-maker-flags (let ((expat (assoc-ref %build-inputs "expat"))) -- cgit 1.4.1 From 32b089f4f4e86a32bb34c2c7983be5dbe9603784 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:20:43 +0100 Subject: gnu: avahi: Do not build the static libraries. * gnu/packages/avahi.scm (avahi)[arguments]: Add "--disable-static" to #:configure-flags. --- gnu/packages/avahi.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index 8a01272486..4675f3b011 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -50,6 +50,7 @@ (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-distro=none" + "--disable-static" "--localstatedir=/var" ; for the DBus socket "--disable-python" "--disable-mono" -- cgit 1.4.1 From 850093ac24f92ae805a2ee90681d1e4cb01ff8eb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:21:37 +0100 Subject: gnu: avahi: Update to 0.8. * gnu/packages/patches/avahi-CVE-2018-1000845.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/avahi.scm (avahi): Update to 0.8. [source](patches): Remove obsolete patch. [properties]: Remove. [arguments]: Remove "--disable-qt3" from #:configure-flags. Add "--disable-qt5". [inputs]: Add LIBEVENT. Sort lexicographically. [native-inputs]: Remove INTLTOOL. Add GETTEXT-MINIMAL. --- gnu/local.mk | 1 - gnu/packages/avahi.scm | 36 ++++++++++++------- gnu/packages/patches/avahi-CVE-2018-1000845.patch | 42 ----------------------- 3 files changed, 23 insertions(+), 56 deletions(-) delete mode 100644 gnu/packages/patches/avahi-CVE-2018-1000845.patch diff --git a/gnu/local.mk b/gnu/local.mk index 21a149c469..1d3d6ff4e7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -743,7 +743,6 @@ dist_patch_DATA = \ %D%/packages/patches/audiofile-hurd.patch \ %D%/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch \ %D%/packages/patches/automake-skip-amhello-tests.patch \ - %D%/packages/patches/avahi-CVE-2018-1000845.patch \ %D%/packages/patches/avahi-localstatedir.patch \ %D%/packages/patches/avogadro-boost148.patch \ %D%/packages/patches/avogadro-eigen3-update.patch \ diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index 4675f3b011..602f9d7997 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,16 +26,18 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages dbm) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) #:use-module (gnu packages libdaemon) + #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages glib) #:use-module (gnu packages xml)) (define-public avahi (package (name "avahi") - (version "0.7") + (version "0.8") (home-page "https://avahi.org") (source (origin (method url-fetch) @@ -42,11 +45,17 @@ version ".tar.gz")) (sha256 (base32 - "0128n7jlshw4bpx0vg8lwj8qwdisjxi7mvniwfafgnkzzrfrpaap")) - (patches (search-patches "avahi-localstatedir.patch" - "avahi-CVE-2018-1000845.patch")))) - ;; Hide a duplicate of the CVE fixed above. - (properties `((lint-hidden-cve . ("CVE-2017-6519")))) + "1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6")) + (patches (search-patches "avahi-localstatedir.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix version constraint in the avahi-libevent pkg-config file. + ;; This can be removed for Avahi versions > 0.8. + (substitute* "avahi-libevent.pc.in" + (("libevent-2\\.1\\.5") + "libevent >= 2.1.5")) + #t)))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-distro=none" @@ -57,18 +66,19 @@ "--disable-doxygen-doc" "--disable-xmltoman" "--enable-tests" - "--disable-qt3" "--disable-qt4" + "--disable-qt4" "--disable-qt5" "--disable-gtk" "--disable-gtk3" "--enable-compat-libdns_sd"))) (inputs - `(("expat" ,expat) - ("glib" ,glib) - ("dbus" ,dbus) + `(("dbus" ,dbus) + ("expat" ,expat) ("gdbm" ,gdbm) + ("glib" ,glib) ("libcap" ,libcap) ;to enable chroot support in avahi-daemon - ("libdaemon" ,libdaemon))) + ("libdaemon" ,libdaemon) + ("libevent" ,libevent))) (native-inputs - `(("intltool" ,intltool) + `(("gettext" ,gettext-minimal) ("glib" ,glib "bin") ("pkg-config" ,pkg-config))) (synopsis "Implementation of mDNS/DNS-SD protocols") diff --git a/gnu/packages/patches/avahi-CVE-2018-1000845.patch b/gnu/packages/patches/avahi-CVE-2018-1000845.patch deleted file mode 100644 index e5b13e0bee..0000000000 --- a/gnu/packages/patches/avahi-CVE-2018-1000845.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e111def44a7df4624a4aa3f85fe98054bffb6b4f Mon Sep 17 00:00:00 2001 -From: Trent Lloyd -Date: Sat, 22 Dec 2018 09:06:07 +0800 -Subject: [PATCH] Drop legacy unicast queries from address not on local link - -When handling legacy unicast queries, ensure that the source IP is -inside a subnet on the local link, otherwise drop the packet. - -Fixes #145 -Fixes #203 -CVE-2017-6519 -CVE-2018-100084 ---- - avahi-core/server.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/avahi-core/server.c b/avahi-core/server.c -index a2cb19a8..a2580e38 100644 ---- a/avahi-core/server.c -+++ b/avahi-core/server.c -@@ -930,6 +930,7 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres - - if (avahi_dns_packet_is_query(p)) { - int legacy_unicast = 0; -+ char t[AVAHI_ADDRESS_STR_MAX]; - - /* For queries EDNS0 might allow ARCOUNT != 0. We ignore the - * AR section completely here, so far. Until the day we add -@@ -947,6 +948,13 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres - legacy_unicast = 1; - } - -+ if (!is_mdns_mcast_address(dst_address) && -+ !avahi_interface_address_on_link(i, src_address)) { -+ -+ avahi_log_debug("Received non-local unicast query from host %s on interface '%s.%i'.", avahi_address_snprint(t, sizeof(t), src_address), i->hardware->name, i->protocol); -+ return; -+ } -+ - if (legacy_unicast) - reflect_legacy_unicast_query_packet(s, p, i, src_address, port); - -- cgit 1.4.1 From 0a502c8c9bd07bfdc24aac6f3bdec939e0d9aef4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:22:34 +0100 Subject: gnu: fontforge: Update to 20200314. * gnu/packages/fontutils.scm (fontforge): Update to 20200314. [source](uri): Adjust for new tar.xz download. [native-inputs]: Remove AUTOCONF, AUTOMAKE and LIBTOOL. [build-system]: Switch to CMAKE-BUILD-SYSTEM. [arguments]: Add #:configure-flags. Remove phase 'fix-linking-with-python3.8', add phase 'do-not-override-RPATH'. --- gnu/packages/fontutils.scm | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 8e82112f1b..6784dc7cf6 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -569,23 +569,17 @@ definitions.") (define-public fontforge (package (name "fontforge") - (version "20190801") + (version "20200314") (source (origin (method url-fetch) (uri (string-append "https://github.com/fontforge/fontforge/releases/download/" - version "/fontforge-" version ".tar.gz")) + version "/fontforge-" version ".tar.xz")) (sha256 - (base32 "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r")))) - (build-system gnu-build-system) + (base32 "0qf88wd6riycq56d24brybyc93ns74s0nyyavm43zp2kfcihn6fd")))) + (build-system cmake-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - - ;; TODO: Remove these inputs and the 'fix-linking-with-python-3.8' phase - ;; below when updating fontforge. - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) + `(("pkg-config" ,pkg-config))) (inputs `(("cairo" ,cairo) ("fontconfig" ,fontconfig) ;dlopen'd ("freetype" ,freetype) @@ -608,18 +602,19 @@ definitions.") ("python" ,python) ("zlib" ,zlib))) (arguments - '(#:phases + '(#:configure-flags '(;; TODO: Provide GTK+ for the Wayland-friendly GDK + ;; backend, instead of the legacy X11 backend. + ;; Currently it introduces a circular dependency. + "-DENABLE_X11=ON") + #:phases (modify-phases %standard-phases - (add-before 'bootstrap 'fix-linking-with-python-3.8 + (add-after 'unpack 'do-not-override-RPATH (lambda _ - ;; Applications that embed the Python interpreter are supposed to - ;; use the new "python-3.8-embed.pc" pkg-config file starting with - ;; Python 3.8. Adjust the build system accordingly. - (substitute* "m4/fontforge_arg_enable.m4" - (("python-\"\\$\\{PYTHON_VERSION\\}\"" all) - (string-append all "-embed"))) - ;; Delete the configure script in order to force autoreconf. - (delete-file "configure") + ;; Do not attempt to set a default RPATH, as our ld-wrapper + ;; already does the right thing. + (substitute* "CMakeLists.txt" + (("^set_default_rpath\\(\\)") + "")) #t)) (add-after 'install 'set-library-path (lambda* (#:key inputs outputs #:allow-other-keys) -- cgit 1.4.1 From f013742e27998d15ed25687b6473672840877e9a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:22:57 +0100 Subject: gnu: gdb: Remove duplicate input. * gnu/packages/gdb.scm (gdb-9.1)[inputs]: Remove PYTHON. --- gnu/packages/gdb.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 01f93f6def..3fa8e53884 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -92,7 +92,6 @@ ("readline" ,readline) ("ncurses" ,ncurses) ("guile" ,guile-2.0) - ("python" ,python) ("python-wrapper" ,python-wrapper) ("dejagnu" ,dejagnu) ("source-highlight" ,source-highlight) -- cgit 1.4.1 From 0a1559cc877fdffcc8f9ee08387a6ff62243930f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:23:18 +0100 Subject: gnu: libgsf: Remove obsolete intltool input. * gnu/packages/gnome.scm (libgsf)[native-inputs]: Remove INTLTOOL. Add GETTEXT-MINIMAL, PERL, and PERL-XML-PARSER (previously propagated). --- gnu/packages/gnome.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 67f0e47de1..13ffa7541d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2066,8 +2066,12 @@ XML/CSS rendering engine.") "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa")))) (build-system gnu-build-system) (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal) + + ;; For tests. + ("perl" ,perl) + ("perl-xml-parser" ,perl-xml-parser))) (inputs `(("python" ,python) ("zlib" ,zlib) -- cgit 1.4.1 From 23904adbbb3d869e5b2faae805d432bf6e802376 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:23:46 +0100 Subject: gnu: libgsf: Do not build the static library. * gnu/packages/gnome.scm (libgsf)[arguments]: New field. --- gnu/packages/gnome.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 13ffa7541d..ff3aa00c44 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2065,6 +2065,8 @@ XML/CSS rendering engine.") (base32 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) -- cgit 1.4.1 From 4ffa9f6b7542841f6e9ab546793dd57e2a144ee4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:24:03 +0100 Subject: gnu: libgsf: Remove unused input. * gnu/packages/gnome.scm (libgsf)[inputs]: Remove PYTHON. --- gnu/packages/gnome.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ff3aa00c44..cd824621c9 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2075,8 +2075,7 @@ XML/CSS rendering engine.") ("perl" ,perl) ("perl-xml-parser" ,perl-xml-parser))) (inputs - `(("python" ,python) - ("zlib" ,zlib) + `(("zlib" ,zlib) ("bzip2" ,bzip2))) (propagated-inputs `(("gdk-pixbuf" ,gdk-pixbuf) -- cgit 1.4.1 From 96941537eec4421e908e44a37061a393d7ff3b37 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:24:24 +0100 Subject: gnu: at-spi2-core: Remove obsolete input. * gnu/packages/gtk.scm (at-spi2-core)[native-inputs]: Remove INTLTOOL. Add GETTEXT-MINIMAL. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 10173bf124..b7f7163a79 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -636,10 +636,10 @@ in the GNOME project.") ("libxi" ,libxi) ("libxtst" ,libxtst))) (native-inputs - `(("gobject-introspection" ,gobject-introspection) + `(("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc) ("glib" ,glib "bin") - ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (synopsis "Assistive Technology Service Provider Interface, core components") (description -- cgit 1.4.1 From de2871c9faa44ee07f73470441f05d114a43bb48 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Mar 2020 11:25:29 +0100 Subject: gnu: pulseaudio: Remove obsolete input. * gnu/packages/pulseaudio.scm (pulseaudio)[native-inputs]: Remove INTLTOOL. Add GETTEXT-MINIMAL, PERL, and PERL-XML-PARSER. --- gnu/packages/pulseaudio.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 7c4c26f009..b209fd3076 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -44,12 +44,14 @@ #:use-module (gnu packages check) #:use-module (gnu packages dbm) #:use-module (gnu packages glib) + #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages libcanberra) #:use-module (gnu packages web) #:use-module (gnu packages linux) #:use-module (gnu packages m4) + #:use-module (gnu packages perl) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) @@ -217,9 +219,11 @@ rates.") ("eudev" ,eudev))) ;for the detection of hardware audio devices (native-inputs `(("check" ,check) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") - ("intltool" ,intltool) ("m4" ,m4) + ("perl" ,perl) + ("perl-xml-parser" ,perl-xml-parser) ("pkg-config" ,pkg-config))) (propagated-inputs ;; 'libpulse*.la' contain `-lgdbm' and `-lcap', so propagate them. -- cgit 1.4.1 From dd4e4b037665f762e9d066af00f2e57a92c2e3bf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 18 Mar 2020 19:45:16 +0100 Subject: gnu: GCC@9: Remove obsolete patch. This patch became obsolete when the update to 9.3.0 was merged (commit 3dade1d59e7b4caa641670a76c0c48b4c90f6b3c). * gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gcc.scm (gcc-9)[source](patches): Remove it. --- gnu/local.mk | 1 - gnu/packages/gcc.scm | 1 - .../patches/gcc-9-libsanitizer-mode-size.patch | 58 ---------------------- 3 files changed, 60 deletions(-) delete mode 100644 gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch diff --git a/gnu/local.mk b/gnu/local.mk index 25f017bc57..f8414ec69f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -898,7 +898,6 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-6-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-7-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-8-libsanitizer-mode-size.patch \ - %D%/packages/patches/gcc-9-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-strmov-store-file-names.patch \ %D%/packages/patches/gcc-4-compile-with-gcc-5.patch \ diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 09367d8184..f465470d49 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -560,7 +560,6 @@ It also includes runtime support libraries for these languages."))) (base32 "1la2yy27ziasyf0jvzk58y1i5b5bq2h176qil550bxhifs39gqbi")) (patches (search-patches "gcc-9-strmov-store-file-names.patch" - "gcc-9-libsanitizer-mode-size.patch" "gcc-9-asan-fix-limits-include.patch" "gcc-5.0-libvtv-runpath.patch")))))) diff --git a/gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch b/gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch deleted file mode 100644 index 9e99a3d198..0000000000 --- a/gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch +++ /dev/null @@ -1,58 +0,0 @@ -Fix assertion failure in libsanitizer when using glibc 2.31 and later. - -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154 -https://reviews.llvm.org/D69104 - -This is a combination of these upstream revisions: - -https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981 -https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653 - -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -index 6cd4a5bac8b..d823a12190c 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -1156,8 +1156,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); - CHECK_SIZE_AND_OFFSET(ipc_perm, gid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); --#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) --/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ -+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) -+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit -+ on many architectures. */ - CHECK_SIZE_AND_OFFSET(ipc_perm, mode); - #endif - -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -index 73af92af1e8..6a673a7c995 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -211,26 +211,13 @@ namespace __sanitizer { - u64 __unused1; - u64 __unused2; - #elif defined(__sparc__) --#if defined(__arch64__) - unsigned mode; -- unsigned short __pad1; --#else -- unsigned short __pad1; -- unsigned short mode; - unsigned short __pad2; --#endif - unsigned short __seq; - unsigned long long __unused1; - unsigned long long __unused2; --#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__) -- unsigned int mode; -- unsigned short __seq; -- unsigned short __pad1; -- unsigned long __unused1; -- unsigned long __unused2; - #else -- unsigned short mode; -- unsigned short __pad1; -+ unsigned int mode; - unsigned short __seq; - unsigned short __pad2; - #if defined(__x86_64__) && !defined(_LP64) -- cgit 1.4.1 From 1b70995498973fe899f8f039586e303c7ec7a3bd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 18 Mar 2020 20:04:57 +0100 Subject: gnu: make-ld-wrapper: Default to Guile 3.0. * gnu/packages/base.scm (make-ld-wrapper): Use GUILE-3.0 as the default Guile. --- gnu/packages/base.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 196106fa29..8dbc0b4b40 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -508,7 +508,7 @@ included.") (define* (make-ld-wrapper name #:key (target (const #f)) binutils - (guile (canonical-package guile-2.2)) + (guile (canonical-package guile-3.0)) (bash (canonical-package bash)) (guile-for-build guile)) "Return a package called NAME that contains a wrapper for the 'ld' program -- cgit 1.4.1 From 142cd4dc98ed439f32d2a903ff866ae345234c0f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 18 Mar 2020 20:10:38 +0100 Subject: gnu: guile-readline: Build with Guile 3. * gnu/packages/guile.scm (guile-readline): Switch to GUILE-3.0. (guile2.2-readline): New public variable. (guile3.0-readline): Define in terms of DEPRECATED-GUILE3.0-PACKAGE. Move expression below the 'deprecated-guile3.0-package' definition. --- gnu/packages/guile.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index e137ab610a..c87728f432 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -358,10 +358,10 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its (license license:gpl3+))) (define-public guile-readline - (make-guile-readline guile-2.2)) + (make-guile-readline guile-3.0)) -(define-public guile3.0-readline - (make-guile-readline guile-next "guile3.0-readline")) +(define-public guile2.2-readline + (make-guile-readline guile-2.2 "guile2.2-readline")) (define (guile-variant-package-name prefix) (lambda (name) @@ -405,6 +405,8 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its (deprecated-package package-name package)) (export name)))))))) +(define-deprecated-guile3.0-package guile3.0-readline) + (define-public guile-for-guile-emacs (package (inherit guile-2.2) (name "guile-for-guile-emacs") -- cgit 1.4.1 From c95f5f0af7f3a2c674c17812fb2787112c84981e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 20 Mar 2020 17:23:01 +0100 Subject: system: Switch to Guile 3.0. * gnu/system.scm (%base-packages): Change from GUILE-2.2 to GUILE-3.0. --- gnu/system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system.scm b/gnu/system.scm index 023007a0e6..77cc0076c1 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -594,7 +594,7 @@ of PROVENANCE-SERVICE-TYPE to its services." bash-completion - guile-2.2 + guile-3.0 guile-readline guile-colorized ;; The packages below are also in %FINAL-INPUTS, so take them from -- cgit 1.4.1 From 680b56116a4840a281a45cb130fd45d6d3d46c56 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 21 Mar 2020 00:32:20 +0100 Subject: news: Add entry for Guile 3.0. * etc/news.scm: Add entry for Guile 3.0. --- etc/news.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 305d49366d..8c6f5f8a03 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -10,6 +10,14 @@ (channel-news (version 0) + (entry (commit "b6bee63bed4f013064c0d902e7c8b83ed7514ade") + (title (en "@code{guile} package now refers to version 3.0")) + (body (en "The @code{guile} package has been upgraded to version 3.0 + (instead of 2.2). The @code{guile3.0-} packages have been renamed to their +original name, and @code{guile2.2-} variants of these packages have been +defined. Additionally, derivations are now all built with Guile 3.0, and +system services also run on 3.0."))) + (entry (commit "e3e1a7ba08af2d58c47264c543617e499c239444") (title (en "@command{guix pull} now supports SSH authenticated repositories") -- cgit 1.4.1 From a057b88124a1b6b6401a2d0c502afc352a10b448 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Mar 2020 16:32:44 +0100 Subject: gnu: ghc@8.4: Remove redundant inputs. Incidentally, this fixes a build failure where GHC's build processes fail to link libffi and libgmp for 'ghc-cabal'. * gnu/packages/haskell.scm (ghc-8.4)[inputs]: Remove BINUTILS, GCC, and MAKE-LD-WRAPPER. [arguments]: Adjust accordingly. --- gnu/packages/haskell.scm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8db650e6ae..cafc3e5376 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -37,10 +37,8 @@ (define-module (gnu packages haskell) #:use-module (gnu packages) - #:use-module (gnu packages base) #:use-module (gnu packages bootstrap) #:use-module (gnu packages elf) - #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages libffi) #:use-module (gnu packages lisp) @@ -435,11 +433,7 @@ interactive environment for the functional language Haskell.") (inputs `(("gmp" ,gmp) ("ncurses" ,ncurses) - ("libffi" ,libffi) - ("target-binutils" ,binutils) - ("target-gcc" ,gcc) - ("target-ld-wrapper" ,(make-ld-wrapper "ld-wrapper" - #:binutils binutils)))) + ("libffi" ,libffi))) (native-inputs `(("perl" ,perl) ("python" ,python) ; for tests @@ -514,9 +508,9 @@ interactive environment for the functional language Haskell.") ;; plain command names. (add-before 'configure 'set-target-programs (lambda* (#:key inputs #:allow-other-keys) - (let ((binutils (assoc-ref inputs "target-binutils")) - (gcc (assoc-ref inputs "target-gcc")) - (ld-wrapper (assoc-ref inputs "target-ld-wrapper"))) + (let ((binutils (assoc-ref inputs "binutils")) + (gcc (assoc-ref inputs "gcc")) + (ld-wrapper (assoc-ref inputs "ld-wrapper"))) (setenv "CC" (string-append gcc "/bin/gcc")) (setenv "CXX" (string-append gcc "/bin/g++")) (setenv "LD" (string-append ld-wrapper "/bin/ld")) -- cgit 1.4.1 From c711b6abdb7fc740b37e95596eab2b1b9aba0e1d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Mar 2020 16:33:06 +0100 Subject: gnu: ghc@8.4: Update to 8.4.4. * gnu/packages/haskell.scm (ghc-8.4): Update to 8.4.4. --- gnu/packages/haskell.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index cafc3e5376..6e9cfc6a9e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -422,14 +422,14 @@ interactive environment for the functional language Haskell.") (define-public ghc-8.4 (package (inherit ghc-8.0) (name "ghc") - (version "8.4.3") + (version "8.4.4") (source (origin (method url-fetch) (uri (string-append "https://www.haskell.org/ghc/dist/" version "/" name "-" version "-src.tar.xz")) (sha256 - (base32 "1mk046vb561j75saz05rghhbkps46ym5aci4264dwc2qk3dayixf")))) + (base32 "1ch4j2asg7pr52ai1hwzykxyj553wndg7wq93i47ql4fllspf48i")))) (inputs `(("gmp" ,gmp) ("ncurses" ,ncurses) @@ -448,7 +448,7 @@ interactive environment for the functional language Haskell.") version "/" name "-" version "-testsuite.tar.xz")) (sha256 (base32 - "1z55b1z0m3plqd2d1ks6w5wvx7igm7zsk3i4v7cms003z0as0hzz")))))) + "0s8lf9sxj7n89pjagi58b3fahnp34qvmwhnn0j1fbg6955vbrfj6")))))) (arguments `(#:test-target "test" ;; We get a smaller number of test failures by disabling parallel test -- cgit 1.4.1 From 2e9c43aa9adac2bd6bcf92373d1cf9f322afa5a3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Mar 2020 19:42:56 +0100 Subject: gnu: GHC: Disable test that fails with glibc 2.30 and later. Fixes . * gnu/packages/haskell.scm (ghc-8.6)[arguments]: Add substitution to disable broken test. --- gnu/packages/haskell.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 6e9cfc6a9e..8a332636ba 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2018, 2019 Gabriel Hondet ;;; Copyright © 2019 Robert Vollmert ;;; Copyright © 2019 Jacob MacDonald +;;; Copyright © Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -582,14 +583,20 @@ interactive environment for the functional language Haskell.") ,make-flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - ;; These two tests refer to the root user, which doesn't exist - ;; (see ). (add-after 'unpack-testsuite 'skip-tests (lambda _ + ;; These two tests refer to the root user, which doesn't exist + ;; (see ). (substitute* "libraries/unix/tests/all.T" (("^test\\('T8108'") "# guix skipped: test('T8108'")) (substitute* "libraries/unix/tests/libposix/all.T" (("^test\\('posix010'") "# guix skipped: test('posix010'")) + ;; This test attempts to dlopen() a position-independent + ;; executable(!), which is disallowed since glibc 2.30. See + ;; https://sourceware.org/bugzilla/show_bug.cgi?id=24323 + (substitute* "testsuite/tests/dynlibs/Makefile" + (("\\./T13702a") + "# ./T13702a")) #t)))))) (native-search-paths (list (search-path-specification (variable "GHC_PACKAGE_PATH") -- cgit 1.4.1 From 53de3e74fac862bc07de160e8e226372de213dd1 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 14 Mar 2020 11:39:52 +0100 Subject: gnu: cross-gcc: Add a "lib" output. Add a "lib" output to cross-gcc. This requires an upstream GCC patch adding support for --with-toolexeclibdir configure option. This option allows to install cross-built GCC libraries in a specific location. This also fixes the computation of TOOLDIR_BASE_PREFIX, that fails when /gnu/store/... directories are involved. * gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-gcc)[source]: Apply it, [outputs]: add a "lib" output, (cross-gcc-snippet): fix TOOLDIR_BASE_PREFIX. --- gnu/local.mk | 3 +- gnu/packages/cross-base.scm | 63 +- .../patches/gcc-7-cross-toolexeclibdir.patch | 1041 ++++++++++++++++++++ 3 files changed, 1084 insertions(+), 23 deletions(-) create mode 100644 gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9db4019d2b..38dec7f081 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -14,7 +14,7 @@ # Copyright © 2016, 2017, 2018, 2019 Jan (janneke) Nieuwenhuizen # Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice # Copyright © 2017, 2018 Clément Lassieur -# Copyright © 2017 Mathieu Othacehe +# Copyright © 2017, 2020 Mathieu Othacehe # Copyright © 2017, 2018, 2019 Gábor Boskovits # Copyright © 2018 Amirouche Boubekki # Copyright © 2018, 2019, 2020 Oleg Pykhalov @@ -918,6 +918,7 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-6-source-date-epoch-2.patch \ %D%/packages/patches/gcc-7-cross-mingw.patch \ %D%/packages/patches/gcc-7-cross-environment-variables.patch \ + %D%/packages/patches/gcc-7-cross-toolexeclibdir.patch \ %D%/packages/patches/gcc-8-cross-environment-variables.patch \ %D%/packages/patches/gcc-8-strmov-store-file-names.patch \ %D%/packages/patches/gcc-9-asan-fix-limits-include.patch \ diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 667d1f786a..6f72653762 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2020 Marius Bakke ;;; Copyright © 2019 Carl Dong +;;; Copyright © 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -162,6 +163,13 @@ base compiler and using LIBC (which may be either a libc package or #f.)" "--disable-libsanitizer" )) + ;; Install cross-built libraries such as libgcc_s.so in + ;; the "lib" output. + ,@(if libc + `((string-append "--with-toolexeclibdir=" + (assoc-ref %outputs "lib") + "/" ,target "/lib")) + '()) ;; For a newlib (non-glibc) target ,@(if (cross-newlib? target) '("--with-newlib") @@ -196,12 +204,19 @@ base compiler and using LIBC (which may be either a libc package or #f.)" (define (cross-gcc-snippet target) "Return GCC snippet needed for TARGET." - (cond ((target-mingw? target) - '(begin - (copy-recursively "libstdc++-v3/config/os/mingw32-w64" - "libstdc++-v3/config/os/newlib") - #t)) - (else #f))) + `(begin + ,@(if (target-mingw? target) + '((copy-recursively "libstdc++-v3/config/os/mingw32-w64" + "libstdc++-v3/config/os/newlib")) + '()) + ;; TOOLDIR_BASE_PREFIX is erroneous when using a separate "lib" + ;; output. Specify it correctly, otherwise GCC won't find its shared + ;; libraries installed in the "lib" output. See: + ;; https://lists.gnu.org/archive/html/bug-guix/2020-03/msg00196.html. + (substitute* "gcc/Makefile.in" + (("-DTOOLDIR_BASE_PREFIX=[^ ]*") + "-DTOOLDIR_BASE_PREFIX=\\\"../../../../\\\"")) + #t)) (define* (cross-gcc target #:key @@ -216,22 +231,26 @@ target that libc." (name (string-append "gcc-cross-" (if libc "" "sans-libc-") target)) - (source (origin (inherit (package-source xgcc)) - (patches - (append - (origin-patches (package-source xgcc)) - (cons (cond - ((version>=? (package-version xgcc) "8.0") (search-patch "gcc-8-cross-environment-variables.patch")) - ((version>=? (package-version xgcc) "6.0") (search-patch "gcc-6-cross-environment-variables.patch")) - (else (search-patch "gcc-cross-environment-variables.patch"))) - (cross-gcc-patches xgcc target)))) - (modules '((guix build utils))) - (snippet - (cross-gcc-snippet target)))) - - ;; For simplicity, use a single output. Otherwise libgcc_s & co. are not - ;; found by default, etc. - (outputs '("out")) + (source + (origin + (inherit (package-source xgcc)) + (patches + (append + (origin-patches (package-source xgcc)) + (append (cond + ((version>=? (package-version xgcc) "8.0") + (search-patches "gcc-8-cross-environment-variables.patch")) + ((version>=? (package-version xgcc) "6.0") + (search-patches "gcc-7-cross-toolexeclibdir.patch" + "gcc-6-cross-environment-variables.patch")) + (else + (search-patches "gcc-cross-environment-variables.patch"))) + (cross-gcc-patches xgcc target)))) + (modules '((guix build utils))) + (snippet + (cross-gcc-snippet target)))) + + (outputs '("out" "lib")) (arguments `(#:implicit-inputs? #f diff --git a/gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch b/gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch new file mode 100644 index 0000000000..49982c3474 --- /dev/null +++ b/gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch @@ -0,0 +1,1041 @@ +From 46339bdf619b93dfa05d5f004d062671d3dc26d2 Mon Sep 17 00:00:00 2001 +From: Mathieu Othacehe +Date: Tue, 24 Mar 2020 13:50:56 +0100 +Subject: [PATCH] toolexec + +--- + gcc/doc/install.texi | 4 ++++ + libatomic/configure | 33 ++++++++++++++++++++++--- + libffi/configure | 33 ++++++++++++++++++++++--- + libgcc/configure | 38 +++++++++++++++++++++++++++-- + libgomp/configure | 33 ++++++++++++++++++++++--- + libhsail-rt/configure | 33 ++++++++++++++++++++++--- + libitm/configure | 33 ++++++++++++++++++++++--- + liboffloadmic/configure | 33 ++++++++++++++++++++++--- + liboffloadmic/plugin/configure | 33 ++++++++++++++++++++++--- + libquadmath/configure | 33 ++++++++++++++++++++++--- + libsanitizer/configure | 33 ++++++++++++++++++++++--- + libssp/configure | 33 ++++++++++++++++++++++--- + libstdc++-v3/configure | 44 ++++++++++++++++++++++++++-------- + 13 files changed, 374 insertions(+), 42 deletions(-) + +diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi +index 77ba08d3f21..28cb6d88da8 100644 +--- a/gcc/doc/install.texi ++++ b/gcc/doc/install.texi +@@ -2083,6 +2083,10 @@ shorthand for + The following options only apply to building cross compilers. + + @table @code ++@item --with-toolexeclibdir=@var{dir} ++Specify the installation directory for libraries built with a cross compiler. ++The default is @option{$@{gcc_tooldir@}/lib}. ++ + @item --with-sysroot + @itemx --with-sysroot=@var{dir} + Tells GCC to consider @var{dir} as the root of a tree that contains +diff --git a/libatomic/configure b/libatomic/configure +index 2ae9b8d40f3..0fa531ec4a3 100755 +--- a/libatomic/configure ++++ b/libatomic/configure +@@ -755,6 +755,7 @@ enable_option_checking + enable_version_specific_runtime_libs + enable_generated_files_in_srcdir + enable_multilib ++with_toolexeclibdir + enable_dependency_tracking + enable_shared + enable_static +@@ -1414,6 +1415,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] +@@ -3185,6 +3189,22 @@ fi + ac_config_commands="$ac_config_commands default-1" + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -3200,7 +3220,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +@@ -11115,7 +11142,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11118 "configure" ++#line 11145 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11221,7 +11248,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11224 "configure" ++#line 11251 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/libffi/configure b/libffi/configure +index 790a291011f..6e37039e84c 100755 +--- a/libffi/configure ++++ b/libffi/configure +@@ -777,6 +777,7 @@ enable_debug + enable_structs + enable_raw_api + enable_purify_safety ++with_toolexeclibdir + enable_symvers + with_gcc_major_version_only + ' +@@ -1436,6 +1437,9 @@ Optional Packages: + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-gcc-major-version-only + use only GCC major number in filesystem paths + +@@ -11390,7 +11394,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11393 "configure" ++#line 11397 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11496,7 +11500,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11499 "configure" ++#line 11507 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -16002,10 +16006,33 @@ $as_echo "#define USING_PURIFY 1" >>confdefs.h + fi + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + if test -n "$with_cross_host" && + test x"$with_cross_host" != x"no"; then + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +diff --git a/libgcc/configure b/libgcc/configure +index 441601a1f76..976827dc57e 100644 +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -669,6 +669,7 @@ enable_shared + enable_vtable_verify + with_aix_soname + enable_version_specific_runtime_libs ++with_toolexeclibdir + with_slibdir + enable_maintainer_mode + with_build_libsubdir +@@ -1329,6 +1330,9 @@ Optional Packages: + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-slibdir=DIR shared libraries in DIR LIBDIR + --with-build-libsubdir=DIR Directory where to find libraries for build system + --with-system-libunwind use installed libunwind +@@ -2403,6 +2407,22 @@ fi + $as_echo "$version_specific_libs" >&6; } + + ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ ++ + # Check whether --with-slibdir was given. + if test "${with_slibdir+set}" = set; then : + withval=$with_slibdir; slibdir="$with_slibdir" +@@ -2410,7 +2430,14 @@ else + if test "${version_specific_libs}" = yes; then + slibdir='$(libsubdir)' + elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then +- slibdir='$(exec_prefix)/$(host_noncanonical)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ slibdir='$(exec_prefix)/$(host_noncanonical)/lib' ++ ;; ++ *) ++ slibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + slibdir='$(libdir)' + fi +@@ -2640,7 +2667,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_noncanonical)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)' + toolexeclibdir='$(libdir)' +diff --git a/libgomp/configure b/libgomp/configure +index 06166c66120..6b3beae0f63 100755 +--- a/libgomp/configure ++++ b/libgomp/configure +@@ -782,6 +782,7 @@ enable_option_checking + enable_version_specific_runtime_libs + enable_generated_files_in_srcdir + enable_multilib ++with_toolexeclibdir + enable_dependency_tracking + enable_shared + enable_static +@@ -1455,6 +1456,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] +@@ -3338,6 +3342,22 @@ fi + ac_config_commands="$ac_config_commands default-1" + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -3353,7 +3373,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +@@ -11155,7 +11182,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11158 "configure" ++#line 11185 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11261,7 +11288,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11264 "configure" ++#line 11295 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/libhsail-rt/configure b/libhsail-rt/configure +index a4fcc10c1f9..1b4f2a953d0 100755 +--- a/libhsail-rt/configure ++++ b/libhsail-rt/configure +@@ -737,6 +737,7 @@ enable_option_checking + enable_maintainer_mode + enable_dependency_tracking + enable_version_specific_runtime_libs ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1395,6 +1396,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] +@@ -4418,6 +4422,22 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_version_specific_runtime_libs" >&5 + $as_echo "$enable_version_specific_runtime_libs" >&6; } + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -4433,7 +4453,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +@@ -10973,7 +11000,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10976 "configure" ++#line 11003 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11079,7 +11106,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11082 "configure" ++#line 11113 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/libitm/configure b/libitm/configure +index 96c494d4a3f..ed47fab3c83 100644 +--- a/libitm/configure ++++ b/libitm/configure +@@ -766,6 +766,7 @@ enable_option_checking + enable_version_specific_runtime_libs + enable_generated_files_in_srcdir + enable_multilib ++with_toolexeclibdir + enable_dependency_tracking + enable_shared + enable_static +@@ -1430,6 +1431,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] +@@ -3371,6 +3375,22 @@ fi + ac_config_commands="$ac_config_commands default-1" + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${enable_version_specific_runtime_libs} in +@@ -3386,7 +3406,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +@@ -11794,7 +11821,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11797 "configure" ++#line 11824 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11900,7 +11927,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11903 "configure" ++#line 11934 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/liboffloadmic/configure b/liboffloadmic/configure +index f873716991b..6dfe9e37642 100644 +--- a/liboffloadmic/configure ++++ b/liboffloadmic/configure +@@ -739,6 +739,7 @@ enable_maintainer_mode + enable_dependency_tracking + enable_multilib + enable_version_specific_runtime_libs ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1397,6 +1398,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] +@@ -5003,6 +5007,22 @@ else + fi + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir. + # Also toolexecdir, though it's only used in toolexeclibdir. + case ${enable_version_specific_runtime_libs} in +@@ -5018,7 +5038,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +@@ -11108,7 +11135,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11111 "configure" ++#line 11138 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11214,7 +11241,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11217 "configure" ++#line 11248 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/liboffloadmic/plugin/configure b/liboffloadmic/plugin/configure +index c031eb3e7fa..570758344b4 100644 +--- a/liboffloadmic/plugin/configure ++++ b/liboffloadmic/plugin/configure +@@ -735,6 +735,7 @@ enable_maintainer_mode + enable_dependency_tracking + enable_multilib + enable_version_specific_runtime_libs ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1394,6 +1395,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] +@@ -4311,6 +4315,22 @@ fi + $as_echo "$enable_version_specific_runtime_libs" >&6; } + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir. + # Also toolexecdir, though it's only used in toolexeclibdir. + case ${enable_version_specific_runtime_libs} in +@@ -4326,7 +4346,14 @@ case ${enable_version_specific_runtime_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +@@ -10815,7 +10842,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10818 "configure" ++#line 10845 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -10921,7 +10948,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10924 "configure" ++#line 10955 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/libquadmath/configure b/libquadmath/configure +index 76a2c20b7e1..e887071aeb2 100755 +--- a/libquadmath/configure ++++ b/libquadmath/configure +@@ -749,6 +749,7 @@ enable_fast_install + with_gnu_ld + enable_libtool_lock + enable_maintainer_mode ++with_toolexeclibdir + enable_symvers + enable_generated_files_in_srcdir + with_gcc_major_version_only +@@ -1408,6 +1409,9 @@ Optional Packages: + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-gcc-major-version-only + use only GCC major number in filesystem paths + +@@ -10572,7 +10576,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10575 "configure" ++#line 10579 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -10678,7 +10682,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10681 "configure" ++#line 10689 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11917,6 +11921,22 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -11932,7 +11952,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +diff --git a/libsanitizer/configure b/libsanitizer/configure +index a3a08d635f4..5f4cdcad38d 100755 +--- a/libsanitizer/configure ++++ b/libsanitizer/configure +@@ -767,6 +767,7 @@ enable_multilib + enable_version_specific_runtime_libs + enable_dependency_tracking + enable_maintainer_mode ++with_toolexeclibdir + enable_shared + enable_static + with_pic +@@ -1425,6 +1426,9 @@ Optional Features: + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] +@@ -4773,6 +4777,22 @@ fi + + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -4788,7 +4808,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +@@ -12032,7 +12059,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12035 "configure" ++#line 12062 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -12138,7 +12165,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12141 "configure" ++#line 12168 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/libssp/configure b/libssp/configure +index ee1751d20db..3273cd40ab1 100755 +--- a/libssp/configure ++++ b/libssp/configure +@@ -743,6 +743,7 @@ with_pic + enable_fast_install + with_gnu_ld + enable_libtool_lock ++with_toolexeclibdir + with_gcc_major_version_only + ' + ac_precious_vars='build_alias +@@ -1389,6 +1390,9 @@ Optional Packages: + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-gcc-major-version-only + use only GCC major number in filesystem paths + +@@ -10671,7 +10675,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10674 "configure" ++#line 10678 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -10777,7 +10781,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10780 "configure" ++#line 10784 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11039,6 +11043,22 @@ esac + + + ++ ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ ++ ++ + # Calculate toolexeclibdir + # Also toolexecdir, though it's only used in toolexeclibdir + case ${version_specific_libs} in +@@ -11054,7 +11074,14 @@ case ${version_specific_libs} in + test x"$with_cross_host" != x"no"; then + # Install a library built with a cross compiler in tooldir, not libdir. + toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ toolexeclibdir='$(toolexecdir)/lib' ++ ;; ++ *) ++ toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + toolexecdir='$(libdir)/gcc-lib/$(target_alias)' + toolexeclibdir='$(libdir)' +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +index de8390703e2..88de3f728d4 100755 +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -903,6 +903,7 @@ enable_libstdcxx_threads + enable_libstdcxx_filesystem_ts + with_gxx_include_dir + enable_version_specific_runtime_libs ++with_toolexeclibdir + with_gcc_major_version_only + ' + ac_precious_vars='build_alias +@@ -1623,6 +1624,9 @@ Optional Packages: + set the std::string ABI to use by default + --with-gxx-include-dir=DIR + installation directory for include files ++ --with-toolexeclibdir=DIR ++ install libraries built with a cross compiler within ++ DIR + --with-gcc-major-version-only + use only GCC major number in filesystem paths + +@@ -11606,7 +11610,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11609 "configure" ++#line 11613 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11712,7 +11716,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11715 "configure" ++#line 11723 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -15398,7 +15402,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; } + # Fake what AC_TRY_COMPILE does. + + cat > conftest.$ac_ext << EOF +-#line 15401 "configure" ++#line 15409 "configure" + int main() + { + typedef bool atomic_type; +@@ -15433,7 +15437,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; } + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15436 "configure" ++#line 15440 "configure" + int main() + { + typedef short atomic_type; +@@ -15468,7 +15472,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; } + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15471 "configure" ++#line 15475 "configure" + int main() + { + // NB: _Atomic_word not necessarily int. +@@ -15504,7 +15508,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; } + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15507 "configure" ++#line 15511 "configure" + int main() + { + typedef long long atomic_type; +@@ -15585,7 +15589,7 @@ $as_echo "$as_me: WARNING: Performance of certain classes will degrade as a resu + # unnecessary for this test. + + cat > conftest.$ac_ext << EOF +-#line 15588 "configure" ++#line 15592 "configure" + int main() + { + _Decimal32 d1; +@@ -15627,7 +15631,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + # unnecessary for this test. + + cat > conftest.$ac_ext << EOF +-#line 15630 "configure" ++#line 15634 "configure" + template + struct same + { typedef T2 type; }; +@@ -15661,7 +15665,7 @@ $as_echo "$enable_int128" >&6; } + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15664 "configure" ++#line 15668 "configure" + template + struct same + { typedef T2 type; }; +@@ -81674,6 +81678,19 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs" >&5 + $as_echo "$version_specific_libs" >&6; } + ++# Check whether --with-toolexeclibdir was given. ++if test "${with_toolexeclibdir+set}" = set; then : ++ withval=$with_toolexeclibdir; case ${with_toolexeclibdir} in ++ /) ++ ;; ++ */) ++ with_toolexeclibdir=`echo $with_toolexeclibdir | sed 's,/$,,'` ++ ;; ++esac ++else ++ with_toolexeclibdir=no ++fi ++ + # Default case for install directory for include files. + if test $version_specific_libs = no && test $gxx_include_dir = no; then + gxx_include_dir='include/c++/${gcc_version}' +@@ -81704,7 +81721,14 @@ $as_echo "$version_specific_libs" >&6; } + if test -n "$with_cross_host" && + test x"$with_cross_host" != x"no"; then + glibcxx_toolexecdir='${exec_prefix}/${host_alias}' +- glibcxx_toolexeclibdir='${toolexecdir}/lib' ++ case ${with_toolexeclibdir} in ++ no) ++ glibcxx_toolexeclibdir='${toolexecdir}/lib' ++ ;; ++ *) ++ glibcxx_toolexeclibdir=${with_toolexeclibdir} ++ ;; ++ esac + else + glibcxx_toolexecdir='${libdir}/gcc/${host_alias}' + glibcxx_toolexeclibdir='${libdir}' +-- +2.24.0 + -- cgit 1.4.1 From c75db693713e74a632bafe849de68a87ee7e34eb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 24 Mar 2020 17:58:20 +0100 Subject: gnu: ghc: Really disable test that fails with glibc 2.30 and later. This follows up commit 2e9c43aa9adac2bd6bcf92373d1cf9f322afa5a3, which was incomplete. Fixes . * gnu/packages/patches/ghc-testsuite-dlopen-pie.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. Also use tabs instead of spaces on surrounding patches. * gnu/packages/haskell.scm (ghc-8.6)[native-inputs]: Add patch for "ghc-testsuite". [arguments]: Remove incomplete workaround for the same issue. --- gnu/local.mk | 5 +- gnu/packages/haskell.scm | 9 +--- .../patches/ghc-testsuite-dlopen-pie.patch | 54 ++++++++++++++++++++++ 3 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/ghc-testsuite-dlopen-pie.patch diff --git a/gnu/local.mk b/gnu/local.mk index 38dec7f081..f335ee1d25 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -930,9 +930,10 @@ dist_patch_DATA = \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ %D%/packages/patches/geoclue-config.patch \ - %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ - %D%/packages/patches/ghc-diff-swap-cover-args.patch \ + %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ + %D%/packages/patches/ghc-testsuite-dlopen-pie.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ + %D%/packages/patches/ghc-diff-swap-cover-args.patch \ %D%/packages/patches/ghc-haddock-api-fix-haddock.patch \ %D%/packages/patches/ghc-hpack-fix-tests.patch \ %D%/packages/patches/ghc-microlens-aeson-fix-tests.patch \ diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8a332636ba..a11b6995ce 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2018, 2019 Gabriel Hondet ;;; Copyright © 2019 Robert Vollmert ;;; Copyright © 2019 Jacob MacDonald -;;; Copyright © Marius Bakke +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -568,6 +568,7 @@ interactive environment for the functional language Haskell.") (uri (string-append "https://www.haskell.org/ghc/dist/" version "/" name "-" version "-testsuite.tar.xz")) + (patches (search-patches "ghc-testsuite-dlopen-pie.patch")) (sha256 (base32 "0pw9r91g2np3i806g2f4f8z4jfdd7mx226cmdizk4swa7av1qf91")))) @@ -591,12 +592,6 @@ interactive environment for the functional language Haskell.") (("^test\\('T8108'") "# guix skipped: test('T8108'")) (substitute* "libraries/unix/tests/libposix/all.T" (("^test\\('posix010'") "# guix skipped: test('posix010'")) - ;; This test attempts to dlopen() a position-independent - ;; executable(!), which is disallowed since glibc 2.30. See - ;; https://sourceware.org/bugzilla/show_bug.cgi?id=24323 - (substitute* "testsuite/tests/dynlibs/Makefile" - (("\\./T13702a") - "# ./T13702a")) #t)))))) (native-search-paths (list (search-path-specification (variable "GHC_PACKAGE_PATH") diff --git a/gnu/packages/patches/ghc-testsuite-dlopen-pie.patch b/gnu/packages/patches/ghc-testsuite-dlopen-pie.patch new file mode 100644 index 0000000000..99ba3ac42f --- /dev/null +++ b/gnu/packages/patches/ghc-testsuite-dlopen-pie.patch @@ -0,0 +1,54 @@ +Do not attempt to dlopen PIE objects, which was disallowed with glibc 2.30. + +https://gitlab.haskell.org/ghc/ghc/issues/17952 +https://sourceware.org/bugzilla/show_bug.cgi?id=24323 + +Patch submitted upstream: +https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2947 + +diff --git a/testsuite/tests/dynlibs/Makefile b/testsuite/tests/dynlibs/Makefile +--- a/testsuite/tests/dynlibs/Makefile ++++ b/testsuite/tests/dynlibs/Makefile +@@ -60,6 +60,4 @@ T5373: + .PHONY: T13702 + T13702: + '$(TEST_HC)' -v0 -dynamic -rdynamic -fPIC -pie T13702.hs +- '$(TEST_HC)' -v0 -dynamic T13702a.hs +- ./T13702 # first make sure executable itself works +- ./T13702a # then try dynamically loading it as library ++ ./T13702 +diff --git a/testsuite/tests/dynlibs/T13702.hs b/testsuite/tests/dynlibs/T13702.hs +--- a/testsuite/tests/dynlibs/T13702.hs ++++ b/testsuite/tests/dynlibs/T13702.hs +@@ -2,8 +2,3 @@ + + main :: IO () + main = putStrLn "hello world" +- +-foreign export ccall "hello" hello :: IO () +- +-hello :: IO () +-hello = putStrLn "hello world again" +diff --git a/testsuite/tests/dynlibs/T13702.stdout b/testsuite/tests/dynlibs/T13702.stdout +--- a/testsuite/tests/dynlibs/T13702.stdout ++++ b/testsuite/tests/dynlibs/T13702.stdout +@@ -1,2 +1 @@ + hello world +-hello world again +diff --git a/testsuite/tests/dynlibs/T13702a.hs b/testsuite/tests/dynlibs/T13702a.hs +deleted file mode 100644 +--- a/testsuite/tests/dynlibs/T13702a.hs ++++ /dev/null +@@ -1,12 +0,0 @@ +-{-# LANGUAGE ForeignFunctionInterface #-} +- +-import Foreign +-import System.Posix.DynamicLinker +- +-main :: IO () +-main = do +- dl <- dlopen "./T13702" [RTLD_NOW] +- funptr <- dlsym dl "hello" :: IO (FunPtr (IO ())) +- mkAction funptr +- +-foreign import ccall "dynamic" mkAction :: FunPtr (IO ()) -> IO () -- cgit 1.4.1 From f4e183320515e00a68912d98e1f8367c72886527 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 24 Mar 2020 17:59:18 +0100 Subject: gnu: ghc@8.0: Remove obsolete patch. * gnu/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/haskell.scm (ghc-8.0)[source](patches): Remove it. --- gnu/local.mk | 1 - gnu/packages/haskell.scm | 4 +--- ...dont-pass-linker-flags-via-response-files.patch | 27 ---------------------- 3 files changed, 1 insertion(+), 31 deletions(-) delete mode 100644 gnu/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch diff --git a/gnu/local.mk b/gnu/local.mk index f335ee1d25..6ed9789481 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -932,7 +932,6 @@ dist_patch_DATA = \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-testsuite-dlopen-pie.patch \ - %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ %D%/packages/patches/ghc-diff-swap-cover-args.patch \ %D%/packages/patches/ghc-haddock-api-fix-haddock.patch \ %D%/packages/patches/ghc-hpack-fix-tests.patch \ diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a11b6995ce..739b86a100 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -320,9 +320,7 @@ interactive environment for the functional language Haskell.") (sha256 (base32 "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi")) (patches - (search-patches - "ghc-dont-pass-linker-flags-via-response-files.patch" - "ghc-8.0-fall-back-to-madv_dontneed.patch")))) + (search-patches "ghc-8.0-fall-back-to-madv_dontneed.patch")))) (build-system gnu-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (outputs '("out" "doc")) diff --git a/gnu/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch b/gnu/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch deleted file mode 100644 index 40aae7a9d7..0000000000 --- a/gnu/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch +++ /dev/null @@ -1,27 +0,0 @@ -Don’t add linker flags via ‘response files’ since ld-wrapper -doesn’t handle them. -See https://github.com/NixOS/nixpkgs/commit/a421e7bd4a28c69bded8b17888325e31554f61a1 -https://gcc.gnu.org/ml/gcc/2016-10/msg00151.html - -diff --git a/compiler/main/SysTools.hs.orig b/compiler/main/SysTools.hs -index 1ab5b13..99270fc 100644 ---- a/compiler/main/SysTools.hs.orig -+++ b/compiler/main/SysTools.hs -@@ -424,7 +424,7 @@ runCc dflags args = do - args1 = map Option (getOpts dflags opt_c) - args2 = args0 ++ args1 ++ args - mb_env <- getGccEnv args2 -- runSomethingResponseFile dflags cc_filter "C Compiler" p args2 mb_env -+ runSomethingFiltered dflags cc_filter "C Compiler" p args2 mb_env - where - -- discard some harmless warnings from gcc that we can't turn off - cc_filter = unlines . doFilter . lines -@@ -945,7 +945,7 @@ runLink dflags args = do - args1 = map Option (getOpts dflags opt_l) - args2 = args0 ++ linkargs ++ args1 ++ args - mb_env <- getGccEnv args2 -- runSomethingResponseFile dflags ld_filter "Linker" p args2 mb_env -+ runSomethingFiltered dflags ld_filter "Linker" p args2 mb_env - where - ld_filter = case (platformOS (targetPlatform dflags)) of - OSSolaris2 -> sunos_ld_filter -- cgit 1.4.1 From eac54126fbb0712a436eaa1b152a55efb32046ab Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 24 Mar 2020 17:59:45 +0100 Subject: gnu: GHC: Enable RUNPATH validation. * gnu/packages/haskell.scm (ghc-7, ghc-8.0, ghc-8.4)[arguments]: Remove #:validate-runpath?. --- gnu/packages/haskell.scm | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 739b86a100..982dced5d0 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -171,10 +171,6 @@ top of CLISP.") ;; execution. #:parallel-tests? #f - ;; The DSOs use $ORIGIN to refer to each other, but (guix build - ;; gremlin) doesn't support it yet, so skip this phase. - #:validate-runpath? #f - ;; Don't pass --build=, because the configure script ;; auto-detects slightly different triplets for --host and --target and ;; then complains that they don't match. @@ -348,10 +344,6 @@ interactive environment for the functional language Haskell.") ;; execution. #:parallel-tests? #f - ;; The DSOs use $ORIGIN to refer to each other, but (guix build - ;; gremlin) doesn't support it yet, so skip this phase. - #:validate-runpath? #f - ;; Don't pass --build=, because the configure script ;; auto-detects slightly different triplets for --host and --target and ;; then complains that they don't match. @@ -454,10 +446,6 @@ interactive environment for the functional language Haskell.") ;; execution. #:parallel-tests? #f - ;; The DSOs use $ORIGIN to refer to each other, but (guix build - ;; gremlin) doesn't support it yet, so skip this phase. - #:validate-runpath? #f - ;; Don't pass --build=, because the configure script ;; auto-detects slightly different triplets for --host and --target and ;; then complains that they don't match. -- cgit 1.4.1 From 654de94e74547f61a0996cae70ddba2826bfd8d4 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 11 Mar 2020 00:33:24 +0100 Subject: gnu: grub: Support for the Hurd. * gnu/packages/virtualization.scm (qemu)[supported-systems]: Remove the Hurd. * gnu/packages/linux.scm (mdadm)[supported-systems]: Likewise. (lvm2)[supported-systems]: Likewise. (fuse)[supported-systems]: Likewise. * gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch: New file * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/bootloaders.scm (grub): Use it. [inputs, native-inputs]: Remove non-supported dependencies on non-supported systems. Fixes build for the Hurd. --- gnu/local.mk | 1 + gnu/packages/bootloaders.scm | 26 +++++++++++--- gnu/packages/linux.scm | 3 ++ .../grub-verifiers-Blocklist-fallout-cleanup.patch | 41 ++++++++++++++++++++++ gnu/packages/virtualization.scm | 3 +- 5 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6ed9789481..adeaa6deaa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -994,6 +994,7 @@ dist_patch_DATA = \ %D%/packages/patches/grep-timing-sensitive-test.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ %D%/packages/patches/grub-efi-fat-serial-number.patch \ + %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-default-utf8.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 44808e1225..afbd1909bf 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -91,7 +91,9 @@ (sha256 (base32 "0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5")) - (patches (search-patches "grub-efi-fat-serial-number.patch")))) + (patches (search-patches + "grub-efi-fat-serial-number.patch" + "grub-verifiers-Blocklist-fallout-cleanup.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -152,11 +154,19 @@ ;; Depend on LVM2 for libdevmapper, used by 'grub-probe' and ;; 'grub-install' to recognize mapped devices (LUKS, etc.) - ("lvm2" ,lvm2) + ,@(if (member (or (%current-target-system) + (%current-system)) + (package-supported-systems lvm2)) + `(("lvm2" ,lvm2)) + '()) ;; Depend on mdadm, which is invoked by 'grub-probe' and 'grub-install' ;; to determine whether the root file system is RAID. - ("mdadm" ,mdadm) + ,@(if (member (or (%current-target-system) + (%current-system)) + (package-supported-systems mdadm)) + `(("mdadm" ,mdadm)) + '()) ;; Console-setup's ckbcomp is invoked by grub-kbdcomp. It is required ;; for generating alternative keyboard layouts. @@ -164,7 +174,11 @@ ;; Needed for ‘grub-mount’, the only reliable way to tell whether a given ;; file system will be readable by GRUB without rebooting. - ("fuse" ,fuse) + ,@(if (member (or (%current-target-system) + (%current-system)) + (package-supported-systems fuse)) + `(("fuse" ,fuse)) + '()) ("freetype" ,freetype) ;; ("libusb" ,libusb) @@ -196,7 +210,9 @@ ;; Dependencies for the test suite. The "real" QEMU is needed here, ;; because several targets are used. ("parted" ,parted) - ("qemu" ,qemu-minimal) + ,@(if (member (%current-system) (package-supported-systems qemu-minimal)) + `(("qemu" ,qemu-minimal)) + '()) ("xorriso" ,xorriso))) (home-page "https://www.gnu.org/software/grub/") (synopsis "GRand Unified Boot loader") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 69c2818355..b73b86b0e8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2401,6 +2401,7 @@ processes currently causing I/O.") (("-DFUSERMOUNT_DIR=[[:graph:]]+") "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")) #t))))) + (supported-systems (delete "i586-gnu" %supported-systems)) (home-page "https://github.com/libfuse/libfuse") (synopsis "Support file systems implemented in user space") (description @@ -3009,6 +3010,7 @@ time.") ;; The tests use 'mknod', which requires root access. #:tests? #f)) + (supported-systems (delete "i586-gnu" %supported-systems)) (home-page "https://sourceware.org/lvm2/") (synopsis "Logical volume management for Linux") (description @@ -3920,6 +3922,7 @@ MPEG-2 and audio over Linux IEEE 1394.") (delete 'configure)) ;;tests must be done as root #:tests? #f)) + (supported-systems (delete "i586-gnu" %supported-systems)) (home-page "http://neil.brown.name/blog/mdadm") (synopsis "Tool for managing Linux Software RAID arrays") (description diff --git a/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch b/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch new file mode 100644 index 0000000000..2bea74ea95 --- /dev/null +++ b/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch @@ -0,0 +1,41 @@ +This patch is needed to build Grub on the Hurd. + +Taken from upstream: https://git.savannah.gnu.org/cgit/grub.git/commit//?id=dabdfa1c6a80639197d05f683a445fa8615517fe + +From 7606547586b2d6ca1b384e15e0358d3a3ddc48a6 Mon Sep 17 00:00:00 2001 +From: David Michael +Date: Fri, 5 Jul 2019 07:45:59 -0400 +Subject: verifiers: Blocklist fallout cleanup + +Blocklist fallout cleanup after commit 5c6f9bc15 (generic/blocklist: Fix +implicit declaration of function grub_file_filter_disable_compression()). + +Signed-off-by: David Michael +Reviewed-by: Daniel Kiper + +--- + grub-core/osdep/generic/blocklist.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/osdep/generic/blocklist.c b/grub-core/osdep/generic/blocklist.c +index ea2a511b6..2d9040302 100644 +--- a/grub-core/osdep/generic/blocklist.c ++++ b/grub-core/osdep/generic/blocklist.c +@@ -59,7 +59,7 @@ grub_install_get_blocklist (grub_device_t root_dev, + + grub_disk_cache_invalidate_all (); + +- file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | FILE_TYPE_NO_DECOMPRESS); ++ file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | GRUB_FILE_TYPE_NO_DECOMPRESS); + if (file) + { + if (grub_file_size (file) != core_size) +@@ -116,7 +116,7 @@ grub_install_get_blocklist (grub_device_t root_dev, + + grub_file_t file; + /* Now read the core image to determine where the sectors are. */ +- file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | FILE_TYPE_NO_DECOMPRESS); ++ file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | GRUB_FILE_TYPE_NO_DECOMPRESS); + if (! file) + grub_util_error ("%s", grub_errmsg); + diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index c04ff8810e..9fcea5f7ea 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -285,7 +285,8 @@ server and embedded PowerPC, and S390 guests.") (license license:gpl2) ;; Several tests fail on MIPS; see . - (supported-systems (delete "mips64el-linux" %supported-systems)))) + (supported-systems (fold delete %supported-systems + '("mips64el-linux" "i586-gnu"))))) (define-public qemu-minimal ;; QEMU without GUI support. -- cgit 1.4.1 From 9b943db357ad63b7a3d063c658b1f557697ef0fa Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 4 Mar 2020 11:49:46 -0500 Subject: gnu: hurd: Fix hurd-target?, add hurd-system?. * gnu/packages/hurd.scm (hurd-target?): Bugfix; the arguments to string-suffix? to test (%current-system) were transposed, always resulting in #f. Use hurd-triplet?. (hurd-system?): New exported variable. --- gnu/packages/hurd.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index c147bac8a3..59d5c31e33 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2018 Ludovic Courtès ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,8 +35,9 @@ #:use-module (gnu packages base) #:use-module (gnu packages texinfo) #:use-module (guix git-download) - #:export (hurd-triplet? - hurd-target?)) + #:export (hurd-system? + hurd-target? + hurd-triplet?)) (define (hurd-triplet? triplet) (and (string-suffix? "-gnu" triplet) @@ -45,7 +47,12 @@ "Return true if the cross-compilation target or the current system is GNU/Hurd." (or (and=> (%current-target-system) hurd-triplet?) - (string-suffix? (%current-system) "-gnu"))) + (and (not (%current-target-system)) + (and=> (%current-system) hurd-triplet?)))) + +(define (hurd-system?) + "Return true if the current system is the Hurd." + (and=> (%current-system) hurd-triplet?)) (define (hurd-source-url version) (string-append "mirror://gnu/hurd/hurd-" -- cgit 1.4.1 From 974c42a70a12f0c4ed298c2c8dab3f154338de58 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 1 Mar 2020 16:37:37 +0100 Subject: gnu: glibc: Add clock patches for the Hurd. * gnu/packages/patches/glibc-hurd-clock_t_centiseconds.patch: New file. * gnu/packages/patches/glibc-hurd-clock_gettime_monotonic.patch: New file. * gnu/local.mk (dist_patch_DATA): Update them. * gnu/packages/base.scm (glibc): Use them. --- gnu/local.mk | 4 +- gnu/packages/base.scm | 4 +- .../glibc-hurd-clock_gettime_monotonic.patch | 84 ++++++++++++++++++++ .../patches/glibc-hurd-clock_t_centiseconds.patch | 90 ++++++++++++++++++++++ 4 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/glibc-hurd-clock_gettime_monotonic.patch create mode 100644 gnu/packages/patches/glibc-hurd-clock_t_centiseconds.patch diff --git a/gnu/local.mk b/gnu/local.mk index adeaa6deaa..f7b0a2577d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -11,7 +11,7 @@ # Copyright © 2016 Ben Woodcroft # Copyright © 2016, 2017, 2018, 2019 Alex Vong # Copyright © 2016, 2017, 2018, 2019 Efraim Flashner -# Copyright © 2016, 2017, 2018, 2019 Jan (janneke) Nieuwenhuizen +# Copyright © 2016, 2017, 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen # Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice # Copyright © 2017, 2018 Clément Lassieur # Copyright © 2017, 2020 Mathieu Othacehe @@ -962,6 +962,8 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-bootstrap-system-2.16.0.patch \ %D%/packages/patches/glibc-bootstrap-system.patch \ %D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \ + %D%/packages/patches/glibc-hurd-clock_gettime_monotonic.patch \ + %D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \ %D%/packages/patches/glibc-hurd-magic-pid.patch \ %D%/packages/patches/glibc-ldd-x86_64.patch \ %D%/packages/patches/glibc-locales.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c3298b3cec..1b7a834ac8 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -612,7 +612,9 @@ the store.") "glibc-versioned-locpath.patch" "glibc-allow-kernel-2.6.32.patch" "glibc-reinstate-prlimit64-fallback.patch" - "glibc-supported-locales.patch")))) + "glibc-supported-locales.patch" + "glibc-hurd-clock_t_centiseconds.patch" + "glibc-hurd-clock_gettime_monotonic.patch")))) (build-system gnu-build-system) ;; Glibc's refers to , for instance, so glibc diff --git a/gnu/packages/patches/glibc-hurd-clock_gettime_monotonic.patch b/gnu/packages/patches/glibc-hurd-clock_gettime_monotonic.patch new file mode 100644 index 0000000000..1c3fe427f9 --- /dev/null +++ b/gnu/packages/patches/glibc-hurd-clock_gettime_monotonic.patch @@ -0,0 +1,84 @@ +This is needed to run Python on the Hurd, especially during the build of +python-boot0. + +Adapted from https://salsa.debian.org/glibc-team/glibc/-/blob/glibc-2.31/debian/patches/hurd-i386/unsubmitted-clock_t_centiseconds.diff + +Use the realtime clock for the monotonic clock. This is of course not a proper +implementation (which is being done in Mach), but will permit to fix at least +the iceweasel stack. + +vlc however doesn't build when _POSIX_CLOCK_SELECTION is enabled but +_POSIX_TIMERS is not, and they refuse to fix that (see #765578), so disable the +former. + +From 0aa1dfd580cf9ad7b812c307b128decb782b825f Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Mon, 2 Mar 2020 18:59:04 +0100 +Subject: [PATCH 2/2] Use realtime clock for the monotonic clock. + +--- + sysdeps/mach/clock_gettime.c | 2 +- + sysdeps/mach/hurd/bits/posix_opt.h | 6 +++--- + sysdeps/posix/clock_getres.c | 1 + + sysdeps/pthread/timer_create.c | 2 +- + 4 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/sysdeps/mach/clock_gettime.c b/sysdeps/mach/clock_gettime.c +index ac3547df3c..af8681ba4e 100644 +--- a/sysdeps/mach/clock_gettime.c ++++ b/sysdeps/mach/clock_gettime.c +@@ -25,7 +25,7 @@ + int + __clock_gettime (clockid_t clock_id, struct timespec *ts) + { +- if (clock_id != CLOCK_REALTIME) ++ if (clock_id != CLOCK_MONOTONIC && clock_id != CLOCK_REALTIME) + { + errno = EINVAL; + return -1; +diff --git a/sysdeps/mach/hurd/bits/posix_opt.h b/sysdeps/mach/hurd/bits/posix_opt.h +index 0050151332..27b3a28ab7 100644 +--- a/sysdeps/mach/hurd/bits/posix_opt.h ++++ b/sysdeps/mach/hurd/bits/posix_opt.h +@@ -163,10 +163,10 @@ + #define _POSIX_THREAD_PROCESS_SHARED -1 + + /* The monotonic clock might be available. */ +-#define _POSIX_MONOTONIC_CLOCK 0 ++#define _POSIX_MONOTONIC_CLOCK 200809L + +-/* The clock selection interfaces are available. */ +-#define _POSIX_CLOCK_SELECTION 200809L ++/* The clock selection interfaces are not really available yet. */ ++#define _POSIX_CLOCK_SELECTION -1 + + /* Advisory information interfaces could be available in future. */ + #define _POSIX_ADVISORY_INFO 0 +diff --git a/sysdeps/posix/clock_getres.c b/sysdeps/posix/clock_getres.c +index fcd79fd554..1dd02aa449 100644 +--- a/sysdeps/posix/clock_getres.c ++++ b/sysdeps/posix/clock_getres.c +@@ -52,6 +52,7 @@ __clock_getres (clockid_t clock_id, struct timespec *res) + switch (clock_id) + { + case CLOCK_REALTIME: ++ case CLOCK_MONOTONIC: + retval = realtime_getres (res); + break; + +diff --git a/sysdeps/pthread/timer_create.c b/sysdeps/pthread/timer_create.c +index 9d8a9ea8ae..3430582c09 100644 +--- a/sysdeps/pthread/timer_create.c ++++ b/sysdeps/pthread/timer_create.c +@@ -48,7 +48,7 @@ timer_create (clockid_t clock_id, struct sigevent *evp, timer_t *timerid) + return -1; + } + +- if (clock_id != CLOCK_REALTIME) ++ if (clock_id != CLOCK_REALTIME && clock_id != CLOCK_MONOTONIC) + { + __set_errno (EINVAL); + return -1; +-- +2.24.0 + diff --git a/gnu/packages/patches/glibc-hurd-clock_t_centiseconds.patch b/gnu/packages/patches/glibc-hurd-clock_t_centiseconds.patch new file mode 100644 index 0000000000..8f9676c873 --- /dev/null +++ b/gnu/packages/patches/glibc-hurd-clock_t_centiseconds.patch @@ -0,0 +1,90 @@ +This is needed to run Python on the Hurd, especially during the build of +python-boot0. + +Adapted from https://salsa.debian.org/glibc-team/glibc/-/blob/glibc-2.31/debian/patches/hurd-i386/unsubmitted-clock_t_centiseconds.diff + + commit d57f2f9b4bd007846af2fb4217486ea572579010 + Author: Richard Braun + Date: Tue Aug 27 11:35:31 2013 +0200 + + Express CPU time (clock_t of times(2)) in centiseconds + +From 170c292b643fdc1eb56881e6592b07c0c019993e Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Mon, 2 Mar 2020 18:28:54 +0100 +Subject: [PATCH 1/2] Express CPU time (clock_t) in centiseconds + +--- + sysdeps/mach/hurd/clock.c | 8 ++++---- + sysdeps/mach/hurd/getclktck.c | 5 ++--- + sysdeps/mach/hurd/setitimer.c | 2 +- + sysdeps/mach/hurd/times.c | 2 +- + 4 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/sysdeps/mach/hurd/clock.c b/sysdeps/mach/hurd/clock.c +index 7cb42df786..4db49b579d 100644 +--- a/sysdeps/mach/hurd/clock.c ++++ b/sysdeps/mach/hurd/clock.c +@@ -44,10 +44,10 @@ clock (void) + if (err) + return __hurd_fail (err); + +- total = bi.user_time.seconds * 1000000 + bi.user_time.microseconds; +- total += tti.user_time.seconds * 1000000 + tti.user_time.microseconds; +- total += bi.system_time.seconds * 1000000 + bi.system_time.microseconds; +- total += tti.system_time.seconds * 1000000 + tti.system_time.microseconds; ++ total = bi.user_time.seconds * 100 + bi.user_time.microseconds / 10000; ++ total += tti.user_time.seconds * 100 + tti.user_time.microseconds / 10000; ++ total += bi.system_time.seconds * 100 + bi.system_time.microseconds / 10000; ++ total += tti.system_time.seconds * 100 + tti.system_time.microseconds / 10000; + + return total; + } +diff --git a/sysdeps/mach/hurd/getclktck.c b/sysdeps/mach/hurd/getclktck.c +index 943e36e805..5a3cf0930b 100644 +--- a/sysdeps/mach/hurd/getclktck.c ++++ b/sysdeps/mach/hurd/getclktck.c +@@ -18,12 +18,11 @@ + + #include + +-/* Return frequency of `times'. +- Since Mach reports CPU times in microseconds, we always use 1 million. */ ++/* Return frequency of `times'. */ + int + __getclktck (void) + { +- return 1000000; ++ return 100; + } + + /* Before glibc 2.2, the Hurd actually did this differently, so we +diff --git a/sysdeps/mach/hurd/setitimer.c b/sysdeps/mach/hurd/setitimer.c +index b16f4ddd5d..8bf1464830 100644 +--- a/sysdeps/mach/hurd/setitimer.c ++++ b/sysdeps/mach/hurd/setitimer.c +@@ -43,7 +43,7 @@ quantize_timeval (struct timeval *tv) + static time_t quantum = -1; + + if (quantum == -1) +- quantum = 1000000 / __getclktck (); ++ quantum = 100 / __getclktck (); + + tv->tv_usec = ((tv->tv_usec + (quantum - 1)) / quantum) * quantum; + if (tv->tv_usec >= 1000000) +diff --git a/sysdeps/mach/hurd/times.c b/sysdeps/mach/hurd/times.c +index 23ed992783..cbf6039b19 100644 +--- a/sysdeps/mach/hurd/times.c ++++ b/sysdeps/mach/hurd/times.c +@@ -29,7 +29,7 @@ + static inline clock_t + clock_from_time_value (const time_value_t *t) + { +- return t->seconds * 1000000 + t->microseconds; ++ return t->seconds * 100 + t->microseconds / 10000; + } + + /* Store the CPU time used by this process and all its +-- +2.24.0 + -- cgit 1.4.1 From 096a8e35e746d623810e214e3e4a1008b99598fe Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 8 Mar 2020 14:01:17 +0100 Subject: gnu: glibc: Add signal SA_SIGINFO support for the Hurd. * gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (glibc): Use it. --- gnu/local.mk | 1 + gnu/packages/base.scm | 3 +- .../patches/glibc-hurd-signal-sa-siginfo.patch | 637 +++++++++++++++++++++ 3 files changed, 640 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch diff --git a/gnu/local.mk b/gnu/local.mk index f7b0a2577d..f0f47aa691 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -965,6 +965,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-hurd-clock_gettime_monotonic.patch \ %D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \ %D%/packages/patches/glibc-hurd-magic-pid.patch \ + %D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch \ %D%/packages/patches/glibc-ldd-x86_64.patch \ %D%/packages/patches/glibc-locales.patch \ %D%/packages/patches/glibc-locales-2.28.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1b7a834ac8..5c976aee52 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -614,7 +614,8 @@ the store.") "glibc-reinstate-prlimit64-fallback.patch" "glibc-supported-locales.patch" "glibc-hurd-clock_t_centiseconds.patch" - "glibc-hurd-clock_gettime_monotonic.patch")))) + "glibc-hurd-clock_gettime_monotonic.patch" + "glibc-hurd-signal-sa-siginfo.patch")))) (build-system gnu-build-system) ;; Glibc's refers to , for instance, so glibc diff --git a/gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch b/gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch new file mode 100644 index 0000000000..36ea55e188 --- /dev/null +++ b/gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch @@ -0,0 +1,637 @@ +This patch is needed to build e2fsprogs, util-linux. + +Taken from https://salsa.debian.org/glibc-team/glibc/-/blob/glibc-2.31/debian/patches/hurd-i386/tg-hurdsig-SA_SIGINFO.diff + +From: Jeremie Koenig +Subject: [PATCH] implement SA_SIGINFO signal handlers. + + 52baaca Hurd signals: Copy bits/sigaction.h + 4232c66 Hurd signals: SA_SIGINFO support + 1831cfe Hurd signals: Use POSIX sigcodes + +--- + hurd/hurd/signal.h | 5 + + hurd/hurdfault.c | 2 + hurd/hurdinit.c | 2 + hurd/hurdsig.c | 6 - + sysdeps/mach/hurd/bits/sigaction.h | 86 +++++++++++++++++++++ + sysdeps/mach/hurd/i386/bits/sigcontext.h | 4 + sysdeps/mach/hurd/i386/exc2signal.c | 123 +++++++++++++++++++----------- + sysdeps/mach/hurd/i386/trampoline.c | 125 ++++++++++++++++++++++++++++--- + sysdeps/mach/hurd/kill.c | 2 + sysdeps/mach/hurd/setitimer.c | 2 + 10 files changed, 293 insertions(+), 64 deletions(-) + +Index: glibc-2.31/hurd/hurd/signal.h +=================================================================== +--- glibc-2.31.orig/hurd/hurd/signal.h ++++ glibc-2.31/hurd/hurd/signal.h +@@ -290,6 +290,11 @@ extern int _hurd_raise_signal (struct hu + extern void _hurd_exception2signal (struct hurd_signal_detail *detail, + int *signo); + ++/* Translate a Mach exception into a signal with a legacy sigcode. */ ++ ++extern void _hurd_exception2signal_legacy (struct hurd_signal_detail *detail, ++ int *signo); ++ + + /* Make the thread described by SS take the signal described by SIGNO and + DETAIL. If the process is traced, this will in fact stop with a SIGNO +Index: glibc-2.31/hurd/hurdfault.c +=================================================================== +--- glibc-2.31.orig/hurd/hurdfault.c ++++ glibc-2.31/hurd/hurdfault.c +@@ -70,7 +70,7 @@ _hurdsig_fault_catch_exception_raise (ma + codes into a signal number and subcode. */ + _hurd_exception2signal (&d, &signo); + +- return HURD_PREEMPT_SIGNAL_P (&_hurdsig_fault_preemptor, signo, d.code) ++ return HURD_PREEMPT_SIGNAL_P (&_hurdsig_fault_preemptor, signo, d.exc_subcode) + ? 0 : EGREGIOUS; + } + +Index: glibc-2.31/hurd/hurdinit.c +=================================================================== +--- glibc-2.31.orig/hurd/hurdinit.c ++++ glibc-2.31/hurd/hurdinit.c +@@ -177,7 +177,7 @@ _hurd_new_proc_init (char **argv, + /* This process is "traced", meaning it should stop on signals or exec. + We are all set up now to handle signals. Stop ourselves, to inform + our parent (presumably a debugger) that the exec has completed. */ +- __msg_sig_post (_hurd_msgport, SIGTRAP, 0, __mach_task_self ()); ++ __msg_sig_post (_hurd_msgport, SIGTRAP, TRAP_TRACE, __mach_task_self ()); + } + + #include +Index: glibc-2.31/hurd/hurdsig.c +=================================================================== +--- glibc-2.31.orig/hurd/hurdsig.c ++++ glibc-2.31/hurd/hurdsig.c +@@ -730,7 +730,7 @@ post_signal (struct hurd_sigstate *ss, + { /* PE cannot be null. */ + do + { +- if (HURD_PREEMPT_SIGNAL_P (pe, signo, detail->code)) ++ if (HURD_PREEMPT_SIGNAL_P (pe, signo, detail->exc_subcode)) + { + if (pe->preemptor) + { +@@ -1374,7 +1374,7 @@ _S_msg_sig_post (mach_port_t me, + if (err = signal_allowed (signo, refport)) + return err; + +- d.code = sigcode; ++ d.code = d.exc_subcode = sigcode; + d.exc = 0; + + /* Post the signal to a global receiver thread (or mark it pending in +@@ -1403,7 +1403,7 @@ _S_msg_sig_post_untraced (mach_port_t me + if (err = signal_allowed (signo, refport)) + return err; + +- d.code = sigcode; ++ d.code = d.exc_subcode = sigcode; + d.exc = 0; + + /* Post the signal to the designated signal-receiving thread. This will +Index: glibc-2.31/sysdeps/mach/hurd/bits/sigaction.h +=================================================================== +--- /dev/null ++++ glibc-2.31/sysdeps/mach/hurd/bits/sigaction.h +@@ -0,0 +1,86 @@ ++/* Copyright (C) 1991-2015 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _BITS_SIGACTION_H ++#define _BITS_SIGACTION_H 1 ++ ++#ifndef _SIGNAL_H ++# error "Never include directly; use instead." ++#endif ++ ++/* These definitions match those used by the 4.4 BSD kernel. ++ If the operating system has a `sigaction' system call that correctly ++ implements the POSIX.1 behavior, there should be a system-dependent ++ version of this file that defines `struct sigaction' and the `SA_*' ++ constants appropriately. */ ++ ++/* Structure describing the action to be taken when a signal arrives. */ ++struct sigaction ++ { ++ /* Signal handler. */ ++#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED ++ union ++ { ++ /* Used if SA_SIGINFO is not set. */ ++ __sighandler_t sa_handler; ++ /* Used if SA_SIGINFO is set. */ ++ void (*sa_sigaction) (int, siginfo_t *, void *); ++ } ++ __sigaction_handler; ++# define sa_handler __sigaction_handler.sa_handler ++# define sa_sigaction __sigaction_handler.sa_sigaction ++#else ++ __sighandler_t sa_handler; ++#endif ++ ++ /* Additional set of signals to be blocked. */ ++ __sigset_t sa_mask; ++ ++ /* Special flags. */ ++ int sa_flags; ++ }; ++ ++/* Bits in `sa_flags'. */ ++#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC ++# define SA_ONSTACK 0x0001 /* Take signal on signal stack. */ ++#endif ++#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 ++# define SA_RESTART 0x0002 /* Restart syscall on signal return. */ ++# define SA_NODEFER 0x0010 /* Don't automatically block the signal when ++ its handler is being executed. */ ++# define SA_RESETHAND 0x0004 /* Reset to SIG_DFL on entry to handler. */ ++#endif ++#define SA_NOCLDSTOP 0x0008 /* Don't send SIGCHLD when children stop. */ ++#define SA_SIGINFO 0x0040 /* Signal handler with SA_SIGINFO args */ ++ ++#ifdef __USE_MISC ++# define SA_INTERRUPT 0 /* Historical no-op ("not SA_RESTART"). */ ++ ++/* Some aliases for the SA_ constants. */ ++# define SA_NOMASK SA_NODEFER ++# define SA_ONESHOT SA_RESETHAND ++# define SA_STACK SA_ONSTACK ++#endif ++ ++ ++/* Values for the HOW argument to `sigprocmask'. */ ++#define SIG_BLOCK 1 /* Block signals. */ ++#define SIG_UNBLOCK 2 /* Unblock signals. */ ++#define SIG_SETMASK 3 /* Set the set of blocked signals. */ ++ ++#endif +Index: glibc-2.31/sysdeps/mach/hurd/i386/bits/sigcontext.h +=================================================================== +--- glibc-2.31.orig/sysdeps/mach/hurd/i386/bits/sigcontext.h ++++ glibc-2.31/sysdeps/mach/hurd/i386/bits/sigcontext.h +@@ -97,6 +97,10 @@ struct sigcontext + #define sc_ps sc_efl + + ++/* The deprecated sigcode values below are passed as an extra, non-portable ++ argument to regular signal handlers. You should use SA_SIGINFO handlers ++ instead, which use the standard POSIX signal codes. */ ++ + /* Codes for SIGFPE. */ + #define FPE_INTOVF_TRAP 0x1 /* integer overflow */ + #define FPE_INTDIV_FAULT 0x2 /* integer divide by zero */ +Index: glibc-2.31/sysdeps/mach/hurd/i386/exc2signal.c +=================================================================== +--- glibc-2.31.orig/sysdeps/mach/hurd/i386/exc2signal.c ++++ glibc-2.31/sysdeps/mach/hurd/i386/exc2signal.c +@@ -23,8 +23,8 @@ + /* Translate the Mach exception codes, as received in an `exception_raise' RPC, + into a signal number and signal subcode. */ + +-void +-_hurd_exception2signal (struct hurd_signal_detail *detail, int *signo) ++static void ++exception2signal (struct hurd_signal_detail *detail, int *signo, int posix) + { + detail->error = 0; + +@@ -36,44 +36,62 @@ _hurd_exception2signal (struct hurd_sign + break; + + case EXC_BAD_ACCESS: +- if (detail->exc_code == KERN_INVALID_ADDRESS +- || detail->exc_code == KERN_PROTECTION_FAILURE +- || detail->exc_code == KERN_WRITE_PROTECTION_FAILURE) +- *signo = SIGSEGV; +- else +- *signo = SIGBUS; +- detail->code = detail->exc_subcode; ++ switch (detail->exc_code) ++ { ++ case KERN_INVALID_ADDRESS: ++ case KERN_MEMORY_FAILURE: ++ *signo = SIGSEGV; ++ detail->code = posix ? SEGV_MAPERR : detail->exc_subcode; ++ break; ++ ++ case KERN_PROTECTION_FAILURE: ++ case KERN_WRITE_PROTECTION_FAILURE: ++ *signo = SIGSEGV; ++ detail->code = posix ? SEGV_ACCERR : detail->exc_subcode; ++ break; ++ ++ default: ++ *signo = SIGBUS; ++ detail->code = posix ? BUS_ADRERR : detail->exc_subcode; ++ break; ++ } + detail->error = detail->exc_code; + break; + + case EXC_BAD_INSTRUCTION: + *signo = SIGILL; +- if (detail->exc_code == EXC_I386_INVOP) +- detail->code = ILL_INVOPR_FAULT; +- else if (detail->exc_code == EXC_I386_STKFLT) +- detail->code = ILL_STACK_FAULT; +- else +- detail->code = 0; ++ switch (detail->exc_code) ++ { ++ case EXC_I386_INVOP: ++ detail->code = posix ? ILL_ILLOPC : ILL_INVOPR_FAULT; ++ break; ++ ++ case EXC_I386_STKFLT: ++ detail->code = posix ? ILL_BADSTK : ILL_STACK_FAULT; ++ break; ++ ++ default: ++ detail->code = 0; ++ break; ++ } + break; + + case EXC_ARITHMETIC: ++ *signo = SIGFPE; + switch (detail->exc_code) + { + case EXC_I386_DIV: /* integer divide by zero */ +- *signo = SIGFPE; +- detail->code = FPE_INTDIV_FAULT; ++ detail->code = posix ? FPE_INTDIV : FPE_INTDIV_FAULT; + break; + + case EXC_I386_INTO: /* integer overflow */ +- *signo = SIGFPE; +- detail->code = FPE_INTOVF_TRAP; ++ detail->code = posix ? FPE_INTOVF : FPE_INTOVF_TRAP; + break; + + /* These aren't anywhere documented or used in Mach 3.0. */ + case EXC_I386_NOEXT: + case EXC_I386_EXTOVR: + default: +- *signo = SIGFPE; + detail->code = 0; + break; + +@@ -82,51 +100,43 @@ _hurd_exception2signal (struct hurd_sign + Give an error code corresponding to the first bit set. */ + if (detail->exc_subcode & FPS_IE) + { +- *signo = SIGILL; +- detail->code = ILL_FPEOPR_FAULT; ++ /* NB: We used to send SIGILL here but we can't distinguish ++ POSIX vs. legacy with respect to what signal we send. */ ++ detail->code = posix ? FPE_FLTINV : 0 /*ILL_FPEOPR_FAULT*/; + } + else if (detail->exc_subcode & FPS_DE) + { +- *signo = SIGFPE; +- detail->code = FPE_FLTDNR_FAULT; ++ detail->code = posix ? FPE_FLTUND : FPE_FLTDNR_FAULT; + } + else if (detail->exc_subcode & FPS_ZE) + { +- *signo = SIGFPE; +- detail->code = FPE_FLTDIV_FAULT; ++ detail->code = posix ? FPE_FLTDIV : FPE_FLTDIV_FAULT; + } + else if (detail->exc_subcode & FPS_OE) + { +- *signo = SIGFPE; +- detail->code = FPE_FLTOVF_FAULT; ++ detail->code = posix ? FPE_FLTOVF : FPE_FLTOVF_FAULT; + } + else if (detail->exc_subcode & FPS_UE) + { +- *signo = SIGFPE; +- detail->code = FPE_FLTUND_FAULT; ++ detail->code = posix ? FPE_FLTUND : FPE_FLTUND_FAULT; + } + else if (detail->exc_subcode & FPS_PE) + { +- *signo = SIGFPE; +- detail->code = FPE_FLTINX_FAULT; ++ detail->code = posix ? FPE_FLTRES : FPE_FLTINX_FAULT; + } + else + { +- *signo = SIGFPE; + detail->code = 0; + } + break; + + /* These two can only be arithmetic exceptions if we +- are in V86 mode, which sounds like emulation to me. +- (See Mach 3.0 i386/trap.c.) */ ++ are in V86 mode. (See Mach 3.0 i386/trap.c.) */ + case EXC_I386_EMERR: +- *signo = SIGFPE; +- detail->code = FPE_EMERR_FAULT; ++ detail->code = posix ? 0 : FPE_EMERR_FAULT; + break; + case EXC_I386_BOUND: +- *signo = SIGFPE; +- detail->code = FPE_EMBND_FAULT; ++ detail->code = posix ? FPE_FLTSUB : FPE_EMBND_FAULT; + break; + } + break; +@@ -143,7 +153,7 @@ _hurd_exception2signal (struct hurd_sign + if (detail->exc_code == EXC_I386_BOUND) + { + *signo = SIGFPE; +- detail->code = FPE_SUBRNG_FAULT; ++ detail->code = posix ? FPE_FLTSUB : FPE_SUBRNG_FAULT; + } + else + { +@@ -154,13 +164,34 @@ _hurd_exception2signal (struct hurd_sign + + case EXC_BREAKPOINT: + *signo = SIGTRAP; +- if (detail->exc_code == EXC_I386_SGL) +- detail->code = DBG_SINGLE_TRAP; +- else if (detail->exc_code == EXC_I386_BPT) +- detail->code = DBG_BRKPNT_FAULT; +- else +- detail->code = 0; ++ switch (detail->exc_code) ++ { ++ case EXC_I386_SGL: ++ detail->code = posix ? TRAP_BRKPT : DBG_SINGLE_TRAP; ++ break; ++ ++ case EXC_I386_BPT: ++ detail->code = posix ? TRAP_BRKPT : DBG_BRKPNT_FAULT; ++ break; ++ ++ default: ++ detail->code = 0; ++ break; ++ } + break; + } + } + libc_hidden_def (_hurd_exception2signal) ++ ++void ++_hurd_exception2signal (struct hurd_signal_detail *detail, int *signo) ++{ ++ exception2signal (detail, signo, 1); ++} ++ ++void ++_hurd_exception2signal_legacy (struct hurd_signal_detail *detail, int *signo) ++{ ++ exception2signal (detail, signo, 0); ++} ++ +Index: glibc-2.31/sysdeps/mach/hurd/i386/trampoline.c +=================================================================== +--- glibc-2.31.orig/sysdeps/mach/hurd/i386/trampoline.c ++++ glibc-2.31/sysdeps/mach/hurd/i386/trampoline.c +@@ -19,13 +19,66 @@ + #include + #include + #include ++#include + #include + #include + #include + #include "hurdfault.h" + #include ++#include + + ++/* Fill in a siginfo_t structure for SA_SIGINFO-enabled handlers. */ ++static void fill_siginfo (siginfo_t *si, int signo, ++ const struct hurd_signal_detail *detail, ++ const struct machine_thread_all_state *state) ++{ ++ si->si_signo = signo; ++ si->si_errno = detail->error; ++ si->si_code = detail->code; ++ ++ /* XXX We would need a protocol change for sig_post to include ++ * this information. */ ++ si->si_pid = -1; ++ si->si_uid = -1; ++ ++ /* Address of the faulting instruction or memory access. */ ++ if (detail->exc == EXC_BAD_ACCESS) ++ si->si_addr = (void *) detail->exc_subcode; ++ else ++ si->si_addr = (void *) state->basic.eip; ++ ++ /* XXX On SIGCHLD, this should be the exit status of the child ++ * process. We would need a protocol change for the proc server ++ * to send this information along with the signal. */ ++ si->si_status = 0; ++ ++ si->si_band = 0; /* SIGPOLL is not supported yet. */ ++ si->si_value.sival_int = 0; /* sigqueue() is not supported yet. */ ++} ++ ++/* Fill in a ucontext_t structure SA_SIGINFO-enabled handlers. */ ++static void fill_ucontext (ucontext_t *uc, const struct sigcontext *sc) ++{ ++ uc->uc_flags = 0; ++ uc->uc_link = NULL; ++ uc->uc_sigmask = sc->sc_mask; ++ uc->uc_stack.ss_sp = (__ptr_t) sc->sc_esp; ++ uc->uc_stack.ss_size = 0; ++ uc->uc_stack.ss_flags = 0; ++ ++ /* Registers. */ ++ memcpy (&uc->uc_mcontext.gregs[REG_GS], &sc->sc_gs, ++ (REG_TRAPNO - REG_GS) * sizeof (int)); ++ uc->uc_mcontext.gregs[REG_TRAPNO] = 0; ++ uc->uc_mcontext.gregs[REG_ERR] = 0; ++ memcpy (&uc->uc_mcontext.gregs[REG_EIP], &sc->sc_eip, ++ (NGREG - REG_EIP) * sizeof (int)); ++ ++ /* XXX FPU state. */ ++ memset (&uc->uc_mcontext.fpregs, 0, sizeof (fpregset_t)); ++} ++ + struct sigcontext * + _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler, + int signo, struct hurd_signal_detail *detail, +@@ -43,15 +96,38 @@ _hurd_setup_sighandler (struct hurd_sigs + struct + { + int signo; +- long int sigcode; +- struct sigcontext *scp; /* Points to ctx, below. */ ++ union ++ { ++ /* Extra arguments for traditional signal handlers */ ++ struct ++ { ++ long int sigcode; ++ struct sigcontext *scp; /* Points to ctx, below. */ ++ } legacy; ++ ++ /* Extra arguments for SA_SIGINFO handlers */ ++ struct ++ { ++ siginfo_t *siginfop; /* Points to siginfo, below. */ ++ ucontext_t *uctxp; /* Points to uctx, below. */ ++ } posix; ++ }; + void *sigreturn_addr; + void *sigreturn_returns_here; + struct sigcontext *return_scp; /* Same; arg to sigreturn. */ ++ ++ /* NB: sigreturn assumes link is next to ctx. */ + struct sigcontext ctx; + struct hurd_userlink link; ++ ucontext_t ucontext; ++ siginfo_t siginfo; + } *stackframe; + ++ /* sigaction for preemptors */ ++ static const struct sigaction legacy_sigaction = { ++ .sa_flags = SA_RESTART ++ }; ++ + if (ss->context) + { + /* We have a previous sigcontext that sigreturn was about +@@ -94,9 +170,13 @@ _hurd_setup_sighandler (struct hurd_sigs + the SP on sigreturn. */ + state->basic.uesp = state->basic.ecx; + +- /* XXX what if handler != action->handler (for instance, if a signal +- * preemptor took over) ? */ + action = & _hurd_sigstate_actions (ss) [signo]; ++ if ( (action->sa_flags & SA_SIGINFO) ++ && handler != (__sighandler_t) action->sa_sigaction ++ || !(action->sa_flags & SA_SIGINFO) ++ && handler != action->sa_handler) ++ /* A signal preemptor took over, use legacy semantic. */ ++ action = &legacy_sigaction; + + if ((action->sa_flags & SA_ONSTACK) + && !(ss->sigaltstack.ss_flags & (SS_DISABLE|SS_ONSTACK))) +@@ -140,15 +220,9 @@ _hurd_setup_sighandler (struct hurd_sigs + = &stackframe->link.thread.next; + ss->active_resources = &stackframe->link; + +- /* Set up the arguments for the signal handler. */ +- stackframe->signo = signo; +- stackframe->sigcode = detail->code; +- stackframe->scp = stackframe->return_scp = scp = &stackframe->ctx; +- stackframe->sigreturn_addr = &__sigreturn; +- stackframe->sigreturn_returns_here = firewall; /* Crash on return. */ +- + /* Set up the sigcontext from the current state of the thread. */ + ++ scp = &stackframe->ctx; + scp->sc_onstack = ss->sigaltstack.ss_flags & SS_ONSTACK ? 1 : 0; + + /* struct sigcontext is laid out so that starting at sc_gs mimics a +@@ -162,6 +236,35 @@ _hurd_setup_sighandler (struct hurd_sigs + &state->fpu, &scp->sc_i386_float_state, + sizeof (state->fpu)); + ++ /* Set up the arguments for the signal handler. */ ++ stackframe->signo = signo; ++ if (action->sa_flags & SA_SIGINFO) ++ { ++ stackframe->posix.siginfop = &stackframe->siginfo; ++ stackframe->posix.uctxp = &stackframe->ucontext; ++ fill_siginfo (&stackframe->siginfo, signo, detail, state); ++ fill_ucontext (&stackframe->ucontext, scp); ++ } ++ else ++ { ++ if (detail->exc) ++ { ++ int nsigno; ++ _hurd_exception2signal_legacy (detail, &nsigno); ++ assert (nsigno == signo); ++ } ++ else ++ detail->code = 0; ++ ++ stackframe->legacy.sigcode = detail->code; ++ stackframe->legacy.scp = &stackframe->ctx; ++ } ++ ++ /* Set up the bottom of the stack. */ ++ stackframe->sigreturn_addr = &__sigreturn; ++ stackframe->sigreturn_returns_here = firewall; /* Crash on return. */ ++ stackframe->return_scp = &stackframe->ctx; ++ + _hurdsig_end_catch_fault (); + + if (! ok) +Index: glibc-2.31/sysdeps/mach/hurd/kill.c +=================================================================== +--- glibc-2.31.orig/sysdeps/mach/hurd/kill.c ++++ glibc-2.31/sysdeps/mach/hurd/kill.c +@@ -64,7 +64,7 @@ __kill (pid_t pid, int sig) + { + if (msgport != MACH_PORT_NULL) + /* Send a signal message to his message port. */ +- return __msg_sig_post (msgport, sig, 0, refport); ++ return __msg_sig_post (msgport, sig, SI_USER, refport); + + /* The process has no message port. Perhaps try direct + frobnication of the task. */ +Index: glibc-2.31/sysdeps/mach/hurd/setitimer.c +=================================================================== +--- glibc-2.31.orig/sysdeps/mach/hurd/setitimer.c ++++ glibc-2.31/sysdeps/mach/hurd/setitimer.c +@@ -105,7 +105,7 @@ timer_thread (void) + __msg_sig_post_request (_hurd_msgport, + _hurd_itimer_port, + MACH_MSG_TYPE_MAKE_SEND_ONCE, +- SIGALRM, 0, __mach_task_self ()); ++ SIGALRM, SI_TIMER, __mach_task_self ()); + break; + + case MACH_RCV_INTERRUPTED: +Index: glibc-2.31/sysdeps/mach/hurd/i386/sigcontextinfo.h +=================================================================== +--- glibc-2.31.orig/sysdeps/mach/hurd/i386/sigcontextinfo.h ++++ glibc-2.31/sysdeps/mach/hurd/i386/sigcontextinfo.h +@@ -18,11 +18,10 @@ + #ifndef _SIGCONTEXTINFO_H + #define _SIGCONTEXTINFO_H + +-#define SIGCONTEXT struct sigcontext + static inline uintptr_t +-sigcontext_get_pc (struct sigcontext ctx) ++sigcontext_get_pc (struct ucontext_t *ctx) + { +- return ctx.sc_eip; ++ return ctx->uc_mcontext.gregs[REG_EIP]; + } + + #endif -- cgit 1.4.1 From ee1cf1dd80244fe187038db609bde282b21a05fc Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 9 Mar 2020 14:38:18 +0100 Subject: gnu: cross-libc: Build fix for the Hurd. This fixes cross building of coreutils, e.g. ./pre-inst-env guix build --target=i586-pc-gnu coreutils * gnu/packages/cross-base.scm (cross-libc): Add -lhurduser, -lmachuser for the Hurd. --- gnu/packages/cross-base.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 6f72653762..538f406043 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -513,7 +513,17 @@ and the cross tool chain." ',%gcc-cross-include-paths) (setenv "CROSS_LIBRARY_PATH" (string-append kernel "/lib")) ; for Hurd's libihash - #t))))))) + #t))) + ,@(if (hurd-triplet? target) + '((add-after 'install 'augment-libc.so + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (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))) + '()))))) ;; Shadow the native "kernel-headers" because glibc's recipe expects the ;; "kernel-headers" input to point to the right thing. -- cgit 1.4.1 From eef44fea17a735d2f4048a747d16af478d4b9dbc Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 12 Mar 2020 10:54:35 +0100 Subject: Revert "gnu: guile-static-stripped: Update to 2.2." As discussed on IRC, keeping bootstrap Guile on 2.0 simplifies adding new architectures and removes the need for parameterizing gnu/packages/bootstrap.scm. This reverts commit 2acfe022a740f79b593348cc6362cc4ee8f33bb4. * gnu/packages/make-bootstrap.scm (%guile-static): Revert to guile-2.0. Retain build recipe. * gnu/packages/patches/guile-relocatable.patch: Update for Guile 2.0.14. --- gnu/local.mk | 1 - gnu/packages/make-bootstrap.scm | 30 ++++----- gnu/packages/patches/guile-2.2-default-utf8.patch | 82 ----------------------- gnu/packages/patches/guile-relocatable.patch | 36 +++++++--- 4 files changed, 40 insertions(+), 109 deletions(-) delete mode 100644 gnu/packages/patches/guile-2.2-default-utf8.patch diff --git a/gnu/local.mk b/gnu/local.mk index f0f47aa691..aed50d4d1a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1000,7 +1000,6 @@ dist_patch_DATA = \ %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ - %D%/packages/patches/guile-2.2-default-utf8.patch \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ %D%/packages/patches/guile-3.0-crash.patch \ %D%/packages/patches/guile-default-utf8.patch \ diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 335d5c811d..709fb39e43 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -679,18 +679,18 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; .scm and .go files relative to its installation directory, rather ;; than in hard-coded configure-time paths. (let* ((patches (cons* (search-patch "guile-relocatable.patch") - (search-patch "guile-2.2-default-utf8.patch") + (search-patch "guile-default-utf8.patch") (search-patch "guile-linux-syscalls.patch") - (origin-patches (package-source guile-2.2)))) - (source (origin (inherit (package-source guile-2.2)) + (origin-patches (package-source guile-2.0)))) + (source (origin (inherit (package-source guile-2.0)) (patches patches))) - (guile (package (inherit guile-2.2) - (name (string-append (package-name guile-2.2) "-static")) + (guile (package (inherit guile-2.0) + (name (string-append (package-name guile-2.0) "-static")) (source source) (synopsis "Statically-linked and relocatable Guile") ;; Remove the 'debug' output (see above for the reason.) - (outputs (delete "debug" (package-outputs guile-2.2))) + (outputs (delete "debug" (package-outputs guile-2.0))) (inputs `(("libunistring:static" ,libunistring "static") @@ -699,9 +699,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (propagated-inputs `(("bdw-gc" ,libgc) ,@(alist-delete "bdw-gc" - (package-propagated-inputs guile-2.2)))) + (package-propagated-inputs guile-2.0)))) (arguments - (substitute-keyword-arguments (package-arguments guile-2.2) + (substitute-keyword-arguments (package-arguments guile-2.0) ((#:configure-flags flags '()) ;; When `configure' checks for ltdl availability, it ;; doesn't try to link using libtool, and thus fails @@ -724,7 +724,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (("^guile_LDFLAGS =") "guile_LDFLAGS = -all-static") - ;; Add `-ldl' *after* libguile-2.2.la. + ;; Add `-ldl' *after* libguile-2.0.la. (("^guile_LDADD =(.*)$" _ ldadd) (string-append "guile_LDADD = " (string-trim-right ldadd) @@ -756,13 +756,13 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (out (assoc-ref %outputs "out")) (guile1 (string-append in "/bin/guile")) (guile2 (string-append out "/bin/guile"))) - (mkdir-p (string-append out "/share/guile/2.2")) - (copy-recursively (string-append in "/share/guile/2.2") - (string-append out "/share/guile/2.2")) + (mkdir-p (string-append out "/share/guile/2.0")) + (copy-recursively (string-append in "/share/guile/2.0") + (string-append out "/share/guile/2.0")) - (mkdir-p (string-append out "/lib/guile/2.2/ccache")) - (copy-recursively (string-append in "/lib/guile/2.2/ccache") - (string-append out "/lib/guile/2.2/ccache")) + (mkdir-p (string-append out "/lib/guile/2.0/ccache")) + (copy-recursively (string-append in "/lib/guile/2.0/ccache") + (string-append out "/lib/guile/2.0/ccache")) (mkdir (string-append out "/bin")) (copy-file guile1 guile2) diff --git a/gnu/packages/patches/guile-2.2-default-utf8.patch b/gnu/packages/patches/guile-2.2-default-utf8.patch deleted file mode 100644 index f55a6430c1..0000000000 --- a/gnu/packages/patches/guile-2.2-default-utf8.patch +++ /dev/null @@ -1,82 +0,0 @@ -This hack makes Guile default to UTF-8. This avoids calls to -`iconv_open'; `iconv_open' tries to open shared objects that aren't -available during bootstrap, so using UTF-8 avoids that (and UTF-8 has -built-in conversions in glibc, too.) - -diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c -index 0ac5ea6a6..f73301e2f 100644 ---- a/libguile/bytevectors.c -+++ b/libguile/bytevectors.c -@@ -1931,7 +1931,7 @@ utf_encoding_name (char *name, size_t utf_width, SCM endianness) - if (scm_i_is_narrow_string (str)) \ - { \ - err = mem_iconveh (scm_i_string_chars (str), c_strlen, \ -- "ISO-8859-1", c_utf_name, \ -+ "UTF-8", c_utf_name, \ - iconveh_question_mark, NULL, \ - &c_utf, &c_utf_len); \ - if (SCM_UNLIKELY (err)) \ -diff --git a/libguile/ports.c b/libguile/ports.c -index 45e62f4e4..42012f3aa 100644 ---- a/libguile/ports.c -+++ b/libguile/ports.c -@@ -974,7 +974,9 @@ canonicalize_encoding (const char *enc) - char *ret; - int i; - -- if (!enc || encoding_matches (enc, sym_ISO_8859_1)) -+ if (enc == NULL) -+ return sym_UTF_8; -+ if (encoding_matches (enc, sym_ISO_8859_1)) - return sym_ISO_8859_1; - if (encoding_matches (enc, sym_UTF_8)) - return sym_UTF_8; -@@ -4198,7 +4200,7 @@ scm_init_ports (void) - scm_c_define ("%default-port-conversion-strategy", - scm_make_fluid_with_default (sym_substitute)); - /* Use the locale as the default port encoding. */ -- scm_i_set_default_port_encoding (locale_charset ()); -+ scm_i_set_default_port_encoding ("UTF-8"); - - scm_c_register_extension ("libguile-" SCM_EFFECTIVE_VERSION, - "scm_init_ice_9_ports", -diff --git a/libguile/strings.c b/libguile/strings.c -index 056b4c99f..63a6c050d 100644 ---- a/libguile/strings.c -+++ b/libguile/strings.c -@@ -1579,7 +1579,7 @@ scm_i_default_string_failed_conversion_handler (void) - SCM - scm_from_locale_stringn (const char *str, size_t len) - { -- return scm_from_stringn (str, len, locale_charset (), -+ return scm_from_stringn (str, len, "UTF-8", - scm_i_default_string_failed_conversion_handler ()); - } - -@@ -1907,7 +1907,7 @@ char * - scm_to_locale_stringn (SCM str, size_t *lenp) - { - return scm_to_stringn (str, lenp, -- locale_charset (), -+ "UTF-8", - scm_i_default_string_failed_conversion_handler ()); - } - -@@ -2195,7 +2195,7 @@ scm_to_stringn (SCM str, size_t *lenp, const char *encoding, - scm_wrong_type_arg_msg (NULL, 0, str, "string"); - - if (encoding == NULL) -- encoding = "ISO-8859-1"; -+ encoding = "UTF-8"; - - if (c_strcasecmp (encoding, "UTF-8") == 0) - /* This is the most common case--e.g., when calling libc bindings -@@ -2247,7 +2247,7 @@ scm_to_stringn (SCM str, size_t *lenp, const char *encoding, - if (scm_i_is_narrow_string (str)) - { - ret = mem_iconveh (scm_i_string_chars (str), ilen, -- "ISO-8859-1", encoding, -+ "UTF-8", encoding, - (enum iconv_ilseq_handler) handler, NULL, - &buf, &len); - diff --git a/gnu/packages/patches/guile-relocatable.patch b/gnu/packages/patches/guile-relocatable.patch index 464333880c..d8726b4807 100644 --- a/gnu/packages/patches/guile-relocatable.patch +++ b/gnu/packages/patches/guile-relocatable.patch @@ -1,6 +1,17 @@ -This patch changes Guile to use a default search path relative to the -location of the `guile' binary, allowing it to be relocated. +From 501ad55982a8f92a7a95c76c75944d644870181d Mon Sep 17 00:00:00 2001 +From: Ludovic Courtès +Date: Thu, 12 Mar 2020 15:16:04 +0100 +Subject: [PATCH] load: Make Guile run-time relocatable using /proc/self/exe. +Import from + + http://git.savannah.gnu.org/cgit/guix.git/commit/?id=920f2c42ce3345dc1355a41377ebf01a33fdae51 +--- + libguile/load.c | 35 +++++++++++++++++++++++++++++------ + 1 file changed, 29 insertions(+), 6 deletions(-) + +diff --git a/libguile/load.c b/libguile/load.c +index c2ee5093a..128cdf95a 100644 --- a/libguile/load.c +++ b/libguile/load.c @@ -26,6 +26,7 @@ @@ -11,7 +22,7 @@ location of the `guile' binary, allowing it to be relocated. #include "libguile/_scm.h" #include "libguile/alist.h" -@@ -326,6 +327,32 @@ scm_init_load_path () +@@ -325,6 +326,32 @@ scm_init_load_path () SCM cpath = SCM_EOL; #ifdef SCM_LIBRARY_DIR @@ -44,25 +55,28 @@ location of the `guile' binary, allowing it to be relocated. env = scm_i_mirror_backslashes (getenv ("GUILE_SYSTEM_PATH")); if (env && strcmp (env, "") == 0) /* special-case interpret system-path=="" as meaning no system path instead -@@ -334,10 +361,7 @@ scm_init_load_path () +@@ -333,10 +360,7 @@ scm_init_load_path () else if (env) path = scm_parse_path (scm_from_locale_string (env), path); else -- path = scm_list_4 (scm_from_utf8_string (SCM_LIBRARY_DIR), -- scm_from_utf8_string (SCM_SITE_DIR), -- scm_from_utf8_string (SCM_GLOBAL_SITE_DIR), -- scm_from_utf8_string (SCM_PKGDATA_DIR)); +- path = scm_list_4 (scm_from_locale_string (SCM_LIBRARY_DIR), +- scm_from_locale_string (SCM_SITE_DIR), +- scm_from_locale_string (SCM_GLOBAL_SITE_DIR), +- scm_from_locale_string (SCM_PKGDATA_DIR)); + path = scm_list_1 (scm_from_locale_string (module_dir)); env = scm_i_mirror_backslashes (getenv ("GUILE_SYSTEM_COMPILED_PATH")); if (env && strcmp (env, "") == 0) -@@ -347,8 +371,7 @@ scm_init_load_path () +@@ -346,8 +370,7 @@ scm_init_load_path () cpath = scm_parse_path (scm_from_locale_string (env), cpath); else { -- cpath = scm_list_2 (scm_from_utf8_string (SCM_CCACHE_DIR), -- scm_from_utf8_string (SCM_SITE_CCACHE_DIR)); +- cpath = scm_list_2 (scm_from_locale_string (SCM_CCACHE_DIR), +- scm_from_locale_string (SCM_SITE_CCACHE_DIR)); + cpath = scm_list_1 (scm_from_locale_string (ccache_dir)); } #endif /* SCM_LIBRARY_DIR */ +-- +2.24.0 + -- cgit 1.4.1 From 25bc0f34c6c059394f546f29a203c2cb9b7cdcf6 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 12 Mar 2020 10:58:44 +0100 Subject: gnu: bootstrap: gcc-static: Use gcc-5. * gnu/packages/make-bootstrap.scm (gcc-static): Use gcc-5. This fixes building libstdc++-boot0 with a newly built %bootstrap-gcc. (%gcc-stripped): Likewise. (gcc-for-bootstrap): Likewise. * gnu/packages/patches/gcc-5-hurd.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gcc.scm (gcc-5): Use it. --- gnu/local.mk | 1 + gnu/packages/gcc.scm | 3 +- gnu/packages/make-bootstrap.scm | 20 +++++------ gnu/packages/patches/gcc-5-hurd.patch | 63 +++++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 11 deletions(-) create mode 100644 gnu/packages/patches/gcc-5-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index aed50d4d1a..1b268fd1c7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -909,6 +909,7 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-4-compile-with-gcc-5.patch \ %D%/packages/patches/gcc-4.6-gnu-inline.patch \ %D%/packages/patches/gcc-4.9.3-mingw-gthr-default.patch \ + %D%/packages/patches/gcc-5-hurd.patch \ %D%/packages/patches/gcc-5.0-libvtv-runpath.patch \ %D%/packages/patches/gcc-5-source-date-epoch-1.patch \ %D%/packages/patches/gcc-5-source-date-epoch-2.patch \ diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 5c5c51a0ad..6221a123d8 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -471,7 +471,8 @@ Go. It also includes runtime support libraries for these languages.") "gcc-5-source-date-epoch-1.patch" "gcc-5-source-date-epoch-2.patch" "gcc-6-libsanitizer-mode-size.patch" - "gcc-fix-texi2pod.patch")) + "gcc-fix-texi2pod.patch" + "gcc-5-hurd.patch")) (modules '((guix build utils))) (snippet ;; Fix 'libcc1/configure' error when cross-compiling GCC. diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 709fb39e43..f8d782f5ab 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -93,13 +93,13 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (mlambdaq (glibc) "Return a variant of GCC that uses the bootstrap variant of GLIBC." (package - (inherit gcc) + (inherit gcc-5) (outputs '("out")) ;all in one so libgcc_s is easily found (inputs `( ;; Distinguish the name so we can refer to it below. ("bootstrap-libc" ,(glibc-for-bootstrap glibc)) ("libc:static" ,(glibc-for-bootstrap glibc) "static") - ,@(package-inputs gcc)))))) + ,@(package-inputs gcc-5)))))) (define (package-with-relocatable-glibc p) "Return a variant of P that uses the libc as defined by @@ -138,7 +138,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (cons (search-path-specification (variable "CROSS_CPLUS_INCLUDE_PATH") (files '("include"))) - (package-search-paths gcc))))) + (package-search-paths gcc-5))))) ("cross-binutils" ,(cross-binutils target)) ,@(%final-inputs))) `(("libc" ,(glibc-for-bootstrap glibc)) @@ -459,7 +459,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (define %gcc-static ;; A statically-linked GCC, with stripped-down functionality. (package-with-relocatable-glibc - (package (inherit gcc) + (package (inherit gcc-5) (name "gcc-static") (outputs '("out")) ; all in one (arguments @@ -468,7 +468,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (srfi srfi-1) (srfi srfi-26) (ice-9 regex)) - ,@(substitute-keyword-arguments (package-arguments gcc) + ,@(substitute-keyword-arguments (package-arguments gcc-5) ((#:guile _) #f) ((#:implicit-inputs? _) #t) ((#:configure-flags flags) @@ -513,8 +513,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." #t))))))) (inputs `(("zlib:static" ,zlib "static") - ("isl:static" ,isl "static") - ,@(package-inputs gcc))) + ("isl:static" ,isl-0.18 "static") + ,@(package-inputs gcc-5))) (native-inputs (if (%current-target-system) `(;; When doing a Canadian cross, we need GMP/MPFR/MPC both @@ -527,12 +527,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ("gmp-native" ,gmp) ("mpfr-native" ,mpfr) ("mpc-native" ,mpc) - ,@(package-native-inputs gcc)) - (package-native-inputs gcc)))))) + ,@(package-native-inputs gcc-5)) + (package-native-inputs gcc-5)))))) (define %gcc-stripped ;; The subset of GCC files needed for bootstrap. - (package (inherit gcc) + (package (inherit gcc-5) (name "gcc-stripped") (build-system trivial-build-system) (source #f) diff --git a/gnu/packages/patches/gcc-5-hurd.patch b/gnu/packages/patches/gcc-5-hurd.patch new file mode 100644 index 0000000000..ae66424243 --- /dev/null +++ b/gnu/packages/patches/gcc-5-hurd.patch @@ -0,0 +1,63 @@ +This patch is needed to build gcc-5.5.0 on the Hurd. + +Backported from upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=6cd9cb89ebdc1e1394b81c4a418c2b3b0eb86c57 + +commit b590b96ebc3f5b42a4829170e069722dd940e2543 +Author: jason +Date: Sat May 9 04:50:23 2015 +0000 + + * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. + * src/c++98/Makefile.in: Regenerate. + * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. + * src/Makefile.in: Regenerate. + + git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222964 138bc75d-0d04-0410-961f-82ee72b054a4 + +diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am +index a5f48b22c6d..cd07ccd81bc 100644 +--- a/libstdc++-v3/src/Makefile.am ++++ b/libstdc++-v3/src/Makefile.am +@@ -168,6 +168,7 @@ compatibility-condvar.o: compatibility-condvar.cc + # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden + # as the occasion calls for it. + AM_CXXFLAGS = \ ++ -std=gnu++98 \ + $(glibcxx_compiler_pic_flag) \ + $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ + $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) +diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in +index 433f9ea121a..31b56282e26 100644 +--- a/libstdc++-v3/src/Makefile.in ++++ b/libstdc++-v3/src/Makefile.in +@@ -429,6 +429,7 @@ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS) + # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden + # as the occasion calls for it. + AM_CXXFLAGS = \ ++ -std=gnu++98 \ + $(glibcxx_compiler_pic_flag) \ + $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ + $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) +diff --git a/libstdc++-v3/src/c++98/Makefile.am b/libstdc++-v3/src/c++98/Makefile.am +index e348dfb1205..a5b68a19a8b 100644 +--- a/libstdc++-v3/src/c++98/Makefile.am ++++ b/libstdc++-v3/src/c++98/Makefile.am +@@ -215,6 +215,7 @@ parallel_settings.o: parallel_settings.cc + # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden + # as the occasion calls for it. + AM_CXXFLAGS = \ ++ -std=gnu++98 \ + $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ + $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ + $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) +diff --git a/libstdc++-v3/src/c++98/Makefile.in b/libstdc++-v3/src/c++98/Makefile.in +index 3c69791bb66..ce86136906b 100644 +--- a/libstdc++-v3/src/c++98/Makefile.in ++++ b/libstdc++-v3/src/c++98/Makefile.in +@@ -421,6 +421,7 @@ PARALLEL_FLAGS = -D_GLIBCXX_PARALLEL + # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden + # as the occasion calls for it. + AM_CXXFLAGS = \ ++ -std=gnu++98 \ + $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ + $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ + $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) -- cgit 1.4.1 From fef77109370e6bda675297f74ac1073bfe5518ec Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 16 Mar 2020 08:17:16 +0100 Subject: gnu: bootstrap: Use fall-back mechanism for bootstrap-executables. * gnu/packages/bootstrap.scm (%bootstrap-executable-base-urls): New variable. Add lilypond.org url as a fall-back. (bootstrap-executable-file-name): New function. (bootstrap-executable): Use them to implement fall-back for donwloads of bootstrap executables. --- gnu/packages/bootstrap.scm | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 0fbe8ef64a..63760c7555 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -114,12 +114,17 @@ ("xz" ,(base32 "09j1d69qr0hhhx4k4ih8wp00dfc9y4rp01hfg3vc15yxd0jxabh5"))))) -(define (bootstrap-executable-url program system) - "Return the URL where PROGRAM can be found for SYSTEM." - (string-append - "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/" - system "/" program - "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e")) +(define %bootstrap-executable-base-urls + ;; This is where the bootstrap executables come from. + '("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/" + "http://lilypond.org/janneke/guix/")) + +(define (bootstrap-executable-file-name system program) + "Return the FILE-NAME part of url where PROGRAM can be found for SYSTEM." + (match system + ("i586-gnu" (string-append system "/20200315/" program)) + (_ (string-append system "/" program + "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e")))) (define bootstrap-executable (mlambda (program system) @@ -140,7 +145,9 @@ for system '~a'") ((sha256) (origin (method url-fetch/executable) - (uri (bootstrap-executable-url program system)) + (uri (map (cute string-append <> + (bootstrap-executable-file-name system program)) + %bootstrap-executable-base-urls)) (file-name program) (sha256 sha256))))))) -- cgit 1.4.1 From 3342a1182b15ec031f0ec6f602fd96c1dca3d4b0 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 26 Mar 2020 07:39:13 +0100 Subject: gnu: make-bootstrap: Use _IOLBF on Guile 2.0 only. * gnu/packages/make-bootstrap.scm (%binutils-static-stripped, %gcc-stripped, %bootstrap-tarballs)[arguments]: Wrap use of '_IOLBF' in 'cond-expand' and use 'line instead on Guile > 2.0. --- gnu/packages/make-bootstrap.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index f8d782f5ab..b3610afc8e 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -405,7 +405,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (begin (use-modules (guix build utils)) - (setvbuf (current-output-port) _IOLBF) + (setvbuf (current-output-port) + (cond-expand (guile-2.0 _IOLBF) (else 'line))) (let* ((in (assoc-ref %build-inputs "binutils")) (out (assoc-ref %outputs "out")) (bin (string-append out "/bin"))) @@ -545,7 +546,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (srfi srfi-26) (guix build utils)) - (setvbuf (current-output-port) _IOLBF) + (setvbuf (current-output-port) + (cond-expand (guile-2.0 _IOLBF) (else 'line))) (let* ((out (assoc-ref %outputs "out")) (bindir (string-append out "/bin")) (libdir (string-append out "/lib")) @@ -869,7 +871,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (ice-9 match) (srfi srfi-26)) - (setvbuf (current-output-port) _IOLBF) + (setvbuf (current-output-port) + (cond-expand (guile-2.0 _IOLBF) (else 'line))) (mkdir out) (chdir out) (for-each (match-lambda -- cgit 1.4.1 From 6741f543e6f09069961edd741cd210b7f49aadcc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 31 Jan 2020 16:28:23 +0200 Subject: gnu: bootstrap: Add support for the Hurd. On 3342a1182b15ec031f0ec6f602fd96c1dca3d4b0 gnu: make-bootstrap: Use _IOLBF on Guile 2.0 only. Run ./pre-inst-env guix build --target=i586-pc-gnu bootstrap-tarballs --verbosity=1 Producing /gnu/store/lhca65c997pvic5cfrpm0dasniwqlg2a-bootstrap-tarballs-0 With guix hash -rx /gnu/store/lhca65c997pvic5cfrpm0dasniwqlg2a-bootstrap-tarballs-0 07jnq2by98f2a45k8wd2gj62iazvwfa4z7p3w3id4m1g0fdsvc3b * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for the Hurd. (bootstrap-executable-url): Use lilypond url for the Hurd. (bootstrap-guile-url-path): Likewise. (bootstrap-guile-hash): Add entry for the Hurd. (%bootstrap-coreutils&co): Likewise. (%bootstrap-binutils): Likewise. (%bootstrap-glibc): Likewise. (%bootstrap-gcc): Likewise. * guix/packages.scm (%supported-systems): Add i586-gnu. Co-authored-by: Jan Nieuwenhuizen --- gnu/packages/bootstrap.scm | 41 +++++++++++++++++++++++++++++++++++++---- guix/packages.scm | 4 ++-- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 63760c7555..f58ce2de93 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -1,8 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver -;;; Copyright © 2017 Efraim Flashner -;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2017, 2020 Efraim Flashner +;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2019 Carl Dong ;;; ;;; This file is part of GNU Guix. @@ -104,6 +104,15 @@ ,(base32 "07830bx29ad5i0l1ykj0g0b1jayjdblf01sr3ww9wbnwdbzinqms")) ("xz" ,(base32 "0i9kxdi17bm5gxfi2xzm0y73p3ii0cqxli1sbljm6rh2fjgyn90k"))) + ("i586-gnu" + ("bash" + ,(base32 "1as8649aqaibahhhrvkj10ci8shpi4hq5n7gnik8rhhy0dc1jarg")) + ("mkdir" + ,(base32 "1snqgpfrl00hfn82lm29jqylzjsfb9jd6ha74dp12phwb8fpbmb9")) + ("tar" + ,(base32 "0nq2c1zb3wv5bf7kd83sziaashydazrn7xgq6kijlk0zj2syzc2m")) + ("xz" + ,(base32 "033rhpk6zrpxpd6ffjyg5y2zwq9x9cnq0zljb7k8jlncbalsayq5"))) ("mips64el-linux" ("bash" ,(base32 "1aw046dhda240k9pb9iaj5aqkm23gkvxa9j82n4k7fk87nbrixw6")) @@ -122,7 +131,7 @@ (define (bootstrap-executable-file-name system program) "Return the FILE-NAME part of url where PROGRAM can be found for SYSTEM." (match system - ("i586-gnu" (string-append system "/20200315/" program)) + ("i586-gnu" (string-append system "/20200326/" program)) (_ (string-append system "/" program "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e")))) @@ -319,6 +328,8 @@ or false to signal an error." "/20170217/guile-2.0.14.tar.xz") ("armhf-linux" "/20150101/guile-2.0.11.tar.xz") + ("i586-gnu" + "/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz") (_ "/20131110/guile-2.0.9.tar.xz")))) @@ -334,7 +345,9 @@ or false to signal an error." ("armhf-linux" (base32 "1mi3brl7l58aww34rawhvja84xc7l1b4hmwdmc36fp9q9mfx0lg5")) ("aarch64-linux" - (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")))) + (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")) + ("i586-gnu" + (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac")))) (define (bootstrap-guile-origin system) "Return an object for the Guile tarball of SYSTEM." @@ -464,6 +477,8 @@ $out/bin/guile --version~%" "/20150101/static-binaries.tar.xz") ("aarch64-linux" "/20170217/static-binaries.tar.xz") + ("i586-gnu" + "/20200326/static-binaries-0-i586-pc-gnu.tar.xz") (_ "/20131110/static-binaries.tar.xz"))) %bootstrap-base-urls)) @@ -481,6 +496,9 @@ $out/bin/guile --version~%" ("aarch64-linux" (base32 "18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4lpdgqlccpfh")) + ("i586-gnu" + (base32 + "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn")) ("mips64el-linux" (base32 "072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753")))))) @@ -527,6 +545,8 @@ $out/bin/guile --version~%" "/20150101/binutils-2.25.tar.xz") ("aarch64-linux" "/20170217/binutils-2.27.tar.xz") + ("i586-gnu" + "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz") (_ "/20131110/binutils-2.23.2.tar.xz"))) %bootstrap-base-urls)) @@ -544,6 +564,9 @@ $out/bin/guile --version~%" ("aarch64-linux" (base32 "111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n")) + ("i586-gnu" + (base32 + "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs")) ("mips64el-linux" (base32 "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7")))))) @@ -597,6 +620,8 @@ $out/bin/guile --version~%" "/20150101/glibc-2.20.tar.xz") ("aarch64-linux" "/20170217/glibc-2.25.tar.xz") + ("i586-gnu" + "/20200326/glibc-stripped-2.31-i586-pc-gnu.tar.xz") (_ "/20131110/glibc-2.18.tar.xz"))) %bootstrap-base-urls)) @@ -614,6 +639,9 @@ $out/bin/guile --version~%" ("aarch64-linux" (base32 "07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742nvv5c")) + ("i586-gnu" + (base32 + "14ddm10lpbas8bankmn5bcrlqvz1v5dnn1qjzxb19r57vd2w5952")) ("mips64el-linux" (base32 "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg"))))))))) @@ -683,6 +711,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ "/20150101/gcc-4.8.4.tar.xz") ("aarch64-linux" "/20170217/gcc-5.4.0.tar.xz") + ("i586-gnu" + "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz") (_ "/20131110/gcc-4.8.2.tar.xz"))) %bootstrap-base-urls)) @@ -700,6 +730,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ ("aarch64-linux" (base32 "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1")) + ("i586-gnu" + (base32 + "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5")) ("mips64el-linux" (base32 "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks"))))))))) diff --git a/guix/packages.scm b/guix/packages.scm index 5c6d1a92d5..1ae16b60d1 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Alex Kost -;;; Copyright © 2017, 2019 Efraim Flashner +;;; Copyright © 2017, 2019, 2020 Efraim Flashner ;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -232,7 +232,7 @@ name of its URI." (define %supported-systems ;; This is the list of system types that are supported. By default, we ;; expect all packages to build successfully here. - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux")) + '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux" "i586-gnu")) (define %hurd-systems ;; The GNU/Hurd systems for which support is being developed. -- cgit 1.4.1 From 9820d6eda66e0056e2969bcc16a2564c065baaec Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 03:41:49 -0500 Subject: gnu: java-jansi-native: Compile fix for the Hurd. * gnu/packages/java.scm (java-jansi-native): Add catch-all clause; fixes running guix refresh. --- gnu/packages/java.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c9d59bbabd..edf8d3ce8e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Chris Marusich ;;; Copyright © 2018, 2019 Efraim Flashner ;;; Copyright © 2019, 2020 Björn Höfling +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -10137,7 +10138,8 @@ that is part of the SWT Tools project.") "linux32") ((or "x86_64-linux" "aarch64-linux" "mips64el-linux") - "linux64"))))) + "linux64") + (_ "unknown-kernel"))))) (install-file "src/main/native-package/src/libjansi.so" dir)) #t)) (add-after 'install 'install-native -- cgit 1.4.1 From 846f5da1296c09d667179c7da2cbb18929bcde67 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 26 Feb 2020 20:22:18 -0500 Subject: gnu: make: Support for the Hurd. * gnu/packages/base.scm (gnu-make): Use fork/exec rather than posix_spawn on the Hurd. Also, add __alloca linkage workaround. --- gnu/packages/base.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5c976aee52..aa5200294f 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -369,7 +369,11 @@ standard.") (inputs `(("guile" ,guile-3.0))) (outputs '("out" "debug")) (arguments - '(#:phases + `(,@(if (hurd-target?) + '(#:configure-flags '("CFLAGS=-D__alloca=alloca" + "ac_cv_func_posix_spawn=no")) + '()) + #:phases (modify-phases %standard-phases (add-before 'build 'set-default-shell (lambda* (#:key inputs #:allow-other-keys) -- cgit 1.4.1 From a50bbf44c7f24067fcb3f2ee1f16d5b7f28226b7 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 1 Mar 2020 13:49:04 +0100 Subject: gnu: commencement: gnumach-headers-boot0: Build from tarball. The 'gnumach-headers' package now uses a git checkout and added dependencies on autoconf, automake and texinfo to build. Using those in commencement creates a bootstrap loop. So, revert to a tarball release. * gnu/packages/commencement.scm (gnumach-headers-boot0): Build from tarball; remove autoconf, automake, texinfo bootstrap dependencies. --- gnu/packages/commencement.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 65797af244..c436a78792 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3028,7 +3028,20 @@ exec " gcc "/bin/" program %bootstrap-guile)) (define gnumach-headers-boot0 - (with-boot0 (package-with-bootstrap-guile gnumach-headers))) + (with-boot0 + (package-with-bootstrap-guile + (package + (inherit gnumach-headers) + (version "1.8") + (source (bootstrap-origin + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gnumach/gnumach-" + version ".tar.gz")) + (sha256 + (base32 + "02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f"))))) + (native-inputs '()))))) (define mig-boot0 (let* ((mig (package -- cgit 1.4.1 From c9c5e032c34a3d643b9de52eb3705a948e90440c Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 1 Mar 2020 13:50:40 +0100 Subject: gnu: commencement: hurd-headers-boot0: Build from tarball. The 'hurd-headers' package now uses a git checkout and added dependencies on autoconf and automake to build. Using those in commencement creates a bootstrap loop. So, revert to a tarball release. * gnu/packages/commencement.scm (hurd-version-boot0, hurd-source-boot0): New variable. (hurd-headers-boot0): Use it to build from tarball; remove autoconf, automake, texinfo bootstrap dependencies. --- gnu/packages/commencement.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index c436a78792..7e4aeafb31 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3055,10 +3055,24 @@ exec " gcc "/bin/" program (assoc-ref %build-inputs "flex") "/lib/"))))))) (with-boot0 mig))) +(define hurd-version-boot0 "0.9") +(define hurd-source-boot0 + (let ((version hurd-version-boot0)) + (bootstrap-origin + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/hurd/hurd-" + version ".tar.gz")) + (sha256 + (base32 + "1nw9gly0n7pyv3cpfm4mmxy4yccrx4g0lyrvd3vk2vil26jpbggw")))))) + (define hurd-headers-boot0 (let ((hurd-headers (package (inherit hurd-headers) - (native-inputs `(("mig" ,mig-boot0))) - (inputs '())))) + (version hurd-version-boot0) + (source hurd-source-boot0) + (native-inputs `(("mig" ,mig-boot0))) + (inputs '())))) (with-boot0 (package-with-bootstrap-guile hurd-headers)))) (define hurd-minimal-boot0 -- cgit 1.4.1 From 0c7b63e065d7e3c167fef2473e1158e9eff70dc5 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 1 Mar 2020 13:52:14 +0100 Subject: gnu: commencement: hurd-minimal-boot0: Build from tarball. The 'hurd-minimal' package (via hurd-headers) now uses a git checkout and added dependencies on autoconf, automake and teiinfo to build. Using those in commencement creates a bootstrap loop. So, revert to a tarball release. * gnu/packages/commencement.scm (hurd-minimal-boot0): Build from tarball; remove autoconf, automake, texinfo bootstrap dependencies. --- gnu/packages/commencement.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7e4aeafb31..7e3109fca7 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3077,8 +3077,10 @@ exec " gcc "/bin/" program (define hurd-minimal-boot0 (let ((hurd-minimal (package (inherit hurd-minimal) - (native-inputs `(("mig" ,mig-boot0))) - (inputs '())))) + (version hurd-version-boot0) + (source hurd-source-boot0) + (native-inputs `(("mig" ,mig-boot0))) + (inputs '())))) (with-boot0 (package-with-bootstrap-guile hurd-minimal)))) (define hurd-core-headers-boot0 -- cgit 1.4.1 From 05a852d8dda891dfd7f7e5d3f8c475ce378b1396 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 2 Mar 2020 23:59:56 -0500 Subject: gnu: commencement: glibc-intermediate: Build fixes for the Hurd. * gnu/packages/commencement.scm (glibc-intermediate): Configure with --disable-werror, update pthreads workaround. --- gnu/packages/commencement.scm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7e3109fca7..446e3260ae 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3230,7 +3230,9 @@ the bootstrap environment." ((#:configure-flags flags) `(append (list ,(string-append "--host=" (boot-triplet)) ,(string-append "--build=" - (nix-system->gnu-triplet))) + (nix-system->gnu-triplet)) + ,(if (hurd-system?) "--disable-werror" + "")) ,flags)) ((#:phases phases) `(modify-phases ,phases @@ -3241,13 +3243,14 @@ the bootstrap environment." (unsetenv "CPATH") ;; Tell 'libpthread' where to find 'libihash' on Hurd systems. - ,@(if (hurd-triplet? (%current-system)) - `((substitute* "libpthread/Makefile" - (("LDLIBS-pthread.so =.*") - (string-append "LDLIBS-pthread.so = " - (assoc-ref %build-inputs "kernel-headers") - "/lib/libihash.a\n")))) - '()) + ,@(if (hurd-system?) + '((substitute* '("sysdeps/mach/Makefile" + "sysdeps/mach/hurd/Makefile") + (("LDLIBS-pthread.so =.*") + (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" @@ -3268,7 +3271,7 @@ the bootstrap environment." ,@(%boot1-inputs) ;; A native MiG is needed to build Glibc on Hurd. - ,@(if (hurd-triplet? (%current-system)) + ,@(if (hurd-system?) `(("mig" ,mig-boot0)) '()) -- cgit 1.4.1 From 61249ba27cc1e2366b930ba6955baee60cca8b1c Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 3 Mar 2020 00:00:53 -0500 Subject: gnu: commencement: hurd-source: Update to latest git. * gnu/packages/commencement.scm (hurd-source-version): Update to 0.9-229-ga1efcee8. (hurd-source-boot0): Update url to updated lilypond tarball. --- gnu/packages/commencement.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 446e3260ae..342b2a3ba1 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3055,17 +3055,17 @@ exec " gcc "/bin/" program (assoc-ref %build-inputs "flex") "/lib/"))))))) (with-boot0 mig))) -(define hurd-version-boot0 "0.9") +(define hurd-version-boot0 "0.9-229-ga1efcee8") (define hurd-source-boot0 (let ((version hurd-version-boot0)) (bootstrap-origin (origin (method url-fetch) - (uri (string-append "mirror://gnu/hurd/hurd-" - version ".tar.gz")) + (uri (string-append "https://lilypond.org/janneke/hurd/" + "hurd-v" version ".tar.gz")) (sha256 (base32 - "1nw9gly0n7pyv3cpfm4mmxy4yccrx4g0lyrvd3vk2vil26jpbggw")))))) + "0bq2q2jisxcy0kgcm6rz0z2fddwxxm7azsama7li28a2m08kdpzy")))))) (define hurd-headers-boot0 (let ((hurd-headers (package (inherit hurd-headers) -- cgit 1.4.1 From 1320885ffa006ace07fe7fb59ba6a09ae112e823 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 3 Mar 2020 00:37:14 -0500 Subject: gnu: commencement: gnumach-headers-boot0: Update to 1.8-116-g28b53508. * gnu/packages/commencement.scm (gnumach-headers-boot0): Update to 1.8-116-g28b53508. --- gnu/packages/commencement.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 342b2a3ba1..ea80c5048a 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3032,15 +3032,15 @@ exec " gcc "/bin/" program (package-with-bootstrap-guile (package (inherit gnumach-headers) - (version "1.8") + (version "1.8-116-g28b53508") (source (bootstrap-origin (origin (method url-fetch) - (uri (string-append "mirror://gnu/gnumach/gnumach-" - version ".tar.gz")) + (uri (string-append "https://lilypond.org/janneke/hurd/" + "gnumach-" version ".tar.gz")) (sha256 (base32 - "02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f"))))) + "006i0zgwy81vxarpfm12vip4q6i5mgmi5mmy5ldvxp5hx9h3l0zg"))))) (native-inputs '()))))) (define mig-boot0 -- cgit 1.4.1 From aaa4cb0caddd594188153da37d3eb9509de90289 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 3 Mar 2020 20:14:24 +0100 Subject: gnu: commencement: glibc-final: Allow gnumach-headers references. * gnu/packages/commencement.scm (glibc-final): Allow gnumach-headers-boot0 references for the Hurd. --- gnu/packages/commencement.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index ea80c5048a..09758d1c3f 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3426,10 +3426,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; if 'allowed-references' were per-output. (arguments `(#:allowed-references - ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0) - static-bash-for-glibc - (package-outputs glibc-final-with-bootstrap-bash)) - + ((,gcc-boot0 "lib") + ,(kernel-headers-boot0) + ,static-bash-for-glibc + ,@(if (hurd-system?) + `(,gnumach-headers-boot0 + ,hurd-headers-boot0) + '()) + ,@(package-outputs glibc-final-with-bootstrap-bash)) ,@(package-arguments glibc-final-with-bootstrap-bash))))) (define gcc-boot0-wrapped -- cgit 1.4.1 From 496d607db3cf1e438ffd1526c4153be551bbef50 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 8 Mar 2020 14:07:51 -0400 Subject: gnu: hurd: Update to hurd-headers version: 0.9-91a51672. * gnu/packages/patches/hurd-cross.patch: New file. * gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch: Remove unused file. * gnu/local.mk (dist_patch_DATA): Update admin. * gnu/packages/hurd.scm (hurd): Update to latest git master: version and source from hurd-headers; Add hurd-cross patch. --- gnu/local.mk | 2 +- gnu/packages/hurd.scm | 18 ++++++------ gnu/packages/patches/hurd-cross.patch | 33 ++++++++++++++++++++++ .../hurd-fix-eth-multiplexer-dependency.patch | 26 ----------------- 4 files changed, 42 insertions(+), 37 deletions(-) create mode 100644 gnu/packages/patches/hurd-cross.patch delete mode 100644 gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1b268fd1c7..f80f577f00 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1038,7 +1038,7 @@ dist_patch_DATA = \ %D%/packages/patches/hdf-eos5-fortrantests.patch \ %D%/packages/patches/higan-remove-march-native-flag.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ - %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ + %D%/packages/patches/hurd-cross.patch \ %D%/packages/patches/hplip-remove-imageprocessor.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-makeicecat.patch \ diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 59d5c31e33..b2a53b5f41 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -282,14 +282,9 @@ Hurd-minimal package which are needed for both glibc and GCC.") (define-public hurd (package (name "hurd") - (version "0.9") - (source (origin - (method url-fetch) - (uri (hurd-source-url version)) - (sha256 - (base32 - "1nw9gly0n7pyv3cpfm4mmxy4yccrx4g0lyrvd3vk2vil26jpbggw")) - (patches (search-patches "hurd-fix-eth-multiplexer-dependency.patch")))) + (version (package-version hurd-headers)) + (source (origin (inherit (package-source hurd-headers)) + (patches (search-patches "hurd-cross.patch")))) (arguments `(#:phases (modify-phases %standard-phases @@ -308,8 +303,11 @@ Hurd-minimal package which are needed for both glibc and GCC.") (build-system gnu-build-system) (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers))) (native-inputs - `(("mig" ,mig) - ("perl" ,perl))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("mig" ,mig) + ("perl" ,perl) + ("texinfo" ,texinfo-4))) (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "The kernel servers for the GNU operating system") diff --git a/gnu/packages/patches/hurd-cross.patch b/gnu/packages/patches/hurd-cross.patch new file mode 100644 index 0000000000..cc95dddccc --- /dev/null +++ b/gnu/packages/patches/hurd-cross.patch @@ -0,0 +1,33 @@ +This fixes linking libfstest/test-fcntl (and others). + +As discussed with upstream: https://lists.gnu.org/archive/html/bug-hurd/2020-03/msg00018.html + +From 96a9f67a8685e713f25259c18306797d54cc27a5 Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Sat, 14 Mar 2020 11:28:31 +0100 +Subject: [PATCH] build: Fix cross build on Guix. + +As discussed in https://lists.gnu.org/archive/html/bug-hurd/2020-03/msg00018.html. + +* Makeconf (lpath): Add -Wl,-rpath-link= next to -L. +--- + Makeconf | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makeconf b/Makeconf +index 67f7ab1c..f68ff6e3 100644 +--- a/Makeconf ++++ b/Makeconf +@@ -325,7 +325,8 @@ _libsubst=${libsubst$(patsubst %,-override,${libsubst-override})} + + # Direct the linker where to find shared objects specified in the + # dependencies of other shared objects it encounters. +-lpath := -L. $(patsubst %,-L%,$(dir $(wildcard ../lib*/lib*.so))) ++lib_dirs := $(dir $(wildcard ../lib*/lib*.so)) ++lpath := -L. $(lib_dirs:%=-L%) $(lib_dirs:%=-Wl,-rpath-link=%) + + # Main rule to link executables + # +-- +2.24.0 + diff --git a/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch b/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch deleted file mode 100644 index 5f0da3eab3..0000000000 --- a/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ef0399bad41e60cb30d5073129abeb206076394a Mon Sep 17 00:00:00 2001 -From: Manolis Ragkousis -Date: Sat, 8 Apr 2017 16:44:52 +0300 -Subject: [PATCH] eth-multiplexer: Fix iohelp missing dependency. - -* eth-multiplexer/Makefile (HURDLIBS): Add iohelp. ---- - eth-multiplexer/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/eth-multiplexer/Makefile b/eth-multiplexer/Makefile -index 07f909e7..cefa0abd 100644 ---- a/eth-multiplexer/Makefile -+++ b/eth-multiplexer/Makefile -@@ -26,7 +26,7 @@ MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h - device-MIGSFLAGS="-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name" - OBJS = $(SRCS:.c=.o) $(MIGSTUBS) - LCLHDRS = ethernet.h util.h vdev.h netfs_impl.h --HURDLIBS = ports ihash fshelp shouldbeinlibc netfs bpf -+HURDLIBS = ports ihash iohelp fshelp shouldbeinlibc netfs bpf - LDLIBS = -lpthread - - CFLAGS += -I$(top_srcdir)/libbpf --- -2.12.2 - -- cgit 1.4.1 From 9c3b28b911ef8774f42d35d500a86fb25bd50d3c Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Sun, 7 Aug 2016 17:48:30 +0300 Subject: daemon: Do not use clone on the Hurd. Checking for CLONE_NEWNS is only needed for using tha Linux specific clone(2), otherwise we can use fork(2). Using clone on the Hurd needs some work, only support LINUX for now. See https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00190.html * nix/libstore/build.cc (CHROOT_ENABLED): Break into CHROOT_ENABLED and CLONE_ENABLED. (DerivationGoal::startBuilder): Replace CHROOT_ENABLED with __linux__. (DerivationGoal::runChild): Only define pivot_root() if SYS_pivot_root is defined. Co-authored-by: Jan Nieuwenhuizen --- nix/libstore/build.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index 17e92c68a7..29266f1dd6 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -52,7 +52,12 @@ #endif -#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(MS_PRIVATE) && defined(CLONE_NEWNS) && defined(SYS_pivot_root) +#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(MS_PRIVATE) +#define CLONE_ENABLED defined(CLONE_NEWNS) + +#if defined(SYS_pivot_root) +#define pivot_root(new_root, put_old) (syscall(SYS_pivot_root, new_root,put_old)) +#endif #if CHROOT_ENABLED #include @@ -2005,7 +2010,7 @@ void DerivationGoal::startBuilder() - The UTS namespace ensures that builders see a hostname of localhost rather than the actual hostname. */ -#if CHROOT_ENABLED +#if __linux__ if (useChroot) { char stack[32 * 1024]; int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | SIGCHLD; @@ -2186,10 +2191,8 @@ void DerivationGoal::runChild() if (mkdir("real-root", 0) == -1) throw SysError("cannot create real-root directory"); -#define pivot_root(new_root, put_old) (syscall(SYS_pivot_root, new_root, put_old)) if (pivot_root(".", "real-root") == -1) throw SysError(format("cannot pivot old root directory onto '%1%'") % (chrootRootDir + "/real-root")); -#undef pivot_root if (chroot(".") == -1) throw SysError(format("cannot change root directory to '%1%'") % chrootRootDir); -- cgit 1.4.1 From d0ed201e0a9736c64cb3c59d8c987c79fd6046d6 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Wed, 28 Dec 2016 02:49:22 +0200 Subject: daemon: Avoid kill -1 bug on the Hurd. This allows for native builds on the Hurd, doing sudo ./pre-inst-env guix-daemon --disable-chroot --build-users-group=guixbuild & ./pre-inst-env guix build hello * nix/libutil/util.cc (killUser)[__GNU__]: Avoid kill -1 bug; kill only current process and ignore SIGKILL status in parent. Co-authored-by: Jan Nieuwenhuizen --- nix/libutil/util.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc index fb2dfad1f7..17d145b4c6 100644 --- a/nix/libutil/util.cc +++ b/nix/libutil/util.cc @@ -861,6 +861,10 @@ void killUser(uid_t uid) which means "follow POSIX", which we don't want here */ if (syscall(SYS_kill, -1, SIGKILL, false) == 0) break; +#elif __GNU__ + /* Killing all a user's processes using PID=-1 does currently + not work on the Hurd. */ + if (kill(getpid(), SIGKILL) == 0) break; #else if (kill(-1, SIGKILL) == 0) break; #endif @@ -873,6 +877,10 @@ void killUser(uid_t uid) }); int status = pid.wait(true); +#if __GNU__ + /* When the child killed itself, status = SIGKILL. */ + if (status == SIGKILL) return; +#endif if (status != 0) throw Error(format("cannot kill processes for uid `%1%': %2%") % uid % statusToString(status)); -- cgit 1.4.1 From 7baa8c78983424497f5db522243e9e396c99eb12 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 14:55:35 +0100 Subject: gnu: less: Build fix for the Hurd. * gnu/packages/patches/less-hurd-path-max.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/less.scm (less): Use it. --- gnu/local.mk | 1 + gnu/packages/less.scm | 3 +++ gnu/packages/patches/less-hurd-path-max.patch | 36 +++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 gnu/packages/patches/less-hurd-path-max.patch diff --git a/gnu/local.mk b/gnu/local.mk index f80f577f00..5f5b449ab2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1110,6 +1110,7 @@ dist_patch_DATA = \ %D%/packages/patches/ldc-bootstrap-disable-tests.patch \ %D%/packages/patches/ldc-disable-phobos-tests.patch \ %D%/packages/patches/leela-zero-gtest.patch \ + %D%/packages/patches/less-hurd-path-max.patch \ %D%/packages/patches/liba52-enable-pic.patch \ %D%/packages/patches/liba52-link-with-libm.patch \ %D%/packages/patches/liba52-set-soname.patch \ diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm index 91c269a67e..d01a423d28 100644 --- a/gnu/packages/less.scm +++ b/gnu/packages/less.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ (define-module (gnu packages less) #:use-module (guix licenses) + #:use-module (gnu packages) #:use-module (gnu packages ncurses) #:use-module (guix packages) #:use-module (guix download) @@ -35,6 +37,7 @@ version ".tar.gz") (string-append "http://www.greenwoodsoftware.com/less/less-" version ".tar.gz"))) + (patches (search-patches "less-hurd-path-max.patch")) (sha256 (base32 "0ggyjl3yzn7c450zk1rixi9ls6asdhgqynhk34zsd0ckhmsm45pz")))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/less-hurd-path-max.patch b/gnu/packages/patches/less-hurd-path-max.patch new file mode 100644 index 0000000000..4d23a08788 --- /dev/null +++ b/gnu/packages/patches/less-hurd-path-max.patch @@ -0,0 +1,36 @@ +Avoid usage of PATH_MAX. + +Submitted to bug-less@gnu.org. + +From ef652341ed8b2c14ac40312ccd4ed329cb69fd0c Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Sat, 7 Mar 2020 14:57:19 +0100 +Subject: [PATCH] Avoid usage of PATH_MAX. + +* filename.c (lrealpath): Have realpath allocate the buffer. Fixes +compilation on the Hurd and avoids possible buffer overflow on other +systems. +--- + filename.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/filename.c b/filename.c +index e420837..faa71b0 100644 +--- a/filename.c ++++ b/filename.c +@@ -795,9 +795,9 @@ lrealpath(path) + char *path; + { + #if HAVE_REALPATH +- char rpath[PATH_MAX]; +- if (realpath(path, rpath) != NULL) +- return (save(rpath)); ++ char *rpath = NULL; ++ if ((rpath = realpath(path, rpath)) != NULL) ++ return (rpath); + #endif + return (save(path)); + } +-- +2.24.0 + -- cgit 1.4.1 From 9dd9e8fabfd0b3f3d11e8e26a7aa13d1b0ceea49 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 8 Mar 2020 20:07:24 -0400 Subject: gnu: fontconfig: Build fix for the Hurd. * gnu/packages/patches/fontconfig-hurd-path-max.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/fontutils.scm (fontconfig): Use it. --- gnu/local.mk | 1 + gnu/packages/fontutils.scm | 1 + gnu/packages/patches/fontconfig-hurd-path-max.patch | 17 +++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 gnu/packages/patches/fontconfig-hurd-path-max.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5f5b449ab2..2ab58b9cf9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -886,6 +886,7 @@ dist_patch_DATA = \ %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/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ %D%/packages/patches/gawk-shell.patch \ diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 6784dc7cf6..ba0d075900 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -296,6 +296,7 @@ fonts to/from the WOFF2 format.") (uri (string-append "https://www.freedesktop.org/software/fontconfig/release/fontconfig-" version ".tar.bz2")) + (patches (search-patches "fontconfig-hurd-path-max.patch")) (sha256 (base32 "0hb700a68kk0ip51wdlnjjc682kvlrmb6q920mzajykdk0mdsmgn")))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/fontconfig-hurd-path-max.patch b/gnu/packages/patches/fontconfig-hurd-path-max.patch new file mode 100644 index 0000000000..f804e6801f --- /dev/null +++ b/gnu/packages/patches/fontconfig-hurd-path-max.patch @@ -0,0 +1,17 @@ +Avoid usage of PATH_MAX. + +Taken from https://salsa.debian.org/freedesktop-team/fontconfig/-/blob/master/debian/patches/path_max.patch + +Index: fontconfig-2.13.1/src/fccfg.c +=================================================================== +--- fontconfig-2.13.1.orig/src/fccfg.c ++++ fontconfig-2.13.1/src/fccfg.c +@@ -2231,7 +2231,7 @@ FcConfigRealFilename (FcConfig *config, + + if (n) + { +- FcChar8 buf[PATH_MAX]; ++ FcChar8 buf[FC_PATH_MAX]; + ssize_t len; + + if (sysroot) -- cgit 1.4.1 From 1a9b3faaf25c40552e100f4a00bef8f0a32ba1dc Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 02:35:00 -0500 Subject: gnu: shadow: Add linux-pam dependency for the Hurd. * gnu/packages/admin.scm (shadow): Also include linux-pam dependency for the Hurd. --- gnu/packages/admin.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index f5cebc0283..a296d6cacf 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2019 Guillaume Le Vaillant ;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; Copyright © 2020 Oleg Pykhalov +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -503,11 +504,7 @@ hostname.") (for-each delete-file (find-files man "^groups\\.")) #t)))))) - (inputs (if (string-contains (or (%current-target-system) - (%current-system)) - "-linux") - `(("linux-pam" ,linux-pam)) - '())) + (inputs `(("linux-pam" ,linux-pam))) (home-page "https://github.com/shadow-maint/shadow") (synopsis "Authentication-related tools such as passwd, su, and login") (description -- cgit 1.4.1 From 22ee7209797c023b95e22ced156df62cbff90184 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 04:05:02 -0500 Subject: gnu: pciutils: Build fixes for the Hurd. * gnu/packages/linux.scm (kmod)[supported-systems]: Remove the Hurd. * gnu/packages/patches/pciutils-hurd-configure.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/pciutils.scm (pciutils): Use it. [inputs]: Include kmod only for supported systems. --- gnu/local.mk | 1 + gnu/packages/linux.scm | 1 + gnu/packages/patches/pciutils-hurd-configure.patch | 35 ++++++++++++++++++++++ gnu/packages/pciutils.scm | 10 ++++++- 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/pciutils-hurd-configure.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2ab58b9cf9..b25d369e07 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1281,6 +1281,7 @@ dist_patch_DATA = \ %D%/packages/patches/p7zip-remove-unused-code.patch \ %D%/packages/patches/pam-mount-luks2-support.patch \ %D%/packages/patches/pango-skip-libthai-test.patch \ + %D%/packages/patches/pciutils-hurd-configure.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ %D%/packages/patches/sdl-pango-fillrect_crash.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b73b86b0e8..3abfc469ba 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2784,6 +2784,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.") '("insmod" "rmmod" "lsmod" "modprobe" "modinfo" "depmod")) #t)))))) + (supported-systems (delete "i586-gnu" %supported-systems)) (home-page "https://www.kernel.org/") (synopsis "Kernel module tools") (description "Kmod is a set of tools to handle common tasks with Linux diff --git a/gnu/packages/patches/pciutils-hurd-configure.patch b/gnu/packages/patches/pciutils-hurd-configure.patch new file mode 100644 index 0000000000..226891a995 --- /dev/null +++ b/gnu/packages/patches/pciutils-hurd-configure.patch @@ -0,0 +1,35 @@ +Add ability to detect GNU/Hurd when configuring. + +Adapted from https://git.hadrons.org/cgit/debian/pkgs/pciutils.git/tree/debian/patches/00-configure-hurd.patch + +From e39a3af22501234a91cf28e8c57b45f9379f9101 Mon Sep 17 00:00:00 2001 +From: Damien Zammit +Date: Fri, 26 Oct 2018 09:24:04 -0400 +Subject: [PATCH 2/2] Add ability to detect GNU/Hurd when configuring + +--- + lib/configure | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/lib/configure ++++ b/lib/configure +@@ -25,7 +25,7 @@ if [ -z "$HOST" ] ; then + proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1` + cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'` + else +- cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/;s/^i86pc$/i386/;s/^BePC$/i386/;s/^BeMac$/powerpc/;s/^BeBox$/powerpc/'` ++ cpu=`uname -m | sed 's/^i.86-AT386/i386/;s/^i.86$/i386/;s/^sun4u$/sparc64/;s/^i86pc$/i386/;s/^BePC$/i386/;s/^BeMac$/powerpc/;s/^BeBox$/powerpc/'` + fi + if [ "$sys" = "DragonFly" ] + then +@@ -39,6 +39,10 @@ if [ -z "$HOST" ] ; then + then + sys=cygwin + fi ++ if [ "$sys" = "GNU" ] ++ then ++ sys=gnu ++ fi + HOST=${3:-$cpu-$sys} + fi + [ -n "$RELEASE" ] && rel="${RELEASE}" diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index 0a55299c93..c992988437 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,8 +26,10 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages base)) @@ -39,6 +42,7 @@ (uri (string-append "mirror://kernel.org/software/utils/pciutils/pciutils-" version ".tar.xz")) + (patches (search-patches "pciutils-hurd-configure.patch")) (sha256 (base32 "0mb0f2phdcmp4kfiqsszn2k6nlln0w160ffzrjjv4bbfjwrgfzzn")))) @@ -100,7 +104,11 @@ `(("which" ,which) ("pkg-config" ,pkg-config))) (inputs - `(("kmod" ,kmod) + `(,@(if (member (or (%current-target-system) + (%current-system)) + (package-supported-systems kmod)) + `(("kmod" ,kmod)) + '()) ("zlib" ,zlib))) (home-page "https://mj.ucw.cz/sw/pciutils/") (synopsis "Programs for inspecting and manipulating PCI devices") -- cgit 1.4.1 From c0a5cd1be3fce740c634596959321a76f22623a9 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 16:11:48 +0100 Subject: gnu: shepherd: Build fix for the Hurd. * gnu/packages/patches/shepherd-hurd.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/admin.scm (shepherd): Use it. --- gnu/local.mk | 1 + gnu/packages/admin.scm | 2 ++ gnu/packages/patches/shepherd-hurd.patch | 44 ++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 gnu/packages/patches/shepherd-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index b25d369e07..0ff248fe70 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1428,6 +1428,7 @@ dist_patch_DATA = \ %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ + %D%/packages/patches/shepherd-hurd.patch \ %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \ %D%/packages/patches/slim-session.patch \ %D%/packages/patches/slim-config.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index a296d6cacf..4958d67b06 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -74,6 +74,7 @@ #:use-module (gnu packages file) #:use-module (gnu packages ncurses) #:use-module (gnu packages readline) + #:use-module (gnu packages hurd) #:use-module (gnu packages libbsd) #:use-module (gnu packages linux) #:use-module (gnu packages lua) @@ -202,6 +203,7 @@ and provides a \"top-like\" mode (monitoring).") (method url-fetch) (uri (string-append "mirror://gnu/shepherd/shepherd-" version ".tar.gz")) + (patches (search-patches "shepherd-hurd.patch")) (sha256 (base32 "07j3vd0y8zab2nwbrwj0ahrfif1ldm5sjssn7m3dw4s307fsrfzx")))) diff --git a/gnu/packages/patches/shepherd-hurd.patch b/gnu/packages/patches/shepherd-hurd.patch new file mode 100644 index 0000000000..5043e831f2 --- /dev/null +++ b/gnu/packages/patches/shepherd-hurd.patch @@ -0,0 +1,44 @@ +Fixes compilation on the Hurd. + +Taken from upstream: http://git.savannah.gnu.org/cgit/shepherd.git/commit/?id=232331369fe2a0495c7c777e11eecabee6257b3f + +From 232331369fe2a0495c7c777e11eecabee6257b3f Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Sat, 7 Mar 2020 22:01:23 +0100 +Subject: [PATCH] system: Support compilation on the Hurd. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* modules/shepherd/system.scm.in (prctl): Wrap 'dynamic-func' call in +'false-if-exception'. + +Co-authored-by: Ludovic Courtès +--- + modules/shepherd/system.scm.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules/shepherd/system.scm.in b/modules/shepherd/system.scm.in +index 769404a..0b2cc9d 100644 +--- a/modules/shepherd/system.scm.in ++++ b/modules/shepherd/system.scm.in +@@ -1,6 +1,7 @@ + ;; system.scm -- Low-level operating system interface. + ;; Copyright (C) 2013, 2014, 2016, 2018 Ludovic Courtès + ;; Copyright (C) 2018 Carlo Zancanaro ++;; Copyright (C) 2020 Jan (janneke) Nieuwenhuizen + ;; + ;; This file is part of the GNU Shepherd. + ;; +@@ -145,7 +146,7 @@ ctrlaltdel(8) and see kernel/reboot.c in Linux." + (define PR_SET_CHILD_SUBREAPER @PR_SET_CHILD_SUBREAPER@) + + (define prctl +- (if (dynamic-func "prctl" (dynamic-link)) ++ (if (false-if-exception (dynamic-func "prctl" (dynamic-link))) + (let ((proc (syscall->procedure long "prctl" (list int int)))) + (lambda (process operation) + "Perform an operation on the given process" +-- +2.24.0 + -- cgit 1.4.1 From 3d3ca76f1cde964aa61433cdd40dd701c39e60e7 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 11:12:15 -0500 Subject: gnu: inetutils: Support for the Hurd. * gnu/packages/linux.scm (net-tools)[supported-systems]: Remove the Hurd. * gnu/packages/patches/inetutils-hurd.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/admin.scm (inetutils): Use it. Disable some features on the Hurd. [native-inputs]: Include net-tools only on supported systems --- gnu/local.mk | 1 + gnu/packages/admin.scm | 17 +- gnu/packages/linux.scm | 1 + gnu/packages/patches/inetutils-hurd.patch | 583 ++++++++++++++++++++++++++++++ 4 files changed, 601 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/inetutils-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0ff248fe70..9e4ce6ce92 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1052,6 +1052,7 @@ dist_patch_DATA = \ %D%/packages/patches/id3lib-UTF16-writing-bug.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/ilmbase-openexr-pkg-config.patch \ + %D%/packages/patches/inetutils-hurd.patch \ %D%/packages/patches/inkscape-poppler-0.76.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 4958d67b06..9662468b55 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -438,6 +438,7 @@ re-executing them as necessary.") (method url-fetch) (uri (string-append "mirror://gnu/inetutils/inetutils-" version ".tar.gz")) + (patches (search-patches "inetutils-hurd.patch")) (sha256 (base32 "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy")))) @@ -449,13 +450,27 @@ re-executing them as necessary.") ;; cross-compiling (by default it does not.) ,@(if (%current-target-system) '("--with-path-procnet-dev=/proc/net/dev") + '()) + ,@(if (hurd-target?) + '("--disable-rcp" + "--disable-rexec" + "--disable-rexecd" + "--disable-rlogin" + "--disable-rlogind" + "--disable-rsh" + "--disable-rshd" + "--disable-uucpd" + "--disable-whois") '())) ;; 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) ("readline" ,readline))) ;for 'ftp' - (native-inputs `(("netstat" ,net-tools))) ;for tests + (native-inputs (if (member (%current-system) + (package-supported-systems net-tools)) + `(("netstat" ,net-tools)) ;for tests + '())) (home-page "https://www.gnu.org/software/inetutils/") (synopsis "Basic networking utilities") (description diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3abfc469ba..1c157205d3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2031,6 +2031,7 @@ inadequately in modern network environments, and both should be deprecated.") (string-append "mandir=/share/man"))))) (native-inputs `(("gettext" ,gettext-minimal) ("unzip" ,unzip))) + (supported-systems (delete "i586-gnu" %supported-systems)) (synopsis "Tools for controlling the network subsystem in Linux") (description "This package includes the important tools for controlling the network diff --git a/gnu/packages/patches/inetutils-hurd.patch b/gnu/packages/patches/inetutils-hurd.patch new file mode 100644 index 0000000000..bd65c4feb1 --- /dev/null +++ b/gnu/packages/patches/inetutils-hurd.patch @@ -0,0 +1,583 @@ +Support compiling on the Hurd. + +Taken from https://git.hadrons.org/cgit/debian/pkgs/inetutils.git/tree/debian/patches/0002-ifconfig-Improve-the-support-for-GNU-Hurd.patch + +From 9a90d9b9119906df23cb2db1503cb0f099942dd9 Mon Sep 17 00:00:00 2001 +From: Mats Erik Andersson +Date: Sat, 18 Jul 2015 01:12:41 +0200 +Subject: [PATCH 02/35] ifconfig: Improve the support for GNU/Hurd. + +Use system specific code instead of generic code. +This provides abilities similar to other systems. +--- + ChangeLog | 17 +++ + ifconfig/system.c | 10 +- + ifconfig/system.h | 2 + + ifconfig/system/Makefile.am | 4 +- + ifconfig/system/generic.c | 14 +- + ifconfig/system/hurd.c | 292 ++++++++++++++++++++++++++++++++++++ + ifconfig/system/hurd.h | 50 ++++++ + 7 files changed, 381 insertions(+), 8 deletions(-) + create mode 100644 ifconfig/system/hurd.c + create mode 100644 ifconfig/system/hurd.h + +diff --git a/ifconfig/system.c b/ifconfig/system.c +index 30677e41..e108dc2e 100644 +--- a/ifconfig/system.c ++++ b/ifconfig/system.c +@@ -25,10 +25,12 @@ + # include "system/solaris.c" + #elif defined __QNX__ + # include "system/qnx.c" +-# elif defined __DragonFly__ || defined __FreeBSD__ || \ +- defined __FreeBSD_kernel__ || \ +- defined __NetBSD__ || defined __OpenBSD__ +-# include "system/bsd.c" ++#elif defined __DragonFly__ || defined __FreeBSD__ || \ ++ defined __FreeBSD_kernel__ || \ ++ defined __NetBSD__ || defined __OpenBSD__ ++# include "system/bsd.c" ++#elif defined __GNU__ ++# include "system/hurd.c" + #else + # include "system/generic.c" + #endif +diff --git a/ifconfig/system.h b/ifconfig/system.h +index 8521ad95..66878d3a 100644 +--- a/ifconfig/system.h ++++ b/ifconfig/system.h +@@ -97,6 +97,8 @@ extern struct if_nameindex* (*system_if_nameindex) (void); + defined __FreeBSD_kernel__ || \ + defined __NetBSD__ || defined __OpenBSD__ + # include "system/bsd.h" ++# elif defined __GNU__ ++# include "system/hurd.h" + # else + # include "system/generic.h" + # endif +diff --git a/ifconfig/system/Makefile.am b/ifconfig/system/Makefile.am +index 954c6774..62a9f1c4 100644 +--- a/ifconfig/system/Makefile.am ++++ b/ifconfig/system/Makefile.am +@@ -26,8 +26,10 @@ noinst_HEADERS = \ + linux.h \ + solaris.h \ + qnx.h \ ++ hurd.h \ + bsd.c \ + generic.c \ + linux.c \ + solaris.c \ +- qnx.c ++ qnx.c \ ++ hurd.c +diff --git a/ifconfig/system/generic.c b/ifconfig/system/generic.c +index 9a2bda55..20a78bde 100644 +--- a/ifconfig/system/generic.c ++++ b/ifconfig/system/generic.c +@@ -22,6 +22,8 @@ + #include + + #include "../ifconfig.h" ++ ++#include + + + /* Output format stuff. */ +@@ -36,19 +38,25 @@ const char *system_help; + struct argp_child system_argp_child; + + int +-system_parse_opt (struct ifconfig **ifp, char option, char *optarg) ++system_parse_opt (struct ifconfig **ifp _GL_UNUSED_PARAMETER, ++ char option _GL_UNUSED_PARAMETER, ++ char *optarg _GL_UNUSED_PARAMETER) + { + return 0; + } + + int +-system_parse_opt_rest (struct ifconfig **ifp, int argc, char *argv[]) ++system_parse_opt_rest (struct ifconfig **ifp _GL_UNUSED_PARAMETER, ++ int argc _GL_UNUSED_PARAMETER, ++ char *argv[] _GL_UNUSED_PARAMETER) + { + return 0; + } + + int +-system_configure (int sfd, struct ifreq *ifr, struct system_ifconfig *ifs) ++system_configure (int sfd _GL_UNUSED_PARAMETER, ++ struct ifreq *ifr _GL_UNUSED_PARAMETER, ++ struct system_ifconfig *ifs _GL_UNUSED_PARAMETER) + { + return 0; + } +diff --git a/ifconfig/system/hurd.c b/ifconfig/system/hurd.c +new file mode 100644 +index 00000000..3bd19775 +--- /dev/null ++++ b/ifconfig/system/hurd.c +@@ -0,0 +1,292 @@ ++/* hurd.c -- Code for ifconfig specific to GNU/Hurd. ++ Copyright (C) 2015 Free Software Foundation, Inc. ++ ++ This file is part of GNU Inetutils. ++ ++ GNU Inetutils 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 Inetutils 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 this program. If not, see `http://www.gnu.org/licenses/'. */ ++ ++/* Mostly written by Marcus Brinkmann. ++ Adaptions to GNU/Hurd by Mats Erik Andersson. */ ++ ++#include ++ ++#include ++#include ++#include ++#include "../ifconfig.h" ++ ++#include ++ ++ ++/* Output format stuff. */ ++ ++const char *system_default_format = "gnu"; ++ ++ ++/* Argument parsing stuff. */ ++ ++const char *system_help = "NAME [ADDR]\ ++ [broadcast BRDADDR] [netmask MASK]\ ++ [mtu N] [up|down] [FLAGS]"; ++ ++struct argp_child system_argp_child; ++ ++int ++system_parse_opt (struct ifconfig **ifp _GL_UNUSED_PARAMETER, ++ char option _GL_UNUSED_PARAMETER, ++ char *optarg _GL_UNUSED_PARAMETER) ++{ ++ return 0; ++} ++ ++int ++system_parse_opt_rest (struct ifconfig **ifp, int argc, char *argv[]) ++{ ++ int i = 0, mask, rev; ++ enum { ++ EXPECT_NOTHING, ++ EXPECT_AF, ++ EXPECT_BROADCAST, ++ EXPECT_NETMASK, ++ EXPECT_METRIC, ++ EXPECT_MTU ++ } expect = EXPECT_AF; ++ ++ *ifp = parse_opt_new_ifs (argv[0]); ++ ++ while (++i < argc) ++ { ++ switch (expect) ++ { ++ case EXPECT_BROADCAST: ++ parse_opt_set_brdaddr (*ifp, argv[i]); ++ break; ++ ++ case EXPECT_NETMASK: ++ parse_opt_set_netmask (*ifp, argv[i]); ++ break; ++ ++ case EXPECT_MTU: ++ parse_opt_set_mtu (*ifp, argv[i]); ++ break; ++ ++ /* XXX: 2015-07-18, GNU/Hurd does not yet support ++ ioctl(SIOCSIFMETRIC), but we let the code ++ handle this standard ability anyway! ++ */ ++ case EXPECT_METRIC: ++ parse_opt_set_metric (*ifp, argv[i]); ++ break; ++ ++ case EXPECT_AF: ++ expect = EXPECT_NOTHING; ++ if (!strcmp (argv[i], "inet")) ++ continue; ++ else if (!strcmp (argv[i], "inet6")) ++ { ++ error (0, 0, "%s is not a supported address family", argv[i]); ++ return 0; ++ } ++ break; ++ ++ case EXPECT_NOTHING: ++ break; ++ } ++ ++ if (expect != EXPECT_NOTHING) ++ expect = EXPECT_NOTHING; ++ else if (!strcmp (argv[i], "broadcast")) ++ expect = EXPECT_BROADCAST; ++ else if (!strcmp (argv[i], "netmask")) ++ expect = EXPECT_NETMASK; ++ else if (!strcmp (argv[i], "metric")) ++ expect = EXPECT_METRIC; ++ else if (!strcmp (argv[i], "mtu")) ++ expect = EXPECT_MTU; ++ else if (!strcmp (argv[i], "up")) ++ parse_opt_set_flag (*ifp, IFF_UP | IFF_RUNNING, 0); ++ else if (!strcmp (argv[i], "down")) ++ parse_opt_set_flag (*ifp, IFF_UP, 1); ++ else if (((mask = if_nameztoflag (argv[i], &rev)) ++ & ~IU_IFF_CANTCHANGE) != 0) ++ parse_opt_set_flag (*ifp, mask, rev); ++ else ++ { ++ if (!((*ifp)->valid & IF_VALID_ADDR)) ++ parse_opt_set_address (*ifp, argv[i]); ++ else if (!((*ifp)->valid & IF_VALID_DSTADDR)) ++ parse_opt_set_dstaddr (*ifp, argv[i]); ++ } ++ } ++ ++ switch (expect) ++ { ++ case EXPECT_BROADCAST: ++ error (0, 0, "option `broadcast' requires an argument"); ++ break; ++ ++ case EXPECT_NETMASK: ++ error (0, 0, "option `netmask' requires an argument"); ++ break; ++ ++ case EXPECT_METRIC: ++ error (0, 0, "option `metric' requires an argument"); ++ break; ++ ++ case EXPECT_MTU: ++ error (0, 0, "option `mtu' requires an argument"); ++ break; ++ ++ case EXPECT_AF: ++ case EXPECT_NOTHING: ++ return 1; ++ } ++ ++ return 0; ++} ++ ++int ++system_configure (int sfd _GL_UNUSED_PARAMETER, ++ struct ifreq *ifr _GL_UNUSED_PARAMETER, ++ struct system_ifconfig *ifs _GL_UNUSED_PARAMETER) ++{ ++ return 0; ++} ++ ++struct if_nameindex* (*system_if_nameindex) (void) = if_nameindex; ++ ++static void ++print_hwaddr_ether (format_data_t form _GL_UNUSED_PARAMETER, ++ unsigned char *data) ++{ ++ *column += printf ("%02X:%02X:%02X:%02X:%02X:%02X", ++ data[0], data[1], data[2], data[3], data[4], data[5]); ++ had_output = 1; ++} ++ ++struct arphrd_symbol ++{ ++ const char *name; ++ const char *title; ++ int value; ++ void (*print_hwaddr) (format_data_t form, unsigned char *data); ++} arphrd_symbols[] = ++ { ++#ifdef ARPHRD_ETHER /* Ethernet 10/100Mbps. */ ++ { "ETHER", "Ethernet", ARPHRD_ETHER, print_hwaddr_ether}, ++#endif ++#ifdef ARPHRD_LOOPBACK /* Loopback device. */ ++ { "LOOPBACK", "Local Loopback", ARPHRD_LOOPBACK, NULL}, ++#endif ++ /* XXX: The image debian-hurd-20150424 returns the value 4 ++ instead of expected ARPHRD_LOOPBACK. This has been ++ discussed in the list debian-hurd, where I was asked ++ to resist the temptation of a work around! ++ */ ++ { NULL, NULL, 0, NULL} ++ }; ++ ++struct arphrd_symbol * ++arphrd_findvalue (int value) ++{ ++ struct arphrd_symbol *arp = arphrd_symbols; ++ while (arp->name != NULL) ++ { ++ if (arp->value == value) ++ break; ++ arp++; ++ } ++ if (arp->name) ++ return arp; ++ else ++ return NULL; ++} ++ ++void ++system_fh_hwaddr_query (format_data_t form, int argc, char *argv[]) ++{ ++#ifdef SIOCGIFHWADDR ++ struct arphrd_symbol *arp; ++ ++ if (ioctl (form->sfd, SIOCGIFHWADDR, form->ifr) < 0) ++ select_arg (form, argc, argv, 1); ++ ++ arp = arphrd_findvalue (form->ifr->ifr_hwaddr.sa_family); ++ select_arg (form, argc, argv, (arp && arp->print_hwaddr) ? 0 : 1); ++#else ++ select_arg (form, argc, argv, 1); ++#endif ++} ++ ++void ++system_fh_hwaddr (format_data_t form, int argc _GL_UNUSED_PARAMETER, ++ char *argv[] _GL_UNUSED_PARAMETER) ++{ ++#ifdef SIOCGIFHWADDR ++ if (ioctl (form->sfd, SIOCGIFHWADDR, form->ifr) < 0) ++ error (EXIT_FAILURE, errno, ++ "SIOCGIFHWADDR failed for interface `%s'", ++ form->ifr->ifr_name); ++ else ++ { ++ struct arphrd_symbol *arp; ++ ++ arp = arphrd_findvalue (form->ifr->ifr_hwaddr.sa_family); ++ if (arp && arp->print_hwaddr) ++ arp->print_hwaddr (form, ++ (unsigned char *) form->ifr->ifr_hwaddr.sa_data); ++ else ++ put_string (form, "(hwaddr unknown)"); ++ } ++#else ++ *column += printf ("(not available)"); ++ had_output = 1; ++#endif ++} ++ ++void ++system_fh_hwtype_query (format_data_t form, int argc, char *argv[]) ++{ ++#ifdef SIOCGIFHWADDR ++ if (ioctl (form->sfd, SIOCGIFHWADDR, form->ifr) >= 0) ++ select_arg (form, argc, argv, 0); ++ else ++#endif ++ select_arg (form, argc, argv, 1); ++} ++ ++void ++system_fh_hwtype (format_data_t form, int argc _GL_UNUSED_PARAMETER, ++ char *argv[] _GL_UNUSED_PARAMETER) ++{ ++#ifdef SIOCGIFHWADDR ++ if (ioctl (form->sfd, SIOCGIFHWADDR, form->ifr) < 0) ++ error (EXIT_FAILURE, errno, ++ "SIOCGIFHWADDR failed for interface `%s'", ++ form->ifr->ifr_name); ++ else ++ { ++ struct arphrd_symbol *arp; ++ ++ arp = arphrd_findvalue (form->ifr->ifr_hwaddr.sa_family); ++ if (arp) ++ put_string (form, arp->title); ++ else ++ put_string (form, "(hwtype unknown)"); ++ } ++#else ++ *column += printf ("(not available)"); ++ had_output = 1; ++#endif ++} +diff --git a/ifconfig/system/hurd.h b/ifconfig/system/hurd.h +new file mode 100644 +index 00000000..bab14565 +--- /dev/null ++++ b/ifconfig/system/hurd.h +@@ -0,0 +1,50 @@ ++/* ++ Copyright (C) 2015 Free Software Foundation, Inc. ++ ++ This file is part of GNU Inetutils. ++ ++ GNU Inetutils 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 Inetutils 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 this program. If not, see `http://www.gnu.org/licenses/'. */ ++ ++/* Written by Mats Erik Andersson. */ ++ ++#ifndef IFCONFIG_SYSTEM_HURD_H ++# define IFCONFIG_SYSTEM_HURD_H ++ ++# include "../printif.h" ++# include "../options.h" ++ ++ ++/* Option support. */ ++ ++struct system_ifconfig ++{ ++ int valid; ++}; ++ ++ ++/* Output format support. */ ++ ++# define SYSTEM_FORMAT_HANDLER \ ++ { "hurd", fh_nothing}, \ ++ { "hwaddr?", system_fh_hwaddr_query}, \ ++ { "hwaddr", system_fh_hwaddr}, \ ++ { "hwtype?", system_fh_hwtype_query}, \ ++ { "hwtype", system_fh_hwtype}, ++ ++void system_fh_hwaddr_query (format_data_t form, int argc, char *argv[]); ++void system_fh_hwaddr (format_data_t form, int argc, char *argv[]); ++void system_fh_hwtype_query (format_data_t form, int argc, char *argv[]); ++void system_fh_hwtype (format_data_t form, int argc, char *argv[]); ++ ++#endif /* !IFCONFIG_SYSTEM_HURD_H */ +-- +2.23.0.rc1.170.gbd704faa3e + +From 589dab9c7d3119da82837dabae34c8a3d16cbe49 Mon Sep 17 00:00:00 2001 +From: Mats Erik Andersson +Date: Thu, 30 Jul 2015 01:06:42 +0200 +Subject: [PATCH 07/35] ifconfig: Hardware detection in GNU/Hurd. + +A work-around needed to distinguish hardware type. +--- + ChangeLog | 10 ++++++++++ + ifconfig/system/hurd.c | 19 ++++++++++++------- + 2 files changed, 22 insertions(+), 7 deletions(-) + +diff --git a/ifconfig/system/hurd.c b/ifconfig/system/hurd.c +index 3bd19775..b6261a00 100644 +--- a/ifconfig/system/hurd.c ++++ b/ifconfig/system/hurd.c +@@ -175,6 +175,16 @@ print_hwaddr_ether (format_data_t form _GL_UNUSED_PARAMETER, + had_output = 1; + } + ++/* GNU/Hurd and Mach are using a mixture of BSD definitions ++ * and GNU/Linux interface headers, which in this situation ++ * means that sa_family_t is an unsigned char, from BSD, while ++ * all ARPHRD_* come from GNU/Linux and are thus 16 bits wide. ++ * We must account for this. The following bitmask will ++ * adapt to any future change! ++ */ ++ ++#define _ARP_MASK ((sizeof (sa_family_t) == 1) ? 0xff : 0xffff) ++ + struct arphrd_symbol + { + const char *name; +@@ -184,16 +194,11 @@ struct arphrd_symbol + } arphrd_symbols[] = + { + #ifdef ARPHRD_ETHER /* Ethernet 10/100Mbps. */ +- { "ETHER", "Ethernet", ARPHRD_ETHER, print_hwaddr_ether}, ++ { "ETHER", "Ethernet", ARPHRD_ETHER & _ARP_MASK, print_hwaddr_ether}, + #endif + #ifdef ARPHRD_LOOPBACK /* Loopback device. */ +- { "LOOPBACK", "Local Loopback", ARPHRD_LOOPBACK, NULL}, ++ { "LOOPBACK", "Local Loopback", ARPHRD_LOOPBACK & _ARP_MASK, NULL}, + #endif +- /* XXX: The image debian-hurd-20150424 returns the value 4 +- instead of expected ARPHRD_LOOPBACK. This has been +- discussed in the list debian-hurd, where I was asked +- to resist the temptation of a work around! +- */ + { NULL, NULL, 0, NULL} + }; + +-- +2.23.0.rc1.170.gbd704faa3e + +From d379784b4461d17b2536effd1b52bae21cd28a32 Mon Sep 17 00:00:00 2001 +From: Guillem Jover +Date: Fri, 16 Aug 2019 00:34:03 +0200 +Subject: [PATCH 35/35] telnet: Several ioctls have been disabled in the Hurd's + glibc + +But not the related option macros. inetutils uses those macros to decide +whether the ioctls are available, so it is FTBFS now. The Hurd's glibc +is being fixed, but we'll use this for now to get the builds going. +--- + telnet/sys_bsd.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/telnet/sys_bsd.c b/telnet/sys_bsd.c +index 662536ab..5eb35cb5 100644 +--- a/telnet/sys_bsd.c ++++ b/telnet/sys_bsd.c +@@ -63,6 +63,7 @@ + #include + #include + #include ++#include + #include + + #include "ring.h" +@@ -157,7 +158,7 @@ TerminalRead (char *buf, int n) + int + TerminalAutoFlush (void) + { +-#if defined LNOFLSH ++#if defined TIOCLGET && defined LNOFLSH + int flush; + + ioctl (0, TIOCLGET, (char *) &flush); +@@ -260,7 +261,9 @@ TerminalSaveState (void) + ioctl (0, TIOCGETP, (char *) &ottyb); + ioctl (0, TIOCGETC, (char *) &otc); + ioctl (0, TIOCGLTC, (char *) &oltc); ++#ifdef TIOCLGET + ioctl (0, TIOCLGET, (char *) &olmode); ++#endif + + ntc = otc; + nltc = oltc; +@@ -755,7 +758,9 @@ TerminalNewMode (register int f) + #endif + } + #ifndef USE_TERMIO ++#ifdef TIOCLSET + ioctl (tin, TIOCLSET, (char *) &lmode); ++#endif + ioctl (tin, TIOCSLTC, (char *) <c); + ioctl (tin, TIOCSETC, (char *) &tc); + ioctl (tin, TIOCSETN, (char *) &sb); +-- +2.23.0.rc1.170.gbd704faa3e + -- cgit 1.4.1 From 3da54cc3180ce175b1820dd4e366abdbbffcb45d Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 11:30:44 -0500 Subject: gnu: screen: Build fix for the Hurd. * gnu/packages/patches/screen-hurd-path-max.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/screen.scm (screen): Use it. --- gnu/local.mk | 1 + gnu/packages/patches/screen-hurd-path-max.patch | 42 +++++++++++++++++++++++++ gnu/packages/screen.scm | 2 ++ 3 files changed, 45 insertions(+) create mode 100644 gnu/packages/patches/screen-hurd-path-max.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9e4ce6ce92..6c9cea2c9b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1424,6 +1424,7 @@ dist_patch_DATA = \ %D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scotch-build-parallelism.patch \ %D%/packages/patches/scotch-integer-declarations.patch \ + %D%/packages/patches/screen-hurd-path-max.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/sdl2-mesa-compat.patch \ %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \ diff --git a/gnu/packages/patches/screen-hurd-path-max.patch b/gnu/packages/patches/screen-hurd-path-max.patch new file mode 100644 index 0000000000..e906f154f3 --- /dev/null +++ b/gnu/packages/patches/screen-hurd-path-max.patch @@ -0,0 +1,42 @@ +Workaround for PATH_MAX usage on the Hurd. + +Taken from https://salsa.debian.org/debian/screen/-/blob/master/debian/patches/61-default-PATH_MAX-if-undefined-for-hurd.patch + +Description: Set PATH_MAX to 4096 if undefined + Fixes FTBFS since 4.4.0 on GNU/Hurd. Updated to add one more occurrence for 4.5.0. +Author: Axel Beckert +Bug: https://savannah.gnu.org/bugs/?50089 +Last-Updated: 2017-01-18 + +--- a/tty.sh ++++ b/tty.sh +@@ -1478,6 +1478,13 @@ + return 0; + } + ++/* ++ * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd ++ */ ++ ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif + + int CheckTtyname (char *tty) + { +--- a/screen.h ++++ b/screen.h +@@ -109,6 +109,13 @@ + # define DEFAULT_BUFFERFILE "/tmp/screen-exchange" + #endif + ++/* ++ * Define PATH_MAX to 4096 if it's not defined, like on GNU/Hurd ++ */ ++ ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif + + #if defined(hpux) && !(defined(VSUSP) && defined(VDSUSP) && defined(VWERASE) && defined(VLNEXT)) + # define HPUX_LTCHARS_HACK diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index 51168903a9..c03e2e5e5e 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -29,6 +29,7 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages hurd) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages python) @@ -43,6 +44,7 @@ (method url-fetch) (uri (string-append "mirror://gnu/screen/screen-" version ".tar.gz")) + (patches (search-patches "screen-hurd-path-max.patch")) (sha256 (base32 "18ascpjzsy70h6hk7wpg8zmzjwgdyrdr7c6z4pg5z4l9hhyv24bf")))) (build-system gnu-build-system) -- cgit 1.4.1 From 7f31bd25ad734c483d450eefccdfb26874d2326d Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 16:38:31 -0500 Subject: gnu: shadow: Build fix for the Hurd. * gnu/packages/patches/shadow-hurd-pctrl.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/admin.scm (shadow): Use it. --- gnu/local.mk | 1 + gnu/packages/admin.scm | 1 + gnu/packages/patches/shadow-hurd-pctrl.patch | 16 ++++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 gnu/packages/patches/shadow-hurd-pctrl.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6c9cea2c9b..fba481cfd0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1430,6 +1430,7 @@ dist_patch_DATA = \ %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ + %D%/packages/patches/shadow-hurd-pctrl.patch \ %D%/packages/patches/shepherd-hurd.patch \ %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \ %D%/packages/patches/slim-session.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 9662468b55..d35c455275 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -488,6 +488,7 @@ hostname.") (uri (string-append "https://github.com/shadow-maint/shadow/releases/" "download/" version "/shadow-" version ".tar.xz")) + (patches (search-patches "shadow-hurd-pctrl.patch")) (sha256 (base32 "0qmfq50sdhz6xilgxvinblll8j2iqfl7hwk45bq744y4plq4dbd3")))) diff --git a/gnu/packages/patches/shadow-hurd-pctrl.patch b/gnu/packages/patches/shadow-hurd-pctrl.patch new file mode 100644 index 0000000000..2e376e19a9 --- /dev/null +++ b/gnu/packages/patches/shadow-hurd-pctrl.patch @@ -0,0 +1,16 @@ +Avoid including sys/prctl.h on the Hurd. + +Upstream status: Not submitted. + +--- shadow-4.8.1/libmisc/idmapping.c.orig 2020-03-07 16:32:05.000000000 -0500 ++++ shadow-4.8.1/libmisc/idmapping.c 2020-03-07 16:32:27.000000000 -0500 +@@ -36,8 +36,8 @@ + #include + #include "prototypes.h" + #include "idmapping.h" +-#include + #if HAVE_SYS_CAPABILITY_H ++#include + #include + #endif + -- cgit 1.4.1 From 770ea94c9cde701ae3b45f313799b9d95154c267 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 17:16:38 -0500 Subject: gnu: mit-krb5: Supprt for the Hurd. * gnu/packages/patches/mit-krb5-hurd.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/kerberos.scm (mit-krb5): Use it. --- gnu/local.mk | 1 + gnu/packages/kerberos.scm | 5 +- gnu/packages/patches/mit-krb5-hurd.patch | 165 +++++++++++++++++++++++++++++++ 3 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mit-krb5-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index fba481cfd0..ff92662cf4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1208,6 +1208,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ %D%/packages/patches/minisat-friend-declaration.patch \ %D%/packages/patches/minisat-install.patch \ + %D%/packages/patches/mit-krb5-hurd.patch \ %D%/packages/patches/mit-krb5-qualify-short-hostnames.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 0e290c0d46..896d15f485 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) #:use-module (gnu packages libidn) + #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages compression) @@ -60,7 +62,8 @@ (string-append "https://kerberos.org/dist/krb5/" (version-major+minor version) "/krb5-" version ".tar.gz"))) - (patches (search-patches "mit-krb5-qualify-short-hostnames.patch")) + (patches (search-patches "mit-krb5-qualify-short-hostnames.patch" + "mit-krb5-hurd.patch")) (sha256 (base32 "121c5xsy3x0i4wdkrpw62yhvji6virbh6n30ypazkp0isws3k4bk")))) diff --git a/gnu/packages/patches/mit-krb5-hurd.patch b/gnu/packages/patches/mit-krb5-hurd.patch new file mode 100644 index 0000000000..d4962b1e60 --- /dev/null +++ b/gnu/packages/patches/mit-krb5-hurd.patch @@ -0,0 +1,165 @@ +Avoid using MAXPATHLEN and MAXHOSTLEN on the Hurd. + +Taken from https://salsa.debian.org/debian/krb5/-/blob/master/debian/patches/debian-local/0001-Debian-HURD-compatibility.patch + +From: Sam Hartman +Date: Mon, 26 Dec 2011 18:05:13 -0500 +Subject: Debian: HURD compatibility + +HURD has no MAXPATHLEN or MAXHOSTLEN. + +Patch-Category: debian-local +--- + src/clients/ksu/ksu.h | 4 ++++ + src/include/k5-int.h | 3 +++ + src/kadmin/ktutil/ktutil_funcs.c | 4 ++++ + src/kprop/kprop_util.c | 4 ++++ + src/lib/gssapi/spnego/spnego_mech.c | 3 +++ + src/lib/krb5/os/sn2princ.c | 4 ++++ + src/plugins/kdb/db2/libdb2/include/db-int.h | 4 ++++ + src/tests/resolve/resolve.c | 4 ++++ + 8 files changed, 30 insertions(+) + +$ diff -u krb5-1.18/src/util/ss/help.c.orig krb5-1.18/src/util/ss/help.c +--- krb5-1.18/src/util/ss/help.c.orig 2020-03-07 23:25:52.712418587 +0100 ++++ krb5-1.18/src/util/ss/help.c 2020-03-07 23:26:25.764941122 +0100 +@@ -6,6 +6,9 @@ + */ + + #include ++#ifndef MAXPATHLEN ++# define MAXPATHLEN 4096 ++#endif + #include + #include + #include +$ diff -u krb5-1.18/src/lib/krb5/os/hostrealm.c.orig krb5-1.18/src/lib/krb5/os/hostrealm.c +--- krb5-1.18/src/lib/krb5/os/hostrealm.c.orig 2020-03-07 23:33:19.931420994 +0100 ++++ krb5-1.18/src/lib/krb5/os/hostrealm.c 2020-03-07 23:33:58.628026424 +0100 +@@ -42,6 +42,10 @@ + #endif + #endif + ++#ifndef MAXHOSTNAMELEN ++#define MAXHOSTNAMELEN 256 ++#endif ++ + struct hostrealm_module_handle { + struct krb5_hostrealm_vtable_st vt; + krb5_hostrealm_moddata data; +diff --git a/src/clients/ksu/ksu.h b/src/clients/ksu/ksu.h +index 3bf0bd4..f680b33 100644 +--- a/src/clients/ksu/ksu.h ++++ b/src/clients/ksu/ksu.h +@@ -56,6 +56,10 @@ + #define MAX_CMD 2048 /* this is temp, should use realloc instead, + as done in most of the code */ + ++#ifndef MAXPATHLEN ++# define MAXPATHLEN 4096 ++#endif ++ + + extern int optind; + extern char * optarg; +diff --git a/src/include/k5-int.h b/src/include/k5-int.h +index 6522422..e4f1678 100644 +--- a/src/include/k5-int.h ++++ b/src/include/k5-int.h +@@ -589,6 +589,9 @@ extern char *strdup (const char *); + #ifdef HAVE_SYS_PARAM_H + #include /* MAXPATHLEN */ + #endif ++#ifndef MAXPATHLEN ++# define MAXPATHLEN 4096 ++#endif + + #ifdef HAVE_SYS_FILE_H + #include /* prototypes for file-related +diff --git a/src/kadmin/ktutil/ktutil_funcs.c b/src/kadmin/ktutil/ktutil_funcs.c +index 6d119a2..fb7fa22 100644 +--- a/src/kadmin/ktutil/ktutil_funcs.c ++++ b/src/kadmin/ktutil/ktutil_funcs.c +@@ -34,6 +34,10 @@ + #include + #include + ++#ifndef MAXPATHLEN ++# define MAXPATHLEN 4096 ++#endif ++ + /* + * Free a kt_list + */ +diff --git a/src/kprop/kprop_util.c b/src/kprop/kprop_util.c +index c32d174..d72ab18 100644 +--- a/src/kprop/kprop_util.c ++++ b/src/kprop/kprop_util.c +@@ -32,6 +32,10 @@ + #include + #include + ++#ifndef MAXHOSTNAMELEN ++#define MAXHOSTNAMELEN 256 ++#endif ++ + /* + * Convert an IPv4 or IPv6 socket address to a newly allocated krb5_address. + * There is similar code elsewhere in the tree, so this should possibly become +diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c +index 9d6027c..585d8a6 100644 +--- a/src/lib/gssapi/spnego/spnego_mech.c ++++ b/src/lib/gssapi/spnego/spnego_mech.c +@@ -65,6 +65,9 @@ + #include "gssapiP_spnego.h" + #include + ++#ifndef MAXHOSTNAMELEN ++#define MAXHOSTNAMELEN 256 ++#endif + + #undef g_token_size + #undef g_verify_token_header +diff --git a/src/lib/krb5/os/sn2princ.c b/src/lib/krb5/os/sn2princ.c +index 5932fd9..187daa8 100644 +--- a/src/lib/krb5/os/sn2princ.c ++++ b/src/lib/krb5/os/sn2princ.c +@@ -126,6 +126,10 @@ find_trailer(const char *hostname) + return p; + } + ++#ifndef MAXHOSTNAMELEN ++# define MAXHOSTNAMELEN 256 ++#endif ++ + krb5_error_code KRB5_CALLCONV + krb5_sname_to_principal(krb5_context context, const char *hostname, + const char *sname, krb5_int32 type, +diff --git a/src/plugins/kdb/db2/libdb2/include/db-int.h b/src/plugins/kdb/db2/libdb2/include/db-int.h +index 7e981d4..d83b3b6 100644 +--- a/src/plugins/kdb/db2/libdb2/include/db-int.h ++++ b/src/plugins/kdb/db2/libdb2/include/db-int.h +@@ -280,4 +280,8 @@ void __dbpanic __P((DB *dbp)); + #ifndef O_BINARY + #define O_BINARY 0 /* Needed for Win32 compiles */ + #endif ++ ++#ifndef MAXPATHLEN ++# define MAXPATHLEN 4096 ++#endif + #endif /* _DB_INT_H_ */ +diff --git a/src/tests/resolve/resolve.c b/src/tests/resolve/resolve.c +index 7339d21..38f7253 100644 +--- a/src/tests/resolve/resolve.c ++++ b/src/tests/resolve/resolve.c +@@ -73,6 +73,10 @@ char *strchr(); + #include + #include + ++#ifndef MAXHOSTNAMELEN ++# define MAXHOSTNAMELEN 256 ++#endif ++ + int + main(argc, argv) + int argc; -- cgit 1.4.1 From 3a1c3642d4d611c5516a8ba5b6bc7e39bdc1c9ae Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 22 Mar 2020 19:10:08 +0100 Subject: llvm: Add support for the Hurd. * gnu/packages/llvm.scm (system->llvm-target): Use X86 for i586 (i.e., the Hurd). --- gnu/packages/llvm.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index ef273e3ef6..e7346ac9ea 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -75,7 +75,8 @@ as \"x86_64-linux\"." ("powerpc" => "PowerPC") ("riscv" => "RISCV") ("x86_64" => "X86") - ("i686" => "X86")))) + ("i686" => "X86") + ("i586" => "X86")))) (define (llvm-download-uri component version) (if (version>=? version "9.0.1") -- cgit 1.4.1 From ad8254c23a86c3ca4ca32bc68fc8d76954aa80fd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 21:37:02 +0100 Subject: gnu: OpenSSL: Remove replacement package. * gnu/packages/tls.scm (openssl): Update to 1.1.1e. [replacement]: Remove. (openssl-1.1.1e): Remove variable. --- gnu/packages/tls.scm | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 45ee67fa9c..f6310222b9 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -280,8 +280,7 @@ required structures.") (define-public openssl (package (name "openssl") - (version "1.1.1d") - (replacement openssl-1.1.1e) + (version "1.1.1e") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -293,7 +292,7 @@ required structures.") "/openssl-" version ".tar.gz"))) (sha256 (base32 - "1whinyw402z3b9xlb3qaxv4b9sk4w1bgh9k0y8df1z4x3yy92fhy")) + "1gnwlri1dphr5wdzmg9vlhkh6aq2yqgpfkpmffzwjlfb26n62kv9")) (patches (search-patches "openssl-1.1-c-rehash-in.patch")))) (build-system gnu-build-system) (outputs '("out" @@ -403,24 +402,6 @@ required structures.") (license license:openssl) (home-page "https://www.openssl.org/"))) -(define openssl-1.1.1e - (package - (inherit openssl) - (version "1.1.1e") - (source (origin - (method url-fetch) - (uri (list (string-append "https://www.openssl.org/source/openssl-" - version ".tar.gz") - (string-append "ftp://ftp.openssl.org/source/" - "openssl-" version ".tar.gz") - (string-append "ftp://ftp.openssl.org/source/old/" - (string-trim-right version char-set:letter) - "/openssl-" version ".tar.gz"))) - (patches (search-patches "openssl-1.1-c-rehash-in.patch")) - (sha256 - (base32 - "1gnwlri1dphr5wdzmg9vlhkh6aq2yqgpfkpmffzwjlfb26n62kv9")))))) - (define-public openssl-1.0 (package (inherit openssl) -- cgit 1.4.1 From 159b62df5f1bff841e9a498af60e8fbc68003ee7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 25 Mar 2020 20:19:43 +0100 Subject: gnu: ghostscript: Update to 9.52. * gnu/packages/ghostscript.scm (ghostscript): Update to 9.52. [arguments]: Remove obsolete phases. --- gnu/packages/ghostscript.scm | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index ae689925e1..4d56f05cf2 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -159,7 +159,7 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package (name "ghostscript") - (version "9.51") + (version "9.52") (source (origin (method url-fetch) @@ -169,7 +169,7 @@ printing, and psresize, for adjusting page sizes.") "/ghostscript-" version ".tar.xz")) (sha256 (base32 - "0wdpcq9lq19v8an8xs28cgg7vfzb23f1j12m9p2wdnwa1vwk64by")) + "0z1w42y2jmcpl2m1l3z0sfii6zmvzcwcgzn6bydklia6ig7jli2p")) (patches (search-patches "ghostscript-no-header-creationdate.patch" "ghostscript-no-header-id.patch" "ghostscript-no-header-uuid.patch")) @@ -240,31 +240,7 @@ printing, and psresize, for adjusting page sizes.") (("/bin/sh") (which "sh"))) #t)) ,@(if (%current-target-system) - `((add-after 'unpack 'define-ARCH_MAX_SIZE_T - (lambda _ - ;; XXX: arch_autoconf.h is missing the recent addition of - ;; ARCH_MAX_SIZE_T. Just add it here based on the definition - ;; in "base/genarch.c". This can likely be removed for - ;; Ghostscript > 9.51. - (substitute* "arch/arch_autoconf.h.in" - (("#define ARCH_MAX_ULONG.*" all) - (string-append all "\n" - "#define ARCH_MAX_SIZE_T " - "((size_t)~0L + (size_t)0)\n"))) - #t)) - (add-before 'configure 'do-not-fail-without-native-freetype - (lambda _ - ;; The configure script recurses to build the native tools. - ;; They are built with --disable-freetype, which was made a - ;; hard error in 9.51, causing a build failure because a - ;; native freetype is not detected. Just ignore the check - ;; because it's not needed for these auxiliary tools. - (substitute* "configure" - (("as_fn_error \\$\\? \"(No usable Freetype.*found)\".*" all msg) - (string-append "$as_echo \"$as_me:${as_lineno-$LINENO}: " - "WARNING: " msg "\"\n"))) - #t)) - (add-after 'configure 'add-native-lz + `((add-after 'configure 'add-native-lz (lambda _ ;; Add missing '-lz' for native tools such as 'mkromfs'. (substitute* "Makefile" -- cgit 1.4.1 From 235a4d61d08a200fe688ad5feea8f196902aa73d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 25 Mar 2020 21:09:48 +0100 Subject: gnu: GLib: Update to 2.62.6. * gnu/packages/glib.scm (glib): Update to 2.62.6. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 0e05987bd8..ba69f89e75 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -165,7 +165,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.62.5") + (version "2.62.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -173,7 +173,7 @@ shared NFS home directories.") name "-" version ".tar.xz")) (sha256 (base32 - "0bj5hagvfiqcjd20w543pvbnrlqvs8nbxvqjflyvcn36ljpwvldq")) + "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh")) (patches (search-patches "glib-tests-timer.patch")) (modules '((guix build utils))) (snippet -- cgit 1.4.1 From daf87c72da94f218740c3822444bb1f96cb74650 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 25 Mar 2020 22:00:58 +0100 Subject: gnu: perl: Update to 5.30.2. * gnu/packages/perl.scm (perl): Update to 5.30.2. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 211e7f51ad..b990aba3fb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -71,14 +71,14 @@ ;; Yeah, Perl... It is required early in the bootstrap process by Linux. (package (name "perl") - (version "5.30.1") + (version "5.30.2") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 - "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz")) + "128nfdxcvxfn5kq55qcfrx2851ys8hv794dcdxbyny8rm7w7vnv6")) (patches (search-patches "perl-no-sys-dirs.patch" "perl-autosplit-default-time.patch" -- cgit 1.4.1 From 8595c7b0bc84b354321ec8f6ccca54322f277eb6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 25 Mar 2020 22:02:53 +0100 Subject: gnu: bison: Update to 3.5.3. * gnu/packages/bison.scm (bison): Update to 3.5.3. --- gnu/packages/bison.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm index 862c2a0528..ae8d1a141b 100644 --- a/gnu/packages/bison.scm +++ b/gnu/packages/bison.scm @@ -31,7 +31,7 @@ (define-public bison (package (name "bison") - (version "3.5.2") + (version "3.5.3") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "1pah9q53aqgr0as3s5la4vbcp9940x6jhj06dyxqpnmnkvdp7qi4")))) + "1i57hbczvr8674z73775jxdd3y59qggs5lmfd60gmwm5i1gmpy1b")))) (build-system gnu-build-system) (arguments '(;; Building in parallel on many-core systems may cause an error such as -- cgit 1.4.1 From 736d772b82bfd693cd9412e2857e029fa6309269 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 14:24:43 +0100 Subject: gnu: gd: Update to 2.3.0. * gnu/packages/patches/gd-fix-tests-on-i686.patch: Adjust context. * gnu/packages/patches/gd-CVE-2018-1000222.patch, gnu/packages/patches/gd-CVE-2018-5711.patch, gnu/packages/patches/gd-CVE-2019-6977.patch, gnu/packages/patches/gd-CVE-2019-6978.patch, gnu/packages/patches/gd-freetype-test-failure.patch: Delete files. * gnu/packages/patches/gd-brect-bounds.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly * gnu/packages/gd.scm (gd): Update to 2.3.0. [source](patches): Remove obsolete. * gnu/packages/gd.scm (gd): [propagated-inputs]: Move LIBJPEG-TURBO and FONTCONFIG ... [inputs]: ... here. --- gnu/local.mk | 6 +- gnu/packages/gd.scm | 20 +- gnu/packages/patches/gd-CVE-2018-1000222.patch | 87 ------ gnu/packages/patches/gd-CVE-2018-5711.patch | 61 ----- gnu/packages/patches/gd-CVE-2019-6977.patch | 36 --- gnu/packages/patches/gd-CVE-2019-6978.patch | 301 --------------------- gnu/packages/patches/gd-brect-bounds.patch | 63 +++++ gnu/packages/patches/gd-fix-tests-on-i686.patch | 2 +- .../patches/gd-freetype-test-failure.patch | 59 ---- 9 files changed, 72 insertions(+), 563 deletions(-) delete mode 100644 gnu/packages/patches/gd-CVE-2018-1000222.patch delete mode 100644 gnu/packages/patches/gd-CVE-2018-5711.patch delete mode 100644 gnu/packages/patches/gd-CVE-2019-6977.patch delete mode 100644 gnu/packages/patches/gd-CVE-2019-6978.patch create mode 100644 gnu/packages/patches/gd-brect-bounds.patch delete mode 100644 gnu/packages/patches/gd-freetype-test-failure.patch diff --git a/gnu/local.mk b/gnu/local.mk index ff92662cf4..6d689f6dc2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -925,12 +925,8 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-8-strmov-store-file-names.patch \ %D%/packages/patches/gcc-9-asan-fix-limits-include.patch \ %D%/packages/patches/gcc-9-strmov-store-file-names.patch \ - %D%/packages/patches/gd-CVE-2018-5711.patch \ - %D%/packages/patches/gd-CVE-2018-1000222.patch \ - %D%/packages/patches/gd-CVE-2019-6977.patch \ - %D%/packages/patches/gd-CVE-2019-6978.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ - %D%/packages/patches/gd-freetype-test-failure.patch \ + %D%/packages/patches/gd-brect-bounds.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-testsuite-dlopen-pie.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 444c76956a..3c818872c1 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -42,7 +42,7 @@ ;; Note: With libgd.org now pointing to github.com, genuine old ;; tarballs are no longer available. Notably, versions 2.0.x are ;; missing. - (version "2.2.5") + (version "2.3.0") (source (origin (method url-fetch) (uri (string-append @@ -50,14 +50,9 @@ version "/libgd-" version ".tar.xz")) (sha256 (base32 - "0lfy5f241sbv8s3splm2zqiaxv7lxrcshh875xryryk7yk5jqc4c")) - - (patches (search-patches "gd-CVE-2018-5711.patch" - "gd-CVE-2018-1000222.patch" - "gd-CVE-2019-6977.patch" - "gd-CVE-2019-6978.patch" - "gd-fix-tests-on-i686.patch" - "gd-freetype-test-failure.patch")))) + "0n5czhxzinvjvmhkf5l9fwjdx5ip69k5k7pj6zwb6zs1k9dibngc")) + (patches (search-patches "gd-fix-tests-on-i686.patch" + "gd-brect-bounds.patch")))) (build-system gnu-build-system) (arguments ;; As recommended by github.com/libgd/libgd/issues/278 to fix rounding @@ -78,12 +73,11 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("freetype" ,freetype) + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("zlib" ,zlib))) - (propagated-inputs - `(("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg-turbo))) (home-page "https://www.libgd.org/") (synopsis "Library for the dynamic creation of images by programmers") (description diff --git a/gnu/packages/patches/gd-CVE-2018-1000222.patch b/gnu/packages/patches/gd-CVE-2018-1000222.patch deleted file mode 100644 index 7e94295bb6..0000000000 --- a/gnu/packages/patches/gd-CVE-2018-1000222.patch +++ /dev/null @@ -1,87 +0,0 @@ -Fix CVE-2018-1000222: - -https://github.com/libgd/libgd/issues/447 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000222 - -Patch copied from upstream source repository: - -https://github.com/libgd/libgd/commit/4b1e18a00ce7c4b7e6919c3b3109a034393b805a - -From 4b1e18a00ce7c4b7e6919c3b3109a034393b805a Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Sat, 14 Jul 2018 13:54:08 -0400 -Subject: [PATCH] bmp: check return value in gdImageBmpPtr - -Closes #447. - -(cherry picked from commit ac16bdf2d41724b5a65255d4c28fb0ec46bc42f5) ---- - src/gd_bmp.c | 17 ++++++++++++++--- - 1 file changed, 14 insertions(+), 3 deletions(-) - -diff --git a/src/gd_bmp.c b/src/gd_bmp.c -index ccafdcd..d625da1 100644 ---- a/src/gd_bmp.c -+++ b/src/gd_bmp.c -@@ -48,6 +48,8 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp - static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp_hdr_t *header); - static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info); - -+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression); -+ - #define BMP_DEBUG(s) - - static int gdBMPPutWord(gdIOCtx *out, int w) -@@ -88,8 +90,10 @@ BGD_DECLARE(void *) gdImageBmpPtr(gdImagePtr im, int *size, int compression) - void *rv; - gdIOCtx *out = gdNewDynamicCtx(2048, NULL); - if (out == NULL) return NULL; -- gdImageBmpCtx(im, out, compression); -- rv = gdDPExtractData(out, size); -+ if (!_gdImageBmpCtx(im, out, compression)) -+ rv = gdDPExtractData(out, size); -+ else -+ rv = NULL; - out->gd_free(out); - return rv; - } -@@ -142,6 +146,11 @@ BGD_DECLARE(void) gdImageBmp(gdImagePtr im, FILE *outFile, int compression) - compression - whether to apply RLE or not. - */ - BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) -+{ -+ _gdImageBmpCtx(im, out, compression); -+} -+ -+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) - { - int bitmap_size = 0, info_size, total_size, padding; - int i, row, xpos, pixel; -@@ -149,6 +158,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) - unsigned char *uncompressed_row = NULL, *uncompressed_row_start = NULL; - FILE *tmpfile_for_compression = NULL; - gdIOCtxPtr out_original = NULL; -+ int ret = 1; - - /* No compression if its true colour or we don't support seek */ - if (im->trueColor) { -@@ -326,6 +336,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression) - out_original = NULL; - } - -+ ret = 0; - cleanup: - if (tmpfile_for_compression) { - #ifdef _WIN32 -@@ -339,7 +350,7 @@ cleanup: - if (out_original) { - out_original->gd_free(out_original); - } -- return; -+ return ret; - } - - static int compress_row(unsigned char *row, int length) --- -2.18.0 - diff --git a/gnu/packages/patches/gd-CVE-2018-5711.patch b/gnu/packages/patches/gd-CVE-2018-5711.patch deleted file mode 100644 index 83b12cde63..0000000000 --- a/gnu/packages/patches/gd-CVE-2018-5711.patch +++ /dev/null @@ -1,61 +0,0 @@ -This patch is adapted from commit a11f47475e6443b7f32d21f2271f28f417e2ac04 and -fixes CVE-2018-5711. - -From a11f47475e6443b7f32d21f2271f28f417e2ac04 Mon Sep 17 00:00:00 2001 -From: "Christoph M. Becker" -Date: Wed, 29 Nov 2017 19:37:38 +0100 -Subject: [PATCH] Fix #420: Potential infinite loop in gdImageCreateFromGifCtx - -Due to a signedness confusion in `GetCode_` a corrupt GIF file can -trigger an infinite loop. Furthermore we make sure that a GIF without -any palette entries is treated as invalid *after* open palette entries -have been removed. - -CVE-2018-5711 - -See also https://bugs.php.net/bug.php?id=75571. ---- - src/gd_gif_in.c | 12 ++++++------ - 1 file changed, 38 insertions(+), 6 deletions(-) - -diff --git a/src/gd_gif_in.c b/src/gd_gif_in.c -index daf26e7..0a8bd71 100644 ---- a/src/gd_gif_in.c -+++ b/src/gd_gif_in.c -@@ -335,11 +335,6 @@ terminated: - return 0; - } - -- if(!im->colorsTotal) { -- gdImageDestroy(im); -- return 0; -- } -- - /* Check for open colors at the end, so - * we can reduce colorsTotal and ultimately - * BitsPerPixel */ -@@ -351,6 +346,11 @@ terminated: - } - } - -+ if(!im->colorsTotal) { -+ gdImageDestroy(im); -+ return 0; -+ } -+ - return im; - } - -@@ -447,7 +447,7 @@ static int - GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP) - { - int i, j, ret; -- unsigned char count; -+ int count; - - if(flag) { - scd->curbit = 0; - --- -2.13.6 - diff --git a/gnu/packages/patches/gd-CVE-2019-6977.patch b/gnu/packages/patches/gd-CVE-2019-6977.patch deleted file mode 100644 index b21a8ac619..0000000000 --- a/gnu/packages/patches/gd-CVE-2019-6977.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix CVE-2019-6977: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6977 - -Patch copied from Debian: - -https://salsa.debian.org/debian/libgd2/commit/2d7d3b68bb79843e5271a05543e996fd5a3a8cd1 - -Description: Heap-based buffer overflow in gdImageColorMatch -Origin: other, https://gist.github.com/cmb69/1f36d285eb297ed326f5c821d7aafced -Bug-PHP: https://bugs.php.net/bug.php?id=77270 -Bug-Debian: https://bugs.debian.org/920645 -Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-6977 -Forwarded: no -Author: "Christoph M. Becker" -Last-Update: 2019-02-01 - -At least some of the image reading functions may return images which -use color indexes greater than or equal to im->colorsTotal. We cater -to this by always using a buffer size which is sufficient for -`gdMaxColors` in `gdImageColorMatch()`. ---- - ---- a/src/gd_color_match.c -+++ b/src/gd_color_match.c -@@ -31,8 +31,8 @@ BGD_DECLARE(int) gdImageColorMatch (gdIm - return -4; /* At least 1 color must be allocated */ - } - -- buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * im2->colorsTotal); -- memset (buf, 0, sizeof(unsigned long) * 5 * im2->colorsTotal ); -+ buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * gdMaxColors); -+ memset (buf, 0, sizeof(unsigned long) * 5 * gdMaxColors ); - - for (x=0; x < im1->sx; x++) { - for( y=0; ysy; y++ ) { diff --git a/gnu/packages/patches/gd-CVE-2019-6978.patch b/gnu/packages/patches/gd-CVE-2019-6978.patch deleted file mode 100644 index 69fc5056fc..0000000000 --- a/gnu/packages/patches/gd-CVE-2019-6978.patch +++ /dev/null @@ -1,301 +0,0 @@ -Fix CVE-2019-6978: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6978 - -Patch copied from upstream source repository: - -https://github.com/libgd/libgd/commit/553702980ae89c83f2d6e254d62cf82e204956d0 - -From 553702980ae89c83f2d6e254d62cf82e204956d0 Mon Sep 17 00:00:00 2001 -From: "Christoph M. Becker" -Date: Thu, 17 Jan 2019 11:54:55 +0100 -Subject: [PATCH] Fix #492: Potential double-free in gdImage*Ptr() - -Whenever `gdImage*Ptr()` calls `gdImage*Ctx()` and the latter fails, we -must not call `gdDPExtractData()`; otherwise a double-free would -happen. Since `gdImage*Ctx()` are void functions, and we can't change -that for BC reasons, we're introducing static helpers which are used -internally. - -We're adding a regression test for `gdImageJpegPtr()`, but not for -`gdImageGifPtr()` and `gdImageWbmpPtr()` since we don't know how to -trigger failure of the respective `gdImage*Ctx()` calls. - -This potential security issue has been reported by Solmaz Salimi (aka. -Rooney). ---- - src/gd_gif_out.c | 18 +++++++++++++++--- - src/gd_jpeg.c | 20 ++++++++++++++++---- - src/gd_wbmp.c | 21 ++++++++++++++++++--- - tests/jpeg/.gitignore | 1 + - tests/jpeg/CMakeLists.txt | 1 + - tests/jpeg/Makemodule.am | 3 ++- - tests/jpeg/jpeg_ptr_double_free.c | 31 +++++++++++++++++++++++++++++++ - 7 files changed, 84 insertions(+), 11 deletions(-) - create mode 100644 tests/jpeg/jpeg_ptr_double_free.c - -diff --git a/src/gd_gif_out.c b/src/gd_gif_out.c -index 298a581..d5a9534 100644 ---- a/src/gd_gif_out.c -+++ b/src/gd_gif_out.c -@@ -99,6 +99,7 @@ static void char_init(GifCtx *ctx); - static void char_out(int c, GifCtx *ctx); - static void flush_char(GifCtx *ctx); - -+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out); - - - -@@ -131,8 +132,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size) - void *rv; - gdIOCtx *out = gdNewDynamicCtx(2048, NULL); - if (out == NULL) return NULL; -- gdImageGifCtx(im, out); -- rv = gdDPExtractData(out, size); -+ if (!_gdImageGifCtx(im, out)) { -+ rv = gdDPExtractData(out, size); -+ } else { -+ rv = NULL; -+ } - out->gd_free(out); - return rv; - } -@@ -220,6 +224,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile) - - */ - BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) -+{ -+ _gdImageGifCtx(im, out); -+} -+ -+/* returns 0 on success, 1 on failure */ -+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) - { - gdImagePtr pim = 0, tim = im; - int interlace, BitsPerPixel; -@@ -231,7 +241,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) - based temporary image. */ - pim = gdImageCreatePaletteFromTrueColor(im, 1, 256); - if(!pim) { -- return; -+ return 1; - } - tim = pim; - } -@@ -247,6 +257,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) - /* Destroy palette based temporary image. */ - gdImageDestroy( pim); - } -+ -+ return 0; - } - - -diff --git a/src/gd_jpeg.c b/src/gd_jpeg.c -index fc05842..96ef430 100644 ---- a/src/gd_jpeg.c -+++ b/src/gd_jpeg.c -@@ -117,6 +117,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo) - exit(99); - } - -+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality); -+ - /* - * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality - * QUALITY. If QUALITY is in the range 0-100, increasing values -@@ -231,8 +233,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality) - void *rv; - gdIOCtx *out = gdNewDynamicCtx(2048, NULL); - if (out == NULL) return NULL; -- gdImageJpegCtx(im, out, quality); -- rv = gdDPExtractData(out, size); -+ if (!_gdImageJpegCtx(im, out, quality)) { -+ rv = gdDPExtractData(out, size); -+ } else { -+ rv = NULL; -+ } - out->gd_free(out); - return rv; - } -@@ -253,6 +258,12 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile); - - */ - BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) -+{ -+ _gdImageJpegCtx(im, outfile, quality); -+} -+ -+/* returns 0 on success, 1 on failure */ -+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) - { - struct jpeg_compress_struct cinfo; - struct jpeg_error_mgr jerr; -@@ -287,7 +298,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) - if(row) { - gdFree(row); - } -- return; -+ return 1; - } - - cinfo.err->emit_message = jpeg_emit_message; -@@ -328,7 +339,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) - if(row == 0) { - gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n"); - jpeg_destroy_compress(&cinfo); -- return; -+ return 1; - } - - rowptr[0] = row; -@@ -405,6 +416,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) - jpeg_finish_compress(&cinfo); - jpeg_destroy_compress(&cinfo); - gdFree(row); -+ return 0; - } - - -diff --git a/src/gd_wbmp.c b/src/gd_wbmp.c -index f19a1c9..a49bdbe 100644 ---- a/src/gd_wbmp.c -+++ b/src/gd_wbmp.c -@@ -88,6 +88,8 @@ int gd_getin(void *in) - return (gdGetC((gdIOCtx *)in)); - } - -+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out); -+ - /* - Function: gdImageWBMPCtx - -@@ -100,6 +102,12 @@ int gd_getin(void *in) - out - the stream where to write - */ - BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) -+{ -+ _gdImageWBMPCtx(image, fg, out); -+} -+ -+/* returns 0 on success, 1 on failure */ -+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) - { - int x, y, pos; - Wbmp *wbmp; -@@ -107,7 +115,7 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) - /* create the WBMP */ - if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) { - gd_error("Could not create WBMP\n"); -- return; -+ return 1; - } - - /* fill up the WBMP structure */ -@@ -123,11 +131,15 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) - - /* write the WBMP to a gd file descriptor */ - if(writewbmp(wbmp, &gd_putout, out)) { -+ freewbmp(wbmp); - gd_error("Could not save WBMP\n"); -+ return 1; - } - - /* des submitted this bugfix: gdFree the memory. */ - freewbmp(wbmp); -+ -+ return 0; - } - - /* -@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg) - void *rv; - gdIOCtx *out = gdNewDynamicCtx(2048, NULL); - if (out == NULL) return NULL; -- gdImageWBMPCtx(im, fg, out); -- rv = gdDPExtractData(out, size); -+ if (!_gdImageWBMPCtx(im, fg, out)) { -+ rv = gdDPExtractData(out, size); -+ } else { -+ rv = NULL; -+ } - out->gd_free(out); - return rv; - } -#diff --git a/tests/jpeg/.gitignore b/tests/jpeg/.gitignore -#index c28aa87..13bcf04 100644 -#--- a/tests/jpeg/.gitignore -#+++ b/tests/jpeg/.gitignore -#@@ -3,5 +3,6 @@ -# /jpeg_empty_file -# /jpeg_im2im -# /jpeg_null -#+/jpeg_ptr_double_free -# /jpeg_read -# /jpeg_resolution -diff --git a/tests/jpeg/CMakeLists.txt b/tests/jpeg/CMakeLists.txt -index 19964b0..a8d8162 100644 ---- a/tests/jpeg/CMakeLists.txt -+++ b/tests/jpeg/CMakeLists.txt -@@ -2,6 +2,7 @@ IF(JPEG_FOUND) - LIST(APPEND TESTS_FILES - jpeg_empty_file - jpeg_im2im -+ jpeg_ptr_double_free - jpeg_null - ) - -diff --git a/tests/jpeg/Makemodule.am b/tests/jpeg/Makemodule.am -index 7e5d317..b89e169 100644 ---- a/tests/jpeg/Makemodule.am -+++ b/tests/jpeg/Makemodule.am -@@ -2,7 +2,8 @@ if HAVE_LIBJPEG - libgd_test_programs += \ - jpeg/jpeg_empty_file \ - jpeg/jpeg_im2im \ -- jpeg/jpeg_null -+ jpeg/jpeg_null \ -+ jpeg/jpeg_ptr_double_free - - if HAVE_LIBPNG - libgd_test_programs += \ -diff --git a/tests/jpeg/jpeg_ptr_double_free.c b/tests/jpeg/jpeg_ptr_double_free.c -new file mode 100644 -index 0000000..df5a510 ---- /dev/null -+++ b/tests/jpeg/jpeg_ptr_double_free.c -@@ -0,0 +1,31 @@ -+/** -+ * Test that failure to convert to JPEG returns NULL -+ * -+ * We are creating an image, set its width to zero, and pass this image to -+ * `gdImageJpegPtr()` which is supposed to fail, and as such should return NULL. -+ * -+ * See also -+ */ -+ -+ -+#include "gd.h" -+#include "gdtest.h" -+ -+ -+int main() -+{ -+ gdImagePtr src, dst; -+ int size; -+ -+ src = gdImageCreateTrueColor(1, 10); -+ gdTestAssert(src != NULL); -+ -+ src->sx = 0; /* this hack forces gdImageJpegPtr() to fail */ -+ -+ dst = gdImageJpegPtr(src, &size, 0); -+ gdTestAssert(dst == NULL); -+ -+ gdImageDestroy(src); -+ -+ return gdNumFailures(); -+} --- -2.20.1 - diff --git a/gnu/packages/patches/gd-brect-bounds.patch b/gnu/packages/patches/gd-brect-bounds.patch new file mode 100644 index 0000000000..575e4dc2ad --- /dev/null +++ b/gnu/packages/patches/gd-brect-bounds.patch @@ -0,0 +1,63 @@ +Revert upstream commit 04bb9a08b3c25f8e3c0c235f9cefc0f94df59a5a because it +causes a test failure on i686 and possibly other architectures. + +See . + +diff --git a/src/gdft.c b/src/gdft.c +--- a/src/gdft.c ++++ b/src/gdft.c +@@ -1579,6 +1579,12 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, const c + double scalex = (double)hdpi / (64 * METRIC_RES); + double scaley = (double)vdpi / (64 * METRIC_RES); + ++ /* increase by 1 pixel to allow for rounding */ ++ total_min.x -= METRIC_RES; ++ total_min.y -= METRIC_RES; ++ total_max.x += METRIC_RES; ++ total_max.y += METRIC_RES; ++ + /* rotate bounding rectangle, scale and round to int pixels, and translate */ + brect[0] = x + (total_min.x * cos_a + total_max.y * sin_a)*scalex; + brect[1] = y - (total_min.x * sin_a - total_max.y * cos_a)*scaley; +diff --git a/tests/gdimagestringft/gdimagestringft_bbox.c b/tests/gdimagestringft/gdimagestringft_bbox.c +--- a/tests/gdimagestringft/gdimagestringft_bbox.c ++++ b/tests/gdimagestringft/gdimagestringft_bbox.c +@@ -8,22 +8,22 @@ + #define DELTA (PI/8) + + static int EXPECT[16][8] = { +- {500, 400, 628, 400, 628, 376, 500, 376}, +- {492, 362, 611, 312, 601, 290, 483, 339}, +- {470, 330, 561, 239, 544, 221, 453, 312}, +- {437, 308, 486, 189, 464, 180, 414, 299}, +- {400, 301, 400, 173, 376, 173, 376, 301}, +- {363, 309, 313, 190, 291, 200, 340, 318}, +- {332, 331, 241, 240, 223, 257, 314, 348}, +- {311, 363, 192, 314, 183, 336, 302, 386}, +- {304, 399, 176, 399, 176, 423, 304, 423}, +- {312, 435, 193, 485, 203, 507, 321, 458}, +- {333, 465, 242, 556, 259, 574, 350, 483}, +- {364, 486, 315, 605, 337, 614, 387, 495}, +- {399, 492, 399, 620, 423, 620, 423, 492}, +- {434, 484, 484, 603, 506, 593, 457, 475}, +- {463, 464, 554, 555, 572, 538, 481, 447}, +- {483, 434, 602, 483, 611, 461, 492, 411}, ++ {498, 401, 630, 401, 630, 374, 498, 374}, ++ {491, 364, 613, 313, 602, 288, 481, 338}, ++ {470, 332, 563, 239, 544, 219, 451, 312}, ++ {438, 310, 488, 189, 463, 178, 412, 300}, ++ {401, 303, 401, 171, 374, 171, 374, 303}, ++ {365, 310, 314, 188, 289, 199, 339, 320}, ++ {334, 331, 241, 238, 221, 257, 314, 350}, ++ {313, 362, 192, 312, 181, 337, 303, 388}, ++ {306, 398, 174, 398, 174, 425, 306, 425}, ++ {313, 433, 191, 484, 202, 509, 323, 459}, ++ {333, 463, 240, 556, 259, 576, 352, 483}, ++ {363, 484, 313, 605, 338, 616, 389, 494}, ++ {398, 490, 398, 622, 425, 622, 425, 490}, ++ {432, 483, 483, 605, 508, 594, 458, 473}, ++ {461, 464, 554, 557, 574, 538, 481, 445}, ++ {481, 435, 602, 485, 613, 460, 491, 409}, + }; + + int main() diff --git a/gnu/packages/patches/gd-fix-tests-on-i686.patch b/gnu/packages/patches/gd-fix-tests-on-i686.patch index 280893c1d4..7ec8e7fee9 100644 --- a/gnu/packages/patches/gd-fix-tests-on-i686.patch +++ b/gnu/packages/patches/gd-fix-tests-on-i686.patch @@ -38,7 +38,7 @@ diff -ru libgd-2.2.3.orig/tests/gdimagecopyresampled/bug00201.c libgd-2.2.3/test @@ -65,7 +66,8 @@ gdImageDestroy(background); gdImageDestroy(scaled_logo); - + - gdAssertImageEqualsToFile("gdimagecopyresampled/bug00201_exp.png", img); + if (FLT_EVAL_METHOD != 2) + gdAssertImageEqualsToFile("gdimagecopyresampled/bug00201_exp.png", img); diff --git a/gnu/packages/patches/gd-freetype-test-failure.patch b/gnu/packages/patches/gd-freetype-test-failure.patch deleted file mode 100644 index 49c16ca089..0000000000 --- a/gnu/packages/patches/gd-freetype-test-failure.patch +++ /dev/null @@ -1,59 +0,0 @@ -Fix a test failure with freetype 2.7: - -https://github.com/libgd/libgd/commit/a5570d3ed30ff76c2a8bdd54f4ab1825acca0143 - -Patch copied from upstream source repository: - -https://github.com/libgd/libgd/commit/a5570d3ed30ff76c2a8bdd54f4ab1825acca0143 - -From a5570d3ed30ff76c2a8bdd54f4ab1825acca0143 Mon Sep 17 00:00:00 2001 -From: "Christoph M. Becker" -Date: Sun, 29 Jan 2017 17:07:50 +0100 -Subject: [PATCH] Fix #302: Test suite fails with freetype 2.7 - -Actually, the test failures are not necessarily related to freetype -2.7, but rather are caused by subpixel hinting which is enabled by -default in freetype 2.7. Subpixel hinting is, however, already -available in freetype 2.5 and in versions having the "Infinality" -patch. - -To get the expected results in all environments, we have to disable -subpixel hinting, what is easily done by setting a respective -environment variable. - -See also: -* https://www.freetype.org/freetype2/docs/subpixel-hinting.html -* https://www.freetype.org/freetype2/docs/reference/ft2-tt_driver.html ---- - tests/freetype/bug00132.c | 3 +++ - tests/gdimagestringft/gdimagestringft_bbox.c | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/tests/freetype/bug00132.c b/tests/freetype/bug00132.c -index 713dd2d..42ed5b1 100644 ---- a/tests/freetype/bug00132.c -+++ b/tests/freetype/bug00132.c -@@ -11,6 +11,9 @@ int main() - char *path; - char *ret = NULL; - -+ /* disable subpixel hinting */ -+ putenv("FREETYPE_PROPERTIES=truetype:interpreter-version=35"); -+ - im = gdImageCreateTrueColor(50, 30); - - if (!im) { -diff --git a/tests/gdimagestringft/gdimagestringft_bbox.c b/tests/gdimagestringft/gdimagestringft_bbox.c -index 0161ec8..1596a9e 100644 ---- a/tests/gdimagestringft/gdimagestringft_bbox.c -+++ b/tests/gdimagestringft/gdimagestringft_bbox.c -@@ -38,6 +38,9 @@ int main() - int error = 0; - FILE *fp; - -+ /* disable subpixel hinting */ -+ putenv("FREETYPE_PROPERTIES=truetype:interpreter-version=35"); -+ - path = gdTestFilePath("freetype/DejaVuSans.ttf"); - im = gdImageCreate(800, 800); - gdImageColorAllocate(im, 0xFF, 0xFF, 0xFF); /* allocate white for background color */ -- cgit 1.4.1 From 814ad500ffbbaeedf81b223db9aac5dc4d6f0f9b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 15:22:40 +0100 Subject: gnu: xcb-proto: Update to 1.14. * gnu/packages/xorg.scm (xcb-proto): Update to 1.14. [source](uri): Change to .xz tarball. --- gnu/packages/xorg.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 4353a095e8..a608672fb1 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2130,17 +2130,16 @@ emulate a TI-30 or an HP-10C.") (define-public xcb-proto (package (name "xcb-proto") - (version "1.13") + (version "1.14") (source (origin (method url-fetch) (uri (string-append "https://xcb.freedesktop.org/dist/xcb-proto-" - version - ".tar.bz2")) + version ".tar.xz")) (sha256 (base32 - "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v")))) + "01d62r286yfc3rpz714nqdgkl0wk9j0wqkd4ylas1d7r4vmkqshq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper))) -- cgit 1.4.1 From eac7966f0d90fdd5c2ccd488bd08175f968faf2d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 15:23:22 +0100 Subject: gnu: libxcb: Update to 1.14. * gnu/packages/xorg.scm (libxcb): Update to 1.14. [source](uri): Change to .xz tarball. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a608672fb1..c1ff664a67 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5201,15 +5201,15 @@ protocol.") (define-public libxcb (package (name "libxcb") - (version "1.13") + (version "1.14") (source (origin (method url-fetch) (uri (string-append "https://xcb.freedesktop.org/dist/" - "libxcb-" version ".tar.bz2")) + "libxcb-" version ".tar.xz")) (sha256 (base32 - "1ahxhmdqp4bhb90zmc275rmf5wixqra4bnw9pqnzyl1w3598g30q")))) + "0d2chjgyn5lr9sfhacfvqgnj9l9faz11vn322a06jd6lk3dxcpm5")))) (build-system gnu-build-system) (propagated-inputs `(("libpthread-stubs" ,libpthread-stubs) -- cgit 1.4.1 From 447f9acf12bdee3fc817fcbb13fc20180b4ebef9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 15:48:09 +0100 Subject: gnu: python-xmlschema: Update to 1.1.2. * gnu/packages/xml.scm (python-xmlschema): Update to 1.1.2. --- gnu/packages/xml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 5d8d2a30f5..042679e122 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -2099,7 +2099,7 @@ libxml2 and libxslt.") (define-public python-xmlschema (package (name "python-xmlschema") - (version "1.1.1") + (version "1.1.2") (source (origin ;; Unit tests are not distributed with the PyPI archive. (method git-fetch) @@ -2109,7 +2109,7 @@ libxml2 and libxslt.") (file-name (git-file-name name version)) (sha256 (base32 - "0nqhqbvp0kpd1bz11b6gpkc0mkg068mqs56ww4k5ang1cl9d8gd6")))) + "03bz5mp45y4shmlc1gxq1h69vjx60z1acg9cy4kq7fczgx8qg9jw")))) (build-system python-build-system) (arguments '(#:phases -- cgit 1.4.1 From bf115891dc120429ade6be0e1ea410489da9ccdf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 16:00:07 +0100 Subject: gnu: python-fonttools: Update to 4.6.0. * gnu/packages/python-xyz.scm (python-fonttools): Update to 4.6.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 1180485e2e..7b4db5fb60 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7338,13 +7338,13 @@ add functionality and customization to your projects with their own plugins.") (define-public python-fonttools (package (name "python-fonttools") - (version "4.2.4") + (version "4.6.0") (source (origin (method url-fetch) (uri (pypi-uri "fonttools" version ".zip")) (sha256 (base32 - "0rz2fn707x8ri507bb5k5y3di851dwchn0886f77g5bgiflmnpwm")))) + "1mq9kdzhcsp96bhv7smnrpdg1s4z5wh70bsl99c0jmcrahqdisqq")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip) -- cgit 1.4.1 From d9ff6ad88cac8dff1d7ad3027d3fa5977c4d4857 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 16:04:33 +0100 Subject: gnu: potrace: Update to 1.16. * gnu/packages/patches/potrace-tests.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/fontutils.scm (potrace): Update to 1.16. [source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/fontutils.scm | 5 ++-- gnu/packages/patches/potrace-tests.patch | 50 -------------------------------- 3 files changed, 2 insertions(+), 54 deletions(-) delete mode 100644 gnu/packages/patches/potrace-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6d689f6dc2..c1ee251e90 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1319,7 +1319,6 @@ dist_patch_DATA = \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/postgresql-disable-resolve_symlinks.patch \ - %D%/packages/patches/potrace-tests.patch \ %D%/packages/patches/procmail-ambiguous-getline-debian.patch \ %D%/packages/patches/procmail-CVE-2014-3618.patch \ %D%/packages/patches/procmail-CVE-2017-16844.patch \ diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index ba0d075900..a77cf9ebf0 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -468,7 +468,7 @@ and returns a sequence of positioned glyphids from the font.") (define-public potrace (package (name "potrace") - (version "1.15") + (version "1.16") (source (origin (method url-fetch) @@ -476,8 +476,7 @@ and returns a sequence of positioned glyphids from the font.") "/potrace-" version ".tar.gz")) (sha256 (base32 - "17ajildjp14shsy339xarh1lw1p0k60la08ahl638a73mh23kcx9")) - (patches (search-patches "potrace-tests.patch")))) + "1k3sxgjqq0jnpk9xxys05q32sl5hbf1lbk1gmfxcrmpdgnhli0my")))) (build-system gnu-build-system) (native-inputs `(("ghostscript" ,ghostscript))) ;for tests (inputs `(("zlib" ,zlib))) diff --git a/gnu/packages/patches/potrace-tests.patch b/gnu/packages/patches/potrace-tests.patch deleted file mode 100644 index 407be98dab..0000000000 --- a/gnu/packages/patches/potrace-tests.patch +++ /dev/null @@ -1,50 +0,0 @@ -This relaxes the comparison threshold between the reference data -and the bitmaps produced by Ghostscript interpreting the vectorized -image. Apparently the threshold has become too low with the switch -to from Ghostscript 2.21 to 2.22. - ---- potrace-1.15/check/postscript-check.sh 2018-01-06 19:47:26.194900686 +0100 -+++ potrace-1.15/check/postscript-check.sh 2018-01-06 19:51:35.937503739 +0100 -@@ -70,15 +70,15 @@ if test $? -ne 0; then - echo "Something is wrong with $GS; skipping this test" >& 2 - exit 77 - fi --actiondiff "$TMP2" "$REFDATA" 1000 -+actiondiff "$TMP2" "$REFDATA" 1500 - - action $POTRACE -r50 -p -L 0 -B 0 --opaque -o "$TMP1" "$DATA" - action "$GS" -q -dNOPAUSE -sDEVICE=pbmraw -g460x394 -r100x100 -sOutputFile="$TMP2" -- "$TMP1" --actiondiff "$TMP2" "$REFDATA" 1200 -+actiondiff "$TMP2" "$REFDATA" 1500 - - action $POTRACE -r50 -p -L 0 -B 0 -A 160 -o "$TMP1" "$DATA" - action "$GS" -q -dNOPAUSE -sDEVICE=pbmraw -g568x528 -r100x100 -sOutputFile="$TMP2" -- "$TMP1" --actiondiff "$TMP2" "$REFDATAROT" 1200 -+actiondiff "$TMP2" "$REFDATAROT" 1500 - - action rm -f "$TMP1" - action rm -f "$TMP2" - ---- potrace-1.15/check/pdf-check.sh 2018-01-06 19:47:28.698886663 +0100 -+++ potrace-1.15/check/pdf-check.sh 2018-01-06 20:54:14.895460329 +0100 -@@ -72,15 +72,15 @@ if test $? -ne 0 -o ! -f "$TMP2"; then - echo "GS does not understand PDF; skipping this test" >& 2 - exit 77 - fi --actiondiff "$TMP2" "$REFDATA" 1000 -+actiondiff "$TMP2" "$REFDATA" 1500 - - action $POTRACE -r50 -p -L 0 -B 0 --opaque -b pdf -o "$TMP1" "$DATA" - action "$GS" -q -dNOPAUSE -sDEVICE=pbmraw -g460x394 -r100x100 -sOutputFile="$TMP2" -- "$TMP1" --actiondiff "$TMP2" "$REFDATA" 1200 -+actiondiff "$TMP2" "$REFDATA" 1500 - - action $POTRACE -r50 -p -L 0 -B 0 -A 160 -b pdf -o "$TMP1" "$DATA" - action "$GS" -q -dNOPAUSE -sDEVICE=pbmraw -g568x528 -r100x100 -sOutputFile="$TMP2" -- "$TMP1" --actiondiff "$TMP2" "$REFDATAROT" 1200 -+actiondiff "$TMP2" "$REFDATAROT" 1500 - - action rm -f "$TMP1" - action rm -f "$TMP2" - -Diff finished. Sat Jan 6 20:54:50 2018 -- cgit 1.4.1 From 2b9b854cd18edb0dc13bdcfd9d290530974d71c9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 16:13:53 +0100 Subject: gnu: libgsf: Update to 1.14.47. * gnu/packages/gnome.scm (libgsf): Update to 1.14.47. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ef65c5bcca..77964f5c9c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2059,7 +2059,7 @@ XML/CSS rendering engine.") (define-public libgsf (package (name "libgsf") - (version "1.14.46") + (version "1.14.47") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2067,7 +2067,7 @@ XML/CSS rendering engine.") name "-" version ".tar.xz")) (sha256 (base32 - "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa")))) + "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) -- cgit 1.4.1 From 0eb56ccbd6ebe1b441cb2a0200f19dff0df72f0e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 16:16:30 +0100 Subject: gnu: libsigc++: Update to 2.10.3. * gnu/packages/glib.scm (libsigc++): Update to 2.10.3. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index ba69f89e75..92c693544d 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -583,7 +583,7 @@ by GDBus included in Glib.") (define libsigc++ (package (name "libsigc++") - (version "2.10.2") + (version "2.10.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsigc++/" @@ -591,7 +591,7 @@ by GDBus included in Glib.") name "-" version ".tar.xz")) (sha256 (base32 - "163s14d1rqp82gc1vsm3q0wzsbdicb9q6307kz0zk5lm6x9h5jmi")))) + "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("m4" ,m4))) -- cgit 1.4.1 From 2c5bc95a19d6a36e6e3568ccb59f10d7f232364f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 25 Mar 2020 18:21:20 +0100 Subject: gnu: ImageMagick: Build reproducibly. Fixes . * gnu/packages/imagemagick.scm (imagemagick)[arguments]: In #:configure-flags, add "--enable-reproducible-build". (cherry picked from commit 87bc9f022cdd3487e85cf83cf82222315246abf9) --- gnu/packages/imagemagick.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 0adb3fb79a..6fc7e6d201 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -58,7 +58,11 @@ "0fcbcad95wn0q0pdfl0qgycm30f3a7xhskc0r5icldq6v6l4b3is")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") + `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" + + ;; Do not embed the build date in binaries. + "--enable-reproducible-build") + ;; FIXME: The test suite succeeded before version 6.9.6-2. ;; Try enabling it again with newer releases. #:tests? #f -- cgit 1.4.1 From b12acffbd03c025b1e849f7a93d5edd47682a8ce Mon Sep 17 00:00:00 2001 From: Michael Rohleder Date: Tue, 24 Mar 2020 03:13:33 +0100 Subject: gnu: xkbcomp: Update to 1.4.3. * gnu/packages/xorg.scm (xkbcomp): update to 1.4.3. Signed-off-by: Marius Bakke --- gnu/packages/xorg.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c1ff664a67..47db1f507f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Leo Prikler ;;; Copyright © 2020 Florian Pelz +;;; Copyright © 2020 Michael Rohleder ;;; ;;; This file is part of GNU Guix. ;;; @@ -3845,7 +3846,7 @@ alternative implementations like XRandR or TwinView.") (define xkbcomp-intermediate ; used as input for xkeyboard-config (package (name "xkbcomp-intermediate") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) @@ -3855,7 +3856,7 @@ alternative implementations like XRandR or TwinView.") ".tar.bz2")) (sha256 (base32 - "0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d")))) + "0dflr250nlj6rrnv658f6dm8qx37sj0xfimc3ihay761kwb2q906")))) (build-system gnu-build-system) (inputs `(("xorgproto" ,xorgproto) -- cgit 1.4.1 From 0ab8ad46322bea331ed5f5592843ba35e7f38b37 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Mar 2020 23:09:15 +0100 Subject: gnu: OpenSSL: Add upstream patch to preserve compatibility in EOF handling. This is a follow-up to ad8254c23a86c3ca4ca32bc68fc8d76954aa80fd, which unexpectedly caused a test failure in the Python test suite. * gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/tls.scm (openssl)[source](patches): Add it. --- gnu/local.mk | 1 + .../patches/openssl-1.1.1e-revert-detect-eof.patch | 80 ++++++++++++++++++++++ gnu/packages/tls.scm | 3 +- 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch diff --git a/gnu/local.mk b/gnu/local.mk index c1ee251e90..d687c53a8a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1267,6 +1267,7 @@ dist_patch_DATA = \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \ + %D%/packages/patches/openssl-1.1.1e-revert-detect-eof.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ %D%/packages/patches/openssl-CVE-2019-1559.patch \ %D%/packages/patches/open-zwave-hidapi.patch \ diff --git a/gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch b/gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch new file mode 100644 index 0000000000..973559440f --- /dev/null +++ b/gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch @@ -0,0 +1,80 @@ +This patch reverts a change in 1.1.1e that can break applications that do +not expect EOF to be reported via SSL_ERROR_SSL. + +https://bugs.python.org/issue40018 +https://github.com/openssl/openssl/pull/11400 +https://github.com/openssl/openssl/commit/0cd2ee64bffcdece599c3e4b5fac3830a55dc0fa + +Taken from upstream: +https://github.com/openssl/openssl/commit/30d190caf311d534867df97e26b552e628cb7d85 + +diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt +index f5324c6819d8..35512f9caf96 100644 +--- a/crypto/err/openssl.txt ++++ b/crypto/err/openssl.txt +@@ -2852,7 +2852,6 @@ SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES:242:unable to load ssl3 md5 routines + SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES:243:unable to load ssl3 sha1 routines + SSL_R_UNEXPECTED_CCS_MESSAGE:262:unexpected ccs message + SSL_R_UNEXPECTED_END_OF_EARLY_DATA:178:unexpected end of early data +-SSL_R_UNEXPECTED_EOF_WHILE_READING:294:unexpected eof while reading + SSL_R_UNEXPECTED_MESSAGE:244:unexpected message + SSL_R_UNEXPECTED_RECORD:245:unexpected record + SSL_R_UNINITIALIZED:276:uninitialized +diff --git a/include/openssl/sslerr.h b/include/openssl/sslerr.h +index 0ef684f3c131..ba4c4ae5fbd3 100644 +--- a/include/openssl/sslerr.h ++++ b/include/openssl/sslerr.h +@@ -1,6 +1,6 @@ + /* + * Generated by util/mkerr.pl DO NOT EDIT +- * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. ++ * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy +@@ -734,7 +734,6 @@ int ERR_load_SSL_strings(void); + # define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 + # define SSL_R_UNEXPECTED_CCS_MESSAGE 262 + # define SSL_R_UNEXPECTED_END_OF_EARLY_DATA 178 +-# define SSL_R_UNEXPECTED_EOF_WHILE_READING 294 + # define SSL_R_UNEXPECTED_MESSAGE 244 + # define SSL_R_UNEXPECTED_RECORD 245 + # define SSL_R_UNINITIALIZED 276 +diff --git a/ssl/record/rec_layer_s3.c b/ssl/record/rec_layer_s3.c +index 1c885a664f35..b2a7a47eb075 100644 +--- a/ssl/record/rec_layer_s3.c ++++ b/ssl/record/rec_layer_s3.c +@@ -296,12 +296,6 @@ int ssl3_read_n(SSL *s, size_t n, size_t max, int extend, int clearold, + ret = BIO_read(s->rbio, pkt + len + left, max - left); + if (ret >= 0) + bioread = ret; +- if (ret <= 0 +- && !BIO_should_retry(s->rbio) +- && BIO_eof(s->rbio)) { +- SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_F_SSL3_READ_N, +- SSL_R_UNEXPECTED_EOF_WHILE_READING); +- } + } else { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_READ_N, + SSL_R_READ_BIO_NOT_SET); +diff --git a/ssl/ssl_err.c b/ssl/ssl_err.c +index a0c7b79659d4..4b12ed1485d9 100644 +--- a/ssl/ssl_err.c ++++ b/ssl/ssl_err.c +@@ -1,6 +1,6 @@ + /* + * Generated by util/mkerr.pl DO NOT EDIT +- * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. ++ * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy +@@ -1205,8 +1205,6 @@ static const ERR_STRING_DATA SSL_str_reasons[] = { + "unexpected ccs message"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_END_OF_EARLY_DATA), + "unexpected end of early data"}, +- {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_EOF_WHILE_READING), +- "unexpected eof while reading"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_MESSAGE), "unexpected message"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_RECORD), "unexpected record"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNINITIALIZED), "uninitialized"}, diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f6310222b9..a057432f4b 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -293,7 +293,8 @@ required structures.") (sha256 (base32 "1gnwlri1dphr5wdzmg9vlhkh6aq2yqgpfkpmffzwjlfb26n62kv9")) - (patches (search-patches "openssl-1.1-c-rehash-in.patch")))) + (patches (search-patches "openssl-1.1-c-rehash-in.patch" + "openssl-1.1.1e-revert-detect-eof.patch")))) (build-system gnu-build-system) (outputs '("out" "doc" ;6.8 MiB of man3 pages and full HTML documentation -- cgit 1.4.1 From 20586ffdc746b17f8208e77852752e99bf5bee55 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 27 Mar 2020 00:21:10 +0100 Subject: gnu: Automake: Remove version 1.16.1. * gnu/packages/autotools.scm (automake): Update to 1.16.2. [arguments]: Add phase "skip-test". (automake-1.16.2): Remove variable. --- gnu/packages/autotools.scm | 39 +++++++++++---------------------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index faf26079b5..99ca52730e 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -250,14 +250,14 @@ output is indexed in many ways to simplify browsing.") (define-public automake (package (name "automake") - (version "1.16.1") + (version "1.16.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/automake/automake-" version ".tar.xz")) (sha256 (base32 - "08g979ficj18i1w6w5219bgmns7czr03iadf20mk3lrzl8wbn1ax")) + "1l7dkqbsmbf94ax29jj1jf6a0r6ikc8jybg1p5m0c3ki7pg5ki6c")) (patches (search-patches "automake-skip-amhello-tests.patch")))) (build-system gnu-build-system) @@ -289,6 +289,15 @@ output is indexed in many ways to simplify browsing.") (setenv "CONFIG_SHELL" sh) #t))) + (add-before 'check 'skip-test + (lambda _ + ;; This test requires 'etags' and fails if it's missing. + ;; Skip it. + (substitute* "t/tags-lisp-space.sh" + (("^required.*" all) + (string-append "exit 77\n" all "\n"))) + #t)) + ;; Files like `install-sh', `mdate.sh', etc. must use ;; #!/bin/sh, otherwise users could leak erroneous shebangs ;; in the wild. See for an @@ -325,32 +334,6 @@ intuitive format and then Automake works with Autoconf to produce a robust Makefile, simplifying the entire process for the developer.") (license gpl2+))) ; some files are under GPLv3+ -(define-public automake-1.16.2 - (package - (inherit automake) - (version "1.16.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/automake/automake-" - version ".tar.xz")) - (sha256 - (base32 - "1l7dkqbsmbf94ax29jj1jf6a0r6ikc8jybg1p5m0c3ki7pg5ki6c")) - (patches - (search-patches "automake-skip-amhello-tests.patch")))) - (arguments - (substitute-keyword-arguments (package-arguments automake) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'skip-test - (lambda _ - ;; This test requires 'etags' and fails if it's missing. - ;; Skip it. - (substitute* "t/tags-lisp-space.sh" - (("^required.*" all) - (string-append "exit 77\n" all "\n"))) - #t)))))))) - (define-public libtool (package (name "libtool") -- cgit 1.4.1 From f605eef2d4716023ccd127ca4910e5ccbd7cdfb0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 27 Mar 2020 00:21:35 +0100 Subject: gnu: help2man: Remove version 1.47.12. * gnu/packages/man.scm (help2man): Update to 1.47.13. (help2man/latest): Remove variable. --- gnu/packages/man.scm | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 0f25e71671..e0019d4c6e 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -198,7 +198,7 @@ Linux kernel and C library interfaces employed by user-space programs.") (define-public help2man (package (name "help2man") - (version "1.47.12") + (version "1.47.13") (source (origin (method url-fetch) @@ -206,7 +206,7 @@ Linux kernel and C library interfaces employed by user-space programs.") version ".tar.xz")) (sha256 (base32 - "0q5ixbxz1v7wqnpg4bq7k7nbv9ssnmcvdbqsq5ycjvniz56ac2vx")))) + "08q5arxz4j4pyx5q4712c2rn7p7dw7as9xg38yvmsh1c3ynvpy5p")))) (build-system gnu-build-system) (arguments `(;; There's no `check' target. #:tests? #f)) @@ -226,18 +226,6 @@ Linux kernel and C library interfaces employed by user-space programs.") automatically.") (license gpl3+))) -(define-public help2man/latest - (package - (inherit help2man) - (version "1.47.13") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/help2man/help2man-" - version ".tar.xz")) - (sha256 - (base32 - "08q5arxz4j4pyx5q4712c2rn7p7dw7as9xg38yvmsh1c3ynvpy5p")))))) - (define-public scdoc (package (name "scdoc") -- cgit 1.4.1 From 63bd6643c80f3af8180392eb1bf531bedb8e2201 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 27 Mar 2020 00:46:38 +0100 Subject: gnu: icu4c: Incorporate grafted changes. * gnu/packages/icu4c.scm (icu4c)[replacement]: Remove. [source](patches, patch-flags): New fields. (icu4c/fixed): Remove variable. --- gnu/packages/icu4c.scm | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 88f97efeb6..046e35e414 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -36,7 +36,6 @@ (define-public icu4c (package (name "icu4c") - (replacement icu4c/fixed) (version "66.1") (source (origin (method url-fetch) @@ -46,6 +45,8 @@ "/icu4c-" (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) "-src.tgz")) + (patch-flags '("-p2")) + (patches (search-patches "icu4c-CVE-2020-10531.patch")) (sha256 (base32 "0bharwzc9nzkbrcf405z2nb3h7q0711z450arz0mjmdrk8hg58sj")))) (build-system gnu-build-system) @@ -113,17 +114,6 @@ C/C++ part.") #t))))))) (native-inputs '()))) -(define icu4c/fixed - (package - (inherit icu4c) - (source (origin - (inherit (package-source icu4c)) - (patch-flags '("-p2")) - (patches (append - (origin-patches (package-source icu4c)) - (search-patches - "icu4c-CVE-2020-10531.patch"))))))) - (define-public java-icu4j (package (name "java-icu4j") -- cgit 1.4.1 From cfa6666921e8077884ffb3707ce8323b01f5d345 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 27 Mar 2020 15:16:22 +0100 Subject: gnu: mscgen: Fix build with gd >= 2.3.0. 'gd' no longer provides 'libgd-config', so use 'pkg-config' instead. * gnu/packages/graph.scm (mscgen)[native-inputs]: Add PKG-CONFIG. --- gnu/packages/graph.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index aa6ea16ab3..9b391451fe 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -532,6 +532,8 @@ of graphs.") (base32 "08yw3maxhn5fl1lff81gmcrpa4j9aas4mmby1g9w5qcr0np82d1w")))) (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs `(("gd" ,gd))) (home-page "http://www.mcternan.me.uk/mscgen/") -- cgit 1.4.1 From a3efa4f9eb11b8dc08ab154931ef2a2ef14c0ab7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 27 Mar 2020 15:24:02 +0100 Subject: gnu: emacs: Fix format strings for compatibility with Guile 3. * gnu/packages/emacs.scm (emacs)[arguments]: In the 'patch-program-file-names' and 'install-site-start' phases, specify port in the calls to FORMAT. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index fa420cacf7..0938dabf1e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -139,7 +139,7 @@ "lisp/textmodes/artist.el" "lisp/progmodes/sh-script.el") (("\"/bin/sh\"") - (format "~s" (which "sh")))) + (format #f "~s" (which "sh")))) #t)) (add-before 'configure 'fix-/bin/pwd (lambda _ @@ -163,7 +163,7 @@ (byte-recompile-directory (file-name-as-directory ,dir) 0 1)))) (invoke emacs "--quick" "--batch" - (format "--eval=~s" expr)))) + (format #f "--eval=~s" expr)))) (copy-file (assoc-ref inputs "guix-emacs.el") (string-append lisp-dir "/guix-emacs.el")) -- cgit 1.4.1 From 5d446d6b6a196a7838b9102172cffcc3ebd18487 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 27 Mar 2020 19:01:41 +0100 Subject: gnu: ovmf: Adapt to CPLUS_INCLUDE_PATH changes. * gnu/packages/firmware.scm (ovmf)[native-inputs]: Distinguish GCC-5. [arguments]: Add phase to hide the default GCC from CPLUS_INCLUDE_PATH. --- gnu/packages/firmware.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 93f01b9719..2dff39f786 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -320,7 +320,7 @@ coreboot.") (build-system gnu-build-system) (native-inputs `(("acpica" ,acpica) - ("gcc" ,gcc-5) + ("gcc@5" ,gcc-5) ("nasm" ,nasm) ("python-2" ,python-2) ("util-linux" ,util-linux "lib"))) @@ -328,6 +328,18 @@ coreboot.") `(#:tests? #f ; No check target. #:phases (modify-phases %standard-phases + ;; Hide the default GCC from CPLUS_INCLUDE_PATH to prevent it from + ;; shadowing the version of GCC provided in native-inputs. + (add-after 'set-paths 'hide-gcc7 + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") + #\:)) + ":")) + #t))) (replace 'configure (lambda _ (let* ((cwd (getcwd)) -- cgit 1.4.1 From 7f1aa73b8c69432e6f15463e3b0bea6dc40f4e2f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 27 Mar 2020 19:21:49 +0100 Subject: gnu: guile: Update to 3.0.2. * gnu/packages/guile.scm (guile-3.0): Update to 3.0.2. [source](patches): Remove. * gnu/packages/patches/guile-3.0-crash.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 - gnu/packages/guile.scm | 7 ++----- gnu/packages/patches/guile-3.0-crash.patch | 17 ----------------- 3 files changed, 2 insertions(+), 23 deletions(-) delete mode 100644 gnu/packages/patches/guile-3.0-crash.patch diff --git a/gnu/local.mk b/gnu/local.mk index fa578749cf..b0b72e6349 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1002,7 +1002,6 @@ dist_patch_DATA = \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ - %D%/packages/patches/guile-3.0-crash.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index c87728f432..0efee2d86a 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -269,17 +269,14 @@ without requiring the source code to be rewritten.") (package (inherit guile-2.2) (name "guile") - (version "3.0.1") + (version "3.0.2") (source (origin (inherit (package-source guile-2.2)) (uri (string-append "mirror://gnu/guile/guile-" version ".tar.xz")) (sha256 (base32 - "1jakps3127h8g69ixgb4zwc8v2g29dmwql1vi3pwg30kzp8fm5nn")) - (patches - (append (search-patches "guile-3.0-crash.patch") - (origin-patches (package-source guile-2.2)))))) + "12lziar4j27j9whqp2n18427q45y9ghq7gdd8lqhmj1k0lr7vi2k")))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") diff --git a/gnu/packages/patches/guile-3.0-crash.patch b/gnu/packages/patches/guile-3.0-crash.patch deleted file mode 100644 index 510834ab57..0000000000 --- a/gnu/packages/patches/guile-3.0-crash.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fix crash due to: . - -diff --git a/libguile/struct.c b/libguile/struct.c -index 3dbcc71d4..ddcbe46d2 100644 ---- a/libguile/struct.c -+++ b/libguile/struct.c -@@ -139,7 +139,9 @@ set_vtable_access_fields (SCM vtable) - nfields = len / 2; - - bitmask_size = (nfields + 31U) / 32U; -- unboxed_fields = scm_gc_malloc_pointerless (bitmask_size, "unboxed fields"); -+ unboxed_fields = -+ scm_gc_malloc_pointerless (bitmask_size * sizeof (*unboxed_fields), -+ "unboxed fields"); - memset (unboxed_fields, 0, bitmask_size * sizeof(*unboxed_fields)); - - /* Update FLAGS according to LAYOUT. */ -- cgit 1.4.1 From 2bd9410e171c5359bad24f187e74b23d4174b39e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 27 Mar 2020 19:35:54 +0100 Subject: gnu: libgc: Promote libgc@8 to the default libgc. * gnu/packages/bdw-gc.scm (libgc): Update to 8.0.4. [arguments]: Remove #:phases. [inputs]: Remove LIBATOMIC-OPS. (libgc-8.0): Remove variable. (libgc-7): New variable. --- gnu/packages/bdw-gc.scm | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index 73b0c073d9..5023c3b6e8 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016, 2018 Leo Famulari ;;; Copyright © 2017 Rene Saavedra -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,14 +31,14 @@ (define-public libgc (package (name "libgc") - (version "7.6.12") + (version "8.0.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/ivmai/bdwgc/releases" "/download/v" version "/gc-" version ".tar.gz")) (sha256 (base32 - "10jhhi79d5brwlsyhwgpnrmc8nhlf7aan2lk9xhgihk5jc6srbvc")))) + "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -54,21 +54,8 @@ ,@(if (hurd-triplet? (or (%current-system) (%current-target-system))) '("--disable-gcj-support") - '())) - #:phases (modify-phases %standard-phases - (add-after 'unpack 'adjust-pc-file - (lambda* (#:key inputs #:allow-other-keys) - (let ((libatomic-ops (assoc-ref inputs "libatomic-ops"))) - ;; GC 7.6.10 and later includes -latomic_ops in the - ;; pkg-config file. To avoid propagation, insert an - ;; absolute reference so dependent programs can find it. - (substitute* "bdw-gc.pc.in" - (("@ATOMIC_OPS_LIBS@" match) - (string-append "-L" libatomic-ops "/lib " - match))) - #t)))))) + '())))) (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("libatomic-ops" ,libatomic-ops))) (outputs '("out" "debug")) (synopsis "The Boehm-Demers-Weiser conservative garbage collector for C and C++") @@ -91,17 +78,18 @@ C or C++ programs, though that is not its primary goal.") (license (x11-style (string-append home-page "license.txt"))))) -(define-public libgc-8.0 +(define-public libgc-7 (package (inherit libgc) - (version "8.0.4") + (version "7.6.12") (source (origin (method url-fetch) (uri (string-append "https://github.com/ivmai/bdwgc/releases" "/download/v" version "/gc-" version ".tar.gz")) (sha256 (base32 - "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3")))))) + "10jhhi79d5brwlsyhwgpnrmc8nhlf7aan2lk9xhgihk5jc6srbvc")))) + (propagated-inputs `(("libatomic-ops" ,libatomic-ops))))) (define-public libgc/back-pointers (package/inherit -- cgit 1.4.1 From 18c3980fb13c87964a57b48b0ae4c4c3914ffafa Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 00:08:10 +0100 Subject: gnu: mercurial: Fix test failures with Python 3.8.2. * gnu/packages/version-control.scm (mercurial-patch, %mercurial-patches): New variables. (mercurial)[source](patches): Add %MERCURIAL-PATCHES. --- gnu/packages/version-control.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index b6ba524766..d626f173f9 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1411,6 +1411,28 @@ also walk each side of a merge and test those changes individually.") control to Git repositories.") (license license:gpl2))) +(define (mercurial-patch name revision hash) + (origin + (method url-fetch) + (uri (string-append "https://www.mercurial-scm.org/repo/hg/raw-rev/" revision)) + (file-name (string-append "mercurial-" name ".patch")) + (sha256 (base32 hash)))) + +(define %mercurial-patches + (list + ;; These three patches fixes compatibility with the updated gzip module + ;; in Python 3.8.2: . + (mercurial-patch "python-mtime" "6c36a521572edf3a79ee567b118469b3192037cc" + "0bmm7y40r8s081ws2sjvn1v8kvyfan4a97jl0fhdh7yc2pzxlzqq") + (mercurial-patch "indent-gzip" "a23b859ad17dd0a5b9bb37846b69b5e30f99c44c" + "1spscv9dgqv38m7h1liki93ax6w97gxayg17fr7wr6acjdfccpr9") + (mercurial-patch "python-gzip" "b7ca03dff14c63d64ad7bfa36a2d0a36a6b62253" + "0p88ffhx0kk21ssrsb156ffhpcb7g8mkwwkmq49qpmbm5ag2paf0") + ;; This fixes an incompatibility with os.isfile in Python 3.8: + ;; . + (mercurial-patch "os-isfile" "6a8738dc4a019da4c9df5c26961aa09d45ce1c68" + "0lr069m12kzrkmr1pmhaxg5lxmdwxabsza61qp1i1q70g7sy8lvy"))) + (define-public mercurial (package (name "mercurial") @@ -1419,6 +1441,7 @@ control to Git repositories.") (method url-fetch) (uri (string-append "https://www.mercurial-scm.org/" "release/mercurial-" version ".tar.gz")) + (patches %mercurial-patches) (sha256 (base32 "1nbjpzjrzgql4hrvslpxwbcgn885ikq6ba1yb4w6p78rw9nzkhgp")))) -- cgit 1.4.1 From a5cfb444d1c8f3ab88fb7f1f824d2d37f5099996 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 08:57:29 +0100 Subject: gnu: bdw-gc: Fix cross-compilation. * gnu/packages/bdw-gc.scm (libgc)[propagated-inputs]: When cross-compiling, add LIBATOMIC-OPS. --- gnu/packages/bdw-gc.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index 5023c3b6e8..ca2da249fe 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -56,6 +56,12 @@ '("--disable-gcj-support") '())))) (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs + (if (%current-target-system) + ;; The build system refuses to check for compiler intrinsics when + ;; cross-compiling, and demands using libatomic-ops instead. + `(("libatomic-ops" ,libatomic-ops)) + '())) (outputs '("out" "debug")) (synopsis "The Boehm-Demers-Weiser conservative garbage collector for C and C++") -- cgit 1.4.1 From aebcbb27bc2f192cc06163251bab66a4ceb7b7d6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 08:59:35 +0100 Subject: gnu: guile-static: Provide a libgc variant with statically built libraries. * gnu/packages/bdw-gc.scm (libgc/static-libs): New public variable. * gnu/packages/make-bootstrap.scm (%guile-static)[propagated-inputs]: Change from LIBGC to LIBGC/STATIC-LIBS. --- gnu/packages/bdw-gc.scm | 9 +++++++++ gnu/packages/make-bootstrap.scm | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index ca2da249fe..112a161f94 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -24,6 +24,7 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages pkg-config) #:use-module (gnu packages hurd)) @@ -84,6 +85,14 @@ C or C++ programs, though that is not its primary goal.") (license (x11-style (string-append home-page "license.txt"))))) +;; TODO: Add a static output in libgc in the next rebuild cycle. +(define-public libgc/static-libs + (package/inherit + libgc + (arguments (substitute-keyword-arguments (package-arguments libgc) + ((#:configure-flags flags ''()) + `(cons "--enable-static" ,flags)))))) + (define-public libgc-7 (package (inherit libgc) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index b3610afc8e..7d80e4280b 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -699,7 +699,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ,@(package-inputs guile-2.2))) (propagated-inputs - `(("bdw-gc" ,libgc) + `(("bdw-gc" ,libgc/static-libs) ,@(alist-delete "bdw-gc" (package-propagated-inputs guile-2.0)))) (arguments -- cgit 1.4.1 From 313bf502b52cf16e8934493e41e547c7dbdd31e0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 20:55:03 +0100 Subject: gnu: gcc-static: Make sure #:modules is not overridden by the inherited GCC. This fixes a regression introduced by 56c833ea287f8f6d3c72f8bddc314960c0164d64 and 25bc0f34c6c059394f546f29a203c2cb9b7cdcf6 where #:modules became ineffective. * gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]: Prepend the required modules to those inherited from GCC-5. While at it, do not splice in the inherited arguments. --- gnu/packages/make-bootstrap.scm | 96 ++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 7d80e4280b..5716ed3886 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -464,54 +464,54 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (name "gcc-static") (outputs '("out")) ; all in one (arguments - `(#:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1) - (srfi srfi-26) - (ice-9 regex)) - ,@(substitute-keyword-arguments (package-arguments gcc-5) - ((#:guile _) #f) - ((#:implicit-inputs? _) #t) - ((#:configure-flags flags) - `(append (list - ;; We don't need a full bootstrap here. - "--disable-bootstrap" - - ;; Make sure '-static' is passed where it matters. - "--with-stage1-ldflags=-static" - - ;; GCC 4.8+ requires a C++ compiler and library. - "--enable-languages=c,c++" - - ;; Make sure gcc-nm doesn't require liblto_plugin.so. - "--disable-lto" - - "--disable-shared" - "--disable-plugin" - "--disable-libmudflap" - "--disable-libatomic" - "--disable-libsanitizer" - "--disable-libitm" - "--disable-libgomp" - "--disable-libcilkrts" - "--disable-libvtv" - "--disable-libssp" - "--disable-libquadmath") - (remove (cut string-match "--(.*plugin|enable-languages)" <>) - ,flags))) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'pre-configure 'remove-lgcc_s - (lambda _ - ;; Remove the '-lgcc_s' added to GNU_USER_TARGET_LIB_SPEC in - ;; the 'pre-configure phase of our main gcc package, because - ;; that shared library is not present in this static gcc. See - ;; . - (substitute* (cons "gcc/config/rs6000/sysv4.h" - (find-files "gcc/config" - "^gnu-user.*\\.h$")) - ((" -lgcc_s}}") "}}")) - #t))))))) + (substitute-keyword-arguments (package-arguments gcc-5) + ((#:modules modules %gnu-build-system-modules) + `((srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + ,@modules)) + ((#:guile _) #f) + ((#:implicit-inputs? _) #t) + ((#:configure-flags flags) + `(append (list + ;; We don't need a full bootstrap here. + "--disable-bootstrap" + + ;; Make sure '-static' is passed where it matters. + "--with-stage1-ldflags=-static" + + ;; GCC 4.8+ requires a C++ compiler and library. + "--enable-languages=c,c++" + + ;; Make sure gcc-nm doesn't require liblto_plugin.so. + "--disable-lto" + + "--disable-shared" + "--disable-plugin" + "--disable-libmudflap" + "--disable-libatomic" + "--disable-libsanitizer" + "--disable-libitm" + "--disable-libgomp" + "--disable-libcilkrts" + "--disable-libvtv" + "--disable-libssp" + "--disable-libquadmath") + (remove (cut string-match "--(.*plugin|enable-languages)" <>) + ,flags))) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'pre-configure 'remove-lgcc_s + (lambda _ + ;; Remove the '-lgcc_s' added to GNU_USER_TARGET_LIB_SPEC in + ;; the 'pre-configure phase of our main gcc package, because + ;; that shared library is not present in this static gcc. See + ;; . + (substitute* (cons "gcc/config/rs6000/sysv4.h" + (find-files "gcc/config" + "^gnu-user.*\\.h$")) + ((" -lgcc_s}}") "}}")) + #t)))))) (inputs `(("zlib:static" ,zlib "static") ("isl:static" ,isl-0.18 "static") -- cgit 1.4.1 From 5fd0c288cf238e4369cc6bd0bfbee068a362a9f0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 20:57:27 +0100 Subject: gnu: OpenJDK: Build with GNU Make 4.2. * gnu/packages/base.scm (gnu-make-4.2): New public variable. * gnu/packages/java.scm (openjdk9, openjdk10, openjdk11, openjdk12)[native-inputs]: Add it. --- gnu/packages/base.scm | 25 +++++++++++++++++++++++++ gnu/packages/java.scm | 6 ++++++ 2 files changed, 31 insertions(+) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index aa5200294f..da18a9d60b 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -395,6 +395,31 @@ change. GNU make offers many powerful extensions over the standard utility.") (license gpl3+) (home-page "https://www.gnu.org/software/make/"))) +(define-public gnu-make-4.2 + (package + (inherit gnu-make) + (version "4.2.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/make/make-" version + ".tar.bz2")) + (sha256 + (base32 + "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn")))) + (arguments + `(#:configure-flags '("CFLAGS=-D__alloca=alloca") + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-default-shell + (lambda* (#:key inputs #:allow-other-keys) + ;; Change the default shell from /bin/sh. + (let ((bash (assoc-ref inputs "bash"))) + (substitute* "job.c" + (("default_shell =.*$") + (format #f "default_shell = \"~a/bin/sh\";\n" + bash))) + #t)))))))) + (define-public binutils (package (name "binutils") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index edf8d3ce8e..c68b0d3fd2 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1880,6 +1880,9 @@ new Date();")) (native-inputs `(("icedtea-8" ,icedtea-8) ("icedtea-8:jdk" ,icedtea-8 "jdk") + ;; XXX: The build system is not particularly parallel safe and + ;; fails with newer versions of GNU Make. + ("make@4.2" ,gnu-make-4.2) ("unzip" ,unzip) ("which" ,which) ("zip" ,zip))) @@ -1936,6 +1939,7 @@ new Date();")) (native-inputs `(("openjdk9" ,openjdk9) ("openjdk9:jdk" ,openjdk9 "jdk") + ("make@4.2" ,gnu-make-4.2) ("unzip" ,unzip) ("which" ,which) ("zip" ,zip))))) @@ -2156,6 +2160,7 @@ new Date();")) `(("autoconf" ,autoconf) ("openjdk10" ,openjdk10) ("openjdk10:jdk" ,openjdk10 "jdk") + ("make" ,gnu-make-4.2) ("pkg-config" ,pkg-config) ("unzip" ,unzip) ("which" ,which) @@ -2204,6 +2209,7 @@ new Date();")) `(("autoconf" ,autoconf) ("openjdk11" ,openjdk11) ("openjdk11:jdk" ,openjdk11 "jdk") + ("make@4.2" ,gnu-make-4.2) ("pkg-config" ,pkg-config) ("unzip" ,unzip) ("which" ,which) -- cgit 1.4.1 From 3299d8ef7c7454a8568965da1b34f602a5221c65 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 21:57:52 +0100 Subject: gnu: Export the deprecated 'libjpeg' variable. * gnu/packages/image.scm (libjpeg): Export. --- gnu/packages/image.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 1b8fd32c80..f0c66dd215 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1571,6 +1571,7 @@ and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).") license:zlib)))) ;the libjpeg-turbo SIMD extensions (define-deprecated libjpeg libjpeg-turbo) +(export libjpeg) (define-public niftilib (package -- cgit 1.4.1 From e8bc2a01e9ae69c72367a3d59a6ee29145ca1052 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 22:06:35 +0100 Subject: gnu: Adjust 'package-for-guile-2.0' for the Guile 3 switch. * gnu/packages/guile.scm (package-for-guile-2.0): Rewrite GUILE-3.0 instead of GUILE-2.2. --- gnu/packages/guile.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 0efee2d86a..5e333c9586 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -371,8 +371,8 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its (define package-for-guile-2.0 ;; A procedure that rewrites the dependency tree of the given package to use - ;; GUILE-2.0 instead of GUILE-2.2. - (package-input-rewriting `((,guile-2.2 . ,guile-2.0)) + ;; GUILE-2.0 instead of GUILE-3.0. + (package-input-rewriting `((,guile-3.0 . ,guile-2.0)) (guile-variant-package-name "guile2.0"))) (define package-for-guile-2.2 -- cgit 1.4.1 From 58f705c18ebfafc4e291ba3be2ceeeead9e2a289 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 22:17:08 +0100 Subject: gnu: coreutils-mesboot: Make variable private. This fixes a test failure in tests/graph.scm because the package does not use glibc, yet is part of the public packages. * gnu/packages/commencement.scm (coreutils-mesboot): Use DEFINE instead of DEFINE-PUBLIC. --- gnu/packages/commencement.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 09758d1c3f..4c51fa0cf1 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2466,7 +2466,7 @@ exec " gcc "/bin/" program ("gcc" ,gcc-mesboot) ,@(fold alist-delete (%boot-mesboot4-inputs) '("gcc" "gcc-wrapper")))) -(define-public coreutils-mesboot +(define coreutils-mesboot (package (inherit coreutils) (name "coreutils-mesboot") -- cgit 1.4.1 From 26e92a3025513ec8e2b243cf819a7526a5d8d7c3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 29 Mar 2020 11:35:04 +0200 Subject: gnu: qtbase: Patch the 'moc' executable to cope with GCCs C++ headers. * gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/qt.scm (qtbase)[source](patches): Add it. --- gnu/local.mk | 1 + gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch | 17 +++++++++++++++++ gnu/packages/qt.scm | 1 + 3 files changed, 19 insertions(+) create mode 100644 gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch diff --git a/gnu/local.mk b/gnu/local.mk index b0b72e6349..46e2936567 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1385,6 +1385,7 @@ dist_patch_DATA = \ %D%/packages/patches/qemu-fix-documentation-build-failure.patch \ %D%/packages/patches/qrcodegen-cpp-make-install.patch \ %D%/packages/patches/qt4-ldflags.patch \ + %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \ %D%/packages/patches/qtbase-QTBUG-81715.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ diff --git a/gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch b/gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch new file mode 100644 index 0000000000..b296cf0b72 --- /dev/null +++ b/gnu/packages/patches/qtbase-moc-ignore-gcc-macro.patch @@ -0,0 +1,17 @@ +The moc executable loops through headers on CPLUS_INCLUDE_PATH and stumbles +on the GCC internal _GLIBCXX_VISIBILITY macro. Tell it to ignore it as it is +not supposed to be looking there to begin with. + +Upstream report: https://bugreports.qt.io/browse/QTBUG-83160 + +diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp +--- a/src/tools/moc/main.cpp ++++ b/src/tools/moc/main.cpp +@@ -188,6 +188,7 @@ int runMoc(int argc, char **argv) + dummyVariadicFunctionMacro.arguments += Symbol(0, PP_IDENTIFIER, "__VA_ARGS__"); + pp.macros["__attribute__"] = dummyVariadicFunctionMacro; + pp.macros["__declspec"] = dummyVariadicFunctionMacro; ++ pp.macros["_GLIBCXX_VISIBILITY"] = dummyVariadicFunctionMacro; + + QString filename; + QString output; diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 81989f68c3..368cfb7e15 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -352,6 +352,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") "0pb68d30clksdhgy8n6rrs838bb3qcsfq4pv463yy2nr4p5kk2di")) ;; Use TZDIR to avoid depending on package "tzdata". (patches (search-patches "qtbase-use-TZDIR.patch" + "qtbase-moc-ignore-gcc-macro.patch" "qtbase-QTBUG-81715.patch")) (modules '((guix build utils))) (snippet -- cgit 1.4.1 From ba2f61bb0528d9529a675ae3815977df8aaaae28 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 12 Mar 2020 16:59:25 +0100 Subject: gnu: guile: Disable failing tests on the Hurd. * gnu/packages/guile.scm (guile-2.0)[arguments]: Remove failing/hanging tests on the Hurd. --- gnu/packages/guile.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5e333c9586..d957b3ee7b 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -180,6 +180,20 @@ without requiring the source code to be rewritten.") `(#:configure-flags '("--disable-static") ; saves 3 MiB #:phases (modify-phases %standard-phases + ,@(if (hurd-system?) + '((add-after 'unpack 'disable-tests + (lambda _ + ;; Hangs at: "Running 00-repl-server.test" + (rename-file "test-suite/tests/00-repl-server.test" "00-repl-server.test") + ;; Sometimes Hangs at: "Running 00-socket.test" + (rename-file "test-suite/tests/00-socket.test" "00-socket.test") + ;; FAIL: srfi-18.test: thread-sleep!: thread sleeps fractions of a second + (rename-file "test-suite/tests/srfi-18.test" "srfi-18.test") + ;; failed to remove 't-guild-compile-7215.go.tdL7yC + (substitute* "test-suite/standalone/Makefile.in" + (("test-guild-compile ") "")) + #t))) + '()) (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) ;; Tell (ice-9 popen) the file name of Bash. -- cgit 1.4.1 From 2c7ea1892520396c5ced4904b943ae142948aec9 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 5 Mar 2020 14:25:08 -0500 Subject: gnu: coreutils: Handle failing tests on Hurd. * gnu/base/coreutils.scm (coreutils)[arguments]: Use make-flags to mark some tests XFAIL_TESTS on the Hurd. --- gnu/packages/base.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index da18a9d60b..43dc8c492e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -322,6 +322,20 @@ used to apply commands with arbitrarily long arguments.") (outputs '("out" "debug")) (arguments `(#:parallel-build? #f ; help2man may be called too early + ,@(if (hurd-target?) + '(#:make-flags ; these tests fail deterministically + (list (string-append "XFAIL_TESTS=tests/misc/env-S.pl" + " tests/misc/kill.sh" + " tests/misc/nice.sh" + " tests/split/fail.sh" + " test-fdutimensat" + " test-futimens" + " test-linkat" + " test-renameat" + " test-renameatu" + " test-tls" + " test-utimensat"))) + '()) #:phases (modify-phases %standard-phases (add-before 'build 'patch-shell-references (lambda _ -- cgit 1.4.1 From 9ec263b415f0fccce47fa3cc35a1651017a265ea Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 11:51:39 -0500 Subject: gnu: isc-dhcp: Support for the Hurd. * gnu/packages/admin.scm (isc-dhcp)[inputs]: Remove net-tools, iproute on the Hurd. --- gnu/packages/admin.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d35c455275..ae1ed94b1b 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -910,8 +910,9 @@ connection alive.") ("file" ,file))) (inputs `(("inetutils" ,inetutils) - ("net-tools" ,net-tools) - ("iproute" ,iproute) + ,@(if (hurd-target?) '() + `(("net-tools" ,net-tools) + ("iproute" ,iproute))) ;; isc-dhcp bundles a copy of BIND, which has proved vulnerable ;; in the past. Use a BIND-VERSION of our choosing instead. -- cgit 1.4.1 From a9bcc6474667d6699500f03d69f9c8212a50d711 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 17:53:32 -0500 Subject: gnu: gnutls: Remove net-tools for the Hurd. * gnu/packages/tls.scm (gnutls)[inputs]: Remove net-tools for the Hurd. --- gnu/packages/tls.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a057432f4b..eab832ce41 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,7 @@ #:use-module (gnu packages dns) #:use-module (gnu packages gawk) #:use-module (gnu packages guile) + #:use-module (gnu packages hurd) #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages libidn) @@ -223,7 +225,8 @@ living in the same process.") "debug" "doc")) ;4.1 MiB of man pages (native-inputs - `(("net-tools" ,net-tools) + `(,@(if (hurd-target?) '() + `(("net-tools" ,net-tools))) ("pkg-config" ,pkg-config) ("which" ,which) ("datefudge" ,datefudge) ;tests rely on 'datefudge' -- cgit 1.4.1 From 111110038d3ff78a354f13130994081db82ee0d4 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 7 Mar 2020 03:36:51 -0500 Subject: gnu: nghttp2: Remove jemalloc dependency for the Hurd. * gnu/packages/web.scm (nghttp2)[inputs]: Remove jemalloc for the Hurd. --- gnu/packages/web.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 3f59bbdb73..781f76a132 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2020 Timotej Lazar ;;; Copyright © 2020 Alexandros Theodotou ;;; Copyright © 2020 Pierre Neidhardt +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -108,6 +109,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) + #:use-module (gnu packages hurd) #:use-module (gnu packages java) #:use-module (gnu packages jemalloc) #:use-module (gnu packages image) @@ -7024,7 +7026,8 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") ;; Required to build the tools (i.e. without ‘--enable-lib-only’). `(("c-ares" ,c-ares) ("jansson" ,jansson) ; for HPACK tools - ("jemalloc" ,jemalloc) ; fight nghttpd{,x} heap fragmentation + ,@(if (hurd-target?) '() + `(("jemalloc" ,jemalloc))) ; fight nghttpd{,x} heap fragmentation ("libev" ,libev) ("libxml2" ,libxml2) ; for ‘nghttp -a’ ("openssl" ,openssl))) -- cgit 1.4.1 From 0c962369e9a43dfca43f50a4f921bfcce1c7609a Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 8 Mar 2020 21:17:03 +0100 Subject: gnu: Add grub-minimal. * gnu/packages/bootloaders.scm (grub-minimal): New variable. --- gnu/packages/bootloaders.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index afbd1909bf..e988a47f09 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 nee ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Björn Höfling +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -226,6 +227,33 @@ menu to select one of the installed operating systems.") (license license:gpl3+) (properties '((cpe-name . "grub2"))))) +(define-public grub-minimal + (package + (inherit grub) + (name "grub-minimal") + (inputs + (fold alist-delete (package-inputs grub) + '("lvm2" "mdadm" "fuse" "console-setup"))) + (native-inputs + (fold alist-delete (package-native-inputs grub) + '("help2man" "texinfo" "parted" "qemu" "xorriso"))) + (arguments + `(#:configure-flags (list "PYTHON=true") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-stuff + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (substitute* "grub-core/Makefile.in" + (("/bin/sh") (which "sh"))) + + ;; Make the font visible. + (copy-file (assoc-ref (or native-inputs inputs) + "unifont") + "unifont.bdf.gz") + (system* "gunzip" "unifont.bdf.gz") + + #t))) + #:tests? #f)))) + (define-public grub-efi (package (inherit grub) -- cgit 1.4.1 From 6a790fe349fa4320337d1773bc7b064adbbac40e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 8 Mar 2020 21:17:27 +0100 Subject: gnu: bootloader: Add grub-minimal-bootloader. * gnu/bootloader/grub.scm (grub-minimal-bootloader): New variable. --- gnu/bootloader/grub.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 28e6cb1f5f..0b723e824f 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe -;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. @@ -54,6 +54,7 @@ grub-bootloader grub-efi-bootloader grub-mkrescue-bootloader + grub-minimal-bootloader grub-configuration)) @@ -453,6 +454,14 @@ fi~%")))) (configuration-file "/boot/grub/grub.cfg") (configuration-file-generator grub-configuration-file))) +(define grub-minimal-bootloader + (bootloader + (name 'grub) + (package grub-minimal) + (installer install-grub) + (configuration-file "/boot/grub/grub.cfg") + (configuration-file-generator grub-configuration-file))) + (define* grub-efi-bootloader (bootloader (inherit grub-bootloader) -- cgit 1.4.1 From ee401ed9249fbe284ef1b9b437d39207ca88131b Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Sun, 22 Mar 2020 16:32:33 +0000 Subject: gnu: mesa: Enable rockchip support on aarch64/armhf. * gnu/packages/gl (mesa): Enable kmsro, lima and panfrost gallium drivers. --- gnu/packages/gl.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 01241cd88e..710c602a96 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -293,7 +293,7 @@ also known as DXTn or DXTC) for Mesa.") '(,@(match (%current-system) ((or "armhf-linux" "aarch64-linux") ;; TODO: Fix svga driver for aarch64 and armhf. - '("-Dgallium-drivers=etnaviv,freedreno,nouveau,r300,r600,swrast,tegra,v3d,vc4,virgl")) + '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl")) (_ '("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl"))) ;; Enable various optional features. TODO: opencl requires libclc, -- cgit 1.4.1 From 1808e64de095c8b0960bc8ac8df0ef48a5f95109 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 30 Mar 2020 13:03:11 +0200 Subject: gnu: coreutils: Typo: Use libcap only when supported. * gnu/packages/base.scm (coreutils)[inputs]: Typo: Use libcap only when supported. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 43dc8c492e..80a158a685 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -307,8 +307,8 @@ used to apply commands with arbitrarily long arguments.") ;; Do not use libcap when cross-compiling since it's not quite ;; cross-compilable; and use it only for supported systems. ,@(if (and (not (%current-target-system)) - (not (member (%current-system) - (package-supported-systems libcap)))) + (member (%current-system) + (package-supported-systems libcap))) `(("libcap" ,libcap)) ;capability support in 'ls', etc. '()))) (native-inputs -- cgit 1.4.1 From 47cd0febe957b698cc2ae28978bdc3bc89e787f9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 30 Mar 2020 15:07:49 +0200 Subject: gnu: rust: Build with Make 4.2. Fixes . * gnu/packages/rust.scm (rust-1.20)[native-inputs]: Add GNU-MAKE-4.2. --- gnu/packages/rust.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 6774603db6..5e5748f199 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -469,6 +469,10 @@ safety and thread safety guarantees.") (delete-file-recursively "src/llvm") #t)) (patches '()))) + (native-inputs + `(;; The tests fail with newer versions of GNU Make. + ("make" ,gnu-make-4.2) + ,@(package-native-inputs base-rust))) (outputs '("out" "doc" "cargo")) ;; Since rust-1.19 is local, it's quite probable that Hydra ;; will build rust-1.19 only as a dependency of rust-1.20. -- cgit 1.4.1 From 95ac5cd66854566feeb87174edadf60fccd44c31 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 31 Mar 2020 15:15:19 +0200 Subject: gnu: OpenSSL: Update to 1.1.1f. * gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/tls.scm (openssl): Update to 1.1.1f. [source](patches): Remove obsolete patch. --- gnu/local.mk | 1 - .../patches/openssl-1.1.1e-revert-detect-eof.patch | 80 ---------------------- gnu/packages/tls.scm | 7 +- 3 files changed, 3 insertions(+), 85 deletions(-) delete mode 100644 gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9d62bec720..208e25572f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1271,7 +1271,6 @@ dist_patch_DATA = \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \ - %D%/packages/patches/openssl-1.1.1e-revert-detect-eof.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ %D%/packages/patches/openssl-CVE-2019-1559.patch \ %D%/packages/patches/open-zwave-hidapi.patch \ diff --git a/gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch b/gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch deleted file mode 100644 index 973559440f..0000000000 --- a/gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch +++ /dev/null @@ -1,80 +0,0 @@ -This patch reverts a change in 1.1.1e that can break applications that do -not expect EOF to be reported via SSL_ERROR_SSL. - -https://bugs.python.org/issue40018 -https://github.com/openssl/openssl/pull/11400 -https://github.com/openssl/openssl/commit/0cd2ee64bffcdece599c3e4b5fac3830a55dc0fa - -Taken from upstream: -https://github.com/openssl/openssl/commit/30d190caf311d534867df97e26b552e628cb7d85 - -diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt -index f5324c6819d8..35512f9caf96 100644 ---- a/crypto/err/openssl.txt -+++ b/crypto/err/openssl.txt -@@ -2852,7 +2852,6 @@ SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES:242:unable to load ssl3 md5 routines - SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES:243:unable to load ssl3 sha1 routines - SSL_R_UNEXPECTED_CCS_MESSAGE:262:unexpected ccs message - SSL_R_UNEXPECTED_END_OF_EARLY_DATA:178:unexpected end of early data --SSL_R_UNEXPECTED_EOF_WHILE_READING:294:unexpected eof while reading - SSL_R_UNEXPECTED_MESSAGE:244:unexpected message - SSL_R_UNEXPECTED_RECORD:245:unexpected record - SSL_R_UNINITIALIZED:276:uninitialized -diff --git a/include/openssl/sslerr.h b/include/openssl/sslerr.h -index 0ef684f3c131..ba4c4ae5fbd3 100644 ---- a/include/openssl/sslerr.h -+++ b/include/openssl/sslerr.h -@@ -1,6 +1,6 @@ - /* - * Generated by util/mkerr.pl DO NOT EDIT -- * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. -+ * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy -@@ -734,7 +734,6 @@ int ERR_load_SSL_strings(void); - # define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 - # define SSL_R_UNEXPECTED_CCS_MESSAGE 262 - # define SSL_R_UNEXPECTED_END_OF_EARLY_DATA 178 --# define SSL_R_UNEXPECTED_EOF_WHILE_READING 294 - # define SSL_R_UNEXPECTED_MESSAGE 244 - # define SSL_R_UNEXPECTED_RECORD 245 - # define SSL_R_UNINITIALIZED 276 -diff --git a/ssl/record/rec_layer_s3.c b/ssl/record/rec_layer_s3.c -index 1c885a664f35..b2a7a47eb075 100644 ---- a/ssl/record/rec_layer_s3.c -+++ b/ssl/record/rec_layer_s3.c -@@ -296,12 +296,6 @@ int ssl3_read_n(SSL *s, size_t n, size_t max, int extend, int clearold, - ret = BIO_read(s->rbio, pkt + len + left, max - left); - if (ret >= 0) - bioread = ret; -- if (ret <= 0 -- && !BIO_should_retry(s->rbio) -- && BIO_eof(s->rbio)) { -- SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_F_SSL3_READ_N, -- SSL_R_UNEXPECTED_EOF_WHILE_READING); -- } - } else { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_READ_N, - SSL_R_READ_BIO_NOT_SET); -diff --git a/ssl/ssl_err.c b/ssl/ssl_err.c -index a0c7b79659d4..4b12ed1485d9 100644 ---- a/ssl/ssl_err.c -+++ b/ssl/ssl_err.c -@@ -1,6 +1,6 @@ - /* - * Generated by util/mkerr.pl DO NOT EDIT -- * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. -+ * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy -@@ -1205,8 +1205,6 @@ static const ERR_STRING_DATA SSL_str_reasons[] = { - "unexpected ccs message"}, - {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_END_OF_EARLY_DATA), - "unexpected end of early data"}, -- {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_EOF_WHILE_READING), -- "unexpected eof while reading"}, - {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_MESSAGE), "unexpected message"}, - {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_RECORD), "unexpected record"}, - {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNINITIALIZED), "uninitialized"}, diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index eab832ce41..812057c6ed 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -283,7 +283,7 @@ required structures.") (define-public openssl (package (name "openssl") - (version "1.1.1e") + (version "1.1.1f") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -295,9 +295,8 @@ required structures.") "/openssl-" version ".tar.gz"))) (sha256 (base32 - "1gnwlri1dphr5wdzmg9vlhkh6aq2yqgpfkpmffzwjlfb26n62kv9")) - (patches (search-patches "openssl-1.1-c-rehash-in.patch" - "openssl-1.1.1e-revert-detect-eof.patch")))) + "0d9zv9srjqivs8nn099fpbjv1wyhfcb8lzy491dpmfngdvz6nv0q")) + (patches (search-patches "openssl-1.1-c-rehash-in.patch")))) (build-system gnu-build-system) (outputs '("out" "doc" ;6.8 MiB of man3 pages and full HTML documentation -- cgit 1.4.1 From 3e902bbb56e34669bc3de8a3768104aa118a0881 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 31 Mar 2020 18:16:05 +0200 Subject: gnu: util-linux: Skip setarch tests when building on armhf-linux. * gnu/packages/linux.scm (util-linux)[arguments]: When building on armhf-linux, disable the setarch tests. --- gnu/packages/linux.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b56803066b..faedce7250 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1216,6 +1216,21 @@ providing the system administrator with some help in common tasks.") (substitute* "tests/ts/column/invalid-multibyte" (("C\\.UTF-8") "en_US.utf8")) #t))) + ;; TODO: Remove the conditional on the next rebuild cycle. + ,@(if (string-prefix? "arm" (%current-system)) + '((add-before 'check 'disable-setarch-test + (lambda _ + ;; The setarch tests are unreliable in QEMU's + ;; user-mode emulation, which is our primary + ;; method of building ARMv7 packages. + ;; + (substitute* "tests/ts/misc/setarch" + (("ts_init_subtest.*" all) + (string-append + all "\n" + "ts_skip \"setarch tests are unreliable under QEMU\""))) + #t))) + '()) (add-after 'install 'move-static-libraries (lambda* (#:key outputs #:allow-other-keys) (let ((lib (assoc-ref outputs "lib")) -- cgit 1.4.1 From 67ca82e6ddc9f1c87fa8c033729a1f53b7c2b3ba Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 1 Apr 2020 12:58:32 +0200 Subject: gnu: Python: Fix test failure on ARMv7. * gnu/packages/patches/python-3-arm-alignment.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python.scm (python-3.8)[source](patches): Add it when the current system is ARM. --- gnu/local.mk | 1 + gnu/packages/patches/python-3-arm-alignment.patch | 21 ++++++++++++++++++ gnu/packages/python.scm | 27 +++++++++++++++++------ 3 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/python-3-arm-alignment.patch diff --git a/gnu/local.mk b/gnu/local.mk index 208e25572f..1599b0933a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1344,6 +1344,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-2.7-search-paths.patch \ %D%/packages/patches/python-2.7-site-prefixes.patch \ %D%/packages/patches/python-2.7-source-date-epoch.patch \ + %D%/packages/patches/python-3-arm-alignment.patch \ %D%/packages/patches/python-3-deterministic-build-info.patch \ %D%/packages/patches/python-3-search-paths.patch \ %D%/packages/patches/python-3-fix-tests.patch \ diff --git a/gnu/packages/patches/python-3-arm-alignment.patch b/gnu/packages/patches/python-3-arm-alignment.patch new file mode 100644 index 0000000000..065c1a7bb2 --- /dev/null +++ b/gnu/packages/patches/python-3-arm-alignment.patch @@ -0,0 +1,21 @@ +Ensure memory accesses in the sha3 module are aligned on ARM as it causes +problems when running 32-bit code on a 64-bit kernel. + +Patch taken from upstream bug report: +https://bugs.python.org/issue36515 + +--- a/Modules/_sha3/sha3module.c ++++ b/Modules/_sha3/sha3module.c +@@ -64,6 +64,12 @@ + #define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN + #endif + ++/* Bus error on 32-bit ARM due to un-aligned memory accesses; 64-bit ARM ++ * doesn't complain but un-aligned memory accesses are sub-optimal */ ++#if defined(__arm__) || defined(__aarch64__) ++#define NO_MISALIGNED_ACCESSES ++#endif ++ + /* mangle names */ + #define KeccakF1600_FastLoop_Absorb _PySHA3_KeccakF1600_FastLoop_Absorb + #define Keccak_HashFinal _PySHA3_Keccak_HashFinal diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8e28265fbe..e9a20dc418 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016 David Craven -;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2016, 2017 Stefan Reichör ;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016, 2017 Alex Vong @@ -92,7 +92,9 @@ #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26)) (define-public python-2.7 (package @@ -352,11 +354,22 @@ data types.") (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) - (patches (search-patches - "python-3-fix-tests.patch" - "python-3.8-fix-tests.patch" - "python-3-deterministic-build-info.patch" - "python-3-search-paths.patch")) + (patches (append + ;; Disable unaligned accesses in the sha3 module on ARM as + ;; it causes a test failure when building 32-bit Python on a + ;; 64-bit kernel. See . + ;; TODO: Remove the conditional on the next rebuild cycle. + (let ((system (or (%current-target-system) + (%current-system)))) + (if (any (cute string-prefix? <> system) + '("arm" "aarch64")) + (list (search-patch "python-3-arm-alignment.patch")) + '())) + (search-patches + "python-3-fix-tests.patch" + "python-3.8-fix-tests.patch" + "python-3-deterministic-build-info.patch" + "python-3-search-paths.patch"))) (sha256 (base32 "1ps5v323cp5czfshqjmbsqw7nvrdpcbk06f62jbzaqik4gfffii6")) -- cgit 1.4.1 From 3cff86db8a510bc2731b9899a6035ebda5225adc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 2 Apr 2020 17:11:17 +0200 Subject: gnu: Python: Move arm-alignment.patch to a native-input + phase. This follows up 67ca82e6ddc9f1c87fa8c033729a1f53b7c2b3ba which was ineffective when running 'guix build --system=armhf-linux python' on e.g. x86_64-linux because the conditional would always return the native system. * gnu/packages/python.scm (python-3.8)[native-inputs]: Add "arm-alignment.patch". [arguments]: Add phase to apply it. [source](patches): Remove it. * gnu/packages/commencement.scm (python-boot0): Prevent inheriting the phase. --- gnu/packages/commencement.scm | 12 ++++++++++- gnu/packages/python.scm | 48 ++++++++++++++++++++++++++++--------------- 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 4c51fa0cf1..7e969faafe 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3182,7 +3182,17 @@ the bootstrap environment." ;; Python package won't interfere with this one. ((#:make-flags _ ''()) ''()) ((#:phases phases) - `(modify-phases ,phases + ;; Remove the 'apply-alignment-patch' phase if present to avoid + ;; rebuilding this package. TODO: for the next rebuild cycle, + ;; consider inlining all the arguments instead of inheriting to + ;; make it easier to patch Python without risking a full rebuild. + ;; Or better yet, change to 'python-on-guile'. + `(modify-phases ,@(list (match phases + (('modify-phases original-phases + changes ... + ('add-after unpack apply-alignment-patch _)) + `(modify-phases ,original-phases ,@changes)) + (_ phases))) (add-before 'configure 'disable-modules (lambda _ (substitute* "setup.py" diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e9a20dc418..f0a6193a92 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -354,22 +354,11 @@ data types.") (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) - (patches (append - ;; Disable unaligned accesses in the sha3 module on ARM as - ;; it causes a test failure when building 32-bit Python on a - ;; 64-bit kernel. See . - ;; TODO: Remove the conditional on the next rebuild cycle. - (let ((system (or (%current-target-system) - (%current-system)))) - (if (any (cute string-prefix? <> system) - '("arm" "aarch64")) - (list (search-patch "python-3-arm-alignment.patch")) - '())) - (search-patches - "python-3-fix-tests.patch" - "python-3.8-fix-tests.patch" - "python-3-deterministic-build-info.patch" - "python-3-search-paths.patch"))) + (patches (search-patches + "python-3-fix-tests.patch" + "python-3.8-fix-tests.patch" + "python-3-deterministic-build-info.patch" + "python-3-search-paths.patch")) (sha256 (base32 "1ps5v323cp5czfshqjmbsqw7nvrdpcbk06f62jbzaqik4gfffii6")) @@ -394,6 +383,7 @@ data types.") " test_socket"))) ((#:phases phases) `(modify-phases ,phases + (add-before 'check 'set-TZDIR (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; test_email requires the Olson time zone database. @@ -432,9 +422,33 @@ data types.") ,file))) (find-files out "\\.py$"))) (list '() '("-O") '("-OO"))) - #t))))))) + #t))) + ;; XXX: Apply patch on ARM platforms only to avoid a full rebuild. + ;; Remove this phase in the next rebuild cycle. + ,@(let ((system (or (%current-target-system) + (%current-system)))) + (if (any (cute string-prefix? <> system) + '("arm" "aarch64")) + '((add-after 'unpack 'apply-alignment-patch + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (invoke "patch" "-p1" "--force" "--input" + (assoc-ref (or native-inputs inputs) + "arm-alignment.patch"))))) + '())))))) (native-inputs `(("tzdata" ,tzdata-for-tests) + + ;; Disable unaligned accesses in the sha3 module on ARM as + ;; it causes a test failure when building 32-bit Python on a + ;; 64-bit kernel. See . + ;; TODO: make this a regular patch in the next rebuild cycle. + ,@(let ((system (or (%current-target-system) + (%current-system)))) + (if (any (cute string-prefix? <> system) + '("arm" "aarch64")) + `(("arm-alignment.patch" ,(search-patch "python-3-arm-alignment.patch"))) + '())) + ,@(if (%current-target-system) `(("python3" ,this-package)) '()) -- cgit 1.4.1 From c745b6f62c9c70f0ac286c1540cbee240ebac59f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 15:53:10 +0200 Subject: gnu: GSL: Disable failing tests on i686-linux and aarch64-linux. This follows up commit 7ad3c81240b366b99f29c4ac5f7c42173c91f38a, which enabled tests that were previously disabled on i686, and takes into account new tests with similar issues. While at it, selectively disable tests on aarch64 instead of disabling all tests. * gnu/packages/maths.scm (gsl)[arguments]: On i686 and aarch64, add #:phases. --- gnu/packages/maths.scm | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4ff2189fb9..05cea4713c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018 Nadya Voronova ;;; Copyright © 2018 Adam Massmann -;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2018, 2020 Marius Bakke ;;; Copyright © 2018 Eric Brown ;;; Copyright © 2018 Julien Lepiller ;;; Copyright © 2018 Amin Bandali @@ -388,12 +388,35 @@ semiconductors.") "1a460zj9xmbgvcymkdhqh313c4l29mn9cffbi5vf33x3qygk70mp")))) (build-system gnu-build-system) (arguments - `(;; Currently there are numerous tests that fail on "exotic" - ;; architectures such as aarch64 and ppc64le. - ,@(if (string-prefix? "aarch64-linux" - (or (%current-target-system) (%current-system))) - '(#:tests? #f) - '()))) + (let ((system (%current-system))) + (cond + ((string-prefix? "aarch64" system) + ;; Some sparse matrix tests are failing on AArch64: + ;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00001.html + '(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "spmatrix/test.c" + ((".*test_complex.*") "\n")) + #t))))) + ((string-prefix? "i686" (%current-system)) + ;; There are rounding issues with these tests on i686: + ;; https://lists.gnu.org/archive/html/bug-gsl/2016-10/msg00000.html + ;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00000.html + '(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "linalg/test.c" + ((".*gsl_test\\(test_LU_decomp.*") "\n") + ((".*gsl_test\\(test_LUc_decomp.*") "\n") + ((".*gsl_test\\(test_cholesky_decomp.*") "\n") + ((".*gsl_test\\(test_COD_lssolve2.*") "\n")) + (substitute* "spmatrix/test.c" + ((".*test_all.*") "\n") + ((".*test_float.*") "\n") + ((".*test_complex.*") "\n")) + #t))))) + (else '())))) (home-page "https://www.gnu.org/software/gsl/") (synopsis "Numerical library for C and C++") (description -- cgit 1.4.1 From 976ae7eab6d14a8a82bf185e39f58abac0c4b915 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 15:58:22 +0200 Subject: gnu: libreoffice: Fix build with Poppler 0.86. * gnu/packages/patches/libreoffice-poppler-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/libreoffice.scm (libreoffice)[source](patches): New field. --- gnu/local.mk | 1 + gnu/packages/libreoffice.scm | 1 + gnu/packages/patches/libreoffice-poppler-compat.patch | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 gnu/packages/patches/libreoffice-poppler-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1599b0933a..f5ca0e3d8d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1143,6 +1143,7 @@ dist_patch_DATA = \ %D%/packages/patches/libmpeg2-global-symbol-test.patch \ %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ + %D%/packages/patches/libreoffice-poppler-compat.patch \ %D%/packages/patches/libsndfile-armhf-type-checks.patch \ %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 225bf78706..a3a6ea5d1a 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -1006,6 +1006,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (string-append "https://download.documentfoundation.org/libreoffice/src/" (version-prefix version 3) "/libreoffice-" version ".tar.xz")) + (patches (search-patches "libreoffice-poppler-compat.patch")) (sha256 (base32 "06acm41q9nda8r30b13cn9zafsw1gszjdphh6lx90s09d2sf7f23")))) diff --git a/gnu/packages/patches/libreoffice-poppler-compat.patch b/gnu/packages/patches/libreoffice-poppler-compat.patch new file mode 100644 index 0000000000..8dc0b60a12 --- /dev/null +++ b/gnu/packages/patches/libreoffice-poppler-compat.patch @@ -0,0 +1,19 @@ +Fix type mismatch with Poppler 0.86. + +Taken from Arch Linux: +https://git.archlinux.org/svntogit/packages.git/tree/trunk/libreoffice-poppler-0.86.patch?h=packages/libreoffice-fresh + +diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx ++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +@@ -563,7 +563,9 @@ void PDFOutDev::processLink(Link* link, Catalog*) + if (!(pAction && pAction->getKind() == actionURI)) + return; + +-#if POPPLER_CHECK_VERSION(0, 72, 0) ++#if POPPLER_CHECK_VERSION(0, 86, 0) ++ const char* pURI = static_cast(pAction)->getURI().c_str(); ++#elif POPPLER_CHECK_VERSION(0, 72, 0) + const char* pURI = static_cast(pAction)->getURI()->c_str(); + #else + const char* pURI = static_cast(pAction)->getURI()->getCString(); -- cgit 1.4.1 From d05e3b08ea0ca6dde6b2a27de5c1bba9cd60e132 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 16:00:43 +0200 Subject: gnu: python-apsw: Update to 3.31.1-r1. * gnu/packages/databases.scm (python-apsw): Update to 3.31.1-r1. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 2a026b1589..4ed181021f 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2674,7 +2674,7 @@ PickleShare.") (define-public python-apsw (package (name "python-apsw") - (version "3.28.0-r1") + (version "3.31.1-r1") (source (origin (method url-fetch) @@ -2682,7 +2682,7 @@ PickleShare.") "/download/" version "/apsw-" version ".zip")) (sha256 (base32 - "0x62534l5hcgwrc4k2gxpdzc1sxlhm6m4nwlay74rnmr77qh8wly")))) + "1gap5lr6c7bp134nzvfwr693i6d0fqyaysg3ms2cayjldv616yfx")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip))) -- cgit 1.4.1 From 8ecdef3cbbf10ce93634eed3f759891afa7e7b6c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 16:04:40 +0200 Subject: gnu: IceCat: Remove obsolete phase. * gnu/packages/gnuzilla.scm (icecat)[arguments]: Remove phase 'augment-CPLUS_INCLUDE_PATH'. --- gnu/packages/gnuzilla.scm | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 23f15906c5..2db4697a6d 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1016,20 +1016,6 @@ from forcing GEXP-PROMISE." (string-append name "\"" null-hash "\""))) (generate-all-checksums "third_party/rust")) #t)) - (add-before 'configure 'augment-CPLUS_INCLUDE_PATH - (lambda* (#:key build inputs #:allow-other-keys) - ;; Here, we add additional entries to CPLUS_INCLUDE_PATH, to work - ;; around a problem that otherwise occurs when attempting to - ;; build Stylo, which requires Rust and Clang. Without these - ;; additional entries, errors occur during the build indicating - ;; that the and "c++config.h" headers cannot be found. - ;; Note that the 'build' keyword argument contains the GNU - ;; triplet, e.g. "x86_64-unknown-linux-gnu". - (let ((gcc (assoc-ref inputs "gcc"))) - (setenv "CPLUS_INCLUDE_PATH" - (string-append gcc "/include/c++" ":" - gcc "/include/c++/" build))) - #t)) (replace 'configure ;; configure does not work followed by both "SHELL=..." and ;; "CONFIG_SHELL=..."; set environment variables instead -- cgit 1.4.1 From d27748674a49bc2251fce1d027378dc0ce24dc5c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 17:39:22 +0200 Subject: gnu: hcxtools: Fix build failure. * gnu/packages/networking.scm (hcxtools)[arguments]: Do not override C_INCLUDE_PATH. --- gnu/packages/networking.scm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index c492a7f2ad..13ece07740 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2442,15 +2442,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.") #:tests? #f ; no test suite #:phases (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'set-environment - (lambda* (#:key inputs #:allow-other-keys) - (setenv "C_INCLUDE_PATH" - (string-append (assoc-ref inputs "curl") "/include:" - (assoc-ref inputs "libpcap") "/include:" - (assoc-ref inputs "openssl") "/include:" - (assoc-ref inputs "zlib") "/include")) - #t))))) + (delete 'configure)))) (home-page "https://github.com/ZerBea/hcxtools") (synopsis "Capture wlan traffic to hashcat and John the Ripper") (description -- cgit 1.4.1 From 68858013ad34e96aead4c22c241c0b1308e5e6a3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 17:40:48 +0200 Subject: gnu: zyre: Remove obsolete workaround. * gnu/packages/networking.scm (zyre)[arguments]: Remove. --- gnu/packages/networking.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 13ece07740..7561103888 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2172,12 +2172,6 @@ remotely.") (base32 "0qz2730bng1gs9xbqxhkw88qbsmszgmmrl2g9k6xrg6r3bqvsdc7")))) (build-system gnu-build-system) - (arguments - `(;; Ensure the kernel headers are treated as system headers to suppress - ;; harmless -Werror=pedantic warnings. - #:make-flags (list (string-append "C_INCLUDE_PATH=" - (assoc-ref %build-inputs "kernel-headers") - "/include")))) (inputs `(("zeromq" ,zeromq) ("czmq" ,czmq) ("libsodium" ,libsodium))) -- cgit 1.4.1 From cf6f475b747e7fb4ad40d1f1a6bff554744e06d2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 17:42:07 +0200 Subject: gnu: multipath-tools: Remove obsolete workaround. * gnu/packages/linux.scm (multipath-tools)[arguments]: Do not override C_INCLUDE_PATH in #:configure-flags. --- gnu/packages/linux.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index faedce7250..6c7eb5be12 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4017,12 +4017,6 @@ arrays when needed.") (string-append "DESTDIR=" (assoc-ref %outputs "out")) "SYSTEMDPATH=lib" - ;; Add the libaio headers to GCCs system header - ;; search path to suppress -Werror=cast-qual on - ;; the included headers. - (string-append "C_INCLUDE_PATH=" - (assoc-ref %build-inputs "libaio") - "/include") (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) -- cgit 1.4.1 From 57f24c200fbb1abbf2186bbe439a92200378d8ff Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 17:42:56 +0200 Subject: gnu: lxc: Remove obsolete workaround. * gnu/packages/virtualization.scm (lxc)[arguments]: Remove #:make-flags. --- gnu/packages/virtualization.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index fbafed9ed4..9f80e333be 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -399,12 +399,6 @@ all common programming languages. Vala bindings are also provided.") "/share/doc/" ,name "-" ,version) "--sysconfdir=/etc" "--localstatedir=/var") - #:make-flags - ;; Treat the kernel headers as system headers to silence - ;; compiler warnings from those. - (list (string-append "C_INCLUDE_PATH=" - (assoc-ref %build-inputs "kernel-headers") - "/include")) #:phases (modify-phases %standard-phases (replace 'install -- cgit 1.4.1 From ba66eec741a9fbddd74eb7fc54d2c53888ace5b7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 18:04:38 +0200 Subject: gnu: synergy: Fix build failure. * gnu/packages/synergy.scm (synergy)[arguments]: Prepend to CPLUS_INCLUDE_PATH instead of overriding it. --- gnu/packages/synergy.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/synergy.scm b/gnu/packages/synergy.scm index 367bb323b3..739ea3bd75 100644 --- a/gnu/packages/synergy.scm +++ b/gnu/packages/synergy.scm @@ -63,7 +63,8 @@ (lambda* (#:key inputs #:allow-other-keys) (setenv "CPLUS_INCLUDE_PATH" (string-append (assoc-ref inputs "avahi") - "/include/avahi-compat-libdns_sd")) + "/include/avahi-compat-libdns_sd:" + (or (getenv "CPLUS_INCLUDE_PATH") ""))) #t))))) (inputs `(("avahi" ,avahi) -- cgit 1.4.1 From 18caa6f528b09d63ac26ba53f78e4c35fed5b317 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 18:18:54 +0200 Subject: gnu: hyperrogue: Fix build failure. * gnu/packages/games.scm (hyperrogue)[arguments]: Do not assume CPATH is set. --- gnu/packages/games.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7555a0d800..f0f1886952 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4226,7 +4226,7 @@ throwing people around in pseudo-randomly generated buildings.") (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (getenv "CPATH") ":" + (string-append (or (getenv "CPATH") "") ":" (assoc-ref inputs "sdl-union") "/include/SDL")))) (replace 'configure -- cgit 1.4.1 From f27b1cf091e31840af9a8251d5035fcb4b26a528 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 18:26:47 +0200 Subject: gnu: ToME4: Fix build failure. * gnu/packages/games.scm (tome4)[arguments]: Do not assume CPATH is set. --- gnu/packages/games.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f0f1886952..06d1b3c11c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -5413,7 +5413,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (setenv "CPATH" (string-append (assoc-ref inputs "sdl-union") "/include/SDL2:" - (getenv "CPATH"))) + (or (getenv "CPATH") ""))) #t)) (delete 'check) ;; premake doesn't provide install target -- cgit 1.4.1 From 0ad05c15e3c198e96f2ded17d22897fb0891f67d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 18:32:56 +0200 Subject: gnu: GSL: Remove unnecessary (%current-system) call. * gnu/packages/maths.scm (gsl)[arguments]: Use the let-bound SYSTEM variable instead of %CURRENT-SYSTEM. --- gnu/packages/maths.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 05cea4713c..6d7625cfc1 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -399,7 +399,7 @@ semiconductors.") (substitute* "spmatrix/test.c" ((".*test_complex.*") "\n")) #t))))) - ((string-prefix? "i686" (%current-system)) + ((string-prefix? "i686" system) ;; There are rounding issues with these tests on i686: ;; https://lists.gnu.org/archive/html/bug-gsl/2016-10/msg00000.html ;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00000.html -- cgit 1.4.1 From 76f5cef359d52f1efdf067081af2911249248800 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 19:07:22 +0200 Subject: gnu: libfive: Fix build failure. * gnu/packages/engineering.scm (libfive)[arguments]: Prepend to CPLUS_INCLUDE_PATH instead of overriding it. --- gnu/packages/engineering.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 55af90bc82..5854249bb1 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -769,7 +769,8 @@ fonts to gEDA.") (lambda* (#:key inputs #:allow-other-keys) (setenv "CPLUS_INCLUDE_PATH" (string-append (assoc-ref inputs "catch") - "/include/catch")) + "/include/catch:" + (or (getenv "CPLUS_INCLUDE_PATH") ""))) #t))))) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit 1.4.1 From f12f7a046461e9b3e228e1db6f568b7d5ceebceb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 19:11:05 +0200 Subject: gnu: sailfish: Fix build failure. * gnu/packages/bioinformatics.scm (sailfish)[arguments]: Prepend to CPLUS_INCLUDE_PATH instead of overriding it. --- gnu/packages/bioinformatics.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 40dd51a3df..11d123b605 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11882,7 +11882,8 @@ dependency like SeqAn.") ;; Ensure that Eigen headers can be found (setenv "CPLUS_INCLUDE_PATH" (string-append (assoc-ref inputs "eigen") - "/include/eigen3")) + "/include/eigen3:" + (or (getenv "CPLUS_INCLUDE_PATH") ""))) #t))))) (inputs `(("boost" ,boost) -- cgit 1.4.1 From 41cb710f4a400e67914a2b51bd204184f2889308 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 5 Apr 2020 16:33:19 +0200 Subject: gnu: criu: Remove obsolete workaround. * gnu/packages/virtualization.scm (criu)[arguments]: In the configure phase, do not add kernel headers on C_INLUDE_PATH. --- gnu/packages/virtualization.scm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 9f80e333be..4368949743 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -730,13 +730,7 @@ domains, their live performance and resource utilization statistics.") (setenv "C_INCLUDE_PATH" (string-append (assoc-ref inputs "libnl") "/include/libnl3:" - ;; Also add the kernel headers here so that GCC - ;; treats them as "system headers". Otherwise - ;; the build fails with -Werror because parasite.c - ;; includes both and , - ;; which define some of the same constants. - (assoc-ref inputs "kernel-headers") - "/include")) + (or (getenv "C_INCLUDE_PATH") ""))) #t)) (add-after 'configure 'fix-documentation (lambda* (#:key inputs outputs #:allow-other-keys) -- cgit 1.4.1 From a533c5a1835cbeafaf595c4474e2ce6adde7de8d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 5 Apr 2020 22:45:15 +0200 Subject: gnu: octave-cli: Fix build. * gnu/packages/maths.scm (octave-cli)[inputs]: Add LIBJPEG-TURBO. [arguments]: Add "--enable-link-all-dependencies" in #:configure-flags. --- gnu/packages/maths.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 6d7625cfc1..07a19d4927 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1586,6 +1586,12 @@ can solve two kinds of problems: ("glpk" ,glpk) ("glu" ,glu) ("graphicsmagick" ,graphicsmagick) + + ;; TODO: libjpeg-turbo is indirectly required through libtiff. In + ;; the next rebuild cycle, add an absolute reference for -ljpeg in + ;; libtiff.la instead of having to provide it here. + ("libjpeg" ,libjpeg-turbo) + ("hdf5" ,hdf5) ("lapack" ,lapack) ("libsndfile" ,libsndfile) @@ -1624,7 +1630,12 @@ can solve two kinds of problems: `(#:configure-flags (list (string-append "--with-shell=" (assoc-ref %build-inputs "bash") - "/bin/sh")) + "/bin/sh") + + ;; XXX: Without this flag, linking octave-cli fails with + ;; undefined references to 'logf@GLIBCXX_3.4' et.al. due to + ;; not pulling in liboctinterp.la for -lstdc++. + "--enable-link-all-dependencies") #:phases (modify-phases %standard-phases (add-after 'configure 'configure-makeinfo -- cgit 1.4.1 From be1e842ad78ac6c52fc7790f4a3ffd716673c111 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 4 Apr 2020 22:50:55 +0200 Subject: gnu: cross-base: Remove unneeded 'let'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a followup to 102d307520dee27a40feb1ca5a699763a2f3aefe. * gnu/packages/cross-base.scm (cross-libc): Remove (let ((libc libc)) …). (cherry picked from commit 524a4e357cd71566841aaf405e8548fa3600b11b) --- gnu/packages/cross-base.scm | 126 ++++++++++++++++++++++---------------------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 538f406043..6c971d0eb1 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -479,69 +479,69 @@ and the cross tool chain." (native-libc target libc #:xgcc xgcc #:xbinutils xbinutils) - (let ((libc libc)) - (package (inherit libc) - (name (string-append "glibc-cross-" target)) - (arguments - (substitute-keyword-arguments - `(;; Disable stripping (see above.) - #:strip-binaries? #f - - ;; This package is used as a target input, but it should not have - ;; the usual cross-compilation inputs since that would include - ;; itself. - #:implicit-cross-inputs? #f - - ;; We need SRFI 26. - #:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26)) - - ,@(package-arguments libc)) - ((#:configure-flags flags) - `(cons ,(string-append "--host=" target) - ,(if (hurd-triplet? target) - `(cons "--disable-werror" ,flags) - flags))) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'set-cross-kernel-headers-path - (lambda* (#:key inputs #:allow-other-keys) - (let* ((kernel (assoc-ref inputs "kernel-headers")) - (cpath (string-append kernel "/include"))) - (for-each (cut setenv <> cpath) - ',%gcc-cross-include-paths) - (setenv "CROSS_LIBRARY_PATH" - (string-append kernel "/lib")) ; for Hurd's libihash - #t))) - ,@(if (hurd-triplet? target) - '((add-after 'install 'augment-libc.so - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (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))) - '()))))) - - ;; Shadow the native "kernel-headers" because glibc's recipe expects the - ;; "kernel-headers" input to point to the right thing. - (propagated-inputs `(("kernel-headers" ,xheaders))) - - ;; FIXME: 'static-bash' should really be an input, not a native input, but - ;; to do that will require building an intermediate cross libc. - (inputs '()) - - (native-inputs `(("cross-gcc" ,xgcc) - ("cross-binutils" ,xbinutils) - ,@(if (hurd-triplet? target) - `(("cross-mig" - ,@(assoc-ref (package-native-inputs xheaders) - "cross-mig"))) - '()) - ,@(package-inputs libc) ;FIXME: static-bash - ,@(package-native-inputs libc))))))) + (package + (inherit libc) + (name (string-append "glibc-cross-" target)) + (arguments + (substitute-keyword-arguments + `( ;; Disable stripping (see above.) + #:strip-binaries? #f + + ;; This package is used as a target input, but it should not have + ;; the usual cross-compilation inputs since that would include + ;; itself. + #:implicit-cross-inputs? #f + + ;; We need SRFI 26. + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + + ,@(package-arguments libc)) + ((#:configure-flags flags) + `(cons ,(string-append "--host=" target) + ,(if (hurd-triplet? target) + `(cons "--disable-werror" ,flags) + flags))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'set-cross-kernel-headers-path + (lambda* (#:key inputs #:allow-other-keys) + (let* ((kernel (assoc-ref inputs "kernel-headers")) + (cpath (string-append kernel "/include"))) + (for-each (cut setenv <> cpath) + ',%gcc-cross-include-paths) + (setenv "CROSS_LIBRARY_PATH" + (string-append kernel "/lib")) ; for Hurd's libihash + #t))) + ,@(if (hurd-triplet? target) + '((add-after 'install 'augment-libc.so + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (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))) + '()))))) + + ;; Shadow the native "kernel-headers" because glibc's recipe expects the + ;; "kernel-headers" input to point to the right thing. + (propagated-inputs `(("kernel-headers" ,xheaders))) + + ;; FIXME: 'static-bash' should really be an input, not a native input, but + ;; to do that will require building an intermediate cross libc. + (inputs '()) + + (native-inputs `(("cross-gcc" ,xgcc) + ("cross-binutils" ,xbinutils) + ,@(if (hurd-triplet? target) + `(("cross-mig" + ,@(assoc-ref (package-native-inputs xheaders) + "cross-mig"))) + '()) + ,@(package-inputs libc) ;FIXME: static-bash + ,@(package-native-inputs libc)))))) (define* (native-libc target #:optional -- cgit 1.4.1 From b1f56712c00a39c36ddd87fa42e3a19a28a75ffd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Apr 2020 13:05:34 +0200 Subject: maint: Adjust release manifest for Guile 3.0 switch. * etc/release-manifest.scm (%packages-to-cross-build): Refer to GUILE-3.0/FIXED instead of GUILE-2.2/FIXED. --- etc/release-manifest.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/release-manifest.scm b/etc/release-manifest.scm index 91471bd03b..0c864041bc 100644 --- a/etc/release-manifest.scm +++ b/etc/release-manifest.scm @@ -64,7 +64,7 @@ TARGET." ;; Packages that must be cross-buildable from x86_64-linux. ;; FIXME: Add (@ (gnu packages gcc) gcc) when ;; is fixed. - (append (list (@ (gnu packages guile) guile-2.2/fixed)) + (append (list (@ (gnu packages guile) guile-3.0/fixed)) (map specification->package '("coreutils" "grep" "sed" "findutils" "diffutils" "patch" "gawk" "gettext" "gzip" "xz" -- cgit 1.4.1 From bcdd279a5fe561c0908f46d3ef4af5629bf60d47 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Apr 2020 13:21:24 +0200 Subject: gnu: ruby-sqlite3: Remove obsolete workaround. * gnu/packages/ruby.scm (ruby-sqlite3)[arguments]: Remove phase 'adjust-failing-test'. --- gnu/packages/ruby.scm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 87d98525fa..7e6df38ad1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6180,13 +6180,6 @@ neither too verbose nor too minimal.") (arguments `(#:phases (modify-phases %standard-phases - (add-before 'check 'adjust-failing-test - (lambda _ - ;; XXX: This test fails with SQLite versions >= 3.21. - ;; See . - (substitute* "test/test_integration_resultset.rb" - (("\"integer\", \"text\"") "\"INTEGER\", \"text\"")) - #t)) (add-before 'check 'add-gemtest-file ;; This file exists in the repository but is not distributed. (lambda _ (invoke "touch" ".gemtest")))))) -- cgit 1.4.1 From 3a32940bfb2d7f4ce8f34cfeb1a3432d3d4ae241 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Apr 2020 13:53:35 +0200 Subject: gnu: ecl: Fix build with LibFFI >= 3.3. * gnu/packages/lisp.scm (ecl)[source](modules, snippet): New fields. --- gnu/packages/lisp.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 709ea88ae0..cc40f58e6e 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2019, 2020 Katherine Cox-Buday ;;; Copyright © 2019 Jesse Gildersleve ;;; Copyright © 2019, 2020 Guillaume Le Vaillant +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -230,7 +231,16 @@ interface to the Tk widget system.") "https://common-lisp.net/project/ecl/static/files/release/" name "-" version ".tgz")) (sha256 - (base32 "0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn")))) + (base32 "0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Adjust for ABI change in LibFFI 3.3. See: + ;; https://gitlab.com/embeddable-common-lisp/ecl/-/issues/302 + ;; https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/171 + (substitute* "src/c/ffi.d" + (("FFI_SYSV") "FFI_UNIX64")) + #t)))) (build-system gnu-build-system) ;; src/configure uses 'which' to confirm the existence of 'gzip'. (native-inputs `(("cl-asdf" ,cl-asdf) -- cgit 1.4.1 From 76125bc061b199936c60c348290a593ac3450945 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Apr 2020 14:21:41 +0200 Subject: gnu: perl-gd: Do not rely on 'libgd-config'. * gnu/packages/gd.scm (perl-gd)[native-inputs]: Add PERL-EXTUTILS-PKGCONFIG. --- gnu/packages/gd.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 3c818872c1..c6a2e0117d 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -110,6 +110,8 @@ most common applications of GD involve website development.") ("libpng" ,libpng) ("libjpeg" ,libjpeg-turbo) ("zlib" ,zlib))) + (native-inputs + `(("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig))) (arguments `(#:make-maker-flags (list (string-append "--lib_jpeg_path=" -- cgit 1.4.1 From 155aaca7febe58b59a55c5d4cd5bc5abcbe66d39 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Apr 2020 14:33:43 +0200 Subject: gnu: python-pyjwt: Remove dependency on old version of 'pytest-runner'. * gnu/packages/python-xyz.scm (python-pyjwt)[arguments]: New field. [native-inputs]: Remove PYTHON-PYTEST-RUNNER. --- gnu/packages/python-xyz.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9703301da0..5e56a2b29c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2659,10 +2659,20 @@ memory usage and transliteration quality.") (find-files "." "\\.pyc$")) #t)))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Mimic upstream commit 3a20892442b34c7 to get + ;; rid of dependency on pytest-runner < 5.0. + ;; Remove substitution for PyJWT > 1.7.1. + (substitute* "setup.py" + ((".*pytest-runner.*") + "")) + (invoke "pytest" "-vv")))))) (native-inputs `(("python-pytest" ,python-pytest) - ("python-pytest-cov" ,python-pytest-cov) - ("python-pytest-runner" ,python-pytest-runner))) + ("python-pytest-cov" ,python-pytest-cov))) (home-page "https://github.com/progrium/pyjwt") (synopsis "JSON Web Token implementation in Python") (description -- cgit 1.4.1 From c7eec67a93d58b2c0201f98071407f5a0cf549a7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 8 Apr 2020 21:45:23 +0200 Subject: gnu: qtwebengine: Fix build with Ninja >= 1.10. * gnu/packages/qt.scm (qtwebengine)[arguments]: Add phase 'patch-ninja-version-check'. --- gnu/packages/qt.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index a5e2300f97..a3797bb5b0 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1799,6 +1799,14 @@ message."))) (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) `(modify-phases ,phases + (add-after 'unpack 'patch-ninja-version-check + (lambda _ + ;; The build system assumes the system Ninja is too old because + ;; it only checks for versions 1.7 through 1.9. We have 1.10. + (substitute* "configure.pri" + (("1\\.\\[7-9\\]\\.\\*") + "1.([7-9]|1[0-9]).*")) + #t)) (add-before 'configure 'substitute-source (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) -- cgit 1.4.1 From d523eb5c9c2659cbbaf4eeef3691234ae527ee6a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Apr 2020 00:53:28 +0200 Subject: gnu: python-cython: The i686 python2 workaround is needed for 32-bit ARM too. * gnu/packages/python-xyz.scm (python-cython)[arguments]: In the check phase, disable parallel test execution for all 32-bit systems. * gnu/packages/python-xyz.scm (python2-cython)[arguments]: Remove similar i686 workaround. --- gnu/packages/python-xyz.scm | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5e56a2b29c..b26399c646 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3894,7 +3894,13 @@ provides additional functionality on the produced Mallard documents.") (setenv "CFLAGS" "-O0") (invoke "python" "runtests.py" "-vv" - "-j" (number->string (parallel-job-count)))))))) + "-j" (number->string (parallel-job-count)) + ;; XXX: On 32-bit architectures, running the parallel tests + ;; fails on many-core systems, see + ;; . + ,@(if (not (target-64bit?)) + '("-x" "run.parallel") + '()))))))) (home-page "https://cython.org/") (synopsis "C extensions for Python") (description "Cython is an optimising static compiler for both the Python @@ -3914,18 +3920,6 @@ writing C extensions for Python as easy as Python itself.") (substitute-keyword-arguments (package-arguments base) ((#:phases phases) `(modify-phases ,phases - ;; XXX: On i686-linux, running the parallel tests fails on many-core - ;; systems, see . - ;; TODO: Move this logic to the regular check phase in a future - ;; rebuild cycle. - ,@(if (string-prefix? "i686" (%current-system)) - '((replace 'check - (lambda _ - (setenv "CFLAGS" "-O0") - (invoke "python" "runtests.py" "-vv" - "-j" (number->string (parallel-job-count)) - "-x" "run.parallel")))) - '()) (add-before 'check 'adjust-test_embed (lambda _ (substitute* "runtests.py" -- cgit 1.4.1 From 29c6fb0d33b3bea8677093eed1cfbd6483c9fbe8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 10 Apr 2020 15:53:19 +0200 Subject: gnu: spice-gtk: Add an absolute reference for libjpeg in the .la files. * gnu/packages/spice.scm (spice-gtk)[arguments]: Add phase 'patch-la-files. --- gnu/packages/spice.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 8b688ea9ef..b1b53962aa 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Rutger Helling -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -175,6 +175,16 @@ which allows users to view a desktop computing environment.") (substitute* "tests/Makefile" (("test-session\\$\\(EXEEXT\\) ") "")) #t)) + (add-after 'install 'patch-la-files + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libjpeg (assoc-ref inputs "libjpeg"))) + ;; Add an absolute reference for libjpeg in the .la files + ;; so it does not have to be propagated. + (substitute* (find-files (string-append out "/lib") "\\.la$") + (("-ljpeg") + (string-append "-L" libjpeg "/lib -ljpeg"))) + #t))) (add-after 'install 'wrap-spicy (lambda* (#:key inputs outputs #:allow-other-keys) -- cgit 1.4.1 From e43e980f847564e46f96e09bf77c648c3ef98b3c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 10 Apr 2020 17:15:32 +0200 Subject: gnu: aegisub: Fix build with Make 4.3. * gnu/packages/patches/aegisub-make43.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/video.scm (aegisub)[source](patches): Add it. --- gnu/local.mk | 3 ++- gnu/packages/patches/aegisub-make43.patch | 20 ++++++++++++++++++++ gnu/packages/video.scm | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/aegisub-make43.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2197ae5775..b10c856721 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -722,7 +722,8 @@ dist_patch_DATA = \ %D%/packages/patches/aegis-test-fixup-1.patch \ %D%/packages/patches/aegis-test-fixup-2.patch \ %D%/packages/patches/aegisub-icu59-include-unistr.patch \ - %D%/packages/patches/aegisub-boost68.patch \ + %D%/packages/patches/aegisub-boost68.patch \ + %D%/packages/patches/aegisub-make43.patch \ %D%/packages/patches/agg-am_c_prototype.patch \ %D%/packages/patches/akonadi-paths.patch \ %D%/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch \ diff --git a/gnu/packages/patches/aegisub-make43.patch b/gnu/packages/patches/aegisub-make43.patch new file mode 100644 index 0000000000..32f9d7749c --- /dev/null +++ b/gnu/packages/patches/aegisub-make43.patch @@ -0,0 +1,20 @@ +Fix build with GNU Make 4.3: + +https://github.com/Aegisub/Aegisub/issues/171 + +Patch taken from upstream: + +https://github.com/Aegisub/Aegisub/commit/6bd3f4c26b8fc1f76a8b797fcee11e7611d59a39 + +diff --git a/Makefile.target b/Makefile.target +--- a/Makefile.target ++++ b/Makefile.target +@@ -112,7 +112,7 @@ POST_FLAGS = $($@_FLAGS) -c -o $@ $< + # Libraries contain all object files they depend on (but they may depend on other files) + # Not using libtool on OS X because it has an unsilenceable warning about a + # compatibility issue with BSD 4.3 (wtf) +-lib%.a: $$($$*_OBJ) ++lib%.a: $$($$(*F)_OBJ) + @$(BIN_MKDIR_P) $(dir $@) + $(BIN_AR) cru $@ $(filter %.o,$^) + $(BIN_RANLIB) $@ diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index cbdc5fb78a..16fd93415b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3249,6 +3249,7 @@ programmers to access a standard API to open and decompress media files.") (base32 "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5")) (patches (search-patches "aegisub-icu59-include-unistr.patch" + "aegisub-make43.patch" "aegisub-boost68.patch")))) (build-system gnu-build-system) (arguments -- cgit 1.4.1 From b859a1bf7953eb98668cb11b459cde48b0dce991 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 10 Apr 2020 17:50:25 +0200 Subject: gnu: mariadb: Fix build on armhf-linux. * gnu/packages/databases.scm (mariadb)[arguments]: When building for armhf-linux, add phase 'hide-default-gcc'. [native-inputs]: Distinguish GCC-5. --- gnu/packages/databases.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index b969b8f081..f6c5ec90d7 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -774,6 +774,20 @@ Language.") "-DINSTALL_SHAREDIR=share") #:phases (modify-phases %standard-phases + ,@(if (string-prefix? "arm" (%current-system)) + ;; XXX: Because of the GCC 5 input, we need to hide GCC 7 from + ;; CPLUS_INCLUDE_PATH so that its headers do not shadow GCC 5. + '((add-after 'set-paths 'hide-default-gcc + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") + #\:)) + ":")) + #t)))) + '()) (add-after 'unpack 'fix-pcre-detection (lambda _ ;; The bundled PCRE in MariaDB has a patch that was upstreamed @@ -906,7 +920,7 @@ Language.") `(("bison" ,bison) ;; XXX: On armhf, use GCC 5 to work around . ,@(if (string-prefix? "armhf" (%current-system)) - `(("gcc", gcc-5)) + `(("gcc@5", gcc-5)) '()) ("perl" ,perl))) (inputs -- cgit 1.4.1 From e85d4cecbe253e59a8a2a42b6ce427d96ff10534 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 11 Apr 2020 00:12:09 +0200 Subject: gnu: commencement: Memoize packages as a function of the system. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previous, things like 'ld-wrapper-boot0' would be memoized with (mlambda () …). However, the definition of 'ld-wrapper-boot0' depends on the result of (%boot0-inputs), which is itself a function of (%current-system). Thus, if one first calls: (parameterize ((%current-system "x86_64-linux")) (ld-wrapper-boot0)) then, in all subsequent calls to 'ld-wrapper-boot0', the value of (%current-system) would be ignored because the result is already memoized. Concretely, 'ld-wrapper-boot0' would always have the dependencies it has on x86_64-linux, even though they are different than those on armhf-linux, say ("bash-mesboot" vs. "bootstrap-binaries"). Fixes . Reported by Marius Bakke . * gnu/packages/commencement.scm (define/system-dependent): New macro. (linux-libre-headers-boot0, hurd-core-headers-boot0, ld-wrapper-boot0) (gcc-boot0-intermediate-wrapped, gcc-boot0-wrapped, ld-wrapper-boot3): Define using 'define/system-dependent' instead of 'define' + 'mlambda'. Adjust users so they no longer look like procedure calls. * tests/guix-build.sh: Add test. --- gnu/packages/commencement.scm | 156 +++++++++++++++++++++++------------------- tests/guix-build.sh | 6 ++ 2 files changed, 91 insertions(+), 71 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7e969faafe..41d7772eea 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2999,29 +2999,45 @@ exec " gcc "/bin/" program `(#:implicit-inputs? #f #:guile ,%bootstrap-guile)))) -(define linux-libre-headers-boot0 - (mlambda () - "Return Linux-Libre header files for the bootstrap environment." - ;; Note: this is wrapped in a thunk to nicely handle circular dependencies - ;; between (gnu packages linux) and this module. Additionally, memoize - ;; the result to play well with further memoization and code that relies - ;; on pointer identity; see . - (package - (inherit linux-libre-headers) - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - ,@(package-arguments linux-libre-headers))) - (native-inputs - `(("perl" ,perl-boot0) +(define-syntax define/system-dependent + (lambda (s) + "Bind IDENTIFIER to EXP, where the value of EXP is known to depend on +'%current-system'. The definition ensures that (1) EXP is \"thunked\" so that +it sees the right value of '%current-system', and (2) that its result is +memoized as a function of '%current-system'." + (syntax-case s () + ((_ identifier exp) + (with-syntax ((memoized (datum->syntax #'identifier + (symbol-append + (syntax->datum #'identifier) + '/memoized)))) + #'(begin + (define memoized + (mlambda (system) exp)) + (define-syntax identifier + (identifier-syntax (memoized (%current-system)))))))))) + +(define/system-dependent linux-libre-headers-boot0 + ;; Note: this is wrapped in a thunk to nicely handle circular dependencies + ;; between (gnu packages linux) and this module. Additionally, memoize + ;; the result to play well with further memoization and code that relies + ;; on pointer identity; see . + (package + (inherit linux-libre-headers) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + ,@(package-arguments linux-libre-headers))) + (native-inputs + `(("perl" ,perl-boot0) - ;; Flex and Bison are required since version 4.16. - ("flex" ,flex-boot0) - ("bison" ,bison-boot0) + ;; Flex and Bison are required since version 4.16. + ("flex" ,flex-boot0) + ("bison" ,bison-boot0) - ;; Rsync is required since version 5.3. - ("rsync" ,rsync-boot0) - ,@(%boot0-inputs)))))) + ;; Rsync is required since version 5.3. + ("rsync" ,rsync-boot0) + ,@(%boot0-inputs))))) (define with-boot0 (package-with-explicit-inputs %boot0-inputs @@ -3083,23 +3099,22 @@ exec " gcc "/bin/" program (inputs '())))) (with-boot0 (package-with-bootstrap-guile hurd-minimal)))) -(define hurd-core-headers-boot0 - (mlambda () - "Return the Hurd and Mach headers as well as initial Hurd libraries for -the bootstrap environment." - (package (inherit (package-with-bootstrap-guile hurd-core-headers)) - (arguments `(#:guile ,%bootstrap-guile - ,@(package-arguments hurd-core-headers))) - (inputs - `(("gnumach-headers" ,gnumach-headers-boot0) - ("hurd-headers" ,hurd-headers-boot0) - ("hurd-minimal" ,hurd-minimal-boot0) - ,@(%boot0-inputs)))))) +(define/system-dependent hurd-core-headers-boot0 + ;; Return the Hurd and Mach headers as well as initial Hurd libraries for + ;; the bootstrap environment. + (package (inherit (package-with-bootstrap-guile hurd-core-headers)) + (arguments `(#:guile ,%bootstrap-guile + ,@(package-arguments hurd-core-headers))) + (inputs + `(("gnumach-headers" ,gnumach-headers-boot0) + ("hurd-headers" ,hurd-headers-boot0) + ("hurd-minimal" ,hurd-minimal-boot0) + ,@(%boot0-inputs))))) (define* (kernel-headers-boot0 #:optional (system (%current-system))) (match system - ("i586-gnu" (hurd-core-headers-boot0)) - (_ (linux-libre-headers-boot0)))) + ("i586-gnu" hurd-core-headers-boot0) + (_ linux-libre-headers-boot0))) (define texinfo-boot0 ;; Texinfo used to build libc's manual. @@ -3205,21 +3220,23 @@ the bootstrap environment." (delete 'set-TZDIR))) ((#:tests? _ #f) #f)))))) -(define ld-wrapper-boot0 - (mlambda () - ;; We need this so binaries on Hurd will have libmachuser and libhurduser - ;; in their RUNPATH, otherwise validate-runpath will fail. - (make-ld-wrapper "ld-wrapper-boot0" - #:target boot-triplet - #:binutils binutils-boot0 - #:guile %bootstrap-guile - #:bash (car (assoc-ref (%boot0-inputs) "bash")) - #:guile-for-build %bootstrap-guile))) +(define/system-dependent ld-wrapper-boot0 + ;; The first 'ld' wrapper, defined with 'define/system-dependent' because + ;; its calls '%boot0-inputs', whose result depends on (%current-system) + ;; + ;; We need this so binaries on Hurd will have libmachuser and libhurduser + ;; in their RUNPATH, otherwise validate-runpath will fail. + (make-ld-wrapper "ld-wrapper-boot0" + #:target boot-triplet + #:binutils binutils-boot0 + #:guile %bootstrap-guile + #:bash (car (assoc-ref (%boot0-inputs) "bash")) + #:guile-for-build %bootstrap-guile)) (define (%boot1-inputs) ;; 2nd stage inputs. `(("gcc" ,gcc-boot0) - ("ld-wrapper-cross" ,(ld-wrapper-boot0)) + ("ld-wrapper-cross" ,ld-wrapper-boot0) ("binutils-cross" ,binutils-boot0) ,@(alist-delete "binutils" (%boot0-inputs)))) @@ -3345,20 +3362,19 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ("bash" ,bash))) (inputs '()))) -(define gcc-boot0-intermediate-wrapped - (mlambda () - ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the - ;; non-cross names. - (cross-gcc-wrapper gcc-boot0 binutils-boot0 - glibc-final-with-bootstrap-bash - (car (assoc-ref (%boot1-inputs) "bash"))))) +(define/system-dependent gcc-boot0-intermediate-wrapped + ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the + ;; non-cross names. + (cross-gcc-wrapper gcc-boot0 binutils-boot0 + glibc-final-with-bootstrap-bash + (car (assoc-ref (%boot1-inputs) "bash")))) (define static-bash-for-glibc ;; A statically-linked Bash to be used by GLIBC-FINAL in system(3) & co. (package (inherit static-bash) (source (bootstrap-origin (package-source static-bash))) - (inputs `(("gcc" ,(gcc-boot0-intermediate-wrapped)) + (inputs `(("gcc" ,gcc-boot0-intermediate-wrapped) ("libc" ,glibc-final-with-bootstrap-bash) ("libc:static" ,glibc-final-with-bootstrap-bash "static") ,@(fold alist-delete (%boot1-inputs) @@ -3446,18 +3462,17 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ,@(package-outputs glibc-final-with-bootstrap-bash)) ,@(package-arguments glibc-final-with-bootstrap-bash))))) -(define gcc-boot0-wrapped - (mlambda () - ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the - ;; non-cross names. - (cross-gcc-wrapper gcc-boot0 binutils-boot0 glibc-final - (car (assoc-ref (%boot1-inputs) "bash"))))) +(define/system-dependent gcc-boot0-wrapped + ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the + ;; non-cross names. + (cross-gcc-wrapper gcc-boot0 binutils-boot0 glibc-final + (car (assoc-ref (%boot1-inputs) "bash")))) (define (%boot2-inputs) ;; 3rd stage inputs. `(("libc" ,glibc-final) ("libc:static" ,glibc-final "static") - ("gcc" ,(gcc-boot0-wrapped)) + ("gcc" ,gcc-boot0-wrapped) ,@(fold alist-delete (%boot1-inputs) '("libc" "gcc" "linux-libre-headers")))) (define binutils-final @@ -3511,14 +3526,13 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ,@(package-arguments zlib))) (inputs (%boot2-inputs)))) -(define ld-wrapper-boot3 - (mlambda () - ;; A linker wrapper that uses the bootstrap Guile. - (make-ld-wrapper "ld-wrapper-boot3" - #:binutils binutils-final - #:guile %bootstrap-guile - #:bash (car (assoc-ref (%boot2-inputs) "bash")) - #:guile-for-build %bootstrap-guile))) +(define/system-dependent ld-wrapper-boot3 + ;; A linker wrapper that uses the bootstrap Guile. + (make-ld-wrapper "ld-wrapper-boot3" + #:binutils binutils-final + #:guile %bootstrap-guile + #:bash (car (assoc-ref (%boot2-inputs) "bash")) + #:guile-for-build %bootstrap-guile)) (define gcc-final ;; The final GCC. @@ -3594,7 +3608,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0))) ("mpfr-source" ,(package-source mpfr)) ("mpc-source" ,(package-source mpc)) - ("ld-wrapper" ,(ld-wrapper-boot3)) + ("ld-wrapper" ,ld-wrapper-boot3) ("binutils" ,binutils-final) ("libstdc++" ,libstdc++) ("zlib" ,zlib-final) @@ -3603,7 +3617,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define (%boot3-inputs) ;; 4th stage inputs. `(("gcc" ,gcc-final) - ("ld-wrapper" ,(ld-wrapper-boot3)) + ("ld-wrapper" ,ld-wrapper-boot3) ,@(alist-delete "gcc" (%boot2-inputs)))) (define bash-final diff --git a/tests/guix-build.sh b/tests/guix-build.sh index 1a997de487..6c08857358 100644 --- a/tests/guix-build.sh +++ b/tests/guix-build.sh @@ -65,6 +65,12 @@ test `guix build sed -s x86_64-linux -d | wc -l` = 1 all_systems="-s x86_64-linux -s i686-linux -s armhf-linux -s aarch64-linux" test `guix build sed $all_systems -d | sort -u | wc -l` = 4 +# Check there's no weird memoization effect leading to erroneous results. +# See . +drv1="`guix build sed -s x86_64-linux -s armhf-linux -d | sort`" +drv2="`guix build sed -s armhf-linux -s x86_64-linux -d | sort`" +test "$drv1" = "$drv2" + # Check --sources option with its arguments module_dir="t-guix-build-$$" mkdir "$module_dir" -- cgit 1.4.1 From a13b63453d315899d2f97a0a4bceae3ead0e99d1 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 6 Apr 2020 00:02:20 -0400 Subject: gnu: liblinphone: Fix build failure. * gnu/packages/linphone.scm (liblinphone)[arguments]<#:configure-flags]: Add -DENABLE_STRICT=NO. Signed-off-by: Danny Milosavljevic --- gnu/packages/linphone.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 50d75a4a95..feb8e26eba 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -427,7 +427,8 @@ decoding, and rendering.") (string-append (assoc-ref %build-inputs "glib") "/lib/glib-2.0/include")) "-DENABLE_STATIC=NO" ; Not required - "-DENABLE_GTK_UI=YES") ; For Legacy UI + "-DENABLE_STRICT=NO" + "-DENABLE_GTK_UI=YES") ; for legacy UI #:phases (modify-phases %standard-phases (add-after 'unpack 'patch -- cgit 1.4.1 From 3daf981942122f0d9b301b0c5f33551ffaaa130e Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 11 Apr 2020 01:18:03 +0200 Subject: gnu: spandsp: Fix build failure. * gnu/packages/telephony.scm (spandsp)[native-inputs]: Add libjpeg-turbo. --- gnu/packages/telephony.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 5e43061b3e..e7441d94e4 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -162,6 +162,7 @@ ("fftw" ,fftw) ("libpcap" ,libpcap) ("libsndfile" ,libsndfile) + ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("netpbm" ,netpbm) ("sox" ,sox) -- cgit 1.4.1 From c0cce2055757c18619ef1826c54ed3d5b9ec7eb0 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sat, 11 Apr 2020 01:21:03 +0200 Subject: gnu: Add linphoneqt. * gnu/packages/linphone.scm (linphoneqt): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/linphone.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index feb8e26eba..fb9a6fd421 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages java) #:use-module (gnu packages sqlite) #:use-module (gnu packages telephony) @@ -49,6 +50,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) + #:use-module (guix build-system qt) #:use-module (guix build-system gnu)) (define-public bcunit @@ -470,6 +472,50 @@ and video calls or instant messaging capabilities to an application.") (home-page "https://gitlab.linphone.org/BC/public/liblinphone") (license license:gpl2+))) +(define-public linphoneqt + (package + (name "linphoneqt") + (version "4.1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "1g2zrr9li0g1hgs6vys06vr98h5dx36z22hx7a6ry231536c002a")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; No test target + #:phases + ;; For replacing undeclared variable. + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "src/app/AppController.cpp" + (("LINPHONE_QT_GIT_VERSION") + "\"4.1.1\"")) + #t))))) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("bctoolbox" ,bctoolbox) + ("belcard" ,belcard) + ("bellesip" ,belle-sip) + ("linphone" ,liblinphone) + ("mediastreamer2" ,mediastreamer2) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtquickcontrols2" ,qtquickcontrols2) + ("qtsvg" ,qtsvg))) + (synopsis "Belledonne Communications Softphone Application") + (description "Linphone is a softphone for voice and video over IP calling +and instant messaging. It is fully SIP-based, for all calling, presence +and IM features.") + (home-page "https://gitlab.linphone.org/BC/public/linphone-desktop") + (license license:gpl2+))) + (define-public msopenh264 (package (name "msopenh264") -- cgit 1.4.1 From e66d5d6e29f09cd51ed6284e0f927c341f4b88c9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Apr 2020 15:33:32 +0200 Subject: gnu: spandsp: Add comment. * gnu/packages/telephony.scm (spandsp)[native-inputs]: Note that the LIBJPEG-TURBO dependency comes via LIBTIFF. --- gnu/packages/telephony.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index e7441d94e4..76e08528f4 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -162,7 +162,7 @@ ("fftw" ,fftw) ("libpcap" ,libpcap) ("libsndfile" ,libsndfile) - ("libjpeg" ,libjpeg-turbo) + ("libjpeg" ,libjpeg-turbo) ;XXX: should be propagated from libtiff ("libtiff" ,libtiff) ("netpbm" ,netpbm) ("sox" ,sox) -- cgit 1.4.1 From 72cf14948dd2f9ef049479bdb1321e2568e10ac5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Apr 2020 15:34:52 +0200 Subject: gnu: python-gevent: Update to 1.5.0. * gnu/packages/python-xyz.scm (python-gevent): Update to 1.5.0. [arguments]: Split the unbundling and include path adjustments intwo two phases. Enable previously failing test; disable two others. Use a format string instead of DISPLAY when writing skipped_tests.txt. --- gnu/packages/python-xyz.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e9284d9342..25b0ae39a2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11047,13 +11047,13 @@ graphviz.") (define-public python-gevent (package (name "python-gevent") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) (uri (pypi-uri "gevent" version)) (sha256 (base32 - "1lchr4akw2jkm5v4kz7bdm4wv3knkfhbfn9vkkz4s5yrkcxzmdqy")) + "0aac3d4vhv5n4rsb6cqzq0d1xx9immqz4fmpddw35yxkwdc450dj")) (modules '((guix build utils))) (snippet '(begin @@ -11079,14 +11079,16 @@ graphviz.") (find-files "src/greentest" "\\.py$")) #t)) (add-before 'build 'do-not-use-bundled-sources - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (setenv "GEVENTSETUP_EMBED" "0") ;; Prevent building bundled libev. (substitute* "setup.py" (("run_make=_BUILDING") "run_make=False")) - + #t)) + (add-before 'build 'add-greenlet-on-C_INCLUDE_PATH + (lambda* (#:key inputs #:allow-other-keys) (let ((greenlet (string-append (assoc-ref inputs "python-greenlet") "/include"))) @@ -11137,9 +11139,6 @@ graphviz.") "test_thread.py" "test_threading.py" "test__threading_2.py" - ;; FIXME: test_patch_twice_warning_events fails for - ;; no apparent reason. Needs more investigation! - "test__monkey.py" ;; These tests rely on KeyboardInterrupts which do not ;; work inside the build container for some reason ;; (lack of controlling terminal?). @@ -11147,12 +11146,15 @@ graphviz.") "test__issues461_471.py" ;; TODO: Patch out the tests that use getprotobyname, etc ;; instead of disabling all the tests from these files. + "test__resolver_dnspython.py" + "test__doctests.py" "test__all__.py" "test___config.py" "test__execmodules.py"))) (call-with-output-file "skipped_tests.txt" (lambda (port) - (display (string-join disabled-tests "\n") port))) + (format port "~a~%" + (string-join disabled-tests "\n")))) #t))) (replace 'check (lambda _ -- cgit 1.4.1 From 8cc103cb01c1f13090ecfb34a6dcdd7d68710f31 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Apr 2020 15:41:45 +0200 Subject: gnu: gRPC@1.16: Fix build with glibc 2.30 and later. * gnu/packages/rpc.scm (grpc-1.16.1)[arguments]: Add phase to rename custom gettid() function. --- gnu/packages/rpc.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm index e73695b613..28c61b54f9 100644 --- a/gnu/packages/rpc.scm +++ b/gnu/packages/rpc.scm @@ -23,6 +23,7 @@ #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system python) #:use-module (gnu packages adns) @@ -122,7 +123,23 @@ browsers to backend services.") (file-name (git-file-name "grpc" version)) (sha256 (base32 - "1jimqz3115f9pli5w6ik9wi7mjc7ix6y7yrq4a1ab9fc3dalj7p2")))))) + "1jimqz3115f9pli5w6ik9wi7mjc7ix6y7yrq4a1ab9fc3dalj7p2")))) + (arguments + (substitute-keyword-arguments (package-arguments grpc) + ((#:phases phases) + `(modify-phases ,phases + ;; Note: This would be nicer as a snippet, but that creates a tarball + ;; instead of a checkout and breaks assumptions made by the builder. + (add-after 'unpack 'rename-gettid + (lambda _ + ;; Rename custom gettid() syscall wrapper to avoid conflict + ;; with gettid() from glibc 2.30. + (substitute* '("src/core/lib/gpr/log_linux.cc" + "src/core/lib/gpr/log_posix.cc" + "src/core/lib/iomgr/ev_epollex_linux.cc") + (("gettid\\(") + "sys_gettid(")) + #t)))))))) (define-public python-grpcio (package -- cgit 1.4.1 From 2a2a9878682e4d959633ecab5275397809a1ce3f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Apr 2020 16:04:26 +0200 Subject: gnu: python-pycrypto: Fix build with Python 3.8. * gnu/packages/patches/python-pycrypto-time-clock.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python-crypto.scm (python-pycrypto)[source](patches): Add it. --- gnu/local.mk | 1 + .../patches/python-pycrypto-time-clock.patch | 23 ++++++++++++++++++++++ gnu/packages/python-crypto.scm | 3 ++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-pycrypto-time-clock.patch diff --git a/gnu/local.mk b/gnu/local.mk index e7e5d00baf..3f48c466af 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1387,6 +1387,7 @@ dist_patch_DATA = \ %D%/packages/patches/python2-parameterized-docstring-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ + %D%/packages/patches/python-pycrypto-time-clock.patch \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \ diff --git a/gnu/packages/patches/python-pycrypto-time-clock.patch b/gnu/packages/patches/python-pycrypto-time-clock.patch new file mode 100644 index 0000000000..9b7a8232a2 --- /dev/null +++ b/gnu/packages/patches/python-pycrypto-time-clock.patch @@ -0,0 +1,23 @@ +Drop use of the deprecated time.clock which was removed in Python 3.8. + +Adapted from upstream pull request: + +https://github.com/dlitz/pycrypto/pull/296 + +diff --git a/lib/Crypto/Random/_UserFriendlyRNG.py b/lib/Crypto/Random/_UserFriendlyRNG.py +--- a/lib/Crypto/Random/_UserFriendlyRNG.py ++++ b/lib/Crypto/Random/_UserFriendlyRNG.py +@@ -73,8 +73,11 @@ class _EntropyCollector(object): + t = time.time() + self._time_es.feed(struct.pack("@I", int(2**30 * (t - floor(t))))) + +- # Add the fractional part of time.clock() +- t = time.clock() ++ # Add the fractional part of time.process_time() ++ try: ++ t = time.process_time() ++ except AttributeError: ++ t = time.clock() + self._clock_es.feed(struct.pack("@I", int(2**30 * (t - floor(t))))) + + diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 80160301dd..eb57f2bbd9 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -280,7 +280,8 @@ making them easy to handle and incorporate into other protocols.") (origin (method url-fetch) (uri (pypi-uri "pycrypto" version)) - (patches (search-patches "python-pycrypto-CVE-2013-7459.patch")) + (patches (search-patches "python-pycrypto-CVE-2013-7459.patch" + "python-pycrypto-time-clock.patch")) (sha256 (base32 "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj")))) -- cgit 1.4.1 From 8c83069b99b55527eed78f7581d97ca0173373bc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Apr 2020 17:03:58 +0200 Subject: gnu: sbcl-burgled-batteries3: Fix build with Python 3.8. * gnu/packages/lisp-xyz.scm (sbcl-burgled-batteries3)[arguments]: Remove "m" suffix from Python include directory. Add phase to remove deprecated Python API binding. --- gnu/packages/lisp-xyz.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 751da1b58c..4308add8f5 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5105,11 +5105,17 @@ high-level way. This library provides such operators.") (let ((python (assoc-ref inputs "python"))) (setenv "BB_PYTHON3_INCLUDE_DIR" (string-append python "/include/python" - (python-version python) - "m")) + (python-version python))) (setenv "BB_PYTHON3_DYLIB" (string-append python "/lib/libpython3.so")) - #t)))))) + #t))) + (add-after 'unpack 'adjust-for-python-3.8 + (lambda _ + ;; This method is no longer part of the public API. + (substitute* "ffi-interface.lisp" + ((".*PyEval_ReInitThreads.*") + "")) + #t))))) (native-inputs `(("sbcl-cl-fad" ,sbcl-cl-fad) ("sbcl-lift" ,sbcl-lift) -- cgit 1.4.1 From 87241947aa2c0148a6f06989057a113c57ea9208 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Apr 2020 14:59:58 +0200 Subject: install: 'populate-root-file-system' can be passed extra directives. * gnu/build/install.scm (evaluate-populate-directive): Handle 'file' directives. (populate-root-file-system): Add #:extras parameter and honor it. --- gnu/build/install.scm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/gnu/build/install.scm b/gnu/build/install.scm index c0d4d44091..d46b588f53 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2016 Chris Marusich ;;; ;;; This file is part of GNU Guix. @@ -67,6 +67,13 @@ directory TARGET." (('directory name uid gid mode) (loop `(directory ,name ,uid ,gid)) (chmod (string-append target name) mode)) + (('file name) + (call-with-output-file (string-append target name) + (const #t))) + (('file name (? string? content)) + (call-with-output-file (string-append target name) + (lambda (port) + (display content port)))) ((new '-> old) (let try () (catch 'system-error @@ -119,11 +126,14 @@ STORE." (directory "/home" 0 0))) -(define (populate-root-file-system system target) +(define* (populate-root-file-system system target + #:key (extras '())) "Make the essential non-store files and directories on TARGET. This -includes /etc, /var, /run, /bin/sh, etc., and all the symlinks to SYSTEM." +includes /etc, /var, /run, /bin/sh, etc., and all the symlinks to SYSTEM. +EXTRAS is a list of directives appended to the built-in directives to populate +TARGET." (for-each (cut evaluate-populate-directive <> target) - (directives (%store-directory))) + (append (directives (%store-directory)) extras)) ;; Add system generation 1. (let ((generation-1 (string-append target -- cgit 1.4.1 From 82782d8cecec974c03ec95824f62455f0a795815 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Apr 2020 15:03:10 +0200 Subject: vm: 'qemu-image' accepts a list of extra populate directives. * gnu/build/vm.scm (root-partition-initializer): Add #:extra-directives parameter and pass it to 'populate-root-file-system'. * gnu/system/vm.scm (qemu-image): Add #:extra-directives parameter and pass it to 'root-partition-initializer'. --- gnu/build/vm.scm | 11 ++++++++--- gnu/system/vm.scm | 7 ++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 9caa110463..dfb1465fd5 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -363,14 +363,18 @@ it, run its initializer, and unmount it." copy-closures? (register-closures? #t) system-directory - (deduplicate? #t)) + (deduplicate? #t) + (extra-directives '())) "Return a procedure to initialize a root partition. If REGISTER-CLOSURES? is true, register all of CLOSURES in the partition's store. If DEDUPLICATE? is true, then also deduplicate files common to CLOSURES and the rest of the store when registering the closures. If COPY-CLOSURES? is true, copy all of CLOSURES to the partition. -SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." +SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation. + +EXTRA-DIRECTIVES is an optional list of directives to populate the root file +system that is passed to 'populate-root-file-system'." (lambda (target) (define target-store (string-append target (%store-directory))) @@ -403,7 +407,8 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." ;; Add the non-store directories and files. (display "populating...\n") - (populate-root-file-system system-directory target) + (populate-root-file-system system-directory target + #:extras extra-directives) ;; 'register-closure' resets timestamps and everything, so no need to do it ;; once more in that case. diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 04d84b5220..8baed372cb 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -368,6 +368,7 @@ INPUTS is a list of inputs (as for packages)." (disk-image-size 'guess) (disk-image-format "qcow2") (file-system-type "ext4") + (extra-directives '()) file-system-label file-system-uuid os @@ -392,7 +393,10 @@ all of INPUTS into the image being built. When REGISTER-CLOSURES? is true, register INPUTS in the store database of the image so that Guix can be used in the image. By default, REGISTER-CLOSURES? is set to true only if a service of type GUIX-SERVICE-TYPE is present in the services definition of the operating -system." +system. + +EXTRA-DIRECTIVES is an optional list of directives to populate the root file +system that is passed to 'populate-root-file-system'." (define schema (and register-closures? (local-file (search-path %load-path @@ -441,6 +445,7 @@ system." (((names . _) ...) names))) (initialize (root-partition-initializer + #:extra-directives '#$extra-directives #:closures graphs #:copy-closures? #$copy-inputs? #:register-closures? #$register-closures? -- cgit 1.4.1 From 4d1ff68d731fdc47ca1220863fee07a685a26616 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Apr 2020 15:08:11 +0200 Subject: vm: 'qemu-image' can pass options to the 'mkfs' command. * gnu/build/vm.scm ()[file-system-options]: New field. (create-ext-file-system, create-fat-file-system) (format-partition): Add #:options and honor it. (initialize-partition): Pass #:options to 'format-partition'. * gnu/system/vm.scm (qemu-image): Add #:file-system-options and use it for the root partition. --- gnu/build/vm.scm | 24 +++++++++++++++--------- gnu/system/vm.scm | 5 ++++- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index dfb1465fd5..63140f1cee 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -234,6 +234,8 @@ deduplicates files common to CLOSURE and the rest of PREFIX." (device partition-device (default #f)) (size partition-size) (file-system partition-file-system (default "ext4")) + (file-system-options partition-file-system-options ;passed to 'mkfs.FS' + (default '())) (label partition-label (default #f)) (uuid partition-uuid (default #f)) (flags partition-flags (default '())) @@ -308,7 +310,7 @@ actual /dev name based on DEVICE." (define MS_BIND 4096) ; again! (define* (create-ext-file-system partition type - #:key label uuid) + #:key label uuid (options '())) "Create an ext-family file system of TYPE on PARTITION. If LABEL is true, use that as the volume name. If UUID is true, use it as the partition UUID." (format #t "creating ~a partition... ~@[label: ~s~] ~@[uuid: ~s~]\n" @@ -320,26 +322,29 @@ use that as the volume name. If UUID is true, use it as the partition UUID." '()) ,@(if uuid `("-U" ,(uuid->string uuid)) - '())))) + '()) + ,@options))) (define* (create-fat-file-system partition - #:key label uuid) + #:key label uuid (options '())) "Create a FAT file system on PARTITION. The number of File Allocation Tables will be determined based on file system size. If LABEL is true, use that as the volume name." ;; FIXME: UUID is ignored! (format #t "creating FAT partition...\n") (apply invoke "mkfs.fat" partition - (if label `("-n" ,label) '()))) + (append (if label `("-n" ,label) '()) options))) (define* (format-partition partition type - #:key label uuid) + #:key label uuid (options '())) "Create a file system TYPE on PARTITION. If LABEL is true, use that as the -volume name." +volume name. Options is a list of command-line options passed to 'mkfs.FS'." (cond ((string-prefix? "ext" type) - (create-ext-file-system partition type #:label label #:uuid uuid)) + (create-ext-file-system partition type #:label label #:uuid uuid + #:options options)) ((or (string-prefix? "fat" type) (string= "vfat" type)) - (create-fat-file-system partition #:label label #:uuid uuid)) + (create-fat-file-system partition #:label label #:uuid uuid + #:options options)) (else (error "Unsupported file system.")))) (define (initialize-partition partition) @@ -349,7 +354,8 @@ it, run its initializer, and unmount it." (format-partition (partition-device partition) (partition-file-system partition) #:label (partition-label partition) - #:uuid (partition-uuid partition)) + #:uuid (partition-uuid partition) + #:options (partition-file-system-options partition)) (mkdir-p target) (mount (partition-device partition) target (partition-file-system partition)) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 8baed372cb..65e96d42ee 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -368,6 +368,7 @@ INPUTS is a list of inputs (as for packages)." (disk-image-size 'guess) (disk-image-format "qcow2") (file-system-type "ext4") + (file-system-options '()) (extra-directives '()) file-system-label file-system-uuid @@ -382,7 +383,8 @@ INPUTS is a list of inputs (as for packages)." 'qcow2' or 'raw'), with a root partition of type FILE-SYSTEM-TYPE. Optionally, FILE-SYSTEM-LABEL can be specified as the volume name for the root partition; likewise FILE-SYSTEM-UUID, if true, specifies the UUID of the root -partition (a UUID object). +partition (a UUID object). FILE-SYSTEM-OPTIONS is an optional list of +command-line options passed to 'mkfs.ext4' (or similar). The returned image is a full disk image that runs OS-DERIVATION, with a GRUB installation that uses GRUB-CONFIGURATION as its configuration @@ -472,6 +474,7 @@ system that is passed to 'populate-root-file-system'." (uuid #$(and=> file-system-uuid uuid-bytevector)) (file-system #$file-system-type) + (file-system-options '#$file-system-options) (flags '(boot)) (initializer initialize))) ;; Append a small EFI System Partition for use with UEFI -- cgit 1.4.1 From 29814639c405d02735613bcbb1b5fd665cd8bd25 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Apr 2020 16:07:25 +0200 Subject: gnu: gnumach: Enable kernel debugger (kbd). * gnu/packages/hurd.scm (gnumach)[arguments]: Add "--enable-kdb". --- gnu/packages/hurd.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index f94d4fa5a7..7ea35bbf31 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -264,6 +264,8 @@ Hurd-minimal package which are needed for both glibc and GCC.") (name "gnumach") (arguments (substitute-keyword-arguments (package-arguments gnumach-headers) + ((#:configure-flags flags ''()) + `(cons "--enable-kdb" ,flags)) ;enable kernel debugger ((#:phases phases '%standard-phases) `(modify-phases %standard-phases (add-after 'install 'produce-image -- cgit 1.4.1 From f46cf8ef252fbfb8dce6f458bd099978883089d2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Apr 2020 16:14:40 +0200 Subject: gnu: hurd: Provide our own /libexec/rc script. * gnu/packages/hurd.scm (hurd-rc-script): New procedure. (hurd)[inputs]: Add (hurd-rc-script). --- gnu/packages/hurd.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 64 insertions(+), 6 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 7ea35bbf31..ca7d7e97a3 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -25,6 +25,7 @@ #:use-module (guix download) #:use-module (guix packages) #:use-module (gnu packages) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) @@ -286,6 +287,51 @@ Hurd-minimal package which are needed for both glibc and GCC.") (description "GNU Mach is the microkernel upon which a GNU Hurd system is based."))) +(define (hurd-rc-script) + "Return a script to be installed as /libexec/rc in the 'hurd' package. The +script takes care of installing the relevant passive translators on the first +boot, since this cannot be done from GNU/Linux." + (define translators + '(("/servers/crash-dump-core" ("/hurd/crash" "--dump-core")) + ("/servers/crash-kill" ("/hurd/crash" "--kill")) + ("/servers/crash-suspend" ("/hurd/crash" "--suspend")) + ("/servers/password" ("/hurd/password")) + ("/servers/socket/1" ("/hurd/pflocal")) + ("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0" + "--address" "10.0.2.77" + "--netmask" "255.255.255.0" + "--gateway" "10.0.2.2" + "--ipv6" "/servers/socket/16")))) + + (define rc + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (ice-9 match)) + + ;; "@HURD@" is a placeholder. + (setenv "PATH" "@HURD@/bin") + + (define (translated? node) + ;; Return true if a translator is installed on NODE. + (with-output-to-port (%make-void-port "w") + (lambda () + (with-error-to-port (%make-void-port "w") + (lambda () + (zero? (system* "showtrans" "-s" node))))))) + + (for-each (match-lambda + ((node command) + (unless (translated? node) + (mkdir-p (dirname node)) + (apply invoke "settrans" "-c" node command)))) + '#$translators)))) + + ;; FIXME: We want the program to use the cross-compiled Guile when + ;; cross-compiling. But why do we need to be explicit here? + (with-parameters ((%current-target-system "i586-pc-gnu")) + (program-file "rc" rc))) + (define-public hurd (package (name "hurd") @@ -296,11 +342,21 @@ Hurd-minimal package which are needed for both glibc and GCC.") `(#:phases (modify-phases %standard-phases (add-before 'build 'pre-build - (lambda _ - ;; Don't change the ownership of any file at this time. - (substitute* '("daemons/Makefile" "utils/Makefile") - (("-o root -m 4755") "")) - #t))) + (lambda _ + ;; Don't change the ownership of any file at this time. + (substitute* '("daemons/Makefile" "utils/Makefile") + (("-o root -m 4755") "")) + #t)) + (add-after 'install 'install-rc-file + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (file (string-append out "/libexec/rc")) + (rc (assoc-ref inputs "hurd-rc"))) + (delete-file file) + (copy-file rc file) + (substitute* file + (("@HURD@") out)) + #t)))) #:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") "--disable-ncursesw" @@ -308,7 +364,9 @@ Hurd-minimal package which are needed for both glibc and GCC.") "--without-libz" "--without-parted"))) (build-system gnu-build-system) - (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers))) + (inputs + `(("glibc-hurd-headers" ,glibc/hurd-headers) + ("hurd-rc" ,(hurd-rc-script)))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- cgit 1.4.1 From 7aad4609ae38790b7cc4e6a88b3e48ab43bc1f09 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Apr 2020 16:47:40 +0200 Subject: gnu: cross-libc: Add patch to add 'mach_print' symbol on GNU/Hurd. * gnu/packages/patches/glibc-hurd-mach-print.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-libc): Add 'patch-libc/hurd' phase when 'hurd-target?' is true. --- gnu/local.mk | 1 + gnu/packages/cross-base.scm | 11 +++++++++-- gnu/packages/patches/glibc-hurd-mach-print.patch | 23 +++++++++++++++++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/glibc-hurd-mach-print.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7347222852..02e9d804e9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -977,6 +977,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \ %D%/packages/patches/glibc-hurd-clock_gettime_monotonic.patch \ %D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \ + %D%/packages/patches/glibc-hurd-mach-print.patch \ %D%/packages/patches/glibc-hurd-magic-pid.patch \ %D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch \ %D%/packages/patches/glibc-ldd-x86_64.patch \ diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index df4570dafc..c21390767f 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -521,7 +521,12 @@ and the cross tool chain." (("/[^ ]+/lib/libc.so.0.3") (string-append out "/lib/libc.so.0.3" " libmachuser.so libhurduser.so")))) - #t))) + #t)) + (add-after 'unpack 'patch-libc/hurd + (lambda* (#:key inputs #:allow-other-keys) + (let ((patch (assoc-ref inputs + "hurd-mach-print.patch"))) + (invoke "patch" "-p1" "--force" "-i" patch))))) '()))))) ;; Shadow the native "kernel-headers" because glibc's recipe expects the @@ -537,7 +542,9 @@ and the cross tool chain." ,@(if (hurd-triplet? target) `(("cross-mig" ,@(assoc-ref (package-native-inputs xheaders) - "cross-mig"))) + "cross-mig")) + ("hurd-mach-print.patch" + ,@(search-patches "glibc-hurd-mach-print.patch"))) '()) ,@(package-inputs libc) ;FIXME: static-bash ,@(package-native-inputs libc)))))) diff --git a/gnu/packages/patches/glibc-hurd-mach-print.patch b/gnu/packages/patches/glibc-hurd-mach-print.patch new file mode 100644 index 0000000000..7fdf6733d0 --- /dev/null +++ b/gnu/packages/patches/glibc-hurd-mach-print.patch @@ -0,0 +1,23 @@ +Provide a 'mach_print' symbol in libc. + +--- a/sysdeps/mach/hurd/i386/libc.abilist 2020-04-01 19:22:44.710088821 +0200 ++++ b/sysdeps/mach/hurd/i386/libc.abilist 2020-04-01 19:22:52.062051161 +0200 +@@ -338,6 +338,7 @@ + GLIBC_2.2.6 __mach_port_allocate F + GLIBC_2.2.6 __mach_port_deallocate F + GLIBC_2.2.6 __mach_port_insert_right F ++GLIBC_2.21 __mach_print F + GLIBC_2.2.6 __mach_reply_port F + GLIBC_2.2.6 __mach_task_self_ D 0x4 + GLIBC_2.2.6 __mach_thread_self F + +--- a/mach/Versions ++++ b/mach/Versions +@@ -56,6 +56,7 @@ + } + GLIBC_2.21 { + __mach_host_self_; ++ mach_print; + } + + HURD_CTHREADS_0.3 { -- cgit 1.4.1 From 09ac892a951aeded1bc6d0487980041fb55a71b7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 3 Apr 2020 22:20:46 +0200 Subject: gnu: hurd: Use a 32-bit MiG when cross-compiling. * gnu/packages/hurd.scm (hurd)[native-inputs]: When '%current-target-system' is true, pass #:system "i686-linux" to 'mig'. --- gnu/packages/hurd.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index ca7d7e97a3..6478eb4434 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -370,7 +370,13 @@ boot, since this cannot be done from GNU/Linux." (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("mig" ,mig) + ("mig" ,(if (%current-target-system) + ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, + ;; hence this hack. + (package + (inherit mig) + (arguments `(#:system "i686-linux"))) + mig)) ("perl" ,perl) ("texinfo" ,texinfo-4))) (supported-systems %hurd-systems) -- cgit 1.4.1 From b7e23a92a57f50686a5334c4737ffe46b06bbf77 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 3 Apr 2020 23:12:10 +0200 Subject: gnu: hurd: Record the right file name of 'login'. * gnu/packages/hurd.scm (hurd)[arguments]: Add 'set-file-names' phase. --- gnu/packages/hurd.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 6478eb4434..9f398e0d6c 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -347,6 +347,13 @@ boot, since this cannot be done from GNU/Linux." (substitute* '("daemons/Makefile" "utils/Makefile") (("-o root -m 4755") "")) #t)) + (add-before 'build 'set-file-names + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* '("daemons/runttys.c" "daemons/getty.c") + (("/bin/login") + (string-append out "/bin/login"))) + #t))) (add-after 'install 'install-rc-file (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit 1.4.1 From 29505c7d1eb08afc14a881d84705cde54b12192f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 5 Apr 2020 01:49:37 +0200 Subject: gnu: hurd: Ensure startup scripts refer to the right programs. * gnu/packages/hurd.scm (hurd)[arguments]: In 'set-file-names' phase, patch startup.c, init.c, login.c, and daemons/runsystem/*. Add 'patch-libexec-shebangs' phase. Subtitute /libexec and /sbin, so that we may run RC. [inputs]: Add BASH-MINIMAL, COREUTILS, SED, GREP, and UTIL-LINUX. --- gnu/packages/hurd.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 4 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 9f398e0d6c..45e1b21a77 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -32,8 +32,10 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages flex) #:use-module (gnu packages bison) + #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages texinfo) #:use-module (guix git-download) #:export (hurd-system? @@ -349,10 +351,63 @@ boot, since this cannot be done from GNU/Linux." #t)) (add-before 'build 'set-file-names (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* '("daemons/runttys.c" "daemons/getty.c") + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref inputs "bash-minimal")) + (coreutils (assoc-ref inputs "coreutils")) + (sed (assoc-ref inputs "sed")) + (grep (assoc-ref inputs "grep")) + (util-linux (assoc-ref inputs "util-linux"))) + (substitute* '("daemons/runttys.c" "daemons/getty.c" "utils/login.c") (("/bin/login") - (string-append out "/bin/login"))) + (string-append out "/bin/login")) + (("/bin/bash") (string-append bash "/bin/bash"))) + (substitute* '("startup/startup.c" "init/init.c" "config/ttys") + (("/libexec/") + (string-append out "/libexec/"))) + (substitute* "daemons/console-run.c" + (("/hurd/") + (string-append out "/hurd/"))) + + (substitute* '("daemons/runsystem.sh" + "daemons/runsystem.hurd.sh" + "sutils/MAKEDEV.sh") + (("^PATH=.*") + (string-append "PATH=" out "/bin:" out "/sbin:" + coreutils "/bin:" + sed "/bin:" grep "/bin:" + util-linux "/bin\n")) + (("^SHELL=.*") + (string-append "SHELL=" bash "/bin/bash\n")) + (("/sbin/") (string-append out "/sbin/")) + (("/libexec/") (string-append out "/libexec/")) + (("/hurd/") (string-append out "/hurd/"))) + + (substitute* "daemons/runsystem.sh" + (("export PATH") + (string-append "export PATH\n" + "\ +fsysopts / --writable + +# MAKEDEV relies on pipes so this needs to be set up. +settrans -c /servers/socket/1 /hurd/pflocal + +(cd /dev; MAKEDEV -D /dev std vcs tty{1,2,3,4,5,6})\n"))) + + (substitute* "daemons/runsystem.hurd.sh" + (("export PATH") + "export PATH +fsysopts / --writable\n")) + #t))) + (add-after 'patch-shebangs 'patch-libexec-shebangs + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; XXX: Since the 'patch-shebangs' phase doesn't traverse + ;; /libexec, do it here. + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref inputs "bash-minimal")) + (path (list (string-append bash "/bin")))) + (for-each (lambda (file) + (patch-shebang file path)) + (find-files (string-append out "/libexec"))) #t))) (add-after 'install 'install-rc-file (lambda* (#:key inputs outputs #:allow-other-keys) @@ -373,7 +428,14 @@ boot, since this cannot be done from GNU/Linux." (build-system gnu-build-system) (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers) - ("hurd-rc" ,(hurd-rc-script)))) + ("hurd-rc" ,(hurd-rc-script)) + + ;; Tools for the /libexec/* scripts. + ("bash-minimal" ,bash-minimal) + ("coreutils" ,coreutils) + ("sed" ,sed) + ("grep" ,grep) + ("util-linux" ,util-linux))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- cgit 1.4.1 From 62a3bbfdfef42b8aa0b8a04bbf62c9f845903da9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Apr 2020 14:58:19 +0200 Subject: gnu: hurd: Install the UTF-8 motd. * gnu/packages/hurd.scm (hurd)[arguments]: Add 'install-goodies' phase. --- gnu/packages/hurd.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 45e1b21a77..e5ad8e4f73 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -409,6 +409,16 @@ fsysopts / --writable\n")) (patch-shebang file path)) (find-files (string-append out "/libexec"))) #t))) + (add-after 'install 'install-goodies + (lambda* (#:key outputs #:allow-other-keys) + ;; Install additional goodies. + ;; TODO: Build & install *.msgids for rpctrace. + (let ((out (assoc-ref outputs "out"))) + ;; Install the fancy UTF-8 motd. + (mkdir-p (string-append out "/etc")) + (copy-file "console/motd.UTF8" + (string-append out "/etc/motd")) + #t))) (add-after 'install 'install-rc-file (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit 1.4.1 From 7e7033d16e96f4c3226fead4820a01b1b32da275 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Tue, 7 Apr 2020 07:41:08 +0200 Subject: gnu: libgcrypt: Fix cross-compilation. This works around /gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash ../libtool --tag=CC --mode=link i586-pc-gnu-gcc -I/gnu/store/8x9dhckldm6iy1digklfanmvdaizq11f-libgpg-error-1.37/include -g -O2 -fvisibility=hidden -fno-delete-null-pointer-checks -Wall -o mpicalc mpicalc-mpicalc.o libgcrypt.la -L/gnu/store/8x9dhckldm6iy1digklfanmvdaizq11f-libgpg-error-1.37/lib -lgpg-error i586-pc-gnu-ld: ./.libs/libgcrypt.so: undefined reference to `_gcry_mpih_lshift' i586-pc-gnu-ld: ./.libs/libgcrypt.so: undefined reference to `_gcry_mpih_add_n' i586-pc-gnu-ld: ./.libs/libgcrypt.so: undefined reference to `_gcry_mpih_addmul_1' i586-pc-gnu-ld: ./.libs/libgcrypt.so: undefined reference to `_gcry_mpih_submul_1' i586-pc-gnu-ld: ./.libs/libgcrypt.so: undefined reference to `_gcry_mpih_mul_1' i586-pc-gnu-ld: ./.libs/libgcrypt.so: undefined reference to `_gcry_mpih_sub_n' i586-pc-gnu-ld: ./.libs/libgcrypt.so: undefined reference to `_gcry_mpih_rshift' * gnu/packages/gnupg.scm (libgcrypt)[arguments]: Disable assembly when cross-compiling. --- gnu/packages/gnupg.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 498a6a1a9a..298f18a8cc 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -148,7 +148,10 @@ Daemon and possibly more in the future.") ;; the 'gpg-error-config' it runs is the native one---i.e., the wrong one. `(#:configure-flags (list (string-append "--with-gpg-error-prefix=" - (assoc-ref %build-inputs "libgpg-error-host"))))) + (assoc-ref %build-inputs "libgpg-error-host")) + ;; When cross-compiling, _gcry_mpih_lshift etc are undefined + ,@(if (%current-target-system) '("--disable-asm") + '())))) (outputs '("out" "debug")) (home-page "https://gnupg.org/") (synopsis "Cryptographic function library") -- cgit 1.4.1 From abbeaf5450826077d27292fbc230f5724f5ff9d0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 15:54:12 +0200 Subject: gnu: hurd: Add dependency on libgcrypt. * gnu/packages/hurd.scm (hurd)[inputs]: Add LIBGCRYPT. [native-inputs]: Likewise. --- gnu/packages/hurd.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index e5ad8e4f73..8d9ba1137d 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -31,6 +31,7 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages autotools) #:use-module (gnu packages flex) + #:use-module (gnu packages gnupg) #:use-module (gnu packages bison) #:use-module (gnu packages linux) #:use-module (gnu packages perl) @@ -440,6 +441,7 @@ fsysopts / --writable\n")) `(("glibc-hurd-headers" ,glibc/hurd-headers) ("hurd-rc" ,(hurd-rc-script)) + ("libgcrypt" ,libgcrypt) ;for /hurd/random ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) ("coreutils" ,coreutils) @@ -449,6 +451,7 @@ fsysopts / --writable\n")) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) + ("libgcrypt" ,libgcrypt) ;for 'libgcrypt-config' ("mig" ,(if (%current-target-system) ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, ;; hence this hack. -- cgit 1.4.1 From a16022a7b889cefc86cb368c3475a7d0dd2edfb6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 15:53:32 +0200 Subject: gnu: libdaemon: Allow cross-compilation. * gnu/packages/libdaemon.scm (libdaemon)[arguments]: New field. --- gnu/packages/libdaemon.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/libdaemon.scm b/gnu/packages/libdaemon.scm index 81cf6e58ba..a92892a6ae 100644 --- a/gnu/packages/libdaemon.scm +++ b/gnu/packages/libdaemon.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2013, 2014, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +45,12 @@ "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) + (arguments + (if (%current-target-system) + ;; The 'setpgrp' test cannot provide an answer when cross-compiling, + ;; so provide the right one for glibc. + `(#:configure-flags (list "ac_cv_func_setpgrp_void=yes")) + '())) ;; XXX: Stale URL, missing replacement. See . (home-page "http://0pointer.de/lennart/projects/libdaemon/") -- cgit 1.4.1 From 5ea5d0512f912375358c339f81334454b03ef5a3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 8 Apr 2020 15:26:57 +0200 Subject: gnu: libdaemon: Cross-build with --localstatedir=/var. * gnu/packages/libdaemon.scm (libdaemon)[arguments]: Add "--localstatedir=/var" when (%current-target-system) is true. --- gnu/packages/libdaemon.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/libdaemon.scm b/gnu/packages/libdaemon.scm index a92892a6ae..e47d66cfa7 100644 --- a/gnu/packages/libdaemon.scm +++ b/gnu/packages/libdaemon.scm @@ -49,7 +49,15 @@ (if (%current-target-system) ;; The 'setpgrp' test cannot provide an answer when cross-compiling, ;; so provide the right one for glibc. - `(#:configure-flags (list "ac_cv_func_setpgrp_void=yes")) + `(#:configure-flags (list "ac_cv_func_setpgrp_void=yes" + + ;; TODO: Move this globally on the next + ;; rebuild cycle. + ;; Set a valid localstatedir for the + ;; benefit of the default + ;; 'daemon_pid_file_proc', used by the + ;; Hurd's console client. + "--localstatedir=/var")) '())) ;; XXX: Stale URL, missing replacement. See . -- cgit 1.4.1 From 1d5fc9f7a70b89c70bfc540ac087d08d5b1943b8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 15:54:39 +0200 Subject: gnu: hurd: Add dependency on libdaemon. * gnu/packages/hurd.scm (hurd)[inputs]: Add dependency on libdaemon. [native-inputs]: Add PKG-CONFIG. --- gnu/packages/hurd.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 8d9ba1137d..620faf30ca 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -33,8 +33,10 @@ #:use-module (gnu packages flex) #:use-module (gnu packages gnupg) #:use-module (gnu packages bison) + #:use-module (gnu packages libdaemon) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages texinfo) @@ -442,6 +444,8 @@ fsysopts / --writable\n")) ("hurd-rc" ,(hurd-rc-script)) ("libgcrypt" ,libgcrypt) ;for /hurd/random + ("libdaemon" ,libdaemon) ;for /bin/console --daemonize + ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) ("coreutils" ,coreutils) @@ -452,6 +456,7 @@ fsysopts / --writable\n")) `(("autoconf" ,autoconf) ("automake" ,automake) ("libgcrypt" ,libgcrypt) ;for 'libgcrypt-config' + ("pkg-config" ,pkg-config) ("mig" ,(if (%current-target-system) ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, ;; hence this hack. -- cgit 1.4.1 From ad3bbeadb46accce9c744f45cf079426b7e9a318 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 16:55:29 +0200 Subject: gnu: hurd: Install a BDF font. * gnu/packages/hurd.scm (unifont): New variable. (hurd)[arguments]: In 'install-goodies' phase, install OUT/share/hurd/vga-system.bdf. [inputs]: Add UNIFONT. --- gnu/packages/hurd.scm | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 620faf30ca..f7c0637f40 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -292,6 +292,17 @@ Hurd-minimal package which are needed for both glibc and GCC.") (description "GNU Mach is the microkernel upon which a GNU Hurd system is based."))) +(define unifont + ;; GNU Unifont, . + ;; Used the the VGA driver of the Hurd's console client. + (origin + (method url-fetch) + (uri + "http://unifoundry.com/pub/unifont-7.0.06/font-builds/unifont-7.0.06.bdf.gz") + (sha256 + (base32 + "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys")))) + (define (hurd-rc-script) "Return a script to be installed as /libexec/rc in the 'hurd' package. The script takes care of installing the relevant passive translators on the first @@ -413,14 +424,23 @@ fsysopts / --writable\n")) (find-files (string-append out "/libexec"))) #t))) (add-after 'install 'install-goodies - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) ;; Install additional goodies. ;; TODO: Build & install *.msgids for rpctrace. - (let ((out (assoc-ref outputs "out"))) + (let* ((out (assoc-ref outputs "out")) + (datadir (string-append out "/share/hurd"))) ;; Install the fancy UTF-8 motd. (mkdir-p (string-append out "/etc")) (copy-file "console/motd.UTF8" (string-append out "/etc/motd")) + + ;; Install the BDF font for use by the console client. + (copy-file (assoc-ref inputs "unifont") + "unifont.gz") + (invoke "gunzip" "unifont.gz") + (mkdir-p datadir) + (copy-file "unifont" + (string-append datadir "/vga-system.bdf")) #t))) (add-after 'install 'install-rc-file (lambda* (#:key inputs outputs #:allow-other-keys) @@ -445,6 +465,7 @@ fsysopts / --writable\n")) ("libgcrypt" ,libgcrypt) ;for /hurd/random ("libdaemon" ,libdaemon) ;for /bin/console --daemonize + ("unifont" ,unifont) ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) -- cgit 1.4.1 From 1c4268e4147063355f41b7958bdb61bef96f58c0 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 5 Apr 2020 16:45:18 +0200 Subject: gnu: cross-libc: Add patch to allow 'gettyent' reading store file names. * gnu/packages/patches/glibc-hurd-gettyent.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-libc): Add it in 'patch-libc/hurd' phase when 'hurd-target?' is true. --- gnu/local.mk | 1 + gnu/packages/cross-base.scm | 15 +++++++++--- gnu/packages/patches/glibc-hurd-gettyent.patch | 34 ++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/glibc-hurd-gettyent.patch diff --git a/gnu/local.mk b/gnu/local.mk index 02e9d804e9..8303fdca7f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -977,6 +977,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \ %D%/packages/patches/glibc-hurd-clock_gettime_monotonic.patch \ %D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \ + %D%/packages/patches/glibc-hurd-gettyent.patch \ %D%/packages/patches/glibc-hurd-mach-print.patch \ %D%/packages/patches/glibc-hurd-magic-pid.patch \ %D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch \ diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index c21390767f..9b4aa103da 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -522,11 +522,15 @@ and the cross tool chain." (string-append out "/lib/libc.so.0.3" " libmachuser.so libhurduser.so")))) #t)) + ;; TODO: move to glibc in the next rebuild cycle (add-after 'unpack 'patch-libc/hurd (lambda* (#:key inputs #:allow-other-keys) - (let ((patch (assoc-ref inputs - "hurd-mach-print.patch"))) - (invoke "patch" "-p1" "--force" "-i" patch))))) + (for-each + (lambda (name) + (let ((patch (assoc-ref inputs name))) + (invoke "patch" "-p1" "--force" "-i" patch))) + '("hurd-mach-print.patch" + "hurd-gettyent.patch"))))) '()))))) ;; Shadow the native "kernel-headers" because glibc's recipe expects the @@ -543,8 +547,11 @@ and the cross tool chain." `(("cross-mig" ,@(assoc-ref (package-native-inputs xheaders) "cross-mig")) + ;; TODO: move to glibc in the next rebuild cycle ("hurd-mach-print.patch" - ,@(search-patches "glibc-hurd-mach-print.patch"))) + ,@(search-patches "glibc-hurd-mach-print.patch")) + ("hurd-gettyent.patch" + ,@(search-patches "glibc-hurd-gettyent.patch"))) '()) ,@(package-inputs libc) ;FIXME: static-bash ,@(package-native-inputs libc)))))) diff --git a/gnu/packages/patches/glibc-hurd-gettyent.patch b/gnu/packages/patches/glibc-hurd-gettyent.patch new file mode 100644 index 0000000000..721a8d4fa8 --- /dev/null +++ b/gnu/packages/patches/glibc-hurd-gettyent.patch @@ -0,0 +1,34 @@ +From d6d2caef3e44d0713bb6625f697a1ec615abae70 Mon Sep 17 00:00:00 2001 +From: "Jan (janneke) Nieuwenhuizen" +Date: Sun, 5 Apr 2020 16:29:54 +0200 +Subject: [PATCH 4/4] misc: Choose a longer arbitrary line length. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This allows running specifying a `getty' in the GNU Guix store. + +* misc/getttyent.c (MAXLINELENGTH): Use 512 (instead of 100) as +another "great" arbitrary limit. + +Co-Authored-By: Ludovic Courtès +--- + misc/getttyent.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/misc/getttyent.c b/misc/getttyent.c +index 92d92b026f..508d296291 100644 +--- a/misc/getttyent.c ++++ b/misc/getttyent.c +@@ -66,7 +66,7 @@ __getttyent (void) + static struct ttyent tty; + int c; + char *p; +-#define MAXLINELENGTH 100 ++#define MAXLINELENGTH 512 + static char line[MAXLINELENGTH]; + + if (!tf && !__setttyent()) +-- +2.26.0 + -- cgit 1.4.1 From 916ec91f23be829b2f7b5e6105b7476c70d08c1d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 5 Apr 2020 12:54:29 +0200 Subject: gnu: guile@3: Disable JIT on GNU/Hurd. * gnu/packages/guile.scm (guile-3.0)[arguments]: New field. --- gnu/packages/guile.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a665c05568..d69dee51c9 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -291,6 +291,13 @@ without requiring the source code to be rewritten.") (sha256 (base32 "12lziar4j27j9whqp2n18427q45y9ghq7gdd8lqhmj1k0lr7vi2k")))) + (arguments + ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd. + (if (hurd-target?) + (substitute-keyword-arguments (package-arguments guile-2.2) + ((#:configure-flags flags ''()) + `(cons "--disable-jit" ,flags))) + (package-arguments guile-2.2))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") -- cgit 1.4.1 From 7fa6155b2396224360660c255b89865d065c9f96 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Apr 2020 15:40:30 +0200 Subject: database: 'reset-timestamps' can optionally preserve permissions. * guix/store/database.scm (reset-timestamps): Add #:preserve-permissions? and honor it. --- guix/store/database.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/guix/store/database.scm b/guix/store/database.scm index 88d05dc42e..ef52036ede 100644 --- a/guix/store/database.scm +++ b/guix/store/database.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019 Caleb Ristvedt -;;; Copyright © 2018 Ludovic Courtès +;;; Copyright © 2018, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -228,16 +228,18 @@ Every store item in REFERENCES must already be registered." ;;; High-level interface. ;;; -(define (reset-timestamps file) +(define* (reset-timestamps file #:key preserve-permissions?) "Reset the modification time on FILE and on all the files it contains, if -it's a directory. While at it, canonicalize file permissions." +it's a directory. Canonicalize file permissions unless PRESERVE-PERMISSIONS? +is true." ;; Note: We're resetting to one second after the Epoch like 'guix-daemon' ;; has always done. (let loop ((file file) (type (stat:type (lstat file)))) (case type ((directory) - (chmod file #o555) + (unless preserve-permissions? + (chmod file #o555)) (utime file 1 1 0 0) (let ((parent file)) (for-each (match-lambda @@ -254,7 +256,8 @@ it's a directory. While at it, canonicalize file permissions." ((symlink) (utime file 1 1 0 0 AT_SYMLINK_NOFOLLOW)) (else - (chmod file (if (executable-file? file) #o555 #o444)) + (unless preserve-permissions? + (chmod file (if (executable-file? file) #o555 #o444))) (utime file 1 1 0 0))))) (define* (register-path path -- cgit 1.4.1 From 6a488a3504b345b193e24dfdba2a2ac6b1db1234 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Apr 2020 15:16:09 +0200 Subject: vm: Preserve file permissions on /dev. Previously, when REGISTER-CLOSURES? was false, we'd set all the files under /dev to #o644, including /dev/null, /dev/zero, etc. * gnu/build/vm.scm (root-partition-initializer): Call 'reset-timestamps' separately for /dev, with #:preserve-permissions? #t. --- gnu/build/vm.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 63140f1cee..84bb2592e2 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -33,6 +33,7 @@ #:use-module (guix records) #:use-module ((guix combinators) #:select (fold2)) #:use-module (ice-9 format) + #:use-module (ice-9 ftw) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (ice-9 popen) @@ -419,7 +420,16 @@ system that is passed to 'populate-root-file-system'." ;; 'register-closure' resets timestamps and everything, so no need to do it ;; once more in that case. (unless register-closures? - (reset-timestamps target)))) + ;; 'reset-timestamps' also resets file permissions; do that everywhere + ;; except on /dev so that /dev/null remains writable, etc. + (for-each (lambda (directory) + (reset-timestamps (string-append target "/" directory))) + (scandir target + (match-lambda + ((or "." ".." "dev") #f) + (_ #t)))) + (reset-timestamps (string-append target "/dev") + #:preserve-permissions? #t)))) (define (register-bootcfg-root target bootcfg) "On file system TARGET, register BOOTCFG as a GC root." -- cgit 1.4.1 From 683cba75ea529c7390a79826124d7798d47d65cd Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Apr 2020 16:19:05 +0200 Subject: linux-boot: 'make-essential-device-nodes' root parameter is optional. * gnu/build/linux-boot.scm (make-essential-device-nodes): Change 'root' to an optional parameter. * gnu/build/vm.scm (root-partition-initializer): Adjust accordingly. --- gnu/build/linux-boot.scm | 4 ++-- gnu/build/vm.scm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 4fb711b8f2..787665e320 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Guillaume Le Vaillant ;;; @@ -223,7 +223,7 @@ one specific hardware device. These we have to create." (call-with-input-file devname-name read-static-device-nodes)))) -(define* (make-essential-device-nodes #:key (root "/")) +(define* (make-essential-device-nodes #:optional (root "/")) "Make essential device nodes under ROOT/dev." ;; The hand-made devtmpfs/udev! diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 84bb2592e2..c062ab5c71 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -392,7 +392,7 @@ system that is passed to 'populate-root-file-system'." target)) ;; Populate /dev. - (make-essential-device-nodes #:root target) + (make-essential-device-nodes target) ;; Optionally, register the inputs in the image's store. (when register-closures? -- cgit 1.4.1 From ac61e876a4594af763994f0d5d4681ee5284f1f0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 09:47:36 +0200 Subject: linux-boot: Add 'make-hurd-device-nodes'. * gnu/build/linux-boot.scm (make-hurd-device-nodes): New procedure. --- gnu/build/linux-boot.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 787665e320..d1c9f47f33 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -40,6 +40,7 @@ find-long-option find-long-options make-essential-device-nodes + make-hurd-device-nodes make-static-device-nodes configure-qemu-networking @@ -323,6 +324,36 @@ one specific hardware device. These we have to create." ;; File systems in user space (FUSE). (mknod (scope "dev/fuse") 'char-special #o666 (device-number 10 229))) +(define* (make-hurd-device-nodes #:optional (root "/")) + "Make some of the nodes needed on GNU/Hurd." + (define (scope dir) + (string-append root + (if (string-suffix? "/" root) + "" + "/") + dir)) + + (mkdir (scope "dev")) + (for-each (lambda (file) + (call-with-output-file (scope file) + (lambda (port) + (chmod port #o666)))) + '("dev/null" + "dev/zero" + "dev/full" + "dev/random" + "dev/urandom")) + ;; Don't create /dev/console, /dev/vcs, etc.: they are created by + ;; console-run on first boot. + + (mkdir (scope "servers")) + (mkdir (scope "servers/socket")) + ;; Don't create /servers/socket/1 & co: runsystem does that on first boot. + + ;; TODO: Set the 'gnu.translator' extended attribute for passive translator + ;; settings? + ) + (define %host-qemu-ipv4-address (inet-pton AF_INET "10.0.2.10")) -- cgit 1.4.1 From cd45d656f1e8746fadacfbffd5740d22228c4c21 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 10:21:48 +0200 Subject: vm: Make the device node procedure a parameter. * gnu/build/vm.scm (root-partition-initializer): Add #:make-device-nodes parameter and use it. * gnu/system/vm.scm (qemu-image): Add #:device-node parameter. Pass #:make-device-nodes to 'root-partition-initializer'. --- gnu/build/vm.scm | 4 +++- gnu/system/vm.scm | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index c062ab5c71..d2bf7418fd 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -371,6 +371,8 @@ it, run its initializer, and unmount it." (register-closures? #t) system-directory (deduplicate? #t) + (make-device-nodes + make-essential-device-nodes) (extra-directives '())) "Return a procedure to initialize a root partition. @@ -392,7 +394,7 @@ system that is passed to 'populate-root-file-system'." target)) ;; Populate /dev. - (make-essential-device-nodes target) + (make-device-nodes target) ;; Optionally, register the inputs in the image's store. (when register-closures? diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 65e96d42ee..e8c2f6e162 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -369,6 +369,7 @@ INPUTS is a list of inputs (as for packages)." (disk-image-format "qcow2") (file-system-type "ext4") (file-system-options '()) + (device-nodes 'linux) (extra-directives '()) file-system-label file-system-uuid @@ -397,6 +398,9 @@ the image. By default, REGISTER-CLOSURES? is set to true only if a service of type GUIX-SERVICE-TYPE is present in the services definition of the operating system. +When DEVICE-NODES is 'linux, create Linux-device block and character devices +under /dev. When it is 'hurd, do Hurdish things. + EXTRA-DIRECTIVES is an optional list of directives to populate the root file system that is passed to 'populate-root-file-system'." (define schema @@ -416,6 +420,9 @@ system that is passed to 'populate-root-file-system'." #~(begin (use-modules (gnu build bootloader) (gnu build vm) + ((gnu build linux-boot) + #:select (make-essential-device-nodes + make-hurd-device-nodes)) (guix store database) (guix build utils) (srfi srfi-26) @@ -453,6 +460,11 @@ system that is passed to 'populate-root-file-system'." #:register-closures? #$register-closures? #:system-directory #$os + #:make-device-nodes + #$(match device-nodes + ('linux #~make-essential-device-nodes) + ('hurd #~make-hurd-device-nodes)) + ;; Disable deduplication to speed things up, ;; and because it doesn't help much for a ;; single system generation. -- cgit 1.4.1 From a9f7993ea719c5368ee3e64b813b169eece4e6a1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Apr 2020 16:18:23 +0200 Subject: Add (gnu system hurd). * gnu/system/hurd.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/system/hurd.scm | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 gnu/system/hurd.scm diff --git a/gnu/local.mk b/gnu/local.mk index 8303fdca7f..120359f0de 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -598,6 +598,7 @@ GNU_SYSTEM_MODULES = \ %D%/system.scm \ %D%/system/accounts.scm \ %D%/system/file-systems.scm \ + %D%/system/hurd.scm \ %D%/system/install.scm \ %D%/system/keyboard.scm \ %D%/system/linux-container.scm \ diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm new file mode 100644 index 0000000000..0728ce8603 --- /dev/null +++ b/gnu/system/hurd.scm @@ -0,0 +1,112 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Ludovic Courtès +;;; +;;; 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 . + +(define-module (gnu system hurd) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (gnu bootloader grub) + #:use-module (gnu packages base) + #:use-module (gnu packages cross-base) + #:use-module (gnu packages hurd) + #:use-module (gnu system vm) + #:export (cross-hurd-image)) + +;;; Commentary: +;;; +;;; This module provides tools to (cross-)build GNU/Hurd virtual machine +;;; images. +;;; +;;; Code: + +(define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach)) + "Return a cross-built GNU/Hurd image." + (define hurd-os + (let-syntax ((for-hurd (syntax-rules () + ((_ things ...) + (list (with-parameters ((%current-target-system + "i586-pc-gnu")) + things) ...))))) + (directory-union "gnu+hurd" + (cons (with-parameters ((%current-system "i686-linux")) + gnumach) + (for-hurd hurd coreutils grep sed))))) + + (define grub.cfg + (let ((hurd (with-parameters ((%current-target-system "i586-pc-gnu")) + hurd)) + (mach (with-parameters ((%current-system "i686-linux")) + gnumach)) + (libc (cross-libc "i586-pc-gnu"))) + (computed-file "grub.cfg" + #~(call-with-output-file #$output + (lambda (port) + (format port " +set timeout=2 +search.file ~a/boot/gnumach + +menuentry \"GNU\" { + multiboot ~a/boot/gnumach root=device:hd0s1 + module ~a/hurd/ext2fs.static ext2fs \\ + --multiboot-command-line='${kernel-command-line}' \\ + --host-priv-port='${host-port}' \\ + --device-master-port='${device-port}' \\ + --exec-server-task='${exec-task}' -T typed '${root}' \\ + '$(task-create)' '$(task-resume)' + module ~a/lib/ld.so.1 exec ~a/hurd/exec '$(exec-task=task-create)' +}\n" + #+mach #+mach #+hurd + #+libc #+hurd)))))) + + (define hurd-directives + `((directory "/servers") + ,@(map (lambda (server) + `(file ,(string-append "/servers/" server))) + '("startup" "exec" "proc" "password" + "default-pager" "crash-dump-core" + "kill" "suspend")) + ("/servers/crash" -> "crash-dump-core") + (directory "/servers/socket") + (file "/servers/socket/1") + (file "/servers/socket/2") + (file "/servers/socket/16") + ("/servers/socket/local" -> "1") + ("/servers/socket/inet" -> "2") + ("/servers/socket/inet6" -> "16") + (file "/etc/resolv.conf" + "nameserver 10.0.2.3\n") + (directory "/boot") + ("/boot/grub.cfg" -> ,grub.cfg) ;XXX: not strictly needed + ("/hurd" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + hurd) + "/hurd")))) + + (qemu-image #:file-system-type "ext2" + #:file-system-options '("-o" "hurd") + #:device-nodes 'hurd + #:inputs `(("system" ,hurd-os) + ("grub.cfg" ,grub.cfg)) + #:copy-inputs? #t + #:os hurd-os + #:bootcfg-drv grub.cfg + #:bootloader grub-bootloader + #:register-closures? #f + #:extra-directives hurd-directives)) + +;; Return this thunk so one can type "guix build -f gnu/system/hurd.scm". +cross-hurd-image -- cgit 1.4.1 From 379d0f51841f808d456b885824b50949d0939bd9 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 5 Apr 2020 08:39:20 +0200 Subject: system: hurd: Add "/etc/fstab". This allows running mount -o remount,rw / successfully. * gnu/system/hurd.scm (cross-hurd-image): Create a hard coded fstab and add it to hurd-os. --- gnu/system/hurd.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 0728ce8603..03c49d472f 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -72,6 +72,14 @@ menuentry \"GNU\" { #+mach #+mach #+hurd #+libc #+hurd)))))) + (define fstab + (plain-file "fstab" +"# This file was generated from your Guix configuration. Any changes +# will be lost upon reboot or reconfiguration. + +/dev/hd0s1 / ext2 defaults +")) + (define hurd-directives `((directory "/servers") ,@(map (lambda (server) @@ -94,13 +102,15 @@ menuentry \"GNU\" { ("/hurd" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) hurd) - "/hurd")))) + "/hurd")) + ("/etc/fstab" -> ,fstab))) (qemu-image #:file-system-type "ext2" #:file-system-options '("-o" "hurd") #:device-nodes 'hurd #:inputs `(("system" ,hurd-os) - ("grub.cfg" ,grub.cfg)) + ("grub.cfg" ,grub.cfg) + ("fstab" , fstab)) #:copy-inputs? #t #:os hurd-os #:bootcfg-drv grub.cfg -- cgit 1.4.1 From cd4faab5636cfc30765f9642189787f49daba519 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 5 Apr 2020 13:51:56 +0200 Subject: system: hurd: Add ttys symlink in "/etc/ttys". * gnu/packages/hurd.scm (hurd): Substitute /libexec/. * gnu/system/hurd.scm (cross-hurd-image): Add symlink /etc/ttys => /etc/ttys. --- gnu/system/hurd.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 03c49d472f..4830c91553 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -103,7 +103,12 @@ menuentry \"GNU\" { "i586-pc-gnu")) hurd) "/hurd")) - ("/etc/fstab" -> ,fstab))) + ("/etc/fstab" -> ,fstab) + ;; XXX can we instead, harmlessly set _PATH_TTYS (from glibc) in runttys.c? + ("/etc/ttys" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + hurd) + "/etc/ttys")))) (qemu-image #:file-system-type "ext2" #:file-system-options '("-o" "hurd") -- cgit 1.4.1 From 6598c6149b28ea7ba3450e0081a55e2baabf1371 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 5 Apr 2020 14:36:34 +0200 Subject: system: hurd: Add /etc/{passwd,shadow}. * gnu/system/hurd.scm: Generate hard-coded /etc/{passwd,shadow}, allows running chown in MAKEDEV and loggin in. --- gnu/system/hurd.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 4830c91553..3926f11315 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -80,6 +80,18 @@ menuentry \"GNU\" { /dev/hd0s1 / ext2 defaults ")) + (define passwd + (plain-file "passwd" +"root:x:0:0:root:/root:/bin/sh +" +)) + + (define shadow + (plain-file "shadow" +"root::0:0:0:0::: +" +)) + (define hurd-directives `((directory "/servers") ,@(map (lambda (server) @@ -104,6 +116,8 @@ menuentry \"GNU\" { hurd) "/hurd")) ("/etc/fstab" -> ,fstab) + ("/etc/passwd" -> ,passwd) + ("/etc/shadow" -> ,shadow) ;; XXX can we instead, harmlessly set _PATH_TTYS (from glibc) in runttys.c? ("/etc/ttys" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) @@ -115,7 +129,9 @@ menuentry \"GNU\" { #:device-nodes 'hurd #:inputs `(("system" ,hurd-os) ("grub.cfg" ,grub.cfg) - ("fstab" , fstab)) + ("fstab" ,fstab) + ("passwd" ,passwd) + ("shadow" ,shadow)) #:copy-inputs? #t #:os hurd-os #:bootcfg-drv grub.cfg -- cgit 1.4.1 From fe1f9646b4533fd4d3ec98bcfaa1b09391396e76 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 5 Apr 2020 17:16:30 +0200 Subject: system: hurd: Add "/bin/sh" symlink. This allows login.c to succeed for root. * gnu/system/hurd.scm (cross-hurd-image): Link /bin/sh to full the full bash. --- gnu/system/hurd.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 3926f11315..65706161cb 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -21,6 +21,7 @@ #:use-module (guix utils) #:use-module (gnu bootloader grub) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages cross-base) #:use-module (gnu packages hurd) #:use-module (gnu system vm) @@ -44,7 +45,7 @@ (directory-union "gnu+hurd" (cons (with-parameters ((%current-system "i686-linux")) gnumach) - (for-hurd hurd coreutils grep sed))))) + (for-hurd hurd bash coreutils grep sed))))) (define grub.cfg (let ((hurd (with-parameters ((%current-target-system "i586-pc-gnu")) @@ -122,7 +123,11 @@ menuentry \"GNU\" { ("/etc/ttys" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) hurd) - "/etc/ttys")))) + "/etc/ttys")) + ("/bin/sh" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + bash) + "/bin/sh")))) (qemu-image #:file-system-type "ext2" #:file-system-options '("-o" "hurd") -- cgit 1.4.1 From 5fbf4f85e1bfe028cc17d6fbcd9e337bf7a9e389 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Apr 2020 14:58:58 +0200 Subject: system: hurd: Create /etc/{hostname,motd,login} and /root. * gnu/system/hurd.scm (cross-hurd-image): Add /etc/{hostname,motd,login} and /root. --- gnu/system/hurd.scm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 65706161cb..75b9dacd68 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -108,17 +108,32 @@ menuentry \"GNU\" { ("/servers/socket/local" -> "1") ("/servers/socket/inet" -> "2") ("/servers/socket/inet6" -> "16") - (file "/etc/resolv.conf" - "nameserver 10.0.2.3\n") (directory "/boot") ("/boot/grub.cfg" -> ,grub.cfg) ;XXX: not strictly needed ("/hurd" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) hurd) "/hurd")) + + ;; TODO: Create those during activation, eventually. + (directory "/root") ("/etc/fstab" -> ,fstab) ("/etc/passwd" -> ,passwd) ("/etc/shadow" -> ,shadow) + (file "/etc/hostname" "guixygnu") + (file "/etc/resolv.conf" + "nameserver 10.0.2.3\n") + + ("/etc/motd" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + hurd) + "/etc/motd")) + ("/etc/login" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + hurd) + "/etc/login")) + + ;; XXX can we instead, harmlessly set _PATH_TTYS (from glibc) in runttys.c? ("/etc/ttys" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) -- cgit 1.4.1 From da987ece8f9a4ecb6d1d40b042da2c829367f059 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Wed, 8 Apr 2020 08:04:52 +0200 Subject: system: hurd: Add root profile. * gnu/system/hurd.scm (%base-packages/hurd): New variable. (cross-hurd-image)[for-hurd]: New function. (cross-hurd-image)[hurd-os]: Use them. (cross-hurd-image)[profile]: Hack'y .profile for root, only setting PATH. --- gnu/system/hurd.scm | 59 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 22 deletions(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 75b9dacd68..7cf7476bd1 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -23,6 +23,8 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages cross-base) + #:use-module (gnu packages file) + #:use-module (gnu packages guile) #:use-module (gnu packages hurd) #:use-module (gnu system vm) #:export (cross-hurd-image)) @@ -34,18 +36,20 @@ ;;; ;;; Code: +(define %base-packages/hurd + (list hurd bash coreutils file findutils grep sed guile-3.0)) + (define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach)) "Return a cross-built GNU/Hurd image." + + (define (for-hurd p) + (with-parameters ((%current-target-system "i586-pc-gnu")) p)) + (define hurd-os - (let-syntax ((for-hurd (syntax-rules () - ((_ things ...) - (list (with-parameters ((%current-target-system - "i586-pc-gnu")) - things) ...))))) - (directory-union "gnu+hurd" - (cons (with-parameters ((%current-system "i686-linux")) - gnumach) - (for-hurd hurd bash coreutils grep sed))))) + (directory-union "gnu+hurd" + (cons (with-parameters ((%current-system "i686-linux")) + gnumach) + (map for-hurd %base-packages/hurd)))) (define grub.cfg (let ((hurd (with-parameters ((%current-target-system "i586-pc-gnu")) @@ -73,9 +77,20 @@ menuentry \"GNU\" { #+mach #+mach #+hurd #+libc #+hurd)))))) + (define profile + (let ((packages (map for-hurd %base-packages/hurd))) + (computed-file + "profile" + #~(call-with-output-file #$output + (lambda (port) + (format port " +PATH=~a/bin:~a/sbin:~a/hurd +" + #+hurd-os #+hurd-os #+hurd-os)))))) + (define fstab (plain-file "fstab" -"# This file was generated from your Guix configuration. Any changes + "# This file was generated from your Guix configuration. Any changes # will be lost upon reboot or reconfiguration. /dev/hd0s1 / ext2 defaults @@ -83,15 +98,13 @@ menuentry \"GNU\" { (define passwd (plain-file "passwd" -"root:x:0:0:root:/root:/bin/sh -" -)) + "root:x:0:0:root:/root:/bin/sh +")) (define shadow (plain-file "shadow" -"root::0:0:0:0::: -" -)) + "root::0:0:0:0::: +")) (define hurd-directives `((directory "/servers") @@ -109,7 +122,7 @@ menuentry \"GNU\" { ("/servers/socket/inet" -> "2") ("/servers/socket/inet6" -> "16") (directory "/boot") - ("/boot/grub.cfg" -> ,grub.cfg) ;XXX: not strictly needed + ("/boot/grub.cfg" -> ,grub.cfg) ;XXX: not strictly needed ("/hurd" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) hurd) @@ -117,6 +130,7 @@ menuentry \"GNU\" { ;; TODO: Create those during activation, eventually. (directory "/root") + ("/root/.profile" -> ,profile) ("/etc/fstab" -> ,fstab) ("/etc/passwd" -> ,passwd) ("/etc/shadow" -> ,shadow) @@ -129,16 +143,16 @@ menuentry \"GNU\" { hurd) "/etc/motd")) ("/etc/login" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - hurd) + "i586-pc-gnu")) + hurd) "/etc/login")) ;; XXX can we instead, harmlessly set _PATH_TTYS (from glibc) in runttys.c? ("/etc/ttys" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - hurd) - "/etc/ttys")) + "i586-pc-gnu")) + hurd) + "/etc/ttys")) ("/bin/sh" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) bash) @@ -151,6 +165,7 @@ menuentry \"GNU\" { ("grub.cfg" ,grub.cfg) ("fstab" ,fstab) ("passwd" ,passwd) + ("profile" ,profile) ("shadow" ,shadow)) #:copy-inputs? #t #:os hurd-os -- cgit 1.4.1 From df0010a9dc18937ba481393f9d153a476dac13c0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 8 Apr 2020 15:35:58 +0200 Subject: gnu: hurd: "/libexec/rc" spawns the console client. * gnu/packages/hurd.scm (hurd-rc-script): Start the console client. --- gnu/packages/hurd.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index f7c0637f40..90e39a279b 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -341,7 +341,12 @@ boot, since this cannot be done from GNU/Linux." (unless (translated? node) (mkdir-p (dirname node)) (apply invoke "settrans" "-c" node command)))) - '#$translators)))) + '#$translators) + + ;; Start the oh-so-fancy console client. + (mkdir-p "/var/run") ;for the PID file + (invoke "console" "--daemonize" "-c" "/dev/vcs" + "-d" "vga" "-d" "pc_kbd" "-d" "generic_speaker")))) ;; FIXME: We want the program to use the cross-compiled Guile when ;; cross-compiling. But why do we need to be explicit here? -- cgit 1.4.1 From c62126940419d2a6c21e16e21a973990fb11e054 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 8 Apr 2020 16:36:08 +0200 Subject: system: hurd: Create a proper profile. * gnu/system/hurd.scm (compile-manifest): New procedure. (cross-hurd-image)[for-hurd, hurd-os]: Remove. [cross-built, cross-built-entry]: New procedures. [system-profile]: New variable. [grub.cfg]: Use 'cross-built'. [profile]: Rename to... [etc-profile]: ... this, and adjust accordingly. [hurd-directives]: Create /run/current-system/profile and /etc/profile. Adjust arguments to 'qemu-image'. --- gnu/system/hurd.scm | 69 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 24 deletions(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 7cf7476bd1..b35a99cdfc 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -18,6 +18,7 @@ (define-module (gnu system hurd) #:use-module (guix gexp) + #:use-module (guix profiles) #:use-module (guix utils) #:use-module (gnu bootloader grub) #:use-module (gnu packages base) @@ -36,24 +37,39 @@ ;;; ;;; Code: +;; XXX: Surely this belongs in (guix profiles), but perhaps we need high-level +;; objects so one can specify hooks, etc.? +(define-gexp-compiler (compile-manifest (manifest + (@@ (guix profiles) )) + system target) + "Lower MANIFEST as a profile." + (profile-derivation manifest + #:system system + #:target target)) + (define %base-packages/hurd (list hurd bash coreutils file findutils grep sed guile-3.0)) (define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach)) "Return a cross-built GNU/Hurd image." - (define (for-hurd p) - (with-parameters ((%current-target-system "i586-pc-gnu")) p)) + (define (cross-built thing) + (with-parameters ((%current-target-system "i586-pc-gnu")) + thing)) + + (define (cross-built-entry entry) + (manifest-entry + (inherit entry) + (item (cross-built (manifest-entry-item entry))) + (dependencies (map cross-built-entry + (manifest-entry-dependencies entry))))) - (define hurd-os - (directory-union "gnu+hurd" - (cons (with-parameters ((%current-system "i686-linux")) - gnumach) - (map for-hurd %base-packages/hurd)))) + (define system-profile + (map-manifest-entries cross-built-entry + (packages->manifest %base-packages/hurd))) (define grub.cfg - (let ((hurd (with-parameters ((%current-target-system "i586-pc-gnu")) - hurd)) + (let ((hurd (cross-built hurd)) (mach (with-parameters ((%current-system "i686-linux")) gnumach)) (libc (cross-libc "i586-pc-gnu"))) @@ -77,17 +93,6 @@ menuentry \"GNU\" { #+mach #+mach #+hurd #+libc #+hurd)))))) - (define profile - (let ((packages (map for-hurd %base-packages/hurd))) - (computed-file - "profile" - #~(call-with-output-file #$output - (lambda (port) - (format port " -PATH=~a/bin:~a/sbin:~a/hurd -" - #+hurd-os #+hurd-os #+hurd-os)))))) - (define fstab (plain-file "fstab" "# This file was generated from your Guix configuration. Any changes @@ -106,6 +111,19 @@ PATH=~a/bin:~a/sbin:~a/hurd "root::0:0:0:0::: ")) + (define etc-profile + (plain-file "profile" + "\ +export PS1='\\u@\\h\\$ ' + +GUIX_PROFILE=\"/run/current-system/profile\" +. \"$GUIX_PROFILE/etc/profile\" + +GUIX_PROFILE=\"$HOME/.guix-profile\" +if [ -f \"$GUIX_PROFILE/etc/profile\" ]; then + . \"$GUIX_PROFILE/etc/profile\" +fi\n")) + (define hurd-directives `((directory "/servers") ,@(map (lambda (server) @@ -130,7 +148,10 @@ PATH=~a/bin:~a/sbin:~a/hurd ;; TODO: Create those during activation, eventually. (directory "/root") - ("/root/.profile" -> ,profile) + (directory "/run") + (directory "/run/current-system") + ("/run/current-system/profile" -> ,system-profile) + ("/etc/profile" -> ,etc-profile) ("/etc/fstab" -> ,fstab) ("/etc/passwd" -> ,passwd) ("/etc/shadow" -> ,shadow) @@ -161,14 +182,14 @@ PATH=~a/bin:~a/sbin:~a/hurd (qemu-image #:file-system-type "ext2" #:file-system-options '("-o" "hurd") #:device-nodes 'hurd - #:inputs `(("system" ,hurd-os) + #:inputs `(("system" ,system-profile) ("grub.cfg" ,grub.cfg) ("fstab" ,fstab) ("passwd" ,passwd) - ("profile" ,profile) + ("etc-profile" ,etc-profile) ("shadow" ,shadow)) #:copy-inputs? #t - #:os hurd-os + #:os system-profile #:bootcfg-drv grub.cfg #:bootloader grub-bootloader #:register-closures? #f -- cgit 1.4.1 From db047a482c150806301075a9b65fce2bf01fe8e8 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Wed, 8 Apr 2020 17:39:30 +0200 Subject: system: hurd: Add net-base and inetutils, and /etc/{services,protocols}. This fixes In procedure getaddrinfo: Servname not supported for ai_socktype * gnu/system/hurd.scm (%base-packages/hurd): Add net-base, inetutils. (cross-hurd-image): Add /etc/{services,protocols} from net-base. --- gnu/system/hurd.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index b35a99cdfc..322ac10db8 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -21,6 +21,7 @@ #:use-module (guix profiles) #:use-module (guix utils) #:use-module (gnu bootloader grub) + #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages cross-base) @@ -48,7 +49,8 @@ #:target target)) (define %base-packages/hurd - (list hurd bash coreutils file findutils grep sed guile-3.0)) + (list hurd bash coreutils file findutils grep sed guile-3.0 + net-base inetutils)) (define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach)) "Return a cross-built GNU/Hurd image." @@ -158,7 +160,14 @@ fi\n")) (file "/etc/hostname" "guixygnu") (file "/etc/resolv.conf" "nameserver 10.0.2.3\n") - + ("/etc/services" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + net-base) + "/etc/services")) + ("/etc/protocols" -> ,(file-append (with-parameters ((%current-target-system + "i586-pc-gnu")) + net-base) + "/etc/protocols")) ("/etc/motd" -> ,(file-append (with-parameters ((%current-target-system "i586-pc-gnu")) hurd) -- cgit 1.4.1 From 5084fd38541a5fc233f3299e10a33c3a38a7173f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 8 Apr 2020 23:10:14 +0200 Subject: system: hurd: Add guile-candy. * gnu/system/hurd.scm (%base-packages/hurd): Add GUILE-COLORIZED and GUILE-READLINE. (cross-hurd-image)[hurd-directives]: Add /root/.guile. --- gnu/system/hurd.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 322ac10db8..2583ff00fa 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -27,6 +27,7 @@ #:use-module (gnu packages cross-base) #:use-module (gnu packages file) #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) #:use-module (gnu system vm) #:export (cross-hurd-image)) @@ -49,7 +50,8 @@ #:target target)) (define %base-packages/hurd - (list hurd bash coreutils file findutils grep sed guile-3.0 + (list hurd bash coreutils file findutils grep sed + guile-3.0 guile-colorized guile-readline net-base inetutils)) (define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach)) @@ -150,6 +152,11 @@ fi\n")) ;; TODO: Create those during activation, eventually. (directory "/root") + (file "/root/.guile" + ,(object->string + '(begin + (use-modules (ice-9 readline) (ice-9 colorized)) + (activate-readline) (activate-colorized)))) (directory "/run") (directory "/run/current-system") ("/run/current-system/profile" -> ,system-profile) -- cgit 1.4.1 From a58f3708b278941b134bb2a5229f127faad709ee Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Tue, 7 Apr 2020 07:57:55 +0200 Subject: gnu: openssl: Support cross-compilation to the Hurd. * gnu/packages/tls.scm (openssl)[arguments]: Add `i586' => hurd-x86 platform setting. --- gnu/packages/tls.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index eea3b12185..2b1deb1000 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -331,6 +331,8 @@ required structures.") (setenv "CROSS_COMPILE" (string-append target "-")) (setenv "CONFIGURE_TARGET_ARCH" (cond + ((string-prefix? "i586" target) + "hurd-x86") ((string-prefix? "i686" target) "linux-x86") ((string-prefix? "x86_64" target) -- cgit 1.4.1 From 6a39cbe72287a00d85b71ff86197c9b3c6c2fd9d Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Tue, 7 Apr 2020 17:48:45 +0200 Subject: gnu: openssh: Build fix for the Hurd. * gnu/packages/patches/openssh-hurd.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/ssh.scm (openssh)[source]: Use it. [inputs]: If hurd-target? is true, omit xauth. --- gnu/local.mk | 1 + gnu/packages/patches/openssh-hurd.patch | 30 ++++++++++++++++++++++++++++++ gnu/packages/ssh.scm | 7 ++++++- 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openssh-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index 120359f0de..8deea48951 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1288,6 +1288,7 @@ dist_patch_DATA = \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ %D%/packages/patches/openocd-nrf52.patch \ + %D%/packages/patches/openssh-hurd.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ diff --git a/gnu/packages/patches/openssh-hurd.patch b/gnu/packages/patches/openssh-hurd.patch new file mode 100644 index 0000000000..1ad09a7ee6 --- /dev/null +++ b/gnu/packages/patches/openssh-hurd.patch @@ -0,0 +1,30 @@ +Author: Jan (janneke) Nieuwenhuizen" +Not upstreamed. + +From 1ddae040d67e9a4ebcc3e1b95af1bff12c0f086b Mon Sep 17 00:00:00 2001 +From: "Jan (janneke) Nieuwenhuizen" +Date: Tue, 7 Apr 2020 17:41:05 +0200 +Subject: [PATCH] Build fix for the Hurd. + +* gss-serv.c (ssh_gssapi_acquire_cred): Use HOST_NAME_MAX instead of +MAXHOSTNAMELEN. +--- + gss-serv.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gss-serv.c b/gss-serv.c +index 1d47870e7..22081c6f1 100644 +--- a/gss-serv.c ++++ b/gss-serv.c +@@ -107,7 +107,7 @@ ssh_gssapi_acquire_cred(Gssctxt *ctx) + gss_create_empty_oid_set(&status, &oidset); + gss_add_oid_set_member(&status, ctx->oid, &oidset); + +- if (gethostname(lname, MAXHOSTNAMELEN)) { ++ if (gethostname(lname, HOST_NAME_MAX)) { + gss_release_oid_set(&status, &oidset); + return (-1); + } +-- +2.26.0 + diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 506ea06bc8..1d1b1c9951 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Manuel Graf ;;; Copyright © 2019 Gábor Boskovits ;;; Copyright © 2019, 2020 Mathieu Othacehe +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ #:use-module (gnu packages groff) #:use-module (gnu packages guile) #:use-module (gnu packages libedit) + #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages m4) @@ -136,6 +138,7 @@ a server that supports the SSH-2 protocol.") (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" "openssh-" version ".tar.gz")) + (patches (search-patches "openssh-hurd.patch")) (sha256 (base32 "0wg6ckzvvklbzznijxkk28fb8dnwyjd0w30ra0afwv6gwr8m34j3")))) @@ -147,7 +150,9 @@ a server that supports the SSH-2 protocol.") ("pam" ,linux-pam) ("mit-krb5" ,mit-krb5) ("zlib" ,zlib) - ("xauth" ,xauth))) ; for 'ssh -X' and 'ssh -Y' + ,@(if (hurd-target?) + '() + `(("xauth" ,xauth))))) ; for 'ssh -X' and 'ssh -Y' (arguments `(#:test-target "tests" ;; Otherwise, the test scripts try to use a nonexistent directory and -- cgit 1.4.1 From 541122957c68a15f8657775e62448b1cfafd7cb8 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Tue, 7 Apr 2020 20:49:13 +0200 Subject: gnu: guile-json: Cross-build fix. * gnu/packages/patches/guile-json-cross.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/guile.scm (guile-json-3)[source]: Use it. [arguments]: Remove configure to trigger bootstrap phase. --- gnu/local.mk | 1 + gnu/packages/guile.scm | 13 +++++-- gnu/packages/patches/guile-json-cross.patch | 54 +++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/guile-json-cross.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8deea48951..8705a96a36 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1020,6 +1020,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ + %D%/packages/patches/guile-json-cross.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-relocatable.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index d69dee51c9..8ccbc22f26 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -526,12 +526,21 @@ specification. These are the main features: (method url-fetch) (uri (string-append "mirror://savannah/guile-json/guile-json-" version ".tar.gz")) + (patches (search-patches "guile-json-cross.patch")) (sha256 (base32 "14m6b6g2maw0mkvfm4x63rqb54vgbpn1gcqs715ijw4bikfzlqfz")))) - (native-inputs `(("pkg-config" ,pkg-config) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) ("guile" ,guile-3.0))) - (inputs `(("guile" ,guile-3.0))))) + (inputs `(("guile" ,guile-3.0))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-configure + (lambda _ + (delete-file "configure") + #t))))))) (define-public guile2.2-json (package-for-guile-2.2 guile-json-3)) diff --git a/gnu/packages/patches/guile-json-cross.patch b/gnu/packages/patches/guile-json-cross.patch new file mode 100644 index 0000000000..b9081f3df2 --- /dev/null +++ b/gnu/packages/patches/guile-json-cross.patch @@ -0,0 +1,54 @@ +Patch accepted upstream. + +From 9bbe0d78391c6dbe0316aa56a105d1966fddc9f0 Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Wed, 4 Mar 2020 11:17:02 +0100 +Subject: [PATCH] build: Support cross building. + +* configure.ac: Add AC_CANONICAL_HOST to get host. +* Makefile.am (.scm.go): Set it as target. +* json/Makefile.am (.scm.go): Likewise. +--- + Makefile.am | 2 +- + configure.ac | 1 + + json/Makefile.am | 2 +- + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 996f18b..1823a3f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -42,7 +42,7 @@ nobase_nodist_obj_DATA = $(GOBJECTS) + GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat + SUFFIXES = .scm .go + .scm.go: +- $(top_builddir)/env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<" ++ $(top_builddir)/env $(GUILD) compile --target="$(host)" $(GUILE_WARNINGS) -o "$@" "$<" + + SOURCES = json.scm + +diff --git a/configure.ac b/configure.ac +index fbc1aff..937dcf7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,6 +25,7 @@ AC_CONFIG_SRCDIR(json.scm) + AC_CONFIG_AUX_DIR([build-aux]) + AM_INIT_AUTOMAKE([color-tests -Wall -Wno-portability]) + AM_SILENT_RULES([yes]) ++AC_CANONICAL_HOST + + dnl We require pkg.m4 (from pkg-config) and guile.m4. + dnl Make sure they are available. +diff --git a/json/Makefile.am b/json/Makefile.am +index adf5972..103b867 100644 +--- a/json/Makefile.am ++++ b/json/Makefile.am +@@ -36,4 +36,4 @@ CLEANFILES = $(GOBJECTS) + GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat + SUFFIXES = .scm .go + .scm.go: +- $(top_builddir)/env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<" ++ $(top_builddir)/env $(GUILD) compile --target="$(host)" $(GUILE_WARNINGS) -o "$@" "$<" +-- +2.26.0 + -- cgit 1.4.1 From 7eee37cd56595628ebf3829f1b8b6d526204818c Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 10 Apr 2020 07:34:03 +0200 Subject: gnu: gnutls-3.6.13: Cross-build fix. * gnu/packages/patches/gnutls-cross.patch: New file. * gnu/packages/tls.scm (gnutls-3.6.13)[source]: Use it. [native-inputs]: If cross-compiling, add native guile-3.0. This actually cross compiles .go modules. --- gnu/local.mk | 1 + gnu/packages/patches/gnutls-cross.patch | 82 +++++++++++++++++++++++++++++++++ gnu/packages/tls.scm | 10 +++- 3 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gnutls-cross.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8705a96a36..0d49838398 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1003,6 +1003,7 @@ dist_patch_DATA = \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ %D%/packages/patches/gnupg-default-pinentry.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ + %D%/packages/patches/gnutls-cross.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ diff --git a/gnu/packages/patches/gnutls-cross.patch b/gnu/packages/patches/gnutls-cross.patch new file mode 100644 index 0000000000..82d08da24e --- /dev/null +++ b/gnu/packages/patches/gnutls-cross.patch @@ -0,0 +1,82 @@ +Not sent upstream. + +From e23de62e28f64599148ff06e439fac116a391299 Mon Sep 17 00:00:00 2001 +From: "Jan (janneke) Nieuwenhuizen" +Date: Fri, 10 Apr 2020 07:24:48 +0200 +Subject: [PATCH] guile: Cross build fix. + +To cross-build, both the host guile and the native guile-for-build +must be available. If the native guile is not available, no snarfing +is done and the guile cross build is skipped. + +During the cross-build gnutls.scm does not load when compliling +extra.scm, becase of missing definitions from guile-gnutls-v-2. + +* guile/modules/gnutls.in (protocol/ssl-3 protocol/tls-1.0, +protocol/tls-1.1, credentials/anonymous, cipher/rijndael-256-cbc, +cipher/rijndael-128-cbc, cipher/rijndael-cbc, cipher/arcfour-128, +certificate-verify/allow-any-x509-v1-ca-certificate, +certificate-verify/allow-x509-v1-ca-certificate): Define to #f +initially. When "GNUTLS_GUILE_CROSS_COMPILING" not set, set! to value +from "guile-gnutls-v-2" load-extension C module. +--- + guile/modules/gnutls.in | 40 +++++++++++++++++++++++++++------------- + 1 file changed, 27 insertions(+), 13 deletions(-) + +diff --git a/guile/modules/gnutls.in b/guile/modules/gnutls.in +index 6461c404a..954e315de 100644 +--- a/guile/modules/gnutls.in ++++ b/guile/modules/gnutls.in +@@ -564,22 +564,36 @@ This defines 'variable' as an alias for 'alias', and emits a warning when + (identifier? #'id) + #'alias)))))))))) + +- + ;; Renaming. +-(define protocol/ssl-3 protocol/ssl3) +-(define protocol/tls-1.0 protocol/tls1-0) +-(define protocol/tls-1.1 protocol/tls1-1) ++(define protocol/ssl-3 #f) ++(define protocol/tls-1.0 #f) ++(define protocol/tls-1.1 #f) + + ;; Aliases. +-(define credentials/anonymous credentials/anon) +-(define cipher/rijndael-256-cbc cipher/aes-256-cbc) +-(define cipher/rijndael-128-cbc cipher/aes-128-cbc) +-(define cipher/rijndael-cbc cipher/aes-128-cbc) +-(define cipher/arcfour-128 cipher/arcfour) +-(define certificate-verify/allow-any-x509-v1-ca-certificate +- certificate-verify/allow-any-x509-v1-ca-crt) +-(define certificate-verify/allow-x509-v1-ca-certificate +- certificate-verify/allow-x509-v1-ca-crt) ++(define credentials/anonymous #f) ++(define cipher/rijndael-256-cbc #f) ++(define cipher/rijndael-128-cbc #f) ++(define cipher/rijndael-cbc #f) ++(define cipher/arcfour-128 #f) ++(define certificate-verify/allow-any-x509-v1-ca-certificate #f) ++(define certificate-verify/allow-x509-v1-ca-certificate #f) ++ ++(unless (getenv "GNUTLS_GUILE_CROSS_COMPILING") ++ ;; Renaming. ++ (set! protocol/ssl-3 protocol/ssl3) ++ (set! protocol/tls-1.0 protocol/tls1-0) ++ (set! protocol/tls-1.1 protocol/tls1-1) ++ ++ ;; Aliases. ++ (set! credentials/anonymous credentials/anon) ++ (set! cipher/rijndael-256-cbc cipher/aes-256-cbc) ++ (set! cipher/rijndael-128-cbc cipher/aes-128-cbc) ++ (set! cipher/rijndael-cbc cipher/aes-128-cbc) ++ (set! cipher/arcfour-128 cipher/arcfour) ++ (set! certificate-verify/allow-any-x509-v1-ca-certificate ++ certificate-verify/allow-any-x509-v1-ca-crt) ++ (set! certificate-verify/allow-x509-v1-ca-certificate ++ certificate-verify/allow-x509-v1-ca-crt)) + + ;; Deprecated OpenPGP bindings. + (define-deprecated certificate-type/openpgp) +-- +2.26.0 + diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 2b1deb1000..27d38ed258 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -260,10 +260,16 @@ required structures.") (uri (string-append "mirror://gnupg/gnutls/v" (version-major+minor version) "/gnutls-3.6.13.tar.xz")) - (patches (search-patches "gnutls-skip-trust-store-test.patch")) + (patches (search-patches "gnutls-skip-trust-store-test.patch" + "gnutls-cross.patch")) (sha256 (base32 - "0f1gnm0756qms5cpx6yn6xb8d3imc2gkqmygf12n9x6r8zs1s11j")))))) + "0f1gnm0756qms5cpx6yn6xb8d3imc2gkqmygf12n9x6r8zs1s11j")))) + (native-inputs + `(,@(if (%current-target-system) ;for cross-build + `(("guile" ,guile-3.0)) ;to create .go files + '()) + ,@(package-native-inputs gnutls))))) (define-public gnutls/guile-2.0 ;; GnuTLS for Guile 2.0. -- cgit 1.4.1 From 2d1f79229cb28505c3aab6dc0d6d7bab864bd406 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Apr 2020 17:56:06 +0200 Subject: gnu: pcmanfm-qt: Remove obsolete workaround. * gnu/packages/lxqt.scm (pcmanfm-qt)[inputs]: Remove GLIB:BIN. [arguments]: Remove phase 'wrap-glib'. --- gnu/packages/lxqt.scm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index a440491633..a5a15e583b 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -994,8 +994,7 @@ components to build desktop file managers which belongs to LXDE.") (base32 "0x3c25inlxll965xszx37mnl5gp3smm2h7x04f67z0qlh3vsbrjq")))) (build-system cmake-build-system) (inputs - `(("glib:bin" ,glib "bin") - ("libfm-qt" ,libfm-qt) + `(("libfm-qt" ,libfm-qt) ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras))) (native-inputs @@ -1011,17 +1010,7 @@ components to build desktop file managers which belongs to LXDE.") (substitute* '("autostart/CMakeLists.txt") (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") "DESTINATION \"etc/xdg")) - #t)) - (add-after 'install 'wrap-glib - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (glib (assoc-ref inputs "glib:bin")) - (gio-exe-path (string-append glib "/bin/gio-launch-desktop"))) - (if (file-exists? gio-exe-path) - (wrap-program (string-append out "/bin/pcmanfm-qt") - `("GIO_LAUNCH_DESKTOP" = (,gio-exe-path))) - (error "could not find gio-launch-desktop")) - #t)))))) + #t))))) (home-page "https://lxqt.org/") (synopsis "File manager and desktop icon manager") (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of -- cgit 1.4.1 From 8035e63cd65d4f101745407bbaf7895bfc00684e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Apr 2020 18:46:01 +0200 Subject: gnu: moarvm: Propagate libffi. * gnu/packages/perl6.scm (moarvm)[inputs]: Move LIBFFI ... [propagated-inputs]: ... here. --- gnu/packages/perl6.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index ef46c00385..04e37a3b85 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -74,10 +74,9 @@ ;; These should be inputs but moar.h can't find them when building rakudo (propagated-inputs `(("libatomic-ops" ,libatomic-ops) + ("libffi" ,libffi) ("libtommath" ,libtommath-1.0) ("libuv" ,libuv))) - (inputs - `(("libffi" ,libffi))) (native-inputs `(("pkg-config" ,pkg-config))) (synopsis "VM for NQP And Rakudo Perl 6") -- cgit 1.4.1 From 94cbae1b8901f9fdfdfb89d0880619727654ac65 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Apr 2020 19:39:47 +0200 Subject: gnu: perl-ev: Update to 4.31. * gnu/packages/libevent.scm (perl-ev): Update to 4.31. --- gnu/packages/libevent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 608264f2f4..dab574a155 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -170,14 +170,14 @@ not rely on XS.") (define-public perl-ev (package (name "perl-ev") - (version "4.25") + (version "4.31") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-" version ".tar.gz")) (sha256 (base32 - "0slw68zxrkfribf6lhggdhpay3mdng0nqxlglkwrk19myblchr9f")) + "1jxlhnvrqim39977zwavjrcbdf9bifb46pwaxvm0s8klq121kjwb")) (modules '((guix build utils))) (snippet '(begin -- cgit 1.4.1 From 13d25c546010ded6a275f167497386e6e253b54e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Apr 2020 19:45:02 +0200 Subject: gnu: python2-backports-shutil-get-terminal-size: Fix test failure. * gnu/packages/python-xyz.scm (python2-backports-shutil-get-terminal-size)[arguments]: In the check phase, set PYTHONPATH before running the tests. --- gnu/packages/python-xyz.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ba00670459..e5f7808baf 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7196,6 +7196,8 @@ Python 2 and Python 3.") (modify-phases %standard-phases (replace 'check (lambda _ + (setenv "PYTHONPATH" (string-append "./build/lib:" + (getenv "PYTHONPATH"))) (invoke "py.test" "-v")))))) (native-inputs `(("python2-pytest" ,python2-pytest))) -- cgit 1.4.1 From 9d89818a359dd0657e4eb7649b29ad4197b8db39 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Apr 2020 20:00:29 +0200 Subject: gnu: autogen: Disable parallel tests. * gnu/packages/autogen.scm (autogen)[arguments]: Add #:parallel-tests?. --- gnu/packages/autogen.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/autogen.scm b/gnu/packages/autogen.scm index 034db2ee96..968337ad8d 100644 --- a/gnu/packages/autogen.scm +++ b/gnu/packages/autogen.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014 Eric Bavier ;;; Copyright © 2015, 2016 Efraim Flashner ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,6 +52,10 @@ ;; “Something went wrong bootstrapping makefile fragments for ;; automatic dependency tracking. Try re-running configure with […]” (list "--disable-dependency-tracking") + + ;; XXX: Parallel tests may cause an indefinite hang with GNU Make 4.3. + #:parallel-tests? #f + #:phases (modify-phases %standard-phases (add-before 'patch-source-shebangs 'patch-test-scripts -- cgit 1.4.1 From 87bb750a7e8dd1f6cd21033b0cd47d77adfd83fe Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Apr 2020 20:30:31 +0200 Subject: gnu: icu4c: Remove redundant icu4c-66.1 variable. * gnu/packages/icu4c.scm (icu4c-66.1): Remove variable. * gnu/packages/chromium.scm (ungoogled-chromium)[inputs]: Change from ICU4C-66.1 to ICU4C. --- gnu/packages/chromium.scm | 2 +- gnu/packages/icu4c.scm | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 3625eb7964..d92d463e03 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -786,7 +786,7 @@ from forcing GEXP-PROMISE." ("glib" ,glib) ("gtk+" ,gtk+) ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c-66.1) + ("icu4c" ,icu4c) ("jsoncpp" ,jsoncpp) ("lcms" ,lcms) ("libevent" ,libevent) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index d8a898263a..cf76c6fe20 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -114,24 +114,6 @@ C/C++ part.") #t))))))) (native-inputs '()))) -(define-public icu4c-66.1 - (package - (inherit icu4c) - (version "66.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/unicode-org/icu/releases/download/release-" - (string-map (lambda (x) (if (char=? x #\.) #\- x)) version) - "/icu4c-" - (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) - "-src.tgz")) - (patch-flags '("-p2")) - (patches (search-patches "icu4c-CVE-2020-10531.patch")) - (sha256 - (base32 - "0bharwzc9nzkbrcf405z2nb3h7q0711z450arz0mjmdrk8hg58sj")))))) - (define-public java-icu4j (package (name "java-icu4j") -- cgit 1.4.1 From 83e6b0640acf933ef54a674dbbadf71f51e8cc14 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Apr 2020 20:35:27 +0200 Subject: gnu: qgis: Do not use the deprecated sqlite-with-column-metadata. * gnu/packages/geo.scm (qgis)[inputs]: Change from SQLITE-WITH-COLUMN-METADATA to SQLITE. --- gnu/packages/geo.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index f11eaeb7b2..a8f5153b32 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1985,7 +1985,7 @@ growing set of geoscientific methods.") ("qtwebkit" ,qtwebkit) ("qwt" ,qwt) ("saga" ,saga) - ("sqlite" ,sqlite-with-column-metadata))) + ("sqlite" ,sqlite))) (native-inputs `(("bison" ,bison) ("flex" ,flex) -- cgit 1.4.1 From f7cbf403efa5368b5585f763262b152577339919 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Apr 2020 22:29:35 +0200 Subject: gnu: dune-istl: Fix build failure. * gnu/packages/maths.scm (dune-istl)[arguments]: Add phase 'hide-gfortran'. --- gnu/packages/maths.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e3d3216eab..08e0e7dd7a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4863,6 +4863,18 @@ This package contains the basic DUNE grid classes.") (arguments `(#:phases (modify-phases %standard-phases + ;; XXX: istl/test/matrixtest.cc includes and fails to find + ;; the stdlib types when the gfortran header is used. Remove gfortran + ;; from CPLUS_INCLUDE_PATH as a workaround. + (add-after 'set-paths 'hide-gfortran + (lambda* (#:key inputs #:allow-other-keys) + (let ((gfortran (assoc-ref inputs "gfortran"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gfortran "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) + ":")) + #t))) (add-after 'build 'build-tests (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "build_tests" make-flags)))))) -- cgit 1.4.1 From 109bf6a0e7111a75a54924be8a58c0fbc9a55c7d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 14 Apr 2020 22:30:05 +0200 Subject: gnu: dune-localfunctions: Fix build failure. * gnu/packages/maths.scm (dune-localfunctions)[arguments]: Add phase 'hide-gfortran'. --- gnu/packages/maths.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 08e0e7dd7a..b814105a36 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4921,6 +4921,18 @@ aggregation-based algebraic multigrid.") (arguments `(#:phases (modify-phases %standard-phases + ;; XXX: localfunctions/test/lagrangeshapefunctiontest.cc includes + ;; and fails to find the stdlib types when the gfortran header is used. + ;; Hide gfortran from CPLUS_INCLUDE_PATH to ensure we get the GCC header. + (add-after 'set-paths 'hide-gfortran + (lambda* (#:key inputs #:allow-other-keys) + (let ((gfortran (assoc-ref inputs "gfortran"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gfortran "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) + ":")) + #t))) (add-after 'build 'build-tests (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "build_tests" make-flags)))))) -- cgit 1.4.1 From a4f1a7e2db22cd028fb514846c2791928b8734d3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Apr 2020 02:03:26 -0400 Subject: gnu: linphoneqt: Fix reproducibility issue and improve description. * gnu/packages/linphone.scm (linphoneqt)[phases]: Rename the 'patch phase to 'set-version-string, and use the version variable of the package in the replacement. {set-qt-rcc-source-date-override, fix-cmake-error}: Add phases. [synopsis]: Explicit what the package is. [description]: Mention more useful keywords and features. --- gnu/packages/linphone.scm | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 6278dcaba7..e18d04bd06 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -488,13 +488,27 @@ and video calls or instant messaging capabilities to an application.") (arguments `(#:tests? #f ; No test target #:phases - ;; For replacing undeclared variable. (modify-phases %standard-phases - (add-after 'unpack 'patch + (add-after 'set-paths 'set-qt-rcc-source-date-override + (lambda _ + ;; This fixes a reproducibility problem where the Qt Resource + ;; Compiler (RCC) includes timestamp of the its source files + ;; (see: https://reproducible-builds.org/docs/ + ;; deterministic-build-systems/#cmake-notes) + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t)) + (add-after 'unpack 'fix-cmake-error + (lambda _ + ;; This is fixed in commit efed2fd8 of the master branch. + (substitute* "CMakeLists.txt" + (("js)\\$\"") + "js$\"")) + #t)) + (add-after 'unpack 'set-version-string (lambda _ (substitute* "src/app/AppController.cpp" (("LINPHONE_QT_GIT_VERSION") - "\"4.1.1\"")) + (format #f "~s" ,version))) #t))))) (native-inputs `(("qttools" ,qttools))) @@ -509,10 +523,24 @@ and video calls or instant messaging capabilities to an application.") ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtquickcontrols2" ,qtquickcontrols2) ("qtsvg" ,qtsvg))) - (synopsis "Belledonne Communications Softphone Application") - (description "Linphone is a softphone for voice and video over IP calling -and instant messaging. It is fully SIP-based, for all calling, presence -and IM features.") + (synopsis "Desktop client for the Linphone SIP softphone") + (description "Linphone is a SIP softphone for voice and video over IP calling +(VoIP) and instant messaging. Amongst its features are: +@itemize +@item High Definition (HD) audio and video calls +@item Multiple call management (pause and resume) +@item Call transfer +@item Audio conferencing (merge calls into a conference call) +@item Call recording and replay (audio only) +@item Instant Messaging with message delivery status (IMDN) +@item Picture and file sharing +@item Echo cancellation +@item Secure user authentication using TLS client certificates +@item SRTP, zRTP and SRTP-DTLS voice and video encryption +@item Telephone tone (DTMF) support using SIP INFO or RFC 4733 +@item Audio codecs: opus, speex, g711, g729, gsm, iLBC, g722, SILK, etc. +@item Video codecs: VP8, H.264 and H.265 with resolutions up to 1080P, MPEG4 +@end itemize") (home-page "https://gitlab.linphone.org/BC/public/linphone-desktop") (license license:gpl2+))) -- cgit 1.4.1 From 1988ef21f82430d4b380dd4887160a902d8796fd Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Wed, 15 Apr 2020 23:57:02 -0400 Subject: gnu: linphone: Reformat code to respect coding style conventions. * gnu/packages/linphone.scm (bcunit, belr, belcard, bcmatroska2, bzrtp) (belle-sip, mediastreamer2, msopenh264, mssilk, msamr): Adjust code formatting to meet the 80 characters line width convention, along with other minor cosmetic edits. Signed-off-by: Maxim Cournoyer --- gnu/packages/linphone.scm | 136 +++++++++++++++++++++------------------------- 1 file changed, 63 insertions(+), 73 deletions(-) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index e18d04bd06..779ddf8cb7 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -69,12 +69,11 @@ (arguments '(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=NO"))) ; Not required + (list "-DENABLE_STATIC=NO"))) ; Not required (synopsis "Belledonne Communications Unit Testing Framework") - (description "BCUnit is a fork of the defunct project CUnit, -with several fixes and patches applied. It is an unit testing -framework for writing, administering, and running unit tests in C.") + (description "BCUnit is a fork of the defunct project CUnit, with several +fixes and patches applied. It is an unit testing framework for writing, +administering, and running unit tests in C.") (home-page "https://gitlab.linphone.org/BC/public/bcunit") (license license:lgpl2.0+))) @@ -94,8 +93,7 @@ framework for writing, administering, and running unit tests in C.") (arguments '(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=OFF"))) ; Not required + (list "-DENABLE_STATIC=OFF"))) ; Not required (inputs `(("bcunit" ,bcunit) ("mbedtls" ,mbedtls-apache))) @@ -121,14 +119,14 @@ Communications software like belle-sip, mediastreamer2 and linphone.") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=OFF"))) ; Not required + (list "-DENABLE_STATIC=OFF"))) ; Not required (inputs `(("bctoolbox" ,bctoolbox))) (synopsis "Belledonne Communications Language Recognition Library") - (description "Belr is Belledonne Communications' language recognition library, -written in C++11. It parses text inputs formatted according to a language -defined by an ABNF grammar, such as the protocols standardized at IETF.") + (description "Belr is Belledonne Communications' language recognition +library, written in C++11. It parses text inputs formatted according to a +language defined by an ABNF grammar, such as the protocols standardized at +IETF.") (home-page "https://gitlab.linphone.org/BC/public/belr") (license license:gpl3+))) @@ -148,13 +146,13 @@ defined by an ABNF grammar, such as the protocols standardized at IETF.") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=OFF"))) ; Not required + (list "-DENABLE_STATIC=OFF"))) ; Not required (inputs `(("bctoolbox" ,bctoolbox) ("belr" ,belr))) (synopsis "Belledonne Communications VCard Library") - (description "Belcard is a C++ library to manipulate VCard standard format.") + (description "Belcard is a C++ library to manipulate VCard standard +format.") (home-page "https://gitlab.linphone.org/BC/public/belcard") (license license:gpl3+))) @@ -177,16 +175,16 @@ defined by an ABNF grammar, such as the protocols standardized at IETF.") (list "-DENABLE_STATIC=NO"))) ; Not required (synopsis "Belledonne Communications Media Container") - (description "BcMatroska is a free and open standard multi-media -container format. It can hold an unlimited number of video, audio, -picture, or subtitle tracks in one file. ") + (description "BcMatroska is a free and open standard multi-media container +format. It can hold an unlimited number of video, audio, picture, or subtitle +tracks in one file. ") (home-page "https://gitlab.linphone.org/BC/public/bcmatroska2") (license (list - ;; That license applies for Core C and LibEBML2. + ;; For Core C and LibEBML2. ;; https://www.matroska.org/node/47 license:bsd-4 - ;; That license applies for LibMatroska2. + ;; For LibMatroska2. ;; https://www.matroska.org/node/47 license:lgpl2.1+)))) @@ -206,8 +204,7 @@ picture, or subtitle tracks in one file. ") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=NO"))) ; Not required + (list "-DENABLE_STATIC=NO"))) ; Not required (synopsis "Belledonne Communications G729 Codec") (description "BcG729 is an implementation of both encoder and decoder of the ITU G729 speech codec. The library written in C 99 is fully portable and @@ -233,8 +230,7 @@ such as conferencing.") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=NO"))) ; Not required + (list "-DENABLE_STATIC=NO"))) ; Not required (native-inputs `(("dot" ,graphviz) ("doxygen" ,doxygen))) @@ -262,16 +258,15 @@ implements the RFC 3550 standard.") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=NO"))) + (list "-DENABLE_STATIC=NO"))) ; Not required (inputs `(("bctoolbox" ,bctoolbox) ("sqlite3" ,sqlite) ("xml2" ,libxml2))) (synopsis "Belledonne Communications ZRTP Library") - (description "BZRTP is an implementation of ZRTP keys exchange -protocol, written in C. It is fully portable and can be executed on many -platforms including both ARM and x86.") + (description "BZRTP is an implementation of ZRTP keys exchange protocol, +written in C. It is fully portable and can be executed on many platforms +including both ARM and x86.") (home-page "https://gitlab.linphone.org/BC/public/bzrtp") (license license:gpl2+))) @@ -291,16 +286,15 @@ platforms including both ARM and x86.") (arguments `(#:tests? #f ; Requires network access #:configure-flags - (list - "-DENABLE_STATIC=NO") + (list "-DENABLE_STATIC=NO") ; Not required #:phases (modify-phases %standard-phases (add-after 'unpack 'patch (lambda _ (substitute* "src/CMakeLists.txt" - ;; ANTLR would use multithreaded DFA generation - ;; otherwise--which would not be reproducible. - (("-Xmultithreaded ") "")) + ;; ANTLR would use multithreaded DFA generation otherwise, + ;; which would not be reproducible. + (("-Xmultithreaded ") "")) #t))))) (inputs `(("antlr3" ,antlr3-3.3) @@ -333,12 +327,11 @@ API. It also comprises a simple HTTP/HTTPS client implementation.") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=NO" ; Not required - "-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err - "-DENABLE_BV16=NO" ; Not available - "-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"" - "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"") + (list "-DENABLE_STATIC=NO" ; Not required + "-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err + "-DENABLE_BV16=NO" ; Not available + "-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"" + "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"") #:phases (modify-phases %standard-phases (add-after 'install 'separate-outputs @@ -395,13 +388,12 @@ API. It also comprises a simple HTTP/HTTPS client implementation.") ("vpx" ,libvpx) ("x11" ,libx11) ("xv" ,libxv) - ("zrtp", bzrtp))) + ("zrtp" ,bzrtp))) (synopsis "Belledonne Communications Streaming Engine") - (description "Mediastreamer2 is a powerful and lightweight -streaming engine for telephony applications. This media processing -and streaming toolkit is responsible for receiving and sending all -multimedia streams in Linphone, including media capture, encoding and -decoding, and rendering.") + (description "Mediastreamer2 is a powerful and lightweight streaming engine +for telephony applications. This media processing and streaming toolkit is +responsible for receiving and sending all multimedia streams in Linphone, +including media capture, encoding and decoding, and rendering.") (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2") (license license:gpl2+))) @@ -421,16 +413,15 @@ decoding, and rendering.") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR=" - (string-append (assoc-ref %build-inputs "gtk2") - "/lib/gtk-2.0/include")) - (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR=" - (string-append (assoc-ref %build-inputs "glib") - "/lib/glib-2.0/include")) - "-DENABLE_STATIC=NO" ; Not required - "-DENABLE_STRICT=NO" - "-DENABLE_GTK_UI=YES") ; for legacy UI + (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR=" + (string-append (assoc-ref %build-inputs "gtk2") + "/lib/gtk-2.0/include")) + (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR=" + (string-append (assoc-ref %build-inputs "glib") + "/lib/glib-2.0/include")) + "-DENABLE_STATIC=NO" ; Not required + "-DENABLE_STRICT=NO" + "-DENABLE_GTK_UI=YES") ; for legacy UI #:phases (modify-phases %standard-phases (add-after 'unpack 'patch @@ -492,9 +483,9 @@ and video calls or instant messaging capabilities to an application.") (add-after 'set-paths 'set-qt-rcc-source-date-override (lambda _ ;; This fixes a reproducibility problem where the Qt Resource - ;; Compiler (RCC) includes timestamp of the its source files + ;; Compiler (RCC) includes timestamp of its source files ;; (see: https://reproducible-builds.org/docs/ - ;; deterministic-build-systems/#cmake-notes) + ;; deterministic-build-systems/#cmake-notes). (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") #t)) (add-after 'unpack 'fix-cmake-error @@ -562,17 +553,18 @@ and video calls or instant messaging capabilities to an application.") (origin (method url-fetch) (uri - (string-append "https://gitlab.linphone.org/BC/public/msopenh264/commit/" - "493d147d28c9a0f788ba4e50b47a1ce7b18bf326.diff")) + (string-append "https://gitlab.linphone.org/BC/public/msopenh264/" + "commit/493d147d28c9a0f788ba4e50b47a1ce7b18bf326" + ".diff")) (file-name "msopenh264-openh264.patch") (sha256 - (base32 "0mmd7nz5n9ian4rcwn200nldmy5j0dpdrna7r32rqnaw82bx3kdb"))))))) + (base32 + "0mmd7nz5n9ian4rcwn200nldmy5j0dpdrna7r32rqnaw82bx3kdb"))))))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=NO"))) ; Not required + (list "-DENABLE_STATIC=NO"))) ; Not required (inputs `(("mediastreamer2" ,mediastreamer2) ("openh264" ,openh264) @@ -599,14 +591,13 @@ mediastreamer2 based on the openh264 library.") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=NO"))) ; Not required + (list "-DENABLE_STATIC=NO"))) ; Not required (inputs `(("mediastreamer2" ,mediastreamer2) ("ortp" ,ortp))) (synopsis "Media Streamer SILK Codec") - (description "MSSILK is a plugin of MediaStreamer, adding support for -AMR codec. It is based on the Skype's SILK implementation.") + (description "MSSILK is a plugin of MediaStreamer, adding support for AMR +codec. It is based on the Skype's SILK implementation.") (home-page "https://gitlab.linphone.org/BC/public/mssilk") (license license:gpl2+))) @@ -627,7 +618,7 @@ AMR codec. It is based on the Skype's SILK implementation.") `(#:tests? #f ; No test target #:configure-flags (list - "-DENABLE_STATIC=NO"))) + "-DENABLE_STATIC=NO"))) ; Not required (inputs `(("bctoolbox" ,bctoolbox) ("mediastreamer2" ,mediastreamer2) @@ -654,16 +645,15 @@ WebRTC codec. It includes features from WebRTC, such as, iSAC and AECM.") (arguments `(#:tests? #f ; No test target #:configure-flags - (list - "-DENABLE_STATIC=NO" ; Not required - "-DENABLE_WIDEBAND=YES"))) + (list "-DENABLE_STATIC=NO" ; Not required + "-DENABLE_WIDEBAND=YES"))) (inputs `(("mediastreamer2" ,mediastreamer2) ("opencoreamr" ,opencore-amr) ("ortp" ,ortp) ("voamrwbenc" ,vo-amrwbenc))) (synopsis "Media Streamer AMR Codec") - (description "MSAMR is a plugin of MediaStreamer, adding support for -AMR codec. It is based on the opencore-amr implementation.") + (description "MSAMR is a plugin of MediaStreamer, adding support for AMR +codec. It is based on the opencore-amr implementation.") (home-page "https://gitlab.linphone.org/BC/public/msamr") (license license:gpl3+))) -- cgit 1.4.1 From cfd7fc6dd93d47857f450ec4cd49cf2f82b9fae1 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 17 Apr 2020 19:27:07 +0200 Subject: news: Add entry for the further reduced (aka Scheme-only) bootstrap. * etc/news.scm: Add entry for the further reduced (aka Scheme-only) bootstrap. --- etc/news.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 61fc6b6255..b498ce139d 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -2,6 +2,7 @@ ;; ;; Copyright © 2019, 2020 Ludovic Courtès ;; Copyright © 2020 Mathieu Othacehe +;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;; ;; Copying and distribution of this file, with or without modification, are ;; permitted in any medium without royalty provided the copyright notice and @@ -10,6 +11,15 @@ (channel-news (version 0) + (entry (commit "2ca7af43fe17d9acf082dce85d137a27a8ac4887") + (title (en "Further reduced binary seed bootstrap")) + (body + (en "The package graph on x86_64 and i686 is now rooted in a further +@dfn{reduced set of binary seeds}. The initial set of binaries from which +packages are built now weighs in at approximately 60 MiB, a quarter of what it +used to be. Run @code{info \"(guix) Bootstrapping\"} to learn more, or watch +the talk at @uref{https://fosdem.org/2020/schedule/event/gnumes/}."))) + (entry (commit "0468455e7d279c89ea3ad1b51935efb2b785ec47") (title (en "Rottlog service added to @code{%base-services}") (de "Rottlog-Dienst ist nun Teil der @code{%base-services}")) -- cgit 1.4.1 From 45fd28f76405df30070f161fe79365363d7103b3 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 16 Apr 2020 10:26:11 -0400 Subject: gnu: linphoneqt: Fix crashes. The application was crashing when clicking on the Preferences menu or the conference icon. * gnu/packages/patches/linphoneqt-tabbutton.patch: Add file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/linphone.scm (linphoneqt)[source]: Use it. [inputs]: Add qtquickcontrols. Signed-off-by: Maxim Cournoyer --- gnu/local.mk | 1 + gnu/packages/linphone.scm | 4 +- gnu/packages/patches/linphoneqt-tabbutton.patch | 96 +++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/linphoneqt-tabbutton.patch diff --git a/gnu/local.mk b/gnu/local.mk index b11876d14d..5bfbaaa0a2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1188,6 +1188,7 @@ dist_patch_DATA = \ %D%/packages/patches/lierolibre-remove-arch-warning.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \ %D%/packages/patches/linkchecker-tests-require-network.patch \ + %D%/packages/patches/linphoneqt-tabbutton.patch \ %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/lirc-localstatedir.patch \ diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 779ddf8cb7..4f142312cc 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -474,7 +474,8 @@ and video calls or instant messaging capabilities to an application.") (string-append "https://www.linphone.org/releases/sources/" name "/" name "-" version ".tar.gz")) (sha256 - (base32 "1g2zrr9li0g1hgs6vys06vr98h5dx36z22hx7a6ry231536c002a")))) + (base32 "1g2zrr9li0g1hgs6vys06vr98h5dx36z22hx7a6ry231536c002a")) + (patches (search-patches "linphoneqt-tabbutton.patch")))) (build-system qt-build-system) (arguments `(#:tests? #f ; No test target @@ -512,6 +513,7 @@ and video calls or instant messaging capabilities to an application.") ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtquickcontrols" ,qtquickcontrols) ("qtquickcontrols2" ,qtquickcontrols2) ("qtsvg" ,qtsvg))) (synopsis "Desktop client for the Linphone SIP softphone") diff --git a/gnu/packages/patches/linphoneqt-tabbutton.patch b/gnu/packages/patches/linphoneqt-tabbutton.patch new file mode 100644 index 0000000000..6b3214026e --- /dev/null +++ b/gnu/packages/patches/linphoneqt-tabbutton.patch @@ -0,0 +1,96 @@ +From ecaab0f73d0b74bbfbf150286305fa6e12970037 Mon Sep 17 00:00:00 2001 +From: Ronan Abhamon +Date: Fri, 19 Jan 2018 14:42:01 +0100 +Subject: [PATCH] fix(SettingsWindow): rename icon property of TabButton to + iconName (issue with Qt 5.10 and new icon property) + +--- + ui/modules/Common/Form/Tab/TabButton.qml | 8 ++++---- + ui/views/App/Settings/SettingsWindow.qml | 14 +++++++------- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/ui/modules/Common/Form/Tab/TabButton.qml b/ui/modules/Common/Form/Tab/TabButton.qml +index ad220ab2..a47bb20b 100644 +--- a/ui/modules/Common/Form/Tab/TabButton.qml ++++ b/ui/modules/Common/Form/Tab/TabButton.qml +@@ -12,8 +12,8 @@ Controls.TabButton { + + // --------------------------------------------------------------------------- + +- property string icon + property int iconSize: TabButtonStyle.icon.size ++ property string iconName + + readonly property bool _isSelected: parent.parent.currentItem === button + +@@ -66,9 +66,9 @@ Controls.TabButton { + Layout.leftMargin: TabButtonStyle.text.leftPadding + + icon: { +- var icon = button.icon +- return icon.length +- ? (icon + '_' + (button._isSelected ? 'selected' : 'normal')) ++ var iconName = button.iconName ++ return iconName.length ++ ? (iconName + '_' + (button._isSelected ? 'selected' : 'normal')) + : '' + } + iconSize: button.iconSize +diff --git a/ui/views/App/Settings/SettingsWindow.qml b/ui/views/App/Settings/SettingsWindow.qml +index b8f5a80f..58909544 100644 +--- a/ui/views/App/Settings/SettingsWindow.qml ++++ b/ui/views/App/Settings/SettingsWindow.qml +@@ -48,43 +48,43 @@ ApplicationWindow { + id: tabBar + + TabButton { +- icon: 'settings_sip_accounts' ++ iconName: 'settings_sip_accounts' + text: qsTr('sipAccountsTab') + width: implicitWidth + } + + TabButton { +- icon: 'settings_audio' ++ iconName: 'settings_audio' + text: qsTr('audioTab') + width: implicitWidth + } + + TabButton { +- icon: 'settings_video' ++ iconName: 'settings_video' + text: qsTr('videoTab') + width: implicitWidth + } + + TabButton { +- icon: 'settings_call' ++ iconName: 'settings_call' + text: qsTr('callsAndChatTab') + width: implicitWidth + } + + TabButton { +- icon: 'settings_network' ++ iconName: 'settings_network' + text: qsTr('networkTab') + width: implicitWidth + } + + TabButton { +- icon: 'settings_advanced' ++ iconName: 'settings_advanced' + text: qsTr('uiTab') + width: implicitWidth + } + + TabButton { +- icon: 'settings_advanced' ++ iconName: 'settings_advanced' + text: qsTr('uiAdvanced') + width: implicitWidth + } +-- +2.21.0 + -- cgit 1.4.1 From cef392f3936922b7b0b74bd59be67e660c10db67 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 17 Apr 2020 18:16:19 +0100 Subject: guix: self: Use guile with libgc-7. Rather than libgc version 8. This should avoid crashes that can occur, particularly when loading data in to the Guix Data Service [1]. 1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40525 * gnu/packages/guile.scm (guile-3.0/libgc-7): New variable. * guix/self.scm (specification->package): Use guile-3.0/libgc-7 for guile. --- gnu/packages/guile.scm | 11 +++++++++++ guix/self.scm | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 8ccbc22f26..a262553ba1 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -309,6 +309,17 @@ without requiring the source code to be rewritten.") (define-public guile-next guile-3.0) +(define-public guile-3.0/libgc-7 + ;; Using libgc-7 avoid crashes that can occur, particularly when loading + ;; data in to the Guix Data Service: + ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40525 + (hidden-package + (package + (inherit guile-3.0) + (propagated-inputs + `(("bdw-gc" ,libgc-7) + ,@(srfi-1:alist-delete "bdw-gc" (package-propagated-inputs guile-3.0))))))) + (define-public guile-3.0/fixed ;; A package of Guile that's rarely changed. It is the one used in the ;; `base' module, and thus changing it entails a full rebuild. diff --git a/guix/self.scm b/guix/self.scm index 842161400e..905f931aeb 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -48,7 +48,7 @@ (let ((ref (lambda (module variable) (module-ref (resolve-interface module) variable)))) (match-lambda - ("guile" (ref '(gnu packages guile) 'guile-3.0)) + ("guile" (ref '(gnu packages guile) 'guile-3.0/libgc-7)) ("guile-json" (ref '(gnu packages guile) 'guile-json-3)) ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh)) ("guile-git" (ref '(gnu packages guile) 'guile-git)) -- cgit 1.4.1 From e21788f2cc1a01ecf6ed273fbfc2764971caa291 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 14 Dec 2019 14:02:11 -0500 Subject: gnu: adwaita-icon-theme: Update to 3.34.3. * gnu/packages/gnome.scm (adwaita-icon-theme): Update to 3.34.3. (cherry picked from commit e8cccae4e1964df5bbe63c37bc5b23dea5e19709) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2e406c5485..435684a1cd 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1742,7 +1742,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.") (define-public adwaita-icon-theme (package (inherit gnome-icon-theme) (name "adwaita-icon-theme") - (version "3.32.0") + (version "3.34.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1750,7 +1750,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.") name "-" version ".tar.xz")) (sha256 (base32 - "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9")))) + "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7")))) (native-inputs `(("gtk-encode-symbolic-svg" ,gtk+ "bin"))))) -- cgit 1.4.1 From 7f4d075d3e41df83f3a5897c15d9292d84a77cb0 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 14 Dec 2019 18:05:40 -0500 Subject: gnu: dconf: Update to 3.34.0. * gnu/packages/gnome.scm (dconf): Update to 3.34.0. (cherry picked from commit a720afbc4e0b7366261e5c4784fc9bb807bd4f87) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 435684a1cd..32d752d176 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3353,7 +3353,7 @@ and RDP protocols.") (define-public dconf (package (name "dconf") - (version "0.32.0") + (version "0.34.0") (source (origin (method url-fetch) (uri (string-append @@ -3363,7 +3363,7 @@ and RDP protocols.") (patches (search-patches "dconf-meson-0.52.patch")) (sha256 (base32 - "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38")))) + "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll")))) (build-system meson-build-system) (propagated-inputs ;; In Requires of dconf.pc. -- cgit 1.4.1 From 720aa20f350c0b42337b213d5dc299e82ac49759 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 14 Dec 2019 18:23:04 -0500 Subject: gnu: dconf-editor: Update to 3.34.2. * gnu/packages/gnome.scm (dconf-editor): Update to 3.34.2. [arguments]: Remove obsolete 'set-glib-minimum-version' phase. [home-page]: Follow permanent redirect. (cherry picked from commit 929ad4f3f3e33add34bd9eebebdd08e9476063b6) --- gnu/packages/gnome.scm | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 32d752d176..a2df1d58c9 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7608,7 +7608,7 @@ beautifying border effects.") (define-public dconf-editor (package (name "dconf-editor") - (version "3.32.0") + (version "3.34.2") (source (origin (method url-fetch) @@ -7617,19 +7617,8 @@ beautifying border effects.") name "-" version ".tar.xz")) (sha256 (base32 - "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi")))) + "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f")))) (build-system meson-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'configure 'set-glib-minimum-version - (lambda _ - ;; Change the minimum required GLib version so that - ;; 'valac' is passed '--target-glib 2.60.0'; failing to - ;; do that, it complains that "55" is not an even - ;; number. See . - (substitute* "editor/meson.build" - (("2\\.55\\.1") "2.60.0")) - #t))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache @@ -7640,7 +7629,7 @@ beautifying border effects.") `(("dconf" ,dconf) ("gtk+" ,gtk+) ("libxml2" ,libxml2))) - (home-page "https://git.gnome.org/browse/dconf-editor") + (home-page "https://gitlab.gnome.org/GNOME/dconf-editor") (synopsis "Graphical editor for GNOME's dconf configuration system") (description "Dconf-editor is a graphical tool for browsing and editing the dconf -- cgit 1.4.1 From 0c9031fa1b6c1e043a8959f2ff707795c306795a Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 14 Dec 2019 22:39:19 -0500 Subject: gnu: eog: Update to 3.34.1. * gnu/packages/gnome.scm (eog): Update to 3.34.1. [inputs]: Replace librsvg with librsvg-next. (cherry picked from commit 904227e94edbe97f4c28871a9d2e899936c08692) --- gnu/packages/gnome.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a2df1d58c9..dd98603abd 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5015,7 +5015,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") (define-public eog (package (name "eog") - (version "3.32.2") + (version "3.34.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5023,7 +5023,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") name "-" version ".tar.xz")) (sha256 (base32 - "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy")))) + "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -5063,7 +5063,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") ("libexif" ,libexif) ("libpeas" ,libpeas) ("libjpeg" ,libjpeg-turbo) - ("librsvg" ,librsvg) + ("librsvg" ,librsvg-next) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+))) (home-page "https://wiki.gnome.org/Apps/EyeOfGnome") -- cgit 1.4.1 From 8a7afc8159991cdafb75f06aaafe6a01eb758c26 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 14 Dec 2019 23:01:00 -0500 Subject: gnu: gnome-desktop: Update to 3.34.2. * gnu/packages/gnome.scm (gnome-desktop): Update to 3.34.2. (cherry picked from commit 8ff022afb1da6ae4eb345e0f9836e285c137b9c2) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index dd98603abd..8946cab755 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1216,7 +1216,7 @@ offline sources, providing a centralized place for managing your contacts.") (define-public gnome-desktop (package (name "gnome-desktop") - (version "3.32.2") + (version "3.34.2") (source (origin (method url-fetch) @@ -1225,7 +1225,7 @@ offline sources, providing a centralized place for managing your contacts.") name "-" version ".tar.xz")) (sha256 (base32 - "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9")))) + "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0")))) (build-system meson-build-system) (arguments '(#:phases -- cgit 1.4.1 From 0856b0d976537b4ddc95995abc23ac55ef4c4db8 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 14 Dec 2019 23:08:32 -0500 Subject: gnu: gnome-backgrounds: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-backgrounds): Update to 3.34.0. (cherry picked from commit 873082931dd5e25320cc77c7ba2bec1e36520f46) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8946cab755..399e994a19 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7546,7 +7546,7 @@ is complete it provides a graphical representation of each selected folder.") (define-public gnome-backgrounds (package (name "gnome-backgrounds") - (version "3.32.0") + (version "3.34.0") (source (origin (method url-fetch) @@ -7555,7 +7555,7 @@ is complete it provides a graphical representation of each selected folder.") name "-" version ".tar.xz")) (sha256 (base32 - "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz")))) + "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2")))) (build-system meson-build-system) (native-inputs `(("intltool" ,intltool))) -- cgit 1.4.1 From 8468117e457efb202c9964eedec2c3cdd149bba9 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 14 Dec 2019 23:09:16 -0500 Subject: gnu: gsettings-desktop-schemas: Update to 3.34.0. * gnu/packages/gnome.scm (gsettings-desktop-schemas): Update to 3.34.0. (cherry picked from commit fdfaefaaf4ee56a34276cbf6d431bf388518dd6a) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 399e994a19..4aa96cd160 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1631,7 +1631,7 @@ on the GNOME Desktop with a single simple application.") (define-public gsettings-desktop-schemas (package (name "gsettings-desktop-schemas") - (version "3.32.0") + (version "3.34.0") (source (origin (method url-fetch) @@ -1640,7 +1640,7 @@ on the GNOME Desktop with a single simple application.") name "-" version ".tar.xz")) (sha256 (base32 - "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d")))) + "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8")))) (build-system meson-build-system) (arguments '(#:phases (modify-phases %standard-phases -- cgit 1.4.1 From c94db354c32e9f1cb4b308be0345ec19719e55da Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 14 Dec 2019 23:17:53 -0500 Subject: gnu: libdazzle: Update to 3.34.1. * gnu/packages/gnome.scm (libdazzle): Update to 3.34.1. (cherry picked from commit 781da7d80b6b3a8e48b922acb754a5ba47f1d98b) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4aa96cd160..b34c0663fe 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9241,7 +9241,7 @@ hexadecimal or ASCII. It is useful for editing binary files in general.") (define-public libdazzle (package (name "libdazzle") - (version "3.33.90") + (version "3.34.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libdazzle/" @@ -9249,7 +9249,7 @@ hexadecimal or ASCII. It is useful for editing binary files in general.") "libdazzle-" version ".tar.xz")) (sha256 (base32 - "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs")))) + "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x")))) (build-system meson-build-system) (arguments `(#:phases -- cgit 1.4.1 From 5a30f67fdba478847a33d92df919f85326616cd6 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 15 Dec 2019 09:38:04 -0500 Subject: gnu: epiphany: Update to 3.34.2. * gnu/packages/gnome.scm (epiphany): Update to 3.34.2. (cherry picked from commit 7c4411701354e84d877816e095f01c1075cbff9d) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b34c0663fe..b4d6217fdb 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5360,7 +5360,7 @@ a secret password store, an adblocker, and a modern UI.") (define-public epiphany (package (name "epiphany") - (version "3.32.5") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/epiphany/" @@ -5368,7 +5368,7 @@ a secret password store, an adblocker, and a modern UI.") "epiphany-" version ".tar.xz")) (sha256 (base32 - "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my")))) + "18d48vcp2nxs63bddkdplslgbnlfq79pm2ivl8hk38kkggy3dahf")))) (build-system meson-build-system) (arguments -- cgit 1.4.1 From edec7128df4946a1094e3617c81167f9795fc5d7 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 15 Dec 2019 09:46:10 -0500 Subject: gnu: gedit: Update to 3.34.1. * gnu/packages/gnome.scm (gedit): Update to 3.34.1. (cherry picked from commit 49c537dab1cd4ff7aa154c5817e0c83c2ee02197) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b4d6217fdb..bc23967257 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5863,7 +5863,7 @@ javascript engine and the GObject introspection framework.") (define-public gedit (package (name "gedit") - (version "3.32.2") + (version "3.34.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5871,7 +5871,7 @@ javascript engine and the GObject introspection framework.") name "-" version ".tar.xz")) (sha256 (base32 - "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl")))) + "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t -- cgit 1.4.1 From ea9f74b03208f985a6e377a7c8a8951654dcfb00 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 15 Dec 2019 10:01:46 -0500 Subject: gnu: glib-networking: Update to 2.62.2. * gnu/packages/gnome.scm (glib-networking): Update to 2.62.2. (cherry picked from commit 48d8c3b28f4edb2607e84334ffdf064850642318) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index bc23967257..fd2647cab6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3507,7 +3507,7 @@ library.") (define-public glib-networking (package (name "glib-networking") - (version "2.60.3") + (version "2.62.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glib-networking/" @@ -3515,7 +3515,7 @@ library.") "glib-networking-" version ".tar.xz")) (sha256 (base32 - "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm")))) + "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dlibproxy_support=false"))) -- cgit 1.4.1 From e8f4bf6b42a640b91d843b0dd114e77f265798eb Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 16 Dec 2019 22:12:09 -0500 Subject: gnu: gnome-bluetooth: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-bluetooth): Update to 3.34.0. (cherry picked from commit 9d875e791fcca55807cdce623842b80eac0bf345) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fd2647cab6..ef367da7b0 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6949,7 +6949,7 @@ usage and information about running processes.") (define-public gnome-bluetooth (package (name "gnome-bluetooth") - (version "3.32.1") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6957,7 +6957,7 @@ usage and information about running processes.") name "-" version ".tar.xz")) (sha256 (base32 - "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4")))) + "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. -- cgit 1.4.1 From 462d3416a871f97ae3de867e725f8c6e4f976731 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 16 Dec 2019 23:16:11 -0500 Subject: gnu: libgweather: Update to 3.34.0. * gnu/packages/gnome.scm (libgweather): Update to 3.34.0. (cherry picked from commit fea74bf26d1a77129da919f2eb7473c94a947200) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ef367da7b0..02b89ee539 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4145,7 +4145,7 @@ service via the system message bus.") (define-public libgweather (package (name "libgweather") - (version "3.28.3") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4153,7 +4153,7 @@ service via the system message bus.") name "-" version ".tar.xz")) (sha256 (base32 - "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5")))) + "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902")))) (build-system meson-build-system) (arguments `(#:tests? #f ; one of two tests requires network access -- cgit 1.4.1 From 162048be3b838e221e5256b0f670ac6f884f607a Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 11:01:23 -0500 Subject: gnu: evolution-data-server: Update to 3.34.2. * gnu/packages/gnome.scm (evolution-data-server): Update to 3.34.2. [arguments]: Adjust 'disable-failing-tests' phase. * gnu/packages/patches/evolution-data-server-libical-compat.patch: Update patch. (cherry picked from commit 3febbdc80004c907507dbf4162bf6e7bfde74d28) --- gnu/packages/gnome.scm | 11 ++--------- .../patches/evolution-data-server-libical-compat.patch | 16 ++++++++-------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 02b89ee539..8754c08b3c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6155,7 +6155,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (define-public evolution-data-server (package (name "evolution-data-server") - (version "3.32.4") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6165,7 +6165,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") "evolution-data-server-libical-compat.patch")) (sha256 (base32 - "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3")))) + "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -6192,13 +6192,6 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (delete-file-recursively "tests/book-migration") (substitute* "tests/CMakeLists.txt" (("add_subdirectory\\(book-migration\\)") "")) - ;; tests/libebook/client/test-book-client-view-operations:8077): - ;; e-data-server-WARNING **: - ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free: - ;; runtime check failed: - ;; (!g_main_context_pending (closure->main_context)) - (substitute* "tests/libebook/client/CMakeLists.txt" - (("test-book-client-view-operations") "")) #t)) (add-after 'unpack 'patch-paths (lambda _ diff --git a/gnu/packages/patches/evolution-data-server-libical-compat.patch b/gnu/packages/patches/evolution-data-server-libical-compat.patch index a988519ea0..da4302d42e 100644 --- a/gnu/packages/patches/evolution-data-server-libical-compat.patch +++ b/gnu/packages/patches/evolution-data-server-libical-compat.patch @@ -8,29 +8,29 @@ Adapted from upstream: https://gitlab.gnome.org/GNOME/evolution-data-server/commit/77384ab552c19bf374dbeda53dc37f98d07bd4ec diff --git a/CMakeLists.txt b/CMakeLists.txt +index e16b8b225..b3c881967 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -108,7 +108,7 @@ +@@ -111,7 +111,7 @@ add_definitions(-DSOUP_VERSION_MIN_REQUIRED=${soup_encoded_version}) set(gcr_minimum_version 3.4) set(libgdata_minimum_version 0.15.1) --set(libical_minimum_version 2.0) -+set(libical_minimum_version 3.0.7) +-set(libical_glib_minimum_version 3.0.5) ++set(libical_glib_minimum_version 3.0.7) set(libsecret_minimum_version 0.5) set(libxml_minimum_version 2.0.0) set(sqlite_minimum_version 3.7.17) diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c -index 7501f2a43dcc3af91e93e89751caf76e77c2ac23..93f4806ba2c5193f746e9fae5bf74d08ad05f8bf 100644 +index 7501f2a43..93f4806ba 100644 --- a/src/calendar/libedata-cal/e-cal-meta-backend.c +++ b/src/calendar/libedata-cal/e-cal-meta-backend.c -@@ -3958,9 +3958,8 @@ +@@ -4067,8 +4067,7 @@ e_cal_meta_backend_inline_local_attachments_sync (ECalMetaBackend *meta_backend, gchar *base64; base64 = g_base64_encode ((const guchar *) content, len); -- new_attach = icalattach_new_from_data (base64, NULL, NULL); -+ new_attach = icalattach_new_from_data (base64, (GFunc) g_free, NULL); +- new_attach = i_cal_attach_new_from_data (base64, NULL, NULL); ++ new_attach = i_cal_attach_new_from_data (base64, (GFunc) g_free, NULL); g_free (content); - g_free (base64); ecmb_remove_all_but_filename_parameter (prop); - -- cgit 1.4.1 From 179699401908f41f00dd6e09e0adbf90480a6433 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 11:13:11 -0500 Subject: gnu: gnome-autoar: Update to 0.2.4. * gnu/packages/gnome.scm (gnome-autoar): Update to 0.2.4. [native-inputs]: Remove gnome-common. (cherry picked from commit 46d713ce690235450740616249f800b288bf0a51) --- gnu/packages/gnome.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8754c08b3c..34539c3e42 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7281,7 +7281,7 @@ as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.") (define-public gnome-autoar (package (name "gnome-autoar") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7289,14 +7289,13 @@ as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.") name "-" version ".tar.xz")) (sha256 (base32 - "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax")))) + "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a")))) (build-system glib-or-gtk-build-system) (native-inputs - `(("gnome-common" ,gnome-common) - ("gobject-introspection" ,gobject-introspection) + `(("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config))) (propagated-inputs - `(("libarchive" ,libarchive))) ; XXX document why + `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc (inputs `(("gtk+" ,gtk+))) (synopsis "Archives integration support for GNOME") -- cgit 1.4.1 From 0662fe86d2f161fd21267990383c1b1188df5a4b Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 12:23:31 -0500 Subject: gnu: evolution: Update to 3.34.2. * gnu/packages/gnome.scm (evolution): Update to 3.34.2. [inputs]: Replace gtkspell3 with gspell. Remove evolution-data-server duplicate. (cherry picked from commit aace96f48804f43b07369408ffe7ed5c074437c0) --- gnu/packages/gnome.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 34539c3e42..a2982b4476 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9274,7 +9274,7 @@ generic enough to work for everyone.") (define-public evolution (package (name "evolution") - (version "3.32.4") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/evolution/" @@ -9282,7 +9282,7 @@ generic enough to work for everyone.") "evolution-" version ".tar.xz")) (sha256 (base32 - "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh")))) + "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c")))) (build-system cmake-build-system) (arguments `(#:imported-modules (,@%cmake-build-system-modules @@ -9322,10 +9322,9 @@ generic enough to work for everyone.") ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gnome-autoar" ,gnome-autoar) ("gnome-desktop" ,gnome-desktop) - ("gtkspell3" ,gtkspell3) + ("gspell" ,gspell) ("highlight" ,highlight) ("libcanberra" ,libcanberra) - ("libedataserverui" ,evolution-data-server) ("libgweather" ,libgweather) ("libnotify" ,libnotify) ("libsoup" ,libsoup) -- cgit 1.4.1 From a645a5a3bdd3e1f407a9ba44a2f3993ea66c3c60 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 13:26:30 -0500 Subject: gnu: dbus-glib: Update to 0.110. * gnu/packages/glib.scm (dbus-glib): Update to 0.110. (cherry picked from commit cff7f2f521a662d0dc01a07b5d7c2c61a7b47072) --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 92c693544d..185066ade9 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -555,7 +555,7 @@ translated.") (define dbus-glib (package (name "dbus-glib") - (version "0.108") + (version "0.110") (source (origin (method url-fetch) (uri @@ -563,7 +563,7 @@ translated.") version ".tar.gz")) (sha256 (base32 - "0b307hw9j41npzr6niw1bs6ryp87m5yafg492gqwvsaj4dz0qd4z")))) + "09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w")))) (build-system gnu-build-system) (propagated-inputs ; according to dbus-glib-1.pc `(("dbus" ,dbus) -- cgit 1.4.1 From fd11f6f30423ea0988e93ed7d635fe2125fc7169 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 14:08:51 -0500 Subject: gnu: folks: Update to 0.13.1. * gnu/packages/gnome.scm (folks): Update to 0.13.1. [build-system]: Use meson-build-system. [arguments]: Add 'skip-gtk-update-icon-cache' phase. [inputs]: Add readline. [native-inputs]: Add glib:bin. (cherry picked from commit e4e7160c93baceb39686ce6bd1efe833ec5593c7) --- gnu/packages/gnome.scm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a2982b4476..ef34eb6f2b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8330,7 +8330,7 @@ the Moka icon theme.") (define-public folks (package (name "folks") - (version "0.11.4") + (version "0.13.1") (source (origin (method url-fetch) (uri (string-append @@ -8339,17 +8339,28 @@ the Moka icon theme.") "folks-" version ".tar.xz")) (sha256 (base32 - "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57")))) - (build-system glib-or-gtk-build-system) + "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x")))) + (build-system meson-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t))))) (inputs `(("bdb" ,bdb) ("dbus-glib" ,dbus-glib) ("evolution-data-server" ,evolution-data-server) ("glib" ,glib) ("libgee" ,libgee) + ("readline" ,readline) ("telepathy-glib" ,telepathy-glib))) (native-inputs - `(("gobject-introspection" ,gobject-introspection) + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("vala" ,vala))) -- cgit 1.4.1 From b3492e39d791a58a54ce3e2357a619c7cd357821 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 16 Dec 2019 22:28:09 -0500 Subject: gnu: gnome-contacts: Update to 3.34. * gnu/packages/gnome.scm (gnome-contacts): Update to 3.34. [arguments]: Add 'skip-gtk-update-icon-cache' phase. [native-inputs]: Remove gtk+:bin. (cherry picked from commit c8be9392f03522f7a98ca787d31aa2372635a762) --- gnu/packages/gnome.scm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ef34eb6f2b..8263995dec 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1161,7 +1161,7 @@ commonly used macros.") (define-public gnome-contacts (package (name "gnome-contacts") - (version "3.32.1") + (version "3.34") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-contacts/" @@ -1169,10 +1169,11 @@ commonly used macros.") name "-" version ".tar.xz")) (sha256 (base32 - "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy")))) + "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r")))) (build-system meson-build-system) (arguments - `(#:phases + `(#:configure-flags '("-Dcheese=false") + #:phases (modify-phases %standard-phases (add-after 'unpack 'generate-vapis (lambda* (#:key inputs #:allow-other-keys) @@ -1183,14 +1184,18 @@ commonly used macros.") (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0" "--library=goa-1.0" (string-append goa "/share/gir-1.0/Goa-1.0.gir")) + #t)) + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson_post_install.py" + (("gtk-update-icon-cache") "true")) #t))))) (native-inputs `(("glib:bin" ,glib "bin") - ("gtk+:bin" ,gtk+ "bin") ("pkg-config" ,pkg-config))) (inputs - `(("cheese" ,cheese) - ("docbook-xml" ,docbook-xml) + `(("docbook-xml" ,docbook-xml) ("dockbook-xsl" ,docbook-xsl) ("evolution-data-server" ,evolution-data-server) ("gettext" ,gettext-minimal) -- cgit 1.4.1 From f67ce0069ad65dc6a811d14a3a86a2fe344097b3 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 15:30:52 -0500 Subject: gnu: gnome-session: Update to 3.34.2. * gnu/packages/gnome.scm (gnome-session): Update to 3.34.2. (cherry picked from commit 12a88070138ca2f11ebecf0aa0c7ae3b71b0032e) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8263995dec..00a8b00e2e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5739,7 +5739,7 @@ such as gzip tarballs.") (define-public gnome-session (package (name "gnome-session") - (version "3.32.0") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5747,7 +5747,7 @@ such as gzip tarballs.") name "-" version ".tar.xz")) (sha256 (base32 - "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v")))) + "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb")))) (arguments '(#:glib-or-gtk? #t #:phases -- cgit 1.4.1 From 201547590de0bfd08acbe1f39adecbaa582778af Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 16:59:37 -0500 Subject: gnu: gnome-settings-daemon: Update to 3.34.1. * gnu/packages/gnome.scm (gnome-settings-daemon): Update to 3.34.1. [arguments]: Add configure flag to build without systemd. [inputs]: Add gcr and modem-manager. (cherry picked from commit 048875f365d1591ad45853e76bda180d32f2bef7) --- gnu/packages/gnome.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 00a8b00e2e..668e2a5259 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4192,7 +4192,7 @@ services for numerous locations.") (define-public gnome-settings-daemon (package (name "gnome-settings-daemon") - (version "3.32.1") + (version "3.34.1") (source (origin (method url-fetch) @@ -4201,7 +4201,7 @@ services for numerous locations.") name "-" version ".tar.xz")) (sha256 (base32 - "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks")))) + "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -4209,6 +4209,7 @@ services for numerous locations.") (list (string-append "-Dudev_dir=" (assoc-ref %outputs "out") "/lib/udev/rules.d/") + "-Dsystemd=false" ;; Otherwise, the RUNPATH will lack the final path component. (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") @@ -4246,7 +4247,9 @@ services for numerous locations.") ("librsvg" ,librsvg) ("xf86-input-wacom" ,xf86-input-wacom) ("wayland" ,wayland) - ("network-manager" ,network-manager))) + ("network-manager" ,network-manager) + ("gcr" ,gcr) + ("modem-manager" ,modem-manager))) (home-page "https://www.gnome.org") (synopsis "GNOME settings daemon") (description -- cgit 1.4.1 From c576328d77aaecb8fe4c0c2065b72df6471d900b Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 18:48:17 -0500 Subject: gnu: gnome-control-center: Update to 3.34.2. * gnu/packages/gnome.scm (gnome-control-center): Update to 3.34.2. [arguments]: Add 'skip-gtk-update-icon-cache' phase. [native-inputs]: Remove gtk+:bin. (cherry picked from commit 093ab99e4f2d5b10ea604cfb469e47f19b187401) --- gnu/packages/gnome.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 668e2a5259..187fe01ea5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6985,7 +6985,7 @@ devices using the GNOME desktop.") (define-public gnome-control-center (package (name "gnome-control-center") - (version "3.32.2") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6993,7 +6993,7 @@ devices using the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs")))) + "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -7034,10 +7034,15 @@ devices using the GNOME desktop.") (("DATADIR \"/gnome/gnome-version.xml\"") (string-append "\"" gnome-desktop "/share/gnome/gnome-version.xml\""))) - #t)))))) + #t))) + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson/meson_post_install.py" + (("gtk-update-icon-cache") (which "true"))) + #t))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. - ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("xsltproc" ,libxslt) -- cgit 1.4.1 From 262e660ef4b3c4f1dbc2274af6bbc71dfc30b94d Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 20:21:38 -0500 Subject: gnu: gnome-disk-utility: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-disk-utility): Update to 3.34.0. [arguments]: Add configure flag to enable elogind support. [inputs]: Add elogind. (cherry picked from commit 586eb32f09e8a654272040b578bf6a99876c9f7d) --- gnu/packages/gnome.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 187fe01ea5..ffd77a68f9 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1321,7 +1321,7 @@ and keep up to date translations of documentation.") (define-public gnome-disk-utility (package (name "gnome-disk-utility") - (version "3.32.1") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1329,10 +1329,11 @@ and keep up to date translations of documentation.") name "-" version ".tar.xz")) (sha256 (base32 - "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg")))) + "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y")))) (build-system meson-build-system) (arguments - '(#:phases + '(#:configure-flags '("-Dlogind=libelogind") + #:phases (modify-phases %standard-phases (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. @@ -1349,7 +1350,8 @@ and keep up to date translations of documentation.") ("libxml2" ,libxml2) ("libxslt" ,libxslt))) (inputs - `(("glib" ,glib) + `(("elogind" ,elogind) + ("glib" ,glib) ("appstream-glib" ,appstream-glib) ("gnome-settings-daemon" ,gnome-settings-daemon) ("gtk+" ,gtk+) -- cgit 1.4.1 From 14faeadd9e946b92f39a2ba70c67fc7ee3e4dc25 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 20:31:34 -0500 Subject: gnu: gnome-keyring: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-keyring): Update to 3.34.0. (cherry picked from commit 44f210ab90566446c8ccf0a53c663a3d555bad9e) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ffd77a68f9..4119c0ccfd 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1491,7 +1491,7 @@ GNOME Desktop.") (define-public gnome-keyring (package (name "gnome-keyring") - (version "3.28.2") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1499,7 +1499,7 @@ GNOME Desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1")))) + "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does -- cgit 1.4.1 From d5101dab538b728b1cc9cc49d38a4d12de5aba59 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 20:36:07 -0500 Subject: gnu: gnome-screenshot: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-screenshot): Update to 3.34.0. [arguments]: Add 'skip-gtk-update-icon-cache' phase. [native-inputs]: Remove gtk+:bin. (cherry picked from commit e822ab3c7b6072c053b25a175ba802b515edff44) --- gnu/packages/gnome.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4119c0ccfd..453e6555e9 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7581,7 +7581,7 @@ can add your own files to the collection.") (define-public gnome-screenshot (package (name "gnome-screenshot") - (version "3.32.0") + (version "3.34.0") (source (origin (method url-fetch) @@ -7590,11 +7590,19 @@ can add your own files to the collection.") name "-" version ".tar.xz")) (sha256 (base32 - "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b")))) + "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8")))) (build-system meson-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/postinstall.py" + (("gtk-update-icon-cache") "true")) + #t))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. - ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("intltool" ,intltool) ("appstream-glib" ,appstream-glib) -- cgit 1.4.1 From 80f6f9d86e1b3006da427933db4ab584d210f8ec Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 20:39:01 -0500 Subject: gnu: gnome-terminal: Update to 3.34.2. * gnu/packages/gnome.scm (gnome-terminal): Update to 3.34.2. (cherry picked from commit c09d94546b75ecdd334494ed1730d44de551f29b) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 453e6555e9..674e3d3899 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3880,7 +3880,7 @@ more fun.") (define-public gnome-terminal (package (name "gnome-terminal") - (version "3.32.2") + (version "3.34.2") (source (origin (method url-fetch) @@ -3889,7 +3889,7 @@ more fun.") name "-" version ".tar.xz")) (sha256 (base32 - "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km")))) + "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags -- cgit 1.4.1 From 8069ff0bc4fc90a2ea2a56a0e67d11e8edec79f6 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Dec 2019 20:47:22 -0500 Subject: gnu: nautilus: Update to 3.34.2. * gnu/packages/gnome.scm (nautilus): Update to 3.34.2. [arguments]: Add 'skip-gtk-update-icon-cache' phase. [native-inputs]: Remove gtk+:bin. (cherry picked from commit ba1d88e83aeb2e6b3ec4006c901f687235cd63c0) --- gnu/packages/gnome.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 674e3d3899..d29e1778c1 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7464,7 +7464,7 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "3.32.3") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7472,17 +7472,24 @@ shared object databases, search tools and indexing.") name "-" version ".tar.xz")) (sha256 (base32 - "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01")))) + "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson/postinstall.py" + (("gtk-update-icon-cache") "true")) + #t))) ;; XXX: FAIL: check-nautilus ;; Settings schema 'org.gnome.nautilus.preferences' is not installed #:tests? #f)) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("glib:bin" ,glib "bin") ; for glib-mkenums, etc. - ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config))) -- cgit 1.4.1 From 961dc62d1910b3671ba089920b24297a34d27a32 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Wed, 18 Dec 2019 23:01:01 -0500 Subject: gnu: totem: Update to 3.34.1. * gnu/packages/gnome.scm (totem): Update to 3.34.1. (cherry picked from commit 513a19c38116795c811e6421004ac8f7d83525fa) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d29e1778c1..913c7eebe5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4831,7 +4831,7 @@ discovery protocols.") (define-public totem (package (name "totem") - (version "3.32.1") + (version "3.34.1") (source (origin (method url-fetch) @@ -4840,7 +4840,7 @@ discovery protocols.") name "-" version ".tar.xz")) (sha256 (base32 - "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v")))) + "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit 1.4.1 From ec3ceabd6ebfab7117b663979552c94d24762716 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Fri, 20 Dec 2019 21:36:33 -0500 Subject: gnu: mutter: Update to 3.34.2. * gnu/packages/gnome.scm (mutter): Update to 3.34.2. [arguments]: Add configure flag to disable profiling. Update configure flag that adds to the RUNPATH. Remove obsolete 'disable-werror' and 'use-elogind' phases. [native-inputs]: Add desktop-file-utils. (cherry picked from commit b9686aea5170e528893433de4f563dd9b1a68cc0) --- gnu/packages/gnome.scm | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 913c7eebe5..9d3b48fe1c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5994,7 +5994,7 @@ to display dialog boxes from the commandline and shell scripts.") (define-public mutter (package (name "mutter") - (version "3.32.2") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6002,7 +6002,7 @@ to display dialog boxes from the commandline and shell scripts.") name "-" version ".tar.xz")) (sha256 (base32 - "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva")))) + "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd")))) ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked ;; versions of cogl and clutter. As a result, many of the inputs, ;; propagated-inputs, and configure flags used in cogl and clutter are @@ -6014,10 +6014,12 @@ to display dialog boxes from the commandline and shell scripts.") #:tests? #f #:glib-or-gtk? #t #:configure-flags - ;; Otherwise, the RUNPATH will lack the final path component. - (list (string-append "-Dc_link_args=-Wl,-rpath=" + ;; TODO: Enable profiler when Sysprof is packaged. + (list "-Dprofiler=false" + ;; Otherwise, the RUNPATH will lack the final path component. + (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib:" - (assoc-ref %outputs "out") "/lib/mutter-4") + (assoc-ref %outputs "out") "/lib/mutter-5") ;; The following flags are needed for the bundled clutter (string-append "-Dxwayland_path=" @@ -6027,27 +6029,10 @@ to display dialog boxes from the commandline and shell scripts.") ;; the remaining flags are needed for the bundled cogl (string-append "-Dopengl_libname=" (assoc-ref %build-inputs "mesa") - "/lib/libGL.so")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-werror - (lambda _ - ;; XXX: build fails with [-Werror]: - ;; backends/meta-cursor-renderer.c:112:5: error: - ;; implicit declaration of function ?roundf? - (substitute* "meson.build" - (("'-Werror=.*',") "")) - #t)) - ;; Replace references to systemd libraries to elogind references. - (add-before 'configure 'use-elogind - (lambda _ - (substitute* (list "meson.build" - "src/backends/native/meta-launcher.c" - "src/core/main.c") - (("systemd") "elogind")) - #t))))) + "/lib/libGL.so")))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. + `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database + ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config) -- cgit 1.4.1 From 0fda99c572617bfa85d11f67ab0be824474004d8 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Fri, 20 Dec 2019 22:34:58 -0500 Subject: gnu: gdm: Update to 3.34.1. * gnu/packages/gnome.scm (gdm): Update to 3.34.1. [arguments]: Adjust 'pre-configure' phase accordingly. (cherry picked from commit b989db762e17b7bdb64b1f0e3156bc92a2f2dc32) --- gnu/packages/gnome.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9d3b48fe1c..0f3727efc2 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6721,7 +6721,7 @@ libxml2.") (define-public gdm (package (name "gdm") - (version "3.32.0") + (version "3.34.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6729,7 +6729,7 @@ libxml2.") name "-" version ".tar.xz")) (sha256 (base32 - "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4")) + "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8")) (patches (search-patches "gdm-default-session.patch")))) (build-system glib-or-gtk-build-system) (arguments @@ -6771,6 +6771,7 @@ libxml2.") (("#include ") "")) ;; Use elogind for sd-login. (substitute* '("common/gdm-common.c" + "daemon/gdm-local-display-factory.c" "daemon/gdm-manager.c" "libgdm/gdm-user-switching.c") (("#include ") @@ -6818,7 +6819,8 @@ libxml2.") (substitute* '("daemon/gdm-server.c") (("\\(X_SERVER X_SERVER_ARG_FORMAT") "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")")) - (substitute* '("daemon/gdm-x-session.c") + (substitute* '("daemon/gdm-wayland-session.c" + "daemon/gdm-x-session.c") (("\"dbus-daemon\"") "g_getenv (\"GDM_DBUS_DAEMON\")") (("X_SERVER") -- cgit 1.4.1 From 9064cde1a9332006f99000d303374239054d9b4b Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 21 Dec 2019 23:19:13 -0500 Subject: gnu: telepathy-glib: Disable failing tests. * gnu/packages/glib.scm (telepathy-glib)[arguments]: Add phase to disable failing tests. (cherry picked from commit 9049e4d808f241dd88ddcb6a0f74b0766624fb08) --- gnu/packages/glib.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 185066ade9..1e9941945c 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -825,7 +825,18 @@ up the Gnome environment, and are used in many unrelated projects.") ;; ;; EOFError: EOF read where object expected ;; make[2]: *** [Makefile:1906: _gen/register-dbus-glib-marshallers-body.h] Error 1 - #:parallel-build? #f)) + #:parallel-build? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; None of the tests below are able to find the org.gtk.vfs.Daemon + ;; service file provided by gvfs. + (substitute* "tests/dbus/Makefile.in" + (("test-contacts\\$\\(EXEEXT\\)") "") + (("test-file-transfer-channel\\$\\(EXEEXT\\)") "") + (("test-stream-tube\\$\\(EXEEXT\\)") "")) + #t))))) (native-inputs `(("glib" ,glib "bin") ; uses glib-mkenums ("gobject-introspection" ,gobject-introspection) -- cgit 1.4.1 From 76e1830c03c3d1cff64795c65aa7e660a79a909c Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 21 Dec 2019 23:21:18 -0500 Subject: gnu: gjs: Update to 1.58.3. * gnu/packages/gnome.scm (gjs): Update to 1.58.3. [native-inputs]: Add dconf. (cherry picked from commit be62a1b5a5d0d2c237beae6ddafebe9c6ef887fa) --- gnu/packages/gnome.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0f3727efc2..f8cdf94eaa 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5815,7 +5815,7 @@ configuration program to choose applications starting on login.") (define-public gjs (package (name "gjs") - (version "1.56.2") + (version "1.58.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5823,7 +5823,7 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac")))) + "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya")))) (build-system gnu-build-system) (arguments '(#:phases @@ -5853,6 +5853,7 @@ configuration program to choose applications starting on login.") ("xmllint" ,libxml2) ;; For testing ("dbus-launch" ,dbus) + ("dconf" ,dconf) ; required to properly store settings ("uuidgen" ,util-linux) ("xvfb" ,xorg-server-for-tests))) (propagated-inputs -- cgit 1.4.1 From 28457ae6fe3302d426e03c9ebd4b9d187470a946 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 21 Dec 2019 23:21:51 -0500 Subject: gnu: gnome-shell: Update to 3.34.2. * gnu/packages/gnome.scm (gnome-shell): Update to 3.34.2. [source]: Add patch. [native-inputs]: Add asciidoc. [inputs]: Add gnome-autoar. * gnu/packages/patches/gnome-shell-theme.patch: Adjust patch accordingly. * gnu/packages/patches/gnome-shell-disable-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. (cherry picked from commit 4ac325aa9bf8dd237f5b5be7a1523d957be0067f) --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 11 +++++--- .../patches/gnome-shell-disable-test.patch | 25 ++++++++++++++++++ gnu/packages/patches/gnome-shell-theme.patch | 30 ++++++++++------------ 4 files changed, 47 insertions(+), 20 deletions(-) create mode 100644 gnu/packages/patches/gnome-shell-disable-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5bfbaaa0a2..6297217d40 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1001,6 +1001,7 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-arm-asm-nothumb.patch \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-shell-theme.patch \ + %D%/packages/patches/gnome-shell-disable-test.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ %D%/packages/patches/gnupg-default-pinentry.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f8cdf94eaa..5c8852c4ff 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7088,7 +7088,7 @@ properties, screen resolution, and other GNOME parameters.") (define-public gnome-shell (package (name "gnome-shell") - (version "3.32.2") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7096,8 +7096,9 @@ properties, screen resolution, and other GNOME parameters.") name "-" version ".tar.xz")) (sha256 (base32 - "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5")) - (patches (search-patches "gnome-shell-theme.patch")) + "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh")) + (patches (search-patches "gnome-shell-theme.patch" + "gnome-shell-disable-test.patch")) (modules '((guix build utils))) (snippet #~(begin @@ -7191,7 +7192,8 @@ properties, screen resolution, and other GNOME parameters.") '("inkscape" "intltool" "glib:bin")) #:outputs outputs))))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. + `(("asciidoc" ,asciidoc) + ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("gobject-introspection" ,gobject-introspection) ("inkscape" ,inkscape) @@ -7212,6 +7214,7 @@ properties, screen resolution, and other GNOME parameters.") ("gdm" ,gdm) ("gdk-pixbuf" ,gdk-pixbuf+svg) ("gjs" ,gjs) + ("gnome-autoar" ,gnome-autoar) ("gnome-bluetooth" ,gnome-bluetooth) ("gnome-desktop" ,gnome-desktop) ("gnome-settings-daemon" ,gnome-settings-daemon) diff --git a/gnu/packages/patches/gnome-shell-disable-test.patch b/gnu/packages/patches/gnome-shell-disable-test.patch new file mode 100644 index 0000000000..b4c7e73cd7 --- /dev/null +++ b/gnu/packages/patches/gnome-shell-disable-test.patch @@ -0,0 +1,25 @@ +This test seems to require a D-Bus connection not available in the build +environment. + +diff -ur /tmp/guix-build-gnome-shell-3.34.2.drv-0/gnome-shell-3.34.2/src/st/meson.build b/src/st/meson.build +--- /tmp/guix-build-gnome-shell-3.34.2.drv-0/gnome-shell-3.34.2/src/st/meson.build 1969-12-31 19:00:00.000000000 -0500 ++++ b/src/st/meson.build 2019-12-23 00:46:14.721198022 -0500 +@@ -132,18 +132,6 @@ + sources: st_enums[1] + ) + +-test_theme = executable('test-theme', +- sources: 'test-theme.c', +- c_args: st_cflags, +- dependencies: [mutter_dep, gtk_dep], +- build_rpath: mutter_typelibdir, +- link_with: libst +-) +- +-test('CSS styling support', test_theme, +- workdir: meson.current_source_dir() +-) +- + libst_gir = gnome.generate_gir(libst, + sources: st_gir_sources, + nsversion: '1.0', diff --git a/gnu/packages/patches/gnome-shell-theme.patch b/gnu/packages/patches/gnome-shell-theme.patch index fc7f7caf0f..3fa0670c43 100644 --- a/gnu/packages/patches/gnome-shell-theme.patch +++ b/gnu/packages/patches/gnome-shell-theme.patch @@ -2,25 +2,23 @@ Adjust GNOME-Shell so that it uses a Guix theme by default. Patch by Ludovic Courtès . -diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml -index 76aeaa5..8eaf32e 100644 ---- a/data/gnome-shell-theme.gresource.xml -+++ b/data/gnome-shell-theme.gresource.xml -@@ -22,6 +22,8 @@ +diff -ur a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml +--- a/data/gnome-shell-theme.gresource.xml 2019-12-11 15:06:31.000000000 -0500 ++++ b/data/gnome-shell-theme.gresource.xml 2019-12-21 00:31:55.895866241 -0500 +@@ -19,6 +19,8 @@ no-events.svg no-notifications.svg noise-texture.png + guix-background.png + guix-logo.png pad-osd.css - page-indicator-active.svg - page-indicator-inactive.svg -diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss -index 54d9f39..b9badd0 100644 ---- a/data/theme/gnome-shell-sass/_common.scss -+++ b/data/theme/gnome-shell-sass/_common.scss -@@ -1742,7 +1742,16 @@ $legacy_icon_size: 24px; - + pointer-double-click-symbolic.svg + pointer-drag-symbolic.svg +diff -ur a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss +--- a/data/theme/gnome-shell-sass/_common.scss 2019-12-11 15:06:31.000000000 -0500 ++++ b/data/theme/gnome-shell-sass/_common.scss 2019-12-21 00:33:49.495832135 -0500 +@@ -1994,7 +1994,16 @@ + } } - .login-dialog-logo-bin { padding: 24px 0px; } @@ -37,14 +35,14 @@ index 54d9f39..b9badd0 100644 .login-dialog-banner { color: darken($osd_fg_color,10%); } .login-dialog-button-box { spacing: 5px; } .login-dialog-message-warning { color: $warning_color; } -@@ -1889,9 +1898,10 @@ $legacy_icon_size: 24px; +@@ -2143,9 +2152,10 @@ } #lockDialogGroup { -- background: #2e3436 url(resource:///org/gnome/shell/theme/noise-texture.png); +- background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/noise-texture.png); - background-repeat: repeat; -} -+ background: #2e3436 url(resource:///org/gnome/shell/theme/guix-background.png); ++ background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/guix-background.png); + background-repeat: no-repeat; + background-size: cover; + background-position: center; } -- cgit 1.4.1 From 1efcf722930f79f7544aa33a232792911c15c865 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 10:33:21 -0500 Subject: gnu: seahorse: Update to 3.34. * gnu/packages/gnome.scm (seahorse): Update to 3.34. [source]: Remove obsolete patch. * gnu/packages/patches/seahorse-gtk-use-0-on-empty-flags.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. (cherry picked from commit df3e812fe42a13325ca5b223a115fb2d3dbfd446) --- gnu/local.mk | 1 - gnu/packages/gnome.scm | 6 ++-- .../seahorse-gkr-use-0-on-empty-flags.patch | 32 ---------------------- 3 files changed, 2 insertions(+), 37 deletions(-) delete mode 100644 gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6297217d40..0795dec6e8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1453,7 +1453,6 @@ dist_patch_DATA = \ %D%/packages/patches/scotch-integer-declarations.patch \ %D%/packages/patches/screen-hurd-path-max.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ - %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ %D%/packages/patches/shadow-hurd-pctrl.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5c8852c4ff..71f536c9ca 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3104,7 +3104,7 @@ engineering.") (define-public seahorse (package (name "seahorse") - (version "3.32.2") + (version "3.34") (source (origin (method url-fetch) @@ -3113,9 +3113,7 @@ engineering.") version ".tar.xz")) (sha256 (base32 - "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x")) - (patches (search-patches - "seahorse-gkr-use-0-on-empty-flags.patch")))) + "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t diff --git a/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch b/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch deleted file mode 100644 index 55866d2973..0000000000 --- a/gnu/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch +++ /dev/null @@ -1,32 +0,0 @@ -Patch from . - -From d9db29db567012b7c72e85e1be1fbf55fcc9b667 Mon Sep 17 00:00:00 2001 -From: Niels De Graef -Date: Sat, 11 May 2019 09:02:34 +0200 -Subject: [PATCH] gkr: Use 0 on empty flags - -A Flags-type variable without any flag set can be replaced with 0, so -this is a safe thing to do. It also prevents us from having to deal with -the accidental API break in libsecret (see -https://gitlab.gnome.org/GNOME/libsecret/merge_requests/19) ---- - gkr/gkr-keyring-add.vala | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/gkr/gkr-keyring-add.vala b/gkr/gkr-keyring-add.vala -index 4e92a520..f60c9a22 100644 ---- a/gkr/gkr-keyring-add.vala -+++ b/gkr/gkr-keyring-add.vala -@@ -41,8 +41,7 @@ public class Seahorse.Gkr.KeyringAdd : Gtk.Dialog { - - var cancellable = Dialog.begin_request(this); - var service = Backend.instance().service; -- Secret.Collection.create.begin(service, this.name_entry.text, null, -- Secret.CollectionCreateFlags.COLLECTION_CREATE_NONE, -+ Secret.Collection.create.begin(service, this.name_entry.text, null, 0, - cancellable, (obj, res) => { - /* Clear the operation without cancelling it since it is complete */ - Dialog.complete_request(this, false); --- -2.23.0 - -- cgit 1.4.1 From d79e9b1bb6226fbb8d0f0330cbb264d3b0db70fe Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 10:39:55 -0500 Subject: gnu: gnome-mines: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-mines): Update to 3.34.0. (cherry picked from commit 92a7370c01161ea6aafb71460f74f469cb400394) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 71f536c9ca..f6e483b0ed 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3789,7 +3789,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (define-public gnome-mines (package (name "gnome-mines") - (version "3.32.2") + (version "3.34.0") (source (origin (method url-fetch) @@ -3798,7 +3798,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") name "-" version ".tar.xz")) (sha256 (base32 - "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g")))) + "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t -- cgit 1.4.1 From 857eb19088e15a674fb55dbc6a96b48dcdd35dcf Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 10:41:35 -0500 Subject: gnu: gnome-sudoku: Update to 3.34.1. * gnu/packages/gnome.scm (gnome-sudoku): Update to 3.34.1. (cherry picked from commit d82cdcd537040e53e1c423a7994c0c773f2c71d6) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f6e483b0ed..2fb0303580 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3832,7 +3832,7 @@ floating in an ocean using only your brain and a little bit of luck.") (define-public gnome-sudoku (package (name "gnome-sudoku") - (version "3.32.0") + (version "3.34.1") (source (origin (method url-fetch) @@ -3841,7 +3841,7 @@ floating in an ocean using only your brain and a little bit of luck.") name "-" version ".tar.xz")) (sha256 (base32 - "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l")))) + "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t -- cgit 1.4.1 From 8ae23a1d168be9ff22cb02cee2bb37a4cdc5e2ae Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 10:43:22 -0500 Subject: gnu: devhelp: Update to 3.34.0. * gnu/packages/gnome.scm (devhelp): Update to 3.34.0. (cherry picked from commit df8dfba27d09cb19c94f81b666bc7ad91c65fb79) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2fb0303580..ec8e21a902 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4364,7 +4364,7 @@ both a traditional UI or a modern UI with a GtkHeaderBar.") (define-public devhelp (package (name "devhelp") - (version "3.32.0") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4372,7 +4372,7 @@ both a traditional UI or a modern UI with a GtkHeaderBar.") name "-" version ".tar.xz")) (sha256 (base32 - "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq")))) + "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t -- cgit 1.4.1 From 18364fbc30f505aa744141f24478f20e82234620 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 10:46:47 -0500 Subject: gnu: gnome-klotski: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-klotski): Update to 3.34.0. (cherry picked from commit d2fce9c85e92cd7b1ebcd69ef130fb31f9d51bc9) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ec8e21a902..948fffaf5d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4695,7 +4695,7 @@ GNOME Games, but it may be used by others.") (define-public gnome-klotski (package (name "gnome-klotski") - (version "3.32.0") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4703,7 +4703,7 @@ GNOME Games, but it may be used by others.") name "-" version ".tar.xz")) (sha256 (base32 - "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72")))) + "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t -- cgit 1.4.1 From feee5ff5e83d31ef361840f200ecc1d57666358d Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 10:51:44 -0500 Subject: gnu: gnome-clocks: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-clocks): Update to 3.34.0. [arguments]: Add phase to skip gtk-update-icon-cache. [native-inputs]: Remove gtk+:bin. (cherry picked from commit 0293a06e5524ca9e894f111f68c1c9e7b6263810) --- gnu/packages/gnome.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 948fffaf5d..0b82161a57 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7966,7 +7966,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") (define-public gnome-clocks (package (name "gnome-clocks") - (version "3.32.0") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7974,15 +7974,22 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") name "-" version ".tar.xz")) (sha256 (base32 - "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc")))) + "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1")))) (build-system meson-build-system) (arguments - '(#:glib-or-gtk? #t)) + '(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/post-install.py" + (("gtk-update-icon-cache") "true")) + #t))))) (native-inputs `(("vala" ,vala) ("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; for glib-compile-resources - ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("desktop-file-utils" ,desktop-file-utils) ("gettext" ,gettext-minimal) ("itstool" ,itstool))) -- cgit 1.4.1 From 27dd1d76b26e633507679116b9d0bdad77f0ab47 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 11:03:33 -0500 Subject: gnu: gnome-calendar: Update to 3.34.2. * gnu/packages/gnome.scm (gnome-calendar): Update to 3.34.2. [arguments]: Add phase to skip gtk-update-icon-cache. [native-inputs]: Remove gtk+:bin. (cherry picked from commit 2f7f0be50c267a55624ac27b44542aebfffdad5e) --- gnu/packages/gnome.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0b82161a57..3f3ef21058 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8011,7 +8011,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") (define-public gnome-calendar (package (name "gnome-calendar") - (version "3.32.2") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8019,17 +8019,24 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") name "-" version ".tar.xz")) (sha256 (base32 - "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k")))) + "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t ;; gnome-calendar has to be installed before the tests can be run ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224 - #:tests? #f)) + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson/meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib-bin" ,glib "bin") ; For glib-compile-schemas - ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache ("pkg-config" ,pkg-config))) (inputs `(("evolution-data-server" ,evolution-data-server) -- cgit 1.4.1 From 4add1bae4ba619e11ae685137edbce81caa66023 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 11:06:29 -0500 Subject: gnu: gnome-tweaks: Update to 3.34.0. * gnu/packages/gnome.scm (gnome-tweaks): Update to 3.34.0. [arguments]: Add phase to skip gtk-update-icon-cache. [native-inputs]: Remove gtk+:bin. [inputs]: Add libhandy. (cherry picked from commit 097da4b45a2e7d39d586e4a36973b1eaea9df9e8) --- gnu/packages/gnome.scm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3f3ef21058..f550470741 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8148,7 +8148,7 @@ existing databases over the internet.") (define-public gnome-tweaks (package (name "gnome-tweaks") - (version "3.32.0") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-tweaks/" @@ -8158,7 +8158,7 @@ existing databases over the internet.") (list (search-patch "gnome-tweaks-search-paths.patch"))) (sha256 (base32 - "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55")))) + "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -8168,6 +8168,12 @@ existing databases over the internet.") ,@%meson-build-system-modules) #:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson-postinstall.py" + (("gtk-update-icon-cache") "true")) + #t)) (add-after 'install 'wrap (@@ (guix build python-build-system) wrap)) (add-after 'wrap 'wrap-gi-typelib @@ -8178,14 +8184,14 @@ existing databases over the internet.") `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) #t))))) (native-inputs - `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache - ("intltool" ,intltool) + `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs `(("gnome-desktop" ,gnome-desktop) ("gtk+" ,gtk+) ("gobject-introspection" ,gobject-introspection) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("libhandy" ,libhandy) ("libnotify" ,libnotify) ("libsoup" ,libsoup) ("nautilus" ,nautilus) -- cgit 1.4.1 From c73054669bc66610073af5f2b99eba04d017a03d Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 11:09:19 -0500 Subject: gnu: gnome-shell-extensions: Update to 3.34.2. * gnu/packages/gnome.scm (gnome-shell-extensions): Update to 3.34.2. (cherry picked from commit c7587d3ef346554468475202c4ec436ad4ef3b65) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f550470741..e7f10077b7 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8209,7 +8209,7 @@ GNOME Shell appearance and extension, etc.") (define-public gnome-shell-extensions (package (name "gnome-shell-extensions") - (version "3.32.1") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8217,7 +8217,7 @@ GNOME Shell appearance and extension, etc.") name "-" version ".tar.xz")) (sha256 (base32 - "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2")))) + "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1")))) (build-system meson-build-system) (arguments '(#:configure-flags '("-Dextension_set=all"))) -- cgit 1.4.1 From 30e76da11586f4034d527ecf2303f56c2da0e2dd Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 11:15:57 -0500 Subject: gnu: orca: Update to 3.34.1. * gnu/packages/gnome.scm (orca): Update to 3.34.1. (cherry picked from commit f6342be942f03c8e63f6fbe863597c0e5f8ffc83) --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e7f10077b7..c33e8ab022 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8770,7 +8770,7 @@ accessibility infrastructure.") (define-public orca (package (name "orca") - (version "3.32.0") + (version "3.34.1") (source (origin (method url-fetch) (uri (string-append @@ -8779,7 +8779,7 @@ accessibility infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i")))) + "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4")))) (build-system glib-or-gtk-build-system) (arguments '(#:phases -- cgit 1.4.1 From 3a7e066f717754133c71306bcf7c8dccf1fff314 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 13:00:36 -0500 Subject: gnu: cheese: Update to 3.34.0. * gnu/packages/gnome.scm (cheese): Update to 3.34.0. [build-system]: Use meson-build-system. [arguments]: Set #:glib-or-gtk? flag. Adjust 'skip-gtk-update-icon-cache' phase and run it after the 'unpack' phase. [native-inputs]: Add docbook-xsl, gtk-doc, and libxslt. (cherry picked from commit e96f871c3603da785e31a3c130ae1d1a64827a93) --- gnu/packages/gnome.scm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c33e8ab022..6de7aaf7c6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9034,7 +9034,7 @@ photo-booth-like software, such as Cheese.") (define-public cheese (package (name "cheese") - (version "3.32.1") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9042,16 +9042,17 @@ photo-booth-like software, such as Cheese.") version ".tar.xz")) (sha256 (base32 - "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv")))) + "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni")))) (arguments - ;; Tests require GDK. - `(#:tests? #f + `(#:glib-or-gtk? #t + ;; Tests require GDK. + #:tests? #f #:phases (modify-phases %standard-phases - (add-before 'install 'skip-gtk-update-icon-cache + (add-after 'unpack 'skip-gtk-update-icon-cache (lambda _ ;; Don't create 'icon-theme.cache' - (substitute* "Makefile" + (substitute* "meson_post_install.py" (("gtk-update-icon-cache") (which "true"))) #t)) (add-after 'install 'wrap-cheese @@ -9061,12 +9062,15 @@ photo-booth-like software, such as Cheese.") (wrap-program (string-append out "/bin/cheese") `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))) #t))))) - (build-system glib-or-gtk-build-system) + (build-system meson-build-system) (native-inputs - `(("glib:bin" ,glib "bin") + `(("docbook-xsl" ,docbook-xsl) + ("glib:bin" ,glib "bin") + ("gtk-doc" ,gtk-doc) ("intltool" ,intltool) ("itstool" ,itstool) ("libxml2" ,libxml2) + ("libxslt" ,libxslt) ("pkg-config" ,pkg-config) ("vala" ,vala))) (propagated-inputs -- cgit 1.4.1 From 5b4ebb42dc6b8fa9d8e9e79b63977a5d344628b5 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Dec 2019 13:06:46 -0500 Subject: gnu: gnome-maps: Update to 3.34.2. * gnu/packages/geo.scm (gnome-maps): Update to 3.34.2. (cherry picked from commit 08c5ffd3c283cd479602540cce4e0d40be4f4187) --- gnu/packages/geo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index a8f5153b32..d78e2e0f11 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -140,7 +140,7 @@ topology functions.") (define-public gnome-maps (package (name "gnome-maps") - (version "3.32.2.1") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -148,7 +148,7 @@ topology functions.") name "-" version ".tar.xz")) (sha256 (base32 - "1m191iq1gjaqz79ci3dkbmwrkxp7pzknngimlf5bqib5x8yairlb")))) + "00xslcnhhwslqglgfv2im7vq3awa49y2jxzr8wsby7f713k28vf5")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t -- cgit 1.4.1 From 123e429e4ca29c385e5ea0ff13b1685de081bbd4 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 14 Apr 2020 11:06:07 -0400 Subject: gnu: libical: Enable introspection and Vala bindings. * gnu/packages/calendar.scm (libical)[arguments]: Enable introspection and Vala bindings. [native-inputs]: Add gobject-introspection and vala. (cherry picked from commit 1538791f2003620ff3436cba316a594931a5ab72) --- gnu/packages/calendar.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index bd47800d1d..5132a9d8ab 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages dav) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages perl) @@ -136,7 +137,10 @@ the library for handling time zones and leap seconds.") (build-system cmake-build-system) (arguments '(#:tests? #f ; test suite appears broken - #:configure-flags '("-DSHARED_ONLY=true") + #:configure-flags '("-DSHARED_ONLY=true" + ;; required by evolution-data-server + "-DGOBJECT_INTROSPECTION=true" + "-DICAL_GLIB_VAPI=true") #:phases (modify-phases %standard-phases (add-before 'configure 'patch-paths @@ -153,9 +157,11 @@ the library for handling time zones and leap seconds.") (("\\\"/usr/share/lib/zoneinfo\\\"") ""))) #t))))) (native-inputs - `(("gtk-doc" ,gtk-doc) + `(("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) ("perl" ,perl) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) (inputs `(("glib" ,glib) ("libxml2" ,libxml2) -- cgit 1.4.1 From 45b320d9f8e3e0780d1d47474b46edfa4a590ad7 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 18 Apr 2020 18:34:51 -0400 Subject: gnu: gdm: Update patch for GDM 3.34. * gnu/packages/patches/gdm-default-session.patch: Update patch for new version of GDM. --- gnu/packages/patches/gdm-default-session.patch | 44 ++++++++++++-------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/gnu/packages/patches/gdm-default-session.patch b/gnu/packages/patches/gdm-default-session.patch index 4839a04de4..9ab2829cdb 100644 --- a/gnu/packages/patches/gdm-default-session.patch +++ b/gnu/packages/patches/gdm-default-session.patch @@ -5,11 +5,10 @@ and not in the directories listed in $XDG_DATA_DIRS. The latter includes Fixes . -diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c -index 6a116a8..02c1458 100644 ---- a/daemon/gdm-session.c -+++ b/daemon/gdm-session.c -@@ -348,24 +348,18 @@ get_system_session_dirs (GdmSession *self) +diff -ur a/daemon/gdm-session.c b/daemon/gdm-session.c +--- a/daemon/gdm-session.c 2019-09-25 10:40:24.000000000 -0400 ++++ b/daemon/gdm-session.c 2020-04-18 18:30:02.671856808 -0400 +@@ -348,24 +348,18 @@ GArray *search_array = NULL; char **search_dirs; int i; @@ -35,7 +34,7 @@ index 6a116a8..02c1458 100644 g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs)); #ifdef ENABLE_WAYLAND_SUPPORT -@@ -373,16 +367,7 @@ get_system_session_dirs (GdmSession *self) +@@ -373,16 +367,7 @@ #ifdef ENABLE_USER_DISPLAY_SERVER g_array_prepend_val (search_array, wayland_search_dir); @@ -52,40 +51,39 @@ index 6a116a8..02c1458 100644 g_array_append_val (search_array, wayland_search_dir); #endif } -diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c -index afbc5c0..bb5e3e6 100644 ---- a/libgdm/gdm-sessions.c -+++ b/libgdm/gdm-sessions.c -@@ -238,19 +238,11 @@ collect_sessions (void) +diff -ur a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c +--- a/libgdm/gdm-sessions.c 2019-10-07 04:53:35.000000000 -0400 ++++ b/libgdm/gdm-sessions.c 2020-04-18 18:31:42.491348691 -0400 +@@ -245,19 +245,12 @@ "/etc/X11/sessions/", DMCONFDIR "/Sessions/", DATADIR "/gdm/BuiltInSessions/", - DATADIR "/xsessions/", -- NULL + "/run/current-system/profile/share/xsessions/" }; - xorg_search_array = g_array_new (TRUE, TRUE, sizeof (char *)); + names_seen_before = g_hash_table_new (g_str_hash, g_str_equal); + xorg_search_array = g_ptr_array_new_with_free_func (g_free); - const gchar * const *system_data_dirs = g_get_system_data_dirs (); - - for (i = 0; system_data_dirs[i]; i++) { - session_dir = g_build_filename (system_data_dirs[i], "xsessions", NULL); -- g_array_append_val (xorg_search_array, session_dir); +- g_ptr_array_add (xorg_search_array, session_dir); - } - - g_array_append_vals (xorg_search_array, xorg_search_dirs, G_N_ELEMENTS (xorg_search_dirs)); - - #ifdef ENABLE_WAYLAND_SUPPORT -@@ -261,11 +253,6 @@ collect_sessions (void) + for (i = 0; i < G_N_ELEMENTS (xorg_search_dirs); i++) { + g_ptr_array_add (xorg_search_array, g_strdup (xorg_search_dirs[i])); + } +@@ -269,11 +262,6 @@ - wayland_search_array = g_array_new (TRUE, TRUE, sizeof (char *)); + wayland_search_array = g_ptr_array_new_with_free_func (g_free); - for (i = 0; system_data_dirs[i]; i++) { - session_dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL); -- g_array_append_val (wayland_search_array, session_dir); +- g_ptr_array_add (wayland_search_array, session_dir); - } - - g_array_append_vals (wayland_search_array, wayland_search_dirs, G_N_ELEMENTS (wayland_search_dirs)); - #endif - + for (i = 0; i < G_N_ELEMENTS (wayland_search_dirs); i++) { + g_ptr_array_add (wayland_search_array, g_strdup (wayland_search_dirs[i])); + } -- cgit 1.4.1 From 9a749af4677ef3d63cd4cd46c05045b53cb64dc1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Apr 2020 19:39:00 +0200 Subject: installer: Add GC root for Guile 3.0. * gnu/system/install.scm (%installation-services)[gc-root-service-type]: Add GC root for GUILE-3.0 instead of GUILE-2.2. --- gnu/system/install.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 8b3a5d5fc0..c1481d13e2 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -442,7 +442,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (list bare-bones-os glibc-utf8-locales texinfo - guile-2.2)) + guile-3.0)) ;; Machines without Kernel Mode Setting (those with many old and ;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI -- cgit 1.4.1 From 0e907e27ed0066a0be56a7ace8a5fca6a36376eb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 19 Apr 2020 15:52:35 +0200 Subject: gnu: boost-static: Adjust for Python 3 migration in Boost. * gnu/packages/boost.scm (boost-static)[arguments]: Adjust libboost_python27.a file name to take the Python 3 counterpart in the provide_libboost_python phase. --- gnu/packages/boost.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index afdbdbd15b..c3fc144cec 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -210,10 +210,18 @@ across a broad spectrum of applications.") ((#:phases phases) `(modify-phases ,phases (replace 'provide-libboost_python - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (python-version (python-version + (assoc-ref inputs "python"))) + (libboost_pythonNN.a + (string-append "libboost_python" + (string-join (string-split + python-version #\.) + "") + ".a"))) (with-directory-excursion (string-append out "/lib") - (symlink "libboost_python27.a" "libboost_python.a")) + (symlink libboost_pythonNN.a "libboost_python.a")) #t))))))))) (define-public boost-1.69 -- cgit 1.4.1 From 189bfb555d1a5cac8d705588a0c7ccdeaafd6a99 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Mon, 13 Apr 2020 07:47:38 +0200 Subject: gnu: python: Build fix for the Hurd. * gnu/packages/python.scm (python-2.7)[arguments]: Add `fix-regen' stage to correct a reference to "/usr". (python-3.8): Remove build fix for 2.x..3.5.9 that breaks on 3.8.2. --- gnu/packages/python.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index f0a6193a92..a30ad6fb6e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -58,6 +58,7 @@ ;;; Copyright © 2018 Luther Thompson ;;; Copyright © 2018 Vagrant Cascadian ;;; Copyright © 2019 Tanguy Le Carrour +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,6 +82,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages dbm) + #:use-module (gnu packages hurd) #:use-module (gnu packages libffi) #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) @@ -197,6 +199,14 @@ "Lib/test/test_subprocess.py")) (("/bin/sh") (which "sh"))) #t)) + ,@(if (hurd-system?) + `((add-before 'build 'patch-regen-for-hurd + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (assoc-ref inputs "libc"))) + (substitute* "Lib/plat-generic/regen" + (("/usr/include/") (string-append libc "/include/"))) + #t)))) + '()) (add-before 'configure 'do-not-record-configure-flags (lambda* (#:key configure-flags #:allow-other-keys) ;; Remove configure flags from the installed '_sysconfigdata.py' @@ -383,7 +393,9 @@ data types.") " test_socket"))) ((#:phases phases) `(modify-phases ,phases - + ,@(if (hurd-system?) + `((delete 'patch-regen-for-hurd)) ;regen was removed after 3.5.9 + '()) (add-before 'check 'set-TZDIR (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; test_email requires the Olson time zone database. -- cgit 1.4.1 From 1c5063af86246917853992421a11997470feff77 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Mon, 13 Apr 2020 00:11:27 +0200 Subject: gnu: commencement: Build fix for python-boot0 on the Hurd. Unlike during a non-chroot'ed build on Debian/Hurd, there is no /usr/include. * gnu/packages/commencement.scm (python-boot0)[arguments]: When building on the Hurd, add `fix-regen' stage to correct a reference to "/usr". --- gnu/packages/commencement.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 41d7772eea..f74be83912 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3217,7 +3217,15 @@ memoized as a function of '%current-system'." ;; built, since it requires Linux headers. (("'linux', ") "")) #t)) - (delete 'set-TZDIR))) + (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)))))) (define/system-dependent ld-wrapper-boot0 -- cgit 1.4.1 From fc179005835365c7233b2b7f5abe838404ddf869 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 17 Apr 2020 11:43:23 +0200 Subject: gnu: git: Resurrect cross-compilation. * gnu/packages/version-control.scm (git-cross-configure-flags): Add missing "ac_cv_iconv_omits_bom" flag. (git)[arguments]: Avoid modify-PATH stage when cross-compiling as it depends on non-present "bash-for-tests". --- gnu/packages/version-control.scm | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index b0cf2bd152..88a25f04f1 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2020 Roel Janssen ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2020 John D. Boy +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -147,7 +148,8 @@ as well as the classic centralized workflow.") (define git-cross-configure-flags '("ac_cv_fread_reads_directories=yes" - "ac_cv_snprintf_returns_bogus=no")) + "ac_cv_snprintf_returns_bogus=no" + "ac_cv_iconv_omits_bom=no")) (define-public git (package @@ -251,16 +253,19 @@ as well as the classic centralized workflow.") ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases - (add-after 'unpack 'modify-PATH - (lambda* (#:key inputs #:allow-other-keys) - (let ((path (string-split (getenv "PATH") #\:)) - (bash-full (assoc-ref inputs "bash-for-tests"))) - ;; Drop the test bash from PATH so that (which "sh") and - ;; similar does the right thing. - (setenv "PATH" (string-join - (remove (cut string-prefix? bash-full <>) path) - ":")) - #t))) + ;; We do not have bash-for-tests when cross-compiling. + ,@(if (%current-target-system) + '() + `((add-after 'unpack 'modify-PATH + (lambda* (#:key inputs #:allow-other-keys) + (let ((path (string-split (getenv "PATH") #\:)) + (bash-full (assoc-ref inputs "bash-for-tests"))) + ;; Drop the test bash from PATH so that (which "sh") and + ;; similar does the right thing. + (setenv "PATH" (string-join + (remove (cut string-prefix? bash-full <>) path) + ":")) + #t))))) ;; Add cross curl-config script to PATH when cross-compiling. ,@(if (%current-target-system) '((add-before 'configure 'add-cross-curl-config -- cgit 1.4.1 From 457ded48c54ba04489cb871d3ec6bda0c59bead7 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 17 Apr 2020 12:32:44 +0200 Subject: gnu: git: Fix for cross-compiling to the Hurd. * gnu/packages/version-control.scm (git)[arguments]: When cross-compiling, fix `config.mak.uname' kludge to use the host system configuration. --- gnu/packages/version-control.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 88a25f04f1..7fc0244bc9 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -253,9 +253,17 @@ as well as the classic centralized workflow.") ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases - ;; We do not have bash-for-tests when cross-compiling. ,@(if (%current-target-system) - '() + ;; The git build system assumes build == host + `((add-after 'unpack 'use-host-uname_S + (lambda _ + (substitute* "config.mak.uname" + (("uname_S := .*" all) + (if (equal? ,(%current-target-system) "i586-pc-gnu") + "uname_S := GNU\n" + all))) + #t))) + ;; We do not have bash-for-tests when cross-compiling. `((add-after 'unpack 'modify-PATH (lambda* (#:key inputs #:allow-other-keys) (let ((path (string-split (getenv "PATH") #\:)) -- cgit 1.4.1 From 48acdefe2e39278bb53ab54995e4a2aca973e99c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 19 Apr 2020 21:51:33 -0400 Subject: gnu: linphoneqt: Add the missing ring sound files. * gnu/packages/linphone.scm (linphoneqt)[phases]: Add an 'extend-shared-resources phase. --- gnu/packages/linphone.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 4f142312cc..b9d455ab3e 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -501,7 +501,17 @@ and video calls or instant messaging capabilities to an application.") (substitute* "src/app/AppController.cpp" (("LINPHONE_QT_GIT_VERSION") (format #f "~s" ,version))) - #t))))) + #t)) + (add-after 'install 'extend-shared-resources + ;; Not using the FHS exposes an issue where the client refers to + ;; its own "share" directory, which lacks sound files installed by + ;; liblinphone. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((liblinphone (assoc-ref inputs "linphone")) + (out (assoc-ref outputs "out"))) + (symlink (string-append liblinphone "/share/sounds") + (string-append out "/share/sounds")) + #t)))))) (native-inputs `(("qttools" ,qttools))) (inputs -- cgit 1.4.1 From eaff60b35fed75c60d0db76c589e17d1500f60dd Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sat, 18 Apr 2020 17:05:48 +0200 Subject: gnu: perl: Actually produce a host perl when cross-compiling. * gnu/packages/patches/perl-cross.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/perl.scm (perl)[native-inputs]: When cross-compiling, add `perl-cross' input and perl-cross.patch. [arguments]: When cross-compiling, use them to produce binary for host. --- gnu/local.mk | 1 + gnu/packages/patches/perl-cross.patch | 60 ++++++++++++++++++++ gnu/packages/perl.scm | 103 ++++++++++++++++++++++++++++++++-- 3 files changed, 159 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/perl-cross.patch diff --git a/gnu/local.mk b/gnu/local.mk index 08b659c929..749e93ec07 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1318,6 +1318,7 @@ dist_patch_DATA = \ %D%/packages/patches/patchutils-test-perms.patch \ %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 \ diff --git a/gnu/packages/patches/perl-cross.patch b/gnu/packages/patches/perl-cross.patch new file mode 100644 index 0000000000..a7d10b4e1f --- /dev/null +++ b/gnu/packages/patches/perl-cross.patch @@ -0,0 +1,60 @@ +Submitted upstream. + +From 4c3eb19a11dfe5c88c902481a8294c4f675fcd03 Mon Sep 17 00:00:00 2001 +From: "Jan (janneke) Nieuwenhuizen" +Date: Sun, 19 Apr 2020 23:33:28 +0200 +Subject: [PATCH] Support cross-compiling to the Hurd. + +* cnf/hints/gnu: New file. +* cnf/configure_tool.sh: Guess it. +--- + cnf/configure_tool.sh | 4 ++++ + cnf/hints/gnu | 21 +++++++++++++++++++++ + 2 files changed, 25 insertions(+) + create mode 100644 cnf/hints/gnu + +diff --git a/cnf/configure_tool.sh b/cnf/configure_tool.sh +index 32201c0..7b0baa4 100644 +--- a/cnf/configure_tool.sh ++++ b/cnf/configure_tool.sh +@@ -266,6 +266,10 @@ if not hinted 'osname'; then + define osname "bsd" + result "BSD" + ;; ++ *-gnu*) ++ define osname "gnu" ++ result "GNU" ++ ;; + *) + result "no" + ;; +diff --git a/cnf/hints/gnu b/cnf/hints/gnu +new file mode 100644 +index 0000000..a0583a2 +--- /dev/null ++++ b/cnf/hints/gnu +@@ -0,0 +1,21 @@ ++# Hurd syscalls ++d_voidsig='define' ++d_nanosleep='undef' ++d_clock_gettime='define' ++d_clock_getres='define' ++d_clock_nanosleep='define' ++d_clock='define' ++ ++# From the original linux.sh ++usemallocwrap='define' ++ ++# libraries to test ++libswanted='m crypt pthread nm ndbm gdbm dbm db dl gdbm_compat' ++ ++d_procselfexe='undef' ++procselfexe='"undef"' ++ ++st_ino_sign=1 ++st_ino_size=8 ++ ++d_fcntl_can_lock='define' +-- +2.26.0 + diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d6a75506ec..a47cc6b254 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016 Alex Sassmannshausen ;;; Copyright © 2016, 2018, 2020 Roel Janssen ;;; Copyright © 2016 Ben Woodcroft -;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2017 Raoul J.P. Bonnal ;;; Copyright © 2017, 2018 Marius Bakke ;;; Copyright © 2017 Adriano Peluso @@ -48,14 +48,17 @@ #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gd) + #:use-module (gnu packages hurd) #:use-module (gnu packages less) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl-check) @@ -110,6 +113,8 @@ (add-before 'configure 'setup-configure (lambda _ ;; Use the right path for `pwd'. + ;; TODO: use coreutils from INPUTS instead of 'which' + ;; in next rebuild cycle, see fixup below. (substitute* "dist/PathTools/Cwd.pm" (("/bin/pwd") (which "pwd"))) @@ -120,10 +125,80 @@ (("-std=c89") "-std=gnu89")) #t)) - (replace 'configure - (lambda* (#:key configure-flags #:allow-other-keys) - (format #t "Perl configure flags: ~s~%" configure-flags) - (apply invoke "./Configure" configure-flags))) + ,@(if (%current-target-system) + `((add-after 'unpack 'unpack-cross + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((cross-checkout + (assoc-ref native-inputs "perl-cross")) + (cross-patch + (assoc-ref native-inputs "perl-cross-patch"))) + (rename-file "Artistic" "Artistic.perl") + (rename-file "Copying" "Copying.perl") + (copy-recursively cross-checkout ".") + (format #t "Applying ~a\n" cross-patch) + (invoke "patch" "-p1" "-i" cross-patch)) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* '("Makefile.config.SH" + "cnf/config.guess" + "cnf/config.sub" + "cnf/configure" + "cnf/configure_misc.sh" + "miniperl_top") + (("! */bin/sh") (string-append "! " bash "/bin/bash")) + ((" /bin/sh") (string-append bash "/bin/bash"))) + (substitute* '("ext/Errno/Errno_pm.PL") + (("\\$cpp < errno.c") "$Config{cc} -E errno.c"))) + #t)) + (replace 'configure + (lambda* (#:key configure-flags outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (store-directory (%store-directory)) + (configure-flags + (cons* + ;; `perl-cross' confuses target and host + (string-append "--target=" ,(%current-target-system)) + (string-append "--prefix=" out) + (string-append "-Dcc=" ,(%current-target-system) "-gcc") + "-Dbyteorder=1234" + (filter (negate + (lambda (x) (or (string-prefix? "-d" x) + (string-prefix? "-Dcc=" x)))) + configure-flags))) + (bash (assoc-ref inputs "bash")) + (coreutils (assoc-ref inputs "coreutils"))) + (format (current-error-port) + "running ./configure ~a\n" (string-join configure-flags)) + (apply invoke (cons "./configure" configure-flags)) + (substitute* "config.sh" + (((string-append store-directory "/[^/]*-bash-[^/]*")) + bash)) + (substitute* '("config.h") + (("^#define SH_PATH .*") + (string-append "#define SH_PATH \"" bash "/bin/bash\"\n"))) + ;;TODO: fix this in setup-configure next rebuild cycle + (substitute* "dist/PathTools/Cwd.pm" + (((string-append store-directory "/[^/]*-coreutils-[^/]*")) + coreutils)) + #t))) + (add-after 'build 'touch-non-built-files-for-install + (lambda _ + ;; `make install' wants to install these although they do + ;; not get built... + (with-directory-excursion "cpan" + (mkdir-p "Pod-Usage/blib/script") + (mkdir-p "Pod-Parser/blib/script") + (for-each (lambda (file) + (call-with-output-file file + (lambda (port) (display "" port)))) + '("Pod-Usage/blib/script/pod2text" + "Pod-Usage/blib/script/pod2usage" + "Pod-Checker/blib/script/podchecker" + "Pod-Parser/blib/script/podselect"))) + #t))) + `((replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + (format #t "Perl configure flags: ~s~%" configure-flags) + (apply invoke "./Configure" configure-flags))))) (add-after 'install 'remove-extra-references (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -152,6 +227,24 @@ "/lib',\n")))) config2) #t)))))) + (inputs + (if (%current-target-system) + `(("bash" ,bash-minimal) + ("coreutils" ,coreutils)) + '())) + (native-inputs + (if (%current-target-system) + `(("perl-cross" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arsv/perl-cross") + (commit "1.3.3"))) + (file-name (git-file-name "perl-cross" "1.3.3")) + (sha256 + (base32 "065qbl1x44maykaj8p8za0b6qxj74bz7fi2zsrlydir1mqb1js3d")))) + ("perl-cross-patch" ,@(search-patches "perl-cross.patch"))) + '())) (native-search-paths (list (search-path-specification (variable "PERL5LIB") (files '("lib/perl5/site_perl"))))) -- cgit 1.4.1 From 2d49f175125cb83b3cffae89026404138f463aa3 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Wed, 15 Apr 2020 18:14:24 +0200 Subject: gnu: tls: Remove datefudge and disable tests on the Hurd. * gnu/packages/tls.scm (gnutls)[arguments]: When compiling for the Hurd, disable tests. [native-inputs]: When compiling for the Hurd, do not include datefudge. --- gnu/packages/tls.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 27d38ed258..c1bb7f6be0 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -181,7 +181,8 @@ living in the same process.") "0jvca1qahn9lrwv6f5kfs95icirc15b2a8x9fzczyj996ipg3b5z")))) (build-system gnu-build-system) (arguments - `(; Ensure we don't keep a reference to this buggy software. + `(,@(if (hurd-target?) '(#:tests? #f) '()) + ; Ensure we don't keep a reference to this buggy software. #:disallowed-references (,net-tools) #:configure-flags (list @@ -230,7 +231,8 @@ living in the same process.") `(("net-tools" ,net-tools))) ("pkg-config" ,pkg-config) ("which" ,which) - ("datefudge" ,datefudge) ;tests rely on 'datefudge' + ,@(if (hurd-target?) '() + `(("datefudge" ,datefudge))) ;tests rely on 'datefudge' ("util-linux" ,util-linux))) ;one test needs 'setsid' (inputs `(("guile" ,guile-3.0))) -- cgit 1.4.1 From a7c3c5dcca21d9f708ca918e83ad3a55bd259fd7 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Thu, 16 Apr 2020 13:35:47 +0200 Subject: gnu: cmake: Remove "libuv" dependency for the Hurd. * gnu/packages/cmake.scm (cmake-bootstrap)[inputs]: When compiling for the Hurd, remove "libuv". --- gnu/packages/cmake.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index e24979d2b2..cf3bc406bc 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2019 Pierre-Moana Levesque +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,7 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages file) + #:use-module (gnu packages hurd) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses) #:use-module (gnu packages serialization) @@ -206,7 +208,9 @@ ("expat" ,expat) ("file" ,file) ("libarchive" ,libarchive) - ("libuv" ,libuv) + ,@(if (hurd-target?) + '() + `(("libuv" ,libuv))) ;not supported on the Hurd ("ncurses" ,ncurses) ;required for ccmake ("rhash" ,rhash) ("zlib" ,zlib))) -- cgit 1.4.1 From aa8db0ed0de700f6a6977b9bda2ea02b28224301 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Mon, 13 Apr 2020 07:42:07 +0200 Subject: gnu: coreutils: Mark three more tests XFAIL on the Hurd. * gnu/packages/base.scm (coreutils)[arguments]: Add three more failing tests. --- gnu/packages/base.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 80a158a685..9041d99b65 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -327,7 +327,10 @@ used to apply commands with arbitrarily long arguments.") (list (string-append "XFAIL_TESTS=tests/misc/env-S.pl" " tests/misc/kill.sh" " tests/misc/nice.sh" + " tests/misc/shred-passes.sh" " tests/split/fail.sh" + " tests/split/l-chunk.sh" + " tests/dd/stats.sh" " test-fdutimensat" " test-futimens" " test-linkat" -- cgit 1.4.1 From 4e0059beb1a7cf857f1575792febf995aadbef40 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Wed, 15 Apr 2020 09:42:09 +0200 Subject: gnu: tar: Disable troublesome tests on the Hurd. The sparse03.at test apparently freezes the Hurd; messages on the console: 165: listing sparse files bigger than 2^33 ext2fs: device:hd0s1: warning: bit already cleared for block 245780 ext2fs: device:hd0s1: warning: bit already cleared for block 245781 ext2fs: device:hd0s1: warning: bit already cleared for block 245782 ... ext2fs: BUG: unexpected fault on disk image ... err 0xa ext2fs: disk-pager.c:98: fault_handler: Assertion 'err' failed. the other tests just fail. * gnu/packages/base.scm (tar)[arguments]: When compiling for the Hurd, skip `sparse' and failing tests. --- gnu/packages/base.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 9041d99b65..31563bab5c 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -171,7 +171,22 @@ implementation offers several extensions over the standard utility.") (build-system gnu-build-system) ;; Note: test suite requires ~1GiB of disk space. (arguments - `(#:phases (modify-phases %standard-phases + `(,@(if (hurd-target?) + '(#:make-flags + (list (string-append + "TESTSUITEFLAGS= -k '" + "!sparse" + ",!renamed dirs in incrementals" + ",!--exclude-tag option in incremental pass" + ",!incremental dumps with -C" + ",!incremental dumps of nested directories" + ",!incremental restores with -C" + ",!concatenated incremental archives (renames)" + ",!renamed directory containing subdirectories" + ",!renamed subdirectories" + "'"))) + '()) + #:phases (modify-phases %standard-phases (add-before 'build 'set-shell-file-name (lambda* (#:key inputs #:allow-other-keys) ;; Do not use "/bin/sh" to run programs. -- cgit 1.4.1 From ce784e6c2891b585d93ab68909519752685d0e3c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 19 Apr 2020 17:58:03 +0200 Subject: gnu: GNOME: Only include Eye of GNOME on x86_64-linux. * gnu/packages/gnome.scm (gnome)[propagated-inputs]: Conditionally add EOG. --- gnu/packages/gnome.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fbd4c5eb96..fb8c8b9472 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7828,7 +7828,11 @@ world.") ;; GNOME-Core-Utilities ("baobab" ,baobab) ("cheese" ,cheese) - ("eog" ,eog) + ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently + ;; only works on x86_64, so exclude it on other architectures. + ,@(if (string-prefix? "x86_64" (%current-system)) + `(("eog" ,eog)) + '()) ("epiphany" ,epiphany) ("evince" ,evince) ("file-roller" ,file-roller) -- cgit 1.4.1 From f9ea3b242721fd071d033b8aa3fb36caaf3f764c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Apr 2020 13:08:41 +0200 Subject: gnu: python-pyrsistent: Fix build with Pytest 5. * gnu/packages/python-xyz.scm (python-pyrsistent)[arguments]: New field. --- gnu/packages/python-xyz.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0636b2b3ea..c5e9c8e6d7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2264,6 +2264,16 @@ from git information. (base32 "1lrsjgblnapfimd0alsi1as5nz2lfqv97131l7d6anbjzq2rjri8")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + ;; The package works fine with newer Pytest and Hypothesis, but + ;; has pinned older versions to stay compatible with Python 2. + (add-before 'check 'loosen-pytest-requirement + (lambda _ + (substitute* "setup.py" + (("pytest<5") "pytest") + (("hypothesis<5") "hypothesis")) + #t))))) (native-inputs `(("python-hypothesis" ,python-hypothesis) ("python-pytest" ,python-pytest) -- cgit 1.4.1 From 3994b55cd64831b36f52025192580d50028448f7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Apr 2020 13:38:58 +0200 Subject: gnu: python-jedi: Fix test failure with Python 3.8. * gnu/packages/python-xyz.scm (python-jedi)[arguments]: Add phase 'adjust-test-for-python-3.8'. --- gnu/packages/python-xyz.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c5e9c8e6d7..86f4552cc5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11998,6 +11998,14 @@ characters, mouse support, and auto suggestions.") (arguments `(#:phases (modify-phases %standard-phases + (add-before 'check 'adjust-test-for-python-3.8 + (lambda _ + ;; Mimic upstream commit e7feeef64 to allow for extra output lines + ;; in TestSetupReadline on Python 3.8. Remove for jedi > 0.17.0. + (substitute* "test/test_utils.py" + (("assert len\\(difference\\) < 20") + "assert len(difference) < 22")) + #t)) (replace 'check (lambda _ (setenv "HOME" "/tmp") -- cgit 1.4.1 From e5109374d89713268079dff9c0c6a154e2068f8f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Apr 2020 19:07:09 +0200 Subject: gnu: qt@4: Hide the default GCC from CPLUS_INCLUDE_PATH. * gnu/packages/qt.scm (qt-4)[native-inputs]: Distinguish GCC-5. [arguments]: Add phase to hide the default GCC from CPLUS_INCLUDE_PATH to fix conflicting headers. --- gnu/packages/qt.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 238caa117d..8338e5fcfc 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -223,7 +223,7 @@ system, and the core design of Django is reused in Grantlee.") `(;; XXX: The JavaScriptCore engine does not build with the C++11 standard. ;; We could build it with -std=gnu++98, but then we'll get in trouble with ;; ICU later. Just keep using GCC 5 for now. - ("gcc" ,gcc-5) + ("gcc@5" ,gcc-5) ("bison" ,bison) ("flex" ,flex) ("gperf" ,gperf) @@ -240,6 +240,17 @@ system, and the core design of Django is reused in Grantlee.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'set-paths 'hide-default-gcc + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + ;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent + ;; conflicts with the GCC 5 input. + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) + ":")) + #t))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) -- cgit 1.4.1 From b085d43633d28b1810b7bc74f8dff25717056420 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sat, 18 Apr 2020 19:49:54 +0200 Subject: gnu: autoconf: Support cross-build. Autoconf does not cross-built properly: it lacks the concept of -for-build. It runs the host `autom4te' (a perl script) during build. * gnu/packages/autotools.scm (autoconf)[inputs]: Add bash-minimal, perl, and m4. To avoid triggering a rebuild, do this while cross-compiling only. [arguments]: When cross-building, add `patch-non-shebang-references' phase to substitute the host bash, m4 and perl. --- gnu/packages/autotools.scm | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 99ca52730e..26acfad95f 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Pierre-Moana Levesque +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,12 +56,43 @@ (base32 "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4")))) (build-system gnu-build-system) + (inputs + ;; TODO: remove `if' in the next rebuild cycle. + (if (%current-target-system) + `(("bash" ,bash-minimal) + ("perl" ,perl) + ("m4" ,m4)) + '())) (native-inputs `(("perl" ,perl) ("m4" ,m4))) - ;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It - ;; should use our own "cpp" instead of "/lib/cpp". - (arguments `(#:tests? #f)) + (arguments + `(;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It + ;; should use our own "cpp" instead of "/lib/cpp". + #:tests? #f + ,@(if (%current-target-system) + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'patch-non-shebang-references + (lambda* (#:key build inputs outputs #:allow-other-keys) + ;; `patch-shebangs' patches shebangs only, and the Perl + ;; scripts use a re-exec feature that references the + ;; build hosts' perl. Also, BASH and M4 store references + ;; hide in the scripts. + (let ((bash (assoc-ref inputs "bash")) + (m4 (assoc-ref inputs "m4")) + (perl (assoc-ref inputs "perl")) + (out (assoc-ref outputs "out")) + (store-directory (%store-directory))) + (substitute* (find-files (string-append out "/bin")) + (((string-append store-directory "/[^/]*-bash-[^/]*")) + bash) + (((string-append store-directory "/[^/]*-m4-[^/]*")) + m4) + (((string-append store-directory "/[^/]*-perl-[^/]*")) + perl)) + #t))))) + '()))) (home-page "https://www.gnu.org/software/autoconf/") (synopsis "Create source code configuration scripts") (description -- cgit 1.4.1 From d64a6d267db7643edb6c9a76a830be08e147127b Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sat, 18 Apr 2020 19:50:06 +0200 Subject: gnu: automake: Support cross-build. Automake does not cross-built properly: it lacks the concept of -for-build. It runs the host `autoconf' during build. * gnu/packages/autotools.scm (automake)[inputs]: Add autoconf, bash-minimal and perl. To avoid triggering a rebuild, do this while cross-compiling only. [arguments]: When cross-building, add `patch-non-shebang-references' phase to substitute autoconf and perl. --- gnu/packages/autotools.scm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 26acfad95f..657d4d3cb9 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -293,6 +293,13 @@ output is indexed in many ways to simplify browsing.") (patches (search-patches "automake-skip-amhello-tests.patch")))) (build-system gnu-build-system) + (inputs + ;; TODO: remove `if' in the next rebuild cycle. + (if (%current-target-system) + `(("autoconf" ,autoconf-wrapper) + ("bash" ,bash-minimal) + ("perl" ,perl)) + '())) (native-inputs `(("autoconf" ,autoconf-wrapper) ("perl" ,perl))) @@ -301,7 +308,7 @@ output is indexed in many ways to simplify browsing.") (variable "ACLOCAL_PATH") (files '("share/aclocal"))))) (arguments - '(#:modules ((guix build gnu-build-system) + `(#:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1) (srfi srfi-26) @@ -330,6 +337,28 @@ output is indexed in many ways to simplify browsing.") (string-append "exit 77\n" all "\n"))) #t)) + ,@(if (%current-target-system) + `((add-after 'install 'patch-non-shebang-references + (lambda* (#:key build inputs outputs #:allow-other-keys) + ;; `patch-shebangs' patches shebangs only, and the Perl + ;; scripts use a re-exec feature that references the + ;; build hosts' perl. Also, AUTOCONF and BASH store + ;; references hide in the scripts. + (let ((autoconf (assoc-ref inputs "autoconf")) + (bash (assoc-ref inputs "bash")) + (perl (assoc-ref inputs "perl")) + (out (assoc-ref outputs "out")) + (store-directory (%store-directory))) + (substitute* (find-files (string-append out "/bin")) + (((string-append store-directory "/[^/]*-autoconf-[^/]*")) + autoconf) + (((string-append store-directory "/[^/]*-bash-[^/]*")) + bash) + (((string-append store-directory "/[^/]*-perl-[^/]*")) + perl)) + #t)))) + '()) + ;; Files like `install-sh', `mdate.sh', etc. must use ;; #!/bin/sh, otherwise users could leak erroneous shebangs ;; in the wild. See for an -- cgit 1.4.1 From 95c14929a7fbd3c55c5e8756953c2f257625e2b7 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 19 Apr 2020 12:06:46 +0200 Subject: gnu: texinfo: Cross-build fix. * gnu/packages/texinfo.scm (texinfo)[inputs]: Add perl. This makes the host texi2any (makeinfo) refer to the correct perl. To avoid triggering a rebuild, do this while cross-compiling only. --- gnu/packages/texinfo.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 7457d99653..70e050371d 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Pierre-Moana Levesque ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Nicolas Goaziou +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -68,7 +69,11 @@ "env ")) #t)))) '())) - (inputs `(("ncurses" ,ncurses))) + (inputs `(("ncurses" ,ncurses) + ;; TODO: remove `if' in the next rebuild cycle. + ,@(if (%current-target-system) + `(("perl" ,perl)) + '()))) ;; When cross-compiling, texinfo will build some of its own binaries with ;; the native compiler. This means ncurses is needed both in both inputs ;; and native-inputs. -- cgit 1.4.1 From 62c3fd34e498327f1eeae6283b0c54ae56b7282b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Apr 2020 15:34:46 +0200 Subject: gnu: shepherd: Remove obsolete patch. * gnu/packages/patches/shepherd-hurd.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/admin.scm (shepherd)[source](patches): Remove. --- gnu/local.mk | 1 - gnu/packages/admin.scm | 1 - gnu/packages/patches/shepherd-hurd.patch | 44 -------------------------------- 3 files changed, 46 deletions(-) delete mode 100644 gnu/packages/patches/shepherd-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index 535c23d98b..63a9c83c19 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1463,7 +1463,6 @@ dist_patch_DATA = \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ %D%/packages/patches/shadow-hurd-pctrl.patch \ - %D%/packages/patches/shepherd-hurd.patch \ %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \ %D%/packages/patches/slim-session.patch \ %D%/packages/patches/slim-config.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 567c7cfb94..a9240dbdb1 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -206,7 +206,6 @@ and provides a \"top-like\" mode (monitoring).") (method url-fetch) (uri (string-append "mirror://gnu/shepherd/shepherd-" version ".tar.gz")) - (patches (search-patches "shepherd-hurd.patch")) (sha256 (base32 "02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll")))) diff --git a/gnu/packages/patches/shepherd-hurd.patch b/gnu/packages/patches/shepherd-hurd.patch deleted file mode 100644 index 5043e831f2..0000000000 --- a/gnu/packages/patches/shepherd-hurd.patch +++ /dev/null @@ -1,44 +0,0 @@ -Fixes compilation on the Hurd. - -Taken from upstream: http://git.savannah.gnu.org/cgit/shepherd.git/commit/?id=232331369fe2a0495c7c777e11eecabee6257b3f - -From 232331369fe2a0495c7c777e11eecabee6257b3f Mon Sep 17 00:00:00 2001 -From: Jan Nieuwenhuizen -Date: Sat, 7 Mar 2020 22:01:23 +0100 -Subject: [PATCH] system: Support compilation on the Hurd. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* modules/shepherd/system.scm.in (prctl): Wrap 'dynamic-func' call in -'false-if-exception'. - -Co-authored-by: Ludovic Courtès ---- - modules/shepherd/system.scm.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/modules/shepherd/system.scm.in b/modules/shepherd/system.scm.in -index 769404a..0b2cc9d 100644 ---- a/modules/shepherd/system.scm.in -+++ b/modules/shepherd/system.scm.in -@@ -1,6 +1,7 @@ - ;; system.scm -- Low-level operating system interface. - ;; Copyright (C) 2013, 2014, 2016, 2018 Ludovic Courtès - ;; Copyright (C) 2018 Carlo Zancanaro -+;; Copyright (C) 2020 Jan (janneke) Nieuwenhuizen - ;; - ;; This file is part of the GNU Shepherd. - ;; -@@ -145,7 +146,7 @@ ctrlaltdel(8) and see kernel/reboot.c in Linux." - (define PR_SET_CHILD_SUBREAPER @PR_SET_CHILD_SUBREAPER@) - - (define prctl -- (if (dynamic-func "prctl" (dynamic-link)) -+ (if (false-if-exception (dynamic-func "prctl" (dynamic-link))) - (let ((proc (syscall->procedure long "prctl" (list int int)))) - (lambda (process operation) - "Perform an operation on the given process" --- -2.24.0 - -- cgit 1.4.1 From 621caeb73b3feecb9a5f2517663ce03f02274db7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Apr 2020 19:32:24 +0200 Subject: gnu: GCC@8: Remove obsolete patch. This is no longer required since the update to 8.4.0 in 60ce496ad8. * gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gcc.scm (gcc-8)[source](patches): Remove it. --- gnu/local.mk | 1 - gnu/packages/gcc.scm | 1 - .../patches/gcc-8-libsanitizer-mode-size.patch | 56 ---------------------- 3 files changed, 58 deletions(-) delete mode 100644 gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch diff --git a/gnu/local.mk b/gnu/local.mk index 63a9c83c19..7c117b7a6b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -924,7 +924,6 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-4.9-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-6-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-7-libsanitizer-mode-size.patch \ - %D%/packages/patches/gcc-8-libsanitizer-mode-size.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-strmov-store-file-names.patch \ %D%/packages/patches/gcc-4-compile-with-gcc-5.patch \ diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 6221a123d8..b69f3cf4b3 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -547,7 +547,6 @@ It also includes runtime support libraries for these languages."))) (base32 "1m1d3gfix56w4aq8myazzfffkl8bqcrx4jhhapnjf7qfs596w2p3")) (patches (search-patches "gcc-8-strmov-store-file-names.patch" - "gcc-8-libsanitizer-mode-size.patch" "gcc-5.0-libvtv-runpath.patch")))))) (define-public gcc-9 diff --git a/gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch b/gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch deleted file mode 100644 index e343034991..0000000000 --- a/gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch +++ /dev/null @@ -1,56 +0,0 @@ -Fix assertion failure in libsanitizer when using glibc 2.31 and later. - -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92154 -https://reviews.llvm.org/D69104 - -Adapted from these upstream revision: - -https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=277981 -https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=279653 - -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -index a915d37cdfe..5c720b2e700 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -1147,8 +1147,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); - CHECK_SIZE_AND_OFFSET(ipc_perm, gid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); --#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) --/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ -+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) -+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit -+ on many architectures. */ - CHECK_SIZE_AND_OFFSET(ipc_perm, mode); - #endif - -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -index 4d11d071776..eda75a7cd84 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -210,14 +210,8 @@ namespace __sanitizer { - u64 __unused1; - u64 __unused2; - #elif defined(__sparc__) --#if defined(__arch64__) - unsigned mode; -- unsigned short __pad1; --#else -- unsigned short __pad1; -- unsigned short mode; - unsigned short __pad2; --#endif - unsigned short __seq; - unsigned long long __unused1; - unsigned long long __unused2; -@@ -228,8 +222,7 @@ namespace __sanitizer { - unsigned long __unused1; - unsigned long __unused2; - #else -- unsigned short mode; -- unsigned short __pad1; -+ unsigned int mode; - unsigned short __seq; - unsigned short __pad2; - #if defined(__x86_64__) && !defined(_LP64) - -- cgit 1.4.1 From 8176ef86bee124b1cb77a9f893684a3b1222e8ab Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Apr 2020 00:37:07 +0200 Subject: gnu: Update glibc locale compatibility packages for 2.29. * gnu/packages/base.scm (glibc-locales-2.28, glibc-utf8-locales-2.28): Rename to ... (glibc-locales-2.29, glibc-utf8-locales-2.29): ... this. Update to 2.29. --- gnu/packages/base.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 31563bab5c..13971b9f18 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1241,12 +1241,12 @@ test environments.") (make-glibc-utf8-locales glibc)) ;; Packages provided to ease use of binaries linked against the previous libc. -(define-public glibc-locales-2.28 - (package (inherit (make-glibc-locales glibc-2.28)) - (name "glibc-locales-2.28"))) -(define-public glibc-utf8-locales-2.28 - (package (inherit (make-glibc-utf8-locales glibc-2.28)) - (name "glibc-utf8-locales-2.28"))) +(define-public glibc-locales-2.29 + (package (inherit (make-glibc-locales glibc-2.29)) + (name "glibc-locales-2.29"))) +(define-public glibc-utf8-locales-2.29 + (package (inherit (make-glibc-utf8-locales glibc-2.29)) + (name "glibc-utf8-locales-2.29"))) ;; These should no longer be needed. (define-public glibc-utf8-locales-2.27 -- cgit 1.4.1 From 23eb368cd384e082c8f166191b32f37217280088 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Apr 2020 00:37:49 +0200 Subject: gnu: Remove obsolete glibc-locales packages. * gnu/packages/base.scm (glibc-utf8-locales-2.27, glibc-locales-2.27): Remove variables. --- gnu/packages/base.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 13971b9f18..9899067544 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1248,12 +1248,6 @@ test environments.") (package (inherit (make-glibc-utf8-locales glibc-2.29)) (name "glibc-utf8-locales-2.29"))) -;; These should no longer be needed. -(define-public glibc-utf8-locales-2.27 - (deprecated-package "glibc-utf8-locales-2.27" glibc-utf8-locales-2.28)) -(define-public glibc-locales-2.27 - (deprecated-package "glibc-locales-2.27" glibc-locales-2.28)) - (define-public which (package (name "which") -- cgit 1.4.1 From 69c2e0103ab64aa6e0beb7651797de9cfd22a6d7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Apr 2020 00:39:28 +0200 Subject: news: Add entry for the glibc 2.31 upgrade. * etc/news.scm: Add entry for a33eac038a811603c8b9ed106ae405a5f80a0e9d. --- etc/news.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 0bdde6aa8b..ab09a1059c 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -11,6 +11,73 @@ (channel-news (version 0) + (entry (commit "a33eac038a811603c8b9ed106ae405a5f80a0e9d") + (title (en "GNU C Library upgraded") + (de "GNU-C-Bibliothek aktualisiert") + (es "Actualización de la biblioteca C de GNU") + (fr "Mise à jour de la bibliothèque C de GNU") + (nl "GNU C-bibliotheek bijgewerkt")) + (body + (en "The GNU C Library (glibc) has been upgraded to version 2.31. To +run previously-installed programs linked against glibc 2.29, you need to +install locale data for version 2.29 in addition to locale data for 2.31: + +@example +guix install glibc-locales glibc-locales-2.29 +@end example + +On Guix System, you can adjust the @code{locale-libcs} field of your +@code{operating-system} form. Run @code{info \"(guix) Locales\"}, for more +info.") + (de "Die GNU-C-Bibliothek (glibc) wurde auf Version 2.31 +aktualisiert. Um zuvor installierte Programme, die an glibc 2.29 gebunden +worden sind, weiter benutzen zu können, müssen Sie Locale-Daten für Version +2.29 zusätzlich zu den Locale-Daten für 2.31 installieren: + +@example +guix install glibc-locales glibc-locales-2.29 +@end example + +Auf Guix System genügt es, das @code{locale-libcs}-Feld Ihrer +@code{operating-system}-Form anzupassen. Führen Sie @code{info \"(guix.de) +Locales\"} aus, um weitere Informationen dazu zu erhalten.") + (es "Se ha actualizado la biblioteca de C de GNU (glibc) a la versión +2.31. Para ejecutar programas instalados previamente que se encuentren +enlazados con glibc 2.29, es necesario que instale los datos de localización +de la versión 2.29 junto a los datos de localización de la versión 2.31: + +@example +guix install glibc-locales glibc-locales-2.29 +@end example + +En el sistema Guix, puede ajustar el campo @code{locale-libcs} de su +declaración @code{operating-system}. Ejecute @code{info \"(guix.es) +Localizaciones\"} para obtener más información.") + (fr "La bibliothèque C de GNU (glibc) a été mise à jour en version +2.31. Pour pouvoir lancer tes programmes déjà installés et liés à glibc 2.29, +tu dois installer les données pour la version 2.29 en plus des données de +régionalisation pour la version 2.31: + +@example +guix install glibc-locales glibc-locales-2.29 +@end example + +Sur le système Guix, tu peux ajuster le champ @code{locale-libcs} de ta forme +@code{operating-system}. Lance @code{info \"(guix.fr) Régionalisation\"} pour +plus de détails.") + (nl "De GNU C-bibliotheek (glibc) werd bijgewerkt naar versie 2.31. +Om gebruik te maken van reeds geïnstalleerde programma's die aan glibc 2.29 +gebonden zijn, moet u de regionale informatie van versie 2.29 naast die van +versie 2.31 installeren: + +@example +guix install glibc-locales glibc-locales-2.29 +@end example + +Op Guix System kunt u het @code{locale-libcs}-veld van uw +@code{operating-system}-vorm aanpassen. Voer @code{info \"(guix) Locales\"} +uit voor verdere uitleg."))) + (entry (commit "e1e6491226347d9fb93ff484d78cef98848a510a") (title (en "Guix Cookbook now available as Info")) ;; TRANSLATORS: Adjust the URL and the 'info' command to refer to the -- cgit 1.4.1 From f568581c2bfb3a7367442c9ccc23613c43f6f1e9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Apr 2020 17:43:38 +0200 Subject: gnu: emacs-guix: Add support for Guile 3.0. * gnu/packages/emacs-xyz.scm (emacs-guix)[source](modules, snippet): New fields. --- gnu/packages/emacs-xyz.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2a373e7fb1..0197ee5896 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -68,6 +68,7 @@ ;;; Copyright © 2020 John Soo ;;; Copyright © 2020 Jérémy Korwin-Zmijowski ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -2355,7 +2356,15 @@ type, for example: packages, buffers, files, etc.") "releases/emacs-guix-" version ".tar.gz")) (sha256 (base32 - "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps")))) + "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Add support for Guile 3.0. Remove for versions > 0.5.2. + (substitute* "configure" + (("\"2\\.2 2\\.0\"") + "\"3.0 2.2 2.0\"")) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit 1.4.1 From 4affa9182d93c77505c40e95964b8ab9d436298b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Apr 2020 18:19:02 +0200 Subject: gnu: font-gnu-freefont: Build with an older version of FontForge. Fixes . Reported by Jack Hill . * gnu/packages/fontutils.scm (fontforge-20190801): New public variable. * gnu/packages/fonts.scm (font-gnu-freefont)[native-inputs]: Change from inherited FontForge variant to FONTFORGE-20190801. --- gnu/packages/fonts.scm | 12 +++++------- gnu/packages/fontutils.scm | 29 ++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 21423baefd..6e9b080299 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Dmitry Nikolaev ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner -;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2016, 2020 Marius Bakke ;;; Copyright © 2016 Toni Reina ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 José Miguel Sánchez García @@ -236,6 +236,8 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over (define-public font-gnu-freefont (package (name "font-gnu-freefont") + ;; Note: Remove the special FontForge input and package once the 2020 + ;; release is out. (version "20120503") (source (origin (method url-fetch) @@ -289,12 +291,8 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over (lambda (file) (string-suffix? "woff" file)) (find-files "." ""))))))) #:test-target "tests")) - ;; replace python 3 with python 2 - ;; python 3 support commits aren't yet released in 20120503 - ;; so freefont needs python 2 support in fontforge - (native-inputs `(("fontforge" ,(package (inherit fontforge) - (inputs `(("python-2" ,python-2) - ,@(package-inputs fontforge))))))) + ;; FreeFont anno 2012 requires a FontForge built with Python 2. + (native-inputs `(("fontforge" ,fontforge-20190801))) (home-page "https://www.gnu.org/software/freefont/") (synopsis "Unicode-encoded outline fonts") (description diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index a77cf9ebf0..d78811b2e8 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -60,7 +60,9 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) - #:use-module (guix build-system meson)) + #:use-module (guix build-system meson) + #:use-module (guix utils) + #:use-module (srfi srfi-1)) (define-public freetype (package @@ -640,6 +642,31 @@ generate bitmaps.") (license license:gpl3+) (home-page "https://fontforge.github.io"))) +;; This is the last version that supports Python 2, which is needed for +;; GNU FreeFont. Remove once no longer required. +(define-public fontforge-20190801 + (package + (inherit fontforge) + (version "20190801") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/fontforge/fontforge/releases/download/" + version "/fontforge-" version ".tar.gz")) + (sha256 + (base32 "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r")))) + (build-system gnu-build-system) + (arguments + (substitute-keyword-arguments (package-arguments fontforge) + ((#:configure-flags _) + ''()) + ((#:phases phases) + `(modify-phases ,phases + (delete 'do-not-override-RPATH))))) + (inputs + `(("python" ,python-2) + ,@(alist-delete "python" (package-inputs fontforge)))))) + (define-public python2-ufolib (package (name "python2-ufolib") -- cgit 1.4.1 From 9962b877804b4fc347b60fae8445ddc5d3ad8bbe Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Apr 2020 23:24:33 +0200 Subject: gnu: python-aiohttp: Disable tests that fail with Python 3.8. * gnu/packages/python-web.scm (python-aiohttp)[arguments]: Delete failing tests. --- gnu/packages/python-web.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 1d99239dbb..5423aa917e 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2016, 2017 Danny Milosavljevic ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge -;;; Copyright © 2016, 2017 Marius Bakke +;;; Copyright © 2016, 2017, 2020 Marius Bakke ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2017 Roel Janssen ;;; Copyright © 2016, 2017, 2020 Julien Lepiller @@ -92,7 +92,6 @@ (base32 "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5")) (patches (search-patches "python-aiohttp-3.6.2-no-warning-fail.patch")))) - (build-system python-build-system) (arguments '(#:phases @@ -106,6 +105,17 @@ ;; make sure the timestamp of this file is > 1990, because a few ;; tests like test_static_file_if_modified_since_past_date depend on it (invoke "touch" "-d" "2020-01-01" "tests/data.unknown_mime_type") + + ;; FIXME: These tests are failing due to deprecation warnings + ;; in Python 3.8. Remove this when updating to aiohttp >= 3.7. + ;; https://github.com/aio-libs/aiohttp/issues/4477 + ;; https://github.com/aio-libs/aiohttp/issues/4525 + (with-directory-excursion "tests" + (for-each delete-file '("test_client_session.py" + "test_multipart.py" + "test_web_middleware.py" + "test_web_protocol.py" + "test_web_urldispatcher.py"))) #t))))) (propagated-inputs `(("python-aiodns" ,python-aiodns) -- cgit 1.4.1 From 6ac6c1d28d8a89d0f9b0f15e7df2a011f24aa091 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Apr 2020 00:11:53 +0200 Subject: gnu: python-geventhttpclient: Disable test that fails with Python 3.8. * gnu/packages/python-web.scm (python-geventhttpclient)[arguments]: In the check phase, add pytest flag to filter broken test. While at it, don't reorder the phase, as it now runs after install by default. --- gnu/packages/python-web.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 5423aa917e..a73128a77c 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1978,14 +1978,16 @@ library.") (lambda _ (delete-file "src/geventhttpclient/tests/test_client.py") #t)) - (delete 'check) - (add-after 'install 'check + (replace 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) (invoke "py.test" "src/geventhttpclient/tests" "-v" ;; Append the test modules to sys.path to avoid ;; namespace conflict which breaks SSL tests. - "--import-mode=append") + "--import-mode=append" + ;; XXX: Disable test fails with Python 3.8: + ;; https://github.com/gwik/geventhttpclient/issues/119 + "-k" (string-append "not test_cookielib_compatibility")) #t))))) (native-inputs `(("python-pytest" ,python-pytest))) -- cgit 1.4.1 From d2fc76462e72268ee5b04fe53805efc05c35e139 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sat, 25 Apr 2020 15:20:04 +0200 Subject: services: shepherd: Cross-compilation fix. Fixes . Reported by Jan (janneke) Nieuwenhuizen Fix suggested by Mathieu Othacehe However, still applies; %current-target-system may not be bound. * gnu/services/shepherd.scm (scm->go): Use `with-target' when cross-compiling. --- gnu/services/shepherd.scm | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 2f30c6c907..655a45a936 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2018 Carlo Zancanaro +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (guix store) #:use-module (guix records) #:use-module (guix derivations) ;imported-modules, etc. + #:use-module (guix utils) #:use-module (gnu services) #:use-module (gnu services herd) #:use-module (gnu packages admin) @@ -260,22 +262,27 @@ stored." (define (scm->go file) "Compile FILE, which contains code to be loaded by shepherd's config file, and return the resulting '.go' file." - (with-extensions (list shepherd) - (computed-file (string-append (basename (scheme-file-name file) ".scm") - ".go") - #~(begin - (use-modules (system base compile)) - - ;; Do the same as the Shepherd's 'load-in-user-module'. - (let ((env (make-fresh-user-module))) - (module-use! env (resolve-interface '(oop goops))) - (module-use! env (resolve-interface '(shepherd service))) - (compile-file #$file #:output-file #$output - #:env env))) - - ;; It's faster to build locally than to download. - #:options '(#:local-build? #t - #:substitutable? #f)))) + ;; FIXME: %current-target-system may not be bound + (let ((target (%current-target-system))) + (with-extensions (list shepherd) + (computed-file (string-append (basename (scheme-file-name file) ".scm") + ".go") + #~(begin + (use-modules (system base compile) + (system base target)) + + ;; Do the same as the Shepherd's 'load-in-user-module'. + (let ((env (make-fresh-user-module))) + (module-use! env (resolve-interface '(oop goops))) + (module-use! env (resolve-interface '(shepherd service))) + (with-target #$(or target #~%host-type) + (lambda _ + (compile-file #$file #:output-file #$output + #:env env))))) + + ;; It's faster to build locally than to download. + #:options '(#:local-build? #t + #:substitutable? #f))))) (define (shepherd-configuration-file services) "Return the shepherd configuration file for SERVICES." -- cgit 1.4.1 From 0e72d49ef7cb7463012704b3d107fe38b085a562 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Apr 2020 22:17:07 +0200 Subject: tests: Add 'guile-final' to the installation test GC roots. * gnu/tests/install.scm (run-install): Add GUILE-FINAL to OPERATING-SYSTEM-WITH-GC-ROOTS. --- gnu/tests/install.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 713e03194b..1b113602ed 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -29,6 +29,7 @@ #:use-module ((gnu build vm) #:select (qemu-command)) #:use-module (gnu packages admin) #:use-module (gnu packages bootloaders) + #:use-module (gnu packages commencement) ;for 'guile-final' #:use-module (gnu packages cryptsetup) #:use-module (gnu packages linux) #:use-module (gnu packages ocr) @@ -226,10 +227,11 @@ packages defined in installation-os." ;; Since the installation system has no network access, ;; we cheat a little bit by adding TARGET to its GC ;; roots. This way, we know 'guix system init' will - ;; succeed. + ;; succeed. Also add guile-final, which is pulled in + ;; through provenance.drv and may not always be present. (image (system-disk-image (operating-system-with-gc-roots - os (list target)) + os (list target guile-final)) #:disk-image-size install-size #:file-system-type installation-disk-image-file-system-type -- cgit 1.4.1 From d653e184ec45cedbc3dc6deb18d3f8666f1c2492 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 24 Apr 2020 08:54:43 +0200 Subject: gnu: guix: Do not copy bootstrap-guile when cross-compiling. * gnu/packages/package-management.scm (guix)[arguments]: When cross-compiling, skip copy-bootstrap-guile phase; needed for tests only. --- gnu/packages/package-management.scm | 82 +++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 3bfee16832..1b9697b387 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -181,46 +181,48 @@ $(prefix)/etc/init.d\n"))) (invoke "sh" "bootstrap"))) (add-before 'check 'copy-bootstrap-guile - (lambda* (#:key system inputs #:allow-other-keys) - ;; Copy the bootstrap guile tarball in the store used - ;; by the test suite. - (define (intern file recursive?) - ;; Note: don't use 'guix download' here because we - ;; need to set the 'recursive?' argument. - (define base - (strip-store-file-name file)) - - (define code - `(begin - (use-modules (guix)) - (with-store store - (let* ((item (add-to-store store ,base - ,recursive? - "sha256" ,file)) - (root (string-append "/tmp/gc-root-" - (basename item)))) - ;; Register a root so that the GC tests - ;; don't delete those. - (symlink item root) - (add-indirect-root store root))))) - - (invoke "./test-env" "guile" "-c" - (object->string code))) - - (intern (assoc-ref inputs "boot-guile") #f) - - ;; On x86_64 some tests need the i686 Guile. - ,@(if (and (not (%current-target-system)) - (string=? (%current-system) - "x86_64-linux")) - '((intern (assoc-ref inputs "boot-guile/i686") #f)) - '()) - - ;; Copy the bootstrap executables. - (for-each (lambda (input) - (intern (assoc-ref inputs input) #t)) - '("bootstrap/bash" "bootstrap/mkdir" - "bootstrap/tar" "bootstrap/xz")) + (lambda* (#:key system target inputs #:allow-other-keys) + (unless target + (begin + ;; Copy the bootstrap guile tarball in the store + ;; used by the test suite. + (define (intern file recursive?) + ;; Note: don't use 'guix download' here because we + ;; need to set the 'recursive?' argument. + (define base + (strip-store-file-name file)) + + (define code + `(begin + (use-modules (guix)) + (with-store store + (let* ((item (add-to-store store ,base + ,recursive? + "sha256" ,file)) + (root (string-append "/tmp/gc-root-" + (basename item)))) + ;; Register a root so that the GC tests + ;; don't delete those. + (symlink item root) + (add-indirect-root store root))))) + + (invoke "./test-env" "guile" "-c" + (object->string code))) + + (intern (assoc-ref inputs "boot-guile") #f) + + ;; On x86_64 some tests need the i686 Guile. + ,@(if (and (not (%current-target-system)) + (string=? (%current-system) + "x86_64-linux")) + '((intern (assoc-ref inputs "boot-guile/i686") #f)) + '()) + + ;; Copy the bootstrap executables. + (for-each (lambda (input) + (intern (assoc-ref inputs input) #t)) + '("bootstrap/bash" "bootstrap/mkdir" + "bootstrap/tar" "bootstrap/xz")))) #t)) (add-after 'unpack 'disable-failing-tests ;; XXX FIXME: These tests fail within the build container. -- cgit 1.4.1 From 56389433bcbbeb7abb94b4156957d2d2568ff36c Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 24 Apr 2020 11:21:48 +0200 Subject: gnu: guix: Cross-build workaround: Run native guile for version. We need to take some care here, the native guile is not necessarily always the same version as the host guile. * gnu/packages/package-management.scm (guix)[arguments]: Do not attempt to run host guile for getting effective-version; resort to native guile. --- gnu/packages/package-management.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 1b9697b387..fdc570f0f4 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -245,11 +245,13 @@ $(prefix)/etc/init.d\n"))) (setenv "SHELL" (which "sh")) #t)) (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) ;; Make sure the 'guix' command finds GnuTLS, ;; Guile-JSON, and Guile-Git automatically. (let* ((out (assoc-ref outputs "out")) - (guile (assoc-ref inputs "guile")) + (guile ,@(if (%current-target-system) + '((assoc-ref native-inputs "guile")) + '((assoc-ref inputs "guile")))) (gcrypt (assoc-ref inputs "guile-gcrypt")) (json (assoc-ref inputs "guile-json")) (sqlite (assoc-ref inputs "guile-sqlite3")) -- cgit 1.4.1 From 569c55bee2a74106b3ab8a07187ea9cd8cce410e Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 10 Apr 2020 21:24:19 +0200 Subject: gnu: guix: Cross-build fix: override compressors. * gnu/packages/package-management.scm (guix)[arguments]: When cross-compiling, add `fixup-compressors' stage. [inputs]: When cross-compiling, add `xz'. --- gnu/packages/package-management.scm | 97 ++++++++++++++++++++++--------------- 1 file changed, 57 insertions(+), 40 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index fdc570f0f4..ba7d3e1288 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -180,49 +180,63 @@ $(prefix)/etc/init.d\n"))) (invoke "sh" "bootstrap"))) + (add-before 'build 'use-host-compressors + (lambda* (#:key inputs target #:allow-other-keys) + (when target + ;; Use host compressors. + (let ((bzip2 (assoc-ref inputs "bzip2")) + (gzip (assoc-ref inputs "gzip")) + (xz (assoc-ref inputs "xz"))) + (substitute* "guix/config.scm" + (("\"[^\"]*/bin/bzip2") + (string-append "\"" bzip2 "/bin/bzip2")) + (("\"[^\"]*/bin/gzip") gzip + (string-append "\"" gzip "/bin/gzip")) + (("\"[^\"]*/bin//xz") + (string-append "\"" xz "/bin/xz"))))) + #t)) (add-before 'check 'copy-bootstrap-guile (lambda* (#:key system target inputs #:allow-other-keys) + ;; Copy the bootstrap guile tarball in the store + ;; used by the test suite. + (define (intern file recursive?) + ;; Note: don't use 'guix download' here because we + ;; need to set the 'recursive?' argument. + (define base + (strip-store-file-name file)) + + (define code + `(begin + (use-modules (guix)) + (with-store store + (let* ((item (add-to-store store ,base + ,recursive? + "sha256" ,file)) + (root (string-append "/tmp/gc-root-" + (basename item)))) + ;; Register a root so that the GC tests + ;; don't delete those. + (symlink item root) + (add-indirect-root store root))))) + + (invoke "./test-env" "guile" "-c" + (object->string code))) + (unless target - (begin - ;; Copy the bootstrap guile tarball in the store - ;; used by the test suite. - (define (intern file recursive?) - ;; Note: don't use 'guix download' here because we - ;; need to set the 'recursive?' argument. - (define base - (strip-store-file-name file)) - - (define code - `(begin - (use-modules (guix)) - (with-store store - (let* ((item (add-to-store store ,base - ,recursive? - "sha256" ,file)) - (root (string-append "/tmp/gc-root-" - (basename item)))) - ;; Register a root so that the GC tests - ;; don't delete those. - (symlink item root) - (add-indirect-root store root))))) - - (invoke "./test-env" "guile" "-c" - (object->string code))) - - (intern (assoc-ref inputs "boot-guile") #f) - - ;; On x86_64 some tests need the i686 Guile. - ,@(if (and (not (%current-target-system)) - (string=? (%current-system) - "x86_64-linux")) - '((intern (assoc-ref inputs "boot-guile/i686") #f)) - '()) - - ;; Copy the bootstrap executables. - (for-each (lambda (input) - (intern (assoc-ref inputs input) #t)) - '("bootstrap/bash" "bootstrap/mkdir" - "bootstrap/tar" "bootstrap/xz")))) + (intern (assoc-ref inputs "boot-guile") #f) + + ;; On x86_64 some tests need the i686 Guile. + ,@(if (and (not (%current-target-system)) + (string=? (%current-system) + "x86_64-linux")) + '((intern (assoc-ref inputs "boot-guile/i686") #f)) + '()) + + ;; Copy the bootstrap executables. + (for-each (lambda (input) + (intern (assoc-ref inputs input) #t)) + '("bootstrap/bash" "bootstrap/mkdir" + "bootstrap/tar" "bootstrap/xz"))) #t)) (add-after 'unpack 'disable-failing-tests ;; XXX FIXME: These tests fail within the build container. @@ -331,6 +345,9 @@ $(prefix)/etc/init.d\n"))) (string=? (%current-system) "x86_64-linux")) `(("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux"))) '()) + ,@(if (%current-target-system) + `(("xz" ,xz)) + '()) ;; Tests also rely on these bootstrap executables. ("bootstrap/bash" ,(bootstrap-executable "bash" (%current-system))) -- cgit 1.4.1 From a7dbb95ca5189382e3bea9de5c97b929da79fc32 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 10 Apr 2020 14:30:35 +0200 Subject: gnu: guix: Update to 569c55bee2. * gnu/packages/package-management.scm (guix): Update to 1.1.0-1.569c55bee2. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index ba7d3e1288..85cfae25e0 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -112,8 +112,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.1.0") - (commit "7dd05396ef4539165f955d9ab57225091f801ce9") - (revision 1)) + (commit "569c55bee2a74106b3ab8a07187ea9cd8cce410e") + (revision 2)) (package (name "guix") @@ -129,7 +129,7 @@ (commit commit))) (sha256 (base32 - "110fz4qay4iywpynw1cbv6if8ac0pxp21zhzwvnp2jn1f6vbwf64")) + "036lg8qj6hh2093lqwxdmwdir8frck8ap5king8sl4j29yc59jzc")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit 1.4.1 From 706b91ea8ded9118b3f5ef3d0a68ffc6f579f847 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 11 Apr 2020 14:05:32 +0200 Subject: gnu: hurd: Build DDE libraries. * gnu/packages/hurd.scm (hurd)[native-inputs]: Add "dde-sources". [inputs]: Add libpciaccess. [arguments]: Add phase "prepare-dde". --- gnu/packages/hurd.scm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 90e39a279b..88af75c48e 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages texinfo) + #:use-module (gnu packages xorg) ; libpciaccess #:use-module (guix git-download) #:export (hurd-system? hurd-target? @@ -362,6 +364,19 @@ boot, since this cannot be done from GNU/Linux." (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'prepare-dde + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (substitute* "Makefile" + (("libbpf ") + "libbpf libmachdev libmachdevdde libddekit")) + (for-each make-file-writable (find-files ".")) + (let ((dde (or (assoc-ref inputs "dde-sources") + (assoc-ref native-inputs "dde-sources")))) + (for-each (lambda (dir) + (copy-recursively + (string-append dde "/" dir ) dir)) + '("libmachdev" "libmachdevdde" "libddekit"))) + #t)) (add-before 'build 'pre-build (lambda _ ;; Don't change the ownership of any file at this time. @@ -471,6 +486,7 @@ fsysopts / --writable\n")) ("libgcrypt" ,libgcrypt) ;for /hurd/random ("libdaemon" ,libdaemon) ;for /bin/console --daemonize ("unifont" ,unifont) + ("libpciaccess" ,libpciaccess) ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) @@ -491,7 +507,20 @@ fsysopts / --writable\n")) (arguments `(#:system "i686-linux"))) mig)) ("perl" ,perl) - ("texinfo" ,texinfo-4))) + ("texinfo" ,texinfo-4) + ("dde-sources" + ;; This is the current tip of the dde branch + ,(let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/incubator.git") + (commit commit))) + (sha256 + (base32 + "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692")) + (file-name (string-append "dde-checkout-" + (string-take commit 7)))))))) (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "The kernel servers for the GNU operating system") -- cgit 1.4.1 From 71b92e1abd015b03ba6ea011ab4129499c1f44c4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 12:45:15 +0200 Subject: gnu: Add dde-sources. * gnu/packages/hurd.scm (dde-sources): New variable. (hurd)[native-inputs]: Add it. --- gnu/packages/hurd.scm | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 88af75c48e..716fd59f75 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -355,6 +355,19 @@ boot, since this cannot be done from GNU/Linux." (with-parameters ((%current-target-system "i586-pc-gnu")) (program-file "rc" rc))) +(define dde-sources + ;; This is the current tip of the dde branch + (let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/incubator.git") + (commit commit))) + (sha256 + (base32 + "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692")) + (file-name (git-file-name "dde" commit))))) + (define-public hurd (package (name "hurd") @@ -508,19 +521,7 @@ fsysopts / --writable\n")) mig)) ("perl" ,perl) ("texinfo" ,texinfo-4) - ("dde-sources" - ;; This is the current tip of the dde branch - ,(let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/hurd/incubator.git") - (commit commit))) - (sha256 - (base32 - "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692")) - (file-name (string-append "dde-checkout-" - (string-take commit 7)))))))) + ("dde-sources" ,dde-sources))) (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "The kernel servers for the GNU operating system") -- cgit 1.4.1 From d30d3e3f60df511e484adb3e459625b3251b0917 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 12:46:00 +0200 Subject: gnu: Add netdde. * gnu/packages/hurd.scm (netdde): New variable. --- gnu/packages/hurd.scm | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 1 deletion(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 716fd59f75..bc2d864bf4 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -22,7 +22,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages hurd) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:hide (zlib)) #:use-module (guix download) #:use-module (guix packages) #:use-module (gnu packages) @@ -31,7 +31,9 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages autotools) + #:use-module (gnu packages compression) #:use-module (gnu packages flex) + #:use-module (gnu packages gawk) #:use-module (gnu packages gnupg) #:use-module (gnu packages bison) #:use-module (gnu packages libdaemon) @@ -531,3 +533,87 @@ augmentation of standard Unix kernels. It is a collection of protocols for system interaction (file systems, networks, authentication), and servers implementing them.") (license gpl2+))) + +(define-public netdde + (let ((commit "4a1016f130b6f2065d3f088325e5fb0b2997ae12") + (revision "1")) + (package + (name "netdde") + ;; The version prefix corresponds to the version of Linux from which the + ;; drivers were taken. + (version (git-version "2.6.32.65" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/incubator.git") + (commit commit))) + (sha256 + (base32 + "1njv9dszq4lj05yq4v9j5v247hfghpzvvz4hzy0khjjr35mw7hr8")) + (file-name (git-file-name name commit)))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "SHELL=" (assoc-ref %build-inputs "bash") + "/bin/bash") + "PKGDIR=libdde_linux26" + ,@(if (%current-target-system) + (list "CC=i586-pc-gnu-gcc" + "LINK_PROGRAM=i586-pc-gnu-gcc") + (list "CC=gcc"))) + #:configure-flags + (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'prepare-dde + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (for-each make-file-writable (find-files ".")) + (let ((dde (or (assoc-ref inputs "dde-sources") + (assoc-ref native-inputs "dde-sources")))) + (for-each (lambda (dir) + (copy-recursively + (string-append dde "/" dir ) dir)) + '("libdde_linux26" "libddekit"))) + (substitute* "libdde_linux26/mk/rel2abs.sh" + (("/bin/bash") (which "bash"))) + #t)) + (add-after 'patch-generated-file-shebangs 'build-libdde-linux26 + (lambda* (#:key make-flags #:allow-other-keys) + (with-directory-excursion "libdde_linux26" + (apply invoke "make" + (delete "PKGDIR=libdde_linux26" make-flags))))) + (add-after 'build-libdde-linux26 'convert + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "convert" make-flags))) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys) + ;; no-common can be dropped with GCC 10+ where this is the + ;; default. + (apply invoke "make" "CFLAGS=-fno-common" make-flags))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "netdde" + (string-append (assoc-ref outputs "out") + "/bin")) + #t))))) + (inputs + `(("hurd" ,hurd) + ("libpciaccess" ,libpciaccess) + ("zlib" ,zlib))) + (native-inputs + `(("coreutils" ,coreutils) + ("gawk" ,gawk) + ("grep" ,grep) + ("perl" ,perl) + ("sed" ,sed) + ("dde-sources" ,dde-sources))) + (supported-systems %hurd-systems) + (home-page "https://www.gnu.org/software/hurd/hurd.html") + (synopsis "Linux network drivers glued by the DDE layer") + (description + "This package provides Linux 2.6 network drivers that can be embedded +in userland processes thanks to the DDE layer.") + ;; Some drivers are dually licensed with the options being GPLv2 or one + ;; of MPL/Expat/BSD-3 (dependent on the driver). + (license gpl2)))) -- cgit 1.4.1 From dc1182751cfd62d2b91f80fed322fd1e016e4b72 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Apr 2020 22:55:29 +0300 Subject: gnu: vdirsyncer: Fix building man page. * gnu/packages/dav.scm (vdirsyncer)[arguments]: Add custom phase to patch function retrieving the version string. --- gnu/packages/dav.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 5362d3505f..1b837dfe40 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -80,6 +80,11 @@ clients.") (if tests? (invoke "make" "test") #t))) + (add-after 'unpack 'patch-version-call + (lambda _ + (substitute* "docs/conf.py" + (("^release.*") (string-append "release = '" ,version "'\n"))) + #t)) (add-after 'install 'manpage (lambda* (#:key inputs outputs #:allow-other-keys) (invoke "make" "--directory=docs/" "man") -- cgit 1.4.1 From a7a8337b28535f29d3c64453fadb91c7c5dfc741 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 28 Apr 2020 14:45:40 +0200 Subject: gnu: artanis: Use guile2.2-readline. * gnu/packages/guile-xyz.scm (artanis)[propagated-inputs]: Change from GUILE-READLINE to GUILE2.2-READLINE. --- gnu/packages/guile-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 1b3cde693e..3ae7e9ff92 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -153,7 +153,7 @@ ;; TODO: Add guile-dbi and guile-dbd optional dependencies. (propagated-inputs `(("guile-json" ,guile-json-1) - ("guile-readline" ,guile-readline) + ("guile-readline" ,guile2.2-readline) ("guile-redis" ,guile-redis))) (native-inputs `(("bash" ,bash) ;for the `source' builtin -- cgit 1.4.1 From 587398d2a82e0b5966a6827d36a1f1d115181b11 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 28 Apr 2020 15:03:01 +0200 Subject: gnu: custom-gcc: Ensure #:modules are not overridden by the inherited GCC. This fixes a regression introduced in 56c833ea287f8f6d3c72f8bddc314960c0164d64 where the #:modules argument became ineffective. Reported by Efraim Flashner in * gnu/packages/gcc.scm (custom-gcc)[arguments]: Add #:modules through SUBSTITUTE-KEYWORD-ARGUMENTS. --- gnu/packages/gcc.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index b69f3cf4b3..65664828cf 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -641,12 +641,12 @@ as the 'native-search-paths' field." (native-search-paths search-paths) (properties (alist-delete 'hidden? (package-properties gcc))) (arguments - (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 regex) - (srfi srfi-1) - (srfi srfi-26)) - ,@(package-arguments gcc)) + (substitute-keyword-arguments (package-arguments gcc) + ((#:modules modules %gnu-build-system-modules) + `(,@modules + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex))) ((#:configure-flags flags) `(cons (string-append "--enable-languages=" ,(string-join languages ",")) -- cgit 1.4.1 From 2f823fb493051df371f9637b782e6c46e13a8e10 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 27 Apr 2020 09:45:54 +0300 Subject: gnu: libjpeg-turbo: Fix building on powerpc. * gnu/packages/image.scm (libjpeg-turbo)[arguments]: Add configure-flags specific to powerpc to fix building and cross-building. --- gnu/packages/image.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index c900bd0eb9..96e207e940 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Amirouche Boubekki ;;; Copyright © 2014, 2017 John Darrington ;;; Copyright © 2016, 2017, 2018, 2020 Leo Famulari -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016, 2017 Arun Isaac @@ -1532,6 +1532,10 @@ is hereby granted.")))) (arguments `(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib" "-DENABLE_STATIC=0" + ;; djpeg-shared-3x2-float-prog-cmp fails on 32-bit PPC. + ,@(if (string=? "powerpc-linux" (%current-system)) + `("-DFLOATTEST=NO") + '()) ;; The build system probes for the current CPU, but ;; that fails when cross-compiling. ,@(let ((target (%current-target-system))) @@ -1545,6 +1549,9 @@ is hereby granted.")))) `("-DCMAKE_SYSTEM_PROCESSOR=x86")) ((string-prefix? "x86_64" target) `("-DCMAKE_SYSTEM_PROCESSOR=x86_64")) + ;; 32-bit and 64-bit + ((string-prefix? "powerpc" target) + `("-DCMAKE_SYSTEM_PROCESSOR=powerpc")) (else '())) '()))) ,@(if (%current-target-system) -- cgit 1.4.1 From 709ca6c9824e4bbb0d81959b885248294fb062ae Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 26 Apr 2020 19:56:17 +0100 Subject: gnu: libgc/static-libs: Mark it as hidden. * gnu/packages/bdw-gc.scm (libgc/static-libs)[properties] Set hidden? to #t. --- gnu/packages/bdw-gc.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index 112a161f94..50e4951dc1 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -91,7 +91,8 @@ C or C++ programs, though that is not its primary goal.") libgc (arguments (substitute-keyword-arguments (package-arguments libgc) ((#:configure-flags flags ''()) - `(cons "--enable-static" ,flags)))))) + `(cons "--enable-static" ,flags)))) + (properties '((hidden? . #t))))) (define-public libgc-7 (package -- cgit 1.4.1 From 5d9e2187929ed7e8d46ec3cb3174fd78c1846360 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 30 Apr 2020 22:23:44 +0200 Subject: gnu: guile-json: Update to 3.5.0. * gnu/packages/patches/guile-json-cross.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/guile.scm (guile-json-3): Update to 3.5.0. [source](patches): Remove. [native-inputs]: Remove AUTOCONF and AUTOMAKE. [arguments]: Remove. --- gnu/local.mk | 1 - gnu/packages/guile.scm | 17 +++------ gnu/packages/patches/guile-json-cross.patch | 54 ----------------------------- 3 files changed, 4 insertions(+), 68 deletions(-) delete mode 100644 gnu/packages/patches/guile-json-cross.patch diff --git a/gnu/local.mk b/gnu/local.mk index b3d6054b50..57346cc2ef 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1027,7 +1027,6 @@ dist_patch_DATA = \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ - %D%/packages/patches/guile-json-cross.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-relocatable.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a262553ba1..8665e2ef79 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -532,26 +532,17 @@ specification. These are the main features: (package (inherit guile-json-1) (name "guile-json") - (version "3.2.0") + (version "3.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/guile-json/guile-json-" version ".tar.gz")) - (patches (search-patches "guile-json-cross.patch")) (sha256 (base32 - "14m6b6g2maw0mkvfm4x63rqb54vgbpn1gcqs715ijw4bikfzlqfz")))) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config) + "0nj0684qgh6ppkbdyxqfyjwsv2qbyairxpi8fzrhsi3xnc7jn4im")))) + (native-inputs `(("pkg-config" ,pkg-config) ("guile" ,guile-3.0))) - (inputs `(("guile" ,guile-3.0))) - (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-configure - (lambda _ - (delete-file "configure") - #t))))))) + (inputs `(("guile" ,guile-3.0))))) (define-public guile2.2-json (package-for-guile-2.2 guile-json-3)) diff --git a/gnu/packages/patches/guile-json-cross.patch b/gnu/packages/patches/guile-json-cross.patch deleted file mode 100644 index b9081f3df2..0000000000 --- a/gnu/packages/patches/guile-json-cross.patch +++ /dev/null @@ -1,54 +0,0 @@ -Patch accepted upstream. - -From 9bbe0d78391c6dbe0316aa56a105d1966fddc9f0 Mon Sep 17 00:00:00 2001 -From: Jan Nieuwenhuizen -Date: Wed, 4 Mar 2020 11:17:02 +0100 -Subject: [PATCH] build: Support cross building. - -* configure.ac: Add AC_CANONICAL_HOST to get host. -* Makefile.am (.scm.go): Set it as target. -* json/Makefile.am (.scm.go): Likewise. ---- - Makefile.am | 2 +- - configure.ac | 1 + - json/Makefile.am | 2 +- - 3 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 996f18b..1823a3f 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -42,7 +42,7 @@ nobase_nodist_obj_DATA = $(GOBJECTS) - GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat - SUFFIXES = .scm .go - .scm.go: -- $(top_builddir)/env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<" -+ $(top_builddir)/env $(GUILD) compile --target="$(host)" $(GUILE_WARNINGS) -o "$@" "$<" - - SOURCES = json.scm - -diff --git a/configure.ac b/configure.ac -index fbc1aff..937dcf7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -25,6 +25,7 @@ AC_CONFIG_SRCDIR(json.scm) - AC_CONFIG_AUX_DIR([build-aux]) - AM_INIT_AUTOMAKE([color-tests -Wall -Wno-portability]) - AM_SILENT_RULES([yes]) -+AC_CANONICAL_HOST - - dnl We require pkg.m4 (from pkg-config) and guile.m4. - dnl Make sure they are available. -diff --git a/json/Makefile.am b/json/Makefile.am -index adf5972..103b867 100644 ---- a/json/Makefile.am -+++ b/json/Makefile.am -@@ -36,4 +36,4 @@ CLEANFILES = $(GOBJECTS) - GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat - SUFFIXES = .scm .go - .scm.go: -- $(top_builddir)/env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<" -+ $(top_builddir)/env $(GUILD) compile --target="$(host)" $(GUILE_WARNINGS) -o "$@" "$<" --- -2.26.0 - -- cgit 1.4.1 From 2676579dc8a930a3bc77d46dd642993cfd870bc6 Mon Sep 17 00:00:00 2001 From: Rene Saavedra Date: Sun, 12 Apr 2020 22:33:08 -0500 Subject: gnu: hurd: Fix references to /bin/w. * gnu/packages/hurd.scm (hurd): Use '/bin/w' from hurd package. --- gnu/packages/hurd.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index bc2d864bf4..398de07df4 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Ricardo Wurmus +;;; Copyright © 2020 Rene Saavedra ;;; ;;; This file is part of GNU Guix. ;;; @@ -413,6 +414,9 @@ boot, since this cannot be done from GNU/Linux." (substitute* '("startup/startup.c" "init/init.c" "config/ttys") (("/libexec/") (string-append out "/libexec/"))) + (substitute* '("utils/uptime.sh") + (("/bin/w") + (string-append out "/bin/w"))) (substitute* "daemons/console-run.c" (("/hurd/") (string-append out "/hurd/"))) -- cgit 1.4.1 From 9a554a7082b69eaf474e2d19998a482d29035db0 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 12 Apr 2020 13:53:04 +0200 Subject: gnu: hurd: Use default QEMU guest IP: 10.0.2.15. Specifying 10.0.2.77 also works -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:2228-10.0.2.77:22 but using this default allows us to use the widely advertised -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:2228-:22 * gnu/packages/hurd.scm (hurd-rc-script): Used from (hurd)[inputs]: Use 10.0.2.15; the default QEMU guest IP. --- gnu/packages/hurd.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 398de07df4..afb9cf5496 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -319,7 +319,7 @@ boot, since this cannot be done from GNU/Linux." ("/servers/password" ("/hurd/password")) ("/servers/socket/1" ("/hurd/pflocal")) ("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0" - "--address" "10.0.2.77" + "--address" "10.0.2.15" ;the default QEMU guest IP "--netmask" "255.255.255.0" "--gateway" "10.0.2.2" "--ipv6" "/servers/socket/16")))) -- cgit 1.4.1 From 2e463d6e2cb2bc468926e8ed1a6ed77d9ca01441 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Apr 2020 23:06:30 +0200 Subject: gnu: hurd: Add NFS support. * gnu/packages/hurd.scm (hurd)[inputs]: Add libtirpc/hurd. [arguments]: Add configure flags to use libtirpc; add phase "find-tirpc" to find the RPC headers; add phase "fix-rpc-headers" to include missing headers. --- gnu/packages/hurd.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index afb9cf5496..55c40710fa 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -44,6 +44,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages texinfo) + #:use-module (gnu packages onc-rpc) #:use-module (gnu packages xorg) ; libpciaccess #:use-module (guix git-download) #:export (hurd-system? @@ -393,6 +394,30 @@ boot, since this cannot be done from GNU/Linux." (string-append dde "/" dir ) dir)) '("libmachdev" "libmachdevdde" "libddekit"))) #t)) + (add-after 'unpack 'find-tirpc + (lambda* (#:key inputs #:allow-other-keys) + (for-each (lambda (var) + (setenv var + (string-append (assoc-ref inputs "libtirpc") + "/include/tirpc:" + (or (getenv var) "")))) + '("CROSS_C_INCLUDE_PATH" "C_INCLUDE_PATH" + "CROSS_CPATH" "CPATH")) + #t)) + (add-after 'unpack 'fix-rpc-headers + (lambda _ + (substitute* "nfs/mount.c" + (("#undef (TRUE|FALSE)") "") + (("#include " m) + (string-append "#include \n" m))) + (substitute* '("nfsd/cache.c") + (("#undef (TRUE|FALSE)") "")) + (substitute* '("nfsd/loop.c" + "nfsd/main.c" + "nfsd/ops.c") + (("#include " m) + (string-append "#include \n#include \n" m))) + #t)) (add-before 'build 'pre-build (lambda _ ;; Don't change the ownership of any file at this time. @@ -496,7 +521,11 @@ fsysopts / --writable\n")) "--disable-ncursesw" "--without-libbz2" "--without-libz" - "--without-parted"))) + "--without-parted" + ;; This is needed to pass the configure check for + ;; clnt_create + "ac_func_search_save_LIBS=-ltirpc" + "ac_cv_search_clnt_create=false"))) (build-system gnu-build-system) (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers) @@ -507,6 +536,9 @@ fsysopts / --writable\n")) ("unifont" ,unifont) ("libpciaccess" ,libpciaccess) + ;; For NFS support + ("libtirpc" ,libtirpc/hurd) + ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) ("coreutils" ,coreutils) -- cgit 1.4.1 From 3dbfab479f3eb4aa4f751f9365b7fe1f14254b3c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Apr 2020 23:04:49 +0200 Subject: gnu: Add libtirpc/hurd. * gnu/packages/onc-rpc.scm (libtirpc/hurd): New variable. * gnu/packages/patches/libtirpc-hurd-client.patch, gnu/packages/patches/libtirpc-hurd.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. --- gnu/local.mk | 2 + gnu/packages/onc-rpc.scm | 19 ++- gnu/packages/patches/libtirpc-hurd-client.patch | 50 +++++++ gnu/packages/patches/libtirpc-hurd.patch | 172 ++++++++++++++++++++++++ 4 files changed, 242 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libtirpc-hurd-client.patch create mode 100644 gnu/packages/patches/libtirpc-hurd.patch diff --git a/gnu/local.mk b/gnu/local.mk index ca6ccb2463..38e1d85b7b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1176,6 +1176,8 @@ dist_patch_DATA = \ %D%/packages/patches/libtgvoip-disable-sse2.patch \ %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 \ diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm index 5849b8deb4..cd31dfd910 100644 --- a/gnu/packages/onc-rpc.scm +++ b/gnu/packages/onc-rpc.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017, 2018 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +31,8 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages kerberos) #:use-module (gnu packages pkg-config) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix utils)) (define-public libtirpc (package @@ -72,6 +74,21 @@ procedure calls) protocol in a transport-independent manner. It supports both IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).") (license bsd-3))) +(define-public libtirpc/hurd + (package + (inherit libtirpc) + (name "libtirpc-hurd") + (source (origin (inherit (package-source libtirpc)) + (patches (search-patches "libtirpc-hurd.patch" + "libtirpc-hurd-client.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments libtirpc) + ((#:configure-flags flags ''()) + ;; When cross-building the target system's krb5-config should be used. + `(list (string-append "ac_cv_prog_KRB5_CONFIG=" + (assoc-ref %build-inputs "mit-krb5") + "/bin/krb5-config"))))))) + (define-public rpcbind (package (name "rpcbind") diff --git a/gnu/packages/patches/libtirpc-hurd-client.patch b/gnu/packages/patches/libtirpc-hurd-client.patch new file mode 100644 index 0000000000..526ad262d2 --- /dev/null +++ b/gnu/packages/patches/libtirpc-hurd-client.patch @@ -0,0 +1,50 @@ +Taken from https://salsa.debian.org/debian/libtirpc/-/raw/master/debian/patches/06-hurd-client-port.diff + +Description: Fix client code for hurd, avoiding malloc overflow + When trying to setup a inet connection, it happens the following: + - in libtirp, src/clnt_vc.c, clnt_vc_create gets called + - when trying to allocate vc_fd_locks, __rpc_dtbsize() is used as size + for that array of fd locks + - __rpc_dtbsize(), in src/rpc_generic.c, queries using rlimit the + maximum (rlim_max) number of file descriptors (RLIMIT_NOFILE): + - on Linux, the default is { rlim_cur = 1024, rlim_max = 4096 } + - on kFreeBSD, the default is { rlim_cur = 1024, rlim_max = 1024 } + - on Hurd, the default is { rlim_cur = 1024, rlim_max = RLIM_INFINITY } + meaning that on Hurd the memory allocation fails (as + __rpc_dtbsize() * sizeof(int) overflows and is negative) + + Change libtiprc so __rpc_dtbsize falls back on rlim_cur if rlim_max + is unlimited. + + This patch fixes the client connection using inet sockets; local unix + sockets are not working, for two reasons so far: + - getpeername on them gives EOPNOTSUPP + - SO_REUSEADDR is not implemented for them +Author: Pino Toscano + +Bug-Debian: http://bugs.debian.org/739674 +Forwarded: no +Reviewed-By: Petter Reinholdtsen +Last-Update: 2014-03-03 + +--- a/src/rpc_generic.c ++++ b/src/rpc_generic.c +@@ -107,12 +107,17 @@ + { + static int tbsize; + struct rlimit rl; ++ rlim_t lim; + + if (tbsize) { + return (tbsize); + } + if (getrlimit(RLIMIT_NOFILE, &rl) == 0) { +- return (tbsize = (int)rl.rlim_max); ++ lim = rl.rlim_max; ++ if (lim == RLIM_INFINITY) { ++ lim = rl.rlim_cur; ++ } ++ return (tbsize = (int)lim); + } + /* + * Something wrong. I'll try to save face by returning a diff --git a/gnu/packages/patches/libtirpc-hurd.patch b/gnu/packages/patches/libtirpc-hurd.patch new file mode 100644 index 0000000000..cd625d696f --- /dev/null +++ b/gnu/packages/patches/libtirpc-hurd.patch @@ -0,0 +1,172 @@ +This is a combination of two patches: + +1) Taken from https://salsa.debian.org/debian/libtirpc/-/raw/master/debian/patches/03-kfreebsd.diff + +Description: Fix build on non Linux architectures +Author: Andreas Beckmann +Last-Update: 2019-09-01 + +2) Taken from https://salsa.debian.org/debian/libtirpc/-/raw/master/debian/patches/05-hurd-port.diff + +Description: Get source building on Hurd + - Look for before using it. + - Define MAXHOSTNAMELEN to 64 if missing. + - Bind sockets on Hurd like on Linux. +Author: Petter Reinholdtsen + +--- a/src/svc_dg.c ++++ b/src/svc_dg.c +@@ -648,6 +648,7 @@ + void + svc_dg_enable_pktinfo(int fd, const struct __rpc_sockinfo *si) + { ++#ifdef __linux__ + int val = 1; + + switch (si->si_af) { +@@ -660,6 +661,7 @@ + break; + #endif + } ++#endif + } + + /* +@@ -670,6 +672,7 @@ + int + svc_dg_valid_pktinfo(struct msghdr *msg) + { ++#ifdef __linux__ + struct cmsghdr *cmsg; + + if (!msg->msg_name) +@@ -716,4 +719,7 @@ + } + + return 1; ++#else ++ return 0; ++#endif + } +--- a/src/clnt_vc.c ++++ b/src/clnt_vc.c +@@ -71,10 +71,12 @@ + #define MCALL_MSG_SIZE 24 + + #define CMGROUP_MAX 16 +-#define SCM_CREDS 0x03 /* process creds (struct cmsgcred) */ + + #undef rpc_createerr /* make it clear it is a thread safe variable */ + ++#ifndef SCM_CREDS ++#define SCM_CREDS 0x03 /* process creds (struct cmsgcred) */ ++ + /* + * Credentials structure, used to verify the identity of a peer + * process that has sent us a message. This is allocated by the +@@ -90,6 +92,7 @@ + short cmcred_ngroups; /* number or groups */ + gid_t cmcred_groups[CMGROUP_MAX]; /* groups */ + }; ++#endif + + struct cmessage { + struct cmsghdr cmsg; +--- a/src/getpeereid.c ++++ b/src/getpeereid.c +@@ -25,9 +25,14 @@ + */ + + ++#include "config.h" ++ + #include + #include + #include ++#ifdef HAVE_SYS_USER_H ++# include ++#endif /* HAVE_SYS_USER_H */ + + #include + #include +--- a/src/getpeereid.c ++++ b/src/getpeereid.c +@@ -35,12 +36,25 @@ + int + getpeereid(int s, uid_t *euid, gid_t *egid) + { ++#ifndef HAVE_SYS_USER_H ++ return(-1); ++#else ++#ifdef XUCRED_VERSION ++ struct xucred uc; ++#define uid cr_uid ++#define gid cr_gid ++#else + struct ucred uc; ++#endif + socklen_t uclen; + int error; + + uclen = sizeof(uc); ++#ifdef XUCRED_VERSION ++ error = getsockopt(s, 0, LOCAL_PEERCRED, &uc, &uclen); ++#else + error = getsockopt(s, SOL_SOCKET, SO_PEERCRED, &uc, &uclen); /* SCM_CREDENTIALS */ ++#endif + if (error != 0) + return (error); + // if (uc.cr_version != XUCRED_VERSION) +@@ -59,4 +66,5 @@ + *euid = uc.uid; + *egid = uc.gid; + return (0); ++#endif /* HAVE_SYS_USER_H */ + } +--- a/tirpc/reentrant.h ++++ b/tirpc/reentrant.h +@@ -36,7 +36,7 @@ + * These definitions are only guaranteed to be valid on Linux. + */ + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__GLIBC__) + + #include + +--- a/configure.ac ++++ b/configure.ac +@@ -93,7 +93,7 @@ + AC_PROG_LIBTOOL + AC_HEADER_DIRENT + AC_PREFIX_DEFAULT(/usr) +-AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h features.h gssapi/gssapi_ext.h]) ++AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h features.h gssapi/gssapi_ext.h sys/user.h]) + AC_CHECK_LIB([pthread], [pthread_create]) + AC_CHECK_FUNCS([getrpcbyname getrpcbynumber setrpcent endrpcent getrpcent]) + +--- a/src/auth_unix.c ++++ b/src/auth_unix.c +@@ -56,6 +56,11 @@ + #include + #include + ++/* Workaround for Hurd */ ++#ifndef MAXHOSTNAMELEN ++# define MAXHOSTNAMELEN 64 ++#endif ++ + /* auth_unix.c */ + static void authunix_nextverf (AUTH *); + static bool_t authunix_marshal (AUTH *, XDR *); +--- a/src/bindresvport.c ++++ b/src/bindresvport.c +@@ -64,7 +64,7 @@ + return bindresvport_sa(sd, (struct sockaddr *)sin); + } + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GNU__) + + #define STARTPORT 600 + #define LOWPORT 512 -- cgit 1.4.1 From 0c5d974fa1c5cb636b0a362b84ddf61185888226 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 10 Apr 2020 09:54:02 +0200 Subject: gnu: guix: Use gnutls-3.6.13 when cross-compiling. * gnu/packages/package-management.scm (guix)[propagated-inputs]: When cross-compiling, use patched gnutls-3.6.13. --- gnu/packages/package-management.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4f3508109f..d0e607a8d8 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -357,7 +357,7 @@ $(prefix)/etc/init.d\n"))) ("glibc-utf8-locales" ,glibc-utf8-locales))) (propagated-inputs - `(("gnutls" ,guile3.0-gnutls) + `(("gnutls" ,(if (%current-target-system) gnutls-3.6.13 guile3.0-gnutls)) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-3) ("guile-sqlite3" ,guile-sqlite3) -- cgit 1.4.1 From 38b9af7c92344a17b6680ebd2aeea14171f84a1c Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Wed, 8 Apr 2020 09:43:51 +0200 Subject: gnu: guix: Cross-build fixup for wrap-program. This allows running: guix build hello * gnu/packages/package-management.scm (guix)[arguments]: When cross-compiling, fixup the shebang generated by wrap-program. [inputs]: When cross-compiling, include bash-minimal. --- gnu/packages/package-management.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index d0e607a8d8..3360a3b21b 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages backup) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages bison) #:use-module (gnu packages bootstrap) ;for 'bootstrap-guile-origin' @@ -259,7 +260,8 @@ $(prefix)/etc/init.d\n"))) (setenv "SHELL" (which "sh")) #t)) (add-after 'install 'wrap-program - (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs outputs target + #:allow-other-keys) ;; Make sure the 'guix' command finds GnuTLS, ;; Guile-JSON, and Guile-Git automatically. (let* ((out (assoc-ref outputs "out")) @@ -301,6 +303,11 @@ $(prefix)/etc/init.d\n"))) `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,gopath)) `("GUIX_LOCPATH" ":" suffix (,locpath))) + (when target + ;; XXX Touching wrap-program rebuilds world + (let ((bash (assoc-ref inputs "bash"))) + (substitute* (string-append out "/bin/guix") + (("^#!.*/bash") (string-append "#! " bash "/bin/bash"))))) #t)))))) (native-inputs `(("pkg-config" ,pkg-config) @@ -346,7 +353,8 @@ $(prefix)/etc/init.d\n"))) `(("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux"))) '()) ,@(if (%current-target-system) - `(("xz" ,xz)) + `(("bash" ,bash-minimal) + ("xz" ,xz)) '()) ;; Tests also rely on these bootstrap executables. -- cgit 1.4.1 From 52b01cb7007b793c5b21456ac8cdd9f9df5b8b16 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Tue, 7 Apr 2020 08:07:02 +0200 Subject: gnu: guix: Apply courage for the Hurd. * gnu/packages/package-management.scm (guix)[arguments]: When hurd-target? is true, configure --with-courage. --- gnu/packages/package-management.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 3360a3b21b..558e15a769 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -57,6 +57,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) + #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages lisp) #:use-module (gnu packages man) @@ -150,7 +151,8 @@ ;; To avoid problems with the length of shebangs, ;; choose a fixed-width and short directory name ;; for tests. - "ac_cv_guix_test_root=/tmp/guix-tests") + "ac_cv_guix_test_root=/tmp/guix-tests" + ,@(if (hurd-target?) '("--with-courage") '())) #:parallel-tests? #f ;work around #:modules ((guix build gnu-build-system) -- cgit 1.4.1 From 37d21a2d5099533ae963b5543bc4ae4d35f61c7a Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Fri, 10 Apr 2020 14:30:35 +0200 Subject: gnu: guix: Update to 52b01cb700. * gnu/packages/package-management.scm (guix): Update to 1.1.0-1.52b01cb700. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 558e15a769..9acc2adb79 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -114,8 +114,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.1.0") - (commit "619f9181a363576894a433206008b139255062dd") - (revision 2)) + (commit "52b01cb7007b793c5b21456ac8cdd9f9df5b8b16") + (revision 3)) (package (name "guix") @@ -131,7 +131,7 @@ (commit commit))) (sha256 (base32 - "1lk0h9zgry7m78nv70gxwb57pw1d5yzay477gxsc43v1aa7zg8sp")) + "0rz5vnqvcrccbnrirhrsx3iw4jj75znh3ma9g7szjn313ii3hl1d")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit 1.4.1 From 9b0c047c53ce064451717eeae4cc95c8ab213e57 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 14 Apr 2020 11:16:21 +0300 Subject: system: hurd: Add less, which to %base-packages/hurd. * gnu/system/hurd.scm (%base-packages/hurd): Add less, which. --- gnu/system/hurd.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 2583ff00fa..f691d96e9d 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) + #:use-module (gnu packages less) #:use-module (gnu system vm) #:export (cross-hurd-image)) @@ -52,7 +53,7 @@ (define %base-packages/hurd (list hurd bash coreutils file findutils grep sed guile-3.0 guile-colorized guile-readline - net-base inetutils)) + net-base inetutils less which)) (define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach)) "Return a cross-built GNU/Hurd image." -- cgit 1.4.1 From 3eb4b466fcbe35cbc51e97d088cdcc2ba1853350 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Wed, 8 Apr 2020 09:46:40 +0200 Subject: system: hurd: Add /etc/group. This allows download to run. * gnu/system/hurd.scm (cross-hurd-image): Add /etc/group with guixbuilder. --- gnu/system/hurd.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index f691d96e9d..58bfdf88f6 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ludovic Courtès +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -109,6 +110,12 @@ menuentry \"GNU\" { (define passwd (plain-file "passwd" "root:x:0:0:root:/root:/bin/sh +guixbuilder:x:1:1:guixbuilder:/var/empty:/bin/no-sh +")) + + (define group + (plain-file "group" + "guixbuild:x:1:guixbuilder ")) (define shadow @@ -163,6 +170,7 @@ fi\n")) ("/run/current-system/profile" -> ,system-profile) ("/etc/profile" -> ,etc-profile) ("/etc/fstab" -> ,fstab) + ("/etc/group" -> ,group) ("/etc/passwd" -> ,passwd) ("/etc/shadow" -> ,shadow) (file "/etc/hostname" "guixygnu") @@ -203,6 +211,7 @@ fi\n")) ("grub.cfg" ,grub.cfg) ("fstab" ,fstab) ("passwd" ,passwd) + ("group" ,group) ("etc-profile" ,etc-profile) ("shadow" ,shadow)) #:copy-inputs? #t -- cgit 1.4.1 From db7c73f53a0b2470392e29d818ed4ea17ddcc505 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 27 Apr 2020 19:44:54 +0200 Subject: gnu: %guile-static: Rewrite in terms of 'make-guile-static'. The derivation remains unchanged. * gnu/packages/make-bootstrap.scm (make-guile-static): New procedure. (%guile-static): Adjust accordingly. --- gnu/packages/make-bootstrap.scm | 124 +++++++++++++++++++++------------------- 1 file changed, 64 insertions(+), 60 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 5716ed3886..f4d7fd6a2a 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -676,70 +676,74 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." #t)))) (inputs `(("mes" ,%mes-minimal))))) +(define* (make-guile-static guile patches) + (package-with-relocatable-glibc + (static-package + (package + (inherit guile) + (source + (origin (inherit (package-source guile)) + (patches (append (map search-patch patches) + (origin-patches (package-source guile)))))) + (name (string-append (package-name guile) "-static")) + (synopsis "Statically-linked and relocatable Guile") + + ;; Remove the 'debug' output (see above for the reason.) + (outputs (delete "debug" (package-outputs guile))) + + (inputs + `(("libunistring:static" ,libunistring "static") + ,@(package-inputs guile))) + + (propagated-inputs + `(("bdw-gc" ,libgc/static-libs) + ,@(alist-delete "bdw-gc" + (package-propagated-inputs guile)))) + (arguments + (substitute-keyword-arguments (package-arguments guile) + ((#:configure-flags flags '()) + ;; When `configure' checks for ltdl availability, it + ;; doesn't try to link using libtool, and thus fails + ;; because of a missing -ldl. Work around that. + ''("LDFLAGS=-ldl")) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + + ;; Do not record the absolute file name of 'sh' in + ;; (ice-9 popen). This makes 'open-pipe' unusable in + ;; a build chroot ('open-pipe*' is fine) but avoids + ;; keeping a reference to Bash. + (delete 'pre-configure) + + (add-before 'configure 'static-guile + (lambda _ + (substitute* "libguile/Makefile.in" + ;; Create a statically-linked `guile' + ;; executable. + (("^guile_LDFLAGS =") + "guile_LDFLAGS = -all-static") + + ;; Add `-ldl' *after* libguile-2.0.la. + (("^guile_LDADD =(.*)$" _ ldadd) + (string-append "guile_LDADD = " + (string-trim-right ldadd) + " -ldl\n"))))))) + ((#:tests? _ #f) + ;; There are uses of `dynamic-link' in + ;; {foreign,coverage}.test that don't fly here. + #f) + ((#:parallel-build? _ #f) + ;; Work around the fact that the Guile build system is + ;; not deterministic when parallel-build is enabled. + #f))))))) + (define %guile-static ;; A statically-linked Guile that is relocatable--i.e., it can search ;; .scm and .go files relative to its installation directory, rather ;; than in hard-coded configure-time paths. - (let* ((patches (cons* (search-patch "guile-relocatable.patch") - (search-patch "guile-default-utf8.patch") - (search-patch "guile-linux-syscalls.patch") - (origin-patches (package-source guile-2.0)))) - (source (origin (inherit (package-source guile-2.0)) - (patches patches))) - (guile (package (inherit guile-2.0) - (name (string-append (package-name guile-2.0) "-static")) - (source source) - (synopsis "Statically-linked and relocatable Guile") - - ;; Remove the 'debug' output (see above for the reason.) - (outputs (delete "debug" (package-outputs guile-2.0))) - - (inputs - `(("libunistring:static" ,libunistring "static") - ,@(package-inputs guile-2.2))) - - (propagated-inputs - `(("bdw-gc" ,libgc/static-libs) - ,@(alist-delete "bdw-gc" - (package-propagated-inputs guile-2.0)))) - (arguments - (substitute-keyword-arguments (package-arguments guile-2.0) - ((#:configure-flags flags '()) - ;; When `configure' checks for ltdl availability, it - ;; doesn't try to link using libtool, and thus fails - ;; because of a missing -ldl. Work around that. - ''("LDFLAGS=-ldl")) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - - ;; Do not record the absolute file name of 'sh' in - ;; (ice-9 popen). This makes 'open-pipe' unusable in - ;; a build chroot ('open-pipe*' is fine) but avoids - ;; keeping a reference to Bash. - (delete 'pre-configure) - - (add-before 'configure 'static-guile - (lambda _ - (substitute* "libguile/Makefile.in" - ;; Create a statically-linked `guile' - ;; executable. - (("^guile_LDFLAGS =") - "guile_LDFLAGS = -all-static") - - ;; Add `-ldl' *after* libguile-2.0.la. - (("^guile_LDADD =(.*)$" _ ldadd) - (string-append "guile_LDADD = " - (string-trim-right ldadd) - " -ldl\n"))))))) - ((#:tests? _ #f) - ;; There are uses of `dynamic-link' in - ;; {foreign,coverage}.test that don't fly here. - #f) - ((#:parallel-build? _ #f) - ;; Work around the fact that the Guile build system is - ;; not deterministic when parallel-build is enabled. - #f)))))) - (package-with-relocatable-glibc (static-package guile)))) + (make-guile-static guile-2.0 '("guile-relocatable.patch" + "guile-default-utf8.patch" + "guile-linux-syscalls.patch"))) (define %guile-static-stripped ;; A stripped static Guile binary, for use during bootstrap. -- cgit 1.4.1 From e66bbd4201566cdc388f9b02d59da17beb8eb47d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 27 Apr 2020 19:47:23 +0200 Subject: gnu: %guile-static-stripped: Rewrite in terms of 'make-guile-static-stripped'. The derivation changes slightly, but the end result is bit-identical. * gnu/packages/make-bootstrap.scm (make-guile-static-stripped): New procedure. (%guile-static-stripped): Adjust accordingly. --- gnu/packages/make-bootstrap.scm | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index f4d7fd6a2a..d336818299 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -745,30 +745,30 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." "guile-default-utf8.patch" "guile-linux-syscalls.patch"))) -(define %guile-static-stripped - ;; A stripped static Guile binary, for use during bootstrap. - (package (inherit %guile-static) - (name "guile-static-stripped") +(define* (make-guile-static-stripped static-guile) + (package + (inherit static-guile) + (name (string-append (package-name static-guile) "-stripped")) (build-system trivial-build-system) (arguments ;; The end result should depend on nothing but itself. `(#:allowed-references ("out") #:modules ((guix build utils)) #:builder - (let () + (let ((version ,(version-major+minor (package-version static-guile)))) (use-modules (guix build utils)) (let* ((in (assoc-ref %build-inputs "guile")) (out (assoc-ref %outputs "out")) (guile1 (string-append in "/bin/guile")) (guile2 (string-append out "/bin/guile"))) - (mkdir-p (string-append out "/share/guile/2.0")) - (copy-recursively (string-append in "/share/guile/2.0") - (string-append out "/share/guile/2.0")) + (mkdir-p (string-append out "/share/guile/" version)) + (copy-recursively (string-append in "/share/guile/" version) + (string-append out "/share/guile/" version)) - (mkdir-p (string-append out "/lib/guile/2.0/ccache")) - (copy-recursively (string-append in "/lib/guile/2.0/ccache") - (string-append out "/lib/guile/2.0/ccache")) + (mkdir-p (string-append out "/lib/guile/" version "/ccache")) + (copy-recursively (string-append in "/lib/guile/" version "/ccache") + (string-append out "/lib/guile/" version "/ccache")) (mkdir (string-append out "/bin")) (copy-file guile1 guile2) @@ -789,10 +789,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." '((invoke guile2 "--version"))) #t)))) - (inputs `(("guile" ,%guile-static))) + (inputs `(("guile" ,static-guile))) (outputs '("out")) (synopsis "Minimal statically-linked and relocatable Guile"))) +(define %guile-static-stripped + ;; A stripped static Guile binary, for use during bootstrap. + (make-guile-static-stripped %guile-static)) + (define (tarball-package pkg) "Return a package containing a tarball of PKG." (package (inherit pkg) -- cgit 1.4.1 From 3ba23f0582a432dfc04bfbf58f375f6643caae19 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 27 Apr 2020 19:54:03 +0200 Subject: gnu: Add relocatable static Guile 3.0 variant. * gnu/packages/patches/guile-2.2-default-utf8.patch: New file, extracted from commit 2acfe022a740f79b593348cc6362cc4ee8f33bb4. * gnu/packages/patches/guile-3.0-linux-syscalls.patch, gnu/packages/patches/guile-3.0-relocatable.patch: New files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. Move all Guile patches together while at it. * gnu/packages/make-bootstrap.scm (%guile-3.0-static-stripped): New public variable. --- gnu/local.mk | 7 +- gnu/packages/make-bootstrap.scm | 11 +- gnu/packages/patches/guile-2.2-default-utf8.patch | 82 +++++ .../patches/guile-3.0-linux-syscalls.patch | 345 +++++++++++++++++++++ gnu/packages/patches/guile-3.0-relocatable.patch | 69 +++++ 5 files changed, 511 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/guile-2.2-default-utf8.patch create mode 100644 gnu/packages/patches/guile-3.0-linux-syscalls.patch create mode 100644 gnu/packages/patches/guile-3.0-relocatable.patch diff --git a/gnu/local.mk b/gnu/local.mk index 38e1d85b7b..0111ae2161 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1027,10 +1027,13 @@ dist_patch_DATA = \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ %D%/packages/patches/guile-default-utf8.patch \ - %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ + %D%/packages/patches/guile-2.2-default-utf8.patch \ + %D%/packages/patches/guile-relocatable.patch \ + %D%/packages/patches/guile-3.0-relocatable.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ + %D%/packages/patches/guile-3.0-linux-syscalls.patch \ + %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-present-coding.patch \ - %D%/packages/patches/guile-relocatable.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ %D%/packages/patches/guile-emacs-fix-configure.patch \ %D%/packages/patches/guile-sqlite3-fix-cross-compilation.patch \ diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index d336818299..fe86f810bf 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -55,7 +55,8 @@ %mes-bootstrap-tarball %bootstrap-tarballs - %guile-static-stripped)) + %guile-static-stripped + %guile-3.0-static-stripped)) ;;; Commentary: ;;; @@ -797,6 +798,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; A stripped static Guile binary, for use during bootstrap. (make-guile-static-stripped %guile-static)) +(define %guile-3.0-static-stripped + ;; A stripped static Guile 3.0 binary, for use in initrds. + (make-guile-static-stripped + (make-guile-static guile-3.0 + '("guile-2.2-default-utf8.patch" + "guile-3.0-linux-syscalls.patch" + "guile-3.0-relocatable.patch")))) + (define (tarball-package pkg) "Return a package containing a tarball of PKG." (package (inherit pkg) diff --git a/gnu/packages/patches/guile-2.2-default-utf8.patch b/gnu/packages/patches/guile-2.2-default-utf8.patch new file mode 100644 index 0000000000..f55a6430c1 --- /dev/null +++ b/gnu/packages/patches/guile-2.2-default-utf8.patch @@ -0,0 +1,82 @@ +This hack makes Guile default to UTF-8. This avoids calls to +`iconv_open'; `iconv_open' tries to open shared objects that aren't +available during bootstrap, so using UTF-8 avoids that (and UTF-8 has +built-in conversions in glibc, too.) + +diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c +index 0ac5ea6a6..f73301e2f 100644 +--- a/libguile/bytevectors.c ++++ b/libguile/bytevectors.c +@@ -1931,7 +1931,7 @@ utf_encoding_name (char *name, size_t utf_width, SCM endianness) + if (scm_i_is_narrow_string (str)) \ + { \ + err = mem_iconveh (scm_i_string_chars (str), c_strlen, \ +- "ISO-8859-1", c_utf_name, \ ++ "UTF-8", c_utf_name, \ + iconveh_question_mark, NULL, \ + &c_utf, &c_utf_len); \ + if (SCM_UNLIKELY (err)) \ +diff --git a/libguile/ports.c b/libguile/ports.c +index 45e62f4e4..42012f3aa 100644 +--- a/libguile/ports.c ++++ b/libguile/ports.c +@@ -974,7 +974,9 @@ canonicalize_encoding (const char *enc) + char *ret; + int i; + +- if (!enc || encoding_matches (enc, sym_ISO_8859_1)) ++ if (enc == NULL) ++ return sym_UTF_8; ++ if (encoding_matches (enc, sym_ISO_8859_1)) + return sym_ISO_8859_1; + if (encoding_matches (enc, sym_UTF_8)) + return sym_UTF_8; +@@ -4198,7 +4200,7 @@ scm_init_ports (void) + scm_c_define ("%default-port-conversion-strategy", + scm_make_fluid_with_default (sym_substitute)); + /* Use the locale as the default port encoding. */ +- scm_i_set_default_port_encoding (locale_charset ()); ++ scm_i_set_default_port_encoding ("UTF-8"); + + scm_c_register_extension ("libguile-" SCM_EFFECTIVE_VERSION, + "scm_init_ice_9_ports", +diff --git a/libguile/strings.c b/libguile/strings.c +index 056b4c99f..63a6c050d 100644 +--- a/libguile/strings.c ++++ b/libguile/strings.c +@@ -1579,7 +1579,7 @@ scm_i_default_string_failed_conversion_handler (void) + SCM + scm_from_locale_stringn (const char *str, size_t len) + { +- return scm_from_stringn (str, len, locale_charset (), ++ return scm_from_stringn (str, len, "UTF-8", + scm_i_default_string_failed_conversion_handler ()); + } + +@@ -1907,7 +1907,7 @@ char * + scm_to_locale_stringn (SCM str, size_t *lenp) + { + return scm_to_stringn (str, lenp, +- locale_charset (), ++ "UTF-8", + scm_i_default_string_failed_conversion_handler ()); + } + +@@ -2195,7 +2195,7 @@ scm_to_stringn (SCM str, size_t *lenp, const char *encoding, + scm_wrong_type_arg_msg (NULL, 0, str, "string"); + + if (encoding == NULL) +- encoding = "ISO-8859-1"; ++ encoding = "UTF-8"; + + if (c_strcasecmp (encoding, "UTF-8") == 0) + /* This is the most common case--e.g., when calling libc bindings +@@ -2247,7 +2247,7 @@ scm_to_stringn (SCM str, size_t *lenp, const char *encoding, + if (scm_i_is_narrow_string (str)) + { + ret = mem_iconveh (scm_i_string_chars (str), ilen, +- "ISO-8859-1", encoding, ++ "UTF-8", encoding, + (enum iconv_ilseq_handler) handler, NULL, + &buf, &len); + diff --git a/gnu/packages/patches/guile-3.0-linux-syscalls.patch b/gnu/packages/patches/guile-3.0-linux-syscalls.patch new file mode 100644 index 0000000000..0d27f77ee2 --- /dev/null +++ b/gnu/packages/patches/guile-3.0-linux-syscalls.patch @@ -0,0 +1,345 @@ +This patch adds bindings to Linux syscalls for which glibc has symbols. + +Using the FFI would have been nice, but that's not an option when using +a statically-linked Guile in an initrd that doesn't have libc.so around. + +diff --git a/libguile/posix.c b/libguile/posix.c +--- a/libguile/posix.c ++++ b/libguile/posix.c +@@ -2375,6 +2375,336 @@ scm_init_popen (void) + } + #endif /* HAVE_START_CHILD */ + ++ ++/* Linux! */ ++#ifdef __linux__ ++ ++#include ++#include ++ ++#include "libguile/foreign.h" ++#include "libguile/bytevectors.h" ++#include ++ ++SCM_DEFINE (scm_mount, "mount", 3, 2, 0, ++ (SCM source, SCM target, SCM type, SCM flags, SCM data), ++ "Mount file system of @var{type} specified by @var{source} " ++ "on @var{target}.") ++#define FUNC_NAME s_scm_mount ++{ ++ int err; ++ char *c_source, *c_target, *c_type, *c_data; ++ unsigned long c_flags; ++ ++ c_source = scm_to_locale_string (source); ++ c_target = scm_to_locale_string (target); ++ c_type = scm_to_locale_string (type); ++ c_flags = SCM_UNBNDP (flags) ? 0 : scm_to_ulong (flags); ++ ++ if (SCM_UNBNDP (data) || scm_is_false (data)) ++ c_data = NULL; ++ else ++ c_data = scm_to_locale_string (data); ++ ++ err = mount (c_source, c_target, c_type, c_flags, c_data); ++ if (err != 0) ++ err = errno; ++ ++ free (c_source); ++ free (c_target); ++ free (c_type); ++ ++ if (c_data != NULL) ++ free (c_data); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++SCM_DEFINE (scm_umount, "umount", 1, 0, 0, ++ (SCM target), ++ "Unmount the file system on @var{target}.") ++#define FUNC_NAME s_scm_umount ++{ ++ int err; ++ char *c_target; ++ ++ c_target = scm_to_locale_string (target); ++ ++ err = umount (c_target); ++ if (err != 0) ++ err = errno; ++ ++ free (c_target); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++/* Linux's module installation syscall. See `kernel/module.c' in Linux; ++ the function itself is part of the GNU libc. ++ ++ Load the LEN bytes at MODULE as a kernel module, with arguments from ++ ARGS, a space-separated list of options. */ ++extern long init_module (void *module, unsigned long len, const char *args); ++ ++/* Load a kernel module from FD. FLAGS must be a bitwise or of ++ MODULE_INIT_* constants. The GNU libc doesn't provide a wrapper for ++ this one so we use 'syscall'. */ ++static int ++finit_module (int fd, const char *args, int flags) ++{ ++ return syscall (SYS_finit_module, fd, args, flags); ++} ++ ++ ++SCM_DEFINE (scm_load_linux_module, "load-linux-module", 1, 1, 0, ++ (SCM data, SCM options), ++ "Load the Linux kernel module whose contents are in bytevector " ++ "DATA (the contents of a @code{.ko} file), with the arguments " ++ "from the OPTIONS string.") ++#define FUNC_NAME s_scm_load_linux_module ++{ ++ long err; ++ void *c_data; ++ unsigned long c_len; ++ char *c_options; ++ ++ SCM_VALIDATE_BYTEVECTOR (SCM_ARG1, data); ++ ++ c_data = SCM_BYTEVECTOR_CONTENTS (data); ++ c_len = SCM_BYTEVECTOR_LENGTH (data); ++ c_options = ++ scm_to_locale_string (SCM_UNBNDP (options) ? scm_nullstr : options); ++ ++ err = init_module (c_data, c_len, c_options); ++ ++ free (c_options); ++ ++ if (err != 0) ++ SCM_SYSERROR; ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++SCM_DEFINE (scm_load_linux_module_fd, "load-linux-module/fd", 1, 2, 0, ++ (SCM fd, SCM options, SCM flags), ++ "Load the Linux kernel module from the file at FD, " ++ "with the arguments from the OPTIONS string, and " ++ "optionally the given FLAGS.") ++#define FUNC_NAME s_scm_load_linux_module_fd ++{ ++ long err; ++ int c_fd, c_flags; ++ char *c_options; ++ ++ c_fd = scm_to_int (fd); ++ c_options = ++ scm_to_locale_string (SCM_UNBNDP (options) ? scm_nullstr : options); ++ c_flags = SCM_UNBNDP (flags) ? 0 : scm_to_int (flags); ++ ++ err = finit_module (c_fd, c_options, c_flags); ++ ++ free (c_options); ++ ++ if (err != 0) ++ SCM_SYSERROR; ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++ ++/* Rebooting, halting, and all that. */ ++ ++#include ++ ++SCM_VARIABLE_INIT (flag_RB_AUTOBOOT, "RB_AUTOBOOT", ++ scm_from_int (RB_AUTOBOOT)); ++SCM_VARIABLE_INIT (flag_RB_HALT_SYSTEM, "RB_HALT_SYSTEM", ++ scm_from_int (RB_HALT_SYSTEM)); ++SCM_VARIABLE_INIT (flag_RB_ENABLE_CAD, "RB_ENABLE_CAD", ++ scm_from_int (RB_ENABLE_CAD)); ++SCM_VARIABLE_INIT (flag_RB_DISABLE_CAD, "RB_DISABLE_CAD", ++ scm_from_int (RB_DISABLE_CAD)); ++SCM_VARIABLE_INIT (flag_RB_POWER_OFF, "RB_POWER_OFF", ++ scm_from_int (RB_POWER_OFF)); ++SCM_VARIABLE_INIT (flag_RB_SW_SUSPEND, "RB_SW_SUSPEND", ++ scm_from_int (RB_SW_SUSPEND)); ++SCM_VARIABLE_INIT (flag_RB_KEXEC, "RB_KEXEC", ++ scm_from_int (RB_KEXEC)); ++ ++SCM_DEFINE (scm_reboot, "reboot", 0, 1, 0, ++ (SCM command), ++ "Reboot the system. @var{command} must be one of the @code{RB_} " ++ "constants; if omitted, @var{RB_AUTOBOOT} is used, thus " ++ "performing a hard reset.") ++#define FUNC_NAME s_scm_reboot ++{ ++ int c_command; ++ ++ if (SCM_UNBNDP (command)) ++ c_command = RB_AUTOBOOT; ++ else ++ c_command = scm_to_int (command); ++ ++ reboot (c_command); ++ ++ return SCM_UNSPECIFIED; /* likely unreached */ ++} ++#undef FUNC_NAME ++ ++/* Linux network interfaces. See . */ ++ ++#include ++#include ++#include "libguile/socket.h" ++ ++SCM_VARIABLE_INIT (flag_IFF_UP, "IFF_UP", ++ scm_from_int (IFF_UP)); ++SCM_VARIABLE_INIT (flag_IFF_BROADCAST, "IFF_BROADCAST", ++ scm_from_int (IFF_BROADCAST)); ++SCM_VARIABLE_INIT (flag_IFF_DEBUG, "IFF_DEBUG", ++ scm_from_int (IFF_DEBUG)); ++SCM_VARIABLE_INIT (flag_IFF_LOOPBACK, "IFF_LOOPBACK", ++ scm_from_int (IFF_LOOPBACK)); ++SCM_VARIABLE_INIT (flag_IFF_POINTOPOINT, "IFF_POINTOPOINT", ++ scm_from_int (IFF_POINTOPOINT)); ++SCM_VARIABLE_INIT (flag_IFF_NOTRAILERS, "IFF_NOTRAILERS", ++ scm_from_int (IFF_NOTRAILERS)); ++SCM_VARIABLE_INIT (flag_IFF_RUNNING, "IFF_RUNNING", ++ scm_from_int (IFF_RUNNING)); ++SCM_VARIABLE_INIT (flag_IFF_NOARP, "IFF_NOARP", ++ scm_from_int (IFF_NOARP)); ++SCM_VARIABLE_INIT (flag_IFF_PROMISC, "IFF_PROMISC", ++ scm_from_int (IFF_PROMISC)); ++SCM_VARIABLE_INIT (flag_IFF_ALLMULTI, "IFF_ALLMULTI", ++ scm_from_int (IFF_ALLMULTI)); ++ ++SCM_DEFINE (scm_set_network_interface_address, "set-network-interface-address", ++ 3, 0, 0, ++ (SCM socket, SCM name, SCM address), ++ "Configure network interface @var{name}.") ++#define FUNC_NAME s_scm_set_network_interface_address ++{ ++ char *c_name; ++ struct ifreq ifr; ++ struct sockaddr *c_address; ++ size_t sa_len; ++ int fd, err; ++ ++ socket = SCM_COERCE_OUTPORT (socket); ++ SCM_VALIDATE_OPFPORT (1, socket); ++ fd = SCM_FPORT_FDES (socket); ++ ++ memset (&ifr, 0, sizeof ifr); ++ c_name = scm_to_locale_string (name); ++ c_address = scm_to_sockaddr (address, &sa_len); ++ ++ strncpy (ifr.ifr_name, c_name, sizeof ifr.ifr_name - 1); ++ memcpy (&ifr.ifr_addr, c_address, sa_len); ++ ++ err = ioctl (fd, SIOCSIFADDR, &ifr); ++ if (err != 0) ++ err = errno; ++ ++ free (c_name); ++ free (c_address); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++SCM_DEFINE (scm_set_network_interface_flags, "set-network-interface-flags", ++ 3, 0, 0, ++ (SCM socket, SCM name, SCM flags), ++ "Change the flags of network interface @var{name} to " ++ "@var{flags}.") ++#define FUNC_NAME s_scm_set_network_interface_flags ++{ ++ struct ifreq ifr; ++ char *c_name; ++ int fd, err; ++ ++ socket = SCM_COERCE_OUTPORT (socket); ++ SCM_VALIDATE_OPFPORT (1, socket); ++ fd = SCM_FPORT_FDES (socket); ++ ++ memset (&ifr, 0, sizeof ifr); ++ c_name = scm_to_locale_string (name); ++ strncpy (ifr.ifr_name, c_name, sizeof ifr.ifr_name - 1); ++ ifr.ifr_flags = scm_to_short (flags); ++ ++ err = ioctl (fd, SIOCSIFFLAGS, &ifr); ++ if (err != 0) ++ err = errno; ++ ++ free (c_name); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++SCM_DEFINE (scm_network_interface_flags, "network-interface-flags", ++ 2, 0, 0, ++ (SCM socket, SCM name), ++ "Return the flags of network interface @var{name}.") ++#define FUNC_NAME s_scm_network_interface_flags ++{ ++ struct ifreq ifr; ++ char *c_name; ++ int fd, err; ++ ++ socket = SCM_COERCE_OUTPORT (socket); ++ SCM_VALIDATE_OPFPORT (1, socket); ++ fd = SCM_FPORT_FDES (socket); ++ ++ memset (&ifr, 0, sizeof ifr); ++ c_name = scm_to_locale_string (name); ++ strncpy (ifr.ifr_name, c_name, sizeof ifr.ifr_name - 1); ++ ++ err = ioctl (fd, SIOCGIFFLAGS, &ifr); ++ if (err != 0) ++ err = errno; ++ ++ free (c_name); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return scm_from_short (ifr.ifr_flags); ++} ++#undef FUNC_NAME ++#endif ++ + void + scm_init_posix () + { diff --git a/gnu/packages/patches/guile-3.0-relocatable.patch b/gnu/packages/patches/guile-3.0-relocatable.patch new file mode 100644 index 0000000000..3d101636dc --- /dev/null +++ b/gnu/packages/patches/guile-3.0-relocatable.patch @@ -0,0 +1,69 @@ +This patch changes Guile to use a default search path relative to the +location of the `guile' binary, allowing it to be relocated. + +diff --git a/libguile/load.c b/libguile/load.c +--- a/libguile/load.c ++++ b/libguile/load.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -334,6 +335,32 @@ scm_init_load_path () + SCM cpath = SCM_EOL; + + #ifdef SCM_LIBRARY_DIR ++ char *program, *bin_dir, *prefix, *module_dir, *ccache_dir; ++ ++ /* Determine the source and compiled module directories at run-time, ++ relative to the executable's location. ++ ++ Note: Use /proc/self/exe instead of argv[0] because the latter is ++ not necessarily an absolute, nor a valid file name. */ ++ ++ program = scm_gc_malloc_pointerless (256, "string"); ++ readlink ("/proc/self/exe", program, 256); ++ ++ bin_dir = dirname (strdupa (program)); ++ ++ prefix = scm_gc_malloc_pointerless (strlen (bin_dir) + 4, "string"); ++ strcpy (prefix, bin_dir); ++ strcat (prefix, "/.."); ++ prefix = canonicalize_file_name (prefix); ++ ++ module_dir = scm_gc_malloc_pointerless (strlen (prefix) + 50, "string"); ++ strcpy (module_dir, prefix); ++ strcat (module_dir, "/share/guile/" SCM_EFFECTIVE_VERSION); ++ ++ ccache_dir = scm_gc_malloc_pointerless (strlen (prefix) + 50, "string"); ++ strcpy (ccache_dir, prefix); ++ strcat (ccache_dir, "/lib/guile/" SCM_EFFECTIVE_VERSION "/ccache"); ++ + env = scm_i_mirror_backslashes (getenv ("GUILE_SYSTEM_PATH")); + if (env && strcmp (env, "") == 0) + /* special-case interpret system-path=="" as meaning no system path instead +@@ -342,10 +369,7 @@ scm_init_load_path () + else if (env) + path = scm_parse_path (scm_from_locale_string (env), path); + else +- path = scm_list_4 (scm_from_utf8_string (SCM_LIBRARY_DIR), +- scm_from_utf8_string (SCM_SITE_DIR), +- scm_from_utf8_string (SCM_GLOBAL_SITE_DIR), +- scm_from_utf8_string (SCM_PKGDATA_DIR)); ++ path = scm_list_1 (scm_from_locale_string (module_dir)); + + env = scm_i_mirror_backslashes (getenv ("GUILE_SYSTEM_COMPILED_PATH")); + if (env && strcmp (env, "") == 0) +@@ -355,8 +379,7 @@ scm_init_load_path () + cpath = scm_parse_path (scm_from_locale_string (env), cpath); + else + { +- cpath = scm_list_2 (scm_from_utf8_string (SCM_CCACHE_DIR), +- scm_from_utf8_string (SCM_SITE_CCACHE_DIR)); ++ cpath = scm_list_1 (scm_from_locale_string (ccache_dir)); + } + + #endif /* SCM_LIBRARY_DIR */ -- cgit 1.4.1 From 57833803b446484b6f413fb883b2156933c38639 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 1 May 2020 22:05:17 +0200 Subject: gnu: linux-initrd: Use Guile 3.0. * gnu/system/linux-initrd.scm (expression->initrd): Change from %GUILE-STATIC-STRIPPED to %GUILE-3.0-STATIC-STRIPPED. --- gnu/system/linux-initrd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index dcc9b6b937..1aa3113ae5 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -36,7 +36,7 @@ #:use-module ((gnu packages xorg) #:select (console-setup xkeyboard-config)) #:use-module ((gnu packages make-bootstrap) - #:select (%guile-static-stripped)) + #:select (%guile-3.0-static-stripped)) #:use-module (gnu system file-systems) #:use-module (gnu system mapped-devices) #:use-module (gnu system keyboard) @@ -62,7 +62,7 @@ (define* (expression->initrd exp #:key - (guile %guile-static-stripped) + (guile %guile-3.0-static-stripped) (gzip gzip) (name "guile-initrd") (system (%current-system))) -- cgit 1.4.1 From a2522c5da3a71a634a55e5d77df3cf585784676f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 1 May 2020 22:34:22 +0200 Subject: doc: Update initrd section to refer to the right Guile variable. This is a follow-up to commit 57833803b446484b6f413fb883b2156933c38639. * doc/guix.texi (Initial RAM Disk): Refer to "%guile-3.0-static-stripped" instead of "%guile-static-stripped". --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 26b4652f67..a51c65f12f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -26378,7 +26378,7 @@ program. That gives a lot of flexibility. The program to run in that initrd. @deffn {Scheme Procedure} expression->initrd @var{exp} @ - [#:guile %guile-static-stripped] [#:name "guile-initrd"] + [#:guile %guile-3.0-static-stripped] [#:name "guile-initrd"] Return as a file-like object a Linux initrd (a gzipped cpio archive) containing @var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All the derivations referenced by @var{exp} are -- cgit 1.4.1 From 48a168ff9712c42c127f8bee45a45ba2f7df28f7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 2 May 2020 12:52:47 +0200 Subject: gnu: libdbusmenu: Fix build failure. * gnu/packages/gtk.scm (libdbusmenu)[arguments]: Add phase do-not-treat-warnings-as-errors. --- gnu/packages/gtk.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 159b5f4705..f375ca9b82 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1914,6 +1914,14 @@ shell scripts. Example of how to use @code{yad} can be consulted at "/lib/girepository-1.0")) #:phases (modify-phases %standard-phases + (add-before 'configure 'do-not-treat-warnings-as-errors + (lambda _ + ;; Prevent the build from failing due to deprecation warnings + ;; from newer GLib and GTK versions. + (substitute* (find-files "." "^Makefile.in$") + ((" -Werror") + "")) + #t)) (add-before 'configure 'set-environment (lambda _ (setenv "HAVE_VALGRIND_TRUE" "") -- cgit 1.4.1 From 20d7dbc77a2b0ed379c0a595daf8d7f852ef3a4c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 2 May 2020 12:00:11 +0100 Subject: gnu: python-gst: Fix build with Python 3.8. Add a patch based on an upstream commit [1]. 1: 10707f437f2fc3632067c6a0efa4432f7ebaf362 * gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gstreamer.scm (python-gst)[source]: Use the patch. --- gnu/local.mk | 1 + gnu/packages/gstreamer.scm | 4 ++- .../python-gst-fix-build-with-python-3.8.patch | 36 ++++++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0111ae2161..acfc5cec4d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1394,6 +1394,7 @@ dist_patch_DATA = \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ + %D%/packages/patches/python-gst-fix-build-with-python-3.8.patch \ %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 \ diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 93149e370e..7596796d68 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -521,7 +521,9 @@ non-linear editors.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390")))) + "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390")) + (patches + (search-patches "python-gst-fix-build-with-python-3.8.patch")))) (build-system meson-build-system) (arguments `(#:modules ((guix build meson-build-system) diff --git a/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch b/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch new file mode 100644 index 0000000000..affa0e1317 --- /dev/null +++ b/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch @@ -0,0 +1,36 @@ +Fix build with Python 3.8 by also checking for python-3.X-embed.pc. Since +Python 3.8 the normal checks don't include the Python libraries anymore and +linking of the gst-python module would fail. + +See also https://github.com/mesonbuild/meson/issues/5629 +Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28 + +Patch based on upstream commit: + +https://gitlab.freedesktop.org/gstreamer/gst-python/-/commit/10707f437f2fc3632067c6a0efa4432f7ebaf362 + +diff --git a/meson.build b/meson.build +index 5f13b48..d7c7e66 100644 +--- a/meson.build ++++ b/meson.build +@@ -23,7 +23,17 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d + + pymod = import('python') + python = pymod.find_installation(get_option('python')) +-python_dep = python.dependency(required : true) ++pythonver = python.language_version() ++if pythonver.version_compare('<3.0') ++ error('Python2 is not supported anymore, please port your code to python3 (@0@ specified)'.format(python.language_version())) ++endif ++ ++# Workaround for https://github.com/mesonbuild/meson/issues/5629 ++# https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28 ++python_dep = dependency('python-@0@-embed'.format(pythonver), version: '>=3', required: false) ++if not python_dep.found() ++ python_dep = python.dependency(required : true) ++endif + + python_abi_flags = python.get_variable('ABIFLAGS', '') + pylib_loc = get_option('libpython-dir') +-- +2.26.2 -- cgit 1.4.1 From a8cb1e72ef351330d1521833c1b270dcc0da593f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 2 May 2020 12:30:53 +0100 Subject: gnu: behave: Fix build with Python 3.8. Add a patch based on an upstream commit [1]. 1: c000c88eb5239b87f299c85e83b349b0ef387ae7 * gnu/packages/patches/behave-skip-a-couple-of-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/check.scm (behave)[source]: Use the patch. --- gnu/local.mk | 1 + gnu/packages/check.scm | 4 +- .../patches/behave-skip-a-couple-of-tests.patch | 462 +++++++++++++++++++++ 3 files changed, 466 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/behave-skip-a-couple-of-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index acfc5cec4d..f48c6803ee 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -774,6 +774,7 @@ dist_patch_DATA = \ %D%/packages/patches/bc-fix-cross-compilation.patch \ %D%/packages/patches/beancount-disable-googleapis-fonts.patch \ %D%/packages/patches/beets-werkzeug-compat.patch \ + %D%/packages/patches/behave-skip-a-couple-of-tests.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/benchmark-unbundle-googletest.patch \ %D%/packages/patches/biber-fix-encoding-write.patch \ diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 05a796a3e3..2629e88323 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2107,7 +2107,9 @@ backported from Python 2.7 for Python 2.4+.") (uri (pypi-uri "behave" version)) (sha256 (base32 - "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr")))) + "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr")) + (patches (search-patches + "behave-skip-a-couple-of-tests.patch")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) diff --git a/gnu/packages/patches/behave-skip-a-couple-of-tests.patch b/gnu/packages/patches/behave-skip-a-couple-of-tests.patch new file mode 100644 index 0000000000..e3d4e15241 --- /dev/null +++ b/gnu/packages/patches/behave-skip-a-couple-of-tests.patch @@ -0,0 +1,462 @@ +Fix build with Python 3.8, this is a patch based on upstream commit [1]. + +1: c000c88eb5239b87f299c85e83b349b0ef387ae7 + + +diff --git a/behave.ini b/behave.ini +index 45c0f0d7..952240d6 100644 +--- a/behave.ini ++++ b/behave.ini +@@ -15,8 +15,9 @@ show_skipped = false + format = rerun + progress3 + outfiles = rerun.txt +- reports/report_progress3.txt ++ build/behave.reports/report_progress3.txt + junit = true ++junit_directory = build/behave.reports + logging_level = INFO + # logging_format = LOG.%(levelname)-8s %(name)-10s: %(message)s + # logging_format = LOG.%(levelname)-8s %(asctime)s %(name)-10s: %(message)s +diff --git a/features/environment.py b/features/environment.py +index 4744e89a..3769ee40 100644 +--- a/features/environment.py ++++ b/features/environment.py +@@ -1,5 +1,7 @@ + # -*- coding: UTF-8 -*- ++# FILE: features/environemnt.py + ++from __future__ import absolute_import, print_function + from behave.tag_matcher import ActiveTagMatcher, setup_active_tag_values + from behave4cmd0.setup_command_shell import setup_command_shell_processors4behave + import platform +@@ -20,6 +22,15 @@ + } + active_tag_matcher = ActiveTagMatcher(active_tag_value_provider) + ++ ++def print_active_tags_summary(): ++ active_tag_data = active_tag_value_provider ++ print("ACTIVE-TAG SUMMARY:") ++ print("use.with_python.version=%s" % active_tag_data.get("python.version")) ++ # print("use.with_os=%s" % active_tag_data.get("os")) ++ print() ++ ++ + # ----------------------------------------------------------------------------- + # HOOKS: + # ----------------------------------------------------------------------------- +@@ -30,11 +41,14 @@ def before_all(context): + setup_python_path() + setup_context_with_global_params_test(context) + setup_command_shell_processors4behave() ++ print_active_tags_summary() ++ + + def before_feature(context, feature): + if active_tag_matcher.should_exclude_with(feature.tags): + feature.skip(reason=active_tag_matcher.exclude_reason) + ++ + def before_scenario(context, scenario): + if active_tag_matcher.should_exclude_with(scenario.effective_tags): + scenario.skip(reason=active_tag_matcher.exclude_reason) +diff --git a/features/step.duplicated_step.feature b/features/step.duplicated_step.feature +index 59888b0f..396cca27 100644 +--- a/features/step.duplicated_step.feature ++++ b/features/step.duplicated_step.feature +@@ -32,11 +32,11 @@ Feature: Duplicated Step Definitions + AmbiguousStep: @given('I call Alice') has already been defined in + existing step @given('I call Alice') at features/steps/alice_steps.py:3 + """ +- And the command output should contain: +- """ +- File "features/steps/alice_steps.py", line 7, in +- @given(u'I call Alice') +- """ ++ # -- DISABLED: Python 3.8 traceback line numbers differ w/ decorators (+1). ++ # And the command output should contain: ++ # """ ++ # File "features/steps/alice_steps.py", line 7, in ++ # """ + + + Scenario: Duplicated Step Definition in another File +@@ -70,11 +70,11 @@ Feature: Duplicated Step Definitions + AmbiguousStep: @given('I call Bob') has already been defined in + existing step @given('I call Bob') at features/steps/bob1_steps.py:3 + """ +- And the command output should contain: +- """ +- File "features/steps/bob2_steps.py", line 3, in +- @given('I call Bob') +- """ ++ # -- DISABLED: Python 3.8 traceback line numbers differ w/ decorators (+1). ++ # And the command output should contain: ++ # """ ++ # File "features/steps/bob2_steps.py", line 3, in ++ # """ + + @xfail + Scenario: Duplicated Same Step Definition via import from another File +diff --git a/issue.features/environment.py b/issue.features/environment.py +index 2dfec751..7e48ee03 100644 +--- a/issue.features/environment.py ++++ b/issue.features/environment.py +@@ -1,5 +1,5 @@ + # -*- coding: UTF-8 -*- +-# FILE: features/environment.py ++# FILE: issue.features/environemnt.py + # pylint: disable=unused-argument + """ + Functionality: +@@ -7,17 +7,20 @@ + * active tags + """ + +-from __future__ import print_function ++ ++from __future__ import absolute_import, print_function + import sys + import platform + import os.path + import six + from behave.tag_matcher import ActiveTagMatcher + from behave4cmd0.setup_command_shell import setup_command_shell_processors4behave +-# PREPARED: +-# from behave.tag_matcher import setup_active_tag_values ++# PREPARED: from behave.tag_matcher import setup_active_tag_values + + ++# --------------------------------------------------------------------------- ++# TEST SUPPORT: For Active Tags ++# --------------------------------------------------------------------------- + def require_tool(tool_name): + """Check if a tool (an executable program) is provided on this platform. + +@@ -45,12 +48,14 @@ def require_tool(tool_name): + # print("TOOL-NOT-FOUND: %s" % tool_name) + return False + ++ + def as_bool_string(value): + if bool(value): + return "yes" + else: + return "no" + ++ + def discover_ci_server(): + # pylint: disable=invalid-name + ci_server = "none" +@@ -67,11 +72,17 @@ def discover_ci_server(): + return ci_server + + ++# --------------------------------------------------------------------------- ++# BEHAVE SUPPORT: Active Tags ++# --------------------------------------------------------------------------- + # -- MATCHES ANY TAGS: @use.with_{category}={value} + # NOTE: active_tag_value_provider provides category values for active tags. ++python_version = "%s.%s" % sys.version_info[:2] + active_tag_value_provider = { ++ "platform": sys.platform, + "python2": str(six.PY2).lower(), + "python3": str(six.PY3).lower(), ++ "python.version": python_version, + # -- python.implementation: cpython, pypy, jython, ironpython + "python.implementation": platform.python_implementation().lower(), + "pypy": str("__pypy__" in sys.modules).lower(), +@@ -82,17 +92,33 @@ def discover_ci_server(): + } + active_tag_matcher = ActiveTagMatcher(active_tag_value_provider) + ++ ++def print_active_tags_summary(): ++ active_tag_data = active_tag_value_provider ++ print("ACTIVE-TAG SUMMARY:") ++ print("use.with_python.version=%s" % active_tag_data.get("python.version")) ++ # print("use.with_platform=%s" % active_tag_data.get("platform")) ++ # print("use.with_os=%s" % active_tag_data.get("os")) ++ print() ++ ++ ++# --------------------------------------------------------------------------- ++# BEHAVE HOOKS: ++# --------------------------------------------------------------------------- + def before_all(context): + # -- SETUP ACTIVE-TAG MATCHER (with userdata): + # USE: behave -D browser=safari ... +- # NOT-NEEDED: setup_active_tag_values(active_tag_value_provider, +- # context.config.userdata) ++ # NOT-NEEDED: ++ # setup_active_tag_values(active_tag_value_provider, context.config.userdata) + setup_command_shell_processors4behave() ++ print_active_tags_summary() ++ + + def before_feature(context, feature): + if active_tag_matcher.should_exclude_with(feature.tags): + feature.skip(reason=active_tag_matcher.exclude_reason) + ++ + def before_scenario(context, scenario): + if active_tag_matcher.should_exclude_with(scenario.effective_tags): + scenario.skip(reason=active_tag_matcher.exclude_reason) +diff --git a/issue.features/issue0330.feature b/issue.features/issue0330.feature +index dc1ebe75..81cb6e29 100644 +--- a/issue.features/issue0330.feature ++++ b/issue.features/issue0330.feature +@@ -70,6 +70,7 @@ Feature: Issue #330: Skipped scenarios are included in junit reports when --no-s + And note that "bob.feature is skipped" + + ++ @not.with_python.version=3.8 + Scenario: Junit report for skipped feature is created with --show-skipped + When I run "behave --junit -t @tag1 --show-skipped @alice_and_bob.featureset" + Then it should pass with: +@@ -83,6 +84,23 @@ Feature: Issue #330: Skipped scenarios are included in junit reports when --no-s + + """ + ++ @use.with_python.version=3.8 ++ Scenario: Junit report for skipped feature is created with --show-skipped ++ When I run "behave --junit -t @tag1 --show-skipped @alice_and_bob.featureset" ++ Then it should pass with: ++ """ ++ 1 feature passed, 0 failed, 1 skipped ++ """ ++ And a file named "test_results/TESTS-alice.xml" exists ++ And a file named "test_results/TESTS-bob.xml" exists ++ And the file "test_results/TESTS-bob.xml" should contain: ++ """ ++ ++ """ ++ # -- HINT FOR: Python < 3.8 ++ # ++ ++ @not.with_python.version=3.8 + Scenario: Junit report for skipped scenario is neither shown nor counted with --no-skipped + When I run "behave --junit -t @tag1 --no-skipped" + Then it should pass with: +@@ -102,7 +120,30 @@ Feature: Issue #330: Skipped scenarios are included in junit reports when --no-s + """ + And note that "Charly2 is the skipped scenarion in charly.feature" + ++ @use.with_python.version=3.8 ++ Scenario: Junit report for skipped scenario is neither shown nor counted with --no-skipped ++ When I run "behave --junit -t @tag1 --no-skipped" ++ Then it should pass with: ++ """ ++ 2 features passed, 0 failed, 1 skipped ++ 2 scenarios passed, 0 failed, 2 skipped ++ """ ++ And a file named "test_results/TESTS-alice.xml" exists ++ And a file named "test_results/TESTS-charly.xml" exists ++ And the file "test_results/TESTS-charly.xml" should contain: ++ """ ++ " + + ++ @use.with_python.version=3.8 ++ Scenario: Hook error in before_scenario() ++ When I run "behave -f plain --junit features/before_scenario_failure.feature" ++ Then it should fail with: ++ """ ++ 0 scenarios passed, 1 failed, 0 skipped ++ """ ++ And the command output should contain: ++ """ ++ HOOK-ERROR in before_scenario: RuntimeError: OOPS ++ """ ++ And the file "reports/TESTS-before_scenario_failure.xml" should contain: ++ """ ++ ++ """ ++ # -- HINT FOR: Python < 3.8 ++ # ++ And the file "reports/TESTS-before_scenario_failure.xml" should contain: ++ """ ++ File "features/environment.py", line 6, in before_scenario ++ cause_hook_failure() ++ File "features/environment.py", line 2, in cause_hook_failure ++ raise RuntimeError("OOPS") ++ """ ++ And note that "the traceback is contained in the XML element " ++ ++ ++ @not.with_python.version=3.8 + Scenario: Hook error in after_scenario() + When I run "behave -f plain --junit features/after_scenario_failure.feature" + Then it should fail with: +@@ -114,3 +149,38 @@ Feature: Issue #446 -- Support scenario hook-errors with JUnitReporter + raise RuntimeError("OOPS") + """ + And note that "the traceback is contained in the XML element " ++ ++ ++ @use.with_python.version=3.8 ++ Scenario: Hook error in after_scenario() ++ When I run "behave -f plain --junit features/after_scenario_failure.feature" ++ Then it should fail with: ++ """ ++ 0 scenarios passed, 1 failed, 0 skipped ++ """ ++ And the command output should contain: ++ """ ++ Scenario: B1 ++ Given another step passes ... passed ++ HOOK-ERROR in after_scenario: RuntimeError: OOPS ++ """ ++ And the file "reports/TESTS-after_scenario_failure.xml" should contain: ++ """ ++ ++ """ ++ # -- HINT FOR: Python < 3.8 ++ # ++ And the file "reports/TESTS-after_scenario_failure.xml" should contain: ++ """ ++ File "features/environment.py", line 10, in after_scenario ++ cause_hook_failure() ++ File "features/environment.py", line 2, in cause_hook_failure ++ raise RuntimeError("OOPS") ++ """ ++ And note that "the traceback is contained in the XML element " +diff --git a/issue.features/issue0457.feature b/issue.features/issue0457.feature +index f80640e9..46f96e9c 100644 +--- a/issue.features/issue0457.feature ++++ b/issue.features/issue0457.feature +@@ -24,6 +24,7 @@ Feature: Issue #457 -- Double-quotes in error messages of JUnit XML reports + """ + + ++ @not.with_python.version=3.8 + Scenario: Use failing assertation in a JUnit XML report + Given a file named "features/fails1.feature" with: + """ +@@ -44,6 +45,31 @@ Feature: Issue #457 -- Double-quotes in error messages of JUnit XML reports + ++ """ ++ # -- HINT FOR: Python < 3.8 ++ # I am ++ ''' ++ """ ++ When I run "behave --junit features/fails2.feature" ++ Then it should fail with: ++ """ ++ 0 scenarios passed, 1 failed, 0 skipped ++ """ ++ And the file "reports/TESTS-fails2.xml" should contain: ++ """ ++ ++ """ ++ # -- HINT FOR: Python < 3.8 ++ # Date: Sat, 2 May 2020 13:58:34 +0200 Subject: gnu: ledger: Build with Python 3. * gnu/packages/finance.scm (ledger)[inputs]: Change from PYTHON-2 to PYTHON. --- gnu/packages/finance.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 61d807190c..201ff3d1bd 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -258,7 +258,7 @@ and dynamically with report tools based on filtering and graphical charts.") ("gmp" ,gmp) ("libedit" ,libedit) ("mpfr" ,mpfr) - ("python" ,python-2) + ("python" ,python) ("utfcpp" ,utfcpp))) (native-inputs `(("groff" ,groff) -- cgit 1.4.1 From 0eed77127592323d89f56c215a15374a1aaae110 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 3 May 2020 17:25:28 +0200 Subject: locale: Add glibc 2.29 to '%default-locale-libcs'. This eases transition for anyone reconfiguring and still having profiles with packages using the former libc. * gnu/system/locale.scm (%default-locale-libcs): Add GLIBC-2.29. --- gnu/system/locale.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm index c7a371e9bf..ec1b71e061 100644 --- a/gnu/system/locale.scm +++ b/gnu/system/locale.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès ;;; Copyright © 2018 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -147,7 +147,8 @@ data format changes between libc versions." (define %default-locale-libcs ;; The libcs for which we build locales by default. - (list glibc)) + ;; List the previous and current libc to ease transition. + (list glibc-2.29 glibc)) (define %default-locale-definitions ;; Arbitrary set of locales that are built by default. They are here mostly -- cgit 1.4.1 From 60c9264b30d64527e2ab395b60a076fe070d0baf Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 3 May 2020 17:30:42 +0200 Subject: gnu: Add guile-packrat. * gnu/packages/guile-xyz.scm (guile-packrat): New variable. --- gnu/packages/guile-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index d97aacdf6b..a75088ed61 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -3186,6 +3186,42 @@ SHA-512).") (define-public guile3.0-hashing (deprecated-package "guile3.0-hashing" guile-hashing)) +(define-public guile-packrat + (package + (name "guile-packrat") + (version "0.1.1") + (home-page "https://github.com/weinholt/packrat") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aga17164fkhbgllqc7ni6fk5zl8mkmgkl5zcsy67x7ngpyalbby")))) + (build-system guile-build-system) + (arguments + `(#:implicit-inputs? #f ;needs nothing but Guile + #:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch") + #:not-compiled-file-regexp "/extensible\\.scm$" + #:phases (modify-phases %standard-phases + (add-before 'build 'no-srfi-23 + (lambda _ + (substitute* "packrat.sls" + (("\\(srfi :23 error\\)") + (object->string '(only (guile) error)))) + #t))))) + (native-inputs + `(("guile" ,guile-3.0))) + (synopsis "Packrat parser library in R6RS Scheme") + (description + "This is an R6RS Scheme adaptation of the +@uref{https://bford.info/packrat/, packrat parsing}. Packrat parsing is a +memoizing, backtracking, recursive-descent parsing technique that runs in time +and space linear in the size of the input text.") + (license license:expat))) + (define-public guile-webutils (let ((commit "8541904f761066dc9c27b1153e9a838be9a55299") (revision "0")) -- cgit 1.4.1 From 97a77eab09999e8f98fd4ba46982ab517d30b527 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 3 May 2020 18:25:26 +0200 Subject: gnu: Add guile-ac-d-bus. * gnu/packages/guile-xyz.scm (guile-ac-d-bus): New variable. --- gnu/packages/guile-xyz.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index a75088ed61..45cc6b2326 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -3222,6 +3222,70 @@ memoizing, backtracking, recursive-descent parsing technique that runs in time and space linear in the size of the input text.") (license license:expat))) +(define-public guile-ac-d-bus + (package + (name "guile-ac-d-bus") + (version "1.0.0-alpha.0") + (home-page "https://gitlab.com/weinholt/ac-d-bus/") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05cbp7slmzrx4cib2liysk31laknqiycw9ckgn65fylgz6c2y5x9")))) + (build-system guile-build-system) + (arguments + `(#:implicit-inputs? #f ;needs nothing but Guile + #:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch") + #:phases (modify-phases %standard-phases + (add-before 'build 'adjust-for-guile + (lambda _ + ;; Adjust source file names for Guile. + (define (guile-sls->sls file) + (string-append (string-drop-right + file (string-length ".guile.sls")) + ".sls")) + + ;; Remove files targeting other implementations: + ;; *.mosh.sls, etc. + (for-each delete-file + (find-files + "compat" + (lambda (file stat) + (not (string-contains file ".guile."))))) + + ;; Rename *.guile.sls to *.sls so the ".guile" bit does + ;; not appear in .go file names. + (for-each (lambda (file) + (rename-file file (guile-sls->sls file))) + (find-files "compat" "\\.guile\\.sls")) + + ;; Move directories under d-bus/ to match module names. + (mkdir "d-bus") + (for-each (lambda (directory) + (rename-file directory + (string-append "d-bus/" + directory))) + '("compat" "protocol")) + + #t))))) + (native-inputs + `(("guile" ,guile-3.0))) + (propagated-inputs + `(("guile-packrat" ,guile-packrat))) + (synopsis "D-Bus protocol implementation in R6RS Scheme") + (description + "AC/D-Bus is an implementation of the D-Bus wire protocol. D-Bus is an +interprocess communication protocol popular on GNU/Linux systems to +communicate with a variety of services. Originally designed for desktop +environments, it is now used by programs like VLC media player, BlueZ, +NetworkManager, Pulseaudio, systemd (including logind and resolved), Polkit, +gnome-keyring, and many more.") + (license license:expat))) + (define-public guile-webutils (let ((commit "8541904f761066dc9c27b1153e9a838be9a55299") (revision "0")) -- cgit 1.4.1 From 2b68ba721c153b4a4d2f886142985983dcf92429 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 4 May 2020 14:23:58 +0200 Subject: gnu: gnome-weather: Add wrapper to fix runtime failure. Fixes . Reported by sirgazil . * gnu/packages/gnome.scm (gnome-weather)[arguments]: Add #:glib-or-gtk?. Add phase to wrap the executable with GTK+ variables. --- gnu/packages/gnome.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cd986af643..2c0a862c93 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7768,7 +7768,8 @@ associations for GNOME.") ("gnome-desktop" ,gnome-desktop) ("libgweather" ,libgweather))) (arguments - `(#:phases + `(#:glib-or-gtk? #t + #:phases (modify-phases %standard-phases (add-after 'install 'fix-desktop-file ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason. @@ -7777,7 +7778,16 @@ associations for GNOME.") (let* ((out (assoc-ref outputs "out")) (applications (string-append out "/share/applications"))) (substitute* (string-append applications "/org.gnome.Weather.desktop") - (("Exec=.*") "Exec=gnome-weather\n")))))))) + (("Exec=.*") "Exec=gnome-weather\n")) + #t))) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime. + (wrap-program (string-append out "/bin/gnome-weather") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))) + #t)))))) (synopsis "Weather monitoring for GNOME desktop") (description "GNOME Weather is a small application that allows you to monitor the current weather conditions for your city, or anywhere in the -- cgit 1.4.1 From 7d7fedf6f022e6114959684658f927e191ab40b1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 4 May 2020 14:39:56 +0200 Subject: gnu: gnome-maps: Add missing input. Fixes . Reported by sirgazil . * gnu/packages/geo.scm (gnome-maps)[inputs]: Add EVOLUTION-DATA-SERVER. --- gnu/packages/geo.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index d78e2e0f11..9268a3f5b4 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -193,7 +193,8 @@ topology functions.") ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs - `(("folks" ,folks) + `(("evolution-data-server" ,evolution-data-server) + ("folks" ,folks) ("libchamplain" ,libchamplain) ("libgee" ,libgee) ("libsecret" ,libsecret) -- cgit 1.4.1 From be7e82f05700595da53a7b6c3df81dc5a056badb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 4 May 2020 14:41:46 +0200 Subject: gnu: gnome-maps: Do not propagate GTK+. * gnu/packages/geo.scm (gnome-maps)[propagated-inputs]: Remove. [inputs]: Add GTK+. --- gnu/packages/geo.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 9268a3f5b4..7ba5702a84 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -210,10 +210,9 @@ topology functions.") ("glib" ,glib) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib") ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) ("rest" ,rest) ("webkitgtk" ,webkitgtk))) - (propagated-inputs - `(("gtk+3" ,gtk+))) (synopsis "Graphical map viewer and wayfinding program") (description "GNOME Maps is a graphical map viewer. It uses map data from the OpenStreetMap project. It can provide directions for walking, bicycling, -- cgit 1.4.1 From f7d34fcd7ce81968d282d8cb6145536241dda2fd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 4 May 2020 14:43:58 +0200 Subject: gnu: gnome-maps: Remove obsolete input. * gnu/packages/geo.scm (gnome-maps)[native-inputs]: Remove INTLTOOL. Add GETTEXT-MINIMAL. --- gnu/packages/geo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 7ba5702a84..6c68d4064d 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -189,8 +189,8 @@ topology functions.") ,geocode-glib-path))) #t)))))) (native-inputs - `(("gobject-introspection" ,gobject-introspection) - ("intltool" ,intltool) + `(("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config))) (inputs `(("evolution-data-server" ,evolution-data-server) -- cgit 1.4.1 From 68c7f577d8cbb1a11a812e36c7ae1e34ccc57e62 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 4 May 2020 17:27:17 +0200 Subject: gnu: hplip: Fix build with Python 3.8. * gnu/packages/cups.scm (hplip)[arguments]: Add phase "fix-build-with-python-3.8". --- gnu/packages/cups.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 9161b7bccb..b253d0604e 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Mark H Weaver ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -536,7 +537,20 @@ should only be used as part of the Guix cups-pk-helper service.") (string-append "rulessystemdir = " out "/lib/systemd/system")) (("/etc/sane.d") - (string-append out "/etc/sane.d")))))) + (string-append out "/etc/sane.d"))) + #t))) + (add-before 'configure 'fix-build-with-python-3.8 + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs "python"))) + ;; XXX: The configure script of looks for Python headers in the + ;; wrong places as of version 3.20.3. Help it by adding the + ;; include directory on C_INCLUDE_PATH. + (when python + (setenv "C_INCLUDE_PATH" + (string-append python "/include/python" + (python:python-version python) + ":" (getenv "C_INCLUDE_PATH")))) + #t))) (add-after 'install 'install-models-dat (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit 1.4.1 From c63bd847816061e76389e93dc094df98800f081b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 2 May 2020 15:43:37 +0100 Subject: gnu: python-s3transfer: Fix build with Python 3.8. * gnu/packages/python-web.scm (python-s3transfer)[arguments]: Add a 'patch phase to fix a test to work under Python 3.8. --- gnu/packages/python-web.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 27749246d8..56887ef9d4 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2204,6 +2204,15 @@ Betamax.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + ;; There's a small issue with one test with Python 3.8, this + ;; change has been suggested upstream: + ;; https://github.com/boto/s3transfer/pull/164 + (substitute* "tests/unit/test_s3transfer.py" + (("super\\(FailedDownloadParts, self\\)\\.submit\\(function\\)") + "futures.Future()")) + #t)) (replace 'check (lambda _ ;; Some of the 'integration' tests require network access or -- cgit 1.4.1 From 49279343acb25ec93cbb33649d7126b3757e228f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 5 May 2020 00:36:39 +0200 Subject: gnu: cmark: Fix test failure with Python 3.8. * gnu/packages/markup.scm (cmark)[source](modules, snippet): New fields. --- gnu/packages/markup.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index c1fc71b0a2..240bb9e8f4 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2019 Efraim Flashner ;;; Copyright © 2017 ng0 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -205,7 +206,16 @@ implementation. (file-name (git-file-name name version)) (sha256 (base32 - "0r7jpqhgnssq444i8pwji2g36058vfzwkl70wbiwj13h4w5rfc8f")))) + "0r7jpqhgnssq444i8pwji2g36058vfzwkl70wbiwj13h4w5rfc8f")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Mimic upstream commit 68c3a91166347 to fix a test failure + ;; when using Python 3.8. Remove for versions > 0.29. + ;; See . + (substitute* "test/normalize.py" + (("cgi") "html")) + #t)))) (build-system cmake-build-system) (arguments '(#:test-target "test")) -- cgit 1.4.1 From 7431553bd6a1125a132315b521031a3b0481e096 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 5 May 2020 16:27:55 +0200 Subject: gnu: libcap: Add 2.34. * gnu/packages/linux.scm (libcap/next): New public variable. --- gnu/packages/linux.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8b8945fbea..e2b3d9e6c5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2171,6 +2171,21 @@ Linux-based operating systems.") ;; License is BSD-3 or GPLv2, at the user's choice. (license license:gpl2))) +;; libcap 2.31 causes problems for 'fakeroot', so provide this newer variant. +;; To be merged with libcap on the next rebuild cycle. +(define-public libcap/next + (package + (inherit libcap) + (version "2.34") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kernel.org/linux/libs/security/linux-privs/" + "libcap2/libcap-" version ".tar.xz")) + (sha256 + (base32 + "048n1gy2p48vl9hkrr9wymfxxcpwj2aslz2bv79nhl4m2lhd9kdf")))))) + (define-public bridge-utils (package (name "bridge-utils") -- cgit 1.4.1 From ba151b7e1a9cc0baf932b5c5e0c916e54d2e27f4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 5 May 2020 16:29:57 +0200 Subject: gnu: fakeroot: Fix test failures. Fixes . Reported by Maxim Cournoyer . * gnu/packages/linux.scm (fakeroot)[inputs]: Change from LIBCAP to LIBCAP/NEXT. [arguments]: Add substitution for tests that use 'ls' to test for block devices. --- gnu/packages/linux.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e2b3d9e6c5..8eaf79d89f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -6641,13 +6641,21 @@ the superuser to make device nodes.") ;; We don't have an /etc/passwd entry for "root" - use numeric IDs. (substitute* "test/compare-tar" (("tar -tvf") "tar --numeric-owner -tvf")) + + ;; coreutils 8.32 changed 'ls' to use the statx() syscall instead + ;; of lstat(). fakeroot 1.24 does not support the former, so + ;; adjust these tests to use 'test -b' instead of 'ls' to test for + ;; block device. See . + (substitute* '("test/t.mknod" "test/t.chmod_dev") + (("ls -ld? \\$tmp/hda3") + "test -b $tmp/hda3 && echo block || echo fail")) #t))))) (native-inputs `(("acl" ,acl) ("sharutils" ,sharutils) ; for the tests ("xz" ,xz))) ; for the tests (inputs - `(("libcap" ,libcap) + `(("libcap" ,libcap/next) ("util-linux" ,util-linux))) (synopsis "Provides a fake root environment") (description "@command{fakeroot} runs a command in an environment where -- cgit 1.4.1 From 45c137e30f3e8aa27fac61e0736028906a80028c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 5 May 2020 17:21:17 +0200 Subject: gnu: hyperledger-iroha: Build with the latest Boost. * gnu/packages/hyperledger.scm (hyperledger-iroha)[inputs]: Change from BOOST-1.69.0 to BOOST. --- gnu/packages/hyperledger.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm index 86eb86d3b5..c1b8215584 100644 --- a/gnu/packages/hyperledger.scm +++ b/gnu/packages/hyperledger.scm @@ -188,7 +188,7 @@ link-time. New implementations can be added as well.") ("rxcpp" ,rxcpp) ("spdlog" ,spdlog))) (inputs - `(("boost" ,boost-1.69) + `(("boost" ,boost) ("gflags" ,gflags) ("grpc" ,grpc-1.16.1) ("hyperledger-iroha-ed25519" ,hyperledger-iroha-ed25519) -- cgit 1.4.1 From e98689f8635a4974fb7e443e995319ebf56ca390 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 6 May 2020 09:40:13 -0400 Subject: gnu: php: Partially fix the build. * gnu/packages/php.scm (php)[phases]: Do not attempt to delete the now nonexistent 'lstat_stat_variation9.phpt' file. --- gnu/packages/php.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 10dc598012..2dffa0a4db 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -214,11 +214,10 @@ ;; This failing test is skipped on PHP's Travis CI as it is ;; supposedly inaccurate. "ext/standard/tests/file/disk_free_space_basic.phpt" - ;; The two following tests erroneously expect the link count - ;; of a sub-directory to increase compared to its - ;; parent. + ;; The following test erroneously expect the link + ;; count of a sub-directory to increase compared to + ;; its parent. "ext/standard/tests/file/lstat_stat_variation8.phpt" - "ext/standard/tests/file/lstat_stat_variation9.phpt" ;; XXX: These gd tests fails. Likely because our version ;; is different from the (patched) bundled one. -- cgit 1.4.1 From 3b7f3108e0ebd459ec9c75717988fc61755e7185 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 6 May 2020 12:55:31 -0400 Subject: gnu: php: Remove failing tests. * gnu/packages/php.scm (php)[phases]{prepare-tests}: Remove the ext/gd/tests/bug65148.phpt, ext/gd/tests/bug66590.phpt, ext/gd/tests/bug73869.phpt, ext/gd/tests/webp_basic.phpt and ext/gd/tests/imagecreatefromstring_webp.phpt tests. --- gnu/packages/php.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 2dffa0a4db..a461a2b9dc 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -232,6 +232,21 @@ ;; This bug should have been fixed in gd 2.2.2. ;; Is it a regression? "ext/gd/tests/bug65148.phpt" + ;; This bug should have been fixed in the gd 2.2 + ;; series. Perhaps a regression introduced by gd + ;; 2.3.0? + "ext/gd/tests/bug66590.phpt" + ;; This bug should have been fixed in the php-5.5 + ;; series. Perhaps a regression introduced by gd + ;; 2.3.0? + "ext/gd/tests/bug70102.phpt" + ;; This bug should have been fixed in the php-5.6 + ;; series. Perhaps a regression introduced by gd + ;; 2.3.0? + "ext/gd/tests/bug73869.phpt" + ;; Some WebP related tests fail. + "ext/gd/tests/webp_basic.phpt" + "ext/gd/tests/imagecreatefromstring_webp.phpt" ;; Expected error message, but from the wrong function "ext/gd/tests/bug77269.phpt" ;; TODO: Enable these when libgd is built with xpm support. -- cgit 1.4.1 From 4ba425060a9d000f54bbab99d17a2f23b277c623 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 6 May 2020 22:18:52 +0200 Subject: channels: Add 'latest-channel-instance'. * guix/channels.scm (latest-channel-instance): New procedure. (latest-channel-instances): Use it. --- guix/channels.scm | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/guix/channels.scm b/guix/channels.scm index 041fae2a9c..4ffc366d6a 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -199,6 +199,14 @@ description file or its default value." channel INSTANCE." (channel-metadata-dependencies (channel-instance-metadata instance))) +(define (latest-channel-instance store channel) + "Return the latest channel instance for CHANNEL." + (let-values (((checkout commit) + (latest-repository-commit store (channel-url channel) + #:ref (channel-reference + channel)))) + (channel-instance channel commit checkout))) + (define* (latest-channel-instances store channels #:optional (previous-channels '())) "Return a list of channel instances corresponding to the latest checkouts of CHANNELS and the channels on which they depend. PREVIOUS-CHANNELS is a list @@ -224,20 +232,16 @@ of previously processed channels." (G_ "Updating channel '~a' from Git repository at '~a'...~%") (channel-name channel) (channel-url channel)) - (let-values (((checkout commit) - (latest-repository-commit store (channel-url channel) - #:ref (channel-reference - channel)))) - (let ((instance (channel-instance channel commit checkout))) - (let-values (((new-instances new-channels) - (latest-channel-instances - store - (channel-instance-dependencies instance) - previous-channels))) - (values (append (cons channel new-channels) - previous-channels) - (append (cons instance new-instances) - instances)))))))) + (let ((instance (latest-channel-instance store channel))) + (let-values (((new-instances new-channels) + (latest-channel-instances + store + (channel-instance-dependencies instance) + previous-channels))) + (values (append (cons channel new-channels) + previous-channels) + (append (cons instance new-instances) + instances))))))) previous-channels '() ;instances channels)) -- cgit 1.4.1 From 053b10c3ef2df7ea80556ab9b2c93d0bf88094f2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 6 May 2020 22:45:31 +0200 Subject: channels: Add mechanism to patch checkouts of the 'guix channel. * guix/channels.scm (): New record type. (apply-patches): New procedure. (latest-channel-instance)[dot-git?]: New procedure. Use 'update-cached-checkout' and 'add-to-store' instead of 'latest-repository-commit'. Call 'apply-patches' when CHANNEL is the 'guix channel. (%patches): New variable. * guix/git.scm (url+commit->name): Make public. * tests/channels.scm ("latest-channel-instances includes channel dependencies") ("latest-channel-instances excludes duplicate channel dependencies"): Mock 'update-cached-checkout' instead of 'latest-repository-commit'. Wrap body in 'with-store' and pass the store to 'latest-channel-instances'. --- guix/channels.scm | 50 +++++++++++++++++++++++++++++++++++++----- guix/git.scm | 1 + tests/channels.scm | 64 +++++++++++++++++++++++++++++------------------------- 3 files changed, 79 insertions(+), 36 deletions(-) diff --git a/guix/channels.scm b/guix/channels.scm index 4ffc366d6a..75b53c3a8e 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -199,13 +199,45 @@ description file or its default value." channel INSTANCE." (channel-metadata-dependencies (channel-instance-metadata instance))) -(define (latest-channel-instance store channel) +;; Patch to apply to a source tree. +(define-record-type + (patch predicate application) + patch? + (predicate patch-predicate) ;procedure + (application patch-application)) ;procedure + +(define (apply-patches checkout commit patches) + "Apply the matching PATCHES to CHECKOUT, modifying files in place. The +result is unspecified." + (let loop ((patches patches)) + (match patches + (() #t) + ((($ predicate modify) rest ...) + ;; PREDICATE is passed COMMIT so that it can choose to only apply to + ;; ancestors. + (when (predicate checkout commit) + (modify checkout)) + (loop rest))))) + +(define* (latest-channel-instance store channel + #:key (patches %patches)) "Return the latest channel instance for CHANNEL." + (define (dot-git? file stat) + (and (string=? (basename file) ".git") + (eq? 'directory (stat:type stat)))) + (let-values (((checkout commit) - (latest-repository-commit store (channel-url channel) - #:ref (channel-reference - channel)))) - (channel-instance channel commit checkout))) + (update-cached-checkout (channel-url channel) + #:ref (channel-reference channel)))) + (when (guix-channel? channel) + ;; Apply the relevant subset of PATCHES directly in CHECKOUT. This is + ;; safe to do because 'switch-to-ref' eventually does a hard reset. + (apply-patches checkout commit patches)) + + (let* ((name (url+commit->name (channel-url channel) commit)) + (checkout (add-to-store store name #t "sha256" checkout + #:select? (negate dot-git?)))) + (channel-instance channel commit checkout)))) (define* (latest-channel-instances store channels #:optional (previous-channels '())) "Return a list of channel instances corresponding to the latest checkouts of @@ -337,12 +369,18 @@ to '%package-module-path'." 'guile-2.2.4)) (define %quirks - ;; List of predicate/package pairs. This allows us provide information + ;; List of predicate/package pairs. This allows us to provide information ;; about specific Guile versions that old Guix revisions might need to use ;; just to be able to build and run the trampoline in %SELF-BUILD-FILE. See ;; `((,syscalls-reexports-local-variables? . ,guile-2.2.4))) +(define %patches + ;; Bits of past Guix revisions can become incompatible with newer Guix and + ;; Guile. This variable lists records for the Guix source tree that + ;; apply to the Guix source. + '()) + (define* (guile-for-source source #:optional (quirks %quirks)) "Return the Guile package to use when building SOURCE or #f if the default '%guile-for-build' should be good enough." diff --git a/guix/git.scm b/guix/git.scm index 5fffd429bd..92121156cf 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -40,6 +40,7 @@ with-repository update-cached-checkout + url+commit->name latest-repository-commit commit-difference diff --git a/tests/channels.scm b/tests/channels.scm index f5a7955483..910088ba15 100644 --- a/tests/channels.scm +++ b/tests/channels.scm @@ -135,44 +135,48 @@ (name 'test) (url "test"))) (test-dir (channel-instance-checkout instance--simple))) - (mock ((guix git) latest-repository-commit - (lambda* (store url #:key ref) + (mock ((guix git) update-cached-checkout + (lambda* (url #:key ref) (match url - ("test" (values test-dir 'whatever)) - (_ (values "/not-important" 'not-important))))) - (let ((instances (latest-channel-instances #f (list channel)))) - (and (eq? 2 (length instances)) - (lset= eq? - '(test test-channel) - (map (compose channel-name channel-instance-channel) - instances))))))) + ("test" (values test-dir "caf3cabba9e")) + (_ (values (channel-instance-checkout instance--no-deps) + "abcde1234"))))) + (with-store store + (let ((instances (latest-channel-instances store (list channel)))) + (and (eq? 2 (length instances)) + (lset= eq? + '(test test-channel) + (map (compose channel-name channel-instance-channel) + instances)))))))) (test-assert "latest-channel-instances excludes duplicate channel dependencies" (let* ((channel (channel (name 'test) (url "test"))) (test-dir (channel-instance-checkout instance--with-dupes))) - (mock ((guix git) latest-repository-commit - (lambda* (store url #:key ref) + (mock ((guix git) update-cached-checkout + (lambda* (url #:key ref) (match url - ("test" (values test-dir 'whatever)) - (_ (values "/not-important" 'not-important))))) - (let ((instances (latest-channel-instances #f (list channel)))) - (and (= 2 (length instances)) - (lset= eq? - '(test test-channel) - (map (compose channel-name channel-instance-channel) - instances)) - ;; only the most specific channel dependency should remain, - ;; i.e. the one with a specified commit. - (find (lambda (instance) - (and (eq? (channel-name - (channel-instance-channel instance)) - 'test-channel) - (string=? (channel-commit - (channel-instance-channel instance)) - "abc1234"))) - instances)))))) + ("test" (values test-dir "caf3cabba9e")) + (_ (values (channel-instance-checkout instance--no-deps) + "abcde1234"))))) + (with-store store + (let ((instances (latest-channel-instances store (list channel)))) + (and (= 2 (length instances)) + (lset= eq? + '(test test-channel) + (map (compose channel-name channel-instance-channel) + instances)) + ;; only the most specific channel dependency should remain, + ;; i.e. the one with a specified commit. + (find (lambda (instance) + (and (eq? (channel-name + (channel-instance-channel instance)) + 'test-channel) + (string=? (channel-commit + (channel-instance-channel instance)) + "abc1234"))) + instances))))))) (test-assert "channel-instances->manifest" ;; Compute the manifest for a graph of instances and make sure we get a -- cgit 1.4.1 From ff3ca7979ebf03cc79022b69fcd693221550a69f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 6 May 2020 23:17:47 +0200 Subject: channels: Add patch for . Without this patch, we couldn't jump from here to commits before 05e783871c2c69b402e088863d46f5be7915ac74 because the 'compute-guix-derivation' script would crash with an unbound-variable error for 'call-with-new-thread'. Fixes . Reported by Christopher Baines . * guix/channels.scm (%bug-41028-patch): New variable. (%patches): Add it. --- guix/channels.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/guix/channels.scm b/guix/channels.scm index 75b53c3a8e..0fa036446c 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -38,6 +38,7 @@ #:select (source-properties->location &error-location &fix-hint)) + #:use-module ((guix build utils) #:select (substitute*)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) #:use-module (srfi srfi-9) @@ -375,11 +376,35 @@ to '%package-module-path'." ;; `((,syscalls-reexports-local-variables? . ,guile-2.2.4))) + +(define %bug-41028-patch + ;; Patch for . The faulty code is the + ;; 'compute-guix-derivation' body, which uses 'call-with-new-thread' without + ;; importing (ice-9 threads). However, the 'call-with-new-thread' binding + ;; is no longer available in the default name space on Guile 3.0. + (let () + (define (missing-ice-9-threads-import? source commit) + ;; Return true if %SELF-BUILD-FILE is missing an (ice-9 threads) import. + (define content + (call-with-input-file (string-append source "/" %self-build-file) + read-string)) + + (and (string-contains content "(call-with-new-thread") + (not (string-contains content "(ice-9 threads)")))) + + (define (add-missing-ice-9-threads-import source) + ;; Add (ice-9 threads) import in the gexp of 'compute-guix-derivation'. + (substitute* (string-append source "/" %self-build-file) + (("^ +\\(use-modules \\(ice-9 match\\)\\)") + (object->string '(use-modules (ice-9 match) (ice-9 threads)))))) + + (patch missing-ice-9-threads-import? add-missing-ice-9-threads-import))) + (define %patches ;; Bits of past Guix revisions can become incompatible with newer Guix and ;; Guile. This variable lists records for the Guix source tree that ;; apply to the Guix source. - '()) + (list %bug-41028-patch)) (define* (guile-for-source source #:optional (quirks %quirks)) "Return the Guile package to use when building SOURCE or #f if the default -- cgit 1.4.1 From 2ca603f113a24f89284ade0771defadfbfed9972 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 7 May 2020 15:14:46 +0200 Subject: build-system/emacs: Hide the 'delete' binding from (guix build utils). This gets rid of a warning from 'compute-guix-derivation.drv' when running on Guile 3.0. (guix build emacs-build-system) includes (srfi srfi-1) anyway. * guix/build/emacs-build-system.scm: Do not import 'delete' from (guix build utils). --- guix/build/emacs-build-system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm index 219310cf08..26ea59bc25 100644 --- a/guix/build/emacs-build-system.scm +++ b/guix/build/emacs-build-system.scm @@ -21,7 +21,7 @@ (define-module (guix build emacs-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) - #:use-module (guix build utils) + #:use-module ((guix build utils) #:hide (delete)) #:use-module (guix build emacs-utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) -- cgit 1.4.1 From 23a59b180b28b9fa22120c2b8305b9324442b94d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 7 May 2020 16:05:57 +0200 Subject: gnu: android-libutils: Fix build failure. * gnu/packages/android.scm (android-libutils)[arguments]: Add phase 'augment-CPLUS_INCLUDE_PATH'. [native-inputs]: Distinguish GCC-5. --- gnu/packages/android.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 68bcb72e69..9ee7d28687 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Stefan Handschuh ;;; Copyright © 2015 Kai-Chung Yan -;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2016, 2020 Marius Bakke ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2017 Hartmut Goebel ;;; Copyright © 2017 Maxim Cournoyer @@ -611,9 +611,20 @@ file system.") #:make-flags '("CXXFLAGS=-std=gnu++11 -Wno-error") #:phases (modify-phases %standard-phases + (add-after 'set-paths 'augment-CPLUS_INCLUDE_PATH + (lambda* (#:key inputs #:allow-other-keys) + ;; Hide the default GCC from CPLUS_INCLUDE_PATH to prevent it from + ;; shadowing the version of GCC provided in native-inputs. + (let ((gcc (assoc-ref inputs "gcc"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") + #\:)) + ":")) + #t))) (add-after 'unpack 'enter-source (lambda _ (chdir "libutils") #t)) - (add-after 'install 'install-headers (lambda* (#:key inputs outputs #:allow-other-keys) (copy-recursively "../include/utils" (string-append (assoc-ref outputs "out") "/include/utils"))))))) @@ -623,7 +634,7 @@ file system.") (native-inputs `(("android-bionic-uapi" ,android-bionic-uapi) ("android-liblog" ,android-liblog) - ("gcc" ,gcc-5))) ; XXX: fails to build with GCC 7 + ("gcc@5" ,gcc-5))) ; XXX: fails to build with GCC 7 (home-page "https://developer.android.com/") (synopsis "Android utility library") (description "@code{android-libutils} provides utilities for Android NDK developers.") -- cgit 1.4.1