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