diff options
Diffstat (limited to 'pkgs/desktops/gnome-3/core/mutter')
-rw-r--r-- | pkgs/desktops/gnome-3/core/mutter/default.nix | 42 | ||||
-rw-r--r-- | pkgs/desktops/gnome-3/core/mutter/math.patch | 10 | ||||
-rw-r--r-- | pkgs/desktops/gnome-3/core/mutter/src.nix | 10 | ||||
-rw-r--r-- | pkgs/desktops/gnome-3/core/mutter/x86.patch | 20 |
4 files changed, 82 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix new file mode 100644 index 000000000000..ebceb4ef706b --- /dev/null +++ b/pkgs/desktops/gnome-3/core/mutter/default.nix @@ -0,0 +1,42 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo +, pango, cogl, clutter, libstartup_notification, libcanberra_gtk2, zenity, libcanberra_gtk3 +, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libudev, libinput +, libgudev, xwayland }: + +stdenv.mkDerivation rec { + inherit (import ./src.nix fetchurl) name src; + + # fatal error: gio/gunixfdlist.h: No such file or directory + NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0 -Wno-error=format -Wno-error=sign-compare"; + + configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra --with-xwayland-path=${xwayland}/bin/Xwayland"; + + propagatedBuildInputs = [ + # required for pkgconfig to detect mutter-clutter + libXtst + ]; + + buildInputs = with gnome3; + [ pkgconfig intltool glib gobjectIntrospection gtk gsettings_desktop_schemas upower + gnome_desktop cairo pango cogl clutter zenity libstartup_notification libcanberra_gtk2 + gnome3.geocode_glib libudev libinput libgudev + libcanberra_gtk3 zenity libtool makeWrapper xkeyboard_config libxkbfile + libxkbcommon ]; + + preFixup = '' + wrapProgram "$out/bin/mutter" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + + patches = [ + ./x86.patch # ./math.patch + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = gnome3.maintainers; + }; + +} diff --git a/pkgs/desktops/gnome-3/core/mutter/math.patch b/pkgs/desktops/gnome-3/core/mutter/math.patch new file mode 100644 index 000000000000..dbdfd93f5e1d --- /dev/null +++ b/pkgs/desktops/gnome-3/core/mutter/math.patch @@ -0,0 +1,10 @@ +--- mutter-3.18.0/src/backends/meta-cursor-renderer.c.orig 2015-09-23 13:54:31.297523343 +0200 ++++ mutter-3.18.0/src/backends/meta-cursor-renderer.c 2015-09-23 13:54:43.728271766 +0200 +@@ -31,6 +31,7 @@ + + #include <cogl/cogl.h> + #include <clutter/clutter.h> ++#include <math.h> + + #include "meta-stage.h" + diff --git a/pkgs/desktops/gnome-3/core/mutter/src.nix b/pkgs/desktops/gnome-3/core/mutter/src.nix new file mode 100644 index 000000000000..579ee0689e87 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/mutter/src.nix @@ -0,0 +1,10 @@ +# Autogenerated by maintainers/scripts/gnome.sh update + +fetchurl: { + name = "mutter-3.24.4"; + + src = fetchurl { + url = mirror://gnome/sources/mutter/3.24/mutter-3.24.4.tar.xz; + sha256 = "7300b3fbf1bd0f7fe25e4869dd37134f2127bb6d9b8aa3aadd0eaf3c8bbf9aea"; + }; +} diff --git a/pkgs/desktops/gnome-3/core/mutter/x86.patch b/pkgs/desktops/gnome-3/core/mutter/x86.patch new file mode 100644 index 000000000000..93df1e7f2831 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/mutter/x86.patch @@ -0,0 +1,20 @@ +--- a/src/core/window.c 2015-05-26 10:52:41.382834963 +0200 ++++ b/src/core/window.c 2015-05-26 10:53:03.039948034 +0200 +@@ -3499,7 +3499,7 @@ + + static MetaMonitorInfo * + find_monitor_by_winsys_id (MetaWindow *window, +- guint winsys_id) ++ gint winsys_id) + { + int i; + +@@ -3618,7 +3618,7 @@ + */ + + gboolean did_placement; +- guint old_output_winsys_id; ++ gint old_output_winsys_id; + MetaRectangle unconstrained_rect; + MetaRectangle constrained_rect; + MetaMoveResizeResultFlags result = 0; |