Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4
@ 2024-09-17  2:13 James Hilliard
  2024-09-17  2:13 ` [Buildroot] [PATCH v5 2/3] package/python-scipy: bump to version 1.12.0 James Hilliard
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: James Hilliard @ 2024-09-17  2:13 UTC (permalink / raw)
  To: buildroot
  Cc: Joseph Kogut, Guillaume William Brs, Asaf Kahlon, James Hilliard,
	Jagan Teki

Add new supported architectures.

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

We need to build python-numpy with its vendored version of meson as
it currently relies on features that are not yet upstream. To do this
we can simply set the PYTHONPATH with the vendored meson path before
the normal PYTHON3_PATH so that the vendored version will have
precedence. We need to set this for both host and target numpy.

We also need to set the architecture specific longdouble_format
property as numpy is unable to determine the value for this without
being able to execute target binaries.

See:
https://github.com/numpy/numpy/blob/3e7e5c3cabb8f1a0d940dc6f2058fed4a8c3e284/doc/source/building/cross_compilation.rst

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v4 -> v5:
  - Add new architectures
  - fixup longdouble option
---
 package/python-numpy/Config.in         |  6 +++
 package/python-numpy/python-numpy.hash |  7 +--
 package/python-numpy/python-numpy.mk   | 60 ++++++++++++++++++++++++--
 3 files changed, 67 insertions(+), 6 deletions(-)

diff --git a/package/python-numpy/Config.in b/package/python-numpy/Config.in
index e10618f058..f8c71274cd 100644
--- a/package/python-numpy/Config.in
+++ b/package/python-numpy/Config.in
@@ -3,15 +3,21 @@ config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	# Numpy has some CPU specific code
 	default y if BR2_arc
 	default y if BR2_aarch64
+	default y if BR2_aarch64_be
 	default y if BR2_arm
 	default y if BR2_armeb
 	default y if BR2_i386
+	default y if BR2_m68k
 	default y if BR2_mips
 	default y if BR2_mipsel
+	default y if BR2_or1k
 	default y if BR2_powerpc
 	default y if BR2_powerpc64
+	default y if BR2_powerpc64le
 	default y if BR2_riscv
 	default y if BR2_sh
+	default y if BR2_sparc
+	default y if BR2_sparc64
 	default y if BR2_x86_64
 
 config BR2_PACKAGE_PYTHON_NUMPY
diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash
index 6629cebbce..34426e7557 100644
--- a/package/python-numpy/python-numpy.hash
+++ b/package/python-numpy/python-numpy.hash
@@ -1,7 +1,8 @@
-# Copied from https://github.com/numpy/numpy/releases/tag/v1.25.0
-sha256  f1accae9a28dc3cda46a91de86acf69de0d1b5f4edd44a9b0c3ceb8036dfff19  numpy-1.25.0.tar.gz
+# md5, sha256 from https://pypi.org/pypi/numpy/json
+md5  19550cbe7bedd96a928da9d4ad69509d  numpy-1.26.4.tar.gz
+sha256  2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010  numpy-1.26.4.tar.gz
 # License files, locally calculated
-sha256  1034d3bd61783f3b5e7ec3e7ca818f4da4135132323a0ef99f4c0edb3c7f6bd2  LICENSE.txt
+sha256  263223390c43a9d4a0841e0209265fd927a198f8e89c8eee809b7437d7e5e8c2  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 200fac20a1..c866977e89 100644
--- a/package/python-numpy/python-numpy.mk
+++ b/package/python-numpy/python-numpy.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-PYTHON_NUMPY_VERSION = 1.25.0
+PYTHON_NUMPY_VERSION = 1.26.4
 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_SITE = https://files.pythonhosted.org/packages/65/6e/09db70a523a96d25e115e71cc56a6f9031e7b8cd166c1ac8438307c14058
 PYTHON_NUMPY_LICENSE = BSD-3-Clause, MIT, Zlib
 PYTHON_NUMPY_LICENSE_FILES = \
 	LICENSE.txt \
@@ -22,7 +22,10 @@ HOST_PYTHON_NUMPY_DEPENDENCIES = host-python-cython
 
 PYTHON_NUMPY_CONF_ENV += \
 	_PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \
-	PYTHONPATH=$(PYTHON3_PATH)
+	PYTHONPATH="$(@D)/vendored-meson/meson:$(PYTHON3_PATH)"
+
+PYTHON_NUMPY_NINJA_ENV += \
+	PYTHONPATH="$(@D)/vendored-meson/meson:$(PYTHON3_PATH)"
 
 ifeq ($(BR2_PACKAGE_LAPACK),y)
 PYTHON_NUMPY_DEPENDENCIES += lapack
@@ -38,6 +41,57 @@ else
 PYTHON_NUMPY_CONF_OPTS += -Dblas=""
 endif
 
+ifeq ($(BR2_arcle),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
+else ifeq ($(BR2_arceb),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_aarch64),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_LE
+else ifeq ($(BR2_aarch64_be),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_BE
+else ifeq ($(BR2_arm),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
+else ifeq ($(BR2_armeb),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_armeb),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_or1k),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_m68k),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = MOTOROLA_EXTENDED_12_BYTES_BE
+else ifeq ($(BR2_mips),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_mipsel),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
+else ifeq ($(BR2_powerpc),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IBM_DOUBLE_DOUBLE_BE
+else ifeq ($(BR2_powerpc64),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IBM_DOUBLE_DOUBLE_BE
+else ifeq ($(BR2_powerpc64le),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IBM_DOUBLE_DOUBLE_LE
+else ifeq ($(BR2_riscv),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_LE
+else ifeq ($(BR2_sh4)$(BR2_sh4a),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
+else ifeq ($(BR2_sh4eb)$(BR2_sh4aeb),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_sparc),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_sparc64),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_BE
+else ifeq ($(BR2_x86_64),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = INTEL_EXTENDED_16_BYTES_LE
+endif
+
+PYTHON_NUMPY_MESON_EXTRA_PROPERTIES = \
+	longdouble_format='$(PYTHON_NUMPY_LONGDOUBLE_FORMAT)'
+
+HOST_PYTHON_NUMPY_CONF_ENV += \
+	PYTHONPATH="$(@D)/vendored-meson/meson:$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)"
+
+HOST_PYTHON_NUMPY_NINJA_ENV += \
+	PYTHONPATH="$(@D)/vendored-meson/meson:$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)"
+
 # Rather than add a host-blas or host-lapack dependencies, just use unoptimized,
 # in-tree code.
 HOST_PYTHON_NUMPY_CONF_OPTS = -Dblas="" -Dlapack=""
-- 
2.34.1

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

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

* [Buildroot] [PATCH v5 2/3] package/python-scipy: bump to version 1.12.0
  2024-09-17  2:13 [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4 James Hilliard
@ 2024-09-17  2:13 ` James Hilliard
  2024-10-26 15:55   ` Thomas Petazzoni via buildroot
  2024-09-17  2:13 ` [Buildroot] [PATCH v5 3/3] package/python-cython: bump to version 3.0.11 James Hilliard
  2024-10-26 15:44 ` [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4 Thomas Petazzoni via buildroot
  2 siblings, 1 reply; 10+ messages in thread
From: James Hilliard @ 2024-09-17  2:13 UTC (permalink / raw)
  To: buildroot
  Cc: Joseph Kogut, Guillaume William Brs, Asaf Kahlon, James Hilliard,
	Jagan Teki

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

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

diff --git a/package/python-scipy/python-scipy.hash b/package/python-scipy/python-scipy.hash
index bee5d698a0..5b8cac8055 100644
--- a/package/python-scipy/python-scipy.hash
+++ b/package/python-scipy/python-scipy.hash
@@ -1,8 +1,8 @@
 # md5, sha256 from https://pypi.org/pypi/scipy/json
-md5  0e8eea0f7c4fe7d8102366230c96d66d  scipy-1.11.4.tar.gz
-sha256  90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa  scipy-1.11.4.tar.gz
+md5  22683fcf9a411f0a5254b7509bea0a6b  scipy-1.12.0.tar.gz
+sha256  4bf5abab8a36d20193c698b0f1fc282c1d083c94723902c447e5d2f1780936a3  scipy-1.12.0.tar.gz
 # Locally computed sha256 checksums
-sha256  5517022426a56179540ee6eace15fd723ef8fdb83b2900fed2152dd2e2f972a2  LICENSE.txt
+sha256  c29fb8e5936f33237a8b15256b4c6e93037f05bbf58c3d7b5755aede4c200173  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 6626826e33..9110a5b847 100644
--- a/package/python-scipy/python-scipy.mk
+++ b/package/python-scipy/python-scipy.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-PYTHON_SCIPY_VERSION = 1.11.4
+PYTHON_SCIPY_VERSION = 1.12.0
 PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.gz
-PYTHON_SCIPY_SITE = https://files.pythonhosted.org/packages/6e/1f/91144ba78dccea567a6466262922786ffc97be1e9b06ed9574ef0edc11e1
+PYTHON_SCIPY_SITE = https://files.pythonhosted.org/packages/30/85/cdbf2c3c460fe5aae812917866392068a88d02f07de0fe31ce738734c477
 PYTHON_SCIPY_LICENSE = \
 	BSD-3-Clause, \
 	BSD-2-Clause, \
-- 
2.34.1

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

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

* [Buildroot] [PATCH v5 3/3] package/python-cython: bump to version 3.0.11
  2024-09-17  2:13 [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4 James Hilliard
  2024-09-17  2:13 ` [Buildroot] [PATCH v5 2/3] package/python-scipy: bump to version 1.12.0 James Hilliard
@ 2024-09-17  2:13 ` James Hilliard
  2024-10-26 15:56   ` Thomas Petazzoni via buildroot
  2024-10-26 15:44 ` [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4 Thomas Petazzoni via buildroot
  2 siblings, 1 reply; 10+ messages in thread
From: James Hilliard @ 2024-09-17  2:13 UTC (permalink / raw)
  To: buildroot
  Cc: Joseph Kogut, Guillaume William Brs, Asaf Kahlon, James Hilliard,
	Jagan Teki

Tested by ensuring all packages with a host-python-cython dependency
build succesfully.

Note that due to namespace conflicts supporting both cython 0.29 and
cython 3.0 variants at the same time would be difficult as both can
not be installed at the same time.

License hash changed due to changing links from http to https:
https://github.com/cython/cython/commit/331d9d824ee5f0c539310332215ebd6ed3257325

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v3 -> v4:
  - update to 3.0.11
Changes v2 -> v3:
  - add more details to commit message
---
 package/python-cython/python-cython.hash | 6 +++---
 package/python-cython/python-cython.mk   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/package/python-cython/python-cython.hash b/package/python-cython/python-cython.hash
index 42c063014e..cd320eaa2a 100644
--- a/package/python-cython/python-cython.hash
+++ b/package/python-cython/python-cython.hash
@@ -1,6 +1,6 @@
 # md5, sha256 from https://pypi.org/pypi/cython/json
-md5  d9a1e8416f2278857a189347858ed9d0  Cython-0.29.37.tar.gz
-sha256  f813d4a6dd94adee5d4ff266191d1d95bf6d4164a4facc535422c021b2504cfb  Cython-0.29.37.tar.gz
+md5  388b85b7c23f501320d19d991b169f5d  cython-3.0.11.tar.gz
+sha256  7146dd2af8682b4ca61331851e6aebce9fe5158e75300343f80c07ca80b1faff  cython-3.0.11.tar.gz
 # Locally computed sha256 checksums
-sha256  a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9  LICENSE.txt
+sha256  9568a2b155e66ac3e0ba1fd80b52b827b9460e6cf6f233125e7cbca8e206ddc3  LICENSE.txt
 sha256  e1eb1c49a8508e8173dac30157e4a6439a44ad8846194746c424fbc3fc2b95d7  COPYING.txt
diff --git a/package/python-cython/python-cython.mk b/package/python-cython/python-cython.mk
index 024c8c1e50..51086bedab 100644
--- a/package/python-cython/python-cython.mk
+++ b/package/python-cython/python-cython.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-PYTHON_CYTHON_VERSION = 0.29.37
-PYTHON_CYTHON_SOURCE = Cython-$(PYTHON_CYTHON_VERSION).tar.gz
-PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/2a/97/8cc3fe7c6de4796921236a64d00ca8a95565772e57f0d3caae68d880b592
+PYTHON_CYTHON_VERSION = 3.0.11
+PYTHON_CYTHON_SOURCE = cython-$(PYTHON_CYTHON_VERSION).tar.gz
+PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/84/4d/b720d6000f4ca77f030bd70f12550820f0766b568e43f11af7f7ad9061aa
 PYTHON_CYTHON_SETUP_TYPE = setuptools
 PYTHON_CYTHON_LICENSE = Apache-2.0
 PYTHON_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt
-- 
2.34.1

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

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

* Re: [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4
  2024-09-17  2:13 [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4 James Hilliard
  2024-09-17  2:13 ` [Buildroot] [PATCH v5 2/3] package/python-scipy: bump to version 1.12.0 James Hilliard
  2024-09-17  2:13 ` [Buildroot] [PATCH v5 3/3] package/python-cython: bump to version 3.0.11 James Hilliard
@ 2024-10-26 15:44 ` Thomas Petazzoni via buildroot
  2024-10-26 21:15   ` James Hilliard
  2 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-10-26 15:44 UTC (permalink / raw)
  To: James Hilliard
  Cc: buildroot, Joseph Kogut, Guillaume William Brs, Asaf Kahlon,
	Jagan Teki

Hello James,

On Mon, 16 Sep 2024 20:13:30 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> We also need to set the architecture specific longdouble_format
> property as numpy is unable to determine the value for this without
> being able to execute target binaries.

Please document in the .mk file how you could those values. You
explained it in a reply to your v4, but I believe it should be kept in
the package for posterity. More comment on this below.

> +ifeq ($(BR2_arcle),y)
> +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
> +else ifeq ($(BR2_arceb),y)
> +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
> +else ifeq ($(BR2_aarch64),y)
> +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_LE
> +else ifeq ($(BR2_aarch64_be),y)
> +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_BE
> +else ifeq ($(BR2_arm),y)
> +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
> +else ifeq ($(BR2_armeb),y)
> +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
> +else ifeq ($(BR2_armeb),y)
> +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE

You have armeb twice.

BR2_i386 is not handled.

> +else ifeq ($(BR2_or1k),y)
> +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE

This one is not in the correct alphabetic ordering (less important).

So, overall, I'm wondering if this shouldn't be handled in the
Config.in machinery, as follows:

# Some good comment here about how those values were found
config BR2_PACKAGE_PYTHON_NUMPY_LONGDOUBLE_FORMAT
	string
	default "IEEE_DOUBLE_LE" if BR2_... || BR2_... || BR2_...
	default "IEEE_DOUBLE_BE" if BR2_... || BR2_...

config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	bool
	default y if BR2_PACKAGE_PYTHON_NUMPY_LONGDOUBLE_FORMAT != ""

This way we cannot miss any case :-)

Could you have a look into this? I wanted to rework myself, but since
the value is missing for some architectures (i386), I couldn't really
do it easily.

Thanks a lot!

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] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 2/3] package/python-scipy: bump to version 1.12.0
  2024-09-17  2:13 ` [Buildroot] [PATCH v5 2/3] package/python-scipy: bump to version 1.12.0 James Hilliard
@ 2024-10-26 15:55   ` Thomas Petazzoni via buildroot
  2024-10-26 21:16     ` James Hilliard
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-10-26 15:55 UTC (permalink / raw)
  To: James Hilliard
  Cc: buildroot, Joseph Kogut, Guillaume William Brs, Asaf Kahlon,
	Jagan Teki

On Mon, 16 Sep 2024 20:13:31 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> License hash changed due to date update:
> https://github.com/scipy/scipy/commit/0ace7295322148d74932bee32b0647e29c38fc8a
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
>  package/python-scipy/python-scipy.hash | 6 +++---
>  package/python-scipy/python-scipy.mk   | 4 ++--
>  2 files changed, 5 insertions(+), 5 deletions(-)

I wanted to apply this one, independently of the python-numpy update.
When verifying if it built properly, the following defconfig:

BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_VFP=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_SCIPY=y
# BR2_TARGET_ROOTFS_TAR is not set

failed on building... python-numpy:

output/build/python-numpy-1.25.0/numpy/meson.build:203:49: ERROR: Could not get pkg-config variable and no default provided for <PkgConfigDependency lapack: True None>

(I did not investigate)

But the same issue is visible here:

  http://autobuild.buildroot.net/results/179/179167678095590816c8b5c7330e3d5f018de554/build-end.log

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] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 3/3] package/python-cython: bump to version 3.0.11
  2024-09-17  2:13 ` [Buildroot] [PATCH v5 3/3] package/python-cython: bump to version 3.0.11 James Hilliard
@ 2024-10-26 15:56   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-10-26 15:56 UTC (permalink / raw)
  To: James Hilliard
  Cc: buildroot, Joseph Kogut, Guillaume William Brs, Asaf Kahlon,
	Jagan Teki

On Mon, 16 Sep 2024 20:13:32 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> Tested by ensuring all packages with a host-python-cython dependency
> build succesfully.
> 
> Note that due to namespace conflicts supporting both cython 0.29 and
> cython 3.0 variants at the same time would be difficult as both can
> not be installed at the same time.
> 
> License hash changed due to changing links from http to https:
> https://github.com/cython/cython/commit/331d9d824ee5f0c539310332215ebd6ed3257325
> 
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> Changes v3 -> v4:
>   - update to 3.0.11
> Changes v2 -> v3:
>   - add more details to commit message
> ---
>  package/python-cython/python-cython.hash | 6 +++---
>  package/python-cython/python-cython.mk   | 6 +++---
>  2 files changed, 6 insertions(+), 6 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] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4
  2024-10-26 15:44 ` [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4 Thomas Petazzoni via buildroot
@ 2024-10-26 21:15   ` James Hilliard
  2024-10-26 21:31     ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 10+ messages in thread
From: James Hilliard @ 2024-10-26 21:15 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: buildroot, Joseph Kogut, Guillaume William Brs, Asaf Kahlon,
	Jagan Teki

On Sat, Oct 26, 2024 at 9:44 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello James,
>
> On Mon, 16 Sep 2024 20:13:30 -0600
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > We also need to set the architecture specific longdouble_format
> > property as numpy is unable to determine the value for this without
> > being able to execute target binaries.
>
> Please document in the .mk file how you could those values. You
> explained it in a reply to your v4, but I believe it should be kept in
> the package for posterity. More comment on this below.

Not sure the best way to describe how I got these, like should I put my
test output somewhere?

>
> > +ifeq ($(BR2_arcle),y)
> > +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
> > +else ifeq ($(BR2_arceb),y)
> > +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
> > +else ifeq ($(BR2_aarch64),y)
> > +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_LE
> > +else ifeq ($(BR2_aarch64_be),y)
> > +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_BE
> > +else ifeq ($(BR2_arm),y)
> > +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
> > +else ifeq ($(BR2_armeb),y)
> > +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
> > +else ifeq ($(BR2_armeb),y)
> > +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
>
> You have armeb twice.
>
> BR2_i386 is not handled.
>
> > +else ifeq ($(BR2_or1k),y)
> > +PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
>
> This one is not in the correct alphabetic ordering (less important).
>
> So, overall, I'm wondering if this shouldn't be handled in the
> Config.in machinery, as follows:
>
> # Some good comment here about how those values were found
> config BR2_PACKAGE_PYTHON_NUMPY_LONGDOUBLE_FORMAT
>         string
>         default "IEEE_DOUBLE_LE" if BR2_... || BR2_... || BR2_...
>         default "IEEE_DOUBLE_BE" if BR2_... || BR2_...
>
> config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
>         bool
>         default y if BR2_PACKAGE_PYTHON_NUMPY_LONGDOUBLE_FORMAT != ""
>
> This way we cannot miss any case :-)

Yeah, not sure what style is best, I kind of just went with this one
because we essentially do the same sort of thing for meson:
https://github.com/buildroot/buildroot/blob/2024.08.1/package/pkg-meson.mk#L32-L69

>
> Could you have a look into this? I wanted to rework myself, but since
> the value is missing for some architectures (i386), I couldn't really
> do it easily.

Oh, I did actually generate that value here, must have forgotten to copy it:
https://gist.github.com/jameshilliard/b057791b55bd32884301734df5b781db#file-numpy-qemu-test-txt-L16-L18

So i386 would be: INTEL_EXTENDED_12_BYTES_LE

>
> Thanks a lot!
>
> 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] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 2/3] package/python-scipy: bump to version 1.12.0
  2024-10-26 15:55   ` Thomas Petazzoni via buildroot
@ 2024-10-26 21:16     ` James Hilliard
  0 siblings, 0 replies; 10+ messages in thread
From: James Hilliard @ 2024-10-26 21:16 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: buildroot, Joseph Kogut, Guillaume William Brs, Asaf Kahlon,
	Jagan Teki

On Sat, Oct 26, 2024 at 9:55 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> On Mon, 16 Sep 2024 20:13:31 -0600
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > License hash changed due to date update:
> > https://github.com/scipy/scipy/commit/0ace7295322148d74932bee32b0647e29c38fc8a
> >
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > ---
> >  package/python-scipy/python-scipy.hash | 6 +++---
> >  package/python-scipy/python-scipy.mk   | 4 ++--
> >  2 files changed, 5 insertions(+), 5 deletions(-)
>
> I wanted to apply this one, independently of the python-numpy update.

I recall the numpy bump was needed to get this to build.

> When verifying if it built properly, the following defconfig:
>
> BR2_arm=y
> BR2_cortex_a9=y
> BR2_ARM_ENABLE_VFP=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
> BR2_INIT_NONE=y
> BR2_SYSTEM_BIN_SH_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> BR2_PACKAGE_PYTHON3=y
> BR2_PACKAGE_PYTHON_SCIPY=y
> # BR2_TARGET_ROOTFS_TAR is not set
>
> failed on building... python-numpy:
>
> output/build/python-numpy-1.25.0/numpy/meson.build:203:49: ERROR: Could not get pkg-config variable and no default provided for <PkgConfigDependency lapack: True None>
>
> (I did not investigate)
>
> But the same issue is visible here:
>
>   http://autobuild.buildroot.net/results/179/179167678095590816c8b5c7330e3d5f018de554/build-end.log
>
> 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] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4
  2024-10-26 21:15   ` James Hilliard
@ 2024-10-26 21:31     ` Thomas Petazzoni via buildroot
  2024-10-26 21:56       ` James Hilliard
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-10-26 21:31 UTC (permalink / raw)
  To: James Hilliard
  Cc: buildroot, Joseph Kogut, Guillaume William Brs, Asaf Kahlon,
	Jagan Teki

Hello James,

On Sat, 26 Oct 2024 15:15:03 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> > Please document in the .mk file how you could those values. You
> > explained it in a reply to your v4, but I believe it should be kept in
> > the package for posterity. More comment on this below.  
> 
> Not sure the best way to describe how I got these, like should I put my
> test output somewhere?

A comment that explains how you got it, maybe even the test program, etc.


> > # Some good comment here about how those values were found
> > config BR2_PACKAGE_PYTHON_NUMPY_LONGDOUBLE_FORMAT
> >         string
> >         default "IEEE_DOUBLE_LE" if BR2_... || BR2_... || BR2_...
> >         default "IEEE_DOUBLE_BE" if BR2_... || BR2_...
> >
> > config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
> >         bool
> >         default y if BR2_PACKAGE_PYTHON_NUMPY_LONGDOUBLE_FORMAT != ""
> >
> > This way we cannot miss any case :-)  
> 
> Yeah, not sure what style is best, I kind of just went with this one
> because we essentially do the same sort of thing for meson:
> https://github.com/buildroot/buildroot/blob/2024.08.1/package/pkg-meson.mk#L32-L69

Yeah, I agree both options can work. What prompted me to suggest the
Config.in solution is precisely that you had forgotten some
architectures in the .mk file, showing that it made sense to tie
together the list of architectures with the long double format list.

> > Could you have a look into this? I wanted to rework myself, but since
> > the value is missing for some architectures (i386), I couldn't really
> > do it easily.  
> 
> Oh, I did actually generate that value here, must have forgotten to copy it:
> https://gist.github.com/jameshilliard/b057791b55bd32884301734df5b781db#file-numpy-qemu-test-txt-L16-L18

That's my point: your list of long double format in the .mk file was
not matching with the list of supported CPU architectures described in
the Config.in file.

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] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4
  2024-10-26 21:31     ` Thomas Petazzoni via buildroot
@ 2024-10-26 21:56       ` James Hilliard
  0 siblings, 0 replies; 10+ messages in thread
From: James Hilliard @ 2024-10-26 21:56 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: buildroot, Joseph Kogut, Guillaume William Brs, Asaf Kahlon,
	Jagan Teki

On Sat, Oct 26, 2024 at 3:31 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello James,
>
> On Sat, 26 Oct 2024 15:15:03 -0600
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > > Please document in the .mk file how you could those values. You
> > > explained it in a reply to your v4, but I believe it should be kept in
> > > the package for posterity. More comment on this below.
> >
> > Not sure the best way to describe how I got these, like should I put my
> > test output somewhere?
>
> A comment that explains how you got it, maybe even the test program, etc.

Added comment with link to test program in v6:
https://patchwork.ozlabs.org/project/buildroot/patch/20241026214741.3735496-1-james.hilliard1@gmail.com/

>
>
> > > # Some good comment here about how those values were found
> > > config BR2_PACKAGE_PYTHON_NUMPY_LONGDOUBLE_FORMAT
> > >         string
> > >         default "IEEE_DOUBLE_LE" if BR2_... || BR2_... || BR2_...
> > >         default "IEEE_DOUBLE_BE" if BR2_... || BR2_...
> > >
> > > config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
> > >         bool
> > >         default y if BR2_PACKAGE_PYTHON_NUMPY_LONGDOUBLE_FORMAT != ""
> > >
> > > This way we cannot miss any case :-)
> >
> > Yeah, not sure what style is best, I kind of just went with this one
> > because we essentially do the same sort of thing for meson:
> > https://github.com/buildroot/buildroot/blob/2024.08.1/package/pkg-meson.mk#L32-L69
>
> Yeah, I agree both options can work. What prompted me to suggest the
> Config.in solution is precisely that you had forgotten some
> architectures in the .mk file, showing that it made sense to tie
> together the list of architectures with the long double format list.

Not sure that would have made much of a difference, I was copying the
BR2_armeb line and must have forgotten to change the arch value and
format for some reason.

>
> > > Could you have a look into this? I wanted to rework myself, but since
> > > the value is missing for some architectures (i386), I couldn't really
> > > do it easily.
> >
> > Oh, I did actually generate that value here, must have forgotten to copy it:
> > https://gist.github.com/jameshilliard/b057791b55bd32884301734df5b781db#file-numpy-qemu-test-txt-L16-L18
>
> That's my point: your list of long double format in the .mk file was
> not matching with the list of supported CPU architectures described in
> the Config.in file.

Even in the .mk file I hadn't completely missed it, I just got halfway
through adding it(I had copied the line it was supposed to go on) and
forgot to update the architecture and long double format values.

>
> 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] 10+ messages in thread

end of thread, other threads:[~2024-10-26 21:56 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-17  2:13 [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4 James Hilliard
2024-09-17  2:13 ` [Buildroot] [PATCH v5 2/3] package/python-scipy: bump to version 1.12.0 James Hilliard
2024-10-26 15:55   ` Thomas Petazzoni via buildroot
2024-10-26 21:16     ` James Hilliard
2024-09-17  2:13 ` [Buildroot] [PATCH v5 3/3] package/python-cython: bump to version 3.0.11 James Hilliard
2024-10-26 15:56   ` Thomas Petazzoni via buildroot
2024-10-26 15:44 ` [Buildroot] [PATCH v5 1/3] package/python-numpy: bump to version 1.26.4 Thomas Petazzoni via buildroot
2024-10-26 21:15   ` James Hilliard
2024-10-26 21:31     ` Thomas Petazzoni via buildroot
2024-10-26 21:56       ` James Hilliard

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