summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-17 00:18:31 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-11-11 12:18:17 -0500
commit698e6f17bb448c36fa7efdb2d24175078716c339 (patch)
tree80c39a4ad302bb41aa57a93b7fd6c9ef65004911
parent22ebc35efd97b7745b0afbbe10ded80c52ca7dcb (diff)
downloadguix-698e6f17bb448c36fa7efdb2d24175078716c339.tar.gz
gnu: libsoup: Reverse inheritance relationship with libsoup-minimal.
Because starting small and adding more on top is easier maintenance-wise than
the reverse.

* gnu/packages/gnome.scm (libsoup-minimal): New variable, made by stripping
all doc-related output, phases and inputs from libsoup.
[outputs]: Remove doc output.
[configure-flags]: Set gtk_doc option to false.
[phases]{patch-docbook-xml, move-doc}: Remove phases.
[native-inputs]{docbook-xml-4.1.2, gtk-doc}: Remove inputs.
(libsoup): Inherit from the above.
[outputs]: Re-add "doc" output.
[configure-flags]: Set gtk_doc option to true.
[phases]{patch-docbook-xml, move-doc}: Re-add phases.
[native-inputs]{docbook-xml-4.1.2, gtk-doc}: Re-add inputs.
-rw-r--r--gnu/packages/gnome.scm68
1 files changed, 32 insertions, 36 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f12640bad0..059b84f32d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4835,9 +4835,10 @@ claim to be \"RESTful\".  It includes convenience wrappers for libsoup and
 libxml to ease remote use of the RESTful API.")
     (license license:lgpl2.1+)))
 
-(define-public libsoup
+;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
+(define-public libsoup-minimal
   (package
-    (name "libsoup")
+    (name "libsoup-minimal")
     (version "2.72.0")
     (source (origin
               (method url-fetch)
@@ -4848,23 +4849,14 @@ libxml to ease remote use of the RESTful API.")
                (base32
                 "11skbyw2pw32178q3h8pi7xqa41b2x4k6q4k9f75zxmh8s23y30p"))))
     (build-system meson-build-system)
-    (outputs '("out" "doc"))
     (arguments
      `(#:modules ((guix build utils)
                   (guix build meson-build-system)
                   (ice-9 popen))
 
-       #:configure-flags '("-Dgtk_doc=true")
+       #:configure-flags '("-Dgtk_doc=false")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
-                                          "/xml/dtd/docbook")))
-               (substitute* (find-files "docs/reference")
-                 (("http://.*/docbookx\\.dtd")
-                  (string-append xmldoc "/docbookx.dtd")))
-               #t)))
          (add-after 'unpack 'adjust-tests
            (lambda _
              ;; This test fails due to missing /etc/nsswitch.conf
@@ -4885,22 +4877,10 @@ libxml to ease remote use of the RESTful API.")
              ;; FIXME: ssl-test fails, starting with
              ;; glib-networking 2.68.x.
              (substitute* "tests/meson.build"
-               (("[ \t]*\\['ssl', true, \\[\\]\\],") ""))
-             #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"))
-               (copy-recursively (string-append out "/share/gtk-doc")
-                                 (string-append doc "/share/gtk-doc"))
-               (delete-file-recursively (string-append out "/share/gtk-doc"))
-               #t))))))
+               (("[ \t]*\\['ssl', true, \\[\\]\\],") "")))))))
     (native-inputs
-     `(("docbook-xml" ,docbook-xml-4.1.2)
-       ("glib:bin" ,glib "bin")                   ; for glib-mkenums
+     `(("glib:bin" ,glib "bin")                   ; for glib-mkenums
        ("gobject-introspection" ,gobject-introspection)
-       ("gtk-doc" ,gtk-doc/stable)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)
@@ -4927,20 +4907,36 @@ libxml to ease remote use of the RESTful API.")
 and the GLib main loop, to integrate well with GNOME applications.")
     (license license:lgpl2.0+)))
 
-
-;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
-(define-public libsoup-minimal
-  (package/inherit libsoup
-    (name "libsoup-minimal")
-    (outputs (delete "doc" (package-outputs libsoup)))
+(define-public libsoup
+  (package/inherit libsoup-minimal
+    (name "libsoup")
+    (outputs (cons "doc" (package-outputs libsoup-minimal)))
     (arguments
-     (substitute-keyword-arguments (package-arguments libsoup)
+     (substitute-keyword-arguments (package-arguments libsoup-minimal)
        ((#:configure-flags configure-flags)
-        `(delete "-Dgtk_doc=true" ,configure-flags))
+        `(cons "-Dgtk_doc=true"
+               (delete "-Dgtk_doc=false" ,configure-flags)))
        ((#:phases phases)
         `(modify-phases ,phases
-           (delete 'move-doc)))))
-    (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
+           (add-after 'unpack 'patch-docbook-xml
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+                                            "/xml/dtd/docbook")))
+                 (substitute* (find-files "docs/reference")
+                   (("http://.*/docbookx\\.dtd")
+                    (string-append xmldoc "/docbookx.dtd"))))))
+           (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"))
+                 (copy-recursively (string-append out "/share/gtk-doc")
+                                   (string-append doc "/share/gtk-doc"))
+                 (delete-file-recursively
+                  (string-append out "/share/gtk-doc")))))))))
+    (native-inputs (append `(("docbook-xml" ,docbook-xml-4.1.2)
+                             ("gtk-doc" ,gtk-doc))
+                       (package-native-inputs libsoup-minimal)))))
 
 (define-public libsecret
   (package