me
/
guix
Archived
1
0
Fork 0

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.
master
Maxim Cournoyer 2021-10-17 00:18:31 -04:00
parent 22ebc35efd
commit 698e6f17bb
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 32 additions and 36 deletions

View File

@ -4835,9 +4835,10 @@ claim to be \"RESTful\". It includes convenience wrappers for libsoup and
libxml to ease remote use of the RESTful API.") libxml to ease remote use of the RESTful API.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public libsoup ;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
(define-public libsoup-minimal
(package (package
(name "libsoup") (name "libsoup-minimal")
(version "2.72.0") (version "2.72.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -4848,23 +4849,14 @@ libxml to ease remote use of the RESTful API.")
(base32 (base32
"11skbyw2pw32178q3h8pi7xqa41b2x4k6q4k9f75zxmh8s23y30p")))) "11skbyw2pw32178q3h8pi7xqa41b2x4k6q4k9f75zxmh8s23y30p"))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" "doc"))
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)
(guix build meson-build-system) (guix build meson-build-system)
(ice-9 popen)) (ice-9 popen))
#:configure-flags '("-Dgtk_doc=true") #:configure-flags '("-Dgtk_doc=false")
#:phases #:phases
(modify-phases %standard-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 (add-after 'unpack 'adjust-tests
(lambda _ (lambda _
;; This test fails due to missing /etc/nsswitch.conf ;; 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 ;; FIXME: ssl-test fails, starting with
;; glib-networking 2.68.x. ;; glib-networking 2.68.x.
(substitute* "tests/meson.build" (substitute* "tests/meson.build"
(("[ \t]*\\['ssl', true, \\[\\]\\],") "")) (("[ \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))))))
(native-inputs (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) ("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool) ("intltool" ,intltool)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python-wrapper) ("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.") and the GLib main loop, to integrate well with GNOME applications.")
(license license:lgpl2.0+))) (license license:lgpl2.0+)))
(define-public libsoup
;;; A minimal version of libsoup used to prevent a cycle with Inkscape. (package/inherit libsoup-minimal
(define-public libsoup-minimal (name "libsoup")
(package/inherit libsoup (outputs (cons "doc" (package-outputs libsoup-minimal)))
(name "libsoup-minimal")
(outputs (delete "doc" (package-outputs libsoup)))
(arguments (arguments
(substitute-keyword-arguments (package-arguments libsoup) (substitute-keyword-arguments (package-arguments libsoup-minimal)
((#:configure-flags configure-flags) ((#:configure-flags configure-flags)
`(delete "-Dgtk_doc=true" ,configure-flags)) `(cons "-Dgtk_doc=true"
(delete "-Dgtk_doc=false" ,configure-flags)))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(delete 'move-doc))))) (add-after 'unpack 'patch-docbook-xml
(native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup))))) (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 (define-public libsecret
(package (package