diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix index e4752c7748be..71e32e074c8f 100644 --- a/pkgs/development/libraries/clutter-gst/default.nix +++ b/pkgs/development/libraries/clutter-gst/default.nix @@ -31,6 +31,6 @@ stdenv.mkDerivation rec { license = lib.licenses.lgpl2Plus; maintainers = with lib.maintainers; [ ]; - platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice + platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix index 7573da66c0d8..31743a8f6895 100644 --- a/pkgs/development/libraries/clutter-gtk/default.nix +++ b/pkgs/development/libraries/clutter-gtk/default.nix @@ -1,5 +1,14 @@ -{ fetchurl, lib, stdenv, pkg-config, meson, ninja -, gobject-introspection, clutter, gtk3, gnome }: +{ fetchurl +, lib +, stdenv +, pkg-config +, meson +, ninja +, gobject-introspection +, clutter +, gtk3 +, gnome +}: let pname = "clutter-gtk"; @@ -19,6 +28,12 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ clutter gtk3 ]; nativeBuildInputs = [ meson ninja pkg-config gobject-introspection ]; + postPatch = '' + # ld: malformed 32-bit x.y.z version number: =1 + substituteInPlace meson.build \ + --replace "host_system == 'darwin'" "false" + ''; + postBuild = "rm -rf $out/share/gtk-doc"; passthru = { @@ -33,6 +48,6 @@ stdenv.mkDerivation rec { homepage = "http://www.clutter-project.org/"; license = lib.licenses.lgpl2Plus; maintainers = with lib.maintainers; [ ]; - platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice + platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix index 2bf1162fe192..80c4187c951c 100644 --- a/pkgs/development/libraries/clutter/default.nix +++ b/pkgs/development/libraries/clutter/default.nix @@ -1,6 +1,26 @@ -{ lib, stdenv, fetchurl, pkg-config, libGLU, libGL, libX11, libXext, libXfixes -, libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib -, gobject-introspection, gtk3, gnome, libinput, libgudev, libxkbcommon +{ lib +, stdenv +, fetchurl +, pkg-config +, libGLU +, libGL +, libX11 +, libXext +, libXfixes +, libXdamage +, libXcomposite +, libXi +, libxcb +, cogl +, pango +, atk +, json-glib +, gobject-introspection +, gtk3 +, gnome +, libinput +, libgudev +, libxkbcommon }: let @@ -19,12 +39,34 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 ]; nativeBuildInputs = [ pkg-config gobject-introspection ]; - propagatedBuildInputs = - [ libX11 libGL libGLU libXext libXfixes libXdamage libXcomposite libXi cogl pango - atk json-glib gobject-introspection libxcb libinput libgudev libxkbcommon - ]; + propagatedBuildInputs = [ + cogl + pango + atk + json-glib + gobject-introspection + ] ++ lib.optionals (!stdenv.isDarwin) [ + libX11 + libGL + libGLU + libXext + libXfixes + libXdamage + libXcomposite + libXi + libxcb + libinput + libgudev + libxkbcommon + ]; - configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK + configureFlags = [ + "--enable-introspection" # needed by muffin AFAIK + ] ++ lib.optionals stdenv.isDarwin [ + "--without-x" + "--enable-x11-backend=no" + "--enable-quartz-backend=yes" + ]; #doCheck = true; # no tests possible without a display @@ -57,6 +99,6 @@ stdenv.mkDerivation rec { homepage = "http://www.clutter-project.org/"; maintainers = with lib.maintainers; [ ]; - platforms = lib.platforms.mesaPlatforms; + platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix index 7eef53e4c625..74f09ce29283 100644 --- a/pkgs/development/libraries/cogl/default.nix +++ b/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"; @@ -35,26 +55,46 @@ stdenv.mkDerivation rec { 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" + ]; # TODO: this shouldn't propagate so many things # especially not gobject-introspection - 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 ]; + 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) @@ -76,7 +116,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 ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4de359e3329c..09159320ed78 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18462,7 +18462,9 @@ with pkgs; coercer = callPackage ../tools/security/coercer { }; - cogl = callPackage ../development/libraries/cogl { }; + cogl = callPackage ../development/libraries/cogl { + inherit (darwin.apple_sdk.frameworks) OpenGL; + }; coin3d = callPackage ../development/libraries/coin3d { };