about summary refs log tree commit diff
path: root/pkgs/development/libraries/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/gtk')
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix7
-rw-r--r--pkgs/development/libraries/gtk/patches/missing-header.patch56
2 files changed, 61 insertions, 2 deletions
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index 60432614433b..f0d5d9d9bf2e 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -48,7 +48,7 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "gtk+3";
-  version = "3.24.12";
+  version = "3.24.13";
 
   outputs = [ "out" "dev" ] ++ optional withGtkDoc "devdoc";
   outputBin = "dev";
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "10xyyhlfb0yk4hglngxh2zsv9xrxkqv343df8h01dvagc6jyp10k";
+    sha256 = "1a9hi7k59q0kqx0n3xhsk1ly23w9g9ncllnay1756g0yrww5qxsc";
   };
 
   patches = [
@@ -77,6 +77,9 @@ stdenv.mkDerivation rec {
     # let’s drop that dependency in similar way to how other parts of the library do it
     # e.g. https://gitlab.gnome.org/GNOME/gtk/blob/3.24.4/gtk/gtk-launch.c#L31-33
     ./patches/3.0-darwin-x11.patch
+    # 3.24.13 failed to ship a header file
+    # https://gitlab.gnome.org/GNOME/gtk/issues/2279
+    ./patches/missing-header.patch
   ];
 
   separateDebugInfo = stdenv.isLinux;
diff --git a/pkgs/development/libraries/gtk/patches/missing-header.patch b/pkgs/development/libraries/gtk/patches/missing-header.patch
new file mode 100644
index 000000000000..49eb51dae9af
--- /dev/null
+++ b/pkgs/development/libraries/gtk/patches/missing-header.patch
@@ -0,0 +1,56 @@
+diff --git a/gdk/quartz/gdkquartz-gtk-only.h b/gdk/quartz/gdkquartz-gtk-only.h
+new file mode 100644
+index 0000000000000000000000000000000000000000..193686c041971e4d8b3a1bc6bb2a79d8ba6e9a70
+--- /dev/null
++++ b/gdk/quartz/gdkquartz-gtk-only.h
+@@ -0,0 +1,50 @@
++/* gdkquartz-gtk-only.h
++ *
++ * Copyright (C) 2005-2007 Imendio AB
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef __GDK_QUARTZ_GTK_ONLY_H__
++#define __GDK_QUARTZ_GTK_ONLY_H__
++
++#if !(defined (GTK_COMPILATION) || defined (GDK_COMPILATION))
++#error "This API is for use only in Gtk internal code."
++#endif
++
++#include <Appkit/Appkit.h>
++#include <gdk/gdk.h>
++#include <gdk/quartz/gdkquartz.h>
++
++/* Drag and Drop/Clipboard */
++GDK_AVAILABLE_IN_ALL
++GdkAtom   gdk_quartz_pasteboard_type_to_atom_libgtk_only        (NSString       *type);
++GDK_AVAILABLE_IN_ALL
++NSString *gdk_quartz_target_to_pasteboard_type_libgtk_only      (const gchar    *target);
++GDK_AVAILABLE_IN_ALL
++NSString *gdk_quartz_atom_to_pasteboard_type_libgtk_only        (GdkAtom         atom);
++
++/* Utilities */
++GDK_AVAILABLE_IN_ALL
++NSImage  *gdk_quartz_pixbuf_to_ns_image_libgtk_only (GdkPixbuf *pixbuf);
++GDK_AVAILABLE_IN_ALL
++NSEvent  *gdk_quartz_event_get_nsevent              (GdkEvent  *event);
++
++/* Window */
++GDK_AVAILABLE_IN_ALL
++NSWindow *gdk_quartz_window_get_nswindow            (GdkWindow *window);
++GDK_AVAILABLE_IN_ALL
++NSView   *gdk_quartz_window_get_nsview              (GdkWindow *window);
++
++#endif