gnu: eudev: Build and install the static library.
'lvm2-static' requires the static libudev.a. This is a follow-up to commit
7b83cd720f
.
* gnu/packages/linux.scm (eudev)[arguments]: Remove "--disable-static" from
#:configure-flags. Add phase 'move-static-library.
[outputs]: New field.
(lvm2-static)[inputs]: Remove.
[propagated-inputs]: Remove EUDEV and add EUDEV:STATIC.
This commit is contained in:
parent
21bdf383d7
commit
d85f8e46db
1 changed files with 18 additions and 4 deletions
|
@ -2739,6 +2739,21 @@ to the in-kernel OOM killer.")
|
||||||
(string-append (assoc-ref inputs "xsltproc")
|
(string-append (assoc-ref inputs "xsltproc")
|
||||||
"/bin/xsltproc")))
|
"/bin/xsltproc")))
|
||||||
#t))
|
#t))
|
||||||
|
(add-after 'install 'move-static-library
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(static (assoc-ref outputs "static"))
|
||||||
|
(source (string-append out "/lib/libudev.a"))
|
||||||
|
(target (string-append static "/lib/libudev.a")))
|
||||||
|
(mkdir-p (dirname target))
|
||||||
|
(link source target)
|
||||||
|
(delete-file source)
|
||||||
|
;; Remove reference to the static library from the .la file
|
||||||
|
;; such that Libtool looks for it in the usual places.
|
||||||
|
(substitute* (string-append out "/lib/libudev.la")
|
||||||
|
(("old_library=.*")
|
||||||
|
"old_library=''\n"))
|
||||||
|
#t)))
|
||||||
(add-after 'install 'build-hwdb
|
(add-after 'install 'build-hwdb
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
|
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
|
||||||
|
@ -2746,8 +2761,7 @@ to the in-kernel OOM killer.")
|
||||||
(let ((out (assoc-ref outputs "out")))
|
(let ((out (assoc-ref outputs "out")))
|
||||||
(invoke (string-append out "/bin/udevadm")
|
(invoke (string-append out "/bin/udevadm")
|
||||||
"hwdb" "--update")))))
|
"hwdb" "--update")))))
|
||||||
#:configure-flags (list "--enable-manpages"
|
#:configure-flags (list "--enable-manpages")))
|
||||||
"--disable-static")))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("autoconf" ,autoconf)
|
`(("autoconf" ,autoconf)
|
||||||
("automake" ,automake)
|
("automake" ,automake)
|
||||||
|
@ -2768,6 +2782,7 @@ to the in-kernel OOM killer.")
|
||||||
;; which contains the rules to do that.
|
;; which contains the rules to do that.
|
||||||
`(("util-linux" ,util-linux) ;for blkid
|
`(("util-linux" ,util-linux) ;for blkid
|
||||||
("kmod" ,kmod)))
|
("kmod" ,kmod)))
|
||||||
|
(outputs '("out" "static"))
|
||||||
(home-page "https://wiki.gentoo.org/wiki/Project:Eudev")
|
(home-page "https://wiki.gentoo.org/wiki/Project:Eudev")
|
||||||
(synopsis "Userspace device management")
|
(synopsis "Userspace device management")
|
||||||
(description "Udev is a daemon which dynamically creates and removes
|
(description "Udev is a daemon which dynamically creates and removes
|
||||||
|
@ -2860,8 +2875,7 @@ mapper. Kernel components are part of Linux-libre.")
|
||||||
(name "lvm2-static")
|
(name "lvm2-static")
|
||||||
|
|
||||||
;; Propagate udev because libdevmapper.a depends on libudev.
|
;; Propagate udev because libdevmapper.a depends on libudev.
|
||||||
(inputs (alist-delete "udev" (package-inputs lvm2)))
|
(propagated-inputs `(("udev:static" ,eudev "static")))
|
||||||
(propagated-inputs `(("udev" ,eudev)))
|
|
||||||
|
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments lvm2)
|
(substitute-keyword-arguments (package-arguments lvm2)
|
||||||
|
|
Reference in a new issue