gtk3: fix missing header file on darwin

This commit is contained in:
Tor Hedin Brønner 2020-01-17 13:19:52 +01:00
parent c5f3c184a7
commit 8842125720
2 changed files with 59 additions and 0 deletions

View File

@ -77,6 +77,9 @@ stdenv.mkDerivation rec {
# lets drop that dependency in similar way to how other parts of the library do it # lets 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 # e.g. https://gitlab.gnome.org/GNOME/gtk/blob/3.24.4/gtk/gtk-launch.c#L31-33
./patches/3.0-darwin-x11.patch ./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; separateDebugInfo = stdenv.isLinux;

View File

@ -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