diff options
author | Alexander F. Rødseth | 2019-03-27 10:18:16 +0100 |
---|---|---|
committer | Alexander F. Rødseth | 2019-03-27 10:18:16 +0100 |
commit | b96116feefffaeef002369859f4eb2f5efbcb8d6 (patch) | |
tree | 6e8dc60d0e61ecbf6700c03bea68fed74937fcc1 | |
download | aur-gdesklets.tar.gz |
Move from [community] to AUR in connection with the spring cleaning
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | PKGBUILD | 68 | ||||
-rw-r--r-- | fix-vfs.patch | 11 | ||||
-rw-r--r-- | gdesklets-checkrequirements.patch | 251 | ||||
-rw-r--r-- | gdesklets-core-0.36.3-.in-files.patch | 149 | ||||
-rw-r--r-- | gdesklets-nopyorbit.patch | 13 | ||||
-rw-r--r-- | make-gconf-optional.patch | 36 |
7 files changed, 555 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..09c24e602611 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,27 @@ +# Generated by mksrcinfo v8 +# Wed Mar 27 09:15:58 UTC 2019 +pkgbase = gdesklets + pkgdesc = System for bringing mini programs (desklets) onto your desktop + pkgver = 0.36.3 + pkgrel = 9 + url = https://launchpad.net/gdesklets + arch = x86_64 + license = GPL + makedepends = intltool + depends = libgtop + depends = pygtk + source = https://launchpad.net/gdesklets/0.3x/release-of-0.36.3/+download/gdesklets-0.36.3.tar.bz2 + source = gdesklets-core-0.36.3-.in-files.patch + source = fix-vfs.patch + source = make-gconf-optional.patch + source = gdesklets-checkrequirements.patch + source = gdesklets-nopyorbit.patch + md5sums = 60c0c4e7301b3e653702b6fe5bf7e698 + md5sums = 27839bbefc2f6664ff31cff2d48dfeed + md5sums = 55ac07d16a571f29033495307c4d0f0c + md5sums = 45e81dd0fb20157bb840d006c3a4e2ea + md5sums = 00357de7be85d2842342fe0967943eb9 + md5sums = 3815a29c307c92ec5b427b3152a21714 + +pkgname = gdesklets + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..2d3d0fa5a23a --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,68 @@ +# Maintainer: +# Contributor: Balló György <ballogyor+arch at gmail dot com> +# Contributor: nifan <carlos@nifan.tk> +# Contributor: Roman Kyrylych <roman@archlinux.org> + +pkgname=gdesklets +pkgver=0.36.3 +pkgrel=9 +pkgdesc="System for bringing mini programs (desklets) onto your desktop" +arch=('x86_64') +url="https://launchpad.net/gdesklets" +license=('GPL') +depends=('libgtop' 'pygtk') +makedepends=('intltool') +source=(https://launchpad.net/gdesklets/0.3x/release-of-$pkgver/+download/$pkgname-$pkgver.tar.bz2 + gdesklets-core-0.36.3-.in-files.patch + fix-vfs.patch + make-gconf-optional.patch + gdesklets-checkrequirements.patch + gdesklets-nopyorbit.patch) +md5sums=('60c0c4e7301b3e653702b6fe5bf7e698' + '27839bbefc2f6664ff31cff2d48dfeed' + '55ac07d16a571f29033495307c4d0f0c' + '45e81dd0fb20157bb840d006c3a4e2ea' + '00357de7be85d2842342fe0967943eb9' + '3815a29c307c92ec5b427b3152a21714') + +prepare() { + cd $pkgname-$pkgver + + # Build fix + patch -Np0 -i ../gdesklets-core-0.36.3-.in-files.patch + + # Runtime fix without gnome-vfs + patch -Np1 -i ../fix-vfs.patch + + # Make gconf dependency optional + patch -Np1 -i ../make-gconf-optional.patch + + # Remove gnome-python and pyorbit dependencies + patch -Np1 -i ../gdesklets-nopyorbit.patch + + # Remove check for pyorbit, make bonobo.ui optional + patch -Np1 -i ../gdesklets-checkrequirements.patch + + # Python2 fix + find . -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@' + sed -i 's/python -c/$PYTHON -c/' configure.ac + sed -i 's/python/python2/' shell/plugins/PackageInstaller/__init__.py + + autoreconf -fi +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-update-check PYTHON=python2 + + #https://bugzilla.gnome.org/show_bug.cgi?id=656231 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/fix-vfs.patch b/fix-vfs.patch new file mode 100644 index 000000000000..34f51f5f6ec5 --- /dev/null +++ b/fix-vfs.patch @@ -0,0 +1,11 @@ +diff -Naur gdesklets-0.36.3.orig/utils/vfs.py gdesklets-0.36.3/utils/vfs.py +--- gdesklets-0.36.3.orig/utils/vfs.py 2008-03-20 00:00:59.000000000 +0100 ++++ gdesklets-0.36.3/utils/vfs.py 2012-01-10 03:40:42.026593299 +0100 +@@ -21,7 +21,6 @@ + OPEN_WRITE = gnomevfs.OPEN_WRITE + + except ImportError: +- log("Using urllib, because gnomevfs isn't available") + OPEN_READ = "r" + OPEN_WRITE = "w" + diff --git a/gdesklets-checkrequirements.patch b/gdesklets-checkrequirements.patch new file mode 100644 index 000000000000..e1b5000081d4 --- /dev/null +++ b/gdesklets-checkrequirements.patch @@ -0,0 +1,251 @@ +diff -Nurp gdesklets-0.36.3.orig/contrib/gdesklets-migration-tool gdesklets-0.36.3/contrib/gdesklets-migration-tool +--- gdesklets-0.36.3.orig/contrib/gdesklets-migration-tool 2009-08-28 21:40:50.000000000 +0100 ++++ gdesklets-0.36.3/contrib/gdesklets-migration-tool 1970-01-01 01:00:00.000000000 +0100 +@@ -1,206 +0,0 @@ +-#!/usr/bin/env python +-# +-# TODO: +-# -Add selectors for previous and current gDesklets versions +-# -Add command-line options for selecting the above +-# -Add command-line options for verbose configuration migrations +-# +-# +-import gtk, gconf +-import os, re, sys +-import fileinput +-import __builtin__ +- +-if "/usr/lib/gdesklets" not in sys.path: +- sys.path.append("/usr/lib/gdesklets") +- +-from utils import i18n +-from utils.HIGDialog import HIGDialog +- +-from config.StateSaver import DefaultStateSaver, StateSaver +- +-__builtin__._ = i18n.Translator("gdesklets") +- +-class MigrationTool: +- +- # Display the main window +- def __init__(self): +- +- m = "This tool will safely migrate your settings from old versions of " +- m += "gDesklets (0.3x.x series), so that they will work with versions " +- m += "0.35rc1 onwards.\n\n" +- +- # This message doesn't really apply, but I'm keeping it here +- # in case I forget how to do bold text or if we decide to keep +- # the old migration tool. +- #m += "If you are migrating from an earlier version, please run\n" +- #m += "<span weight=\"bold\">gdesklets-migration-tool</span> first." +- +- dialog = HIGDialog((gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,gtk.STOCK_OK, +- gtk.RESPONSE_OK), gtk.STOCK_DIALOG_INFO, +- "gDesklets Config Migration Tool", m) +- +- self.__config_path = "/apps/gdesklets" +- self.__gdesklets_path = os.path.join(os.getenv("HOME"), ".gdesklets") +- # Get the StateSaver structure for shell config (if any) +- self.__new_shell_cfg = DefaultStateSaver() +- self.__old_shell_cfg = self.__config_path + "/shell" +- +- dialog.connect("response", self.__response) +- +- # Check if ~/.gdesklets exists +- if (not os.path.exists(self.__gdesklets_path)): +- print ("You don't have a working version of gDesklets! (~/.gdesklets not found)\nExiting!") +- sys.exit(1) +- +- try: +- self.__displays_file = self.__gdesklets_path + "/displays" +- except: +- print "Can't find ~/.gdesklets/displays" +- sys.exit(1) +- +- # Get IDs from each display in the ~/.gdesklets/displays file +- self.__displays = [] +- +- # Probably a better way to do it than with fileinput +- for i in fileinput.input(self.__displays_file): +- if i.startswith("id"): +- l = i.split(" ") +- self.__displays.append(l[0] + "CONFIG") +- +- dialog.show() +- +- +- def __response(self, dialog, response): +- +- if (response == gtk.RESPONSE_OK): +- dialog.hide() +- self.__show_warning(dialog) +- elif (response == gtk.RESPONSE_YES): +- dialog.hide() +- self.__migrate(dialog) +- else: gtk.main_quit() +- +- +- def __show_warning(self, dialog): +- +- m = "This will overwrite any existing settings from 0.35rc1 on up!\n" +- m += "Do you wish to continue?" +- +- dialog = HIGDialog((gtk.STOCK_NO, gtk.RESPONSE_NO, +- gtk.STOCK_YES, gtk.RESPONSE_YES), +- gtk.STOCK_DIALOG_QUESTION, "Warning!", m) +- dialog.connect("response", self.__response) +- dialog.show() +- +- +- def __show_finished(self, dialog): +- +- dialog = HIGDialog((gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE), +- gtk.STOCK_DIALOG_INFO, "Migration successful!", +- "Settings have been migrated succesfully") +- dialog.connect("response", self.__response) +- dialog.show() +- +- # This is just a dummy function to see what's in +- # the states file. It's not called except when testing :) +- def __list(self, dialog): +- +- m = "" +- +- for d in self.__displays: +- +- s = StateSaver(d) +- for l in s.list(): +- m += str(s.get_key(l)) +- m += "\n" +- m += "\n\n" +- +- dialog = HIGDialog((gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE), +- gtk.STOCK_DIALOG_INFO, "List", m) +- +- dialog.connect("response", self.__response) +- dialog.show() +- +- def __migrate(self, dialog): +- +- # we assume they have a config to start with +- noconfig = False; +- +- # set up gconf client +- self.__client = gconf.client_get_default() +- self.__client.add_dir(self.__config_path, gconf.CLIENT_PRELOAD_RECURSIVE) +- +- # open the new output files +- #d_cfile = open(self.__displays_file, "w") +- +- for d in self.__displays: +- +- cur_id = d[0:len(d) - len("CONFIG")] # This display's id +- s = StateSaver(d) # StateSaver for this display +- +- for entry in self.__client.all_entries(self.__config_path + "/" + cur_id): +- +- key = entry.get_key() +- +- # Each key had a corresponding key_TYPE variable +- # that indicated the type of configuration stored. +- # It seems tests like the following are necessary to +- # get the right type from gconf. +- if key.endswith("_TYPE"): +- +- typ = self.__client.get_string(key) # Type of variable stored +- key_result = key[0:key.rfind("_TYPE")] # Actual key +- +- # Get the value from key_result +- if typ == "bool": +- value = self.__client.get_bool(key_result) +- elif typ == "string": +- value = self.__client.get_string(key_result) +- elif typ == "int": +- value = self.__client.get_int(key_result) +- elif typ == "float": +- value = self.__client.get_string(key_result) +- +- key_result = key_result[key_result.rfind("/")+1:] +- #print key_result + " : " + str( (value,typ) ) +- +- s.set_key(key_result, (value,typ)) +- +- #print str(s.list()) +- +- # Done with the displays, now migrate the shell configuration +- for entry in self.__client.all_entries(self.__old_shell_cfg): +- +- key = entry.get_key() +- +- # Find out which key it is +- # Are all of these valid from < 0.35_rc1? +- if key == "current_tip": +- value = self.__client.get_int(key) +- elif key == "show_tip_of_the_day": +- value = self.__client.get_bool(key) +- elif key == "editor": +- value = self.__client.get_string(key) +- elif key == "dpi": +- value = self.__client.get_int(key) +- elif key == "translucency": +- value = self.__client.get_string(key) +- elif key == "authorized_commands": +- value = self.__client.get_string(key) +- +- # Transform the key to just it's value, not the +- # entire gconf path +- key = key[key.rfind("/")+1:] +- +- self.__new_shell_cfg.set_key(key, value) +- +- # we are done... +- self.__show_finished(dialog) +- +- +- +-if __name__ == "__main__": +- +- MigrationTool() +- gtk.main() +diff -Nurp gdesklets-0.36.3.orig/gdesklets gdesklets-0.36.3/gdesklets +--- gdesklets-0.36.3.orig/gdesklets 2010-07-24 17:42:10.000000000 +0100 ++++ gdesklets-0.36.3/gdesklets 2015-08-06 04:55:04.174117347 +0100 +@@ -67,14 +67,9 @@ def check_system(): + {"pygtk_ver": "2.10.0", "gtk_ver": "2.10.0"}, + True + ), +- ( ("ORBit",), lambda m : m.__version__ >= (2, 0, 1), +- _("ORBit python bindings (pyorbit) version >= %(pyorbit_ver)s " +- "are required.") % {"pyorbit_ver": "2.0.1"}, +- True +- ), + ( ("bonobo.ui",), lambda m : m, + _("bonobo python bindings are required."), +- True ++ False + ), + ( ("dbus",), lambda m : m, + _("DBus python bindings are useful, but optional."), +diff -Nurp gdesklets-0.36.3.orig/Makefile_gdesklets.am gdesklets-0.36.3/Makefile_gdesklets.am +--- gdesklets-0.36.3.orig/Makefile_gdesklets.am 2011-01-13 14:30:26.000000000 +0000 ++++ gdesklets-0.36.3/Makefile_gdesklets.am 2015-08-06 05:06:54.596074228 +0100 +@@ -12,7 +12,6 @@ dist_install_SCRIPTS = \ + gdesklets \ + gdesklets-daemon \ + gdesklets-logview \ +- contrib/gdesklets-migration-tool \ + gdesklets-shell \ + test-control.py + +diff -Nurp gdesklets-0.36.3.orig/Makefile.in gdesklets-0.36.3/Makefile.in +--- gdesklets-0.36.3.orig/Makefile.in 2011-01-23 19:56:08.000000000 +0000 ++++ gdesklets-0.36.3/Makefile.in 2015-08-06 05:07:06.862211403 +0100 +@@ -391,7 +391,6 @@ dist_install_SCRIPTS = \ + gdesklets \ + gdesklets-daemon \ + gdesklets-logview \ +- contrib/gdesklets-migration-tool \ + gdesklets-shell \ + test-control.py + diff --git a/gdesklets-core-0.36.3-.in-files.patch b/gdesklets-core-0.36.3-.in-files.patch new file mode 100644 index 000000000000..fc8753e46c85 --- /dev/null +++ b/gdesklets-core-0.36.3-.in-files.patch @@ -0,0 +1,149 @@ +=== modified file 'Makefile.am' +--- Makefile.am 2010-12-14 10:24:59 +0000 ++++ Makefile.am 2011-01-31 01:20:58 +0000 +@@ -11,8 +11,12 @@ + autostartdir = $(sysconfdir)/xdg/autostart + sharedmimepackagedir = $(datadir)/mime/packages + mimeicondir = $(datadir)/icons/gnome/48x48/mimetypes ++pixmapdir = $(datadir)/pixmaps + basicdeskletsdir = ${installdir} + ++# initialize this so we can add to it later ++nobase_dist_install_DATA = ++ + include Makefile_gdesklets.am + include Makefile_python.am + + +=== modified file 'Makefile_gdesklets.am' +--- Makefile_gdesklets.am 2011-01-06 11:01:06 +0000 ++++ Makefile_gdesklets.am 2011-01-31 01:20:58 +0000 +@@ -1,12 +1,14 @@ + # Set the LDFLAGS for this section + AM_LDFLAGS = -module -avoid-version -as-needed + ++# Libraries that get installed in these exact subdirectories + nobase_install_LTLIBRARIES = \ + libdesklets/system/gtop.la \ + utils/svg.la \ + utils/tiling.la \ + utils/x11.la + ++# Scripts that get distributed and installed + dist_install_SCRIPTS = \ + ctrlinfo \ + gdesklets \ +@@ -16,38 +18,62 @@ + gdesklets-shell \ + test-control.py + ++# "System" scripts that get distributed but not installed + dist_noinst_SCRIPTS = autogen.sh + ++# Man page + dist_man_MANS = doc/man/gdesklets.1 + +-EXTRA_DIST = \ +- AUTHORS \ +- COPYING \ +- README \ +- TODO \ +- NEWS \ +- contrib/bash/gdesklets +- ++# The .desktop file ++desktop_in_files = data/gdesklets.desktop.in ++# The shared mime XML file ++sharedmimepackage_in_files = data/gdesklets.xml.in ++ ++# Other odds and ends that get distributed, but not installed ++# It's up to distro package maintainers to install these ++EXTRA_DIST = \ ++ AUTHORS \ ++ COPYING \ ++ README \ ++ TODO \ ++ NEWS \ ++ contrib/bash/gdesklets \ ++ $(desktop_in_files) \ ++ $(sharedmimepackage_in_files) ++ ++# Docs and images that get distributed and installed to these specific ++# directories ++nobase_dist_install_DATA += \ ++ doc/basic/gdesklets-doc.xml \ ++ doc/basic/Images/desklet-context-menu.png \ ++ doc/basic/Images/desklet-start-shell.png \ ++ doc/basic/Images/gdesklets.png \ ++ doc/basic/Images/open-command.png \ ++ doc/basic/Images/preferences.png \ ++ doc/basic/Images/profile.png \ ++ doc/basic/Images/remote.png \ ++ doc/basic/Images/shell.png \ ++ data/about.png \ ++ data/gdesklets.png ++ ++# Additional files that get cleaned by distclean + # See http://www.gnu.org/software/hello/manual/automake/Clean.html + CLEANFILES = \ + po/.intltool-merge-cache + + # The .desktop file +-desktop_in_files = data/gdesklets.desktop.in +-dist_desktop_DATA= $(desktop_in_files) + desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) + autostart_DATA = $(desktop_in_files:.desktop.in=.desktop) + @INTLTOOL_DESKTOP_RULE@ + + # The shared mime XML file +-sharedmimepackage_in_files = data/gdesklets.xml.in +-dist_sharedmimepackage_DATA = $(sharedmimepackage_in_files) + sharedmimepackage_DATA = $(sharedmimepackage_in_files:.xml.in=.xml) + @INTLTOOL_XML_RULE@ + + # And the mime icon +-mimeicon_DATA = data/gnome-mime-application-x-gdesklets-display.png ++dist_mimeicon_DATA = data/gnome-mime-application-x-gdesklets-display.png + ++# Note, this gets installed in both $(pixmapdir) and $(installdir) + pixmap_DATA = data/gdesklets.png + + libdesklets_system_gtop_la_CFLAGS = $(GLIBTOP_CFLAGS) \ + +=== modified file 'Makefile_python.am' +--- Makefile_python.am 2010-12-14 10:24:59 +0000 ++++ Makefile_python.am 2011-01-31 01:20:58 +0000 +@@ -1,4 +1,4 @@ +-nobase_dist_install_DATA = \ ++nobase_dist_install_DATA += \ + Controls/__init__.py \ + Controls/ArrayBuffer/__init__.py \ + Controls/ArrayBuffer/IArrayBuffer.py \ +@@ -48,21 +48,6 @@ + config/DisplayConfigger.py \ + config/StateSaver.py \ + config/settings.py \ +- data/about.png \ +- data/calendar.png \ +- data/gdesklets.desktop \ +- data/gdesklets.png \ +- data/gdesklets.xml \ +- data/gnome-mime-application-x-gdesklets-display.png \ +- doc/basic/gdesklets-doc.xml \ +- doc/basic/Images/desklet-context-menu.png \ +- doc/basic/Images/desklet-start-shell.png \ +- doc/basic/Images/gdesklets.png \ +- doc/basic/Images/open-command.png \ +- doc/basic/Images/preferences.png \ +- doc/basic/Images/profile.png \ +- doc/basic/Images/remote.png \ +- doc/basic/Images/shell.png \ + display/__init__.py \ + display/ContainerTarget.py \ + display/DataTarget.py \ +@@ -212,4 +197,3 @@ + utils/typeconverter.py \ + utils/vfs.py \ + utils/xdr.py +- + diff --git a/gdesklets-nopyorbit.patch b/gdesklets-nopyorbit.patch new file mode 100644 index 000000000000..2651feec263a --- /dev/null +++ b/gdesklets-nopyorbit.patch @@ -0,0 +1,13 @@ +Now gdesklets don't use pyorbit. + +--- gdesklets-0.36.3/configure.ac.orig 2015-07-15 18:26:57.300336727 +0100 ++++ gdesklets-0.36.3/configure.ac 2015-07-15 18:27:05.390425153 +0100 +@@ -65,7 +65,7 @@ AC_CHECK_HEADER([$PYTHON_PREFIX/include/ + AC_ERROR([Can't find Python.h! You will need python's development package to compile gDesklets.])) + AC_SUBST(PYTHON_CFLAGS) + +-PKG_CHECK_MODULES(GDESKLETS, pygtk-2.0 >= 2.10.0 pyorbit-2 >= 2.0.1 gnome-python-2.0 >= 2.12.0) ++PKG_CHECK_MODULES(GDESKLETS, pygtk-2.0 >= 2.10.0) + AC_SUBST(GDESKLETS_CFLAGS) + AC_SUBST(GDESKLETS_LIBS) + diff --git a/make-gconf-optional.patch b/make-gconf-optional.patch new file mode 100644 index 000000000000..8a9e9c2b8f80 --- /dev/null +++ b/make-gconf-optional.patch @@ -0,0 +1,36 @@ +diff -Naur gdesklets-0.36.3.orig/shell/plugins/PackageInstaller/Downloader.py gdesklets-0.36.3/shell/plugins/PackageInstaller/Downloader.py +--- gdesklets-0.36.3.orig/shell/plugins/PackageInstaller/Downloader.py 2008-03-20 00:00:58.000000000 +0100 ++++ gdesklets-0.36.3/shell/plugins/PackageInstaller/Downloader.py 2012-01-10 02:58:26.451869752 +0100 +@@ -61,16 +61,22 @@ + + dest_fd = open(dest, "w") + +- import gconf +- client = gconf.client_get_default() +- use_proxy = client.get_bool('/system/http_proxy/use_http_proxy') +- if (use_proxy != 0): +- host = client.get_string('/system/http_proxy/host') +- port = client.get_int('/system/http_proxy/port') +- if (host != ""): +- http_proxy = "http://" + host + ':' + str(port) +- else: +- http_proxy = None ++ try: ++ import gconf ++ except ImportError: ++ gconf = None ++ if gconf: ++ client = gconf.client_get_default() ++ use_proxy = client.get_bool('/system/http_proxy/use_http_proxy') ++ if (use_proxy != 0): ++ host = client.get_string('/system/http_proxy/host') ++ port = client.get_int('/system/http_proxy/port') ++ if (host != ""): ++ http_proxy = "http://" + host + ':' + str(port) ++ else: ++ http_proxy = None ++ else: ++ http_proxy = None + else: + http_proxy = None + |