gnu: eudev: Update to 3.2.4 and generate manpages.

* gnu/packages/linux.scm (eudev)[version]: Bump to 3.2.4.
[uri]: Download the release from Github, which contains the script to generate
the manpages from source.
[file-name]: Add a file-name field to the origin record, per linter recommendation.
[sha256]: Adjust accordingly.
[phases]: Add a bootstrap phase to regenerate the manpages.
[configure-flags]: Add the "--enable-manpages" option, required to install the
manpages.
[native-inputs]: Add autoconf, automake and libtool for the bootstrap phase.
Add python-wrapper to run a test script that was previously skipped.
Add docbook-xml, docbook-xsl, libxml2 and libxslt for manpage generation.

(cherry picked from commit c651cbad1e)
master
Maxim Cournoyer 2017-09-22 23:24:23 -04:00 committed by Marius Bakke
parent b603d02a0e
commit 172a9b443c
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
1 changed files with 35 additions and 15 deletions

View File

@ -2054,30 +2054,50 @@ from the module-init-tools project.")
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
(version "3.2.2")
(version "3.2.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://dev.gentoo.org/~blueness/eudev/eudev-"
version ".tar.gz"))
(uri (string-append "https://github.com/gentoo/eudev/archive/v"
version ".zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0qqgbgpm5wdllk0s04pf80nwc8pr93xazwri1bylm1f15zn5ck1y"))
"1r1ag0snarygrj5qqxi2xdq9w6g3sfjd5jx1b0fl7zmqlsz3vvxx"))
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(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.
(let ((out (assoc-ref outputs "out")))
(zero? (system* (string-append out "/bin/udevadm")
"hwdb" "--update"))))))))
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'bootstrap
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "man/make.sh"
(("/usr/bin/xsltproc")
(string-append (assoc-ref inputs "xsltproc")
"/bin/xsltproc")))
;; Manual pages are regenerated here.
(zero? (system* "./autogen.sh"))))
(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.
(let ((out (assoc-ref outputs "out")))
(zero? (system* (string-append out "/bin/udevadm")
"hwdb" "--update"))))))
#:configure-flags (list "--enable-manpages")))
(native-inputs
`(("pkg-config" ,pkg-config)
`(("autoconf" ,autoconf)
("automake" ,automake)
("gperf" ,gperf)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
;; For tests.
("perl" ,perl)
("gperf" ,gperf)))
("python" ,python-wrapper)
;; For documentation.
("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("libxml2" ,libxml2) ;for $XML_CATALOG_FILES
("xsltproc", libxslt)))
(inputs
;; When linked against libblkid, eudev can populate /dev/disk/by-label
;; and similar; it also installs the '60-persistent-storage.rules' file,