summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2014-11-19 11:49:04 +0000
committerKoop Mast <kwm@FreeBSD.org>2014-11-19 11:49:04 +0000
commitaf3811313c14afb06fe2d1f6158e3e431bbfc2b6 (patch)
tree1ad98a4e8faecd0e2fa9ac2c18e65da4cf89c236 /x11-wm
parentc7d4d6bd7ef6ff4955eab2863a5c6e2feb14b839 (diff)
downloadfreebsd-ports-af3811313c14afb06fe2d1f6158e3e431bbfc2b6.zip
The FreeBSD GNOME team proudly presents GNOME 3.14 and Cinnamon 2.2.
Gnome 3.14.1 and Cinnamon 2.2.16 are supported on FreeBSD 9.3-RELEASE and up. This commit removes the old GNOME 2 desktop, bindings and some ports that can't be compiled. A few ports where updated to more recent versions to allow them to compile with this update. Apart from updating ports to newer versions GDM is more integrated with gnome-shell now, and handles several things for the GNOME desktop such as screen locking. If you want to use GNOME 3 via startx, you will have to add your own lock screen/screensaver. For example xscreensaver can be used for sessions started without GDM. Shell Extensions can be installed via https://extensions.gnome.org/ , we have ported a few that can't be installed via this way. The old gnome-utils and gnome-games ports where split up into single ports and where converted to meta-ports. gnome-terminal requires a UTF-8 locale to run, gdm handles this already, but if you use startx you need to do this yourself. Upgrade instructions: Delete the old and conflicting packages: # pkg delete clutter gnome-utils gnome-panel gnome-keyring vala-vapigen \ guile gcalctool gnome-media libgnomekbd # pkg delete gnome-screensaver gnome-applets bug-buddy evolution-exchange \ evolution-webcal gnome-system-tools seahorse-plugins gnome-control-center For package users the following lines will be enough: # pkg upgrade # pkg install gnome3 For ports users should do the following: # portmaster -a # portmaster x11/gnome3 We are currently aware of two issues. The first issue is a bug in the file monitoring code in the glib20 port. This bug causes glib programs to crash when files in a monitored directory are added or removed. Upstream is aware of the problem, but since the problem is quite complex there is no solution yet. This problem isn't restricted to BSD. The second issue is that on certain video cards totem will display a purple/pink overlay on the video. It not clear yet where the issues comes from. Major thanks goes to Gustau Perez for being a driving force behind getting GNOME 3 up to speed again. Also thanks to Antoine Brodin for running the exp-runs. This update was also made possible by: Joe Maloney Kris Moore Beeblebrox Ryan Lortie Antoine Jacoutot and everyone I missed
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/Makefile1
-rw-r--r--x11-wm/metacity/Makefile32
-rw-r--r--x11-wm/metacity/distinfo4
-rw-r--r--x11-wm/metacity/files/patch-bugzilla_588119139
-rw-r--r--x11-wm/metacity/files/patch-configure11
-rw-r--r--x11-wm/metacity/files/patch-src_core_delete.c10
-rw-r--r--x11-wm/metacity/files/patch-src_core_main.c14
-rw-r--r--x11-wm/metacity/pkg-plist99
-rw-r--r--x11-wm/muffin/Makefile49
-rw-r--r--x11-wm/muffin/distinfo2
-rw-r--r--x11-wm/muffin/files/patch-src_core_main.c (renamed from x11-wm/mutter/files/patch-src_core_main.c)0
-rw-r--r--x11-wm/muffin/pkg-descr9
-rw-r--r--x11-wm/muffin/pkg-plist136
-rw-r--r--x11-wm/mutter/Makefile66
-rw-r--r--x11-wm/mutter/distinfo4
-rw-r--r--x11-wm/mutter/files/extra-488dd0b245
-rw-r--r--x11-wm/mutter/files/patch-src_Makefile.in11
-rw-r--r--x11-wm/mutter/pkg-descr2
-rw-r--r--x11-wm/mutter/pkg-plist176
-rw-r--r--x11-wm/plank/Makefile2
20 files changed, 624 insertions, 388 deletions
diff --git a/x11-wm/Makefile b/x11-wm/Makefile
index ff68cec97d0a..bc0c1cf6ba15 100644
--- a/x11-wm/Makefile
+++ b/x11-wm/Makefile
@@ -111,6 +111,7 @@
SUBDIR += matwm2
SUBDIR += mcwm
SUBDIR += metacity
+ SUBDIR += muffin
SUBDIR += musca
SUBDIR += mutter
SUBDIR += nickleby
diff --git a/x11-wm/metacity/Makefile b/x11-wm/metacity/Makefile
index 462af5e089d0..94d6747861b6 100644
--- a/x11-wm/metacity/Makefile
+++ b/x11-wm/metacity/Makefile
@@ -1,36 +1,34 @@
# Created by: Garrett Rooney <rooneg@electricjellyfish.net>
# $FreeBSD$
-# $MCom: ports/x11-wm/metacity/Makefile,v 1.158 2010/09/30 07:04:02 kwm Exp $
+# $MCom: ports/trunk/x11-wm/metacity/Makefile 20004 2014-10-20 14:11:09Z gusi $
PORTNAME= metacity
-PORTVERSION= 2.30.3
-PORTREVISION= 2
+PORTVERSION= 3.14.1
CATEGORIES= x11-wm
MASTER_SITES= GNOME
-DIST_SUBDIR= gnome2
+DIST_SUBDIR= gnome3
MAINTAINER= gnome@FreeBSD.org
COMMENT= Window manager for the adult in you
-BUILD_DEPENDS= zenity:${PORTSDIR}/x11/zenity
+BUILD_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity \
+ itstool:${PORTSDIR}/textproc/itstool \
+ gsettings-desktop-schemas>=3.3.0:${PORTSDIR}/devel/gsettings-desktop-schemas
LIB_DEPENDS= libstartup-notification-1.so:${PORTSDIR}/x11/startup-notification \
- libcanberra-gtk.so:${PORTSDIR}/audio/libcanberra
-RUN_DEPENDS= zenity:${PORTSDIR}/x11/zenity
+ libgtop-2.0.so:${PORTSDIR}/devel/libgtop \
+ libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3
+RUN_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity \
+ gsettings-desktop-schemas>=3.3.0:${PORTSDIR}/devel/gsettings-desktop-schemas
-USE_XORG= x11 xcomposite xdamage
-USES= gettext gmake libtool:keepla pathfix pkgconfig tar:bzip2
-INSTALL_TARGET= install-strip
+USE_XORG= x11 xcomposite xdamage xrender xcursor xinerama xext xrandr
+USES= gettext gmake libtool pathfix pkgconfig tar:xz
GNU_CONFIGURE= yes
-USE_GNOME= gnomeprefix intlhack gconf2 gtk20
+USE_GNOME= gnomeprefix gtk30 intlhack libxml2:build
USE_LDCONFIG= yes
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-MAKE_ENV= G_CHARSET_ALIAS="${LOCALBASE}/libdata/charset.alias"
-
-GCONF_SCHEMAS= metacity.schemas
+INSTALL_TARGET= install-strip
-post-patch:
- @${REINPLACE_CMD} -e 's|-Werror||g' \
- ${WRKSRC}/configure
+GLIB_SCHEMAS= org.gnome.metacity.gschema.xml
.include <bsd.port.mk>
diff --git a/x11-wm/metacity/distinfo b/x11-wm/metacity/distinfo
index 90104c11848d..2824673470bf 100644
--- a/x11-wm/metacity/distinfo
+++ b/x11-wm/metacity/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gnome2/metacity-2.30.3.tar.bz2) = 08f887018fa5e447cf184d03bae3fe2c05fdb7583bed6768e3b4d66392fc18dd
-SIZE (gnome2/metacity-2.30.3.tar.bz2) = 2358537
+SHA256 (gnome3/metacity-3.14.1.tar.xz) = 1a4ebf77478fd948f62aa3df26cf7fa9bd9a2c2a98c30d3bcdf7dd8e1cf3d6f4
+SIZE (gnome3/metacity-3.14.1.tar.xz) = 1610500
diff --git a/x11-wm/metacity/files/patch-bugzilla_588119 b/x11-wm/metacity/files/patch-bugzilla_588119
deleted file mode 100644
index 823c111ab58c..000000000000
--- a/x11-wm/metacity/files/patch-bugzilla_588119
+++ /dev/null
@@ -1,139 +0,0 @@
-From a3de65d5d1861f755ced7cad291fbbd4f1b8ef51 Mon Sep 17 00:00:00 2001
-From: Owen W. Taylor <otaylor@fishsoup.net>
-Date: Sat, 22 Aug 2009 15:00:57 -0400
-Subject: [PATCH] Should set RestartStyleHint to RestartIfRunning when replaced
-
-This reverts most of commit abbd057eb967e6ab462ffe305f41b2b04d417b25;
-
- - It's fine to call meta_session_shutdown() after the display
- is closed, since it's talking over the ICE connection
- - We should not call warn_about_lame_clients_and_finish_interact()
- unless we are interacting with the window manager in a session
- save.
-
-However, the part of abbd057 that fixed accessing freed memory was
-fixing a real problem; this patches does the same thing in a simpler
-way by fixing an obvious type in meta_display_close() where it was
-NULL'ing out the local variable 'display' rather than the global
-variable 'the_display' and adding keeping the check in meta_finalize()
-that was added in abbd057.
-
-The order of calling meta_session_shutdown() and
-calling meta_display_close() is reverted back to the old order to
-make it clear that it's OK if the display way already closed previously.
-
-http://bugzilla.gnome.org/show_bug.cgi?id=588119
----
- src/core/display-private.h | 2 +-
- src/core/display.c | 16 ++++------------
- src/core/main.c | 5 ++---
- src/core/session.c | 8 --------
- 4 files changed, 7 insertions(+), 24 deletions(-)
-
-diff --git a/src/core/display-private.h b/src/core/display-private.h
-index 19287f3..9c8ebc6 100644
---- src/core/display-private.h
-+++ src/core/display-private.h
-@@ -329,7 +329,7 @@ MetaScreen* meta_display_screen_for_xwindow (MetaDisplay *display,
- void meta_display_grab (MetaDisplay *display);
- void meta_display_ungrab (MetaDisplay *display);
-
--void meta_display_unmanage_screen (MetaDisplay **display,
-+void meta_display_unmanage_screen (MetaDisplay *display,
- MetaScreen *screen,
- guint32 timestamp);
-
-diff --git a/src/core/display.c b/src/core/display.c
-index 55c374a..8e35a35 100644
---- src/core/display.c
-+++ src/core/display.c
-@@ -926,7 +926,7 @@ meta_display_close (MetaDisplay *display,
- meta_compositor_destroy (display->compositor);
-
- g_free (display);
-- display = NULL;
-+ the_display = NULL;
-
- meta_quit (META_EXIT_SUCCESS);
- }
-@@ -4762,13 +4762,10 @@ process_selection_clear (MetaDisplay *display,
- meta_verbose ("Got selection clear for screen %d on display %s\n",
- screen->number, display->name);
-
-- meta_display_unmanage_screen (&display,
-+ meta_display_unmanage_screen (display,
- screen,
- event->xselectionclear.time);
-
-- if (!display)
-- the_display = NULL;
--
- /* display and screen may both be invalid memory... */
-
- return;
-@@ -4790,12 +4787,10 @@ process_selection_clear (MetaDisplay *display,
- }
-
- void
--meta_display_unmanage_screen (MetaDisplay **displayp,
-+meta_display_unmanage_screen (MetaDisplay *display,
- MetaScreen *screen,
- guint32 timestamp)
- {
-- MetaDisplay *display = *displayp;
--
- meta_verbose ("Unmanaging screen %d on display %s\n",
- screen->number, display->name);
-
-@@ -4805,10 +4800,7 @@ meta_display_unmanage_screen (MetaDisplay **displayp,
- display->screens = g_slist_remove (display->screens, screen);
-
- if (display->screens == NULL)
-- {
-- meta_display_close (display, timestamp);
-- *displayp = NULL;
-- }
-+ meta_display_close (display, timestamp);
- }
-
- void
-diff --git a/src/core/main.c b/src/core/main.c
-index a36a396..44d317e 100644
---- src/core/main.c
-+++ src/core/main.c
-@@ -361,12 +361,11 @@ static void
- meta_finalize (void)
- {
- MetaDisplay *display = meta_get_display();
--
-- meta_session_shutdown ();
--
- if (display)
- meta_display_close (display,
- CurrentTime); /* I doubt correct timestamps matter here */
-+
-+ meta_session_shutdown ();
- }
-
- static void
-diff --git a/src/core/session.c b/src/core/session.c
-index 7e3b389..0d69350 100644
---- src/core/session.c
-+++ src/core/session.c
-@@ -376,14 +376,6 @@ meta_session_shutdown (void)
- SmProp *props[1];
- char hint = SmRestartIfRunning;
-
-- if (!meta_get_display ())
-- {
-- meta_verbose ("Cannot close session because there is no display");
-- return;
-- }
--
-- warn_about_lame_clients_and_finish_interact (FALSE);
--
- if (session_connection == NULL)
- return;
-
---
-1.6.4
diff --git a/x11-wm/metacity/files/patch-configure b/x11-wm/metacity/files/patch-configure
deleted file mode 100644
index 223d0af9ecf9..000000000000
--- a/x11-wm/metacity/files/patch-configure
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.orig 2010-04-01 13:44:38.000000000 +0200
-+++ configure 2010-04-01 13:45:49.000000000 +0200
-@@ -24238,7 +24238,7 @@
- "
-
- METACITY_MINOR_VERSION=30
--if test $(( $(echo $METACITY_MINOR_VERSION) %2)) == "1"; then
-+if test $(( $(echo $METACITY_MINOR_VERSION) %2)) = "1"; then
- stable_version=$(( ($METACITY_MINOR_VERSION / 2) * 2))
- echo "This is the UNSTABLE branch of metacity"
- echo -n "Use 2.$stable_version.x for stable "
diff --git a/x11-wm/metacity/files/patch-src_core_delete.c b/x11-wm/metacity/files/patch-src_core_delete.c
deleted file mode 100644
index c72b0f60ae0e..000000000000
--- a/x11-wm/metacity/files/patch-src_core_delete.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/core/delete.c.orig 2010-01-30 18:56:27.000000000 -0500
-+++ src/core/delete.c 2010-01-30 18:56:53.000000000 -0500
-@@ -32,6 +32,7 @@
- #include "workspace.h"
-
- #include <sys/types.h>
-+#include <sys/wait.h>
- #include <signal.h>
- #include <unistd.h>
- #include <errno.h>
diff --git a/x11-wm/metacity/files/patch-src_core_main.c b/x11-wm/metacity/files/patch-src_core_main.c
deleted file mode 100644
index 2d5171e5deda..000000000000
--- a/x11-wm/metacity/files/patch-src_core_main.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/core/main.c.orig 2010-01-21 11:09:25.000000000 -0500
-+++ src/core/main.c 2010-01-30 18:53:17.000000000 -0500
-@@ -58,7 +58,11 @@
-
- #include <stdlib.h>
- #include <sys/types.h>
-+#ifdef __linux__
- #include <wait.h>
-+#else
-+#include <sys/wait.h>
-+#endif
- #include <stdio.h>
- #include <string.h>
- #include <signal.h>
diff --git a/x11-wm/metacity/pkg-plist b/x11-wm/metacity/pkg-plist
index cc2bc20dc44d..0426b2f27e3b 100644
--- a/x11-wm/metacity/pkg-plist
+++ b/x11-wm/metacity/pkg-plist
@@ -2,28 +2,30 @@ bin/metacity
bin/metacity-message
bin/metacity-theme-viewer
bin/metacity-window-demo
-include/metacity-1/metacity-private/boxes.h
-include/metacity-1/metacity-private/common.h
-include/metacity-1/metacity-private/gradient.h
-include/metacity-1/metacity-private/preview-widget.h
-include/metacity-1/metacity-private/theme-parser.h
-include/metacity-1/metacity-private/theme.h
-include/metacity-1/metacity-private/util.h
+include/metacity/metacity-private/boxes.h
+include/metacity/metacity-private/common.h
+include/metacity/metacity-private/gradient.h
+include/metacity/metacity-private/preview-widget.h
+include/metacity/metacity-private/theme-parser.h
+include/metacity/metacity-private/theme.h
+include/metacity/metacity-private/util.h
lib/libmetacity-private.a
-lib/libmetacity-private.la
lib/libmetacity-private.so
-lib/libmetacity-private.so.0
-lib/libmetacity-private.so.0.0.0
+lib/libmetacity-private.so.2
+lib/libmetacity-private.so.2.0.0
libdata/pkgconfig/libmetacity-private.pc
man/man1/metacity-message.1.gz
man/man1/metacity-theme-viewer.1.gz
man/man1/metacity-window-demo.1.gz
man/man1/metacity.1.gz
+share/GConf/gsettings/metacity-schemas.convert
share/applications/metacity.desktop
-share/gnome-control-center/keybindings/50-metacity-desktop-key.xml
-share/gnome-control-center/keybindings/50-metacity-key.xml
-share/gnome/help/creating-metacity-themes/C/creating-metacity-themes.xml
+share/gnome-control-center/keybindings/50-metacity-navigation.xml
+share/gnome-control-center/keybindings/50-metacity-system.xml
+share/gnome-control-center/keybindings/50-metacity-windows.xml
share/gnome/wm-properties/metacity-wm.desktop
+share/help/C/creating-metacity-themes/index.docbook
+share/help/de/creating-metacity-themes/index.docbook
share/locale/am/LC_MESSAGES/metacity.mo
share/locale/ar/LC_MESSAGES/metacity.mo
share/locale/as/LC_MESSAGES/metacity.mo
@@ -109,6 +111,7 @@ share/locale/te/LC_MESSAGES/metacity.mo
share/locale/th/LC_MESSAGES/metacity.mo
share/locale/tk/LC_MESSAGES/metacity.mo
share/locale/tr/LC_MESSAGES/metacity.mo
+share/locale/ug/LC_MESSAGES/metacity.mo
share/locale/uk/LC_MESSAGES/metacity.mo
share/locale/vi/LC_MESSAGES/metacity.mo
share/locale/wa/LC_MESSAGES/metacity.mo
@@ -220,73 +223,3 @@ share/themes/Simple/metacity-1/maximize.png
share/themes/Simple/metacity-1/maximized.png
share/themes/Simple/metacity-1/metacity-theme-1.xml
share/themes/Simple/metacity-1/minimize.png
-@dirrm share/themes/Simple/metacity-1
-@dirrmtry share/themes/Simple
-@dirrm share/themes/Metabox/metacity-1
-@dirrmtry share/themes/Metabox
-@dirrm share/themes/Esco/metacity-1
-@dirrmtry share/themes/Esco
-@dirrm share/themes/Crux/metacity-1
-@dirrmtry share/themes/Crux
-@dirrm share/themes/Bright/metacity-1
-@dirrmtry share/themes/Bright
-@dirrm share/themes/Atlanta/metacity-1
-@dirrmtry share/themes/Atlanta
-@dirrm share/themes/AgingGorilla/metacity-1
-@dirrmtry share/themes/AgingGorilla
-@dirrm %%DATADIR%%/icons
-@dirrm %%DATADIR%%
-@dirrm share/gnome/help/creating-metacity-themes/C
-@dirrm share/gnome/help/creating-metacity-themes
-@dirrm include/metacity-1/metacity-private
-@dirrm include/metacity-1
-@dirrmtry share/locale/zh_HK/LC_MESSAGES
-@dirrmtry share/locale/zh_HK
-@dirrmtry share/locale/yo/LC_MESSAGES
-@dirrmtry share/locale/yo
-@dirrmtry share/locale/xh/LC_MESSAGES
-@dirrmtry share/locale/xh
-@dirrmtry share/locale/te/LC_MESSAGES
-@dirrmtry share/locale/te
-@dirrmtry share/locale/sr@latin/LC_MESSAGES
-@dirrmtry share/locale/sr@latin
-@dirrmtry share/locale/si/LC_MESSAGES
-@dirrmtry share/locale/si
-@dirrmtry share/locale/rw/LC_MESSAGES
-@dirrmtry share/locale/rw
-@dirrmtry share/locale/oc/LC_MESSAGES
-@dirrmtry share/locale/oc
-@dirrmtry share/locale/nds/LC_MESSAGES
-@dirrmtry share/locale/nds
-@dirrmtry share/locale/mr/LC_MESSAGES
-@dirrmtry share/locale/mr
-@dirrmtry share/locale/mg/LC_MESSAGES
-@dirrmtry share/locale/mg
-@dirrmtry share/locale/mai/LC_MESSAGES
-@dirrmtry share/locale/mai
-@dirrmtry share/locale/la/LC_MESSAGES
-@dirrmtry share/locale/la
-@dirrmtry share/locale/ku/LC_MESSAGES
-@dirrmtry share/locale/ku
-@dirrmtry share/locale/ig/LC_MESSAGES
-@dirrmtry share/locale/ig
-@dirrmtry share/locale/hy/LC_MESSAGES
-@dirrmtry share/locale/hy
-@dirrmtry share/locale/ha/LC_MESSAGES
-@dirrmtry share/locale/ha
-@dirrmtry share/locale/en@shaw/LC_MESSAGES
-@dirrmtry share/locale/en@shaw
-@dirrmtry share/locale/dz/LC_MESSAGES
-@dirrmtry share/locale/dz
-@dirrmtry share/locale/crh/LC_MESSAGES
-@dirrmtry share/locale/crh
-@dirrmtry share/locale/ca@valencia/LC_MESSAGES
-@dirrmtry share/locale/ca@valencia
-@dirrmtry share/locale/bn_IN/LC_MESSAGES
-@dirrmtry share/locale/bn_IN
-@dirrmtry share/locale/be@latin/LC_MESSAGES
-@dirrmtry share/locale/be@latin
-@dirrmtry share/locale/ast/LC_MESSAGES
-@dirrmtry share/locale/ast
-@dirrmtry share/locale/as/LC_MESSAGES
-@dirrmtry share/locale/as
diff --git a/x11-wm/muffin/Makefile b/x11-wm/muffin/Makefile
new file mode 100644
index 000000000000..ccc204f8c990
--- /dev/null
+++ b/x11-wm/muffin/Makefile
@@ -0,0 +1,49 @@
+# Created by: Gustau Perez i Querol <gustau.perez@gmail.com>
+# $FreeBSD$
+# $MCom: ports/trunk/x11-wm/muffin/Makefile 20031 2014-11-02 21:47:55Z kwm $
+
+PORTNAME= muffin
+PORTVERSION= 2.2.6
+PORTREVISION= 1
+CATEGORIES= x11-wm gnome
+MASTER_SITES= http://github.com/linuxmint/${PORTNAME}/archive/${PORTVERSION}.tar.gz?dummy=/
+DIST_SUBDIR= gnome3
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Compositing window manager forked from Mutter for use with Cinnamon
+
+BUILD_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity \
+ gnome-autogen.sh:${PORTSDIR}/devel/gnome-common \
+ gsettings-desktop-schemas>=3.4.0:${PORTSDIR}/devel/gsettings-desktop-schemas
+LIB_DEPENDS= libstartup-notification-1.so:${PORTSDIR}/x11/startup-notification \
+ libclutter-glx-1.0.so:${PORTSDIR}/graphics/clutter \
+ libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3 \
+ libcinnamon-desktop.so:${PORTSDIR}/x11/cinnamon-desktop
+RUN_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity
+
+USES= autoreconf:build execinfo gettext libtool gmake \
+ pathfix pkgconfig python:2
+USE_GNOME= gconf2 gnomedocutils gnomeprefix gtk30 \
+ intlhack introspection:build
+USE_XORG= x11 xext xrandr xcomposite xcursor xinerama ice sm
+USE_LDCONFIG= yes
+USE_CSTD= gnu89
+GNU_CONFIGURE= yes
+CPPFLAGS+= -I${LOCALBASE}/include -Wno-error=unused-function
+CFLAGS+= -I${LOCALBASE}/include -Wno-error=unused-function
+LDFLAGS+= -L${LOCALBASE}/lib
+PATHFIX_MAKEFILEIN= Makefile.am
+CONFIGURE_ENV= LIBS="-lexecinfo"
+CONFIGURE_ARGS= --enable-compile-warnings=maximum
+MAKE_ARGS= V=1
+GLIB_SCHEMAS= org.cinnamon.muffin.gschema.xml
+INSTALL_TARGET= install-strip
+
+pre-configure:
+ @cd ${WRKSRC} && ${SETENV} NOCONFIGURE=yes ${SH} autogen.sh
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|REQUIRED_AUTOMAKE_VERSION=1.10|REQUIRED_AUTOMAKE_VERSION=1.14|g' \
+ ${WRKSRC}/autogen.sh
+
+.include <bsd.port.mk>
diff --git a/x11-wm/muffin/distinfo b/x11-wm/muffin/distinfo
new file mode 100644
index 000000000000..0331b5e92b60
--- /dev/null
+++ b/x11-wm/muffin/distinfo
@@ -0,0 +1,2 @@
+SHA256 (gnome3/muffin-2.2.6.tar.gz) = 5617504f5f8ecaf53268787728e6b7bf5da1514d9bc538dd0c047d467cca9ccf
+SIZE (gnome3/muffin-2.2.6.tar.gz) = 2705497
diff --git a/x11-wm/mutter/files/patch-src_core_main.c b/x11-wm/muffin/files/patch-src_core_main.c
index a248e943ac3b..a248e943ac3b 100644
--- a/x11-wm/mutter/files/patch-src_core_main.c
+++ b/x11-wm/muffin/files/patch-src_core_main.c
diff --git a/x11-wm/muffin/pkg-descr b/x11-wm/muffin/pkg-descr
new file mode 100644
index 000000000000..17ce72bcfb58
--- /dev/null
+++ b/x11-wm/muffin/pkg-descr
@@ -0,0 +1,9 @@
+Muffin is a minimal X window manager aimed at nontechnical users and is
+designed to integrate well with the GNOME desktop. Muffin lacks some
+features that may be expected by traditional UNIX or other technical
+users; these users may want to investigate other available window man-
+agers for use with GNOME or standalone.
+
+Based on Mutter 3.2.1
+
+WWW: http://cinnamon.linuxmint.com/
diff --git a/x11-wm/muffin/pkg-plist b/x11-wm/muffin/pkg-plist
new file mode 100644
index 000000000000..7817f3093d44
--- /dev/null
+++ b/x11-wm/muffin/pkg-plist
@@ -0,0 +1,136 @@
+bin/muffin
+bin/muffin-message
+bin/muffin-theme-viewer
+bin/muffin-window-demo
+include/muffin/meta/atomnames.h
+include/muffin/meta/boxes.h
+include/muffin/meta/common.h
+include/muffin/meta/compositor-muffin.h
+include/muffin/meta/compositor.h
+include/muffin/meta/display.h
+include/muffin/meta/errors.h
+include/muffin/meta/gradient.h
+include/muffin/meta/group.h
+include/muffin/meta/keybindings.h
+include/muffin/meta/main.h
+include/muffin/meta/meta-background-actor.h
+include/muffin/meta/meta-plugin.h
+include/muffin/meta/meta-shadow-factory.h
+include/muffin/meta/meta-shaped-texture.h
+include/muffin/meta/meta-window-actor.h
+include/muffin/meta/prefs.h
+include/muffin/meta/preview-widget.h
+include/muffin/meta/screen.h
+include/muffin/meta/theme.h
+include/muffin/meta/types.h
+include/muffin/meta/util.h
+include/muffin/meta/window.h
+include/muffin/meta/workspace.h
+lib/libmuffin.a
+lib/libmuffin.so
+lib/libmuffin.so.0
+lib/libmuffin.so.0.0.0
+lib/muffin/Meta-Muffin.0.gir
+lib/muffin/Meta-Muffin.0.typelib
+lib/muffin/plugins/default.so
+libdata/pkgconfig/libmuffin.pc
+libdata/pkgconfig/muffin-plugins.pc
+man/man1/muffin-message.1.gz
+man/man1/muffin-theme-viewer.1.gz
+man/man1/muffin-window-demo.1.gz
+man/man1/muffin.1.gz
+share/applications/muffin.desktop
+share/GConf/gsettings/muffin-schemas.convert
+share/locale/am/LC_MESSAGES/muffin.mo
+share/locale/ar/LC_MESSAGES/muffin.mo
+share/locale/as/LC_MESSAGES/muffin.mo
+share/locale/ast/LC_MESSAGES/muffin.mo
+share/locale/az/LC_MESSAGES/muffin.mo
+share/locale/be/LC_MESSAGES/muffin.mo
+share/locale/be@latin/LC_MESSAGES/muffin.mo
+share/locale/bg/LC_MESSAGES/muffin.mo
+share/locale/bn/LC_MESSAGES/muffin.mo
+share/locale/bn_IN/LC_MESSAGES/muffin.mo
+share/locale/br/LC_MESSAGES/muffin.mo
+share/locale/bs/LC_MESSAGES/muffin.mo
+share/locale/ca/LC_MESSAGES/muffin.mo
+share/locale/ca@valencia/LC_MESSAGES/muffin.mo
+share/locale/cs/LC_MESSAGES/muffin.mo
+share/locale/cy/LC_MESSAGES/muffin.mo
+share/locale/da/LC_MESSAGES/muffin.mo
+share/locale/de/LC_MESSAGES/muffin.mo
+share/locale/dz/LC_MESSAGES/muffin.mo
+share/locale/el/LC_MESSAGES/muffin.mo
+share/locale/en_CA/LC_MESSAGES/muffin.mo
+share/locale/en_GB/LC_MESSAGES/muffin.mo
+share/locale/eo/LC_MESSAGES/muffin.mo
+share/locale/es/LC_MESSAGES/muffin.mo
+share/locale/et/LC_MESSAGES/muffin.mo
+share/locale/eu/LC_MESSAGES/muffin.mo
+share/locale/fa/LC_MESSAGES/muffin.mo
+share/locale/fi/LC_MESSAGES/muffin.mo
+share/locale/fr/LC_MESSAGES/muffin.mo
+share/locale/ga/LC_MESSAGES/muffin.mo
+share/locale/gl/LC_MESSAGES/muffin.mo
+share/locale/gu/LC_MESSAGES/muffin.mo
+share/locale/ha/LC_MESSAGES/muffin.mo
+share/locale/he/LC_MESSAGES/muffin.mo
+share/locale/hi/LC_MESSAGES/muffin.mo
+share/locale/hr/LC_MESSAGES/muffin.mo
+share/locale/hu/LC_MESSAGES/muffin.mo
+share/locale/hy/LC_MESSAGES/muffin.mo
+share/locale/id/LC_MESSAGES/muffin.mo
+share/locale/ig/LC_MESSAGES/muffin.mo
+share/locale/is/LC_MESSAGES/muffin.mo
+share/locale/it/LC_MESSAGES/muffin.mo
+share/locale/ja/LC_MESSAGES/muffin.mo
+share/locale/ka/LC_MESSAGES/muffin.mo
+share/locale/kn/LC_MESSAGES/muffin.mo
+share/locale/ko/LC_MESSAGES/muffin.mo
+share/locale/ku/LC_MESSAGES/muffin.mo
+share/locale/la/LC_MESSAGES/muffin.mo
+share/locale/lt/LC_MESSAGES/muffin.mo
+share/locale/lv/LC_MESSAGES/muffin.mo
+share/locale/mai/LC_MESSAGES/muffin.mo
+share/locale/mg/LC_MESSAGES/muffin.mo
+share/locale/mk/LC_MESSAGES/muffin.mo
+share/locale/ml/LC_MESSAGES/muffin.mo
+share/locale/mn/LC_MESSAGES/muffin.mo
+share/locale/mr/LC_MESSAGES/muffin.mo
+share/locale/ms/LC_MESSAGES/muffin.mo
+share/locale/nb/LC_MESSAGES/muffin.mo
+share/locale/nds/LC_MESSAGES/muffin.mo
+share/locale/ne/LC_MESSAGES/muffin.mo
+share/locale/nl/LC_MESSAGES/muffin.mo
+share/locale/nn/LC_MESSAGES/muffin.mo
+share/locale/oc/LC_MESSAGES/muffin.mo
+share/locale/or/LC_MESSAGES/muffin.mo
+share/locale/pa/LC_MESSAGES/muffin.mo
+share/locale/pl/LC_MESSAGES/muffin.mo
+share/locale/pt/LC_MESSAGES/muffin.mo
+share/locale/pt_BR/LC_MESSAGES/muffin.mo
+share/locale/ro/LC_MESSAGES/muffin.mo
+share/locale/ru/LC_MESSAGES/muffin.mo
+share/locale/rw/LC_MESSAGES/muffin.mo
+share/locale/si/LC_MESSAGES/muffin.mo
+share/locale/sk/LC_MESSAGES/muffin.mo
+share/locale/sl/LC_MESSAGES/muffin.mo
+share/locale/sq/LC_MESSAGES/muffin.mo
+share/locale/sr/LC_MESSAGES/muffin.mo
+share/locale/sr@latin/LC_MESSAGES/muffin.mo
+share/locale/sv/LC_MESSAGES/muffin.mo
+share/locale/ta/LC_MESSAGES/muffin.mo
+share/locale/te/LC_MESSAGES/muffin.mo
+share/locale/th/LC_MESSAGES/muffin.mo
+share/locale/tk/LC_MESSAGES/muffin.mo
+share/locale/tr/LC_MESSAGES/muffin.mo
+share/locale/ug/LC_MESSAGES/muffin.mo
+share/locale/uk/LC_MESSAGES/muffin.mo
+share/locale/vi/LC_MESSAGES/muffin.mo
+share/locale/wa/LC_MESSAGES/muffin.mo
+share/locale/xh/LC_MESSAGES/muffin.mo
+share/locale/yo/LC_MESSAGES/muffin.mo
+share/locale/zh_CN/LC_MESSAGES/muffin.mo
+share/locale/zh_HK/LC_MESSAGES/muffin.mo
+share/locale/zh_TW/LC_MESSAGES/muffin.mo
+%%DATADIR%%/icons/muffin-window-demo.png
diff --git a/x11-wm/mutter/Makefile b/x11-wm/mutter/Makefile
index cd45868e2b61..ac5418961e15 100644
--- a/x11-wm/mutter/Makefile
+++ b/x11-wm/mutter/Makefile
@@ -1,38 +1,68 @@
# Created by: Pawel Worach <pawel.worach@gmail.com>
# $FreeBSD$
-# $MCom: ports/x11-wm/mutter/Makefile,v 1.14 2010/06/29 21:14:07 kwm Exp $
+# $MCom: ports/trunk/x11-wm/mutter/Makefile 20040 2014-11-03 17:21:59Z kwm $
PORTNAME= mutter
-PORTVERSION= 2.31.2
-PORTREVISION= 5
+PORTVERSION= 3.14.1.5
CATEGORIES= x11-wm
MASTER_SITES= GNOME
-DIST_SUBDIR= gnome2
+DIST_SUBDIR= gnome3
MAINTAINER= gnome@FreeBSD.org
COMMENT= Window and compositing manager based on Clutter
-BUILD_DEPENDS= zenity:${PORTSDIR}/x11/zenity
+BUILD_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity \
+ gsettings-desktop-schemas>=3.4.0:${PORTSDIR}/devel/gsettings-desktop-schemas
LIB_DEPENDS= libstartup-notification-1.so:${PORTSDIR}/x11/startup-notification \
- libclutter-glx-1.0.so:${PORTSDIR}/graphics/clutter \
- libcanberra-gtk.so:${PORTSDIR}/audio/libcanberra
-RUN_DEPENDS= zenity:${PORTSDIR}/x11/zenity
+ libclutter-1.0.so:${PORTSDIR}/graphics/clutter \
+ libxkbcommon.so:${PORTSDIR}/x11/libxkbcommon \
+ libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3 \
+ libupower-glib.so:${PORTSDIR}/sysutils/upower
+RUN_DEPENDS= zenity>=3.0.0:${PORTSDIR}/x11/zenity \
+ gsettings-desktop-schemas>=3.4.0:${PORTSDIR}/devel/gsettings-desktop-schemas
-USE_XORG= x11 xext xrandr xcomposite xcursor xinerama ice sm
-USES= gettext gmake libtool:keepla pathfix pkgconfig tar:bzip2
+USES= gettext gmake libtool pathfix pkgconfig tar:xz
+USE_GNOME= gnomedesktop3 gnomeprefix gtk30 intlhack \
+ introspection:build
+USE_XORG= x11 xext xrandr xcomposite xcursor xinerama ice sm xfixes \
+ xrender xdamage
+USE_GL= gbm
GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-USE_GNOME= gnomeprefix intlhack gtk20 gconf2
USE_LDCONFIG= yes
-CPPFLAGS+= -I${LOCALBASE}/include
+CPPFLAGS+= -I${LOCALBASE}/include -fno-omit-frame-pointer
LDFLAGS+= -L${LOCALBASE}/lib
+CONFIGURE_ARGS= --enable-compile-warnings=maximum
+INSTALL_TARGET= install-strip
+GLIB_SCHEMAS= org.gnome.mutter.gschema.xml \
+ org.gnome.mutter.wayland.gschema.xml
+
+PLIST_SUB= VERSION=${PORTVERSION:R}
+
+.include <bsd.port.options.mk>
+
+# borrowed from graphics/libGL to see where Mesa 10.3 is available.
+# hw context support in the i915kms driver
+.if ${OPSYS} == FreeBSD && \
+ (${OSVERSION} >= 1100000 && ${OSVERSION} < 1100035 || \
+ ${OSVERSION} < 1000717)
+_OLD_MESA=1
+.endif
+
+.if ${OPSYS} == DragonFly && ${DFLYVERSION} >= 300901
+_OLD_MESA=1
+.endif
-GCONF_SCHEMAS= mutter.schemas
+.if defined(_OLD_MESA)
+EXTRA_PATCHES+= ${FILESDIR}/extra-488dd0b
+.endif
+# remove the gbm sed line if gbm < 10.3
post-patch:
- @${REINPLACE_CMD} -e 's|-Werror||g' \
- ${WRKSRC}/configure
- @${REINPLACE_CMD} '/^mutter_LDADD =/s/$$/ -lgmodule-2.0/' \
- ${WRKSRC}/src/Makefile.in
+ @${REINPLACE_CMD} -e 's|-Wcast-align||g' \
+ ${WRKSRC}/configure
+.if defined(_OLD_MESA)
+ @${REINPLACE_CMD} -e 's|gbm >= 10.3|gbm|g' \
+ ${WRKSRC}/configure
+.endif
.include <bsd.port.mk>
diff --git a/x11-wm/mutter/distinfo b/x11-wm/mutter/distinfo
index 5a0680d71ec6..ba4619050c99 100644
--- a/x11-wm/mutter/distinfo
+++ b/x11-wm/mutter/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gnome2/mutter-2.31.2.tar.bz2) = 7267018c2eb28213748810de7e1ccf6d4f059e8ab593ec335234588d0037578c
-SIZE (gnome2/mutter-2.31.2.tar.bz2) = 1983139
+SHA256 (gnome3/mutter-3.14.1.5.tar.xz) = bfc1e30f94cb7d057b94ac651cbfff24fb25e9d6617c492b68509e5c638f5114
+SIZE (gnome3/mutter-3.14.1.5.tar.xz) = 1607912
diff --git a/x11-wm/mutter/files/extra-488dd0b b/x11-wm/mutter/files/extra-488dd0b
new file mode 100644
index 000000000000..ccf95b149e9d
--- /dev/null
+++ b/x11-wm/mutter/files/extra-488dd0b
@@ -0,0 +1,245 @@
+Revert the following commit, so we can lower the gbm requirements.
+Because it needs gbm 10.3+
+
+This exposes a bug that the cursor isn't rendered correctly on newer
+Radeon cards that support 256x256 cursors. But we don't support those
+really yet.
+
+From 488dd0b402dc8c56a70f995a7456c2ff511a818b Mon Sep 17 00:00:00 2001
+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
+Date: Wed, 24 Sep 2014 15:40:09 -0600
+Subject: Support for hardware cursor sizes other than 64x64 on wayland
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use the new DRM capabilities to figure out the correct cursor size, and
+make sure that matches instead of hardcoding 64x64. This fixes incorrect
+rendering on some newer AMD cards that support 256x256 cursors.
+
+Based heavily on a patch by:
+Alvaro Fernando GarcĂ­a <alvarofernandogarcia@gmail.com>
+
+
+--- ./src/backends/native/meta-cursor-renderer-native.c.orig 2014-10-02 16:29:20.000000000 +0200
++++ ./src/backends/native/meta-cursor-renderer-native.c 2014-11-03 17:38:11.528443462 +0100
+@@ -27,27 +27,16 @@
+ #include "meta-cursor-renderer-native.h"
+
+ #include <gbm.h>
+-#include <xf86drm.h>
+
+ #include "meta-cursor-private.h"
+ #include "meta-monitor-manager.h"
+
+-#ifndef DRM_CAP_CURSOR_WIDTH
+-#define DRM_CAP_CURSOR_WIDTH 0x8
+-#endif
+-#ifndef DRM_CAP_CURSOR_HEIGHT
+-#define DRM_CAP_CURSOR_HEIGHT 0x9
+-#endif
+-
+ struct _MetaCursorRendererNativePrivate
+ {
+ gboolean has_hw_cursor;
+
+ int drm_fd;
+ struct gbm_device *gbm;
+-
+- uint64_t cursor_width;
+- uint64_t cursor_height;
+ };
+ typedef struct _MetaCursorRendererNativePrivate MetaCursorRendererNativePrivate;
+
+@@ -82,13 +71,17 @@ set_crtc_cursor (MetaCursorRendererNativ
+ {
+ struct gbm_bo *bo;
+ union gbm_bo_handle handle;
++ int width, height;
+ int hot_x, hot_y;
+
+ bo = meta_cursor_reference_get_gbm_bo (cursor, &hot_x, &hot_y);
+
+ handle = gbm_bo_get_handle (bo);
++ width = gbm_bo_get_width (bo);
++ height = gbm_bo_get_height (bo);
++
+ drmModeSetCursor2 (priv->drm_fd, crtc->crtc_id, handle.u32,
+- priv->cursor_width, priv->cursor_height, hot_x, hot_y);
++ width, height, hot_x, hot_y);
+ }
+ else
+ {
+@@ -193,19 +186,6 @@ meta_cursor_renderer_native_init (MetaCu
+ CoglRenderer *cogl_renderer = cogl_display_get_renderer (cogl_context_get_display (ctx));
+ priv->drm_fd = cogl_kms_renderer_get_kms_fd (cogl_renderer);
+ priv->gbm = gbm_create_device (priv->drm_fd);
+-
+- uint64_t width, height;
+- if (drmGetCap (priv->drm_fd, DRM_CAP_CURSOR_WIDTH, &width) == 0 &&
+- drmGetCap (priv->drm_fd, DRM_CAP_CURSOR_HEIGHT, &height) == 0)
+- {
+- priv->cursor_width = width;
+- priv->cursor_height = height;
+- }
+- else
+- {
+- priv->cursor_width = 64;
+- priv->cursor_height = 64;
+- }
+ }
+ #endif
+ }
+@@ -219,16 +199,6 @@ meta_cursor_renderer_native_get_gbm_devi
+ }
+
+ void
+-meta_cursor_renderer_native_get_cursor_size (MetaCursorRendererNative *native,
+- uint64_t *width, uint64_t *height)
+-{
+- MetaCursorRendererNativePrivate *priv = meta_cursor_renderer_native_get_instance_private (native);
+-
+- *width = priv->cursor_width;
+- *height = priv->cursor_height;
+-}
+-
+-void
+ meta_cursor_renderer_native_force_update (MetaCursorRendererNative *native)
+ {
+ update_hw_cursor (native, TRUE);
+--- ./src/backends/native/meta-cursor-renderer-native.h.orig 2014-10-02 16:29:20.000000000 +0200
++++ ./src/backends/native/meta-cursor-renderer-native.h 2014-11-03 17:38:11.529443324 +0100
+@@ -50,7 +50,6 @@ struct _MetaCursorRendererNativeClass
+ GType meta_cursor_renderer_native_get_type (void) G_GNUC_CONST;
+
+ struct gbm_device * meta_cursor_renderer_native_get_gbm_device (MetaCursorRendererNative *renderer);
+-void meta_cursor_renderer_native_get_cursor_size (MetaCursorRendererNative *native, uint64_t *width, uint64_t *height);
+ void meta_cursor_renderer_native_force_update (MetaCursorRendererNative *renderer);
+
+ #endif /* META_CURSOR_RENDERER_NATIVE_H */
+--- ./src/backends/meta-cursor.c.orig 2014-10-30 11:57:01.000000000 +0100
++++ ./src/backends/meta-cursor.c 2014-11-03 17:38:11.526443521 +0100
+@@ -140,55 +140,34 @@ load_cursor_on_client (MetaCursor cursor
+ }
+
+ static void
+-get_hardware_cursor_size (uint64_t *cursor_width, uint64_t *cursor_height)
+-{
+-#ifdef HAVE_NATIVE_BACKEND
+- MetaBackend *meta_backend = meta_get_backend ();
+- MetaCursorRenderer *renderer = meta_backend_get_cursor_renderer (meta_backend);
+-
+- if (META_IS_CURSOR_RENDERER_NATIVE (renderer))
+- {
+- meta_cursor_renderer_native_get_cursor_size (META_CURSOR_RENDERER_NATIVE (renderer), cursor_width, cursor_height);
+- return;
+- }
+-#endif
+-
+- g_assert_not_reached ();
+-}
+-
+-static void
+ meta_cursor_image_load_gbm_buffer (struct gbm_device *gbm,
+ MetaCursorImage *image,
+ uint8_t *pixels,
+- uint width,
+- uint height,
++ int width,
++ int height,
+ int rowstride,
+ uint32_t gbm_format)
+ {
+- uint64_t cursor_width, cursor_height;
+- get_hardware_cursor_size (&cursor_width, &cursor_height);
+-
+- if (width > cursor_width || height > cursor_height)
++ if (width > 64 || height > 64)
+ {
+- meta_warning ("Invalid theme cursor size (must be at most %ux%u)\n",
+- (unsigned int)cursor_width, (unsigned int)cursor_height);
++ meta_warning ("Invalid theme cursor size (must be at most 64x64)\n");
+ return;
+ }
+
+ if (gbm_device_is_format_supported (gbm, gbm_format,
+- GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE))
++ GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE))
+ {
+- uint8_t buf[4 * cursor_width * cursor_height];
+- uint i;
++ uint8_t buf[4 * 64 * 64];
++ int i;
+
+- image->bo = gbm_bo_create (gbm, cursor_width, cursor_height,
+- gbm_format, GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE);
++ image->bo = gbm_bo_create (gbm, 64, 64,
++ gbm_format, GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE);
+
+ memset (buf, 0, sizeof(buf));
+ for (i = 0; i < height; i++)
+- memcpy (buf + i * 4 * cursor_width, pixels + i * rowstride, width * 4);
++ memcpy (buf + i * 4 * 64, pixels + i * rowstride, width * 4);
+
+- gbm_bo_write (image->bo, buf, cursor_width * cursor_height * 4);
++ gbm_bo_write (image->bo, buf, 64 * 64 * 4);
+ }
+ else
+ meta_warning ("HW cursor for format %d not supported\n", gbm_format);
+@@ -212,7 +191,7 @@ static void
+ meta_cursor_image_load_from_xcursor_image (MetaCursorImage *image,
+ XcursorImage *xc_image)
+ {
+- uint width, height, rowstride;
++ int width, height, rowstride;
+ CoglPixelFormat cogl_format;
+ uint32_t gbm_format;
+ ClutterBackend *clutter_backend;
+@@ -283,8 +262,7 @@ meta_cursor_image_load_from_buffer (Meta
+ CoglContext *cogl_context;
+ struct wl_shm_buffer *shm_buffer;
+ uint32_t gbm_format;
+- uint64_t cursor_width, cursor_height;
+- uint width, height;
++ int width, height;
+
+ image->hot_x = hot_x;
+ image->hot_y = hot_y;
+@@ -335,23 +313,22 @@ meta_cursor_image_load_from_buffer (Meta
+ }
+ else
+ {
+- if (gbm)
++ /* HW cursors must be 64x64, but 64x64 is huge, and no cursor theme actually uses
++ that, so themed cursors must be padded with transparent pixels to fill the
++ overlay. This is trivial if we have CPU access to the data, but it's not
++ possible if the buffer is in GPU memory (and possibly tiled too), so if we
++ don't get the right size, we fallback to GL.
++ */
++ if (width != 64 || height != 64)
+ {
+- /* HW cursors have a predefined size (at least 64x64), which usually is bigger than cursor theme
+- size, so themed cursors must be padded with transparent pixels to fill the
+- overlay. This is trivial if we have CPU access to the data, but it's not
+- possible if the buffer is in GPU memory (and possibly tiled too), so if we
+- don't get the right size, we fallback to GL.
+- */
+- get_hardware_cursor_size (&cursor_width, &cursor_height);
+-
+- if (width != cursor_width || height != cursor_height)
+- {
+- meta_warning ("Invalid cursor size (must be 64x64), falling back to software (GL) cursors\n");
+- return;
+- }
++ meta_warning ("Invalid cursor size (must be 64x64), falling back to software (GL) cursors\n");
++ return;
++ }
+
+- image->bo = gbm_bo_import (gbm, GBM_BO_IMPORT_WL_BUFFER, buffer, GBM_BO_USE_CURSOR);
++ if (gbm)
++ {
++ image->bo = gbm_bo_import (gbm, GBM_BO_IMPORT_WL_BUFFER,
++ buffer, GBM_BO_USE_CURSOR_64X64);
+ if (!image->bo)
+ meta_warning ("Importing HW cursor from wl_buffer failed\n");
+ }
diff --git a/x11-wm/mutter/files/patch-src_Makefile.in b/x11-wm/mutter/files/patch-src_Makefile.in
new file mode 100644
index 000000000000..ccc06b093e2b
--- /dev/null
+++ b/x11-wm/mutter/files/patch-src_Makefile.in
@@ -0,0 +1,11 @@
+--- src/Makefile.in.orig 2014-09-29 20:29:47.729666937 +0200
++++ src/Makefile.in 2014-09-29 20:31:17.504662747 +0200
+@@ -951,7 +951,7 @@
+ @HAVE_INTROSPECTION_TRUE@ $(libmutterinclude_base_headers) \
+ @HAVE_INTROSPECTION_TRUE@ $(filter %.c,$(libmutter_la_SOURCES) $(nodist_libmutter_la_SOURCES))
+
+-@HAVE_INTROSPECTION_TRUE@@META_GIR@_SCANNERFLAGS = --warn-all --warn-error
++@HAVE_INTROSPECTION_TRUE@@META_GIR@_SCANNERFLAGS = --warn-all
+ dbus_idle_built_sources = meta-dbus-idle-monitor.c meta-dbus-idle-monitor.h
+ CLEANFILES = $(mutter_built_sources) $(typelib_DATA) $(gir_DATA) \
+ $(MUTTER_STAMP_FILES)
diff --git a/x11-wm/mutter/pkg-descr b/x11-wm/mutter/pkg-descr
index e1b5db0d2d3a..54c14b743c7e 100644
--- a/x11-wm/mutter/pkg-descr
+++ b/x11-wm/mutter/pkg-descr
@@ -3,3 +3,5 @@ designed to integrate well with the GNOME desktop. mutter lacks some
features that may be expected by traditional UNIX or other technical
users; these users may want to investigate other available window man-
agers for use with GNOME or standalone.
+
+WWW: -
diff --git a/x11-wm/mutter/pkg-plist b/x11-wm/mutter/pkg-plist
index b901e062c964..ba4e46428860 100644
--- a/x11-wm/mutter/pkg-plist
+++ b/x11-wm/mutter/pkg-plist
@@ -1,45 +1,88 @@
bin/mutter
-bin/mutter-message
-bin/mutter-theme-viewer
-bin/mutter-window-demo
-include/mutter/mutter-private/atomnames.h
-include/mutter/mutter-private/boxes.h
-include/mutter/mutter-private/common.h
-include/mutter/mutter-private/compositor-mutter.h
-include/mutter/mutter-private/compositor.h
-include/mutter/mutter-private/display.h
-include/mutter/mutter-private/errors.h
-include/mutter/mutter-private/gradient.h
-include/mutter/mutter-private/group.h
-include/mutter/mutter-private/keybindings.h
-include/mutter/mutter-private/main.h
-include/mutter/mutter-private/mutter-plugin.h
-include/mutter/mutter-private/mutter-window.h
-include/mutter/mutter-private/prefs.h
-include/mutter/mutter-private/preview-widget.h
-include/mutter/mutter-private/screen.h
-include/mutter/mutter-private/theme-parser.h
-include/mutter/mutter-private/theme.h
-include/mutter/mutter-private/types.h
-include/mutter/mutter-private/util.h
-include/mutter/mutter-private/window.h
-include/mutter/mutter-private/workspace.h
-lib/libmutter-private.a
-lib/libmutter-private.la
-lib/libmutter-private.so
-lib/libmutter-private.so.0
-lib/libmutter-private.so.0.0.0
-lib/mutter/Meta-2.31.gir
-lib/mutter/Meta-2.31.typelib
+include/mutter/meta/atomnames.h
+include/mutter/meta/barrier.h
+include/mutter/meta/boxes.h
+include/mutter/meta/common.h
+include/mutter/meta/compositor-mutter.h
+include/mutter/meta/compositor.h
+include/mutter/meta/display.h
+include/mutter/meta/errors.h
+include/mutter/meta/gradient.h
+include/mutter/meta/group.h
+include/mutter/meta/keybindings.h
+include/mutter/meta/main.h
+include/mutter/meta/meta-backend.h
+include/mutter/meta/meta-background-actor.h
+include/mutter/meta/meta-background-group.h
+include/mutter/meta/meta-background-image.h
+include/mutter/meta/meta-background.h
+include/mutter/meta/meta-cursor-tracker.h
+include/mutter/meta/meta-idle-monitor.h
+include/mutter/meta/meta-plugin.h
+include/mutter/meta/meta-shadow-factory.h
+include/mutter/meta/meta-shaped-texture.h
+include/mutter/meta/meta-version.h
+include/mutter/meta/meta-window-actor.h
+include/mutter/meta/prefs.h
+include/mutter/meta/screen.h
+include/mutter/meta/theme.h
+include/mutter/meta/types.h
+include/mutter/meta/util.h
+include/mutter/meta/window.h
+include/mutter/meta/workspace.h
+lib/libmutter.so
+lib/libmutter.so.0
+lib/libmutter.so.0.0.0
+lib/mutter/Meta-3.0.gir
+lib/mutter/Meta-3.0.typelib
lib/mutter/plugins/default.so
-libdata/pkgconfig/libmutter-private.pc
-libdata/pkgconfig/mutter-plugins.pc
-man/man1/mutter-message.1.gz
-man/man1/mutter-theme-viewer.1.gz
-man/man1/mutter-window-demo.1.gz
+libdata/pkgconfig/libmutter.pc
+libexec/mutter-restart-helper
man/man1/mutter.1.gz
+share/GConf/gsettings/mutter-schemas.convert
share/applications/mutter.desktop
-share/gnome/wm-properties/mutter-wm.desktop
+share/applications/mutter-wayland.desktop
+share/doc/meta/MetaBackgroundActor.html
+share/doc/meta/MetaBarrier.html
+share/doc/meta/MetaDisplay.html
+share/doc/meta/MetaPlugin.html
+share/doc/meta/MetaRectangle.html
+share/doc/meta/MetaScreen.html
+share/doc/meta/MetaShadowFactory.html
+share/doc/meta/MetaShapedTexture.html
+share/doc/meta/MetaWindow.html
+share/doc/meta/MetaWindowActor.html
+share/doc/meta/MetaWorkspace.html
+share/doc/meta/annotation-glossary.html
+share/doc/meta/api-index-full.html
+share/doc/meta/core-reference.html
+share/doc/meta/deprecated-api-index.html
+share/doc/meta/home.png
+share/doc/meta/index.html
+share/doc/meta/index.sgml
+share/doc/meta/left-insensitive.png
+share/doc/meta/left.png
+share/doc/meta/meta-Common.html
+share/doc/meta/meta-Errors.html
+share/doc/meta/meta-Gradients.html
+share/doc/meta/meta-Main.html
+share/doc/meta/meta-MetaCompositor.html
+share/doc/meta/meta-MetaGroup.html
+share/doc/meta/meta-MetaKeybinding.html
+share/doc/meta/meta-Preferences.html
+share/doc/meta/meta-Utility-functions.html
+share/doc/meta/meta.devhelp2
+share/doc/meta/mutter-overview.html
+share/doc/meta/object-tree.html
+share/doc/meta/right-insensitive.png
+share/doc/meta/right.png
+share/doc/meta/running-mutter.html
+share/doc/meta/style.css
+share/doc/meta/up-insensitive.png
+share/doc/meta/up.png
+share/gnome-control-center/keybindings/50-mutter-navigation.xml
+share/gnome-control-center/keybindings/50-mutter-windows.xml
+share/gnome-control-center/keybindings/50-mutter-system.xml
share/locale/am/LC_MESSAGES/mutter.mo
share/locale/ar/LC_MESSAGES/mutter.mo
share/locale/as/LC_MESSAGES/mutter.mo
@@ -62,6 +105,7 @@ share/locale/dz/LC_MESSAGES/mutter.mo
share/locale/el/LC_MESSAGES/mutter.mo
share/locale/en_CA/LC_MESSAGES/mutter.mo
share/locale/en_GB/LC_MESSAGES/mutter.mo
+share/locale/eo/LC_MESSAGES/mutter.mo
share/locale/es/LC_MESSAGES/mutter.mo
share/locale/et/LC_MESSAGES/mutter.mo
share/locale/eu/LC_MESSAGES/mutter.mo
@@ -83,6 +127,7 @@ share/locale/is/LC_MESSAGES/mutter.mo
share/locale/it/LC_MESSAGES/mutter.mo
share/locale/ja/LC_MESSAGES/mutter.mo
share/locale/ka/LC_MESSAGES/mutter.mo
+share/locale/kk/LC_MESSAGES/mutter.mo
share/locale/kn/LC_MESSAGES/mutter.mo
share/locale/ko/LC_MESSAGES/mutter.mo
share/locale/ku/LC_MESSAGES/mutter.mo
@@ -119,9 +164,11 @@ share/locale/sr@latin/LC_MESSAGES/mutter.mo
share/locale/sv/LC_MESSAGES/mutter.mo
share/locale/ta/LC_MESSAGES/mutter.mo
share/locale/te/LC_MESSAGES/mutter.mo
+share/locale/tg/LC_MESSAGES/mutter.mo
share/locale/th/LC_MESSAGES/mutter.mo
share/locale/tk/LC_MESSAGES/mutter.mo
share/locale/tr/LC_MESSAGES/mutter.mo
+share/locale/ug/LC_MESSAGES/mutter.mo
share/locale/uk/LC_MESSAGES/mutter.mo
share/locale/vi/LC_MESSAGES/mutter.mo
share/locale/wa/LC_MESSAGES/mutter.mo
@@ -130,56 +177,3 @@ share/locale/yo/LC_MESSAGES/mutter.mo
share/locale/zh_CN/LC_MESSAGES/mutter.mo
share/locale/zh_HK/LC_MESSAGES/mutter.mo
share/locale/zh_TW/LC_MESSAGES/mutter.mo
-%%DATADIR%%/icons/mutter-window-demo.png
-@dirrm %%DATADIR%%/icons
-@dirrm %%DATADIR%%
-@dirrm lib/mutter/plugins
-@dirrm lib/mutter
-@dirrm include/mutter/mutter-private
-@dirrm include/mutter
-@dirrmtry share/locale/zh_HK/LC_MESSAGES
-@dirrmtry share/locale/zh_HK
-@dirrmtry share/locale/yo/LC_MESSAGES
-@dirrmtry share/locale/yo
-@dirrmtry share/locale/xh/LC_MESSAGES
-@dirrmtry share/locale/xh
-@dirrmtry share/locale/te/LC_MESSAGES
-@dirrmtry share/locale/te
-@dirrmtry share/locale/sr@latin/LC_MESSAGES
-@dirrmtry share/locale/sr@latin
-@dirrmtry share/locale/si/LC_MESSAGES
-@dirrmtry share/locale/si
-@dirrmtry share/locale/rw/LC_MESSAGES
-@dirrmtry share/locale/rw
-@dirrmtry share/locale/oc/LC_MESSAGES
-@dirrmtry share/locale/oc
-@dirrmtry share/locale/nds/LC_MESSAGES
-@dirrmtry share/locale/nds
-@dirrmtry share/locale/mr/LC_MESSAGES
-@dirrmtry share/locale/mr
-@dirrmtry share/locale/mg/LC_MESSAGES
-@dirrmtry share/locale/mg
-@dirrmtry share/locale/mai/LC_MESSAGES
-@dirrmtry share/locale/mai
-@dirrmtry share/locale/la/LC_MESSAGES
-@dirrmtry share/locale/la
-@dirrmtry share/locale/ku/LC_MESSAGES
-@dirrmtry share/locale/ku
-@dirrmtry share/locale/ig/LC_MESSAGES
-@dirrmtry share/locale/ig
-@dirrmtry share/locale/hy/LC_MESSAGES
-@dirrmtry share/locale/hy
-@dirrmtry share/locale/ha/LC_MESSAGES
-@dirrmtry share/locale/ha
-@dirrmtry share/locale/dz/LC_MESSAGES
-@dirrmtry share/locale/dz
-@dirrmtry share/locale/ca@valencia/LC_MESSAGES
-@dirrmtry share/locale/ca@valencia
-@dirrmtry share/locale/bn_IN/LC_MESSAGES
-@dirrmtry share/locale/bn_IN
-@dirrmtry share/locale/be@latin/LC_MESSAGES
-@dirrmtry share/locale/be@latin
-@dirrmtry share/locale/ast/LC_MESSAGES
-@dirrmtry share/locale/ast
-@dirrmtry share/locale/as/LC_MESSAGES
-@dirrmtry share/locale/as
diff --git a/x11-wm/plank/Makefile b/x11-wm/plank/Makefile
index e9fee96f38be..970e1153e679 100644
--- a/x11-wm/plank/Makefile
+++ b/x11-wm/plank/Makefile
@@ -13,7 +13,7 @@ COMMENT= Elegant, simple, and clean dock
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= vapigen:${PORTSDIR}/lang/vala-vapigen
+BUILD_DEPENDS= vapigen:${PORTSDIR}/lang/vala
LIB_DEPENDS= libbamf3.so:${PORTSDIR}/sysutils/bamf \
libgee-0.8.so:${PORTSDIR}/devel/libgee