diff --git a/net-wireless/blueman/Manifest b/net-wireless/blueman/Manifest new file mode 100644 index 000000000..75c02a732 --- /dev/null +++ b/net-wireless/blueman/Manifest @@ -0,0 +1,4 @@ +AUX blueman-9999-plugins-conf-file.patch 1083 SHA256 a97c052b107beaf1c6615f47809ce08c5bd2c0cb1d2096f61f47c3bdb25af654 SHA512 4500b68061fda3672f2261d8035acbd6a3623d5c3d6836a6e06fb3c4c81f8143fc1ad14ee3109fb159aef8e980f494593fdc3a904294d17309d9ad2e0d6ce0b5 WHIRLPOOL b9d5f52a35ec6fd2cfef9b06ff98b3834946412859b30d187f598c883eb8ad235276f60b6cc3cc507c456fd753467f354dc47fd70bf717cce6983d0406920b5c +AUX blueman-9999-set-codeset-for-gettext-to-UTF-8-always.patch 8717 SHA256 91f6351614a8bdbb51155399f77c384a86407deb609c9e7bb61ffac17a56d81d SHA512 524afc7729564b5355f38648840b783426cf5aeaffd1bf157f725100b780d35b7524bc81144d3453e34683ea9f7af6982176d45b4488c8176c10224f74452f4d WHIRLPOOL ed053972b26a018276c221a51893bc0b1ab7b2b15e3900905444cfce03a41dd5eade845cd3e4ce3511ebf724e5a1c4e9dbd1f5024518ad8834fa2779bd1253a1 +DIST blueman_12f2a79922b5e69821bd13be61c0f0998f9aaea3.zip 1102843 SHA256 590d62a4814b47b7da04c72b327068871bcf44b392bfa49e071e42a98ae342f7 SHA512 edff8f5c2ad9e660382f7f74489817d8e3891738ff3caa929afcf1a94bbdb7b5bf1b2cc9e76a3986e43a125105f120d7d8efe67ceb36ad30ae2d52c967a177b7 WHIRLPOOL d9f5386605ae8f03764441032a329be10a01fee95e9dafbd691b8255586d443f7481f1b994ccd4ef6ef334b56937761f5d74ec19141571511476aeb3ae3f1e59 +EBUILD blueman-1.23_p20140627.ebuild 2578 SHA256 beef4a73ceb0a7f086310f9b70e0934cb164567327dd5ebed4ba9f91b867a32b SHA512 93918beadd531213cb4fffe805b20df778ecfb6320e19bee3b2dbbbfa114779098a646de38bee3c0cee118097b5381e315e2154b0c70fc1a1dfe64ca693cbc3f WHIRLPOOL d11ebe6dcd7db0ee94a297b28bfd6b2ad656400dee4e2e916c8ba703d60bff79073736a35709be86c71b6f11a3daf548b4bcb10acfab3bad1f60cbd45f4a5f81 diff --git a/net-wireless/blueman/blueman-1.23_p20140627.ebuild b/net-wireless/blueman/blueman-1.23_p20140627.ebuild new file mode 100644 index 000000000..26782d898 --- /dev/null +++ b/net-wireless/blueman/blueman-1.23_p20140627.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/blueman/blueman-9999.ebuild,v 1.2 2014/05/12 14:22:17 zerochaos Exp $ + +EAPI="5" + +PYTHON_DEPEND="2:2.7" + +inherit eutils python gnome2-utils autotools +MY_PV="12f2a79922b5e69821bd13be61c0f0998f9aaea3" + +DESCRIPTION="GTK+ Bluetooth Manager, designed to be simple and intuitive for everyday bluetooth tasks." +HOMEPAGE="http://blueman-project.org/" + +SRC_URI="https://github.com/${PN}-project/${PN}/archive/${MY_PV}.zip -> ${PN}_${MY_PV}.zip" +KEYWORDS="~amd64 ~ppc ~x86" + +LICENSE="GPL-3" +SLOT="0" +IUSE="gconf sendto network nls policykit pulseaudio" + +CDEPEND="dev-libs/glib:2 + x11-libs/gtk+:3 + x11-libs/startup-notification + dev-python/pygobject:2 + >=net-wireless/bluez-4.61 + x11-libs/libnotify" +DEPEND="${CDEPEND} + nls? ( dev-util/intltool sys-devel/gettext ) + virtual/pkgconfig + >=dev-python/pyrex-0.9.8" +RDEPEND="${CDEPEND} + >=app-mobilephone/obex-data-server-0.4.4 + sys-apps/dbus + dev-python/pygtk + dev-python/notify-python + dev-python/dbus-python + x11-themes/hicolor-icon-theme + gconf? ( dev-python/gconf-python ) + sendto? ( gnome-base/nautilus ) + network? ( || ( net-dns/dnsmasq + =net-misc/dhcp-3* + >=net-misc/networkmanager-0.8 ) ) + policykit? ( sys-auth/polkit ) + pulseaudio? ( media-sound/pulseaudio )" + +S="${WORKDIR}/${PN}-${MY_PV}" + +pkg_setup() { + python_set_active_version 2.7 + python_pkg_setup +} + +src_prepare() { + # disable pyc compiling + ln -sf $(type -P true) py-compile + + sed -i \ + -e '/^Encoding/d' \ + data/blueman-manager.desktop.in || die "sed failed" + + epatch \ + "${FILESDIR}/${PN}-9999-plugins-conf-file.patch" \ + "${FILESDIR}/${PN}-9999-set-codeset-for-gettext-to-UTF-8-always.patch" + eautoreconf +} + +src_configure() { + econf \ + --disable-static \ + $(use_enable policykit polkit) \ + $(use_enable sendto) \ + --disable-hal \ + $(use_enable nls) +} + +src_install() { + default + + python_convert_shebangs 2.7 "${D}"/usr/bin/blueman-* "${D}/usr/libexec/blueman-mechanism" + + rm "${D}"/$(python_get_sitedir)/*.la + use sendto && rm "${D}"/usr/lib*/nautilus-sendto/plugins/*.la + + use gconf || rm "${D}"/$(python_get_sitedir)/${PN}/plugins/config/Gconf.py + use policykit || rm -rf "${D}"/usr/share/polkit-1 + use pulseaudio || rm "${D}"/$(python_get_sitedir)/${PN}/{main/Pulse*.py,plugins/applet/Pulse*.py} + + python_need_rebuild +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + python_mod_optimize ${PN} + gnome2_icon_cache_update +} + +pkg_postrm() { + python_mod_cleanup ${PN} + gnome2_icon_cache_update +} diff --git a/net-wireless/blueman/files/blueman-9999-plugins-conf-file.patch b/net-wireless/blueman/files/blueman-9999-plugins-conf-file.patch new file mode 100644 index 000000000..62724db1c --- /dev/null +++ b/net-wireless/blueman/files/blueman-9999-plugins-conf-file.patch @@ -0,0 +1,30 @@ +diff --git a/blueman/plugins/config/File.py b/blueman/plugins/config/File.py +index 3beccb4..c17fe77 100644 +--- a/blueman/plugins/config/File.py ++++ b/blueman/plugins/config/File.py +@@ -22,7 +22,12 @@ signal.signal(signal.SIGHUP, sighandler) + + dbus.service.Object.SUPPORTS_MULTIPLE_OBJECT_PATHS = True + +-cfg_path = os.path.expanduser('~/.config/blueman/blueman.cfg') ++cfg_dir = os.path.expanduser('~/.config/blueman') ++ ++if os.environ.has_key('XDG_CONFIG_HOME'): ++ cfg_dir = '%s/blueman' % os.environ['XDG_CONFIG_HOME'] ++ ++cfg_path = '%s/blueman.cfg' % cfg_dir + + + class Monitor(dbus.service.Object): +@@ -77,9 +82,9 @@ class File(ConfigPlugin): + def on_load(self, section): + + if not File.__db__: +- if not os.path.exists(os.path.expanduser('~/.config/blueman')): ++ if not os.path.exists(os.path.expanduser(cfg_dir)): + try: +- os.makedirs(os.path.expanduser('~/.config/blueman')) ++ os.makedirs(os.path.expanduser(cfg_dir)) + except: + pass + try: diff --git a/net-wireless/blueman/files/blueman-9999-set-codeset-for-gettext-to-UTF-8-always.patch b/net-wireless/blueman/files/blueman-9999-set-codeset-for-gettext-to-UTF-8-always.patch new file mode 100644 index 000000000..258f65cc3 --- /dev/null +++ b/net-wireless/blueman/files/blueman-9999-set-codeset-for-gettext-to-UTF-8-always.patch @@ -0,0 +1,241 @@ +diff --git a/apps/blueman-adapters b/apps/blueman-adapters +index e6f1b16..95f6997 100755 +--- a/apps/blueman-adapters ++++ b/apps/blueman-adapters +@@ -6,6 +6,7 @@ from gi.repository import Pango + import os.path + import sys + import signal ++from locale import bind_textdomain_codeset + + #support running uninstalled + _dirname = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) +@@ -34,6 +35,7 @@ class BluemanAdapters: + + builder = Gtk.Builder() + builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + builder.add_from_file(UI_PATH + "/adapters.ui") + self.dialog = builder.get_object("dialog") + +diff --git a/apps/blueman-assistant b/apps/blueman-assistant +index dc7f18f..47893da 100755 +--- a/apps/blueman-assistant ++++ b/apps/blueman-assistant +@@ -16,6 +16,7 @@ import random + import signal + import dbus.glib + from optparse import OptionParser ++from locale import bind_textdomain_codeset + + #support running uninstalled + _dirname = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) +@@ -63,6 +64,7 @@ class Assistant(Agent): + + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH + "/assistant.ui") + self.assistant = self.Builder.get_object("assistant") + self.assistant.set_title(_("Bluetooth Assistant")) +diff --git a/apps/blueman-manager b/apps/blueman-manager +index f31d219..e938601 100755 +--- a/apps/blueman-manager ++++ b/apps/blueman-manager +@@ -27,6 +27,7 @@ import dbus, dbus.glib + from blueman.Constants import * + import gi + gi.require_version("Gtk", "3.0") ++from locale import bind_textdomain_codeset + from gi.repository import Gtk + from gi.repository import GObject + from blueman.bluez.BlueZInterface import BlueZInterface +@@ -62,6 +64,7 @@ class Blueman: + + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH + "/manager-main.ui") + + self.window = self.Builder.get_object("window") +diff --git a/apps/blueman-sendto b/apps/blueman-sendto +index e72e6ab..ce25926 100755 +--- a/apps/blueman-sendto ++++ b/apps/blueman-sendto +@@ -13,6 +13,7 @@ from optparse import OptionParser + import gettext + import urllib + import time ++from locale import bind_textdomain_codeset + + from blueman.Constants import * + import gi +@@ -46,6 +47,7 @@ class Sender(GObject.GObject): + GObject.GObject.__init__(self) + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH + "/send-dialog.ui") + self.window = self.Builder.get_object("window") + +diff --git a/apps/blueman-services b/apps/blueman-services +index 25a529b..4b4419c 100755 +--- a/apps/blueman-services ++++ b/apps/blueman-services +@@ -2,6 +2,7 @@ + + import os + import sys ++from locale import bind_textdomain_codeset + #support running uninstalled + _dirname = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) + if os.path.exists(os.path.join(_dirname, "CHANGELOG.md")): +@@ -29,6 +30,7 @@ class BluemanServices: + + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH + "/services.ui") + + self.Config = Config() +diff --git a/blueman/gui/GsmSettings.py b/blueman/gui/GsmSettings.py +index ee07e62..e58277b 100644 +--- a/blueman/gui/GsmSettings.py ++++ b/blueman/gui/GsmSettings.py +@@ -21,6 +21,7 @@ from blueman.Functions import * + from blueman.Constants import * + + from gi.repository import Gtk ++from locale import bind_textdomain_codeset + + class GsmSettings(Gtk.Dialog): + def __init__(self, bd_address): +@@ -30,6 +31,7 @@ class GsmSettings(Gtk.Dialog): + + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH +"/gsm-settings.ui") + + vbox = self.Builder.get_object("vbox1") +diff --git a/blueman/gui/applet/PluginDialog.py b/blueman/gui/applet/PluginDialog.py +index f994cc9..84d6370 100644 +--- a/blueman/gui/applet/PluginDialog.py ++++ b/blueman/gui/applet/PluginDialog.py +@@ -23,6 +23,7 @@ from blueman.Functions import * + + from blueman.gui.GenericList import GenericList + import weakref ++from locale import bind_textdomain_codeset + + class SettingsWidget(Gtk.VBox): + def __init__(self, inst): +@@ -118,6 +119,7 @@ class PluginDialog(Gtk.Dialog): + + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH +"/applet-plugins-widget.ui") + + self.set_title(_("Plugins")) +diff --git a/blueman/main/applet/BluezAgent.py b/blueman/main/applet/BluezAgent.py +index 868dbe9..403077a 100644 +--- a/blueman/main/applet/BluezAgent.py ++++ b/blueman/main/applet/BluezAgent.py +@@ -25,6 +25,7 @@ from gi.repository import Gtk + from gi.repository import GObject + from gi.types import GObjectMeta + import cgi ++from locale import bind_textdomain_codeset + import blueman.bluez as Bluez + from blueman.Sdp import * + from blueman.Constants import * +@@ -68,6 +69,7 @@ class CommonAgent(GObject.GObject, Agent): + editable.stop_emission("insert-text") + + builder = Gtk.Builder() ++ bind_textdomain_codeset("blueman", "UTF-8") + builder.add_from_file(UI_PATH + "/applet-passkey.ui") + builder.set_translation_domain("blueman") + dialog = builder.get_object("dialog") +diff --git a/blueman/plugins/applet/NetUsage.py b/blueman/plugins/applet/NetUsage.py +index 1584580..6262ff0 100644 +--- a/blueman/plugins/applet/NetUsage.py ++++ b/blueman/plugins/applet/NetUsage.py +@@ -33,7 +33,7 @@ import dbus + import time + import datetime + import gettext +- ++from locale import bind_textdomain_codeset + + class MonitorBase(GObject.GObject): + __gsignals__ = { +@@ -150,6 +150,7 @@ class Dialog: + builder = Gtk.Builder() + builder.add_from_file(UI_PATH + "/net-usage.ui") + builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + + self.dialog = builder.get_object("dialog") + self.dialog.connect("response", self.on_response) +diff --git a/blueman/plugins/services/Audio.py b/blueman/plugins/services/Audio.py +index b44d6b5..4b13e8f 100644 +--- a/blueman/plugins/services/Audio.py ++++ b/blueman/plugins/services/Audio.py +@@ -19,6 +19,7 @@ + + from gi.repository import Gtk + import dbus ++from locale import bind_textdomain_codeset + from blueman.Constants import * + from blueman.plugins.ServicePlugin import ServicePlugin + +@@ -35,6 +36,7 @@ class Audio(ServicePlugin): + + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH +"/services-audio.ui") + self.widget = self.Builder.get_object("audio") + +diff --git a/blueman/plugins/services/Network.py b/blueman/plugins/services/Network.py +index e003345..bd705d9 100644 +--- a/blueman/plugins/services/Network.py ++++ b/blueman/plugins/services/Network.py +@@ -18,6 +18,7 @@ + # + + from gi.repository import Gtk ++from locale import bind_textdomain_codeset + from blueman.Constants import * + from blueman.Functions import have, dprint, mask_ip4_address + from blueman.Lib import get_net_interfaces, get_net_address, get_net_netmask +@@ -36,6 +37,7 @@ class Network(ServicePlugin): + + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH +"/services-network.ui") + self.widget = self.Builder.get_object("network") + +diff --git a/blueman/plugins/services/Transfer.py b/blueman/plugins/services/Transfer.py +index 55024d3..ffd75ec 100644 +--- a/blueman/plugins/services/Transfer.py ++++ b/blueman/plugins/services/Transfer.py +@@ -18,6 +18,7 @@ + # + + from gi.repository import Gtk ++from locale import bind_textdomain_codeset + from blueman.Constants import * + from blueman.plugins.ServicePlugin import ServicePlugin + +@@ -32,6 +33,7 @@ class Transfer(ServicePlugin): + + self.Builder = Gtk.Builder() + self.Builder.set_translation_domain("blueman") ++ bind_textdomain_codeset("blueman", "UTF-8") + self.Builder.add_from_file(UI_PATH +"/services-transfer.ui") + self.widget = self.Builder.get_object("transfer") +