Subject: [alpine-aports] [PATCH 1/5] testing/py-nbxmpp: New aport

From: Marian Buschsieweke <[email-masked]>
Date: Sun, 1 Jul 2018 15:55:18 +0200

https://dev.gajim.org/gajim/python-nbxmpp/
A non-blocking XMPP implementation for python
---
 testing/py-nbxmpp/APKBUILD | 45 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 testing/py-nbxmpp/APKBUILD

diff --git a/testing/py-nbxmpp/APKBUILD b/testing/py-nbxmpp/APKBUILD
new file mode 100644
index 0000000000..c002ef5f9d
--- /dev/null
+++ b/testing/py-nbxmpp/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Marian Buschsieweke <[email-masked]>
+pkgname=py-nbxmpp
+_pkgname="${pkgname#py-}"
+pkgver=0.6.6
+pkgrel=0
+pkgdesc="A non-blocking XMPP implementation for python"
+url="https://dev.gajim.org/gajim/python-nbxmpp/"
+arch="noarch"
+license="GPL3"
+makedepends="py-setuptools python2-dev python3-dev"
+subpackages="py2-$_pkgname:_py2 py3-$_pkgname:_py3"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir"/$_pkgname-$pkgver
+options="!check"
+
+build() {
+	cd "$builddir"
+	python2 setup.py build
+	python3 setup.py build
+}
+
+package() {
+	mkdir -p "$pkgdir"
+}
+
+_py2() {
+	replaces="$pkgname"
+	_py python2
+}
+
+_py3() {
+	_py python3
+}
+
+_py() {
+	local python="$1"
+	pkgdesc="$pkgdesc (for $python)"
+	depends="$depends $python"
+	install_if="$pkgname=$pkgver-r$pkgrel $python"
+
+	cd "$builddir"
+	$python setup.py install --prefix=/usr --root="$subpkgdir"
+}
+
+sha512sums="069cb2be905ac5abf92bc06a1e61a58c41ae38a288d1d51e80eb9b00e250d2a043ca0009288bf228965adeda5acecbc2288f7c0b9007f07ce93196ea59cee206  nbxmpp-0.6.6.tar.gz"
-- 
2.18.0

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Marian Buschsieweke <[email-masked]>
Date: Sun, 1 Jul 2018 15:55:19 +0200

https://gajim.org/
A full featured and easy to use XMPP client
---
 testing/gajim/APKBUILD | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 testing/gajim/APKBUILD

diff --git a/testing/gajim/APKBUILD b/testing/gajim/APKBUILD
new file mode 100644
index 0000000000..7b51e04212
--- /dev/null
+++ b/testing/gajim/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Marian Buschsieweke <[email-masked]>
+pkgname=gajim
+pkgver=1.0.3
+pkgrel=0
+pkgdesc="A full featured and easy to use XMPP client"
+url="https://gajim.org/"
+arch="noarch"
+license="GPL3"
+depends="py3-cairo py3-gobject3 py3-asn1 py3-nbxmpp py3-openssl"
+makedepends="py-setuptools python3-dev"
+source="https://$pkgname.org/downloads/1.0/$pkgname-$pkgver.tar.bz2"
+builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+	cd "$builddir"
+	python3 setup.py build
+}
+
+check() {
+	cd "$builddir"
+	python3 setup.py test
+}
+
+package() {
+	cd "$builddir"
+	python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="a6d7f92a22a9dddc8a4b07eda0aae0b6fb4db57c73133ee19937f7e2a2a82c5351051d1f3627c94a44434276ed001b83d375f708f177962125af66cda8579ec8  gajim-1.0.3.tar.bz2"
-- 
2.18.0

---

---

From: Leonardo Arena <[email-masked]>
Date: Fri, 20 Jul 2018 12:34:13 +0200

Hi,

it seems that gettext-dev is missing as mdepends. Even after adding it
fails during tests phase with:

Now running: unit.test_protocol_caps
E
======================================================================
ERROR: test_protocol_caps (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_protocol_caps
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 888, in _find_spec
AttributeError: 'DynamicImporter' object has no attribute 'find_spec'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/unittest/loader.py", line 153, in
loadTestsFromName
    module = __import__(module_name)
  File
"/home/larena/aports/testing/gajim/src/gajim-1.0.3/test/unit/test_protocol_caps.py",
line 7, in <module>
    lib.setup_env()
  File
"/home/larena/aports/testing/gajim/src/gajim-1.0.3/test/lib/__init__.py",
line 55, in setup_env
    from gajim import gtkgui_helpers
  File
"/home/larena/aports/testing/gajim/src/gajim-1.0.3/test/lib/../../gajim/gtkgui_helpers.py",
line 32, in <module>
    from gi.repository import Gtk
  File "/usr/lib/python3.6/site-packages/gi/importer.py", line 127, in
find_module
    'introspection typelib not found' % namespace)
ImportError: cannot import name Gtk, introspection typelib not found

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)

Care to review the patch?

Thanks!

/eo

On Sun, Jul 1, 2018 at 3:55 PM, Marian Buschsieweke <
[email-masked]> wrote:

> +sha512sums="a6d7f92a22a9dddc8a4b07eda0aae0b6fb4db57c73133ee19937f7e2a2a8
> 2c5351051d1f3627c94a44434276ed001b83d375f708f177962125af66cda8579ec8
> gajim-1.0.3.tar.bz2"
> --
> 2.18.0
>
>
>
> ---

---

From: Marian Buschsieweke <[email-masked]>
Date: Sun, 1 Jul 2018 15:55:20 +0200

https://github.com/tgalal/python-axolotl-curve25519
A python wrapper for curve25519 library with ed25519 signatures
---
 testing/py-axolotl-curve25519/APKBUILD | 50 ++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 testing/py-axolotl-curve25519/APKBUILD

diff --git a/testing/py-axolotl-curve25519/APKBUILD b/testing/py-axolotl-curve25519/APKBUILD
new file mode 100644
index 0000000000..337c0e4e3c
--- /dev/null
+++ b/testing/py-axolotl-curve25519/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Marian Buschsieweke <[email-masked]>
+pkgname=py-axolotl-curve25519
+_pkgname="python-${pkgname#py-}"
+pkgver=0.4.1b
+_pkgver=0.4.1-2
+pkgrel=0
+pkgdesc="A python wrapper for curve25519 library with ed25519 signatures"
+url="https://github.com/tgalal/python-axolotl-curve25519"
+arch="all"
+license="GPL3"
+makedepends="py-setuptools python2-dev python3-dev"
+subpackages="py2-${pkgname#py-}:_py2 py3-${pkgname#py-}:_py3"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tgalal/$_pkgname/archive/$_pkgver.tar.gz"
+builddir="$srcdir"/$_pkgname-$_pkgver
+
+build() {
+	cd "$builddir"
+	python2 setup.py build
+	python3 setup.py build
+}
+
+check() {
+	cd "$builddir"
+	python3 setup.py test
+}
+
+package() {
+	mkdir -p "$pkgdir"
+}
+
+_py2() {
+	replaces="$pkgname"
+	_py python2
+}
+
+_py3() {
+	_py python3
+}
+
+_py() {
+	local python="$1"
+	pkgdesc="$pkgdesc (for $python)"
+	depends="$depends $python"
+	install_if="$pkgname=$pkgver-r$pkgrel $python"
+
+	cd "$builddir"
+	$python setup.py install --prefix=/usr --root="$subpkgdir"
+}
+
+sha512sums="cbc7c6caa47a9a811640c247a1be727d7b1b68bcdb4c5336e02b4d1eaf9fd2c57b7438b0da466a379a1c0f3f146756b9b7eea3c9b7945ce88478d4bf0b8a1e0d  py-axolotl-curve25519-0.4.1b.tar.gz"
-- 
2.18.0

---

---

From: Marian Buschsieweke <[email-masked]>
Date: Sun, 1 Jul 2018 15:55:21 +0200

https://github.com/tgalal/python-axolotl
Python port of libsignal-protocol-java
---
 testing/py-axolotl/APKBUILD | 51 +++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 testing/py-axolotl/APKBUILD

diff --git a/testing/py-axolotl/APKBUILD b/testing/py-axolotl/APKBUILD
new file mode 100644
index 0000000000..fe9e416195
--- /dev/null
+++ b/testing/py-axolotl/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Marian Buschsieweke <[email-masked]>
+pkgname=py-axolotl
+_pkgname="python-${pkgname#py-}"
+pkgver=0.1.42
+pkgrel=0
+pkgdesc="Python port of libsignal-protocol-java"
+url="https://github.com/tgalal/python-axolotl"
+arch="noarch"
+license="GPL3"
+makedepends="py-setuptools python2-dev python3-dev"
+subpackages="py2-${pkgname#py-}:_py2 py3-${pkgname#py-}:_py3"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tgalal/$_pkgname/archive/$pkgver.tar.gz"
+builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+	cd "$builddir"
+	python2 setup.py build
+	python3 setup.py build
+}
+
+check() {
+	cd "$builddir"
+	python3 setup.py test
+}
+
+package() {
+	mkdir -p "$pkgdir"
+}
+
+_py2() {
+	depends="py2-crypto py2-protobuf py2-axolotl-curve25519"
+	replaces="$pkgname"
+	_py python2
+}
+
+_py3() {
+	depends="py3-crypto py3-protobuf py3-axolotl-curve25519"
+	_py python3
+}
+
+_py() {
+	local python="$1"
+	pkgdesc="$pkgdesc (for $python)"
+	depends="$depends $python"
+	install_if="$pkgname=$pkgver-r$pkgrel $python"
+
+	cd "$builddir"
+	$python setup.py install --prefix=/usr --root="$subpkgdir"
+}
+
+sha512sums="db9e1cfab87d690619a672b1782942a18b12b17af555959c17bcc3e2581e9c689c57becc0ea884a1129df9dace17684ba03de38b81f8c8c65cab27962ebdb6c5  py-axolotl-0.1.42.tar.gz"
-- 
2.18.0

---

---

From: Leonardo Arena <[email-masked]>
Date: Fri, 20 Jul 2018 10:06:01 +0200

Hi,

please see few comments below.

> +++ b/testing/py-axolotl/APKBUILD

Please replace it with "GPL-3.0-only"

Please add the dependencies here instead of adding them into the
subpbackages.

depends="py-crypto py-protobuf py-axolotl-curve25519"

> +builddir="$srcdir"/$_pkgname-$pkgver

Python 2 tests are missing.

> +       depends="py2-crypto py2-protobuf py2-axolotl-curve25519"

Please do a variable substitution here instead. This is the approach used
for all the other python packages:

depends="${depends//py-/py2-}"

> +       replaces="$pkgname"

This should not be needed.

> +       depends="py3-crypto py3-protobuf py3-axolotl-curve25519"

See comment above.

Thanks!

/eo

---

From: Marian Buschsieweke <[email-masked]>
Date: Sun, 1 Jul 2018 15:55:22 +0200

https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin
Gajim plugin for Multi-End Message and Object Encryption (OMEMO)
---
 testing/gajim-plugin-omemo/APKBUILD | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 testing/gajim-plugin-omemo/APKBUILD

diff --git a/testing/gajim-plugin-omemo/APKBUILD b/testing/gajim-plugin-omemo/APKBUILD
new file mode 100644
index 0000000000..8af4770352
--- /dev/null
+++ b/testing/gajim-plugin-omemo/APKBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Marian Buschsieweke <[email-masked]>
+pkgname=gajim-plugin-omemo
+_pkgname="${pkgname#gajim-plugin-}"
+pkgver=2.5.13
+pkgrel=0
+pkgdesc="Gajim plugin for Multi-End Message and Object Encryption (OMEMO)"
+url="https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin"
+arch="noarch"
+license="GPL3"
+depends="gajim py3-qrcode py3-axolotl"
+makedepends="py-setuptools python3-dev"
+source="$pkgname-$pkgver.zip::https://ftp.gajim.org/plugins_releases/${_pkgname}_${pkgver}.zip"
+builddir="$srcdir"/$_pkgname
+options="!check"
+
+package() {
+	cd "$builddir"
+	rm -f CHANGELOG COPYING
+	site_pkgs="$(python3 -c 'import site; print(site.getsitepackages()[0])')"
+	mkdir -p "$pkgdir/$site_pkgs/gajim/data/plugins/$_pkgname"
+	cp -r ./* "$pkgdir/$site_pkgs/gajim/data/plugins/$_pkgname/"
+}
+
+sha512sums="f5a22f2d7ee6c8b5c8e49df6bcbba05f8dfebff2c764470fa8c80c0ccf667f964fd33d5f4541cc1f6d5d4058c74ac9398b1e0c4ec10d37f3d40eb08d922180d9  gajim-plugin-omemo-2.5.13.zip"
-- 
2.18.0

---

---

From: Leonardo Arena <[email-masked]>
Date: Fri, 20 Jul 2018 09:45:58 +0200

Hi,

committed with some modifications. Please see below:

> +++ b/testing/py-nbxmpp/APKBUILD

Used license ID "GPL-3.0-only"

> +builddir="$srcdir"/$_pkgname-$pkgver

Added comment that a test suite is not available

> +       replaces="$pkgname"

I don't think it's needed:

(edge-x86_64) ~/aports/testing/py-nbxmpp$ sudo apk add py-nbxmpp
(1/3) Installing py-nbxmpp (0.6.6-r0)
(2/3) Installing py2-nbxmpp (0.6.6-r0)
(3/3) Installing py3-nbxmpp (0.6.6-r0)
OK: 1007 MiB in 257 packages
(edge-x86_64) ~/aports/testing/py-nbxmpp$ sudo apk del py-nbxmpp
(1/3) Purging py3-nbxmpp (0.6.6-r0)
(2/3) Purging py2-nbxmpp (0.6.6-r0)
(3/3) Purging py-nbxmpp (0.6.6-r0)
OK: 1005 MiB in 254 packages
(edge-x86_64) ~/aports/testing/py-nbxmpp$ sudo apk add py2-nbxmpp
(1/1) Installing py2-nbxmpp (0.6.6-r0)
OK: 1006 MiB in 255 packages
(edge-x86_64) ~/aports/testing/py-nbxmpp$ sudo apk add py3-nbxmpp
(1/1) Installing py3-nbxmpp (0.6.6-r0)
OK: 1007 MiB in 256 packages
(edge-x86_64) ~/aports/testing/py-nbxmpp$ sudo apk del py2-nbxmpp py3-nbxmpp
(1/2) Purging py2-nbxmpp (0.6.6-r0)
(2/2) Purging py3-nbxmpp (0.6.6-r0)
OK: 1005 MiB in 254 packages

Removed.

Thanks!

/eo