diff options
-rw-r--r-- | gnu/packages/glib.scm | 29 |
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") |