diff --git a/pkgs/development/libraries/haskell/gtkglext/default.nix b/pkgs/development/libraries/haskell/gtkglext/default.nix
new file mode 100644
index 000000000000..b98b478429cd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gtkglext/default.nix
@@ -0,0 +1,16 @@
+{ pkgs, cabal, gtk, gtk2hsBuildtools, pangox_compat }:
+
+cabal.mkDerivation (self: {
+  pname = "gtkglext";
+  version = "0.12.5.0";
+  sha256 = "1xhalcb85cpswdpqxx64fxpmyqq7iakgaczjrbr25fp0h1glshhk";
+  buildDepends = [ gtk ];
+  buildTools = [ gtk2hsBuildtools ];
+  pkgconfigDepends = [ pkgs.gnome2.gtkglext pangox_compat ];
+  meta = {
+    homepage = "http://projects.haskell.org/gtk2hs/";
+    description = "Binding to the GTK+ OpenGL Extension";
+    license = self.stdenv.lib.licenses.lgpl21;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index a4b9069575d8..697207ceffb3 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -928,6 +928,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     libc = pkgs.stdenv.gcc.libc;
   };
 
+  gtkglext = callPackage ../development/libraries/haskell/gtkglext {};
+
   gtk2hsBuildtools = callPackage ../development/libraries/haskell/gtk2hs-buildtools {};
   gtk2hsC2hs = self.gtk2hsBuildtools;