diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index 2230817..c3cc60a 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -25,6 +25,7 @@ jobs:
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
timeoutInMinutes: 360
+ variables: {}
steps:
# configure qemu binfmt-misc running. This allows us to run docker containers
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index 6d352af..d8f0cc5 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-12
strategy:
matrix:
osx_64_r_base4.2:
@@ -21,6 +21,7 @@ jobs:
CONFIG: osx_arm64_r_base4.3
UPLOAD_PACKAGES: 'True'
timeoutInMinutes: 360
+ variables: {}
steps:
# TODO: Fast finish on azure pipelines?
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_r_base4.2.yaml b/.ci_support/linux_64_r_base4.2.yaml
index 6e661e1..5b6e751 100644
--- a/.ci_support/linux_64_r_base4.2.yaml
+++ b/.ci_support/linux_64_r_base4.2.yaml
@@ -2,6 +2,10 @@ c_compiler:
- gcc
c_compiler_version:
- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.12'
cdt_name:
- cos6
channel_sources:
@@ -25,3 +29,5 @@ target_platform:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/linux_64_r_base4.3.yaml b/.ci_support/linux_64_r_base4.3.yaml
index a4d06c9..f15f769 100644
--- a/.ci_support/linux_64_r_base4.3.yaml
+++ b/.ci_support/linux_64_r_base4.3.yaml
@@ -2,6 +2,10 @@ c_compiler:
- gcc
c_compiler_version:
- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.12'
cdt_name:
- cos6
channel_sources:
@@ -25,3 +29,5 @@ target_platform:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/linux_aarch64_r_base4.2.yaml b/.ci_support/linux_aarch64_r_base4.2.yaml
index 9dcd0c3..7ed208e 100644
--- a/.ci_support/linux_aarch64_r_base4.2.yaml
+++ b/.ci_support/linux_aarch64_r_base4.2.yaml
@@ -4,6 +4,10 @@ c_compiler:
- gcc
c_compiler_version:
- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
cdt_arch:
- aarch64
cdt_name:
@@ -29,3 +33,5 @@ target_platform:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/linux_aarch64_r_base4.3.yaml b/.ci_support/linux_aarch64_r_base4.3.yaml
index 028b190..1fc9db2 100644
--- a/.ci_support/linux_aarch64_r_base4.3.yaml
+++ b/.ci_support/linux_aarch64_r_base4.3.yaml
@@ -4,6 +4,10 @@ c_compiler:
- gcc
c_compiler_version:
- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
cdt_arch:
- aarch64
cdt_name:
@@ -29,3 +33,5 @@ target_platform:
zip_keys:
- - c_compiler_version
- cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/osx_64_r_base4.2.yaml b/.ci_support/osx_64_r_base4.2.yaml
index 23d1d34..0c3dadb 100644
--- a/.ci_support/osx_64_r_base4.2.yaml
+++ b/.ci_support/osx_64_r_base4.2.yaml
@@ -1,9 +1,15 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
c_compiler:
- clang
c_compiler_version:
- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
diff --git a/.ci_support/osx_64_r_base4.3.yaml b/.ci_support/osx_64_r_base4.3.yaml
index 4e78d73..99a3fa9 100644
--- a/.ci_support/osx_64_r_base4.3.yaml
+++ b/.ci_support/osx_64_r_base4.3.yaml
@@ -1,9 +1,15 @@
MACOSX_DEPLOYMENT_TARGET:
-- '10.9'
+- '10.13'
+MACOSX_SDK_VERSION:
+- '10.13'
c_compiler:
- clang
c_compiler_version:
- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
channel_sources:
- conda-forge
channel_targets:
diff --git a/.ci_support/osx_arm64_r_base4.2.yaml b/.ci_support/osx_arm64_r_base4.2.yaml
index 61233ea..4fde57b 100644
--- a/.ci_support/osx_arm64_r_base4.2.yaml
+++ b/.ci_support/osx_arm64_r_base4.2.yaml
@@ -1,9 +1,15 @@
MACOSX_DEPLOYMENT_TARGET:
- '11.0'
+MACOSX_SDK_VERSION:
+- '11.0'
c_compiler:
- clang
c_compiler_version:
- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '11.0'
channel_sources:
- conda-forge
channel_targets:
diff --git a/.ci_support/osx_arm64_r_base4.3.yaml b/.ci_support/osx_arm64_r_base4.3.yaml
index fed2da9..5cd9341 100644
--- a/.ci_support/osx_arm64_r_base4.3.yaml
+++ b/.ci_support/osx_arm64_r_base4.3.yaml
@@ -1,9 +1,15 @@
MACOSX_DEPLOYMENT_TARGET:
- '11.0'
+MACOSX_SDK_VERSION:
+- '11.0'
c_compiler:
- clang
c_compiler_version:
- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '11.0'
channel_sources:
- conda-forge
channel_targets:
diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml
deleted file mode 100644
index 72a5bf3..0000000
--- a/.ci_support/win_64_.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-channel_sources:
-- conda-forge
-channel_targets:
-- conda-forge main
-pin_run_as_build:
- r-base:
- min_pin: x.x
- max_pin: x.x
-r_base:
-- '4.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/.gitignore b/.gitignore
index c89ecb7..179afe5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,24 @@
-*.pyc
+# User content belongs under recipe/.
+# Feedstock configuration goes in `conda-forge.yml`
+# Everything else is managed by the conda-smithy rerender process.
+# Please do not modify
+
+# Ignore all files and folders in root
+*
+!/conda-forge.yml
+
+# Don't ignore any files/folders if the parent folder is 'un-ignored'
+# This also avoids warnings when adding an already-checked file with an ignored parent.
+!/**/
+# Don't ignore any files/folders recursively in the following folders
+!/recipe/**
+!/.ci_support/**
-build_artifacts
+# Since we ignore files/folders recursively, any folders inside
+# build_artifacts gets ignored which trips some build systems.
+# To avoid that we 'un-ignore' all files/folders recursively
+# and only ignore the root build_artifacts folder.
+!/build_artifacts/**
+/build_artifacts
+
+*.pyc
diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh
index 064e539..899ba03 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 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
+ 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}"
@@ -57,12 +57,6 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then
cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt"
fi
-if [[ "${sha:-}" == "" ]]; then
- pushd ${FEEDSTOCK_ROOT}
- sha=$(git rev-parse HEAD)
- popd
-fi
-
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}"
@@ -74,7 +68,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-build "${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_docker_build.sh b/.scripts/run_docker_build.sh
index b70ef01..00f377a 100755
--- a/.scripts/run_docker_build.sh
+++ b/.scripts/run_docker_build.sh
@@ -21,6 +21,12 @@ if [ -z ${FEEDSTOCK_NAME} ]; then
export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT})
fi
+if [[ "${sha:-}" == "" ]]; then
+ pushd "${FEEDSTOCK_ROOT}"
+ sha=$(git rev-parse HEAD)
+ popd
+fi
+
docker info
# In order for the conda-build process in the container to write to the mounted
diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh
index 46ab346..07dff21 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 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
+ pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1"
@@ -81,7 +81,7 @@ else
EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test"
fi
- conda build ./recipe -m ./.ci_support/${CONFIG}.yaml \
+ conda-build ./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
deleted file mode 100755
index 5b2b849..0000000
--- a/.scripts/run_win_build.bat
+++ /dev/null
@@ -1,123 +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 -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 [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] (
- set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test"
-)
-
-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.exe build "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 c9367ea..e318f41 100644
--- a/README.md
+++ b/README.md
@@ -82,13 +82,6 @@ Current build status
-