From 285413ffd7d48e6d2d3f27b3c36f150102499959 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Sat, 23 Sep 2023 21:02:01 -0400 Subject: [PATCH] python3-pandas: update to 2.1.1. --- .../python3-pandas/patches/meson-numpy.patch | 48 +++++++++++++++++++ .../patches/version-relaxation.patch | 31 ++++++++++++ srcpkgs/python3-pandas/template | 11 +++-- 3 files changed, 85 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/python3-pandas/patches/meson-numpy.patch create mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch diff --git a/srcpkgs/python3-pandas/patches/meson-numpy.patch b/srcpkgs/python3-pandas/patches/meson-numpy.patch new file mode 100644 index 00000000000..aadaf5f7873 --- /dev/null +++ b/srcpkgs/python3-pandas/patches/meson-numpy.patch @@ -0,0 +1,48 @@ +--- ./pandas/meson.build.orig 2023-10-02 14:27:27.031989290 -0400 ++++ ./pandas/meson.build 2023-10-02 14:30:18.017083106 -0400 +@@ -1,7 +1,25 @@ +-incdir_numpy = run_command(py, +- [ +- '-c', +- ''' ++# NumPy include directory - needed in all submodules ++# The chdir is needed because within numpy there's an `import signal` ++# statement, and we don't want that to pick up scipy's signal module rather ++# than the stdlib module. The try-except is needed because when things are ++# split across drives on Windows, there is no relative path and an exception ++# gets raised. There may be other such cases, so add a catch-all and switch to ++# an absolute path. Relative paths are needed when for example a virtualenv is ++# placed inside the source tree; Meson rejects absolute paths to places inside ++# the source tree. ++# For cross-compilation it is often not possible to run the Python interpreter ++# in order to retrieve numpy's include directory. It can be specified in the ++# cross file instead: ++# [properties] ++# numpy-include-dir = /abspath/to/host-pythons/site-packages/numpy/core/include ++# ++# This uses the path as is, and avoids running the interpreter. ++incdir_numpy = meson.get_external_property('numpy-include-dir', 'not-given') ++if incdir_numpy == 'not-given' ++ incdir_numpy = run_command(py, ++ [ ++ '-c', ++ ''' + import os + import numpy as np + try: +@@ -12,10 +30,11 @@ + except Exception: + incdir = np.get_include() + print(incdir) +- ''' +- ], +- check: true +-).stdout().strip() ++ ''' ++ ], ++ check: true ++ ).stdout().strip() ++endif + + inc_np = include_directories(incdir_numpy) + inc_pd = include_directories('_libs/include') diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch new file mode 100644 index 00000000000..95456cbdca9 --- /dev/null +++ b/srcpkgs/python3-pandas/patches/version-relaxation.patch @@ -0,0 +1,31 @@ +--- ./pyproject.toml.orig 2023-10-02 14:33:56.359267774 -0400 ++++ ./pyproject.toml 2023-10-02 14:35:29.662565059 -0400 +@@ -2,14 +2,14 @@ + # Minimum requirements for the build system to execute. + # See https://github.com/scipy/scipy/pull/12940 for the AIX issue. + requires = [ +- "meson-python==0.13.1", +- "meson==1.2.1", ++ "meson-python", ++ "meson", + "wheel", + "Cython>=0.29.33,<3", # Note: sync with setup.py, environment.yml and asv.conf.json + # Note: numpy 1.25 has a backwards compatible C API by default + # we don't want to force users to compile with 1.25 though + # (Ideally, in the future, though, oldest-supported-numpy can be dropped when our min numpy is 1.25.x) +- "oldest-supported-numpy>=2022.8.16; python_version<'3.12'", ++ "numpy>=1.23.2; python_version<'3.12'", + "numpy>=1.26.0; python_version>='3.12'", + "versioneer[toml]" + ] +--- ./meson.build.orig 2023-10-02 14:42:02.161816469 -0400 ++++ ./meson.build 2023-09-20 15:24:13.000000000 -0400 +@@ -4,7 +4,7 @@ + 'c', 'cpp', 'cython', + version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(), + license: 'BSD-3', +- meson_version: '>=1.2.1', ++ meson_version: '>=1.2.0', + default_options: [ + 'buildtype=release', + 'c_std=c99' diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template index 0f102b55707..344b9f38313 100644 --- a/srcpkgs/python3-pandas/template +++ b/srcpkgs/python3-pandas/template @@ -1,10 +1,11 @@ # Template file for 'python3-pandas' pkgname=python3-pandas -version=2.0.3 +version=2.1.1 revision=1 -build_style=python3-module -hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy - python3-versioneer" +build_style=python3-pep517 +build_helper="meson numpy" +hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29 + python3-numpy python3-versioneer pkg-config" makedepends="python3-devel python3-numpy python3-dateutil python3-pytz" depends="python3-numpy python3-dateutil python3-pytz" short_desc="Python3 data analysis library" @@ -13,7 +14,7 @@ license="BSD-3-Clause" homepage="https://pandas.pydata.org/" changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html" distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz" -checksum=e7ea4798650316b2c45cf801ff02e3d6e79614696c8f0731b24715aad9969516 +checksum=853a0d3c3af28821436ae45619ef6e07b9748f2bd5a1a0c0356320f968a0a64b # Builds seem to sometimes have missing symbol problems; # the intermittent nature suggests this might be a race disable_parallel_build=yes