[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
75/124: gnu: gtk+-2: Enable tests.
From: |
guix-commits |
Subject: |
75/124: gnu: gtk+-2: Enable tests. |
Date: |
Mon, 30 Aug 2021 16:28:59 -0400 (EDT) |
raghavgururajan pushed a commit to branch wip-gnome
in repository guix.
commit 2008fa58bf72a0a5914881c7fde2ffd608f7390c
Author: Raghav Gururajan <rg@raghavgururajan.name>
AuthorDate: Fri Mar 26 10:51:11 2021 -0400
gnu: gtk+-2: Enable tests.
* gnu/packages/gtk.scm (gtk+-2) [arguments]<#:parallel-tests?>: New
argument.
<#:phases>['disable-tests]: Remove phase.
['disable-failing-tests]: New phase.
['pre-check]: New phase.
[native-inputs]: Add xorg-server-for-tests.
Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
---
gnu/packages/gtk.scm | 144 +++++++++++++++++++++++++++++----------------------
1 file changed, 83 insertions(+), 61 deletions(-)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 3696d07..c6ed63b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -828,72 +828,94 @@ is part of the GNOME accessibility project.")
(define-public gtk+-2
(package
- (name "gtk+")
- (version "2.24.32")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
- (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
-
"gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
- "gtk2-theme-paths.patch"))))
- (build-system gnu-build-system)
- (outputs '("out" "bin" "doc"))
- (propagated-inputs
- `(("atk" ,atk)
- ("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("pango" ,pango)))
- (inputs
- `(("cups" ,cups)
- ("libxcomposite" ,libxcomposite)
- ("libxcursor" ,libxcursor)
- ("libxdamage" ,libxdamage)
- ("libxi" ,libxi)
- ("libxinerama" ,libxinerama)
- ("libxrandr" ,libxrandr)))
- (native-inputs
- `(("perl" ,perl)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
- (arguments
- `(#:configure-flags
- (list "--with-xinput=yes"
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'disable-tests
- (lambda _
- ;; FIXME: re-enable tests requiring an X server
- (substitute* "gtk/Makefile.in"
- (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
- #t))
- (add-after 'install 'remove-cache
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each
+ (name "gtk+")
+ (version "2.24.32")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
+ (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
+
"gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
+ "gtk2-theme-paths.patch"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "bin" "doc"))
+ (propagated-inputs
+ `(("atk" ,atk)
+ ;; SVG support is optional and requires librsvg, which pulls in rust.
+ ;; Rust is not supported well on every architecture yet.
+ ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ gdk-pixbuf+svg
+ gdk-pixbuf))
+ ("pango" ,pango)))
+ (inputs
+ `(("cups" ,cups)
+ ("libxcomposite" ,libxcomposite)
+ ("libxcursor" ,libxcursor)
+ ("libxdamage" ,libxdamage)
+ ("libxi" ,libxi)
+ ("libxinerama" ,libxinerama)
+ ("libxrandr" ,libxrandr)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("python-wrapper" ,python-wrapper)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (arguments
+ `(#:parallel-tests? #f
+ #:configure-flags
+ (list "--with-xinput=yes"
+ (string-append "--with-html-dir="
+ (assoc-ref %outputs "doc")
+ "/share/gtk-doc/html"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "gtk/Makefile.in"
+ (("aliasfilescheck\\.sh") ""))
+ (substitute* "gtk/tests/recentmanager.c"
+ (("g_test_add_func \\(\"/recent-manager.*;") ""))
+ (substitute* "gtk/tests/defaultvalue.c"
+ (("return g_test_run\\(\\);") ""))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t))
+ (add-after 'install 'remove-cache
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each
delete-file
(find-files (assoc-ref outputs "out") "immodules.cache"))
- #t)))))
- (native-search-paths
- (list (search-path-specification
- (variable "GUIX_GTK2_PATH")
- (files '("lib/gtk-2.0")))))
- (synopsis "Cross-platform toolkit for creating graphical user interfaces")
- (description
- "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
+ #t)))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GUIX_GTK2_PATH")
+ (files '("lib/gtk-2.0")))))
+ (synopsis "Cross-platform toolkit for creating graphical user interfaces")
+ (description
+ "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
graphical user interfaces. Offering a complete set of widgets, GTK+ is
suitable for projects ranging from small one-off tools to complete
application suites.")
- (license license:lgpl2.0+)
- (home-page "https://www.gtk.org/")))
+ (license license:lgpl2.0+)
+ (home-page "https://www.gtk.org/")))
(define-public gtk+
(package (inherit gtk+-2)
- 35/124: gnu: gdk-pixbuf: Add missing arguments., (continued)
- 35/124: gnu: gdk-pixbuf: Add missing arguments., guix-commits, 2021/08/30
- 38/124: gnu: gdk-pixbuf: Fix documentation., guix-commits, 2021/08/30
- 39/124: gnu: gdk-pixbuf: Update to 2.42.4., guix-commits, 2021/08/30
- 42/124: gnu: gdk-pixbuf+svg: Correct package definition to include changes from gdk-pixbuf., guix-commits, 2021/08/30
- 59/124: gnu: atkmm: Enable documentation., guix-commits, 2021/08/30
- 47/124: gnu: vala: Update synopsis and description., guix-commits, 2021/08/30
- 57/124: gnu: atk: Update home-page and license., guix-commits, 2021/08/30
- 62/124: gnu: at-spi2-core: Update to 2.40.0., guix-commits, 2021/08/30
- 66/124: gnu: at-spi2-atk: Update home-page and license., guix-commits, 2021/08/30
- 68/124: gnu: json-glib: Enable documentation and man-pages., guix-commits, 2021/08/30
- 75/124: gnu: gtk+-2: Enable tests.,
guix-commits <=
- 84/124: gnu: ibus: Update to 1.5.24., guix-commits, 2021/08/30
- 52/124: gnu: libgsf: Correct inputs., guix-commits, 2021/08/30
- 55/124: gnu: atk: Re-arrange inputs in alphabetical order., guix-commits, 2021/08/30
- 45/124: gnu: vala: Fix documentation., guix-commits, 2021/08/30
- 49/124: gnu: libgsf: Make separate output for binaries., guix-commits, 2021/08/30
- 50/124: gnu: libgsf: Re-arrange inputs in alphabetical order., guix-commits, 2021/08/30
- 48/124: gnu: libgsf: Change build-system., guix-commits, 2021/08/30
- 51/124: gnu: libgsf: Enable missing features., guix-commits, 2021/08/30
- 53/124: gnu: libgsf: Enable documentation., guix-commits, 2021/08/30
- 54/124: gnu: libgsf: Update synopsis, description, home-page and license., guix-commits, 2021/08/30