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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(+) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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 (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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 (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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 (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(+) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(+) (limited to 'gnu/packages/linux.scm') 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 v1.2.3 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(-) (limited to 'gnu/packages/linux.scm') 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 v1.2.3