···11+{ stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes
22+, libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib,
33+gobjectIntrospection
44+}:
55+66+let
77+ ver_maj = "1.24";
88+ ver_min = "0";
99+in
1010+stdenv.mkDerivation rec {
1111+ name = "clutter-${ver_maj}.${ver_min}";
1212+1313+ src = fetchurl {
1414+ url = "mirror://gnome/sources/clutter/${ver_maj}/${name}.tar.xz";
1515+ sha256 = "85c87d5745b97af7633776419a47421aae7cea66c1b870f88cc5e06a4c5626e6";
1616+ };
1717+1818+ nativeBuildInputs = [ pkgconfig ];
1919+ propagatedBuildInputs =
2020+ [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango
2121+ atk json_glib gobjectIntrospection
2222+ ];
2323+2424+ configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
2525+2626+ #doCheck = true; # no tests possible without a display
2727+2828+ meta = {
2929+ description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
3030+3131+ longDescription =
3232+ '' Clutter is free software library for creating fast, compelling,
3333+ portable, and dynamic graphical user interfaces. It is a core part
3434+ of MeeGo, and is supported by the open source community. Its
3535+ development is sponsored by Intel.
3636+3737+ Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use
3838+ on mobile and embedded platforms), but wraps an easy to use,
3939+ efficient, flexible API around GL's complexity.
4040+4141+ Clutter enforces no particular user interface style, but provides a
4242+ rich, generic foundation for higher-level toolkits tailored to
4343+ specific needs.
4444+ '';
4545+4646+ license = stdenv.lib.licenses.lgpl2Plus;
4747+ homepage = http://www.clutter-project.org/;
4848+4949+ maintainers = with stdenv.lib.maintainers; [ urkud lethalman ];
5050+ platforms = stdenv.lib.platforms.mesaPlatforms;
5151+ };
5252+}
+56
pkgs/development/libraries/cogl/1.22.nix
···11+{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
22+, pangoSupport ? true, pango, cairo, gobjectIntrospection
33+, gstreamerSupport ? true, gst_all_1 }:
44+55+let
66+ ver_maj = "1.22";
77+ ver_min = "0";
88+in
99+stdenv.mkDerivation rec {
1010+ name = "cogl-${ver_maj}.${ver_min}";
1111+1212+ src = fetchurl {
1313+ url = "mirror://gnome/sources/cogl/${ver_maj}/${name}.tar.xz";
1414+ sha256 = "689dfb5d14fc1106e9d2ded0f7930dcf7265d0bc84fa846b4f03941633eeaa91";
1515+ };
1616+1717+ nativeBuildInputs = [ pkgconfig ];
1818+1919+ configureFlags = [
2020+ "--enable-introspection"
2121+ "--enable-kms-egl-platform"
2222+ ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"
2323+ ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
2424+2525+ propagatedBuildInputs = with xorg; [
2626+ glib gdk_pixbuf gobjectIntrospection
2727+ mesa_noglu libXrandr libXfixes libXcomposite libXdamage
2828+ ]
2929+ ++ libintlOrEmpty
3030+ ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
3131+ gst_all_1.gst-plugins-base ];
3232+3333+ buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ];
3434+3535+ COGL_PANGO_DEP_CFLAGS
3636+ = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport)
3737+ "-I${pango}/include/pango-1.0 -I${cairo}/include/cairo";
3838+3939+ NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
4040+4141+ #doCheck = true; # all tests fail (no idea why)
4242+4343+ meta = with stdenv.lib; {
4444+ description = "A small open source library for using 3D graphics hardware for rendering";
4545+ maintainers = with maintainers; [ lovek323 ];
4646+4747+ longDescription = ''
4848+ Cogl is a small open source library for using 3D graphics hardware for
4949+ rendering. The API departs from the flat state machine style of OpenGL
5050+ and is designed to make it easy to write orthogonal components that can
5151+ render without stepping on each other's toes.
5252+ '';
5353+5454+ platforms = stdenv.lib.platforms.mesaPlatforms;
5555+ };
5656+}