From bc91562939ee002e84c95d13c907482b6d1e9339 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 29 Mar 2019 23:28:45 -0400 Subject: gnu: gtk+: Graft upstream fix for crashes in Emacs and IceCat. Fixes . * gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gtk.scm (gtk+/fixed): New variable. (gtk+)[replacement]: New field. --- gnu/packages/gtk.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'gnu/packages/gtk.scm') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index aab392758f..83aadfd177 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès -;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver +;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Paul van der Walt @@ -694,6 +694,7 @@ application suites.") ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in ;; mate.scm will also need to be updated. (version "3.24.2") + (replacement gtk+/fixed) (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -787,6 +788,18 @@ application suites.") (variable "GUIX_GTK3_PATH") (files '("lib/gtk-3.0"))))))) +;; Fixes a bug in Gtk that causes crashes in IceCat and Emacs. +;; See , , +;; and . +(define gtk+/fixed + (package + (inherit gtk+) + (source (origin + (inherit (package-source gtk+)) + (patches + (cons (search-patch "gtk3-fix-deprecation-macro-use.patch") + (origin-patches (package-source gtk+)))))))) + ;;; ;;; Guile bindings. ;;; -- cgit v1.2.3 From 3eed550072d6f71eff20de269d313fc1dfe3e332 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 1 Apr 2019 00:03:36 +0200 Subject: gnu: Remove gtk+/fixed. The merge preceding this commit ignored the replacement part of commit bc91562939ee002e84c95d13c907482b6d1e9339. This commit removes the remaining bits, as the patch is already included in GTK3 since version 3.24.3. * gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/gtk.scm (gtk+/fixed): Remove variable. --- gnu/local.mk | 1 - gnu/packages/gtk.scm | 12 ---------- .../patches/gtk3-fix-deprecation-macro-use.patch | 28 ---------------------- 3 files changed, 41 deletions(-) delete mode 100644 gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch (limited to 'gnu/packages/gtk.scm') diff --git a/gnu/local.mk b/gnu/local.mk index c6cacd7ada..1332efdcff 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -876,7 +876,6 @@ dist_patch_DATA = \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-theme-paths.patch \ - %D%/packages/patches/gtk3-fix-deprecation-macro-use.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 7527abbbac..6e63ca6614 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -822,18 +822,6 @@ application suites.") (variable "GUIX_GTK3_PATH") (files '("lib/gtk-3.0"))))))) -;; Fixes a bug in Gtk that causes crashes in IceCat and Emacs. -;; See , , -;; and . -(define gtk+/fixed - (package - (inherit gtk+) - (source (origin - (inherit (package-source gtk+)) - (patches - (cons (search-patch "gtk3-fix-deprecation-macro-use.patch") - (origin-patches (package-source gtk+)))))))) - ;;; ;;; Guile bindings. ;;; diff --git a/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch deleted file mode 100644 index e933555ffb..0000000000 --- a/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch +++ /dev/null @@ -1,28 +0,0 @@ -Copied from . -Fixes upstream bugs -and . - -diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c -index 97ada6d73919fba3dfe192dd66929e90bc7677bb..764e39495f7edb0c3efe41cca25b8bee4778887d 100644 ---- a/gdk/x11/gdkwindow-x11.c -+++ b/gdk/x11/gdkwindow-x11.c -@@ -2985,6 +2985,7 @@ gdk_window_x11_set_background (GdkWindow *window, - double r, g, b, a; - cairo_surface_t *surface; - cairo_matrix_t matrix; -+ cairo_pattern_t *parent_relative_pattern; - - if (GDK_WINDOW_DESTROYED (window)) - return; -@@ -2997,8 +2998,10 @@ gdk_window_x11_set_background (GdkWindow *window, - } - - G_GNUC_BEGIN_IGNORE_DEPRECATIONS -- if (pattern == gdk_x11_get_parent_relative_pattern ()) -+ parent_relative_pattern = gdk_x11_get_parent_relative_pattern (); - G_GNUC_END_IGNORE_DEPRECATIONS -+ -+ if (pattern == parent_relative_pattern) - { - GdkWindow *parent; - -- cgit v1.2.3