summary refs log tree commit diff
path: root/pkgs/desktops/gnome-2/platform
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2015-02-04 07:39:19 +0100
committerBjørn Forsman <bjorn.forsman@gmail.com>2015-06-14 19:53:01 +0200
commit903183d9e467c2bfe9c102f28328cbff2c95fe19 (patch)
tree4bb8053b95e3d796d92b8bc863818fee1e67f0df /pkgs/desktops/gnome-2/platform
parent74d5adcb4d114e2d159d4ed4a5f0ef35352465a9 (diff)
downloadnixpkgs-903183d9e467c2bfe9c102f28328cbff2c95fe19.tar
nixpkgs-903183d9e467c2bfe9c102f28328cbff2c95fe19.tar.gz
nixpkgs-903183d9e467c2bfe9c102f28328cbff2c95fe19.tar.bz2
nixpkgs-903183d9e467c2bfe9c102f28328cbff2c95fe19.tar.lz
nixpkgs-903183d9e467c2bfe9c102f28328cbff2c95fe19.tar.xz
nixpkgs-903183d9e467c2bfe9c102f28328cbff2c95fe19.tar.zst
nixpkgs-903183d9e467c2bfe9c102f28328cbff2c95fe19.zip
gtkglextmm: unbreak build
* Add missing build inputs: pangox_compat, libXmu
* Add patch from debian to fix build with newer gtk
Diffstat (limited to 'pkgs/desktops/gnome-2/platform')
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix15
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglextmm/fix_ftbfs_gtk_2_36.patch121
2 files changed, 134 insertions, 2 deletions
diff --git a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
index bf09bd93eeb..97bad111ca7 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf }:
+{ stdenv, fetchurl, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf
+, pangox_compat, libXmu
+}:
 
 stdenv.mkDerivation rec {
   name = "gtkglextmm-${minVer}.0";
@@ -9,7 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "6cd4bd2a240e5eb1e3a24c5a3ebbf7ed905b522b888439778043fdeb58771fea";
   };
 
-  patches = [ ./gdk.patch ];
+  patches = [
+    ./gdk.patch
+
+    # From debian, fixes build with newer gtk "[...] by switching #includes
+    # around so that the G_DISABLE_DEPRECATED trick in glibmm still works".
+    # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=707356
+    ./fix_ftbfs_gtk_2_36.patch
+  ];
+
+  buildInputs = [ pangox_compat libXmu ];
 
   nativeBuildInputs = [pkgconfig];
 
diff --git a/pkgs/desktops/gnome-2/platform/gtkglextmm/fix_ftbfs_gtk_2_36.patch b/pkgs/desktops/gnome-2/platform/gtkglextmm/fix_ftbfs_gtk_2_36.patch
new file mode 100644
index 00000000000..88e271e3eb7
--- /dev/null
+++ b/pkgs/desktops/gnome-2/platform/gtkglextmm/fix_ftbfs_gtk_2_36.patch
@@ -0,0 +1,121 @@
+Index: gtkglextmm-1.2.0/gdkglext/gdkmm/gl/wrap_init.cc
+===================================================================
+--- gtkglextmm-1.2.0.orig/gdkglext/gdkmm/gl/wrap_init.cc	2013-05-16 23:40:48.363207736 +0200
++++ gtkglextmm-1.2.0/gdkglext/gdkmm/gl/wrap_init.cc	2013-05-16 23:42:40.193801834 +0200
+@@ -1,15 +1,8 @@
+-
+-#include <glib.h>
+-
+ // Disable the 'const' function attribute of the get_type() functions.
+ // GCC would optimize them out because we don't use the return value.
+ #undef  G_GNUC_CONST
+ #define G_GNUC_CONST /* empty */
+ 
+-#include <gdkmm/gl/wrap_init.h>
+-#include <glibmm/error.h>
+-#include <glibmm/object.h>
+-
+ // #include the widget headers so that we can call the get_type() static methods:
+ 
+ #include "tokens.h"
+@@ -19,6 +12,12 @@
+ #include "pixmap.h"
+ #include "window.h"
+ 
++#include <glib.h>
++
++#include <gdkmm/gl/wrap_init.h>
++#include <glibmm/error.h>
++#include <glibmm/object.h>
++
+ extern "C"
+ {
+ 
+Index: gtkglextmm-1.2.0/gdkglext/gdkmm/gl/query.cc
+===================================================================
+--- gtkglextmm-1.2.0.orig/gdkglext/gdkmm/gl/query.cc	2013-05-16 23:40:48.363207736 +0200
++++ gtkglextmm-1.2.0/gdkglext/gdkmm/gl/query.cc	2013-05-16 23:42:40.193801834 +0200
+@@ -17,10 +17,10 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
+  */
+ 
+-#include <gdk/gdkglquery.h>
+-
+ #include "query.h"
+ 
++#include <gdk/gdkglquery.h>
++
+ namespace Gdk
+ {
+   namespace GL
+Index: gtkglextmm-1.2.0/gdkglext/gdkmm/gl/pixmapext.cc
+===================================================================
+--- gtkglextmm-1.2.0.orig/gdkglext/gdkmm/gl/pixmapext.cc	2013-05-16 23:40:48.363207736 +0200
++++ gtkglextmm-1.2.0/gdkglext/gdkmm/gl/pixmapext.cc	2013-05-16 23:42:40.193801834 +0200
+@@ -17,11 +17,11 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
+  */
+ 
++#include "pixmapext.h"
++
+ #include <gdk/gdkgldrawable.h>
+ #include <gdk/gdkglpixmap.h>
+ 
+-#include "pixmapext.h"
+-
+ namespace Gdk
+ {
+   namespace GL
+Index: gtkglextmm-1.2.0/gdkglext/gdkmm/gl/windowext.cc
+===================================================================
+--- gtkglextmm-1.2.0.orig/gdkglext/gdkmm/gl/windowext.cc	2013-05-16 23:40:48.363207736 +0200
++++ gtkglextmm-1.2.0/gdkglext/gdkmm/gl/windowext.cc	2013-05-16 23:42:40.193801834 +0200
+@@ -17,11 +17,11 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
+  */
+ 
++#include "windowext.h"
++
+ #include <gdk/gdkgldrawable.h>
+ #include <gdk/gdkglwindow.h>
+ 
+-#include "windowext.h"
+-
+ namespace Gdk
+ {
+   namespace GL
+Index: gtkglextmm-1.2.0/gdkglext/gdkmm/gl/font.cc
+===================================================================
+--- gtkglextmm-1.2.0.orig/gdkglext/gdkmm/gl/font.cc	2004-05-18 08:01:49.000000000 +0200
++++ gtkglextmm-1.2.0/gdkglext/gdkmm/gl/font.cc	2013-05-16 23:43:07.637456821 +0200
+@@ -17,10 +17,10 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
+  */
+ 
+-#include <gdk/gdkglfont.h>
+-
+ #include "font.h"
+ 
++#include <gdk/gdkglfont.h>
++
+ namespace Gdk
+ {
+   namespace GL
+Index: gtkglextmm-1.2.0/gdkglext/gdkmm/gl/init.cc
+===================================================================
+--- gtkglextmm-1.2.0.orig/gdkglext/gdkmm/gl/init.cc	2003-02-27 10:49:24.000000000 +0100
++++ gtkglextmm-1.2.0/gdkglext/gdkmm/gl/init.cc	2013-05-16 23:44:38.320316782 +0200
+@@ -19,11 +19,11 @@
+ 
+ #include <cstdlib>
+ 
+-#include <gdk/gdkglinit.h>
+-
+ #include "wrap_init.h"
+ #include "init.h"
+ 
++#include <gdk/gdkglinit.h>
++
+ namespace Gdk
+ {
+   namespace GL