summaryrefslogtreecommitdiff
path: root/gnu/packages/gtk.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-05 00:46:26 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-11-11 12:18:13 -0500
commit2971472e79b2aff214106de16b6f57e618510bdd (patch)
treedadbd7704200c2b9256234c66608a76214547fe2 /gnu/packages/gtk.scm
parent889eebc1854145e6895bb8b50fc36d07a194c1fb (diff)
downloadguix-patches-2971472e79b2aff214106de16b6f57e618510bdd.tar
guix-patches-2971472e79b2aff214106de16b6f57e618510bdd.tar.gz
gnu: at-spi2-core: Reverse inheritance relationship with minimal variant.
Since the minimal variant is here to stay, this should make things easier to maintain. * gnu/packages/gtk.scm (at-spi2-core-minimal): Rewrite after removing inheritance, making it the base minimal package, with no documentation-related inputs or build phases. (at-spi2-core): Rewrite definition, inherit from the above minimal variant, adding the documentation-related inputs and build phases.
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r--gnu/packages/gtk.scm195
1 files changed, 85 insertions, 110 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5dfdaae7e4..c38fd3e907 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -740,122 +740,97 @@ scaled, composited, modified, saved, or rendered.")
loaders))))))))
(synopsis "Image loading library, with SVG support")))
-(define-public at-spi2-core
- (package
- (name "at-spi2-core")
- (version "2.40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0a9l6cfxynjn6jcp29d72i75xbkrzs1l5kmqcwmfal801b9sg5j1"))))
- (build-system meson-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
- #:configure-flags
- ;; Generating documentation requires running binaries for the host
- ;; on the build machine.
- (list ,(if (%current-target-system)
- "-Ddocs=false"
- "-Ddocs=true"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-documentation-path
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Ensure that the cross-references point to the "doc" output.
- (substitute* "doc/libatspi/meson.build"
- (("docpath =.*")
- (string-append "docpath = '" (assoc-ref outputs "doc") "/share/gtk-doc/html'\n")))
- #t))
- (add-before 'install 'prepare-doc-directory
- (lambda* (#:key outputs #:allow-other-keys)
- (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
- #t))
- ;; TODO(core-updates): Unconditionally use (or native-inputs inputs)
- (add-after 'unpack 'patch-docbook-sgml
- (lambda* (#:key ,@(if (%current-target-system)
- '(native-inputs)
- '()) inputs #:allow-other-keys)
- (let* ((xmldoc
- (string-append (assoc-ref ,(if (%current-target-system)
- '(or native-inputs inputs)
- 'inputs)
- "docbook-xml")
- "/xml/dtd/docbook")))
- (substitute* "doc/libatspi/libatspi-docs.sgml"
- (("http://.*/docbookx\\.dtd")
- (string-append xmldoc "/docbookx.dtd")))
- #t)))
- ,@(if (%current-target-system)
- '()
- '((add-after 'install 'move-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (copy-recursively
- (string-append out "/share/gtk-doc")
- (string-append doc "/share/gtk-doc"))
- (delete-file-recursively
- (string-append out "/share/gtk-doc")))
- #t))))
- (add-after 'install 'check
- (lambda _
- (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
- ;; Run test-suite under a dbus session.
- (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
- (string-append %output "/share"))
- ;; Don't fail on missing '/etc/machine-id'.
- (setenv "DBUS_FATAL_WARNINGS" "0") ;
- (invoke "dbus-launch" "ninja" "test")))
- (delete 'check))))
- (inputs
- ;; TODO(core-updates): Make this input unconditional.
- (if (%current-target-system)
- `(("bash-minimal" ,bash-minimal))
- '()))
- (propagated-inputs
- ;; atspi-2.pc refers to all these.
- `(("dbus" ,dbus)
- ("glib" ,glib)
- ("libx11" ,libx11)
- ("libxi" ,libxi)
- ("libxtst" ,libxtst)))
- (native-inputs
- `(("docbook-xml" ,docbook-xml-4.3)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
- (synopsis "Assistive Technology Service Provider Interface, core components")
- (description
- "The Assistive Technology Service Provider Interface, core components,
+;;; A minimal variant used to prevent a cycle with Inkscape.
+(define-public at-spi2-core-minimal
+ (hidden-package
+ (package
+ (name "at-spi2-core")
+ (version "2.40.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0a9l6cfxynjn6jcp29d72i75xbkrzs1l5kmqcwmfal801b9sg5j1"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'check
+ (lambda _
+ (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
+ ;; Run test-suite under a dbus session.
+ (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
+ (string-append %output "/share"))
+ ;; Don't fail on missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0") ;
+ (invoke "dbus-launch" "ninja" "test")))
+ (delete 'check))))
+ (inputs
+ `(("bash-minimal" ,bash-minimal)))
+ (propagated-inputs
+ ;; atspi-2.pc refers to all these.
+ `(("dbus" ,dbus)
+ ("glib" ,glib)
+ ("libx11" ,libx11)
+ ("libxi" ,libxi)
+ ("libxtst" ,libxtst)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (synopsis "Assistive Technology Service Provider Interface, core components")
+ (description
+ "The Assistive Technology Service Provider Interface, core components,
is part of the GNOME accessibility project.")
- (license license:lgpl2.1+)
- (home-page "https://wiki.gnome.org/Accessibility/")))
+ (license license:lgpl2.1+)
+ (home-page "https://wiki.gnome.org/Accessibility/"))))
-;;; A minimal variant used to prevent a cycle with Inkscape.
-(define at-spi2-core-minimal
- (package
- (inherit at-spi2-core)
- (name "at-spi2-core-minimal")
- (outputs (delete "doc" (package-outputs at-spi2-core)))
+(define-public at-spi2-core
+ (package/inherit at-spi2-core-minimal
+ (outputs (cons "doc" (package-outputs at-spi2-core-minimal)))
(arguments
- (substitute-keyword-arguments (package-arguments at-spi2-core)
- ((#:configure-flags configure-flags)
- `(delete "-Ddocs=true" ,configure-flags))
+ (substitute-keyword-arguments (package-arguments at-spi2-core-minimal)
+ ((#:configure-flags flags ''())
+ `(cons ,(if (%current-target-system)
+ "-Ddocs=false"
+ "-Ddocs=true")
+ ,flags))
((#:phases phases)
`(modify-phases ,phases
- (delete 'set-documentation-path)
- (delete 'prepare-doc-directory)
- (delete 'move-documentation)))))
+ (add-after 'unpack 'set-documentation-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Ensure that the cross-references point to the "doc" output.
+ (substitute* "doc/libatspi/meson.build"
+ (("docpath =.*")
+ (string-append "docpath = '" (assoc-ref outputs "doc")
+ "/share/gtk-doc/html'\n")))))
+ (add-before 'install 'prepare-doc-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))))
+ ,@(if (%current-target-system)
+ '()
+ '((add-after 'install 'move-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (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
- (alist-delete "gtk-doc" (package-native-inputs at-spi2-core)))))
+ (append `(("docbook-xml" ,docbook-xml-4.3)
+ ("gtk-doc" ,gtk-doc/stable)
+ ("libxml2" ,libxml2)) ;for XML_CATALOG_FILES
+ (package-native-inputs at-spi2-core-minimal)))
+ (properties (alist-delete 'hidden?
+ (package-properties at-spi2-core-minimal)))))
(define-public at-spi2-atk
(package