summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/cogl/default.nix32
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 35 insertions, 1 deletions
diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
new file mode 100644
index 00000000000..e7ee3816210
--- /dev/null
+++ b/pkgs/development/libraries/cogl/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl_gnome, pkgconfig, mesa, glib, gdk_pixbuf
+, pangoSupport ? true, pango, cairo
+, libXfixes, libXcomposite, libXdamage, xz }:
+
+stdenv.mkDerivation rec {
+  name = src.pkgname;
+
+  src = fetchurl_gnome {
+    project = "cogl";
+    major = "1"; minor = "8"; patchlevel = "0"; extension = "xz";
+    sha256 = "0b0arg0sjky5y4ypgh8dpznd9f1azhi1d5rhf4zbcw2mkl91qmdi";
+  };
+
+  buildNativeInputs = [ xz pkgconfig ];
+
+  propagatedBuildInputs =
+    [ mesa glib gdk_pixbuf libXfixes libXcomposite libXdamage ];
+
+  buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ];
+
+  meta = {
+    description = "A small open source library for using 3D graphics hardware for rendering";
+    longDescription =
+      ''
+        Cogl is a small open source library for using 3D graphics hardware for
+        rendering. The API departs from the flat state machine style of OpenGL
+        and is designed to make it easy to write orthogonal components that can
+        render without stepping on each others toes.
+      '';
+    inherit (glib.meta) platforms;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a2998a50031..163cab87423 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3183,6 +3183,8 @@ let
 
   cminpack = callPackage ../development/libraries/cminpack { };
 
+  cogl = callPackage ../development/libraries/cogl { };
+
   coin3d = callPackage ../development/libraries/coin3d { };
 
   commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
@@ -3550,7 +3552,7 @@ let
 
   gtkLibs = pkgs.gtkLibs224;
 
-  inherit (pkgs.gtkLibs) glib gtk pango cairo;
+  inherit (pkgs.gtkLibs) glib gtk pango cairo gdk_pixbuf;
 
   gtkLibs1x = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs1x; in {