aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-06-26 16:35:42 +0200
committerMarius Bakke <marius@gnu.org>2022-06-26 22:58:33 +0200
commit82dae0c9e31604626eff63968c61fe6e7c934356 (patch)
tree208af3ffeaa0ea43478a37a101405de594ebc329
parent879c71edf40591955a6093a102f5d38e171e4f5f (diff)
downloadguix-82dae0c9e31604626eff63968c61fe6e7c934356.tar.gz
guix-82dae0c9e31604626eff63968c61fe6e7c934356.zip
gnu: util-linux: Use G-expressions.
* gnu/packages/linux.scm (util-linux)[arguments]: Convert to gexps.
-rw-r--r--gnu/packages/linux.scm189
1 files changed, 94 insertions, 95 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b5b065d931..fe4dc2219b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1844,102 +1844,101 @@ providing the system administrator with some help in common tasks.")
"lib" ;8.8 MiB shared libraries, headers and locales
"static")) ;2.9 MiB static .a libraries
(arguments
- `(#:configure-flags (list "--disable-use-tty-group"
- (string-append
- "--enable-fs-paths-default="
- "/run/setuid-programs"
- ":/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"))
-
- ;; FIXME: For now we cannot reliably run tests on GNU/Hurd:
- ;; <https://bugs.gnu.org/47791>.
- #:tests? ,(and (not (%current-target-system))
- (not (string-suffix? "-gnu" (%current-system))))
+ (list #:configure-flags
+ #~(list "--disable-use-tty-group"
+ (string-append
+ "--enable-fs-paths-default="
+ "/run/setuid-programs"
+ ":/run/current-system/profile/sbin")
+ ;; Don't try to chown root:root mount and umount
+ "--disable-makeinstall-chown"
+ "--localstatedir=/var"
+ (string-append "--localedir=" #$output:lib
+ "/share/locale")
+ ;; Install completions where our bash-completion package
+ ;; expects them.
+ (string-append "--with-bashcompletiondir=" #$output
+ "/etc/bash_completion.d"))
+
+ ;; FIXME: For now we cannot reliably run tests on GNU/Hurd:
+ ;; <https://bugs.gnu.org/47791>.
+ #:tests? (and (not (%current-target-system))
+ (not (string-suffix? "-gnu" (%current-system))))
- #: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"))))
- (add-before 'build 'set-umount-file-name
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Tell 'eject' the right file name of 'umount'.
- (let ((out (assoc-ref outputs "out")))
- (substitute* "sys-utils/eject.c"
- (("\"/bin/umount\"")
- (string-append "\"" out "/bin/umount\""))))))
- (add-before 'check 'pre-check
- (lambda* (#:key native-inputs inputs #:allow-other-keys)
- (let ((services (search-input-file (or native-inputs inputs)
- "etc/services")))
- ;; Change the test to refer to the right file.
- (substitute* "tests/ts/misc/mcookie"
- (("/etc/services")
- services))
-
- ;; The C.UTF-8 locale does not exist in our libc.
- (substitute* "tests/ts/column/invalid-multibyte"
- (("C\\.UTF-8") "en_US.utf8")))))
- (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. See
- ;; <https://github.com/karelzak/util-linux/issues/601>.
- (substitute* "tests/ts/misc/setarch"
- (("ts_init_subtest.*" all)
- (string-append
- all "\n"
- "ts_skip \"setarch tests are unreliable under QEMU\"")))))
- (add-before 'check 'disable-lsns-test
- (lambda _
- ;; The lsns tests can fail due to ioctl(_, NS_GET_USERNS)
- ;; returning ENOTTY, indicating this kernel does not
- ;; support user namespaces. Curiously, this test can fail
- ;; on i686 even if the same test passes on x86_64 on the
- ;; same machine. See <https://issues.guix.gnu.org/49933>.
- (delete-file "tests/ts/lsns/ioctl_ns")))
- (add-after 'install 'move-static-libraries
- (lambda* (#:key outputs #:allow-other-keys)
- (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 lib
- (for-each (lambda (file)
- (rename-file file
- (string-append static "/"
- file)))
- (find-files "lib" "\\.a$"))
-
- ;; Remove references to the static library from the '.la'
- ;; files so that Libtool does the right thing when both
- ;; the shared and static library is available.
- (substitute* (find-files "lib" "\\.la$")
- (("old_library=.*") "old_library=''\n"))))))
- (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=.*") ""))))))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'patch-build-scripts
+ (lambda _
+ (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"))))
+ (add-before 'build 'set-umount-file-name
+ (lambda _
+ ;; Tell 'eject' the right file name of 'umount'.
+ (substitute* "sys-utils/eject.c"
+ (("\"/bin/umount\"")
+ (string-append "\"" #$output "/bin/umount\"")))))
+ (add-before 'check 'pre-check
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (let ((services (search-input-file (or native-inputs inputs)
+ "etc/services")))
+ ;; Change the test to refer to the right file.
+ (substitute* "tests/ts/misc/mcookie"
+ (("/etc/services")
+ services))
+
+ ;; The C.UTF-8 locale does not exist in our libc.
+ (substitute* "tests/ts/column/invalid-multibyte"
+ (("C\\.UTF-8") "en_US.utf8")))))
+ (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. See
+ ;; <https://github.com/karelzak/util-linux/issues/601>.
+ (substitute* "tests/ts/misc/setarch"
+ (("ts_init_subtest.*" all)
+ (string-append
+ all "\n"
+ "ts_skip \"setarch tests are unreliable under QEMU\"")))))
+ (add-before 'check 'disable-lsns-test
+ (lambda _
+ ;; The lsns tests can fail due to ioctl(_, NS_GET_USERNS)
+ ;; returning ENOTTY, indicating this kernel does not
+ ;; support user namespaces. Curiously, this test can fail
+ ;; on i686 even if the same test passes on x86_64 on the
+ ;; same machine. See <https://issues.guix.gnu.org/49933>.
+ (delete-file "tests/ts/lsns/ioctl_ns")))
+ (add-after 'install 'move-static-libraries
+ (lambda _
+ (let ((lib #$output:lib)
+ (static #$output:static))
+
+ ;; Move static libraries to the "static" output.
+ (mkdir-p (string-append static "/lib"))
+ (with-directory-excursion lib
+ (for-each (lambda (file)
+ (rename-file file
+ (string-append static "/"
+ file)))
+ (find-files "lib" "\\.a$"))
+
+ ;; Remove references to the static library from the '.la'
+ ;; files so that Libtool does the right thing when both
+ ;; the shared and static library is available.
+ (substitute* (find-files "lib" "\\.la$")
+ (("old_library=.*") "old_library=''\n"))))))
+ (add-after 'install 'adjust-pkg-config-files
+ (lambda _
+ ;; 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 #$output:lib
+ "/lib/pkgconfig")
+ "\\.pc$")
+ (("^(exec_)?prefix=.*") "")))))))
(inputs
(list file ;for libmagic
ncurses