From 57453211659f1cfeefa78c3c284e12b761fcd30d Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Mar 2021 00:07:52 -0400 Subject: [PATCH 09/56] gnu: libsigc++: Enable documentation. * gnu/packages/glib.scm (libsigc++)[outputs]: New output "doc". [arguments]<#:configure-flags>[-Dbuild-documentation]: New flag. <#:phases>['patch-docbook-xml]: New phase. ['move-doc]: New phase. [native-inputs]: Add dblatex, doxygen and graphviz. --- gnu/packages/glib.scm | 45 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 9a273aa7d3..0505910b41 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -49,6 +49,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages libffi) @@ -553,8 +554,36 @@ by GDBus included in Glib.") (base32 "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp")))) (build-system meson-build-system) + (outputs '("out" "doc")) + (arguments + `(#:configure-flags + (list + "-Dbuild-documentation=true") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs" + (substitute* (find-files "." "\\.xml$") + (("http://www.oasis-open.org/docbook/xml/4\\.1\\.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t)))))) (native-inputs - `(("m4" ,m4) + `(("docbook-xml" ,docbook-xml-4.1.2) + ("docbook-xsl" ,docbook-xsl) + ("dot" ,graphviz) + ("doxygen" ,doxygen) + ("m4" ,m4) ("mm-common" ,mm-common) ("perl" ,perl) ("pkg-config" ,pkg-config) @@ -566,12 +595,12 @@ by GDBus included in Glib.") (synopsis "Type-safe callback system for standard C++") (description "Libsigc++ implements a type-safe callback system for standard C++. It -allows you to define signals and to connect those signals to any callback -function, either global or a member function, regardless of whether it is -static or virtual. + allows you to define signals and to connect those signals to any callback + function, either global or a member function, regardless of whether it is + static or virtual. -It also contains adaptor classes for connection of dissimilar callbacks and -has an ease of use unmatched by other C++ callback libraries.") + It also contains adaptor classes for connection of dissimilar callbacks and + has an ease of use unmatched by other C++ callback libraries.") (license license:lgpl3+))) (define glibmm @@ -603,8 +632,8 @@ has an ease of use unmatched by other C++ callback libraries.") ;; to open a TLS session; just skip it. (substitute* "tests/giomm_tls_client/main.cc" (("Gio::init.*$") - "return 77;\n")) - #t))))) + "return 77 ;\n")) + #t))))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin"))) (propagated-inputs -- 2.31.0