Add a somewhat basic window manager
authorEric Andersen <andersen@codepoet.org>
Mon, 15 Jan 2007 22:34:53 +0000 (22:34 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 15 Jan 2007 22:34:53 +0000 (22:34 -0000)
package/metacity/Config.in [new file with mode: 0644]
package/metacity/Xsession [new file with mode: 0755]
package/metacity/metacity-gconf.patch [new file with mode: 0644]
package/metacity/metacity-nopo.patch [new file with mode: 0644]
package/metacity/metacity.mk [new file with mode: 0644]

diff --git a/package/metacity/Config.in b/package/metacity/Config.in
new file mode 100644 (file)
index 0000000..5b9bff7
--- /dev/null
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_METACITY
+       bool "metacity"
+       select BR2_PACKAGE_XORG
+       select BR2_PACKAGE_LIBGTK2
+       default n
+       help
+         Metacity is a window manager for the X Window System.
diff --git a/package/metacity/Xsession b/package/metacity/Xsession
new file mode 100755 (executable)
index 0000000..7225921
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+export GDK_USE_XFT=1
+export LANG="en_US.UTF-8"
+export LC_ALL="en_US.UTF-8"
+/usr/bin/X11/rxvt -bg black -fg gray90 &
+exec /bin/metacity
diff --git a/package/metacity/metacity-gconf.patch b/package/metacity/metacity-gconf.patch
new file mode 100644 (file)
index 0000000..b513b06
--- /dev/null
@@ -0,0 +1,18 @@
+--- metacity-2.17.3/src/prefs.c.orig   2007-01-12 21:42:53.000000000 -0700
++++ metacity-2.17.3/src/prefs.c        2007-01-12 21:45:21.000000000 -0700
+@@ -2277,6 +2277,7 @@
+       key = g_strconcat (KEY_SCREEN_BINDINGS_PREFIX, "/",
+                          binding->name, NULL);
+       
++#ifdef HAVE_GCONF
+       gconf_client_set_string (gconf_client_get_default (),
+                                key, old_setting, &err);
+@@ -2287,6 +2288,7 @@
+           g_error_free (err);
+           err = NULL;
+         }
++#endif
+       
+       g_free (old_setting);
+       g_free (key);
diff --git a/package/metacity/metacity-nopo.patch b/package/metacity/metacity-nopo.patch
new file mode 100644 (file)
index 0000000..3528353
--- /dev/null
@@ -0,0 +1,20 @@
+--- metacity-2.17.3/Makefile.am.orig   2007-01-14 16:50:52.000000000 -0700
++++ metacity-2.17.3/Makefile.am        2007-01-14 16:51:46.000000000 -0700
+@@ -1,5 +1,5 @@
+-SUBDIRS=src po doc
++SUBDIRS=src
+ EXTRA_DIST=HACKING rationales.txt \
+       intltool-extract.in intltool-merge.in intltool-update.in
+--- metacity-2.17.3/Makefile.in.orig   2007-01-14 16:51:38.000000000 -0700
++++ metacity-2.17.3/Makefile.in        2007-01-14 16:51:58.000000000 -0700
+@@ -246,7 +246,7 @@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+-SUBDIRS = src po doc
++SUBDIRS = src
+ EXTRA_DIST = HACKING rationales.txt \
+       intltool-extract.in intltool-merge.in intltool-update.in
diff --git a/package/metacity/metacity.mk b/package/metacity/metacity.mk
new file mode 100644 (file)
index 0000000..0cf83e8
--- /dev/null
@@ -0,0 +1,142 @@
+#############################################################
+#
+# metacity
+#
+#############################################################
+
+METACITY_VER:=2.17.3
+METACITY_SOURCE:=metacity-$(METACITY_VER).tar.bz2
+METACITY_SITE:=http://ftp.gnome.org/pub/gnome/sources/metacity/2.17
+METACITY_DIR:=$(BUILD_DIR)/metacity-$(METACITY_VER)
+METACITY_CAT:=$(BZCAT)
+
+$(DL_DIR)/$(METACITY_SOURCE):
+        $(WGET) -P $(DL_DIR) $(METACITY_SITE)/$(METACITY_SOURCE)
+
+metacity-source: $(DL_DIR)/$(METACITY_SOURCE)
+
+$(METACITY_DIR)/.unpacked: $(DL_DIR)/$(METACITY_SOURCE)
+       $(METACITY_CAT) $(DL_DIR)/$(METACITY_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       toolchain/patch-kernel.sh $(METACITY_DIR) package/metacity/ \*.patch*
+       (cd $(METACITY_DIR); libtoolize --force;)
+       $(CONFIG_UPDATE) $(METACITY_DIR)
+       (cd $(METACITY_DIR); autoconf;)
+       touch $(METACITY_DIR)/.unpacked
+
+$(METACITY_DIR)/.configured: $(METACITY_DIR)/.unpacked
+       (cd $(METACITY_DIR); rm -rf config.cache; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               ./configure \
+               PKG_CONFIG=$(STAGING_DIR)/usr/bin/pkg-config \
+               GLIB_CONFIG=$(STAGING_DIR)/bin/glib-config \
+               ac_cv_func_mmap_fixed_mapped=yes \
+               ac_cv_func_posix_getpwuid_r=yes \
+               glib_cv_stack_grows=no \
+               glib_cv_uscore=no \
+               ac_cv_func_strtod=yes \
+               ac_fsusage_space=yes \
+               fu_cv_sys_stat_statfs2_bsize=yes \
+               ac_cv_func_closedir_void=no \
+               ac_cv_func_getloadavg=no \
+               ac_cv_lib_util_getloadavg=no \
+               ac_cv_lib_getloadavg_getloadavg=no \
+               ac_cv_func_getgroups=yes \
+               ac_cv_func_getgroups_works=yes \
+               ac_cv_func_chown_works=yes \
+               ac_cv_have_decl_euidaccess=no \
+               ac_cv_func_euidaccess=no \
+               ac_cv_have_decl_strnlen=yes \
+               ac_cv_func_strnlen_working=yes \
+               ac_cv_func_lstat_dereferences_slashed_symlink=yes \
+               ac_cv_func_lstat_empty_string_bug=no \
+               ac_cv_func_stat_empty_string_bug=no \
+               vb_cv_func_rename_trailing_slash_bug=no \
+               ac_cv_have_decl_nanosleep=yes \
+               jm_cv_func_nanosleep_works=yes \
+               gl_cv_func_working_utimes=yes \
+               ac_cv_func_utime_null=yes \
+               ac_cv_have_decl_strerror_r=yes \
+               ac_cv_func_strerror_r_char_p=no \
+               jm_cv_func_svid_putenv=yes \
+               ac_cv_func_getcwd_null=yes \
+               ac_cv_func_getdelim=yes \
+               ac_cv_func_mkstemp=yes \
+               utils_cv_func_mkstemp_limitations=no \
+               utils_cv_func_mkdir_trailing_slash_bug=no \
+               ac_cv_func_memcmp_working=yes \
+               ac_cv_have_decl_malloc=yes \
+               gl_cv_func_malloc_0_nonnull=yes \
+               ac_cv_func_malloc_0_nonnull=yes \
+               ac_cv_func_calloc_0_nonnull=yes \
+               ac_cv_func_realloc_0_nonnull=yes \
+               jm_cv_func_gettimeofday_clobber=no \
+               gl_cv_func_working_readdir=yes \
+               jm_ac_cv_func_link_follows_symlink=no \
+               utils_cv_localtime_cache=no \
+               ac_cv_struct_st_mtim_nsec=no \
+               gl_cv_func_tzset_clobber=no \
+               gl_cv_func_getcwd_null=yes \
+               gl_cv_func_getcwd_path_max=yes \
+               ac_cv_func_fnmatch_gnu=yes \
+               am_getline_needs_run_time_check=no \
+               am_cv_func_working_getline=yes \
+               gl_cv_func_mkdir_trailing_slash_bug=no \
+               gl_cv_func_mkstemp_limitations=no \
+               ac_cv_func_working_mktime=yes \
+               jm_cv_func_working_re_compile_pattern=yes \
+               ac_use_included_regex=no \
+               gl_cv_c_restrict=no \
+               ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --exec_prefix=/ \
+               --libexecdir=/ \
+               --libdir=/lib \
+               --x-includes=$(STAGING_DIR)/usr/X11R6/include \
+               --x-libraries=$(STAGING_DIR)/usr/X11R6/lib \
+               --disable-glibtest \
+               --disable-gconf \
+               --disable-dependency-tracking \
+               --disable-sm \
+               --disable-nls \
+               --disable-startup-notification \
+       );
+       touch $(METACITY_DIR)/.configured
+
+$(METACITY_DIR)/.compiled: $(METACITY_DIR)/.configured
+       $(MAKE) -C $(METACITY_DIR)
+       touch $(METACITY_DIR)/.compiled
+
+$(STAGING_DIR)/lib/*metacity*.so: $(METACITY_DIR)/.compiled
+       $(MAKE) DESTDIR=$(STAGING_DIR) -C $(METACITY_DIR) install;
+       touch -c $(STAGING_DIR)/lib/*metacity*.so
+
+$(TARGET_DIR)/lib/*metacity*.so: $(STAGING_DIR)/lib/*metacity*.so
+       cp -dpf $(STAGING_DIR)/lib/*metacity*.so* $(TARGET_DIR)/lib/
+       -$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/*metacity*.so
+       cp -dpf $(STAGING_DIR)/bin/*metacity* $(TARGET_DIR)/bin/
+       mkdir -p $(TARGET_DIR)/usr/share/metacity/icons
+       cp -dpf $(STAGING_DIR)/usr/share/metacity/icons/* $(TARGET_DIR)/usr/share/metacity/icons/
+       mkdir -p $(TARGET_DIR)/usr/share/themes
+       cp -a $(STAGING_DIR)/usr/share/themes/* $(TARGET_DIR)/usr/share/themes/
+       cp -a package/metacity/Xsession $(TARGET_DIR)/etc/X11/
+
+metacity: uclibc zlib xorg libgtk2 $(TARGET_DIR)/lib/*metacity*.so
+
+metacity-clean:
+       -$(MAKE) -C $(METACITY_DIR) clean
+
+metacity-dirclean:
+       rm -rf $(METACITY_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_METACITY)),y)
+TARGETS+=metacity
+endif