blink-python3 #47

Merged
tombriden merged 8 commits from tombriden/hasufell-repository:blink-python3 into master 2021-03-23 11:43:09 +00:00
14 changed files with 175 additions and 111 deletions

View File

@ -1,7 +1,8 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=distutils blacklist="3" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-application" tag="${PV}" ]
SUMMARY="Basic building blocks for python applications"
HOMEPAGE="http://ag-projects.com/"

View File

@ -1,8 +1,8 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="AGProjects" tag="release-${PV}" ]
require setup-py [ import=distutils blacklist="3" work="${PN}-release-${PV}" ]
require github [ user="AGProjects" pn="python3-eventlib" tag="${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
SUMMARY="Coroutine-based networking library"
HOMEPAGE="http://sipsimpleclient.org"

View File

@ -1,7 +1,8 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=distutils blacklist="3" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-gnutls" tag="${PV}" ]
SUMMARY="High level object oriented wrapper around libgnutls"
HOMEPAGE="http://ag-projects.com/"

View File

@ -1,8 +1,8 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="AGProjects" tag="release-${PV}" ]
require setup-py [ import=distutils blacklist="3" work="${PN}-release-${PV}" ]
require github [ user="AGProjects" pn="python3-msrplib" tag="${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
SUMMARY="Client library for MSRP protocol and its relay extension"
HOMEPAGE="http://sipsimpleclient.org"
@ -14,9 +14,9 @@ MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/python-application[python_abis:*(-)?]
dev-python/python-eventlib[python_abis:*(-)?]
dev-python/python-gnutls[>=3.0.0][python_abis:*(-)?]
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
dev-python/python-eventlib[>=0.3.0][python_abis:*(-)?]
dev-python/python-gnutls[>=3.1.8][python_abis:*(-)?]
net-twisted/Twisted[python_abis:*(-)?]
"

View File

@ -1,7 +1,8 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=distutils blacklist="3" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-otr" tag="${PV}" ]
SUMMARY="Off-The-Record Messaging protocol implementation for Python"
HOMEPAGE="https://github.com/AGProjects/python-otr"
@ -14,9 +15,8 @@ MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-python/cryptography[>=1.6][python_abis:*(-)?]
dev-python/enum34[python_abis:*(-)?]
dev-python/gmpy2[python_abis:*(-)?]
dev-python/python-application[>=2.0.0][python_abis:*(-)?]
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
dev-python/zopeinterface[python_abis:*(-)?]
net-libs/libotr
"

View File

@ -1,26 +0,0 @@
From 8e0874b1be515abc8845e3ad41c4332f992e5687 Mon Sep 17 00:00:00 2001
From: Julian Ospald <hasufell@posteo.de>
Date: Tue, 24 Dec 2019 22:17:28 +0100
Subject: [PATCH] Fix build with LibreSSL 2.7
Upstream: submitted, https://github.com/AGProjects/python-sipsimple/pull/8
---
deps/pjsip/third_party/zsrtp/include/openssl_compat.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deps/pjsip/third_party/zsrtp/include/openssl_compat.h b/deps/pjsip/third_party/zsrtp/include/openssl_compat.h
index 5b6e183e..aebbf996 100644
--- a/deps/pjsip/third_party/zsrtp/include/openssl_compat.h
+++ b/deps/pjsip/third_party/zsrtp/include/openssl_compat.h
@@ -3,7 +3,7 @@
#include <openssl/hmac.h>
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined (LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
static HMAC_CTX *HMAC_CTX_new(void)
{
HMAC_CTX *ctx = (HMAC_CTX*)OPENSSL_malloc(sizeof(HMAC_CTX));
--
2.24.1

View File

@ -0,0 +1,36 @@
Upstream: Yes
Source: https://github.com/AGProjects/python3-sipsimple/commit/d75b225e566cae2c998504dc5cd76bb30226cb43
From d75b225e566cae2c998504dc5cd76bb30226cb43 Mon Sep 17 00:00:00 2001
From: Adrian Georgescu <ag@ag-projects.com>
Date: Tue, 16 Mar 2021 13:54:03 +0000
Subject: [PATCH] Decode uri.transport if is bytes in DNS Lookup
---
sipsimple/lookup.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/sipsimple/lookup.py b/sipsimple/lookup.py
index 8ce86a92..27672da7 100644
--- a/sipsimple/lookup.py
+++ b/sipsimple/lookup.py
@@ -255,8 +255,9 @@ def lookup_sip_proxy(self, uri, supported_transports, timeout=3.0, lifetime=15.0
try:
# If the host part of the URI is an IP address, we will not do any lookup
+ transport = uri.transport.decode() if isinstance(uri.transport, bytes) else uri.transport
if re.match("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", uri.host.decode()):
- transport = 'tls' if uri.secure else uri.transport.lower()
+ transport = 'tls' if uri.secure else transport.lower()
if transport not in supported_transports:
raise DNSLookupError("IP transport %s dictated by URI is not supported" % transport)
port = uri.port or (5061 if transport=='tls' else 5060)
@@ -270,7 +271,7 @@ def lookup_sip_proxy(self, uri, supported_transports, timeout=3.0, lifetime=15.0
# If the port is specified in the URI, we will only do an A lookup
if uri.port:
- transport = 'tls' if uri.secure else uri.transport.lower()
+ transport = 'tls' if uri.secure else transport.lower()
if transport not in supported_transports:
raise DNSLookupError("Host transport %s dictated by URI is not supported" % transport)
addresses = self._lookup_a_records(resolver, [uri.host.decode()], log_context=log_context)

View File

@ -1,45 +0,0 @@
From f786808a36deab01f301905ecdae27e6e17ce197 Mon Sep 17 00:00:00 2001
From: Charles Barcza <info@blackpanther.hu>
Date: Mon, 13 Mar 2017 14:46:34 +0100
Subject: [PATCH 1/2] Build fix on Linux
Upstream: submitted, https://github.com/AGProjects/python-sipsimple/pull/1
---
setup_pjsip.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/setup_pjsip.py b/setup_pjsip.py
index 4760e64..a43533d 100644
--- a/setup_pjsip.py
+++ b/setup_pjsip.py
@@ -157,6 +157,7 @@ def configure_pjsip(self):
if sys_platform == "win32":
cmd = ["bash", "configure"]
else:
+ os.system("chmod +x "+ self.build_dir +"/*configure")
cmd = ["./configure"]
cmd.extend(["--disable-g7221-codec"])
ffmpeg_path = env.get("SIPSIMPLE_FFMPEG_PATH", None)
From b80cf7ee9d4c32b4e068eb74492f31ccab1296b2 Mon Sep 17 00:00:00 2001
From: Charles Barcza <info@blackpanther.hu>
Date: Mon, 13 Mar 2017 14:55:29 +0100
Subject: [PATCH 2/2] Build fix on Linux
---
setup_pjsip.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup_pjsip.py b/setup_pjsip.py
index a43533d..5f1b27b 100644
--- a/setup_pjsip.py
+++ b/setup_pjsip.py
@@ -157,7 +157,7 @@ def configure_pjsip(self):
if sys_platform == "win32":
cmd = ["bash", "configure"]
else:
- os.system("chmod +x "+ self.build_dir +"/*configure")
+ os.system("chmod +x "+ self.build_dir +"/*configure")
cmd = ["./configure"]
cmd.extend(["--disable-g7221-codec"])
ffmpeg_path = env.get("SIPSIMPLE_FFMPEG_PATH", None)

View File

@ -0,0 +1,22 @@
From f786808a36deab01f301905ecdae27e6e17ce197 Mon Sep 17 00:00:00 2001
From: Charles Barcza <info@blackpanther.hu>
Date: Mon, 13 Mar 2017 14:46:34 +0100
Subject: [PATCH 1/2] Build fix on Linux
Upstream: submitted, https://github.com/AGProjects/python-sipsimple/pull/1
---
setup_pjsip.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/setup_pjsip.py b/setup_pjsip.py
index 7dd6c13ff..82e7bd1ca 100644
--- a/setup_pjsip.py
+++ b/setup_pjsip.py
@@ -160,6 +160,7 @@ class PJSIP_build_ext(build_ext):
if sys_platform == "win32":
cmd = ["bash", "configure"]
else:
+ os.system("chmod +x "+ self.build_dir +"/*configure")
cmd = ["./configure"]
cmd.extend(["--disable-g7221-codec"])
ffmpeg_path = env.get("SIPSIMPLE_FFMPEG_PATH", None)

View File

@ -1,8 +1,8 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="AGProjects" tag="release-${PV}" ]
require setup-py [ import=distutils blacklist="3" work="${PN}-release-${PV}" ]
require github [ user="AGProjects" pn="python3-sipsimple" tag="${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
SUMMARY="SIP SIMPLE client SDK is a Software Development Kit"
HOMEPAGE="http://sipsimpleclient.org ${HOMEPAGE}"
@ -21,7 +21,7 @@ DEPENDENCIES="
build+run:
dev-db/sqlite:3
dev-libs/icu:=
dev-python/python-application[>=2.5.0][python_abis:*(-)?]
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
media/ffmpeg[h264]
media-libs/libvpx
media-libs/v4l-utils
@ -33,22 +33,21 @@ DEPENDENCIES="
dev-python/dnspython[python_abis:*(-)?]
dev-python/greenlet[python_abis:*(-)?]
dev-python/lxml[python_abis:*(-)?]
dev-python/python-cjson[python_abis:*(-)?]
dev-python/python-dateutil[python_abis:*(-)?]
dev-python/python-eventlib[python_abis:*(-)?]
dev-python/python-gnutls[python_abis:*(-)?]
dev-python/python-msrplib[>=0.19.0][python_abis:*(-)?]
dev-python/python-otr[>=1.2.0][python_abis:*(-)?]
dev-python/python-xcaplib[python_abis:*(-)?]
dev-python/python-eventlib[>=0.3.0][python_abis:*(-)?]
dev-python/python-gnutls[>=3.1.8][python_abis:*(-)?]
dev-python/python-msrplib[>=0.21.0][python_abis:*(-)?]
dev-python/python-otr[>=2.0.1][python_abis:*(-)?]
dev-python/python-xcaplib[>=2.0.0][python_abis:*(-)?]
dev-python/zopeinterface[python_abis:*(-)?]
media-libs/x264[-10bit]
net-twisted/Twisted[python_abis:*(-)?]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/${PNV}-fix-build.patch
"${FILES}"/0001-Fix-build-with-LibreSSL-2.7.patch
"${FILES}"/${PN}-fix-build.patch
"${FILES}"/${PN}-gcc10-fix.patch
"${FILES}"/d75b225e566cae2c998504dc5cd76bb30226cb43.patch
)
src_compile() {

View File

@ -0,0 +1,70 @@
Upstream: Yes
Source: https://github.com/AGProjects/python3-xcaplib/commit/066759cf355b152375767bee4c3858dc0b8087e4
From 066759cf355b152375767bee4c3858dc0b8087e4 Mon Sep 17 00:00:00 2001
From: Worawut Boonpeang <worawut@ag-projects.com>
Date: Fri, 4 Dec 2020 13:49:54 +0000
Subject: [PATCH] xcaplib (Python3) work with eventlib
---
xcaplib/green.py | 4 +++-
xcaplib/xcapclient.py | 10 ++++++++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/xcaplib/green.py b/xcaplib/green.py
index 237d9d8..d01ee11 100644
--- a/xcaplib/green.py
+++ b/xcaplib/green.py
@@ -2,6 +2,8 @@
from eventlib.green import socket, ssl, httplib, urllib2
from xcaplib import httpclient
from xcaplib import client
+import urllib
+import http
class HTTPConnection(httplib.HTTPConnection):
@@ -22,7 +24,7 @@ def http_open(self, req):
class HTTPSHandler(urllib.request.HTTPSHandler):
def https_open(self, req):
- return self.do_open(HTTPSConnection, req)
+ return self.do_open(http.client.HTTPSConnection, req)
class HTTPClient(httpclient.HTTPClient):
diff --git a/xcaplib/xcapclient.py b/xcaplib/xcapclient.py
index cd409df..384c237 100755
--- a/xcaplib/xcapclient.py
+++ b/xcaplib/xcapclient.py
@@ -129,6 +129,8 @@ def setup_parser_request(parser):
parser.add_option('--etag', help="perform a conditional operation", metavar='ETAG')
parser.add_option('--add-header', dest='headers',
action='append', default=[], help=optparse.SUPPRESS_HELP)
+ parser.add_option("--eventlib", dest='eventlib_enable',
+ help="Enables non-blocking mode using eventlib library")
parser.add_option("-i", dest='input_filename',
help="source file for the PUT request; default is <stdin>")
parser.add_option("-o", dest='output_filename',
@@ -366,7 +368,11 @@ def update_options_from_config(options):
setattr(options, key, value)
def parse_args():
- argv = sys.argv[1:]
+ argv = None
+ if "--eventlib" in sys.argv[1:]:
+ argv = sys.argv[2:]
+ else:
+ argv = sys.argv[1:]
if not argv:
sys.exit('Type %s -h for help.' % sys.argv[0])
@@ -496,7 +502,7 @@ def get_exit_code(http_error):
return 3
def main():
- if sys.argv[0].endswith('-eventlib'):
+ if "--eventlib" in sys.argv[1:]:
from xcaplib.green import XCAPClient as client_class
else:
client_class = XCAPClient

View File

@ -1,11 +1,11 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="3" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-xcaplib" tag="${PV}" ]
SUMMARY="Python library for managing XML documents on XCAP server"
HOMEPAGE="http://sipsimpleclient.org"
DOWNLOADS="http://download.ag-projects.com/XCAP/${PNV}.tar.gz"
LICENCES="GPL-2"
SLOT="0"
@ -15,6 +15,10 @@ MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/lxml[python_abis:*(-)?]
dev-python/python-application[python_abis:*(-)?]
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/${PN}-work-with-eventlib.patch
)

View File

@ -2,8 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
require desktop-utils gtk-icon-cache
require setup-py [ import=distutils blacklist="3" multibuild=false ]
require github [ user="AGProjects" pn="blink-qt" tag="release-${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="blink-qt" tag="${PV}" ]
SUMMARY="A state of the art, easy to use SIP client"
HOMEPAGE="http://iCanBlink.com"
@ -22,17 +22,16 @@ DEPENDENCIES="
dev-python/PyQt5[>=5.0][webkit][python_abis:*(-)?]
dev-python/google-api-python-client[python_abis:*(-)?]
dev-python/lxml[python_abis:*(-)?]
dev-python/python-application[>=2.5.0][python_abis:*(-)?]
dev-python/python-cjson[python_abis:*(-)?]
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
dev-python/python-dateutil[python_abis:*(-)?]
dev-python/python-eventlib[python_abis:*(-)?]
dev-python/python-sipsimple[>=3.0.0][python_abis:*(-)?]
dev-python/python-eventlib[>=0.3.0][python_abis:*(-)?]
dev-python/python-sipsimple[>=4.0.1][python_abis:*(-)?]
dev-python/zopeinterface[python_abis:*(-)?]
net-twisted/Twisted[python_abis:*(-)?]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}/${PNV}-data-path.patch"
"${FILES}/${PN}-data-path.patch"
)
src_install() {

View File

@ -3,14 +3,17 @@ Date: Tue Sep 8 10:10:18 UTC 2015
Subject: Fix data path fallback
Upstream: no, correct fix pending since 'sys.prefix' is broken in exherbo
--- blink-1.4.1/blink/resources.py
+++ blink-1.4.1/blink/resources.py
@@ -71,7 +71,7 @@
if os.path.exists(os.path.join(application_directory, 'resources', 'blink.ui')):
cls._cached_directory = os.path.join(application_directory, 'resources').decode(sys.getfilesystemencoding())
diff --git a/blink/resources.py b/blink/resources.py
index e981ed8..f1f4f5c 100644
--- a/blink/resources.py
+++ b/blink/resources.py
@@ -81,7 +81,7 @@ class Resources(object):
elif os.path.exists(os.path.join(application_directory, 'resources', 'blink.ui')):
cls._cached_directory = os.path.join(application_directory, 'resources')
else:
- cls._cached_directory = os.path.join(application_directory, 'share', 'blink').decode(sys.getfilesystemencoding())
+ cls._cached_directory = os.path.join('/usr', 'share', 'blink').decode(sys.getfilesystemencoding())
- cls._cached_directory = os.path.join(application_directory, 'share', 'blink')
+ cls._cached_directory = os.path.join('/usr', 'share', 'blink')
return DirectoryContextManager(cls._cached_directory)
@classmethod