1{ stdenv, fetchurl, glib, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
2, libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib,
3gobjectIntrospection, gtk3, gnome3
4}:
5
6let
7 pname = "clutter";
8 version = "1.26.2";
9in
10stdenv.mkDerivation rec {
11 name = "${pname}-${version}";
12
13 src = fetchurl {
14 url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
15 sha256 = "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7";
16 };
17
18 buildInputs = [ gtk3 ];
19 nativeBuildInputs = [ pkgconfig ];
20 propagatedBuildInputs =
21 [ libX11 libGLU_combined libXext libXfixes libXdamage libXcomposite libXi cogl pango
22 atk json-glib gobjectIntrospection libxcb
23 ];
24
25 configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
26
27 #doCheck = true; # no tests possible without a display
28
29 passthru = {
30 updateScript = gnome3.updateScript {
31 packageName = pname;
32 };
33 };
34
35 meta = {
36 description = "Library for creating fast, dynamic graphical user interfaces";
37
38 longDescription =
39 '' Clutter is free software library for creating fast, compelling,
40 portable, and dynamic graphical user interfaces. It is a core part
41 of MeeGo, and is supported by the open source community. Its
42 development is sponsored by Intel.
43
44 Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use
45 on mobile and embedded platforms), but wraps an easy to use,
46 efficient, flexible API around GL's complexity.
47
48 Clutter enforces no particular user interface style, but provides a
49 rich, generic foundation for higher-level toolkits tailored to
50 specific needs.
51 '';
52
53 license = stdenv.lib.licenses.lgpl2Plus;
54 homepage = http://www.clutter-project.org/;
55
56 maintainers = with stdenv.lib.maintainers; [ lethalman ];
57 platforms = stdenv.lib.platforms.mesaPlatforms;
58 };
59}