diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/cogl/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/cogl/default.nix | 90 |
1 files changed, 62 insertions, 28 deletions
diff --git a/nixpkgs/pkgs/development/libraries/cogl/default.nix b/nixpkgs/pkgs/development/libraries/cogl/default.nix index e58a500cf838..41aa3045841f 100644 --- a/nixpkgs/pkgs/development/libraries/cogl/default.nix +++ b/nixpkgs/pkgs/development/libraries/cogl/default.nix @@ -1,7 +1,27 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libGL, glib, gdk-pixbuf, xorg, libintl -, pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome -, mesa, automake, autoconf -, gstreamerSupport ? true, gst_all_1 }: +{ lib +, stdenv +, fetchurl +, fetchpatch +, pkg-config +, libGL +, glib +, gdk-pixbuf +, xorg +, libintl +, pangoSupport ? true +, pango +, cairo +, gobject-introspection +, wayland +, gnome +, mesa +, automake +, autoconf +, gstreamerSupport ? true +, gst_all_1 +, harfbuzz +, OpenGL +}: stdenv.mkDerivation rec { pname = "cogl"; @@ -17,42 +37,56 @@ stdenv.mkDerivation rec { # submitted by Fedora on the GNOME Bugzilla # (https://bugzilla.gnome.org/787443). Upstream thinks the patch # could be merged, but dev can not make a new release. - - (fetchpatch { - url = "https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=359589"; - sha256 = "0f0d9iddg8zwy853phh7swikg4yzhxxv71fcag36f8gis0j5p998"; - }) - - (fetchpatch { - url = "https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=361056"; - sha256 = "09fyrdci4727fg6qm5aaapsbv71sf4wgfaqz8jqlyy61dibgg490"; - }) + ./patches/gnome_bugzilla_787443_359589_deepin.patch + ./patches/gnome_bugzilla_787443_361056_deepin.patch ]; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ pkg-config libintl automake autoconf ]; + nativeBuildInputs = [ pkg-config libintl automake autoconf gobject-introspection ]; configureFlags = [ "--enable-introspection" + ] ++ lib.optionals (!stdenv.isDarwin) [ "--enable-kms-egl-platform" "--enable-wayland-egl-platform" "--enable-wayland-egl-server" - ] ++ lib.optional gstreamerSupport "--enable-cogl-gst" - ++ lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ]; + "--enable-gles1" + "--enable-gles2" + ] ++ lib.optionals stdenv.isDarwin [ + "--disable-glx" + "--without-x" + ] ++ lib.optionals gstreamerSupport [ + "--enable-cogl-gst" + ]; - propagatedBuildInputs = with xorg; [ - glib gdk-pixbuf gobject-introspection wayland mesa - libGL libXrandr libXfixes libXcomposite libXdamage - ] - ++ lib.optionals gstreamerSupport [ gst_all_1.gstreamer - gst_all_1.gst-plugins-base ]; + # TODO: this shouldn't propagate so many things + # especially not gobject-introspection + propagatedBuildInputs = [ + glib + gdk-pixbuf + gobject-introspection + ] ++ lib.optionals stdenv.isLinux [ + wayland + mesa + libGL + xorg.libXrandr + xorg.libXfixes + xorg.libXcomposite + xorg.libXdamage + ] ++ lib.optionals gstreamerSupport [ + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + ]; - buildInputs = lib.optionals pangoSupport [ pango cairo ]; + buildInputs = lib.optionals pangoSupport [ pango cairo harfbuzz ] + ++ lib.optionals stdenv.isDarwin [ OpenGL ]; - COGL_PANGO_DEP_CFLAGS - = lib.optionalString (stdenv.isDarwin && pangoSupport) - "-I${pango.dev}/include/pango-1.0 -I${cairo.dev}/include/cairo"; + COGL_PANGO_DEP_CFLAGS = toString (lib.optionals (stdenv.isDarwin && pangoSupport) [ + "-I${pango.dev}/include/pango-1.0" + "-I${cairo.dev}/include/cairo" + "-I${harfbuzz.dev}/include/harfbuzz" + ]); #doCheck = true; # all tests fail (no idea why) @@ -74,7 +108,7 @@ stdenv.mkDerivation rec { render without stepping on each other's toes. ''; - platforms = platforms.mesaPlatforms; + platforms = platforms.unix; license = with licenses; [ mit bsd3 publicDomain sgi-b-20 ]; }; } |