summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-15 15:51:52 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-11-11 12:18:14 -0500
commitff28af501d03d5b1bd4fbfc25f5785e611b50976 (patch)
tree3a184823665971bbe3db82456e243f6e2c0b92ee
parentd1be2661ca195da502e0b85619b26b5d277864e2 (diff)
downloadguix-patches-ff28af501d03d5b1bd4fbfc25f5785e611b50976.tar
guix-patches-ff28af501d03d5b1bd4fbfc25f5785e611b50976.tar.gz
gnu: json-glib-minimal: Introduce minimal variant.
* gnu/packages/gnome.scm (json-glib-minimal): New variable. [source]: Adjust URI. [outputs]: Move doc output to... (json-glib)[outputs]: ... here. Rewrite in terms of json-glib-minimal. * gnu/packages/gtk.scm (gtk+): Use json-glib-minimal to break a cycle with Inkscape.
-rw-r--r--gnu/packages/gnome.scm134
-rw-r--r--gnu/packages/gtk.scm2
2 files changed, 66 insertions, 70 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index db7b6dff27..0ca387321f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4590,86 +4590,27 @@ is to provide a backend to GSettings on platforms that don't already have
configuration storage systems.")
(license license:lgpl2.1+)))
-(define-public json-glib
+(define-public json-glib-minimal
(package
- (name "json-glib")
+ (name "json-glib-minimal")
(version "1.6.2")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ (uri (string-append "mirror://gnome/sources/json-glib/"
+ (version-major+minor version)
+ "/json-glib-" version ".tar.xz"))
(sha256
(base32
"092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3"))))
(build-system meson-build-system)
- (outputs '("out" "doc"))
(arguments
- `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
- #:configure-flags
- (list
- "-Ddocs=true"
- "-Dman=true"
- ,@(if (%current-target-system)
- ;; If enabled, gtkdoc-scangobj will try to execute a
- ;; cross-compiled binary.
- '("-Dgtk_doc=disabled"
- ;; Trying to build introspection data when cross-compiling
- ;; causes errors during linking.
- "-Dintrospection=disabled")
- '()))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook
- ;; TODO(core-updates): Use (or native-inputs inputs)
- ;; unconditionally.
- (lambda* (#:key ,@(if (%current-target-system)
- '(native-inputs)
- '()) inputs #:allow-other-keys)
- (with-directory-excursion "doc"
- (substitute* (find-files "." "\\.xml$")
- (("http://www.oasis-open.org/docbook/xml/4\\.3/")
- (string-append (assoc-ref ,(if (%current-target-system)
- '(or native-inputs inputs)
- 'inputs)
- "docbook-xml")
- "/xml/dtd/docbook/")))
- (substitute* "meson.build"
- (("http://docbook.sourceforge.net/release/xsl/current/")
- (string-append (assoc-ref ,(if (%current-target-system)
- '(or native-inputs inputs)
- 'inputs) "docbook-xsl")
- "/xml/xsl/docbook-xsl-1.79.2/"))))
- #t))
- ;; When cross-compiling, there are no docs to move.
- ,(if (%current-target-system)
- '(add-after 'install 'stub-docs
- (lambda* (#:key outputs #:allow-other-keys)
- ;; The daemon doesn't like empty output paths.
- (mkdir (assoc-ref outputs "doc"))))
- '(add-after 'install 'move-docs
- (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/gtk-doc")
- (string-append doc "/share/gtk-doc"))
- #t)))))))
+ `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
(native-inputs
- `(("docbook-xml" ,docbook-xml-4.3)
- ("docbook-xsl" ,docbook-xsl)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc)
- ("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
+ `(("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
+ ("pkg-config" ,pkg-config)))
(inputs
- ;; TODO(core-updates): Make this input unconditional.
- (if (%current-target-system)
- `(("bash-minimal" ,bash-minimal))
- '()))
+ `(("bash-minimal" ,bash-minimal)))
(propagated-inputs
`(("glib" ,glib))) ;according to json-glib-1.0.pc
(home-page "https://wiki.gnome.org/Projects/JsonGlib")
@@ -4679,6 +4620,61 @@ described by RFC 4627. It implements a full JSON parser and generator using
GLib and GObject, and integrates JSON with GLib data types.")
(license license:lgpl2.1+)))
+(define-public json-glib
+ (package/inherit json-glib-minimal
+ (name "json-glib")
+ (outputs (cons "doc" (package-outputs json-glib-minimal)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments json-glib-minimal)
+ ((#:configure-flags _)
+ `(list "-Ddocs=true"
+ "-Dman=true"
+ ,@(if (%current-target-system)
+ ;; If enabled, gtkdoc-scangobj will try to execute a
+ ;; cross-compiled binary.
+ '("-Dgtk_doc=disabled"
+ ;; Trying to build introspection data when cross-compiling
+ ;; causes errors during linking.
+ "-Dintrospection=disabled")
+ '())))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'patch-docbook
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (with-directory-excursion "doc"
+ (substitute* (find-files "." "\\.xml$")
+ (("http://www.oasis-open.org/docbook/xml/4\\.3/")
+ (string-append (assoc-ref (or native-inputs inputs)
+ "docbook-xml")
+ "/xml/dtd/docbook/")))
+ (substitute* "meson.build"
+ (("http://docbook.sourceforge.net/release/xsl/current/")
+ (string-append (assoc-ref (or native-inputs inputs)
+ "docbook-xsl")
+ "/xml/xsl/docbook-xsl-1.79.2/"))))))
+ ;; When cross-compiling, there are no docs to move.
+ ,(if (%current-target-system)
+ '(add-after 'install 'stub-docs
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; The daemon doesn't like empty output paths.
+ (mkdir (assoc-ref outputs "doc"))))
+ '(add-after 'install 'move-docs
+ (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/gtk-doc")
+ (string-append doc "/share/gtk-doc"))))))))))
+ (native-inputs
+ (append
+ `(("docbook-xml" ,docbook-xml-4.3)
+ ("docbook-xsl" ,docbook-xsl)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("xsltproc" ,libxslt))
+ (package-native-inputs json-glib-minimal)))))
+
(define-public libxklavier
(package
(name "libxklavier")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b67af8c051..1dd2c6c184 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1028,7 +1028,7 @@ application suites.")
("graphene" ,graphene)
("harfbuzz" ,harfbuzz)
("iso-codes" ,iso-codes)
- ("json-glib" ,json-glib)
+ ("json-glib" ,json-glib-minimal)
("libxml2" ,libxml2)
("rest" ,rest)))
(native-inputs