[bug#33327,2/2] gnu: webkitgtk: Include documentation.

Message ID 20181109182443.22490-1-mail@ambrevar.xyz
State Accepted
Headers show
Series [bug#33327,1/2] gnu: gtk-doc: Use local docbook-xsl. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed
cbaines/applying patch fail Apply failed

Commit Message

Pierre Neidhardt Nov. 9, 2018, 6:24 p.m. UTC
* gnu/packages/webkit.scm (webkitgtk): Include documentation.
---
 gnu/packages/webkit.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

Comments

Ludovic Courtès Nov. 10, 2018, 10:27 p.m. UTC | #1
Pierre Neidhardt <mail@ambrevar.xyz> skribis:

> * gnu/packages/webkit.scm (webkitgtk): Include documentation.

Since generated HTML documentation tends to take a lot of space, what
about moving it to a “doc” output?

Otherwise LGTM.

Thanks,
Ludo’.
Pierre Neidhardt Nov. 11, 2018, 10:54 a.m. UTC | #2
> This is so that users of gtk-doc don’t need to specify where docbook-xsl
> is to be searched for, right?

On the user-side, I don't know, but without this thee doc of WebKitGTK would
fail to build, so this is necessary on the builder side.

> Since generated HTML documentation tends to take a lot of space, what
> about moving it to a “doc” output?

Documentation is <7MB, <5% of the total package size, so I didn't bother
creating a separate output.
What do you think?
Ludovic Courtès Nov. 11, 2018, 11:35 a.m. UTC | #3
Pierre Neidhardt <mail@ambrevar.xyz> skribis:

>> This is so that users of gtk-doc don’t need to specify where docbook-xsl
>> is to be searched for, right?
>
> On the user-side, I don't know, but without this thee doc of WebKitGTK would
> fail to build, so this is necessary on the builder side.

But other packages that use gtk-doc don’t have this problem, right?  Any
idea what’s different?

>> Since generated HTML documentation tends to take a lot of space, what
>> about moving it to a “doc” output?
>
> Documentation is <7MB, <5% of the total package size, so I didn't bother
> creating a separate output.
> What do you think?

I have a preference for a separate “doc” output nonetheless, if it’s not
too difficult to achieve.

Thanks for your feedback,
Ludo’.
Pierre Neidhardt Nov. 11, 2018, 3:06 p.m. UTC | #4
> But other packages that use gtk-doc don’t have this problem, right?  Any
> idea what’s different?

I assume it's because WebKitGTK documentation uses some option of gtkdoc that
other packages don't use.

> I have a preference for a separate “doc” output nonetheless, if it’s not
> too difficult to achieve.

OK, I'll them and merge then.

Patch

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index d1890c8b3..b4560c0e4 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -4,6 +4,7 @@ 
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,6 +32,7 @@ 
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gcc)
@@ -71,6 +73,7 @@ 
        #:build-type "Release" ; turn off debugging symbols to save space
        #:configure-flags (list
                           "-DPORT=GTK"
+                          "-DENABLE_GTKDOC=ON" ; No doc by default
                           (string-append ; uses lib64 by default
                            "-DLIB_INSTALL_DIR="
                            (assoc-ref %outputs "out") "/lib")
@@ -87,7 +90,20 @@ 
                           ;; XXX Disable WOFF2 ‘web fonts’.  These were never
                           ;; supported in our previous builds.  Enabling them
                           ;; requires building libwoff2 and possibly woff2dec.
-                          "-DUSE_WOFF2=OFF")))
+                          "-DUSE_WOFF2=OFF")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-gtk-doc-scan
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-docs.sgml"
+              (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
+               (string-append (assoc-ref inputs "docbook-xml")
+                              "/xml/dtd/docbook/docbookx.dtd")))
+             (substitute* "Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml"
+              (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
+               (string-append (assoc-ref inputs "docbook-xml")
+                              "/xml/dtd/docbook/docbookx.dtd")))
+             #t)))))
     (native-inputs
      `(("bison" ,bison)
        ("gettext" ,gettext-minimal)
@@ -97,6 +113,8 @@ 
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python-2) ; incompatible with Python 3 (print syntax)
+       ("gtk-doc" ,gtk-doc) ; For documentation generation
+       ("docbook-xml" ,docbook-xml) ; For documentation generation
        ("ruby" ,ruby)))
     (propagated-inputs
      `(("gtk+" ,gtk+)