~ruther/guix-local

c651cbad1e38f18f98984463d7d50254b019576b — Maxim Cournoyer 8 years ago 9f1d112
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.
1 files changed, 35 insertions(+), 15 deletions(-)

M gnu/packages/linux.scm
M gnu/packages/linux.scm => gnu/packages/linux.scm +35 -15
@@ 2055,30 2055,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,