Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: c5f3c184a728
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: e5fa0ab1c409
Choose a head ref
  • 2 commits
  • 2 files changed
  • 2 contributors

Commits on Jan 17, 2020

  1. Copy the full SHA
    8842125 View commit details
  2. Merge pull request #77917 from hedning/fix-gtk-3.24.13-darwin

    gtk3: fix missing header file on darwin
    Mic92 authored Jan 17, 2020
    Copy the full SHA
    e5fa0ab View commit details
Showing with 59 additions and 0 deletions.
  1. +3 −0 pkgs/development/libraries/gtk/3.x.nix
  2. +56 −0 pkgs/development/libraries/gtk/patches/missing-header.patch
3 changes: 3 additions & 0 deletions pkgs/development/libraries/gtk/3.x.nix
Original file line number Diff line number Diff line change
@@ -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;
56 changes: 56 additions & 0 deletions pkgs/development/libraries/gtk/patches/missing-header.patch
Original file line number Diff line number Diff line change
@@ -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