diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index c496e8c..50a24fc 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -28,6 +28,11 @@ jobs: UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 SHORT_CONFIG: linux_64_numpy1.23python3.11.____cpython + linux_64_numpy1.26python3.12.____cpython: + CONFIG: linux_64_numpy1.26python3.12.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + SHORT_CONFIG: linux_64_numpy1.26python3.12.____cpython linux_aarch64_numpy1.22python3.10.____cpython: CONFIG: linux_aarch64_numpy1.22python3.10.____cpython UPLOAD_PACKAGES: 'True' @@ -48,6 +53,11 @@ jobs: UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 SHORT_CONFIG: linux_aarch64_numpy1.23python3.11.____cpython + linux_aarch64_numpy1.26python3.12.____cpython: + CONFIG: linux_aarch64_numpy1.26python3.12.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + SHORT_CONFIG: linux_aarch64_numpy1.26python3.12.____cpython linux_ppc64le_numpy1.22python3.10.____cpython: CONFIG: linux_ppc64le_numpy1.22python3.10.____cpython UPLOAD_PACKAGES: 'True' @@ -68,6 +78,11 @@ jobs: UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 SHORT_CONFIG: linux_ppc64le_numpy1.23python3.11.____cpython + linux_ppc64le_numpy1.26python3.12.____cpython: + CONFIG: linux_ppc64le_numpy1.26python3.12.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + SHORT_CONFIG: linux_ppc64le_numpy1.26python3.12.____cpython timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 2e39c73..62aa51f 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -24,6 +24,10 @@ jobs: CONFIG: osx_64_numpy1.23python3.11.____cpython UPLOAD_PACKAGES: 'True' SHORT_CONFIG: osx_64_numpy1.23python3.11.____cpython + osx_64_numpy1.26python3.12.____cpython: + CONFIG: osx_64_numpy1.26python3.12.____cpython + UPLOAD_PACKAGES: 'True' + SHORT_CONFIG: osx_64_numpy1.26python3.12.____cpython osx_arm64_numpy1.22python3.10.____cpython: CONFIG: osx_arm64_numpy1.22python3.10.____cpython UPLOAD_PACKAGES: 'True' @@ -40,6 +44,10 @@ jobs: CONFIG: osx_arm64_numpy1.23python3.11.____cpython UPLOAD_PACKAGES: 'True' SHORT_CONFIG: osx_arm64_numpy1.23python3.11.____cpython + osx_arm64_numpy1.26python3.12.____cpython: + CONFIG: osx_arm64_numpy1.26python3.12.____cpython + UPLOAD_PACKAGES: 'True' + SHORT_CONFIG: osx_arm64_numpy1.26python3.12.____cpython timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 6edbfdf..c4c8334 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -24,6 +24,10 @@ jobs: CONFIG: win_64_numpy1.23python3.11.____cpython UPLOAD_PACKAGES: 'True' SHORT_CONFIG: win_64_numpy1.23python3.11.____cpython + win_64_numpy1.26python3.12.____cpython: + CONFIG: win_64_numpy1.26python3.12.____cpython + UPLOAD_PACKAGES: 'True' + SHORT_CONFIG: win_64_numpy1.26python3.12.____cpython timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ diff --git a/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml new file mode 100644 index 0000000..aae0f6d --- /dev/null +++ b/.ci_support/linux_64_numpy1.26python3.12.____cpython.yaml @@ -0,0 +1,39 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fmt: +- '10' +libblas: +- 3.9 *netlib +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +numpy: +- '1.26' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - python + - numpy diff --git a/.ci_support/linux_aarch64_numpy1.26python3.12.____cpython.yaml b/.ci_support/linux_aarch64_numpy1.26python3.12.____cpython.yaml new file mode 100644 index 0000000..46aab6b --- /dev/null +++ b/.ci_support/linux_aarch64_numpy1.26python3.12.____cpython.yaml @@ -0,0 +1,43 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fmt: +- '10' +libblas: +- 3.9 *netlib +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +numpy: +- '1.26' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - python + - numpy diff --git a/.ci_support/linux_ppc64le_numpy1.26python3.12.____cpython.yaml b/.ci_support/linux_ppc64le_numpy1.26python3.12.____cpython.yaml new file mode 100644 index 0000000..fe105b5 --- /dev/null +++ b/.ci_support/linux_ppc64le_numpy1.26python3.12.____cpython.yaml @@ -0,0 +1,39 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fmt: +- '10' +libblas: +- 3.9 *netlib +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +numpy: +- '1.26' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - python + - numpy diff --git a/.ci_support/migrations/python312.yaml b/.ci_support/migrations/python312.yaml new file mode 100644 index 0000000..af9104e --- /dev/null +++ b/.ci_support/migrations/python312.yaml @@ -0,0 +1,42 @@ +migrator_ts: 1695046563 +__migrator: + migration_number: 1 + operation: key_add + primary_key: python + ordering: + python: + - 3.6.* *_cpython + - 3.7.* *_cpython + - 3.8.* *_cpython + - 3.9.* *_cpython + - 3.10.* *_cpython + - 3.11.* *_cpython + - 3.12.* *_cpython # new entry + - 3.6.* *_73_pypy + - 3.7.* *_73_pypy + - 3.8.* *_73_pypy + - 3.9.* *_73_pypy + paused: false + longterm: True + pr_limit: 30 + max_solver_attempts: 5 # this will make the bot retry "not solvable" stuff 5 times + exclude: + # this shouldn't attempt to modify the python feedstocks + - python + - pypy3.6 + - pypy-meta + - cross-python + - python_abi + exclude_pinned_pkgs: false + additional_zip_keys: + - channel_sources + +python: + - 3.12.* *_cpython +channel_sources: + - conda-forge/label/python_rc,conda-forge +# additional entries to add for zip_keys +numpy: + - 1.26 +python_impl: + - cpython diff --git a/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml new file mode 100644 index 0000000..2163452 --- /dev/null +++ b/.ci_support/osx_64_numpy1.26python3.12.____cpython.yaml @@ -0,0 +1,41 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +MACOSX_SDK_VERSION: +- '10.15' +c_compiler: +- clang +c_compiler_version: +- '16' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fmt: +- '10' +libblas: +- 3.9 *netlib +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '1.26' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - python + - numpy diff --git a/.ci_support/osx_arm64_numpy1.26python3.12.____cpython.yaml b/.ci_support/osx_arm64_numpy1.26python3.12.____cpython.yaml new file mode 100644 index 0000000..f21e203 --- /dev/null +++ b/.ci_support/osx_arm64_numpy1.26python3.12.____cpython.yaml @@ -0,0 +1,39 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '16' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '16' +fmt: +- '10' +libblas: +- 3.9 *netlib +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +macos_machine: +- arm64-apple-darwin20.0.0 +numpy: +- '1.26' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - python + - numpy diff --git a/.ci_support/win_64_numpy1.26python3.12.____cpython.yaml b/.ci_support/win_64_numpy1.26python3.12.____cpython.yaml new file mode 100644 index 0000000..5f721ce --- /dev/null +++ b/.ci_support/win_64_numpy1.26python3.12.____cpython.yaml @@ -0,0 +1,29 @@ +c_compiler: +- vs2019 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +fmt: +- '10' +libblas: +- 3.9 *netlib +libboost_devel: +- '1.82' +liblapack: +- 3.9 *netlib +numpy: +- '1.26' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 064e539..eba1dfd 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -34,9 +34,9 @@ CONDARC export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 + pip mamba conda-build boa conda-forge-ci-setup=4 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 + pip mamba conda-build boa conda-forge-ci-setup=4 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -74,7 +74,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 46ab346..9259eb9 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,9 +26,9 @@ export CONDA_SOLVER="libmamba" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 + pip mamba conda-build boa conda-forge-ci-setup=4 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 + pip mamba conda-build boa conda-forge-ci-setup=4 @@ -81,7 +81,7 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 5b2b849..48734de 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -24,7 +24,7 @@ set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes +mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -42,7 +42,9 @@ if EXIST LICENSE.txt ( copy LICENSE.txt "recipe\\recipe-scripts-license.txt" ) if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + if [%CROSSCOMPILING_EMULATOR%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) ) if NOT [%flow_run_id%] == [] ( @@ -53,7 +55,7 @@ call :end_group :: Build the recipe echo Building recipe -conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! :: Prepare some environment variables for the upload step diff --git a/README.md b/README.md index 2850881..d0954b2 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ About cantera-feedstock ======================= -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/conda-forge-cantera-feedstock/blob/main/LICENSE.txt) +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cantera-feedstock/blob/main/LICENSE.txt) Home: https://cantera.org @@ -26,8 +26,8 @@ Current build status
- - + + @@ -35,169 +35,211 @@ Current build status + + + + + + + + + + + + + + + + + + diff --git a/recipe/1604.diff b/recipe/1604.diff new file mode 100644 index 0000000..7e02da5 --- /dev/null +++ b/recipe/1604.diff @@ -0,0 +1,49 @@ +diff --git a/interfaces/cython/setup.cfg.in b/interfaces/cython/setup.cfg.in +index 1a0358a77d..fd3c0b53c4 100644 +--- a/interfaces/cython/setup.cfg.in ++++ b/interfaces/cython/setup.cfg.in +@@ -27,6 +27,7 @@ classifiers = + Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 ++ Programming Language :: Python :: 3.12 + Programming Language :: Python :: Implementation :: CPython + Topic :: Scientific/Engineering :: Chemistry + Topic :: Scientific/Engineering :: Physics +diff --git a/interfaces/python_minimal/setup.cfg.in b/interfaces/python_minimal/setup.cfg.in +index 2d96c75eda..753b619ede 100644 +--- a/interfaces/python_minimal/setup.cfg.in ++++ b/interfaces/python_minimal/setup.cfg.in +@@ -23,6 +23,7 @@ classifiers = + Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 ++ Programming Language :: Python :: 3.12 + Topic :: Scientific/Engineering :: Chemistry + Topic :: Scientific/Engineering :: Physics + project_urls = +diff --git a/interfaces/python_sdist/setup.cfg.in b/interfaces/python_sdist/setup.cfg.in +index 219e53a3f0..e356b422b8 100644 +--- a/interfaces/python_sdist/setup.cfg.in ++++ b/interfaces/python_sdist/setup.cfg.in +@@ -27,6 +27,7 @@ classifiers = + Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 ++ Programming Language :: Python :: 3.12 + Programming Language :: Python :: Implementation :: CPython + Topic :: Scientific/Engineering :: Chemistry + Topic :: Scientific/Engineering :: Physics +diff --git a/src/base/application.h b/src/base/application.h +index 76a6c671a2..b03c049f14 100644 +--- a/src/base/application.h ++++ b/src/base/application.h +@@ -434,7 +434,7 @@ class Application + vector inputDirs; + + //! Versions of Python to consider when attempting to load user extensions +- vector m_pythonSearchVersions = {"3.11", "3.10", "3.9", "3.8"}; ++ vector m_pythonSearchVersions = {"3.12", "3.11", "3.10", "3.9", "3.8"}; + + //! Set of deprecation warnings that have been emitted (to suppress duplicates) + set warnings; diff --git a/recipe/build_py.sh b/recipe/build_py.sh index 76fba69..ac9357b 100644 --- a/recipe/build_py.sh +++ b/recipe/build_py.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +set -ex + echo "******************************" echo "PYTHON ${PY_VER} BUILD STARTED" echo "******************************" diff --git a/recipe/meta.yaml b/recipe/meta.yaml index cd0be3b..bf0560c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,9 +12,11 @@ source: - cross-compile.patch # [build_platform != target_platform] - iomp5-macos.patch # [osx and not arm64] - configure-hdf5.patch # [build_platform != target_platform] + - 1604.diff + - ver.diff build: - number: 3 + number: 4 include_recipe: True requirements: diff --git a/recipe/ver.diff b/recipe/ver.diff new file mode 100644 index 0000000..9886572 --- /dev/null +++ b/recipe/ver.diff @@ -0,0 +1,13 @@ +diff --git a/SConstruct b/SConstruct +index f7d77a273..8320f4224 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -1732,7 +1732,7 @@ env['python_cmd_esc'] = quoted(env['python_cmd']) + # Python Package Settings + python_min_version = parse_version("3.8") + # Newest Python version not supported/tested by Cantera +-python_max_p1_version = parse_version("3.12") ++python_max_p1_version = parse_version("3.13") + # The string is used to set python_requires in setup.cfg.in + env["py_requires_ver_str"] = f">={python_min_version}" + if env["python_sdist"] or env["package_build"]:
linux_64_numpy1.22python3.10.____cpython - - variant + + variant
linux_64_numpy1.22python3.8.____cpython - - variant + + variant
linux_64_numpy1.22python3.9.____cpython - - variant + + variant
linux_64_numpy1.23python3.11.____cpython - - variant + + variant + +
linux_64_numpy1.26python3.12.____cpython + + variant
linux_aarch64_numpy1.22python3.10.____cpython - - variant + + variant
linux_aarch64_numpy1.22python3.8.____cpython - - variant + + variant
linux_aarch64_numpy1.22python3.9.____cpython - - variant + + variant
linux_aarch64_numpy1.23python3.11.____cpython - - variant + + variant + +
linux_aarch64_numpy1.26python3.12.____cpython + + variant
linux_ppc64le_numpy1.22python3.10.____cpython - - variant + + variant
linux_ppc64le_numpy1.22python3.8.____cpython - - variant + + variant
linux_ppc64le_numpy1.22python3.9.____cpython - - variant + + variant
linux_ppc64le_numpy1.23python3.11.____cpython - - variant + + variant + +
linux_ppc64le_numpy1.26python3.12.____cpython + + variant
osx_64_numpy1.22python3.10.____cpython - - variant + + variant
osx_64_numpy1.22python3.8.____cpython - - variant + + variant
osx_64_numpy1.22python3.9.____cpython - - variant + + variant
osx_64_numpy1.23python3.11.____cpython - - variant + + variant + +
osx_64_numpy1.26python3.12.____cpython + + variant
osx_arm64_numpy1.22python3.10.____cpython - - variant + + variant
osx_arm64_numpy1.22python3.8.____cpython - - variant + + variant
osx_arm64_numpy1.22python3.9.____cpython - - variant + + variant
osx_arm64_numpy1.23python3.11.____cpython - - variant + + variant + +
osx_arm64_numpy1.26python3.12.____cpython + + variant
win_64_numpy1.22python3.10.____cpython - - variant + + variant
win_64_numpy1.22python3.8.____cpython - - variant + + variant
win_64_numpy1.22python3.9.____cpython - - variant + + variant
win_64_numpy1.23python3.11.____cpython - - variant + + variant + +
win_64_numpy1.26python3.12.____cpython + + variant