diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index 92963626709..f0d5d9d9bf2 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -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 00000000000..49eb51dae9a --- /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 . ++ */ ++ ++#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 ++#include ++#include ++ ++/* 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