From ad83ed9e715692c2ac2db903c9d126b736c7569e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 22 Aug 2023 11:29:47 -0700 Subject: [PATCH 01/13] build/pkgs/numpy: Update to 1.26.0b1 --- build/pkgs/numpy/checksums.ini | 6 +++--- build/pkgs/numpy/package-version.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/pkgs/numpy/checksums.ini b/build/pkgs/numpy/checksums.ini index 70cc0ddaefd..5f6e6f3abec 100644 --- a/build/pkgs/numpy/checksums.ini +++ b/build/pkgs/numpy/checksums.ini @@ -1,5 +1,5 @@ tarball=numpy-VERSION.tar.gz -sha1=6c7f2278b4ddd113b30821e7e4d5f246dc3ee735 -md5=8b2692a511a3795f3af8af2cd7566a15 -cksum=3950457778 +sha1=7c36e75f2c063e51d1bb06cef7afb060d03b0dba +md5=3268568cee06327fa34175aa3805829d +cksum=2513117438 upstream_url=https://pypi.io/packages/source/n/numpy/numpy-VERSION.tar.gz diff --git a/build/pkgs/numpy/package-version.txt b/build/pkgs/numpy/package-version.txt index ca8ec414e78..47e51734ede 100644 --- a/build/pkgs/numpy/package-version.txt +++ b/build/pkgs/numpy/package-version.txt @@ -1 +1 @@ -1.23.5 +1.26.0b1 From 2e652c0c45fceefaf970f842f0fec43340d8b500 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 22 Aug 2023 11:56:17 -0700 Subject: [PATCH 02/13] build/pkgs/numpy: Switch build system to meson_python, back out workarounds from #34110, #32746, #32423 --- build/pkgs/numpy/dependencies | 2 +- build/pkgs/numpy/lapack_conf.py | 37 ------------------ build/pkgs/numpy/patches/21891.patch | 31 --------------- build/pkgs/numpy/spkg-install.in | 58 +++++++--------------------- 4 files changed, 16 insertions(+), 112 deletions(-) delete mode 100644 build/pkgs/numpy/lapack_conf.py delete mode 100644 build/pkgs/numpy/patches/21891.patch diff --git a/build/pkgs/numpy/dependencies b/build/pkgs/numpy/dependencies index d3c0f0055e4..d4c75cbf47b 100644 --- a/build/pkgs/numpy/dependencies +++ b/build/pkgs/numpy/dependencies @@ -1,4 +1,4 @@ -$(PYTHON) $(BLAS) gfortran | $(PYTHON_TOOLCHAIN) pkgconfig cython +$(PYTHON) $(BLAS) gfortran | $(PYTHON_TOOLCHAIN) pkgconfig cython meson_python ---------- All lines of this file are ignored except the first. diff --git a/build/pkgs/numpy/lapack_conf.py b/build/pkgs/numpy/lapack_conf.py deleted file mode 100644 index eeb9ffaf72c..00000000000 --- a/build/pkgs/numpy/lapack_conf.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env python3 - -import pkgconfig, os - -conf_file=open('site.cfg', 'w') - -pc_blas = pkgconfig.parse('cblas blas') -pc_lapack = pkgconfig.parse('lapack') - -if os.environ['UNAME'] == 'Darwin': - # on macOS, if openblas is available (the default), use it instead of the - # macOS Accelerate framework - if 'openblas' in pc_blas.get('libraries', []): - conf_file.write('[openblas]\n') - conf_file.write('libraries = '+', '.join(pc_blas['libraries'])+'\n') - inc_dir = pc_blas['include_dirs'] - if len(inc_dir) > 0: - conf_file.write('include_dirs = '+ ':'.join(inc_dir)+'\n') - lib_dir = pc_blas['library_dirs'] - if len(lib_dir) > 0: - conf_file.write('library_dirs = '+ ':'.join(lib_dir)+'\n') -else: - conf_file.write('[blas]\n') - inc_dir = pc_blas['include_dirs'] - if len(inc_dir) > 0: - conf_file.write('include_dirs = '+ ':'.join(inc_dir)+'\n') - lib_dir = pc_blas['library_dirs'] - if len(lib_dir) > 0: - conf_file.write('library_dirs = '+ ':'.join(lib_dir)+'\n') - conf_file.write('blas_libs = '+', '.join(pc_blas['libraries'])+'\n') - conf_file.write('[lapack]\n') - lib_dir = pc_lapack['library_dirs'] - if len(lib_dir) > 0: - conf_file.write('library_dirs = '+ ':'.join(lib_dir)+'\n') - conf_file.write('lapack_libs = '+', '.join(pc_lapack['libraries'])+'\n') - -conf_file.close() diff --git a/build/pkgs/numpy/patches/21891.patch b/build/pkgs/numpy/patches/21891.patch deleted file mode 100644 index 095fa894ebb..00000000000 --- a/build/pkgs/numpy/patches/21891.patch +++ /dev/null @@ -1,31 +0,0 @@ -From c7894260aaf36c447dd091bf622c7c2bcdb15a28 Mon Sep 17 00:00:00 2001 -From: Matthias Koeppe -Date: Thu, 30 Jun 2022 13:18:46 -0700 -Subject: [PATCH] setup.py: Remove check for SETUPTOOLS_USE_DISTUTILS - ---- - setup.py | 11 ----------- - 1 file changed, 11 deletions(-) - -diff --git a/setup.py b/setup.py -index 353b6c09693..2bc70173eca 100755 ---- a/setup.py -+++ b/setup.py -@@ -85,17 +85,6 @@ - # so that it is in sys.modules - import numpy.distutils.command.sdist - import setuptools --if int(setuptools.__version__.split('.')[0]) >= 60: -- # setuptools >= 60 switches to vendored distutils by default; this -- # may break the numpy build, so make sure the stdlib version is used -- try: -- setuptools_use_distutils = os.environ['SETUPTOOLS_USE_DISTUTILS'] -- except KeyError: -- os.environ['SETUPTOOLS_USE_DISTUTILS'] = "stdlib" -- else: -- if setuptools_use_distutils != "stdlib": -- raise RuntimeError("setuptools versions >= '60.0.0' require " -- "SETUPTOOLS_USE_DISTUTILS=stdlib in the environment") - - # Initialize cmdclass from versioneer - from numpy.distutils.core import numpy_cmdclass diff --git a/build/pkgs/numpy/spkg-install.in b/build/pkgs/numpy/spkg-install.in index e28660f393f..20d2a2cef62 100644 --- a/build/pkgs/numpy/spkg-install.in +++ b/build/pkgs/numpy/spkg-install.in @@ -3,57 +3,29 @@ cd src set -e -if [ `uname` = "Darwin" ]; then - unset ATLAS - unset BLAS - unset LAPACK - # https://github.com/sagemath/sage/issues/34110#comment:35 - # The fix for "reciprocal" (affected by a clang compiler bug) in - # https://github.com/numpy/numpy/pull/19926 relies on -ftrapping-math - # being used when Apple clang v12+ is used. - # But numpy.distutils.ccompiler only sets this flag when - # $CC contains the string "clang" -- missing the case CC=/usr/bin/gcc. - # So we set it here explicitly if the compiler supports the flag. - export CFLAGS="$(testcflags.sh $CFLAGS -ftrapping-math)" -else - export {ATLAS,PTATLAS,OPENBLAS,MKL,MKLROOT}=None - export LDFLAGS="${LDFLAGS} -shared" -fi - if [ "$UNAME" = "CYGWIN" ]; then # Trac #30643 export CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE" fi -# Trac #32746: pkg-config omits -I and -L flags that refer to directories -# that are already on CPATH, LIBRARY_PATH. -# But our script tries to obtain the list of include_dirs and library_dirs -# from pkg-config! -(unset CPATH LIBRARY_PATH; python3 ../lapack_conf.py) - -# Make sure that the fortran objects are compiled with -fPIC -export FFLAGS="$FFLAGS -fPIC" -export FCFLAGS="$FCFLAGS -fPIC" - if [ "$SAGE_FAT_BINARY" = "yes" ]; then export NUMPY_FCONFIG="--cpu-baseline=NONE" else export NUMPY_FCONFIG="" fi -# Trac #32423: Fix 32-bit builds on x86_64 -ARCH=$($CC -dumpmachine 2>/dev/null || echo unknown) -case "$ARCH" in - *x86_64*) - ;; - *) - export NPY_DISABLE_SVML=1 - ;; -esac - -################################################ - -# Trac #33138: numpy is a PEP 517 package, so the crucial "--build-option"s would be ignored. -eval sdh_pip_install --no-use-pep517 \ - $(eval sdh_prefix_args "--build-option" build ${NUMPY_CONFIG} ${NUMPY_FCONFIG}) \ - . +### Per https://github.com/numpy/numpy/releases/tag/v1.26.0b1 +### "NumPy-specific build customization": +### +### The NPY_* environment variables which control BLAS/LAPACK, SIMD, +### threading, and other such options are no longer supported, nor is +### a site.cfg file to select BLAS and LAPACK. Instead, there are +### command-line flags that can be passed to the build via pip/build's +### config-settings interface. These flags are all listed in +### https://github.com/numpy/numpy/blob/main/meson_options.txt +### +### 1.26.0b1 temporarily vendors Meson and meson-python +### http://scipy.github.io/devdocs/building/index.html + + +sdh_pip_install . From 5db5acc9c6dfb649eea8070774b6ce83f81c4184 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 22 Aug 2023 12:04:35 -0700 Subject: [PATCH 03/13] build/pkgs/setuptools[_wheel]: Update from 63.4.3/65.6.3 to 68.1.2, sync versions --- build/pkgs/setuptools/SPKG.rst | 7 ------- build/pkgs/setuptools/checksums.ini | 6 +++--- build/pkgs/setuptools/package-version.txt | 2 +- build/pkgs/setuptools_wheel/SPKG.rst | 3 --- build/pkgs/setuptools_wheel/checksums.ini | 6 +----- build/pkgs/setuptools_wheel/package-version.txt | 2 +- 6 files changed, 6 insertions(+), 20 deletions(-) mode change 100644 => 120000 build/pkgs/setuptools_wheel/checksums.ini mode change 100644 => 120000 build/pkgs/setuptools_wheel/package-version.txt diff --git a/build/pkgs/setuptools/SPKG.rst b/build/pkgs/setuptools/SPKG.rst index a50e171a98d..bb69c65b66a 100644 --- a/build/pkgs/setuptools/SPKG.rst +++ b/build/pkgs/setuptools/SPKG.rst @@ -7,13 +7,6 @@ Description setuptools is the classical build system for Python packages, a collection of enhancements to the Python distutils. -This package represents version 63.x of ``setuptools``. -Sage installs this version to provide the build system -for non-PEP 517 packages. In particular, Sage uses it -for building ``numpy``, whose build system ``numpy.distutils`` -is not compatible with newer versions of ``setuptools``, -see https://github.com/numpy/numpy/pull/22154 - License ------- diff --git a/build/pkgs/setuptools/checksums.ini b/build/pkgs/setuptools/checksums.ini index d47099a8019..e666bb16483 100644 --- a/build/pkgs/setuptools/checksums.ini +++ b/build/pkgs/setuptools/checksums.ini @@ -1,5 +1,5 @@ tarball=setuptools-VERSION.tar.gz -sha1=b14b8e2cf965fdb6870ebfccee50c751c056f757 -md5=02a0e4dc4fa13168904e8769a077aa26 -cksum=2734084418 +sha1=43e83ae0716615a7df123a5731412d1cd66dc81d +md5=222b8c1a7432457d8485f947a0e0fde6 +cksum=3076207771 upstream_url=https://pypi.io/packages/source/s/setuptools/setuptools-VERSION.tar.gz diff --git a/build/pkgs/setuptools/package-version.txt b/build/pkgs/setuptools/package-version.txt index fe3c6688881..c068d01a2ed 100644 --- a/build/pkgs/setuptools/package-version.txt +++ b/build/pkgs/setuptools/package-version.txt @@ -1 +1 @@ -63.4.3 +68.1.2 diff --git a/build/pkgs/setuptools_wheel/SPKG.rst b/build/pkgs/setuptools_wheel/SPKG.rst index b77a6679f8f..c78602a296a 100644 --- a/build/pkgs/setuptools_wheel/SPKG.rst +++ b/build/pkgs/setuptools_wheel/SPKG.rst @@ -3,6 +3,3 @@ setuptools_wheel: Build the setuptools package as a wheel After installing setuptools and wheel, we build a wheel of setuptools to complete the set of wheels stored in our wheelhouse. - -This version of setuptools is suitable for PEP 517/518/660 builds, -but it is not suitable for building ``numpy``. diff --git a/build/pkgs/setuptools_wheel/checksums.ini b/build/pkgs/setuptools_wheel/checksums.ini deleted file mode 100644 index 8db0d8c3016..00000000000 --- a/build/pkgs/setuptools_wheel/checksums.ini +++ /dev/null @@ -1,5 +0,0 @@ -tarball=setuptools-VERSION.tar.gz -sha1=2875e8f9a12d8a971461b36e2d1bd64a3497e0f2 -md5=1fd8bd04b0bed95ad6c81f03b1c080bc -cksum=1462078737 -upstream_url=https://pypi.io/packages/source/s/setuptools/setuptools-VERSION.tar.gz diff --git a/build/pkgs/setuptools_wheel/checksums.ini b/build/pkgs/setuptools_wheel/checksums.ini new file mode 120000 index 00000000000..4f64d3ce107 --- /dev/null +++ b/build/pkgs/setuptools_wheel/checksums.ini @@ -0,0 +1 @@ +../setuptools/checksums.ini \ No newline at end of file diff --git a/build/pkgs/setuptools_wheel/package-version.txt b/build/pkgs/setuptools_wheel/package-version.txt deleted file mode 100644 index c1a8c8394ad..00000000000 --- a/build/pkgs/setuptools_wheel/package-version.txt +++ /dev/null @@ -1 +0,0 @@ -65.6.3 diff --git a/build/pkgs/setuptools_wheel/package-version.txt b/build/pkgs/setuptools_wheel/package-version.txt new file mode 120000 index 00000000000..5268dbec8f6 --- /dev/null +++ b/build/pkgs/setuptools_wheel/package-version.txt @@ -0,0 +1 @@ +../setuptools/package-version.txt \ No newline at end of file From 009b4961365c7c65a9129c359a888c1a6a42cad5 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 22 Aug 2023 12:12:17 -0700 Subject: [PATCH 04/13] build/pkgs/pip: Update to 23.2.1 --- build/pkgs/pip/checksums.ini | 6 +++--- build/pkgs/pip/package-version.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/pkgs/pip/checksums.ini b/build/pkgs/pip/checksums.ini index 1ae66fbc20a..9b6376d1abb 100644 --- a/build/pkgs/pip/checksums.ini +++ b/build/pkgs/pip/checksums.ini @@ -1,5 +1,5 @@ tarball=pip-VERSION.tar.gz -sha1=29167fffe19874a74247fe92f4fdba1bb1221c61 -md5=996f58a94fe0b8b82b6795c42bd171ba -cksum=537001443 +sha1=4bdfd8e976b5122cf55f4f4740f7305f1ffa4310 +md5=e9b1226701a56ee3fcc81aba60d25d75 +cksum=1940746834 upstream_url=https://pypi.io/packages/source/p/pip/pip-VERSION.tar.gz diff --git a/build/pkgs/pip/package-version.txt b/build/pkgs/pip/package-version.txt index 4c3dad97552..3f833b5b536 100644 --- a/build/pkgs/pip/package-version.txt +++ b/build/pkgs/pip/package-version.txt @@ -1 +1 @@ -22.3.1 +23.2.1 From 07e2648927b1d8949239f598e0eadb5166a6ab73 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 22 Aug 2023 12:22:55 -0700 Subject: [PATCH 05/13] build/pkgs/numpy/spkg-install.in: Remove incompatible -std=... from CXX --- build/pkgs/numpy/spkg-install.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/pkgs/numpy/spkg-install.in b/build/pkgs/numpy/spkg-install.in index 20d2a2cef62..baebfd466a7 100644 --- a/build/pkgs/numpy/spkg-install.in +++ b/build/pkgs/numpy/spkg-install.in @@ -3,6 +3,10 @@ cd src set -e +# https://github.com/scipy/scipy/issues/16536 - meson breaks when CXX="g++ -std=gnu++11" +# -- this also affects numpy +export CXX=$(echo "$CXX" | sed 's/-std=[a-z0-9+]*//g') + if [ "$UNAME" = "CYGWIN" ]; then # Trac #30643 export CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE" From 7ea4ee4b7400709531a7e3dfac45074528d3a748 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 23 Aug 2023 09:38:15 -0700 Subject: [PATCH 06/13] build/pkgs/numpy/patches: Add https://github.com/numpy/numpy/pull/24511 --- build/pkgs/numpy/patches/24511.patch | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 build/pkgs/numpy/patches/24511.patch diff --git a/build/pkgs/numpy/patches/24511.patch b/build/pkgs/numpy/patches/24511.patch new file mode 100644 index 00000000000..41e94f03241 --- /dev/null +++ b/build/pkgs/numpy/patches/24511.patch @@ -0,0 +1,30 @@ +From 31234832591b09e1982b386ff6811d348a129ec2 Mon Sep 17 00:00:00 2001 +From: mattip +Date: Wed, 23 Aug 2023 16:01:40 +0300 +Subject: [PATCH] use a default assignment for git_hash [skip ci] + +--- + numpy/_build_utils/gitversion.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/numpy/_build_utils/gitversion.py b/numpy/_build_utils/gitversion.py +index d910581a85d..6686ddb51fd 100644 +--- a/numpy/_build_utils/gitversion.py ++++ b/numpy/_build_utils/gitversion.py +@@ -24,6 +24,7 @@ def git_version(version): + import subprocess + import os.path + ++ git_hash = '' + try: + p = subprocess.Popen( + ['git', 'log', '-1', '--format="%H %aI"'], +@@ -48,8 +49,6 @@ def git_version(version): + # Only attach git tag to development versions + if 'dev' in version: + version += f'+git{git_date}.{git_hash[:7]}' +- else: +- git_hash = '' + + return version, git_hash + From 811ea7fe7dcc83ab435afbd808393ba2f78a7eff Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 23 Aug 2023 20:46:36 -0700 Subject: [PATCH 07/13] build/pkgs/numpy/patches: Add https://github.com/numpy/numpy/pull/24515 --- build/pkgs/numpy/patches/24515.patch | 66 ++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 build/pkgs/numpy/patches/24515.patch diff --git a/build/pkgs/numpy/patches/24515.patch b/build/pkgs/numpy/patches/24515.patch new file mode 100644 index 00000000000..08c99379d07 --- /dev/null +++ b/build/pkgs/numpy/patches/24515.patch @@ -0,0 +1,66 @@ +From e150c31194a3faff43791aa5ad3055db07f5e6e0 Mon Sep 17 00:00:00 2001 +From: Ralf Gommers +Date: Thu, 24 Aug 2023 05:18:55 +0200 +Subject: [PATCH] BUG: fix issue with git-version script, needs a shebang to + run + +Closes gh-24514 +--- + meson.build | 2 +- + numpy/_build_utils/gitversion.py | 1 + + numpy/meson.build | 13 +++++-------- + 3 files changed, 7 insertions(+), 9 deletions(-) + +diff --git a/meson.build b/meson.build +index a9e68c2eb94..0469f7f4590 100644 +--- a/meson.build ++++ b/meson.build +@@ -3,7 +3,7 @@ project( + 'c', 'cpp', 'cython', + version: run_command( + # This should become `numpy/_version.py` in NumPy 2.0 +- ['python', 'numpy/_build_utils/gitversion.py'], ++ ['numpy/_build_utils/gitversion.py'], + check: true).stdout().strip(), + license: 'BSD-3', + meson_version: '>=1.2.99', # version in vendored-meson is 1.2.99 +diff --git a/numpy/_build_utils/gitversion.py b/numpy/_build_utils/gitversion.py +index 6686ddb51fd..4ee6e00bbd6 100644 +--- a/numpy/_build_utils/gitversion.py ++++ b/numpy/_build_utils/gitversion.py +@@ -1,3 +1,4 @@ ++#!/usr/bin/env python3 + import os + import textwrap + +diff --git a/numpy/meson.build b/numpy/meson.build +index 9b9a3581a9c..40766081d14 100644 +--- a/numpy/meson.build ++++ b/numpy/meson.build +@@ -188,14 +188,6 @@ if not have_lapack and not allow_noblas + 'for some linear algebra operations).') + endif + +-# Generate version.py for sdist +-gitversion = files('_build_utils/gitversion.py')[0] +-python_bin = py.full_path() +-meson.add_dist_script( +- py, +- [gitversion, '--meson-dist', '--write', 'numpy/version.py'] +-) +- + # Copy the main __init__.py|pxd files to the build dir (needed for Cython) + __init__py = fs.copyfile('__init__.py') + __init__pxd = fs.copyfile('__init__.pxd') +@@ -257,6 +249,11 @@ endif + + np_dir = py.get_install_dir() / 'numpy' + ++# Generate version.py for sdist ++meson.add_dist_script( ++ ['_build_utils/gitversion.py', '--meson-dist', '--write', ++ 'numpy/version.py'] ++) + if not fs.exists('version.py') + generate_version = custom_target( + 'generate-version', From 057823f9d246703a4c7a673dc43e646e89c74797 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 7 Sep 2023 09:12:17 -0700 Subject: [PATCH 08/13] build/pkgs/numpy: Update to 1.26.0rc1, remove patches --- build/pkgs/numpy/checksums.ini | 6 +-- build/pkgs/numpy/package-version.txt | 2 +- build/pkgs/numpy/patches/24511.patch | 30 ------------- build/pkgs/numpy/patches/24515.patch | 66 ---------------------------- 4 files changed, 4 insertions(+), 100 deletions(-) delete mode 100644 build/pkgs/numpy/patches/24511.patch delete mode 100644 build/pkgs/numpy/patches/24515.patch diff --git a/build/pkgs/numpy/checksums.ini b/build/pkgs/numpy/checksums.ini index 5f6e6f3abec..b71fbb37b7e 100644 --- a/build/pkgs/numpy/checksums.ini +++ b/build/pkgs/numpy/checksums.ini @@ -1,5 +1,5 @@ tarball=numpy-VERSION.tar.gz -sha1=7c36e75f2c063e51d1bb06cef7afb060d03b0dba -md5=3268568cee06327fa34175aa3805829d -cksum=2513117438 +sha1=514f9201d6c3ba0f7e88400e72bb3fb179aa31fc +md5=23bf7c39807a9cce5c8ea0ba293b7dd9 +cksum=3121934199 upstream_url=https://pypi.io/packages/source/n/numpy/numpy-VERSION.tar.gz diff --git a/build/pkgs/numpy/package-version.txt b/build/pkgs/numpy/package-version.txt index 47e51734ede..0635ee2cc52 100644 --- a/build/pkgs/numpy/package-version.txt +++ b/build/pkgs/numpy/package-version.txt @@ -1 +1 @@ -1.26.0b1 +1.26.0rc1 diff --git a/build/pkgs/numpy/patches/24511.patch b/build/pkgs/numpy/patches/24511.patch deleted file mode 100644 index 41e94f03241..00000000000 --- a/build/pkgs/numpy/patches/24511.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 31234832591b09e1982b386ff6811d348a129ec2 Mon Sep 17 00:00:00 2001 -From: mattip -Date: Wed, 23 Aug 2023 16:01:40 +0300 -Subject: [PATCH] use a default assignment for git_hash [skip ci] - ---- - numpy/_build_utils/gitversion.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/numpy/_build_utils/gitversion.py b/numpy/_build_utils/gitversion.py -index d910581a85d..6686ddb51fd 100644 ---- a/numpy/_build_utils/gitversion.py -+++ b/numpy/_build_utils/gitversion.py -@@ -24,6 +24,7 @@ def git_version(version): - import subprocess - import os.path - -+ git_hash = '' - try: - p = subprocess.Popen( - ['git', 'log', '-1', '--format="%H %aI"'], -@@ -48,8 +49,6 @@ def git_version(version): - # Only attach git tag to development versions - if 'dev' in version: - version += f'+git{git_date}.{git_hash[:7]}' -- else: -- git_hash = '' - - return version, git_hash - diff --git a/build/pkgs/numpy/patches/24515.patch b/build/pkgs/numpy/patches/24515.patch deleted file mode 100644 index 08c99379d07..00000000000 --- a/build/pkgs/numpy/patches/24515.patch +++ /dev/null @@ -1,66 +0,0 @@ -From e150c31194a3faff43791aa5ad3055db07f5e6e0 Mon Sep 17 00:00:00 2001 -From: Ralf Gommers -Date: Thu, 24 Aug 2023 05:18:55 +0200 -Subject: [PATCH] BUG: fix issue with git-version script, needs a shebang to - run - -Closes gh-24514 ---- - meson.build | 2 +- - numpy/_build_utils/gitversion.py | 1 + - numpy/meson.build | 13 +++++-------- - 3 files changed, 7 insertions(+), 9 deletions(-) - -diff --git a/meson.build b/meson.build -index a9e68c2eb94..0469f7f4590 100644 ---- a/meson.build -+++ b/meson.build -@@ -3,7 +3,7 @@ project( - 'c', 'cpp', 'cython', - version: run_command( - # This should become `numpy/_version.py` in NumPy 2.0 -- ['python', 'numpy/_build_utils/gitversion.py'], -+ ['numpy/_build_utils/gitversion.py'], - check: true).stdout().strip(), - license: 'BSD-3', - meson_version: '>=1.2.99', # version in vendored-meson is 1.2.99 -diff --git a/numpy/_build_utils/gitversion.py b/numpy/_build_utils/gitversion.py -index 6686ddb51fd..4ee6e00bbd6 100644 ---- a/numpy/_build_utils/gitversion.py -+++ b/numpy/_build_utils/gitversion.py -@@ -1,3 +1,4 @@ -+#!/usr/bin/env python3 - import os - import textwrap - -diff --git a/numpy/meson.build b/numpy/meson.build -index 9b9a3581a9c..40766081d14 100644 ---- a/numpy/meson.build -+++ b/numpy/meson.build -@@ -188,14 +188,6 @@ if not have_lapack and not allow_noblas - 'for some linear algebra operations).') - endif - --# Generate version.py for sdist --gitversion = files('_build_utils/gitversion.py')[0] --python_bin = py.full_path() --meson.add_dist_script( -- py, -- [gitversion, '--meson-dist', '--write', 'numpy/version.py'] --) -- - # Copy the main __init__.py|pxd files to the build dir (needed for Cython) - __init__py = fs.copyfile('__init__.py') - __init__pxd = fs.copyfile('__init__.pxd') -@@ -257,6 +249,11 @@ endif - - np_dir = py.get_install_dir() / 'numpy' - -+# Generate version.py for sdist -+meson.add_dist_script( -+ ['_build_utils/gitversion.py', '--meson-dist', '--write', -+ 'numpy/version.py'] -+) - if not fs.exists('version.py') - generate_version = custom_target( - 'generate-version', From e4034863d87efb20e3a8d632c4e515353aac270b Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 7 Sep 2023 12:02:23 -0700 Subject: [PATCH 09/13] build/pkgs/numpy/patches/cython3-legacy.patch: Remove --- build/pkgs/numpy/patches/cython3-legacy.patch | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 build/pkgs/numpy/patches/cython3-legacy.patch diff --git a/build/pkgs/numpy/patches/cython3-legacy.patch b/build/pkgs/numpy/patches/cython3-legacy.patch deleted file mode 100644 index dfcb9c4a69c..00000000000 --- a/build/pkgs/numpy/patches/cython3-legacy.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/tools/cythonize.py b/tools/cythonize.py -index 002b2fa..c04422e 100755 ---- a/tools/cythonize.py -+++ b/tools/cythonize.py -@@ -47,6 +47,7 @@ def process_pyx(fromfile, tofile): - flags = ['-3', '--fast-fail'] - if tofile.endswith('.cxx'): - flags.append('--cplus') -+ flags += ['--directive', 'legacy_implicit_noexcept=true'] - - subprocess.check_call( - [sys.executable, '-m', 'cython'] + flags + ["-o", tofile, fromfile]) From 3485e3e2007b5d84ca078bb1a0c0804505dfaa7b Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 16 Sep 2023 21:16:29 -0700 Subject: [PATCH 10/13] build/pkgs/numpy: Update to 1.26.0 --- build/pkgs/numpy/checksums.ini | 6 +++--- build/pkgs/numpy/package-version.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/pkgs/numpy/checksums.ini b/build/pkgs/numpy/checksums.ini index b71fbb37b7e..886bc13768b 100644 --- a/build/pkgs/numpy/checksums.ini +++ b/build/pkgs/numpy/checksums.ini @@ -1,5 +1,5 @@ tarball=numpy-VERSION.tar.gz -sha1=514f9201d6c3ba0f7e88400e72bb3fb179aa31fc -md5=23bf7c39807a9cce5c8ea0ba293b7dd9 -cksum=3121934199 +sha1=a3f9d79d7852f5d35ff35693fc31d17ea270d2d0 +md5=69bd28f07afbeed2bb6ecd467afcd469 +cksum=3599108965 upstream_url=https://pypi.io/packages/source/n/numpy/numpy-VERSION.tar.gz diff --git a/build/pkgs/numpy/package-version.txt b/build/pkgs/numpy/package-version.txt index 0635ee2cc52..5ff8c4f5d2a 100644 --- a/build/pkgs/numpy/package-version.txt +++ b/build/pkgs/numpy/package-version.txt @@ -1 +1 @@ -1.26.0rc1 +1.26.0 From 7ef7249ee34835629b76481890ce5a483f6c0ffb Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 16 Sep 2023 15:44:27 -0700 Subject: [PATCH 11/13] build/pkgs/setuptools[_wheel]/install-requires.txt: >= 68.1.1 --- build/pkgs/setuptools/install-requires.txt | 4 +++- build/pkgs/setuptools_wheel/install-requires.txt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) mode change 100644 => 120000 build/pkgs/setuptools_wheel/install-requires.txt diff --git a/build/pkgs/setuptools/install-requires.txt b/build/pkgs/setuptools/install-requires.txt index e0cf7c9b5dc..c12b5900873 100644 --- a/build/pkgs/setuptools/install-requires.txt +++ b/build/pkgs/setuptools/install-requires.txt @@ -1 +1,3 @@ -setuptools >=49.6.0, <64 +# 68.1.0 Promote pyproject.toml's [tool.setuptools] out of beta. +# 68.1.1 Fix editable install finder handling of nested packages +setuptools >= 68.1.1 diff --git a/build/pkgs/setuptools_wheel/install-requires.txt b/build/pkgs/setuptools_wheel/install-requires.txt deleted file mode 100644 index d3767a68c8f..00000000000 --- a/build/pkgs/setuptools_wheel/install-requires.txt +++ /dev/null @@ -1 +0,0 @@ -setuptools >= 65.6 diff --git a/build/pkgs/setuptools_wheel/install-requires.txt b/build/pkgs/setuptools_wheel/install-requires.txt new file mode 120000 index 00000000000..c5cfb4ff0a9 --- /dev/null +++ b/build/pkgs/setuptools_wheel/install-requires.txt @@ -0,0 +1 @@ +../setuptools/install-requires.txt \ No newline at end of file From 1774d74dbcadebdf559477c6bd2e8f35fc65bf89 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 20 Sep 2023 09:19:40 -0700 Subject: [PATCH 12/13] build/pkgs/setuptools: Update to 68.2.2 --- build/pkgs/setuptools/checksums.ini | 6 +++--- build/pkgs/setuptools/package-version.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/pkgs/setuptools/checksums.ini b/build/pkgs/setuptools/checksums.ini index e666bb16483..150e3c25335 100644 --- a/build/pkgs/setuptools/checksums.ini +++ b/build/pkgs/setuptools/checksums.ini @@ -1,5 +1,5 @@ tarball=setuptools-VERSION.tar.gz -sha1=43e83ae0716615a7df123a5731412d1cd66dc81d -md5=222b8c1a7432457d8485f947a0e0fde6 -cksum=3076207771 +sha1=b0c9b16863c57d70adc22651906eea7eaee09803 +md5=d967ca2ba7f46db887daee2d5c9bd6a2 +cksum=2346145273 upstream_url=https://pypi.io/packages/source/s/setuptools/setuptools-VERSION.tar.gz diff --git a/build/pkgs/setuptools/package-version.txt b/build/pkgs/setuptools/package-version.txt index c068d01a2ed..fc312b9c8c1 100644 --- a/build/pkgs/setuptools/package-version.txt +++ b/build/pkgs/setuptools/package-version.txt @@ -1 +1 @@ -68.1.2 +68.2.2 From 0b995cf72b38783748895eedcdd961c7e48df95b Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 21 Sep 2023 17:20:32 -0400 Subject: [PATCH 13/13] src/sage/repl/ipython_kernel/kernel.py: hide a PEP 420 warning Hide a warning that stems from using upstream (unbundled) pydevd with debugpy. New versions of debugpy work around it, but it's better if we can support older versions for a while. --- src/sage/repl/ipython_kernel/kernel.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/sage/repl/ipython_kernel/kernel.py b/src/sage/repl/ipython_kernel/kernel.py index 73681716aa2..db7554eed59 100644 --- a/src/sage/repl/ipython_kernel/kernel.py +++ b/src/sage/repl/ipython_kernel/kernel.py @@ -16,7 +16,18 @@ # *************************************************************************** import sys -from ipykernel.ipkernel import IPythonKernel +import warnings +with warnings.catch_warnings(): + # When upstream pydevd (as opposed to the bundled version) is used + # with debugpy, a PEP 420 warning is emitted. Debugpy and/or + # pydevd will eventually work around this, but as of September + # 2023, hiding the warning gives us more flexibility in the + # versions of those packages that we can accept. + warnings.filterwarnings("ignore", + message=r".*pkg_resources\.declare_namespace", + category=DeprecationWarning) + from ipykernel.ipkernel import IPythonKernel + from ipykernel.zmqshell import ZMQInteractiveShell from traitlets import Type