From 59102683bac0b71ebe69770078d1d0c783574b29 Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Mon, 17 Dec 2018 20:03:50 +0100 Subject: net-im/yowsup: add python3.7 support Also switch from dev-python/pycrpto to dev-python/pycrptodome, as it's more modern. Besides, renamed six patch, to have a proper file name. Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Conrad Kostecki Signed-off-by: Patrice Clement --- net-im/yowsup/files/fix_newer_six_version.patch | 30 ------------- .../files/yowsup-2.5.7-add-python3.7-support.patch | 51 ++++++++++++++++++++++ .../files/yowsup-2.5.7-fix-install-path.patch | 28 ++++++++++++ .../yowsup/files/yowsup-2.5.7-fix-newer-six.patch | 30 +++++++++++++ net-im/yowsup/yowsup-2.5.7-r1.ebuild | 2 +- net-im/yowsup/yowsup-2.5.7-r2.ebuild | 36 +++++++++++++++ 6 files changed, 146 insertions(+), 31 deletions(-) delete mode 100644 net-im/yowsup/files/fix_newer_six_version.patch create mode 100644 net-im/yowsup/files/yowsup-2.5.7-add-python3.7-support.patch create mode 100644 net-im/yowsup/files/yowsup-2.5.7-fix-install-path.patch create mode 100644 net-im/yowsup/files/yowsup-2.5.7-fix-newer-six.patch create mode 100644 net-im/yowsup/yowsup-2.5.7-r2.ebuild (limited to 'net-im') diff --git a/net-im/yowsup/files/fix_newer_six_version.patch b/net-im/yowsup/files/fix_newer_six_version.patch deleted file mode 100644 index d1bfb27ce295..000000000000 --- a/net-im/yowsup/files/fix_newer_six_version.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/setup.py 2017-12-30 00:12:35.000000000 +0100 -+++ b/setup.py 2018-04-29 20:51:23.000000000 +0200 -@@ -5,7 +5,7 @@ - import platform - import sys - --deps = ['python-dateutil', 'argparse', 'python-axolotl>=0.1.39', 'six==1.10'] -+deps = ['python-dateutil', 'python-axolotl>=0.1.39', 'six'] - - if sys.version_info < (2,7): - deps += ['importlib', "protobuf==3.4.0"] ---- a/yowsup/env/env.py 2017-12-30 00:12:35.000000000 +0100 -+++ b/yowsup/env/env.py 2018-04-29 20:51:44.000000000 +0200 -@@ -13,7 +13,6 @@ - super(YowsupEnvType, cls).__init__(name, bases, dct) - - class YowsupEnv(with_metaclass(YowsupEnvType, object)): -- __metaclass__ = YowsupEnvType - __ENVS = {} - __CURR = None - ---- a/yowsup/layers/protocol_media/picture.py 2017-12-30 00:12:35.000000000 +0100 -+++ b/yowsup/layers/protocol_media/picture.py 2018-04-29 20:52:30.000000000 +0200 -@@ -1,5 +1,5 @@ - from yowsup.layers import YowLayer --from yowsup import ProtocolTreeNode -+from yowsup.structs import ProtocolTreeNode - from .mediadownloader import MediaDownloader - import shutil, os, logging - logger = logging.getLogger(__name__) diff --git a/net-im/yowsup/files/yowsup-2.5.7-add-python3.7-support.patch b/net-im/yowsup/files/yowsup-2.5.7-add-python3.7-support.patch new file mode 100644 index 000000000000..6d3f3c83004e --- /dev/null +++ b/net-im/yowsup/files/yowsup-2.5.7-add-python3.7-support.patch @@ -0,0 +1,51 @@ +Description: Fix compatibility with Python 3.7 since async has become a reserved word +Author: Josue Ortega +Last-Update: 2018-07-29 + +--- a/yowsup/demos/cli/layer.py ++++ b/yowsup/demos/cli/layer.py +@@ -559,7 +559,7 @@ + mediaUploader = MediaUploader(jid, self.getOwnJid(), filePath, + resultRequestUploadIqProtocolEntity.getUrl(), + resultRequestUploadIqProtocolEntity.getResumeOffset(), +- successFn, self.onUploadError, self.onUploadProgress, async=False) ++ successFn, self.onUploadError, self.onUploadProgress, asyncronous=False) + mediaUploader.start() + + def onRequestUploadError(self, jid, path, errorRequestUploadIqProtocolEntity, requestUploadIqProtocolEntity): +--- a/yowsup/layers/interface/interface.py ++++ b/yowsup/layers/interface/interface.py +@@ -125,7 +125,7 @@ + mediaUploader = MediaUploader(builder.jid, self.getOwnJid(), builder.getFilepath(), + resultRequestUploadIqProtocolEntity.getUrl(), + resultRequestUploadIqProtocolEntity.getResumeOffset(), +- successFn, errorFn, progress, async=True) ++ successFn, errorFn, progress, asyncronous=True) + mediaUploader.start() + + def __onRequestUploadError(self, errorEntity, requestUploadEntity, builder, error = None): +--- a/yowsup/layers/protocol_media/mediauploader.py ++++ b/yowsup/layers/protocol_media/mediauploader.py +@@ -9,10 +9,11 @@ + logger = logging.getLogger(__name__) + + class MediaUploader(WARequest, threading.Thread): +- def __init__(self, jid, accountJid, sourcePath, uploadUrl, resumeOffset = 0, successClbk = None, errorClbk = None, progressCallback = None, async = True): ++ def __init__(self, jid, accountJid, sourcePath, uploadUrl, resumeOffset=0, successClbk=None, ++ errorClbk=None, progressCallback=None, asyncronous=True): + WARequest.__init__(self) + +- self.async = async ++ self.asyncronous = asyncronous + self.jid = jid + self.accountJid = accountJid + self.sourcePath = sourcePath +@@ -30,7 +31,7 @@ + self.sock = socket.socket() + + def start(self): +- if self.async: ++ if self.asyncronous: + threading.Thread.__init__(self) + super(MediaUploader, self).start() + else: diff --git a/net-im/yowsup/files/yowsup-2.5.7-fix-install-path.patch b/net-im/yowsup/files/yowsup-2.5.7-fix-install-path.patch new file mode 100644 index 000000000000..63b0fbfc91c9 --- /dev/null +++ b/net-im/yowsup/files/yowsup-2.5.7-fix-install-path.patch @@ -0,0 +1,28 @@ +Description: Fixes wrong installation of mime.types file. +Author: Josue Ortega +Last-Update: 2016-09-04 + +--- a/setup.py ++++ b/setup.py +@@ -33,7 +33,7 @@ + #long_description=long_description, + packages= find_packages(), + include_package_data=True, +- data_files = [('yowsup/common', ['yowsup/common/mime.types'])], ++ #data_files = [('yowsup/common', ['yowsup/common/mime.types'])], + platforms='any', + #test_suite='', + classifiers = [ +--- a/yowsup/common/tools.py ++++ b/yowsup/common/tools.py +@@ -150,7 +150,9 @@ + return preview + + class MimeTools: +- MIME_FILE = os.path.join(os.path.dirname(__file__), 'mime.types') ++ # Replaces mime.types path for the debian path installation ++ # MIME_FILE = os.path.join(os.path.dirname(__file__), 'mime.types') ++ MIME_FILE = os.path.join('/usr/share/yowsup/common', 'mime.types') + mimetypes.init() # Load default mime.types + try: + mimetypes.init([MIME_FILE]) # Append whatsapp mime.types diff --git a/net-im/yowsup/files/yowsup-2.5.7-fix-newer-six.patch b/net-im/yowsup/files/yowsup-2.5.7-fix-newer-six.patch new file mode 100644 index 000000000000..d1bfb27ce295 --- /dev/null +++ b/net-im/yowsup/files/yowsup-2.5.7-fix-newer-six.patch @@ -0,0 +1,30 @@ +--- a/setup.py 2017-12-30 00:12:35.000000000 +0100 ++++ b/setup.py 2018-04-29 20:51:23.000000000 +0200 +@@ -5,7 +5,7 @@ + import platform + import sys + +-deps = ['python-dateutil', 'argparse', 'python-axolotl>=0.1.39', 'six==1.10'] ++deps = ['python-dateutil', 'python-axolotl>=0.1.39', 'six'] + + if sys.version_info < (2,7): + deps += ['importlib', "protobuf==3.4.0"] +--- a/yowsup/env/env.py 2017-12-30 00:12:35.000000000 +0100 ++++ b/yowsup/env/env.py 2018-04-29 20:51:44.000000000 +0200 +@@ -13,7 +13,6 @@ + super(YowsupEnvType, cls).__init__(name, bases, dct) + + class YowsupEnv(with_metaclass(YowsupEnvType, object)): +- __metaclass__ = YowsupEnvType + __ENVS = {} + __CURR = None + +--- a/yowsup/layers/protocol_media/picture.py 2017-12-30 00:12:35.000000000 +0100 ++++ b/yowsup/layers/protocol_media/picture.py 2018-04-29 20:52:30.000000000 +0200 +@@ -1,5 +1,5 @@ + from yowsup.layers import YowLayer +-from yowsup import ProtocolTreeNode ++from yowsup.structs import ProtocolTreeNode + from .mediadownloader import MediaDownloader + import shutil, os, logging + logger = logging.getLogger(__name__) diff --git a/net-im/yowsup/yowsup-2.5.7-r1.ebuild b/net-im/yowsup/yowsup-2.5.7-r1.ebuild index 7c53464c30fc..b3435a6d6edd 100644 --- a/net-im/yowsup/yowsup-2.5.7-r1.ebuild +++ b/net-im/yowsup/yowsup-2.5.7-r1.ebuild @@ -28,4 +28,4 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" -PATCHES=( "${FILESDIR}/fix_newer_six_version.patch" ) +PATCHES=( "${FILESDIR}/${P}-fix-newer-six.patch" ) diff --git a/net-im/yowsup/yowsup-2.5.7-r2.ebuild b/net-im/yowsup/yowsup-2.5.7-r2.ebuild new file mode 100644 index 000000000000..48ac97225448 --- /dev/null +++ b/net-im/yowsup/yowsup-2.5.7-r2.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) +PYTHON_REQ_USE="readline" + +inherit distutils-r1 + +DESCRIPTION="A library that enables you to build applications which use the WhatsApp service" +HOMEPAGE="https://github.com/tgalal/yowsup" +SRC_URI="https://github.com/tgalal/yowsup/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + dev-python/configargparse[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/protobuf-python[${PYTHON_USEDEP}] + dev-python/pycryptodome[${PYTHON_USEDEP}] + dev-python/python-axolotl-curve25519[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] +" + +DEPEND="${RDEPEND}" + +BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" + +PATCHES=( + "${FILESDIR}/${P}-add-python3.7-support.patch" + "${FILESDIR}/${P}-fix-install-path.patch" + "${FILESDIR}/${P}-fix-newer-six.patch" + ) -- cgit v1.2.3-65-gdbad