Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0
@ 2023-06-26 18:15 James Hilliard
  2023-06-26 18:15 ` [Buildroot] [PATCH 2/5] package/python-pythran: bump to version 0.13.1 James Hilliard
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: James Hilliard @ 2023-06-26 18:15 UTC (permalink / raw)
  To: buildroot
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Angelo Compagnucci, Asaf Kahlon, Guillaume William Brs,
	James Hilliard, Jagan Teki, Thomas Petazzoni, Giulio Benetti

Migrate to meson package infrastructure.

License has changed due to date update:
https://github.com/numpy/numpy/commit/c1ffdbc0c29d48ece717acb5bfbf811c935b41f6

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/python-numpy/python-numpy.hash |  6 ++---
 package/python-numpy/python-numpy.mk   | 31 ++++++++++++--------------
 2 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash
index 9ac9280c78..6629cebbce 100644
--- a/package/python-numpy/python-numpy.hash
+++ b/package/python-numpy/python-numpy.hash
@@ -1,7 +1,7 @@
-# Copied from https://github.com/numpy/numpy/releases/tag/v1.23.5
-sha256  1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a  numpy-1.23.5.tar.gz
+# Copied from https://github.com/numpy/numpy/releases/tag/v1.25.0
+sha256  f1accae9a28dc3cda46a91de86acf69de0d1b5f4edd44a9b0c3ceb8036dfff19  numpy-1.25.0.tar.gz
 # License files, locally calculated
-sha256  0f88787955e7131224f53a8c3f3e859dc502408e3a539a4dcf61fb7888b5b984  LICENSE.txt
+sha256  1034d3bd61783f3b5e7ec3e7ca818f4da4135132323a0ef99f4c0edb3c7f6bd2  LICENSE.txt
 sha256  c27d0a8026bdb8876562b720ab24d1688e3827a89f6083cd6e7e8caa9584aba3  numpy/core/src/multiarray/dragon4.c
 sha256  fbc539f47d0cf83bc61378080fb873d5c14630126cacbfe754035c3926daa5ec  numpy/core/include/numpy/libdivide/LICENSE.txt
 sha256  a14cc25e10d40a3aa705b7de2fb764a6535d8ee9b2db4e1724900585457dfd55  numpy/linalg/lapack_lite/LICENSE.txt
diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk
index 812bfdae4a..ad64a0cc6b 100644
--- a/package/python-numpy/python-numpy.mk
+++ b/package/python-numpy/python-numpy.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PYTHON_NUMPY_VERSION = 1.23.5
+PYTHON_NUMPY_VERSION = 1.25.0
 PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz
 PYTHON_NUMPY_SITE = https://github.com/numpy/numpy/releases/download/v$(PYTHON_NUMPY_VERSION)
 PYTHON_NUMPY_LICENSE = BSD-3-Clause, MIT, Zlib
@@ -15,30 +15,27 @@ PYTHON_NUMPY_LICENSE_FILES = \
 	numpy/linalg/lapack_lite/LICENSE.txt \
 	tools/npy_tempita/license.txt
 
-PYTHON_NUMPY_SETUP_TYPE = setuptools
-PYTHON_NUMPY_DEPENDENCIES = host-python-cython
+PYTHON_NUMPY_DEPENDENCIES = host-python-cython python3
 HOST_PYTHON_NUMPY_DEPENDENCIES = host-python-cython
 
+PYTHON_NUMPY_CONF_ENV += \
+	_PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \
+	PYTHONPATH=$(PYTHON3_PATH)
+
 ifeq ($(BR2_PACKAGE_LAPACK),y)
 PYTHON_NUMPY_DEPENDENCIES += lapack
+PYTHON_NUMPY_CONF_OPTS = -Dlapack=lapack
 else
-PYTHON_NUMPY_ENV += BLAS=None LAPACK=None
+PYTHON_NUMPY_CONF_OPTS = -Dlapack=""
 endif
 
-ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y)
-PYTHON_NUMPY_BUILD_OPTS = --fcompiler=gnu95
-PYTHON_NUMPY_ENV += F90=$(TARGET_FC)
+ifeq ($(BR2_PACKAGE_OPENBLAS),y)
+PYTHON_NUMPY_DEPENDENCIES += openblas
+PYTHON_NUMPY_CONF_OPTS += -Dblas=openblas
 else
-PYTHON_NUMPY_BUILD_OPTS = --fcompiler=None
+PYTHON_NUMPY_CONF_OPTS += -Dblas=""
 endif
 
-define PYTHON_NUMPY_CONFIGURE_CMDS
-	-rm -f $(@D)/site.cfg
-	echo "[DEFAULT]" >> $(@D)/site.cfg
-	echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(@D)/site.cfg
-	echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(@D)/site.cfg
-endef
-
 # Fixup the npymath.ini prefix path with actual target staging area where
 # numpy core was built. Without this, target builds using numpy distutils
 # extensions like python-scipy, python-numba cannot find -lnpymath since
@@ -55,5 +52,5 @@ PYTHON_NUMPY_POST_INSTALL_STAGING_HOOKS += PYTHON_NUMPY_FIXUP_NPY_PKG_CONFIG_FIL
 # in the staging area.
 PYTHON_NUMPY_INSTALL_STAGING = YES
 
-$(eval $(python-package))
-$(eval $(host-python-package))
+$(eval $(meson-package))
+$(eval $(host-meson-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 2/5] package/python-pythran: bump to version 0.13.1
  2023-06-26 18:15 [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 James Hilliard
@ 2023-06-26 18:15 ` James Hilliard
  2023-09-30 12:38   ` Thomas Petazzoni via buildroot
  2023-06-26 18:15 ` [Buildroot] [PATCH 3/5] package/python-pybind: bump to version 2.10.4 James Hilliard
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: James Hilliard @ 2023-06-26 18:15 UTC (permalink / raw)
  To: buildroot
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Angelo Compagnucci, Asaf Kahlon, Guillaume William Brs,
	James Hilliard, Jagan Teki, Thomas Petazzoni, Giulio Benetti

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/python-pythran/python-pythran.hash | 4 ++--
 package/python-pythran/python-pythran.mk   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/python-pythran/python-pythran.hash b/package/python-pythran/python-pythran.hash
index 08348a5ccf..2dfc445b2f 100644
--- a/package/python-pythran/python-pythran.hash
+++ b/package/python-pythran/python-pythran.hash
@@ -1,6 +1,6 @@
 # md5, sha256 from https://pypi.org/pypi/pythran/json
-md5  d2961ece35b4b9f44a84ef31df1b21ff  pythran-0.12.0.tar.gz
-sha256  eff3dd0d3eebe57372f0d14f82985525e9bcdfb5b1d1010e1932cf9207060f9f  pythran-0.12.0.tar.gz
+md5  3090288af50566af75cb058d1878aaad  pythran-0.13.1.tar.gz
+sha256  8aad08162f010e5425a7b254dd68d83311b430bb29f9252dce2eff3ba39497dd  pythran-0.13.1.tar.gz
 # Locally computed sha256 checksums
 sha256  0be9f14c66a9a3cb66d5263a6495437862ce0c9cdf60d4a6c36d1e51b1244c6e  LICENSE
 sha256  e1c0ed0a99e4462016d79d835f1f479b78c4d4a07fe66598e97f449503ffd178  docs/LICENSE.rst
diff --git a/package/python-pythran/python-pythran.mk b/package/python-pythran/python-pythran.mk
index 0d946be28a..25735ad95a 100644
--- a/package/python-pythran/python-pythran.mk
+++ b/package/python-pythran/python-pythran.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-PYTHON_PYTHRAN_VERSION = 0.12.0
+PYTHON_PYTHRAN_VERSION = 0.13.1
 PYTHON_PYTHRAN_SOURCE = pythran-$(PYTHON_PYTHRAN_VERSION).tar.gz
-PYTHON_PYTHRAN_SITE = https://files.pythonhosted.org/packages/99/e0/ed0e81de05cfa4ecbcbceec6603d175387d8bc7a6332cbfd155d09958ccf
+PYTHON_PYTHRAN_SITE = https://files.pythonhosted.org/packages/8d/d8/b27e8dc3f3a03dcd317d40d9df0ae07ebbd85444585973ceba07716934d0
 PYTHON_PYTHRAN_SETUP_TYPE = setuptools
 PYTHON_PYTHRAN_LICENSE = BSD-3-Clause
 PYTHON_PYTHRAN_LICENSE_FILES = LICENSE docs/LICENSE.rst
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 3/5] package/python-pybind: bump to version 2.10.4
  2023-06-26 18:15 [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 James Hilliard
  2023-06-26 18:15 ` [Buildroot] [PATCH 2/5] package/python-pythran: bump to version 0.13.1 James Hilliard
@ 2023-06-26 18:15 ` James Hilliard
  2023-09-30 12:40   ` Thomas Petazzoni via buildroot
  2023-06-26 18:15 ` [Buildroot] [PATCH 4/5] package/python-scipy: bump to version 1.11.0 James Hilliard
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: James Hilliard @ 2023-06-26 18:15 UTC (permalink / raw)
  To: buildroot
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Angelo Compagnucci, Asaf Kahlon, Guillaume William Brs,
	James Hilliard, Jagan Teki, Thomas Petazzoni, Giulio Benetti

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/python-pybind/python-pybind.hash | 2 +-
 package/python-pybind/python-pybind.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/python-pybind/python-pybind.hash b/package/python-pybind/python-pybind.hash
index 971eceaa07..154ca6d986 100644
--- a/package/python-pybind/python-pybind.hash
+++ b/package/python-pybind/python-pybind.hash
@@ -1,4 +1,4 @@
 # Locally calculated
-sha256  5d8c4c5dda428d3a944ba3d2a5212cb988c2fae4670d58075a5a49075a6ca315  python-pybind-2.10.3.tar.gz
+sha256  832e2f309c57da9c1e6d4542dedd34b24e4192ecb4d62f6f4866a737454c9970  python-pybind-2.10.4.tar.gz
 # License files, locally calculated
 sha256  83965b843b98f670d3a85bd041ed4b372c8ec50d7b4a5995a83ac697ba675dcb  LICENSE
diff --git a/package/python-pybind/python-pybind.mk b/package/python-pybind/python-pybind.mk
index 1fd106b981..b96089e8c5 100644
--- a/package/python-pybind/python-pybind.mk
+++ b/package/python-pybind/python-pybind.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PYTHON_PYBIND_VERSION = 2.10.3
+PYTHON_PYBIND_VERSION = 2.10.4
 PYTHON_PYBIND_SITE = $(call github,pybind,pybind11,v$(PYTHON_PYBIND_VERSION))
 PYTHON_PYBIND_LICENSE = BSD-3-Clause
 PYTHON_PYBIND_LICENSE_FILES = LICENSE
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 4/5] package/python-scipy: bump to version 1.11.0
  2023-06-26 18:15 [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 James Hilliard
  2023-06-26 18:15 ` [Buildroot] [PATCH 2/5] package/python-pythran: bump to version 0.13.1 James Hilliard
  2023-06-26 18:15 ` [Buildroot] [PATCH 3/5] package/python-pybind: bump to version 2.10.4 James Hilliard
@ 2023-06-26 18:15 ` James Hilliard
  2023-09-30 12:40   ` Thomas Petazzoni via buildroot
  2023-06-26 18:15 ` [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517 James Hilliard
  2023-09-30 12:37 ` [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 Thomas Petazzoni via buildroot
  4 siblings, 1 reply; 13+ messages in thread
From: James Hilliard @ 2023-06-26 18:15 UTC (permalink / raw)
  To: buildroot
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Angelo Compagnucci, Asaf Kahlon, Guillaume William Brs,
	James Hilliard, Jagan Teki, Thomas Petazzoni, Giulio Benetti

Migrate to meson package infrastructure.

Add new openblas dependency.

License hash changed due to date update:
https://github.com/scipy/scipy/commit/d3f0aea40f64e478085b6478a9fe55ca8a75b087

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/python-scipy/Config.in         |  3 +++
 package/python-scipy/python-scipy.hash |  5 ++--
 package/python-scipy/python-scipy.mk   | 37 +++++++++-----------------
 3 files changed, 18 insertions(+), 27 deletions(-)

diff --git a/package/python-scipy/Config.in b/package/python-scipy/Config.in
index 229b5997ad..0a4acb9699 100644
--- a/package/python-scipy/Config.in
+++ b/package/python-scipy/Config.in
@@ -2,10 +2,12 @@ config BR2_PACKAGE_PYTHON_SCIPY
 	bool "python-scipy"
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy
 	depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS # lapack
+	depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS # openblas
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
 	depends on BR2_TOOLCHAIN_HAS_FORTRAN # lapack
 	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_LAPACK
+	select BR2_PACKAGE_OPENBLAS
 	select BR2_PACKAGE_PYTHON3_ZLIB # runtime scipy::io
 	select BR2_PACKAGE_PYTHON_NUMPY # runtime
 	select BR2_PACKAGE_PYTHON_PYBIND
@@ -20,6 +22,7 @@ config BR2_PACKAGE_PYTHON_SCIPY
 comment "python-scipy needs toolchain w/ fortran and c++ and glibc or musl"
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS
 	depends on !BR2_TOOLCHAIN_HAS_FORTRAN || \
 		!BR2_INSTALL_LIBSTDCPP || \
 		(!BR2_TOOLCHAIN_USES_GLIBC && !BR2_TOOLCHAIN_USES_MUSL)
diff --git a/package/python-scipy/python-scipy.hash b/package/python-scipy/python-scipy.hash
index 0274679c43..9634771139 100644
--- a/package/python-scipy/python-scipy.hash
+++ b/package/python-scipy/python-scipy.hash
@@ -1,7 +1,6 @@
 # Locally generated
-sha256  0140dd24d14ce194fdb3df496c2190f0896ca84ac98bf5d69c3b3fb7bde1a1e9  scipy-1.8.1.tar.xz
-sha256  96599f8ec69a2cc609265eed13fc75090aacb28742260e55ce623788a33da19c  LICENSE.txt
-sha256  37e64a498894ac7c3b070023e3689e954a8ecf8a23b90968d09a455f1b4f7b35  scipy/linalg/src/lapack_deprecations/LICENSE
+sha256  f9b0248cb9d08eead44cde47cbf6339f1e9aa0dfde28f5fb27950743e317bd5d  scipy-1.11.0.tar.gz
+sha256  5517022426a56179540ee6eace15fd723ef8fdb83b2900fed2152dd2e2f972a2  LICENSE.txt
 sha256  606209a000716c5f66e33e180ce08434b96ed17db4975ab9723c6b5fbcc89609  scipy/ndimage/LICENSE.txt
 sha256  3df9207af2fdb861af0ae3b22026f163b9bcfab4e525dc4943afe2ffa3f77624  scipy/optimize/tnc/LICENSE
 sha256  f0cedf52503b2d42b83411a0a16e6fefac346dfad8fddc66f50050150123470c  scipy/sparse/linalg/_dsolve/SuperLU/License.txt
diff --git a/package/python-scipy/python-scipy.mk b/package/python-scipy/python-scipy.mk
index a8c23c6c88..3010cfbd54 100644
--- a/package/python-scipy/python-scipy.mk
+++ b/package/python-scipy/python-scipy.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-PYTHON_SCIPY_VERSION = 1.8.1
-PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.xz
-PYTHON_SCIPY_SITE = https://github.com/scipy/scipy/releases/download/v$(PYTHON_SCIPY_VERSION)
+PYTHON_SCIPY_VERSION = 1.11.0
+PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.gz
+PYTHON_SCIPY_SITE = https://files.pythonhosted.org/packages/fa/d0/724c8204f87b6f807e3e67de32b8b4922d579154a448ce94e89129064bf1
 PYTHON_SCIPY_LICENSE = \
 	BSD-3-Clause, \
 	BSD-2-Clause, \
@@ -16,7 +16,6 @@ PYTHON_SCIPY_LICENSE = \
 	Qhull
 PYTHON_SCIPY_LICENSE_FILES = \
 	LICENSE.txt \
-	scipy/linalg/src/lapack_deprecations/LICENSE \
 	scipy/ndimage/LICENSE.txt \
 	scipy/optimize/tnc/LICENSE \
 	scipy/sparse/linalg/_dsolve/SuperLU/License.txt \
@@ -25,34 +24,24 @@ PYTHON_SCIPY_LICENSE_FILES = \
 PYTHON_SCIPY_CPE_ID_VENDOR = scipy
 PYTHON_SCIPY_CPE_ID_PRODUCT = scipy
 PYTHON_SCIPY_DEPENDENCIES += \
+	host-python-cython \
 	host-python-numpy \
 	host-python-pythran \
 	zlib \
 	lapack \
+	openblas \
+	python3 \
 	python-numpy \
 	python-pybind
 PYTHON_SCIPY_INSTALL_STAGING = YES
 
-PYTHON_SCIPY_SETUP_TYPE = setuptools
-PYTHON_SCIPY_BUILD_OPTS = config_fc --fcompiler=gnu95
+PYTHON_SCIPY_CONF_ENV += \
+	_PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \
+	PYTHONPATH=$(PYTHON3_PATH)
 
-PYTHON_SCIPY_LDFLAGS = $(TARGET_LDFLAGS) -shared \
-	-L$(PYTHON3_PATH)/site-packages/numpy/core/lib
-# -lnpyrandom localization
-PYTHON_SCIPY_LDFLAGS += \
-	-L$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/random/lib
+PYTHON_SCIPY_CONF_OPTS = -Dblas=openblas -Dlapack=lapack
 
-PYTHON_SCIPY_ENV = \
-	F90=$(TARGET_FC) \
-	LDFLAGS="$(PYTHON_SCIPY_LDFLAGS)"
+PYTHON_SCIPY_MESON_EXTRA_PROPERTIES = \
+	numpy-include-dir='$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include'
 
-# Provide system configuration options to numpy distutils extensions, telling
-# to find all include files and libraries in staging directory.
-define PYTHON_SCIPY_CONFIGURE_CMDS
-	-rm -f $(@D)/site.cfg
-	echo "[DEFAULT]" >> $(@D)/site.cfg
-	echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(@D)/site.cfg
-	echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(@D)/site.cfg
-endef
-
-$(eval $(python-package))
+$(eval $(meson-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517
  2023-06-26 18:15 [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 James Hilliard
                   ` (2 preceding siblings ...)
  2023-06-26 18:15 ` [Buildroot] [PATCH 4/5] package/python-scipy: bump to version 1.11.0 James Hilliard
@ 2023-06-26 18:15 ` James Hilliard
  2023-07-10 17:53   ` Thomas Petazzoni via buildroot
  2023-08-26 22:11   ` Thomas Petazzoni via buildroot
  2023-09-30 12:37 ` [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 Thomas Petazzoni via buildroot
  4 siblings, 2 replies; 13+ messages in thread
From: James Hilliard @ 2023-06-26 18:15 UTC (permalink / raw)
  To: buildroot
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Angelo Compagnucci, Asaf Kahlon, Guillaume William Brs,
	James Hilliard, Jagan Teki, Thomas Petazzoni, Giulio Benetti

Now that setuptools and its dependencies are using pep517 we can
migrate the setuptools infrastructure itself to use the pep517
build frontend.

As part of this we need to migrate the all python packages using
_BUILD_OPTS to the new config settings format used by the pep517
build frontend.

We also need to add a patch fixing a bug in python-pypa-build which
was preventing the config settings from being passed to some of the
pep517 build hooks.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/pkg-python.mk                         | 21 +++-------
 package/python-evdev/python-evdev.mk          |  4 +-
 package/python-lxml/python-lxml.mk            |  8 ++--
 package/python-m2crypto/python-m2crypto.mk    |  4 +-
 package/python-pillow/python-pillow.mk        | 35 +++++++++--------
 package/python-psycopg2/python-psycopg2.mk    |  5 ++-
 ...ig_settings-are-passed-to-get_requir.patch | 38 +++++++++++++++++++
 package/python-pyzmq/python-pyzmq.mk          |  4 +-
 package/python-uvloop/python-uvloop.mk        |  6 ++-
 9 files changed, 78 insertions(+), 47 deletions(-)
 create mode 100644 package/python-pypa-build/0001-main-ensure-config_settings-are-passed-to-get_requir.patch

diff --git a/package/pkg-python.mk b/package/pkg-python.mk
index 85374ae8bb..a1aed89284 100644
--- a/package/pkg-python.mk
+++ b/package/pkg-python.mk
@@ -183,19 +183,7 @@ $(2)_BASE_ENV         = $$(HOST_PKG_PYTHON_DISTUTILS_ENV)
 $(2)_BASE_BUILD_CMD   = setup.py build
 $(2)_BASE_INSTALL_CMD = setup.py install $$(HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS)
 endif
-# Setuptools
-else ifeq ($$($(2)_SETUP_TYPE),setuptools)
-ifeq ($(4),target)
-$(2)_BASE_ENV = $$(PKG_PYTHON_SETUPTOOLS_ENV)
-$(2)_BASE_BUILD_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) build
-$(2)_BASE_INSTALL_TARGET_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install --no-compile $$(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS)
-$(2)_BASE_INSTALL_STAGING_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install $$(PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS)
-else
-$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_SETUPTOOLS_ENV)
-$(2)_BASE_BUILD_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) build
-$(2)_BASE_INSTALL_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install $$(HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS)
-endif
-else ifneq ($$(filter flit pep517,$$($(2)_SETUP_TYPE)),)
+else ifneq ($$(filter flit pep517 setuptools,$$($(2)_SETUP_TYPE)),)
 ifeq ($(4),target)
 $(2)_BASE_ENV = $$(PKG_PYTHON_PEP517_ENV)
 $(2)_BASE_BUILD_CMD = -m build -n -w
@@ -232,13 +220,14 @@ endif # ($(4),target)
 # Setuptools based packages will need setuptools for the host Python
 # interpreter (both host and target).
 #
-ifeq ($$($(2)_SETUP_TYPE),setuptools)
-$(2)_DEPENDENCIES += host-python-setuptools
-else ifneq ($$(filter flit pep517,$$($(2)_SETUP_TYPE)),)
+ifneq ($$(filter flit pep517 setuptools,$$($(2)_SETUP_TYPE)),)
 $(2)_DEPENDENCIES += host-python-pypa-build host-python-installer
 ifeq ($$($(2)_SETUP_TYPE),flit)
 $(2)_DEPENDENCIES += host-python-flit-core
 endif
+ifeq ($$($(2)_SETUP_TYPE),setuptools)
+$(2)_DEPENDENCIES += host-python-setuptools
+endif
 else ifeq ($$($(2)_SETUP_TYPE),flit-bootstrap)
 # Don't add dependency on host-python-installer for
 # host-python-installer itself, and its dependencies.
diff --git a/package/python-evdev/python-evdev.mk b/package/python-evdev/python-evdev.mk
index 5cf62b5160..b509b43e8a 100644
--- a/package/python-evdev/python-evdev.mk
+++ b/package/python-evdev/python-evdev.mk
@@ -12,7 +12,7 @@ PYTHON_EVDEV_LICENSE = Revised BSD License
 PYTHON_EVDEV_LICENSE_FILES = LICENSE
 
 PYTHON_EVDEV_BUILD_OPTS = \
-	build_ecodes \
-	--evdev-headers $(STAGING_DIR)/usr/include/linux/input.h:$(STAGING_DIR)/usr/include/linux/input-event-codes.h:$(STAGING_DIR)/usr/include/linux/uinput.h
+	-C--build-option=build_ecodes \
+	-C--build-option=--evdev-headers=$(STAGING_DIR)/usr/include/linux/input.h:$(STAGING_DIR)/usr/include/linux/input-event-codes.h:$(STAGING_DIR)/usr/include/linux/uinput.h
 
 $(eval $(python-package))
diff --git a/package/python-lxml/python-lxml.mk b/package/python-lxml/python-lxml.mk
index 657622a962..4017257974 100644
--- a/package/python-lxml/python-lxml.mk
+++ b/package/python-lxml/python-lxml.mk
@@ -28,11 +28,11 @@ HOST_PYTHON_LXML_DEPENDENCIES = host-libxml2 host-libxslt host-zlib
 # python-lxml needs these scripts in order to properly detect libxml2 and
 # libxslt compiler and linker flags
 PYTHON_LXML_BUILD_OPTS = \
-	--xslt-config=$(STAGING_DIR)/usr/bin/xslt-config \
-	--xml2-config=$(STAGING_DIR)/usr/bin/xml2-config
+	-C--build-option=--xslt-config=$(STAGING_DIR)/usr/bin/xslt-config \
+	-C--build-option=--xml2-config=$(STAGING_DIR)/usr/bin/xml2-config
 HOST_PYTHON_LXML_BUILD_OPTS = \
-	--xslt-config=$(HOST_DIR)/bin/xslt-config \
-	--xml2-config=$(HOST_DIR)/bin/xml2-config
+	-C--build-option=--xslt-config=$(HOST_DIR)/bin/xslt-config \
+	-C--build-option=--xml2-config=$(HOST_DIR)/bin/xml2-config
 
 $(eval $(python-package))
 $(eval $(host-python-package))
diff --git a/package/python-m2crypto/python-m2crypto.mk b/package/python-m2crypto/python-m2crypto.mk
index 3c28fa3b0d..d95361e689 100644
--- a/package/python-m2crypto/python-m2crypto.mk
+++ b/package/python-m2crypto/python-m2crypto.mk
@@ -13,7 +13,9 @@ PYTHON_M2CRYPTO_LICENSE_FILES = LICENCE
 PYTHON_M2CRYPTO_CPE_ID_VENDOR = m2crypto_project
 PYTHON_M2CRYPTO_CPE_ID_PRODUCT = m2crypto
 PYTHON_M2CRYPTO_DEPENDENCIES = openssl host-swig
-PYTHON_M2CRYPTO_BUILD_OPTS = --openssl=$(STAGING_DIR)/usr
+PYTHON_M2CRYPTO_BUILD_OPTS = \
+	-C--build-option=build_ext \
+	-C--build-option=--openssl=$(STAGING_DIR)/usr
 
 # 0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch
 PYTHON_M2CRYPTO_IGNORE_CVES += CVE-2020-25657
diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk
index b69d329cde..0d79424666 100644
--- a/package/python-pillow/python-pillow.mk
+++ b/package/python-pillow/python-pillow.mk
@@ -14,61 +14,60 @@ PYTHON_PILLOW_CPE_ID_PRODUCT = pillow
 PYTHON_PILLOW_SETUP_TYPE = setuptools
 
 PYTHON_PILLOW_DEPENDENCIES = host-pkgconf
-PYTHON_PILLOW_BUILD_OPTS = build_ext --disable-platform-guessing
-PYTHON_PILLOW_INSTALL_TARGET_OPTS = $(PYTHON_PILLOW_BUILD_OPTS)
+PYTHON_PILLOW_BUILD_OPTS = -C--build-option=build_ext -C--build-option=--disable-platform-guessing
 
 ifeq ($(BR2_PACKAGE_FREETYPE),y)
 PYTHON_PILLOW_DEPENDENCIES += freetype
-PYTHON_PILLOW_BUILD_OPTS += --enable-freetype
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--enable-freetype
 else
-PYTHON_PILLOW_BUILD_OPTS += --disable-freetype
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--disable-freetype
 endif
 
 ifeq ($(BR2_PACKAGE_JPEG),y)
 PYTHON_PILLOW_DEPENDENCIES += jpeg
-PYTHON_PILLOW_BUILD_OPTS += --enable-jpeg
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--enable-jpeg
 else
-PYTHON_PILLOW_BUILD_OPTS += --disable-jpeg
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--disable-jpeg
 endif
 
 ifeq ($(BR2_PACKAGE_LCMS2),y)
 PYTHON_PILLOW_DEPENDENCIES += lcms2
-PYTHON_PILLOW_BUILD_OPTS += --enable-lcms
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--enable-lcms
 else
-PYTHON_PILLOW_BUILD_OPTS += --disable-lcms
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--disable-lcms
 endif
 
 ifeq ($(BR2_PACKAGE_LIBXCB),y)
 PYTHON_PILLOW_DEPENDENCIES += libxcb
-PYTHON_PILLOW_BUILD_OPTS += --enable-xcb
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--enable-xcb
 else
-PYTHON_PILLOW_BUILD_OPTS += --disable-xcb
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--disable-xcb
 endif
 
 ifeq ($(BR2_PACKAGE_OPENJPEG),y)
 PYTHON_PILLOW_DEPENDENCIES += openjpeg
-PYTHON_PILLOW_BUILD_OPTS += --enable-jpeg2000
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--enable-jpeg2000
 else
-PYTHON_PILLOW_BUILD_OPTS += --disable-jpeg2000
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--disable-jpeg2000
 endif
 
 ifeq ($(BR2_PACKAGE_TIFF),y)
 PYTHON_PILLOW_DEPENDENCIES += tiff
-PYTHON_PILLOW_BUILD_OPTS += --enable-tiff
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--enable-tiff
 else
-PYTHON_PILLOW_BUILD_OPTS += --disable-tiff
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--disable-tiff
 endif
 
 ifeq ($(BR2_PACKAGE_WEBP),y)
 PYTHON_PILLOW_DEPENDENCIES += webp
-PYTHON_PILLOW_BUILD_OPTS += --enable-webp
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--enable-webp
 ifeq ($(BR2_PACKAGE_WEBP_DEMUX)$(BR2_PACKAGE_WEBP_MUX),yy)
-PYTHON_PILLOW_BUILD_OPTS += --enable-webpmux
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--enable-webpmux
 else
-PYTHON_PILLOW_BUILD_OPTS += --disable-webpmux
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--disable-webpmux
 endif
 else
-PYTHON_PILLOW_BUILD_OPTS += --disable-webp --disable-webpmux
+PYTHON_PILLOW_BUILD_OPTS += -C--build-option=--disable-webp -C--build-option=--disable-webpmux
 endif
 
 $(eval $(python-package))
diff --git a/package/python-psycopg2/python-psycopg2.mk b/package/python-psycopg2/python-psycopg2.mk
index fa23c2814f..6eea825b1c 100644
--- a/package/python-psycopg2/python-psycopg2.mk
+++ b/package/python-psycopg2/python-psycopg2.mk
@@ -13,7 +13,8 @@ PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE
 PYTHON_PSYCOPG2_DEPENDENCIES = postgresql
 # Force psycopg2 to use the Buildroot provided postgresql version
 # instead of the one from the host machine
-PYTHON_PSYCOPG2_BUILD_OPTS = build_ext --pg-config=$(STAGING_DIR)/usr/bin/pg_config
-PYTHON_PSYCOPG2_INSTALL_TARGET_OPTS = build_ext --pg-config=$(STAGING_DIR)/usr/bin/pg_config
+PYTHON_PSYCOPG2_BUILD_OPTS = \
+	-C--build-option=build_ext \
+	-C--build-option=--pg-config=$(STAGING_DIR)/usr/bin/pg_config
 
 $(eval $(python-package))
diff --git a/package/python-pypa-build/0001-main-ensure-config_settings-are-passed-to-get_requir.patch b/package/python-pypa-build/0001-main-ensure-config_settings-are-passed-to-get_requir.patch
new file mode 100644
index 0000000000..23d1f37061
--- /dev/null
+++ b/package/python-pypa-build/0001-main-ensure-config_settings-are-passed-to-get_requir.patch
@@ -0,0 +1,38 @@
+From 44632c4f0758cbe8281581713c55538d44a4e7d4 Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Sun, 25 Jun 2023 23:08:55 -0600
+Subject: [PATCH] main: ensure config_settings are passed to
+ get_requires_for_build
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+[Upstream status:
+https://github.com/pypa/build/pull/627]
+---
+ src/build/__main__.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/build/__main__.py b/src/build/__main__.py
+index 743c28a..8d2c609 100644
+--- a/src/build/__main__.py
++++ b/src/build/__main__.py
+@@ -113,7 +113,7 @@ def _build_in_isolated_env(
+         # first install the build dependencies
+         env.install(builder.build_system_requires)
+         # then get the extra required dependencies from the backend (which was installed in the call above :P)
+-        env.install(builder.get_requires_for_build(distribution))
++        env.install(builder.get_requires_for_build(distribution, config_settings or {}))
+         return builder.build(distribution, outdir, config_settings or {})
+ 
+ 
+@@ -127,7 +127,7 @@ def _build_in_current_env(
+     builder = _ProjectBuilder(srcdir)
+ 
+     if not skip_dependency_check:
+-        missing = builder.check_dependencies(distribution)
++        missing = builder.check_dependencies(distribution, config_settings or {})
+         if missing:
+             dependencies = ''.join('\n\t' + dep for deps in missing for dep in (deps[0], _format_dep_chain(deps[1:])) if dep)
+             _cprint()
+-- 
+2.34.1
+
diff --git a/package/python-pyzmq/python-pyzmq.mk b/package/python-pyzmq/python-pyzmq.mk
index 5792957eaf..1b7bceae5e 100644
--- a/package/python-pyzmq/python-pyzmq.mk
+++ b/package/python-pyzmq/python-pyzmq.mk
@@ -12,7 +12,7 @@ PYTHON_PYZMQ_LICENSE = LGPL-3.0+, BSD-3-Clause, Apache-2.0
 PYTHON_PYZMQ_LICENSE_FILES = COPYING.LESSER COPYING.BSD
 PYTHON_PYZMQ_DEPENDENCIES = host-python-packaging zeromq
 PYTHON_PYZMQ_SETUP_TYPE = setuptools
-PYTHON_PYZMQ_BUILD_OPTS = --zmq=$(STAGING_DIR)/usr
+PYTHON_PYZMQ_BUILD_OPTS = -C--build-option=--zmq=$(STAGING_DIR)/usr
 
 # Due to issues with cross-compiling, hardcode to the zeromq in BR
 define PYTHON_PYZMQ_PATCH_ZEROMQ_VERSION
@@ -23,7 +23,7 @@ endef
 PYTHON_PYZMQ_POST_PATCH_HOOKS += PYTHON_PYZMQ_PATCH_ZEROMQ_VERSION
 
 ifeq ($(BR2_PACKAGE_ZEROMQ_DRAFTS),y)
-PYTHON_PYZMQ_BUILD_OPTS += --enable-drafts
+PYTHON_PYZMQ_BUILD_OPTS += -C--build-option=--enable-drafts
 endif
 
 $(eval $(python-package))
diff --git a/package/python-uvloop/python-uvloop.mk b/package/python-uvloop/python-uvloop.mk
index 147062cf7b..b072f37313 100644
--- a/package/python-uvloop/python-uvloop.mk
+++ b/package/python-uvloop/python-uvloop.mk
@@ -10,8 +10,10 @@ PYTHON_UVLOOP_SITE = https://files.pythonhosted.org/packages/ba/86/6dda1760481ab
 PYTHON_UVLOOP_SETUP_TYPE = setuptools
 PYTHON_UVLOOP_LICENSE = Apache-2.0, MIT
 PYTHON_UVLOOP_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
-PYTHON_UVLOOP_BUILD_OPTS = build_ext --inplace --use-system-libuv
-PYTHON_UVLOOP_INSTALL_TARGET_OPTS = build_ext --inplace --use-system-libuv
 PYTHON_UVLOOP_DEPENDENCIES = libuv
+PYTHON_UVLOOP_BUILD_OPTS = \
+	-C--build-option=build_ext \
+	-C--build-option=--inplace \
+	-C--build-option=--use-system-libuv
 
 $(eval $(python-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517
  2023-06-26 18:15 ` [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517 James Hilliard
@ 2023-07-10 17:53   ` Thomas Petazzoni via buildroot
  2023-07-10 19:55     ` James Hilliard
  2023-08-26 22:11   ` Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 13+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-07-10 17:53 UTC (permalink / raw)
  To: James Hilliard
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, Angelo Compagnucci,
	Jagan Teki, buildroot, Giulio Benetti

Hello James,

On Mon, 26 Jun 2023 12:15:31 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> Now that setuptools and its dependencies are using pep517 we can
> migrate the setuptools infrastructure itself to use the pep517
> build frontend.
> 
> As part of this we need to migrate the all python packages using
> _BUILD_OPTS to the new config settings format used by the pep517
> build frontend.
> 
> We also need to add a patch fixing a bug in python-pypa-build which
> was preventing the config settings from being passed to some of the
> pep517 build hooks.
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>

Could you clarify the relationship between this PATCH 5/5 and the rest
of the series? They are part of the same series, so there must be some
kind of relationship, but I fail to see which one.

Thanks,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517
  2023-07-10 17:53   ` Thomas Petazzoni via buildroot
@ 2023-07-10 19:55     ` James Hilliard
  0 siblings, 0 replies; 13+ messages in thread
From: James Hilliard @ 2023-07-10 19:55 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, Angelo Compagnucci,
	Jagan Teki, buildroot, Giulio Benetti

On Mon, Jul 10, 2023 at 11:53 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello James,
>
> On Mon, 26 Jun 2023 12:15:31 -0600
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > Now that setuptools and its dependencies are using pep517 we can
> > migrate the setuptools infrastructure itself to use the pep517
> > build frontend.
> >
> > As part of this we need to migrate the all python packages using
> > _BUILD_OPTS to the new config settings format used by the pep517
> > build frontend.
> >
> > We also need to add a patch fixing a bug in python-pypa-build which
> > was preventing the config settings from being passed to some of the
> > pep517 build hooks.
> >
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
>
> Could you clarify the relationship between this PATCH 5/5 and the rest
> of the series? They are part of the same series, so there must be some
> kind of relationship, but I fail to see which one.

Those packages have _BUILD_OPTS which has a different format for pep517,
I updated them to their latest versions and migrated them to meson so that they
won't break when we do the pep517 migration in our python infrastructure.


>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517
  2023-06-26 18:15 ` [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517 James Hilliard
  2023-07-10 17:53   ` Thomas Petazzoni via buildroot
@ 2023-08-26 22:11   ` Thomas Petazzoni via buildroot
  2023-08-27  6:37     ` James Hilliard
  1 sibling, 1 reply; 13+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-26 22:11 UTC (permalink / raw)
  To: James Hilliard
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, Angelo Compagnucci,
	Jagan Teki, buildroot, Giulio Benetti

On Mon, 26 Jun 2023 12:15:31 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> Now that setuptools and its dependencies are using pep517 we can
> migrate the setuptools infrastructure itself to use the pep517
> build frontend.
> 
> As part of this we need to migrate the all python packages using
> _BUILD_OPTS to the new config settings format used by the pep517
> build frontend.
> 
> We also need to add a patch fixing a bug in python-pypa-build which
> was preventing the config settings from being passed to some of the
> pep517 build hooks.
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>

I looked at this patch again, and one thing I believe I don't really
like is that it requires a "flag" day, at which "<pkg>_SETUP_TYPE =
setuptools" will change its semantic from the legacy setuptools to the
PEP517-based setuptools. We generally try to avoid this sort of "flag"
day as it's a pain... but also your proposal changes the
semantic/behavior of "<pkg>_SETUP_TYPE = setuptools", which can break
external packages (Python packages people have in their BR2_EXTERNAL,
or Buildroot forks).

One option is to add create a new pep517-setuptools <pkg>_SETUP_TYPE,
and gradually convert packages over. This way we allow the co-existence
of "SETUP_TYPE = setuptools" packages with "SETUP_TYPE =
pep517-setuptools" package. The obvious drawback is that we have 449
packages with <pkg>_SETUP_TYPE = setuptools, and I suppose that 95% of
them work just fine with the PEP517-based setuptools.

I'm not really sure how to proceed here.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517
  2023-08-26 22:11   ` Thomas Petazzoni via buildroot
@ 2023-08-27  6:37     ` James Hilliard
  0 siblings, 0 replies; 13+ messages in thread
From: James Hilliard @ 2023-08-27  6:37 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, Angelo Compagnucci,
	Jagan Teki, buildroot, Giulio Benetti

On Sat, Aug 26, 2023 at 6:11 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> On Mon, 26 Jun 2023 12:15:31 -0600
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > Now that setuptools and its dependencies are using pep517 we can
> > migrate the setuptools infrastructure itself to use the pep517
> > build frontend.
> >
> > As part of this we need to migrate the all python packages using
> > _BUILD_OPTS to the new config settings format used by the pep517
> > build frontend.
> >
> > We also need to add a patch fixing a bug in python-pypa-build which
> > was preventing the config settings from being passed to some of the
> > pep517 build hooks.
> >
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
>
> I looked at this patch again, and one thing I believe I don't really
> like is that it requires a "flag" day, at which "<pkg>_SETUP_TYPE =
> setuptools" will change its semantic from the legacy setuptools to the
> PEP517-based setuptools. We generally try to avoid this sort of "flag"
> day as it's a pain... but also your proposal changes the
> semantic/behavior of "<pkg>_SETUP_TYPE = setuptools", which can break
> external packages (Python packages people have in their BR2_EXTERNAL,
> or Buildroot forks).

The behavior difference is fairly minor and any breakage in BR2_EXTERNAL
packages should be trivial to fix. Maintaining legacy setuptools builds at the
same time as pep517 builds would add significant complexity IMO and increase
the likelihood of subtle bugs.

>
> One option is to add create a new pep517-setuptools <pkg>_SETUP_TYPE,
> and gradually convert packages over. This way we allow the co-existence
> of "SETUP_TYPE = setuptools" packages with "SETUP_TYPE =
> pep517-setuptools" package. The obvious drawback is that we have 449
> packages with <pkg>_SETUP_TYPE = setuptools, and I suppose that 95% of
> them work just fine with the PEP517-based setuptools.

IMO there's little point in keeping the legacy non-pep517 setuptools
infrastructure
around as invoking setup.py directly is being deprecated upstream. The
differences
between pep517 setuptools and non-pep517 setuptools builds is overall
rather small.

I should be able to quickly fix any breakage resulting from this
conversion once I'm
aware of it(I suspect the autobuilders will identify anything I missed
rather quickly).

>
> I'm not really sure how to proceed here.
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0
  2023-06-26 18:15 [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 James Hilliard
                   ` (3 preceding siblings ...)
  2023-06-26 18:15 ` [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517 James Hilliard
@ 2023-09-30 12:37 ` Thomas Petazzoni via buildroot
  4 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-30 12:37 UTC (permalink / raw)
  To: James Hilliard
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, Angelo Compagnucci,
	Jagan Teki, buildroot, Giulio Benetti

On Mon, 26 Jun 2023 12:15:27 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> Migrate to meson package infrastructure.
> 
> License has changed due to date update:
> https://github.com/numpy/numpy/commit/c1ffdbc0c29d48ece717acb5bfbf811c935b41f6
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
>  package/python-numpy/python-numpy.hash |  6 ++---
>  package/python-numpy/python-numpy.mk   | 31 ++++++++++++--------------
>  2 files changed, 17 insertions(+), 20 deletions(-)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 2/5] package/python-pythran: bump to version 0.13.1
  2023-06-26 18:15 ` [Buildroot] [PATCH 2/5] package/python-pythran: bump to version 0.13.1 James Hilliard
@ 2023-09-30 12:38   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-30 12:38 UTC (permalink / raw)
  To: James Hilliard
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, Angelo Compagnucci,
	Jagan Teki, buildroot, Giulio Benetti

On Mon, 26 Jun 2023 12:15:28 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
>  package/python-pythran/python-pythran.hash | 4 ++--
>  package/python-pythran/python-pythran.mk   | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)

This was bumped separately in commit
cfde8aec04f67fd5d50c7fbd1ec73166fed0fbfb, so I've marked this patch as
not applicable.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 3/5] package/python-pybind: bump to version 2.10.4
  2023-06-26 18:15 ` [Buildroot] [PATCH 3/5] package/python-pybind: bump to version 2.10.4 James Hilliard
@ 2023-09-30 12:40   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-30 12:40 UTC (permalink / raw)
  To: James Hilliard
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, Angelo Compagnucci,
	Jagan Teki, buildroot, Giulio Benetti

On Mon, 26 Jun 2023 12:15:29 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
>  package/python-pybind/python-pybind.hash | 2 +-
>  package/python-pybind/python-pybind.mk   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

A more recent patch of yours, bumping to 2.11.1	was merged as
commit 75ceac87d4051c0155e9ea82f1e7ba0af1b18ed1 in the mean time, so I
marked this one as Not Applicable in patchwork.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Buildroot] [PATCH 4/5] package/python-scipy: bump to version 1.11.0
  2023-06-26 18:15 ` [Buildroot] [PATCH 4/5] package/python-scipy: bump to version 1.11.0 James Hilliard
@ 2023-09-30 12:40   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-30 12:40 UTC (permalink / raw)
  To: James Hilliard
  Cc: Eric Le Bihan, Gustavo Heinz, Michael Rommel, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, Angelo Compagnucci,
	Jagan Teki, buildroot, Giulio Benetti

On Mon, 26 Jun 2023 12:15:30 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> Migrate to meson package infrastructure.
> 
> Add new openblas dependency.
> 
> License hash changed due to date update:
> https://github.com/scipy/scipy/commit/d3f0aea40f64e478085b6478a9fe55ca8a75b087
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
>  package/python-scipy/Config.in         |  3 +++
>  package/python-scipy/python-scipy.hash |  5 ++--
>  package/python-scipy/python-scipy.mk   | 37 +++++++++-----------------
>  3 files changed, 18 insertions(+), 27 deletions(-)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-09-30 12:40 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-26 18:15 [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 James Hilliard
2023-06-26 18:15 ` [Buildroot] [PATCH 2/5] package/python-pythran: bump to version 0.13.1 James Hilliard
2023-09-30 12:38   ` Thomas Petazzoni via buildroot
2023-06-26 18:15 ` [Buildroot] [PATCH 3/5] package/python-pybind: bump to version 2.10.4 James Hilliard
2023-09-30 12:40   ` Thomas Petazzoni via buildroot
2023-06-26 18:15 ` [Buildroot] [PATCH 4/5] package/python-scipy: bump to version 1.11.0 James Hilliard
2023-09-30 12:40   ` Thomas Petazzoni via buildroot
2023-06-26 18:15 ` [Buildroot] [PATCH 5/5] package/pkg-python.mk: migrate setuptools to pep517 James Hilliard
2023-07-10 17:53   ` Thomas Petazzoni via buildroot
2023-07-10 19:55     ` James Hilliard
2023-08-26 22:11   ` Thomas Petazzoni via buildroot
2023-08-27  6:37     ` James Hilliard
2023-09-30 12:37 ` [Buildroot] [PATCH 1/5] package/python-numpy: bump to version 1.25.0 Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox