~ruther/guix-local

80cb493b9e61351b9d3a1ef3b56da629223910ac — Gabriel Wicki 8 months ago 993da60
gnu: gtk+: Replace with 3.24.49.

This fixes a segfault error in Gimp and possibly other applications.

* gnu/packages/gtk.scm (gtk+)[replacement]: Add field to graft with...
(gtk+/fixed): ... this new package.

Change-Id: I46d6b043593716f970ea7c898a01ed4f78fa540d
1 files changed, 33 insertions(+), 0 deletions(-)

M gnu/packages/gtk.scm
M gnu/packages/gtk.scm => gnu/packages/gtk.scm +33 -0
@@ 1009,6 1009,7 @@ application suites.")
    (inherit gtk+-2)
    (name "gtk+")
    (version "3.24.43")
    (replacement gtk+/fixed)
    (source
     (origin
       (method url-fetch)


@@ 1126,6 1127,38 @@ application suites.")
            (variable "GUIX_GTK3_PATH")
            (files '("lib/gtk-3.0")))))))

(define-public gtk+/fixed
  (package
    (inherit gtk+)
    (name "gtk+")
    (version "3.24.49")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                     (url "https://gitlab.gnome.org/GNOME/gtk")
                     (commit version)))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))))
    (arguments
     (substitute-keyword-arguments (package-arguments gtk+)
       ((#:phases phases)
        #~(modify-phases #$phases
            (replace 'disable-failing-tests
              (lambda _
                ;; These tests fail only in the containerized environment, for
                ;; unknown reasons.
                (substitute* "testsuite/gtk/meson.build"
                  ((".*\\['defaultvalue'],.*") "")
                  ((".*\\['objects-finalize',.*") ""))
                ;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
                ;; fail for unknown reasons (see:
                ;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
                (substitute* "testsuite/reftests/meson.build"
                  (("  'flipping-icons.ui',.*") "")
                  (("  'gtk-icontheme-sizing.ui',.*") ""))))))))))

(define-public gtk
  (package
    (name "gtk")