diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
new file mode 100755
index 0000000..7c4c40e
--- /dev/null
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -0,0 +1,39 @@
+# 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: osx
+ pool:
+ vmImage: macOS-10.15
+ strategy:
+ matrix:
+ 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'
+ timeoutInMinutes: 360
+
+ steps:
+ # TODO: Fast finish on azure pipelines?
+ - script: |
+ export CI=azure
+ export OSX_FORCE_SDK_DOWNLOAD="1"
+ export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
+ export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then
+ export IS_PR_BUILD="True"
+ else
+ export IS_PR_BUILD="False"
+ fi
+ ./.scripts/run_osx_build.sh
+ displayName: Run OSX build
+ env:
+ 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/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_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml
index b064973..712d90d 100644
--- a/.ci_support/linux_64_python3.7.____cpython.yaml
+++ b/.ci_support/linux_64_python3.7.____cpython.yaml
@@ -1,9 +1,9 @@
abseil_cpp:
-- '20210324.2'
+- '20211102.0'
c_compiler:
- gcc
c_compiler_version:
-- '9'
+- '10'
cdt_name:
- cos6
channel_sources:
@@ -21,7 +21,7 @@ coin_or_utils:
cxx_compiler:
- gxx
cxx_compiler_version:
-- '9'
+- '10'
docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
libprotobuf:
diff --git a/.ci_support/linux_64_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml
index 75d906a..f9f64e5 100644
--- a/.ci_support/linux_64_python3.8.____cpython.yaml
+++ b/.ci_support/linux_64_python3.8.____cpython.yaml
@@ -1,9 +1,9 @@
abseil_cpp:
-- '20210324.2'
+- '20211102.0'
c_compiler:
- gcc
c_compiler_version:
-- '9'
+- '10'
cdt_name:
- cos6
channel_sources:
@@ -21,7 +21,7 @@ coin_or_utils:
cxx_compiler:
- gxx
cxx_compiler_version:
-- '9'
+- '10'
docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
libprotobuf:
diff --git a/.ci_support/linux_64_python3.9.____cpython.yaml b/.ci_support/linux_64_python3.9.____cpython.yaml
index f8c8bd2..dd478a4 100644
--- a/.ci_support/linux_64_python3.9.____cpython.yaml
+++ b/.ci_support/linux_64_python3.9.____cpython.yaml
@@ -1,9 +1,9 @@
abseil_cpp:
-- '20210324.2'
+- '20211102.0'
c_compiler:
- gcc
c_compiler_version:
-- '9'
+- '10'
cdt_name:
- cos6
channel_sources:
@@ -21,7 +21,7 @@ coin_or_utils:
cxx_compiler:
- gxx
cxx_compiler_version:
-- '9'
+- '10'
docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
libprotobuf:
diff --git a/.ci_support/migrations/abseil_cpp20211102.yaml b/.ci_support/migrations/abseil_cpp20211102.yaml
new file mode 100644
index 0000000..d678b94
--- /dev/null
+++ b/.ci_support/migrations/abseil_cpp20211102.yaml
@@ -0,0 +1,8 @@
+migrator_ts: 1644918847
+__migrator:
+ kind: version
+ migration_number: 1
+ bump_number: 1
+
+abseil_cpp:
+ - '20211102.0'
diff --git a/.ci_support/osx_64_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml
new file mode 100644
index 0000000..0eec1bb
--- /dev/null
+++ b/.ci_support/osx_64_python3.7.____cpython.yaml
@@ -0,0 +1,45 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.15'
+MACOSX_SDK_VERSION:
+- '10.15'
+abseil_cpp:
+- '20211102.0'
+c_compiler:
+- clang
+c_compiler_version:
+- '12'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+coin_or_cbc:
+- '2.10'
+coin_or_cgl:
+- '0.60'
+coin_or_osi:
+- '0.108'
+coin_or_utils:
+- '2.11'
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '12'
+libprotobuf:
+- '3.19'
+macos_machine:
+- x86_64-apple-darwin13.4.0
+numpy:
+- '1.18'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.7.* *_cpython
+target_platform:
+- osx-64
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - python
+ - numpy
diff --git a/.ci_support/osx_64_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml
new file mode 100644
index 0000000..d90fc44
--- /dev/null
+++ b/.ci_support/osx_64_python3.8.____cpython.yaml
@@ -0,0 +1,45 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.15'
+MACOSX_SDK_VERSION:
+- '10.15'
+abseil_cpp:
+- '20211102.0'
+c_compiler:
+- clang
+c_compiler_version:
+- '12'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+coin_or_cbc:
+- '2.10'
+coin_or_cgl:
+- '0.60'
+coin_or_osi:
+- '0.108'
+coin_or_utils:
+- '2.11'
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '12'
+libprotobuf:
+- '3.19'
+macos_machine:
+- x86_64-apple-darwin13.4.0
+numpy:
+- '1.18'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.8.* *_cpython
+target_platform:
+- osx-64
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - python
+ - numpy
diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml
new file mode 100644
index 0000000..434295f
--- /dev/null
+++ b/.ci_support/osx_64_python3.9.____cpython.yaml
@@ -0,0 +1,45 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.15'
+MACOSX_SDK_VERSION:
+- '10.15'
+abseil_cpp:
+- '20211102.0'
+c_compiler:
+- clang
+c_compiler_version:
+- '12'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+coin_or_cbc:
+- '2.10'
+coin_or_cgl:
+- '0.60'
+coin_or_osi:
+- '0.108'
+coin_or_utils:
+- '2.11'
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '12'
+libprotobuf:
+- '3.19'
+macos_machine:
+- x86_64-apple-darwin13.4.0
+numpy:
+- '1.19'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.9.* *_cpython
+target_platform:
+- osx-64
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - python
+ - numpy
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 ff01283..d71d6ae 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
new file mode 100755
index 0000000..19843e0
--- /dev/null
+++ b/.scripts/run_osx_build.sh
@@ -0,0 +1,87 @@
+#!/usr/bin/env bash
+
+# -*- mode: jinja-shell -*-
+
+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
+
+( startgroup "Configuring conda" ) 2> /dev/null
+
+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 --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
+
+
+
+echo -e "\n\nSetting up the condarc and mangling the compiler."
+setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml
+
+if [[ "${CI:-}" != "" ]]; then
+ mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml
+fi
+
+if [[ "${CI:-}" != "" ]]; then
+ echo -e "\n\nMangling homebrew in the CI to avoid conflicts."
+ /usr/bin/sudo mangle_homebrew
+ /usr/bin/sudo -k
+else
+ echo -e "\n\nNot mangling homebrew as we are not running in CI"
+fi
+
+echo -e "\n\nRunning the build setup script."
+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
+
+
+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
+
+ # 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
+
+ validate_recipe_outputs "${FEEDSTOCK_NAME}"
+
+ ( 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
+fi
\ No newline at end of file
diff --git a/LICENSE.txt b/LICENSE.txt
index ed3f451..6ec1401 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,5 +1,5 @@
BSD 3-clause license
-Copyright (c) 2015-2021, conda-forge contributors
+Copyright (c) 2015-2022, conda-forge contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
diff --git a/README.md b/README.md
index e375d62..31ad9a5 100644
--- a/README.md
+++ b/README.md
@@ -59,6 +59,27 @@ Current build status
+