From cbd5317e821be4377e7348b80d044e889d7d9cc4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Sun, 18 Jul 2010 22:45:03 +0000
Subject: [PATCH] Add Clutter{,-GTK}, a library for fancy GUIs.

svn path=/nixpkgs/trunk/; revision=22648
---
 .../libraries/clutter-gtk/default.nix         | 25 +++++++++++
 .../development/libraries/clutter/default.nix | 44 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               | 11 +++++
 3 files changed, 80 insertions(+)
 create mode 100644 pkgs/development/libraries/clutter-gtk/default.nix
 create mode 100644 pkgs/development/libraries/clutter/default.nix

diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
new file mode 100644
index 000000000000..4d4aa4e835cb
--- /dev/null
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -0,0 +1,25 @@
+{ fetchurl, stdenv, pkgconfig, clutter, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "clutter-gtk-0.10.2";
+
+  src = fetchurl {
+    url = "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2";
+    sha256 = "1jdhhqin4wi8gk6i1m701vrhm6lrvywq3q3yy88ph8yj8h6z4any";
+  };
+
+  buildInputs = [ pkgconfig clutter gtk ];
+
+  preConfigure = "export V=1";
+
+  meta = {
+    description = "Clutter-GTK";
+
+    homepage = http://www.clutter-project.org/;
+
+    license = "LGPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
new file mode 100644
index 000000000000..f7f9507373dc
--- /dev/null
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -0,0 +1,44 @@
+{ fetchurl, stdenv, pkgconfig, mesa, libXi, libXfixes, libXdamage
+, libXcomposite, cairo, glib, pango, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "clutter-1.2.10";
+
+  src = fetchurl {
+    url = "http://source.clutter-project.org/sources/clutter/1.2/${name}.tar.gz";
+    sha256 = "0bdnj026lqmwpgml73q4r0v90gsksjz0nv2fgjda9619bzx47igi";
+  };
+
+  buildInputs = [ pkgconfig ];
+
+  # There are all listed in the `Requires' field of `clutter-x11-1.0.pc'.
+  propagatedBuildInputs =
+    [ mesa cairo glib pango gtk
+      libXi libXfixes libXdamage libXcomposite
+    ];
+
+
+  meta = {
+    description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
+
+    longDescription =
+      '' Clutter is free software library for creating fast, compelling,
+         portable, and dynamic graphical user interfaces.  It is a core part
+         of MeeGo, and is supported by the open source community.  Its
+         development is sponsored by Intel.
+
+         Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use
+         on mobile and embedded platforms), but wraps an easy to use,
+         efficient, flexible API around GL's complexity.
+
+         Clutter enforces no particular user interface style, but provides a
+         rich, generic foundation for higher-level toolkits tailored to
+         specific needs.
+      '';
+
+    license = "LGPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b43a5e59582b..6882cc225235 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3725,6 +3725,17 @@ let
     inherit fetchurl stdenv;
   };
 
+  clutter = import ../development/libraries/clutter {
+    inherit fetchurl stdenv pkgconfig mesa cairo;
+    inherit (gnome) glib pango gtk;
+    inherit (xorg) libXi libXfixes libXdamage libXcomposite;
+  };
+
+  clutter_gtk = import ../development/libraries/clutter-gtk {
+    inherit fetchurl stdenv pkgconfig clutter;
+    inherit (gnome) gtk;
+  };
+
   commoncpp2 = import ../development/libraries/commoncpp2 {
     inherit stdenv fetchurl;
   };