diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index 94cc204..defd706 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -11,11 +11,11 @@ jobs:
linux_64_:
CONFIG: linux_64_
UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
linux_aarch64_:
CONFIG: linux_aarch64_
UPLOAD_PACKAGES: 'True'
- DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9
timeoutInMinutes: 360
variables: {}
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index ae4e0e7..215eeeb 100755
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -5,7 +5,7 @@
jobs:
- job: osx
pool:
- vmImage: macOS-11
+ vmImage: macOS-13
strategy:
matrix:
osx_64_:
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
deleted file mode 100755
index d609fcd..0000000
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-# This file was generated automatically from conda-smithy. To update this configuration,
-# update the conda-forge.yml and/or the recipe/meta.yaml.
-# -*- mode: yaml -*-
-
-jobs:
-- job: win
- pool:
- vmImage: windows-2022
- strategy:
- matrix:
- win_64_:
- CONFIG: win_64_
- UPLOAD_PACKAGES: 'True'
- timeoutInMinutes: 360
- variables:
- CONDA_BLD_PATH: D:\\bld\\
- UPLOAD_TEMP: D:\\tmp
-
- steps:
-
- - task: PythonScript@0
- displayName: 'Download Miniforge'
- inputs:
- scriptSource: inline
- script: |
- import urllib.request
- url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe'
- path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe"
- urllib.request.urlretrieve(url, path)
-
- - script: |
- start /wait "" %BUILD_ARTIFACTSTAGINGDIRECTORY%\Miniforge.exe /InstallationType=JustMe /RegisterPython=0 /S /D=C:\Miniforge
- displayName: Install Miniforge
-
- - powershell: Write-Host "##vso[task.prependpath]C:\Miniforge\Scripts"
- displayName: Add conda to PATH
-
- - script: |
- call ".scripts\run_win_build.bat"
- displayName: Run Windows build
- env:
- PYTHONUNBUFFERED: 1
- CONFIG: $(CONFIG)
- CI: azure
- flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt)
- remote_url: $(Build.Repository.Uri)
- sha: $(Build.SourceVersion)
- UPLOAD_PACKAGES: $(UPLOAD_PACKAGES)
- UPLOAD_TEMP: $(UPLOAD_TEMP)
- BINSTAR_TOKEN: $(BINSTAR_TOKEN)
- FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN)
- STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN)
\ No newline at end of file
diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml
index 80f8d9b..cad84a9 100644
--- a/.ci_support/linux_64_.yaml
+++ b/.ci_support/linux_64_.yaml
@@ -1,23 +1,20 @@
c_compiler:
- gcc
c_compiler_version:
-- '12'
+- '13'
c_stdlib:
- sysroot
c_stdlib_version:
-- '2.12'
+- '2.17'
cdt_name:
-- cos6
+- conda
channel_sources:
- conda-forge
channel_targets:
- conda-forge main
docker_image:
-- quay.io/condaforge/linux-anvil-cos7-x86_64
+- quay.io/condaforge/linux-anvil-x86_64:alma9
perl:
- 5.32.1
target_platform:
- linux-64
-zip_keys:
-- - c_stdlib_version
- - cdt_name
diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml
index b7b7d3c..432748f 100644
--- a/.ci_support/linux_aarch64_.yaml
+++ b/.ci_support/linux_aarch64_.yaml
@@ -1,27 +1,20 @@
-BUILD:
-- aarch64-conda_cos7-linux-gnu
c_compiler:
- gcc
c_compiler_version:
-- '12'
+- '13'
c_stdlib:
- sysroot
c_stdlib_version:
- '2.17'
-cdt_arch:
-- aarch64
cdt_name:
-- cos7
+- conda
channel_sources:
- conda-forge
channel_targets:
- conda-forge main
docker_image:
-- quay.io/condaforge/linux-anvil-cos7-x86_64
+- quay.io/condaforge/linux-anvil-x86_64:alma9
perl:
- 5.32.1
target_platform:
- linux-aarch64
-zip_keys:
-- - c_stdlib_version
- - cdt_name
diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml
index fa9bd3f..68540ac 100644
--- a/.ci_support/osx_64_.yaml
+++ b/.ci_support/osx_64_.yaml
@@ -1,17 +1,21 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
c_compiler:
- clang
c_compiler_version:
-- '16'
+- '18'
c_stdlib:
- macosx_deployment_target
c_stdlib_version:
-- '10.9'
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
- conda-forge main
+llvm_openmp:
+- '18'
macos_machine:
- x86_64-apple-darwin13.4.0
perl:
diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml
deleted file mode 100644
index 9ee12ce..0000000
--- a/.ci_support/win_64_.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-c_compiler:
-- vs2019
-c_stdlib:
-- vs
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-perl:
-- 5.32.1
-target_platform:
-- win-64
diff --git a/.gitattributes b/.gitattributes
index 7f32763..18f114a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -20,8 +20,8 @@ bld.bat text eol=crlf
.travis.yml linguist-generated=true
.scripts/* linguist-generated=true
.woodpecker.yml linguist-generated=true
-LICENSE.txt linguist-generated=true
-README.md linguist-generated=true
+/LICENSE.txt linguist-generated=true
+/README.md linguist-generated=true
azure-pipelines.yml linguist-generated=true
build-locally.py linguist-generated=true
shippable.yml linguist-generated=true
diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml
deleted file mode 100644
index 0535f6a..0000000
--- a/.github/workflows/automerge.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-on:
- status: {}
- check_suite:
- types:
- - completed
-
-jobs:
- automerge-action:
- runs-on: ubuntu-latest
- name: automerge
- steps:
- - name: automerge-action
- id: automerge-action
- uses: conda-forge/automerge-action@main
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }}
diff --git a/.github/workflows/webservices.yml b/.github/workflows/webservices.yml
deleted file mode 100644
index d6f06b5..0000000
--- a/.github/workflows/webservices.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-on: repository_dispatch
-
-jobs:
- webservices:
- runs-on: ubuntu-latest
- name: webservices
- steps:
- - name: webservices
- id: webservices
- uses: conda-forge/webservices-dispatch-action@main
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index 179afe5..47b5408 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,8 @@
/build_artifacts
*.pyc
+
+# Rattler-build's artifacts are in `output` when not specifying anything.
+/output
+# Pixi's configuration
+.pixi
diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh
index 2f3df6c..f8051ab 100755
--- a/.scripts/build_steps.sh
+++ b/.scripts/build_steps.sh
@@ -31,18 +31,20 @@ pkgs_dirs:
solver: libmamba
CONDARC
+mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d-%H-%M-%S)
+echo > /opt/conda/conda-meta/history
+micromamba install --root-prefix ~/.conda --prefix /opt/conda \
+ --yes --override-channels --channel conda-forge --strict-channel-priority \
+ pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
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 "conda-build>=24.1"
-mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \
- pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
-
# set up the condarc
setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
source run_conda_forge_build_setup
+
+
# make the build number clobber
make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
@@ -69,6 +71,12 @@ else
--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:-}"
+ ( startgroup "Inspecting artifacts" ) 2> /dev/null
+
+ # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4
+ command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir "${RECIPE_ROOT}" -m "${CONFIG_FILE}" || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4"
+
+ ( endgroup "Inspecting artifacts" ) 2> /dev/null
( startgroup "Validating outputs" ) 2> /dev/null
validate_recipe_outputs "${FEEDSTOCK_NAME}"
diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh
index 00f377a..6ee04aa 100755
--- a/.scripts/run_docker_build.sh
+++ b/.scripts/run_docker_build.sh
@@ -12,7 +12,7 @@ source .scripts/logging_utils.sh
set -xeo pipefail
THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )"
-PROVIDER_DIR="$(basename $THISDIR)"
+PROVIDER_DIR="$(basename "$THISDIR")"
FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )"
RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe"
diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh
index 165fa51..ee996f4 100755
--- a/.scripts/run_osx_build.sh
+++ b/.scripts/run_osx_build.sh
@@ -6,29 +6,41 @@ source .scripts/logging_utils.sh
set -xe
-MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3}
-
-( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null
-
-MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download"
-MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh"
-curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}"
-rm -rf ${MINIFORGE_HOME}
-bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME}
-
-( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null
+MINIFORGE_HOME="${MINIFORGE_HOME:-${HOME}/miniforge3}"
+MINIFORGE_HOME="${MINIFORGE_HOME%/}" # remove trailing slash
+export CONDA_BLD_PATH="${CONDA_BLD_PATH:-${MINIFORGE_HOME}/conda-bld}"
+
+( startgroup "Provisioning base env with micromamba" ) 2> /dev/null
+MICROMAMBA_VERSION="1.5.10-0"
+if [[ "$(uname -m)" == "arm64" ]]; then
+ osx_arch="osx-arm64"
+else
+ osx_arch="osx-64"
+fi
+MICROMAMBA_URL="https://github.com/mamba-org/micromamba-releases/releases/download/${MICROMAMBA_VERSION}/micromamba-${osx_arch}"
+MAMBA_ROOT_PREFIX="${MINIFORGE_HOME}-micromamba-$(date +%s)"
+echo "Downloading micromamba ${MICROMAMBA_VERSION}"
+micromamba_exe="$(mktemp -d)/micromamba"
+curl -L -o "${micromamba_exe}" "${MICROMAMBA_URL}"
+chmod +x "${micromamba_exe}"
+echo "Creating environment"
+"${micromamba_exe}" create --yes --root-prefix "${MAMBA_ROOT_PREFIX}" --prefix "${MINIFORGE_HOME}" \
+ --channel conda-forge \
+ pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
+echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}"
+mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}"
+echo "Cleaning up micromamba"
+rm -rf "${MAMBA_ROOT_PREFIX}" "${micromamba_exe}" || true
+( endgroup "Provisioning base env with micromamba" ) 2> /dev/null
( startgroup "Configuring conda" ) 2> /dev/null
-
-source ${MINIFORGE_HOME}/etc/profile.d/conda.sh
+echo "Activating environment"
+source "${MINIFORGE_HOME}/etc/profile.d/conda.sh"
conda activate base
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 "conda-build>=24.1"
-mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \
- pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
+
@@ -81,6 +93,13 @@ else
--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"
+
+ ( startgroup "Inspecting artifacts" ) 2> /dev/null
+
+ # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4
+ command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir ./recipe -m ./.ci_support/${CONFIG}.yaml || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4"
+
+ ( endgroup "Inspecting artifacts" ) 2> /dev/null
( startgroup "Validating outputs" ) 2> /dev/null
validate_recipe_outputs "${FEEDSTOCK_NAME}"
diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat
deleted file mode 100755
index 7491838..0000000
--- a/.scripts/run_win_build.bat
+++ /dev/null
@@ -1,120 +0,0 @@
-:: PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here
-:: will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent
-:: changes to this script, consider a proposal to conda-smithy so that other feedstocks can also
-:: benefit from the improvement.
-
-:: Note: we assume a Miniforge installation is available
-
-:: INPUTS (required environment variables)
-:: CONFIG: name of the .ci_support/*.yaml file for this job
-:: CI: azure, github_actions, or unset
-:: UPLOAD_PACKAGES: true or false
-:: UPLOAD_ON_BRANCH: true or false
-
-setlocal enableextensions enabledelayedexpansion
-
-call :start_group "Configuring conda"
-
-:: Activate the base conda environment
-call activate base
-:: Configure the solver
-set "CONDA_SOLVER=libmamba"
-if !errorlevel! neq 0 exit /b !errorlevel!
-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 "conda-build>=24.1" -c conda-forge --strict-channel-priority --yes
-if !errorlevel! neq 0 exit /b !errorlevel!
-
-:: Set basic configuration
-echo Setting up configuration
-setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml
-if !errorlevel! neq 0 exit /b !errorlevel!
-echo Running build setup
-CALL run_conda_forge_build_setup
-
-
-if !errorlevel! neq 0 exit /b !errorlevel!
-
-if EXIST LICENSE.txt (
- echo Copying feedstock license
- copy LICENSE.txt "recipe\\recipe-scripts-license.txt"
-)
-
-if NOT [%flow_run_id%] == [] (
- set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%"
-)
-
-call :end_group
-
-:: Build the recipe
-echo Building recipe
-conda-build.exe "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
-if /i "%CI%" == "github_actions" (
- set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%"
- set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%"
- if /i "%GITHUB_EVENT_NAME%" == "pull_request" (
- set "IS_PR_BUILD=True"
- ) else (
- set "IS_PR_BUILD=False"
- )
- set "TEMP=%RUNNER_TEMP%"
-)
-if /i "%CI%" == "azure" (
- set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%"
- set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%"
- if /i "%BUILD_REASON%" == "PullRequest" (
- set "IS_PR_BUILD=True"
- ) else (
- set "IS_PR_BUILD=False"
- )
- set "TEMP=%UPLOAD_TEMP%"
-)
-
-:: Validate
-call :start_group "Validating outputs"
-validate_recipe_outputs "%FEEDSTOCK_NAME%"
-if !errorlevel! neq 0 exit /b !errorlevel!
-call :end_group
-
-if /i "%UPLOAD_PACKAGES%" == "true" (
- if /i "%IS_PR_BUILD%" == "false" (
- call :start_group "Uploading packages"
- if not exist "%TEMP%\" md "%TEMP%"
- set "TMP=%TEMP%"
- upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml
- if !errorlevel! neq 0 exit /b !errorlevel!
- call :end_group
- )
-)
-
-exit
-
-:: Logging subroutines
-
-:start_group
-if /i "%CI%" == "github_actions" (
- echo ::group::%~1
- exit /b
-)
-if /i "%CI%" == "azure" (
- echo ##[group]%~1
- exit /b
-)
-echo %~1
-exit /b
-
-:end_group
-if /i "%CI%" == "github_actions" (
- echo ::endgroup::
- exit /b
-)
-if /i "%CI%" == "azure" (
- echo ##[endgroup]
- exit /b
-)
-exit /b
\ No newline at end of file
diff --git a/README.md b/README.md
index 10ac2b8..4e1de3b 100644
--- a/README.md
+++ b/README.md
@@ -47,13 +47,6 @@ Current build status
-