Date: Monday, January 22, 2018 @ 17:25:59 Author: bgyorgy Revision: 285010
upgpkg: grsync 1.2.6-3 Adopt the package, port to GTK+ 3 Added: grsync/trunk/gtk3-port.patch Modified: grsync/trunk/PKGBUILD -----------------+ PKGBUILD | 34 ++++++++---- gtk3-port.patch | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+), 12 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-01-22 17:25:51 UTC (rev 285009) +++ PKGBUILD 2018-01-22 17:25:59 UTC (rev 285010) @@ -1,26 +1,36 @@ # $Id$ -# Maintainer: Sergej Pupykin <[email protected]> -# Maintainer: William Rea <[email protected]> +# Maintainer: Balló György <ballogyor+arch at gmail dot com> +# Contributor: Sergej Pupykin <[email protected]> +# Contributor: William Rea <[email protected]> pkgname=grsync pkgver=1.2.6 -pkgrel=2 -pkgdesc="GTK GUI for rsync" +pkgrel=3 +pkgdesc="GTK+ GUI for rsync to synchronize folders, files and make backups" arch=('x86_64') -url="http://www.opbyte.it/grsync" +url="http://www.opbyte.it/grsync/" license=('GPL') -depends=('gtk2' 'rsync') -makedepends=('gettext' 'intltool') -source=(http://www.opbyte.it/release/grsync-$pkgver.tar.gz) -md5sums=('eb2b39e68a04ea5b9c92bcb7d9401e80') +depends=('gtk3' 'rsync') +makedepends=('intltool') +source=(http://www.opbyte.it/release/$pkgname-$pkgver.tar.gz + gtk3-port.patch) +sha256sums=('66d5acea5e6767d6ed2082e1c6e250fe809cb1e797cbbee5c8e8a2d28a895619' + '96d8911ee969b943ae0c69896d3d95271e9a794bfd8c8ce865282cd0c13011eb') +prepare() { + cd $pkgname-$pkgver + # Port to GTK+ 3 + patch -Np1 -i ../gtk3-port.patch + autoreconf -fi +} + build() { - cd "$srcdir"/grsync-$pkgver - [ $NOEXTRACT -eq 1 ] || LDFLAGS=-lm ./configure --prefix=/usr --disable-unity + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-unity make } package() { - cd "$srcdir"/grsync-$pkgver + cd $pkgname-$pkgver make DESTDIR="$pkgdir" install } Added: gtk3-port.patch =================================================================== --- gtk3-port.patch (rev 0) +++ gtk3-port.patch 2018-01-22 17:25:59 UTC (rev 285010) @@ -0,0 +1,142 @@ +diff -Naur grsync.orig/configure.in grsync/configure.in +--- grsync.orig/configure.in 2018-01-22 12:58:21.350217000 +0100 ++++ grsync/configure.in 2018-01-22 17:15:38.718528840 +0100 +@@ -14,6 +14,13 @@ + AM_PROG_CC_STDC + AC_HEADER_STDC + ++AC_ARG_ENABLE([gtk3], ++ [AC_HELP_STRING([--enable-gtk3], ++ [compile grsync against gtk+ 3.0 (default: yes)])], ++ [enable_gtk3="${enableval}"], ++ [enable_gtk3="yes"] ++) ++ + PKG_CHECK_EXISTS(maemo-version, [VERSIONOK=`$PKG_CONFIG --atleast-version=5 maemo-version` + if test x"$VERSIONOK" != x; then + AC_MSG_ERROR([You need at least Maemo 5.x for this release of Grsync]) +@@ -34,7 +41,13 @@ + MAEMO=0 + XMLFILE="grsync.glade" + AC_DEFINE_UNQUOTED(XMLFILE, ["$XMLFILE"], [UI Description XML File]) +-pkg_modules="gtk+-2.0 >= 2.16.0" ++ ++ if test x"$enable_gtk3" = x"yes"; then ++ GTK_API_VERSION="3.0" ++ else ++ GTK_API_VERSION="2.0" ++ fi ++ pkg_modules="gtk+-$GTK_API_VERSION >= 2.16.0" + OTHER_DESKTOP_ENTRIES="Icon=grsync.png" + MIMEINFO_XMLNS="xmlns='http://www.freedesktop.org/standards/shared-mime-info'" + MIME_OSSOCAT="" +diff -Naur grsync.orig/grsync.glade grsync/grsync.glade +--- grsync.orig/grsync.glade 2018-01-22 12:58:21.026876000 +0100 ++++ grsync/grsync.glade 2018-01-22 14:48:21.114182860 +0100 +@@ -322,7 +322,6 @@ + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="border_width">4</property> +- <property name="homogeneous">True</property> + <child> + <object class="GtkTable" id="table_basic"> + <property name="visible">True</property> +@@ -1313,7 +1312,6 @@ + <property name="skip_taskbar_hint">True</property> + <property name="skip_pager_hint">True</property> + <property name="transient_for">main_window</property> +- <property name="has_separator">False</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox1"> + <property name="visible">True</property> +@@ -1414,7 +1412,6 @@ + <property name="skip_taskbar_hint">True</property> + <property name="skip_pager_hint">True</property> + <property name="transient_for">main_window</property> +- <property name="has_separator">False</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox2"> + <property name="visible">True</property> +@@ -1651,7 +1648,6 @@ + <property name="skip_pager_hint">True</property> + <property name="urgency_hint">True</property> + <property name="transient_for">dialog_rsync</property> +- <property name="has_separator">False</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox3"> + <property name="visible">True</property> +@@ -1736,7 +1732,6 @@ + <property name="skip_taskbar_hint">True</property> + <property name="skip_pager_hint">True</property> + <property name="transient_for">main_window</property> +- <property name="has_separator">False</property> + <signal name="hide" handler="on_rsync_hide"/> + <signal name="show" handler="on_rsync_show"/> + <signal name="delete_event" handler="gtk_widget_hide_on_delete"/> +@@ -1930,7 +1925,6 @@ + <property name="skip_taskbar_hint">True</property> + <property name="skip_pager_hint">True</property> + <property name="transient_for">main_window</property> +- <property name="has_separator">False</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox5"> + <property name="visible">True</property> +diff -Naur grsync.orig/src/callbacks.c grsync/src/callbacks.c +--- grsync.orig/src/callbacks.c 2018-01-22 12:58:21.513554000 +0100 ++++ grsync/src/callbacks.c 2018-01-22 14:48:19.384135657 +0100 +@@ -58,7 +58,7 @@ + if (flag) { + if (trayIcon == NULL) { + trayIcon = gtk_status_icon_new_from_file(icon); +- g_signal_connect(GTK_STATUS_ICON(trayIcon), "activate", GTK_SIGNAL_FUNC(on_trayicon_activate), main_window); ++ g_signal_connect(GTK_STATUS_ICON(trayIcon), "activate", G_CALLBACK(on_trayicon_activate), main_window); + } + } else { + if (trayIcon != NULL) { +@@ -111,7 +111,7 @@ + void set_main_title(gchar* session, gchar* extra) { + gchar *stmp = g_strconcat("Grsync: ", session, " ", extra, NULL); + gtk_window_set_title((GtkWindow*) main_window, stmp); +- if (trayIcon != NULL) gtk_status_icon_set_tooltip(trayIcon, stmp); ++ if (trayIcon != NULL) gtk_status_icon_set_tooltip_text(trayIcon, stmp); + g_free(stmp); + } + +@@ -815,7 +815,7 @@ + } + + +-void on_main_destroy(GtkObject *object, gpointer user_data) { ++void on_main_destroy(GtkWidget *object, gpointer user_data) { + gint sel = gtk_combo_box_get_active((GtkComboBox*) gtk_builder_get_object(builder, "combo_session")); + save_settings(groups[sel], NULL); + g_strfreev(groups); +@@ -860,7 +860,7 @@ + gtk_widget_hide(rsync_window); + } + } +- if (cmdline_execute) on_main_destroy((GtkObject*) main_window, NULL); ++ if (cmdline_execute) on_main_destroy((GtkWidget*) main_window, NULL); + } + + +@@ -1177,7 +1177,7 @@ + } + + +-void on_rsync_hide(GtkObject *object, gpointer user_data) { ++void on_rsync_hide(GtkWidget *object, gpointer user_data) { + if (rsync_pid) { + if (paused) superkill(SIGCONT); + superkill(SIGTERM); +diff -Naur grsync.orig/src/main.c grsync/src/main.c +--- grsync.orig/src/main.c 2018-01-22 12:58:21.516888000 +0100 ++++ grsync/src/main.c 2018-01-22 14:48:22.214212877 +0100 +@@ -17,7 +17,6 @@ + textdomain(GETTEXT_PACKAGE); + #endif + +- gtk_set_locale(); + #ifdef MAEMO + hildon_gtk_init(&argc, &argv); + #else
