summaryrefslogtreecommitdiff
path: root/gnu/packages/glib.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2019-11-11 15:38:11 +0100
committerPierre Neidhardt <mail@ambrevar.xyz>2019-11-27 13:34:22 +0100
commitf678cc9c793bcf23ced842f815c5d98bbde5fa31 (patch)
tree7121a7d7d7d11f129c0440edc098aa0aa98660e4 /gnu/packages/glib.scm
parent255bb7be0adaa315e13cfb2931b86f14aefa9461 (diff)
downloadguix-patches-f678cc9c793bcf23ced842f815c5d98bbde5fa31.tar
guix-patches-f678cc9c793bcf23ced842f815c5d98bbde5fa31.tar.gz
gnu: Add glib-with-documentation.
* gnu/packages/glib.scm (glib-with-documentation): New variable. (glib)[properties]: Hide package.
Diffstat (limited to 'gnu/packages/glib.scm')
-rw-r--r--gnu/packages/glib.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index b3e85f8df9..528b67e6cf 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,34 @@ 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 (alist-delete 'hidden? (package-properties glib)))
+ (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)
+ ("libxml2" ,libxml2)
+ ,@(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 '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")