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
 }

Reply via email to