Date: Monday, April 8, 2013 @ 23:48:04 Author: bgyorgy Revision: 87936
upgpkg: gnome-panel 3.6.2-2 - Rebuild for GNOME 3.8 - Remove from gnome group - Add better description - General cleanup Added: gnome-panel/trunk/drop-gweather-xml-include.patch gnome-panel/trunk/gnome-desktop-3.8.patch Modified: gnome-panel/trunk/PKGBUILD gnome-panel/trunk/gnome-panel.install ---------------------------------+ PKGBUILD | 51 +++++---- drop-gweather-xml-include.patch | 10 + gnome-desktop-3.8.patch | 199 ++++++++++++++++++++++++++++++++++++++ gnome-panel.install | 14 -- 4 files changed, 239 insertions(+), 35 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-04-08 20:59:14 UTC (rev 87935) +++ PKGBUILD 2013-04-08 21:48:04 UTC (rev 87936) @@ -1,38 +1,45 @@ # $Id$ -# Maintainer: Jan de Groot <j...@archlinux.org> +# Maintainer: Balló György <ballogyor+arch at gmail dot com> +# Contributor: Jan de Groot <j...@archlinux.org> pkgname=gnome-panel pkgver=3.6.2 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('GPL') -pkgdesc="The GNOME Panel" -url="http://www.gnome.org" -depends=('gnome-menus' 'gnome-desktop' 'evolution-data-server' 'librsvg' 'libwnck3' 'libsm' 'dconf' - 'gconf' 'telepathy-glib') -makedepends=('yelp-tools' 'intltool' 'gobject-introspection' 'networkmanager' 'libcanberra') -install=gnome-panel.install -groups=('gnome') -provides=("gnome-panel-bonobo=${pkgver}") -options=('!libtool' '!emptydirs') -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) -sha256sums=('a41c45c5512e796b8602ce50bf0d205993eab364c860aae31afa582d77b77079') +pkgdesc="Provides the window list, workspace switcher, menus, and other features for GNOME" +url="https://git.gnome.org/browse/gnome-panel/" +depends=('dconf' 'evolution-data-server' 'gconf' 'gnome-desktop' 'gnome-menus' 'librsvg' + 'libwnck3' 'telepathy-glib') +makedepends=('gobject-introspection' 'intltool' 'itstool' 'networkmanager') +install=$pkgname.install +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz + gnome-desktop-3.8.patch + drop-gweather-xml-include.patch) +sha256sums=('a41c45c5512e796b8602ce50bf0d205993eab364c860aae31afa582d77b77079' + '3a67f4b07a7dd356fad6b40a43983f3945123ed40080eb153396a481b34efc0c' + 'e3298c62bc577969817c5d6752be83a5129004fd344e4f7998a0d8aa61874305') build() { cd "$pkgname-$pkgver" - PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static \ - --libexecdir=/usr/lib/gnome-panel \ - --disable-scrollkeeper \ - --disable-schemas-compile + + # Port to gnome-desktop 3.8 + patch -Np1 -i "$srcdir/gnome-desktop-3.8.patch" + + # Fix build with libgweather 3.8 + patch -Np0 -i "$srcdir/drop-gweather-xml-include.patch" + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ + --disable-static --disable-schemas-compile \ + PYTHON=/usr/bin/python2 make } package() { cd "$pkgname-$pkgver" - make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" install - install -m755 -d "$pkgdir/usr/share/gconf/schemas" - gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" --domain gnome-panel-3.0 "$pkgdir"/etc/gconf/schemas/*.schemas - rm -f "$pkgdir"/etc/gconf/schemas/*.schemas + # Remove unneeded script + rm "$pkgdir/usr/lib/gnome-panel/gnome-panel-add" } Added: drop-gweather-xml-include.patch =================================================================== --- drop-gweather-xml-include.patch (rev 0) +++ drop-gweather-xml-include.patch 2013-04-08 21:48:04 UTC (rev 87936) @@ -0,0 +1,10 @@ +--- applets/clock/clock.c.orig 2012-12-25 14:38:00.101601746 -0600 ++++ applets/clock/clock.c 2012-12-25 14:38:30.331443803 -0600 +@@ -54,7 +54,6 @@ + #define GNOME_DESKTOP_USE_UNSTABLE_API + #include <libgnome-desktop/gnome-wall-clock.h> + +-#include <libgweather/gweather-xml.h> + #include <libgweather/location-entry.h> + #include <libgweather/timezone-menu.h> + #include <libgweather/gweather-enum-types.h> Added: gnome-desktop-3.8.patch =================================================================== --- gnome-desktop-3.8.patch (rev 0) +++ gnome-desktop-3.8.patch 2013-04-08 21:48:04 UTC (rev 87936) @@ -0,0 +1,199 @@ +diff -Naur gnome-panel-3.6.2.orig/applets/clock/calendar-window.c gnome-panel-3.6.2/applets/clock/calendar-window.c +--- gnome-panel-3.6.2.orig/applets/clock/calendar-window.c 2012-11-12 18:35:17.000000000 +0100 ++++ gnome-panel-3.6.2/applets/clock/calendar-window.c 2013-04-08 23:10:30.451012763 +0200 +@@ -42,9 +42,6 @@ + #include <glib/gi18n.h> + #include <gio/gio.h> + +-#define GNOME_DESKTOP_USE_UNSTABLE_API +-#include <libgnome-desktop/gnome-desktop-utils.h> +- + #include "calendar-window.h" + + #include "clock.h" +@@ -168,6 +165,13 @@ + return; + } + ++ /* FIXME: reintroduce terminal support if a proper GAppInfo port of gnome-panel is ever done */ ++ if (terminal) { ++ g_printerr ("Terminal-based calendar/tasks applications are no longer supported, sorry. " ++ "Please configure a different application.\n"); ++ return; ++ } ++ + command_line = g_find_program_in_path (program); + if (command_line == NULL) { + g_printerr ("Cannot launch calendar/tasks application: %s in path\n", program); +@@ -189,9 +193,6 @@ + screen = gtk_widget_get_screen (calwin->priv->calendar); + error = NULL; + +- if (terminal) +- gnome_desktop_prepend_terminal_to_vector (&argc, &argv); +- + display = gdk_screen_make_display_name (screen); + + result = g_spawn_async (NULL, /* working directory */ +diff -Naur gnome-panel-3.6.2.orig/gnome-panel/panel-run-dialog.c gnome-panel-3.6.2/gnome-panel/panel-run-dialog.c +--- gnome-panel-3.6.2.orig/gnome-panel/panel-run-dialog.c 2012-11-12 18:35:17.000000000 +0100 ++++ gnome-panel-3.6.2/gnome-panel/panel-run-dialog.c 2013-04-08 23:10:52.408175181 +0200 +@@ -25,6 +25,7 @@ + * Havoc Pennington <h...@pobox.com> + * George Lebl <ji...@5z.com> + * Mark McLoughlin <m...@skynet.ie> ++ * Tom Tromey (Copyright (C) 1998) + */ + + #include <config.h> +@@ -42,8 +43,6 @@ + #include <gdk/gdkkeysyms.h> + #include <gmenu-tree.h> + +-#include <libgnome-desktop/gnome-desktop-utils.h> +- + #include <libpanel-util/panel-error.h> + #include <libpanel-util/panel-glib.h> + #include <libpanel-util/panel-gtk.h> +@@ -335,6 +334,132 @@ + */ + } + ++ ++/** ++ * panel_run_dialog_prepend_terminal_to_vector: ++ * @argc: a pointer to the vector size ++ * @argv: a pointer to the vector ++ * ++ * Description: Prepends a terminal (either the one configured as default in ++ * the user's GNOME setup, or one of the common xterm emulators) to the passed ++ * in vector, modifying it in the process. The vector should be allocated with ++ * #g_malloc, as this will #g_free the original vector. Also all elements must ++ * have been allocated separately. That is the standard glib/GNOME way of ++ * doing vectors however. If the integer that @argc points to is negative, the ++ * size will first be computed. Also note that passing in pointers to a vector ++ * that is empty, will just create a new vector for you. ++ **/ ++/* TODO: throw out this function if there ever is a proper GAppInfo port */ ++static void ++panel_run_dialog_prepend_terminal_to_vector (int *argc, char ***argv) ++{ ++ char **real_argv; ++ int real_argc; ++ int i, j; ++ char **term_argv = NULL; ++ int term_argc = 0; ++ GSettings *settings; ++ ++ gchar *terminal = NULL; ++ ++ char **the_argv; ++ ++ g_return_if_fail (argc != NULL); ++ g_return_if_fail (argv != NULL); ++ ++ /* sanity */ ++ if(*argv == NULL) ++ *argc = 0; ++ ++ the_argv = *argv; ++ ++ /* compute size if not given */ ++ if (*argc < 0) { ++ for (i = 0; the_argv[i] != NULL; i++) ++ ; ++ *argc = i; ++ } ++ ++ settings = g_settings_new ("org.gnome.desktop.default-applications.terminal"); ++ terminal = g_settings_get_string (settings, "exec"); ++ ++ if (terminal) { ++ gchar *command_line; ++ gchar *exec_flag; ++ ++ exec_flag = g_settings_get_string (settings, "exec-arg"); ++ ++ if (exec_flag == NULL) ++ command_line = g_strdup (terminal); ++ else ++ command_line = g_strdup_printf ("%s %s", terminal, ++ exec_flag); ++ ++ g_shell_parse_argv (command_line, ++ &term_argc, ++ &term_argv, ++ NULL /* error */); ++ ++ g_free (command_line); ++ g_free (exec_flag); ++ g_free (terminal); ++ } ++ ++ g_object_unref (settings); ++ ++ if (term_argv == NULL) { ++ char *check; ++ ++ term_argc = 2; ++ term_argv = g_new0 (char *, 3); ++ ++ check = g_find_program_in_path ("gnome-terminal"); ++ if (check != NULL) { ++ term_argv[0] = check; ++ /* Note that gnome-terminal takes -x and ++ * as -e in gnome-terminal is broken we use that. */ ++ term_argv[1] = g_strdup ("-x"); ++ } else { ++ if (check == NULL) ++ check = g_find_program_in_path ("nxterm"); ++ if (check == NULL) ++ check = g_find_program_in_path ("color-xterm"); ++ if (check == NULL) ++ check = g_find_program_in_path ("rxvt"); ++ if (check == NULL) ++ check = g_find_program_in_path ("xterm"); ++ if (check == NULL) ++ check = g_find_program_in_path ("dtterm"); ++ if (check == NULL) { ++ g_warning (_("Cannot find a terminal, using " ++ "xterm, even if it may not work")); ++ check = g_strdup ("xterm"); ++ } ++ term_argv[0] = check; ++ term_argv[1] = g_strdup ("-e"); ++ } ++ } ++ ++ real_argc = term_argc + *argc; ++ real_argv = g_new (char *, real_argc + 1); ++ ++ for (i = 0; i < term_argc; i++) ++ real_argv[i] = term_argv[i]; ++ ++ for (j = 0; j < *argc; j++, i++) ++ real_argv[i] = (char *)the_argv[j]; ++ ++ real_argv[i] = NULL; ++ ++ g_free (*argv); ++ *argv = real_argv; ++ *argc = real_argc; ++ ++ /* we use g_free here as we sucked all the inner strings ++ * out from it into real_argv */ ++ g_free (term_argv); ++} ++ + static gboolean + panel_run_dialog_launch_command (PanelRunDialog *dialog, + const char *command, +@@ -354,7 +479,7 @@ + screen = gtk_window_get_screen (GTK_WINDOW (dialog->run_dialog)); + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->terminal_checkbox))) +- gnome_desktop_prepend_terminal_to_vector (&argc, &argv); ++ panel_run_dialog_prepend_terminal_to_vector (&argc, &argv); + + display = gdk_screen_make_display_name (screen); + Modified: gnome-panel.install =================================================================== --- gnome-panel.install 2013-04-08 20:59:14 UTC (rev 87935) +++ gnome-panel.install 2013-04-08 21:48:04 UTC (rev 87936) @@ -1,24 +1,12 @@ -pkgname=gnome-panel - post_install() { - gconfpkg --install $pkgname glib-compile-schemas /usr/share/glib-2.0/schemas gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor } -pre_upgrade() { - pre_remove -} - post_upgrade() { post_install } -pre_remove() { - gconfpkg --uninstall $pkgname -} - post_remove() { - glib-compile-schemas /usr/share/glib-2.0/schemas - gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + post_install }