diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 5a6536c..2e0430f 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -12,44 +12,12 @@ jobs: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_python3.10.____cpython: - CONFIG: linux_aarch64_python3.10.____cpython + linux_aarch64_: + CONFIG: linux_aarch64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 - linux_aarch64_python3.7.____73_pypy: - CONFIG: linux_aarch64_python3.7.____73_pypy - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 - linux_aarch64_python3.7.____cpython: - CONFIG: linux_aarch64_python3.7.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 - linux_aarch64_python3.8.____cpython: - CONFIG: linux_aarch64_python3.8.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 - linux_aarch64_python3.9.____cpython: - CONFIG: linux_aarch64_python3.9.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 - linux_ppc64le_python3.10.____cpython: - CONFIG: linux_ppc64le_python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le - linux_ppc64le_python3.7.____73_pypy: - CONFIG: linux_ppc64le_python3.7.____73_pypy - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le - linux_ppc64le_python3.7.____cpython: - CONFIG: linux_ppc64le_python3.7.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le - linux_ppc64le_python3.8.____cpython: - CONFIG: linux_ppc64le_python3.8.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le - linux_ppc64le_python3.9.____cpython: - CONFIG: linux_ppc64le_python3.9.____cpython + linux_ppc64le_: + CONFIG: linux_ppc64le_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 38df985..84d4f42 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,29 +8,11 @@ jobs: vmImage: macOS-10.15 strategy: matrix: - osx_64_python3.10.____cpython: - CONFIG: osx_64_python3.10.____cpython + osx_64_: + CONFIG: osx_64_ UPLOAD_PACKAGES: 'True' - osx_64_python3.7.____73_pypy: - CONFIG: osx_64_python3.7.____73_pypy - UPLOAD_PACKAGES: 'True' - osx_64_python3.7.____cpython: - CONFIG: osx_64_python3.7.____cpython - UPLOAD_PACKAGES: 'True' - osx_64_python3.8.____cpython: - CONFIG: osx_64_python3.8.____cpython - UPLOAD_PACKAGES: 'True' - osx_64_python3.9.____cpython: - CONFIG: osx_64_python3.9.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_python3.10.____cpython: - CONFIG: osx_arm64_python3.10.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_python3.8.____cpython: - CONFIG: osx_arm64_python3.8.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_python3.9.____cpython: - CONFIG: osx_arm64_python3.9.____cpython + osx_arm64_: + CONFIG: osx_arm64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 677f484..88fd9c1 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,20 +8,8 @@ jobs: vmImage: windows-2019 strategy: matrix: - win_64_python3.10.____cpython: - CONFIG: win_64_python3.10.____cpython - UPLOAD_PACKAGES: 'True' - win_64_python3.7.____73_pypy: - CONFIG: win_64_python3.7.____73_pypy - UPLOAD_PACKAGES: 'True' - win_64_python3.7.____cpython: - CONFIG: win_64_python3.7.____cpython - UPLOAD_PACKAGES: 'True' - win_64_python3.8.____cpython: - CONFIG: win_64_python3.8.____cpython - UPLOAD_PACKAGES: 'True' - win_64_python3.9.____cpython: - CONFIG: win_64_python3.9.____cpython + win_64_: + CONFIG: win_64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: @@ -61,10 +49,9 @@ jobs: condition: contains(variables['CONFIG'], 'vs2008') displayName: Patch vs2008 (if needed) - - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.9 conda-build conda "conda-forge-ci-setup=3" pip boa' # Optional + packageSpecs: 'python=3.9 conda-build conda pip boa conda-forge-ci-setup=3' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment diff --git a/.ci_support/README b/.ci_support/README index e4e2dce..a47316b 100644 --- a/.ci_support/README +++ b/.ci_support/README @@ -1 +1,6 @@ -This file is automatically generated by conda-smithy. To change any matrix elements, you should change conda-smithy's input conda_build_config.yaml and re-render the recipe, rather than editing these files directly. \ No newline at end of file +This file is automatically generated by conda-smithy. If any +particular build configuration is expected, but it is not found, +please make sure all dependencies are satisfiable. To add/modify any +matrix elements, you should create/change conda-smithy's input +recipe/conda_build_config.yaml and re-render the recipe, rather than +editing these files directly. diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index f649817..49840f8 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: diff --git a/.ci_support/linux_aarch64_python3.10.____cpython.yaml b/.ci_support/linux_aarch64_.yaml similarity index 82% rename from .ci_support/linux_aarch64_python3.10.____cpython.yaml rename to .ci_support/linux_aarch64_.yaml index 1838341..0257022 100644 --- a/.ci_support/linux_aarch64_python3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-aarch64 pin_run_as_build: @@ -20,5 +20,9 @@ pin_run_as_build: max_pin: x.x python: - 3.10.* *_cpython +- 3.7.* *_73_pypy +- 3.7.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython target_platform: - linux-aarch64 diff --git a/.ci_support/linux_aarch64_python3.7.____73_pypy.yaml b/.ci_support/linux_aarch64_python3.7.____73_pypy.yaml deleted file mode 100644 index 8d8022b..0000000 --- a/.ci_support/linux_aarch64_python3.7.____73_pypy.yaml +++ /dev/null @@ -1,24 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-aarch64 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_73_pypy -target_platform: -- linux-aarch64 diff --git a/.ci_support/linux_aarch64_python3.7.____cpython.yaml b/.ci_support/linux_aarch64_python3.7.____cpython.yaml deleted file mode 100644 index dc1ddd8..0000000 --- a/.ci_support/linux_aarch64_python3.7.____cpython.yaml +++ /dev/null @@ -1,24 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-aarch64 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_cpython -target_platform: -- linux-aarch64 diff --git a/.ci_support/linux_aarch64_python3.8.____cpython.yaml b/.ci_support/linux_aarch64_python3.8.____cpython.yaml deleted file mode 100644 index dfaa35f..0000000 --- a/.ci_support/linux_aarch64_python3.8.____cpython.yaml +++ /dev/null @@ -1,24 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-aarch64 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.8.* *_cpython -target_platform: -- linux-aarch64 diff --git a/.ci_support/linux_aarch64_python3.9.____cpython.yaml b/.ci_support/linux_aarch64_python3.9.____cpython.yaml deleted file mode 100644 index 5cb0b2c..0000000 --- a/.ci_support/linux_aarch64_python3.9.____cpython.yaml +++ /dev/null @@ -1,24 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-aarch64 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -target_platform: -- linux-aarch64 diff --git a/.ci_support/linux_ppc64le_python3.10.____cpython.yaml b/.ci_support/linux_ppc64le_.yaml similarity index 79% rename from .ci_support/linux_ppc64le_python3.10.____cpython.yaml rename to .ci_support/linux_ppc64le_.yaml index 0016185..c2ca97b 100644 --- a/.ci_support/linux_ppc64le_python3.10.____cpython.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-ppc64le pin_run_as_build: @@ -16,5 +16,9 @@ pin_run_as_build: max_pin: x.x python: - 3.10.* *_cpython +- 3.7.* *_73_pypy +- 3.7.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython target_platform: - linux-ppc64le diff --git a/.ci_support/linux_ppc64le_python3.7.____73_pypy.yaml b/.ci_support/linux_ppc64le_python3.7.____73_pypy.yaml deleted file mode 100644 index fb79ebe..0000000 --- a/.ci_support/linux_ppc64le_python3.7.____73_pypy.yaml +++ /dev/null @@ -1,20 +0,0 @@ -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-ppc64le -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_73_pypy -target_platform: -- linux-ppc64le diff --git a/.ci_support/linux_ppc64le_python3.7.____cpython.yaml b/.ci_support/linux_ppc64le_python3.7.____cpython.yaml deleted file mode 100644 index 47a8103..0000000 --- a/.ci_support/linux_ppc64le_python3.7.____cpython.yaml +++ /dev/null @@ -1,20 +0,0 @@ -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-ppc64le -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_cpython -target_platform: -- linux-ppc64le diff --git a/.ci_support/linux_ppc64le_python3.8.____cpython.yaml b/.ci_support/linux_ppc64le_python3.8.____cpython.yaml deleted file mode 100644 index 8f79de6..0000000 --- a/.ci_support/linux_ppc64le_python3.8.____cpython.yaml +++ /dev/null @@ -1,20 +0,0 @@ -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-ppc64le -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.8.* *_cpython -target_platform: -- linux-ppc64le diff --git a/.ci_support/linux_ppc64le_python3.9.____cpython.yaml b/.ci_support/linux_ppc64le_python3.9.____cpython.yaml deleted file mode 100644 index d9dd43f..0000000 --- a/.ci_support/linux_ppc64le_python3.9.____cpython.yaml +++ /dev/null @@ -1,20 +0,0 @@ -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-ppc64le -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -target_platform: -- linux-ppc64le diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_.yaml similarity index 79% rename from .ci_support/osx_64_python3.10.____cpython.yaml rename to .ci_support/osx_64_.yaml index f96ff83..b961ed6 100644 --- a/.ci_support/osx_64_python3.10.____cpython.yaml +++ b/.ci_support/osx_64_.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '12' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: @@ -16,5 +16,9 @@ pin_run_as_build: max_pin: x.x python: - 3.10.* *_cpython +- 3.7.* *_73_pypy +- 3.7.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython target_platform: - osx-64 diff --git a/.ci_support/osx_64_python3.7.____73_pypy.yaml b/.ci_support/osx_64_python3.7.____73_pypy.yaml deleted file mode 100644 index 6e01dcb..0000000 --- a/.ci_support/osx_64_python3.7.____73_pypy.yaml +++ /dev/null @@ -1,20 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -macos_machine: -- x86_64-apple-darwin13.4.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_73_pypy -target_platform: -- osx-64 diff --git a/.ci_support/osx_64_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml deleted file mode 100644 index 7a5221d..0000000 --- a/.ci_support/osx_64_python3.7.____cpython.yaml +++ /dev/null @@ -1,20 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -macos_machine: -- x86_64-apple-darwin13.4.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_cpython -target_platform: -- osx-64 diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml deleted file mode 100644 index 45fc72b..0000000 --- a/.ci_support/osx_64_python3.8.____cpython.yaml +++ /dev/null @@ -1,20 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -macos_machine: -- x86_64-apple-darwin13.4.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.8.* *_cpython -target_platform: -- osx-64 diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml deleted file mode 100644 index fbbd469..0000000 --- a/.ci_support/osx_64_python3.9.____cpython.yaml +++ /dev/null @@ -1,20 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -macos_machine: -- x86_64-apple-darwin13.4.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -target_platform: -- osx-64 diff --git a/.ci_support/osx_arm64_python3.10.____cpython.yaml b/.ci_support/osx_arm64_.yaml similarity index 87% rename from .ci_support/osx_arm64_python3.10.____cpython.yaml rename to .ci_support/osx_arm64_.yaml index 3ac84cd..f570d2b 100644 --- a/.ci_support/osx_arm64_python3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '12' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: @@ -16,5 +16,7 @@ pin_run_as_build: max_pin: x.x python: - 3.10.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython target_platform: - osx-arm64 diff --git a/.ci_support/osx_arm64_python3.8.____cpython.yaml b/.ci_support/osx_arm64_python3.8.____cpython.yaml deleted file mode 100644 index 986f0c5..0000000 --- a/.ci_support/osx_arm64_python3.8.____cpython.yaml +++ /dev/null @@ -1,20 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -macos_machine: -- arm64-apple-darwin20.0.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.8.* *_cpython -target_platform: -- osx-arm64 diff --git a/.ci_support/osx_arm64_python3.9.____cpython.yaml b/.ci_support/osx_arm64_python3.9.____cpython.yaml deleted file mode 100644 index 45269d1..0000000 --- a/.ci_support/osx_arm64_python3.9.____cpython.yaml +++ /dev/null @@ -1,20 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -macos_machine: -- arm64-apple-darwin20.0.0 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -target_platform: -- osx-arm64 diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_.yaml similarity index 74% rename from .ci_support/win_64_python3.10.____cpython.yaml rename to .ci_support/win_64_.yaml index b81db20..fbf9483 100644 --- a/.ci_support/win_64_python3.10.____cpython.yaml +++ b/.ci_support/win_64_.yaml @@ -10,5 +10,9 @@ pin_run_as_build: max_pin: x.x python: - 3.10.* *_cpython +- 3.7.* *_73_pypy +- 3.7.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython target_platform: - win-64 diff --git a/.ci_support/win_64_python3.7.____73_pypy.yaml b/.ci_support/win_64_python3.7.____73_pypy.yaml deleted file mode 100644 index c62fac3..0000000 --- a/.ci_support/win_64_python3.7.____73_pypy.yaml +++ /dev/null @@ -1,14 +0,0 @@ -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- vs2017 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_73_pypy -target_platform: -- win-64 diff --git a/.ci_support/win_64_python3.7.____cpython.yaml b/.ci_support/win_64_python3.7.____cpython.yaml deleted file mode 100644 index 00eca7c..0000000 --- a/.ci_support/win_64_python3.7.____cpython.yaml +++ /dev/null @@ -1,14 +0,0 @@ -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- vs2017 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.7.* *_cpython -target_platform: -- win-64 diff --git a/.ci_support/win_64_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml deleted file mode 100644 index fa2ad89..0000000 --- a/.ci_support/win_64_python3.8.____cpython.yaml +++ /dev/null @@ -1,14 +0,0 @@ -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- vs2017 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.8.* *_cpython -target_platform: -- win-64 diff --git a/.ci_support/win_64_python3.9.____cpython.yaml b/.ci_support/win_64_python3.9.____cpython.yaml deleted file mode 100644 index 61894cb..0000000 --- a/.ci_support/win_64_python3.9.____cpython.yaml +++ /dev/null @@ -1,14 +0,0 @@ -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- vs2017 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -target_platform: -- win-64 diff --git a/.gitattributes b/.gitattributes index ce52713..7f32763 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,6 +9,7 @@ bld.bat text eol=crlf # github helper pieces to make some files not show up in diffs automatically .azure-pipelines/* linguist-generated=true .circleci/* linguist-generated=true +.ci_support/README linguist-generated=true .drone/* linguist-generated=true .drone.yml linguist-generated=true .github/* linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index b3d5b81..c6b23e8 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -29,8 +29,10 @@ conda-build: CONDARC -mamba install --update-specs --yes --quiet "conda-forge-ci-setup=3" conda-build pip boa -c conda-forge -mamba update --update-specs --yes --quiet "conda-forge-ci-setup=3" conda-build pip boa -c conda-forge +mamba install --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 0c6515f..9236239 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -14,7 +14,7 @@ set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" PROVIDER_DIR="$(basename $THISDIR)" -FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" if [ -z ${FEEDSTOCK_NAME} ]; then diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 6774b01..3d85505 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,9 +23,11 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base -echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -mamba install -n base --update-specs --quiet --yes "conda-forge-ci-setup=3" conda-build pip boa -mamba update -n base --update-specs --quiet --yes "conda-forge-ci-setup=3" conda-build pip boa +echo -e "\n\nInstalling ['conda-forge-ci-setup=3'] and conda-build." +mamba install --update-specs --quiet --yes --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 @@ -51,7 +53,6 @@ source run_conda_forge_build_setup ( endgroup "Configuring conda" ) 2> /dev/null - echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml @@ -59,17 +60,32 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi -conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} -( startgroup "Validating outputs" ) 2> /dev/null -validate_recipe_outputs "${FEEDSTOCK_NAME}" +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml -( endgroup "Validating outputs" ) 2> /dev/null + # Drop into an interactive shell + /bin/bash +else + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + ( startgroup "Validating outputs" ) 2> /dev/null -( startgroup "Uploading packages" ) 2> /dev/null + validate_recipe_outputs "${FEEDSTOCK_NAME}" -if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml -fi + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml + fi -( endgroup "Uploading packages" ) 2> /dev/null \ No newline at end of file + ( endgroup "Uploading packages" ) 2> /dev/null +fi \ No newline at end of file diff --git a/README.md b/README.md index 877b483..8b5bdb0 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Home: https://github.com/pybind/pybind11/ Package license: BSD-3-Clause -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/pybind11-feedstock/blob/master/LICENSE.txt) +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/pybind11-feedstock/blob/main/LICENSE.txt) Summary: Seamless operability between C++11 and Python @@ -22,8 +22,8 @@ Current build status
- - + + @@ -31,169 +31,43 @@ Current build status - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build-locally.py b/build-locally.py index 8b74348..eec38a0 100755 --- a/build-locally.py +++ b/build-locally.py @@ -22,10 +22,6 @@ def setup_environment(ns): os.environ["MINIFORGE_HOME"] = os.path.join( os.path.dirname(__file__), "miniforge3" ) - if "OSX_SDK_DIR" not in os.environ: - os.environ["OSX_SDK_DIR"] = os.path.join( - os.path.dirname(__file__), "SDKs" - ) def run_docker_build(ns): @@ -65,11 +61,12 @@ def verify_config(ns): raise ValueError( f"only Linux/macOS configs currently supported, got {ns.config}" ) - elif ns.config.startswith("osx") and platform.system() == "Darwin": + elif ns.config.startswith("osx"): if "OSX_SDK_DIR" not in os.environ: raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=/opt'" - "to download the SDK automatically to '/opt/MacOSX.sdk'" + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " + "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) diff --git a/recipe/activate-pybind11-abi.sh b/recipe/activate-pybind11-abi.sh new file mode 100644 index 0000000..82e09e7 --- /dev/null +++ b/recipe/activate-pybind11-abi.sh @@ -0,0 +1,28 @@ + +function backup_and_append() { + local way=$1 + local envvar=$2 + + if [ "${way}" = "activate" ]; then + eval oldval="\$${envvar}" + + eval "export PYBIND11_ABI_BACKUP_${envvar}=\"${oldval}\"" + if [ -z "${oldval}" ]; then + eval "export ${envvar}=\"-DPYBIND11_COMPILER_TYPE= -DPYBIND11_BUILD_ABI=\"" + else + eval "export ${envvar}=\"${oldval} -DPYBIND11_COMPILER_TYPE= -DPYBIND11_BUILD_ABI=\"" + fi + else + eval backval="\$PYBIND11_ABI_BACKUP_${envvar}" + + if [ -z "${backval}" ]; then + eval "unset ${envvar}" + else + eval "export ${envvar}=\"${backval}\"" + fi + eval "unset PYBIND11_ABI_BACKUP_${envvar}" + fi +} + +backup_and_append activate "CXXFLAGS" +backup_and_append activate "DEBUG_CXXFLAGS" diff --git a/recipe/build-pybind11-abi.sh b/recipe/build-pybind11-abi.sh new file mode 100644 index 0000000..1c6bc8e --- /dev/null +++ b/recipe/build-pybind11-abi.sh @@ -0,0 +1,5 @@ +# copy the conda ones +for CHANGE in "activate" "deactivate"; do + mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d" + cp "${RECIPE_DIR}/${CHANGE}-pybind11-abi.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh" +done diff --git a/recipe/deactivate-pybind11-abi.sh b/recipe/deactivate-pybind11-abi.sh new file mode 100644 index 0000000..507c838 --- /dev/null +++ b/recipe/deactivate-pybind11-abi.sh @@ -0,0 +1,28 @@ + +function backup_and_append() { + local way=$1 + local envvar=$2 + + if [ "${way}" = "activate" ]; then + eval oldval="\$${envvar}" + + eval "export PYBIND11_ABI_BACKUP_${envvar}=\"${oldval}\"" + if [ -z "${oldval}" ]; then + eval "export ${envvar}=\"-DPYBIND11_COMPILER_TYPE= -DPYBIND11_BUILD_ABI=\"" + else + eval "export ${envvar}=\"${oldval} -DPYBIND11_COMPILER_TYPE= -DPYBIND11_BUILD_ABI=\"" + fi + else + eval backval="\$PYBIND11_ABI_BACKUP_${envvar}" + + if [ -z "${backval}" ]; then + eval "unset ${envvar}" + else + eval "export ${envvar}=\"${backval}\"" + fi + eval "unset PYBIND11_ABI_BACKUP_${envvar}" + fi +} + +backup_and_append deactivate "CXXFLAGS" +backup_and_append deactivate "DEBUG_CXXFLAGS" diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f36677f..67144e7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -4,6 +4,10 @@ # this is set to PYBIND11_INTERNALS_VERSION {% set abi_version = "4" %} +# this one reflects how we set the various flags in conda-forge that controls +# how tightly the pybind11 ABI is fixed +{% set conda_forge_abi_epoch = "1" %} + package: name: pybind11-split version: {{ version }} @@ -18,18 +22,20 @@ build: outputs: - name: pybind11-abi - version: {{ abi_version }} + script: build-pybind11-abi.sh # [unix] + version: {{ conda_forge_abi_epoch }}!{{ abi_version }} build: - noarch: generic - skip: true # [not linux64] run_exports: - - pybind11-abi =={{ abi_version }} - test: - source_files: - - include/pybind11/detail/internals.h - commands: + - pybind11-abi =={{ conda_forge_abi_epoch }}!{{ abi_version }} + test: # [unix] + source_files: # [unix] + - include/pybind11/detail/internals.h # [unix] + commands: # [unix] # make sure the internals version matches the package version - - if [ $(grep "#define PYBIND11_INTERNALS_VERSION" include/pybind11/detail/internals.h | cut -d' ' -f3) != "{{ abi_version }}" ]; then exit 1; fi + - if [ "$(grep -o 'define PYBIND11_INTERNALS_VERSION 4' include/pybind11/detail/internals.h | cut -d' ' -f3)" != "{{ abi_version }}" ]; then exit 1; fi # [unix] + - test -f ${PREFIX}/etc/conda/activate.d/pybind11-abi_activate.sh # [unix] + - test -f ${PREFIX}/etc/conda/deactivate.d/pybind11-abi_deactivate.sh # [unix] + - echo ${CXXFLAGS} | grep -e "-DPYBIND11_COMPILER_TYPE= -DPYBIND11_BUILD_ABI=" # [unix] - name: pybind11-global script: build-pybind11-global.sh # [unix]
linux_64 - - variant + + variant
linux_aarch64_python3.10.____cpythonlinux_aarch64 - - variant + + variant
linux_aarch64_python3.7.____73_pypylinux_ppc64le - - variant + + variant
linux_aarch64_python3.7.____cpythonosx_64 - - variant + + variant
linux_aarch64_python3.8.____cpythonosx_arm64 - - variant + + variant
linux_aarch64_python3.9.____cpythonwin_64 - - variant - -
linux_ppc64le_python3.10.____cpython - - variant - -
linux_ppc64le_python3.7.____73_pypy - - variant - -
linux_ppc64le_python3.7.____cpython - - variant - -
linux_ppc64le_python3.8.____cpython - - variant - -
linux_ppc64le_python3.9.____cpython - - variant - -
osx_64_python3.10.____cpython - - variant - -
osx_64_python3.7.____73_pypy - - variant - -
osx_64_python3.7.____cpython - - variant - -
osx_64_python3.8.____cpython - - variant - -
osx_64_python3.9.____cpython - - variant - -
osx_arm64_python3.10.____cpython - - variant - -
osx_arm64_python3.8.____cpython - - variant - -
osx_arm64_python3.9.____cpython - - variant - -
win_64_python3.10.____cpython - - variant - -
win_64_python3.7.____73_pypy - - variant - -
win_64_python3.7.____cpython - - variant - -
win_64_python3.8.____cpython - - variant - -
win_64_python3.9.____cpython - - variant + + variant