Skip to contentSkip to conversation

python-more-itertools: new package

PATCH New yegorslists at googlemail.com 2 participants 9 messages Dec 13, 2017 – Dec 16, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 python-more-itertools: new package

From: Yegor Yefremov <[email protected]>

---
 package/Config.in                                        |  1 +
 package/python-more-itertools/Config.in                  |  7 +++++++
 package/python-more-itertools/python-more-itertools.hash |  4 ++++
 package/python-more-itertools/python-more-itertools.mk   | 14 ++++++++++++++
 4 files changed, 26 insertions(+)
 create mode 100644 package/python-more-itertools/Config.in
 create mode 100644 package/python-more-itertools/python-more-itertools.hash
 create mode 100644 package/python-more-itertools/python-more-itertools.mk
package/Config.in +1 -0
index cb2141b8f3..0e9a420452 100644
@@ -810,6 +810,7 @@ menu "External python modules"
 	source "package/python-mbstrdecoder/Config.in"
 	source "package/python-meld3/Config.in"
 	source "package/python-mistune/Config.in"
+	source "package/python-more-itertools/Config.in"
 	source "package/python-msgpack/Config.in"
 	source "package/python-mutagen/Config.in"
 	source "package/python-mwclient/Config.in"
package/python-more-itertools/Config.in new file +7 -0
new file mode 100644
index 0000000000..dc5fb7ce54
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PYTHON_MORE_ITERTOOLS
+	bool "python-more-itertools"
+	select BR2_PACKAGE_PYTHON_SIX # runtime
+	help
+	  More routines for operating on iterables, beyond itertools.
+
+	  https://github.com/erikrose/more-itertools
package/python-more-itertools/python-more-itertools.hash new file +4 -0
new file mode 100644
index 0000000000..36748cb395
@@ -0,0 +1,4 @@
+# md5 from https://pypi.python.org/pypi/more-itertools/json, sha256 locally computed
+md5	fef89b28d050e325fbb7eb209e75ab45  more-itertools-4.0.1.tar.gz
+sha256	5d21dcefa19782f9ec9aa64e0bfd903f5024512b1e1f17519800b193b2e64d31  more-itertools-4.0.1.tar.gz
+sha256  09f1c8c9e941af3e584d59641ea9b87d83c0cb0fd007eb5ef391a7e2643c1a46  LICENSE
package/python-more-itertools/python-more-itertools.mk new file +14 -0
new file mode 100644
index 0000000000..971a338626
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-more-itertools
+#
+################################################################################
+
+PYTHON_MORE_ITERTOOLS_VERSION = 4.0.1
+PYTHON_MORE_ITERTOOLS_SOURCE = more-itertools-$(PYTHON_MORE_ITERTOOLS_VERSION).tar.gz
+PYTHON_MORE_ITERTOOLS_SITE = https://pypi.python.org/packages/a2/28/d02c111c230a769a32fd97e9f6d42bfb0136da381f356b945db38367b3d3
+PYTHON_MORE_ITERTOOLS_SETUP_TYPE = setuptools
+PYTHON_MORE_ITERTOOLS_LICENSE = MIT
+PYTHON_MORE_ITERTOOLS_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
Signature · 1 line
2.11.0
#1 lore raw

PATCH 2/4 python-cffi: always install target python-pycparser

From: Yegor Yefremov <[email protected]>

Some packages like python-crossbar, python-keyring use scripts, that check dependencies of all involved packages at runtime. And though cffi needs pycparser only in host variant during the bindings compilation, it still has pycparser in its setup.py as dependency.

So always installing pycparser along with cffi would create rather little overhead, but we won't have to check whether particular package has such a runtime script, that checks for dependencies.

---
 package/python-cffi/Config.in     | 1 +
 package/python-crossbar/Config.in | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)
package/python-cffi/Config.in +1 -0
index 3805d3d10a..bc9f6a296d 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_CFFI
 	bool "python-cffi"
 	select BR2_PACKAGE_LIBFFI
+	select BR2_PACKAGE_PYTHON_PYCPARSER # runtime
 	help
 	  This is the Foreign Function Interface for Python calling C
 	  code. The aim of this project is to provide a convenient
package/python-crossbar/Config.in +0 -1
index faec922e50..2a98467bd4 100644
@@ -5,7 +5,6 @@ config BR2_PACKAGE_PYTHON_CROSSBAR
 	select BR2_PACKAGE_PYTHON_AUTOBAHN
 	select BR2_PACKAGE_PYTHON_CBOR
 	select BR2_PACKAGE_PYTHON_CLICK
-	select BR2_PACKAGE_PYTHON_PYCPARSER
 	select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY
 	select BR2_PACKAGE_PYTHON_JINJA2
 	select BR2_PACKAGE_PYTHON_LMDB
Signature · 1 line
2.11.0
#2 lore raw

PATCH 2/4 python-cffi: always install target python-pycparser

Hello,

Quoted 4 lines · yegorslists at googlemail.com

Some packages like python-crossbar, python-keyring use scripts, that check dependencies of all involved packages at runtime. And though cffi needs pycparser only in host variant during the bindings compilation, it still has pycparser in its setup.py as dependency.

It is not entirely clear to me what is happening here. Could you expand a bit on this?

Quoted 3 lines

So always installing pycparser along with cffi would create rather little overhead, but we won't have to check whether particular package has such a runtime script, that checks for dependencies.

I understand what you mean, but I find the wording confusing. It feels as if you're saying that you're not going to do the change... that you're doing in this commit.

What about:

"Since adding pycparser as a dependency to python-cffi adds only very little overhead, we chose this solution as it avoids having to ..."

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#3 lore raw

PATCH 2/4 python-cffi: always install target python-pycparser

Quoted 11 lines · Thomas Petazzoni

Hello,

Quoted 4 lines · yegorslists at googlemail.com

Some packages like python-crossbar, python-keyring use scripts, that check dependencies of all involved packages at runtime. And though cffi needs pycparser only in host variant during the bindings compilation, it still has pycparser in its setup.py as dependency.

It is not entirely clear to me what is happening here. Could you expand a bit on this?

Let's take python-cryptography, the package using CFFI. But we don't install target pycparser. We can use python-cryptography. But for example keyring has a script named "keyring". And even if you just invoke it with "--help" parameter, it will complain, that you don't have pycparser, because in setuptools "database" cffi package has pycaprser in its install_requires field in setup.py.

Actually pycparser is a runtime dependency of cffi [1] and though it is not really needed on target, we have a full moral right to select this package. So I could just change the patch title to "add missing runtime dependency".

[1] https://bitbucket.org/cffi/cffi/src/9b653b9a1c876ac94951b980d8dc0ce63dfd0a72/setup.py?at=default&fileviewer=file-view-default#setup.py-214

Yegor

Quoted 20 lines
Quoted 3 lines

So always installing pycparser along with cffi would create rather little overhead, but we won't have to check whether particular package has such a runtime script, that checks for dependencies.

I understand what you mean, but I find the wording confusing. It feels as if you're saying that you're not going to do the change... that you're doing in this commit.

What about:

"Since adding pycparser as a dependency to python-cffi adds only very little overhead, we chose this solution as it avoids having to ..."

Thanks,

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

#4 lore raw

PATCH 3/4 python-secretstorage: new package

In reply to yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

---
 package/Config.in                                      |  1 +
 package/python-secretstorage/Config.in                 | 11 +++++++++++
 package/python-secretstorage/python-secretstorage.hash |  4 ++++
 package/python-secretstorage/python-secretstorage.mk   | 14 ++++++++++++++
 4 files changed, 30 insertions(+)
 create mode 100644 package/python-secretstorage/Config.in
 create mode 100644 package/python-secretstorage/python-secretstorage.hash
 create mode 100644 package/python-secretstorage/python-secretstorage.mk
package/Config.in +1 -0
index 0e9a420452..b04a20590a 100644
@@ -891,6 +891,7 @@ menu "External python modules"
 	source "package/python-scapy3k/Config.in"
 	source "package/python-schedule/Config.in"
 	source "package/python-sdnotify/Config.in"
+	source "package/python-secretstorage/Config.in"
 	source "package/python-serial/Config.in"
 	source "package/python-service-identity/Config.in"
 	source "package/python-setproctitle/Config.in"
package/python-secretstorage/Config.in new file +11 -0
new file mode 100644
index 0000000000..87aaf6a728
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_PYTHON_SECRETSTORAGE
+	bool "python-secretstorage"
+	depends on BR2_INSTALL_LIBSTDCPP # python-cryptography
+	select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime
+	help
+	  Python bindings to FreeDesktop.org Secret Service API.
+
+	  https://github.com/mitya57/secretstorage
+
+comment "python-secretstorage needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
package/python-secretstorage/python-secretstorage.hash new file +4 -0
new file mode 100644
index 0000000000..b45fb5719a
@@ -0,0 +1,4 @@
+# md5 from https://pypi.python.org/pypi/secretstorage/json, sha256 locally computed
+md5	3b9465831b069e2622973afb7deb7bc2  SecretStorage-2.3.1.tar.gz
+sha256	3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6  SecretStorage-2.3.1.tar.gz
+sha256  1debb9ff5d6759fd23cdb40e3ba34b1fa68dd0b19672b6d154599fb0ab704c57  LICENSE
package/python-secretstorage/python-secretstorage.mk new file +14 -0
new file mode 100644
index 0000000000..b9776d6644
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-secretstorage
+#
+################################################################################
+
+PYTHON_SECRETSTORAGE_VERSION = 2.3.1
+PYTHON_SECRETSTORAGE_SOURCE = SecretStorage-$(PYTHON_SECRETSTORAGE_VERSION).tar.gz
+PYTHON_SECRETSTORAGE_SITE = https://pypi.python.org/packages/a5/a5/0830cfe34a4cfd0d1c3c8b614ede1edb2aaf999091ac8548dd19cb352e79
+PYTHON_SECRETSTORAGE_SETUP_TYPE = setuptools
+PYTHON_SECRETSTORAGE_LICENSE = BSD-3-Clause
+PYTHON_SECRETSTORAGE_LICENSE_FILES = LICENSE
+
+$(eval $(python-package))
Signature · 1 line
2.11.0
#5 lore raw

PATCH 3/4 python-secretstorage: new package

Hello,

Quoted 12 lines · yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

---
 package/Config.in                                      |  1 +
 package/python-secretstorage/Config.in                 | 11 +++++++++++
 package/python-secretstorage/python-secretstorage.hash |  4 ++++
 package/python-secretstorage/python-secretstorage.mk   | 14 ++++++++++++++
 4 files changed, 30 insertions(+)
 create mode 100644 package/python-secretstorage/Config.in
 create mode 100644 package/python-secretstorage/python-secretstorage.hash
 create mode 100644 package/python-secretstorage/python-secretstorage.mk

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#6 lore raw

PATCH 4/4 python-keyring: bump to version 10.5.0

In reply to yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

Fix licence information and add licence checksum.

---
 package/python-keyring/Config.in           |  6 +++++-
 package/python-keyring/python-keyring.hash |  6 ++++--
 package/python-keyring/python-keyring.mk   | 16 ++++++----------
 3 files changed, 15 insertions(+), 13 deletions(-)
package/python-keyring/Config.in +5 -1
index a6eacf52a5..23d86a4822 100644
@@ -1,8 +1,12 @@
 config BR2_PACKAGE_PYTHON_KEYRING
 	bool "python-keyring"
-	depends on BR2_PACKAGE_PYTHON
+	depends on BR2_INSTALL_LIBSTDCPP # python-secretstorage
+	select BR2_PACKAGE_PYTHON_SECRETSTORAGE # runtime
 	help
 	  The Python keyring lib provides a easy way to access the
 	  system keyring service from Python.
 
 	  https://pypi.python.org/pypi/keyring
+
+comment "python-keyring needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
package/python-keyring/python-keyring.hash +4 -2
index cd1683a7d1..a57419039e 100644
@@ -1,2 +1,4 @@
-# locally computed
-sha256  c3f0665ee2d969170dcd6b9e83e76cc7fca2be5a40943700ce2624a0a02f9658  keyring-3.0.5.zip
+# md5 from https://pypi.python.org/pypi/keyring/json, sha256 locally computed
+md5	9c53e4f2427ebaa59d304a826311fbcf  keyring-10.5.0.tar.gz
+sha256	0e6129e8c5bc80da34cc1942d30daad79ed40419fcaaa538278c3b2ff235b313  keyring-10.5.0.tar.gz
+sha256  a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd  LICENSE
package/python-keyring/python-keyring.mk +6 -10
index c1ac15f28b..27db2802ed 100644
@@ -4,16 +4,12 @@
 #
 ################################################################################
 
-PYTHON_KEYRING_VERSION = 3.0.5
-PYTHON_KEYRING_SOURCE = keyring-$(PYTHON_KEYRING_VERSION).zip
-PYTHON_KEYRING_SITE = https://pypi.python.org/packages/source/k/keyring
+PYTHON_KEYRING_VERSION = 10.5.0
+PYTHON_KEYRING_SOURCE = keyring-$(PYTHON_KEYRING_VERSION).tar.gz
+PYTHON_KEYRING_SITE = https://pypi.python.org/packages/42/2e/51bd1739fe335095a2174db3f2f230346762e7e572471059540146a521f6
 PYTHON_KEYRING_SETUP_TYPE = setuptools
-PYTHON_KEYRING_LICENSE = python software foundation license
-
-define PYTHON_KEYRING_EXTRACT_CMDS
-	$(UNZIP) -d $(@D) $(DL_DIR)/$(PYTHON_KEYRING_SOURCE)
-	mv $(@D)/keyring-$(PYTHON_KEYRING_VERSION)/* $(@D)
-	$(RM) -r $(@D)/keyring-$(PYTHON_KEYRING_VERSION)
-endef
+PYTHON_KEYRING_LICENSE = MIT
+PYTHON_KEYRING_LICENSE_FILES = LICENSE
+PYTHON_KEYRING_DEPENDENCIES = host-python-setuptools-scm
 
 $(eval $(python-package))
Signature · 1 line
2.11.0
#7 lore raw

PATCH 4/4 python-keyring: bump to version 10.5.0

Quoted 3 lines · On Wed, Dec 13, 2017 at 10:04 AM, <[email protected]> wrote:

From: Yegor Yefremov <[email protected]>

Fix licence information and add licence checksum.

Forgot to add

Fixes:
http://autobuild.buildroot.net/results/f7322f19303daa3d403f2c0f13379d947431300d/

Yegor

Quoted 66 lines
---
 package/python-keyring/Config.in           |  6 +++++-
 package/python-keyring/python-keyring.hash |  6 ++++--
 package/python-keyring/python-keyring.mk   | 16 ++++++----------
 3 files changed, 15 insertions(+), 13 deletions(-)
package/python-keyring/Config.in +5 -1
index a6eacf52a5..23d86a4822 100644
@@ -1,8 +1,12 @@
 config BR2_PACKAGE_PYTHON_KEYRING
        bool "python-keyring"
-       depends on BR2_PACKAGE_PYTHON
+       depends on BR2_INSTALL_LIBSTDCPP # python-secretstorage
+       select BR2_PACKAGE_PYTHON_SECRETSTORAGE # runtime
        help
          The Python keyring lib provides a easy way to access the
          system keyring service from Python.
 
          https://pypi.python.org/pypi/keyring
+
+comment "python-keyring needs a toolchain w/ C++"
+       depends on !BR2_INSTALL_LIBSTDCPP
package/python-keyring/python-keyring.hash +4 -2
index cd1683a7d1..a57419039e 100644
@@ -1,2 +1,4 @@
-# locally computed
-sha256  c3f0665ee2d969170dcd6b9e83e76cc7fca2be5a40943700ce2624a0a02f9658  keyring-3.0.5.zip
+# md5 from https://pypi.python.org/pypi/keyring/json, sha256 locally computed
+md5    9c53e4f2427ebaa59d304a826311fbcf  keyring-10.5.0.tar.gz
+sha256 0e6129e8c5bc80da34cc1942d30daad79ed40419fcaaa538278c3b2ff235b313  keyring-10.5.0.tar.gz
+sha256  a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd  LICENSE
package/python-keyring/python-keyring.mk +6 -11
index c1ac15f28b..27db2802ed 100644
@@ -4,16 +4,12 @@
 #
 ################################################################################
 
-PYTHON_KEYRING_VERSION = 3.0.5
-PYTHON_KEYRING_SOURCE = keyring-$(PYTHON_KEYRING_VERSION).zip
-PYTHON_KEYRING_SITE = https://pypi.python.org/packages/source/k/keyring
+PYTHON_KEYRING_VERSION = 10.5.0
+PYTHON_KEYRING_SOURCE = keyring-$(PYTHON_KEYRING_VERSION).tar.gz
+PYTHON_KEYRING_SITE = https://pypi.python.org/packages/42/2e/51bd1739fe335095a2174db3f2f230346762e7e572471059540146a521f6
 PYTHON_KEYRING_SETUP_TYPE = setuptools
-PYTHON_KEYRING_LICENSE = python software foundation license
-
-define PYTHON_KEYRING_EXTRACT_CMDS
-       $(UNZIP) -d $(@D) $(DL_DIR)/$(PYTHON_KEYRING_SOURCE)
-       mv $(@D)/keyring-$(PYTHON_KEYRING_VERSION)/* $(@D)
-       $(RM) -r $(@D)/keyring-$(PYTHON_KEYRING_VERSION)
-endef
+PYTHON_KEYRING_LICENSE = MIT
+PYTHON_KEYRING_LICENSE_FILES = LICENSE
+PYTHON_KEYRING_DEPENDENCIES = host-python-setuptools-scm
 
 $(eval $(python-package))
--

2.11.0

#8 lore raw

PATCH 1/4 python-more-itertools: new package

In reply to yegorslists at googlemail.com

Hello,

Quoted 12 lines · yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

---
 package/Config.in                                        |  1 +
 package/python-more-itertools/Config.in                  |  7 +++++++
 package/python-more-itertools/python-more-itertools.hash |  4 ++++
 package/python-more-itertools/python-more-itertools.mk   | 14 ++++++++++++++
 4 files changed, 26 insertions(+)
 create mode 100644 package/python-more-itertools/Config.in
 create mode 100644 package/python-more-itertools/python-more-itertools.hash
 create mode 100644 package/python-more-itertools/python-more-itertools.mk

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com