diff --git a/abs.yaml b/abs.yaml index 31c3d0cb..a467ff00 100644 --- a/abs.yaml +++ b/abs.yaml @@ -5,6 +5,9 @@ build_parameters: - "--error-overlinking" - "--error-overdepending" -# Upload all testing artifacts on a labeled testing channel: ad-testing/label/py315 +# Upload testing artifacts: ad-testing/label/py315 upload_channels: -- ad-testing/label/py315 + - ad-testing/label/py315 + +build_env_vars: + ANACONDA_ROCKET_ENABLE_PY315: yes diff --git a/recipe/build_base.sh b/recipe/build_base.sh index f471027b..fa275284 100644 --- a/recipe/build_base.sh +++ b/recipe/build_base.sh @@ -209,7 +209,7 @@ if [[ ${target_platform} == osx-64 ]]; then # TODO: check with LLVM 12 if the following hack is needed. # https://reviews.llvm.org/D76461 may have fixed the need for the following hack. echo '#!/bin/bash' > $BUILD_PREFIX/bin/$HOST-llvm-ar - echo "$BUILD_PREFIX/bin/llvm-ar --format=darwin" '"$@"' >> $BUILD_PREFIX/bin/$HOST-llvm-ar + echo "$BUILD_PREFIX/bin/llvm-ar-21 --format=darwin" '"$@"' >> $BUILD_PREFIX/bin/$HOST-llvm-ar chmod +x $BUILD_PREFIX/bin/$HOST-llvm-ar export ARCHFLAGS="-arch x86_64" elif [[ ${target_platform} == osx-arm64 ]]; then @@ -218,7 +218,7 @@ elif [[ ${target_platform} == osx-arm64 ]]; then export ac_sys_release=20.0.0 export MACOSX_DEFAULT_ARCH=arm64 echo '#!/bin/bash' > $BUILD_PREFIX/bin/$HOST-llvm-ar - echo "$BUILD_PREFIX/bin/llvm-ar --format=darwin" '"$@"' >> $BUILD_PREFIX/bin/$HOST-llvm-ar + echo "$BUILD_PREFIX/bin/llvm-ar-21 --format=darwin" '"$@"' >> $BUILD_PREFIX/bin/$HOST-llvm-ar chmod +x $BUILD_PREFIX/bin/$HOST-llvm-ar export ARCHFLAGS="-arch arm64" export CFLAGS="$CFLAGS $ARCHFLAGS" diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index dffd4121..89de489e 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -7,6 +7,14 @@ numpy: # Override aggregate global tk 8.6 — build/test against tk 9 from pkgs/main tk: - '9.0' +# Override aggregate global clang 20 on osx. CPython 3.15 JIT requires LLVM 21 +# (Tools/jit/_llvm.py); mixing compiler('c')=20 with clang-21/llvm-tools-21 +# breaks osx-arm64 LTO+PGO (___llvm_profile_runtime) and JIT tool discovery. +# Matches conda-forge python-feedstock osx c_compiler_version: 21. +c_compiler_version: # [osx] + - 21 # [osx] +cxx_compiler_version: # [osx] + - 21 # [osx] gil_type: - normal # Will be enabled as part of https://anaconda.atlassian.net/browse/PKG-5855 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e1620e15..b2705962 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "3.15.0" %} -{% set dev = "b4" %} +{% set dev = "rc1" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} @@ -61,7 +61,7 @@ source: {% else %} - url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz # md5 from: https://www.python.org/downloads/release/python-{{ ver3nd }}/ - sha256: 93efb9c88d7b6633368e7f7b8f8db6e98988f7f761c09b77849447262841ce3a + sha256: f84dad680ab2147417d2739355c2678f0f9acffe4ae8ef77895de1454b384b07 {% endif %} patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch @@ -184,8 +184,6 @@ outputs: - make # [not win] - libtool # [unix] - pkg-config # [not win] - # configure script looks for llvm-ar for lto - - llvm-tools # [osx] - ld_impl_{{ target_platform }} # [linux] # called in build_base.sh - ripgrep # [not win] @@ -194,6 +192,8 @@ outputs: {% endif %} # https://github.com/python/cpython/blob/main/Tools/jit/README.md#installing-llvm: # "LLVM version 21 is the officially supported version" + # Also supplies llvm-ar-21, which build_base.sh wraps as the lto archiver + # that configure picks up via $HOST-llvm-ar. - clang-21 # [not win] - llvm-tools-21 # [not win] - clang 21.* # [win]