aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/libraries/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gtk')
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/3.x.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/gtk/patches/missing-header.patch56
2 files changed, 61 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix b/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
index 60432614433..f0d5d9d9bf2 100644
--- a/nixpkgs/pkgs/development/libraries/gtk/3.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/gtk/patches/missing-header.patch b/nixpkgs/pkgs/development/libraries/gtk/patches/missing-header.patch
new file mode 100644
index 00000000000..49eb51dae9a
--- /dev/null
+++ b/nixpkgs/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