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