Hi Guix,

This patch adds the manpages to the udisks package. It appears that the
manpages were previously disabled because of the strict docbook catalog
files location verification in the configure script. The fix is
essentially equivalent to what was done in commit
b4787e71aca75392f394a127a7df537a0a016b04 to fix the build of gtk-doc,
but is a bit less invasive since it only requires to define the
XML_CATALOG_FILES variable and to pass it to make, rather than to
substitute the catalog string directly in the configure script (FWIU of
the referenced commit).

There are still some "no ID for constraint linkend" errors output by
xsltproc; unfortunately I have no idea how those can be solved. My
understanding is that these errors mean that xsltproc couldn't find the
reference ID of a linked resource. Here's what those errors look like
in the build log:

make -j3 
XML_CATALOG_FILES="/gnu/store/sp361wnn64zkp3aici69xxmblrf2pfkb-docbook-xsl-1.78.1/xml/xsl/docbook-xsl-1.78.1/catalog.xml
 
/gnu/store/d5lvr5xh8361dwhaqw3y880x9jzlqk4l-docbook-xml-4.3/xml/dtd/docbook/catalog.xml"
Making all in man
make[1]: Entering directory '/home/maxim/devel/udisks-2.1.7/doc/man'
/gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." 
-nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl 
udisksctl.xml
/gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." 
-nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl 
udisksd.xml
/gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." 
-nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl 
udisks.xml
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisks-polkit-actions.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: 
gdbus-property-org-freedesktop-UDisks2-Drive.Id.
Error: no ID for constraint linkend: 
gdbus-property-org-freedesktop-UDisks2-Block.HintSystem.
Error: no ID for constraint linkend: 
gdbus-property-org-freedesktop-UDisks2-Block.HintIgnore.
Error: no ID for constraint linkend: 
gdbus-property-org-freedesktop-UDisks2-Block.HintAuto.
Error: no ID for constraint linkend: 
gdbus-property-org-freedesktop-UDisks2-Drive.CanPowerOff.
Error: no ID for constraint linkend: 
gdbus-property-org-freedesktop-UDisks2-Block.HintName.
Error: no ID for constraint linkend: 
gdbus-property-org-freedesktop-UDisks2-Block.HintIconName.
Error: no ID for constraint linkend: 
gdbus-property-org-freedesktop-UDisks2-Block.HintIconName.
Error: no ID for constraint linkend: 
gdbus-method-org-freedesktop-UDisks2-Filesystem.Mount.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: umount.udisks2.8.
Note: Writing udisksd.8
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: umount.udisks2.8.
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: umount.udisks2.8.
Note: Writing udisks.8
Note: Writing udisksctl.1
/gnu/store/sjmyrkcm7byz14s87sanf2p14dxbdad8-profile/bin/xsltproc -path "./.." 
-nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl 
umount.udisks2.xml
Error: no ID for constraint linkend: udisks.8.
Error: no ID for constraint linkend: udisksd.8.
Error: no ID for constraint linkend: udisksctl.1.
Error: no ID for constraint linkend: umount.8.
Note: Writing umount.udisks2.8
make[1]: Leaving directory '/home/maxim/devel/udisks-2.1.7/doc/man'
make[1]: Entering directory '/home/maxim/devel/udisks-2.1.7/doc'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/maxim/devel/udisks-2.1.7/doc'

With that said, the manpages otherwise appear to be correctly generated.

Thanks!

Maxim

From cc290cbe9f23c2dc5b60d90c966ee2c851c1f879 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.courno...@gmail.com>
Date: Fri, 11 Nov 2016 09:05:45 -0800
Subject: [PATCH] gnu: udisks: Add manpages.

---
 gnu/packages/freedesktop.scm | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 456d569..9ccf13e 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -461,7 +461,9 @@ Analysis and Reporting Technology) functionality.")
                 "119pr2zbff8vkwlhghim7d7ir24c1dil9hp4q49wm4f6pnrjpbmb"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("glib:bin" ,glib "bin") ; for glib-mkenums
+     `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
+       ("docbook-xsl" ,docbook-xsl)
+       ("glib:bin" ,glib "bin") ; for glib-mkenums
        ("gobject-introspection" ,gobject-introspection)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
@@ -480,13 +482,28 @@ Analysis and Reporting Technology) functionality.")
      `(#:tests? #f ; requiring system message dbus
        #:disallowed-references ("doc")            ;enforce separation of "doc"
        #:configure-flags
-       (list "--disable-man"
+       (list "--enable-man"
              "--localstatedir=/var"
              "--enable-fhs-media"     ;mount devices in /media, not /run/media
              (string-append "--with-html-dir="
                             (assoc-ref %outputs "doc")
                             "/share/doc/udisks/html")
              (string-append "--with-udevdir=" %output "/lib/udev"))
+        #:make-flags
+       (let*  ((docbook-xsl-name-version ,(string-append
+                                           (package-name docbook-xsl) "-"
+                                           (package-version  docbook-xsl)))
+               (docbook-xsl-catalog-file (string-append
+                                          (assoc-ref %build-inputs "docbook-xsl")
+                                          "/xml/xsl/"
+                                          docbook-xsl-name-version
+                                          "/catalog.xml"))
+               (docbook-xml-catalog-file (string-append
+                                          (assoc-ref %build-inputs "docbook-xml")
+                                          "/xml/dtd/docbook/catalog.xml")))
+         ;; Reference the catalog files required to build the manpages.
+         (list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " "
+                              docbook-xml-catalog-file)))
        #:phases
        (modify-phases %standard-phases
          (add-before
-- 
2.10.2

Attachment: signature.asc
Description: PGP signature

Reply via email to