summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-wireless/blueman
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-wireless/blueman')
-rw-r--r--net-wireless/blueman/Manifest3
-rw-r--r--net-wireless/blueman/blueman-1.23-r2.ebuild100
-rw-r--r--net-wireless/blueman/blueman-1.98_p20150105.ebuild101
-rw-r--r--net-wireless/blueman/blueman-2.0.ebuild116
-rw-r--r--net-wireless/blueman/blueman-9999.ebuild115
-rw-r--r--net-wireless/blueman/files/blueman-1.23-fix-broken-status-icon.patch34
-rw-r--r--net-wireless/blueman/files/blueman-1.23-plugins-conf-file.patch30
-rw-r--r--net-wireless/blueman/files/blueman-1.23-set-codeset-for-gettext-to-UTF-8-always.patch266
-rw-r--r--net-wireless/blueman/files/blueman-1.98_p20150105-set-codeset-for-gettext-to-UTF-8-always.patch239
-rw-r--r--net-wireless/blueman/files/blueman-2.0-set-codeset-for-gettext-to-UTF-8-always.patch219
-rw-r--r--net-wireless/blueman/files/blueman-9999-set-codeset-for-gettext-to-UTF-8-always.patch267
-rw-r--r--net-wireless/blueman/metadata.xml19
12 files changed, 1509 insertions, 0 deletions
diff --git a/net-wireless/blueman/Manifest b/net-wireless/blueman/Manifest
new file mode 100644
index 00000000000..bf3bc827449
--- /dev/null
+++ b/net-wireless/blueman/Manifest
@@ -0,0 +1,3 @@
+DIST blueman-1.23.tar.gz 1223094 SHA256 50b261bcdc2e99e176c7c194825da1259500aaacaccb92714d97af0209a4f011 SHA512 529a43dace73bf362baac69404a9e87d14f5bcb7b07b18194434c7a6c1dbc22f8fecdb4923c92a77b65656405a492b9e147e77cb7a161df4a93e8b78a003eba7 WHIRLPOOL 4070b4d86cbe743278730e4ee3022bcfdea590b5b76e545cc67912a3498de993ed0c62cb67ac2cd3ad3b8e3c17c5d5a8b1f8fa6e214234a64a784146c6d6d542
+DIST blueman-1.98_p20150105.tar.xz 1698524 SHA256 cb610b0c4799d87989a2f6147059fb850f71984909f761af875c3106f51d543a SHA512 c988ff6cf9769d7653be252bda59bb41388a4d41d7b1f5aa01df63278018fc637634ea96a08b183b78cb5b966c3d2dc189021f437eabf674e8f93812798d4a6b WHIRLPOOL 7070a1bff973fe682af3b0103c99424401e5c3c5bc5632aefbaa9b5c9835d3f001b0656a17893feaffdcc3bfe173aac0c17789b634f937c54906774c9acde22f
+DIST blueman-2.0.tar.xz 1941332 SHA256 81a5ca95124f12bfb62d2d2d0d265af70cdae1d43b0c6e4fc6d2bad8f82958f1 SHA512 44d3967d031f7482e7700674970eff08fee53d8cbeb96e46b2f97e2a2fb6b5790f663ed73129eab241545ebaa6c5748dc6cf6b90a2c4795b27e90b5399d71f80 WHIRLPOOL 394bac3e0b457fdbb79c69fe9181abafde3f9b1138ff71c4dc23bc78424b76284e3ad9cf02dc168848fa461541f86fa2bba5aee0f014e460f0852e1bfa163dae
diff --git a/net-wireless/blueman/blueman-1.23-r2.ebuild b/net-wireless/blueman/blueman-1.23-r2.ebuild
new file mode 100644
index 00000000000..ae5de7c75a9
--- /dev/null
+++ b/net-wireless/blueman/blueman-1.23-r2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PYTHON_DEPEND="2:2.7"
+
+inherit eutils python gnome2-utils
+
+DESCRIPTION="GTK+ Bluetooth Manager, designed to be simple and intuitive for everyday bluetooth tasks"
+HOMEPAGE="https://github.com/blueman-project/blueman"
+SRC_URI="http://download.tuxfamily.org/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="gconf sendto network nls policykit pulseaudio"
+
+CDEPEND="dev-libs/glib:2
+ >=x11-libs/gtk+-2.12:2
+ x11-libs/startup-notification
+ dev-python/pygobject:2
+ <net-wireless/bluez-5
+ >=net-wireless/bluez-4.21"
+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
+ >=net-misc/networkmanager-0.8 ) )
+ policykit? ( sys-auth/polkit )
+ pulseaudio? ( media-sound/pulseaudio )"
+
+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}/${P}-plugins-conf-file.patch" \
+ "${FILESDIR}/${P}-fix-broken-status-icon.patch" \
+ "${FILESDIR}/${P}-set-codeset-for-gettext-to-UTF-8-always.patch"
+}
+
+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/blueman-1.98_p20150105.ebuild b/net-wireless/blueman/blueman-1.98_p20150105.ebuild
new file mode 100644
index 00000000000..17d1594baf2
--- /dev/null
+++ b/net-wireless/blueman/blueman-1.98_p20150105.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils python-single-r1 gnome2-utils autotools
+
+DESCRIPTION="GTK+ Bluetooth Manager, designed to be simple and intuitive for everyday bluetooth tasks"
+HOMEPAGE="https://github.com/blueman-project/blueman"
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}-project/${PN}.git"
+ KEYWORDS=""
+else
+ #SRC_URI="http://download.tuxfamily.org/${PN}/${P}.tar.gz"
+ SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz"
+ KEYWORDS="~amd64 ~ppc ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="gconf gnome network nls policykit pulseaudio thunar"
+
+CDEPEND="dev-libs/glib:2=
+ x11-libs/gtk+:3=
+ x11-libs/startup-notification:=
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3
+ >=net-wireless/bluez-4.61:=
+ ${PYTHON_DEPS}"
+DEPEND="${CDEPEND}
+ nls? ( dev-util/intltool sys-devel/gettext )
+ virtual/pkgconfig
+ dev-python/cython[${PYTHON_USEDEP}]"
+RDEPEND="${CDEPEND}
+ >=app-mobilephone/obex-data-server-0.4.4
+ sys-apps/dbus
+ x11-themes/hicolor-icon-theme
+ gconf? ( dev-python/gconf-python[${PYTHON_USEDEP}] )
+ gnome? ( gnome-base/nautilus )
+ network? ( || ( net-dns/dnsmasq
+ net-misc/dhcp
+ >=net-misc/networkmanager-0.8 ) )
+ policykit? ( sys-auth/polkit )
+ pulseaudio? ( media-sound/pulseaudio )
+ !net-wireless/gnome-bluetooth
+ x11-themes/gnome-icon-theme
+ thunar? ( xfce-base/thunar )
+"
+# See bug 455320 and https://github.com/blueman-project/blueman/issues/112 for reason for gnome-icon-theme dep
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_prepare() {
+ sed -i \
+ -e '/^Encoding/d' \
+ data/blueman-manager.desktop.in || die "sed failed"
+
+ epatch \
+ "${FILESDIR}/${PN}-9999-plugins-conf-file.patch" \
+ "${FILESDIR}/${P}-set-codeset-for-gettext-to-UTF-8-always.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable policykit polkit) \
+ $(use_enable gnome nautilus-sendto) \
+ $(use_enable nls) \
+ $(use_enable thunar thunar-sendto)
+}
+
+src_install() {
+ default
+
+ python_fix_shebang "${D}"
+
+ rm "${D}"/$(python_get_sitedir)/*.la || die
+ use gnome && { rm "${D}"/usr/lib*/nautilus-sendto/plugins/*.la || die; }
+
+ # Note: Python 3 support would need __pycache__ file removal too
+ use gconf || { rm "${D}"/$(python_get_sitedir)/${PN}/plugins/config/Gconf.py* || die; }
+ use policykit || { rm -rf "${D}"/usr/share/polkit-1 || die; }
+ use pulseaudio || { rm "${D}"/$(python_get_sitedir)/${PN}/{main/Pulse*.py*,plugins/manager/Pulse*.py*} || die; }
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/net-wireless/blueman/blueman-2.0.ebuild b/net-wireless/blueman/blueman-2.0.ebuild
new file mode 100644
index 00000000000..473715688d6
--- /dev/null
+++ b/net-wireless/blueman/blueman-2.0.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils gnome2-utils linux-info python-single-r1
+
+DESCRIPTION="GTK+ Bluetooth Manager, designed to be simple and intuitive for everyday bluetooth tasks"
+HOMEPAGE="https://github.com/blueman-project/blueman"
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/blueman-project/blueman.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/blueman-project/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="appindicator network nls policykit pulseaudio thunar"
+
+COMMON_DEPEND="
+ dev-python/pygobject:3
+ >=net-wireless/bluez-4.61:=
+ ${PYTHON_DEPS}"
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ nls? ( dev-util/intltool sys-devel/gettext )"
+RDEPEND="${COMMON_DEPEND}
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ sys-apps/dbus
+ x11-libs/gtk+:3[introspection]
+ x11-libs/libnotify[introspection]
+ || (
+ x11-themes/faenza-icon-theme
+ x11-themes/gnome-icon-theme
+ x11-themes/mate-icon-theme
+ )
+ appindicator? ( dev-libs/libappindicator:3[introspection] )
+ network? (
+ net-dns/avahi[autoipd]
+ net-firewall/iptables
+ sys-apps/net-tools
+ || (
+ net-dns/dnsmasq
+ net-misc/dhcp
+ >=net-misc/networkmanager-0.8
+ )
+ )
+ policykit? ( sys-auth/polkit )
+ pulseaudio? ( media-sound/pulseaudio[bluetooth] )
+ thunar? ( xfce-base/thunar )
+ !net-wireless/gnome-bluetooth
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+pkg_pretend() {
+ if use network; then
+ local CONFIG_CHECK="~BRIDGE ~IP_NF_IPTABLES
+ ~IP_NF_NAT ~IP_NF_TARGET_MASQUERADE"
+ linux-info_pkg_setup
+ fi
+}
+
+pkg_setup() {
+ pkg_pretend
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${P}-set-codeset-for-gettext-to-UTF-8-always.patch"
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ --disable-runtime-deps-check \
+ --disable-static \
+ $(use_enable policykit polkit) \
+ $(use_enable nls) \
+ $(use_enable thunar thunar-sendto)
+}
+
+src_install() {
+ default
+
+ python_fix_shebang "${D}"
+ rm "${D}"/$(python_get_sitedir)/*.la || die
+
+ use appindicator || { rm "${D}"/$(python_get_sitedir)/${PN}/plugins/applet/AppIndicator.py* || die; }
+ use pulseaudio || { rm "${D}"/$(python_get_sitedir)/${PN}/{main/Pulse*.py*,plugins/manager/Pulse*.py*} || die; }
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+}
diff --git a/net-wireless/blueman/blueman-9999.ebuild b/net-wireless/blueman/blueman-9999.ebuild
new file mode 100644
index 00000000000..caa2c00d0e8
--- /dev/null
+++ b/net-wireless/blueman/blueman-9999.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_4} )
+inherit eutils gnome2-utils linux-info python-single-r1
+
+DESCRIPTION="GTK+ Bluetooth Manager, designed to be simple and intuitive for everyday bluetooth tasks"
+HOMEPAGE="https://github.com/blueman-project/blueman"
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/blueman-project/blueman.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/blueman-project/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~ppc ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="appindicator network nls policykit pulseaudio thunar"
+
+COMMON_DEPEND="
+ dev-python/pygobject:3
+ >=net-wireless/bluez-5:=
+ ${PYTHON_DEPS}"
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ nls? ( dev-util/intltool sys-devel/gettext )"
+RDEPEND="${COMMON_DEPEND}
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ sys-apps/dbus
+ x11-libs/gtk+:3[introspection]
+ x11-libs/libnotify[introspection]
+ || (
+ x11-themes/faenza-icon-theme
+ x11-themes/gnome-icon-theme
+ x11-themes/mate-icon-theme
+ )
+ appindicator? ( dev-libs/libappindicator:3[introspection] )
+ network? (
+ net-dns/avahi[autoipd]
+ net-firewall/iptables
+ sys-apps/net-tools
+ || (
+ net-dns/dnsmasq
+ net-misc/dhcp
+ >=net-misc/networkmanager-0.8
+ )
+ )
+ policykit? ( sys-auth/polkit )
+ pulseaudio? ( media-sound/pulseaudio[bluetooth] )
+ thunar? ( xfce-base/thunar )
+ !net-wireless/gnome-bluetooth
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+pkg_pretend() {
+ if use network; then
+ local CONFIG_CHECK="~BRIDGE ~IP_NF_IPTABLES
+ ~IP_NF_NAT ~IP_NF_TARGET_MASQUERADE"
+ linux-info_pkg_setup
+ fi
+}
+
+pkg_setup() {
+ pkg_pretend
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-9999-set-codeset-for-gettext-to-UTF-8-always.patch"
+ [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ --disable-runtime-deps-check \
+ --disable-static \
+ $(use_enable appindicator) \
+ $(use_enable policykit polkit) \
+ $(use_enable nls) \
+ $(use_enable pulseaudio) \
+ $(use_enable thunar thunar-sendto)
+}
+
+src_install() {
+ default
+
+ python_fix_shebang "${D}"
+ rm "${D}"/$(python_get_sitedir)/*.la || die
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ gnome2_schemas_update
+}
diff --git a/net-wireless/blueman/files/blueman-1.23-fix-broken-status-icon.patch b/net-wireless/blueman/files/blueman-1.23-fix-broken-status-icon.patch
new file mode 100644
index 00000000000..58931eba398
--- /dev/null
+++ b/net-wireless/blueman/files/blueman-1.23-fix-broken-status-icon.patch
@@ -0,0 +1,34 @@
+From 4588e22cc486cf297517168f52f0274133577827 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch>
+Date: Wed, 13 Jun 2012 09:52:40 +0200
+Subject: [PATCH] fix broken status icon
+
+---
+ blueman/plugins/applet/StatusIcon.py | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/blueman/plugins/applet/StatusIcon.py b/blueman/plugins/applet/StatusIcon.py
+index fb02593..ed352ea 100644
+--- a/blueman/plugins/applet/StatusIcon.py
++++ b/blueman/plugins/applet/StatusIcon.py
+@@ -68,7 +68,7 @@ class StatusIcon(AppletPlugin, gtk.StatusIcon):
+ entry.connect("changed", self.on_entry_changed, ic, image)
+
+ __options__ = {"icon": {"type": str,
+- "default": "blueman-tray",
++ "default": "blueman",
+ "name": _("Icon Name"),
+ "desc": _("Custom icon to use for the notification area"),
+ "decorator": widget_decorator
+@@ -166,7 +166,7 @@ class StatusIcon(AppletPlugin, gtk.StatusIcon):
+ self.QueryVisibility()
+
+ def on_status_icon_resized(self):
+- self.icon = "blueman-tray"
++ self.icon = "blueman"
+
+ #p = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, 22, 22)
+ #p.fill(0)
+--
+1.7.8.6
+
diff --git a/net-wireless/blueman/files/blueman-1.23-plugins-conf-file.patch b/net-wireless/blueman/files/blueman-1.23-plugins-conf-file.patch
new file mode 100644
index 00000000000..80cdad0c9a0
--- /dev/null
+++ b/net-wireless/blueman/files/blueman-1.23-plugins-conf-file.patch
@@ -0,0 +1,30 @@
+diff --git a/blueman/plugins/config/File.py b/blueman/plugins/config/File.py
+index c5414c5..9a9e156 100644
+--- a/blueman/plugins/config/File.py
++++ b/blueman/plugins/config/File.py
+@@ -37,7 +37,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):
+ __id__ = 0
+@@ -89,9 +94,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-1.23-set-codeset-for-gettext-to-UTF-8-always.patch b/net-wireless/blueman/files/blueman-1.23-set-codeset-for-gettext-to-UTF-8-always.patch
new file mode 100644
index 00000000000..a7df10db506
--- /dev/null
+++ b/net-wireless/blueman/files/blueman-1.23-set-codeset-for-gettext-to-UTF-8-always.patch
@@ -0,0 +1,266 @@
+From f585aea768ad98440d4967894aa9213cea6e6f14 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch>
+Date: Tue, 19 Jun 2012 08:03:47 +0200
+Subject: [PATCH] Set codeset for gettext to UTF-8 always
+
+This fixes a segfault in g_markup_escape_text when loading the UI files
+with a non-UTF-8 locale since GTK+ expects all strings (including translation)
+to be in UTF-8.
+---
+ apps/blueman-adapters | 2 ++
+ apps/blueman-assistant | 2 ++
+ apps/blueman-manager | 2 ++
+ apps/blueman-sendto | 2 ++
+ apps/blueman-services | 2 ++
+ blueman/gui/GsmSettings.py | 2 ++
+ blueman/gui/applet/PluginDialog.py | 2 ++
+ blueman/main/applet/BluezAgent.py | 2 ++
+ blueman/plugins/applet/NetUsage.py | 2 ++
+ blueman/plugins/services/Audio.py | 2 ++
+ blueman/plugins/services/Network.py | 2 ++
+ blueman/plugins/services/Transfer.py | 2 ++
+ 12 files changed, 24 insertions(+), 0 deletions(-)
+
+diff --git a/apps/blueman-adapters b/apps/blueman-adapters
+index 6adc642..51325ad 100755
+--- a/apps/blueman-adapters
++++ b/apps/blueman-adapters
+@@ -26,6 +26,7 @@ import gobject
+ import pango
+ import os.path
+ import sys
++from locale import bind_textdomain_codeset
+
+ #support running uninstalled
+ _dirname = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
+@@ -47,6 +48,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 32d8bd8..c30f663 100755
+--- a/apps/blueman-assistant
++++ b/apps/blueman-assistant
+@@ -35,6 +35,7 @@ import gtk
+ import random
+ 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__), '..'))
+@@ -74,6 +75,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 e4a04e3..3aeb80f 100755
+--- a/apps/blueman-manager
++++ b/apps/blueman-manager
+@@ -25,6 +25,7 @@ import sys
+ import gtk
+ import dbus, dbus.glib
+ import gobject
++from locale import bind_textdomain_codeset
+
+ #support running uninstalled
+ _dirname = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
+@@ -56,6 +57,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 72fcfa9..f8c082a 100755
+--- a/apps/blueman-sendto
++++ b/apps/blueman-sendto
+@@ -33,6 +33,7 @@ from optparse import OptionParser
+ import gettext
+ import urllib
+ import time
++from locale import bind_textdomain_codeset
+
+ from blueman.bluez.Adapter import Adapter
+ from blueman.main.Device import Device
+@@ -56,6 +57,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 d6d4545..2c15f03 100755
+--- a/apps/blueman-services
++++ b/apps/blueman-services
+@@ -8,6 +8,7 @@ if os.path.exists(os.path.join(_dirname,"ChangeLog")):
+ sys.path.insert(0, _dirname)
+
+ import gtk
++from locale import bind_textdomain_codeset
+ from blueman.gui.GenericList import GenericList
+
+ from blueman.Functions import *
+@@ -25,6 +26,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 2e845ec..b4e1059 100644
+--- a/blueman/gui/GsmSettings.py
++++ b/blueman/gui/GsmSettings.py
+@@ -20,6 +20,7 @@ from blueman.main.Config import Config
+ from blueman.Functions import *
+ from blueman.Constants import *
+ import gtk
++from locale import bind_textdomain_codeset
+
+ class GsmSettings(gtk.Dialog):
+ def __init__(self, bd_address):
+@@ -29,6 +30,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 1d8cbec..299aa32 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 9c7f93e..377f84b 100644
+--- a/blueman/main/applet/BluezAgent.py
++++ b/blueman/main/applet/BluezAgent.py
+@@ -24,6 +24,7 @@ from blueman.Functions import get_icon, dprint
+ import gtk
+ import gobject
+ import cgi
++from locale import bind_textdomain_codeset
+ import blueman.bluez as Bluez
+ from blueman.Sdp import *
+ from blueman.Constants import *
+@@ -65,6 +66,7 @@ class CommonAgent(gobject.GObject, Agent):
+ builder = gtk.Builder()
+ builder.add_from_file(UI_PATH +"/applet-passkey.ui")
+ builder.set_translation_domain("blueman")
++ bind_textdomain_codeset("blueman", "UTF-8")
+ dialog = builder.get_object("dialog")
+
+ dialog.props.icon_name = "blueman"
+diff --git a/blueman/plugins/applet/NetUsage.py b/blueman/plugins/applet/NetUsage.py
+index 0cf15e8..bcebb44 100644
+--- a/blueman/plugins/applet/NetUsage.py
++++ b/blueman/plugins/applet/NetUsage.py
+@@ -33,6 +33,7 @@ import dbus
+ import time
+ import datetime
+ import gettext
++from locale import bind_textdomain_codeset
+
+ class MonitorBase(gobject.GObject):
+ __gsignals__ = {
+@@ -146,6 +147,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 a725923..6a67fb0 100644
+--- a/blueman/plugins/services/Audio.py
++++ b/blueman/plugins/services/Audio.py
+@@ -19,6 +19,7 @@
+
+ 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 d7b9f45..fc8a8f4 100644
+--- a/blueman/plugins/services/Network.py
++++ b/blueman/plugins/services/Network.py
+@@ -18,6 +18,7 @@
+ #
+
+ 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 d8ba6be..5dd44f0 100644
+--- a/blueman/plugins/services/Transfer.py
++++ b/blueman/plugins/services/Transfer.py
+@@ -18,6 +18,7 @@
+ #
+
+ 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")
+
+--
+1.7.8.6
+
diff --git a/net-wireless/blueman/files/blueman-1.98_p20150105-set-codeset-for-gettext-to-UTF-8-always.patch b/net-wireless/blueman/files/blueman-1.98_p20150105-set-codeset-for-gettext-to-UTF-8-always.patch
new file mode 100644
index 00000000000..ce341c866cd
--- /dev/null
+++ b/net-wireless/blueman/files/blueman-1.98_p20150105-set-codeset-for-gettext-to-UTF-8-always.patch
@@ -0,0 +1,239 @@
+diff --git a/apps/blueman-adapters b/apps/blueman-adapters
+index ed80a4f..9f27b9e 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 7e602c8..fab3355 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__), '..'))
+@@ -62,6 +63,7 @@ class Assistant:
+
+ 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 b152044..395257b 100755
+--- a/apps/blueman-manager
++++ b/apps/blueman-manager
+@@ -7,6 +7,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
+@@ -43,6 +44,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 852f99a..fdbff01 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 072958d..207659c 100644
+--- a/blueman/main/applet/BluezAgent.py
++++ b/blueman/main/applet/BluezAgent.py
+@@ -7,6 +7,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 *
+@@ -50,6 +51,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 9fd93c7..d6bc492 100644
+--- a/blueman/plugins/applet/NetUsage.py
++++ b/blueman/plugins/applet/NetUsage.py
+@@ -17,7 +17,7 @@ import dbus
+ import time
+ import datetime
+ import gettext
+-
++from locale import bind_textdomain_codeset
+
+ class MonitorBase(GObject.GObject):
+ __gsignals__ = {
+@@ -134,6 +134,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 5fab49a..0dd88d9 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 189d0cc..8fa65d0 100644
+--- a/blueman/plugins/services/Transfer.py
++++ b/blueman/plugins/services/Transfer.py
+@@ -1,4 +1,5 @@
+ from gi.repository import Gtk
++from locale import bind_textdomain_codeset
+ from blueman.Constants import *
+ from blueman.plugins.ServicePlugin import ServicePlugin
+
+@@ -14,6 +15,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")
+
diff --git a/net-wireless/blueman/files/blueman-2.0-set-codeset-for-gettext-to-UTF-8-always.patch b/net-wireless/blueman/files/blueman-2.0-set-codeset-for-gettext-to-UTF-8-always.patch
new file mode 100644
index 00000000000..02747d178d3
--- /dev/null
+++ b/net-wireless/blueman/files/blueman-2.0-set-codeset-for-gettext-to-UTF-8-always.patch
@@ -0,0 +1,219 @@
+From aebfe594584e7c5cca30062d643618fc2ab8144b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 1 Mar 2015 23:08:02 +0100
+Subject: [PATCH] set codeset for gettext to utf-8
+
+---
+ apps/blueman-adapters | 2 ++
+ apps/blueman-assistant | 2 ++
+ apps/blueman-manager | 2 ++
+ apps/blueman-sendto | 2 ++
+ apps/blueman-services | 2 ++
+ blueman/gui/GsmSettings.py | 2 ++
+ blueman/gui/applet/PluginDialog.py | 4 +++-
+ blueman/plugins/applet/NetUsage.py | 3 ++-
+ blueman/plugins/services/Network.py | 3 ++-
+ blueman/plugins/services/Transfer.py | 2 ++
+ 11 files changed, 29 insertions(+), 6 deletions(-)
+
+diff --git a/apps/blueman-adapters b/apps/blueman-adapters
+index a961480..3759ba8 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__), '..'))
+@@ -36,6 +37,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 7d96ec7..c322256 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__), '..'))
+@@ -62,6 +63,7 @@ class Assistant:
+
+ 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 666f16c..af23015 100755
+--- a/apps/blueman-manager
++++ b/apps/blueman-manager
+@@ -8,6 +8,7 @@ from dbus.mainloop.glib import DBusGMainLoop
+ 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
+@@ -46,6 +47,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 06ad626..a7099ab 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
+@@ -48,6 +49,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 fb1428d..e3e708b 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 b12f77f..cc80492 100644
+--- a/blueman/gui/GsmSettings.py
++++ b/blueman/gui/GsmSettings.py
+@@ -3,6 +3,7 @@ from blueman.Functions import *
+ from blueman.Constants import *
+
+ from gi.repository import Gtk
++from locale import bind_textdomain_codeset
+
+
+ class GsmSettings(Gtk.Dialog):
+@@ -13,6 +14,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 71dd742..3a1f932 100644
+--- a/blueman/gui/applet/PluginDialog.py
++++ b/blueman/gui/applet/PluginDialog.py
+@@ -1,4 +1,5 @@
+ from gi.repository import Gtk
++from locale import bind_textdomain_codeset
+ from blueman.Constants import *
+ from blueman.Functions import *
+
+@@ -97,7 +98,8 @@ class PluginDialog(Gtk.Dialog):
+
+ self.Builder = Gtk.Builder()
+ self.Builder.set_translation_domain("blueman")
+- self.Builder.add_from_file(UI_PATH + "/applet-plugins-widget.ui")
++ bind_textdomain_codeset("blueman", "UTF-8")
++ self.Builder.add_from_file(UI_PATH + "/applet-plugins-widget.ui")
+
+ self.set_title(_("Plugins"))
+ self.props.icon_name = "blueman"
+diff --git a/blueman/plugins/applet/NetUsage.py b/blueman/plugins/applet/NetUsage.py
+index f6acb1f..5545112 100644
+--- a/blueman/plugins/applet/NetUsage.py
++++ b/blueman/plugins/applet/NetUsage.py
+@@ -17,7 +17,7 @@ import dbus
+ import time
+ import datetime
+ import gettext
+-
++from locale import bind_textdomain_codeset
+
+ class MonitorBase(GObject.GObject):
+ __gsignals__ = {
+@@ -134,6 +134,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/Network.py b/blueman/plugins/services/Network.py
+index 278121e..e688e68 100644
+--- a/blueman/plugins/services/Network.py
++++ b/blueman/plugins/services/Network.py
+@@ -1,4 +1,5 @@
+ 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
+@@ -19,7 +20,7 @@ class Network(ServicePlugin):
+
+ self.Builder = Gtk.Builder()
+ self.Builder.set_translation_domain("blueman")
+- self.Builder.add_from_file(UI_PATH + "/services-network.ui")
++ bind_textdomain_codeset("blueman", "UTF-8") self.Builder.add_from_file(UI_PATH + "/services-network.ui")
+ self.widget = self.Builder.get_object("network")
+
+ self.ignored_keys = []
+diff --git a/blueman/plugins/services/Transfer.py b/blueman/plugins/services/Transfer.py
+index d14d0eb..c3e71ad 100644
+--- a/blueman/plugins/services/Transfer.py
++++ b/blueman/plugins/services/Transfer.py
+@@ -1,4 +1,5 @@
+ from gi.repository import Gtk
++from locale import bind_textdomain_codeset
+ from blueman.Constants import *
+ from blueman.plugins.ServicePlugin import ServicePlugin
+
+@@ -14,6 +15,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")
+
+--
+2.3.1
+
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 00000000000..fa536b27c42
--- /dev/null
+++ b/net-wireless/blueman/files/blueman-9999-set-codeset-for-gettext-to-UTF-8-always.patch
@@ -0,0 +1,267 @@
+From a28a982ba05a3b84dcfed43e5bd6801067b5d0c5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 8 Aug 2015 14:57:51 +0200
+Subject: [PATCH] Always set codeset for gettext to utf8
+
+---
+ apps/blueman-adapters | 2 ++
+ apps/blueman-assistant | 2 ++
+ apps/blueman-manager | 2 ++
+ apps/blueman-sendto | 2 ++
+ apps/blueman-services | 2 ++
+ blueman/gui/GsmSettings.py | 3 +++
+ blueman/gui/applet/PluginDialog.py | 3 +++
+ blueman/gui/manager/ManagerDeviceMenu.py | 2 ++
+ blueman/main/applet/BluezAgent.py | 2 ++
+ blueman/plugins/applet/NetUsage.py | 3 ++-
+ blueman/plugins/services/Network.py | 2 ++
+ blueman/plugins/services/Transfer.py | 3 +++
+ 12 files changed, 27 insertions(+), 1 deletion(-)
+
+diff --git a/apps/blueman-adapters b/apps/blueman-adapters
+index 4ac81fe..c8d8c06 100755
+--- a/apps/blueman-adapters
++++ b/apps/blueman-adapters
+@@ -11,6 +11,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__), '..'))
+@@ -40,6 +41,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 0b8544b..b23150f 100755
+--- a/apps/blueman-assistant
++++ b/apps/blueman-assistant
+@@ -19,6 +19,7 @@ import os
+ import sys
+ import signal
+ from optparse import OptionParser
++from locale import bind_textdomain_codeset
+
+ #support running uninstalled
+ _dirname = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
+@@ -60,6 +61,7 @@ class Assistant:
+
+ 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 d276692..e272528 100755
+--- a/apps/blueman-manager
++++ b/apps/blueman-manager
+@@ -14,6 +14,7 @@ from blueman.Constants import *
+ import gi
+ gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk
++from locale import bind_textdomain_codeset
+
+ #support running uninstalled
+ _dirname = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
+@@ -47,6 +48,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 54e30b4..3f99d1e 100755
+--- a/apps/blueman-sendto
++++ b/apps/blueman-sendto
+@@ -17,6 +17,7 @@ from optparse import OptionParser
+ import gettext
+ import urllib
+ import time
++from locale import bind_textdomain_codeset
+
+ from blueman.Constants import *
+ import gi
+@@ -52,6 +53,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 3e343ca..5e41261 100755
+--- a/apps/blueman-services
++++ b/apps/blueman-services
+@@ -7,6 +7,7 @@ from __future__ import unicode_literals
+
+ 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")):
+@@ -35,6 +36,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("org.blueman.general")
+diff --git a/blueman/gui/GsmSettings.py b/blueman/gui/GsmSettings.py
+index 2919a69..3cb7057 100644
+--- a/blueman/gui/GsmSettings.py
++++ b/blueman/gui/GsmSettings.py
+@@ -3,6 +3,8 @@ from __future__ import division
+ from __future__ import absolute_import
+ from __future__ import unicode_literals
+
++from locale import bind_textdomain_codeset
++
+ from blueman.main.Config import Config
+ from blueman.Functions import *
+ from blueman.Constants import *
+@@ -20,6 +22,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 eb70b45..def7e48 100644
+--- a/blueman/gui/applet/PluginDialog.py
++++ b/blueman/gui/applet/PluginDialog.py
+@@ -3,6 +3,8 @@ from __future__ import division
+ from __future__ import absolute_import
+ from __future__ import unicode_literals
+
++from locale import bind_textdomain_codeset
++
+ import gi
+ gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk
+@@ -105,6 +107,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/gui/manager/ManagerDeviceMenu.py b/blueman/gui/manager/ManagerDeviceMenu.py
+index f0dea5a..031b456 100644
+--- a/blueman/gui/manager/ManagerDeviceMenu.py
++++ b/blueman/gui/manager/ManagerDeviceMenu.py
+@@ -3,6 +3,7 @@ from __future__ import division
+ from __future__ import absolute_import
+ from __future__ import unicode_literals
+
++from locale import bind_textdomain_codeset
+ from operator import itemgetter
+ from blueman.Sdp import uuid128_to_uuid16, SERIAL_PORT_SVCLASS_ID, OBEX_OBJPUSH_SVCLASS_ID, OBEX_FILETRANS_SVCLASS_ID
+ from blueman.Functions import *
+@@ -312,6 +313,7 @@ class ManagerDeviceMenu(Gtk.Menu):
+
+ builder = Gtk.Builder()
+ builder.set_translation_domain("blueman")
++ bind_textdomain_codeset("blueman", "UTF-8")
+ builder.add_from_file(UI_PATH + "/rename-device.ui")
+ dialog = builder.get_object("dialog")
+ dialog.set_transient_for(self.Blueman.window)
+diff --git a/blueman/main/applet/BluezAgent.py b/blueman/main/applet/BluezAgent.py
+index f49946d..e930963 100644
+--- a/blueman/main/applet/BluezAgent.py
++++ b/blueman/main/applet/BluezAgent.py
+@@ -6,6 +6,7 @@ from __future__ import unicode_literals
+ import dbus
+ from dbus.mainloop.glib import DBusGMainLoop
+ import dbus.service
++from locale import bind_textdomain_codeset
+ from blueman.Functions import get_icon, dprint
+
+ import gi
+@@ -68,6 +69,7 @@ class BluezAgent(_GObjectAgent, Agent, GObject.GObject):
+ builder = Gtk.Builder()
+ builder.add_from_file(UI_PATH + "/applet-passkey.ui")
+ builder.set_translation_domain("blueman")
++ bind_textdomain_codeset("blueman", "UTF-8")
+ dialog = builder.get_object("dialog")
+
+ dialog.props.icon_name = "blueman"
+diff --git a/blueman/plugins/applet/NetUsage.py b/blueman/plugins/applet/NetUsage.py
+index 1f3ad04..a498f98 100644
+--- a/blueman/plugins/applet/NetUsage.py
++++ b/blueman/plugins/applet/NetUsage.py
+@@ -24,7 +24,7 @@ import dbus
+ import time
+ import datetime
+ import gettext
+-
++from locale import bind_textdomain_codeset
+
+ class MonitorBase(GObject.GObject):
+ __gsignals__ = {
+@@ -135,6 +135,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/Network.py b/blueman/plugins/services/Network.py
+index 59e1da3..f36691a 100644
+--- a/blueman/plugins/services/Network.py
++++ b/blueman/plugins/services/Network.py
+@@ -18,6 +18,7 @@ from blueman.main.Mechanism import Mechanism
+ from blueman.main.AppletService import AppletService
+ from blueman.gui.Dialogs import NetworkErrorDialog
+ from random import randint
++from locale import bind_textdomain_codeset
+
+
+ class Network(ServicePlugin):
+@@ -27,6 +28,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 61b9db1..4474e93 100644
+--- a/blueman/plugins/services/Transfer.py
++++ b/blueman/plugins/services/Transfer.py
+@@ -3,6 +3,8 @@ from __future__ import division
+ from __future__ import absolute_import
+ from __future__ import unicode_literals
+
++from locale import bind_textdomain_codeset
++
+ import gi
+ gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk
+@@ -21,6 +23,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")
+
+--
+2.5.0
+
diff --git a/net-wireless/blueman/metadata.xml b/net-wireless/blueman/metadata.xml
new file mode 100644
index 00000000000..555ea971ea8
--- /dev/null
+++ b/net-wireless/blueman/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dev-zero@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="appindicator">Enable usage of <pkg>dev-libs/libappindicator</pkg> to export menu options</flag>
+ <flag name="gconf">Enable the GConf configuration backend</flag>
+ <flag name="network">Add functionality to setup (host) PAN connections using either <pkg>net-dns/dnsmasq</pkg> or <pkg>net-misc/dhcp</pkg></flag>
+ <flag name="sendto">Install the sendto-plugin for <pkg>gnome-base/nautilus</pkg></flag>
+ <flag name="gnome">Install the sendto-plugin for <pkg>gnome-base/nautilus</pkg></flag>
+ <flag name="thunar">Install the sendto-plugin for <pkg>xfce-base/thunar</pkg></flag>
+ </use>
+</pkgmetadata>