Github messages for voidlinux
 help / color / mirror / Atom feed
From: tornaria <tornaria@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] python3-matplotlib: update to 3.8.0, also update deps
Date: Sat, 23 Sep 2023 13:59:54 +0200	[thread overview]
Message-ID: <20230923115954.0hDLUAT9hL7_HUxuLmZSYrm2WugH1KVAAgkwiRPB130@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-46109@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1973 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages matplotlib
https://github.com/void-linux/void-packages/pull/46109

python3-matplotlib: update to 3.8.0, also update deps
- python3-matplotlib: update to 3.8.0. (@ahesford)
- python3-kiwisolver: update to 1.4.5, adopt.
- python3-contourpy: update to 1.1.1. (@misuchiru03) 

#### Testing the changes
- I tested the changes in this PR: **briefly**

The update to matplotlib affects sagemath in a mild way (see https://github.com/sagemath/sage/pull/36279 which contains a fix).

I have not yet tested the updates to contourpy and kiwisolver with sagemath, will do.

I'm not sure it's necessary to patch sagemath now as the issue is very minor.

Btw, I'm thinking of packaging https://matplotlib.org/ipympl/ since it seems it will be a standard dependency of sagemath soon (https://github.com/sagemath/sage/pull/36129#issuecomment-1696062778)

Edit: in #46003 I added a patch to sagemath, to support matplotlib 3.8.0, so we don't need to rebuild sagemath twice.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46109.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-matplotlib-46109.patch --]
[-- Type: text/x-diff, Size: 11055 bytes --]

From 58658976f9e08a8f6e45dd2fa24c5efadc2abc4b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 21 Sep 2023 11:00:56 -0400
Subject: [PATCH 1/6] common/build-helper/numpy.sh: write meson cross file when
 needed

---
 Manual.md                    |  5 +++++
 common/build-helper/numpy.sh | 10 ++++++++++
 2 files changed, 15 insertions(+)

diff --git a/Manual.md b/Manual.md
index b6a4ffa0a71ce..21162641e4708 100644
--- a/Manual.md
+++ b/Manual.md
@@ -1083,6 +1083,11 @@ meson for cross builds. This is particularly useful for building packages that w
 invocations (e.g., `python3-pep517` packages that use a meson backend) and is added by default
 for packages that use the `meson` build style.
 
+- `numpy` configures the environment for cross-compilation of python packages that provide
+compiled extensions linking to NumPy C libraries. If the `meson` build helper is also
+configured, a secondary cross file, `${XBPS_WRAPPERDIR}/meson/xbps_numpy.cross`, will be
+written to inform meson where common NumPy components may be found.
+
 - `python3` configures the cross-build environment to use Python libraries, header files, and
 interpreter configurations in the target root. The `python3` helper is added by default for
 packages that use the `python3-module` or `python3-pep517` build styles.
diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index 74c6421165293..bf40390ad1cae 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -34,4 +34,14 @@ if [ "$CROSS_BUILD" ]; then
 		ln -sf "${_gfortran}" "${XBPS_WRAPPERDIR}/gfortran"
 	fi
 	unset _gfortran
+
+	# Write a secondary meson cross file for numpy configuration
+	if [[ "${build_helper}" = *meson* ]]; then
+		mkdir -p "${XBPS_WRAPPERDIR}/meson"
+		cat > "${XBPS_WRAPPERDIR}/meson/xbps_numpy.cross" <<-EOF
+			[properties]
+			numpy-include-dir = '${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include'
+			pythran-include-dir = '${XBPS_CROSS_BASE}/${py3_sitelib}/pythran'
+			EOF
+	fi
 fi

From 6806c2de034a5c39c6a6e69405820f049546b320 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 21 Sep 2023 11:01:24 -0400
Subject: [PATCH 2/6] common/build-style/python3-pep517.sh: use meson cross
 files by default

---
 common/build-style/python3-pep517.sh | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/common/build-style/python3-pep517.sh b/common/build-style/python3-pep517.sh
index 2d5ff7caf34eb..5ec20dd117f8a 100644
--- a/common/build-style/python3-pep517.sh
+++ b/common/build-style/python3-pep517.sh
@@ -4,8 +4,18 @@
 
 do_build() {
 	: ${make_build_target:=.}
-	: ${make_build_args:=--no-isolation  --wheel}
-	python3 -m build ${make_build_args} ${make_build_target}
+
+	if [ "${CROSS_BUILD}" ] && [[ "${build_helper}" = *meson* ]]; then
+		local mcross="-Csetup-args=--cross-file=${XBPS_WRAPPERDIR}/meson"
+		make_build_args+=" ${mcross}/xbps_meson.cross"
+
+		if [[ "${build_helper}" = *numpy* ]]; then
+			make_build_args+=" ${mcross}/xbps_numpy.cross"
+		fi
+	fi
+
+	python3 -m build --no-isolation --wheel \
+		${make_build_args} ${make_build_target}
 }
 
 do_check() {

From 0a2141b19ad36337710d625472dab8ba4b72a532 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 20 Sep 2023 19:32:18 -0300
Subject: [PATCH 3/6] python3-pybind11: add standard symlinks

---
 .../13-pkg-config-clean-xbps-cross-base-ref.sh        |  3 ++-
 srcpkgs/python3-pybind11/template                     | 11 ++++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/common/hooks/post-install/13-pkg-config-clean-xbps-cross-base-ref.sh b/common/hooks/post-install/13-pkg-config-clean-xbps-cross-base-ref.sh
index 5cdfb0e9bfd2b..88ad06c41983a 100644
--- a/common/hooks/post-install/13-pkg-config-clean-xbps-cross-base-ref.sh
+++ b/common/hooks/post-install/13-pkg-config-clean-xbps-cross-base-ref.sh
@@ -16,7 +16,8 @@ hook() {
 			# s,/usr/armv7l-linux-musleabihf/usr,/usr,g
 			# trailing /usr to avoid clashing with
 			# other $XBPS_CROSS_BASE and $XBPS_CROSS_TRIPLET.
-			sed -i -e "s,$XBPS_CROSS_BASE/usr,/usr,g" "$f"
+			sed -i --follow-symlinks \
+				-e "s,$XBPS_CROSS_BASE/usr,/usr,g" "$f"
 		fi
 	done
 }
diff --git a/srcpkgs/python3-pybind11/template b/srcpkgs/python3-pybind11/template
index 3b6ce5b98688f..de80678f261cb 100644
--- a/srcpkgs/python3-pybind11/template
+++ b/srcpkgs/python3-pybind11/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pybind11'
 pkgname=python3-pybind11
 version=2.11.1
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="cmake python3-setuptools
  python3-pytest python3-sphinx_rtd_theme python3-breathe"
@@ -44,6 +44,15 @@ do_check() {
 post_install() {
 	vlicense LICENSE
 
+	# symlink headers, cmake and pkgconfig into /usr
+	vmkdir usr/include
+	vmkdir usr/lib/cmake
+	vmkdir usr/lib/pkgconfig
+	_pybind11=${DESTDIR}/${py3_sitelib}/pybind11
+	ln -rs $_pybind11/include/pybind11 ${DESTDIR}/usr/include/
+	ln -rs $_pybind11/share/cmake/pybind11 ${DESTDIR}/usr/lib/cmake/
+	ln -rs $_pybind11/share/pkgconfig/pybind11.pc ${DESTDIR}/usr/lib/pkgconfig/
+
 	# Copy the man page, but make it section 7
 	_manpage=docs/.build/man/pybind11.1
 	vsed -i ${_manpage} -e '/^\.TH/ s/"1"/"7"/'

From 5d549a61c093b8c6c86c0cd8325b915d23318d8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 7 May 2023 21:47:30 -0300
Subject: [PATCH 4/6] python3-contourpy: update to 1.1.1.

---
 srcpkgs/python3-contourpy/template | 15 ++++++++++-----
 srcpkgs/python3-contourpy/update   |  1 +
 2 files changed, 11 insertions(+), 5 deletions(-)
 create mode 100644 srcpkgs/python3-contourpy/update

diff --git a/srcpkgs/python3-contourpy/template b/srcpkgs/python3-contourpy/template
index 70e3833c8b55a..69f741a9b0eff 100644
--- a/srcpkgs/python3-contourpy/template
+++ b/srcpkgs/python3-contourpy/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-contourpy'
 pkgname=python3-contourpy
-version=1.0.5
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pybind11"
+version=1.1.1
+revision=1
+build_style=python3-pep517
+build_helper=meson
+hostmakedepends="python3-meson-python python3-pybind11 pkg-config"
 makedepends="python3-pybind11"
 depends="python3"
 checkdepends="${depends} python3-pytest-xdist python3-numpy"
@@ -11,8 +12,12 @@ short_desc="Python library for calculating contours of 2D quadrilateral grids"
 maintainer="Alex Childs <misuchiru03+github@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/contourpy/contourpy"
+changelog="https://raw.githubusercontent.com/contourpy/contourpy/main/docs/changelog.rst"
 distfiles="${PYPI_SITE}/c/contourpy/contourpy-${version}.tar.gz"
-checksum=896631cd40222aef3697e4e51177d14c3709fda49d30983269d584f034acc8a4
+checksum=96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab
+
+# This test needs `wurlitzer`, not packaged
+make_check_args="--deselect=tests/test_internal.py::test_write_cache"
 
 # Pulling python3-matplotlib creates a build-time dependency
 if [ "$XBPS_CHECK_PKGS" = full ]; then
diff --git a/srcpkgs/python3-contourpy/update b/srcpkgs/python3-contourpy/update
new file mode 100644
index 0000000000000..e299d00ea67cd
--- /dev/null
+++ b/srcpkgs/python3-contourpy/update
@@ -0,0 +1 @@
+ignore="*rc*"

From e121794f8068098f8daaafc34245eed838f0f664 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 7 May 2023 21:56:57 -0300
Subject: [PATCH 5/6] python3-kiwisolver: update to 1.4.5, adopt.

---
 srcpkgs/python3-kiwisolver/template | 22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/python3-kiwisolver/template b/srcpkgs/python3-kiwisolver/template
index 3e4e2d55823da..ecea82d14e06c 100644
--- a/srcpkgs/python3-kiwisolver/template
+++ b/srcpkgs/python3-kiwisolver/template
@@ -1,25 +1,19 @@
 # Template file for 'python3-kiwisolver'
 pkgname=python3-kiwisolver
-version=1.3.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-cppy"
+version=1.4.5
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools_scm python3-wheel python3-cppy"
 makedepends="python3-devel python3-cppy"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Fast implementation of the Cassowary constraint solver (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/nucleic/kiwi"
+changelog="https://github.com/nucleic/kiwi/raw/main/releasenotes.rst"
 distfiles="${PYPI_SITE}/k/kiwisolver/kiwisolver-${version}.tar.gz"
-checksum=950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248
-
-post_patch() {
-	# When cross building, make sure target cppy headers are used
-	if [ -n "${XBPS_CROSS_BASE}" ]; then
-		vsed -i setup.py \
-			-e "s@cppy.get_include()@&.replace('/usr/', '${XBPS_CROSS_BASE}/usr/')@"
-	fi
-}
+checksum=e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec
 
 post_install() {
 	vlicense LICENSE

From 9cfeb87d4a740d7f4d1ad7033d404847ac8ffe1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 13:15:51 -0300
Subject: [PATCH 6/6] python3-matplotlib: update to 3.8.0.

---
 srcpkgs/python3-matplotlib/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index e8c3b07f9b9ca..90e899c2b2f52 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
-version=3.7.2
+version=3.8.0
 revision=1
-build_style=python3-module
+build_style=python3-pep517
 build_helper="numpy"
 hostmakedepends="pkg-config python3-setuptools_scm python3-certifi
- python3-numpy python3-pybind11"
+ python3-numpy python3-pybind11 python3-wheel"
 makedepends="python3-devel freetype-devel libpng-devel libqhull-devel python3-pybind11"
 depends="python3-cycler fonttools python3-kiwisolver python3-numpy
  python3-packaging python3-Pillow python3-parsing python3-dateutil
@@ -14,8 +14,9 @@ short_desc="Python3 2D/3D plotting library"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="custom:matplotlib, BSD-3-Clause, MIT"
 homepage="https://matplotlib.org/"
+changelog="https://github.com/matplotlib/matplotlib/releases"
 distfiles="${PYPI_SITE}/m/matplotlib/matplotlib-${version}.tar.gz"
-checksum=a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b
+checksum=df8505e1c19d5c2c26aff3497a7cbd3ccfc2e97043d1e4db3e76afa399164b69
 replaces="python3-matplotlib-data>=0"
 # Comparison of images is too frail for validation
 make_check="no"
@@ -26,6 +27,7 @@ pre_build() {
 	system_freetype = true
 	system_qhull = true
 	EOF
+	vsed -e "s|'-flto'|'-flto=auto'|" -i setup.py
 }
 
 post_install() {

  parent reply	other threads:[~2023-09-23 11:59 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-17 23:39 [PR PATCH] " tornaria
2023-09-17 23:41 ` tornaria
2023-09-17 23:43 ` tornaria
2023-09-18  0:09 ` tornaria
2023-09-20  3:03 ` [PR PATCH] [Updated] " tornaria
2023-09-20  3:09 ` tornaria
2023-09-20  3:11 ` tornaria
2023-09-20  3:34 ` [PR PATCH] [Updated] " tornaria
2023-09-20  4:22 ` tornaria
2023-09-20  4:40 ` [PR PATCH] [Updated] " tornaria
2023-09-20  4:42 ` tornaria
2023-09-20 15:07 ` ahesford
2023-09-20 15:14 ` ahesford
2023-09-20 23:47 ` [PR PATCH] [Updated] " tornaria
2023-09-20 23:49 ` tornaria
2023-09-23 11:59 ` tornaria [this message]
2023-09-23 12:01 ` tornaria
2023-09-23 17:00 ` ahesford
2023-09-23 17:26 ` tornaria
2023-09-23 17:29 ` [PR PATCH] [Updated] " tornaria
2023-09-23 17:30 ` tornaria
2023-09-23 17:32 ` tornaria
2023-09-23 17:33 ` ahesford
2023-09-23 17:37 ` tornaria
2023-09-23 17:47 ` ahesford
2023-09-23 17:54 ` tornaria
2023-09-23 17:54 ` ahesford
2023-09-23 17:55 ` [PR PATCH] [Merged]: " ahesford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230923115954.0hDLUAT9hL7_HUxuLmZSYrm2WugH1KVAAgkwiRPB130@z \
    --to=tornaria@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).