gnu: Add glib-with-documentation.

* gnu/packages/glib.scm (glib-with-documentation): New variable.
(glib)[properties]: Hide package.
This commit is contained in:
Pierre Neidhardt 2019-11-11 15:38:11 +01:00
parent 255bb7be0a
commit f678cc9c79
No known key found for this signature in database
GPG key ID: 9BDCF497A4BBCC7F

View file

@ -339,6 +339,7 @@ (define pattern+procs
(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 @@ (define pattern+procs
(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")