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