unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Pierre Neidhardt <mail@ambrevar.xyz>
To: Marius Bakke <mbakke@fastmail.com>,
	"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
Cc: 37850@debbugs.gnu.org
Subject: bug#37850: Glib documentation is missing
Date: Fri, 15 Nov 2019 16:06:15 +0100	[thread overview]
Message-ID: <87h8352n88.fsf@ambrevar.xyz> (raw)
In-Reply-To: <87d0dtgri5.fsf@devup.no>


[-- Attachment #1.1: Type: text/plain, Size: 188 bytes --]

Oh, that makes total sense, thanks for the explanation Marius!

Alright, final patch attached.
Let me know if I should merge on master.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-glib-with-documentation.patch --]
[-- Type: text/x-patch, Size: 3005 bytes --]

From 29d27b64fb7bbf96a2ed59a3e1c4179717770f5c Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt <mail@ambrevar.xyz>
Date: Mon, 11 Nov 2019 15:38:11 +0100
Subject: [PATCH] gnu: Add glib-with-documentation.

* gnu/packages/glib.scm (glib-with-documentation): New variable.
(glib): Hide package.
---
 gnu/packages/glib.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index b3e85f8df9..47e4f7006a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -339,6 +339,7 @@ shared NFS home directories.")
            (variable "GIO_EXTRA_MODULES")
            (files '("lib/gio/modules")))))
    (search-paths native-search-paths)
+   (properties '((hidden? . #t)) )
 
    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
    (description
@@ -348,6 +349,45 @@ dynamic loading, and an object system.")
    (home-page "https://developer.gnome.org/glib/")
    (license license:lgpl2.1+)))
 
+(define-public glib-with-documentation
+  ;; glib's doc must be built in a separate package since it requires gtk-doc,
+  ;; which in turn depends on glib.
+  (package
+    (inherit glib)
+    (properties '((hidden? . #f)))
+    (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
+    (native-inputs
+     `(("gtk-doc" ,gtk-doc)             ; for the doc
+       ("docbook-xml" ,docbook-xml)
+       ,@(package-native-inputs glib)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments glib)
+       ((#:configure-flags flags ''())
+        `(cons "-Dgtk_doc=true" ,flags))
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-after 'unpack 'make-local-docbook-xml
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((replace-http
+                      (lambda (file)
+                        (substitute* file
+                          ;; Warning: gio.xml uses docbook 4.2, hence the "4.." pattern.
+                          (("http://www.oasis-open.org/docbook/xml/4../docbookx.dtd")
+                           (string-append (assoc-ref inputs "docbook-xml")
+                                          "/xml/dtd/docbook/docbookx.dtd"))))))
+                 (replace-http "gio/gdbus-2.0/codegen/codegen_docbook.py")
+                 (for-each replace-http (find-files "." "\\.xml$"))
+                 #t)))
+           (add-after 'install 'move-doc
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out"))
+                     (doc (assoc-ref outputs "doc"))
+                     (html (string-append "/share/gtk-doc")))
+                 (copy-recursively (string-append out html)
+                                   (string-append doc html))
+                 (delete-file-recursively (string-append out html))
+                 #t)))))))))
+
 (define gobject-introspection
   (package
     (name "gobject-introspection")
-- 
2.23.0


  reply	other threads:[~2019-11-15 15:07 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-21 10:45 bug#37850: Glib documentation is missing Pierre Neidhardt
2019-10-23 18:22 ` Marius Bakke
2019-10-23 18:38   ` Pierre Neidhardt
2019-10-25 21:23     ` Ludovic Courtès
2019-10-26  9:04       ` Pierre Neidhardt
2019-10-29 10:36         ` Pierre Neidhardt
2019-11-03 16:39           ` Pierre Neidhardt
2019-11-03 19:04             ` Marius Bakke
2019-11-04  9:46               ` Pierre Neidhardt
2019-11-09 23:20                 ` Marius Bakke
2019-11-11  9:29                   ` Pierre Neidhardt
2019-11-12 12:32                     ` pelzflorian (Florian Pelz)
2019-11-12 13:22                       ` pelzflorian (Florian Pelz)
2019-11-12 16:00                         ` Pierre Neidhardt
2019-11-12 18:34                           ` pelzflorian (Florian Pelz)
2019-11-15 11:17                             ` Pierre Neidhardt
2019-11-15 12:14                               ` pelzflorian (Florian Pelz)
2019-11-15 14:10                               ` Marius Bakke
2019-11-15 15:06                                 ` Pierre Neidhardt [this message]
2019-11-21 19:50                                   ` Marius Bakke
2019-11-27 12:37                                     ` Pierre Neidhardt
2019-11-09  2:03 ` Alexandros Theodotou
2019-11-09  2:10   ` Alexandros Theodotou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h8352n88.fsf@ambrevar.xyz \
    --to=mail@ambrevar.xyz \
    --cc=37850@debbugs.gnu.org \
    --cc=mbakke@fastmail.com \
    --cc=pelzflorian@pelzflorian.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).