summaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-01-15 00:24:28 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-01-15 00:24:28 +0100
commitbb93042c8beb881ab907fa802eefb3c4091039a2 (patch)
treebc06a86160beb95170be207682877c837732210a /gnu/packages/linux.scm
parent3cfe76bec06fbd8bb7e7cb3387866fefbcad674f (diff)
gnu: util-linux: Move libraries to separate output.
Fixes <https://bugs.gnu.org/37732>. Reported by Diego Nicola Barbato <dnbarbato@posteo.de>. * 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.
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm55
1 files changed, 39 insertions, 16 deletions
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")