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 /app-mobilephone
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 'app-mobilephone')
-rw-r--r--app-mobilephone/anyremote/Manifest2
-rw-r--r--app-mobilephone/anyremote/anyremote-6.4.ebuild26
-rw-r--r--app-mobilephone/anyremote/anyremote-6.5.ebuild46
-rw-r--r--app-mobilephone/anyremote/metadata.xml10
-rw-r--r--app-mobilephone/bitpim/Manifest1
-rw-r--r--app-mobilephone/bitpim/bitpim-1.0.6-r2.ebuild150
-rw-r--r--app-mobilephone/bitpim/files/bitpim-1.0.6-ffmpeg_quality.patch12
-rw-r--r--app-mobilephone/bitpim/files/bitpim-1.0.6-gcc43.patch22
-rw-r--r--app-mobilephone/bitpim/files/bitpim-1.0.6-gentoo.patch90
-rwxr-xr-xapp-mobilephone/bitpim/files/maketarball30
-rw-r--r--app-mobilephone/bitpim/metadata.xml11
-rw-r--r--app-mobilephone/cobex/Manifest1
-rw-r--r--app-mobilephone/cobex/cobex-0.2.13.ebuild30
-rw-r--r--app-mobilephone/cobex/files/cobex-0.2.13-build.patch108
-rw-r--r--app-mobilephone/cobex/metadata.xml10
-rw-r--r--app-mobilephone/dfu-util/Manifest1
-rw-r--r--app-mobilephone/dfu-util/dfu-util-0.7.ebuild39
-rw-r--r--app-mobilephone/dfu-util/dfu-util-9999.ebuild38
-rw-r--r--app-mobilephone/dfu-util/metadata.xml5
-rw-r--r--app-mobilephone/esms/Manifest1
-rw-r--r--app-mobilephone/esms/esms-0.9.5.ebuild22
-rw-r--r--app-mobilephone/esms/metadata.xml11
-rw-r--r--app-mobilephone/freesmee/Manifest1
-rw-r--r--app-mobilephone/freesmee/freesmee-0.83.ebuild30
-rw-r--r--app-mobilephone/freesmee/freesmee-9999.ebuild29
-rw-r--r--app-mobilephone/freesmee/metadata.xml8
-rw-r--r--app-mobilephone/gammu/Manifest1
-rw-r--r--app-mobilephone/gammu/files/gammu-1.32.0-bashcompdir.patch12
-rw-r--r--app-mobilephone/gammu/files/gammu-skip-locktest.patch12
-rw-r--r--app-mobilephone/gammu/gammu-1.33.0-r1.ebuild96
-rw-r--r--app-mobilephone/gammu/gammu-1.33.0.ebuild108
-rw-r--r--app-mobilephone/gammu/metadata.xml8
-rw-r--r--app-mobilephone/ganyremote/Manifest2
-rw-r--r--app-mobilephone/ganyremote/ganyremote-6.0.1.ebuild26
-rw-r--r--app-mobilephone/ganyremote/ganyremote-6.3.3.ebuild56
-rw-r--r--app-mobilephone/ganyremote/metadata.xml10
-rw-r--r--app-mobilephone/gnocky/Manifest1
-rw-r--r--app-mobilephone/gnocky/gnocky-0.0.7.ebuild24
-rw-r--r--app-mobilephone/gnocky/metadata.xml5
-rw-r--r--app-mobilephone/gnokii/Manifest2
-rw-r--r--app-mobilephone/gnokii/files/gnokii-0.6.29-pcsc.patch13
-rw-r--r--app-mobilephone/gnokii/files/gnokii-0.6.31-fix_xgnokii_inclusion.patch11
-rw-r--r--app-mobilephone/gnokii/files/gnokii-9999-icon.patch11
-rw-r--r--app-mobilephone/gnokii/files/gnokii-9999-translations.patch10
-rw-r--r--app-mobilephone/gnokii/gnokii-0.6.29.ebuild127
-rw-r--r--app-mobilephone/gnokii/gnokii-0.6.31.ebuild127
-rw-r--r--app-mobilephone/gnokii/gnokii-9999.ebuild118
-rw-r--r--app-mobilephone/gnokii/metadata.xml17
-rw-r--r--app-mobilephone/gnome-phone-manager/Manifest1
-rw-r--r--app-mobilephone/gnome-phone-manager/files/0001-Adapt-to-Evolution-Data-Server-API-changes.patch541
-rw-r--r--app-mobilephone/gnome-phone-manager/gnome-phone-manager-0.69-r1.ebuild56
-rw-r--r--app-mobilephone/gnome-phone-manager/metadata.xml15
-rw-r--r--app-mobilephone/gsmlib/Manifest1
-rw-r--r--app-mobilephone/gsmlib/files/gsmlib-1.11-gcc41.patch52
-rw-r--r--app-mobilephone/gsmlib/files/gsmlib-1.11-gcc43.patch67
-rw-r--r--app-mobilephone/gsmlib/files/gsmlib-1.11-include-gcc34-fix.patch52
-rw-r--r--app-mobilephone/gsmlib/gsmlib-1.11_pre041028.ebuild31
-rw-r--r--app-mobilephone/gsmlib/metadata.xml6
-rw-r--r--app-mobilephone/heimdall/Manifest2
-rw-r--r--app-mobilephone/heimdall/heimdall-1.4.0.ebuild63
-rw-r--r--app-mobilephone/heimdall/heimdall-1.4.1.ebuild62
-rw-r--r--app-mobilephone/heimdall/heimdall-9999.ebuild58
-rw-r--r--app-mobilephone/heimdall/metadata.xml11
-rw-r--r--app-mobilephone/kannel-sqlbox/Manifest1
-rw-r--r--app-mobilephone/kannel-sqlbox/files/kannel-sqlbox-0.7.2-configure.patch30
-rw-r--r--app-mobilephone/kannel-sqlbox/files/kannel-sqlbox-0.7.2-sqlinit-hfiles.patch84
-rw-r--r--app-mobilephone/kannel-sqlbox/files/kannel-sqlbox.initd34
-rw-r--r--app-mobilephone/kannel-sqlbox/kannel-sqlbox-0.7.2.ebuild75
-rw-r--r--app-mobilephone/kannel-sqlbox/metadata.xml7
-rw-r--r--app-mobilephone/kannel/Manifest2
-rw-r--r--app-mobilephone/kannel/files/kannel-1.4.1-custom-wap-ports.patch354
-rw-r--r--app-mobilephone/kannel/files/kannel-1.4.1-nolex.patch22
-rw-r--r--app-mobilephone/kannel/files/kannel-1.4.3-autotools.patch33
-rw-r--r--app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch346
-rw-r--r--app-mobilephone/kannel/files/kannel-1.4.3-external-libuuid.patch849
-rw-r--r--app-mobilephone/kannel/files/kannel-1.5.0-custom-wap-ports.patch346
-rw-r--r--app-mobilephone/kannel/files/kannel-bearerbox.initd34
-rw-r--r--app-mobilephone/kannel/files/kannel-confd10
-rw-r--r--app-mobilephone/kannel/files/kannel-initd68
-rw-r--r--app-mobilephone/kannel/files/kannel-smsbox.initd33
-rw-r--r--app-mobilephone/kannel/files/kannel-wapbox.initd33
-rw-r--r--app-mobilephone/kannel/kannel-1.4.3-r1.ebuild120
-rw-r--r--app-mobilephone/kannel/kannel-1.5.0.ebuild122
-rw-r--r--app-mobilephone/kannel/metadata.xml8
-rw-r--r--app-mobilephone/lightblue/Manifest1
-rw-r--r--app-mobilephone/lightblue/lightblue-0.4-r1.ebuild28
-rw-r--r--app-mobilephone/lightblue/metadata.xml8
-rw-r--r--app-mobilephone/linuxsms/Manifest1
-rw-r--r--app-mobilephone/linuxsms/linuxsms-0.77.ebuild25
-rw-r--r--app-mobilephone/linuxsms/metadata.xml11
-rw-r--r--app-mobilephone/metadata.xml33
-rw-r--r--app-mobilephone/obex-data-server/Manifest1
-rw-r--r--app-mobilephone/obex-data-server/metadata.xml13
-rw-r--r--app-mobilephone/obex-data-server/obex-data-server-0.4.6.ebuild40
-rw-r--r--app-mobilephone/obexd/Manifest2
-rw-r--r--app-mobilephone/obexd/metadata.xml22
-rw-r--r--app-mobilephone/obexd/obexd-0.46.ebuild36
-rw-r--r--app-mobilephone/obexd/obexd-0.48.ebuild36
-rw-r--r--app-mobilephone/obexftp/Manifest2
-rw-r--r--app-mobilephone/obexftp/files/obexftp-0.23-fix-ruby19.patch37
-rw-r--r--app-mobilephone/obexftp/files/obexftp-0.23-fixruby.patch11
-rw-r--r--app-mobilephone/obexftp/files/obexftp-0.23-gentoo.patch22
-rw-r--r--app-mobilephone/obexftp/files/obexftp-0.24-config.patch11
-rw-r--r--app-mobilephone/obexftp/files/obexftp-0.24-enable_bluetooth.patch16
-rw-r--r--app-mobilephone/obexftp/files/obexftp-0.24-python_sitedir.patch16
-rw-r--r--app-mobilephone/obexftp/metadata.xml10
-rw-r--r--app-mobilephone/obexftp/obexftp-0.23-r2.ebuild104
-rw-r--r--app-mobilephone/obexftp/obexftp-0.24.ebuild58
-rw-r--r--app-mobilephone/past/Manifest1
-rw-r--r--app-mobilephone/past/files/past-0.0.4-gcc-4.7.patch10
-rw-r--r--app-mobilephone/past/metadata.xml7
-rw-r--r--app-mobilephone/past/past-0.0.4.ebuild24
-rw-r--r--app-mobilephone/pysms/Manifest1
-rw-r--r--app-mobilephone/pysms/metadata.xml11
-rw-r--r--app-mobilephone/pysms/pysms-0.9.4-r1.ebuild29
-rw-r--r--app-mobilephone/qtadb/Manifest1
-rw-r--r--app-mobilephone/qtadb/metadata.xml15
-rw-r--r--app-mobilephone/qtadb/qtadb-0.8.1.ebuild55
-rw-r--r--app-mobilephone/ringtonetools/Manifest1
-rw-r--r--app-mobilephone/ringtonetools/files/ringtonetools-2.26-no-strip.patch11
-rw-r--r--app-mobilephone/ringtonetools/metadata.xml6
-rw-r--r--app-mobilephone/ringtonetools/ringtonetools-2.26.ebuild31
-rw-r--r--app-mobilephone/scmxx/Manifest1
-rw-r--r--app-mobilephone/scmxx/metadata.xml10
-rw-r--r--app-mobilephone/scmxx/scmxx-0.9.0.ebuild28
-rw-r--r--app-mobilephone/sms/Manifest2
-rw-r--r--app-mobilephone/sms/files/sms-2.0.3-gcc41.patch38
-rw-r--r--app-mobilephone/sms/metadata.xml11
-rw-r--r--app-mobilephone/sms/sms-2.0.3.ebuild35
-rw-r--r--app-mobilephone/sms/sms-2.1.0.ebuild29
-rw-r--r--app-mobilephone/smsclient/Manifest1
-rw-r--r--app-mobilephone/smsclient/files/smsclient-2.0.9a-gentoo.patch122
-rw-r--r--app-mobilephone/smsclient/files/smsclient-2.0.9a-sender.patch139
-rw-r--r--app-mobilephone/smsclient/metadata.xml6
-rw-r--r--app-mobilephone/smsclient/smsclient-2.0.9a-r1.ebuild64
-rw-r--r--app-mobilephone/smssend/Manifest1
-rw-r--r--app-mobilephone/smssend/files/smssend-3.4-verizon.diff34
-rw-r--r--app-mobilephone/smssend/metadata.xml5
-rw-r--r--app-mobilephone/smssend/smssend-3.4.ebuild33
-rw-r--r--app-mobilephone/smstools/Manifest1
-rw-r--r--app-mobilephone/smstools/files/2.2.1-skip-dirlock.patch38
-rw-r--r--app-mobilephone/smstools/files/2.2.13-sendsms-chmod.patch9
-rw-r--r--app-mobilephone/smstools/files/3.1.15-makefile-whitespace.patch11
-rwxr-xr-xapp-mobilephone/smstools/files/smsd.initd21
-rw-r--r--app-mobilephone/smstools/files/smsd.initd222
-rw-r--r--app-mobilephone/smstools/files/smsd.initd331
-rw-r--r--app-mobilephone/smstools/files/smsd.service11
-rw-r--r--app-mobilephone/smstools/files/smsd.tmpfiles1
-rw-r--r--app-mobilephone/smstools/metadata.xml11
-rw-r--r--app-mobilephone/smstools/smstools-3.1.15-r1.ebuild73
-rw-r--r--app-mobilephone/smstools/smstools-3.1.15-r2.ebuild74
-rw-r--r--app-mobilephone/sobexsrv/Manifest2
-rw-r--r--app-mobilephone/sobexsrv/files/conf.d_sobexsrv35
-rw-r--r--app-mobilephone/sobexsrv/files/init.d_sobexsrv59
-rw-r--r--app-mobilephone/sobexsrv/metadata.xml17
-rw-r--r--app-mobilephone/sobexsrv/sobexsrv-1.0.1.ebuild76
-rw-r--r--app-mobilephone/vmoconv/Manifest1
-rw-r--r--app-mobilephone/vmoconv/files/vmoconv-1.0-external-libgsm.patch36
-rw-r--r--app-mobilephone/vmoconv/files/vmoconv-1.0-flags.patch17
-rw-r--r--app-mobilephone/vmoconv/files/vmoconv-1.0-glibc28.patch24
-rw-r--r--app-mobilephone/vmoconv/metadata.xml9
-rw-r--r--app-mobilephone/vmoconv/vmoconv-1.0-r1.ebuild31
-rw-r--r--app-mobilephone/wammu/Manifest2
-rw-r--r--app-mobilephone/wammu/metadata.xml5
-rw-r--r--app-mobilephone/wammu/wammu-0.35.ebuild66
-rw-r--r--app-mobilephone/wammu/wammu-0.36-r1.ebuild64
-rw-r--r--app-mobilephone/yaps/Manifest2
-rw-r--r--app-mobilephone/yaps/files/yaps-0.96-gentoo.diff56
-rw-r--r--app-mobilephone/yaps/files/yaps-0.96-getline-rename.patch64
-rw-r--r--app-mobilephone/yaps/files/yaps-0.96-string.patch10
-rw-r--r--app-mobilephone/yaps/metadata.xml11
-rw-r--r--app-mobilephone/yaps/yaps-0.96-r5.ebuild67
172 files changed, 7423 insertions, 0 deletions
diff --git a/app-mobilephone/anyremote/Manifest b/app-mobilephone/anyremote/Manifest
new file mode 100644
index 00000000000..3cb99802378
--- /dev/null
+++ b/app-mobilephone/anyremote/Manifest
@@ -0,0 +1,2 @@
+DIST anyremote-6.4.tar.gz 2425993 SHA256 342eee7efdb88925d3729553db6d6314bdc6063b51d317931864f77a46254574 SHA512 7baf48e01356dd6f325ca62e005e04af22b4959f95bffb9144327c40ae6a9ebb295f3aab8b638fbf98439fdf748cd1bcb4fd8d3399f81827b657fe9a7311eae8 WHIRLPOOL b183e05e1826215ccdb15bedfc9faffca2be8cbce81fe355cdfe9479b8d267cd76e005909174cbeaddfd9b7992ee8f96cbd6a82271281f08738999a26680f3a3
+DIST anyremote-6.5.tar.gz 2440051 SHA256 e94cd12bd6c1a04f1f0107266fcfa46d8d8e04d3872c22e76346bea192c31225 SHA512 e6190ec9ea4c66b7b85d77a9e056aeaf83d9730356780e9a54c0d27e31ce89399564b20e4bd62543aa72771049f34d359111d2c015e15fca5891d088391d2b73 WHIRLPOOL bbffc9d3dc662f086d4c4c6fa4a7edc2e86efc60e1c2588e46c3489ff5ecfd5ef93dd54f42c67a3d8f6e17f11565addef6cce75ab2154f229482403dd1aa0c62
diff --git a/app-mobilephone/anyremote/anyremote-6.4.ebuild b/app-mobilephone/anyremote/anyremote-6.4.ebuild
new file mode 100644
index 00000000000..9b586735c3b
--- /dev/null
+++ b/app-mobilephone/anyremote/anyremote-6.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Anyremote provides wireless bluetooth, infrared or cable remote control service"
+HOMEPAGE="http://anyremote.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="bluetooth dbus"
+
+RDEPEND="bluetooth? ( net-wireless/bluez )
+ dbus? ( sys-apps/dbus )
+ x11-libs/libXtst"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=(AUTHORS ChangeLog NEWS README)
+src_configure() {
+ econf --docdir="/usr/share/doc/${PF}/" $(use_enable bluetooth) $(use_enable dbus)
+}
diff --git a/app-mobilephone/anyremote/anyremote-6.5.ebuild b/app-mobilephone/anyremote/anyremote-6.5.ebuild
new file mode 100644
index 00000000000..9ebe7e34023
--- /dev/null
+++ b/app-mobilephone/anyremote/anyremote-6.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Bluetooth, infrared or cable remote control service"
+HOMEPAGE="http://anyremote.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="avahi bluetooth dbus"
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/libX11
+ x11-libs/libXtst
+ avahi? ( net-dns/avahi )
+ bluetooth? ( net-wireless/bluez )
+ dbus? (
+ dev-libs/dbus-glib
+ sys-apps/dbus
+ )
+"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+
+src_configure() {
+ econf \
+ --docdir="/usr/share/doc/${PF}/" \
+ $(use_enable avahi) \
+ $(use_enable bluetooth) \
+ $(use_enable dbus)
+}
+
+src_install() {
+ default
+
+ mv "${ED}"/usr/share/doc/${PF}/{doc-html,html} || die
+}
diff --git a/app-mobilephone/anyremote/metadata.xml b/app-mobilephone/anyremote/metadata.xml
new file mode 100644
index 00000000000..5ee3c69b838
--- /dev/null
+++ b/app-mobilephone/anyremote/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">anyremote</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/bitpim/Manifest b/app-mobilephone/bitpim/Manifest
new file mode 100644
index 00000000000..bd2801c695c
--- /dev/null
+++ b/app-mobilephone/bitpim/Manifest
@@ -0,0 +1 @@
+DIST bitpim-1.0.6.tar.bz2 4595216 SHA256 9a46b965e505d5a25bb613cef887bf23871f7b1c20493786cd0b880e3ef6855d SHA512 6ef4f56e1afa360b60a4522e6c0dc3526bf30e43d8ad783c247724c7cc212056cdb2664da09b0b5883e0eb38ed68d046f259043bf9b34ad0aa51773119c49c74 WHIRLPOOL 3cd092067d5fd11d325208f0e670135e28aa5aa2de769ffca7eaee7d8d339c55c036d4dbc2b0c34601fee11f78f0d0466c749f17ae02c5dd033935cd8dc5572f
diff --git a/app-mobilephone/bitpim/bitpim-1.0.6-r2.ebuild b/app-mobilephone/bitpim/bitpim-1.0.6-r2.ebuild
new file mode 100644
index 00000000000..7cf0764a0d3
--- /dev/null
+++ b/app-mobilephone/bitpim/bitpim-1.0.6-r2.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils fdo-mime multilib
+
+DESCRIPTION="Program to view and manipulate data on LG VX4400/VX6000 and many Sanyo Sprint mobile phones"
+HOMEPAGE="http://www.bitpim.org/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# this needs fixing
+#KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="crypt evo usb"
+
+COMMON_DEPEND="dev-python/apsw[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/python-dsv[${PYTHON_USEDEP}]
+ dev-python/wxpython:2.8[${PYTHON_USEDEP}]
+ crypt? (
+ >=dev-python/paramiko-1.7.1[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ )
+ usb? ( virtual/libusb:0 )"
+DEPEND="${COMMON_DEPEND}
+ usb? ( dev-lang/swig )"
+RDEPEND="${COMMON_DEPEND}
+ media-libs/netpbm
+ virtual/ffmpeg"
+
+PATCHES=( "${FILESDIR}/${P}-gentoo.patch" "${FILESDIR}/${P}-ffmpeg_quality.patch" "${FILESDIR}/${P}-gcc43.patch" )
+
+src_prepare() {
+ distutils-r1_src_prepare
+ python_setup
+ sed -i -e "s/^PYTHONVER=.*/PYTHONVER=\$PYTHON/" \
+ src/native/usb/build.sh || die "sed failed"
+ sed -i "s/\$(EXTRADEFINES)\ -O2/\$(CXXFLAGS) \$(LDFLAGS)/" \
+ src/native/av/bmp2avi/Makefile || die "sed failed"
+}
+
+src_compile() {
+ # USB stuff
+ if use usb; then
+ cd "${S}/src/native/usb"
+ sh ./build.sh || die "compilation of native/usb failed"
+ fi
+
+ # strings
+ cd "${S}/src/native/strings"
+ distutils-r1_src_compile
+
+ # bmp2avi
+ cd "${S}/src/native/av/bmp2avi"
+ PLATFORM=linux emake CXX="$(tc-getCXX)"
+}
+
+src_install() {
+
+ # Install files into right place
+ #
+ # BitPim is a self-contained app, so jamming it into
+ # Python's site-packages might not be worthwhile. We'll
+ # Put it in its own home, and add the PYTHONPATH in the
+ # wrapper executables below.
+ local RLOC=/usr/$(get_libdir)/${P}
+
+ # Main Python source
+ insinto ${RLOC}
+ doins src/*.py
+
+ # Phone specifics
+ insinto ${RLOC}/phones
+ doins src/phones/*.py
+
+ # Native products
+ insinto ${RLOC}/native
+ doins src/native/*.py
+ insinto ${RLOC}/native/qtopiadesktop
+ doins src/native/qtopiadesktop/*.py
+ insinto ${RLOC}/native/outlook
+ doins src/native/outlook/*.py
+ insinto ${RLOC}/native/egroupware
+ doins src/native/egroupware/*.py
+ if use evo ; then
+ insinto ${RLOC}/native/evolution
+ doins src/native/evolution/*.py
+ fi
+
+ # strings
+ cd "${S}/src/native/strings"
+ distutils-r1_src_install
+
+ cd "${S}"
+ insinto $RLOC/native/strings
+ doins src/native/strings/__init__.py src/native/strings/jarowpy.py
+
+ # usb
+ if use usb; then
+ insinto ${RLOC}/native/usb
+ doins src/native/usb/*.py
+ doins src/native/usb/*.so
+ fi
+
+ # Helpers and resources
+ dobin src/native/av/bmp2avi/bmp2avi
+ insinto ${RLOC}/resources
+ doins resources/*
+
+ # Bitfling
+ if use crypt; then
+ FLINGDIR="${RLOC}/bitfling"
+ insinto $FLINGDIR
+ cd "${S}/src/bitfling"
+ doins *.py
+ cd "${S}"
+ fi
+
+ # Creating scripts
+ echo '#!/bin/sh' > "${T}/bitpim"
+ echo "exec $PYTHON ${RLOC}/bp.py \"\$@\"" >> "${T}/bitpim"
+ dobin "${T}/bitpim"
+ if use crypt; then
+ echo '#!/bin/sh' > "${T}/bitfling"
+ echo "exec $PYTHON ${RLOC}/bp.py \"\$@\" bitfling" >> "${T}/bitfling"
+ dobin "${T}/bitfling"
+ fi
+
+ # Desktop file
+ sed -i \
+ -e "s|%%INSTALLBINDIR%%|/usr/bin|" \
+ -e "s|%%INSTALLLIBDIR%%|${RLOC}|" \
+ -e "s|Terminal=0|Terminal=true|" \
+ -e "s|Application;Calendar;ContactManagement;Utility;|Calendar;ContactManagement;Utility;|" \
+ packaging/bitpim.desktop || die "sed failed"
+ domenu packaging/bitpim.desktop
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-mobilephone/bitpim/files/bitpim-1.0.6-ffmpeg_quality.patch b/app-mobilephone/bitpim/files/bitpim-1.0.6-ffmpeg_quality.patch
new file mode 100644
index 00000000000..2a5b7cb5237
--- /dev/null
+++ b/app-mobilephone/bitpim/files/bitpim-1.0.6-ffmpeg_quality.patch
@@ -0,0 +1,12 @@
+diff -Nru bitpim-1.0.6.orig/src/conversions.py bitpim-1.0.6/src/conversions.py
+--- bitpim-1.0.6.orig/src/conversions.py 2008-11-02 13:51:31.000000000 +0000
++++ bitpim-1.0.6/src/conversions.py 2008-11-02 13:52:21.000000000 +0000
+@@ -239,7 +239,7 @@
+ ffmpeg=gethelperbinary("ffmpeg")
+ with common.usetempfile('mp3') as mp3file:
+ try:
+- run(ffmpeg, "-i", shortfilename(inputfilename), "-hq", "-ab", `bitrate`, "-ar", `samplerate`, "-ac", `channels`, shortfilename(mp3file))
++ run(ffmpeg, "-i", shortfilename(inputfilename), "-sameq", "-ab", `bitrate`, "-ar", `samplerate`, "-ac", `channels`, shortfilename(mp3file))
+ except common.CommandExecutionFailed, e:
+ # we get this exception on bad parameters, or any other
+ # issue so we assume bad parameters for the moment.
diff --git a/app-mobilephone/bitpim/files/bitpim-1.0.6-gcc43.patch b/app-mobilephone/bitpim/files/bitpim-1.0.6-gcc43.patch
new file mode 100644
index 00000000000..dfb02d931a7
--- /dev/null
+++ b/app-mobilephone/bitpim/files/bitpim-1.0.6-gcc43.patch
@@ -0,0 +1,22 @@
+diff -Nru bitpim-1.0.6.orig/src/native/av/bmp2avi/avi_file.cxx bitpim-1.0.6/src/native/av/bmp2avi/avi_file.cxx
+--- bitpim-1.0.6.orig/src/native/av/bmp2avi/avi_file.cxx 2005-02-18 06:55:03.000000000 +0000
++++ bitpim-1.0.6/src/native/av/bmp2avi/avi_file.cxx 2008-11-02 13:54:15.000000000 +0000
+@@ -9,6 +9,7 @@
+
+ #include "avi_file.h"
+ #include "byte_order.h"
++#include <cstring>
+
+ // endian conversion routines
+
+diff -Nru bitpim-1.0.6.orig/src/native/av/bmp2avi/bmp_file.cxx bitpim-1.0.6/src/native/av/bmp2avi/bmp_file.cxx
+--- bitpim-1.0.6.orig/src/native/av/bmp2avi/bmp_file.cxx 2005-02-18 06:55:03.000000000 +0000
++++ bitpim-1.0.6/src/native/av/bmp2avi/bmp_file.cxx 2008-11-02 13:54:15.000000000 +0000
+@@ -11,6 +11,7 @@
+ #include <string>
+ #include "bmp_file.h"
+ #include "byte_order.h"
++#include <cstring>
+
+ using namespace std;
+
diff --git a/app-mobilephone/bitpim/files/bitpim-1.0.6-gentoo.patch b/app-mobilephone/bitpim/files/bitpim-1.0.6-gentoo.patch
new file mode 100644
index 00000000000..ed7f96e6289
--- /dev/null
+++ b/app-mobilephone/bitpim/files/bitpim-1.0.6-gentoo.patch
@@ -0,0 +1,90 @@
+diff -Nru bitpim-1.0.6.orig/src/common.py bitpim-1.0.6/src/common.py
+--- bitpim-1.0.6.orig/src/common.py 2007-08-29 00:19:51.000000000 +0000
++++ bitpim-1.0.6/src/common.py 2008-11-02 13:50:39.000000000 +0000
+@@ -860,7 +860,7 @@
+ # windows running from exe, return as is
+ return os.path.abspath(os.path.dirname(sys.executable))
+ # running from src, up one
+- return os.path.split(os.path.abspath(os.path.dirname(sys.argv[0])))[0]
++ return os.path.abspath(os.path.dirname(sys.argv[0]))
+
+ if sys.platform=='win32':
+ # From Tim Golden's Win32 How Do I ...?
+diff -Nru bitpim-1.0.6.orig/src/conversions.py bitpim-1.0.6/src/conversions.py
+--- bitpim-1.0.6.orig/src/conversions.py 2007-08-29 00:19:51.000000000 +0000
++++ bitpim-1.0.6/src/conversions.py 2008-11-02 13:50:39.000000000 +0000
+@@ -23,11 +23,11 @@
+
+ class ConversionFailed(Exception): pass
+
+-helperdir=os.path.join(common.get_main_dir(), "helpers")
++helperdir="/usr/bin"
+
+ osext={'win32': '.exe',
+ 'darwin': '.mbin',
+- 'linux2': '.lbin'} \
++ 'linux2': ''} \
+ [sys.platform]
+
+ # This shortname crap is needed because Windows programs (including ffmpeg)
+@@ -128,14 +128,14 @@
+ p=sys.path[0]
+ if os.path.isfile(p):
+ p=os.path.dirname(p)
+- helpersdirectory=os.path.abspath(os.path.join(p, 'helpers'))
++ helpersdirectory="/usr/bin"
+ print "Helper Directory: "+helpersdirectory
+ if sys.platform=='win32':
+ osext=".exe"
+ if sys.platform=='darwin':
+ osext=".mbin"
+ if sys.platform=='linux2':
+- osext=".lbin"
++ osext=""
+
+ pngtopnmbin=gethelperbinary('pngtopnm')
+ ppmquantbin=gethelperbinary('ppmquant')
+diff -Nru bitpim-1.0.6.orig/src/importexport.py bitpim-1.0.6/src/importexport.py
+--- bitpim-1.0.6.orig/src/importexport.py 2007-08-27 04:58:33.000000000 +0000
++++ bitpim-1.0.6/src/importexport.py 2008-11-02 13:50:39.000000000 +0000
+@@ -23,7 +23,7 @@
+ import wx.html
+
+ # Others
+-from thirdparty import DSV
++import DSV
+
+ # My modules
+ import common
+diff -Nru bitpim-1.0.6.orig/src/native/av/bmp2avi/Makefile bitpim-1.0.6/src/native/av/bmp2avi/Makefile
+--- bitpim-1.0.6.orig/src/native/av/bmp2avi/Makefile 2006-05-05 07:10:08.000000000 +0000
++++ bitpim-1.0.6/src/native/av/bmp2avi/Makefile 2008-11-02 13:50:39.000000000 +0000
+@@ -13,6 +13,6 @@
+
+ SRC=avi_file.cxx bmp_file.cxx b2a.cxx
+
+-bmp2avi.lbin bmp2avi.mbin bmp2avi.exe: $(SRC)
++bmp2avi bmp2avi.mbin bmp2avi.exe: $(SRC)
+ $(CXX) $(EXTRADEFINES) -O2 -o $@ $(SRC)
+
+diff -Nru bitpim-1.0.6.orig/src/native/usb/build.sh bitpim-1.0.6/src/native/usb/build.sh
+--- bitpim-1.0.6.orig/src/native/usb/build.sh 2007-08-10 21:53:59.000000000 +0000
++++ bitpim-1.0.6/src/native/usb/build.sh 2008-11-02 13:50:39.000000000 +0000
+@@ -4,4 +4,4 @@
+ swig -python -I/usr/include libusb.i
+
+ gcc -fPIC -Wall -fno-strict-aliasing -O2 -g -shared -I $INCLUDEDIR -o _libusb.so libusb_wrap.c -lusb
+-strip _libusb.so
++#strip _libusb.so
+diff -Nru bitpim-1.0.6.orig/src/phones/com_samsung.py bitpim-1.0.6/src/phones/com_samsung.py
+--- bitpim-1.0.6.orig/src/phones/com_samsung.py 2007-08-17 21:11:59.000000000 +0000
++++ bitpim-1.0.6/src/phones/com_samsung.py 2008-11-02 13:50:39.000000000 +0000
+@@ -16,7 +16,7 @@
+ import time
+
+ # site-packages
+-from thirdparty import DSV
++import DSV
+
+ # BitPim modules
+ import bpcalendar
diff --git a/app-mobilephone/bitpim/files/maketarball b/app-mobilephone/bitpim/files/maketarball
new file mode 100755
index 00000000000..8df7f071df9
--- /dev/null
+++ b/app-mobilephone/bitpim/files/maketarball
@@ -0,0 +1,30 @@
+# For building the tarball. To be used only by ebuild maintainers
+DISTDIR=/usr/portage/distfiles
+PN=bitpim
+PV=$1
+P=$PN-$PV
+
+if [ -z "$PV" ]; then
+ echo "usage: $0 version"
+else
+ svnrev=$(svn log -q --limit 1 https://${PN}.svn.sourceforge.net/svnroot/${PN}/releases/${PV} | sed -r '/^[^r]/d;s/^r([0-9]+) .*$/\1/')
+ [ $? = 0 ] || return 1
+
+ #Fetch the source (only those directories that are needed)
+ cd "${DISTDIR}" && mkdir -p ${P} || return 1
+ for x in resources packaging src ; do
+ svn export https://${PN}.svn.sourceforge.net/svnroot/${PN}/releases/${PV}/${x} ${P}/${x} || return 1
+ done
+
+ #Remove unneeded stuff
+ rm ${P}/resources/*.chm ${P}/src/package.py
+
+ #Freeze version and set vendor name to Gentoo
+ sed -i -e 's/\(^__FROZEN__="[$]Id: \).*\( $"\)/\1'${svnrev}'\2/' \
+ -e 's/^vendor=".*"/vendor="Gentoo"/' \
+ ${P}/src/version.py || return 1
+
+ #Make the tarball
+ tar -cjf ${P}.tar.bz2 ${P}
+ rm -r ${P}
+fi
diff --git a/app-mobilephone/bitpim/metadata.xml b/app-mobilephone/bitpim/metadata.xml
new file mode 100644
index 00000000000..fbcc8e10b03
--- /dev/null
+++ b/app-mobilephone/bitpim/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version = '1.0' encoding = 'UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+ <longdescription>
+ BitPim is a program that allows you to view and manipulate data on LG
+ VX4400/VX6000 and many Sanyo Sprint cell phones. This includes the
+ PhoneBook, Calendar, WallPapers, RingTones (functionality varies by
+ phone) and the Filesystem for most Qualcomm CDMA chipset based phones.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/cobex/Manifest b/app-mobilephone/cobex/Manifest
new file mode 100644
index 00000000000..ab5155196bf
--- /dev/null
+++ b/app-mobilephone/cobex/Manifest
@@ -0,0 +1 @@
+DIST cobex-0.2.13.tar.gz 27020 SHA256 7f840d59374b398891ed32c4de0eac0a7b71029eb38f658efe1590a685ca59ba SHA512 f05293d9d9f9fdf04809f2a5395bf8be3dd8bfbc592a9ca93b3b2e9b2a78157291b6d38e53b9c7f86e0e32567ee6d4028a9c48062eab4640c9cd85894e7e6a84 WHIRLPOOL 4573bc531a8791bea2856da4bc54b524454a3531a20a12062a5553877dcdcc716f98e0a6c842aa4eeab31f67d2ed9c79097dcfe4a6c52961f44d06e7a0dbdbad
diff --git a/app-mobilephone/cobex/cobex-0.2.13.ebuild b/app-mobilephone/cobex/cobex-0.2.13.ebuild
new file mode 100644
index 00000000000..3189dca6bbb
--- /dev/null
+++ b/app-mobilephone/cobex/cobex-0.2.13.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="small implementation of Obex for phones using the DCU-11 USB-to-serial adapter"
+HOMEPAGE="http://cobex.sourceforge.net/"
+SRC_URI="mirror://sourceforge/cobex/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-libs/libezV24
+ dev-libs/expat"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-build.patch
+ local f
+ for f in get ls mkdir put rm ; do mv ${f}.c cobex_${f}.c || die ; done
+}
+
+src_install() {
+ dobin cobex_{ls,mkdir,put,rm} || die
+ dodoc Changelog README Things_to_know_T310.txt
+}
diff --git a/app-mobilephone/cobex/files/cobex-0.2.13-build.patch b/app-mobilephone/cobex/files/cobex-0.2.13-build.patch
new file mode 100644
index 00000000000..32ac20deb67
--- /dev/null
+++ b/app-mobilephone/cobex/files/cobex-0.2.13-build.patch
@@ -0,0 +1,108 @@
+--- Makefile
++++ Makefile
+@@ -1,75 +1,37 @@
+-CC=gcc
+-CCFLAGS=-O2 -Wall
+-EXTRACCFLAGS=-s -lezV24
+-EXPATCCFLAGS=-lexpat
+-CFILES=put.c get.c cobex_core.c ls.c cobex_tools.c cobex_serial.c rm.c mkdir.c
+-HFILES=cobex_defs.h cobex_core.h capabilities.h cobex_tools.h cobex_serial.h
+-O2FILES=cobex_core.o cobex_tools.o cobex_serial.o
+-PUTO=put.o
+-GETO=get.o
+-LSO=ls.o
+-RMO=rm.o
+-MKDIRO=mkdir.o
+-CAPAO=capability.o
+-COBEXPUT=cobex_put
+-COBEXGET=cobex_get
+-COBEXLS=cobex_ls
+-COBEXRM=cobex_rm
+-COBEXCAPA=cobex_capa
+-COBEXMKDIR=cobex_mkdir
++CC ?= gcc
++CFLAGS ?= -O2
++CFLAGS += -Wall
++LDLIBS += -lezV24
++
++PROGS = cobex_put cobex_get cobex_ls cobex_rm cobex_mkdir
++CFILES = $(wildcard *.c)
++HFILES = $(wildcard *.h)
++O2FILES = cobex_core.o cobex_tools.o cobex_serial.o
++
+ EXTRAFILES = README Changelog COPYING Makefile cobex_put.pl Things_to_know_T310.txt Hacking_pl2303_driver.txt
+ VERSION = 0.2.13
+ PROJNAME = cobex-$(VERSION)
+
+-all: $(COBEXPUT) $(COBEXGET) $(COBEXLS) $(COBEXRM) $(COBEXMKDIR)
++all: $(PROGS)
+
+ model:
+ cd modeldb && make all
+
+-$(COBEXPUT): $(O2FILES) $(PUTO)
+- $(CC) $(CCFLAGS) $(EXTRACCFLAGS) -o $(COBEXPUT) $(PUTO) $(O2FILES)
+-
+-$(COBEXGET): $(O2FILES) $(GETO)
+- $(CC) $(CCFLAGS) $(EXTRACCFLAGS) -o $(COBEXGET) $(GETO) $(O2FILES)
+-
+-$(COBEXRM): $(O2FILES) $(RMO)
+- $(CC) $(CCFLAGS) $(EXTRACCFLAGS) -o $(COBEXRM) $(RMO) $(O2FILES)
+-
+-$(COBEXLS): $(O2FILES) $(LSO)
+- $(CC) $(CCFLAGS) $(EXTRACCFLAGS) $(EXPATCCFLAGS) -o $(COBEXLS) $(LSO) $(O2FILES)
+-
+-$(COBEXCAPA): $(O2FILES) $(CAPAO)
+- $(CC) $(CCFLAGS) $(EXTRACCFLAGS) -o $(COBEXCAPA) $(CAPAO) $(O2FILES)
+-
+-$(COBEXMKDIR): $(O2FILES) $(MKDIRO)
+- $(CC) $(CCFLAGS) $(EXTRACCFLAGS) -o $(COBEXMKDIR) $(MKDIRO) $(O2FILES)
+-
+-
+-test2: $(O2FILES) test2.o
+- $(CC) $(CCFLAGS) $(EXTRACCFLAGS) $(EXPATCCFLAGS) -o test2 test2.o $(O2FILES)
+-
+-.c.o:
+- $(CC) $(CCFLAGS) $(LOCKSERIAL) -c $<
+-
+-$(PUTO): put.c $(O2FILES)
+-
+-$(GETO): get.c $(O2FILES)
+-
+-$(LSO): ls.c $(O2FILES)
+-
+-$(RMO): rm.c $(O2FILES)
+-
+-test2.o: test2.c $(O2FILES)
+-
+-cobex_core.o: cobex_core.c cobex_core.h cobex_defs.h
+-
+-cobex_tools.o: cobex_tools.c cobex_tools.h cobex_defs.h cobex_core.c cobex_core.h
+-
+-cobex_serial.o: cobex_serial.c cobex_serial.h cobex_core.c cobex_core.h
++cobex_put: $(O2FILES)
++cobex_get: $(O2FILES)
++cobex_ls: $(O2FILES)
++cobex_rm: $(O2FILES)
++cobex_mkdir: $(O2FILES)
++cobex_capa: $(O2FILES)
++
++cobex_ls: LDLIBS += -lexpat
++
++-include .depend
++.depend: $(CFILES) $(HFILES)
++ $(CC) -MM $^ > .depend
+
+ clean:
+- rm -f *.o
+- cd modeldb && make clean
++ rm -f *.o $(PROGS)
+
+ printfiles: $(CFILES) $(HFILES)
+ @echo $?
+@@ -88,3 +50,5 @@
+
+ dist-contrib :
+ cd contrib && make dist VERSION=$(VERSION)
++
++.PHONY: all clean dist dist2 dist-modeldb dist-contrib model printfiles
diff --git a/app-mobilephone/cobex/metadata.xml b/app-mobilephone/cobex/metadata.xml
new file mode 100644
index 00000000000..802d259ce22
--- /dev/null
+++ b/app-mobilephone/cobex/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">cobex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/dfu-util/Manifest b/app-mobilephone/dfu-util/Manifest
new file mode 100644
index 00000000000..e979d4f6883
--- /dev/null
+++ b/app-mobilephone/dfu-util/Manifest
@@ -0,0 +1 @@
+DIST dfu-util-0.7.tar.gz 125356 SHA256 f52a2a5489fbf9f3204a6ada05e0b47ee322e19d81c712e0c58a332d80ec3eab SHA512 df5227655d2d39e8c0323e87a97e38e86481b12ef91528045e8a5a2009a3fe3b6f09acfed8612756c3895253075dbe958aeaf1c9c50c2266efeb22b88d3842e2 WHIRLPOOL 9c74edd96e8f85dd86e0c8a5862a1277cd74b0821b73823f1ecc86e046fdc5cc6ac5fa45cd67de6a65d73ad935b58d0c4109362c2650ac233e18d6727e0ac944
diff --git a/app-mobilephone/dfu-util/dfu-util-0.7.ebuild b/app-mobilephone/dfu-util/dfu-util-0.7.ebuild
new file mode 100644
index 00000000000..f1c6fbc2c59
--- /dev/null
+++ b/app-mobilephone/dfu-util/dfu-util-0.7.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.openezx.org/dfu-util.git"
+ inherit autotools git-2
+ SRC_URI=""
+ #KEYWORDS=""
+else
+ SRC_URI="http://dfu-util.gnumonks.org/releases/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="implements the Host (PC) side of the USB DFU (Device Firmware Upgrade) protocol"
+HOMEPAGE="http://wiki.openmoko.org/wiki/Dfu-util"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="virtual/libusb:1"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ git-2_src_prepare
+ eautoreconf
+ fi
+ sed -i '/^bin_PROGRAMS/s:dfu-util_static[^ ]*::' src/Makefile.in
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc ChangeLog README TODO
+}
diff --git a/app-mobilephone/dfu-util/dfu-util-9999.ebuild b/app-mobilephone/dfu-util/dfu-util-9999.ebuild
new file mode 100644
index 00000000000..50df59c681f
--- /dev/null
+++ b/app-mobilephone/dfu-util/dfu-util-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.openezx.org/dfu-util.git"
+ inherit autotools git-2
+ SRC_URI=""
+ #KEYWORDS=""
+else
+ SRC_URI="http://dfu-util.gnumonks.org/releases/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="implements the Host (PC) side of the USB DFU (Device Firmware Upgrade) protocol"
+HOMEPAGE="http://wiki.openmoko.org/wiki/Dfu-util"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="virtual/libusb:1"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ eautoreconf
+ fi
+ sed -i '/^bin_PROGRAMS/s:dfu-util_static[^ ]*::' src/Makefile.in
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc ChangeLog README TODO
+}
diff --git a/app-mobilephone/dfu-util/metadata.xml b/app-mobilephone/dfu-util/metadata.xml
new file mode 100644
index 00000000000..2347f6c7e44
--- /dev/null
+++ b/app-mobilephone/dfu-util/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version = '1.0' encoding = 'UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/app-mobilephone/esms/Manifest b/app-mobilephone/esms/Manifest
new file mode 100644
index 00000000000..5b60c929289
--- /dev/null
+++ b/app-mobilephone/esms/Manifest
@@ -0,0 +1 @@
+DIST esms-0.9.5.tar.gz 33282 SHA256 47618263776ef1284812a8e44d046441bbf172c8bb66e22e31b41dab3c37e05d SHA512 27c98b1a81ec2f408bfd4caf2a225169b6b0b6a7d8c216a91e409670ed4e6af6e5184e0f64b123a5411cf257ed740b2b4a1cb3e85d25e215b6db037d75674dc0 WHIRLPOOL ee3598ed0b665901125a9a6e8ea532652a776388fb7df54399da846d038f5dd662d52c1e58477535773fcce2f446992a9922bc3a85efe7118fbf06b7304871fa
diff --git a/app-mobilephone/esms/esms-0.9.5.ebuild b/app-mobilephone/esms/esms-0.9.5.ebuild
new file mode 100644
index 00000000000..d464820d438
--- /dev/null
+++ b/app-mobilephone/esms/esms-0.9.5.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="A small console program to send SMS messages to Spanish cellular phones"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="http://esms.sourceforge.net"
+
+KEYWORDS="~amd64 ppc sparc x86"
+IUSE=""
+LICENSE="GPL-2"
+SLOT="0"
+
+DEPEND=">=dev-perl/libwww-perl-5.64 \
+ >=dev-perl/HTML-Parser-3.26 \
+ >=dev-perl/HTML-Tree-3.11
+ >=dev-lang/perl-5.6.1"
+RDEPEND="${DEPEND}"
+
+src_compile() { :; }
diff --git a/app-mobilephone/esms/metadata.xml b/app-mobilephone/esms/metadata.xml
new file mode 100644
index 00000000000..5d7f4012bc3
--- /dev/null
+++ b/app-mobilephone/esms/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>A small console program to send SMS messages to Spanish cellular phones.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">esms</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/freesmee/Manifest b/app-mobilephone/freesmee/Manifest
new file mode 100644
index 00000000000..f29a970a083
--- /dev/null
+++ b/app-mobilephone/freesmee/Manifest
@@ -0,0 +1 @@
+DIST 0.8-b3.tar.gz 1555942 SHA256 9f049ace09469f6ca6e00439ddcccdbe398f99cd36313ec4f5cb88577154b687 SHA512 61a3f22fcff2f605d61044a84d8d6df4fae40a6f637df9df5e0af2d61aaa474cf085b206900f9e0b9596aa03549ce2df4ca72c1409dc980ac08e8dc1704d4271 WHIRLPOOL a8ba202a9823caecf504e2aaa222c09c667dfe8b092f53922de325ac44fbfe6bf37e0447b9c0af614284432fc1a71633970619624992de789927b3621a080cb7
diff --git a/app-mobilephone/freesmee/freesmee-0.83.ebuild b/app-mobilephone/freesmee/freesmee-0.83.ebuild
new file mode 100644
index 00000000000..982645821c0
--- /dev/null
+++ b/app-mobilephone/freesmee/freesmee-0.83.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit qt4-r2
+
+DESCRIPTION="Tool for sending SMS and sending/receiving Freesmee-Message-Service"
+HOMEPAGE="http://www.freesmee.com"
+SRC_URI="https://github.com/${PN}/${PN}-desktop/archive/0.8-b3.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug"
+
+S="${WORKDIR}/${PN}-desktop-0.8-b3"
+
+DEPEND="dev-util/ticpp
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ dobin ${PN}
+ cd deployment/linux || die
+ doicon ${PN}.png
+ domenu ${PN}.desktop
+}
diff --git a/app-mobilephone/freesmee/freesmee-9999.ebuild b/app-mobilephone/freesmee/freesmee-9999.ebuild
new file mode 100644
index 00000000000..96379a31fcb
--- /dev/null
+++ b/app-mobilephone/freesmee/freesmee-9999.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit qt4-r2 git-2
+
+DESCRIPTION="Tool for sending SMS and sending/receiving Freesmee-Message-Service"
+HOMEPAGE="http://www.freesmee.com"
+EGIT_REPO_URI="https://github.com/${PN}/${PN}-desktop.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug"
+
+DEPEND="dev-util/ticpp
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtwebkit:4"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ dobin ${PN}
+ cd deployment/linux
+ doicon ${PN}.png
+ domenu ${PN}.desktop
+}
diff --git a/app-mobilephone/freesmee/metadata.xml b/app-mobilephone/freesmee/metadata.xml
new file mode 100644
index 00000000000..5f8f14891a9
--- /dev/null
+++ b/app-mobilephone/freesmee/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ago@gentoo.org</email>
+ <name>Agostino Sarubbo</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-mobilephone/gammu/Manifest b/app-mobilephone/gammu/Manifest
new file mode 100644
index 00000000000..40e50c60403
--- /dev/null
+++ b/app-mobilephone/gammu/Manifest
@@ -0,0 +1 @@
+DIST gammu-1.33.0.tar.bz2 6535262 SHA256 b326223e36a334dbaed68252a9cf2d90fd898d6de4d1085dcf9c2320881aece3 SHA512 42252a36c7ad5a2945fcf23fcb1b5bb0201d27e8830d3b4a7f4c36bf00f12f5a0f7797e17098bda8d526d4ddc3b1808c0786dfae0feef9424516fa68bf2f3f1e WHIRLPOOL 27c0110da7b686bc7dd19f4f897c59d4e66aa6dbec78dec208fa8c90f70b80c1375c7b8a4b54fe40295d388de61efb11695823a503d1f85a46797c97ddf988fa
diff --git a/app-mobilephone/gammu/files/gammu-1.32.0-bashcompdir.patch b/app-mobilephone/gammu/files/gammu-1.32.0-bashcompdir.patch
new file mode 100644
index 00000000000..d7ae0a5b8b1
--- /dev/null
+++ b/app-mobilephone/gammu/files/gammu-1.32.0-bashcompdir.patch
@@ -0,0 +1,12 @@
+diff -ruN gammu-1.32.0/contrib/CMakeLists.txt gammu-1.32.0-patched/contrib/CMakeLists.txt
+--- gammu-1.32.0/contrib/CMakeLists.txt 2012-06-27 04:02:27.000000000 -0400
++++ gammu-1.32.0-patched/contrib/CMakeLists.txt 2013-09-17 16:46:22.852164906 -0400
+@@ -85,7 +85,7 @@
+ if (INSTALL_BASH_COMPLETION)
+ install (
+ FILES bash-completion/gammu
+- DESTINATION "/etc/bash_completion.d"
++ DESTINATION "/usr/share/bash-completion/"
+ COMPONENT "bash"
+ )
+ endif (INSTALL_BASH_COMPLETION)
diff --git a/app-mobilephone/gammu/files/gammu-skip-locktest.patch b/app-mobilephone/gammu/files/gammu-skip-locktest.patch
new file mode 100644
index 00000000000..a509879d5ed
--- /dev/null
+++ b/app-mobilephone/gammu/files/gammu-skip-locktest.patch
@@ -0,0 +1,12 @@
+diff -Nru tests/CMakeLists.txt tests/CMakeLists.txt
+--- tests/CMakeLists.txt 2009-09-04 10:56:25.000000000 +0200
++++ tests/CMakeLists.txt 2009-09-05 07:46:58.000000000 +0200
+@@ -739,7 +739,7 @@
+
+ # Test for locking, only on !WIN32 and if we can write to lock dir
+ if (NOT WIN32)
+- execute_process(COMMAND test -w /var/lock/ RESULT_VARIABLE VAR_LOCK_WRITABLE)
++ set (VAR_LOCK_WRITABLE 1)
+ if (VAR_LOCK_WRITABLE EQUAL 0)
+ add_executable(locking locking.c)
+ target_link_libraries(locking libGammu)
diff --git a/app-mobilephone/gammu/gammu-1.33.0-r1.ebuild b/app-mobilephone/gammu/gammu-1.33.0-r1.ebuild
new file mode 100644
index 00000000000..1f4b44bf918
--- /dev/null
+++ b/app-mobilephone/gammu/gammu-1.33.0-r1.ebuild
@@ -0,0 +1,96 @@
+# 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 cmake-utils python-single-r1
+
+DESCRIPTION="A tool to handle your cellular phone"
+HOMEPAGE="http://www.wammu.eu/"
+SRC_URI="http://dl.cihar.com/${PN}/releases/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bluetooth curl dbi debug irda mysql nls postgres python usb"
+
+# TODO: figure out a way to disable gudev
+RDEPEND="dev-libs/glib:2=
+ virtual/libgudev:=
+ bluetooth? ( net-wireless/bluez:= )
+ curl? ( net-misc/curl:= )
+ dbi? ( >=dev-db/libdbi-0.8.3:= )
+ mysql? ( virtual/mysql:= )
+ postgres? ( dev-db/postgresql:=[server] )
+ python? ( ${PYTHON_DEPS} )
+ usb? ( virtual/libusb:1= )
+ dev-util/dialog"
+DEPEND="${RDEPEND}
+ irda? ( virtual/os-headers )
+ nls? ( sys-devel/gettext )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# sys-devel/gettext is needed for creating .mo files
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" af ar bg ca cs da de el en_GB es et fi fr gl he hu id it ko nl pl pt_BR ru sk sv sw tr zh_CN zh_TW"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-skip-locktest.patch"
+ epatch "${FILESDIR}/${PN}-1.32.0-bashcompdir.patch"
+
+ local lang support_linguas=no
+ for lang in ${MY_AVAILABLE_LINGUAS} ; do
+ if use linguas_${lang} ; then
+ support_linguas=yes
+ break
+ fi
+ done
+ # install all languages when all selected LINGUAS aren't supported
+ if [ "${support_linguas}" = "yes" ]; then
+ for lang in ${MY_AVAILABLE_LINGUAS} ; do
+ if ! use linguas_${lang} ; then
+ rm -rf locale/${lang} || die
+ fi
+ done
+ fi
+}
+
+src_configure() {
+ # debug flag is used inside cmake-utils.eclass
+ local mycmakeargs=(
+ $(cmake-utils_use_with bluetooth Bluez)
+ $(cmake-utils_use_with irda IRDA)
+ $(cmake-utils_use_with curl CURL)
+ $(cmake-utils_use_with usb USB)
+ $(cmake-utils_use_with python PYTHON)
+ $(cmake-utils_use_with mysql MySQL)
+ $(cmake-utils_use_with postgres Postgres)
+ $(cmake-utils_use_with dbi LibDBI)
+ $(cmake-utils_use_with nls GettextLibs)
+ $(cmake-utils_use_with nls Iconv)
+ -DBUILD_SHARED_LIBS=ON
+ -DINSTALL_DOC_DIR="share/doc/${PF}"
+ )
+ if use python; then
+ mycmakeargs+=( -DBUILD_PYTHON="${PYTHON}" )
+ fi
+ cmake-utils_src_configure
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${WORKDIR}/${PN}_build/common" cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ use python && python_optimize
+}
diff --git a/app-mobilephone/gammu/gammu-1.33.0.ebuild b/app-mobilephone/gammu/gammu-1.33.0.ebuild
new file mode 100644
index 00000000000..a415b65f4cc
--- /dev/null
+++ b/app-mobilephone/gammu/gammu-1.33.0.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_DEPEND="python? 2"
+
+inherit eutils cmake-utils python
+
+DESCRIPTION="A tool to handle your cellular phone"
+HOMEPAGE="http://www.wammu.eu/"
+SRC_URI="http://dl.cihar.com/${PN}/releases/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="bash-completion bluetooth curl dbi debug irda mysql nls postgres python usb"
+
+RDEPEND="bluetooth? ( net-wireless/bluez )
+ curl? ( net-misc/curl )
+ usb? ( virtual/libusb:1 )
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql[server] )
+ dbi? ( >=dev-db/libdbi-0.8.3 )
+ dev-util/dialog"
+DEPEND="${RDEPEND}
+ irda? ( virtual/os-headers )
+ nls? ( sys-devel/gettext )"
+
+# sys-devel/gettext is needed for creating .mo files
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" af ar bg ca cs da de el en_GB es et fi fr gl he hu id it ko nl pl pt_BR ru sk sv sw tr zh_CN zh_TW"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+pkg_setup() {
+ if use python; then
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-skip-locktest.patch"
+ epatch "${FILESDIR}/${PN}-1.32.0-bashcompdir.patch"
+
+ local lang support_linguas=no
+ for lang in ${MY_AVAILABLE_LINGUAS} ; do
+ if use linguas_${lang} ; then
+ support_linguas=yes
+ break
+ fi
+ done
+ # install all languages when all selected LINGUAS aren't supported
+ if [ "${support_linguas}" = "yes" ]; then
+ for lang in ${MY_AVAILABLE_LINGUAS} ; do
+ if ! use linguas_${lang} ; then
+ rm -rf locale/${lang} || die
+ fi
+ done
+ fi
+}
+
+src_configure() {
+ # debug flag is used inside cmake-utils.eclass
+ local mycmakeargs=(
+ $(cmake-utils_use_with bluetooth Bluez) \
+ $(cmake-utils_use_with irda IRDA) \
+ $(cmake-utils_use_with curl CURL) \
+ $(cmake-utils_use_with usb USB) \
+ $(cmake-utils_use_with python PYTHON) \
+ $(cmake-utils_use_with mysql MySQL) \
+ $(cmake-utils_use_with postgres Postgres) \
+ $(cmake-utils_use_with dbi LibDBI) \
+ $(cmake-utils_use_with nls GettextLibs) \
+ $(cmake-utils_use_with nls Iconv) \
+ -DBUILD_SHARED_LIBS=ON \
+ -DINSTALL_DOC_DIR="share/doc/${PF}"
+ )
+ if ! use bash-completion; then
+ mycmakeargs+=( -DINSTALL_BASH_COMPLETION=OFF )
+ fi
+ if use python; then
+ mycmakeargs+=( -DBUILD_PYTHON="$(PYTHON -a)" )
+ fi
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${WORKDIR}/${PN}_build/common" cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize gammu
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup gammu
+}
diff --git a/app-mobilephone/gammu/metadata.xml b/app-mobilephone/gammu/metadata.xml
new file mode 100644
index 00000000000..4b056ab4abd
--- /dev/null
+++ b/app-mobilephone/gammu/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+<use>
+ <flag name='irda'>Enables infrared support</flag>
+</use>
+</pkgmetadata>
diff --git a/app-mobilephone/ganyremote/Manifest b/app-mobilephone/ganyremote/Manifest
new file mode 100644
index 00000000000..4c39b4d1958
--- /dev/null
+++ b/app-mobilephone/ganyremote/Manifest
@@ -0,0 +1,2 @@
+DIST ganyremote-6.0.1.tar.gz 280585 SHA256 14dda596fab59be899a3bcf815ba0c5938efdf83ba5f1d0d91b2f8bfc5ddb80c SHA512 04719a4c0e15bfe2aa670bd6b83ae300aee0a825733d0fb9f37ee98286520a7354f927fb4be4774acdd2a7251893e62d4ff3328f655567b87961a3f83542e7c0 WHIRLPOOL a8f23815d783a42b79f3a378c8bdeac10c368971a13365b7dc427e539fe558eb7b880f598484456ebd3a854cf715f7059c81b86bedcdfdb474cad86ec4408c7d
+DIST ganyremote-6.3.3.tar.gz 303612 SHA256 5033a261506b4c37ed5deed22428837d1c4b1e5cb0027234b2ec97f6e6d9b40d SHA512 cfb0d5896c3c4ee575f2d77d17b8f8e13624202100994415147f1ddb2b6c04c179ec4a4b31369830705ae1d0068e50fe0c3a5fd4acc2de6e02ec0a530a0a6182 WHIRLPOOL 0e8b8c3c6d9ffd8a77903fbf2a7e220d696eab4e609be5f684f7c2a9dab5a80f32d539d70203fd70d6a2a29e0f9ca9352d91442822830c9ccc4d230d79e56cae
diff --git a/app-mobilephone/ganyremote/ganyremote-6.0.1.ebuild b/app-mobilephone/ganyremote/ganyremote-6.0.1.ebuild
new file mode 100644
index 00000000000..f421fb5394a
--- /dev/null
+++ b/app-mobilephone/ganyremote/ganyremote-6.0.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils
+
+DESCRIPTION="Gnome frontend to Anyremote"
+HOMEPAGE="http://anyremote.sourceforge.net/"
+SRC_URI="mirror://sourceforge/anyremote/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="bluetooth"
+
+DEPEND=">=app-mobilephone/anyremote-6.0[bluetooth=]
+ dev-python/pygtk
+ bluetooth? ( dev-python/pybluez )"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed"
+ dodoc AUTHORS ChangeLog NEWS README || die "dodoc failed"
+}
diff --git a/app-mobilephone/ganyremote/ganyremote-6.3.3.ebuild b/app-mobilephone/ganyremote/ganyremote-6.3.3.ebuild
new file mode 100644
index 00000000000..3f7ff95aaf6
--- /dev/null
+++ b/app-mobilephone/ganyremote/ganyremote-6.3.3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools python-r1
+
+DESCRIPTION="Gnome frontend to Anyremote"
+HOMEPAGE="http://anyremote.sourceforge.net/"
+SRC_URI="mirror://sourceforge/anyremote/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bluetooth"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=app-mobilephone/anyremote-6.5[bluetooth=]
+ dev-python/pygtk[${PYTHON_USEDEP}]
+ bluetooth? ( dev-python/pybluez[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+
+src_prepare() {
+ # using gettextize no-interactive example from dev-util/bless package
+ cp $(type -p gettextize) "${T}"/ || die
+ sed -i -e 's:read dummy < /dev/tty::' "${T}/gettextize" || die
+ "${T}"/gettextize -f --no-changelog > /dev/null || die
+
+ # remove deprecated entry
+ sed -e "/Encoding=UTF-8/d" \
+ -i ganyremote.desktop || die "fixing .desktop file failed"
+
+ # fix documentation directory wrt bug #316087
+ sed -i "s/doc\/${PN}/doc\/${PF}/g" Makefile.am || die
+ eautoreconf
+
+ # disable bluetooth check to avoid errors
+ if ! use bluetooth ; then
+ sed -e "s/usepybluez = True/usepybluez = False/" -i ganyremote || die
+ fi
+}
+
+src_install() {
+ default
+
+ python_replicate_script "${D}"/usr/bin/ganyremote
+}
diff --git a/app-mobilephone/ganyremote/metadata.xml b/app-mobilephone/ganyremote/metadata.xml
new file mode 100644
index 00000000000..5ee3c69b838
--- /dev/null
+++ b/app-mobilephone/ganyremote/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">anyremote</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/gnocky/Manifest b/app-mobilephone/gnocky/Manifest
new file mode 100644
index 00000000000..0ea5fce6166
--- /dev/null
+++ b/app-mobilephone/gnocky/Manifest
@@ -0,0 +1 @@
+DIST gnocky-0.0.7.tar.bz2 569945 SHA256 90dcf5c2e2e6fcf81802ddda9477ab7b1ddb15fbe476c40f93de739995d2c0a3 SHA512 a4387c68bc7c3e59f122be87b5b68ec7cae9016039fb1f76c8ebfbe421bcf2399ba93419a2d27c61afe937f580dd7e9bff14f4b803bee70aa60c95c7d0f6ad53 WHIRLPOOL a63a476326e644062c829c2e89a6d11113d88e33d3b0c2ea1463278adc65bf74c978b00afe8d59b9204d605e8def86610cb0926ee5d9d4d9c4ce7ea19d767fb6
diff --git a/app-mobilephone/gnocky/gnocky-0.0.7.ebuild b/app-mobilephone/gnocky/gnocky-0.0.7.ebuild
new file mode 100644
index 00000000000..123d62c5af3
--- /dev/null
+++ b/app-mobilephone/gnocky/gnocky-0.0.7.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="GTK-2 version of gnokii"
+HOMEPAGE="http://www.gnokii.org/"
+SRC_URI="${HOMEPAGE}download/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ app-mobilephone/gnokii
+ dev-libs/glib:2
+ gnome-base/libglade:2.0
+ x11-libs/gtk+:2
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
diff --git a/app-mobilephone/gnocky/metadata.xml b/app-mobilephone/gnocky/metadata.xml
new file mode 100644
index 00000000000..4538a68724a
--- /dev/null
+++ b/app-mobilephone/gnocky/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/app-mobilephone/gnokii/Manifest b/app-mobilephone/gnokii/Manifest
new file mode 100644
index 00000000000..7e2ac939be7
--- /dev/null
+++ b/app-mobilephone/gnokii/Manifest
@@ -0,0 +1,2 @@
+DIST gnokii-0.6.29.tar.bz2 1302020 SHA256 d1633e934b6b43c681ea96c5830d44683a85f05e64ea03c3ecf0d5096aee8470 SHA512 0d080b4f06163d00fcae5f27fe3b66886c12cf0356c245a5200552e1f98e4347f15b0101d5e709a3d6f98b3ffc55ede12789bec779cc0c9d566db1e4a050ae32 WHIRLPOOL 8ebb2e2613187bd79de19bcc8841016966b49762579d130a4f4c89e2d126d9068630db8c11d119ba57ad58a4ca3dd9e2ff6ddadbeeacb0a31a1a0a2e958d6910
+DIST gnokii-0.6.31.tar.bz2 1237865 SHA256 8f5a083b05c1a66a3402ca5cd80084e14c2c0632c991bb53b03c78e9adb02501 SHA512 529f6d0d29873f48ac00cf7151ba35dcbd93405ab27d69848ed17dea73f4fba71721d1811d921441b4214777b9b33f760b372631627cc108eb94c39684da343d WHIRLPOOL a14927d205748647187336f408fc7449808e48ff2b6de0df8cc14562d25a67643d1bb4cb97f50c27a5c2acad2bdb503bcec049a4fdac534ce48c763b9715cae7
diff --git a/app-mobilephone/gnokii/files/gnokii-0.6.29-pcsc.patch b/app-mobilephone/gnokii/files/gnokii-0.6.29-pcsc.patch
new file mode 100644
index 00000000000..fb1c974483d
--- /dev/null
+++ b/app-mobilephone/gnokii/files/gnokii-0.6.29-pcsc.patch
@@ -0,0 +1,13 @@
+--- a/common/phones/pcsc.c
++++ b/common/phones/pcsc.c
+@@ -199,8 +199,8 @@ static gn_error get_gn_error(PCSC_IOSTRU
+ case SCARD_W_UNPOWERED_CARD:
+ case SCARD_W_RESET_CARD:
+ case SCARD_W_REMOVED_CARD:
+- case SCARD_W_INSERTED_CARD:
+- return GN_ERR_SIMPROBLEM;
++ /* removed in pscc case SCARD_W_INSERTED_CARD:
++ return GN_ERR_SIMPROBLEM; */
+ case SCARD_E_NO_MEMORY:
+ return GN_ERR_MEMORYFULL;
+ case SCARD_F_WAITED_TOO_LONG:
diff --git a/app-mobilephone/gnokii/files/gnokii-0.6.31-fix_xgnokii_inclusion.patch b/app-mobilephone/gnokii/files/gnokii-0.6.31-fix_xgnokii_inclusion.patch
new file mode 100644
index 00000000000..243f78174a0
--- /dev/null
+++ b/app-mobilephone/gnokii/files/gnokii-0.6.31-fix_xgnokii_inclusion.patch
@@ -0,0 +1,11 @@
+--- a/configure.in
++++ b/configure.in
+@@ -689,7 +689,7 @@
+ fi
+ fi
+
+-AM_CONDITIONAL(XGNOKII, test "x$_support" = "xyes")
++AM_CONDITIONAL(XGNOKII, test "x$x_support" = "xyes")
+
+ dnl ======================== Check for libsocket
+ AC_CHECK_LIB(socket, socket)
diff --git a/app-mobilephone/gnokii/files/gnokii-9999-icon.patch b/app-mobilephone/gnokii/files/gnokii-9999-icon.patch
new file mode 100644
index 00000000000..13ca2cf6e4c
--- /dev/null
+++ b/app-mobilephone/gnokii/files/gnokii-9999-icon.patch
@@ -0,0 +1,11 @@
+--- a/xgnokii/xgnokii.desktop.in
++++ b/xgnokii/xgnokii.desktop.in
+@@ -2,7 +2,7 @@
+ _Name=Xgnokii
+ _GenericName=Mobile Phone Suite
+ _Comment=Manage your mobile phone
+-Icon=phone
++Icon=xgnokii
+ Exec=xgnokii
+ Terminal=false
+ Type=Application
diff --git a/app-mobilephone/gnokii/files/gnokii-9999-translations.patch b/app-mobilephone/gnokii/files/gnokii-9999-translations.patch
new file mode 100644
index 00000000000..2f61cc22273
--- /dev/null
+++ b/app-mobilephone/gnokii/files/gnokii-9999-translations.patch
@@ -0,0 +1,10 @@
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -57,6 +57,7 @@
+ smsd/pq.c
+ smsd/smsd.c
+ smsd/sqlite.c
++utils/gnokii-configure.glade
+ utils/mgnokiidev.c
+ xgnokii/xgnokii.c
+ xgnokii/xgnokii_calendar.c
diff --git a/app-mobilephone/gnokii/gnokii-0.6.29.ebuild b/app-mobilephone/gnokii/gnokii-0.6.29.ebuild
new file mode 100644
index 00000000000..87b68addf96
--- /dev/null
+++ b/app-mobilephone/gnokii/gnokii-0.6.29.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils linux-info autotools
+
+DESCRIPTION="user space driver and tools for use with mobile phones"
+HOMEPAGE="http://www.gnokii.org/"
+if [ "$PV" != "9999" ]; then
+ SRC_URI="http://www.gnokii.org/download/${PN}/${P}.tar.bz2"
+ KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+ EGIT_REPO_URI="git://git.savannah.nongnu.org/gnokii.git"
+ inherit git
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="nls bluetooth ical irda sms postgres mysql usb X debug"
+
+RDEPEND="!app-mobilephone/smstools
+ sys-apps/pcsc-lite
+ X? ( x11-libs/gtk+:2 )
+ bluetooth? ( net-wireless/bluez )
+ sms? (
+ !app-mobilephone/smstools
+ dev-libs/glib:2
+ postgres? ( >=dev-db/postgresql-8.0 )
+ mysql? ( >=virtual/mysql-4.1 )
+ )
+ ical? ( dev-libs/libical )
+ usb? ( =virtual/libusb-0* )"
+DEPEND="${RDEPEND}
+ irda? ( virtual/os-headers )
+ nls? ( sys-devel/gettext )
+ dev-util/intltool"
+
+CONFIG_CHECK="~UNIX98_PTYS"
+
+S="${WORKDIR}/${PN}-${PV%.1}"
+
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" cs de et fi fr it nl pl pt sk sl sv zh_CN"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+src_prepare() {
+ if [ "$PV" != "9999" ]; then
+ epatch "${FILESDIR}"/${PN}-0.6.29-pcsc.patch
+ else
+ epatch "${FILESDIR}"/${P}-icon.patch
+ epatch "${FILESDIR}"/${P}-translations.patch
+ intltoolize --force --copy --automake || die "intltoolize error"
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ strip-linguas ${MY_AVAILABLE_LINGUAS}
+
+ local config_xdebug="--disable-xdebug"
+ use X && use debug && config_xdebug="--enable-xdebug"
+
+ econf \
+ $(use_enable nls) \
+ $(use_enable ical libical) \
+ $(use_enable usb libusb) \
+ $(use_enable irda) \
+ $(use_enable bluetooth) \
+ $(use_with X x) \
+ $(use_enable sms smsd) \
+ $(use_enable mysql) \
+ $(use_enable postgres) \
+ $(use_enable debug fulldebug) \
+ ${config_xdebug} \
+ $(use_enable debug rlpdebug) \
+ --enable-security \
+ --disable-unix98test \
+ --enable-libpcsclite \
+ || die "configure failed"
+}
+
+src_install() {
+ einstall || die "make install failed"
+
+ insinto /etc
+ doins Docs/sample/gnokiirc
+ sed -i -e 's:/usr/local:/usr:' "${D}/etc/gnokiirc"
+
+ # only one file needs suid root to make a pseudo device
+ fperms 4755 /usr/sbin/mgnokiidev
+
+ if use X; then
+ newicon Docs/sample/logo/gnokii.xpm xgnokii.xpm
+ fi
+
+ if use sms; then
+ pushd "${S}/smsd"
+ insinto /usr/share/doc/${PN}/smsd
+ use mysql && doins sms.tables.mysql.sql README.MySQL
+ use postgres && doins sms.tables.pq.sql
+ doins README ChangeLog README.Tru64 action
+ popd
+ fi
+}
+
+src_test() {
+ echo common/phones/fake.c >> "${S}"/po/POTFILES.in
+ default
+}
+
+pkg_postinst() {
+ elog "Make sure the user that runs gnokii has read/write access to the device"
+ elog "which your phone is connected to."
+ elog "The simple way of doing that is to add your user to the uucp group."
+ if [ "$PV" == "9999" ]; then
+ elog "This is the GIT version of ${PN}. It is experimental but may have important bug fixes."
+ elog "You can keep track of the most recent commits at:"
+ elog " http://git.savannah.gnu.org/cgit/gnokii.git/"
+ elog "Whenever there is a change you are interested in, you can re-emerge ${P}."
+ fi
+}
diff --git a/app-mobilephone/gnokii/gnokii-0.6.31.ebuild b/app-mobilephone/gnokii/gnokii-0.6.31.ebuild
new file mode 100644
index 00000000000..25a4e5a5b90
--- /dev/null
+++ b/app-mobilephone/gnokii/gnokii-0.6.31.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils linux-info autotools
+
+HOMEPAGE="http://www.gnokii.org/"
+if [ "$PV" != "9999" ]; then
+ SRC_URI="http://www.gnokii.org/download/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+else
+ SRC_URI=""
+ KEYWORDS=""
+ EGIT_REPO_URI="git://git.savannah.nongnu.org/${PN}.git
+ http://git.savannah.gnu.org/r/${PN}.git"
+ inherit git-2
+fi
+DESCRIPTION="user space driver and tools for use with mobile phones"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="nls bluetooth ical irda sms postgres mysql usb X debug +pcsc-lite"
+
+RDEPEND="!app-mobilephone/smstools
+ pcsc-lite? ( sys-apps/pcsc-lite )
+ X? ( x11-libs/gtk+:2 )
+ bluetooth? ( kernel_linux? ( net-wireless/bluez ) )
+ sms? (
+ !app-mobilephone/smstools
+ dev-libs/glib:2
+ postgres? ( >=dev-db/postgresql-8.0 )
+ mysql? ( >=virtual/mysql-4.1 )
+ )
+ ical? ( dev-libs/libical )
+ usb? ( =virtual/libusb-0* )"
+DEPEND="${RDEPEND}
+ irda? ( virtual/os-headers )
+ nls? ( sys-devel/gettext )
+ dev-util/intltool"
+
+CONFIG_CHECK="~UNIX98_PTYS"
+
+S="${WORKDIR}/${PN}-${PV%.1}"
+
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" cs de et fi fr it nl pl pt sk sl sv zh_CN"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+src_prepare() {
+ if [ "$PV" != "9999" ]; then
+ epatch "${FILESDIR}"/${P}-fix_xgnokii_inclusion.patch
+ else
+ epatch "${FILESDIR}"/${P}-icon.patch
+ epatch "${FILESDIR}"/${P}-translations.patch
+ intltoolize --force --copy --automake || die "intltoolize error"
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ strip-linguas ${MY_AVAILABLE_LINGUAS}
+
+ local config_xdebug="--disable-xdebug"
+ use X && use debug && config_xdebug="--enable-xdebug"
+
+ econf \
+ $(use_enable nls) \
+ $(use_enable ical libical) \
+ $(use_enable usb libusb) \
+ $(use_enable irda) \
+ $(use_enable bluetooth) \
+ $(use_with X x) \
+ $(use_enable sms smsd) \
+ $(use_enable mysql) \
+ $(use_enable postgres) \
+ $(use_enable debug fulldebug) \
+ ${config_xdebug} \
+ $(use_enable debug rlpdebug) \
+ --enable-security \
+ --disable-unix98test \
+ $(use_enable pcsc-lite libpcsclite)
+}
+
+src_install() {
+ default
+
+ insinto /etc
+ doins Docs/sample/gnokiirc
+ sed -i -e 's:/usr/local:'"${EPREFIX}"'/usr:' "${ED}/etc/gnokiirc"
+
+ # only one file needs suid root to make a pseudo device
+ fperms 4755 /usr/sbin/mgnokiidev
+
+ if use X; then
+ newicon Docs/sample/logo/gnokii.xpm xgnokii.xpm
+ fi
+
+ if use sms; then
+ pushd "${S}/smsd"
+ insinto /usr/share/doc/${PN}/smsd
+ use mysql && doins sms.tables.mysql.sql README.MySQL
+ use postgres && doins sms.tables.pq.sql
+ doins README ChangeLog README.Tru64 action
+ popd
+ fi
+}
+
+src_test() {
+ echo common/phones/fake.c >> "${S}"/po/POTFILES.in
+ default
+}
+
+pkg_postinst() {
+ elog "Make sure the user that runs gnokii has read/write access to the device"
+ elog "which your phone is connected to."
+ elog "The simple way of doing that is to add your user to the uucp group."
+ if [ "$PV" == "9999" ]; then
+ elog "This is the GIT version of ${PN}. It is experimental but may have important bug fixes."
+ elog "You can keep track of the most recent commits at:"
+ elog " http://git.savannah.gnu.org/cgit/gnokii.git/"
+ elog "Whenever there is a change you are interested in, you can re-emerge ${P}."
+ fi
+}
diff --git a/app-mobilephone/gnokii/gnokii-9999.ebuild b/app-mobilephone/gnokii/gnokii-9999.ebuild
new file mode 100644
index 00000000000..7f237fbfc91
--- /dev/null
+++ b/app-mobilephone/gnokii/gnokii-9999.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils linux-info autotools
+
+HOMEPAGE="http://www.gnokii.org/"
+if [ "$PV" != "9999" ]; then
+ SRC_URI="http://www.gnokii.org/download/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+else
+ SRC_URI=""
+ KEYWORDS=""
+ EGIT_REPO_URI="git://git.savannah.nongnu.org/${PN}.git
+ http://git.savannah.gnu.org/r/${PN}.git"
+ inherit git-2
+fi
+DESCRIPTION="user space driver and tools for use with mobile phones"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="nls bluetooth ical irda sms postgres mysql usb X debug +pcsc-lite"
+
+RDEPEND="!app-mobilephone/smstools
+ pcsc-lite? ( sys-apps/pcsc-lite )
+ X? ( x11-libs/gtk+:2 )
+ bluetooth? ( kernel_linux? ( net-wireless/bluez ) )
+ sms? (
+ !app-mobilephone/smstools
+ >=dev-libs/glib-2
+ postgres? ( >=dev-db/postgresql-8.0 )
+ mysql? ( >=virtual/mysql-4.1 )
+ )
+ ical? ( dev-libs/libical )
+ usb? ( =virtual/libusb-0* )"
+DEPEND="${RDEPEND}
+ irda? ( virtual/os-headers )
+ nls? ( sys-devel/gettext )
+ dev-util/intltool"
+
+CONFIG_CHECK="~UNIX98_PTYS"
+
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" cs de et fi fr it nl pl pt sk sl sv zh_CN"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+src_prepare() {
+ if [ "$PV" = "9999" ]; then
+ epatch "${FILESDIR}"/${P}-icon.patch
+ epatch "${FILESDIR}"/${P}-translations.patch
+ intltoolize --force --copy --automake || die "intltoolize error"
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ strip-linguas ${MY_AVAILABLE_LINGUAS}
+
+ local config_xdebug="--disable-xdebug"
+ use X && use debug && config_xdebug="--enable-xdebug"
+
+ econf \
+ $(use_enable nls) \
+ $(use_enable ical libical) \
+ $(use_enable usb libusb) \
+ $(use_enable irda) \
+ $(use_enable bluetooth) \
+ $(use_with X x) \
+ $(use_enable sms smsd) \
+ $(use_enable mysql) \
+ $(use_enable postgres) \
+ $(use_enable debug fulldebug) \
+ ${config_xdebug} \
+ $(use_enable debug rlpdebug) \
+ --enable-security \
+ --disable-unix98test \
+ $(use_enable pcsc-lite libpcsclite)
+}
+
+src_install() {
+ default
+
+ insinto /etc
+ doins Docs/sample/gnokiirc
+ sed -i -e 's:/usr/local:'"${EPREFIX}"'/usr:' "${ED}/etc/gnokiirc"
+
+ # only one file needs suid root to make a pseudo device
+ fperms 4755 /usr/sbin/mgnokiidev
+
+ if use X; then
+ newicon Docs/sample/logo/gnokii.xpm xgnokii.xpm
+ fi
+
+ if use sms; then
+ pushd "${S}/smsd"
+ insinto /usr/share/doc/${PN}/smsd
+ use mysql && doins sms.tables.mysql.sql README.MySQL
+ use postgres && doins sms.tables.pq.sql
+ doins README ChangeLog README.Tru64 action
+ popd
+ fi
+}
+
+pkg_postinst() {
+ elog "Make sure the user that runs gnokii has read/write access to the device"
+ elog "which your phone is connected to."
+ elog "The simple way of doing that is to add your user to the uucp group."
+ if [ "$PV" == "9999" ]; then
+ elog "This is the GIT version of ${PN}. It is experimental but may have important bug fixes."
+ elog "You can keep track of the most recent commits at:"
+ elog " http://git.savannah.gnu.org/cgit/gnokii.git/"
+ elog "Whenever there is a change you are interested in, you can re-emerge ${P}."
+ fi
+}
diff --git a/app-mobilephone/gnokii/metadata.xml b/app-mobilephone/gnokii/metadata.xml
new file mode 100644
index 00000000000..6698e29c24c
--- /dev/null
+++ b/app-mobilephone/gnokii/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+<longdescription>
+gnokii provides tools and a user space driver for use with mobile phones.
+With gnokii you can do such things as make data calls, update your address book,
+change calendar entires, send and receive SMS messages and load ring tones
+depending on the phone you have.
+</longdescription>
+<use>
+ <flag name='ical'>Enable support for <pkg>dev-libs/libical</pkg></flag>
+ <flag name='irda'>Enable infrared support</flag>
+ <flag name='sms'>Enable SMS support (build smsd)</flag>
+ <flag name='pcsc-lite'>Enable smartcard support with <pkg>sys-apps/pcsc-lite</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/app-mobilephone/gnome-phone-manager/Manifest b/app-mobilephone/gnome-phone-manager/Manifest
new file mode 100644
index 00000000000..c1fb8b7b2ae
--- /dev/null
+++ b/app-mobilephone/gnome-phone-manager/Manifest
@@ -0,0 +1 @@
+DIST gnome-phone-manager-0.69.tar.xz 393916 SHA256 35e038ea3afaacdf451046e87af876096cf1520efc04fc3f5b63ea22e0297175 SHA512 fa12ef3bc2d94fd91c6f680a5b47cba16a56c2fdf324da958503a7c4f7eb1fedc7aeaced567f2ed1ad8c25da4f994b709018e95bb7ec4a8a2248521a3453970d WHIRLPOOL 24750a91bc06dff68b8ca6e1cc1b4212fced6347bcc923d59764b540a2dde0cdfe5f14ac4e7f2816bc640912f26824e6b23c4c5df87e87951f75ac81bbb11aab
diff --git a/app-mobilephone/gnome-phone-manager/files/0001-Adapt-to-Evolution-Data-Server-API-changes.patch b/app-mobilephone/gnome-phone-manager/files/0001-Adapt-to-Evolution-Data-Server-API-changes.patch
new file mode 100644
index 00000000000..b375b8f0f40
--- /dev/null
+++ b/app-mobilephone/gnome-phone-manager/files/0001-Adapt-to-Evolution-Data-Server-API-changes.patch
@@ -0,0 +1,541 @@
+From 091f0e00bae058d384fbc9834a402192bbf192a6 Mon Sep 17 00:00:00 2001
+From: Matthew Barnes <mbarnes@redhat.com>
+Date: Sat, 29 Dec 2012 21:14:51 +0100
+Subject: [PATCH] Adapt to Evolution-Data-Server API changes
+
+ Closes: https://bugzilla.gnome.org/show_bug.cgi?id=680927
+---
+ configure.in | 2 +-
+ cut-n-paste/e-contact-entry/e-contact-entry.c | 168 +++++++++++---------------
+ cut-n-paste/e-contact-entry/e-contact-entry.h | 8 +-
+ libgsm/phonemgr-utils.c | 2 +-
+ src/e-phone-entry.c | 38 +++---
+ 5 files changed, 96 insertions(+), 122 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index be5e729..73e7aec 100644
+--- a/configure.in
++++ b/configure.in
+@@ -47,7 +47,7 @@ PKG_CHECK_MODULES(LIBGSM, glib-2.0 gobject-2.0 $GNOKII_REQS gthread-2.0 bluez $e
+
+ PKG_CHECK_MODULES(PHONEMGR, gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ libcanberra-gtk3 gconf-2.0
+- $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++ $GNOME_BLUETOOTH_REQS $evo_pc_file libedataserver-1.2 >= 3.6
+ gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ )
+
+diff --git a/cut-n-paste/e-contact-entry/e-contact-entry.c b/cut-n-paste/e-contact-entry/e-contact-entry.c
+index dc8e2e3..bbd4e6a 100644
+--- a/cut-n-paste/e-contact-entry/e-contact-entry.c
++++ b/cut-n-paste/e-contact-entry/e-contact-entry.c
+@@ -1,4 +1,4 @@
+-/*
++/*
+ * Copyright (C) 2004 Ross Burton <ross@burtonini.com
+ *
+ * e-contact-entry.c
+@@ -38,11 +38,6 @@
+ #include <glib.h>
+ #include <glib/gi18n.h>
+
+-#include <libedataserver/e-source.h>
+-#include <libebook/e-book.h>
+-#include <libebook/e-book-view.h>
+-#include <libebook/e-contact.h>
+-
+ #include "e-contact-entry.h"
+ #include "econtactentry-marshal.h"
+
+@@ -59,7 +54,7 @@ static int signals[LAST_SIGNAL] = { 0 };
+ /* Properties */
+ enum {
+ PROP_0, /* TODO: why? */
+- PROP_SOURCE_LIST,
++ PROP_REGISTRY,
+ PROP_COMPLETE_LENGTH,
+ };
+
+@@ -70,7 +65,7 @@ enum {
+ struct EContactEntryPriv {
+ GtkEntryCompletion *completion;
+ GtkListStore *store;
+- ESourceList *source_list;
++ ESourceRegistry *registry;
+ /* A list of EntryLookup structs we are searching */
+ GList *lookup_entries;
+ /* Number of characters to start searching at */
+@@ -227,7 +222,7 @@ e_contact_entry_display_func (EContact *contact)
+ emails = e_contact_get (contact, E_CONTACT_EMAIL);
+ for (l = emails; l != NULL; l = l->next) {
+ item = g_new0 (EContactEntyItem, 1);
+- item->identifier = item->identifier = g_strdup (l->data);
++ item->identifier = g_strdup (l->data);
+ item->display_string = g_strdup_printf ("%s <%s>", (char*)e_contact_get_const (contact, E_CONTACT_NAME_OR_ORG), item->identifier);
+
+ items = g_list_prepend (items, item);
+@@ -276,22 +271,13 @@ view_contacts_added_cb (EBook *book, GList *contacts, gpointer user_data)
+ return;
+
+ photo = e_contact_get (contact, E_CONTACT_PHOTO);
+-#ifndef HAVE_ECONTACTPHOTOTYPE
+- if (photo) {
+-#else
+ if (photo && photo->type == E_CONTACT_PHOTO_TYPE_INLINED) {
+-#endif
+ GdkPixbufLoader *loader;
+
+ loader = gdk_pixbuf_loader_new ();
+
+-#ifndef HAVE_ECONTACTPHOTOTYPE
+- if (gdk_pixbuf_loader_write (loader, (guchar *)photo->data,
+- photo->length, NULL))
+-#else
+ if (gdk_pixbuf_loader_write (loader, (guchar *)photo->data.inlined.data,
+ photo->data.inlined.length, NULL))
+-#endif
+ pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
+
+ if (pixbuf) {
+@@ -339,16 +325,15 @@ view_contacts_added_cb (EBook *book, GList *contacts, gpointer user_data)
+ * The query on the EBookView has completed.
+ */
+ static void
+-view_completed_cb (EBookView *book_view, EBookViewStatus status, gpointer user_data)
++view_completed_cb (EBookView *book_view, EBookViewStatus status, const gchar *message, gpointer user_data)
+ {
+ EntryLookup *lookup;
+ g_return_if_fail (user_data != NULL);
+- /* TODO: handle status != OK */
+- g_return_if_fail (status == E_BOOK_ERROR_OK);
+ g_return_if_fail (book_view != NULL);
+
+ lookup = (EntryLookup*)user_data;
+ g_object_unref (lookup->bookview);
++ lookup->bookview = NULL;
+ }
+
+ /**
+@@ -361,9 +346,9 @@ bookview_cb (EBook *book, EBookStatus status, EBookView *book_view, gpointer clo
+ /* TODO: handle status != OK */
+ g_return_if_fail (status == E_BOOK_ERROR_OK);
+ g_return_if_fail (closure != NULL);
+-
++
+ lookup = (EntryLookup*)closure;
+-
++
+ g_object_ref (book_view);
+ /* This shouldn't happen of course */
+ if (lookup->bookview) {
+@@ -372,10 +357,10 @@ bookview_cb (EBook *book, EBookStatus status, EBookView *book_view, gpointer clo
+ }
+ lookup->bookview = book_view;
+ g_object_add_weak_pointer ((GObject*)book_view, (gpointer*)&lookup->bookview);
+-
+- g_signal_connect (book_view, "contacts_added", (GCallback)view_contacts_added_cb, lookup);
+- g_signal_connect (book_view, "sequence_complete", (GCallback)view_completed_cb, lookup);
+-
++
++ g_signal_connect (book_view, "contacts-added", (GCallback)view_contacts_added_cb, lookup);
++ g_signal_connect (book_view, "view_complete", (GCallback)view_completed_cb, lookup);
++
+ e_book_view_start (book_view);
+ }
+
+@@ -396,9 +381,10 @@ entry_changed_cb (GtkEditable *editable, gpointer user_data)
+ if (lookup->bookview) {
+ e_book_view_stop (lookup->bookview);
+ g_object_unref (lookup->bookview);
++ lookup->bookview = NULL;
+ }
+ }
+-
++
+ gtk_list_store_clear (entry->priv->store);
+
+ query = create_query (entry, gtk_editable_get_chars (editable, 0, -1));
+@@ -409,8 +395,8 @@ entry_changed_cb (GtkEditable *editable, gpointer user_data)
+ /* If the book isn't open yet, skip this source */
+ if (!lookup->open)
+ continue;
+-
+- if (e_book_async_get_book_view (lookup->book, query, NULL, 11, (EBookBookViewCallback)bookview_cb, lookup) != 0) {
++
++ if (e_book_async_get_book_view (lookup->book, query, NULL, MAX_ENTRIES, (EBookBookViewCallback)bookview_cb, lookup) == FALSE) {
+ g_signal_emit (entry, signals[ERROR], 0, _("Cannot create searchable view."));
+ }
+ }
+@@ -441,7 +427,7 @@ book_opened_cb (EBook *book, EBookStatus status, gpointer data)
+ return;
+ }
+ }
+-
++
+ g_signal_emit (lookup->entry, signals[STATE_CHANGE], 0, FALSE);
+ g_signal_emit (lookup->entry, signals[ERROR], 0, stringify_ebook_error (status));
+ return;
+@@ -458,11 +444,12 @@ book_opened_cb (EBook *book, EBookStatus status, gpointer data)
+ */
+
+ void
+-e_contact_entry_set_source_list (EContactEntry *entry,
+- ESourceList *source_list)
++e_contact_entry_set_registry (EContactEntry *entry,
++ ESourceRegistry *registry)
+ {
++ GList *list, *link;
++ const gchar *extension_name;
+ GError *error = NULL;
+- GSList *list, *l;
+
+ g_return_if_fail (E_IS_CONTACT_ENTRY (entry));
+
+@@ -471,58 +458,48 @@ e_contact_entry_set_source_list (EContactEntry *entry,
+ g_list_foreach (entry->priv->lookup_entries, (GFunc)lookup_entry_free, NULL);
+ g_list_free (entry->priv->lookup_entries);
+ }
+- if (entry->priv->source_list) {
+- g_object_unref (entry->priv->source_list);
++ if (entry->priv->registry) {
++ g_object_unref (entry->priv->registry);
+ }
+
+ /* If we have no new sources, disable and return here */
+- if (source_list == NULL) {
++ if (registry == NULL) {
+ g_signal_emit (entry, signals[STATE_CHANGE], 0, FALSE);
+- entry->priv->source_list = NULL;
++ entry->priv->registry = NULL;
+ entry->priv->lookup_entries = NULL;
+ return;
+ }
+
+- entry->priv->source_list = source_list;
+- /* So that the list isn't going away underneath us */
+- g_object_ref (entry->priv->source_list);
++ entry->priv->registry = registry;
++ /* So that the registry isn't going away underneath us */
++ g_object_ref (entry->priv->registry);
+
+- /* That gets us a list of ESourceGroup */
+- list = e_source_list_peek_groups (source_list);
+ entry->priv->lookup_entries = NULL;
+
+- for (l = list; l != NULL; l = l->next) {
+- ESourceGroup *group = l->data;
+- GSList *sources = NULL, *m;
+- /* That should give us a list of ESource */
+- sources = e_source_group_peek_sources (group);
+- for (m = sources; m != NULL; m = m->next) {
+- ESource *source = m->data;
+- ESource *s = e_source_copy (source);
+- EntryLookup *lookup;
+- char *uri;
++ extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK;
++ list = e_source_registry_list_sources (registry, extension_name);
+
+- uri = g_strdup_printf("%s/%s", e_source_group_peek_base_uri (group), e_source_peek_relative_uri (source));
+- e_source_set_absolute_uri (s, uri);
+- g_free (uri);
++ for (link = list; link != NULL; link = g_list_next (link)) {
++ ESource *source = E_SOURCE (link->data);
++ EntryLookup *lookup;
+
+- /* Now add those to the lookup entries list */
+- lookup = g_new0 (EntryLookup, 1);
+- lookup->entry = entry;
+- lookup->status = E_BOOK_ERROR_OK;
+- lookup->open = FALSE;
++ /* Now add those to the lookup entries list */
++ lookup = g_new0 (EntryLookup, 1);
++ lookup->entry = entry;
++ lookup->status = E_BOOK_ERROR_OK;
++ lookup->open = FALSE;
+
+- if ((lookup->book = e_book_new (s, &error)) == NULL) {
+- /* TODO handle this better, fire the error signal I guess */
++ if ((lookup->book = e_book_new (source, &error)) == NULL) {
++ /* TODO handle this better, fire the error signal I guess */
++ if (error) {
+ g_warning ("%s", error->message);
+- g_error_free (error);
+- g_free (lookup);
+- } else {
+- entry->priv->lookup_entries = g_list_append (entry->priv->lookup_entries, lookup);
+- e_book_async_open(lookup->book, TRUE, (EBookCallback)book_opened_cb, lookup);
++ g_error_free (error);
++ error = NULL;
+ }
+-
+- g_object_unref (s);
++ g_free (lookup);
++ } else {
++ entry->priv->lookup_entries = g_list_append (entry->priv->lookup_entries, lookup);
++ e_book_async_open(lookup->book, TRUE, (EBookCallback)book_opened_cb, lookup);
+ }
+ }
+
+@@ -530,12 +507,12 @@ e_contact_entry_set_source_list (EContactEntry *entry,
+ g_signal_emit (entry, signals[STATE_CHANGE], 0, FALSE);
+ }
+
+-ESourceList *
+-e_contact_entry_get_source_list (EContactEntry *entry)
++ESourceRegistry *
++e_contact_entry_get_registry (EContactEntry *entry)
+ {
+ g_return_val_if_fail (E_IS_CONTACT_ENTRY (entry), NULL);
+
+- return entry->priv->source_list;
++ return entry->priv->registry;
+ }
+
+ void
+@@ -552,7 +529,7 @@ int
+ e_contact_entry_get_complete_length (EContactEntry *entry)
+ {
+ g_return_val_if_fail (E_IS_CONTACT_ENTRY (entry), 3); /* TODO: from paramspec? */
+-
++
+ return entry->priv->lookup_length;
+ }
+
+@@ -564,7 +541,7 @@ e_contact_entry_set_display_func (EContactEntry *entry, EContactEntryDisplayFunc
+ if (entry->priv->display_destroy) {
+ entry->priv->display_destroy (entry->priv->display_func);
+ }
+-
++
+ entry->priv->display_func = func;
+ entry->priv->display_data = func_data;
+ entry->priv->display_destroy = destroy;
+@@ -596,13 +573,13 @@ static void
+ e_contact_entry_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
+ {
+ EContactEntry *entry;
+-
++
+ g_return_if_fail (E_IS_CONTACT_ENTRY (object));
+ entry = E_CONTACT_ENTRY (object);
+-
++
+ switch (property_id) {
+- case PROP_SOURCE_LIST:
+- e_contact_entry_set_source_list (entry, g_value_get_object (value));
++ case PROP_REGISTRY:
++ e_contact_entry_set_registry (entry, g_value_get_object (value));
+ break;
+ case PROP_COMPLETE_LENGTH:
+ e_contact_entry_set_complete_length (entry, g_value_get_int (value));
+@@ -618,10 +595,10 @@ e_contact_entry_get_property (GObject *object, guint property_id, GValue *value,
+ EContactEntry *entry;
+ g_return_if_fail (E_IS_CONTACT_ENTRY (object));
+ entry = E_CONTACT_ENTRY (object);
+-
++
+ switch (property_id) {
+- case PROP_SOURCE_LIST:
+- g_value_set_object (value, e_contact_entry_get_source_list (entry));
++ case PROP_REGISTRY:
++ g_value_set_object (value, e_contact_entry_get_registry (entry));
+ break;
+ case PROP_COMPLETE_LENGTH:
+ g_value_set_int (value, e_contact_entry_get_complete_length (entry));
+@@ -644,7 +621,7 @@ e_contact_entry_finalize (GObject *object)
+ g_list_free (entry->priv->lookup_entries);
+ g_object_unref (entry->priv->completion);
+ g_object_unref (entry->priv->store);
+- g_object_unref (entry->priv->source_list);
++ g_object_unref (entry->priv->registry);
+
+ if (entry->priv->display_destroy) {
+ entry->priv->display_destroy (entry->priv->display_func);
+@@ -657,7 +634,7 @@ e_contact_entry_finalize (GObject *object)
+ static void
+ reset_search_fields (EContactEntry *entry)
+ {
+- EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_EMAIL, E_CONTACT_NICKNAME, E_CONTACT_ORG, 0 };
++ EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_EMAIL, E_CONTACT_NICKNAME, 0 };
+
+ g_free (entry->priv->search_fields);
+ entry->priv->search_fields = g_new0 (EContactField, G_N_ELEMENTS (fields));
+@@ -707,23 +684,23 @@ static void
+ e_contact_entry_class_init (EContactEntryClass *klass)
+ {
+ GObjectClass *object_class;
+-
++
+ object_class = (GObjectClass *) klass;
+-
++
+ /* GObject */
+ object_class->set_property = e_contact_entry_set_property;
+ object_class->get_property = e_contact_entry_get_property;
+ object_class->finalize = e_contact_entry_finalize;
+
+ /* Properties */
+- g_object_class_install_property (object_class, PROP_SOURCE_LIST,
+- g_param_spec_object ("source-list", "Source List", "The source list to search for contacts.",
+- E_TYPE_SOURCE_LIST, G_PARAM_READWRITE));
+-
++ g_object_class_install_property (object_class, PROP_REGISTRY,
++ g_param_spec_object ("registry", "Registry", "Data source registry.",
++ E_TYPE_SOURCE_REGISTRY, G_PARAM_READWRITE));
++
+ g_object_class_install_property (object_class, PROP_COMPLETE_LENGTH,
+ g_param_spec_int ("complete-length", "Complete length", "Number of characters to start a search on.",
+ 2, 99, 3, G_PARAM_READWRITE));
+-
++
+ /* Signals */
+ signals[CONTACT_SELECTED] = g_signal_new ("contact-selected",
+ G_TYPE_FROM_CLASS (object_class),
+@@ -732,7 +709,7 @@ e_contact_entry_class_init (EContactEntryClass *klass)
+ NULL, NULL,
+ econtactentry_marshal_VOID__OBJECT_STRING,
+ G_TYPE_NONE, 2, E_TYPE_CONTACT, G_TYPE_STRING);
+-
++
+ signals[ERROR] = g_signal_new ("error",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+@@ -771,6 +748,7 @@ lookup_entry_free (EntryLookup *lookup)
+ if (lookup->bookview) {
+ g_warning("EBookView still around");
+ g_object_unref (lookup->bookview);
++ lookup->bookview = NULL;
+ }
+ if (lookup->book) {
+ g_object_unref (lookup->book);
+@@ -789,11 +767,11 @@ split_query_string (const gchar *str)
+ GArray *parts = g_array_sized_new (FALSE, FALSE, sizeof (char *), 2);
+ PangoLogAttr *attrs;
+ guint str_len = strlen (str), word_start = 0, i;
+-
+- attrs = g_new0 (PangoLogAttr, str_len + 1);
++
++ attrs = g_new0 (PangoLogAttr, str_len + 1);
+ /* TODO: do we need to specify a particular language or is NULL ok? */
+ pango_get_log_attrs (str, -1, -1, NULL, attrs, str_len + 1);
+-
++
+ for (i = 0; i < str_len + 1; i++) {
+ char *start_word, *end_word, *word;
+ if (attrs[i].is_word_end) {
+diff --git a/cut-n-paste/e-contact-entry/e-contact-entry.h b/cut-n-paste/e-contact-entry/e-contact-entry.h
+index bf6b39b..6fedef7 100644
+--- a/cut-n-paste/e-contact-entry/e-contact-entry.h
++++ b/cut-n-paste/e-contact-entry/e-contact-entry.h
+@@ -23,10 +23,8 @@
+ #ifndef CONTACT_ENTRY_H
+ #define CONTACT_ENTRY_H
+
+-#include <libedataserver/e-source-group.h>
+-#include <libedataserver/e-source-list.h>
+-#include <libebook/e-contact.h>
+ #include <gtk/gtk.h>
++#include <libebook/libebook.h>
+
+ G_BEGIN_DECLS
+
+@@ -71,8 +69,8 @@ GType e_contact_entry_get_type (void);
+
+ GtkWidget *e_contact_entry_new (void);
+
+-void e_contact_entry_set_source_list (EContactEntry *entry, ESourceList *list);
+-ESourceList *e_contact_entry_get_source_list (EContactEntry *entry);
++void e_contact_entry_set_registry (EContactEntry *entry, ESourceRegistry *registry);
++ESourceRegistry *e_contact_entry_get_registry (EContactEntry *entry);
+
+ void e_contact_entry_set_complete_length(EContactEntry *entry, int length);
+ int e_contact_entry_get_complete_length(EContactEntry *entry);
+diff --git a/libgsm/phonemgr-utils.c b/libgsm/phonemgr-utils.c
+index 4e62e10..baef34f 100644
+--- a/libgsm/phonemgr-utils.c
++++ b/libgsm/phonemgr-utils.c
+@@ -27,7 +27,7 @@
+ #include <glib.h>
+ #include <glib/gstdio.h>
+ #include <glib-object.h>
+-#include <libebook/e-contact.h>
++#include <libebook/libebook.h>
+ #include <gnokii.h>
+
+ #include <bluetooth/bluetooth.h>
+diff --git a/src/e-phone-entry.c b/src/e-phone-entry.c
+index 5d25622..5c10155 100644
+--- a/src/e-phone-entry.c
++++ b/src/e-phone-entry.c
+@@ -1,5 +1,5 @@
+ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+-/*
++/*
+ * Copyright (C) 2005 Bastien Nocera <hadess@hadess.net>
+ *
+ * e-phone-entry.c
+@@ -31,8 +31,6 @@
+
+ #include <gtk/gtk.h>
+ #include <string.h>
+-#include <libedataserver/e-source-list.h>
+-#include <libedataserverui/e-client-utils.h>
+ #include "e-phone-entry.h"
+
+ #define CONTACT_FORMAT "%s (%s)"
+@@ -181,25 +179,25 @@ e_phone_entry_finalize (GObject *object)
+ }
+
+ static void
+-add_sources (EContactEntry *entry)
+-{
+- ESourceList *source_list;
+-
+- if (e_client_utils_get_sources (&source_list,
+- E_CLIENT_SOURCE_TYPE_CONTACTS,
+- NULL)) {
+- e_contact_entry_set_source_list (E_CONTACT_ENTRY (entry),
+- source_list);
+- g_object_unref (source_list);
+- }
+-}
+-
+-static void
+ e_phone_entry_init (EPhoneEntry *entry)
+ {
+ EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_NICKNAME, E_CONTACT_ORG, E_CONTACT_PHONE_MOBILE, 0 };
++ ESourceRegistry *registry;
++ GError *error = NULL;
++
++ /* XXX This call blocks while a D-Bus connection is made, possibly
++ * requiring activation. Might be better to create the registry
++ * in main(), pass it to ui_init(), and have e_phone_entry_new()
++ * take it as an argument. Calling this from main() means if it
++ * fails you can abort cleanly with a console error message. */
++ registry = e_source_registry_new_sync (NULL, &error);
++ if (registry == NULL) {
++ g_error ("%s: %s", G_STRFUNC, error->message);
++ g_assert_not_reached ();
++ }
++ e_contact_entry_set_registry (E_CONTACT_ENTRY (entry), registry);
++ g_object_unref (registry);
+
+- add_sources (E_CONTACT_ENTRY (entry));
+ e_contact_entry_set_search_fields (E_CONTACT_ENTRY (entry), (const EContactField *)fields);
+ e_contact_entry_set_display_func (E_CONTACT_ENTRY (entry), test_display_func, NULL, NULL);
+ g_signal_connect (G_OBJECT (entry), "contact_selected",
+@@ -212,9 +210,9 @@ static void
+ e_phone_entry_class_init (EPhoneEntryClass *klass)
+ {
+ GObjectClass *object_class;
+-
++
+ object_class = (GObjectClass *) klass;
+-
++
+ /* GObject */
+ object_class->finalize = e_phone_entry_finalize;
+
+--
+1.8.0.2
+
diff --git a/app-mobilephone/gnome-phone-manager/gnome-phone-manager-0.69-r1.ebuild b/app-mobilephone/gnome-phone-manager/gnome-phone-manager-0.69-r1.ebuild
new file mode 100644
index 00000000000..d5178faa93b
--- /dev/null
+++ b/app-mobilephone/gnome-phone-manager/gnome-phone-manager-0.69-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="A program created to allow you to control aspects of your mobile phone from your GNOME desktop"
+HOMEPAGE="https://wiki.gnome.org/PhoneManager"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+# telepathy support is considered experimental
+
+RDEPEND="
+ >=dev-libs/glib-2.31.0:2
+ >=x11-libs/gtk+-3:3
+ >=gnome-base/orbit-2
+ >=gnome-base/gconf-2:2
+ >=gnome-extra/evolution-data-server-3.6:=
+ media-libs/libcanberra[gtk3]
+ >=app-mobilephone/gnokii-0.6.28[bluetooth]
+ net-wireless/bluez
+ dev-libs/dbus-glib
+ dev-libs/openobex
+ media-libs/libcanberra[gtk]
+ >=x11-themes/gnome-icon-theme-2.19.1
+ >=net-wireless/gnome-bluetooth-3.3:2
+"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.35.5
+ virtual/pkgconfig
+ gnome-base/gnome-common
+"
+# gnome-common needed for eautoreconf
+
+src_prepare() {
+ # Fix eds-3.6 building, upstream bug #680927
+ epatch "${FILESDIR}"/0001-Adapt-to-Evolution-Data-Server-API-changes.patch
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # bluetooth-plugin is no longer buildable, bug #512204
+ gnome2_src_configure \
+ --disable-bluetooth-plugin \
+ --disable-telepathy \
+ --disable-static
+}
diff --git a/app-mobilephone/gnome-phone-manager/metadata.xml b/app-mobilephone/gnome-phone-manager/metadata.xml
new file mode 100644
index 00000000000..075e897444d
--- /dev/null
+++ b/app-mobilephone/gnome-phone-manager/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version = '1.0' encoding = 'UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<longdescription>Phone Manager is a program created to allow you to control aspects
+of your mobile phone from your GNOME desktop.
+
+The software is in its early stages right now. Current features include:
+ * Runs in the background; indicates status on the panel notification area.
+ * Display on-screen alert when text message (SMS) arrives
+ * Text message (SMS) sending facility
+
+Phone Manager supports any mobile phone that can connect to your
+computer as a serial port: via Bluetooth, IrDA or a serial cable.</longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/gsmlib/Manifest b/app-mobilephone/gsmlib/Manifest
new file mode 100644
index 00000000000..f48ce0c9bbd
--- /dev/null
+++ b/app-mobilephone/gsmlib/Manifest
@@ -0,0 +1 @@
+DIST gsmlib-pre1.11-041028.tar.gz 499052 SHA256 2dae164cdaa3b6ce41cfe4e41501f44bc665296349a5be4d5d10cb260a87231f SHA512 9009fce488b7ed7aeb0a0581f0586a3898911ea042b92369e0242dc8b0292ca82f913058cfd958a7af121be57cf925598dc26822817ccf81027917abe6b6096a WHIRLPOOL 6970eeeca15dfa14204d02f0f3e55e30e9e43808554df5bc2cb9d16496f1e422cf72373906a8b216df61cbe14d619f35dfa3b04fd676caad5d9d983897adcbe9
diff --git a/app-mobilephone/gsmlib/files/gsmlib-1.11-gcc41.patch b/app-mobilephone/gsmlib/files/gsmlib-1.11-gcc41.patch
new file mode 100644
index 00000000000..a7414e36b86
--- /dev/null
+++ b/app-mobilephone/gsmlib/files/gsmlib-1.11-gcc41.patch
@@ -0,0 +1,52 @@
+diff -ur gsmlib-1.11-orig/gsmlib/gsm_map_key.h gsmlib-1.11/gsmlib/gsm_map_key.h
+--- gsmlib-1.11-orig/gsmlib/gsm_map_key.h 2006-02-25 19:20:52.000000000 -0500
++++ gsmlib-1.11/gsmlib/gsm_map_key.h 2006-02-25 19:23:01.000000000 -0500
+@@ -78,7 +78,7 @@
+ // MapKey members
+
+ template <class SortedStore>
+- bool gsmlib::operator<(const MapKey<SortedStore> &x,
++ bool operator<(const MapKey<SortedStore> &x,
+ const MapKey<SortedStore> &y)
+ {
+ assert(&x._myStore == &y._myStore);
+@@ -103,7 +103,7 @@
+ }
+
+ template <class SortedStore>
+- bool gsmlib::operator==(const MapKey<SortedStore> &x,
++ bool operator==(const MapKey<SortedStore> &x,
+ const MapKey<SortedStore> &y)
+ {
+ assert(&x._myStore == &y._myStore);
+diff -ur gsmlib-1.11-orig/gsmlib/gsm_me_ta.h gsmlib-1.11/gsmlib/gsm_me_ta.h
+--- gsmlib-1.11-orig/gsmlib/gsm_me_ta.h 2006-02-25 19:20:52.000000000 -0500
++++ gsmlib-1.11/gsmlib/gsm_me_ta.h 2006-02-25 19:21:48.000000000 -0500
+@@ -294,8 +294,8 @@
+ // 3 disable phone receive RF circuits only
+ // 4 disable phone both transmit and receive RF circuits
+ // 5...127 implementation-defined
+- int MeTa::getFunctionalityLevel() throw(GsmException);
+- void MeTa::setFunctionalityLevel(int level) throw(GsmException);
++ int getFunctionalityLevel() throw(GsmException);
++ void setFunctionalityLevel(int level) throw(GsmException);
+
+ // return battery charge status (+CBC):
+ // 0 ME is powered by the battery
+@@ -389,13 +389,13 @@
+ void setCallWaitingLockStatus(FacilityClass cl,
+ bool lock)throw(GsmException);
+
+- void MeTa::setCLIRPresentation(bool enable) throw(GsmException);
++ void setCLIRPresentation(bool enable) throw(GsmException);
+ //(+CLIR)
+
+ // 0:according to the subscription of the CLIR service
+ // 1:CLIR invocation
+ // 2:CLIR suppression
+- int MeTa::getCLIRPresentation() throw(GsmException);
++ int getCLIRPresentation() throw(GsmException);
+
+ friend class Phonebook;
+ friend class SMSStore;
+
diff --git a/app-mobilephone/gsmlib/files/gsmlib-1.11-gcc43.patch b/app-mobilephone/gsmlib/files/gsmlib-1.11-gcc43.patch
new file mode 100644
index 00000000000..ddd78c6db20
--- /dev/null
+++ b/app-mobilephone/gsmlib/files/gsmlib-1.11-gcc43.patch
@@ -0,0 +1,67 @@
+diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_me_ta.cc gsmlib-1.11/gsmlib/gsm_me_ta.cc
+--- gsmlib-1.11-orig/gsmlib/gsm_me_ta.cc 2003-08-26 02:01:36.000000000 -0600
++++ gsmlib-1.11/gsmlib/gsm_me_ta.cc 2008-02-24 15:09:58.000000000 -0600
+@@ -19,6 +19,8 @@
+ #include <gsmlib/gsm_parser.h>
+ #include <gsmlib/gsm_sysdep.h>
+
++#include <cstdlib>
++
+ using namespace std;
+ using namespace gsmlib;
+
+diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_sms_codec.cc gsmlib-1.11/gsmlib/gsm_sms_codec.cc
+--- gsmlib-1.11-orig/gsmlib/gsm_sms_codec.cc 2004-10-27 17:06:06.000000000 -0600
++++ gsmlib-1.11/gsmlib/gsm_sms_codec.cc 2008-02-24 15:10:44.000000000 -0600
+@@ -23,6 +23,7 @@
+ #ifdef HAVE_STRING_H
+ #include <string.h>
+ #endif
++#include <climits>
+ #include <string>
+ using namespace std;
+ using namespace gsmlib;
+diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_util.cc gsmlib-1.11/gsmlib/gsm_util.cc
+--- gsmlib-1.11-orig/gsmlib/gsm_util.cc 2004-10-27 17:05:53.000000000 -0600
++++ gsmlib-1.11/gsmlib/gsm_util.cc 2008-02-24 15:09:36.000000000 -0600
+@@ -35,6 +35,7 @@
+ #define __USE_GNU
+ #define _GNU_SOURCE
+ #endif
++#include <cstdlib>
+ #include <stdio.h>
+ #include <sys/stat.h>
+
+diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_unix_serial.cc gsmlib-1.11/gsmlib/gsm_unix_serial.cc
+--- gsmlib-1.11-orig/gsmlib/gsm_unix_serial.cc 2004-10-27 16:57:35.000000000 -0600
++++ gsmlib-1.11/gsmlib/gsm_unix_serial.cc 2008-02-24 15:19:03.000000000 -0600
+@@ -28,6 +28,7 @@
+ #include <pthread.h>
+ #include <cassert>
+ #include <assert.h>
++#include <cstring>
+
+ using namespace std;
+ using namespace gsmlib;
+diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_sorted_phonebook.cc gsmlib-1.11/gsmlib/gsm_sorted_phonebook.cc
+--- gsmlib-1.11-orig/gsmlib/gsm_sorted_phonebook.cc 2002-05-14 13:38:12.000000000 -0600
++++ gsmlib-1.11/gsmlib/gsm_sorted_phonebook.cc 2008-02-24 15:22:52.000000000 -0600
+@@ -20,6 +20,7 @@
+ #include <iostream>
+ #include <fstream>
+ #include <limits.h>
++#include <cstring>
+
+ const int MAX_LINE_SIZE = 1000;
+
+diff -Naurp gsmlib-1.11-orig/apps/gsmsmsd.cc gsmlib-1.11/apps/gsmsmsd.cc
+--- gsmlib-1.11-orig/apps/gsmsmsd.cc 2003-08-26 00:47:47.000000000 -0600
++++ gsmlib-1.11/apps/gsmsmsd.cc 2008-02-24 15:25:54.000000000 -0600
+@@ -40,6 +40,7 @@
+ #include <iostream>
+ #include <gsmlib/gsm_me_ta.h>
+ #include <gsmlib/gsm_event.h>
++#include <cstring>
+
+ using namespace std;
+ using namespace gsmlib;
diff --git a/app-mobilephone/gsmlib/files/gsmlib-1.11-include-gcc34-fix.patch b/app-mobilephone/gsmlib/files/gsmlib-1.11-include-gcc34-fix.patch
new file mode 100644
index 00000000000..dda54512485
--- /dev/null
+++ b/app-mobilephone/gsmlib/files/gsmlib-1.11-include-gcc34-fix.patch
@@ -0,0 +1,52 @@
+--- gsmlib-1.11/gsmlib/gsm_map_key.h 2002-05-14 23:38:12.000000000 +0400
++++ gsmlib-1.11-fixed/gsmlib/gsm_map_key.h 2004-08-02 00:56:40.997784696 +0400
+@@ -25,6 +25,16 @@
+
+ // wrapper for map key, can access Sortedtore to get sortOrder()
+
++ // compare two keys
++ template <class SortedStore> class MapKey;
++
++ template <class SortedStore>
++ bool operator<(const MapKey<SortedStore> &x,
++ const MapKey<SortedStore> &y);
++ template <class SortedStore>
++ bool operator==(const MapKey<SortedStore> &x,
++ const MapKey<SortedStore> &y);
++
+ template <class SortedStore> class MapKey
+ {
+ SortedStore &_myStore; // my store
+@@ -47,20 +57,16 @@
+
+ friend
+ bool operator<
+-#ifndef WIN32
+- <>
+-#endif
++ <SortedStore>
+ (const MapKey<SortedStore> &x,
+ const MapKey<SortedStore> &y);
+ friend
+ bool operator==
+-#ifndef WIN32
+- <>
+-#endif
++ <SortedStore>
+ (const MapKey<SortedStore> &x,
+ const MapKey<SortedStore> &y);
+ };
+-
++/*
+ // compare two keys
+ template <class SortedStore>
+ extern bool operator<(const MapKey<SortedStore> &x,
+@@ -68,7 +74,7 @@
+ template <class SortedStore>
+ extern bool operator==(const MapKey<SortedStore> &x,
+ const MapKey<SortedStore> &y);
+-
++ */
+ // MapKey members
+
+ template <class SortedStore>
diff --git a/app-mobilephone/gsmlib/gsmlib-1.11_pre041028.ebuild b/app-mobilephone/gsmlib/gsmlib-1.11_pre041028.ebuild
new file mode 100644
index 00000000000..2b9a496e2fb
--- /dev/null
+++ b/app-mobilephone/gsmlib/gsmlib-1.11_pre041028.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="Library and applications to access GSM mobile phones"
+SRC_URI="http://www.pxh.de/fs/gsmlib/snapshots/${PN}-pre${PV%_pre*}-${PV#*_pre}.tar.gz"
+HOMEPAGE="http://www.pxh.de/fs/gsmlib/"
+
+IUSE=""
+SLOT="0"
+LICENSE="LGPL-2"
+KEYWORDS="amd64 ~ia64 ppc ppc64 sparc x86"
+
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}-${PV%_pre*}"
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}/${P%_pre*}-include-gcc34-fix.patch"
+ epatch "${FILESDIR}/${P%_pre*}-gcc41.patch"
+ epatch "${FILESDIR}"/${P%_pre*}-gcc43.patch
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc README
+}
diff --git a/app-mobilephone/gsmlib/metadata.xml b/app-mobilephone/gsmlib/metadata.xml
new file mode 100644
index 00000000000..715fd7f1352
--- /dev/null
+++ b/app-mobilephone/gsmlib/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+<longdescription>Library and applications to access GSM mobile phones.</longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/heimdall/Manifest b/app-mobilephone/heimdall/Manifest
new file mode 100644
index 00000000000..45d58a5529a
--- /dev/null
+++ b/app-mobilephone/heimdall/Manifest
@@ -0,0 +1,2 @@
+DIST heimdall-1.4.0.tar.gz 6565316 SHA256 13f5edff2fc857cf7d82708a2ac9ad1f6d2f5d6a2e5d84587f55f62583d60531 SHA512 ae6c55af97fe95587b89cce90e75fd3b236fd8ac0d506112c9c143fb1d0982aac6d1bef7a6c6635b547148ac4913aeb4215ed9c7c8084fd0912010c5ad9604ee WHIRLPOOL b4c64a755d2f3577f894e22633e11cf60323d028b89e8117fa2c6cbedf7b55d9227cb17017d966d3d48fb56958a11ce87f3334aafedfcae57e6928ef42d8c121
+DIST heimdall-1.4.1.tar.gz 6358720 SHA256 f0a6e4b5bf806fe4ab5413dd869817b600bcd339b642ff46ec0c5fe69adf7230 SHA512 2f1f49b0ad7bd5f4359893359b26024fe0cce84afed3878e42d902eb4dee487a44e351247d57e4af143ad728abd6c664df688246fcf7b96b9f3841cd16594296 WHIRLPOOL 13fa7c40f66c17010e0aca9c96e87ed34196ae2fa4c2944c63afba7df619620e154692b3846cafecf5b8cf6896e7f7a92d47e255c87421a57494f5747c6cedee
diff --git a/app-mobilephone/heimdall/heimdall-1.4.0.ebuild b/app-mobilephone/heimdall/heimdall-1.4.0.ebuild
new file mode 100644
index 00000000000..8ee2b820695
--- /dev/null
+++ b/app-mobilephone/heimdall/heimdall-1.4.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils qt4-r2 udev
+
+if [[ ${PV} != 9999 ]]; then
+ SRC_URI="https://github.com/Benjamin-Dobell/Heimdall/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/Heimdall-${PV}"
+else
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/Benjamin-Dobell/Heimdall.git
+ https://github.com/Benjamin-Dobell/Heimdall.git"
+fi
+
+DESCRIPTION="Tool suite used to flash firmware onto Samsung Galaxy S devices"
+HOMEPAGE="http://www.glassechidna.com.au/products/heimdall/"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="qt4"
+
+# virtual/libusb is not precise enough
+RDEPEND=">=dev-libs/libusb-1.0.18:1=
+ qt4? ( dev-qt/qtcore:4= dev-qt/qtgui:4= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ rm -r libusbx-1.0 || die
+ cd "${S}/heimdall" || die
+ edos2unix configure.ac Makefile.am || die
+ sed -i -e /sudo/d Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ cd "${S}/libpit" || die
+ econf
+
+ cd "${S}/heimdall" || die
+ econf
+
+ if use qt4; then
+ cd "${S}/heimdall-frontend" || die
+ eqmake4 heimdall-frontend.pro OUTPUTDIR=/usr/bin || die
+ fi
+}
+
+src_compile() {
+ emake -C libpit
+ emake -C heimdall
+ use qt4 && emake -C heimdall-frontend
+}
+
+src_install() {
+ emake -C heimdall DESTDIR="${D}" udevrulesdir="$(get_udevdir)/rules.d" install
+ dodoc Linux/README
+ use qt4 && emake -C heimdall-frontend INSTALL_ROOT="${D}" install
+}
diff --git a/app-mobilephone/heimdall/heimdall-1.4.1.ebuild b/app-mobilephone/heimdall/heimdall-1.4.1.ebuild
new file mode 100644
index 00000000000..c01aa853002
--- /dev/null
+++ b/app-mobilephone/heimdall/heimdall-1.4.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils qt4-r2 udev
+
+if [[ ${PV} != 9999 ]]; then
+ SRC_URI="https://github.com/Benjamin-Dobell/Heimdall/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/Heimdall-${PV}"
+else
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/Benjamin-Dobell/Heimdall.git
+ https://github.com/Benjamin-Dobell/Heimdall.git"
+fi
+
+DESCRIPTION="Tool suite used to flash firmware onto Samsung Galaxy S devices"
+HOMEPAGE="http://www.glassechidna.com.au/products/heimdall/"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="qt4"
+
+# virtual/libusb is not precise enough
+RDEPEND=">=dev-libs/libusb-1.0.18:1=
+ qt4? ( dev-qt/qtcore:4= dev-qt/qtgui:4= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ rm -r libusb-1.0 || die
+ cd "${S}/heimdall" || die
+ edos2unix configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ cd "${S}/libpit" || die
+ econf
+
+ cd "${S}/heimdall" || die
+ econf
+
+ if use qt4; then
+ cd "${S}/heimdall-frontend" || die
+ eqmake4 heimdall-frontend.pro OUTPUTDIR=/usr/bin || die
+ fi
+}
+
+src_compile() {
+ emake -C libpit
+ emake -C heimdall
+ use qt4 && emake -C heimdall-frontend
+}
+
+src_install() {
+ emake -C heimdall DESTDIR="${D}" udevrulesdir="$(get_udevdir)/rules.d" install
+ dodoc Linux/README
+ use qt4 && emake -C heimdall-frontend INSTALL_ROOT="${D}" install
+}
diff --git a/app-mobilephone/heimdall/heimdall-9999.ebuild b/app-mobilephone/heimdall/heimdall-9999.ebuild
new file mode 100644
index 00000000000..74f397125c3
--- /dev/null
+++ b/app-mobilephone/heimdall/heimdall-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+CMAKE_IN_SOURCE_BUILD="true"
+
+inherit autotools eutils cmake-utils udev
+
+if [[ ${PV} != 9999 ]]; then
+ SRC_URI="https://github.com/Benjamin-Dobell/Heimdall/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/Heimdall-${PV}"
+else
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/Benjamin-Dobell/Heimdall.git
+ https://github.com/Benjamin-Dobell/Heimdall.git"
+fi
+
+DESCRIPTION="Tool suite used to flash firmware onto Samsung Galaxy S devices"
+HOMEPAGE="http://www.glassechidna.com.au/products/heimdall/"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="qt5 static-libs"
+
+# virtual/libusb is not precise enough
+RDEPEND=">=dev-libs/libusb-1.0.18:1=[static-libs=]
+ qt5? ( dev-qt/qtwidgets:5= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ if ! use qt5 ; then
+ sed '/heimdall-frontend/d' \
+ -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ cmake-utils_src_configure \
+ $(cmake-utils_use_use static-libs STATIC_LIBS)
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ # cmake-utils_src_install doesn't work
+ dobin "${S}"/bin/${PN}
+ use qt5 && dobin "${S}"/bin/${PN}-frontend
+
+ insinto $(get_udevdir)/rules.d
+ doins "${S}"/${PN}/60-${PN}.rules
+ dodoc Linux/README
+}
diff --git a/app-mobilephone/heimdall/metadata.xml b/app-mobilephone/heimdall/metadata.xml
new file mode 100644
index 00000000000..ca5c05ae6a0
--- /dev/null
+++ b/app-mobilephone/heimdall/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Benjamin-Dobell/Heimdall</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/kannel-sqlbox/Manifest b/app-mobilephone/kannel-sqlbox/Manifest
new file mode 100644
index 00000000000..4d17ac00021
--- /dev/null
+++ b/app-mobilephone/kannel-sqlbox/Manifest
@@ -0,0 +1 @@
+DIST sqlbox-0.7.2.tar.gz 118074 SHA256 8d220ff4c1f026c91b2d5eb23d4b59468228f7d9d6cf8358989169dffeda1428 SHA512 0f8f565346e67f394a8f582c24ba149a62781e3a1b258ed5b137de8219aa264889986f2242409e20f75b42d754fdcb2f52a755c61ab6dc16ff6d102f6bd0dcc1 WHIRLPOOL b32397c2ff173e1dd134665f8fbea570ff3c54a20684853300a127a89b95ae94d5c511fcb7349fed393c884ca3129e45bc8d8cd92622f1b16fb24d73bdb57319
diff --git a/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox-0.7.2-configure.patch b/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox-0.7.2-configure.patch
new file mode 100644
index 00000000000..2b0b5f9e621
--- /dev/null
+++ b/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox-0.7.2-configure.patch
@@ -0,0 +1,30 @@
+diff -Nru sqlbox-0.7.2.orig/configure.in sqlbox-0.7.2/configure.in
+--- sqlbox-0.7.2.orig/configure.in 2009-05-19 17:08:35.000000000 +0200
++++ sqlbox-0.7.2/configure.in 2009-09-23 00:22:05.000000000 +0200
+@@ -207,7 +207,7 @@
+ then
+ AC_CHECK_PROG(JADE, openjade, openjade, no)
+ else
+- JADE = $OLDJADE
++ JADE=$OLDJADE
+ fi
+ AC_CHECK_PROG(JADETEX, jadetex, jadetex, no)
+ AC_CHECK_PROG(PDFJADETEX, pdfjadetex, pdfjadetex, no)
+@@ -402,7 +402,7 @@
+ AC_MSG_RESULT($loc)
+ AC_CHECK_FILE("$loc/include/kannel/gw-config.h",
+ [CFLAGS="$CFLAGS -I$loc/include/kannel -I$loc/include/kannel";
+- LDFLAGS="$LDFLAGS -L$loc/lib/kannel -lwap -lgwlib";
++ LIBS="$LIBS -L$loc/lib/kannel -lwap -lgwlib";
+ found=1
+ ])
+ fi
+@@ -417,7 +417,7 @@
+ AC_MSG_RESULT([$gw_version])
+ AC_MSG_CHECKING([Kannel libs])
+ if ! $GW_CONFIG --libs &>/dev/null ; then
+- LDFLAGS="$LDFLAGS `$GW_CONFIG --libs`"
++ LIBS="$LIBS `$GW_CONFIG --libs`"
+ gw_libdir=`$GW_CONFIG --libs`
+ AC_MSG_RESULT([$gw_libdir])
+ fi
diff --git a/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox-0.7.2-sqlinit-hfiles.patch b/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox-0.7.2-sqlinit-hfiles.patch
new file mode 100644
index 00000000000..0a3fb913670
--- /dev/null
+++ b/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox-0.7.2-sqlinit-hfiles.patch
@@ -0,0 +1,84 @@
+diff -Naur sqlbox-0.7.2/gw/sqlbox_mssql.h sqlbox-0.7.2.new/gw/sqlbox_mssql.h
+--- sqlbox-0.7.2/gw/sqlbox_mssql.h 2009-05-19 11:08:35.000000000 -0400
++++ sqlbox-0.7.2.new/gw/sqlbox_mssql.h 2009-09-16 11:23:03.000000000 -0400
+@@ -46,7 +46,7 @@
+ void sql_save_msg(Msg *msg, Octstr *momt /*, Octstr smsbox_id */);
+ Msg *mssql_fetch_msg();
+ void sql_shutdown();
+-struct server_type *sql_init_mssql(Cfg *cfg);
++struct server_type *sqlbox_init_mssql(Cfg *cfg);
+ #ifndef sqlbox_mssql_c
+ extern
+ #endif
+diff -Naur sqlbox-0.7.2/gw/sqlbox_mysql.h sqlbox-0.7.2.new/gw/sqlbox_mysql.h
+--- sqlbox-0.7.2/gw/sqlbox_mysql.h 2009-05-19 11:08:35.000000000 -0400
++++ sqlbox-0.7.2.new/gw/sqlbox_mysql.h 2009-09-16 11:23:03.000000000 -0400
+@@ -48,7 +48,7 @@
+ void sql_save_msg(Msg *msg, Octstr *momt);
+ Msg *mysql_fetch_msg();
+ void sql_shutdown();
+-struct server_type *sql_init_mysql(Cfg *cfg);
++struct server_type *sqlbox_init_mysql(Cfg *cfg);
+ #ifndef sqlbox_mysql_c
+ extern
+ #endif
+diff -Naur sqlbox-0.7.2/gw/sqlbox_oracle.h sqlbox-0.7.2.new/gw/sqlbox_oracle.h
+--- sqlbox-0.7.2/gw/sqlbox_oracle.h 2009-05-19 11:08:35.000000000 -0400
++++ sqlbox-0.7.2.new/gw/sqlbox_oracle.h 2009-09-16 11:23:03.000000000 -0400
+@@ -52,7 +52,7 @@
+ void sql_save_msg(Msg *msg, Octstr *momt /*, Octstr smsbox_id */);
+ Msg *oracle_fetch_msg();
+ void sql_shutdown();
+-struct server_type *sql_init_oracle(Cfg *cfg);
++struct server_type *sqlbox_init_oracle(Cfg *cfg);
+ #ifndef sqlbox_oracle_c
+ extern
+ #endif
+diff -Naur sqlbox-0.7.2/gw/sqlbox_pgsql.h sqlbox-0.7.2.new/gw/sqlbox_pgsql.h
+--- sqlbox-0.7.2/gw/sqlbox_pgsql.h 2009-05-19 11:08:35.000000000 -0400
++++ sqlbox-0.7.2.new/gw/sqlbox_pgsql.h 2009-09-16 11:23:03.000000000 -0400
+@@ -44,7 +44,7 @@
+ void sql_save_msg(Msg *msg, Octstr *momt /*, Octstr smsbox_id */);
+ Msg *pgsql_fetch_msg();
+ void sql_shutdown();
+-struct server_type *sql_init_pgsql(Cfg *cfg);
++struct server_type *sqlbox_init_pgsql(Cfg *cfg);
+ void sqlbox_configure_pgsql(Cfg* cfg);
+ #ifndef sqlbox_pgsql_c
+ extern
+diff -Naur sqlbox-0.7.2/gw/sqlbox_sdb.h sqlbox-0.7.2.new/gw/sqlbox_sdb.h
+--- sqlbox-0.7.2/gw/sqlbox_sdb.h 2009-05-19 11:08:35.000000000 -0400
++++ sqlbox-0.7.2.new/gw/sqlbox_sdb.h 2009-09-16 11:23:03.000000000 -0400
+@@ -21,7 +21,7 @@
+ void sql_save_msg(Msg *msg, Octstr *momt );
+ Msg *sdb_fetch_msg();
+ void sql_shutdown();
+-struct server_type *sql_init_sdb(Cfg *cfg);
++struct server_type *sqlbox_init_sdb(Cfg *cfg);
+ #ifndef sqlbox_sdb_c
+ extern
+ #endif
+diff -Naur sqlbox-0.7.2/gw/sqlbox_sqlite3.h sqlbox-0.7.2.new/gw/sqlbox_sqlite3.h
+--- sqlbox-0.7.2/gw/sqlbox_sqlite3.h 2009-05-19 11:08:35.000000000 -0400
++++ sqlbox-0.7.2.new/gw/sqlbox_sqlite3.h 2009-09-16 11:23:03.000000000 -0400
+@@ -41,7 +41,7 @@
+ void sql_save_msg(Msg *msg, Octstr *momt );
+ Msg *sqlite3_fetch_msg();
+ void sql_shutdown();
+-struct server_type *sql_init_sqlite3(Cfg *cfg);
++struct server_type *sqlbox_init_sqlite3(Cfg *cfg);
+ #ifndef sqlbox_sqlite3_c
+ extern
+ #endif
+diff -Naur sqlbox-0.7.2/gw/sqlbox_sqlite.h sqlbox-0.7.2.new/gw/sqlbox_sqlite.h
+--- sqlbox-0.7.2/gw/sqlbox_sqlite.h 2009-05-19 11:08:35.000000000 -0400
++++ sqlbox-0.7.2.new/gw/sqlbox_sqlite.h 2009-09-16 11:23:03.000000000 -0400
+@@ -41,7 +41,7 @@
+ void sql_save_msg(Msg *msg, Octstr *momt );
+ Msg *sqlite_fetch_msg();
+ void sql_shutdown();
+-struct server_type *sql_init_sqlite(Cfg *cfg);
++struct server_type *sqlbox_init_sqlite(Cfg *cfg);
+ #ifndef sqlbox_sqlite_c
+ extern
+ #endif \ No newline at end of file
diff --git a/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox.initd b/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox.initd
new file mode 100644
index 00000000000..d746cd5db29
--- /dev/null
+++ b/app-mobilephone/kannel-sqlbox/files/kannel-sqlbox.initd
@@ -0,0 +1,34 @@
+#!/sbin/runscript
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+KANNEL_SERVICE=${SVCNAME#*-}
+
+depend() {
+ need kannel-bearerbox
+ before kannel-smsbox
+}
+
+checkconfig() {
+ if [ ! -f /etc/kannel/kannel.conf ] ; then
+ eerror "/etc/kannel/kannel.conf file doesn't exists!"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting kannel ${KANNEL_SERVICE}"
+ start-stop-daemon --start --quiet --exec /usr/sbin/${KANNEL_SERVICE} -- \
+ --daemonize --user kannel --logfile /var/log/kannel/${KANNEL_SERVICE}.log \
+ --pid-file /var/run/kannel/${KANNEL_SERVICE}.pid /etc/kannel/sqlbox.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping kannel ${KANNEL_SERVICE}"
+ start-stop-daemon --stop --verbose --pidfile /var/run/kannel/${KANNEL_SERVICE}.pid
+ eend $?
+}
diff --git a/app-mobilephone/kannel-sqlbox/kannel-sqlbox-0.7.2.ebuild b/app-mobilephone/kannel-sqlbox/kannel-sqlbox-0.7.2.ebuild
new file mode 100644
index 00000000000..cb1b08e659e
--- /dev/null
+++ b/app-mobilephone/kannel-sqlbox/kannel-sqlbox-0.7.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils autotools
+
+DESCRIPTION="DB-Based Kannel Box for message queueing"
+HOMEPAGE="http://www.kannel.org/~aguerrieri/SqlBox/"
+SRC_URI="http://www.kannel.org/~aguerrieri/SqlBox/Releases/sqlbox-${PV}.tar.gz"
+
+LICENSE="Apache-1.1 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ssl doc"
+
+RDEPEND="|| (
+ >=app-mobilephone/kannel-1.4.3-r1[mysql]
+ >=app-mobilephone/kannel-1.4.3-r1[sqlite]
+ >=app-mobilephone/kannel-1.4.3-r1[postgres]
+ )
+ ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}
+ doc? ( media-gfx/transfig
+ app-text/jadetex
+ app-text/docbook-dsssl-stylesheets
+ app-text/docbook-sgml-dtd:3.1 )"
+
+S="${WORKDIR}/sqlbox-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-sqlinit-hfiles.patch
+ epatch "${FILESDIR}"/${P}-configure.patch
+
+ # This package doesn't contain configure script, only configure.in
+ eautoreconf
+}
+
+src_configure() {
+ econf --docdir=/usr/share/doc/${PF} \
+ --without-ctlib \
+ --without-mssql \
+ $(use_enable ssl) \
+ $(use_enable doc docs) \
+ || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "failed emake install"
+
+ if use doc; then
+ emake doc/userguide.html || die "emake docs failed"
+ dohtml doc/userguide.html || die "userguide.html not found"
+ fi
+
+ newinitd "${FILESDIR}"/kannel-sqlbox.initd kannel-sqlbox
+
+ dodoc AUTHORS ChangeLog NEWS README
+ insinto /etc/kannel
+ newins example/sqlbox.conf.example sqlbox.conf.sample
+}
+
+pkg_postinst() {
+ elog "Please view the following page for config information:"
+ elog "http://www.kannel.org/pipermail/users/2006-October/000859.html"
+ elog ""
+ elog "In essence you need to do 3 things"
+ elog "1. Create the database (tables will be automatically created by kannel)"
+ elog "2. Point sqlbox to the smsbox-port in kannel [core] group"
+ elog "3. Point smsbox to smsbox-port in sqlbox [sqlbox] group"
+ elog ""
+ elog "This literally puts sqlbox in between the bearerbox and smsbox"
+ elog "for data storage into a database"
+}
diff --git a/app-mobilephone/kannel-sqlbox/metadata.xml b/app-mobilephone/kannel-sqlbox/metadata.xml
new file mode 100644
index 00000000000..3ac63f58cd1
--- /dev/null
+++ b/app-mobilephone/kannel-sqlbox/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+<longdescription>Sqlbox is a special Kannel box that sits between bearerbox and
+smsbox and uses a database queue to store and forward messages.</longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/kannel/Manifest b/app-mobilephone/kannel/Manifest
new file mode 100644
index 00000000000..137740cf4ec
--- /dev/null
+++ b/app-mobilephone/kannel/Manifest
@@ -0,0 +1,2 @@
+DIST gateway-1.4.3.tar.gz 2654925 SHA256 9e247f4168290973d799d580472494a89a2cf22db035550f6423868b5bf78a07 SHA512 2e727cd3f57ba5af815f1c029dd9125db17b4f980bb555c20cde693e03226f52e1d2969a3d262e0dda1198cbddd3cc1d2f708aaa623f656d91aef686f4925dae WHIRLPOOL 2830599a7184b52b653d77fec03614e3e09e518e4bf0cb7fe87c5a7640341f01a7dfb0904c406fc0628b60a7b63be291c39ec8b0cfd16d56def171761f81d7bb
+DIST gateway-1.5.0.tar.gz 3469476 SHA256 9613fbf46ffaca322f3983a9b8a7579b135c54b8dd24cf715777da5ff50c5e53 SHA512 5bd35ff40e0f5882367f717e67104a0dc8703b5d6d95654e1268ded15cf6fac6366968b10adbe2eec22b3ac17fe3ae33b4142cd38f51fd3d75a56c8fe7653652 WHIRLPOOL d813da05f572e69c1619483c68a06f0587f8e191b1d71973fd9b63c22b8749169ae02963b48cfeae980aff1628f0b2c72a0ce9a82f4f7eecb5dc93cec0f2d2d7
diff --git a/app-mobilephone/kannel/files/kannel-1.4.1-custom-wap-ports.patch b/app-mobilephone/kannel/files/kannel-1.4.1-custom-wap-ports.patch
new file mode 100644
index 00000000000..c7afe96a603
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-1.4.1-custom-wap-ports.patch
@@ -0,0 +1,354 @@
+diff -Nru gateway-1.4.1.orig/gw/bb_udp.c gateway-1.4.1/gw/bb_udp.c
+--- gateway-1.4.1.orig/gw/bb_udp.c 2005-02-11 17:35:48.000000000 +0200
++++ gateway-1.4.1/gw/bb_udp.c 2006-11-16 00:28:56.346802750 +0200
+@@ -78,7 +78,7 @@
+ #include "gwlib/gwlib.h"
+ #include "msg.h"
+ #include "bearerbox.h"
+-
++#include "custports.h"
+ /* passed from bearerbox core */
+
+ extern volatile sig_atomic_t bb_status;
+@@ -352,13 +352,13 @@
+ while (gwlist_len(ifs) > 0) {
+ iface = gwlist_extract_first(ifs);
+ info(0, "Adding interface %s", octstr_get_cstr(iface));
+- add_service(9200, octstr_get_cstr(iface)); /* wsp */
+- add_service(9201, octstr_get_cstr(iface)); /* wsp/wtp */
++ add_service(port_wsp, octstr_get_cstr(iface)); /* wsp */
++ add_service(port_wtp, octstr_get_cstr(iface)); /* wsp/wtp */
+
+ #ifdef HAVE_WTLS_OPENSSL
+ if (allow_wtls) {
+- add_service(9202, octstr_get_cstr(iface)); /* wsp/wtls */
+- add_service(9203, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
++ add_service(port_wsps, octstr_get_cstr(iface)); /* wsp/wtls */
++ add_service(port_wtps, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
+ }
+ #else
+ if (allow_wtls)
+diff -Nru gateway-1.4.1.orig/gw/bearerbox.c gateway-1.4.1/gw/bearerbox.c
+--- gateway-1.4.1.orig/gw/bearerbox.c 2006-05-09 08:44:31.000000000 +0300
++++ gateway-1.4.1/gw/bearerbox.c 2006-11-16 00:28:56.346802750 +0200
+@@ -77,6 +77,7 @@
+ #include "bearerbox.h"
+ #include "shared.h"
+ #include "dlr.h"
++#include "custports.h"
+
+ /* global variables; included to other modules as needed */
+
+@@ -280,7 +281,6 @@
+ {
+ static int started = 0;
+ if (started) return 0;
+-
+ udp_start(cfg);
+
+ start_wap(cfg);
+@@ -353,6 +353,7 @@
+ int ssl_enabled = 0;
+ #endif /* HAVE_LIBSSL */
+
++ ReadCustomPorts(cfg);
+ /* defaults: use localtime and markers for access-log */
+ lf = m = 1;
+
+diff -Nru gateway-1.4.1.orig/gw/custports.c gateway-1.4.1/gw/custports.c
+--- gateway-1.4.1.orig/gw/custports.c 1970-01-01 02:00:00.000000000 +0200
++++ gateway-1.4.1/gw/custports.c 2006-11-16 00:28:56.346802750 +0200
+@@ -0,0 +1,88 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.c
++ *
++ * Implementation of reading custom UDP ports used by wapbox
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#include <custports.h>
++
++long port_wsp = 9200; // connectionless default
++long port_wtp = 9201; // connection-oriented default
++long port_wsps = 9202; // connectionless secure default
++long port_wtps = 9203; // connection-oriented secure
++
++
++void ReadCustomPorts(Cfg *config)
++{
++ CfgGroup *grp;
++ grp = cfg_get_single_group(config, octstr_imm("wapbox"));
++ if(grp == NULL)
++ return;
++
++ if(cfg_get_integer(&port_wsp, grp, octstr_imm("wsp-port")) != -1)
++ info(0, "Using custom WSP port %ld", port_wsp);
++ if(cfg_get_integer(&port_wtp, grp, octstr_imm("wtp-port")) != -1)
++ info(0, "Using custom WSP/WTP port %ld", port_wtp);
++ if(cfg_get_integer(&port_wsps, grp, octstr_imm("wsps-port")) != -1)
++ info(0, "Using custom WSP/WTLS port %ld", port_wsps);
++ if(cfg_get_integer(&port_wtps, grp, octstr_imm("wtps-port")) != -1)
++ info(0, "Using custom WSP/WTP/WTLS port %ld", port_wtps);
++}
+diff -Nru gateway-1.4.1.orig/gw/custports.h gateway-1.4.1/gw/custports.h
+--- gateway-1.4.1.orig/gw/custports.h 1970-01-01 02:00:00.000000000 +0200
++++ gateway-1.4.1/gw/custports.h 2006-11-16 00:28:56.346802750 +0200
+@@ -0,0 +1,77 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.h
++ *
++ * Implementation of wapbox custom UDP ports)
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#ifndef CUSTPORTS_H
++#define CUSTPORTS_H
++
++#include "gwlib/gwlib.h"
++
++extern long port_wsp; // connectionless
++extern long port_wtp; // connection-oriented
++extern long port_wsps; // connectionless secure
++extern long port_wtps; // connection-oriented secure
++
++void ReadCustomPorts(Cfg *config);
++#endif /* CUSTPORTS_H */
++
+diff -Nru gateway-1.4.1.orig/gw/wapbox.c gateway-1.4.1/gw/wapbox.c
+--- gateway-1.4.1.orig/gw/wapbox.c 2006-03-28 15:00:19.000000000 +0300
++++ gateway-1.4.1/gw/wapbox.c 2006-11-16 00:28:56.350803000 +0200
+@@ -84,17 +84,11 @@
+ #include "gwlib/pki.h"
+ #endif
+ #include "radius/radius_acct.h"
++#include "custports.h"
+
+ static void config_reload(int reload);
+ static long logfilelevel=-1;
+
+-enum {
+- CONNECTIONLESS_PORT = 9200,
+- CONNECTION_ORIENTED_PORT = 9201,
+- WTLS_CONNECTIONLESS_PORT = 9202,
+- WTLS_CONNECTION_ORIENTED_PORT = 9203
+-};
+-
+ enum { DEFAULT_TIMER_FREQ = 1};
+
+ static Octstr *bearerbox_host;
+@@ -131,6 +125,8 @@
+
+ cfg_dump(cfg);
+
++ ReadCustomPorts(cfg);
++
+ /*
+ * Extract info from the core group.
+ */
+@@ -772,9 +768,9 @@
+ * XXXX here should be suspend/resume, add RSN
+ */
+ } else if (msg_type(msg) == wdp_datagram) {
+- switch (msg->wdp_datagram.destination_port) {
+- case CONNECTIONLESS_PORT:
+- case CONNECTION_ORIENTED_PORT:
++ if(msg->wdp_datagram.destination_port == port_wsp
++ || msg->wdp_datagram.destination_port == port_wtp)
++ {
+ dgram = wap_event_create(T_DUnitdata_Ind);
+ dgram->u.T_DUnitdata_Ind.addr_tuple = wap_addr_tuple_create(
+ msg->wdp_datagram.source_address,
+@@ -785,19 +781,22 @@
+ msg->wdp_datagram.user_data = NULL;
+
+ wap_dispatch_datagram(dgram);
+- break;
+- case WTLS_CONNECTIONLESS_PORT:
+- case WTLS_CONNECTION_ORIENTED_PORT:
++ }
++ else
++ if(msg->wdp_datagram.destination_port == port_wsps
++ || msg->wdp_datagram.destination_port == port_wtps)
++ {
+ #if (HAVE_WTLS_OPENSSL)
+ dgram = wtls_unpack_wdp_datagram(msg);
+ if (dgram != NULL)
+ wtls_dispatch_event(dgram);
+ #endif
+- break;
+- default:
++ }
++ else
++ {
+ panic(0,"Bad packet received! This shouldn't happen!");
+ break;
+- }
++ }
+ } else {
+ warning(0, "Received other message than wdp/admin, ignoring!");
+ }
+diff -Nru gateway-1.4.1.orig/gw/wap_push_ppg.c gateway-1.4.1/gw/wap_push_ppg.c
+--- gateway-1.4.1.orig/gw/wap_push_ppg.c 2005-10-06 15:48:26.000000000 +0300
++++ gateway-1.4.1/gw/wap_push_ppg.c 2006-11-16 00:28:56.350803000 +0200
+@@ -88,6 +88,7 @@
+ #include "wap_push_pap_compiler.h"
+ #include "wap_push_pap_mime.h"
+ #include "wap_push_ppg_pushuser.h"
++#include "custports.h"
+
+ enum {
+ TIME_EXPIRED = 0,
+@@ -1768,10 +1769,10 @@
+
+ if (!cless_accepted) {
+ cliport = CONNECTED_CLIPORT;
+- servport = CONNECTED_SERVPORT;
++ servport = port_wtp;
+ } else {
+ cliport = CONNECTIONLESS_PUSH_CLIPORT;
+- servport = CONNECTIONLESS_SERVPORT;
++ servport = port_wsp;
+ }
+
+ address_type = (**e).u.Push_Message.address_type;
+diff -Nru gateway-1.4.1.orig/gw/wap_push_ppg.h gateway-1.4.1/gw/wap_push_ppg.h
+--- gateway-1.4.1.orig/gw/wap_push_ppg.h 2005-02-11 17:35:48.000000000 +0200
++++ gateway-1.4.1/gw/wap_push_ppg.h 2006-11-16 00:28:56.350803000 +0200
+@@ -167,9 +167,7 @@
+ */
+ enum {
+ CONNECTIONLESS_PUSH_CLIPORT = 2948,
+- CONNECTIONLESS_SERVPORT = 9200,
+ CONNECTED_CLIPORT = 9209,
+- CONNECTED_SERVPORT = 9201
+ };
+
+ struct PPGSessionMachine {
+diff -Nru gateway-1.4.1.orig/gwlib/cfg.def gateway-1.4.1/gwlib/cfg.def
+--- gateway-1.4.1.orig/gwlib/cfg.def 2006-08-28 15:06:13.000000000 +0300
++++ gateway-1.4.1/gwlib/cfg.def 2006-11-16 00:30:55.042220750 +0200
+@@ -153,6 +153,10 @@
+ OCTSTR(concatenation)
+ OCTSTR(max-messages)
+ OCTSTR(wml-strict)
++ OCTSTR(wsp-port)
++ OCTSTR(wtp-port)
++ OCTSTR(wsps-port)
++ OCTSTR(wtps-port)
+ )
+
+
diff --git a/app-mobilephone/kannel/files/kannel-1.4.1-nolex.patch b/app-mobilephone/kannel/files/kannel-1.4.1-nolex.patch
new file mode 100644
index 00000000000..07dfd147d67
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-1.4.1-nolex.patch
@@ -0,0 +1,22 @@
+diff -Nru gateway-1.4.1.orig/configure.in gateway-1.4.1/configure.in
+--- gateway-1.4.1.orig/configure.in 2008-06-24 02:00:07.000000000 +0200
++++ gateway-1.4.1/configure.in 2008-06-24 02:06:05.000000000 +0200
+@@ -108,7 +108,6 @@
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+ AC_PROG_YACC
+-AC_PROG_LEX
+ AC_PATH_PROG(CONVERT, convert)
+ AC_PATH_PROG(PERL, perl)
+
+diff -Nru gateway-1.4.1.orig/Makefile.in gateway-1.4.1/Makefile.in
+--- gateway-1.4.1.orig/Makefile.in 2006-05-09 07:46:56.000000000 +0200
++++ gateway-1.4.1/Makefile.in 2008-06-24 02:06:21.000000000 +0200
+@@ -60,7 +60,6 @@
+ SHELL = @SHELL@
+ VERSION = @VERSION@
+ SUFFIX = @SUFFIX@
+-LEX = @LEX@
+ PERL = @PERL@
+ YACC = @YACC@
+
diff --git a/app-mobilephone/kannel/files/kannel-1.4.3-autotools.patch b/app-mobilephone/kannel/files/kannel-1.4.3-autotools.patch
new file mode 100644
index 00000000000..e39cad8708c
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-1.4.3-autotools.patch
@@ -0,0 +1,33 @@
+diff -Nru gateway-1.4.3.orig/configure.in gateway-1.4.3/configure.in
+--- gateway-1.4.3.orig/configure.in 2009-01-12 16:47:01.000000000 +0000
++++ gateway-1.4.3/configure.in 2009-03-01 14:18:51.000000000 +0000
+@@ -95,8 +95,9 @@
+ AC_SUBST(PKGADD_VENDOR)
+
+ dnl Target installation directory for documentation
++PACKAGE=kannel
+ AC_SUBST(docdir)
+-docdir='${prefix}/share/doc/kannel'
++AC_SUBST(PACKAGE)
+
+ dnl Checks system type.
+ AC_CONFIG_SECTION([Running system checks])
+@@ -112,7 +112,6 @@
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+ AC_PROG_YACC
+-AC_PROG_LEX
+ AC_CHECK_TOOL(AR, ar)
+ AC_PATH_PROG(CONVERT, convert)
+ AC_PATH_PROG(PERL, perl)
+diff -Nru gateway-1.4.3.orig/Makefile.in gateway-1.4.3/Makefile.in
+--- gateway-1.4.3.orig/Makefile.in 2008-06-24 15:05:24.000000000 +0000
++++ gateway-1.4.3/Makefile.in 2009-03-01 14:18:14.000000000 +0000
+@@ -61,7 +61,6 @@
+ SHELL = @SHELL@
+ VERSION = @VERSION@
+ SUFFIX = @SUFFIX@
+-LEX = @LEX@
+ PERL = @PERL@
+ YACC = @YACC@
+
diff --git a/app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch b/app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch
new file mode 100644
index 00000000000..e1992b08319
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch
@@ -0,0 +1,346 @@
+diff -Nru gateway-1.4.3.orig/gw/bb_udp.c gateway-1.4.3/gw/bb_udp.c
+--- gateway-1.4.3.orig/gw/bb_udp.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/bb_udp.c 2009-03-01 14:20:38.000000000 +0000
+@@ -78,7 +78,7 @@
+ #include "gwlib/gwlib.h"
+ #include "msg.h"
+ #include "bearerbox.h"
+-
++#include "custports.h"
+ /* passed from bearerbox core */
+
+ extern volatile sig_atomic_t bb_status;
+@@ -352,13 +352,13 @@
+ while (gwlist_len(ifs) > 0) {
+ iface = gwlist_extract_first(ifs);
+ info(0, "Adding interface %s", octstr_get_cstr(iface));
+- add_service(9200, octstr_get_cstr(iface)); /* wsp */
+- add_service(9201, octstr_get_cstr(iface)); /* wsp/wtp */
++ add_service(port_wsp, octstr_get_cstr(iface)); /* wsp */
++ add_service(port_wtp, octstr_get_cstr(iface)); /* wsp/wtp */
+
+ #ifdef HAVE_WTLS_OPENSSL
+ if (allow_wtls) {
+- add_service(9202, octstr_get_cstr(iface)); /* wsp/wtls */
+- add_service(9203, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
++ add_service(port_wsps, octstr_get_cstr(iface)); /* wsp/wtls */
++ add_service(port_wtps, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
+ }
+ #else
+ if (allow_wtls)
+diff -Nru gateway-1.4.3.orig/gw/bearerbox.c gateway-1.4.3/gw/bearerbox.c
+--- gateway-1.4.3.orig/gw/bearerbox.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/bearerbox.c 2009-03-01 14:23:05.000000000 +0000
+@@ -78,6 +78,7 @@
+ #include "shared.h"
+ #include "dlr.h"
+ #include "load.h"
++#include "custports.h"
+
+ /* global variables; included to other modules as needed */
+
+@@ -365,6 +366,7 @@
+ int ssl_enabled = 0;
+ #endif /* HAVE_LIBSSL */
+
++ ReadCustomPorts(cfg);
+ /* defaults: use localtime and markers for access-log */
+ lf = m = 1;
+
+diff -Nru gateway-1.4.3.orig/gw/custports.c gateway-1.4.3/gw/custports.c
+--- gateway-1.4.3.orig/gw/custports.c 1970-01-01 00:00:00.000000000 +0000
++++ gateway-1.4.3/gw/custports.c 2009-03-01 14:20:38.000000000 +0000
+@@ -0,0 +1,88 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.c
++ *
++ * Implementation of reading custom UDP ports used by wapbox
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#include <custports.h>
++
++long port_wsp = 9200; // connectionless default
++long port_wtp = 9201; // connection-oriented default
++long port_wsps = 9202; // connectionless secure default
++long port_wtps = 9203; // connection-oriented secure
++
++
++void ReadCustomPorts(Cfg *config)
++{
++ CfgGroup *grp;
++ grp = cfg_get_single_group(config, octstr_imm("wapbox"));
++ if(grp == NULL)
++ return;
++
++ if(cfg_get_integer(&port_wsp, grp, octstr_imm("wsp-port")) != -1)
++ info(0, "Using custom WSP port %ld", port_wsp);
++ if(cfg_get_integer(&port_wtp, grp, octstr_imm("wtp-port")) != -1)
++ info(0, "Using custom WSP/WTP port %ld", port_wtp);
++ if(cfg_get_integer(&port_wsps, grp, octstr_imm("wsps-port")) != -1)
++ info(0, "Using custom WSP/WTLS port %ld", port_wsps);
++ if(cfg_get_integer(&port_wtps, grp, octstr_imm("wtps-port")) != -1)
++ info(0, "Using custom WSP/WTP/WTLS port %ld", port_wtps);
++}
+diff -Nru gateway-1.4.3.orig/gw/custports.h gateway-1.4.3/gw/custports.h
+--- gateway-1.4.3.orig/gw/custports.h 1970-01-01 00:00:00.000000000 +0000
++++ gateway-1.4.3/gw/custports.h 2009-03-01 14:20:38.000000000 +0000
+@@ -0,0 +1,77 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.h
++ *
++ * Implementation of wapbox custom UDP ports)
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#ifndef CUSTPORTS_H
++#define CUSTPORTS_H
++
++#include "gwlib/gwlib.h"
++
++extern long port_wsp; // connectionless
++extern long port_wtp; // connection-oriented
++extern long port_wsps; // connectionless secure
++extern long port_wtps; // connection-oriented secure
++
++void ReadCustomPorts(Cfg *config);
++#endif /* CUSTPORTS_H */
++
+diff -Nru gateway-1.4.3.orig/gw/wapbox.c gateway-1.4.3/gw/wapbox.c
+--- gateway-1.4.3.orig/gw/wapbox.c 2009-01-12 16:46:57.000000000 +0000
++++ gateway-1.4.3/gw/wapbox.c 2009-03-01 14:20:38.000000000 +0000
+@@ -84,17 +84,11 @@
+ #include "gwlib/pki.h"
+ #endif
+ #include "radius/radius_acct.h"
++#include "custports.h"
+
+ static void config_reload(int reload);
+ static long logfilelevel=-1;
+
+-enum {
+- CONNECTIONLESS_PORT = 9200,
+- CONNECTION_ORIENTED_PORT = 9201,
+- WTLS_CONNECTIONLESS_PORT = 9202,
+- WTLS_CONNECTION_ORIENTED_PORT = 9203
+-};
+-
+ enum { DEFAULT_TIMER_FREQ = 1};
+
+ static Octstr *bearerbox_host;
+@@ -131,6 +125,8 @@
+
+ cfg_dump(cfg);
+
++ ReadCustomPorts(cfg);
++
+ /*
+ * Extract info from the core group.
+ */
+@@ -776,9 +772,9 @@
+ * XXXX here should be suspend/resume, add RSN
+ */
+ } else if (msg_type(msg) == wdp_datagram) {
+- switch (msg->wdp_datagram.destination_port) {
+- case CONNECTIONLESS_PORT:
+- case CONNECTION_ORIENTED_PORT:
++ if(msg->wdp_datagram.destination_port == port_wsp
++ || msg->wdp_datagram.destination_port == port_wtp)
++ {
+ dgram = wap_event_create(T_DUnitdata_Ind);
+ dgram->u.T_DUnitdata_Ind.addr_tuple = wap_addr_tuple_create(
+ msg->wdp_datagram.source_address,
+@@ -789,19 +785,22 @@
+ msg->wdp_datagram.user_data = NULL;
+
+ wap_dispatch_datagram(dgram);
+- break;
+- case WTLS_CONNECTIONLESS_PORT:
+- case WTLS_CONNECTION_ORIENTED_PORT:
++ }
++ else
++ if(msg->wdp_datagram.destination_port == port_wsps
++ || msg->wdp_datagram.destination_port == port_wtps)
++ {
+ #if (HAVE_WTLS_OPENSSL)
+ dgram = wtls_unpack_wdp_datagram(msg);
+ if (dgram != NULL)
+ wtls_dispatch_event(dgram);
+ #endif
+- break;
+- default:
++ }
++ else
++ {
+ panic(0,"Bad packet received! This shouldn't happen!");
+ break;
+- }
++ }
+ } else {
+ warning(0, "Received other message than wdp/admin, ignoring!");
+ }
+diff -Nru gateway-1.4.3.orig/gw/wap_push_ppg.c gateway-1.4.3/gw/wap_push_ppg.c
+--- gateway-1.4.3.orig/gw/wap_push_ppg.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/wap_push_ppg.c 2009-03-01 14:20:38.000000000 +0000
+@@ -88,6 +88,7 @@
+ #include "wap_push_pap_compiler.h"
+ #include "wap_push_pap_mime.h"
+ #include "wap_push_ppg_pushuser.h"
++#include "custports.h"
+
+ enum {
+ TIME_EXPIRED = 0,
+@@ -1779,10 +1780,10 @@
+
+ if (!cless_accepted) {
+ cliport = CONNECTED_CLIPORT;
+- servport = CONNECTED_SERVPORT;
++ servport = port_wtp;
+ } else {
+ cliport = CONNECTIONLESS_PUSH_CLIPORT;
+- servport = CONNECTIONLESS_SERVPORT;
++ servport = port_wsp;
+ }
+
+ address_type = (**e).u.Push_Message.address_type;
+diff -Nru gateway-1.4.3.orig/gw/wap_push_ppg.h gateway-1.4.3/gw/wap_push_ppg.h
+--- gateway-1.4.3.orig/gw/wap_push_ppg.h 2009-01-12 16:46:57.000000000 +0000
++++ gateway-1.4.3/gw/wap_push_ppg.h 2009-03-01 14:20:38.000000000 +0000
+@@ -167,9 +167,7 @@
+ */
+ enum {
+ CONNECTIONLESS_PUSH_CLIPORT = 2948,
+- CONNECTIONLESS_SERVPORT = 9200,
+ CONNECTED_CLIPORT = 9209,
+- CONNECTED_SERVPORT = 9201
+ };
+
+ struct PPGSessionMachine {
+diff -Nru gateway-1.4.3.orig/gwlib/cfg.def gateway-1.4.3/gwlib/cfg.def
+--- gateway-1.4.3.orig/gwlib/cfg.def 2009-01-12 16:46:55.000000000 +0000
++++ gateway-1.4.3/gwlib/cfg.def 2009-03-01 14:20:38.000000000 +0000
+@@ -159,6 +159,10 @@
+ OCTSTR(concatenation)
+ OCTSTR(max-messages)
+ OCTSTR(wml-strict)
++ OCTSTR(wsp-port)
++ OCTSTR(wtp-port)
++ OCTSTR(wsps-port)
++ OCTSTR(wtps-port)
+ )
+
+
diff --git a/app-mobilephone/kannel/files/kannel-1.4.3-external-libuuid.patch b/app-mobilephone/kannel/files/kannel-1.4.3-external-libuuid.patch
new file mode 100644
index 00000000000..a29f2c3a833
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-1.4.3-external-libuuid.patch
@@ -0,0 +1,849 @@
+diff -Nru gateway-1.4.3.orig/configure.in gateway-1.4.3/configure.in
+--- gateway-1.4.3.orig/configure.in 2009-03-01 14:42:03.000000000 +0000
++++ gateway-1.4.3/configure.in 2009-03-01 15:06:37.000000000 +0000
+@@ -173,6 +173,9 @@
+ AC_ARG_WITH(libs,
+ [ --with-libs=FLAGS use FLAGS for extra libraries],
+ LIBS="$LIBS $withval")
++CFLAGS="$CFLAGS -I/usr/include/uuid"
++LIBS="$LIBS -luuid"
++
+
+ dnl Check whether compiler supports inline
+ AC_C_INLINE
+@@ -1226,7 +1229,7 @@
+ dnl Final Output
+
+ AC_CONFIG_SECTION([Generating output files])
+-AC_OUTPUT(gwlib/gw_uuid_types.h Makefile)
++AC_OUTPUT(Makefile)
+
+
+ dnl LICENSE notice
+diff -Nru gateway-1.4.3.orig/gwlib/gwlib.c gateway-1.4.3/gwlib/gwlib.c
+--- gateway-1.4.3.orig/gwlib/gwlib.c 2009-01-12 16:46:54.000000000 +0000
++++ gateway-1.4.3/gwlib/gwlib.c 2009-03-01 15:01:36.000000000 +0000
+@@ -79,7 +79,6 @@
+ {
+ gw_assert(!init);
+ gw_init_mem();
+- uuid_init();
+ octstr_init();
+ gwlib_protected_init();
+ gwthread_init();
+@@ -100,7 +99,6 @@
+ gwthread_shutdown();
+ octstr_shutdown();
+ gwlib_protected_shutdown();
+- uuid_shutdown();
+ cfg_shutdown();
+ gw_check_leaks();
+ log_shutdown();
+diff -Nru gateway-1.4.3.orig/gwlib/gwlib.h gateway-1.4.3/gwlib/gwlib.h
+--- gateway-1.4.3.orig/gwlib/gwlib.h 2009-01-12 16:46:55.000000000 +0000
++++ gateway-1.4.3/gwlib/gwlib.h 2009-03-01 15:01:56.000000000 +0000
+@@ -100,10 +100,12 @@
+ #include "semaphore.h"
+ #include "xmlrpc.h"
+ #include "md5.h"
+-#include "gw_uuid.h"
++#include <uuid.h>
+ #include "gw-rwlock.h"
+ #include "gw-prioqueue.h"
+
++#define UUID_STR_LEN 36
++
+ void gwlib_assert_init(void);
+ void gwlib_init(void);
+ void gwlib_shutdown(void);
+diff -Nru gateway-1.4.3.orig/gwlib/gw_uuid.c gateway-1.4.3/gwlib/gw_uuid.c
+--- gateway-1.4.3.orig/gwlib/gw_uuid.c 2004-01-05 16:37:10.000000000 +0000
++++ gateway-1.4.3/gwlib/gw_uuid.c 1970-01-01 00:00:00.000000000 +0000
+@@ -1,632 +0,0 @@
+-/*
+- * clear.c -- Clear a UUID
+- *
+- * Copyright (C) 1996, 1997 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-
+-/*
+- * Force inclusion of SVID stuff since we need it if we're compiling in
+- * gcc-wall wall mode
+- */
+-#ifndef _SVID_SOURCE
+-#define _SVID_SOURCE
+-#endif
+-
+-#include "gw-config.h"
+-
+-#ifdef HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
+-#ifdef HAVE_STDLIB_H
+-#include <stdlib.h>
+-#endif
+-#include <string.h>
+-#include <ctype.h>
+-#include <fcntl.h>
+-#include <errno.h>
+-#include <sys/types.h>
+-#include <sys/time.h>
+-#include <sys/stat.h>
+-#include <sys/file.h>
+-#ifdef HAVE_SYS_IOCTL_H
+-#include <sys/ioctl.h>
+-#endif
+-#ifdef HAVE_SYS_SOCKET_H
+-#include <sys/socket.h>
+-#endif
+-#ifdef HAVE_SYS_SOCKIO_H
+-#include <sys/sockio.h>
+-#endif
+-#ifdef HAVE_NET_IF_H
+-#include <net/if.h>
+-#endif
+-#ifdef HAVE_NETINET_IN_H
+-#include <netinet/in.h>
+-#endif
+-#include <stdio.h>
+-
+-#include "gwlib/gw_uuid_types.h"
+-#include "gwlib/gw_uuid.h"
+-
+-/*
+- * Offset between 15-Oct-1582 and 1-Jan-70
+- */
+-#define TIME_OFFSET_HIGH 0x01B21DD2
+-#define TIME_OFFSET_LOW 0x13814000
+-
+-struct uuid {
+- __u32 time_low;
+- __u16 time_mid;
+- __u16 time_hi_and_version;
+- __u16 clock_seq;
+- __u8 node[6];
+-};
+-
+-
+-/*
+- * prototypes
+- */
+-static void uuid_pack(const struct uuid *uu, uuid_t ptr);
+-static void uuid_unpack(const uuid_t in, struct uuid *uu);
+-static int get_random_fd(void);
+-
+-
+-#ifdef HAVE_SRANDOM
+-#define srand(x) srandom(x)
+-#define rand() random()
+-#endif
+-
+-
+-
+-void uuid_init(void)
+-{
+- /*
+- * open random device if any.
+- * We should do it here because otherwise it's
+- * possible that we open device twice.
+- */
+- get_random_fd();
+-}
+-
+-
+-void uuid_shutdown(void)
+-{
+- int fd = get_random_fd();
+-
+- if (fd > 0)
+- close(fd);
+-}
+-
+-void uuid_clear(uuid_t uu)
+-{
+- memset(uu, 0, 16);
+-}
+-
+-/*
+- * compare.c --- compare whether or not two UUID's are the same
+- *
+- * Returns an integer less than, equal to, or greater than zero if
+- * uu1 respectively, to be less than, to match, or be greater than
+- * uu2.
+- *
+- * Copyright (C) 1996, 1997 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-#define UUCMP(u1,u2) if (u1 != u2) return((u1 < u2) ? -1 : 1);
+-
+-int uuid_compare(const uuid_t uu1, const uuid_t uu2)
+-{
+- struct uuid uuid1, uuid2;
+-
+- uuid_unpack(uu1, &uuid1);
+- uuid_unpack(uu2, &uuid2);
+-
+- UUCMP(uuid1.time_low, uuid2.time_low);
+- UUCMP(uuid1.time_mid, uuid2.time_mid);
+- UUCMP(uuid1.time_hi_and_version, uuid2.time_hi_and_version);
+- UUCMP(uuid1.clock_seq, uuid2.clock_seq);
+- return memcmp(uuid1.node, uuid2.node, 6);
+-}
+-
+-/*
+- * copy.c --- copy UUIDs
+- *
+- * Copyright (C) 1996, 1997 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-void uuid_copy(uuid_t dst, const uuid_t src)
+-{
+- unsigned char *cp1;
+- const unsigned char *cp2;
+- int i;
+-
+- for (i=0, cp1 = dst, cp2 = src; i < 16; i++)
+- *cp1++ = *cp2++;
+-}
+-
+-
+-/*
+- * gen_uuid.c --- generate a DCE-compatible uuid
+- *
+- * Copyright (C) 1996, 1997, 1998, 1999 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-static int get_random_fd(void)
+-{
+- struct timeval tv;
+- static int fd = -2;
+- int i;
+-
+- if (fd == -2) {
+- gettimeofday(&tv, 0);
+- fd = open("/dev/urandom", O_RDONLY);
+- if (fd == -1)
+- fd = open("/dev/random", O_RDONLY | O_NONBLOCK);
+- srand((getpid() << 16) ^ getuid() ^ tv.tv_sec ^ tv.tv_usec);
+- }
+- /* Crank the random number generator a few times */
+- gettimeofday(&tv, 0);
+- for (i = (tv.tv_sec ^ tv.tv_usec) & 0x1F; i > 0; i--)
+- rand();
+-
+- return fd;
+-}
+-
+-
+-/*
+- * Generate a series of random bytes. Use /dev/urandom if possible,
+- * and if not, use srandom/random.
+- */
+-static void get_random_bytes(void *buf, int nbytes)
+-{
+- int i, n = nbytes, fd = get_random_fd();
+- int lose_counter = 0;
+- unsigned char *cp = (unsigned char *) buf;
+-
+- if (fd >= 0) {
+- while (n > 0) {
+- i = read(fd, cp, n);
+- if (i <= 0) {
+- if (lose_counter++ > 16)
+- break;
+- continue;
+- }
+- n -= i;
+- cp += i;
+- lose_counter = 0;
+- }
+- }
+-
+- /*
+- * We do this all the time, but this is the only source of
+- * randomness if /dev/random/urandom is out to lunch.
+- */
+- for (cp = buf, i = 0; i < nbytes; i++)
+- *cp++ ^= (rand() >> 7) & 0xFF;
+- return;
+-}
+-
+-/*
+- * Get the ethernet hardware address, if we can find it...
+- */
+-static int get_node_id(unsigned char *node_id)
+-{
+-#ifdef HAVE_NET_IF_H
+- int sd;
+- struct ifreq ifr, *ifrp;
+- struct ifconf ifc;
+- char buf[1024];
+- int n, i;
+- unsigned char *a;
+-
+-/*
+- * BSD 4.4 defines the size of an ifreq to be
+- * max(sizeof(ifreq), sizeof(ifreq.ifr_name)+ifreq.ifr_addr.sa_len
+- * However, under earlier systems, sa_len isn't present, so the size is
+- * just sizeof(struct ifreq)
+- */
+-#ifdef HAVE_SA_LEN
+-#ifndef max
+-#define max(a,b) ((a) > (b) ? (a) : (b))
+-#endif
+-#define ifreq_size(i) max(sizeof(struct ifreq),\
+- sizeof((i).ifr_name)+(i).ifr_addr.sa_len)
+-#else
+-#define ifreq_size(i) sizeof(struct ifreq)
+-#endif /* HAVE_SA_LEN*/
+-
+- sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
+- if (sd < 0) {
+- return -1;
+- }
+- memset(buf, 0, sizeof(buf));
+- ifc.ifc_len = sizeof(buf);
+- ifc.ifc_buf = buf;
+- if (ioctl (sd, SIOCGIFCONF, (char *)&ifc) < 0) {
+- close(sd);
+- return -1;
+- }
+- n = ifc.ifc_len;
+- for (i = 0; i < n; i+= ifreq_size(*ifr) ) {
+- ifrp = (struct ifreq *)((char *) ifc.ifc_buf+i);
+- strncpy(ifr.ifr_name, ifrp->ifr_name, IFNAMSIZ);
+-#ifdef SIOCGIFHWADDR
+- if (ioctl(sd, SIOCGIFHWADDR, &ifr) < 0)
+- continue;
+- a = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
+-#else
+-#ifdef SIOCGENADDR
+- if (ioctl(sd, SIOCGENADDR, &ifr) < 0)
+- continue;
+- a = (unsigned char *) ifr.ifr_enaddr;
+-#else
+- /*
+- * XXX we don't have a way of getting the hardware
+- * address
+- */
+- close(sd);
+- return 0;
+-#endif /* SIOCGENADDR */
+-#endif /* SIOCGIFHWADDR */
+- if (!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5])
+- continue;
+- if (node_id) {
+- memcpy(node_id, a, 6);
+- close(sd);
+- return 1;
+- }
+- }
+- close(sd);
+-#endif
+- return 0;
+-}
+-
+-/* Assume that the gettimeofday() has microsecond granularity */
+-#define MAX_ADJUSTMENT 10
+-
+-static int get_clock(__u32 *clock_high, __u32 *clock_low, __u16 *ret_clock_seq)
+-{
+- static int adjustment = 0;
+- static struct timeval last = {0, 0};
+- static __u16 clock_seq;
+- struct timeval tv;
+- unsigned long long clock_reg;
+-
+-try_again:
+- gettimeofday(&tv, 0);
+- if ((last.tv_sec == 0) && (last.tv_usec == 0)) {
+- get_random_bytes(&clock_seq, sizeof(clock_seq));
+- clock_seq &= 0x1FFF;
+- last = tv;
+- last.tv_sec--;
+- }
+- if ((tv.tv_sec < last.tv_sec) ||
+- ((tv.tv_sec == last.tv_sec) &&
+- (tv.tv_usec < last.tv_usec))) {
+- clock_seq = (clock_seq+1) & 0x1FFF;
+- adjustment = 0;
+- last = tv;
+- } else if ((tv.tv_sec == last.tv_sec) &&
+- (tv.tv_usec == last.tv_usec)) {
+- if (adjustment >= MAX_ADJUSTMENT)
+- goto try_again;
+- adjustment++;
+- } else {
+- adjustment = 0;
+- last = tv;
+- }
+-
+- clock_reg = tv.tv_usec*10 + adjustment;
+- clock_reg += ((unsigned long long) tv.tv_sec)*10000000;
+- clock_reg += (((unsigned long long) 0x01B21DD2) << 32) + 0x13814000;
+-
+- *clock_high = clock_reg >> 32;
+- *clock_low = clock_reg;
+- *ret_clock_seq = clock_seq;
+- return 0;
+-}
+-
+-void uuid_generate_time(uuid_t out)
+-{
+- static unsigned char node_id[6];
+- static int has_init = 0;
+- struct uuid uu;
+- __u32 clock_mid;
+-
+- if (!has_init) {
+- if (get_node_id(node_id) <= 0) {
+- get_random_bytes(node_id, 6);
+- /*
+- * Set multicast bit, to prevent conflicts
+- * with IEEE 802 addresses obtained from
+- * network cards
+- */
+- node_id[0] |= 0x80;
+- }
+- has_init = 1;
+- }
+- get_clock(&clock_mid, &uu.time_low, &uu.clock_seq);
+- uu.clock_seq |= 0x8000;
+- uu.time_mid = (__u16) clock_mid;
+- uu.time_hi_and_version = (clock_mid >> 16) | 0x1000;
+- memcpy(uu.node, node_id, 6);
+- uuid_pack(&uu, out);
+-}
+-
+-void uuid_generate_random(uuid_t out)
+-{
+- uuid_t buf;
+- struct uuid uu;
+-
+- get_random_bytes(buf, sizeof(buf));
+- uuid_unpack(buf, &uu);
+-
+- uu.clock_seq = (uu.clock_seq & 0x3FFF) | 0x8000;
+- uu.time_hi_and_version = (uu.time_hi_and_version & 0x0FFF) | 0x4000;
+- uuid_pack(&uu, out);
+-}
+-
+-/*
+- * This is the generic front-end to uuid_generate_random and
+- * uuid_generate_time. It uses uuid_generate_random only if
+- * /dev/urandom is available, since otherwise we won't have
+- * high-quality randomness.
+- */
+-void uuid_generate(uuid_t out)
+-{
+- if (get_random_fd() >= 0) {
+- uuid_generate_random(out);
+- }
+- else
+- uuid_generate_time(out);
+-}
+-
+-/*
+- * isnull.c --- Check whether or not the UUID is null
+- *
+- * Copyright (C) 1996, 1997 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-/* Returns 1 if the uuid is the NULL uuid */
+-int uuid_is_null(const uuid_t uu)
+-{
+- const unsigned char *cp;
+- int i;
+-
+- for (i=0, cp = uu; i < 16; i++)
+- if (*cp++)
+- return 0;
+- return 1;
+-}
+-
+-/*
+- * Internal routine for packing UUID's
+- *
+- * Copyright (C) 1996, 1997 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-void uuid_pack(const struct uuid *uu, uuid_t ptr)
+-{
+- __u32 tmp;
+- unsigned char *out = ptr;
+-
+- tmp = uu->time_low;
+- out[3] = (unsigned char) tmp;
+- tmp >>= 8;
+- out[2] = (unsigned char) tmp;
+- tmp >>= 8;
+- out[1] = (unsigned char) tmp;
+- tmp >>= 8;
+- out[0] = (unsigned char) tmp;
+-
+- tmp = uu->time_mid;
+- out[5] = (unsigned char) tmp;
+- tmp >>= 8;
+- out[4] = (unsigned char) tmp;
+-
+- tmp = uu->time_hi_and_version;
+- out[7] = (unsigned char) tmp;
+- tmp >>= 8;
+- out[6] = (unsigned char) tmp;
+-
+- tmp = uu->clock_seq;
+- out[9] = (unsigned char) tmp;
+- tmp >>= 8;
+- out[8] = (unsigned char) tmp;
+-
+- memcpy(out+10, uu->node, 6);
+-}
+-
+-/*
+- * parse.c --- UUID parsing
+- *
+- * Copyright (C) 1996, 1997 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-int uuid_parse(const char *in, uuid_t uu)
+-{
+- struct uuid uuid;
+- int i;
+- const char *cp;
+- char buf[3];
+-
+- if (strlen(in) != 36)
+- return -1;
+- for (i=0, cp = in; i <= 36; i++,cp++) {
+- if ((i == 8) || (i == 13) || (i == 18) ||
+- (i == 23)) {
+- if (*cp == '-')
+- continue;
+- else
+- return -1;
+- }
+- if (i== 36)
+- if (*cp == 0)
+- continue;
+- if (!isxdigit(*cp))
+- return -1;
+- }
+- uuid.time_low = strtoul(in, NULL, 16);
+- uuid.time_mid = strtoul(in+9, NULL, 16);
+- uuid.time_hi_and_version = strtoul(in+14, NULL, 16);
+- uuid.clock_seq = strtoul(in+19, NULL, 16);
+- cp = in+24;
+- buf[2] = 0;
+- for (i=0; i < 6; i++) {
+- buf[0] = *cp++;
+- buf[1] = *cp++;
+- uuid.node[i] = strtoul(buf, NULL, 16);
+- }
+-
+- uuid_pack(&uuid, uu);
+- return 0;
+-}
+-
+-
+-/*
+- * Internal routine for unpacking UUID
+- *
+- * Copyright (C) 1996, 1997 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-void uuid_unpack(const uuid_t in, struct uuid *uu)
+-{
+- const __u8 *ptr = in;
+- __u32 tmp;
+-
+- tmp = *ptr++;
+- tmp = (tmp << 8) | *ptr++;
+- tmp = (tmp << 8) | *ptr++;
+- tmp = (tmp << 8) | *ptr++;
+- uu->time_low = tmp;
+-
+- tmp = *ptr++;
+- tmp = (tmp << 8) | *ptr++;
+- uu->time_mid = tmp;
+-
+- tmp = *ptr++;
+- tmp = (tmp << 8) | *ptr++;
+- uu->time_hi_and_version = tmp;
+-
+- tmp = *ptr++;
+- tmp = (tmp << 8) | *ptr++;
+- uu->clock_seq = tmp;
+-
+- memcpy(uu->node, ptr, 6);
+-}
+-
+-/*
+- * unparse.c -- convert a UUID to string
+- *
+- * Copyright (C) 1996, 1997 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-void uuid_unparse(const uuid_t uu, char *out)
+-{
+- struct uuid uuid;
+-
+- uuid_unpack(uu, &uuid);
+- sprintf(out,
+- "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+- uuid.time_low, uuid.time_mid, uuid.time_hi_and_version,
+- uuid.clock_seq >> 8, uuid.clock_seq & 0xFF,
+- uuid.node[0], uuid.node[1], uuid.node[2],
+- uuid.node[3], uuid.node[4], uuid.node[5]);
+-}
+-
+-/*
+- * uuid_time.c --- Interpret the time field from a uuid. This program
+- * violates the UUID abstraction barrier by reaching into the guts
+- * of a UUID and interpreting it.
+- *
+- * Copyright (C) 1998, 1999 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-time_t uuid_time(const uuid_t uu, struct timeval *ret_tv)
+-{
+- struct uuid uuid;
+- __u32 high;
+- struct timeval tv;
+- unsigned long long clock_reg;
+-
+- uuid_unpack(uu, &uuid);
+-
+- high = uuid.time_mid | ((uuid.time_hi_and_version & 0xFFF) << 16);
+- clock_reg = uuid.time_low | ((unsigned long long) high << 32);
+-
+- clock_reg -= (((unsigned long long) 0x01B21DD2) << 32) + 0x13814000;
+- tv.tv_sec = clock_reg / 10000000;
+- tv.tv_usec = (clock_reg % 10000000) / 10;
+-
+- if (ret_tv)
+- *ret_tv = tv;
+-
+- return tv.tv_sec;
+-}
+-
+-int uuid_type(const uuid_t uu)
+-{
+- struct uuid uuid;
+-
+- uuid_unpack(uu, &uuid);
+- return ((uuid.time_hi_and_version >> 12) & 0xF);
+-}
+-
+-int uuid_variant(const uuid_t uu)
+-{
+- struct uuid uuid;
+- int var;
+-
+- uuid_unpack(uu, &uuid);
+- var = uuid.clock_seq;
+-
+- if ((var & 0x8000) == 0)
+- return UUID_VARIANT_NCS;
+- if ((var & 0x4000) == 0)
+- return UUID_VARIANT_DCE;
+- if ((var & 0x2000) == 0)
+- return UUID_VARIANT_MICROSOFT;
+- return UUID_VARIANT_OTHER;
+-}
+-
+diff -Nru gateway-1.4.3.orig/gwlib/gw_uuid.h gateway-1.4.3/gwlib/gw_uuid.h
+--- gateway-1.4.3.orig/gwlib/gw_uuid.h 2005-06-14 09:31:34.000000000 +0000
++++ gateway-1.4.3/gwlib/gw_uuid.h 1970-01-01 00:00:00.000000000 +0000
+@@ -1,84 +0,0 @@
+-/*
+- * Public include file for the UUID library
+- *
+- * Copyright (C) 1996, 1997, 1998 Theodore Ts'o.
+- *
+- * %Begin-Header%
+- * This file may be redistributed under the terms of the GNU
+- * Library General Public License.
+- * %End-Header%
+- */
+-
+-#ifndef _UUID_UUID_H
+-#define _UUID_UUID_H
+-
+-#include <sys/types.h>
+-#include <sys/time.h>
+-#include <time.h>
+-
+-#define UUID_STR_LEN 36
+-
+-#ifdef DARWIN
+-
+-#ifndef _POSIX_C_SOURCE
+-#ifndef _UUID_T
+-#define _UUID_T
+-typedef __darwin_uuid_t uuid_t;
+-#endif /* _UUID_T */
+-#endif /* _POSIX_C_SOURCE */
+-
+-#else
+-
+-typedef unsigned char uuid_t[16];
+-
+-#endif
+-
+-/* UUID Variant definitions */
+-#define UUID_VARIANT_NCS 0
+-#define UUID_VARIANT_DCE 1
+-#define UUID_VARIANT_MICROSOFT 2
+-#define UUID_VARIANT_OTHER 3
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-/* initialize uuid library */
+-void uuid_init(void);
+-
+-/* shutdown uuid library */
+-void uuid_shutdown(void);
+-
+-/* clear.c */
+-void uuid_clear(uuid_t uu);
+-
+-/* compare.c */
+-int uuid_compare(const uuid_t uu1, const uuid_t uu2);
+-
+-/* copy.c */
+-void uuid_copy(uuid_t dst, const uuid_t src);
+-
+-/* gen_uuid.c */
+-void uuid_generate(uuid_t out);
+-void uuid_generate_random(uuid_t out);
+-void uuid_generate_time(uuid_t out);
+-
+-/* isnull.c */
+-int uuid_is_null(const uuid_t uu);
+-
+-/* parse.c */
+-int uuid_parse(const char *in, uuid_t uu);
+-
+-/* unparse.c */
+-void uuid_unparse(const uuid_t uu, char *out);
+-
+-/* uuid_time.c */
+-time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);
+-int uuid_type(const uuid_t uu);
+-int uuid_variant(const uuid_t uu);
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#endif /* _UUID_UUID_H */
+diff -Nru gateway-1.4.3.orig/gwlib/gw_uuid_types.h.in gateway-1.4.3/gwlib/gw_uuid_types.h.in
+--- gateway-1.4.3.orig/gwlib/gw_uuid_types.h.in 2003-12-08 11:25:44.000000000 +0000
++++ gateway-1.4.3/gwlib/gw_uuid_types.h.in 1970-01-01 00:00:00.000000000 +0000
+@@ -1,51 +0,0 @@
+-/*
+- * If linux/types.h is already been included, assume it has defined
+- * everything we need. (cross fingers) Other header files may have
+- * also defined the types that we need.
+- */
+-#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \
+- !defined(_UUID_TYPES) && !defined(_EXT2_TYPES_H))
+-#define _UUID_TYPES_H
+-
+-typedef unsigned char __u8;
+-typedef signed char __s8;
+-
+-#if (@SIZEOF_INT@ == 8)
+-typedef int __s64;
+-typedef unsigned int __u64;
+-#elif (@SIZEOF_LONG@ == 8)
+-typedef long __s64;
+-typedef unsigned long __u64;
+-#elif (@SIZEOF_LONG_LONG@ == 8)
+-#if defined(__GNUC__)
+-typedef __signed__ long long __s64;
+-#else
+-typedef signed long long __s64;
+-#endif
+-typedef unsigned long long __u64;
+-#endif
+-
+-#if (@SIZEOF_INT@ == 2)
+-typedef int __s16;
+-typedef unsigned int __u16;
+-#elif (@SIZEOF_SHORT@ == 2)
+-typedef short __s16;
+-typedef unsigned short __u16;
+-#else
+- ?==error: undefined 16 bit type
+-#endif
+-
+-#if (@SIZEOF_INT@ == 4)
+-typedef int __s32;
+-typedef unsigned int __u32;
+-#elif (@SIZEOF_LONG@ == 4)
+-typedef long __s32;
+-typedef unsigned long __u32;
+-#elif (@SIZEOF_SHORT@ == 4)
+-typedef short __s32;
+-typedef unsigned short __u32;
+-#else
+- ?== error: undefined 32 bit type
+-#endif
+-
+-#endif /* _*_TYPES_H */
+diff -Nru gateway-1.4.3.orig/Makefile.in gateway-1.4.3/Makefile.in
+--- gateway-1.4.3.orig/Makefile.in 2009-03-01 14:42:03.000000000 +0000
++++ gateway-1.4.3/Makefile.in 2009-03-01 15:03:45.000000000 +0000
+@@ -322,7 +322,7 @@
+ rm -f $(benchoutputs)
+
+ distclean: clean
+- rm -f Makefile gw-config.h config.cache config.log config.status config.nice .depend gwlib/gw_uuid_types.h
++ rm -f Makefile gw-config.h config.cache config.log config.status config.nice .depend
+
+ nag:
+ utils/find-long-lines
diff --git a/app-mobilephone/kannel/files/kannel-1.5.0-custom-wap-ports.patch b/app-mobilephone/kannel/files/kannel-1.5.0-custom-wap-ports.patch
new file mode 100644
index 00000000000..63981f98598
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-1.5.0-custom-wap-ports.patch
@@ -0,0 +1,346 @@
+diff -Nru gateway-1.4.3.orig/gw/bb_udp.c gateway-1.4.3/gw/bb_udp.c
+--- gateway-1.4.3.orig/gw/bb_udp.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/bb_udp.c 2009-03-01 14:20:38.000000000 +0000
+@@ -78,7 +78,7 @@
+ #include "gwlib/gwlib.h"
+ #include "msg.h"
+ #include "bearerbox.h"
+-
++#include "custports.h"
+ /* passed from bearerbox core */
+
+ extern volatile sig_atomic_t bb_status;
+@@ -352,13 +352,13 @@
+ while (gwlist_len(ifs) > 0) {
+ iface = gwlist_extract_first(ifs);
+ info(0, "Adding interface %s", octstr_get_cstr(iface));
+- add_service(9200, octstr_get_cstr(iface)); /* wsp */
+- add_service(9201, octstr_get_cstr(iface)); /* wsp/wtp */
++ add_service(port_wsp, octstr_get_cstr(iface)); /* wsp */
++ add_service(port_wtp, octstr_get_cstr(iface)); /* wsp/wtp */
+
+ #ifdef HAVE_WTLS_OPENSSL
+ if (allow_wtls) {
+- add_service(9202, octstr_get_cstr(iface)); /* wsp/wtls */
+- add_service(9203, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
++ add_service(port_wsps, octstr_get_cstr(iface)); /* wsp/wtls */
++ add_service(port_wtps, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
+ }
+ #else
+ if (allow_wtls)
+diff -Nru gateway-1.4.3.orig/gw/bearerbox.c gateway-1.4.3/gw/bearerbox.c
+--- gateway-1.4.3.orig/gw/bearerbox.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/bearerbox.c 2009-03-01 14:23:05.000000000 +0000
+@@ -78,6 +78,7 @@
+ #include "shared.h"
+ #include "dlr.h"
+ #include "load.h"
++#include "custports.h"
+
+ /* global variables; included to other modules as needed */
+
+@@ -365,6 +366,7 @@
+ int ssl_enabled = 0;
+ #endif /* HAVE_LIBSSL */
+
++ ReadCustomPorts(cfg);
+ /* defaults: use localtime and markers for access-log */
+ lf = m = 1;
+
+diff -Nru gateway-1.4.3.orig/gw/custports.c gateway-1.4.3/gw/custports.c
+--- gateway-1.4.3.orig/gw/custports.c 1970-01-01 00:00:00.000000000 +0000
++++ gateway-1.4.3/gw/custports.c 2009-03-01 14:20:38.000000000 +0000
+@@ -0,0 +1,88 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.c
++ *
++ * Implementation of reading custom UDP ports used by wapbox
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#include <custports.h>
++
++long port_wsp = 9200; // connectionless default
++long port_wtp = 9201; // connection-oriented default
++long port_wsps = 9202; // connectionless secure default
++long port_wtps = 9203; // connection-oriented secure
++
++
++void ReadCustomPorts(Cfg *config)
++{
++ CfgGroup *grp;
++ grp = cfg_get_single_group(config, octstr_imm("wapbox"));
++ if(grp == NULL)
++ return;
++
++ if(cfg_get_integer(&port_wsp, grp, octstr_imm("wsp-port")) != -1)
++ info(0, "Using custom WSP port %ld", port_wsp);
++ if(cfg_get_integer(&port_wtp, grp, octstr_imm("wtp-port")) != -1)
++ info(0, "Using custom WSP/WTP port %ld", port_wtp);
++ if(cfg_get_integer(&port_wsps, grp, octstr_imm("wsps-port")) != -1)
++ info(0, "Using custom WSP/WTLS port %ld", port_wsps);
++ if(cfg_get_integer(&port_wtps, grp, octstr_imm("wtps-port")) != -1)
++ info(0, "Using custom WSP/WTP/WTLS port %ld", port_wtps);
++}
+diff -Nru gateway-1.4.3.orig/gw/custports.h gateway-1.4.3/gw/custports.h
+--- gateway-1.4.3.orig/gw/custports.h 1970-01-01 00:00:00.000000000 +0000
++++ gateway-1.4.3/gw/custports.h 2009-03-01 14:20:38.000000000 +0000
+@@ -0,0 +1,77 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.h
++ *
++ * Implementation of wapbox custom UDP ports)
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#ifndef CUSTPORTS_H
++#define CUSTPORTS_H
++
++#include "gwlib/gwlib.h"
++
++extern long port_wsp; // connectionless
++extern long port_wtp; // connection-oriented
++extern long port_wsps; // connectionless secure
++extern long port_wtps; // connection-oriented secure
++
++void ReadCustomPorts(Cfg *config);
++#endif /* CUSTPORTS_H */
++
+diff -Nru gateway-1.4.3.orig/gw/wapbox.c gateway-1.4.3/gw/wapbox.c
+--- gateway-1.4.3.orig/gw/wapbox.c 2009-01-12 16:46:57.000000000 +0000
++++ gateway-1.4.3/gw/wapbox.c 2009-03-01 14:20:38.000000000 +0000
+@@ -84,17 +84,11 @@
+ #include "gwlib/pki.h"
+ #endif
+ #include "radius/radius_acct.h"
++#include "custports.h"
+
+ static void config_reload(int reload);
+ static long logfilelevel=-1;
+
+-enum {
+- CONNECTIONLESS_PORT = 9200,
+- CONNECTION_ORIENTED_PORT = 9201,
+- WTLS_CONNECTIONLESS_PORT = 9202,
+- WTLS_CONNECTION_ORIENTED_PORT = 9203
+-};
+-
+ enum { DEFAULT_TIMER_FREQ = 1};
+
+ static Octstr *bearerbox_host;
+@@ -131,6 +125,8 @@
+
+ cfg_dump(cfg);
+
++ ReadCustomPorts(cfg);
++
+ /*
+ * Extract info from the core group.
+ */
+@@ -776,9 +772,9 @@
+ * XXXX here should be suspend/resume, add RSN
+ */
+ } else if (msg_type(msg) == wdp_datagram) {
+- switch (msg->wdp_datagram.destination_port) {
+- case CONNECTIONLESS_PORT:
+- case CONNECTION_ORIENTED_PORT:
++ if(msg->wdp_datagram.destination_port == port_wsp
++ || msg->wdp_datagram.destination_port == port_wtp)
++ {
+ dgram = wap_event_create(T_DUnitdata_Ind);
+ dgram->u.T_DUnitdata_Ind.addr_tuple = wap_addr_tuple_create(
+ msg->wdp_datagram.source_address,
+@@ -789,19 +785,22 @@
+ msg->wdp_datagram.user_data = NULL;
+
+ wap_dispatch_datagram(dgram);
+- break;
+- case WTLS_CONNECTIONLESS_PORT:
+- case WTLS_CONNECTION_ORIENTED_PORT:
++ }
++ else
++ if(msg->wdp_datagram.destination_port == port_wsps
++ || msg->wdp_datagram.destination_port == port_wtps)
++ {
+ #if (HAVE_WTLS_OPENSSL)
+ dgram = wtls_unpack_wdp_datagram(msg);
+ if (dgram != NULL)
+ wtls_dispatch_event(dgram);
+ #endif
+- break;
+- default:
++ }
++ else
++ {
+ panic(0,"Bad packet received! This shouldn't happen!");
+ break;
+- }
++ }
+ } else {
+ warning(0, "Received other message than wdp/admin, ignoring!");
+ }
+diff -Nru gateway-1.4.3.orig/gw/wap_push_ppg.c gateway-1.4.3/gw/wap_push_ppg.c
+--- gateway-1.4.3.orig/gw/wap_push_ppg.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/wap_push_ppg.c 2009-03-01 14:20:38.000000000 +0000
+@@ -88,6 +88,7 @@
+ #include "wap_push_pap_compiler.h"
+ #include "wap_push_pap_mime.h"
+ #include "wap_push_ppg_pushuser.h"
++#include "custports.h"
+
+ enum {
+ TIME_EXPIRED = 0,
+@@ -1779,10 +1780,10 @@
+
+ if (!cless_accepted) {
+ cliport = CONNECTED_CLIPORT;
+- servport = CONNECTED_SERVPORT;
++ servport = port_wtp;
+ } else {
+ cliport = CONNECTIONLESS_PUSH_CLIPORT;
+- servport = CONNECTIONLESS_SERVPORT;
++ servport = port_wsp;
+ }
+
+ address_type = (**e).u.Push_Message.address_type;
+diff -Nru gateway-1.4.3.orig/gw/wap_push_ppg.h gateway-1.4.3/gw/wap_push_ppg.h
+--- gateway-1.4.3.orig/gw/wap_push_ppg.h 2009-01-12 16:46:57.000000000 +0000
++++ gateway-1.4.3/gw/wap_push_ppg.h 2009-03-01 14:20:38.000000000 +0000
+@@ -167,9 +167,7 @@
+ */
+ enum {
+ CONNECTIONLESS_PUSH_CLIPORT = 2948,
+- CONNECTIONLESS_SERVPORT = 9200,
+ CONNECTED_CLIPORT = 9209,
+- CONNECTED_SERVPORT = 9201
+ };
+
+ struct PPGSessionMachine {
+diff -ruN gateway-1.5.0/gwlib/cfg.def gateway-1.5.0-patched/gwlib/cfg.def
+--- gateway-1.5.0.orig/gwlib/cfg.def 2010-10-07 10:03:35.000000000 -0400
++++ gateway-1.5.0/gwlib/cfg.def 2013-08-25 15:07:47.544662379 -0400
+@@ -160,6 +160,10 @@
+ OCTSTR(concatenation)
+ OCTSTR(max-messages)
+ OCTSTR(wml-strict)
++ OCTSTR(wsp-port)
++ OCTSTR(wtp-port)
++ OCTSTR(wsps-port)
++ OCTSTR(wtps-port)
+ OCTSTR(http-timeout)
+ )
+
diff --git a/app-mobilephone/kannel/files/kannel-bearerbox.initd b/app-mobilephone/kannel/files/kannel-bearerbox.initd
new file mode 100644
index 00000000000..7034cb67bc5
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-bearerbox.initd
@@ -0,0 +1,34 @@
+#!/sbin/runscript
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+KANNEL_SERVICE=${SVCNAME#*-}
+
+depend() {
+ need net
+ after dns mysql postgresql
+}
+
+checkconfig() {
+ if [ ! -f /etc/kannel/kannel.conf ] ; then
+ eerror "/etc/kannel/kannel.conf file doesn't exists!"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting kannel ${KANNEL_SERVICE}"
+ start-stop-daemon --start --quiet --exec /usr/sbin/${KANNEL_SERVICE} -- \
+ --daemonize --user kannel --logfile /var/log/kannel/${KANNEL_SERVICE}.log \
+ --pid-file /var/run/kannel/${KANNEL_SERVICE}.pid /etc/kannel/kannel.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping kannel ${KANNEL_SERVICE}"
+ start-stop-daemon --stop --verbose --pidfile /var/run/kannel/${KANNEL_SERVICE}.pid
+ eend $?
+}
diff --git a/app-mobilephone/kannel/files/kannel-confd b/app-mobilephone/kannel/files/kannel-confd
new file mode 100644
index 00000000000..686be7ebc73
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-confd
@@ -0,0 +1,10 @@
+START_SMSBOX=yes
+START_WAPBOX=yes
+
+#See the documentation for setting proper options
+#Note: verbosity codes are strange!
+# Default is 0, which means 'debug'. 1 is 'info, 2 'warning', 3 'error' and 4 'panic'
+
+BEARERBOX_OPTS="--verbosity 1 --logfile bearerbox.log"
+SMSBOX_OPTS="--verbosity 1 --logfile smsbox.log"
+WAPBOX_OPTS="--verbosity 1 --logfile wapbox.log"
diff --git a/app-mobilephone/kannel/files/kannel-initd b/app-mobilephone/kannel/files/kannel-initd
new file mode 100644
index 00000000000..25003fdd1c9
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-initd
@@ -0,0 +1,68 @@
+#!/sbin/runscript
+
+depend() {
+ need net
+ after mysql postgresql sshd
+}
+
+checkconfig() {
+ if [ ! -f /etc/kannel/kannel.conf ] ; then
+ eerror "/etc/kannel/kannel.conf file doesn't exists!"
+ return 1
+ fi
+ #set the location of logs
+ if ! cd /var/log/kannel ; then
+ eerror "/var/log/kannel directory doesn't exists!"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ einfo "Starting Kannel"
+ ebegin " - Bearer Box"
+ start-stop-daemon --start --quiet --chuid kannel --exec /usr/sbin/bearerbox \
+ --background -- $BEARERBOX_OPTS /etc/kannel/kannel.conf
+ eend $? || return 1
+
+ if [ "$START_SMSBOX" = "yes" ] ; then
+ ebegin " - SMS Box"
+ start-stop-daemon --start --quiet --chuid kannel --exec /usr/sbin/smsbox \
+ --background -- $SMSBOX_OPTS /etc/kannel/kannel.conf
+ eend $?
+ fi
+
+ if [ "$START_WAPBOX" = "yes" ] ; then
+ ebegin " - WAP Box"
+ start-stop-daemon --start --quiet --chuid kannel --exec /usr/sbin/wapbox \
+ --background -- $WAPBOX_OPTS /etc/kannel/kannel.conf
+ eend $?
+ fi
+
+ return 0
+}
+
+stop() {
+ if [ "$START_WAPBOX" = "yes" ] ; then
+ einfo "Stopping Kannel"
+ ebegin " - WAP Box"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/wapbox
+ eend $?
+ fi
+
+ if [ "$START_SMSBOX" = "yes" ] ; then
+ ebegin " - SMS Box"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/smsbox
+ eend $?
+ fi
+
+ ebegin " - Bearer Box"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/bearerbox
+ eend $?
+
+ #stopping any other processes owned by kannel user
+ start-stop-daemon --stop --quiet --user kannel
+
+ return 0
+}
diff --git a/app-mobilephone/kannel/files/kannel-smsbox.initd b/app-mobilephone/kannel/files/kannel-smsbox.initd
new file mode 100644
index 00000000000..5baf1829806
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-smsbox.initd
@@ -0,0 +1,33 @@
+#!/sbin/runscript
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+KANNEL_SERVICE=${SVCNAME#*-}
+
+depend() {
+ need kannel-bearerbox
+}
+
+checkconfig() {
+ if [ ! -f /etc/kannel/kannel.conf ] ; then
+ eerror "/etc/kannel/kannel.conf file doesn't exists!"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting kannel ${KANNEL_SERVICE}"
+ start-stop-daemon --start --quiet --exec /usr/sbin/${KANNEL_SERVICE} -- \
+ --daemonize --user kannel --logfile /var/log/kannel/${KANNEL_SERVICE}.log \
+ --pid-file /var/run/kannel/${KANNEL_SERVICE}.pid /etc/kannel/kannel.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping kannel ${KANNEL_SERVICE}"
+ start-stop-daemon --stop --verbose --pidfile /var/run/kannel/${KANNEL_SERVICE}.pid
+ eend $?
+}
diff --git a/app-mobilephone/kannel/files/kannel-wapbox.initd b/app-mobilephone/kannel/files/kannel-wapbox.initd
new file mode 100644
index 00000000000..5baf1829806
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-wapbox.initd
@@ -0,0 +1,33 @@
+#!/sbin/runscript
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+KANNEL_SERVICE=${SVCNAME#*-}
+
+depend() {
+ need kannel-bearerbox
+}
+
+checkconfig() {
+ if [ ! -f /etc/kannel/kannel.conf ] ; then
+ eerror "/etc/kannel/kannel.conf file doesn't exists!"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting kannel ${KANNEL_SERVICE}"
+ start-stop-daemon --start --quiet --exec /usr/sbin/${KANNEL_SERVICE} -- \
+ --daemonize --user kannel --logfile /var/log/kannel/${KANNEL_SERVICE}.log \
+ --pid-file /var/run/kannel/${KANNEL_SERVICE}.pid /etc/kannel/kannel.conf
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping kannel ${KANNEL_SERVICE}"
+ start-stop-daemon --stop --verbose --pidfile /var/run/kannel/${KANNEL_SERVICE}.pid
+ eend $?
+}
diff --git a/app-mobilephone/kannel/kannel-1.4.3-r1.ebuild b/app-mobilephone/kannel/kannel-1.4.3-r1.ebuild
new file mode 100644
index 00000000000..f833802502b
--- /dev/null
+++ b/app-mobilephone/kannel/kannel-1.4.3-r1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+WANT_AUTOMAKE=none
+
+inherit eutils autotools flag-o-matic ssl-cert user
+
+DESCRIPTION="Powerful SMS and WAP gateway"
+HOMEPAGE="http://www.kannel.org/"
+SRC_URI="http://www.kannel.org/download/${PV}/gateway-${PV}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE="ssl mysql sqlite postgres pcre doc debug pam"
+
+RESTRICT="test" # some tests fail with "address already in use"
+
+RDEPEND="sys-libs/e2fsprogs-libs
+ dev-libs/libxml2
+ dev-lang/perl
+ sys-libs/zlib
+ ssl? ( dev-libs/openssl )
+ mysql? ( virtual/mysql )
+ sqlite? ( dev-db/sqlite:3 )
+ postgres? ( dev-db/postgresql[server] )
+ pcre? ( dev-libs/libpcre )
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+ >=sys-devel/bison-2.2
+ doc? ( media-gfx/transfig
+ app-text/jadetex
+ app-text/docbook-dsssl-stylesheets
+ app-text/docbook-sgml-dtd:3.1 )"
+
+S="${WORKDIR}/gateway-${PV}"
+
+pkg_setup() {
+ enewgroup kannel
+ enewuser kannel -1 -1 /var/log/kannel kannel
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-custom-wap-ports.patch"
+ epatch "${FILESDIR}/${P}-autotools.patch"
+ epatch "${FILESDIR}/${P}-external-libuuid.patch"
+
+ #by default, use current directory for logging
+ sed -i -e 's:/tmp/::' doc/examples/kannel.conf
+
+ eautoconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing # some code breaks strict aliasing
+ econf --docdir=/usr/share/doc/${PF} \
+ --enable-localtime \
+ --disable-start-stop-daemon \
+ --without-sqlite2 \
+ $(use_enable pam) \
+ $(use_enable debug debug) \
+ $(use_enable pcre) \
+ $(use_enable doc docs) \
+ $(use_enable ssl) \
+ $(use_with mysql) \
+ $(use_with sqlite sqlite3) \
+ $(use_with postgres pgsql) \
+ || die "econf failed"
+}
+
+# phase disabled by RESTRICT
+# src_test() {
+# emake check || die "emake check failed"
+# }
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ if use doc; then
+ emake DESTDIR="${D}" install-docs || die "emake install-docs failed"
+ fi
+ dodoc README
+
+ diropts -g kannel -m0750
+ dodir /etc/kannel
+ insinto /etc/kannel
+ newins doc/examples/kannel.conf kannel.conf.sample
+
+ local f
+ for f in bearerbox smsbox wapbox; do
+ newinitd "${FILESDIR}/kannel-$f.initd" kannel-$f
+ done
+
+ diropts -g kannel -m0770
+ keepdir /var/log/kannel /var/run/kannel
+}
+
+pkg_postinst() {
+ if use ssl; then
+ elog "SSL certificate can be created by running"
+ elog " emerge --config =${CATEGORY}/${PF}"
+ fi
+}
+
+pkg_config() {
+ if use ssl; then
+ if install_cert /etc/ssl/kannel; then
+ chown kannel "${ROOT}"etc/ssl/kannel.{pem,key}
+ einfo "For using this certificate, you have to add following line to your kannel.conf:"
+ einfo ' ssl-client-certkey-file = "/etc/ssl/kannel.pem"'
+ einfo ' ssl-server-cert-file = "/etc/ssl/kannel.crt"'
+ einfo ' ssl-server-key-file = "/etc/ssl/kannel.key"'
+ fi
+ else
+ eerror "This phase exists only for creating kannel SSL certificate"
+ eerror "and ssl USE flag is disabled for this package!"
+ fi
+}
diff --git a/app-mobilephone/kannel/kannel-1.5.0.ebuild b/app-mobilephone/kannel/kannel-1.5.0.ebuild
new file mode 100644
index 00000000000..5a4647ad459
--- /dev/null
+++ b/app-mobilephone/kannel/kannel-1.5.0.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WANT_AUTOMAKE=none
+
+inherit eutils autotools flag-o-matic ssl-cert user
+
+DESCRIPTION="Powerful SMS and WAP gateway"
+HOMEPAGE="http://www.kannel.org/"
+SRC_URI="http://www.kannel.org/download/${PV}/gateway-${PV}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc mysql pam pcre postgres sqlite ssl"
+
+RESTRICT="test" # some tests fail with "address already in use"
+
+RDEPEND="sys-libs/e2fsprogs-libs
+ dev-libs/libxml2
+ dev-lang/perl
+ sys-libs/zlib
+ ssl? ( dev-libs/openssl )
+ mysql? ( virtual/mysql )
+ sqlite? ( dev-db/sqlite:3 )
+ postgres? ( dev-db/postgresql[server] )
+ pcre? ( dev-libs/libpcre )
+ pam? ( virtual/pam )
+"
+DEPEND="${RDEPEND}
+ >=sys-devel/bison-2.2
+ doc? ( media-gfx/transfig
+ app-text/jadetex
+ app-text/docbook-dsssl-stylesheets
+ app-text/docbook-sgml-dtd:3.1 )
+"
+
+S="${WORKDIR}/gateway-${PV}"
+
+pkg_setup() {
+ enewgroup kannel
+ enewuser kannel -1 -1 /var/log/kannel kannel
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.5.0-custom-wap-ports.patch"
+ epatch "${FILESDIR}/${PN}-1.4.3-autotools.patch"
+ epatch "${FILESDIR}/${PN}-1.4.3-external-libuuid.patch"
+
+ #by default, use current directory for logging
+ sed -i -e 's:/tmp/::' doc/examples/kannel.conf
+
+ eautoconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing # some code breaks strict aliasing
+ econf --docdir=/usr/share/doc/${PF} \
+ --enable-localtime \
+ --disable-start-stop-daemon \
+ --without-sqlite2 \
+ $(use_enable pam) \
+ $(use_enable debug debug) \
+ $(use_enable pcre) \
+ $(use_enable doc docs) \
+ $(use_enable ssl) \
+ $(use_with mysql) \
+ $(use_with sqlite sqlite3) \
+ $(use_with postgres pgsql) \
+ || die "econf failed"
+}
+
+# phase disabled by RESTRICT
+# src_test() {
+# emake check || die "emake check failed"
+# }
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ if use doc; then
+ emake -j1 DESTDIR="${D}" install-docs || die "emake install-docs failed"
+ fi
+ dodoc README
+
+ diropts -g kannel -m0750
+ dodir /etc/kannel
+ insinto /etc/kannel
+ newins doc/examples/kannel.conf kannel.conf.sample
+
+ local f
+ for f in bearerbox smsbox wapbox; do
+ newinitd "${FILESDIR}/kannel-$f.initd" kannel-$f
+ done
+
+ diropts -g kannel -m0770
+ keepdir /var/log/kannel /var/run/kannel
+}
+
+pkg_postinst() {
+ if use ssl; then
+ elog "SSL certificate can be created by running"
+ elog " emerge --config =${CATEGORY}/${PF}"
+ fi
+}
+
+pkg_config() {
+ if use ssl; then
+ if install_cert /etc/ssl/kannel; then
+ chown kannel "${ROOT}"etc/ssl/kannel.{pem,key}
+ einfo "For using this certificate, you have to add following line to your kannel.conf:"
+ einfo ' ssl-client-certkey-file = "/etc/ssl/kannel.pem"'
+ einfo ' ssl-server-cert-file = "/etc/ssl/kannel.crt"'
+ einfo ' ssl-server-key-file = "/etc/ssl/kannel.key"'
+ fi
+ else
+ eerror "This phase exists only for creating kannel SSL certificate"
+ eerror "and ssl USE flag is disabled for this package!"
+ fi
+}
diff --git a/app-mobilephone/kannel/metadata.xml b/app-mobilephone/kannel/metadata.xml
new file mode 100644
index 00000000000..be92667a79d
--- /dev/null
+++ b/app-mobilephone/kannel/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+<longdescription>Kannel is a compact and very powerful open source WAP and SMS gateway,
+used widely across the globe both for serving millions of short messages (SMS)
+and pushing WAP service indications.</longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/lightblue/Manifest b/app-mobilephone/lightblue/Manifest
new file mode 100644
index 00000000000..61d52b46102
--- /dev/null
+++ b/app-mobilephone/lightblue/Manifest
@@ -0,0 +1 @@
+DIST lightblue-0.4.tar.gz 204072 SHA256 8d84586e66ce3b1132ccc735b3757511cd141876846e468b90b2e30b690dd004 SHA512 aa1446bacc1a75492e9bd604a41f89b72144642e029066f1d5ab85410f701a3c7e45bad9f4a33be1b3c65ac5525e0c9ab0f0fcaa0481795bc412d9e8bd97dac0 WHIRLPOOL ce359d0090dd25f96b256c2b4fcb3dbc76c3663ade8c98594bb4a43b3c6b0b57d8f543e9cc137310dc890e1336f8841f88c95adc5fb5ca20fe76da691aa67a4c
diff --git a/app-mobilephone/lightblue/lightblue-0.4-r1.ebuild b/app-mobilephone/lightblue/lightblue-0.4-r1.ebuild
new file mode 100644
index 00000000000..09bcb23b8a3
--- /dev/null
+++ b/app-mobilephone/lightblue/lightblue-0.4-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit distutils-r1
+
+DESCRIPTION="Cross-platform Bluetooth API for Python which provides simple access to Bluetooth operations"
+HOMEPAGE="http://lightblue.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples"
+
+DEPEND="
+ >=dev-libs/openobex-1.3
+ >=dev-python/pybluez-0.9[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/app-mobilephone/lightblue/metadata.xml b/app-mobilephone/lightblue/metadata.xml
new file mode 100644
index 00000000000..5660d9af532
--- /dev/null
+++ b/app-mobilephone/lightblue/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">lightblue</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/linuxsms/Manifest b/app-mobilephone/linuxsms/Manifest
new file mode 100644
index 00000000000..a4cbfc23be4
--- /dev/null
+++ b/app-mobilephone/linuxsms/Manifest
@@ -0,0 +1 @@
+DIST linuxsms-0.77.tar.gz 38708 SHA256 130e9a95adce842016d5279885ddafdc384a7bd5aa4fd7590ca43b68a9d58cd8 SHA512 58b4571acd84dd7e86266a779008164e46cb12c10c780a17c656c168bac2f483c5fa53ade7ef7648acc18e26a4685527e710ca518beedbbd4a16f91322be220c WHIRLPOOL 3e2f8dab7aacf01613ea1dfaaf7bdd823a5413eaedfa0309066812bcea54de60f861cf3a8fa12b43cfb23f6e2c215fe76e5bcdcce131104d3ed78942c6fa8f73
diff --git a/app-mobilephone/linuxsms/linuxsms-0.77.ebuild b/app-mobilephone/linuxsms/linuxsms-0.77.ebuild
new file mode 100644
index 00000000000..8a33f3ad17b
--- /dev/null
+++ b/app-mobilephone/linuxsms/linuxsms-0.77.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="A console perl script for sending SMS to cell phones"
+HOMEPAGE="http://linuxsms.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 arm ppc s390 sparc x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/perl-5.6.1"
+DEPEND=""
+
+src_compile() { :; }
+
+src_install() {
+ dobin ${PN}
+ doman ${PN}.1
+ dodoc BUGS CHANGES README README.ES TODO
+}
diff --git a/app-mobilephone/linuxsms/metadata.xml b/app-mobilephone/linuxsms/metadata.xml
new file mode 100644
index 00000000000..86231b12b8d
--- /dev/null
+++ b/app-mobilephone/linuxsms/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>Linuxsms is a cool script in Perl for send SMS messages to mobile phones through a SMS gateway.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">linuxsms</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/metadata.xml b/app-mobilephone/metadata.xml
new file mode 100644
index 00000000000..f1c904e355a
--- /dev/null
+++ b/app-mobilephone/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The app-mobilephone category contains software for working with mobile phones.
+ </longdescription>
+ <longdescription lang="ja">
+ app-mobilephoneカテゴリにはケタイと使うソフトウェアが含まれます。
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm app-mobilephone chứa các phần mềm hoạt động với
+ điện thoại di động.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie app-mobilephone enthält Software für das Arbeiten mit Mobiltelefonen.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria app-mobilephone contiene software per la telefonia mobile.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria app-mobilephone contém programas para trabalhar com
+ telefones celulares.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria app-mobilephone zawiera oprogramowanie do współpracy z
+ telefonami komórkowymi.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría app-mobilephone contiene software para trabajar con
+ teléfonos móviles.
+ </longdescription>
+</catmetadata>
+
diff --git a/app-mobilephone/obex-data-server/Manifest b/app-mobilephone/obex-data-server/Manifest
new file mode 100644
index 00000000000..c3a2b5d2332
--- /dev/null
+++ b/app-mobilephone/obex-data-server/Manifest
@@ -0,0 +1 @@
+DIST obex-data-server-0.4.6.tar.gz 199188 SHA256 b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f SHA512 5f924377fa45fec22a15d74fa45bf6ae98f56a9f8c98142cce6123e4ca6dcca042a636469b491f4103e230e270ad1af18dc38274b661795cac4beb4f7b798d5b WHIRLPOOL 85ef3de72124c25b5b486e2fefdf453ddc318e5f8520ada7c772d7e7a6939b954a6a66cf962ed3aa257d5212ab047f556aced5cbfa94a1a360e897a6da6fa90a
diff --git a/app-mobilephone/obex-data-server/metadata.xml b/app-mobilephone/obex-data-server/metadata.xml
new file mode 100644
index 00000000000..0bb29177488
--- /dev/null
+++ b/app-mobilephone/obex-data-server/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+ <longdescription>
+ A DBus service providing easy to use API for using OBEX protocol
+ (both client and server wise). Current implementation supports OPP
+ (Object Push Profile) and FTP (File Transfer Profile). This means
+ that you can have FTP server running on your Bluetooth adapter with
+ several lines of python, you can also do all client operations without
+ having to use openobex directly or knowing any of low-level OBEX stuff.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/obex-data-server/obex-data-server-0.4.6.ebuild b/app-mobilephone/obex-data-server/obex-data-server-0.4.6.ebuild
new file mode 100644
index 00000000000..642dc5aee6b
--- /dev/null
+++ b/app-mobilephone/obex-data-server/obex-data-server-0.4.6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="A DBus service providing easy to use API for using OBEX"
+HOMEPAGE="http://tadas.dailyda.com/blog/category/obex-data-server/"
+SRC_URI="http://tadas.dailyda.com/software/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ppc ppc64 x86"
+
+IUSE="debug gtk imagemagick usb"
+
+RDEPEND="dev-libs/glib:2
+ >=dev-libs/dbus-glib-0.7
+ sys-apps/dbus
+ >=net-wireless/bluez-4.31
+ <dev-libs/openobex-1.7.1
+ imagemagick? ( !gtk? ( || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) ) )
+ gtk? ( x11-libs/gtk+:2 )
+ usb? ( virtual/libusb:0 )
+ !app-mobilephone/obexd[server]"
+
+DEPEND="virtual/pkgconfig
+ ${RDEPEND}"
+
+src_configure() {
+ local bip="no"
+ use imagemagick && bip="magick"
+ use gtk && bip="gdk-pixbuf"
+ econf \
+ --enable-bip=${bip} \
+ $(use_enable usb) \
+ --disable-system-config \
+ $(use_enable debug) \
+ --disable-silent-rules
+}
diff --git a/app-mobilephone/obexd/Manifest b/app-mobilephone/obexd/Manifest
new file mode 100644
index 00000000000..4c762263a7d
--- /dev/null
+++ b/app-mobilephone/obexd/Manifest
@@ -0,0 +1,2 @@
+DIST obexd-0.46.tar.xz 343372 SHA256 f245374813a1f4da39a1f24ae2458a1c886bd0f56a39920e176199898355e943 SHA512 a49d7f1c92e66528f47c03df12548b460fb8cf76dea71b7c5bede349e2eeb215071aef7a4f0dc45ba81af933c8ff5cda2a45c3b9b7edb49e4567011688ca77cf WHIRLPOOL ecca111740102dd3daaefcbbf540d4c3b87381951d9c3e2501d8f1435b26af4bc70883f8ab19b58e96e21a673abeb998d3bfa42bd4952692754e072a0a03d90a
+DIST obexd-0.48.tar.xz 350548 SHA256 6dfd10e1444b0d8a66f2d745d70336cd28e533e893a48f69879c4bb6d079edfb SHA512 5f349805d74e070d170fc715ab0ae8e4524fc62016352911cda999fa6e3da0f60e5be763e84ac303cd624cc51c89a47c2062e22b47ae7b56f90d017ff99cff5d WHIRLPOOL 0a5f3db03d8192561a4ce354a839500d7bb590f41d4c109c064da33dc040c5c72af357ab4d37f24771b0d4d9add981f42473e82c9c8532e894f588fec354aaca
diff --git a/app-mobilephone/obexd/metadata.xml b/app-mobilephone/obexd/metadata.xml
new file mode 100644
index 00000000000..476857a668a
--- /dev/null
+++ b/app-mobilephone/obexd/metadata.xml
@@ -0,0 +1,22 @@
+<?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>
+ <name>Tiziano Müller</name>
+ </maintainer>
+ <maintainer>
+ <email>pacho@gentoo.org</email>
+ <description>
+ Taking care of this until Tiziano has enough time
+ for maintaing this.
+ </description>
+ </maintainer>
+ <use>
+ <flag name='nokia'>Add support for Nokia backup
+ plugin</flag>
+ <flag name='server'>Enables server installation, it's
+ incompatible with obex-data-server provided one</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/app-mobilephone/obexd/obexd-0.46.ebuild b/app-mobilephone/obexd/obexd-0.46.ebuild
new file mode 100644
index 00000000000..f0749ef75dd
--- /dev/null
+++ b/app-mobilephone/obexd/obexd-0.46.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+DESCRIPTION="OBEX Server and Client"
+HOMEPAGE="http://www.bluez.org/"
+SRC_URI="mirror://kernel/linux/bluetooth/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="-eds nokia -server usb"
+
+DOCS="AUTHORS ChangeLog README doc/*.txt"
+
+RDEPEND="eds? ( gnome-extra/evolution-data-server )
+ !eds? ( dev-libs/libical )
+ >=net-wireless/bluez-4.99
+ >=dev-libs/openobex-1.4
+ >=dev-libs/glib-2.28:2
+ >=sys-apps/dbus-1.4
+ server? ( !app-mobilephone/obex-data-server )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-arch/xz-utils"
+
+src_configure() {
+ econf \
+ --disable-debug \
+ $(use_with eds phonebook ebook) \
+ $(use_enable nokia pcsuite) \
+ $(use_enable server) \
+ $(use_enable usb)
+}
diff --git a/app-mobilephone/obexd/obexd-0.48.ebuild b/app-mobilephone/obexd/obexd-0.48.ebuild
new file mode 100644
index 00000000000..3d88dbb92c5
--- /dev/null
+++ b/app-mobilephone/obexd/obexd-0.48.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="OBEX Server and Client"
+HOMEPAGE="http://www.bluez.org/"
+SRC_URI="mirror://kernel/linux/bluetooth/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="-eds nokia -server usb"
+
+DOCS="AUTHORS ChangeLog README doc/*.txt"
+
+RDEPEND="eds? ( gnome-extra/evolution-data-server )
+ !eds? ( dev-libs/libical )
+ >=net-wireless/bluez-4.100
+ >=dev-libs/openobex-1.4
+ >=dev-libs/glib-2.28:2
+ >=sys-apps/dbus-1.4
+ server? ( !app-mobilephone/obex-data-server )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-arch/xz-utils"
+
+src_configure() {
+ econf \
+ --disable-debug \
+ $(use_with eds phonebook ebook) \
+ $(use_enable nokia pcsuite) \
+ $(use_enable server) \
+ $(use_enable usb)
+}
diff --git a/app-mobilephone/obexftp/Manifest b/app-mobilephone/obexftp/Manifest
new file mode 100644
index 00000000000..2ad0cc4b3d9
--- /dev/null
+++ b/app-mobilephone/obexftp/Manifest
@@ -0,0 +1,2 @@
+DIST obexftp-0.23.tar.bz2 402552 SHA256 44a74ff288d38c0f75354d6bc2efe7d6dec10112eaff2e7b10e292b0d2105b36 SHA512 026a2a641fa46dc41ff131b78e87c2aa5fce126d36aa2d8b1783c7fe134a786bbf9908f660018fe459e5d729c36303f5efb2f5b2af64001a2344dce8c322e513 WHIRLPOOL d8386862c25c420ffae7089bb33b517406a6a4eecac52ad6376f3d2c5b034549e8cf86651b4ad3231b21822049b02d01863dae8776b957eb8d538c426ba4431f
+DIST obexftp-0.24-Source.tar.gz 88154 SHA256 b907965608bf0e60c69bc45f074ce1a2ffeb809b4502a7082c6d95e3c73dfe6b SHA512 785449665f5e9269d7bfd15f379bd8fbad321780292e56341e2089d6894255b7301fc23bb27a80e4e6f6317a130b658dedd307b7ece0fd31ef8f1a109c6f21b9 WHIRLPOOL 9f6fd5df3fbc8fa161ecff091b02932ac73e60d6a6eb1e15a32d9b871e6668fd86d0c4d6027f13c724cc1e7a8b40e1e02f8c0c32f0ac43076193e2048ba751df
diff --git a/app-mobilephone/obexftp/files/obexftp-0.23-fix-ruby19.patch b/app-mobilephone/obexftp/files/obexftp-0.23-fix-ruby19.patch
new file mode 100644
index 00000000000..a2ed681125c
--- /dev/null
+++ b/app-mobilephone/obexftp/files/obexftp-0.23-fix-ruby19.patch
@@ -0,0 +1,37 @@
+Replace functions removed with ruby 1.9
+See also http://dev.zuckschwerdt.org/openobex/ticket/49
+
+
+diff --git a/swig/charmap.i b/swig/charmap.i
+index e1f1fc1..b8e17de 100644
+--- a/swig/charmap.i
++++ b/swig/charmap.i
+@@ -89,8 +89,8 @@
+ $2 = PyString_Size($input);
+ #elif defined SWIGRUBY
+ /* VALUE str = StringValue($input); // perhaps better? */
+- $1 = STR2CSTR($input);
+- $2 = (int) RSTRING($input)->len;
++ $1 = StringValuePtr($input);
++ $2 = (int) RSTRING_LEN($input);
+ #elif defined SWIGTCL
+ $1 = Tcl_GetStringFromObj($input,&$2);
+ #else
+diff --git a/swig/ruby/ruby_wrap.c b/swig/ruby/ruby_wrap.c
+index 57e40bf..31b1a9d 100644
+--- a/swig/ruby/ruby_wrap.c
++++ b/swig/ruby/ruby_wrap.c
+@@ -2579,8 +2579,8 @@ _wrap_Client_put_data(int argc, VALUE *argv, VALUE self) {
+
+
+ /* VALUE str = StringValue(argv[0]); // perhaps better? */
+- arg2 = STR2CSTR(argv[0]);
+- arg3 = (int) RSTRING(argv[0])->len;
++ arg2 = StringValuePtr(argv[0]);
++ arg3 = (int) RSTRING_LEN(argv[0]);
+
+
+
+--
+1.8.4.2
+
diff --git a/app-mobilephone/obexftp/files/obexftp-0.23-fixruby.patch b/app-mobilephone/obexftp/files/obexftp-0.23-fixruby.patch
new file mode 100644
index 00000000000..c7f69ffb0d5
--- /dev/null
+++ b/app-mobilephone/obexftp/files/obexftp-0.23-fixruby.patch
@@ -0,0 +1,11 @@
+--- a/swig/ruby/Makefile.am
++++ b/swig/ruby/Makefile.am
+@@ -12,7 +12,7 @@ Makefile.ruby: extconf.rb
+ PREFIX=$(prefix) $(RUBY) $< --with-obexftp-include=$(top_srcdir)
+
+ obexftp.so: ruby_wrap.c Makefile.ruby
+- $(MAKE) -fMakefile.ruby
++ $(MAKE) -fMakefile.ruby LIBPATH="-Wl,-rpath-link,../../bfb/.libs -Wl,-rpath-link,../../multicobex/.libs -Wl,-rpath-link,../../obexftp/.libs -L../../bfb/.libs -L../../multicobex/.libs -L../../obexftp/.libs"
+
+ install-data-local: Makefile.ruby
+ $(MAKE) -j1 -fMakefile.ruby install
diff --git a/app-mobilephone/obexftp/files/obexftp-0.23-gentoo.patch b/app-mobilephone/obexftp/files/obexftp-0.23-gentoo.patch
new file mode 100644
index 00000000000..caf0611ff07
--- /dev/null
+++ b/app-mobilephone/obexftp/files/obexftp-0.23-gentoo.patch
@@ -0,0 +1,22 @@
+--- a/obexftp/client.c
++++ b/obexftp/client.c
+@@ -51,8 +51,6 @@
+
+ #ifdef HAVE_BLUETOOTH
+ #include "bt_kit.h"
+-#else
+-#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
+ #endif /* HAVE_BLUETOOTH */
+
+ #include <openobex/obex.h>
+--- a/apps/obexftp.c
++++ b/apps/obexftp.c
+@@ -29,6 +29,8 @@
+
+ #include <sys/types.h>
+
++#include <config.h>
++
+ #ifdef HAVE_SYS_TIMES_H
+ #include <sys/times.h>
+ #endif
diff --git a/app-mobilephone/obexftp/files/obexftp-0.24-config.patch b/app-mobilephone/obexftp/files/obexftp-0.24-config.patch
new file mode 100644
index 00000000000..f923a4b0ed2
--- /dev/null
+++ b/app-mobilephone/obexftp/files/obexftp-0.24-config.patch
@@ -0,0 +1,11 @@
+--- a/apps/obexftp.c
++++ b/apps/obexftp.c
+@@ -43,8 +43,6 @@
+
+ #include <common.h>
+
+-#include <config.h>
+-
+ #ifdef HAVE_SYS_TIMES_H
+ #include <sys/times.h>
+ #endif
diff --git a/app-mobilephone/obexftp/files/obexftp-0.24-enable_bluetooth.patch b/app-mobilephone/obexftp/files/obexftp-0.24-enable_bluetooth.patch
new file mode 100644
index 00000000000..ff72fff17e7
--- /dev/null
+++ b/app-mobilephone/obexftp/files/obexftp-0.24-enable_bluetooth.patch
@@ -0,0 +1,16 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -52,11 +52,13 @@
+ #
+ # some code is only included if bluetooth is available
+ #
++if ( ENABLE_BLUETOOTH )
+ find_package ( Bluetooth )
+ if ( Bluetooth_FOUND )
+ include_directories ( ${Bluetooth_INCLUDE_DIRS} )
+ add_definitions ( -DHAVE_BLUETOOTH -DHAVE_SDP )
+ endif ( Bluetooth_FOUND )
++endif ( ENABLE_BLUETOOTH )
+
+ add_subdirectory ( bfb )
+ add_subdirectory ( multicobex )
diff --git a/app-mobilephone/obexftp/files/obexftp-0.24-python_sitedir.patch b/app-mobilephone/obexftp/files/obexftp-0.24-python_sitedir.patch
new file mode 100644
index 00000000000..24cc46050ab
--- /dev/null
+++ b/app-mobilephone/obexftp/files/obexftp-0.24-python_sitedir.patch
@@ -0,0 +1,16 @@
+--- a/swig/python/CMakeLists.txt
++++ b/swig/python/CMakeLists.txt
+@@ -40,11 +40,13 @@
+ OUTPUT_VARIABLE PYTHON_PREFIX
+ )
+ file ( TO_CMAKE_PATH "${PYTHON_PREFIX}" PYTHON_PREFIX )
++if ( NOT PYTHON_SITE_DIR )
+ execute_process (
+ COMMAND ${PYTHON_EXECUTABLE} -c
+ "import site, sys; sys.stdout.write(site.getsitepackages()[-1])"
+ OUTPUT_VARIABLE PYTHON_SITE_DIR
+ )
++endif ( PYTHON_SITE_DIR )
+ file ( TO_CMAKE_PATH "${PYTHON_SITE_DIR}" PYTHON_SITE_DIR )
+ string ( REGEX REPLACE "^${PYTHON_PREFIX}/" ""
+ PYTHON_SITE_DIR "${PYTHON_SITE_DIR}"
diff --git a/app-mobilephone/obexftp/metadata.xml b/app-mobilephone/obexftp/metadata.xml
new file mode 100644
index 00000000000..caf389b5674
--- /dev/null
+++ b/app-mobilephone/obexftp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">openobex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/obexftp/obexftp-0.23-r2.ebuild b/app-mobilephone/obexftp/obexftp-0.23-r2.ebuild
new file mode 100644
index 00000000000..fced95e587d
--- /dev/null
+++ b/app-mobilephone/obexftp/obexftp-0.23-r2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+GENTOO_DEPEND_ON_PERL=no
+
+inherit distutils-r1 eutils perl-module flag-o-matic autotools
+
+DESCRIPTION="File transfer over OBEX for mobile phones"
+HOMEPAGE="http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp"
+SRC_URI="mirror://sourceforge/openobex/${P}.tar.bz2"
+SLOT="0"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 hppa ppc ~sparc x86"
+IUSE="bluetooth debug perl python ruby tcl"
+
+RDEPEND="dev-libs/openobex
+ bluetooth? ( net-wireless/bluez )
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby:1.9 )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-fixruby.patch \
+ "${FILESDIR}"/${P}-gentoo.patch \
+ "${FILESDIR}"/${P}-fix-ruby19.patch
+ # Python bindings are built/installed manually.
+ sed -e "/MAYBE_PYTHON_ = python/d" -i swig/Makefile.am || die "sed failed"
+
+ eautoreconf
+}
+
+src_configure() {
+ if use debug ; then
+ strip-flags
+ append-flags "-g -DOBEXFTP_DEBUG=5"
+ fi
+
+ local MYRUBY
+ use ruby && MYRUBY="RUBY=/usr/bin/ruby19"
+
+ econf \
+ $(use_enable bluetooth) \
+ $(use_enable perl) \
+ $(use_enable python) \
+ $(use_enable tcl) \
+ $(use_enable ruby) \
+ ${MYRUBY}
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ pushd swig/python/
+ distutils-r1_src_compile
+ popd
+ fi
+}
+
+src_install() {
+ # -j1 because "make -fMakefile.ruby install" fails
+ # upstream added -j1 to that command so it should be removed
+ # from here in the next version bump
+ emake -j1 DESTDIR="${D}" INSTALLDIRS=vendor install
+
+ if use python; then
+ pushd swig/python/
+ distutils-r1_src_install
+ popd
+ fi
+
+ dodoc AUTHORS ChangeLog NEWS README* THANKS TODO
+ dohtml doc/*.html
+
+ # Install examples
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ use perl && doins examples/*.pl
+ use python && doins examples/*.py
+ use ruby && doins examples/*.rb
+ use tcl && doins examples/*.tcl
+
+ if use perl ; then
+ perl_delete_localpod
+ perl_delete_packlist
+ fi
+}
+
+pkg_postinst() {
+ use python && distutils-r1_pkg_postinst
+}
+
+pkg_postrm() {
+ use python && distutils-r1_pkg_postrm
+}
diff --git a/app-mobilephone/obexftp/obexftp-0.24.ebuild b/app-mobilephone/obexftp/obexftp-0.24.ebuild
new file mode 100644
index 00000000000..3a22f340976
--- /dev/null
+++ b/app-mobilephone/obexftp/obexftp-0.24.ebuild
@@ -0,0 +1,58 @@
+# 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_3,3_4} )
+inherit cmake-utils python-single-r1 python-utils-r1 eutils multilib
+
+DESCRIPTION="File transfer over OBEX for mobile phones"
+HOMEPAGE="http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp"
+SRC_URI="mirror://sourceforge/openobex/${P}-Source.tar.gz"
+SLOT="0"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
+IUSE="bluetooth perl python ruby tcl"
+
+RDEPEND="
+ >=dev-libs/openobex-1.7
+ bluetooth? ( net-wireless/bluez )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 ) )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="
+ ${RDEPEND}
+ perl? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+ ruby? ( dev-lang/swig )
+ tcl? ( dev-lang/swig )
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${P}-Source
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.23-gentoo.patch
+ "${FILESDIR}"/${PN}-0.24-config.patch
+ "${FILESDIR}"/${PN}-0.24-enable_bluetooth.patch
+ "${FILESDIR}"/${PN}-0.24-python_sitedir.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_PERL=$(usex perl)
+ -DENABLE_BLUETOOTH=$(usex bluetooth)
+ -DENABLE_PYTHON=$(usex python)
+ $(usex python -DPYTHON_SITE_DIR=$(python_get_sitedir) '')
+ -DENABLE_RUBY=$(usex ruby)
+ -DENABLE_TCL=$(usex tcl)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/app-mobilephone/past/Manifest b/app-mobilephone/past/Manifest
new file mode 100644
index 00000000000..ee522f9fc0d
--- /dev/null
+++ b/app-mobilephone/past/Manifest
@@ -0,0 +1 @@
+DIST 74036-past-0.0.4.tar.bz2 166745 SHA256 2b1b0eda11249360b9df70bbd7d4b8f3fe993ca30524138463df6ac587247cb1 SHA512 5ebce95f501e057cbfceb4019041e1dd844a464e656396c107ac9750e280dd544d0175d43bad53c94e10b587229cc5cc16e9d6f57401cdba6c539557daf3b0b0 WHIRLPOOL d0ca8e917f475fce0d0b7f1a0fd821178d8960286b967d8fb632e94c567de834e34bfa61144843ac608ff2633ef5f3a7466cac0ff73ba450f450fcf29e5dfaea
diff --git a/app-mobilephone/past/files/past-0.0.4-gcc-4.7.patch b/app-mobilephone/past/files/past-0.0.4-gcc-4.7.patch
new file mode 100644
index 00000000000..d2a82e02568
--- /dev/null
+++ b/app-mobilephone/past/files/past-0.0.4-gcc-4.7.patch
@@ -0,0 +1,10 @@
+--- src/device.cpp
++++ src/device.cpp
+@@ -22,6 +22,7 @@
+
+ extern "C" {
+ #include <gnokii.h>
++#include <unistd.h>
+ }
+
+ #include "device.h"
diff --git a/app-mobilephone/past/metadata.xml b/app-mobilephone/past/metadata.xml
new file mode 100644
index 00000000000..a40624fba8f
--- /dev/null
+++ b/app-mobilephone/past/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/app-mobilephone/past/past-0.0.4.ebuild b/app-mobilephone/past/past-0.0.4.ebuild
new file mode 100644
index 00000000000..8966954ef36
--- /dev/null
+++ b/app-mobilephone/past/past-0.0.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit cmake-utils
+
+DESCRIPTION="A simple SMS tool"
+HOMEPAGE="http://www.kde-apps.org/content/show.php/past+-+SMS+Tool?content=74036"
+SRC_URI="http://www.kde-apps.org/CONTENT/content-files/74036-${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+DEPEND="dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ dev-qt/qtgui:4
+ app-mobilephone/gnokii[sms]"
+RDEPEND="${DEPEND}"
+
+DOCS=( ChangeLog TODO )
+PATCHES=( "${FILESDIR}/${P}-gcc-4.7.patch" )
diff --git a/app-mobilephone/pysms/Manifest b/app-mobilephone/pysms/Manifest
new file mode 100644
index 00000000000..7fea9a6562c
--- /dev/null
+++ b/app-mobilephone/pysms/Manifest
@@ -0,0 +1 @@
+DIST pysms-0.9.4.tar.gz 57843 SHA256 a32742f8fb58656f45f6b65b6c3d4191df8b5c47ba454c648fafd45a86040a34 SHA512 7f2a1279368b68ef17e16f346079aa5f3daf50c7ab43570425e9be8c5144e6c291390e4178fded52f7fcd16aeb2960993897036d09ee265f2717fe60d583e8d9 WHIRLPOOL 8d55a58031c659b720be791236ddc1e83f94111259b966e6be53fd7a501e09c802c220c9914d7f67303a76ce53611505a536ef9022b2f14cf7d0eaeff76dc552
diff --git a/app-mobilephone/pysms/metadata.xml b/app-mobilephone/pysms/metadata.xml
new file mode 100644
index 00000000000..b5fc49dd930
--- /dev/null
+++ b/app-mobilephone/pysms/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>Tool for sending text messages for various Swiss providers</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pysms</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/pysms/pysms-0.9.4-r1.ebuild b/app-mobilephone/pysms/pysms-0.9.4-r1.ebuild
new file mode 100644
index 00000000000..b37caf87dbc
--- /dev/null
+++ b/app-mobilephone/pysms/pysms-0.9.4-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Tool for sending text messages for various Swiss providers"
+HOMEPAGE="http://sourceforge.net/projects/pysms/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/pygtk[${PYTHON_USEDEP}]"
+
+python_prepare() {
+ sed -e "s:0.9.1:0.9.4:" \
+ -e "s/Application;Network/Network/" \
+ -i data/pysms.desktop || die
+ rm -f MANIFEST.in
+
+ distutils-r1_python_prepare
+}
diff --git a/app-mobilephone/qtadb/Manifest b/app-mobilephone/qtadb/Manifest
new file mode 100644
index 00000000000..e66e1a00186
--- /dev/null
+++ b/app-mobilephone/qtadb/Manifest
@@ -0,0 +1 @@
+DIST QtADB_0.8.1_src.zip 1084159 SHA256 732eb8736c2fadddc80c37b47a91589c02e474cf5b0b68393411ffd4611cdb5f SHA512 4bcf28a9442873c3d94c33f5b629c1528efb10a34a6825eb8e596ea6fbb23144a56b64bccc258eaf579ca7d86bd7520f6274d611243290ae6f3bee72021346fa WHIRLPOOL 0970c41c5578ba4a3cb221317de07e8ab22643adeccc7bd104795881a26d69dae07b022e76f6b5e3e4e40136ff0203ef3b24f9c041d51078f2f77f521598d162
diff --git a/app-mobilephone/qtadb/metadata.xml b/app-mobilephone/qtadb/metadata.xml
new file mode 100644
index 00000000000..c9ed59e50d2
--- /dev/null
+++ b/app-mobilephone/qtadb/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+<email>opensource@andmarios.com</email>
+<name>Marios Andreopoulos</name>
+<description>Maintainer. Assign bugs to him</description>
+</maintainer>
+<maintainer>
+<email>hwoarang@gentoo.org</email>
+<name>Markos Chandras</name>
+<description>Proxy maintainer. CC him on bugs</description>
+</maintainer>
+</pkgmetadata>
diff --git a/app-mobilephone/qtadb/qtadb-0.8.1.ebuild b/app-mobilephone/qtadb/qtadb-0.8.1.ebuild
new file mode 100644
index 00000000000..1e19f0045f0
--- /dev/null
+++ b/app-mobilephone/qtadb/qtadb-0.8.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils readme.gentoo qt4-r2
+
+MY_PN="QtADB"
+MY_P="${MY_PN}_${PV}_src"
+
+DESCRIPTION="Android phone manager via ADB"
+HOMEPAGE="http://qtadb.wordpress.com"
+SRC_URI="http://${PN}.com/${PN}/${MY_P}.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-qt/qtgui:4
+ dev-qt/qtdeclarative:4"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/trunk"
+
+pkg_setup() {
+ DISABLE_AUTOFORMATTING="yes"
+ DOC_CONTENTS="
+You will need a working Android SDK installation (adb and aapt executables)
+You can install Android SDK a) through portage (emerge android-sdk-update-manager
+and run android to download the actual sdk), b) manually from
+http://developer.android.com/sdk/index.html or c) just grab the adb, aapt linux
+binaries from http://qtadb.wordpress.com/download/
+adb and aapt executables are in the platform-tools subdir of Android SDK
+
+Also you will need to have ROOT access to your phone along with busybox
+The latter can be found in the Android market
+
+Last, if you want to use the SMS manager of QtADB, you have to install
+QtADB.apk to your device, available here: http://qtadb.wordpress.com/download/
+
+If you have trouble getting your phone connected through usb (driver problem),
+try adbWireless from Android market to get connected through WiFi
+"
+}
+
+src_install() {
+ newicon images/android.png ${PN}.png
+ make_desktop_entry ${MY_PN} "${MY_PN}" ${PN} \
+ "Qt;PDA;Utility;" || die "Desktop entry creation failed"
+ dobin ${MY_PN}
+ readme.gentoo_create_doc
+}
diff --git a/app-mobilephone/ringtonetools/Manifest b/app-mobilephone/ringtonetools/Manifest
new file mode 100644
index 00000000000..23b8d4e5184
--- /dev/null
+++ b/app-mobilephone/ringtonetools/Manifest
@@ -0,0 +1 @@
+DIST ringtonetools-2.26.tar.gz 40172 SHA256 609081b7ef41addd0250af38ef0391ec0b696e8a1821a3817113acd80b6b88a1 SHA512 aa352a8a9e6d84bb649d559e1026239fb7129636bfe6369d90b1e47ceedc530703144a549e0ec0aed1c89d39727c6d604aca31c2255bf3a5c0fb88502f8b31a4 WHIRLPOOL e773c454438267af4bf671d96b574c9e62ea7de83804fe3fc7987f9fed4ced7993a8c7edd4bd1026345c367152b2bd33dbcac8eb59bce843a73030a92a035f6f
diff --git a/app-mobilephone/ringtonetools/files/ringtonetools-2.26-no-strip.patch b/app-mobilephone/ringtonetools/files/ringtonetools-2.26-no-strip.patch
new file mode 100644
index 00000000000..5438f444248
--- /dev/null
+++ b/app-mobilephone/ringtonetools/files/ringtonetools-2.26-no-strip.patch
@@ -0,0 +1,11 @@
+diff -Nru ringtonetools-2.26.orig/Makefile ringtonetools-2.26/Makefile
+--- ringtonetools-2.26.orig/Makefile 2005-08-01 20:42:00.000000000 +0300
++++ ringtonetools-2.26/Makefile 2006-09-24 13:01:32.252022000 +0300
+@@ -3,7 +3,6 @@
+ @cd src && make
+ @if [ -e src/ringtonetools.exe ]; then mv src/ringtonetools.exe ringtonetools.exe; fi
+ @if [ -e src/ringtonetools ]; then mv src/ringtonetools .; fi
+- @strip ringtonetools*
+
+
+ clean:
diff --git a/app-mobilephone/ringtonetools/metadata.xml b/app-mobilephone/ringtonetools/metadata.xml
new file mode 100644
index 00000000000..5656ad343ee
--- /dev/null
+++ b/app-mobilephone/ringtonetools/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version = '1.0' encoding = 'UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+ <longdescription>Ringtone Tools is a program for creating custom ringtones and graphical logos for mobile phones.</longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/ringtonetools/ringtonetools-2.26.ebuild b/app-mobilephone/ringtonetools/ringtonetools-2.26.ebuild
new file mode 100644
index 00000000000..4de86e9a3bb
--- /dev/null
+++ b/app-mobilephone/ringtonetools/ringtonetools-2.26.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="program for creating ringtones and logos for mobile phones"
+HOMEPAGE="http://ringtonetools.mikekohn.net/"
+SRC_URI="http://downloads.mikekohn.net/ringtonetools/${P}.tar.gz"
+
+LICENSE="ringtonetools"
+SLOT="0"
+KEYWORDS="~amd64 ppc x86"
+IUSE=""
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}/${P}-no-strip.patch"
+}
+
+src_compile() {
+ emake -j1 FLAGS="${CFLAGS}" LIBS="${LDFLAGS}" CC="$(tc-getCC)" || die "make failed"
+}
+
+src_install() {
+ dobin ringtonetools || die "program not found"
+ dodoc docs/*
+ docinto samples
+ dodoc samples/*
+}
diff --git a/app-mobilephone/scmxx/Manifest b/app-mobilephone/scmxx/Manifest
new file mode 100644
index 00000000000..5e970d4de06
--- /dev/null
+++ b/app-mobilephone/scmxx/Manifest
@@ -0,0 +1 @@
+DIST scmxx-0.9.0.tar.bz2 250681 SHA256 60bd84bd4b9c6b0d87be59e080b4776320d60aa025ed57560a5790b511d5d6da SHA512 755877badfc846fa33ea29a38c9f8408f62d5343e0927438640ac923e8fccfcc1a0ffeae82f707d5ac1632022a15eaa2d9816602420212f171e29505c109f20f WHIRLPOOL 63cdfcd404801bd590e9659ee52944d00ccfc3ad94e4a1a46d1b9caa38148d3dbb35b661dd99b205fe2dbfb7f72bb5dfe209bad09dd42f7b2149e7c1703fbdcd
diff --git a/app-mobilephone/scmxx/metadata.xml b/app-mobilephone/scmxx/metadata.xml
new file mode 100644
index 00000000000..34a8f0f1df8
--- /dev/null
+++ b/app-mobilephone/scmxx/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">scmxx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-mobilephone/scmxx/scmxx-0.9.0.ebuild b/app-mobilephone/scmxx/scmxx-0.9.0.ebuild
new file mode 100644
index 00000000000..1eadffb6719
--- /dev/null
+++ b/app-mobilephone/scmxx/scmxx-0.9.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Exchange data with Siemens phones"
+HOMEPAGE="http://www.hendrik-sattler.de/scmxx/"
+SRC_URI="mirror://sourceforge/scmxx/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE="bluetooth nls"
+
+RDEPEND="bluetooth? ( net-wireless/bluez )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+
+ exeinto /usr/lib/scmxx
+ doexe contrib/*
+
+ doman docs/*.1
+
+ rm docs/README_WIN32.txt
+ dodoc AUTHORS BUGS CHANGELOG README TODO docs/*.txt
+}
diff --git a/app-mobilephone/sms/Manifest b/app-mobilephone/sms/Manifest
new file mode 100644
index 00000000000..f4312cc1bb3
--- /dev/null
+++ b/app-mobilephone/sms/Manifest
@@ -0,0 +1,2 @@
+DIST sms-2.0.3.tar.gz 48450 SHA256 e7f8792732772e56489232f0e671128e39472609466424d9ac33c1956ebb451f SHA512 0d4c201328c52378bf6671addee0771c25ab22c7edc9e848657dcf815f8fd31c0d0433020d85906ae02b7702616d734d2d763e1737b23e2e7b2acd4d8d529a97 WHIRLPOOL fe8c3a53101718997c70b4976858e70a936ab31a7880da417f2ec3984fc8b85ba0e931f629d0795007e5a9ccf2e36320a740258eb4a53afacd7684b5e1d11262
+DIST sms-2.1.0.tar.gz 45668 SHA256 105dc13661ac35608e8dab39de76797362bef420b64113f1cf0a6e3a3d3e990c SHA512 a0a172f66127a90b86b9b80590420718d00d715921928b8dea9d0ea1b219835b747c583db86b859cfb2f4c79191da3f3965d608ee97edf335f2132956c4aa3c0 WHIRLPOOL f4653872a659b69274646f019bc401e6d18d37cd7938a0a6fd5621a7d1a201839179f9972e9cb27f710163e03052566d02397e097ed13e80500e929a310af166
diff --git a/app-mobilephone/sms/files/sms-2.0.3-gcc41.patch b/app-mobilephone/sms/files/sms-2.0.3-gcc41.patch
new file mode 100644
index 00000000000..39c7973ca3f
--- /dev/null
+++ b/app-mobilephone/sms/files/sms-2.0.3-gcc41.patch
@@ -0,0 +1,38 @@
+diff -Nru sms-2.0.3.orig/lib/mr_curl/mr_curl.cc sms-2.0.3/lib/mr_curl/mr_curl.cc
+--- sms-2.0.3.orig/lib/mr_curl/mr_curl.cc 2005-02-04 02:37:39.000000000 +0200
++++ sms-2.0.3/lib/mr_curl/mr_curl.cc 2006-09-24 13:48:25.725464250 +0300
+@@ -4,6 +4,18 @@
+
+ using namespace std;
+
++size_t Curl_write_data(const void *ptr, size_t size,
++ size_t nmemb, Curl *curl) {
++ curl->buffer->write((const char*)ptr, size * nmemb);
++ return curl->buffer->bad() ? 0 : size*nmemb;
++}
++
++size_t Curl_write_header(const void *ptr, size_t size,
++ size_t nmemb, Curl *curl) {
++ curl->headers->write((const char*)ptr, size * nmemb);
++ return curl->headers->bad() ? 0 : size*nmemb;
++}
++
+ void FormParser::SetPage(const std::string &new_html)
+ {
+ action = "";
+@@ -428,15 +440,3 @@
+ SetOpt(CURLOPT_SSL_VERIFYHOST, 0);
+ }
+
+-size_t Curl_write_data(const void *ptr, size_t size,
+- size_t nmemb, Curl *curl) {
+- curl->buffer->write((const char*)ptr, size * nmemb);
+- return curl->buffer->bad() ? 0 : size*nmemb;
+-}
+-
+-size_t Curl_write_header(const void *ptr, size_t size,
+- size_t nmemb, Curl *curl) {
+- curl->headers->write((const char*)ptr, size * nmemb);
+- return curl->headers->bad() ? 0 : size*nmemb;
+-}
+-
diff --git a/app-mobilephone/sms/metadata.xml b/app-mobilephone/sms/metadata.xml
new file mode 100644
index 00000000000..cc73e4af535
--- /dev/null
+++ b/app-mobilephone/sms/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+<longdescription>Command line program for sending SMS to Polish GSM mobile phone users.
+
+Ma?a reorganizacja. Z racji licznych downloadw ww. programu postanowi?em zrobi?
+mu specjaln? stron? domow?. A niech ma pomy?la?em sobie :-) Teraz jest jeszcze lepiej: codziennie
+z crona jest sprawdzana wersja aktualnej kopii sms. Wiec na stronie jest podawana zawsze
+wlasciwa, a ja nie musze sie meczyc z aktualizacja. To samo dotyczy wycinka z pliku</longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/sms/sms-2.0.3.ebuild b/app-mobilephone/sms/sms-2.0.3.ebuild
new file mode 100644
index 00000000000..ee528f8d1b6
--- /dev/null
+++ b/app-mobilephone/sms/sms-2.0.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs eutils
+
+DESCRIPTION="Command line program for sending SMS to Polish GSM mobile phone users"
+HOMEPAGE="http://ceti.pl/~miki/komputery/sms.html"
+SRC_URI="http://ceti.pl/~miki/komputery/download/sms/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="ppc x86"
+IUSE=""
+
+DEPEND="sys-libs/gdbm
+ dev-libs/libpcre
+ dev-libs/pcre++
+ net-misc/curl"
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}/${P}-gcc41.patch"
+}
+
+src_compile() {
+ emake CXX=$(tc-getCXX) CXXFLAGS="${CXXFLAGS} -I./lib" LDFLAGS="-lc" || die "make failed"
+}
+
+src_install() {
+ dobin sms smsaddr
+ dodoc README README.smsrc Changelog doc/readme.html
+ dodoc contrib/mimecut contrib/procmailrc
+}
diff --git a/app-mobilephone/sms/sms-2.1.0.ebuild b/app-mobilephone/sms/sms-2.1.0.ebuild
new file mode 100644
index 00000000000..b4a5c539107
--- /dev/null
+++ b/app-mobilephone/sms/sms-2.1.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs
+
+DESCRIPTION="Command line program for sending SMS to Polish GSM mobile phone users"
+HOMEPAGE="http://ceti.pl/~miki/komputery/sms.html"
+SRC_URI="http://ceti.pl/~miki/komputery/download/sms/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="sys-libs/gdbm
+ dev-libs/libpcre
+ dev-libs/pcre++
+ net-misc/curl"
+
+src_compile() {
+ emake CXX=$(tc-getCXX) CXXFLAGS="${CXXFLAGS} -I./lib" LDFLAGS="${LDFLAGS} -lc" || die "make failed"
+}
+
+src_install() {
+ dobin sms smsaddr
+ dodoc README README.smsrc Changelog doc/readme.html
+ dodoc contrib/mimecut contrib/procmailrc
+}
diff --git a/app-mobilephone/smsclient/Manifest b/app-mobilephone/smsclient/Manifest
new file mode 100644
index 00000000000..aad9361057d
--- /dev/null
+++ b/app-mobilephone/smsclient/Manifest
@@ -0,0 +1 @@
+DIST smsclient-2.0.9a.tar.gz 151600 SHA256 8d209716a99d670714aabe92f36f587f230efe25c746e00bcc823b1e78bf926c SHA512 85ab34b34cb1b3e1cfeeefed6618ca5cf7c66f26a1f5fe211b079a65694259fc2272abc6fe2e74d008e680d67f057288a704a87558e65e015554517fb99ba89d WHIRLPOOL 1cbfd9d03b9092961bcad639c1e2fdbb86d2eb561fdf7ab56fe379578b817fb0bcafbd755773937d37bed78642dff12194b2b2a54ed8bd9f43cd7e031299549e
diff --git a/app-mobilephone/smsclient/files/smsclient-2.0.9a-gentoo.patch b/app-mobilephone/smsclient/files/smsclient-2.0.9a-gentoo.patch
new file mode 100644
index 00000000000..b38b1309c33
--- /dev/null
+++ b/app-mobilephone/smsclient/files/smsclient-2.0.9a-gentoo.patch
@@ -0,0 +1,122 @@
+diff -Nur smsclient-2.0.9a.orig/config/Makefile.config.linux smsclient-2.0.9a/config/Makefile.config.linux
+--- smsclient-2.0.9a.orig/config/Makefile.config.linux 2006-02-25 12:52:12.203797250 +0200
++++ smsclient-2.0.9a/config/Makefile.config.linux 2006-02-25 12:52:38.837461750 +0200
+@@ -39,7 +39,7 @@
+ PLATFORM = -DLINUX
+ CC = gcc
+ MAKE = make
+-CFLAGS = -O2 -g -I. -Wall -pedantic -fsigned-char $(PLATFORM)
++CFLAGS += -I. -Wall -pedantic -fsigned-char $(PLATFORM)
+ XTRALIBS =
+
+ # --------------------------------------------------------------------
+@@ -59,7 +59,7 @@
+ MLOCALSMSRC = .sms_addressbook
+ MGLOBALSMSRC = $(ETCPREFIX)/etc/smsclient/sms_addressbook
+ MSERVICEDIR = $(ETCPREFIX)/etc/smsclient
+-MLIBDIR = $(PREFIX)/usr/lib/smsclient
++MLIBDIR = $(PREFIX)/usr/share/smsclient
+ MLOGFILE = $(LOGDIR)/smsclient.log
+ MSNPPDLOGFILE = $(LOGDIR)/smsclient.snppdlog
+ MSMSDLOGFILE = $(LOGDIR)/smsclient.smsdlog
+@@ -80,10 +80,10 @@
+
+ # --------------------------------------------------------------------
+
+-BINDIR = $(DESTDIR)/usr/bin
+-ETCDIR = $(DESTDIR)/etc
+-LIBDIR = $(DESTDIR)/usr/lib
+-MANDIR = $(DESTDIR)/usr/share/man
++BINDIR = /usr/bin
++ETCDIR = /etc
++LIBDIR = /usr/lib
++MANDIR = /usr/share/man
+ MANEXT = 1
+ INSTALL = /usr/bin/install
+ RM = /bin/rm -f
+diff -Nur smsclient-2.0.9a.orig/sms/Makefile smsclient-2.0.9a/sms/Makefile
+--- smsclient-2.0.9a.orig/sms/Makefile 2006-02-25 12:52:12.203797250 +0200
++++ smsclient-2.0.9a/sms/Makefile 2006-02-25 12:49:49.166858000 +0200
+@@ -34,28 +34,26 @@
+ all:
+
+ install:
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(MLIBDIR)/services
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/errors
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/locks
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/incoming
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/named_pipes
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/services
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(MSERVICEDIR)/scripts
++ $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -m 755 -d $(DESTDIR)$(MLIBDIR)/services
++# $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient
++# $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/errors
++# $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/locks
++# $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/incoming
++# $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/named_pipes
++# $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/services
++ $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -m 755 -d $(DESTDIR)$(MSERVICEDIR)/scripts
+
+ ( cd services ;\
+ for service in * ; do \
+ $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 644 $$service $(DESTDIR)$(MLIBDIR)/services; \
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/services/$$service ; \
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)$(SPOOLDIR)/smsclient/errors/$$service ; \
+ done )
+
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 644 scripts/email $(DESTDIR)$(MSERVICEDIR)/scripts
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 644 sms_config $(DESTDIR)$(MSERVICEDIR)
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 644 sms_addressbook $(DESTDIR)$(MSERVICEDIR)
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 644 sms_modem $(DESTDIR)$(MSERVICEDIR)
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 644 sms_services $(DESTDIR)$(MSERVICEDIR)
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 644 sms_daemons $(DESTDIR)$(MSERVICEDIR)
++ $(INSTALL) -m 644 scripts/email $(DESTDIR)$(MSERVICEDIR)/scripts
++ $(INSTALL) -m 644 sms_config $(DESTDIR)$(MSERVICEDIR)
++ $(INSTALL) -m 644 sms_addressbook $(DESTDIR)$(MSERVICEDIR)
++ $(INSTALL) -m 644 sms_modem $(DESTDIR)$(MSERVICEDIR)
++ $(INSTALL) -m 644 sms_services $(DESTDIR)$(MSERVICEDIR)
++ $(INSTALL) -m 644 sms_daemons $(DESTDIR)$(MSERVICEDIR)
+
+ uninstall:
+ $(RM) $(DESTDIR)$(MLIBDIR)/services/*
+diff -Nur smsclient-2.0.9a.orig/sms/sms_config smsclient-2.0.9a/sms/sms_config
+--- smsclient-2.0.9a.orig/sms/sms_config 2006-02-25 12:52:12.203797250 +0200
++++ smsclient-2.0.9a/sms/sms_config 2006-02-25 12:49:49.166858000 +0200
+@@ -9,7 +9,7 @@
+
+ SMS_lock_action = "BLOCK"
+ SMS_lock_retry_delay = 5000000
+- SMS_lockfile = "/var/lock/smslock"
++ SMS_lockfile = "/var/lock/sms/client.lock"
+
+ # SMS_lockfile = "/var/opt/sms/smslock" # UNIXWARE
+ }
+diff -Nur smsclient-2.0.9a.orig/src/client/Makefile smsclient-2.0.9a/src/client/Makefile
+--- smsclient-2.0.9a.orig/src/client/Makefile 2006-02-25 12:52:12.203797250 +0200
++++ smsclient-2.0.9a/src/client/Makefile 2006-02-25 12:49:49.166858000 +0200
+@@ -35,9 +35,9 @@
+ all: ../../bin/sms_client ../../bin/sms_address
+
+ install: ../../bin/sms_client ../../bin/sms_address
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(BINDIR)
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -s ../../bin/sms_client $(BINDIR)
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -s ../../bin/sms_address $(BINDIR)
++ $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(DESTDIR)/$(BINDIR)
++ $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 ../../bin/sms_client $(DESTDIR)/$(BINDIR)
++ $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 ../../bin/sms_address $(DESTDIR)/$(BINDIR)
+
+ uninstall:
+ $(RM) $(BINDIR)/sms_client
+diff -Nur smsclient-2.0.9a.orig/src/logfile/Makefile smsclient-2.0.9a/src/logfile/Makefile
+--- smsclient-2.0.9a.orig/src/logfile/Makefile 2006-02-25 12:52:12.203797250 +0200
++++ smsclient-2.0.9a/src/logfile/Makefile 2006-02-25 12:49:49.166858000 +0200
+@@ -34,7 +34,7 @@
+ all: logfile.o
+
+ install:
+- $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(LOGDIR)
++# $(INSTALL) -o $(SMSUSER) -g $(SMSGROUP) -m 755 -d $(LOGDIR)
+
+ clean:
+ $(RM) *.o
diff --git a/app-mobilephone/smsclient/files/smsclient-2.0.9a-sender.patch b/app-mobilephone/smsclient/files/smsclient-2.0.9a-sender.patch
new file mode 100644
index 00000000000..f7339d71cbc
--- /dev/null
+++ b/app-mobilephone/smsclient/files/smsclient-2.0.9a-sender.patch
@@ -0,0 +1,139 @@
+diff -Nru smsclient-2.0.9a.orig/Changelog smsclient-2.0.9a/Changelog
+--- smsclient-2.0.9a.orig/Changelog 2007-02-03 08:43:40.000000000 +0200
++++ smsclient-2.0.9a/Changelog 2007-02-03 08:43:12.000000000 +0200
+@@ -1,3 +1,7 @@
++2007-02-02 12:00 Andreas Bollhalder <bolle@geodb.org>
++
++ * Added SMS_sender_number to UCP driver
++
+ 2002-03-26 14:00 Koenraad Heijlen <vipie@ulyssis.org>
+
+ RELEASED as 2.0.9a
+diff -Nru smsclient-2.0.9a.orig/sms/services/d2 smsclient-2.0.9a/sms/services/d2
+--- smsclient-2.0.9a.orig/sms/services/d2 2002-03-07 00:04:51.000000000 +0200
++++ smsclient-2.0.9a/sms/services/d2 2007-02-03 08:44:55.000000000 +0200
+@@ -14,6 +14,12 @@
+ SMS_centre_number = "01722278020" # D2 SMSC Number
+
+ # +49 must be added for dialing from outside germany
++
++ # ------------------------------------------------------------
++ # Your sender number.
++ # ------------------------------------------------------------
++
++ # SMS_sender_number = "1234567890"
+ }
+
+ # --------------------------------------------------------------------
+diff -Nru smsclient-2.0.9a.orig/sms/services/kpntext smsclient-2.0.9a/sms/services/kpntext
+--- smsclient-2.0.9a.orig/sms/services/kpntext 2007-02-03 08:43:40.000000000 +0200
++++ smsclient-2.0.9a/sms/services/kpntext 2007-02-03 08:43:12.000000000 +0200
+@@ -16,6 +16,12 @@
+
+ SMS_centre_number = "0665181802" # PTT/KPN Telcom service
+ # centre number
++
++ # ------------------------------------------------------------
++ # Your sender number.
++ # ------------------------------------------------------------
++
++ # SMS_sender_number = "1234567890"
+ }
+
+ # --------------------------------------------------------------------
+diff -Nru smsclient-2.0.9a.orig/sms/services/kpnucp smsclient-2.0.9a/sms/services/kpnucp
+--- smsclient-2.0.9a.orig/sms/services/kpnucp 2007-02-03 08:43:40.000000000 +0200
++++ smsclient-2.0.9a/sms/services/kpnucp 2007-02-03 08:43:12.000000000 +0200
+@@ -16,6 +16,12 @@
+
+ SMS_centre_number = "0653141414" # PTT/KPN Telcom service
+ # centre number
++
++ # ------------------------------------------------------------
++ # Your sender number.
++ # ------------------------------------------------------------
++
++ # SMS_sender_number = "1234567890"
+ }
+
+ # --------------------------------------------------------------------
+diff -Nru smsclient-2.0.9a.orig/sms/services/swisscom smsclient-2.0.9a/sms/services/swisscom
+--- smsclient-2.0.9a.orig/sms/services/swisscom 2007-02-03 08:43:40.000000000 +0200
++++ smsclient-2.0.9a/sms/services/swisscom 2007-02-03 08:43:12.000000000 +0200
+@@ -13,6 +13,12 @@
+
+ SMS_centre_number = "0794998990" # SWISSCOM SMSC Number (Analog V.34)
+ # SMS_centre_number = "0900900941" # SWISSCOM SMSC Number (ISDN V.120)
++
++ # ------------------------------------------------------------
++ # Your sender number.
++ # ------------------------------------------------------------
++
++ # SMS_sender_number = "1234567890"
+ }
+
+ # --------------------------------------------------------------------
+diff -Nru smsclient-2.0.9a.orig/sms/services/telenor smsclient-2.0.9a/sms/services/telenor
+--- smsclient-2.0.9a.orig/sms/services/telenor 2007-02-03 08:43:40.000000000 +0200
++++ smsclient-2.0.9a/sms/services/telenor 2007-02-03 08:43:12.000000000 +0200
+@@ -13,6 +13,12 @@
+
+ SMS_centre_number = "90002198" # TELENOR SMSC Number
+ # From Inside Norway
++
++ # ------------------------------------------------------------
++ # Your sender number.
++ # ------------------------------------------------------------
++
++ # SMS_sender_number = "1234567890"
+ }
+
+ # --------------------------------------------------------------------
+diff -Nru smsclient-2.0.9a.orig/sms/services/telia smsclient-2.0.9a/sms/services/telia
+--- smsclient-2.0.9a.orig/sms/services/telia 2007-02-03 08:43:40.000000000 +0200
++++ smsclient-2.0.9a/sms/services/telia 2007-02-03 08:43:12.000000000 +0200
+@@ -16,6 +16,12 @@
+ # ------------------------------------------------------------
+ # +46 must be added for dialing from outside Sweden
+ # ------------------------------------------------------------
++
++ # ------------------------------------------------------------
++ # Your sender number.
++ # ------------------------------------------------------------
++
++ # SMS_sender_number = "1234567890"
+ }
+
+ # --------------------------------------------------------------------
+diff -Nru smsclient-2.0.9a.orig/src/driver/ucp.c smsclient-2.0.9a/src/driver/ucp.c
+--- smsclient-2.0.9a.orig/src/driver/ucp.c 2007-02-03 08:43:40.000000000 +0200
++++ smsclient-2.0.9a/src/driver/ucp.c 2007-02-03 08:43:12.000000000 +0200
+@@ -184,6 +184,8 @@
+ /* Place any extended driver */
+ /* variables here */
+
++ char *szSenderNumber;
++
+ } driver_env;
+
+ /* -------------------------------------------------------------------- */
+@@ -197,6 +199,7 @@
+ { RESOURCE_NUMERIC, "SMS_timeout", 0, 0, NULL, 0, NULL, 10, &(driver_env.def.timeout) },
+ { RESOURCE_NUMERIC, "SMS_write_timeout", 0, 0, NULL, 0, NULL, 10, &(driver_env.def.write_timeout) },
+ { RESOURCE_NUMERIC, "SMS_max_deliver", 0, 0, NULL, 0, NULL, 1, &(driver_env.def.max_deliver) },
++ { RESOURCE_STRING, "SMS_sender_number", 0, 1, NULL, 0, "", 0, &(driver_env.szSenderNumber) },
+ { RESOURCE_NULL, NULL, 0, 1, NULL, 0, NULL, 0, NULL }
+ };
+
+@@ -248,9 +251,9 @@
+
+
+ /* data: AdC/OAdc/OAC/MT/.. */
+- /* -> recipient///3/... */
++ /* -> recipient/sender//3/... */
+
+- nc = sprintf(msgData, "%s///%1.1d/", msisdn, msgType);
++ nc = sprintf(msgData, "%s/%s//%1.1d/", msisdn, driver_env.szSenderNumber, msgType);
+
+ /* ... additional parameters depending on MT */
+ /* For MT=3 (alphanumeric) this is hex coded */
diff --git a/app-mobilephone/smsclient/metadata.xml b/app-mobilephone/smsclient/metadata.xml
new file mode 100644
index 00000000000..9f862b6d86d
--- /dev/null
+++ b/app-mobilephone/smsclient/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+ <longdescription>SMS Client is a UNIX command line based utility which allows you to send SMS messages to mobile phones and pagers.</longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/smsclient/smsclient-2.0.9a-r1.ebuild b/app-mobilephone/smsclient/smsclient-2.0.9a-r1.ebuild
new file mode 100644
index 00000000000..dc83ac068a9
--- /dev/null
+++ b/app-mobilephone/smsclient/smsclient-2.0.9a-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils user
+
+DESCRIPTION="Utility to send SMS messages to mobile phones and pagers"
+HOMEPAGE="http://www.smsclient.org"
+SRC_URI="http://www.smsclient.org/download/${PN}-${PV%?}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+pkg_setup() {
+ enewgroup dialout
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-gentoo.patch"
+ epatch "${FILESDIR}/${P}-sender.patch"
+ sed -i -e \
+ "s:\$(CFLAGS) -o:\$(CFLAGS) \$(LDFLAGS) -o:g" \
+ src/client/Makefile
+}
+
+src_configure() {
+ rm .configured && ./configure
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR) rc" \
+ RANLIB="$(tc-getRANLIB)" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dosym sms_client /usr/bin/smsclient
+ dosym sms_address /usr/bin/smsaddress
+
+ diropts -g dialout -m 0770
+ keepdir /var/lock/sms
+ diropts
+
+ doman docs/sms_client.1
+ dodoc AUTHORS Changelog* FAQ README* TODO docs/sms_protocol
+}
+
+pkg_config() {
+ local MY_LOGFILE="${ROOT}/var/log/smsclient.log"
+ [ -f "${MY_LOGFILE}" ] || touch "${MY_LOGFILE}"
+ fowners :dialout "${MY_LOGFILE}"
+ fperms g+rwx,o-rwx "${MY_LOGFILE}"
+}
+
+pkg_postinst() {
+ einfo "If you run sms_client as normal user, make sure you are member of dialout group."
+}
diff --git a/app-mobilephone/smssend/Manifest b/app-mobilephone/smssend/Manifest
new file mode 100644
index 00000000000..81cf96eb0ee
--- /dev/null
+++ b/app-mobilephone/smssend/Manifest
@@ -0,0 +1 @@
+DIST smssend-3.4.tar.gz 407556 SHA256 1f402c34fb61c409488a7806e53aac349038758eef431376714d206de9bf13d0 SHA512 028826fdaff932a8c384d510155af4e868665e1c6989cd6856067128a445a850ef35d6701b8daa73d0ed41ee193e26a2034c0b4a03ea2a35113973ee00d71d8d WHIRLPOOL 14862a733aafd18e6ba0a9d122749e8867216ecbdae150ba8da2df139cdb9914697eba92d93de51083554e5d12bd23a60cb1dd20648a1df42ad009bd8d9061ee
diff --git a/app-mobilephone/smssend/files/smssend-3.4-verizon.diff b/app-mobilephone/smssend/files/smssend-3.4-verizon.diff
new file mode 100644
index 00000000000..3496a083436
--- /dev/null
+++ b/app-mobilephone/smssend/files/smssend-3.4-verizon.diff
@@ -0,0 +1,34 @@
+diff -Nur smssend-3.4/scripts/Makefile.am smssend-3.4-new/scripts/Makefile.am
+--- smssend-3.4/scripts/Makefile.am 2004-01-11 13:31:29.000000000 -0500
++++ smssend-3.4-new/scripts/Makefile.am 2004-12-16 02:01:28.141681368 -0500
+@@ -2,6 +2,6 @@
+
+ AUTOMAKE_OPTIONS = no-dependencies dist-shar
+
+-pkgdata_DATA = 130sms.sms 1rstwap.sms 6sensreg.sms 6sens.sms a1_globalsms.sms amazonia.sms americel.sms armgsm.sms atl.sms attwireless.sms banana.sms basemine.sms bcp.sms bell.sms bol_rus.sms bol.sms boltblue.sms bramka.sms bwc.sms clarodigital.sms claro.sms clubmessage.sms comcel.sms coolsmsdk-fast.sms coolsmsdk.sms cosmos.sms cricket.sms ebol.sms e-merge.sms ems-iwarp.sms ermak_rus.sms etsity.sms eurobate.sms eurotel.sms everyday.sms exoset.sms extel-gsm.sms fajront.sms fido.sms freenet.sms freesmsau.sms ft.sms globtel.sms gmxde.sms goingtonight.sms golden.sms gomobile.sms gorizont-rt.sms gtnet.sms halebop.sms hooya.sms hotsms.sms indosat-m3.sms info2you.sms ingyensms.sms inwind.sms iol.sms kiyvstar.sms kyivstar.sms lycosde.sms lycosse.sms lycos.sms lycosuk.sms mageos.sms maxitel.sms megaforums.sms mobimel.sms mobitag.sms mobitel.sms mtnsms.sms mtsmb.sms mts.sms mtsspb.sms mufa.sms mybegin.sms natelskyline.sms netcom.sms netzquadrat.sms nwgsm.sms o2-genie.sms oi.sms onelv.sms orangeportal.sms orange.sms orf.sms oskar.sms paegas.sms pager.sms passagen.sms planet.sms plus.sms proximus.sms quick.sms rekom.sms rogers.sms room33.sms scs-900.sms sfr.sms simobil.sms smarts.sms sms_ac.sms smsitaly.sms smspress.sms smsro.sms sprintpcs.sms starhub.sms suomi24.sms surfeu.sms tango.sms tankssms.sms telebahiacelular.sms telemig.sms telering.sms tess.sms timnordeste.sms timsul.sms t-mobile.sms totalise.sms touristik.sms ubootflash.sms uboot.sms umail.sms umc.sms unimobile.sms universal.sms vivo.sms vizzavifr.sms vizzavigr.sms vizzaviuk.sms vodacom.sms yab.sms
++pkgdata_DATA = 130sms.sms 1rstwap.sms 6sensreg.sms 6sens.sms a1_globalsms.sms amazonia.sms americel.sms armgsm.sms atl.sms attwireless.sms banana.sms basemine.sms bcp.sms bell.sms bol_rus.sms bol.sms boltblue.sms bramka.sms bwc.sms clarodigital.sms claro.sms clubmessage.sms comcel.sms coolsmsdk-fast.sms coolsmsdk.sms cosmos.sms cricket.sms ebol.sms e-merge.sms ems-iwarp.sms ermak_rus.sms etsity.sms eurobate.sms eurotel.sms everyday.sms exoset.sms extel-gsm.sms fajront.sms fido.sms freenet.sms freesmsau.sms ft.sms globtel.sms gmxde.sms goingtonight.sms golden.sms gomobile.sms gorizont-rt.sms gtnet.sms halebop.sms hooya.sms hotsms.sms indosat-m3.sms info2you.sms ingyensms.sms inwind.sms iol.sms kiyvstar.sms kyivstar.sms lycosde.sms lycosse.sms lycos.sms lycosuk.sms mageos.sms maxitel.sms megaforums.sms mobimel.sms mobitag.sms mobitel.sms mtnsms.sms mtsmb.sms mts.sms mtsspb.sms mufa.sms mybegin.sms natelskyline.sms netcom.sms netzquadrat.sms nwgsm.sms o2-genie.sms oi.sms onelv.sms orangeportal.sms orange.sms orf.sms oskar.sms paegas.sms pager.sms passagen.sms planet.sms plus.sms proximus.sms quick.sms rekom.sms rogers.sms room33.sms scs-900.sms sfr.sms simobil.sms smarts.sms sms_ac.sms smsitaly.sms smspress.sms smsro.sms sprintpcs.sms starhub.sms suomi24.sms surfeu.sms tango.sms tankssms.sms telebahiacelular.sms telemig.sms telering.sms tess.sms timnordeste.sms timsul.sms t-mobile.sms totalise.sms touristik.sms ubootflash.sms uboot.sms umail.sms umc.sms unimobile.sms universal.sms verizon.sms vivo.sms vizzavifr.sms vizzavigr.sms vizzaviuk.sms vodacom.sms yab.sms
+
+-EXTRA_DIST = 130sms.sms 1rstwap.sms 6sensreg.sms 6sens.sms a1_globalsms.sms amazonia.sms americel.sms armgsm.sms atl.sms attwireless.sms banana.sms basemine.sms bcp.sms bell.sms bol_rus.sms bol.sms boltblue.sms bramka.sms bwc.sms clarodigital.sms claro.sms clubmessage.sms comcel.sms coolsmsdk-fast.sms coolsmsdk.sms cosmos.sms cricket.sms ebol.sms e-merge.sms ems-iwarp.sms ermak_rus.sms etsity.sms eurobate.sms eurotel.sms everyday.sms exoset.sms extel-gsm.sms fajront.sms fido.sms freenet.sms freesmsau.sms ft.sms globtel.sms gmxde.sms goingtonight.sms golden.sms gomobile.sms gorizont-rt.sms gtnet.sms halebop.sms hooya.sms hotsms.sms indosat-m3.sms info2you.sms ingyensms.sms inwind.sms iol.sms kiyvstar.sms kyivstar.sms lycosde.sms lycosse.sms lycos.sms lycosuk.sms mageos.sms maxitel.sms megaforums.sms mobimel.sms mobitag.sms mobitel.sms mtnsms.sms mtsmb.sms mts.sms mtsspb.sms mufa.sms mybegin.sms natelskyline.sms netcom.sms netzquadrat.sms nwgsm.sms o2-genie.sms oi.sms onelv.sms orangeportal.sms orange.sms orf.sms oskar.sms paegas.sms pager.sms passagen.sms planet.sms plus.sms proximus.sms quick.sms rekom.sms rogers.sms room33.sms scs-900.sms sfr.sms simobil.sms smarts.sms sms_ac.sms smsitaly.sms smspress.sms smsro.sms sprintpcs.sms starhub.sms suomi24.sms surfeu.sms tango.sms tankssms.sms telebahiacelular.sms telemig.sms telering.sms tess.sms timnordeste.sms timsul.sms t-mobile.sms totalise.sms touristik.sms ubootflash.sms uboot.sms umail.sms umc.sms unimobile.sms universal.sms vivo.sms vizzavifr.sms vizzavigr.sms vizzaviuk.sms vodacom.sms yab.sms
++EXTRA_DIST = 130sms.sms 1rstwap.sms 6sensreg.sms 6sens.sms a1_globalsms.sms amazonia.sms americel.sms armgsm.sms atl.sms attwireless.sms banana.sms basemine.sms bcp.sms bell.sms bol_rus.sms bol.sms boltblue.sms bramka.sms bwc.sms clarodigital.sms claro.sms clubmessage.sms comcel.sms coolsmsdk-fast.sms coolsmsdk.sms cosmos.sms cricket.sms ebol.sms e-merge.sms ems-iwarp.sms ermak_rus.sms etsity.sms eurobate.sms eurotel.sms everyday.sms exoset.sms extel-gsm.sms fajront.sms fido.sms freenet.sms freesmsau.sms ft.sms globtel.sms gmxde.sms goingtonight.sms golden.sms gomobile.sms gorizont-rt.sms gtnet.sms halebop.sms hooya.sms hotsms.sms indosat-m3.sms info2you.sms ingyensms.sms inwind.sms iol.sms kiyvstar.sms kyivstar.sms lycosde.sms lycosse.sms lycos.sms lycosuk.sms mageos.sms maxitel.sms megaforums.sms mobimel.sms mobitag.sms mobitel.sms mtnsms.sms mtsmb.sms mts.sms mtsspb.sms mufa.sms mybegin.sms natelskyline.sms netcom.sms netzquadrat.sms nwgsm.sms o2-genie.sms oi.sms onelv.sms orangeportal.sms orange.sms orf.sms oskar.sms paegas.sms pager.sms passagen.sms planet.sms plus.sms proximus.sms quick.sms rekom.sms rogers.sms room33.sms scs-900.sms sfr.sms simobil.sms smarts.sms sms_ac.sms smsitaly.sms smspress.sms smsro.sms sprintpcs.sms starhub.sms suomi24.sms surfeu.sms tango.sms tankssms.sms telebahiacelular.sms telemig.sms telering.sms tess.sms timnordeste.sms timsul.sms t-mobile.sms totalise.sms touristik.sms ubootflash.sms uboot.sms umail.sms umc.sms unimobile.sms universal.sms verizon.sms vivo.sms vizzavifr.sms vizzavigr.sms vizzaviuk.sms vodacom.sms yab.sms
+diff -Nur smssend-3.4/scripts/verizon.sms smssend-3.4-new/scripts/verizon.sms
+--- smssend-3.4/scripts/verizon.sms 1969-12-31 19:00:00.000000000 -0500
++++ smssend-3.4-new/scripts/verizon.sms 2004-12-16 02:00:43.056535352 -0500
+@@ -0,0 +1,18 @@
++#messaging.verizonwireless.com
++#Version 1.0
++#Dane Jackson <dane@unixbigots.org>
++
++NbParams 3
++%Number : The phone number should be 10 digits
++%CallbackNumber : Your phone number - 1 or more digits
++%Message Size=160 Convert : Your message
++
++# Sending message
++# The only important part that's different from the submittal page
++# instead of the disclaimer page is the disclaimer_submit key. So
++# we can just skip the first page.
++
++PostURL http://www.vtext.com/customer_site/jsp/disclaimer.jsp
++PostData min=\%Number%&text=\%Message%&counter=160&sender=\%CallbackNumber%&trackResponses=No&DOMAIN_NAME=@vtext.com&disclaimer_submit=On
++GO
++
diff --git a/app-mobilephone/smssend/metadata.xml b/app-mobilephone/smssend/metadata.xml
new file mode 100644
index 00000000000..effbbf33eac
--- /dev/null
+++ b/app-mobilephone/smssend/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/app-mobilephone/smssend/smssend-3.4.ebuild b/app-mobilephone/smssend/smssend-3.4.ebuild
new file mode 100644
index 00000000000..f1cb9770967
--- /dev/null
+++ b/app-mobilephone/smssend/smssend-3.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools
+
+DESCRIPTION="Universal SMS sender"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" # was http://zekiller.skytech.org/smssend_menu_en.html
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86"
+IUSE=""
+
+DEPEND=">=dev-libs/skyutils-2.7"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die
+ # Patch for Verizon Wireless support
+ # absinthe@gentoo.org 12/16
+ epatch "${FILESDIR}/${P}-verizon.diff"
+
+ eautoreconf
+}
+
+src_install () {
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/app-mobilephone/smstools/Manifest b/app-mobilephone/smstools/Manifest
new file mode 100644
index 00000000000..e51e3fdb0e2
--- /dev/null
+++ b/app-mobilephone/smstools/Manifest
@@ -0,0 +1 @@
+DIST smstools3-3.1.15.tar.gz 300088 SHA256 ed00ffaeaa312a5b4f969f4e97a64603a866bbe16e393ea02f5bf05234814d59 SHA512 6a4cc852327fac27b00fc58def4bbc8caa395552586fe1b84f0f4a9f7f6b00008943b85c86de0821036629c58cf04840a189d711b4ac96f7ddaafd6b340b11fa WHIRLPOOL b394c4c620622dcfdf1d0b098a51f589ee59869fbd58c0b778e51f76335a396c3d4972423374f2ee191263cf7c350cf2432e0b120f594f77f17cdbbcc4b4e974
diff --git a/app-mobilephone/smstools/files/2.2.1-skip-dirlock.patch b/app-mobilephone/smstools/files/2.2.1-skip-dirlock.patch
new file mode 100644
index 00000000000..64336eed98a
--- /dev/null
+++ b/app-mobilephone/smstools/files/2.2.1-skip-dirlock.patch
@@ -0,0 +1,38 @@
+--- src/extras.c.orig 2006-06-15 10:45:59.000000000 +0100
++++ src/extras.c 2006-06-15 10:45:39.000000000 +0100
+@@ -178,20 +178,21 @@
+ stat(filename,&statbuf);
+ if (S_ISDIR(statbuf.st_mode)==0) /* Is this a directory? */
+ {
+- /* File found, check for lock file */
+- if (strstr(filename,".LOCK")==0) /* Is the file a lock file itself? */
+- if (!islocked(filename)) /* no, is there a lock file for this file? */
+- {
+- /* check if the file grows at the moment (another program writes to it) */
+- int groesse1;
+- int groesse2;
+- groesse1=statbuf.st_size;
+- sleep(1);
+- stat(filename,&statbuf);
+- groesse2=statbuf.st_size;
+- if (groesse1==groesse2)
+- found=1;
+- }
++ /* File found, check for lock file and skip portage directory locks */
++ if (strstr(filename,".keep")==0) /* Is it a portage directory lock? */
++ if (strstr(filename,".LOCK")==0) /* Is the file a lock file itself? */
++ if (!islocked(filename)) /* no, is there a lock file for this file? */
++ {
++ /* check if the file grows at the moment (another program writes to it) */
++ int groesse1;
++ int groesse2;
++ groesse1=statbuf.st_size;
++ sleep(1);
++ stat(filename,&statbuf);
++ groesse2=statbuf.st_size;
++ if (groesse1==groesse2)
++ found=1;
++ }
+ }
+ }
+ closedir(dirdata);
diff --git a/app-mobilephone/smstools/files/2.2.13-sendsms-chmod.patch b/app-mobilephone/smstools/files/2.2.13-sendsms-chmod.patch
new file mode 100644
index 00000000000..716e316c487
--- /dev/null
+++ b/app-mobilephone/smstools/files/2.2.13-sendsms-chmod.patch
@@ -0,0 +1,9 @@
+diff -uNr smstools.ORIG/scripts/sendsms smstools/scripts/sendsms
+--- smstools.ORIG/scripts/sendsms 2006-12-02 15:26:09.000000000 +0000
++++ smstools/scripts/sendsms 2006-12-02 15:26:52.000000000 +0000
+@@ -26,3 +26,5 @@
+ echo "" >> $FILE
+ echo -n "$TEXT" >> $FILE
+
++chmod 660 $FILE
++
diff --git a/app-mobilephone/smstools/files/3.1.15-makefile-whitespace.patch b/app-mobilephone/smstools/files/3.1.15-makefile-whitespace.patch
new file mode 100644
index 00000000000..70455bef6c5
--- /dev/null
+++ b/app-mobilephone/smstools/files/3.1.15-makefile-whitespace.patch
@@ -0,0 +1,11 @@
+--- smstools3/src/Makefile.old 2014-04-25 23:28:46.324045112 +1000
++++ smstools3/src/Makefile 2014-04-25 23:33:26.453061496 +1000
+@@ -43,7 +43,7 @@
+
+ ifneq (,$(findstring SOLARIS,$(CFLAGS)))
+ ifeq (,$(findstring DISABLE_INET_SOCKET,$(CFLAGS)))
+-override LFLAGS += -lsocket -lnsl
++ override LFLAGS += -lsocket -lnsl
+ endif
+ endif
+
diff --git a/app-mobilephone/smstools/files/smsd.initd b/app-mobilephone/smstools/files/smsd.initd
new file mode 100755
index 00000000000..849449dc48b
--- /dev/null
+++ b/app-mobilephone/smstools/files/smsd.initd
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need localmount
+}
+
+start() {
+ ebegin "Starting smsd"
+ start-stop-daemon -b -m -p /var/run/smsd.pid -c smsd:sms --start --exec /usr/bin/smsd -- \
+ -c /etc/smsd.conf
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping smsd"
+ start-stop-daemon --stop -p /var/run/smsd.pid
+ eend ${?}
+}
diff --git a/app-mobilephone/smstools/files/smsd.initd2 b/app-mobilephone/smstools/files/smsd.initd2
new file mode 100644
index 00000000000..b6117ab1abf
--- /dev/null
+++ b/app-mobilephone/smstools/files/smsd.initd2
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need localmount
+}
+
+start() {
+ chown smsd:sms /var/log/smsd.log
+ ebegin "Starting smsd"
+ start-stop-daemon -b -u smsd:sms --start --exec /usr/bin/smsd -- \
+ -c /etc/smsd.conf
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping smsd"
+ start-stop-daemon --stop -n smsd
+ eend ${?}
+}
diff --git a/app-mobilephone/smstools/files/smsd.initd3 b/app-mobilephone/smstools/files/smsd.initd3
new file mode 100644
index 00000000000..1f585946a44
--- /dev/null
+++ b/app-mobilephone/smstools/files/smsd.initd3
@@ -0,0 +1,31 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need localmount
+}
+
+start() {
+ if ! [ -d /var/run/smsd ]; then
+ ebegin "Creating /var/run/smsd for ${SVCNAME}"
+ mkdir /var/run/smsd \
+ && chown smsd:sms /var/run/smsd \
+ && chmod 770 /var/run/smsd
+ eend $?
+ fi
+
+ chown smsd:sms /var/log/smsd.log
+ ebegin "Starting smsd"
+ start-stop-daemon -b -u smsd:sms --start --exec /usr/bin/smsd -- \
+ -c /etc/smsd.conf -p /var/run/smsd/smsd.pid \
+ -i /var/run/smsd/smsd.working
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping smsd"
+ start-stop-daemon --stop -n smsd
+ eend ${?}
+}
diff --git a/app-mobilephone/smstools/files/smsd.service b/app-mobilephone/smstools/files/smsd.service
new file mode 100644
index 00000000000..1fb436681b4
--- /dev/null
+++ b/app-mobilephone/smstools/files/smsd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=SMS Server Tools 3
+
+[Service]
+User=smsd
+PIDFile=/run/smsd/smsd.pid
+ExecStart=/usr/bin/smsd -n MAINPROCESS -l/var/log/smsd.log \
+ -p/run/smsd/smsd.pid -i/run/smsd/smsd.working
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-mobilephone/smstools/files/smsd.tmpfiles b/app-mobilephone/smstools/files/smsd.tmpfiles
new file mode 100644
index 00000000000..8978d18f54a
--- /dev/null
+++ b/app-mobilephone/smstools/files/smsd.tmpfiles
@@ -0,0 +1 @@
+d /run/smsd 0755 smsd sms -
diff --git a/app-mobilephone/smstools/metadata.xml b/app-mobilephone/smstools/metadata.xml
new file mode 100644
index 00000000000..eae00d6bb35
--- /dev/null
+++ b/app-mobilephone/smstools/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>chainsaw@gentoo.org</email>
+ <name>Tony Vroon</name>
+</maintainer>
+<use>
+ <flag name='stats'>Enable statistic reporting</flag>
+</use>
+</pkgmetadata>
diff --git a/app-mobilephone/smstools/smstools-3.1.15-r1.ebuild b/app-mobilephone/smstools/smstools-3.1.15-r1.ebuild
new file mode 100644
index 00000000000..0139828c7ad
--- /dev/null
+++ b/app-mobilephone/smstools/smstools-3.1.15-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit systemd toolchain-funcs user
+
+DESCRIPTION="Send and receive short messages through GSM modems"
+HOMEPAGE="http://smstools3.kekekasvi.com/"
+SRC_URI="http://smstools3.kekekasvi.com/packages/smstools3-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~ppc"
+IUSE="stats"
+
+DEPEND=""
+RDEPEND="sys-process/procps
+ stats? ( >=dev-libs/mm-1.4.0 )"
+
+S="${WORKDIR}/${PN}3"
+
+pkg_setup() {
+ enewgroup sms
+ enewuser smsd -1 -1 /var/spool/sms sms
+}
+
+src_prepare() {
+ if use stats; then
+ sed -i -e "s:CFLAGS += -D NOSTATS:#CFLAGS += -D NOSTATS:" \
+ "${S}/src/Makefile" || die
+ fi
+ echo "CFLAGS += ${CFLAGS}" >> src/Makefile || die
+}
+
+src_compile() {
+ cd src || die
+ emake \
+ CC="$(tc-getCC)" \
+ LFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin src/smsd
+ cd scripts || die
+ dobin sendsms sms2html sms2unicode unicode2sms
+ dobin hex2bin hex2dec email2sms
+ dodoc mysmsd smsevent smsresend sms2xml sql_demo \
+ smstest.php checkhandler-utf-8 eventhandler-utf-8 \
+ forwardsms regular_run
+ cd .. || die
+
+ keepdir /var/spool/sms/incoming
+ keepdir /var/spool/sms/outgoing
+ keepdir /var/spool/sms/checked
+ fowners -R smsd:sms /var/spool/sms
+ fperms g+s /var/spool/sms/incoming
+
+ newinitd "${FILESDIR}"/smsd.initd3 smsd
+ insopts -o smsd -g sms -m0644
+ insinto /etc
+ newins examples/smsd.conf.easy smsd.conf
+ dohtml -r doc
+
+ systemd_dounit "${FILESDIR}"/smsd.service
+ systemd_newtmpfilesd "${FILESDIR}"/smsd.tmpfiles smsd.conf
+}
+
+pkg_postinst() {
+ touch "${ROOT}"/var/log/smsd.log || die
+ chown -f smsd:sms "${ROOT}"/var/log/smsd.log
+}
diff --git a/app-mobilephone/smstools/smstools-3.1.15-r2.ebuild b/app-mobilephone/smstools/smstools-3.1.15-r2.ebuild
new file mode 100644
index 00000000000..ee74fa92f8e
--- /dev/null
+++ b/app-mobilephone/smstools/smstools-3.1.15-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit systemd toolchain-funcs user eutils
+
+DESCRIPTION="Send and receive short messages through GSM modems"
+HOMEPAGE="http://smstools3.kekekasvi.com/"
+SRC_URI="http://smstools3.kekekasvi.com/packages/smstools3-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~ppc"
+IUSE="stats"
+
+DEPEND=""
+RDEPEND="sys-process/procps
+ stats? ( >=dev-libs/mm-1.4.0 )"
+
+S="${WORKDIR}/${PN}3"
+
+pkg_setup() {
+ enewgroup sms
+ enewuser smsd -1 -1 /var/spool/sms sms
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-makefile-whitespace.patch"
+ if use stats; then
+ sed -i -e "s:CFLAGS += -D NOSTATS:#CFLAGS += -D NOSTATS:" \
+ "${S}/src/Makefile" || die
+ fi
+ echo "CFLAGS += ${CFLAGS}" >> src/Makefile || die
+}
+
+src_compile() {
+ cd src || die
+ emake \
+ CC="$(tc-getCC)" \
+ LFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin src/smsd
+ cd scripts || die
+ dobin sendsms sms2html sms2unicode unicode2sms
+ dobin hex2bin hex2dec email2sms
+ dodoc mysmsd smsevent smsresend sms2xml sql_demo \
+ smstest.php checkhandler-utf-8 eventhandler-utf-8 \
+ forwardsms regular_run
+ cd .. || die
+
+ keepdir /var/spool/sms/incoming
+ keepdir /var/spool/sms/outgoing
+ keepdir /var/spool/sms/checked
+ fowners -R smsd:sms /var/spool/sms
+ fperms g+s /var/spool/sms/incoming
+
+ newinitd "${FILESDIR}"/smsd.initd3 smsd
+ insopts -o smsd -g sms -m0644
+ insinto /etc
+ newins examples/smsd.conf.easy smsd.conf
+ dohtml -r doc
+
+ systemd_dounit "${FILESDIR}"/smsd.service
+ systemd_newtmpfilesd "${FILESDIR}"/smsd.tmpfiles smsd.conf
+}
+
+pkg_postinst() {
+ touch "${ROOT}"/var/log/smsd.log || die
+ chown -f smsd:sms "${ROOT}"/var/log/smsd.log
+}
diff --git a/app-mobilephone/sobexsrv/Manifest b/app-mobilephone/sobexsrv/Manifest
new file mode 100644
index 00000000000..03962875d7d
--- /dev/null
+++ b/app-mobilephone/sobexsrv/Manifest
@@ -0,0 +1,2 @@
+DIST sobexsrv-1.0.1-fix64.patch 25040 SHA256 83e052e7a63fb53b74b81d51cd5d614a5df29626243700b632c0d14832497cf8 SHA512 9d555bee8d03c13061bbe132df6442daa4d8817ef713e92e5150b1994af110c5b01b34f8bcc1c3ae734529e36bb70f56976ab261f860e95e3de3ffe440a7b393 WHIRLPOOL 4b177c4b4afb921f6580b761ed74845ed27a800b7a0b89ea57e8ed6a28670d2499f44a92688d4c852fbd8562488cda355d5f96ae795dc4bad05a459883499f87
+DIST sobexsrv-1.0.1.tar.gz 27683 SHA256 d3b6db12eb8d0c06d0b7845ca64213e5beb042dd0f1a2e7a753cb7b4b0596069 SHA512 52fe5eff812596caa1f4b8579740ce8b2591db17950d68c093cfdb33ca5b899bfc5c142594843948a29ae0b1bdbe4499a1e24c270c92e61d02fd07a02d9d40cd WHIRLPOOL 984a9413b9e73d570918d115665220bb9beac1dd6a8afb5418eb199be7c369bf6ab81411d746ff51f6b427b2fa77045a3e9d19b2acd7b4de5d330a1c6ab33ba4
diff --git a/app-mobilephone/sobexsrv/files/conf.d_sobexsrv b/app-mobilephone/sobexsrv/files/conf.d_sobexsrv
new file mode 100644
index 00000000000..1afdc0c772e
--- /dev/null
+++ b/app-mobilephone/sobexsrv/files/conf.d_sobexsrv
@@ -0,0 +1,35 @@
+# /etc/conf.d/sobexsrv
+# Config file for sobexsrv daemon
+
+# owner of sobexsrv process (don't change, must be existing)
+USER="sobexsrv"
+GROUP="sobexsrv"
+
+# Incomming of pushed files
+INBOX="/var/spool/sobexsrv"
+
+# chroot to INBOX.
+# *NEEDS* the binary to be suid root (not installed by default).
+#CHROOT="yes"
+
+# Listen on the specified RFCOMM channel. If this option is not specified the
+# first available channel will be used. Legal range for channel is 1-31 and 0
+# to force auto selection of first available channel.
+CHANNEL="10"
+
+# Set Bluetooth security mode-2 level. Legal values are: 1 (insecure) every-
+# body can connect, 2 authentication required and 3 authentication and encryp-
+# tion required.
+SECURITY_LEVEL="2"
+
+# Don't register OPUSH service at local ServiceDiscoveryProtocol Server.
+#DISABLE_OPUSH="yes"
+# Don't register OBEX-FTP service at local ServiceDiscoveryProtocol Server.
+DISABLE_OBEXFTP="yes"
+DISABLE_OBEXFTP_LISTING="yes"
+
+# Enable transfer log via syslog(8).
+USE_SYSLOG="yes"
+
+# Additional options. See sobexsrv(8)
+#SOBEXSRV_OPT="-l NPTD -m /etc/sobexsrv-mime"
diff --git a/app-mobilephone/sobexsrv/files/init.d_sobexsrv b/app-mobilephone/sobexsrv/files/init.d_sobexsrv
new file mode 100644
index 00000000000..a1e5cd95889
--- /dev/null
+++ b/app-mobilephone/sobexsrv/files/init.d_sobexsrv
@@ -0,0 +1,59 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need bluetooth
+ use logger
+}
+
+check_config() {
+ if [[ -z "${USER}" ]] ; then
+ eerror "Please set \$USER in /etc/conf.d/sobexsrv!"
+ return 1
+ fi
+ if [[ -z "${GROUP}" ]] ; then
+ eerror "Please set \$GROUP in /etc/conf.d/sobexsrv!"
+ return 1
+ fi
+
+ if [[ ${CHROOT} == "yes" ]] ; then
+ if [[ ! -u /usr/bin/sobexsrv ]] ; then
+ eerror "The \$CHROOT option requires /usr/bin/sobexsrv to be suid root!"
+ return 1
+ fi
+ fi
+
+ if [[ -z "${INBOX}" || ! -e "${INBOX}" ]] ; then
+ eerror "Please configure \$INBOX correctly in /etc/conf.d/sobexsrv!"
+ return 1
+ fi
+}
+
+
+start() {
+ check_config || return 1
+
+ ebegin "Starting sobexsrv"
+
+ OPTIONS=""
+ [[ -n "${CHANNEL}" ]] && OPTIONS="${OPTIONS} -c ${CHANNEL}"
+ [[ -n "${SECURITY_LEVEL}" ]] && OPTIONS="${OPTIONS} -s ${SECURITY_LEVEL}"
+ [[ "${CHROOT}" == "yes" ]] && OPTIONS="${OPTIONS} -R"
+ [[ "${DISABLE_OPUSH}" == "yes" ]] && OPTIONS="${OPTIONS} -o"
+ [[ "${DISABLE_OBEXFTP}" == "yes" ]] && OPTIONS="${OPTIONS} -f"
+ [[ "${DISABLE_OBEXFTP_LISTING}" == "yes" ]] && OPTIONS="${OPTIONS} -F"
+ [[ "${USE_SYSLOG}" == "yes" ]] && OPTIONS="${OPTIONS} -S"
+
+ OPTIONS="-I -r ${INBOX} ${OPTIONS} ${SOBEXSRV_OPT}"
+
+ start-stop-daemon --chuid ${USER}:${GROUP} --start --quiet --exec /usr/bin/sobexsrv -- $OPTIONS
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping sobexsrv"
+ start-stop-daemon --stop --quiet --exec /usr/bin/sobexsrv
+ eend $?
+}
diff --git a/app-mobilephone/sobexsrv/metadata.xml b/app-mobilephone/sobexsrv/metadata.xml
new file mode 100644
index 00000000000..740257557dd
--- /dev/null
+++ b/app-mobilephone/sobexsrv/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>joker@gentoo.org</email>
+ <name>Christian Birchinger</name>
+</maintainer>
+ <longdescription>sobexsrv is a Bluetooth OBEX server with Bluetooth
+Security Mode-2 (application triggered security) support. It implements
+OPUSH (put), OPULL (get) and OBEX-FTP (setpath + directory listing) and
+therefore is a full OBEX server. Further it supports pulling generic
+mime-types and provides a capability object. sobexsrv was designed with
+flexibility and security in mind and supports chroot (if suid root drop to
+calling uid immediately). For flexibility a scripting interface provides
+access to all functionalities of the server and therefore allows
+implementation of further OBEX services on top of sobexsrv.</longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/sobexsrv/sobexsrv-1.0.1.ebuild b/app-mobilephone/sobexsrv/sobexsrv-1.0.1.ebuild
new file mode 100644
index 00000000000..a3246ca6294
--- /dev/null
+++ b/app-mobilephone/sobexsrv/sobexsrv-1.0.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs user
+
+MY_P="${P/_pre/pre}"
+
+IUSE="gtk"
+
+DESCRIPTION="Scripting/Secure OBEX Server (for BlueZ Linux)"
+SRC_URI="http://www.mulliner.org/bluetooth/${MY_P}.tar.gz
+ http://dev.gentoo.org/~joker/${P}-fix64.patch"
+HOMEPAGE="http://www.mulliner.org/bluetooth/sobexsrv.php"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ppc x86"
+
+DEPEND="dev-libs/openobex
+ net-wireless/bluez"
+RDEPEND="${DEPEND}
+ gtk? ( >=dev-python/pygtk-2.2 )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewgroup sobexsrv
+ enewuser sobexsrv -1 -1 /var/spool/sobexsrv sobexsrv
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+
+ epatch "${DISTDIR}/${P}"-fix64.patch || die "fix64 patch failed"
+
+ sed -e 's:/usr/man/man8:/usr/share/man/man8:' \
+ -i Makefile
+
+ sed -e 's/^CFLAGS =/CFLAGS +=/' \
+ -e 's/^CC =/CC ?=/' \
+ -e 's/$(CC) $(CFLAGS)/$(CC) $(LDFLAGS) $(CFLAGS)/' \
+ -i src/Makefile
+}
+
+src_compile() {
+ tc-export CC
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHOR CHANGELOG CONFIG README SECURITY TODO
+
+ use gtk || rm "${D}/usr/bin/sobexsrv_handler"
+
+ newinitd "${FILESDIR}/init.d_sobexsrv" sobexsrv
+ newconfd "${FILESDIR}/conf.d_sobexsrv" sobexsrv
+
+ keepdir /var/spool/sobexsrv
+ fowners sobexsrv:sobexsrv /var/spool/sobexsrv
+}
+
+pkg_postinst() {
+ elog
+ elog "/usr/bin/sobexsrv is *NOT* installed set-uid root by"
+ elog "default. suid is required for the chroot option (-R)."
+ elog
+ elog "Execute the following commands to enable suid:"
+ elog
+ elog "chown root:sobexsrv /usr/bin/sobexsrv"
+ elog "chmod 4710 /usr/bin/sobexsrv"
+ elog
+}
diff --git a/app-mobilephone/vmoconv/Manifest b/app-mobilephone/vmoconv/Manifest
new file mode 100644
index 00000000000..6eeb8397edd
--- /dev/null
+++ b/app-mobilephone/vmoconv/Manifest
@@ -0,0 +1 @@
+DIST vmoconv-1.0.tar.gz 315028 SHA256 1a20cab89f4f7f30bf5d14243b944921420b482e1f7c0d5dd1c4ad9df9e37528 SHA512 c4bd65f2c034317e43736198eaea6a3cfbbc6be015dc1ac5efa51633c2779bf5af87ea037084173b377a7521538e4a235f264b5f09fedcdaf7f4a815289a7ec2 WHIRLPOOL 1afe830d72e150741e5a9cce954a0618a86a192329bf6ead5eae44579397e48caea9542239ca874c27c7d022f6b99385e5e3ea0a88d8b7f14945d0f405beaff2
diff --git a/app-mobilephone/vmoconv/files/vmoconv-1.0-external-libgsm.patch b/app-mobilephone/vmoconv/files/vmoconv-1.0-external-libgsm.patch
new file mode 100644
index 00000000000..8ab3670aa09
--- /dev/null
+++ b/app-mobilephone/vmoconv/files/vmoconv-1.0-external-libgsm.patch
@@ -0,0 +1,36 @@
+diff -Nru vmoconv-1.0.orig/src/Makefile.am vmoconv-1.0/src/Makefile.am
+--- vmoconv-1.0.orig/src/Makefile.am 2003-02-17 21:39:18.000000000 +0000
++++ vmoconv-1.0/src/Makefile.am 2009-03-03 21:24:12.000000000 +0000
+@@ -1,32 +1,6 @@
+
+-noinst_LTLIBRARIES = libgsm.la
+-
+ INCLUDES = -I.
+
+-libgsm_la_SOURCES = add.c \
+- code.c \
+- debug.c \
+- decode.c \
+- long_term.c \
+- lpc.c \
+- preprocess.c \
+- rpe.c \
+- gsm_destroy.c \
+- gsm_decode.c \
+- gsm_encode.c \
+- gsm_explode.c \
+- gsm_implode.c \
+- gsm_create.c \
+- gsm_print.c \
+- gsm_option.c \
+- short_term.c \
+- table.c \
+- proto.h \
+- unproto.h \
+- config.h \
+- private.h \
+- gsm.h
+-
+ vmo2wav_LDADD = -lgsm
+
+ vmo2wav_SOURCES = vmo2wav.c
diff --git a/app-mobilephone/vmoconv/files/vmoconv-1.0-flags.patch b/app-mobilephone/vmoconv/files/vmoconv-1.0-flags.patch
new file mode 100644
index 00000000000..031b6eefaac
--- /dev/null
+++ b/app-mobilephone/vmoconv/files/vmoconv-1.0-flags.patch
@@ -0,0 +1,17 @@
+diff -Nru vmoconv-1.0.orig/configure.in vmoconv-1.0/configure.in
+--- vmoconv-1.0.orig/configure.in 2004-09-26 15:17:48.000000000 +0000
++++ vmoconv-1.0/configure.in 2009-03-03 21:32:40.000000000 +0000
+@@ -26,10 +26,10 @@
+ [printf(__func__)],,
+ [AC_DEFINE(__func__, "", [non-C99 fake support for __func__])])
+
+-dnl Turn on debugging and all warnings when using gcc
++dnl Turn on all warnings when using gcc
+ if test "$ac_cv_prog_gcc" = "yes"; then
+- CFLAGS="$CFLAGS -g -Wall -Wmissing-declarations -Wmissing-prototypes"
+- LDFLAGS="$LDFLAGS -g -Wall"
++ CFLAGS="$CFLAGS -Wall -Wmissing-declarations -Wmissing-prototypes"
++ LDFLAGS="$LDFLAGS -Wall"
+ fi
+
+ AC_SUBST(CFLAGS)
diff --git a/app-mobilephone/vmoconv/files/vmoconv-1.0-glibc28.patch b/app-mobilephone/vmoconv/files/vmoconv-1.0-glibc28.patch
new file mode 100644
index 00000000000..ec957b40c5c
--- /dev/null
+++ b/app-mobilephone/vmoconv/files/vmoconv-1.0-glibc28.patch
@@ -0,0 +1,24 @@
+diff -Naur vmoconv-1.0.orig/src/gsm2vmo.c vmoconv-1.0/src/gsm2vmo.c
+--- vmoconv-1.0.orig/src/gsm2vmo.c 2008-06-15 12:57:07.000000000 -0400
++++ vmoconv-1.0/src/gsm2vmo.c 2008-06-15 12:57:36.000000000 -0400
+@@ -27,7 +27,7 @@
+ * 12 bit header and 260 bits standard GSM frame, as described
+ * in GSM 06.10 and GSM 06.12. The header is 0x2010 always.
+ */
+-
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff -Naur vmoconv-1.0.orig/src/vmo2gsm.c vmoconv-1.0/src/vmo2gsm.c
+--- vmoconv-1.0.orig/src/vmo2gsm.c 2008-06-15 12:57:07.000000000 -0400
++++ vmoconv-1.0/src/vmo2gsm.c 2008-06-15 12:57:36.000000000 -0400
+@@ -27,7 +27,7 @@
+ * 12 bit header and 260 bits standard GSM frame, as described
+ * in GSM 06.10 and GSM 06.12. The header is 0x2010 always.
+ */
+-
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/app-mobilephone/vmoconv/metadata.xml b/app-mobilephone/vmoconv/metadata.xml
new file mode 100644
index 00000000000..1bb2b00a78b
--- /dev/null
+++ b/app-mobilephone/vmoconv/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+ <longdescription lang="en">
+ A tool that converts Siemens phones VMO and VMI audio files to gsm and
+ wav.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-mobilephone/vmoconv/vmoconv-1.0-r1.ebuild b/app-mobilephone/vmoconv/vmoconv-1.0-r1.ebuild
new file mode 100644
index 00000000000..7b5512db5fa
--- /dev/null
+++ b/app-mobilephone/vmoconv/vmoconv-1.0-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=5
+
+inherit eutils autotools
+
+DESCRIPTION="A tool that converts Siemens phones VMO and VMI audio files to gsm and wav"
+HOMEPAGE="http://triq.net/obex/"
+SRC_URI="http://triq.net/obexftp/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+DEPEND="media-sound/gsm"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-glibc28.patch"
+ epatch "${FILESDIR}/${P}-flags.patch"
+ epatch "${FILESDIR}/${P}-external-libgsm.patch"
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die
+ eautoreconf
+}
+
+src_install() {
+ dobin src/vmo2gsm src/gsm2vmo src/vmo2wav
+ dodoc AUTHORS ChangeLog NEWS README THANKS
+}
diff --git a/app-mobilephone/wammu/Manifest b/app-mobilephone/wammu/Manifest
new file mode 100644
index 00000000000..fd46156e79c
--- /dev/null
+++ b/app-mobilephone/wammu/Manifest
@@ -0,0 +1,2 @@
+DIST wammu-0.35.tar.bz2 572550 SHA256 fba70bb0a067f20bb5da5f16061e6cc70a49761ca11f49a897af678271666d7a SHA512 c9c24a170d0a1b1507799f77719d544a04b0c894172e0158efc782f25ec894eaa65e2a89b53db431a96b5f88ccadf4dddc5025ba84ac09d54aa5d37b2e658461 WHIRLPOOL 8b6b4edc77c46f20b449077f198d4e51ad81edd6846c69a4945ebf207ae01431a3cb31541e8f07c1b8c90fa37c2034acec771e5d563e0bf756aba1f175f93a9f
+DIST wammu-0.36.tar.bz2 581781 SHA256 8107d69438adc5c9c24565f455cac31ecd5b9ef754f26a6b5ebab03b49131696 SHA512 08caaeb7ade5877b441baad2f3f1f653ed1c25c3fab213e093213525fe326f09ee8ccda4db834f82b00a9d7e9b2cb235da7be7f328c091b6067543d9cdbfb14c WHIRLPOOL 6b4b8aff5363bbf39bb9b67765c9373600642592bc910d3b4d83d09d88d5b5ad4945d4f27f2c75c383ae55f66cc71e21756fcd93e1adee3dfeeef5a766f449c8
diff --git a/app-mobilephone/wammu/metadata.xml b/app-mobilephone/wammu/metadata.xml
new file mode 100644
index 00000000000..4538a68724a
--- /dev/null
+++ b/app-mobilephone/wammu/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/app-mobilephone/wammu/wammu-0.35.ebuild b/app-mobilephone/wammu/wammu-0.35.ebuild
new file mode 100644
index 00000000000..9ab486679b1
--- /dev/null
+++ b/app-mobilephone/wammu/wammu-0.35.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+PYTHON_DEPEND="2"
+
+inherit distutils
+
+DESCRIPTION="Front-end for gammu to access mobile phones easily"
+HOMEPAGE="http://www.wammu.eu/"
+SRC_URI="http://dl.cihar.com/wammu/v0/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="bluetooth gnome"
+
+RDEPEND=">=app-mobilephone/gammu-1.25.0[python]
+ >=dev-python/wxpython-2.8
+ bluetooth? ( dev-python/pybluez
+ gnome? ( net-wireless/gnome-bluetooth )
+ )"
+DEPEND="${RDEPEND}"
+
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" af bg ca cs da de el es et fi fr gl he hu id it ko nl pl pt_BR ru sk sv zh_CN zh_TW"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ local lang support_linguas=no
+ for lang in ${MY_AVAILABLE_LINGUAS} ; do
+ if use linguas_${lang} ; then
+ support_linguas=yes
+ break
+ fi
+ done
+ # install all languages when all selected LINGUAS aren't supported
+ if [ "${support_linguas}" = "yes" ]; then
+ for lang in ${MY_AVAILABLE_LINGUAS} ; do
+ if ! use linguas_${lang} ; then
+ rm -r locale/${lang} || die
+ fi
+ done
+ fi
+
+ python_convert_shebangs -r 2 .
+}
+
+src_compile() {
+ # SKIPWXCHECK: else 'import wx' results in
+ # Xlib: connection to ":0.0" refused by server
+ SKIPWXCHECK=yes distutils_src_compile
+}
+
+src_install() {
+ DOCS="AUTHORS FAQ"
+ SKIPWXCHECK=yes distutils_src_install
+}
diff --git a/app-mobilephone/wammu/wammu-0.36-r1.ebuild b/app-mobilephone/wammu/wammu-0.36-r1.ebuild
new file mode 100644
index 00000000000..4c84990ca76
--- /dev/null
+++ b/app-mobilephone/wammu/wammu-0.36-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Front-end for gammu to access mobile phones easily"
+HOMEPAGE="http://www.wammu.eu/"
+SRC_URI="http://dl.cihar.com/wammu/v0/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bluetooth gnome"
+
+RDEPEND=">=app-mobilephone/gammu-1.25.0[python]
+ >=dev-python/wxpython-2.8[${PYTHON_USEDEP}]
+ bluetooth? ( dev-python/pybluez[${PYTHON_USEDEP}]
+ gnome? ( net-wireless/gnome-bluetooth )
+ )"
+DEPEND="${RDEPEND}"
+
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" af bg ca cs da de el es et fi fr gl he hu id it ko nl pl pt_BR ru sk sv zh_CN zh_TW"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+# Required to source locale content out of the box
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ local lang support_linguas=no
+ for lang in ${MY_AVAILABLE_LINGUAS} ; do
+ if use linguas_${lang} ; then
+ support_linguas=yes
+ break
+ fi
+ done
+ # install all languages when all selected LINGUAS aren't supported
+ if [ "${support_linguas}" = "yes" ]; then
+ for lang in ${MY_AVAILABLE_LINGUAS} ; do
+ if ! use linguas_${lang} ; then
+ rm -r locale/${lang} || die
+ fi
+ done
+ fi
+
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ # SKIPWXCHECK: else 'import wx' results in
+ # Xlib: connection to ":0.0" refused by server
+ SKIPWXCHECK=yes distutils-r1_src_compile
+}
+
+src_install() {
+ local DOCS="AUTHORS FAQ"
+ SKIPWXCHECK=yes distutils-r1_src_install
+}
diff --git a/app-mobilephone/yaps/Manifest b/app-mobilephone/yaps/Manifest
new file mode 100644
index 00000000000..f42b449bea7
--- /dev/null
+++ b/app-mobilephone/yaps/Manifest
@@ -0,0 +1,2 @@
+DIST yaps-0.96.c4.tgz 109682 SHA256 4afab43b8f0bed7c48d91cef56bc7aee44a1887c38efb8788be3ec761caf54c9 SHA512 16d326903c7aa54c9930f581d9ec6285fe51d52e8b03a0cff899745b41371e3ce939201f529e15c2473bb8917e3e45f0a3872355986ecd03df52079ec9c484ca WHIRLPOOL bf8e37fc2135dfb851af0e26ee508b286548e0b0b1d3d460263507585c580e5058c567013aac63283861dc79e26aa437ad2392b9061b1b083714b5d4b88a8554
+DIST yaps-0.96.tar.gz 91060 SHA256 6474a507d1f3d769c80562164ad38454c73fb49be043bab1128ca9eaf20c5b98 SHA512 799559af2726b669df08ad68de1f01b5b1a6ac8b332e5f8b54d82474b183ef7714abd4482aefdd5ccff6197a9da2b051fa94b38d84eb037b262d066fffc7d145 WHIRLPOOL d7f6de6c7aca320a95afc78aad1ae1b7d27a1b4ef1f6e40dd8ad02c4ba8ecb1138ef41b507672ccbfdc197e2c7591819c58311c9cff796e56f03ebe41594dcd8
diff --git a/app-mobilephone/yaps/files/yaps-0.96-gentoo.diff b/app-mobilephone/yaps/files/yaps-0.96-gentoo.diff
new file mode 100644
index 00000000000..c77bcd5d491
--- /dev/null
+++ b/app-mobilephone/yaps/files/yaps-0.96-gentoo.diff
@@ -0,0 +1,56 @@
+--- a/Config
++++ b/Config
+@@ -24,9 +24,9 @@
+ # Name of local configuration file (location is $HOME.)
+ YAPS_LCFGFILE = .yapsrc
+ # Directory for installing the binary
+-YAPS_BINDIR = /usr/local/bin
++YAPS_BINDIR = /usr/bin
+ # Directory for optional support files
+-YAPS_LIBDIR = /usr/local/lib/yaps
++YAPS_LIBDIR = /usr/lib/yaps
+ # User/Group/Mode for yaps
+ YAPS_USER = bin
+ YAPS_GROUP = uucp
+@@ -43,12 +43,12 @@
+ ifdef SLANG
+ LDEFS += -DSCRIPT_SLANG
+ LLIBS += -lslang
+-MATH = True
++#MATH = True
+ endif
+ ifdef LUA
+ LDEFS += -DSCRIPT_LUA
+-LLIBS += -llualib -llua
+-MATH = True
++LLIBS += `pkg-config --libs lua`
++#MATH = True
+ endif
+ ifdef MATH
+ LLIBS += -lm
+--- a/Makefile
++++ b/Makefile
+@@ -33,19 +33,19 @@
+ lynx -cfg=/dev/null -nolist -dump $< > $@
+
+ install: $(DSTFLE) $(CFGFILE)
+- if [ ! -d $(YAPS_LIBDIR) ]; then \
+- install -d -m 755 -o $(YAPS_USER) -g $(YAPS_GROUP) $(YAPS_LIBDIR) ; \
++ if [ ! -d $(DESTDIR)$(YAPS_LIBDIR) ]; then \
++ install -d -m 755 $(DESTDIR)$(YAPS_LIBDIR) ; \
+ fi
+ @if [ -f contrib/Makefile ]; then \
+ $(MAKE) -C contrib install ; \
+ fi
+
+ $(DSTFLE): yaps
+- install -o $(YAPS_USER) -g $(YAPS_GROUP) -m $(YAPS_MODE) -s yaps $@
++ install -m $(YAPS_MODE) -s yaps $(DESTDIR)$@
+
+ $(CFGFILE): yaps.rc
+ @if [ ! -f $@ ]; then \
+- install -o $(YAPS_RCUSER) -g $(YAPS_RCGROUP) -m $(YAPS_RCMODE) -s yaps.rc $@ ; \
++ install -m $(YAPS_RCMODE) -s yaps.rc $(DESTDIR)$@ ; \
+ fi
+
+ clean:
diff --git a/app-mobilephone/yaps/files/yaps-0.96-getline-rename.patch b/app-mobilephone/yaps/files/yaps-0.96-getline-rename.patch
new file mode 100644
index 00000000000..2b76b5bb39e
--- /dev/null
+++ b/app-mobilephone/yaps/files/yaps-0.96-getline-rename.patch
@@ -0,0 +1,64 @@
+--- a/cfg.c
++++ b/cfg.c
+@@ -203,7 +203,7 @@
+ fcur -> fp = fp;
+ fcur -> up = NULL;
+ while (fcur) {
+- while (gline = getline (fcur -> fp, True)) {
++ while (gline = my_getline (fcur -> fp, True)) {
+ for (line = gline; isspace (*line); ++line)
+ ;
+ if ((! *line) || (*line == '#')) {
+@@ -279,7 +279,7 @@
+ done = False;
+ siz = 0;
+ len = 0;
+- while (ptr = getline (fcur -> fp, False)) {
++ while (ptr = my_getline (fcur -> fp, False)) {
+ if ((*ptr != '}') || *(ptr + 1)) {
+ plen = strlen (ptr);
+ if (len + plen + 2 >= siz) {
+--- a/cv.c
++++ b/cv.c
+@@ -151,7 +151,7 @@
+ MCHK (c);
+ if ((! c) || (! (fp = fopen (fname, "r"))))
+ return -1;
+- while (line = getline (fp, True)) {
++ while (line = my_getline (fp, True)) {
+ for (sp = line; isspace (*sp); ++sp)
+ ;
+ if (*sp && (*sp != '#')) {
+--- a/pager.h
++++ b/pager.h
+@@ -67,7 +67,7 @@
+ /*{{{ utility */
+ extern char *skip (char *str);
+ extern char *skipch (char *str, char ch);
+-extern char *getline (FILE *fp, Bool cont);
++extern char *my_getline (FILE *fp, Bool cont);
+ extern int verbose_out (char *, ...);
+ /*}}}*/
+ /*{{{ string handling */
+--- a/util.c
++++ b/util.c
+@@ -36,7 +36,7 @@
+ }
+
+ char *
+-getline (FILE *fp, Bool cont)
++my_getline (FILE *fp, Bool cont)
+ {
+ char *buf;
+ int size;
+--- a/yaps.c
++++ b/yaps.c
+@@ -1177,7 +1177,7 @@
+ fprintf (stderr, "Unable to open message file %s for reading\n", mfile);
+ return NULL;
+ }
+- while (ptr = getline (fp, False)) {
++ while (ptr = my_getline (fp, False)) {
+ sav = skip (ptr);
+ if (*ptr && *sav) {
+ if (rcnt + 2 >= rsiz) {
diff --git a/app-mobilephone/yaps/files/yaps-0.96-string.patch b/app-mobilephone/yaps/files/yaps-0.96-string.patch
new file mode 100644
index 00000000000..6641e2f7d4e
--- /dev/null
+++ b/app-mobilephone/yaps/files/yaps-0.96-string.patch
@@ -0,0 +1,10 @@
+--- a/scr.c
++++ b/scr.c
+@@ -2,6 +2,7 @@
+ # include "config.h"
+ # include <stdio.h>
+ # include <stdlib.h>
++# include <string.h>
+ # include "pager.h"
+ # include "script.h"
+
diff --git a/app-mobilephone/yaps/metadata.xml b/app-mobilephone/yaps/metadata.xml
new file mode 100644
index 00000000000..4686d866008
--- /dev/null
+++ b/app-mobilephone/yaps/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>maintainer-needed@gentoo.org</email></maintainer>
+<longdescription lang="en">
+ Yet Another Pager Software (optional with CAPI support).
+</longdescription>
+<use>
+ <flag name='capi'>Enable CAPI support</flag>
+</use>
+</pkgmetadata>
diff --git a/app-mobilephone/yaps/yaps-0.96-r5.ebuild b/app-mobilephone/yaps/yaps-0.96-r5.ebuild
new file mode 100644
index 00000000000..637640591a3
--- /dev/null
+++ b/app-mobilephone/yaps/yaps-0.96-r5.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Yet Another Pager Software (optional with CAPI support)"
+HOMEPAGE="ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/machines/"
+SRC_URI="capi? ( ftp://ftp.melware.net/capi4yaps/${P}.c4.tgz )
+ !capi? ( ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/machines/${P}.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc x86"
+IUSE="+capi lua slang"
+
+RDEPEND="
+ capi? ( net-dialup/capi4k-utils )
+ slang? ( >=sys-libs/slang-1.4 )
+ lua? ( dev-lang/lua )
+ !media-sound/abcmidi
+"
+DEPEND="
+ ${RDEPEND}
+ lua? ( virtual/pkgconfig )
+"
+
+if use capi; then
+ S="${WORKDIR}"/${P}.c4
+fi
+
+src_prepare() {
+ # apply patches
+ epatch "${FILESDIR}/${P}-gentoo.diff"
+ epatch "${FILESDIR}/${P}-getline-rename.patch"
+
+ # fix compile warning
+ if ! use capi; then
+ epatch "${FILESDIR}"/${P}-string.patch
+ fi
+}
+
+src_compile() {
+ emake \
+ $(usex lua LUA=true '') \
+ $(usex slang SLANG=true '') \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CXX="$(tc-getCXX)"
+}
+
+src_install() {
+ dobin yaps
+ insinto /etc
+ doins yaps.rc
+ keepdir /usr/lib/yaps
+
+ doman yaps.1
+ dohtml yaps.html
+ dodoc BUGREPORT COPYRIGHT README yaps.lsm yaps.doc
+ newdoc contrib/README README.contrib
+
+ insinto /usr/share/doc/${PF}/contrib
+ doins contrib/{m2y.pl,tap.sl}
+}