diff options
author | root <root@rshg054.dnsready.net> | 2012-05-12 00:02:41 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-05-12 00:02:41 +0000 |
commit | e1da03cf5ba92abee0e3afd9dc4cef438ebf96c7 (patch) | |
tree | 233b060ecee707d77b6c0d3d91de90eb4beed13e /community/onboard | |
parent | 2ced64d6aa5881fa575de1861c464c432deee26f (diff) |
Sat May 12 00:02:41 UTC 2012
Diffstat (limited to 'community/onboard')
-rw-r--r-- | community/onboard/PKGBUILD | 41 | ||||
-rw-r--r-- | community/onboard/fix_encoding_mismatch.patch | 187 | ||||
-rw-r--r-- | community/onboard/fix_unicode_translations.patch | 247 | ||||
-rw-r--r-- | community/onboard/onboard.install | 13 |
4 files changed, 488 insertions, 0 deletions
diff --git a/community/onboard/PKGBUILD b/community/onboard/PKGBUILD new file mode 100644 index 000000000..8476b2c16 --- /dev/null +++ b/community/onboard/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Balló György <ballogyor+arch at gmail dot com> + +pkgname=onboard +pkgver=0.97.0 +pkgrel=2 +pkgdesc="On-screen keyboard useful on tablet PCs or for mobility impaired users" +arch=('i686' 'x86_64') +url="https://launchpad.net/onboard" +license=('GPL') +depends=('python2-cairo' 'dbus-python' 'python2-gobject' 'libwnck3' 'python2-virtkey' 'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'xdg-utils') +makedepends=('python-distutils-extra') +optdepends=('at-spi2-atk: auto-show when editing text' + 'mousetweaks: hover click with mouse') +options=('!emptydirs') +install=$pkgname.install +source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.gz + fix_unicode_translations.patch + fix_encoding_mismatch.patch) +md5sums=('258bf6653a840c54ce1b4898d31fb775' + '73d71d019dc27e6ac8d479ab3dd0ab21' + '8c7f6f31547e1454725ded8090cbdc41') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # https://bugs.launchpad.net/onboard/+bug/933030 + patch -Np0 -i "$srcdir/fix_unicode_translations.patch" + + # https://bugs.launchpad.net/onboard/+bug/958385 + patch -Np1 -i "$srcdir/fix_encoding_mismatch.patch" + + sed -i 's/\"python\"/\"python2\"/g' scripts/sokSettings.py + + python2 setup.py install --root=$pkgdir/ --optimize=1 +} + +package() { + cd "$pkgdir" + + find . -type f -name *.py | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@' +} diff --git a/community/onboard/fix_encoding_mismatch.patch b/community/onboard/fix_encoding_mismatch.patch new file mode 100644 index 000000000..01750598c --- /dev/null +++ b/community/onboard/fix_encoding_mismatch.patch @@ -0,0 +1,187 @@ +Subject: Fix string encodings so as to not have a mismatch without mousetweaks +Author: marmuta +Origin: upstream, http://bazaar.launchpad.net/~onboard/onboard/0.91/revision/764 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/958385 + +--- + Onboard/Config.py | 9 +++++---- + Onboard/ConfigUtils.py | 9 ++++++--- + Onboard/Exceptions.py | 5 +++-- + Onboard/OnboardGtk.py | 5 +++-- + Onboard/settings.py | 7 ++++--- + Onboard/utils.py | 16 ++++++++++++++++ + 6 files changed, 37 insertions(+), 14 deletions(-) + +Index: onboard-0.97.0/Onboard/Config.py +=================================================================== +--- onboard-0.97.0.orig/Onboard/Config.py ++++ onboard-0.97.0/Onboard/Config.py +@@ -12,7 +12,7 @@ + + from gi.repository import GLib, Gtk + +-from Onboard.utils import show_confirmation_dialog, Version ++from Onboard.utils import show_confirmation_dialog, Version, unicode_str + from Onboard.WindowUtils import Handle + from Onboard.ConfigUtils import ConfigObject + from Onboard.MouseControl import Mousetweaks, ClickMapper +@@ -209,7 +209,7 @@ + try: + ConfigObject.__init__(self) + except SchemaError as e: +- _logger.error(str(e)) ++ _logger.error(unicode_str(e)) + sys.exit() + + # init paths +@@ -225,7 +225,8 @@ + try: + copytree(old_user_dir, user_dir) + except OSError as ex: # python >2.5 +- _logger.error(_("Failed to migrate user directory. ") + str(ex)) ++ _logger.error(_("Failed to migrate user directory. ") + \ ++ unicode_str(ex)) + + # Load system defaults (if there are any, not required). + # Used for distribution specific settings, aka branding. +@@ -347,7 +348,7 @@ + self.mousetweaks = Mousetweaks() + self.children.append(self.mousetweaks) + except (SchemaError, ImportError) as e: +- _logger.warning(str(e)) ++ _logger.warning(unicode_str(e)) + self.mousetweaks = None + + self.clickmapper = ClickMapper() +Index: onboard-0.97.0/Onboard/ConfigUtils.py +=================================================================== +--- onboard-0.97.0.orig/Onboard/ConfigUtils.py ++++ onboard-0.97.0/Onboard/ConfigUtils.py +@@ -22,7 +22,8 @@ + from gi.repository import Gio + + from Onboard.Exceptions import SchemaError +-from Onboard.utils import pack_name_value_list, unpack_name_value_list ++from Onboard.utils import pack_name_value_list, unpack_name_value_list, \ ++ unicode_str + + _CAN_SET_HOOK = "_can_set_" # return true if value is valid + _GSETTINGS_GET_HOOK = "_gsettings_get_" # retrieve from gsettings +@@ -388,7 +389,8 @@ + try: + filename = parser.read(paths) + except configparser.ParsingError as ex: +- _logger.error(_("Failed to read system defaults. " + str(ex))) ++ _logger.error(_("Failed to read system defaults. " + \ ++ unicode_str(ex))) + + if not filename: + _logger.info(_("No system defaults found.")) +@@ -501,7 +503,8 @@ + value = self.settings[self.key] + + except KeyError as ex: +- _logger.error(_("Failed to get gsettings value. ") + str(ex)) ++ _logger.error(_("Failed to get gsettings value. ") + \ ++ unicode_str(ex)) + + return value + +Index: onboard-0.97.0/Onboard/Exceptions.py +=================================================================== +--- onboard-0.97.0.orig/Onboard/Exceptions.py ++++ onboard-0.97.0/Onboard/Exceptions.py +@@ -4,6 +4,7 @@ + + from traceback import format_tb + import sys ++from Onboard.utils import unicode_str + + class ChainableError(Exception): + """ +@@ -40,10 +41,10 @@ + traceback = property(_get_traceback) + + def __str__(self): +- message = self._message + "\n" ++ message = unicode_str(self._message) + "\n" + if self.chained_exception: + message += "%s: %s" % (type(self.chained_exception).__name__, +- str(self.chained_exception)) ++ unicode_str(self.chained_exception)) + return message + + class SVGSyntaxError(ChainableError): +Index: onboard-0.97.0/Onboard/OnboardGtk.py +=================================================================== +--- onboard-0.97.0.orig/Onboard/OnboardGtk.py ++++ onboard-0.97.0/Onboard/OnboardGtk.py +@@ -26,7 +26,8 @@ + from Onboard.KeyGtk import * + from Onboard.KbdWindow import KbdWindow, KbdPlugWindow + from Onboard.KeyboardSVG import KeyboardSVG +-from Onboard.utils import show_confirmation_dialog, CallOnce, timeit ++from Onboard.utils import show_confirmation_dialog, CallOnce, timeit, \ ++ unicode_str + from Onboard.Appearance import Theme + + ### Config Singleton ### +@@ -485,7 +486,7 @@ + except virtkey.error as e: + t = time.time() + if t > self._vk_error_time + .2: # rate limit to once per 200ms +- _logger.warning("vk: "+str(e)) ++ _logger.warning("vk: " + unicode_str(e)) + self._vk_error_time = t + + return self._vk +Index: onboard-0.97.0/Onboard/settings.py +=================================================================== +--- onboard-0.97.0.orig/Onboard/settings.py ++++ onboard-0.97.0/Onboard/settings.py +@@ -24,7 +24,8 @@ + from Onboard.Appearance import Theme, ColorScheme + from Onboard.Scanner import ScanMode, ScanDevice + from Onboard.utils import show_ask_string_dialog, \ +- show_confirmation_dialog ++ show_confirmation_dialog, \ ++ unicode_str + + from virtkey import virtkey + from osk import Devices +@@ -400,8 +401,8 @@ + try: + Popen([filename, "universal-access"]) + except OSError as e: +- _logger.warning(_("System settings not found" +- " ({}): {}").format(filename, str(e))) ++ _logger.warning(_("System settings not found ({}): {}") \ ++ .format(filename, unicode_str(e))) + + def update_num_resize_handles_combobox(self): + self.num_resize_handles_list = Gtk.ListStore(str, int) +Index: onboard-0.97.0/Onboard/utils.py +=================================================================== +--- onboard-0.97.0.orig/Onboard/utils.py ++++ onboard-0.97.0/Onboard/utils.py +@@ -961,4 +961,20 @@ + return 1 + return 0 + ++def unicode_str(obj, encoding = "utf-8"): ++ """ ++ Safe str() function that always returns an unicode string. ++ Do nothing if the string was already unicode. ++ """ ++ if sys.version_info.major >= 3: # python 3? ++ return str(obj) ++ ++ if type(obj) == unicode: # unicode string? ++ return obj ++ ++ if hasattr(obj, "__unicode__"): # Exception object? ++ return unicode(obj) ++ ++ return str(obj).decode("utf-8") # strings, numbers, ... ++ + diff --git a/community/onboard/fix_unicode_translations.patch b/community/onboard/fix_unicode_translations.patch new file mode 100644 index 000000000..1eaf663cc --- /dev/null +++ b/community/onboard/fix_unicode_translations.patch @@ -0,0 +1,247 @@ +=== modified file 'Onboard/Appearance.py' +--- Onboard/Appearance.py 2012-02-14 08:16:34 +0000 ++++ Onboard/Appearance.py 2012-02-15 23:27:20 +0000 +@@ -11,7 +11,6 @@ + _logger = logging.getLogger("Appearance") + ############### + +-from gettext import gettext as _ + from xml.dom import minidom + import os + import re + +=== modified file 'Onboard/Config.py' +--- Onboard/Config.py 2012-02-15 10:58:02 +0000 ++++ Onboard/Config.py 2012-02-15 23:27:20 +0000 +@@ -9,7 +9,6 @@ + import sys + from shutil import copytree + from optparse import OptionParser +-from gettext import gettext as _ + + from gi.repository import GLib, Gtk + + +=== modified file 'Onboard/ConfigUtils.py' +--- Onboard/ConfigUtils.py 2012-02-08 14:56:38 +0000 ++++ Onboard/ConfigUtils.py 2012-02-15 23:27:20 +0000 +@@ -13,7 +13,6 @@ + import os + import sys + from ast import literal_eval +-from gettext import gettext as _ + try: + import configparser + except ImportError: +@@ -418,8 +417,8 @@ + # convert ini file strings to property values + sysdef_gskeys = dict((k.sysdef, k) for k in list(self.gskeys.values())) + for sysdef, value in items: +- _logger.info(_("Found system default '{}={}'") \ +- .format(sysdef, value)) ++ _logger.info(_("Found system default '[{}] {}={}'") \ ++ .format(self.sysdef_section, sysdef, value)) + + gskey = sysdef_gskeys.get(sysdef, None) + value = self._convert_sysdef_key(gskey, sysdef, value) + +=== modified file 'Onboard/IconPalette.py' +--- Onboard/IconPalette.py 2012-02-15 01:34:13 +0000 ++++ Onboard/IconPalette.py 2012-02-15 23:27:20 +0000 +@@ -43,7 +43,6 @@ + config = Config() + ######################## + +-from gettext import gettext as _ + + class IconPalette(Gtk.Window, WindowRectTracker, WindowManipulator): + """ + +=== modified file 'Onboard/Indicator.py' +--- Onboard/Indicator.py 2012-02-11 14:07:56 +0000 ++++ Onboard/Indicator.py 2012-02-15 23:27:20 +0000 +@@ -18,7 +18,6 @@ + config = Config() + ######################## + +-from gettext import gettext as _ + + class Indicator(GObject.GObject): + + +=== modified file 'Onboard/KbdWindow.py' +--- Onboard/KbdWindow.py 2012-02-15 10:18:48 +0000 ++++ Onboard/KbdWindow.py 2012-02-15 23:27:20 +0000 +@@ -11,7 +11,6 @@ + from Onboard.WindowUtils import Orientation, WindowRectTracker + from Onboard.IconPalette import IconPalette + +-from gettext import gettext as _ + + ### Logging ### + import logging + +=== modified file 'Onboard/Keyboard.py' +--- Onboard/Keyboard.py 2012-02-14 20:21:02 +0000 ++++ Onboard/Keyboard.py 2012-02-15 23:27:20 +0000 +@@ -3,7 +3,6 @@ + from __future__ import division, print_function, unicode_literals + + import sys +-from gettext import gettext as _ + + from gi.repository import GObject, Gtk, Gdk + + +=== modified file 'Onboard/KeyboardGTK.py' +--- Onboard/KeyboardGTK.py 2012-02-15 01:33:34 +0000 ++++ Onboard/KeyboardGTK.py 2012-02-15 23:27:20 +0000 +@@ -5,7 +5,6 @@ + + import os + import time +-from gettext import gettext as _ + + import cairo + from gi.repository import GObject, Gdk, Gtk + +=== modified file 'Onboard/KeyboardSVG.py' +--- Onboard/KeyboardSVG.py 2012-02-09 19:18:36 +0000 ++++ Onboard/KeyboardSVG.py 2012-02-15 23:27:20 +0000 +@@ -11,7 +11,6 @@ + import re + import sys + import shutil +-from gettext import gettext as _ + from xml.dom import minidom + + from Onboard import Exceptions + +=== modified file 'Onboard/MouseControl.py' +--- Onboard/MouseControl.py 2012-01-19 08:50:34 +0000 ++++ Onboard/MouseControl.py 2012-02-15 23:27:20 +0000 +@@ -5,7 +5,6 @@ + + from __future__ import division, print_function, unicode_literals + +-from gettext import gettext as _ + try: + import dbus + from dbus.mainloop.glib import DBusGMainLoop + +=== modified file 'Onboard/OnboardGtk.py' +--- Onboard/OnboardGtk.py 2012-02-15 10:58:02 +0000 ++++ Onboard/OnboardGtk.py 2012-02-15 23:27:20 +0000 +@@ -13,14 +13,14 @@ + import signal + import gettext + import os.path +-from gettext import gettext as _ + import virtkey +- + from gi.repository import GObject, Gio, Gdk, Gtk + ++# setup gettext, install _() function for all modules ++app = "onboard" ++gettext.install(app, unicode=True) + + from Onboard.Indicator import Indicator +- + from Onboard.Keyboard import Keyboard + from Onboard.Scanner import Scanner + from Onboard.KeyGtk import * +@@ -37,11 +37,6 @@ + import Onboard.KeyCommon + import Onboard.utils as utils + +-#setup gettext +-app="onboard" +-gettext.textdomain(app) +-gettext.bindtextdomain(app) +- + DEFAULT_FONTSIZE = 10 + + class OnboardGtk(Gtk.Application): + +=== modified file 'Onboard/SnippetView.py' +--- Onboard/SnippetView.py 2012-01-09 22:25:10 +0000 ++++ Onboard/SnippetView.py 2012-02-15 23:27:20 +0000 +@@ -4,7 +4,6 @@ + + from gi.repository import GObject, Gtk + +-from gettext import gettext as _ + + from Onboard.utils import show_error_dialog + + +=== modified file 'Onboard/TouchHandles.py' +--- Onboard/TouchHandles.py 2012-02-14 08:32:08 +0000 ++++ Onboard/TouchHandles.py 2012-02-15 23:27:20 +0000 +@@ -5,7 +5,6 @@ + + from math import pi, sqrt, sin, log + import cairo +-from gettext import gettext as _ + + from Onboard.utils import Rect + from Onboard.WindowUtils import Handle + +=== modified file 'Onboard/WindowUtils.py' +--- Onboard/WindowUtils.py 2012-02-15 10:23:36 +0000 ++++ Onboard/WindowUtils.py 2012-02-15 23:27:20 +0000 +@@ -5,7 +5,6 @@ + + import time + from math import sqrt +-from gettext import gettext as _ + + from gi.repository import GObject, Gtk, Gdk + + +=== modified file 'Onboard/settings.py' +--- Onboard/settings.py 2012-02-15 10:58:02 +0000 ++++ Onboard/settings.py 2012-02-15 23:27:20 +0000 +@@ -11,9 +11,14 @@ + from subprocess import Popen + from xml.parsers.expat import ExpatError + from xml.dom import minidom ++import gettext + + from gi.repository import GObject, Pango, Gdk, Gtk + ++# setup gettext, install _() function for all modules ++app = "onboard" ++gettext.install(app, unicode=True) ++ + from Onboard.KeyboardSVG import KeyboardSVG + from Onboard.SnippetView import SnippetView + from Onboard.Appearance import Theme, ColorScheme +@@ -36,14 +41,6 @@ + config = Config() + ######################## + +-#setup gettext +-import gettext +-from gettext import gettext as _ +-app = "onboard" +-gettext.textdomain(app) +-gettext.bindtextdomain(app) +- +- + + def LoadUI(filebase): + builder = Gtk.Builder() + +=== modified file 'Onboard/utils.py' +--- Onboard/utils.py 2012-02-15 01:33:34 +0000 ++++ Onboard/utils.py 2012-02-15 23:27:20 +0000 +@@ -11,7 +11,6 @@ + from subprocess import Popen + from math import pi, sqrt, sin + from contextlib import contextmanager +-from gettext import gettext as _ + + from gi.repository import GObject, Gtk + + diff --git a/community/onboard/onboard.install b/community/onboard/onboard.install new file mode 100644 index 000000000..aa4c3e059 --- /dev/null +++ b/community/onboard/onboard.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas usr/share/glib-2.0/schemas + update-desktop-database -q + xdg-icon-resource forceupdate +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} |