summaryrefslogtreecommitdiffstats
path: root/x11
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2009-08-17 06:37:12 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2009-08-17 06:37:12 +0800
commit29ea451e2ede84b78b5cad807652288703c543df (patch)
tree35d6631f003bff31d3ca44001b3e377ef46e2e60 /x11
parentcf7432c51b90a9ba4dc6f9c49bdf8248d1d6d86e (diff)
downloadmarcuscom-ports-29ea451e2ede84b78b5cad807652288703c543df.tar
marcuscom-ports-29ea451e2ede84b78b5cad807652288703c543df.tar.gz
marcuscom-ports-29ea451e2ede84b78b5cad807652288703c543df.tar.bz2
marcuscom-ports-29ea451e2ede84b78b5cad807652288703c543df.tar.lz
marcuscom-ports-29ea451e2ede84b78b5cad807652288703c543df.tar.xz
marcuscom-ports-29ea451e2ede84b78b5cad807652288703c543df.tar.zst
marcuscom-ports-29ea451e2ede84b78b5cad807652288703c543df.zip
Add gnome-shell
Submitted by: Pawel Worach <pawel.worach@gmail.com> git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@12653 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'x11')
-rw-r--r--x11/gnome-shell/Makefile49
-rw-r--r--x11/gnome-shell/distinfo3
-rw-r--r--x11/gnome-shell/files/patch-configure223
-rw-r--r--x11/gnome-shell/files/patch-src_Makefile.in27
-rw-r--r--x11/gnome-shell/files/patch-src_gdmuser_gdm-user-manager.c11
-rw-r--r--x11/gnome-shell/files/patch-src_gnome-shell.in33
-rw-r--r--x11/gnome-shell/files/patch-src_shell-app-system.c21
-rw-r--r--x11/gnome-shell/files/patch-src_shell-texture-cache.c70
-rw-r--r--x11/gnome-shell/pkg-descr3
-rw-r--r--x11/gnome-shell/pkg-message33
-rw-r--r--x11/gnome-shell/pkg-plist42
11 files changed, 515 insertions, 0 deletions
diff --git a/x11/gnome-shell/Makefile b/x11/gnome-shell/Makefile
new file mode 100644
index 000000000..b25bf288f
--- /dev/null
+++ b/x11/gnome-shell/Makefile
@@ -0,0 +1,49 @@
+# New ports collection makefile for: gnome-shell
+# Date created: 14 Aug 2009
+# Whom: Pawel Worach <pawel.worach@gmail.com>
+#
+# $FreeBSD$
+# $MCom$
+#
+
+PORTNAME= gnome-shell
+PORTVERSION= 2.27.0
+CATEGORIES= x11
+MASTER_SITES= GNOME
+DIST_SUBDIR= gnome2
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Next generation GNOME desktop shell
+
+BUILD_DEPENDS= ${LOCALBASE}/share/gir-1.0/Gtk-2.0.gir:${PORTSDIR}/devel/gir-repository
+LIB_DEPENDS= girepository-1.0:${PORTSDIR}/devel/gobject-introspection \
+ startup-notification-1.0:${PORTSDIR}/x11/startup-notification \
+ mutter-private.0:${PORTSDIR}/x11-wm/mutter \
+ clutter-glx-1.0:${PORTSDIR}/graphics/clutter \
+ gjs-gi:${PORTSDIR}/lang/gjs
+RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/dbus-python.pc:${PORTSDIR}/devel/py-dbus
+
+USE_BZIP2= yes
+USE_XORG= x11 xfixes sm
+USE_GETTEXT= yes
+USE_GMAKE= yes
+USE_AUTOTOOLS= libtool:22
+USE_GNOME= gnomeprefix gnomehack intlhack gtk20 gconf2 gnomemenus \
+ gnomedesktop ltverhack libgnomeui
+USE_GSTREAMER= theora
+USE_LDCONFIG= yes
+CONFIGURE_ENV= CPPFLAGS="-I/usr/local/include/js -I/usr/local/include/nspr"
+
+GCONF_SCHEMAS= gnome-shell.schemas
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|-Werror||g' \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|/usr/bin/python|/usr/bin/env python|g' \
+ -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${WRKSRC}/src/gnome-shell.in
+
+post-install:
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/x11/gnome-shell/distinfo b/x11/gnome-shell/distinfo
new file mode 100644
index 000000000..feb275c98
--- /dev/null
+++ b/x11/gnome-shell/distinfo
@@ -0,0 +1,3 @@
+MD5 (gnome2/gnome-shell-2.27.0.tar.bz2) = 372771ace3aeb34b0a689f917bb68f10
+SHA256 (gnome2/gnome-shell-2.27.0.tar.bz2) = df59d50e7653abfcf05d7d94f0aaefe8f05329e47d5c43510418622a40e84fb0
+SIZE (gnome2/gnome-shell-2.27.0.tar.bz2) = 437202
diff --git a/x11/gnome-shell/files/patch-configure b/x11/gnome-shell/files/patch-configure
new file mode 100644
index 000000000..0450f7d9d
--- /dev/null
+++ b/x11/gnome-shell/files/patch-configure
@@ -0,0 +1,223 @@
+--- configure.orig 2009-08-07 18:14:52.000000000 +0000
++++ configure 2009-08-14 05:07:08.000000000 +0000
+@@ -974,9 +967,7 @@
+ GDMUSER_CFLAGS
+ GDMUSER_LIBS
+ TRAY_CFLAGS
+-TRAY_LIBS
+-LIBGNOMEUI_CFLAGS
+-LIBGNOMEUI_LIBS'
++TRAY_LIBS'
+
+
+ # Initialize some variables set by options.
+@@ -1663,10 +1652,6 @@
+ linker flags for GDMUSER, overriding pkg-config
+ TRAY_CFLAGS C compiler flags for TRAY, overriding pkg-config
+ TRAY_LIBS linker flags for TRAY, overriding pkg-config
+- LIBGNOMEUI_CFLAGS
+- C compiler flags for LIBGNOMEUI, overriding pkg-config
+- LIBGNOMEUI_LIBS
+- linker flags for LIBGNOMEUI, overriding pkg-config
+
+ Use these variables to override the choices made by `configure' or to help
+ it to find libraries and programs with nonstandard names/locations.
+@@ -11638,9 +11597,7 @@
+ " >&2;}
+ { (exit 1); exit 1; }; }
+ elif test $pkg_failed = untried; then
+- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
++ { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+ is in your PATH or set the PKG_CONFIG environment variable to the full
+ path to pkg-config.
+
+@@ -11660,7 +11617,7 @@
+
+ To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+ See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }; }
++ { (exit 1); exit 1; }; }
+ else
+ TEST_SHELL_RECORDER_CFLAGS=$pkg_cv_TEST_SHELL_RECORDER_CFLAGS
+ TEST_SHELL_RECORDER_LIBS=$pkg_cv_TEST_SHELL_RECORDER_LIBS
+@@ -11691,12 +11648,12 @@
+ pkg_cv_MUTTER_PLUGIN_CFLAGS="$MUTTER_PLUGIN_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu \$recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0\"") >&5
+- ($PKG_CONFIG --exists --print-errors "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0") 2>&5
++ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu \$recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- pkg_cv_MUTTER_PLUGIN_CFLAGS=`$PKG_CONFIG --cflags "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0" 2>/dev/null`
++ pkg_cv_MUTTER_PLUGIN_CFLAGS=`$PKG_CONFIG --cflags "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26" 2>/dev/null`
+ else
+ pkg_failed=yes
+ fi
+@@ -11707,12 +11664,12 @@
+ pkg_cv_MUTTER_PLUGIN_LIBS="$MUTTER_PLUGIN_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu \$recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0\"") >&5
+- ($PKG_CONFIG --exists --print-errors "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0") 2>&5
++ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu \$recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- pkg_cv_MUTTER_PLUGIN_LIBS=`$PKG_CONFIG --libs "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0" 2>/dev/null`
++ pkg_cv_MUTTER_PLUGIN_LIBS=`$PKG_CONFIG --libs "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26" 2>/dev/null`
+ else
+ pkg_failed=yes
+ fi
+@@ -11730,14 +11687,14 @@
+ _pkg_short_errors_supported=no
+ fi
+ if test $_pkg_short_errors_supported = yes; then
+- MUTTER_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0" 2>&1`
++ MUTTER_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26" 2>&1`
+ else
+- MUTTER_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0" 2>&1`
++ MUTTER_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors "gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$MUTTER_PLUGIN_PKG_ERRORS" >&5
+
+- { { $as_echo "$as_me:$LINENO: error: Package requirements (gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0) were not met:
++ { { $as_echo "$as_me:$LINENO: error: Package requirements (gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26) were not met:
+
+ $MUTTER_PLUGIN_PKG_ERRORS
+
+@@ -11748,7 +11705,7 @@
+ and MUTTER_PLUGIN_LIBS to avoid the need to call pkg-config.
+ See the pkg-config man page for more details.
+ " >&5
+-$as_echo "$as_me: error: Package requirements (gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0) were not met:
++$as_echo "$as_me: error: Package requirements (gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0 gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0 gnome-desktop-2.0 >= 2.26) were not met:
+
+ $MUTTER_PLUGIN_PKG_ERRORS
+
+@@ -12227,118 +12174,6 @@
+ $as_echo "yes" >&6; }
+ :
+ fi
+-# We require libgnomeui for generating thumbnails for recent files with GnomeThumbnailFactory.
+-# We'll switch to using GnomeDesktopThumbnailFactory once the branch of gnome-desktop that contains
+-# it becomes stable.
+-
+-pkg_failed=no
+-{ $as_echo "$as_me:$LINENO: checking for LIBGNOMEUI" >&5
+-$as_echo_n "checking for LIBGNOMEUI... " >&6; }
+-
+-if test -n "$LIBGNOMEUI_CFLAGS"; then
+- pkg_cv_LIBGNOMEUI_CFLAGS="$LIBGNOMEUI_CFLAGS"
+- elif test -n "$PKG_CONFIG"; then
+- if test -n "$PKG_CONFIG" && \
+- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeui-2.0\"") >&5
+- ($PKG_CONFIG --exists --print-errors "libgnomeui-2.0") 2>&5
+- ac_status=$?
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- pkg_cv_LIBGNOMEUI_CFLAGS=`$PKG_CONFIG --cflags "libgnomeui-2.0" 2>/dev/null`
+-else
+- pkg_failed=yes
+-fi
+- else
+- pkg_failed=untried
+-fi
+-if test -n "$LIBGNOMEUI_LIBS"; then
+- pkg_cv_LIBGNOMEUI_LIBS="$LIBGNOMEUI_LIBS"
+- elif test -n "$PKG_CONFIG"; then
+- if test -n "$PKG_CONFIG" && \
+- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomeui-2.0\"") >&5
+- ($PKG_CONFIG --exists --print-errors "libgnomeui-2.0") 2>&5
+- ac_status=$?
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- pkg_cv_LIBGNOMEUI_LIBS=`$PKG_CONFIG --libs "libgnomeui-2.0" 2>/dev/null`
+-else
+- pkg_failed=yes
+-fi
+- else
+- pkg_failed=untried
+-fi
+-
+-
+-
+-if test $pkg_failed = yes; then
+-
+-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+- _pkg_short_errors_supported=yes
+-else
+- _pkg_short_errors_supported=no
+-fi
+- if test $_pkg_short_errors_supported = yes; then
+- LIBGNOMEUI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libgnomeui-2.0" 2>&1`
+- else
+- LIBGNOMEUI_PKG_ERRORS=`$PKG_CONFIG --print-errors "libgnomeui-2.0" 2>&1`
+- fi
+- # Put the nasty error message in config.log where it belongs
+- echo "$LIBGNOMEUI_PKG_ERRORS" >&5
+-
+- { { $as_echo "$as_me:$LINENO: error: Package requirements (libgnomeui-2.0) were not met:
+-
+-$LIBGNOMEUI_PKG_ERRORS
+-
+-Consider adjusting the PKG_CONFIG_PATH environment variable if you
+-installed software in a non-standard prefix.
+-
+-Alternatively, you may set the environment variables LIBGNOMEUI_CFLAGS
+-and LIBGNOMEUI_LIBS to avoid the need to call pkg-config.
+-See the pkg-config man page for more details.
+-" >&5
+-$as_echo "$as_me: error: Package requirements (libgnomeui-2.0) were not met:
+-
+-$LIBGNOMEUI_PKG_ERRORS
+-
+-Consider adjusting the PKG_CONFIG_PATH environment variable if you
+-installed software in a non-standard prefix.
+-
+-Alternatively, you may set the environment variables LIBGNOMEUI_CFLAGS
+-and LIBGNOMEUI_LIBS to avoid the need to call pkg-config.
+-See the pkg-config man page for more details.
+-" >&2;}
+- { (exit 1); exit 1; }; }
+-elif test $pkg_failed = untried; then
+- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+-is in your PATH or set the PKG_CONFIG environment variable to the full
+-path to pkg-config.
+-
+-Alternatively, you may set the environment variables LIBGNOMEUI_CFLAGS
+-and LIBGNOMEUI_LIBS to avoid the need to call pkg-config.
+-See the pkg-config man page for more details.
+-
+-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+-See \`config.log' for more details." >&5
+-$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+-is in your PATH or set the PKG_CONFIG environment variable to the full
+-path to pkg-config.
+-
+-Alternatively, you may set the environment variables LIBGNOMEUI_CFLAGS
+-and LIBGNOMEUI_LIBS to avoid the need to call pkg-config.
+-See the pkg-config man page for more details.
+-
+-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }; }
+-else
+- LIBGNOMEUI_CFLAGS=$pkg_cv_LIBGNOMEUI_CFLAGS
+- LIBGNOMEUI_LIBS=$pkg_cv_LIBGNOMEUI_LIBS
+- { $as_echo "$as_me:$LINENO: result: yes" >&5
+-$as_echo "yes" >&6; }
+- :
+-fi
+
+ MUTTER_BIN_DIR=`$PKG_CONFIG --variable=exec_prefix mutter-plugins`/bin
+ # FIXME: metacity-plugins.pc should point directly to its .gir file
+
diff --git a/x11/gnome-shell/files/patch-src_Makefile.in b/x11/gnome-shell/files/patch-src_Makefile.in
new file mode 100644
index 000000000..b747954a7
--- /dev/null
+++ b/x11/gnome-shell/files/patch-src_Makefile.in
@@ -0,0 +1,27 @@
+--- src/Makefile.in.orig 2009-08-14 05:12:30.000000000 +0000
++++ src/Makefile.in 2009-08-14 05:12:49.000000000 +0000
+@@ -272,8 +272,6 @@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+-LIBGNOMEUI_CFLAGS = @LIBGNOMEUI_CFLAGS@
+-LIBGNOMEUI_LIBS = @LIBGNOMEUI_LIBS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+@@ -528,7 +526,6 @@
+ libtray_la_LDFLAGS = $(LDADD)
+ gnome_shell_cflags = \
+ $(MUTTER_PLUGIN_CFLAGS) \
+- $(LIBGNOMEUI_CFLAGS) \
+ -I$(srcdir)/tray \
+ -DGETTEXT_PACKAGE=gnome-shell \
+ -DGNOME_SHELL_DATADIR=\"$(pkgdatadir)\" \
+@@ -582,7 +579,6 @@
+ libgnome_shell_la_LDFLAGS = -avoid-version -module
+ libgnome_shell_la_LIBADD = \
+ $(MUTTER_PLUGIN_LIBS) \
+- $(LIBGNOMEUI_LIBS) \
+ libbig-1.0.la \
+ libgdmuser-1.0.la \
+ libtidy-1.0.la \
diff --git a/x11/gnome-shell/files/patch-src_gdmuser_gdm-user-manager.c b/x11/gnome-shell/files/patch-src_gdmuser_gdm-user-manager.c
new file mode 100644
index 000000000..1bf59d1bc
--- /dev/null
+++ b/x11/gnome-shell/files/patch-src_gdmuser_gdm-user-manager.c
@@ -0,0 +1,11 @@
+--- src/gdmuser/gdm-user-manager.c.orig 2009-08-14 05:38:43.000000000 +0000
++++ src/gdmuser/gdm-user-manager.c 2009-08-14 05:39:14.000000000 +0000
+@@ -1297,7 +1297,7 @@
+ }
+ }
+
+- for (pwent = fgetpwent (fp); pwent != NULL; pwent = fgetpwent (fp)) {
++ for (pwent = getpwent(); pwent != NULL; pwent = getpwent()) {
+ GdmUser *user;
+
+ user = NULL;
diff --git a/x11/gnome-shell/files/patch-src_gnome-shell.in b/x11/gnome-shell/files/patch-src_gnome-shell.in
new file mode 100644
index 000000000..166354703
--- /dev/null
+++ b/x11/gnome-shell/files/patch-src_gnome-shell.in
@@ -0,0 +1,33 @@
+--- src/gnome-shell.in.orig 2009-08-08 18:51:01.000000000 +0200
++++ src/gnome-shell.in 2009-08-16 01:20:20.000000000 +0200
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/env python
+
+ import atexit
+ import optparse
+@@ -27,7 +27,7 @@ def find_cmd (cmd_list):
+ raise SystemExit("None of the commands %s exist" % cmd_list)
+
+ def pidof(command):
+- pidof_cmd = find_cmd(["/sbin/pidof", "/bin/pidof", "/usr/bin/pidof"])
++ pidof_cmd = find_cmd(["/bin/pgrep", "/sbin/pidof", "/bin/pidof", "/usr/bin/pidof"])
+ pidof = subprocess.Popen([pidof_cmd, command], stdout=subprocess.PIPE)
+ pids = pidof.communicate()[0].split()
+ pidof.wait()
+@@ -309,12 +309,12 @@ finally:
+ if metacity_pid:
+ if options.verbose:
+ print "Restarting Metacity"
+- subprocess.Popen(["/usr/bin/metacity"])
++ subprocess.Popen(["%%LOCALBASE%%/bin/metacity"])
+ elif compiz_pid:
+ if options.verbose:
+ print "Restarting Compiz"
+- subprocess.Popen(["/usr/bin/compiz"])
++ subprocess.Popen(["%%LOCALBASE%%/bin/compiz"])
+ if gnome_panel_dbus or gnome_panel_pid:
+ if options.verbose:
+ print "Restarting gnome-panel"
+- subprocess.Popen(["/usr/bin/gnome-panel"])
++ subprocess.Popen(["%%LOCALBASE%%/bin/gnome-panel"])
diff --git a/x11/gnome-shell/files/patch-src_shell-app-system.c b/x11/gnome-shell/files/patch-src_shell-app-system.c
new file mode 100644
index 000000000..6e03eb3fd
--- /dev/null
+++ b/x11/gnome-shell/files/patch-src_shell-app-system.c
@@ -0,0 +1,21 @@
+From 557f9ceb97bde57fa3715c4a91cfd4982f3402d1 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 13 Aug 2009 15:31:53 +0000
+Subject: Bug 591590 - Fix some applications not appearing in menu
+
+Use the correct address for the entry, instead of treating the
+ShellAppInfo pointer as one.
+---
+diff --git a/src/shell-app-system.c b/src/shell-app-system.c
+index d415f18..d4ee4cb 100644
+--- src/shell-app-system.c
++++ src/shell-app-system.c
+@@ -848,7 +848,7 @@ shell_app_info_get_is_nodisplay (ShellAppInfo *info)
+ switch (info->type)
+ {
+ case SHELL_APP_INFO_TYPE_ENTRY:
+- return gmenu_tree_entry_get_is_nodisplay ((GMenuTreeEntry*)info);
++ return gmenu_tree_entry_get_is_nodisplay ((GMenuTreeEntry*)info->entry);
+ case SHELL_APP_INFO_TYPE_DESKTOP_FILE:
+ return FALSE;
+ }
diff --git a/x11/gnome-shell/files/patch-src_shell-texture-cache.c b/x11/gnome-shell/files/patch-src_shell-texture-cache.c
new file mode 100644
index 000000000..677942a12
--- /dev/null
+++ b/x11/gnome-shell/files/patch-src_shell-texture-cache.c
@@ -0,0 +1,70 @@
+--- src/shell-texture-cache.c
++++ src/shell-texture-cache.c
+@@ -1,7 +1,8 @@
+ #include "shell-texture-cache.h"
+ #include "shell-global.h"
+ #include <gtk/gtk.h>
+-#include <libgnomeui/gnome-thumbnail.h>
++#define GNOME_DESKTOP_USE_UNSTABLE_API
++#include <libgnomeui/gnome-desktop-thumbnail.h>
+ #include <string.h>
+
+ typedef struct
+@@ -20,7 +21,7 @@ typedef struct
+ struct _ShellTextureCachePrivate
+ {
+ GHashTable *keyed_cache; /* CacheKey -> CoglTexture* */
+- GnomeThumbnailFactory *thumbnails;
++ GnomeDesktopThumbnailFactory *thumbnails;
+ };
+
+ static void shell_texture_cache_dispose (GObject *object);
+@@ -129,7 +130,7 @@ shell_texture_cache_init (ShellTextureCache *self)
+ self->priv = g_new0 (ShellTextureCachePrivate, 1);
+ self->priv->keyed_cache = g_hash_table_new_full (cache_key_hash, cache_key_equal,
+ cache_key_destroy, cogl_handle_unref);
+- self->priv->thumbnails = gnome_thumbnail_factory_new (GNOME_THUMBNAIL_SIZE_NORMAL);
++ self->priv->thumbnails = gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_NORMAL);
+ }
+
+ static void
+@@ -403,7 +404,7 @@ impl_load_thumbnail (ShellTextureCache *cache,
+ guint size,
+ GError **error)
+ {
+- GnomeThumbnailFactory *thumbnail_factory;
++ GnomeDesktopThumbnailFactory *thumbnail_factory;
+ GdkPixbuf *pixbuf = NULL;
+ GFile *file;
+ GFileInfo *file_info;
+@@ -423,24 +424,24 @@ impl_load_thumbnail (ShellTextureCache *cache,
+
+ thumbnail_factory = cache->priv->thumbnails;
+
+- existing_thumbnail = gnome_thumbnail_factory_lookup (thumbnail_factory, uri, mtime);
++ existing_thumbnail = gnome_desktop_thumbnail_factory_lookup (thumbnail_factory, uri, mtime);
+
+ if (existing_thumbnail != NULL)
+ pixbuf = gdk_pixbuf_new_from_file_at_size (existing_thumbnail, size, size, error);
+- else if (gnome_thumbnail_factory_has_valid_failed_thumbnail (thumbnail_factory, uri, mtime))
++ else if (gnome_desktop_thumbnail_factory_has_valid_failed_thumbnail (thumbnail_factory, uri, mtime))
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Has failed thumbnail");
+- else if (gnome_thumbnail_factory_can_thumbnail (thumbnail_factory, uri, mime_type, mtime))
++ else if (gnome_desktop_thumbnail_factory_can_thumbnail (thumbnail_factory, uri, mime_type, mtime))
+ {
+- pixbuf = gnome_thumbnail_factory_generate_thumbnail (thumbnail_factory, uri, mime_type);
++ pixbuf = gnome_desktop_thumbnail_factory_generate_thumbnail (thumbnail_factory, uri, mime_type);
+ if (pixbuf)
+ {
+ // we need to save the thumbnail so that we don't need to generate it again in the future
+- gnome_thumbnail_factory_save_thumbnail (thumbnail_factory, pixbuf, uri, mtime);
++ gnome_desktop_thumbnail_factory_save_thumbnail (thumbnail_factory, pixbuf, uri, mtime);
+ }
+ else
+ {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Failed to generate thumbnail");
+- gnome_thumbnail_factory_create_failed_thumbnail (thumbnail_factory, uri, mtime);
++ gnome_desktop_thumbnail_factory_create_failed_thumbnail (thumbnail_factory, uri, mtime);
+ }
+ }
+ return pixbuf;
diff --git a/x11/gnome-shell/pkg-descr b/x11/gnome-shell/pkg-descr
new file mode 100644
index 000000000..693aa3b6e
--- /dev/null
+++ b/x11/gnome-shell/pkg-descr
@@ -0,0 +1,3 @@
+Next generation GNOME desktop shell
+
+WWW: http://live.gnome.org/GnomeShell
diff --git a/x11/gnome-shell/pkg-message b/x11/gnome-shell/pkg-message
new file mode 100644
index 000000000..e00823112
--- /dev/null
+++ b/x11/gnome-shell/pkg-message
@@ -0,0 +1,33 @@
+Running
+
+You can either start gnome-shell "nested" in a window within your current
+session, or you can run it within your session replacing gnome-panel and
+window manager.
+
+Depending on the state of your X drivers, one or of the other of these may
+work better. So, if the first one you try doesn't work, try the other.
+
+====
+
+Running gnome-shell replacing the panel
+
+This approach is best when trying out the GNOME Shell and wanting to see its
+full potential.
+
+gnome-shell --replace
+
+When gnome-shell exits (you can kill it with Control-C in the terminal in which
+you started it), gnome-panel and metacity are restarted.
+
+====
+
+Running gnome-shell nested
+
+This approach is useful when developing the GNOME Shell and wanting to quickly
+test some changes. NOTE: It isn't useful for getting a good feel for how the
+shell works since it will be really slow, and won't properly integrate with
+the rest of your desktop.
+
+gnome-shell
+(This requires a relatively recent version of Xephyr with GLX support to be
+installed on your system (x11-servers/xephyr).
diff --git a/x11/gnome-shell/pkg-plist b/x11/gnome-shell/pkg-plist
new file mode 100644
index 000000000..f04b39f9d
--- /dev/null
+++ b/x11/gnome-shell/pkg-plist
@@ -0,0 +1,42 @@
+bin/gnome-shell
+lib/gnome-shell/Big-1.0.typelib
+lib/gnome-shell/Shell-0.1.typelib
+lib/gnome-shell/Tidy-1.0.typelib
+lib/mutter/plugins/libgnome-shell.a
+lib/mutter/plugins/libgnome-shell.la
+lib/mutter/plugins/libgnome-shell.so
+share/applications/gnome-shell.desktop
+share/gnome-shell/images/add-workspace.svg
+share/gnome-shell/images/close.svg
+share/gnome-shell/images/info.svg
+share/gnome-shell/images/remove-workspace.svg
+share/gnome-shell/images/view-more-activated.svg
+share/gnome-shell/images/view-more.svg
+share/gnome-shell/js/misc/docInfo.js
+share/gnome-shell/js/ui/altTab.js
+share/gnome-shell/js/ui/appDisplay.js
+share/gnome-shell/js/ui/button.js
+share/gnome-shell/js/ui/chrome.js
+share/gnome-shell/js/ui/dash.js
+share/gnome-shell/js/ui/dnd.js
+share/gnome-shell/js/ui/docDisplay.js
+share/gnome-shell/js/ui/genericDisplay.js
+share/gnome-shell/js/ui/link.js
+share/gnome-shell/js/ui/lookingGlass.js
+share/gnome-shell/js/ui/main.js
+share/gnome-shell/js/ui/overlay.js
+share/gnome-shell/js/ui/panel.js
+share/gnome-shell/js/ui/places.js
+share/gnome-shell/js/ui/runDialog.js
+share/gnome-shell/js/ui/sidebar.js
+share/gnome-shell/js/ui/tweener.js
+share/gnome-shell/js/ui/widget.js
+share/gnome-shell/js/ui/widgetBox.js
+share/gnome-shell/js/ui/windowManager.js
+share/gnome-shell/js/ui/workspaces.js
+@dirrm share/gnome-shell/js/ui
+@dirrm share/gnome-shell/js/misc
+@dirrm share/gnome-shell/js
+@dirrm share/gnome-shell/images
+@dirrm share/gnome-shell
+@dirrm lib/gnome-shell