From 277c11f582ed7c82a2063afcd68cd75492fb7be6 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Mon, 29 Mar 2021 19:27:13 +0000 Subject: [PATCH 001/100] updated v20210324.0 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d3e1e22..6f0e914 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "abseil-cpp" %} -{% set version = "20200923.3" %} +{% set version = "20210324.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/abseil/{{ name }}/archive/{{ version }}.tar.gz - sha256: ebe2ad1480d27383e4bf4211e2ca2ef312d5e6a09eba869fd2e8a5c5d553ded2 + sha256: dd7db6815204c2a62a2160e32c55e97113b0a0178b2f090d6bab5ce36111db4b patches: #- linux-librt.patch # [linux] - clang4_osx_fix.diff # [osx] From ab8c66ca0a5329bdd58f440099da39ac763a5340 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Mon, 29 Mar 2021 19:27:21 +0000 Subject: [PATCH 002/100] MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.9.0, and conda-forge-pinning 2021.03.29.15.45.30 --- .ci_support/osx_arm64_.yaml | 2 +- .scripts/build_steps.sh | 24 ++++++++++++++++++++---- .scripts/logging_utils.sh | 30 ++++++++++++++++++++++++++++++ .scripts/run_docker_build.sh | 6 ++++++ .scripts/run_osx_build.sh | 34 ++++++++++++++++------------------ LICENSE.txt | 2 +- README.md | 4 ++-- 7 files changed, 76 insertions(+), 26 deletions(-) create mode 100644 .scripts/logging_utils.sh diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 8483dc6..297af8f 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge +- conda-forge/label/rust_dev,conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 8a4b0d3..7fbce05 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -6,8 +6,14 @@ # benefit from the improvement. set -xeuo pipefail -export PYTHONUNBUFFERED=1 export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" +source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh + + +endgroup "Start Docker" + +startgroup "Configuring conda" +export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" @@ -18,8 +24,9 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC +BUILD_CMD=build -conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip -c conda-forge +conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -29,28 +36,37 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then +if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi +endgroup "Configuring conda" if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + startgroup "Running conda debug" if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" fi conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + endgroup "Running conda debug" # Drop into an interactive shell /bin/bash else - conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + startgroup "Running conda $BUILD_CMD" + conda $BUILD_CMD "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + endgroup "Running conda build" + startgroup "Validating outputs" validate_recipe_outputs "${FEEDSTOCK_NAME}" + endgroup "Validating outputs" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + startgroup "Uploading packages" upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + endgroup "Uploading packages" fi fi diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh new file mode 100644 index 0000000..a53ef3f --- /dev/null +++ b/.scripts/logging_utils.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Provide a unified interface for the different logging +# utilities CI providers offer. If unavailable, provide +# a compatible fallback (e.g. bare `echo xxxxxx`). + +function startgroup { + # Start a foldable group of log lines + # Pass a single argument, quoted + case ${CI:-} in + azure ) + echo "##[group]$1";; + travis ) + echo "$1" + echo -en 'travis_fold:start:'"${1// /}"'\\r';; + * ) + echo "$1";; + esac +} + +function endgroup { + # End a foldable group of log lines + # Pass a single argument, quoted + case ${CI:-} in + azure ) + echo "##[endgroup]";; + travis ) + echo -en 'travis_fold:end:'"${1// /}"'\\r';; + esac +} diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 36dacd6..16d6c15 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -5,6 +5,10 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +source .scripts/logging_utils.sh + +startgroup "Configure Docker" + set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" @@ -65,7 +69,9 @@ DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi +endgroup "Configure Docker" +startgroup "Start Docker" export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3675dac..7688497 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -1,29 +1,24 @@ #!/usr/bin/env bash +source .scripts/logging_utils.sh + set -x -echo -e "\n\nInstalling a fresh version of Miniforge." -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:start:install_miniforge\\r' -fi +startgroup "Installing a fresh version of Miniforge" MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" bash $MINIFORGE_FILE -b -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:end:install_miniforge\\r' -fi +endgroup "Installing a fresh version of Miniforge" -echo -e "\n\nConfiguring conda." -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:start:configure_conda\\r' -fi +startgroup "Configuring conda" +BUILD_CMD=build source ${HOME}/miniforge3/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip +conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} @@ -39,23 +34,26 @@ echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup -if [[ ${CI} == "travis" ]]; then - echo -en 'travis_fold:end:configure_conda\\r' -fi +endgroup "Configuring conda" set -e -echo -e "\n\nMaking the build clobber file and running the build." +startgroup "Running conda $BUILD_CMD" +echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi -conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +endgroup "Running conda build" +startgroup "Validating outputs" validate_recipe_outputs "${FEEDSTOCK_NAME}" +endgroup "Validating outputs" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - echo -e "\n\nUploading the packages." + startgroup "Uploading packages" upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml + endgroup "Uploading packages" fi \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index 5f30279..ed3f451 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2020, conda-forge contributors +Copyright (c) 2015-2021, 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 4a9b035..f202296 100644 --- a/README.md +++ b/README.md @@ -182,9 +182,9 @@ build distinct package versions. In order to produce a uniquely identifiable distribution: * If the version of a package **is not** being increased, please add or increase - the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string). + the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string). * If the version of a package **is** being increased, please remember to return - the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string) + the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string) back to 0. Feedstock Maintainers From b2e482e7c8a64bfbf1fe66496b92e930b55e6c66 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 20 Apr 2021 18:41:32 +0000 Subject: [PATCH 003/100] updated v20210324.1 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6f0e914..44c3d76 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "abseil-cpp" %} -{% set version = "20210324.0" %} +{% set version = "20210324.1" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/abseil/{{ name }}/archive/{{ version }}.tar.gz - sha256: dd7db6815204c2a62a2160e32c55e97113b0a0178b2f090d6bab5ce36111db4b + sha256: 441db7c09a0565376ecacf0085b2d4c2bbedde6115d7773551bc116212c2a8d6 patches: #- linux-librt.patch # [linux] - clang4_osx_fix.diff # [osx] From 06be93d3ae1245a274dfb5066b7b14fc5eb5d389 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 20 Apr 2021 18:41:41 +0000 Subject: [PATCH 004/100] MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.10.0, and conda-forge-pinning 2021.04.20.18.36.07 --- .scripts/build_steps.sh | 27 ++++++++++++++++----------- .scripts/logging_utils.sh | 9 +++++++-- .scripts/run_docker_build.sh | 13 +++++++++---- .scripts/run_osx_build.sh | 31 ++++++++++++++++++------------- README.md | 1 + 5 files changed, 51 insertions(+), 30 deletions(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 7fbce05..99baf86 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -10,9 +10,10 @@ export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh -endgroup "Start Docker" +( endgroup "Start Docker" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null -startgroup "Configuring conda" export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" @@ -40,34 +41,38 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${BUILD_WITH_CONDA_DEB EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi -endgroup "Configuring conda" + +( endgroup "Configuring conda" ) 2> /dev/null if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - startgroup "Running conda debug" if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" fi conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - endgroup "Running conda debug" + # Drop into an interactive shell /bin/bash else - startgroup "Running conda $BUILD_CMD" conda $BUILD_CMD "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - endgroup "Running conda build" - startgroup "Validating outputs" + ( startgroup "Validating outputs" ) 2> /dev/null + validate_recipe_outputs "${FEEDSTOCK_NAME}" - endgroup "Validating outputs" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - startgroup "Uploading packages" upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" - endgroup "Uploading packages" fi + + ( endgroup "Uploading packages" ) 2> /dev/null fi +( startgroup "Final checks" ) 2> /dev/null + touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh index a53ef3f..57bc95c 100644 --- a/.scripts/logging_utils.sh +++ b/.scripts/logging_utils.sh @@ -13,18 +13,23 @@ function startgroup { travis ) echo "$1" echo -en 'travis_fold:start:'"${1// /}"'\\r';; + github_actions ) + echo "::group::$1";; * ) echo "$1";; esac -} +} 2> /dev/null function endgroup { # End a foldable group of log lines # Pass a single argument, quoted + case ${CI:-} in azure ) echo "##[endgroup]";; travis ) echo -en 'travis_fold:end:'"${1// /}"'\\r';; + github_actions ) + echo "::endgroup::";; esac -} +} 2> /dev/null diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 16d6c15..44ad3ce 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -7,7 +7,7 @@ source .scripts/logging_utils.sh -startgroup "Configure Docker" +( startgroup "Configure Docker" ) 2> /dev/null set -xeo pipefail @@ -69,9 +69,11 @@ DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi -endgroup "Configure Docker" -startgroup "Start Docker" +( endgroup "Configure Docker" ) 2> /dev/null + +( startgroup "Start Docker" ) 2> /dev/null + export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ @@ -94,4 +96,7 @@ docker run ${DOCKER_RUN_ARGS} \ /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh # verify that the end of the script was reached -test -f "$DONE_CANARY" \ No newline at end of file +test -f "$DONE_CANARY" + +# This closes the last group opened in `build_steps.sh` +( endgroup "Final checks" ) 2> /dev/null \ No newline at end of file diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 7688497..cbcce72 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -2,16 +2,19 @@ source .scripts/logging_utils.sh -set -x +set -xe + +( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null -startgroup "Installing a fresh version of Miniforge" MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" bash $MINIFORGE_FILE -b -endgroup "Installing a fresh version of Miniforge" -startgroup "Configuring conda" +( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + BUILD_CMD=build source ${HOME}/miniforge3/etc/profile.d/conda.sh @@ -34,11 +37,10 @@ echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup -endgroup "Configuring conda" -set -e +( endgroup "Configuring conda" ) 2> /dev/null + -startgroup "Running conda $BUILD_CMD" echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml @@ -47,13 +49,16 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then fi conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} -endgroup "Running conda build" -startgroup "Validating outputs" +( startgroup "Validating outputs" ) 2> /dev/null + validate_recipe_outputs "${FEEDSTOCK_NAME}" -endgroup "Validating outputs" + +( endgroup "Validating outputs" ) 2> /dev/null + +( startgroup "Uploading packages" ) 2> /dev/null if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - startgroup "Uploading packages" upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml - endgroup "Uploading packages" -fi \ No newline at end of file +fi + +( endgroup "Uploading packages" ) 2> /dev/null \ No newline at end of file diff --git a/README.md b/README.md index f202296..8a4aa0d 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ Installing `abseil-cpp` from the `conda-forge` channel can be achieved by adding ``` conda config --add channels conda-forge +conda config --set channel_priority strict ``` Once the `conda-forge` channel has been enabled, `abseil-cpp` can be installed with: From 984715fd27233063211a3de8626b0dd820c02341 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 1 Jun 2021 17:33:07 +0000 Subject: [PATCH 005/100] updated v20210324.2 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 44c3d76..8ba37be 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "abseil-cpp" %} -{% set version = "20210324.1" %} +{% set version = "20210324.2" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/abseil/{{ name }}/archive/{{ version }}.tar.gz - sha256: 441db7c09a0565376ecacf0085b2d4c2bbedde6115d7773551bc116212c2a8d6 + sha256: 59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f patches: #- linux-librt.patch # [linux] - clang4_osx_fix.diff # [osx] From 4de58889d70a2a7a49093771d6149d58fb2ed310 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 1 Jun 2021 17:33:18 +0000 Subject: [PATCH 006/100] MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.10.1, and conda-forge-pinning 2021.06.01.05.21.06 --- .scripts/run_docker_build.sh | 6 +++--- .scripts/run_osx_build.sh | 21 +++++++++++++++------ .travis.yml | 1 + build-locally.py | 27 ++++++++++++++++++++++++--- 4 files changed, 43 insertions(+), 12 deletions(-) diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 44ad3ce..244ccd1 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -52,11 +52,11 @@ if [ -z "${DOCKER_IMAGE}" ]; then echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) if [ "${DOCKER_IMAGE}" = "" ]; then - echo "No docker_image entry found in ${CONFIG}. Falling back to condaforge/linux-anvil-comp7" - DOCKER_IMAGE="condaforge/linux-anvil-comp7" + echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7" + DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" fi else - DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" + DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" fi fi diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index cbcce72..708b1e1 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -4,12 +4,14 @@ 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="Miniforge3-MacOSX-x86_64.sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" -bash $MINIFORGE_FILE -b +bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} ( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null @@ -17,7 +19,7 @@ bash $MINIFORGE_FILE -b BUILD_CMD=build -source ${HOME}/miniforge3/etc/profile.d/conda.sh +source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." @@ -27,11 +29,18 @@ conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${G echo -e "\n\nSetting up the condarc and mangling the compiler." setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml -mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml -echo -e "\n\nMangling homebrew in the CI to avoid conflicts." -/usr/bin/sudo mangle_homebrew -/usr/bin/sudo -k +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 diff --git a/.travis.yml b/.travis.yml index 6a7591a..ecb962d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ matrix: - env: CONFIG=linux_ppc64le_ UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le os: linux arch: ppc64le + dist: focal script: - export CI=travis diff --git a/build-locally.py b/build-locally.py index 3453cfe..00eeb34 100755 --- a/build-locally.py +++ b/build-locally.py @@ -7,6 +7,7 @@ import glob import subprocess from argparse import ArgumentParser +import platform def setup_environment(ns): @@ -16,6 +17,10 @@ def setup_environment(ns): os.environ["BUILD_WITH_CONDA_DEBUG"] = "1" if ns.output_id: os.environ["BUILD_OUTPUT_ID"] = ns.output_id + if "MINIFORGE_HOME" not in os.environ: + os.environ["MINIFORGE_HOME"] = os.path.join( + os.path.dirname(__file__), "miniforge3" + ) def run_docker_build(ns): @@ -23,6 +28,11 @@ def run_docker_build(ns): subprocess.check_call([script]) +def run_osx_build(ns): + script = ".scripts/run_osx_build.sh" + subprocess.check_call([script]) + + def verify_config(ns): valid_configs = { os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") @@ -46,10 +56,16 @@ def verify_config(ns): else: raise ValueError("config " + ns.config + " is not valid") # Remove the following, as implemented - if not ns.config.startswith("linux"): + if ns.config.startswith("win"): raise ValueError( - f"only Linux configs currently supported, got {ns.config}" + f"only Linux/macOS configs currently supported, got {ns.config}" ) + elif ns.config.startswith("osx") and platform.system() == "Darwin": + 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'" + ) def main(args=None): @@ -68,7 +84,12 @@ def main(args=None): verify_config(ns) setup_environment(ns) - run_docker_build(ns) + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) if __name__ == "__main__": From efde84dc9639c7f910fd15e4e314023a6ef99b0b Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Wed, 10 Nov 2021 22:45:00 +0000 Subject: [PATCH 007/100] updated v20211102.0 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8ba37be..4058a84 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "abseil-cpp" %} -{% set version = "20210324.2" %} +{% set version = "20211102.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/abseil/{{ name }}/archive/{{ version }}.tar.gz - sha256: 59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f + sha256: dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4 patches: #- linux-librt.patch # [linux] - clang4_osx_fix.diff # [osx] From a548690ba4d77f17c0e0465a5c430e44ec58d247 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Wed, 10 Nov 2021 22:45:41 +0000 Subject: [PATCH 008/100] MNT: Re-rendered with conda-build 3.21.6, conda-smithy 3.14.3, and conda-forge-pinning 2021.11.10.21.33.30 --- .azure-pipelines/azure-pipelines-linux.yml | 11 +++++++- .azure-pipelines/azure-pipelines-osx.yml | 5 ++++ .azure-pipelines/azure-pipelines-win.yml | 6 ++--- .ci_support/linux_64_.yaml | 2 +- .ci_support/linux_ppc64le_.yaml | 2 +- .ci_support/osx_64_.yaml | 2 +- .ci_support/osx_arm64_.yaml | 2 +- .ci_support/win_64_.yaml | 2 +- .drone.yml | 31 ---------------------- .gitattributes | 1 + .scripts/build_steps.sh | 9 ++++--- .scripts/run_docker_build.sh | 7 +++-- .scripts/run_osx_build.sh | 8 +++--- .travis.yml | 3 ++- README.md | 10 ++----- build-locally.py | 5 ++++ 16 files changed, 48 insertions(+), 58 deletions(-) delete mode 100644 .drone.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index adce9a5..d26c6bb 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -5,13 +5,17 @@ jobs: - job: linux pool: - vmImage: ubuntu-16.04 + vmImage: ubuntu-latest strategy: matrix: linux_64_: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_aarch64_: + CONFIG: linux_aarch64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 timeoutInMinutes: 360 steps: @@ -32,6 +36,11 @@ jobs: export CI=azure 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_docker_build.sh displayName: Run docker build env: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 39baad3..84d4f42 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -23,6 +23,11 @@ jobs: 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: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 1fd8ea1..b6ce7ac 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -52,7 +52,7 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional + packageSpecs: 'python=3.9 conda-build conda "conda-forge-ci-setup=3" pip boa' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment @@ -86,7 +86,7 @@ jobs: - script: | call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml + conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: PYTHONUNBUFFERED: 1 @@ -107,4 +107,4 @@ jobs: BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 0f6e58e..c08c78a 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -5,7 +5,7 @@ c_compiler_version: cdt_name: - cos6 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 5053317..e78c812 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -5,7 +5,7 @@ c_compiler_version: cdt_name: - cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 09baadb..17259e0 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 297af8f..8483dc6 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge/label/rust_dev,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index feb31b8..d1de257 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -1,7 +1,7 @@ c_compiler: - vs2017 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index af15091..0000000 --- a/.drone.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -kind: pipeline -name: linux_aarch64_ - -platform: - os: linux - arch: arm64 - -steps: -- name: Install and build - image: quay.io/condaforge/linux-anvil-aarch64 - environment: - CONFIG: linux_aarch64_ - UPLOAD_PACKAGES: True - PLATFORM: linux-aarch64 - BINSTAR_TOKEN: - from_secret: BINSTAR_TOKEN - FEEDSTOCK_TOKEN: - from_secret: FEEDSTOCK_TOKEN - STAGING_BINSTAR_TOKEN: - from_secret: STAGING_BINSTAR_TOKEN - commands: - - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE" - - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe" - - export CI=drone - - export GIT_BRANCH="$DRONE_BRANCH" - - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME}) - - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint - - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh - - echo "Done building" - diff --git a/.gitattributes b/.gitattributes index 9060b27..ce52713 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,6 +18,7 @@ bld.bat text eol=crlf .gitignore linguist-generated=true .travis.yml linguist-generated=true .scripts/* linguist-generated=true +.woodpecker.yml linguist-generated=true LICENSE.txt linguist-generated=true README.md linguist-generated=true azure-pipelines.yml linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 99baf86..9008710 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -25,7 +25,8 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC -BUILD_CMD=build +GET_BOA=boa +BUILD_CMD=mambabuild conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge @@ -37,8 +38,8 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" +if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${HOST_PLATFORM}" != linux-* ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi @@ -66,7 +67,7 @@ else ( startgroup "Uploading packages" ) 2> /dev/null - if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" fi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 244ccd1..0c6515f 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -75,12 +75,15 @@ fi ( startgroup "Start Docker" ) 2> /dev/null export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" +export IS_PR_BUILD="${IS_PR_BUILD:-False}" +docker pull "${DOCKER_IMAGE}" docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ + -e IS_PR_BUILD \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ @@ -91,9 +94,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ - $DOCKER_IMAGE \ + "${DOCKER_IMAGE}" \ bash \ - /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh + "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" # verify that the end of the script was reached test -f "$DONE_CANARY" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 708b1e1..3dca437 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -9,15 +9,17 @@ 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="Miniforge3-MacOSX-x86_64.sh" +MINIFORGE_FILE="Miniforge3-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 -BUILD_CMD=build +GET_BOA=boa +BUILD_CMD=mambabuild source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base @@ -66,7 +68,7 @@ validate_recipe_outputs "${FEEDSTOCK_NAME}" ( startgroup "Uploading packages" ) 2> /dev/null -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then +if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml fi diff --git a/.travis.yml b/.travis.yml index ecb962d..fb73b82 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,7 @@ script: - export CI=travis - export GIT_BRANCH="$TRAVIS_BRANCH" - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) + - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi - - if [[ ${PLATFORM} =~ .*linux.* ]]; then ./.scripts/run_docker_build.sh; fi \ No newline at end of file + - if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS=--network=host ./.scripts/run_docker_build.sh; fi \ No newline at end of file diff --git a/README.md b/README.md index 8a4aa0d..66765af 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,6 @@ Current build status macOS - - Drone - - - linux - - @@ -131,7 +124,8 @@ conda search abseil-cpp --channel conda-forge About conda-forge ================= -[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org) +[![Powered by +NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the diff --git a/build-locally.py b/build-locally.py index 00eeb34..8b74348 100755 --- a/build-locally.py +++ b/build-locally.py @@ -13,6 +13,7 @@ def setup_environment(ns): os.environ["CONFIG"] = ns.config os.environ["UPLOAD_PACKAGES"] = "False" + os.environ["IS_PR_BUILD"] = "True" if ns.debug: os.environ["BUILD_WITH_CONDA_DEBUG"] = "1" if ns.output_id: @@ -21,6 +22,10 @@ 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): From 8c7fb51f9afaa29f4007b94c303ff49248b738d4 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Wed, 15 Dec 2021 08:10:01 +0000 Subject: [PATCH 009/100] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeGHAWithMain --- .github/workflows/automerge.yml | 3 ++- .github/workflows/webservices.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index e8e5902..773b3d1 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -13,6 +13,7 @@ jobs: uses: actions/checkout@v2 - name: automerge-action id: automerge-action - uses: conda-forge/automerge-action@master + 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 index 78f51e6..d6f06b5 100644 --- a/.github/workflows/webservices.yml +++ b/.github/workflows/webservices.yml @@ -7,6 +7,7 @@ jobs: steps: - name: webservices id: webservices - uses: conda-forge/webservices-dispatch-action@master + uses: conda-forge/webservices-dispatch-action@main with: github_token: ${{ secrets.GITHUB_TOKEN }} + rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} From 56d03bc61c6b32c38fc8c836ee705ba3f5199d00 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Fri, 17 Dec 2021 01:30:12 +0000 Subject: [PATCH 010/100] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeGHAWithMain --- .github/workflows/automerge.yml | 2 +- .github/workflows/webservices.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 773b3d1..f79fe85 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -13,7 +13,7 @@ jobs: uses: actions/checkout@v2 - name: automerge-action id: automerge-action - uses: conda-forge/automerge-action@main + uses: conda-forge/automerge-action@master 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 index d6f06b5..2e5fe71 100644 --- a/.github/workflows/webservices.yml +++ b/.github/workflows/webservices.yml @@ -7,7 +7,7 @@ jobs: steps: - name: webservices id: webservices - uses: conda-forge/webservices-dispatch-action@main + uses: conda-forge/webservices-dispatch-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} From b1ead819c15442c404707efc8b01345dc9487767 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Tue, 15 Feb 2022 05:21:07 +0000 Subject: [PATCH 011/100] MNT: Re-rendered with conda-build 3.21.8, conda-smithy 3.16.2, and conda-forge-pinning 2022.02.14.13.20.49 --- .azure-pipelines/azure-pipelines-linux.yml | 6 +++++- .azure-pipelines/azure-pipelines-win.yml | 2 +- .ci_support/linux_64_.yaml | 4 +--- .scripts/build_steps.sh | 10 ++++++---- .scripts/run_osx_build.sh | 12 ++++++------ .travis.yml | 22 ---------------------- LICENSE.txt | 2 +- README.md | 9 +-------- 8 files changed, 21 insertions(+), 46 deletions(-) delete mode 100644 .travis.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index d26c6bb..2e0430f 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -11,11 +11,15 @@ jobs: linux_64_: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_aarch64_: CONFIG: linux_aarch64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 + linux_ppc64le_: + CONFIG: linux_ppc64le_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index b6ce7ac..e8029d9 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -5,7 +5,7 @@ jobs: - job: win pool: - vmImage: vs2017-win2016 + vmImage: windows-2019 strategy: matrix: win_64_: diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index c08c78a..8f36801 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -13,11 +13,9 @@ cxx_compiler: cxx_compiler_version: - '9' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: - linux-64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cdt_name - - docker_image diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 9008710..b3d5b81 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -5,6 +5,8 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +# -*- mode: jinja-shell -*- + set -xeuo pipefail export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh @@ -25,10 +27,10 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC -GET_BOA=boa -BUILD_CMD=mambabuild -conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge + +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 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -56,7 +58,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda $BUILD_CMD "${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" ( startgroup "Validating outputs" ) 2> /dev/null diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3dca437..6774b01 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +# -*- mode: jinja-shell -*- + source .scripts/logging_utils.sh set -xe @@ -9,7 +11,7 @@ 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="Miniforge3-MacOSX-$(uname -m).sh" +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} @@ -18,14 +20,12 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} ( startgroup "Configuring conda" ) 2> /dev/null -GET_BOA=boa -BUILD_CMD=mambabuild - source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} +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 @@ -59,7 +59,7 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi -conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +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}" diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index fb73b82..0000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +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. - -language: generic - - - -matrix: - include: - - env: CONFIG=linux_ppc64le_ UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - -script: - - export CI=travis - - export GIT_BRANCH="$TRAVIS_BRANCH" - - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) - - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi - - - - if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS=--network=host ./.scripts/run_docker_build.sh; 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 66765af..2729832 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,7 @@ Current build status ==================== - - - - +
Travis - - macOS - -
From fef86bfd67fca0ea0833a96b2678cf738f8fc3b3 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 15 Feb 2022 06:26:13 +0100 Subject: [PATCH 012/100] Enforce C++17 --- recipe/build.sh | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 288aaef..77b00d1 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -1,12 +1,17 @@ +#!/bin/bash + +set -exuo pipefail + mkdir -p build cd build -cmake ${CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${PREFIX} \ - -DCMAKE_PREFIX_PATH=${PREFIX} \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON \ - -GNinja \ - .. +cmake ${CMAKE_ARGS} \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_PREFIX_PATH=${PREFIX} \ + -GNinja \ + .. ninja install From 161d6814cc3378f83de725c60fe8549fce0669ea Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 15 Feb 2022 06:47:37 +0100 Subject: [PATCH 013/100] Cross-compile arches --- .azure-pipelines/azure-pipelines-linux.yml | 4 ++-- .ci_support/linux_aarch64_.yaml | 2 +- .ci_support/linux_ppc64le_.yaml | 2 +- .github/workflows/automerge.yml | 1 + .github/workflows/webservices.yml | 1 + conda-forge.yml | 6 ++++-- 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 2e0430f..3b9dee7 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -15,11 +15,11 @@ jobs: linux_aarch64_: CONFIG: linux_aarch64_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_ppc64le_: CONFIG: linux_ppc64le_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 steps: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 9763979..54b50e3 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -17,7 +17,7 @@ cxx_compiler: cxx_compiler_version: - '9' docker_image: -- quay.io/condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index e78c812..d253323 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -13,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '9' docker_image: -- quay.io/condaforge/linux-anvil-ppc64le +- quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: - linux-ppc64le zip_keys: diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index e8e5902..f79fe85 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -16,3 +16,4 @@ jobs: uses: conda-forge/automerge-action@master 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 index 78f51e6..2e5fe71 100644 --- a/.github/workflows/webservices.yml +++ b/.github/workflows/webservices.yml @@ -10,3 +10,4 @@ jobs: uses: conda-forge/webservices-dispatch-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} + rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} diff --git a/conda-forge.yml b/conda-forge.yml index 9b5f040..8e88275 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,4 +1,6 @@ -build_platform: {osx_arm64: osx_64} +build_platform: + osx_arm64: osx_64 + linux_aarch64: linux_64 + linux_ppc64le: linux_64 conda_forge_output_validation: true -provider: {linux_aarch64: default, linux_ppc64le: default, win: azure} test_on_native_only: true From ca05db824fb616bdb379055f2f6fdb23bd136a0f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 21 Feb 2022 22:59:56 +1100 Subject: [PATCH 014/100] BUILD_SHARED_LIBS also on windows --- recipe/bld.bat | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index 5814b52..908fd2a 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -1,10 +1,11 @@ mkdir build cd build cmake -GNinja ^ - -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ - -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ - -DCMAKE_BUILD_TYPE=Release ^ - .. + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DBUILD_SHARED_LIBS=ON ^ + .. cmake --build . From 5fd94d5250b8df1e88b4d7c706a33627fc490841 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 21 Feb 2022 23:00:46 +1100 Subject: [PATCH 015/100] check for failures in bld.bat --- recipe/bld.bat | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipe/bld.bat b/recipe/bld.bat index 908fd2a..3de79eb 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -6,7 +6,10 @@ cmake -GNinja ^ -DCMAKE_BUILD_TYPE=Release ^ -DBUILD_SHARED_LIBS=ON ^ .. +if %ERRORLEVEL% neq 0 exit 1 cmake --build . +if %ERRORLEVEL% neq 0 exit 1 cmake --build . --target install +if %ERRORLEVEL% neq 0 exit 1 From e6f11f9bcf1731683428aa77d31db6d2d6491432 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 21 Feb 2022 23:01:03 +1100 Subject: [PATCH 016/100] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4058a84..e2aa573 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -15,7 +15,7 @@ source: - remove-4221.patch # [win] build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage("abseil-cpp", max_pin="x.x") }} From 0ace8097564bab300aeb6c655d9672e04b252950 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 21 Feb 2022 23:02:02 +1100 Subject: [PATCH 017/100] MNT: Re-rendered with conda-build 3.21.8, conda-smithy 3.17.1, and conda-forge-pinning 2022.02.19.23.26.53 --- .azure-pipelines/azure-pipelines-win.yml | 3 +- .ci_support/README | 7 +++- .ci_support/linux_64_.yaml | 4 +-- .ci_support/linux_aarch64_.yaml | 4 +-- .ci_support/linux_ppc64le_.yaml | 4 +-- .ci_support/osx_64_.yaml | 4 +-- .ci_support/osx_arm64_.yaml | 4 +-- .gitattributes | 1 + .scripts/build_steps.sh | 6 ++-- .scripts/run_docker_build.sh | 2 +- .scripts/run_osx_build.sh | 42 ++++++++++++++++-------- build-locally.py | 11 +++---- 12 files changed, 56 insertions(+), 36 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index e8029d9..88fd9c1 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -49,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..69c5db6 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 8f36801..c58cd1b 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '9' +- '10' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 54b50e3..af43d68 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '9' +- '10' cdt_arch: - aarch64 cdt_name: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index d253323..0298371 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '9' +- '10' cdt_name: - cos7 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 17259e0..87581e2 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '11' +- '12' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '12' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 8483dc6..48127da 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '11' +- '12' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '12' macos_machine: - arm64-apple-darwin20.0.0 target_platform: 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..f323cb8 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 ['boa', '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/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." ) From cb48ebf485e644f097f34590566e7b5f0c1405db Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 21 Feb 2022 23:31:44 +1100 Subject: [PATCH 018/100] update test section --- recipe/meta.yaml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e2aa573..403ffdd 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -26,10 +26,37 @@ requirements: - cmake - ninja +{% set absl_libs = [ + "cord_internal", "cordz_functions", "cordz_handle", "cordz_info", "cordz_sample_token", + "flags", "flags_commandlineflag", "flags_commandlineflag_internal", "flags_config", + "flags_internal", "flags_marshalling", "flags_parse", "flags_private_handle_accessor", + "flags_program_name", "flags_reflection", "flags_usage", "flags_usage_internal", + "low_level_hash", "random_internal_distribution_test_util", "statusor", "strerror" +] + (not win) * [ + "base", "civil_time", "cord", "debugging_internal", "demangle_internal", "examine_stack", + "exponential_biased", "failure_signal_handler", "graphcycles_internal", "hash", + "hashtablez_sampler", "int128", "log_severity", "malloc_internal", "periodic_sampler", + "random_distributions", "random_internal_pool_urbg", "random_internal_randen", + "random_internal_randen_hwaes_impl", "random_internal_randen_slow", + "random_internal_seed_material", "random_seed_gen_exception", "random_seed_sequences", + "raw_hash_set", "raw_logging_internal", "scoped_set_env", "spinlock_wait", "stacktrace", + "status", "str_format_internal", "strings", "strings_internal", "symbolize", + "synchronization", "time", "time_zone" +]%} test: commands: - - test -f $PREFIX/lib/libabsl_base${SHLIB_EXT} # [not win] - - if not exist %LIBRARY_LIB%\\absl_base.lib exit 1 # [win] + # windows baseline (different scheme than absl_libs) + - if not exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] + - if not exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] + + # absl_libs + {% for each_lib in absl_libs %} + # presence of shared libs + - test -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] + - if not exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] + # absence of static libs + - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] + {% endfor %} about: home: https://github.com/abseil/abseil-cpp From eed7a978dfc86f20e9dc44ac580a41be7eb8f8b8 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 22 Feb 2022 00:42:27 +1100 Subject: [PATCH 019/100] use echo --- recipe/bld.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/bld.bat b/recipe/bld.bat index 3de79eb..c025067 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -1,3 +1,5 @@ +@echo on + mkdir build cd build cmake -GNinja ^ From 23f8279f8766e0936d72c51a61acd5301ef11dfe Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 22 Feb 2022 00:46:43 +1100 Subject: [PATCH 020/100] absl_libs on windows are still static --- recipe/meta.yaml | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 403ffdd..f9e334c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -27,25 +27,25 @@ requirements: - ninja {% set absl_libs = [ - "cord_internal", "cordz_functions", "cordz_handle", "cordz_info", "cordz_sample_token", - "flags", "flags_commandlineflag", "flags_commandlineflag_internal", "flags_config", + "base", "civil_time", "cord", "cord_internal", "cordz_functions", "cordz_handle", + "cordz_info", "cordz_sample_token", "debugging_internal", "demangle_internal", + "examine_stack", "exponential_biased", "failure_signal_handler", "flags", + "flags_commandlineflag", "flags_commandlineflag_internal", "flags_config", "flags_internal", "flags_marshalling", "flags_parse", "flags_private_handle_accessor", "flags_program_name", "flags_reflection", "flags_usage", "flags_usage_internal", - "low_level_hash", "random_internal_distribution_test_util", "statusor", "strerror" -] + (not win) * [ - "base", "civil_time", "cord", "debugging_internal", "demangle_internal", "examine_stack", - "exponential_biased", "failure_signal_handler", "graphcycles_internal", "hash", - "hashtablez_sampler", "int128", "log_severity", "malloc_internal", "periodic_sampler", - "random_distributions", "random_internal_pool_urbg", "random_internal_randen", - "random_internal_randen_hwaes_impl", "random_internal_randen_slow", - "random_internal_seed_material", "random_seed_gen_exception", "random_seed_sequences", - "raw_hash_set", "raw_logging_internal", "scoped_set_env", "spinlock_wait", "stacktrace", - "status", "str_format_internal", "strings", "strings_internal", "symbolize", - "synchronization", "time", "time_zone" -]%} + "graphcycles_internal", "hash", "hashtablez_sampler", "int128", "log_severity", + "low_level_hash", "malloc_internal", "periodic_sampler", "random_distributions", + "random_internal_distribution_test_util", "random_internal_pool_urbg", + "random_internal_randen", "random_internal_randen_hwaes_impl", + "random_internal_randen_slow", "random_internal_seed_material", + "random_seed_gen_exception", "random_seed_sequences", "raw_hash_set", + "raw_logging_internal", "scoped_set_env", "spinlock_wait", "stacktrace", "status", + "statusor", "str_format_internal", "strerror", "strings", "strings_internal", + "symbolize", "synchronization", "time", "time_zone" +] %} test: commands: - # windows baseline (different scheme than absl_libs) + # windows - if not exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] - if not exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] @@ -56,6 +56,8 @@ test: - if not exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] # absence of static libs - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] + # TODO: do we want to get rid of the static windows libs? + # - if exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] {% endfor %} about: From 87b4dc6f6e0ea866a73ed700c9a4b4b33d97b065 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 22 Feb 2022 00:51:39 +1100 Subject: [PATCH 021/100] remove internal libraries --- recipe/meta.yaml | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f9e334c..01f2c8b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -27,20 +27,13 @@ requirements: - ninja {% set absl_libs = [ - "base", "civil_time", "cord", "cord_internal", "cordz_functions", "cordz_handle", - "cordz_info", "cordz_sample_token", "debugging_internal", "demangle_internal", - "examine_stack", "exponential_biased", "failure_signal_handler", "flags", - "flags_commandlineflag", "flags_commandlineflag_internal", "flags_config", - "flags_internal", "flags_marshalling", "flags_parse", "flags_private_handle_accessor", - "flags_program_name", "flags_reflection", "flags_usage", "flags_usage_internal", - "graphcycles_internal", "hash", "hashtablez_sampler", "int128", "log_severity", - "low_level_hash", "malloc_internal", "periodic_sampler", "random_distributions", - "random_internal_distribution_test_util", "random_internal_pool_urbg", - "random_internal_randen", "random_internal_randen_hwaes_impl", - "random_internal_randen_slow", "random_internal_seed_material", - "random_seed_gen_exception", "random_seed_sequences", "raw_hash_set", - "raw_logging_internal", "scoped_set_env", "spinlock_wait", "stacktrace", "status", - "statusor", "str_format_internal", "strerror", "strings", "strings_internal", + "base", "civil_time", "cord", "cordz_functions", "cordz_handle", "cordz_info", + "cordz_sample_token", "examine_stack", "exponential_biased", "failure_signal_handler", + "flags", "flags_commandlineflag", "flags_config", "flags_marshalling", "flags_parse", + "flags_private_handle_accessor", "flags_program_name", "flags_reflection", "flags_usage", + "hash", "hashtablez_sampler", "int128", "log_severity", "low_level_hash", "periodic_sampler", + "random_distributions", "random_seed_gen_exception", "random_seed_sequences", "raw_hash_set", + "scoped_set_env", "spinlock_wait", "stacktrace", "status", "statusor", "strerror", "strings", "symbolize", "synchronization", "time", "time_zone" ] %} test: From dc32fd6bb6446cba1dd803cd411769a0fe204e04 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 22 Feb 2022 10:04:11 +1100 Subject: [PATCH 022/100] fixes --- recipe/meta.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 01f2c8b..25c6a13 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,15 +38,14 @@ requirements: ] %} test: commands: - # windows - - if not exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] + # windows (DLL + import library) - if not exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] # absl_libs {% for each_lib in absl_libs %} # presence of shared libs - test -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] - - if not exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] # absence of static libs - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] # TODO: do we want to get rid of the static windows libs? From cbd2d6d19943d12cda13ce45f07f81bcb0815387 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 1 Mar 2022 11:07:11 +1100 Subject: [PATCH 023/100] add myself to maintainers --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 25c6a13..d212743 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -69,3 +69,4 @@ extra: - njzjz - bluescarni - xhochy + - h-vetinari From 757cdda1d6b969471e1f323e88f65828e20c32b5 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 1 Mar 2022 11:17:30 +1100 Subject: [PATCH 024/100] MNT: Re-rendered with conda-build 3.21.8, conda-smithy 3.17.2, and conda-forge-pinning 2022.02.28.13.05.22 --- .github/CODEOWNERS | 2 +- .scripts/run_osx_build.sh | 2 +- README.md | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f5e46b5..18021f8 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @bluescarni @njzjz @xhochy \ No newline at end of file +* @bluescarni @h-vetinari @njzjz @xhochy \ No newline at end of file diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index f323cb8..3d85505 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,7 +23,7 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base -echo -e "\n\nInstalling ['boa', 'conda-forge-ci-setup=3'] and conda-build." +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 \ diff --git a/README.md b/README.md index 2729832..41a6bc0 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,7 @@ Feedstock Maintainers ===================== * [@bluescarni](https://github.com/bluescarni/) +* [@h-vetinari](https://github.com/h-vetinari/) * [@njzjz](https://github.com/njzjz/) * [@xhochy](https://github.com/xhochy/) From e56c5e5e45e0b21f55e4b518767410b1b25ad212 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Sun, 6 Mar 2022 20:10:58 +0000 Subject: [PATCH 025/100] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeMasterToMain --- .github/workflows/automerge.yml | 2 +- .github/workflows/webservices.yml | 2 +- conda-forge.yml | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index f79fe85..773b3d1 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -13,7 +13,7 @@ jobs: uses: actions/checkout@v2 - name: automerge-action id: automerge-action - uses: conda-forge/automerge-action@master + 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 index 2e5fe71..d6f06b5 100644 --- a/.github/workflows/webservices.yml +++ b/.github/workflows/webservices.yml @@ -7,7 +7,7 @@ jobs: steps: - name: webservices id: webservices - uses: conda-forge/webservices-dispatch-action@master + uses: conda-forge/webservices-dispatch-action@main with: github_token: ${{ secrets.GITHUB_TOKEN }} rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} diff --git a/conda-forge.yml b/conda-forge.yml index 8e88275..18f92c2 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,6 +1,9 @@ -build_platform: +build_platform: osx_arm64: osx_64 linux_aarch64: linux_64 linux_ppc64le: linux_64 conda_forge_output_validation: true test_on_native_only: true +github: + branch_name: main + tooling_branch_name: main From c6b818469edcc2c0b8f9c4b033529ad27edd6675 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 30 Jun 2022 17:31:37 +0000 Subject: [PATCH 026/100] updated v20220623.0 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d212743..c41f2d4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "abseil-cpp" %} -{% set version = "20211102.0" %} +{% set version = "20220623.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/abseil/{{ name }}/archive/{{ version }}.tar.gz - sha256: dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4 + sha256: 4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602 patches: #- linux-librt.patch # [linux] - clang4_osx_fix.diff # [osx] @@ -15,7 +15,7 @@ source: - remove-4221.patch # [win] build: - number: 1 + number: 0 run_exports: - {{ pin_subpackage("abseil-cpp", max_pin="x.x") }} From 62f520db285c4bf1795326c7cdea7a4ba45b2f3e Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 30 Jun 2022 17:32:02 +0000 Subject: [PATCH 027/100] MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.06.30.11.45.20 --- .azure-pipelines/azure-pipelines-win.yml | 69 ++++++++---------------- .ci_support/README | 12 ++--- .ci_support/osx_64_.yaml | 4 +- .ci_support/osx_arm64_.yaml | 4 +- .circleci/config.yml | 3 +- .scripts/build_steps.sh | 9 +++- .scripts/run_osx_build.sh | 4 ++ LICENSE.txt | 30 ++++++++--- README.md | 69 ++++++++++++++++-------- build-locally.py | 19 ++++--- 10 files changed, 128 insertions(+), 95 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 88fd9c1..8a0bcae 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -16,45 +16,27 @@ jobs: CONDA_BLD_PATH: D:\\bld\\ steps: - - script: | - choco install vcpython27 -fdv -y --debug - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Install vcpython27.msi (if needed) - - # Cygwin's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) - # - script: rmdir C:\cygwin /s /q - # continueOnError: true - - - powershell: | - Set-PSDebug -Trace 1 - - $batchcontent = @" - ECHO ON - SET vcpython=C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0 - - DIR "%vcpython%" - - CALL "%vcpython%\vcvarsall.bat" %* - "@ - - $batchDir = "C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC" - $batchPath = "$batchDir" + "\vcvarsall.bat" - New-Item -Path $batchPath -ItemType "file" -Force - - Set-Content -Value $batchcontent -Path $batchPath + - 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) - Get-ChildItem -Path $batchDir + - script: | + start /wait "" %BUILD_ARTIFACTSTAGINGDIRECTORY%\Miniforge.exe /InstallationType=JustMe /RegisterPython=0 /S /D=C:\Miniforge + displayName: Install Miniforge - Get-ChildItem -Path ($batchDir + '\..') + - powershell: Write-Host "##vso[task.prependpath]C:\Miniforge\Scripts" + displayName: Add conda to PATH - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Patch vs2008 (if needed) - - task: CondaEnvironment@1 - inputs: - 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 + - script: | + call activate base + mamba.exe install 'python=3.9' conda-build conda pip boa 'conda-forge-ci-setup=3' -c conda-forge --strict-channel-priority --yes + displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 displayName: Set PYTHONUNBUFFERED @@ -71,25 +53,16 @@ jobs: call activate base run_conda_forge_build_setup displayName: conda-forge build setup - - - # Special cased version setting some more things! - - script: | - call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml - displayName: Build recipe (vs2008) - env: - VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" - PYTHONUNBUFFERED: 1 - condition: contains(variables['CONFIG'], 'vs2008') - script: | call activate base + if EXIST LICENSE.txt ( + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" + ) conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: PYTHONUNBUFFERED: 1 - condition: not(contains(variables['CONFIG'], 'vs2008')) - script: | set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base diff --git a/.ci_support/README b/.ci_support/README index 69c5db6..a47316b 100644 --- a/.ci_support/README +++ b/.ci_support/README @@ -1,6 +1,6 @@ -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. +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/osx_64_.yaml b/.ci_support/osx_64_.yaml index 87581e2..b65c9ea 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '12' +- '13' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '12' +- '13' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 48127da..e398c78 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '12' +- '13' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '12' +- '13' macos_machine: - arm64-apple-darwin20.0.0 target_platform: diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ad461b..3e61aa2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,8 @@ version: 2 jobs: build: working_directory: ~/test - machine: true + machine: + image: ubuntu-2004:current steps: - run: # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index c6b23e8..a6b09f6 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -24,7 +24,10 @@ export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" cat >~/.condarc < /dev/null +if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then + cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" +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}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3d85505..736a39a 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -61,6 +61,10 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then fi +if [[ -f LICENSE.txt ]]; then + cp LICENSE.txt "recipe/recipe-scripts-license.txt" +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}" diff --git a/LICENSE.txt b/LICENSE.txt index 6ec1401..2ec51d7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,13 +1,27 @@ -BSD 3-clause license +BSD-3-Clause license 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: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/README.md b/README.md index 41a6bc0..dd630f9 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Home: https://github.com/abseil/abseil-cpp Package license: Apache-2.0 -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/abseil-cpp-feedstock/blob/master/LICENSE.txt) +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/abseil-cpp-feedstock/blob/main/LICENSE.txt) Summary: Abseil Common Libraries (C++) @@ -28,8 +28,8 @@ Current build status
Azure
- - + + @@ -37,43 +37,43 @@ Current build status @@ -101,18 +101,43 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `abseil-cpp` can be installed with: +Once the `conda-forge` channel has been enabled, `abseil-cpp` can be installed with `conda`: ``` conda install abseil-cpp ``` -It is possible to list all of the versions of `abseil-cpp` available on your platform with: +or with `mamba`: + +``` +mamba install abseil-cpp +``` + +It is possible to list all of the versions of `abseil-cpp` available on your platform with `conda`: ``` conda search abseil-cpp --channel conda-forge ``` +or with `mamba`: + +``` +mamba search abseil-cpp --channel conda-forge +``` + +Alternatively, `mamba repoquery` may provide more information: + +``` +# Search all versions available on your platform: +mamba repoquery search abseil-cpp --channel conda-forge + +# List packages depending on `abseil-cpp`: +mamba repoquery whoneeds abseil-cpp --channel conda-forge + +# List dependencies of `abseil-cpp`: +mamba repoquery depends abseil-cpp --channel conda-forge +``` + About conda-forge ================= @@ -128,10 +153,12 @@ for each of the installable packages. Such a repository is known as a *feedstock A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by -[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) -and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable -packages to the [conda-forge](https://anaconda.org/conda-forge) -[Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. +[Azure](https://azure.microsoft.com/en-us/services/devops/), [GitHub](https://github.com/), +[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), +[Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) +it is possible to build and upload installable packages to the +[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. diff --git a/build-locally.py b/build-locally.py index eec38a0..3f4b7a7 100755 --- a/build-locally.py +++ b/build-locally.py @@ -86,12 +86,19 @@ def main(args=None): verify_config(ns) setup_environment(ns) - if ns.config.startswith("linux") or ( - ns.config.startswith("osx") and platform.system() == "Linux" - ): - run_docker_build(ns) - elif ns.config.startswith("osx"): - run_osx_build(ns) + try: + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) + finally: + recipe_license_file = os.path.join( + "recipe", "recipe-scripts-license.txt" + ) + if os.path.exists(recipe_license_file): + os.remove(recipe_license_file) if __name__ == "__main__": From 9bd55a7b22331dca0258c07d94ecd2f8b1240a06 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 2 Mar 2022 08:45:11 +1100 Subject: [PATCH 028/100] normalize patches --- recipe/meta.yaml | 7 ++- recipe/osx_framework_fix.diff | 19 -------- ...h-out-the-build-issue-on-clang4-osx.patch} | 14 +++++- ...to-the-CoreFoundation-framework-on-O.patch | 31 +++++++++++++ ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 45 +++++++++++++++++++ recipe/remove-4221.patch | 27 ----------- 6 files changed, 92 insertions(+), 51 deletions(-) delete mode 100644 recipe/osx_framework_fix.diff rename recipe/{clang4_osx_fix.diff => patches/0001-patch-out-the-build-issue-on-clang4-osx.patch} (56%) create mode 100644 recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch create mode 100644 recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch delete mode 100644 recipe/remove-4221.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c41f2d4..1a1b264 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -9,10 +9,9 @@ source: url: https://github.com/abseil/{{ name }}/archive/{{ version }}.tar.gz sha256: 4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602 patches: - #- linux-librt.patch # [linux] - - clang4_osx_fix.diff # [osx] - - osx_framework_fix.diff # [osx] - - remove-4221.patch # [win] + - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch + - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch + - patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch build: number: 0 diff --git a/recipe/osx_framework_fix.diff b/recipe/osx_framework_fix.diff deleted file mode 100644 index 6a6af39..0000000 --- a/recipe/osx_framework_fix.diff +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/absl/time/CMakeLists.txt b/absl/time/CMakeLists.txt -index 5909832..087bb6a 100644 ---- a/absl/time/CMakeLists.txt -+++ b/absl/time/CMakeLists.txt -@@ -82,10 +82,12 @@ absl_cc_library( - "internal/cctz/src/zone_info_source.cc" - COPTS - ${ABSL_DEFAULT_COPTS} -- DEPS -- $<$:${CoreFoundation}> - ) - -+if(APPLE) -+ target_link_options(time_zone PUBLIC -framework CoreFoundation) -+endif() -+ - absl_cc_library( - NAME - test_util diff --git a/recipe/clang4_osx_fix.diff b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch similarity index 56% rename from recipe/clang4_osx_fix.diff rename to recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 6f48650..aba5cd1 100644 --- a/recipe/clang4_osx_fix.diff +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,5 +1,14 @@ +From 50b8f574cfc8a6868f9fc74741c384f50e3ef540 Mon Sep 17 00:00:00 2001 +From: Francesco Biscani +Date: Sat, 21 Sep 2019 15:05:46 +0200 +Subject: [PATCH 1/3] patch out the build issue on clang4 osx + +--- + absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ + 1 file changed, 4 insertions(+) + diff --git a/absl/time/internal/cctz/include/cctz/civil_time_detail.h b/absl/time/internal/cctz/include/cctz/civil_time_detail.h -index 53e087a..3db7dca 100644 +index 8aadde5..2dac15c 100644 --- a/absl/time/internal/cctz/include/cctz/civil_time_detail.h +++ b/absl/time/internal/cctz/include/cctz/civil_time_detail.h @@ -15,6 +15,10 @@ @@ -13,3 +22,6 @@ index 53e087a..3db7dca 100644 #include #include #include +-- +2.35.1.windows.2 + diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch new file mode 100644 index 0000000..06afef1 --- /dev/null +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -0,0 +1,31 @@ +From 341b5875ad617a45600d19ac03d78e68ef8a39b0 Mon Sep 17 00:00:00 2001 +From: Francesco Biscani +Date: Sat, 21 Sep 2019 21:39:26 +0200 +Subject: [PATCH 2/3] fix for linking to the CoreFoundation framework on OSX + +--- + absl/time/CMakeLists.txt | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/absl/time/CMakeLists.txt b/absl/time/CMakeLists.txt +index f6ff8bd..ba7f65f 100644 +--- a/absl/time/CMakeLists.txt ++++ b/absl/time/CMakeLists.txt +@@ -83,10 +83,12 @@ absl_cc_library( + "internal/cctz/src/zone_info_source.cc" + COPTS + ${ABSL_DEFAULT_COPTS} +- DEPS +- $<$:${CoreFoundation}> + ) + ++if(APPLE) ++ target_link_options(time_zone PUBLIC -framework CoreFoundation) ++endif() ++ + absl_cc_library( + NAME + time_internal_test_util +-- +2.35.1.windows.2 + diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch new file mode 100644 index 0000000..b925c8d --- /dev/null +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -0,0 +1,45 @@ +From 958c72f3853ff0c7ab1d9718aedd3ec34b7e5c45 Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Thu, 30 Jul 2020 13:01:32 +0200 +Subject: [PATCH 3/3] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS + +see also https://github.com/microsoft/vcpkg/issues/13945 +--- + absl/copts/GENERATED_AbseilCopts.cmake | 4 ---- + absl/copts/copts.py | 5 +---- + 2 files changed, 1 insertion(+), 8 deletions(-) + +diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake +index a4ab1aa..f2cdfa0 100644 +--- a/absl/copts/GENERATED_AbseilCopts.cmake ++++ b/absl/copts/GENERATED_AbseilCopts.cmake +@@ -135,10 +135,6 @@ list(APPEND ABSL_MSVC_FLAGS + "/wd4800" + ) + +-list(APPEND ABSL_MSVC_LINKOPTS +- "-ignore:4221" +-) +- + list(APPEND ABSL_MSVC_TEST_FLAGS + "/wd4018" + "/wd4101" +diff --git a/absl/copts/copts.py b/absl/copts/copts.py +index 0d6c1ec..8df9275 100644 +--- a/absl/copts/copts.py ++++ b/absl/copts/copts.py +@@ -148,10 +148,7 @@ COPT_VARS = { + "/wd4996", # use of deprecated symbol + "/DNOMINMAX", # disable the min() and max() macros from + ], +- "ABSL_MSVC_LINKOPTS": [ +- # Object file doesn't export any previously undefined symbols +- "-ignore:4221", +- ], ++ "ABSL_MSVC_LINKOPTS": [], + # "HWAES" is an abbreviation for "hardware AES" (AES - Advanced Encryption + # Standard). These flags are used for detecting whether or not the target + # architecture has hardware support for AES instructions which can be used +-- +2.35.1.windows.2 + diff --git a/recipe/remove-4221.patch b/recipe/remove-4221.patch deleted file mode 100644 index 8e64adf..0000000 --- a/recipe/remove-4221.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- ./absl/copts/copts.py.oirg 2020-07-30 12:57:32.000000000 +0200 -+++ ./absl/copts/copts.py 2020-07-30 12:57:51.000000000 +0200 -@@ -182,10 +182,7 @@ - "/wd4996", # use of deprecated symbol - "/DNOMINMAX", # disable the min() and max() macros from - ], -- "ABSL_MSVC_LINKOPTS": [ -- # Object file doesn't export any previously undefined symbols -- "-ignore:4221", -- ], -+ "ABSL_MSVC_LINKOPTS": [], - # "HWAES" is an abbreviation for "hardware AES" (AES - Advanced Encryption - # Standard). These flags are used for detecting whether or not the target - # architecture has hardware support for AES instructions which can be used ---- ./absl/copts/GENERATED_AbseilCopts.cmake.orig 2020-07-30 12:57:39.000000000 +0200 -+++ ./absl/copts/GENERATED_AbseilCopts.cmake 2020-07-30 12:58:31.000000000 +0200 -@@ -184,10 +184,6 @@ - "/wd4800" - ) - --list(APPEND ABSL_MSVC_LINKOPTS -- "-ignore:4221" --) -- - list(APPEND ABSL_MSVC_TEST_FLAGS - "/wd4018" - "/wd4101" From 25985fb428419725687a7c6215692a2a730696d0 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 12:53:12 +0200 Subject: [PATCH 029/100] rebase patches --- .../0001-patch-out-the-build-issue-on-clang4-osx.patch | 6 +++--- ...for-linking-to-the-CoreFoundation-framework-on-O.patch | 8 ++++---- .../0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index aba5cd1..74963f7 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,4 +1,4 @@ -From 50b8f574cfc8a6868f9fc74741c384f50e3ef540 Mon Sep 17 00:00:00 2001 +From 336f3e70a058f6b07aa25725ea2a23a739f190ef Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 Subject: [PATCH 1/3] patch out the build issue on clang4 osx @@ -8,7 +8,7 @@ Subject: [PATCH 1/3] patch out the build issue on clang4 osx 1 file changed, 4 insertions(+) diff --git a/absl/time/internal/cctz/include/cctz/civil_time_detail.h b/absl/time/internal/cctz/include/cctz/civil_time_detail.h -index 8aadde5..2dac15c 100644 +index a5b084e6..0a9a4389 100644 --- a/absl/time/internal/cctz/include/cctz/civil_time_detail.h +++ b/absl/time/internal/cctz/include/cctz/civil_time_detail.h @@ -15,6 +15,10 @@ @@ -23,5 +23,5 @@ index 8aadde5..2dac15c 100644 #include #include -- -2.35.1.windows.2 +2.35.3.windows.1 diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index 06afef1..b7ac08e 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,4 +1,4 @@ -From 341b5875ad617a45600d19ac03d78e68ef8a39b0 Mon Sep 17 00:00:00 2001 +From a99ff2d64fb489dfc207572edb2d8a151d3c92f9 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 Subject: [PATCH 2/3] fix for linking to the CoreFoundation framework on OSX @@ -8,7 +8,7 @@ Subject: [PATCH 2/3] fix for linking to the CoreFoundation framework on OSX 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/absl/time/CMakeLists.txt b/absl/time/CMakeLists.txt -index f6ff8bd..ba7f65f 100644 +index debab3ba..4eb9ebf8 100644 --- a/absl/time/CMakeLists.txt +++ b/absl/time/CMakeLists.txt @@ -83,10 +83,12 @@ absl_cc_library( @@ -23,9 +23,9 @@ index f6ff8bd..ba7f65f 100644 + target_link_options(time_zone PUBLIC -framework CoreFoundation) +endif() + + # Internal-only target, do not depend on directly. absl_cc_library( NAME - time_internal_test_util -- -2.35.1.windows.2 +2.35.3.windows.1 diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index b925c8d..71e8b2d 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,4 +1,4 @@ -From 958c72f3853ff0c7ab1d9718aedd3ec34b7e5c45 Mon Sep 17 00:00:00 2001 +From 1a77917fe7c5c3feece1a608d5537f848f4e930f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 Subject: [PATCH 3/3] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS @@ -10,7 +10,7 @@ see also https://github.com/microsoft/vcpkg/issues/13945 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake -index a4ab1aa..f2cdfa0 100644 +index a4ab1aa2..f2cdfa0c 100644 --- a/absl/copts/GENERATED_AbseilCopts.cmake +++ b/absl/copts/GENERATED_AbseilCopts.cmake @@ -135,10 +135,6 @@ list(APPEND ABSL_MSVC_FLAGS @@ -25,7 +25,7 @@ index a4ab1aa..f2cdfa0 100644 "/wd4018" "/wd4101" diff --git a/absl/copts/copts.py b/absl/copts/copts.py -index 0d6c1ec..8df9275 100644 +index 0d6c1ec3..8df92751 100644 --- a/absl/copts/copts.py +++ b/absl/copts/copts.py @@ -148,10 +148,7 @@ COPT_VARS = { @@ -41,5 +41,5 @@ index 0d6c1ec..8df9275 100644 # Standard). These flags are used for detecting whether or not the target # architecture has hardware support for AES instructions which can be used -- -2.35.1.windows.2 +2.35.3.windows.1 From 453eb00721c730cdf60c690d9720cb4404178a78 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:38:21 +0200 Subject: [PATCH 030/100] add patch for osx --- recipe/meta.yaml | 1 + ...ch-out-the-build-issue-on-clang4-osx.patch | 2 +- ...to-the-CoreFoundation-framework-on-O.patch | 2 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 2 +- .../0004-add-missing-osx-workaround.patch | 27 +++++++++++++++++++ 5 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 recipe/patches/0004-add-missing-osx-workaround.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1a1b264..196a3c2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,6 +12,7 @@ source: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch - patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch + - patches/0004-add-missing-osx-workaround.patch build: number: 0 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 74963f7..9becb87 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From 336f3e70a058f6b07aa25725ea2a23a739f190ef Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/3] patch out the build issue on clang4 osx +Subject: [PATCH 1/4] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index b7ac08e..94ae4cf 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From a99ff2d64fb489dfc207572edb2d8a151d3c92f9 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/3] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/4] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 71e8b2d..bea3002 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From 1a77917fe7c5c3feece1a608d5537f848f4e930f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/3] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/4] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch new file mode 100644 index 0000000..a5a2754 --- /dev/null +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -0,0 +1,27 @@ +From 3b5f3943a593d5c7544b594d0bd6eec569d26067 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Fri, 1 Jul 2022 13:37:17 +0200 +Subject: [PATCH 4/4] add missing osx workaround + +--- + absl/debugging/internal/examine_stack.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc +index 5bdd341e..e86f384f 100644 +--- a/absl/debugging/internal/examine_stack.cc ++++ b/absl/debugging/internal/examine_stack.cc +@@ -26,6 +26,10 @@ + #include + #endif + ++#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS) ++#define MAP_ANONYMOUS MAP_ANON ++#endif ++ + #if defined(__linux__) || defined(__APPLE__) + #include + #endif +-- +2.35.3.windows.1 + From 8a2ee0728685673fa09dfd5aa57525282e52d56a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:39:30 +0200 Subject: [PATCH 031/100] remove useless variable --- recipe/meta.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 196a3c2..7d3953f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,12 +1,11 @@ -{% set name = "abseil-cpp" %} {% set version = "20220623.0" %} package: - name: {{ name|lower }} + name: abseil-cpp version: {{ version }} source: - url: https://github.com/abseil/{{ name }}/archive/{{ version }}.tar.gz + url: https://github.com/abseil/abseil-cpp/archive/{{ version }}.tar.gz sha256: 4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch From 313c553bafd5d542c75ed625141e9267070eccfb Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 25 May 2022 13:11:53 +0200 Subject: [PATCH 032/100] turn into multi-output recipe --- recipe/{bld.bat => build-abseil.bat} | 0 recipe/{build.sh => build-abseil.sh} | 0 recipe/meta.yaml | 69 ++++++++++++++++------------ 3 files changed, 39 insertions(+), 30 deletions(-) rename recipe/{bld.bat => build-abseil.bat} (100%) rename recipe/{build.sh => build-abseil.sh} (100%) diff --git a/recipe/bld.bat b/recipe/build-abseil.bat similarity index 100% rename from recipe/bld.bat rename to recipe/build-abseil.bat diff --git a/recipe/build.sh b/recipe/build-abseil.sh similarity index 100% rename from recipe/build.sh rename to recipe/build-abseil.sh diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7d3953f..15d7810 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,16 @@ {% set version = "20220623.0" %} +{% set absl_libs = [ + "base", "civil_time", "cord", "cordz_functions", "cordz_handle", "cordz_info", + "cordz_sample_token", "examine_stack", "exponential_biased", "failure_signal_handler", + "flags", "flags_commandlineflag", "flags_config", "flags_marshalling", "flags_parse", + "flags_private_handle_accessor", "flags_program_name", "flags_reflection", "flags_usage", + "hash", "hashtablez_sampler", "int128", "log_severity", "low_level_hash", "periodic_sampler", + "random_distributions", "random_seed_gen_exception", "random_seed_sequences", "raw_hash_set", + "scoped_set_env", "spinlock_wait", "stacktrace", "status", "statusor", "strerror", "strings", + "symbolize", "synchronization", "time", "time_zone" +] %} + package: name: abseil-cpp version: {{ version }} @@ -18,38 +29,36 @@ build: run_exports: - {{ pin_subpackage("abseil-cpp", max_pin="x.x") }} -requirements: - build: - - {{ compiler('c') }} - - {{ compiler('cxx') }} - - cmake - - ninja +outputs: + - name: abseil-cpp + script: build-abseil.sh # [unix] + script: build-abseil.bat # [win] + build: + run_exports: + - {{ pin_subpackage("abseil-cpp", max_pin="x.x") }} -{% set absl_libs = [ - "base", "civil_time", "cord", "cordz_functions", "cordz_handle", "cordz_info", - "cordz_sample_token", "examine_stack", "exponential_biased", "failure_signal_handler", - "flags", "flags_commandlineflag", "flags_config", "flags_marshalling", "flags_parse", - "flags_private_handle_accessor", "flags_program_name", "flags_reflection", "flags_usage", - "hash", "hashtablez_sampler", "int128", "log_severity", "low_level_hash", "periodic_sampler", - "random_distributions", "random_seed_gen_exception", "random_seed_sequences", "raw_hash_set", - "scoped_set_env", "spinlock_wait", "stacktrace", "status", "statusor", "strerror", "strings", - "symbolize", "synchronization", "time", "time_zone" -] %} -test: - commands: - # windows (DLL + import library) - - if not exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] - - if not exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] + requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + - ninja + + test: + commands: + # windows-only (almost-)all-in-one DLL + import library + - if not exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] - # absl_libs - {% for each_lib in absl_libs %} - # presence of shared libs - - test -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] - # absence of static libs - - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] - # TODO: do we want to get rid of the static windows libs? - # - if exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] - {% endfor %} + # absl_* libraries + {% for each_lib in absl_libs %} + # presence of shared libs + - test -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] + # absence of static libs + - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] + # TODO: do we want to get rid of the static windows libs? + # - if exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] + {% endfor %} about: home: https://github.com/abseil/abseil-cpp From 01dd75338020c435691a913ccc24a01d1128692a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 4 Aug 2022 19:00:28 +0200 Subject: [PATCH 033/100] backport patch that avoids unnecessary static libs in DLL build --- recipe/meta.yaml | 3 + ...ch-out-the-build-issue-on-clang4-osx.patch | 4 +- ...to-the-CoreFoundation-framework-on-O.patch | 4 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 4 +- .../0004-add-missing-osx-workaround.patch | 4 +- ...lphabetize-ABSL_INTERNAL_DLL_TARGETS.patch | 224 ++++++++++++++++++ ...tatic-libs-on-windows-when-BUILD_SHA.patch | 61 +++++ 7 files changed, 296 insertions(+), 8 deletions(-) create mode 100644 recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch create mode 100644 recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 15d7810..28e0148 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,6 +23,9 @@ source: - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch - patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch - patches/0004-add-missing-osx-workaround.patch + # backport of https://github.com/abseil/abseil-cpp/pull/1115 (two commits) + - patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch + - patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch build: number: 0 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 9becb87..e4d6dfd 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From 336f3e70a058f6b07aa25725ea2a23a739f190ef Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/4] patch out the build issue on clang4 osx +Subject: [PATCH 1/6] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ @@ -23,5 +23,5 @@ index a5b084e6..0a9a4389 100644 #include #include -- -2.35.3.windows.1 +2.37.0.windows.1 diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index 94ae4cf..fa522fe 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From a99ff2d64fb489dfc207572edb2d8a151d3c92f9 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/4] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/6] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- @@ -27,5 +27,5 @@ index debab3ba..4eb9ebf8 100644 absl_cc_library( NAME -- -2.35.3.windows.1 +2.37.0.windows.1 diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index bea3002..203c62e 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From 1a77917fe7c5c3feece1a608d5537f848f4e930f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/4] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/6] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- @@ -41,5 +41,5 @@ index 0d6c1ec3..8df92751 100644 # Standard). These flags are used for detecting whether or not the target # architecture has hardware support for AES instructions which can be used -- -2.35.3.windows.1 +2.37.0.windows.1 diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index a5a2754..2eb2695 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From 3b5f3943a593d5c7544b594d0bd6eec569d26067 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/4] add missing osx workaround +Subject: [PATCH 4/6] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ @@ -23,5 +23,5 @@ index 5bdd341e..e86f384f 100644 #include #endif -- -2.35.3.windows.1 +2.37.0.windows.1 diff --git a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch new file mode 100644 index 0000000..5bf6783 --- /dev/null +++ b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch @@ -0,0 +1,224 @@ +From fa9d0f4abb4c4a3112e2c1faa3138206354bd6c4 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Wed, 2 Mar 2022 08:07:20 +1100 +Subject: [PATCH 5/6] alphabetize ABSL_INTERNAL_DLL_TARGETS + +this is a pure reshuffle; no additions/deletions +--- + CMake/AbseilDll.cmake | 172 +++++++++++++++++++++--------------------- + 1 file changed, 86 insertions(+), 86 deletions(-) + +diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake +index 00cddb84..5638ed66 100644 +--- a/CMake/AbseilDll.cmake ++++ b/CMake/AbseilDll.cmake +@@ -353,120 +353,120 @@ set(ABSL_INTERNAL_DLL_FILES + ) + + set(ABSL_INTERNAL_DLL_TARGETS +- "stacktrace" +- "symbolize" +- "examine_stack" +- "failure_signal_handler" +- "debugging_internal" +- "demangle_internal" +- "leak_check" +- "stack_consumption" +- "debugging" +- "hash" +- "spy_hash_state" +- "city" +- "memory" +- "strings" +- "strings_internal" +- "cord" +- "str_format" +- "str_format_internal" +- "pow10_helper" +- "int128" +- "numeric" +- "utility" ++ "algorithm" ++ "algorithm_container" + "any" ++ "any_invocable" ++ "atomic_hook" + "bad_any_cast" + "bad_any_cast_impl" +- "span" +- "optional" + "bad_optional_access" + "bad_variant_access" +- "variant" +- "compare" +- "algorithm" +- "algorithm_container" +- "graphcycles_internal" +- "kernel_timeout_internal" +- "synchronization" +- "thread_pool" +- "any_invocable" ++ "base" ++ "base_internal" + "bind_front" +- "function_ref" +- "atomic_hook" +- "log_severity" +- "raw_logging_internal" +- "spinlock_wait" ++ "bits" ++ "btree" ++ "city" ++ "civil_time" ++ "compare" ++ "compressed_tuple" + "config" +- "dynamic_annotations" ++ "container" ++ "container_common" ++ "container_memory" ++ "cord" + "core_headers" +- "malloc_internal" +- "base_internal" +- "base" +- "throw_delegate" +- "pretty_function" ++ "counting_allocator" ++ "debugging" ++ "debugging_internal" ++ "demangle_internal" ++ "dynamic_annotations" + "endian" +- "bits" ++ "examine_stack" + "exponential_biased" +- "periodic_sampler" +- "scoped_set_env" +- "type_traits" ++ "failure_signal_handler" ++ "fixed_array" ++ "flat_hash_map" ++ "flat_hash_set" ++ "function_ref" ++ "graphcycles_internal" ++ "hash" ++ "hash_function_defaults" ++ "hash_policy_traits" ++ "hashtable_debug" ++ "hashtable_debug_hooks" ++ "hashtablez_sampler" ++ "inlined_vector" ++ "inlined_vector_internal" ++ "int128" ++ "kernel_timeout_internal" ++ "layout" ++ "leak_check" ++ "log_severity" ++ "malloc_internal" ++ "memory" + "meta" +- "random_random" ++ "node_hash_map" ++ "node_hash_set" ++ "node_slot_policy" ++ "numeric" ++ "optional" ++ "periodic_sampler" ++ "pow10_helper" ++ "pretty_function" + "random_bit_gen_ref" + "random_distributions" +- "random_seed_gen_exception" +- "random_seed_sequences" +- "random_internal_traits" + "random_internal_distribution_caller" + "random_internal_distributions" +- "random_internal_fast_uniform_bits" +- "random_internal_seed_material" +- "random_internal_pool_urbg" + "random_internal_explicit_seed_seq" +- "random_internal_sequence_urbg" +- "random_internal_salted_seed_seq" +- "random_internal_iostream_state_saver" +- "random_internal_generate_real" +- "random_internal_wide_multiply" ++ "random_internal_fast_uniform_bits" + "random_internal_fastmath" ++ "random_internal_generate_real" ++ "random_internal_iostream_state_saver" + "random_internal_nonsecure_base" + "random_internal_pcg_engine" +- "random_internal_randen_engine" + "random_internal_platform" ++ "random_internal_pool_urbg" + "random_internal_randen" +- "random_internal_randen_slow" ++ "random_internal_randen_engine" + "random_internal_randen_hwaes" + "random_internal_randen_hwaes_impl" ++ "random_internal_randen_slow" ++ "random_internal_salted_seed_seq" ++ "random_internal_seed_material" ++ "random_internal_sequence_urbg" ++ "random_internal_traits" + "random_internal_uniform_helper" ++ "random_internal_wide_multiply" ++ "random_random" ++ "random_seed_gen_exception" ++ "random_seed_sequences" ++ "raw_hash_map" ++ "raw_hash_set" ++ "raw_logging_internal" ++ "sample_recorder" ++ "scoped_set_env" ++ "span" ++ "spinlock_wait" ++ "spy_hash_state" ++ "stack_consumption" ++ "stacktrace" + "status" ++ "str_format" ++ "str_format_internal" ++ "strings" ++ "strings_internal" ++ "symbolize" ++ "synchronization" ++ "thread_pool" ++ "throw_delegate" + "time" +- "civil_time" + "time_zone" +- "container" +- "btree" +- "compressed_tuple" +- "fixed_array" +- "inlined_vector_internal" +- "inlined_vector" +- "counting_allocator" +- "flat_hash_map" +- "flat_hash_set" +- "node_hash_map" +- "node_hash_set" +- "container_memory" +- "hash_function_defaults" +- "hash_policy_traits" +- "hashtablez_sampler" +- "hashtable_debug" +- "hashtable_debug_hooks" +- "node_slot_policy" +- "raw_hash_map" +- "container_common" +- "raw_hash_set" +- "layout" + "tracked" +- "sample_recorder" ++ "type_traits" ++ "utility" ++ "variant" + ) + + function(absl_internal_dll_contains) +-- +2.37.0.windows.1 + diff --git a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch new file mode 100644 index 0000000..848bd04 --- /dev/null +++ b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch @@ -0,0 +1,61 @@ +From 5b0225562085b17749a04a57cd6e89e8926c7053 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Wed, 2 Mar 2022 13:43:37 +1100 +Subject: [PATCH 6/6] avoid building static libs on windows when + BUILD_SHARED_LIBS=ON + +except all flags_* libraries, for which DLL builds on windows +are not supported + +To do this, expand list of ABSL_INTERNAL_DLL_TARGETS; this +is due to how the logic of absl_internal_dll_contains checks +whether additional static libraries should be built, compare +https://github.com/abseil/abseil-cpp/blob/20211102.0/CMake/AbseilHelpers.cmake#L112-L132 +--- + CMake/AbseilDll.cmake | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake +index 5638ed66..b9a3664b 100644 +--- a/CMake/AbseilDll.cmake ++++ b/CMake/AbseilDll.cmake +@@ -376,6 +376,11 @@ set(ABSL_INTERNAL_DLL_TARGETS + "container_common" + "container_memory" + "cord" ++ "cord_internal" ++ "cordz_functions" ++ "cordz_handle" ++ "cordz_info" ++ "cordz_sample_token" + "core_headers" + "counting_allocator" + "debugging" +@@ -404,6 +409,7 @@ set(ABSL_INTERNAL_DLL_TARGETS + "layout" + "leak_check" + "log_severity" ++ "low_level_hash" + "malloc_internal" + "memory" + "meta" +@@ -418,6 +424,7 @@ set(ABSL_INTERNAL_DLL_TARGETS + "random_bit_gen_ref" + "random_distributions" + "random_internal_distribution_caller" ++ "random_internal_distribution_test_util" + "random_internal_distributions" + "random_internal_explicit_seed_seq" + "random_internal_fast_uniform_bits" +@@ -453,6 +460,8 @@ set(ABSL_INTERNAL_DLL_TARGETS + "stack_consumption" + "stacktrace" + "status" ++ "statusor" ++ "strerror" + "str_format" + "str_format_internal" + "strings" +-- +2.37.0.windows.1 + From 796c60c2e1955276c33361e93919d26ca8e38a59 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 4 Aug 2022 19:28:00 +0200 Subject: [PATCH 034/100] add libabseil{,-static}; build against several cxx standards --- recipe/build-abseil.bat | 5 +- recipe/build-abseil.sh | 7 +-- recipe/conda_build_config.yaml | 14 ++++++ recipe/meta.yaml | 91 ++++++++++++++++++++++++++++++---- 4 files changed, 102 insertions(+), 15 deletions(-) create mode 100644 recipe/conda_build_config.yaml diff --git a/recipe/build-abseil.bat b/recipe/build-abseil.bat index c025067..c2e91f5 100644 --- a/recipe/build-abseil.bat +++ b/recipe/build-abseil.bat @@ -3,10 +3,11 @@ mkdir build cd build cmake -GNinja ^ + -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ - -DCMAKE_BUILD_TYPE=Release ^ - -DBUILD_SHARED_LIBS=ON ^ + -DCMAKE_CXX_STANDARD=%cxx_standard% ^ + -DBUILD_SHARED_LIBS=%shared_libs% ^ .. if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/build-abseil.sh b/recipe/build-abseil.sh index 77b00d1..25186cc 100644 --- a/recipe/build-abseil.sh +++ b/recipe/build-abseil.sh @@ -6,12 +6,13 @@ mkdir -p build cd build cmake ${CMAKE_ARGS} \ - -DBUILD_SHARED_LIBS=ON \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_CXX_STANDARD=${cxx_standard} \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_PREFIX_PATH=${PREFIX} \ + -DBUILD_SHARED_LIBS=${shared_libs} \ -GNinja \ .. -ninja install +cmake --build . +cmake --install . diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 0000000..0adbf5d --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,14 @@ +cxx_standard: + - 11 + - 14 + - 17 + - 17 +shared_libs: + - OFF + - OFF + - OFF + - ON +zip_keys: + - + - cxx_standard + - shared_libs diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 28e0148..07dc261 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,10 +1,15 @@ {% set version = "20220623.0" %} -{% set absl_libs = [ +# shared builds for flags_* libraries are not supported on windows, see +# https://github.com/abseil/abseil-cpp/pull/1115 +{% set absl_libs_always_static_on_win = [ + "flags", "flags_commandlineflag", "flags_config", "flags_marshalling", "flags_parse", + "flags_private_handle_accessor", "flags_program_name", "flags_reflection", "flags_usage" +] %} + +{% set absl_libs = absl_libs_always_static_on_win + [ "base", "civil_time", "cord", "cordz_functions", "cordz_handle", "cordz_info", "cordz_sample_token", "examine_stack", "exponential_biased", "failure_signal_handler", - "flags", "flags_commandlineflag", "flags_config", "flags_marshalling", "flags_parse", - "flags_private_handle_accessor", "flags_program_name", "flags_reflection", "flags_usage", "hash", "hashtablez_sampler", "int128", "log_severity", "low_level_hash", "periodic_sampler", "random_distributions", "random_seed_gen_exception", "random_seed_sequences", "raw_hash_set", "scoped_set_env", "spinlock_wait", "stacktrace", "status", "statusor", "strerror", "strings", @@ -12,7 +17,7 @@ ] %} package: - name: abseil-cpp + name: abseil-split version: {{ version }} source: @@ -29,16 +34,18 @@ source: build: number: 0 - run_exports: - - {{ pin_subpackage("abseil-cpp", max_pin="x.x") }} outputs: - - name: abseil-cpp + {% if shared_libs == "ON" %} + # default behaviour is shared; however note that upstream does not support + # fully shared builds on windows, and some static libs will remain, see above + - name: libabseil script: build-abseil.sh # [unix] script: build-abseil.bat # [win] build: + string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} run_exports: - - {{ pin_subpackage("abseil-cpp", max_pin="x.x") }} + - libabseil ={{ version }}=cxx{{ cxx_standard }}* requirements: build: @@ -46,6 +53,9 @@ outputs: - {{ compiler('cxx') }} - cmake - ninja + run_constrained: + # make sure we don't co-install with old version of old package name + - abseil-cpp ={{ version }} test: commands: @@ -59,10 +69,70 @@ outputs: - test -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] # absence of static libs - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] - # TODO: do we want to get rid of the static windows libs? - # - if exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] + + # some static libs remain on windows even for shared builds, see above + {% if each_lib in absl_libs_always_static_on_win %} + - if not exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] + {% else %} + - if exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] + {% endif %} + {% endfor %} + + {% else %} # shared_libs == "OFF" + + - name: libabseil-static + script: build-abseil.sh # [unix] + script: build-abseil.bat # [win] + build: + string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} + # no run_export necessary for static lib + + requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + - ninja + run_constrained: + # make sure we don't co-install with old version of old package name + - abseil-cpp ={{ version }} + test: + commands: + # absence of DLL on windows + - if exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] + - if exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] + + {% for each_lib in absl_libs %} + # presence of static libs + - test -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] + - if not exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] + # absence of shared libs + - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] {% endfor %} + {% endif %} # shared_libs == "ON" / "OFF" + + # for compatibility with previous behavior of "abseil-cpp" + {% if (unix and ((shared_libs == "ON") and (cxx_standard == "17"))) + or (win and ((shared_libs == "OFF") and (cxx_standard == "11"))) %} + - name: abseil-cpp + build: + run_exports: # [unix] + - libabseil ={{ version }}=cxx{{ cxx_standard }}* # [unix] + requirements: + host: + # cxx-versions enforced through jinja-if-condition above + - {{ pin_subpackage('libabseil', exact=True) }} # [unix] + - {{ pin_subpackage('libabseil-static', exact=True) }} # [win] + run: + - {{ pin_subpackage('libabseil', exact=True) }} # [unix] + - {{ pin_subpackage('libabseil-static', exact=True) }} # [win] + test: + commands: + # tested in other outputs + - echo "hello" + {% endif %} + about: home: https://github.com/abseil/abseil-cpp license: Apache-2.0 @@ -81,3 +151,4 @@ extra: - bluescarni - xhochy - h-vetinari + feedstock-name: abseil-cpp From 2466864546ac4bd62f084a91a4aa0e47a773cbb9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 4 Aug 2022 19:35:43 +0200 Subject: [PATCH 035/100] MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.1, and conda-forge-pinning 2022.08.04.07.32.40 --- .azure-pipelines/azure-pipelines-linux.yml | 48 +++++- .azure-pipelines/azure-pipelines-osx.yml | 28 +++- .azure-pipelines/azure-pipelines-win.yml | 13 +- ...linux_64_cxx_standard11shared_libsOFF.yaml | 27 +++ ...linux_64_cxx_standard14shared_libsOFF.yaml | 27 +++ ...linux_64_cxx_standard17shared_libsOFF.yaml | 27 +++ ...linux_64_cxx_standard17shared_libsON.yaml} | 6 + ..._aarch64_cxx_standard11shared_libsOFF.yaml | 31 ++++ ..._aarch64_cxx_standard14shared_libsOFF.yaml | 31 ++++ ..._aarch64_cxx_standard17shared_libsOFF.yaml | 31 ++++ ..._aarch64_cxx_standard17shared_libsON.yaml} | 6 + ..._ppc64le_cxx_standard11shared_libsOFF.yaml | 27 +++ ..._ppc64le_cxx_standard14shared_libsOFF.yaml | 27 +++ ..._ppc64le_cxx_standard17shared_libsOFF.yaml | 27 +++ ..._ppc64le_cxx_standard17shared_libsON.yaml} | 6 + .../osx_64_cxx_standard11shared_libsOFF.yaml | 27 +++ .../osx_64_cxx_standard14shared_libsOFF.yaml | 27 +++ .../osx_64_cxx_standard17shared_libsOFF.yaml | 27 +++ ...> osx_64_cxx_standard17shared_libsON.yaml} | 6 + ...sx_arm64_cxx_standard11shared_libsOFF.yaml | 27 +++ ...sx_arm64_cxx_standard14shared_libsOFF.yaml | 27 +++ ...sx_arm64_cxx_standard17shared_libsOFF.yaml | 27 +++ ...sx_arm64_cxx_standard17shared_libsON.yaml} | 6 + .../win_64_cxx_standard11shared_libsOFF.yaml | 17 ++ .../win_64_cxx_standard14shared_libsOFF.yaml | 17 ++ .../win_64_cxx_standard17shared_libsOFF.yaml | 17 ++ ...> win_64_cxx_standard17shared_libsON.yaml} | 7 + README.md | 158 ++++++++++++++++-- 28 files changed, 724 insertions(+), 28 deletions(-) create mode 100644 .ci_support/linux_64_cxx_standard11shared_libsOFF.yaml create mode 100644 .ci_support/linux_64_cxx_standard14shared_libsOFF.yaml create mode 100644 .ci_support/linux_64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{linux_64_.yaml => linux_64_cxx_standard17shared_libsON.yaml} (81%) create mode 100644 .ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml create mode 100644 .ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml create mode 100644 .ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{linux_aarch64_.yaml => linux_aarch64_cxx_standard17shared_libsON.yaml} (83%) create mode 100644 .ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml create mode 100644 .ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml create mode 100644 .ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml rename .ci_support/{linux_ppc64le_.yaml => linux_ppc64le_cxx_standard17shared_libsON.yaml} (81%) create mode 100644 .ci_support/osx_64_cxx_standard11shared_libsOFF.yaml create mode 100644 .ci_support/osx_64_cxx_standard14shared_libsOFF.yaml create mode 100644 .ci_support/osx_64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{osx_64_.yaml => osx_64_cxx_standard17shared_libsON.yaml} (81%) create mode 100644 .ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml create mode 100644 .ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml create mode 100644 .ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{osx_arm64_.yaml => osx_arm64_cxx_standard17shared_libsON.yaml} (81%) create mode 100644 .ci_support/win_64_cxx_standard11shared_libsOFF.yaml create mode 100644 .ci_support/win_64_cxx_standard14shared_libsOFF.yaml create mode 100644 .ci_support/win_64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{win_64_.yaml => win_64_cxx_standard17shared_libsON.yaml} (61%) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 3b9dee7..8049727 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,16 +8,52 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_: - CONFIG: linux_64_ + linux_64_cxx_standard11shared_libsOFF: + CONFIG: linux_64_cxx_standard11shared_libsOFF UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_: - CONFIG: linux_aarch64_ + linux_64_cxx_standard14shared_libsOFF: + CONFIG: linux_64_cxx_standard14shared_libsOFF UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_: - CONFIG: linux_ppc64le_ + linux_64_cxx_standard17shared_libsOFF: + CONFIG: linux_64_cxx_standard17shared_libsOFF + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_cxx_standard17shared_libsON: + CONFIG: linux_64_cxx_standard17shared_libsON + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_cxx_standard11shared_libsOFF: + CONFIG: linux_aarch64_cxx_standard11shared_libsOFF + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_cxx_standard14shared_libsOFF: + CONFIG: linux_aarch64_cxx_standard14shared_libsOFF + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_cxx_standard17shared_libsOFF: + CONFIG: linux_aarch64_cxx_standard17shared_libsOFF + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_cxx_standard17shared_libsON: + CONFIG: linux_aarch64_cxx_standard17shared_libsON + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_cxx_standard11shared_libsOFF: + CONFIG: linux_ppc64le_cxx_standard11shared_libsOFF + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_cxx_standard14shared_libsOFF: + CONFIG: linux_ppc64le_cxx_standard14shared_libsOFF + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_cxx_standard17shared_libsOFF: + CONFIG: linux_ppc64le_cxx_standard17shared_libsOFF + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_cxx_standard17shared_libsON: + CONFIG: linux_ppc64le_cxx_standard17shared_libsON UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 84d4f42..7901621 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,14 +5,32 @@ jobs: - job: osx pool: - vmImage: macOS-10.15 + vmImage: macOS-11 strategy: matrix: - osx_64_: - CONFIG: osx_64_ + osx_64_cxx_standard11shared_libsOFF: + CONFIG: osx_64_cxx_standard11shared_libsOFF UPLOAD_PACKAGES: 'True' - osx_arm64_: - CONFIG: osx_arm64_ + osx_64_cxx_standard14shared_libsOFF: + CONFIG: osx_64_cxx_standard14shared_libsOFF + UPLOAD_PACKAGES: 'True' + osx_64_cxx_standard17shared_libsOFF: + CONFIG: osx_64_cxx_standard17shared_libsOFF + UPLOAD_PACKAGES: 'True' + osx_64_cxx_standard17shared_libsON: + CONFIG: osx_64_cxx_standard17shared_libsON + UPLOAD_PACKAGES: 'True' + osx_arm64_cxx_standard11shared_libsOFF: + CONFIG: osx_arm64_cxx_standard11shared_libsOFF + UPLOAD_PACKAGES: 'True' + osx_arm64_cxx_standard14shared_libsOFF: + CONFIG: osx_arm64_cxx_standard14shared_libsOFF + UPLOAD_PACKAGES: 'True' + osx_arm64_cxx_standard17shared_libsOFF: + CONFIG: osx_arm64_cxx_standard17shared_libsOFF + UPLOAD_PACKAGES: 'True' + osx_arm64_cxx_standard17shared_libsON: + CONFIG: osx_arm64_cxx_standard17shared_libsON UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 8a0bcae..52e4693 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,8 +8,17 @@ jobs: vmImage: windows-2019 strategy: matrix: - win_64_: - CONFIG: win_64_ + win_64_cxx_standard11shared_libsOFF: + CONFIG: win_64_cxx_standard11shared_libsOFF + UPLOAD_PACKAGES: 'True' + win_64_cxx_standard14shared_libsOFF: + CONFIG: win_64_cxx_standard14shared_libsOFF + UPLOAD_PACKAGES: 'True' + win_64_cxx_standard17shared_libsOFF: + CONFIG: win_64_cxx_standard17shared_libsOFF + UPLOAD_PACKAGES: 'True' + win_64_cxx_standard17shared_libsON: + CONFIG: win_64_cxx_standard17shared_libsON UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: diff --git a/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml new file mode 100644 index 0000000..2bc12b1 --- /dev/null +++ b/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '11' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml new file mode 100644 index 0000000..2087a57 --- /dev/null +++ b/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml new file mode 100644 index 0000000..f0643f2 --- /dev/null +++ b/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '17' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_cxx_standard17shared_libsON.yaml similarity index 81% rename from .ci_support/linux_64_.yaml rename to .ci_support/linux_64_cxx_standard17shared_libsON.yaml index c58cd1b..8fea4e6 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_cxx_standard17shared_libsON.yaml @@ -12,10 +12,16 @@ cxx_compiler: - gxx cxx_compiler_version: - '10' +cxx_standard: +- '17' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'ON' target_platform: - linux-64 zip_keys: - - c_compiler_version - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml new file mode 100644 index 0000000..92b5aff --- /dev/null +++ b/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml @@ -0,0 +1,31 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '11' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml new file mode 100644 index 0000000..6c553bf --- /dev/null +++ b/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml @@ -0,0 +1,31 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml new file mode 100644 index 0000000..228642e --- /dev/null +++ b/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml @@ -0,0 +1,31 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '17' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml similarity index 83% rename from .ci_support/linux_aarch64_.yaml rename to .ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml index af43d68..56fa89d 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml @@ -16,10 +16,16 @@ cxx_compiler: - gxx cxx_compiler_version: - '10' +cxx_standard: +- '17' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'ON' target_platform: - linux-aarch64 zip_keys: - - c_compiler_version - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml new file mode 100644 index 0000000..0e7befe --- /dev/null +++ b/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '11' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml new file mode 100644 index 0000000..22d5a4e --- /dev/null +++ b/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml new file mode 100644 index 0000000..d7d07ad --- /dev/null +++ b/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '10' +cxx_standard: +- '17' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'OFF' +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml similarity index 81% rename from .ci_support/linux_ppc64le_.yaml rename to .ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml index 0298371..2b76f7e 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml @@ -12,10 +12,16 @@ cxx_compiler: - gxx cxx_compiler_version: - '10' +cxx_standard: +- '17' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +shared_libs: +- 'ON' target_platform: - linux-ppc64le zip_keys: - - c_compiler_version - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml new file mode 100644 index 0000000..21cdf87 --- /dev/null +++ b/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +c_compiler: +- clang +c_compiler_version: +- '13' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '13' +cxx_standard: +- '11' +macos_machine: +- x86_64-apple-darwin13.4.0 +shared_libs: +- 'OFF' +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml new file mode 100644 index 0000000..67c626d --- /dev/null +++ b/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +c_compiler: +- clang +c_compiler_version: +- '13' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '13' +cxx_standard: +- '14' +macos_machine: +- x86_64-apple-darwin13.4.0 +shared_libs: +- 'OFF' +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml new file mode 100644 index 0000000..730f5f1 --- /dev/null +++ b/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +c_compiler: +- clang +c_compiler_version: +- '13' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '13' +cxx_standard: +- '17' +macos_machine: +- x86_64-apple-darwin13.4.0 +shared_libs: +- 'OFF' +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_cxx_standard17shared_libsON.yaml similarity index 81% rename from .ci_support/osx_64_.yaml rename to .ci_support/osx_64_cxx_standard17shared_libsON.yaml index b65c9ea..9becdd8 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_cxx_standard17shared_libsON.yaml @@ -12,10 +12,16 @@ cxx_compiler: - clangxx cxx_compiler_version: - '13' +cxx_standard: +- '17' macos_machine: - x86_64-apple-darwin13.4.0 +shared_libs: +- 'ON' target_platform: - osx-64 zip_keys: - - c_compiler_version - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml new file mode 100644 index 0000000..80aa7bd --- /dev/null +++ b/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '13' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '13' +cxx_standard: +- '11' +macos_machine: +- arm64-apple-darwin20.0.0 +shared_libs: +- 'OFF' +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml new file mode 100644 index 0000000..88aece7 --- /dev/null +++ b/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '13' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '13' +cxx_standard: +- '14' +macos_machine: +- arm64-apple-darwin20.0.0 +shared_libs: +- 'OFF' +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml new file mode 100644 index 0000000..d763b44 --- /dev/null +++ b/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '13' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '13' +cxx_standard: +- '17' +macos_machine: +- arm64-apple-darwin20.0.0 +shared_libs: +- 'OFF' +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_cxx_standard17shared_libsON.yaml similarity index 81% rename from .ci_support/osx_arm64_.yaml rename to .ci_support/osx_arm64_cxx_standard17shared_libsON.yaml index e398c78..94247f9 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_cxx_standard17shared_libsON.yaml @@ -12,10 +12,16 @@ cxx_compiler: - clangxx cxx_compiler_version: - '13' +cxx_standard: +- '17' macos_machine: - arm64-apple-darwin20.0.0 +shared_libs: +- 'ON' target_platform: - osx-arm64 zip_keys: - - c_compiler_version - cxx_compiler_version +- - cxx_standard + - shared_libs diff --git a/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml new file mode 100644 index 0000000..3db5f53 --- /dev/null +++ b/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml @@ -0,0 +1,17 @@ +c_compiler: +- vs2017 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2017 +cxx_standard: +- '11' +shared_libs: +- 'OFF' +target_platform: +- win-64 +zip_keys: +- - cxx_standard + - shared_libs diff --git a/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml new file mode 100644 index 0000000..51e2315 --- /dev/null +++ b/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml @@ -0,0 +1,17 @@ +c_compiler: +- vs2017 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2017 +cxx_standard: +- '14' +shared_libs: +- 'OFF' +target_platform: +- win-64 +zip_keys: +- - cxx_standard + - shared_libs diff --git a/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml new file mode 100644 index 0000000..27eb0c0 --- /dev/null +++ b/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml @@ -0,0 +1,17 @@ +c_compiler: +- vs2017 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2017 +cxx_standard: +- '17' +shared_libs: +- 'OFF' +target_platform: +- win-64 +zip_keys: +- - cxx_standard + - shared_libs diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_cxx_standard17shared_libsON.yaml similarity index 61% rename from .ci_support/win_64_.yaml rename to .ci_support/win_64_cxx_standard17shared_libsON.yaml index d1de257..6b3f7b9 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_cxx_standard17shared_libsON.yaml @@ -6,5 +6,12 @@ channel_targets: - conda-forge main cxx_compiler: - vs2017 +cxx_standard: +- '17' +shared_libs: +- 'ON' target_platform: - win-64 +zip_keys: +- - cxx_standard + - shared_libs diff --git a/README.md b/README.md index dd630f9..e272a5e 100644 --- a/README.md +++ b/README.md @@ -35,45 +35,171 @@ Current build status
linux_64 - - variant + + variant
linux_aarch64 - - variant + + variant
linux_ppc64le - - variant + + variant
osx_64 - - variant + + variant
osx_arm64 - - variant + + variant
win_64 - - variant + + variant
- + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -90,6 +216,8 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-abseil--cpp-green.svg)](https://anaconda.org/conda-forge/abseil-cpp) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/abseil-cpp.svg)](https://anaconda.org/conda-forge/abseil-cpp) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/abseil-cpp.svg)](https://anaconda.org/conda-forge/abseil-cpp) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/abseil-cpp.svg)](https://anaconda.org/conda-forge/abseil-cpp) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libabseil-green.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libabseil--static-green.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | Installing abseil-cpp ===================== @@ -101,16 +229,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `abseil-cpp` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `abseil-cpp, libabseil, libabseil-static` can be installed with `conda`: ``` -conda install abseil-cpp +conda install abseil-cpp libabseil libabseil-static ``` or with `mamba`: ``` -mamba install abseil-cpp +mamba install abseil-cpp libabseil libabseil-static ``` It is possible to list all of the versions of `abseil-cpp` available on your platform with `conda`: From 37fcbf0ad6b00758eb76b3306bac3cf67b126a5f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 8 Aug 2022 15:19:33 +0200 Subject: [PATCH 036/100] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 07dc261..34427e4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,7 +33,7 @@ source: - patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch build: - number: 0 + number: 1 outputs: {% if shared_libs == "ON" %} From d79963119939b7f68eb532618dc269f67c4fc6dd Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 31 Aug 2022 16:15:20 +0200 Subject: [PATCH 037/100] add run-constraint between libabseil & libabseil-static --- recipe/meta.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 34427e4..f427e12 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,7 +33,7 @@ source: - patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch build: - number: 1 + number: 2 outputs: {% if shared_libs == "ON" %} @@ -54,6 +54,7 @@ outputs: - cmake - ninja run_constrained: + - libabseil-static ={{ version }}=cxx{{ cxx_standard }}* # make sure we don't co-install with old version of old package name - abseil-cpp ={{ version }} @@ -94,6 +95,7 @@ outputs: - cmake - ninja run_constrained: + - libabseil ={{ version }}=cxx{{ cxx_standard }}* # make sure we don't co-install with old version of old package name - abseil-cpp ={{ version }} test: From 1db870057fed92c69313bde36387ace83159fbc3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 31 Aug 2022 16:25:36 +0200 Subject: [PATCH 038/100] MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.08.31.13.07.05 --- .ci_support/osx_64_cxx_standard11shared_libsOFF.yaml | 4 ++-- .ci_support/osx_64_cxx_standard14shared_libsOFF.yaml | 4 ++-- .ci_support/osx_64_cxx_standard17shared_libsOFF.yaml | 4 ++-- .ci_support/osx_64_cxx_standard17shared_libsON.yaml | 4 ++-- .ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml | 4 ++-- .ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml | 4 ++-- .ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml | 4 ++-- .ci_support/osx_arm64_cxx_standard17shared_libsON.yaml | 4 ++-- .ci_support/win_64_cxx_standard11shared_libsOFF.yaml | 4 ++-- .ci_support/win_64_cxx_standard14shared_libsOFF.yaml | 4 ++-- .ci_support/win_64_cxx_standard17shared_libsOFF.yaml | 4 ++-- .ci_support/win_64_cxx_standard17shared_libsON.yaml | 4 ++-- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml index 21cdf87..cc90c32 100644 --- a/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml +++ b/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' cxx_standard: - '11' macos_machine: diff --git a/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml index 67c626d..eb8550f 100644 --- a/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml +++ b/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' cxx_standard: - '14' macos_machine: diff --git a/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml index 730f5f1..46f1a0d 100644 --- a/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml +++ b/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' cxx_standard: - '17' macos_machine: diff --git a/.ci_support/osx_64_cxx_standard17shared_libsON.yaml b/.ci_support/osx_64_cxx_standard17shared_libsON.yaml index 9becdd8..be2db02 100644 --- a/.ci_support/osx_64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/osx_64_cxx_standard17shared_libsON.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' cxx_standard: - '17' macos_machine: diff --git a/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml index 80aa7bd..065e6f8 100644 --- a/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml +++ b/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' cxx_standard: - '11' macos_machine: diff --git a/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml index 88aece7..bde511d 100644 --- a/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml +++ b/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' cxx_standard: - '14' macos_machine: diff --git a/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml index d763b44..06c3dc7 100644 --- a/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml +++ b/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' cxx_standard: - '17' macos_machine: diff --git a/.ci_support/osx_arm64_cxx_standard17shared_libsON.yaml b/.ci_support/osx_arm64_cxx_standard17shared_libsON.yaml index 94247f9..9b35349 100644 --- a/.ci_support/osx_arm64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/osx_arm64_cxx_standard17shared_libsON.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' cxx_standard: - '17' macos_machine: diff --git a/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml index 3db5f53..290ddfd 100644 --- a/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml +++ b/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml @@ -1,11 +1,11 @@ c_compiler: -- vs2017 +- vs2019 channel_sources: - conda-forge channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 cxx_standard: - '11' shared_libs: diff --git a/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml index 51e2315..601d3bb 100644 --- a/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml +++ b/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml @@ -1,11 +1,11 @@ c_compiler: -- vs2017 +- vs2019 channel_sources: - conda-forge channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 cxx_standard: - '14' shared_libs: diff --git a/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml index 27eb0c0..988f2d4 100644 --- a/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml +++ b/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml @@ -1,11 +1,11 @@ c_compiler: -- vs2017 +- vs2019 channel_sources: - conda-forge channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 cxx_standard: - '17' shared_libs: diff --git a/.ci_support/win_64_cxx_standard17shared_libsON.yaml b/.ci_support/win_64_cxx_standard17shared_libsON.yaml index 6b3f7b9..16d67e0 100644 --- a/.ci_support/win_64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/win_64_cxx_standard17shared_libsON.yaml @@ -1,11 +1,11 @@ c_compiler: -- vs2017 +- vs2019 channel_sources: - conda-forge channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 cxx_standard: - '17' shared_libs: From 95298caa8b29a108e32a26ef4aa2923395d637be Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 14:08:16 +0200 Subject: [PATCH 039/100] backport patch for ABSL_CONSUME_DLL --- recipe/meta.yaml | 4 +++- ...ch-out-the-build-issue-on-clang4-osx.patch | 4 ++-- ...to-the-CoreFoundation-framework-on-O.patch | 4 ++-- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 4 ++-- .../0004-add-missing-osx-workaround.patch | 4 ++-- ...lphabetize-ABSL_INTERNAL_DLL_TARGETS.patch | 4 ++-- ...tatic-libs-on-windows-when-BUILD_SHA.patch | 4 ++-- ...ndencies-of-the-DLL-with-ABSL_CONSUM.patch | 24 +++++++++++++++++++ 8 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f427e12..451be8a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -31,9 +31,11 @@ source: # backport of https://github.com/abseil/abseil-cpp/pull/1115 (two commits) - patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch - patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch + # backport https://github.com/abseil/abseil-cpp/pull/1269 + - patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch build: - number: 2 + number: 3 outputs: {% if shared_libs == "ON" %} diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index e4d6dfd..ee1c98c 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From 336f3e70a058f6b07aa25725ea2a23a739f190ef Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/6] patch out the build issue on clang4 osx +Subject: [PATCH 1/7] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ @@ -23,5 +23,5 @@ index a5b084e6..0a9a4389 100644 #include #include -- -2.37.0.windows.1 +2.37.3.windows.1 diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index fa522fe..e82f638 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From a99ff2d64fb489dfc207572edb2d8a151d3c92f9 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/6] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/7] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- @@ -27,5 +27,5 @@ index debab3ba..4eb9ebf8 100644 absl_cc_library( NAME -- -2.37.0.windows.1 +2.37.3.windows.1 diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 203c62e..1672ed1 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From 1a77917fe7c5c3feece1a608d5537f848f4e930f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/6] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/7] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- @@ -41,5 +41,5 @@ index 0d6c1ec3..8df92751 100644 # Standard). These flags are used for detecting whether or not the target # architecture has hardware support for AES instructions which can be used -- -2.37.0.windows.1 +2.37.3.windows.1 diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index 2eb2695..a65b995 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From 3b5f3943a593d5c7544b594d0bd6eec569d26067 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/6] add missing osx workaround +Subject: [PATCH 4/7] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ @@ -23,5 +23,5 @@ index 5bdd341e..e86f384f 100644 #include #endif -- -2.37.0.windows.1 +2.37.3.windows.1 diff --git a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch index 5bf6783..0cb9876 100644 --- a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch +++ b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch @@ -1,7 +1,7 @@ From fa9d0f4abb4c4a3112e2c1faa3138206354bd6c4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 2 Mar 2022 08:07:20 +1100 -Subject: [PATCH 5/6] alphabetize ABSL_INTERNAL_DLL_TARGETS +Subject: [PATCH 5/7] alphabetize ABSL_INTERNAL_DLL_TARGETS this is a pure reshuffle; no additions/deletions --- @@ -220,5 +220,5 @@ index 00cddb84..5638ed66 100644 function(absl_internal_dll_contains) -- -2.37.0.windows.1 +2.37.3.windows.1 diff --git a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch index 848bd04..11514b7 100644 --- a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch +++ b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch @@ -1,7 +1,7 @@ From 5b0225562085b17749a04a57cd6e89e8926c7053 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 2 Mar 2022 13:43:37 +1100 -Subject: [PATCH 6/6] avoid building static libs on windows when +Subject: [PATCH 6/7] avoid building static libs on windows when BUILD_SHARED_LIBS=ON except all flags_* libraries, for which DLL builds on windows @@ -57,5 +57,5 @@ index 5638ed66..b9a3664b 100644 "str_format_internal" "strings" -- -2.37.0.windows.1 +2.37.3.windows.1 diff --git a/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch b/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch new file mode 100644 index 0000000..a917a48 --- /dev/null +++ b/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch @@ -0,0 +1,24 @@ +From d4b55614c1f10515c7a8a98ec24fe5a1df5750d2 Mon Sep 17 00:00:00 2001 +From: Isuru Fernando +Date: Fri, 2 Sep 2022 04:04:37 -0500 +Subject: [PATCH 7/7] Compile all dependencies of the DLL with ABSL_CONSUME_DLL + +--- + CMake/AbseilDll.cmake | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake +index b9a3664b..5e1316f0 100644 +--- a/CMake/AbseilDll.cmake ++++ b/CMake/AbseilDll.cmake +@@ -555,6 +555,7 @@ function(absl_make_dll) + NOMINMAX + INTERFACE + ${ABSL_CC_LIB_DEFINES} ++ ABSL_CONSUME_DLL + ) + install(TARGETS abseil_dll EXPORT ${PROJECT_NAME}Targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +-- +2.37.3.windows.1 + From d1f1ee8c3da9bd10b28b95b93c0943049675dcff Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 Subject: [PATCH 040/100] Add patch for windows downstream users --- recipe/meta.yaml | 5 ++++- .../0008-default_dll_import_for_windows.patch | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 recipe/patches/0008-default_dll_import_for_windows.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 451be8a..d714e04 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,9 +33,12 @@ source: - patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch # backport https://github.com/abseil/abseil-cpp/pull/1269 - patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch + # Helps downstream packages import the dll without an extra defin + # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 + - patches/0008-default_dll_import_for_windows.patch build: - number: 3 + number: 4 outputs: {% if shared_libs == "ON" %} diff --git a/recipe/patches/0008-default_dll_import_for_windows.patch b/recipe/patches/0008-default_dll_import_for_windows.patch new file mode 100644 index 0000000..f69e994 --- /dev/null +++ b/recipe/patches/0008-default_dll_import_for_windows.patch @@ -0,0 +1,15 @@ +--- absl/base/config.h 2022-06-23 14:22:47.000000000 -0400 ++++ absl/base/config.h.b 2022-09-11 10:28:16.033334900 -0400 +@@ -737,10 +737,9 @@ + #if defined(_MSC_VER) + #if defined(ABSL_BUILD_DLL) + #define ABSL_DLL __declspec(dllexport) +-#elif defined(ABSL_CONSUME_DLL) +-#define ABSL_DLL __declspec(dllimport) + #else +-#define ABSL_DLL ++// conda-forge addition: by default, users import the definitions defined here ++#define ABSL_DLL __declspec(dllimport) + #endif + #else + #define ABSL_DLL From d323a3cfa62130fed84cdd2e166e4ac203937d6b Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 11:03:29 -0400 Subject: [PATCH 041/100] Update meta.yaml --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d714e04..8e14bda 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,9 +33,11 @@ source: - patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch # backport https://github.com/abseil/abseil-cpp/pull/1269 - patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch +{% if shared_libs == "ON" %} # Helps downstream packages import the dll without an extra defin # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - patches/0008-default_dll_import_for_windows.patch +{% endif %} build: number: 4 From 615ca684d34fe224b71fc56599ce0681d7394974 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 21 Oct 2022 21:15:43 +1100 Subject: [PATCH 042/100] renormalize patches --- recipe/meta.yaml | 6 ++-- ...ch-out-the-build-issue-on-clang4-osx.patch | 4 +-- ...to-the-CoreFoundation-framework-on-O.patch | 4 +-- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 4 +-- .../0004-add-missing-osx-workaround.patch | 4 +-- ...lphabetize-ABSL_INTERNAL_DLL_TARGETS.patch | 4 +-- ...tatic-libs-on-windows-when-BUILD_SHA.patch | 4 +-- ...ndencies-of-the-DLL-with-ABSL_CONSUM.patch | 4 +-- .../0008-default-dll-import-for-windows.patch | 29 +++++++++++++++++++ .../0008-default_dll_import_for_windows.patch | 15 ---------- 10 files changed, 45 insertions(+), 33 deletions(-) create mode 100644 recipe/patches/0008-default-dll-import-for-windows.patch delete mode 100644 recipe/patches/0008-default_dll_import_for_windows.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8e14bda..22690a9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,11 +33,9 @@ source: - patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch # backport https://github.com/abseil/abseil-cpp/pull/1269 - patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch -{% if shared_libs == "ON" %} - # Helps downstream packages import the dll without an extra defin + # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - - patches/0008-default_dll_import_for_windows.patch -{% endif %} + - patches/0008-default-dll-import-for-windows.patch # [win and shared_libs == "ON"] build: number: 4 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index ee1c98c..69bac6b 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From 336f3e70a058f6b07aa25725ea2a23a739f190ef Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/7] patch out the build issue on clang4 osx +Subject: [PATCH 1/8] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ @@ -23,5 +23,5 @@ index a5b084e6..0a9a4389 100644 #include #include -- -2.37.3.windows.1 +2.38.1.windows.1 diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index e82f638..f05f4d6 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From a99ff2d64fb489dfc207572edb2d8a151d3c92f9 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/7] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/8] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- @@ -27,5 +27,5 @@ index debab3ba..4eb9ebf8 100644 absl_cc_library( NAME -- -2.37.3.windows.1 +2.38.1.windows.1 diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 1672ed1..e3d97af 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From 1a77917fe7c5c3feece1a608d5537f848f4e930f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/7] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/8] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- @@ -41,5 +41,5 @@ index 0d6c1ec3..8df92751 100644 # Standard). These flags are used for detecting whether or not the target # architecture has hardware support for AES instructions which can be used -- -2.37.3.windows.1 +2.38.1.windows.1 diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index a65b995..4ba5feb 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From 3b5f3943a593d5c7544b594d0bd6eec569d26067 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/7] add missing osx workaround +Subject: [PATCH 4/8] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ @@ -23,5 +23,5 @@ index 5bdd341e..e86f384f 100644 #include #endif -- -2.37.3.windows.1 +2.38.1.windows.1 diff --git a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch index 0cb9876..26c7c83 100644 --- a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch +++ b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch @@ -1,7 +1,7 @@ From fa9d0f4abb4c4a3112e2c1faa3138206354bd6c4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 2 Mar 2022 08:07:20 +1100 -Subject: [PATCH 5/7] alphabetize ABSL_INTERNAL_DLL_TARGETS +Subject: [PATCH 5/8] alphabetize ABSL_INTERNAL_DLL_TARGETS this is a pure reshuffle; no additions/deletions --- @@ -220,5 +220,5 @@ index 00cddb84..5638ed66 100644 function(absl_internal_dll_contains) -- -2.37.3.windows.1 +2.38.1.windows.1 diff --git a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch index 11514b7..c4c0c33 100644 --- a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch +++ b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch @@ -1,7 +1,7 @@ From 5b0225562085b17749a04a57cd6e89e8926c7053 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 2 Mar 2022 13:43:37 +1100 -Subject: [PATCH 6/7] avoid building static libs on windows when +Subject: [PATCH 6/8] avoid building static libs on windows when BUILD_SHARED_LIBS=ON except all flags_* libraries, for which DLL builds on windows @@ -57,5 +57,5 @@ index 5638ed66..b9a3664b 100644 "str_format_internal" "strings" -- -2.37.3.windows.1 +2.38.1.windows.1 diff --git a/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch b/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch index a917a48..0760968 100644 --- a/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch +++ b/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch @@ -1,7 +1,7 @@ From d4b55614c1f10515c7a8a98ec24fe5a1df5750d2 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 2 Sep 2022 04:04:37 -0500 -Subject: [PATCH 7/7] Compile all dependencies of the DLL with ABSL_CONSUME_DLL +Subject: [PATCH 7/8] Compile all dependencies of the DLL with ABSL_CONSUME_DLL --- CMake/AbseilDll.cmake | 1 + @@ -20,5 +20,5 @@ index b9a3664b..5e1316f0 100644 install(TARGETS abseil_dll EXPORT ${PROJECT_NAME}Targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -- -2.37.3.windows.1 +2.38.1.windows.1 diff --git a/recipe/patches/0008-default-dll-import-for-windows.patch b/recipe/patches/0008-default-dll-import-for-windows.patch new file mode 100644 index 0000000..cd05430 --- /dev/null +++ b/recipe/patches/0008-default-dll-import-for-windows.patch @@ -0,0 +1,29 @@ +From 82228c69ff641a83838ba5f0d12dc3f6f4d60f28 Mon Sep 17 00:00:00 2001 +From: Mark Harfouche +Date: Sun, 11 Sep 2022 10:32:19 -0400 +Subject: [PATCH 8/8] default dll import for windows + +--- + absl/base/config.h | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/absl/base/config.h b/absl/base/config.h +index 8533aead..cc92658c 100644 +--- a/absl/base/config.h ++++ b/absl/base/config.h +@@ -737,10 +737,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || + #if defined(_MSC_VER) + #if defined(ABSL_BUILD_DLL) + #define ABSL_DLL __declspec(dllexport) +-#elif defined(ABSL_CONSUME_DLL) +-#define ABSL_DLL __declspec(dllimport) + #else +-#define ABSL_DLL ++// conda-forge addition: by default, users import the definitions defined here ++#define ABSL_DLL __declspec(dllimport) + #endif + #else + #define ABSL_DLL +-- +2.38.1.windows.1 + diff --git a/recipe/patches/0008-default_dll_import_for_windows.patch b/recipe/patches/0008-default_dll_import_for_windows.patch deleted file mode 100644 index f69e994..0000000 --- a/recipe/patches/0008-default_dll_import_for_windows.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- absl/base/config.h 2022-06-23 14:22:47.000000000 -0400 -+++ absl/base/config.h.b 2022-09-11 10:28:16.033334900 -0400 -@@ -737,10 +737,9 @@ - #if defined(_MSC_VER) - #if defined(ABSL_BUILD_DLL) - #define ABSL_DLL __declspec(dllexport) --#elif defined(ABSL_CONSUME_DLL) --#define ABSL_DLL __declspec(dllimport) - #else --#define ABSL_DLL -+// conda-forge addition: by default, users import the definitions defined here -+#define ABSL_DLL __declspec(dllimport) - #endif - #else - #define ABSL_DLL From f28d5cea3a07bc48dfca43967d4e44d115d73e4a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 21 Oct 2022 21:25:21 +1100 Subject: [PATCH 043/100] add patch for pkgconfig metadata for shared windows builds --- recipe/meta.yaml | 2 + ...ch-out-the-build-issue-on-clang4-osx.patch | 2 +- ...to-the-CoreFoundation-framework-on-O.patch | 2 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 2 +- .../0004-add-missing-osx-workaround.patch | 2 +- ...lphabetize-ABSL_INTERNAL_DLL_TARGETS.patch | 2 +- ...tatic-libs-on-windows-when-BUILD_SHA.patch | 2 +- ...ndencies-of-the-DLL-with-ABSL_CONSUM.patch | 2 +- .../0008-default-dll-import-for-windows.patch | 2 +- ...g-metadata-for-shared-windows-builds.patch | 96 +++++++++++++++++++ 10 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 22690a9..349f5b4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -36,6 +36,8 @@ source: # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - patches/0008-default-dll-import-for-windows.patch # [win and shared_libs == "ON"] + # add pkgconfig metadata for shared builds on windows + - patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch build: number: 4 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 69bac6b..bcab6ec 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From 336f3e70a058f6b07aa25725ea2a23a739f190ef Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/8] patch out the build issue on clang4 osx +Subject: [PATCH 1/9] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index f05f4d6..2ca2e1f 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From a99ff2d64fb489dfc207572edb2d8a151d3c92f9 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/8] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/9] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index e3d97af..6682793 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From 1a77917fe7c5c3feece1a608d5537f848f4e930f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/8] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/9] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index 4ba5feb..bac7e92 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From 3b5f3943a593d5c7544b594d0bd6eec569d26067 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/8] add missing osx workaround +Subject: [PATCH 4/9] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ diff --git a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch index 26c7c83..eb128bd 100644 --- a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch +++ b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch @@ -1,7 +1,7 @@ From fa9d0f4abb4c4a3112e2c1faa3138206354bd6c4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 2 Mar 2022 08:07:20 +1100 -Subject: [PATCH 5/8] alphabetize ABSL_INTERNAL_DLL_TARGETS +Subject: [PATCH 5/9] alphabetize ABSL_INTERNAL_DLL_TARGETS this is a pure reshuffle; no additions/deletions --- diff --git a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch index c4c0c33..6062cd0 100644 --- a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch +++ b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch @@ -1,7 +1,7 @@ From 5b0225562085b17749a04a57cd6e89e8926c7053 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 2 Mar 2022 13:43:37 +1100 -Subject: [PATCH 6/8] avoid building static libs on windows when +Subject: [PATCH 6/9] avoid building static libs on windows when BUILD_SHARED_LIBS=ON except all flags_* libraries, for which DLL builds on windows diff --git a/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch b/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch index 0760968..89985d6 100644 --- a/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch +++ b/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch @@ -1,7 +1,7 @@ From d4b55614c1f10515c7a8a98ec24fe5a1df5750d2 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 2 Sep 2022 04:04:37 -0500 -Subject: [PATCH 7/8] Compile all dependencies of the DLL with ABSL_CONSUME_DLL +Subject: [PATCH 7/9] Compile all dependencies of the DLL with ABSL_CONSUME_DLL --- CMake/AbseilDll.cmake | 1 + diff --git a/recipe/patches/0008-default-dll-import-for-windows.patch b/recipe/patches/0008-default-dll-import-for-windows.patch index cd05430..3126cb4 100644 --- a/recipe/patches/0008-default-dll-import-for-windows.patch +++ b/recipe/patches/0008-default-dll-import-for-windows.patch @@ -1,7 +1,7 @@ From 82228c69ff641a83838ba5f0d12dc3f6f4d60f28 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 8/8] default dll import for windows +Subject: [PATCH 8/9] default dll import for windows --- absl/base/config.h | 5 ++--- diff --git a/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch b/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch new file mode 100644 index 0000000..35248da --- /dev/null +++ b/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch @@ -0,0 +1,96 @@ +From 4d2135dde67ee6e00983bcaa1b0cf799b0b1d232 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Fri, 21 Oct 2022 21:06:25 +1100 +Subject: [PATCH 9/9] add pkgconfig metadata for shared windows builds + +--- + CMake/AbseilDll.cmake | 27 +++++++++++++++++++++++++++ + CMake/AbseilHelpers.cmake | 26 ++++++++++++++++++++------ + 2 files changed, 47 insertions(+), 6 deletions(-) + +diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake +index 5e1316f0..8ac4cb40 100644 +--- a/CMake/AbseilDll.cmake ++++ b/CMake/AbseilDll.cmake +@@ -548,6 +548,33 @@ function(absl_make_dll) + ${ABSL_DEFAULT_COPTS} + ) + ++ foreach(cflag ${ABSL_CC_LIB_COPTS}) ++ if(${cflag} MATCHES "^(-Wno|/wd)") ++ # These flags are needed to suppress warnings that might fire in our headers. ++ set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") ++ elseif(${cflag} MATCHES "^(-W|/w[1234eo])") ++ # Don't impose our warnings on others. ++ else() ++ set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") ++ endif() ++ endforeach() ++ string(REPLACE ";" " " PC_LINKOPTS "${ABSL_CC_LIB_LINKOPTS}") ++ ++ FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/abseil_dll.pc" CONTENT "\ ++prefix=${CMAKE_INSTALL_PREFIX}\n\ ++exec_prefix=\${prefix}\n\ ++libdir=${CMAKE_INSTALL_FULL_LIBDIR}\n\ ++includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}\n\ ++\n\ ++Name: abseil_dll\n\ ++Description: Abseil DLL library\n\ ++URL: https://abseil.io/\n\ ++Version: ${absl_VERSION}\n\ ++Libs: -L\${libdir} ${PC_LINKOPTS} $<$>:-labseil_dll>\n\ ++Cflags: -I\${includedir}${PC_CFLAGS}\n") ++ INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/abseil_dll.pc" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++ + target_compile_definitions( + abseil_dll + PRIVATE +diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake +index dbb09fe2..83430145 100644 +--- a/CMake/AbseilHelpers.cmake ++++ b/CMake/AbseilHelpers.cmake +@@ -143,8 +143,7 @@ function(absl_cc_library) + endif() + + # Generate a pkg-config file for every library: +- if((_build_type STREQUAL "static" OR _build_type STREQUAL "shared") +- AND ABSL_ENABLE_INSTALL) ++ if(ABSL_ENABLE_INSTALL) + if(NOT ABSL_CC_LIB_TESTONLY) + if(absl_VERSION) + set(PC_VERSION "${absl_VERSION}") +@@ -153,11 +152,26 @@ function(absl_cc_library) + endif() + foreach(dep ${ABSL_CC_LIB_DEPS}) + if(${dep} MATCHES "^absl::(.*)") +- # Join deps with commas. +- if(PC_DEPS) +- set(PC_DEPS "${PC_DEPS},") ++ # for DLL builds many libs are not created, but add ++ # the pkgconfigs nevertheless, pointing to the dll. ++ if(_build_type STREQUAL "dll") ++ # hide this MATCHES in an if-clause so it doesn't overwrite ++ # the CMAKE_MATCH_1 from (${dep} MATCHES "^absl::(.*)") ++ if(NOT PC_DEPS MATCHES "abseil_dll") ++ # Join deps with commas. ++ if(PC_DEPS) ++ set(PC_DEPS "${PC_DEPS},") ++ endif() ++ # don't duplicate dll-dep if it exists already ++ set(PC_DEPS "${PC_DEPS} abseil_dll = ${PC_VERSION}") ++ endif() ++ else() ++ # Join deps with commas. ++ if(PC_DEPS) ++ set(PC_DEPS "${PC_DEPS},") ++ endif() ++ set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") + endif() +- set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") + endif() + endforeach() + foreach(cflag ${ABSL_CC_LIB_COPTS}) +-- +2.38.1.windows.1 + From 17818c4d23037fad6313d0eff929073b0eca5714 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 21 Oct 2022 21:27:37 +1100 Subject: [PATCH 044/100] add tests for pkgconfig metadata --- recipe/meta.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 349f5b4..66ecb0d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -66,6 +66,8 @@ outputs: - abseil-cpp ={{ version }} test: + requires: + - pkg-config commands: # windows-only (almost-)all-in-one DLL + import library - if not exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] @@ -84,8 +86,14 @@ outputs: {% else %} - if exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] {% endif %} + + # pkg-config (should point to abseil_dll on shared windows builds) + - pkg-config --print-errors --exact-version "{{ version }}" absl_{{ each_lib }} {% endfor %} + # pkg-config (abseil_dll) + - pkg-config --print-errors --exact-version "{{ version }}" abseil_dll # [win] + {% else %} # shared_libs == "OFF" - name: libabseil-static @@ -106,6 +114,8 @@ outputs: # make sure we don't co-install with old version of old package name - abseil-cpp ={{ version }} test: + requires: + - pkg-config commands: # absence of DLL on windows - if exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] @@ -117,6 +127,9 @@ outputs: - if not exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] # absence of shared libs - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] + + # pkg-config + - pkg-config --print-errors --exact-version "{{ version }}" absl_{{ each_lib }} {% endfor %} {% endif %} # shared_libs == "ON" / "OFF" From b4b8871bfeb3fffc9149d18dc5594fa49683cd4b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 21 Oct 2022 21:28:02 +1100 Subject: [PATCH 045/100] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 66ecb0d..5a554d0 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -40,7 +40,7 @@ source: - patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch build: - number: 4 + number: 5 outputs: {% if shared_libs == "ON" %} From 03079213a4fab27d14d20a6cc2a2090eaf07832f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 22 Oct 2022 00:24:10 +1100 Subject: [PATCH 046/100] abseil has no minor numbers for pkgconfig metadata --- recipe/meta.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5a554d0..9cd1e0c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,5 @@ {% set version = "20220623.0" %} +{% set v_major = version.split(".")[0] %} # shared builds for flags_* libraries are not supported on windows, see # https://github.com/abseil/abseil-cpp/pull/1115 @@ -88,11 +89,11 @@ outputs: {% endif %} # pkg-config (should point to abseil_dll on shared windows builds) - - pkg-config --print-errors --exact-version "{{ version }}" absl_{{ each_lib }} + - pkg-config --print-errors --exact-version "{{ v_major }}" absl_{{ each_lib }} {% endfor %} # pkg-config (abseil_dll) - - pkg-config --print-errors --exact-version "{{ version }}" abseil_dll # [win] + - pkg-config --print-errors --exact-version "{{ v_major }}" abseil_dll # [win] {% else %} # shared_libs == "OFF" @@ -129,7 +130,7 @@ outputs: - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] # pkg-config - - pkg-config --print-errors --exact-version "{{ version }}" absl_{{ each_lib }} + - pkg-config --print-errors --exact-version "{{ v_major }}" absl_{{ each_lib }} {% endfor %} {% endif %} # shared_libs == "ON" / "OFF" From 037789bd939901c62370106275be92b4c37eaee9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 22 Oct 2022 10:22:10 +1100 Subject: [PATCH 047/100] add test for CMake integration --- recipe/cmake_test/CMakeLists.txt | 6 ++++ recipe/cmake_test/flags_example.cpp | 51 +++++++++++++++++++++++++++++ recipe/meta.yaml | 30 +++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 recipe/cmake_test/CMakeLists.txt create mode 100644 recipe/cmake_test/flags_example.cpp diff --git a/recipe/cmake_test/CMakeLists.txt b/recipe/cmake_test/CMakeLists.txt new file mode 100644 index 0000000..5a98e21 --- /dev/null +++ b/recipe/cmake_test/CMakeLists.txt @@ -0,0 +1,6 @@ +project(cf_dummy LANGUAGES CXX) +cmake_minimum_required(VERSION 3.12) +find_package(absl REQUIRED CONFIG) + +add_executable(flags_example flags_example.cpp) +target_link_libraries(flags_example absl::flags absl::strings) diff --git a/recipe/cmake_test/flags_example.cpp b/recipe/cmake_test/flags_example.cpp new file mode 100644 index 0000000..c9a9ad0 --- /dev/null +++ b/recipe/cmake_test/flags_example.cpp @@ -0,0 +1,51 @@ +// taken from https://abseil.io/docs/cpp/guides/flags +// exercises both flags and non-flags (for abseil_dll) import + +#include +#include + +#include "absl/flags/flag.h" +#include "absl/flags/marshalling.h" +#include "absl/strings/string_view.h" + +struct PortNumber { + explicit PortNumber(int p = 0) : port(p) {} + + int port; // Valid range is [0..32767] +}; + +// Returns a textual flag value corresponding to the PortNumber `p`. +std::string AbslUnparseFlag(PortNumber p) { + // Delegate to the usual unparsing for int. + return absl::UnparseFlag(p.port); +} + +// Parses a PortNumber from the command line flag value `text`. +// Returns true and sets `*p` on success; returns false and sets `*error` +// on failure. +bool AbslParseFlag(absl::string_view text, PortNumber* p, std::string* error) { + // Convert from text to int using the int-flag parser. + if (!absl::ParseFlag(text, &p->port, error)) { + return false; + } + if (p->port < 0 || p->port > 32767) { + *error = "not in range [0,32767]"; + return false; + } + return true; +} + +ABSL_FLAG(PortNumber, port, PortNumber(0), "What port to listen on"); + +// exercise above code + +int main() { + PortNumber p = absl::GetFlag(FLAGS_port); + std::cout << "default: " << p.port << std::endl; + + absl::SetFlag(&FLAGS_port, 10101); + p = absl::GetFlag(FLAGS_port); + std::cout << "modified: " << p.port << std::endl; + + return 0; +} diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9cd1e0c..4e56d0e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -68,7 +68,12 @@ outputs: test: requires: + - {{ compiler('cxx') }} + - cmake + - ninja - pkg-config + files: + - cmake_test/ commands: # windows-only (almost-)all-in-one DLL + import library - if not exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] @@ -95,6 +100,16 @@ outputs: # pkg-config (abseil_dll) - pkg-config --print-errors --exact-version "{{ v_major }}" abseil_dll # [win] + # CMake integration + - cd cmake_test + - export CMAKE_ARGS="$CMAKE_ARGS -GNinja -DCMAKE_BUILD_TYPE=Release" # [unix] + - set "CMAKE_ARGS=%CMAKE_ARGS% -GNinja -DCMAKE_BUILD_TYPE=Release" # [win] + - cmake $CMAKE_ARGS -DCMAKE_CXX_STANDARD={{ cxx_standard }} . # [unix] + - cmake %CMAKE_ARGS% -DCMAKE_CXX_STANDARD={{ cxx_standard }} . # [win] + - cmake --build . + - ./flags_example # [unix] + - flags_example.exe # [win] + {% else %} # shared_libs == "OFF" - name: libabseil-static @@ -116,7 +131,12 @@ outputs: - abseil-cpp ={{ version }} test: requires: + - {{ compiler('cxx') }} + - cmake + - ninja - pkg-config + files: + - cmake_test/ commands: # absence of DLL on windows - if exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] @@ -133,6 +153,16 @@ outputs: - pkg-config --print-errors --exact-version "{{ v_major }}" absl_{{ each_lib }} {% endfor %} + # CMake integration + - cd cmake_test + - export CMAKE_ARGS="$CMAKE_ARGS -GNinja -DCMAKE_BUILD_TYPE=Release" # [unix] + - set "CMAKE_ARGS=%CMAKE_ARGS% -GNinja -DCMAKE_BUILD_TYPE=Release" # [win] + - cmake $CMAKE_ARGS -DCMAKE_CXX_STANDARD={{ cxx_standard }} . # [unix] + - cmake %CMAKE_ARGS% -DCMAKE_CXX_STANDARD={{ cxx_standard }} . # [win] + - cmake --build . + - ./flags_example # [unix] + - flags_example.exe # [win] + {% endif %} # shared_libs == "ON" / "OFF" # for compatibility with previous behavior of "abseil-cpp" From 55ce306533eb4b84498684feaf283ce88bc4a19c Mon Sep 17 00:00:00 2001 From: "conda-forge-curator[bot]" <79913779+conda-forge-curator[bot]@users.noreply.github.com> Date: Wed, 2 Nov 2022 16:12:07 +0000 Subject: [PATCH 048/100] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate --- .github/workflows/automerge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 773b3d1..da1368a 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -10,7 +10,7 @@ jobs: name: automerge steps: - name: checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: automerge-action id: automerge-action uses: conda-forge/automerge-action@main From 0edd9df2835e425a5ec08c40e1c51161b6b89a66 Mon Sep 17 00:00:00 2001 From: "conda-forge-curator[bot]" <79913779+conda-forge-curator[bot]@users.noreply.github.com> Date: Thu, 17 Nov 2022 20:11:42 +0000 Subject: [PATCH 049/100] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda --- conda-forge.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conda-forge.yml b/conda-forge.yml index 18f92c2..9fad5b5 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -7,3 +7,5 @@ test_on_native_only: true github: branch_name: main tooling_branch_name: main +conda_build: + pkg_format: '2' From 688c54c2c0c89b5436e1642119b73fe0be6172b8 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 10 Dec 2022 17:30:38 +1100 Subject: [PATCH 050/100] fix pkgconfig patch --- recipe/meta.yaml | 2 +- ...g-metadata-for-shared-windows-builds.patch | 21 ++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4e56d0e..5206691 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -41,7 +41,7 @@ source: - patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch build: - number: 5 + number: 6 outputs: {% if shared_libs == "ON" %} diff --git a/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch b/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch index 35248da..9ce4fdd 100644 --- a/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch +++ b/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch @@ -1,12 +1,12 @@ -From 4d2135dde67ee6e00983bcaa1b0cf799b0b1d232 Mon Sep 17 00:00:00 2001 +From 0dc45d5683e6dd1813bbb287b32c1bb8284bf5e9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 21 Oct 2022 21:06:25 +1100 Subject: [PATCH 9/9] add pkgconfig metadata for shared windows builds --- CMake/AbseilDll.cmake | 27 +++++++++++++++++++++++++++ - CMake/AbseilHelpers.cmake | 26 ++++++++++++++++++++------ - 2 files changed, 47 insertions(+), 6 deletions(-) + CMake/AbseilHelpers.cmake | 30 +++++++++++++++++++++++------- + 2 files changed, 50 insertions(+), 7 deletions(-) diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake index 5e1316f0..8ac4cb40 100644 @@ -47,7 +47,7 @@ index 5e1316f0..8ac4cb40 100644 abseil_dll PRIVATE diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake -index dbb09fe2..83430145 100644 +index dbb09fe2..905cb2f4 100644 --- a/CMake/AbseilHelpers.cmake +++ b/CMake/AbseilHelpers.cmake @@ -143,8 +143,7 @@ function(absl_cc_library) @@ -60,7 +60,7 @@ index dbb09fe2..83430145 100644 if(NOT ABSL_CC_LIB_TESTONLY) if(absl_VERSION) set(PC_VERSION "${absl_VERSION}") -@@ -153,11 +152,26 @@ function(absl_cc_library) +@@ -153,11 +152,28 @@ function(absl_cc_library) endif() foreach(dep ${ABSL_CC_LIB_DEPS}) if(${dep} MATCHES "^absl::(.*)") @@ -79,6 +79,7 @@ index dbb09fe2..83430145 100644 + endif() + # don't duplicate dll-dep if it exists already + set(PC_DEPS "${PC_DEPS} abseil_dll = ${PC_VERSION}") ++ set(LNK_LIB "${LNK_LIB} -labseil_dll") + endif() + else() + # Join deps with commas. @@ -86,11 +87,21 @@ index dbb09fe2..83430145 100644 + set(PC_DEPS "${PC_DEPS},") + endif() + set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") ++ set(LNK_LIB "${LNK_LIB} -labsl_${_NAME}") endif() - set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") endif() endforeach() foreach(cflag ${ABSL_CC_LIB_COPTS}) +@@ -182,7 +198,7 @@ Description: Abseil ${_NAME} library\n\ + URL: https://abseil.io/\n\ + Version: ${PC_VERSION}\n\ + Requires:${PC_DEPS}\n\ +-Libs: -L\${libdir} ${PC_LINKOPTS} $<$>:-labsl_${_NAME}>\n\ ++Libs: -L\${libdir} ${PC_LINKOPTS} $<$>:${LNK_LIB}>\n\ + Cflags: -I\${includedir}${PC_CFLAGS}\n") + INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -- 2.38.1.windows.1 From 9a44c21a42cf1e09cfd583ccc40d051a35427f91 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 10 Dec 2022 17:32:36 +1100 Subject: [PATCH 051/100] MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2022.12.09.20.17.28 --- .azure-pipelines/azure-pipelines-win.yml | 6 ++- ...linux_64_cxx_standard11shared_libsOFF.yaml | 4 +- ...linux_64_cxx_standard14shared_libsOFF.yaml | 4 +- ...linux_64_cxx_standard17shared_libsOFF.yaml | 4 +- .../linux_64_cxx_standard17shared_libsON.yaml | 4 +- ..._aarch64_cxx_standard11shared_libsOFF.yaml | 4 +- ..._aarch64_cxx_standard14shared_libsOFF.yaml | 4 +- ..._aarch64_cxx_standard17shared_libsOFF.yaml | 4 +- ...x_aarch64_cxx_standard17shared_libsON.yaml | 4 +- ..._ppc64le_cxx_standard11shared_libsOFF.yaml | 4 +- ..._ppc64le_cxx_standard14shared_libsOFF.yaml | 4 +- ..._ppc64le_cxx_standard17shared_libsOFF.yaml | 4 +- ...x_ppc64le_cxx_standard17shared_libsON.yaml | 4 +- .circleci/config.yml | 2 +- .scripts/build_steps.sh | 4 +- .scripts/run_osx_build.sh | 5 +- README.md | 48 +++++++++---------- 17 files changed, 58 insertions(+), 55 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 52e4693..41aead5 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -23,6 +23,7 @@ jobs: timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ + UPLOAD_TEMP: D:\\tmp steps: - task: PythonScript@0 @@ -44,7 +45,7 @@ jobs: - script: | call activate base - mamba.exe install 'python=3.9' conda-build conda pip boa 'conda-forge-ci-setup=3' -c conda-forge --strict-channel-priority --yes + mamba.exe install "python=3.9" conda-build conda pip boa conda-forge-ci-setup=3 "py-lief<0.12" -c conda-forge --strict-channel-priority --yes displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 @@ -81,6 +82,9 @@ jobs: - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "TEMP=$(UPLOAD_TEMP)" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" call activate base upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package diff --git a/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml index 2bc12b1..89e2f61 100644 --- a/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml +++ b/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '11' docker_image: diff --git a/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml index 2087a57..823df73 100644 --- a/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml +++ b/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '14' docker_image: diff --git a/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml index f0643f2..7f408d3 100644 --- a/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml +++ b/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '17' docker_image: diff --git a/.ci_support/linux_64_cxx_standard17shared_libsON.yaml b/.ci_support/linux_64_cxx_standard17shared_libsON.yaml index 8fea4e6..5529cbe 100644 --- a/.ci_support/linux_64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/linux_64_cxx_standard17shared_libsON.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '17' docker_image: diff --git a/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml index 92b5aff..d6cb949 100644 --- a/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml +++ b/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_arch: - aarch64 cdt_name: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '11' docker_image: diff --git a/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml index 6c553bf..d43d640 100644 --- a/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml +++ b/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_arch: - aarch64 cdt_name: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '14' docker_image: diff --git a/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml index 228642e..ae332a9 100644 --- a/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml +++ b/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_arch: - aarch64 cdt_name: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '17' docker_image: diff --git a/.ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml b/.ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml index 56fa89d..85f2467 100644 --- a/.ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_arch: - aarch64 cdt_name: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '17' docker_image: diff --git a/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml index 0e7befe..d0e080a 100644 --- a/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml +++ b/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos7 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '11' docker_image: diff --git a/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml index 22d5a4e..de3bc0a 100644 --- a/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml +++ b/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos7 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '14' docker_image: diff --git a/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml index d7d07ad..82b9498 100644 --- a/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml +++ b/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos7 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '17' docker_image: diff --git a/.ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml b/.ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml index 2b76f7e..44a551b 100644 --- a/.ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml +++ b/.ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos7 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' cxx_standard: - '17' docker_image: diff --git a/.circleci/config.yml b/.circleci/config.yml index 3e61aa2..8b4ef2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,6 @@ # 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 -*- +# -*- mode: jinja-yaml -*- version: 2 diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index a6b09f6..84431a6 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -33,9 +33,9 @@ CONDARC mamba install --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 736a39a..b3abaeb 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,11 +23,10 @@ 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 --update-specs --quiet --yes --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" diff --git a/README.md b/README.md index e272a5e..a76dc01 100644 --- a/README.md +++ b/README.md @@ -38,168 +38,168 @@ Current build status From 85215d1c1195ed71d20c8330f3f5a5d7f846ba95 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:18:05 +1100 Subject: [PATCH 052/100] use more discoverable url scheme --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5206691..30c8b58 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -22,7 +22,7 @@ package: version: {{ version }} source: - url: https://github.com/abseil/abseil-cpp/archive/{{ version }}.tar.gz + url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz sha256: 4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch From 3fb0778b3593c75ab577810ffd734b96d3edcc9f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:18:51 +1100 Subject: [PATCH 053/100] bump to 20230125.0 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 30c8b58..354c3ec 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20220623.0" %} +{% set version = "20230125.0" %} {% set v_major = version.split(".")[0] %} # shared builds for flags_* libraries are not supported on windows, see @@ -23,7 +23,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: 4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602 + sha256: 3ea49a7d97421b88a8c48a0de16c16048e17725c7ec0f1d3ea2683a2a75adc21 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -41,7 +41,7 @@ source: - patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch build: - number: 6 + number: 0 outputs: {% if shared_libs == "ON" %} From 6b51154134bd56ce30d554edf20ac6d2e719b74f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:26:01 +1100 Subject: [PATCH 054/100] rebase patches --- recipe/meta.yaml | 9 +- ...ch-out-the-build-issue-on-clang4-osx.patch | 4 +- ...to-the-CoreFoundation-framework-on-O.patch | 6 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 24 +- .../0004-add-missing-osx-workaround.patch | 6 +- ...lphabetize-ABSL_INTERNAL_DLL_TARGETS.patch | 224 ------------------ ...0005-default-dll-import-for-windows.patch} | 8 +- ...tatic-libs-on-windows-when-BUILD_SHA.patch | 61 ----- ...ndencies-of-the-DLL-with-ABSL_CONSUM.patch | 24 -- ...g-metadata-for-shared-windows-builds.patch | 107 --------- 10 files changed, 25 insertions(+), 448 deletions(-) delete mode 100644 recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch rename recipe/patches/{0008-default-dll-import-for-windows.patch => 0005-default-dll-import-for-windows.patch} (75%) delete mode 100644 recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch delete mode 100644 recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch delete mode 100644 recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 354c3ec..6962e4b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,16 +29,9 @@ source: - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch - patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch - patches/0004-add-missing-osx-workaround.patch - # backport of https://github.com/abseil/abseil-cpp/pull/1115 (two commits) - - patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch - - patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch - # backport https://github.com/abseil/abseil-cpp/pull/1269 - - patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - - patches/0008-default-dll-import-for-windows.patch # [win and shared_libs == "ON"] - # add pkgconfig metadata for shared builds on windows - - patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch + - patches/0005-default-dll-import-for-windows.patch # [win and shared_libs == "ON"] build: number: 0 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index bcab6ec..0c2db84 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ -From 336f3e70a058f6b07aa25725ea2a23a739f190ef Mon Sep 17 00:00:00 2001 +From d59eb9046823f39006350a508e30bac815b63383 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/9] patch out the build issue on clang4 osx +Subject: [PATCH 1/5] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index 2ca2e1f..e46d6e2 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,14 +1,14 @@ -From a99ff2d64fb489dfc207572edb2d8a151d3c92f9 Mon Sep 17 00:00:00 2001 +From c8bd75a96ecb2bd528399829692307a03985da0b Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/9] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/5] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/absl/time/CMakeLists.txt b/absl/time/CMakeLists.txt -index debab3ba..4eb9ebf8 100644 +index 7b720540..cfed46a4 100644 --- a/absl/time/CMakeLists.txt +++ b/absl/time/CMakeLists.txt @@ -83,10 +83,12 @@ absl_cc_library( diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 6682793..bd15006 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ -From 1a77917fe7c5c3feece1a608d5537f848f4e930f Mon Sep 17 00:00:00 2001 +From dfbac02988c119967037c53a0f78f03bdf01e1c8 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/9] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/5] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- @@ -10,11 +10,11 @@ see also https://github.com/microsoft/vcpkg/issues/13945 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake -index a4ab1aa2..f2cdfa0c 100644 +index 430916f7..358354e1 100644 --- a/absl/copts/GENERATED_AbseilCopts.cmake +++ b/absl/copts/GENERATED_AbseilCopts.cmake -@@ -135,10 +135,6 @@ list(APPEND ABSL_MSVC_FLAGS - "/wd4800" +@@ -186,10 +186,6 @@ list(APPEND ABSL_MSVC_FLAGS + "/D_ENABLE_EXTENDED_ALIGNED_STORAGE" ) -list(APPEND ABSL_MSVC_LINKOPTS @@ -22,16 +22,16 @@ index a4ab1aa2..f2cdfa0c 100644 -) - list(APPEND ABSL_MSVC_TEST_FLAGS - "/wd4018" - "/wd4101" + "/W3" + "/bigobj" diff --git a/absl/copts/copts.py b/absl/copts/copts.py -index 0d6c1ec3..8df92751 100644 +index e6e11949..09ac7618 100644 --- a/absl/copts/copts.py +++ b/absl/copts/copts.py -@@ -148,10 +148,7 @@ COPT_VARS = { - "/wd4996", # use of deprecated symbol - "/DNOMINMAX", # disable the min() and max() macros from - ], +@@ -173,10 +173,7 @@ COPT_VARS = { + "/wd4996", # use of deprecated symbol + "/DNOMINMAX", # disable the min() and max() macros from + ], - "ABSL_MSVC_LINKOPTS": [ - # Object file doesn't export any previously undefined symbols - "-ignore:4221", diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index bac7e92..98b58d1 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,14 +1,14 @@ -From 3b5f3943a593d5c7544b594d0bd6eec569d26067 Mon Sep 17 00:00:00 2001 +From b6c0b4ffa8aa2ed4146e2c9ca9b0406e2da4f1d3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/9] add missing osx workaround +Subject: [PATCH 4/5] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc -index 5bdd341e..e86f384f 100644 +index 57863228..91862aed 100644 --- a/absl/debugging/internal/examine_stack.cc +++ b/absl/debugging/internal/examine_stack.cc @@ -26,6 +26,10 @@ diff --git a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch b/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch deleted file mode 100644 index eb128bd..0000000 --- a/recipe/patches/0005-alphabetize-ABSL_INTERNAL_DLL_TARGETS.patch +++ /dev/null @@ -1,224 +0,0 @@ -From fa9d0f4abb4c4a3112e2c1faa3138206354bd6c4 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Wed, 2 Mar 2022 08:07:20 +1100 -Subject: [PATCH 5/9] alphabetize ABSL_INTERNAL_DLL_TARGETS - -this is a pure reshuffle; no additions/deletions ---- - CMake/AbseilDll.cmake | 172 +++++++++++++++++++++--------------------- - 1 file changed, 86 insertions(+), 86 deletions(-) - -diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index 00cddb84..5638ed66 100644 ---- a/CMake/AbseilDll.cmake -+++ b/CMake/AbseilDll.cmake -@@ -353,120 +353,120 @@ set(ABSL_INTERNAL_DLL_FILES - ) - - set(ABSL_INTERNAL_DLL_TARGETS -- "stacktrace" -- "symbolize" -- "examine_stack" -- "failure_signal_handler" -- "debugging_internal" -- "demangle_internal" -- "leak_check" -- "stack_consumption" -- "debugging" -- "hash" -- "spy_hash_state" -- "city" -- "memory" -- "strings" -- "strings_internal" -- "cord" -- "str_format" -- "str_format_internal" -- "pow10_helper" -- "int128" -- "numeric" -- "utility" -+ "algorithm" -+ "algorithm_container" - "any" -+ "any_invocable" -+ "atomic_hook" - "bad_any_cast" - "bad_any_cast_impl" -- "span" -- "optional" - "bad_optional_access" - "bad_variant_access" -- "variant" -- "compare" -- "algorithm" -- "algorithm_container" -- "graphcycles_internal" -- "kernel_timeout_internal" -- "synchronization" -- "thread_pool" -- "any_invocable" -+ "base" -+ "base_internal" - "bind_front" -- "function_ref" -- "atomic_hook" -- "log_severity" -- "raw_logging_internal" -- "spinlock_wait" -+ "bits" -+ "btree" -+ "city" -+ "civil_time" -+ "compare" -+ "compressed_tuple" - "config" -- "dynamic_annotations" -+ "container" -+ "container_common" -+ "container_memory" -+ "cord" - "core_headers" -- "malloc_internal" -- "base_internal" -- "base" -- "throw_delegate" -- "pretty_function" -+ "counting_allocator" -+ "debugging" -+ "debugging_internal" -+ "demangle_internal" -+ "dynamic_annotations" - "endian" -- "bits" -+ "examine_stack" - "exponential_biased" -- "periodic_sampler" -- "scoped_set_env" -- "type_traits" -+ "failure_signal_handler" -+ "fixed_array" -+ "flat_hash_map" -+ "flat_hash_set" -+ "function_ref" -+ "graphcycles_internal" -+ "hash" -+ "hash_function_defaults" -+ "hash_policy_traits" -+ "hashtable_debug" -+ "hashtable_debug_hooks" -+ "hashtablez_sampler" -+ "inlined_vector" -+ "inlined_vector_internal" -+ "int128" -+ "kernel_timeout_internal" -+ "layout" -+ "leak_check" -+ "log_severity" -+ "malloc_internal" -+ "memory" - "meta" -- "random_random" -+ "node_hash_map" -+ "node_hash_set" -+ "node_slot_policy" -+ "numeric" -+ "optional" -+ "periodic_sampler" -+ "pow10_helper" -+ "pretty_function" - "random_bit_gen_ref" - "random_distributions" -- "random_seed_gen_exception" -- "random_seed_sequences" -- "random_internal_traits" - "random_internal_distribution_caller" - "random_internal_distributions" -- "random_internal_fast_uniform_bits" -- "random_internal_seed_material" -- "random_internal_pool_urbg" - "random_internal_explicit_seed_seq" -- "random_internal_sequence_urbg" -- "random_internal_salted_seed_seq" -- "random_internal_iostream_state_saver" -- "random_internal_generate_real" -- "random_internal_wide_multiply" -+ "random_internal_fast_uniform_bits" - "random_internal_fastmath" -+ "random_internal_generate_real" -+ "random_internal_iostream_state_saver" - "random_internal_nonsecure_base" - "random_internal_pcg_engine" -- "random_internal_randen_engine" - "random_internal_platform" -+ "random_internal_pool_urbg" - "random_internal_randen" -- "random_internal_randen_slow" -+ "random_internal_randen_engine" - "random_internal_randen_hwaes" - "random_internal_randen_hwaes_impl" -+ "random_internal_randen_slow" -+ "random_internal_salted_seed_seq" -+ "random_internal_seed_material" -+ "random_internal_sequence_urbg" -+ "random_internal_traits" - "random_internal_uniform_helper" -+ "random_internal_wide_multiply" -+ "random_random" -+ "random_seed_gen_exception" -+ "random_seed_sequences" -+ "raw_hash_map" -+ "raw_hash_set" -+ "raw_logging_internal" -+ "sample_recorder" -+ "scoped_set_env" -+ "span" -+ "spinlock_wait" -+ "spy_hash_state" -+ "stack_consumption" -+ "stacktrace" - "status" -+ "str_format" -+ "str_format_internal" -+ "strings" -+ "strings_internal" -+ "symbolize" -+ "synchronization" -+ "thread_pool" -+ "throw_delegate" - "time" -- "civil_time" - "time_zone" -- "container" -- "btree" -- "compressed_tuple" -- "fixed_array" -- "inlined_vector_internal" -- "inlined_vector" -- "counting_allocator" -- "flat_hash_map" -- "flat_hash_set" -- "node_hash_map" -- "node_hash_set" -- "container_memory" -- "hash_function_defaults" -- "hash_policy_traits" -- "hashtablez_sampler" -- "hashtable_debug" -- "hashtable_debug_hooks" -- "node_slot_policy" -- "raw_hash_map" -- "container_common" -- "raw_hash_set" -- "layout" - "tracked" -- "sample_recorder" -+ "type_traits" -+ "utility" -+ "variant" - ) - - function(absl_internal_dll_contains) --- -2.38.1.windows.1 - diff --git a/recipe/patches/0008-default-dll-import-for-windows.patch b/recipe/patches/0005-default-dll-import-for-windows.patch similarity index 75% rename from recipe/patches/0008-default-dll-import-for-windows.patch rename to recipe/patches/0005-default-dll-import-for-windows.patch index 3126cb4..354157f 100644 --- a/recipe/patches/0008-default-dll-import-for-windows.patch +++ b/recipe/patches/0005-default-dll-import-for-windows.patch @@ -1,17 +1,17 @@ -From 82228c69ff641a83838ba5f0d12dc3f6f4d60f28 Mon Sep 17 00:00:00 2001 +From 68bdbcb32259d6fb92e2d0d723e8f79204462fc7 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 8/9] default dll import for windows +Subject: [PATCH 5/5] default dll import for windows --- absl/base/config.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/absl/base/config.h b/absl/base/config.h -index 8533aead..cc92658c 100644 +index e35d2e48..391da4de 100644 --- a/absl/base/config.h +++ b/absl/base/config.h -@@ -737,10 +737,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || +@@ -750,10 +750,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || #if defined(_MSC_VER) #if defined(ABSL_BUILD_DLL) #define ABSL_DLL __declspec(dllexport) diff --git a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch b/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch deleted file mode 100644 index 6062cd0..0000000 --- a/recipe/patches/0006-avoid-building-static-libs-on-windows-when-BUILD_SHA.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 5b0225562085b17749a04a57cd6e89e8926c7053 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Wed, 2 Mar 2022 13:43:37 +1100 -Subject: [PATCH 6/9] avoid building static libs on windows when - BUILD_SHARED_LIBS=ON - -except all flags_* libraries, for which DLL builds on windows -are not supported - -To do this, expand list of ABSL_INTERNAL_DLL_TARGETS; this -is due to how the logic of absl_internal_dll_contains checks -whether additional static libraries should be built, compare -https://github.com/abseil/abseil-cpp/blob/20211102.0/CMake/AbseilHelpers.cmake#L112-L132 ---- - CMake/AbseilDll.cmake | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index 5638ed66..b9a3664b 100644 ---- a/CMake/AbseilDll.cmake -+++ b/CMake/AbseilDll.cmake -@@ -376,6 +376,11 @@ set(ABSL_INTERNAL_DLL_TARGETS - "container_common" - "container_memory" - "cord" -+ "cord_internal" -+ "cordz_functions" -+ "cordz_handle" -+ "cordz_info" -+ "cordz_sample_token" - "core_headers" - "counting_allocator" - "debugging" -@@ -404,6 +409,7 @@ set(ABSL_INTERNAL_DLL_TARGETS - "layout" - "leak_check" - "log_severity" -+ "low_level_hash" - "malloc_internal" - "memory" - "meta" -@@ -418,6 +424,7 @@ set(ABSL_INTERNAL_DLL_TARGETS - "random_bit_gen_ref" - "random_distributions" - "random_internal_distribution_caller" -+ "random_internal_distribution_test_util" - "random_internal_distributions" - "random_internal_explicit_seed_seq" - "random_internal_fast_uniform_bits" -@@ -453,6 +460,8 @@ set(ABSL_INTERNAL_DLL_TARGETS - "stack_consumption" - "stacktrace" - "status" -+ "statusor" -+ "strerror" - "str_format" - "str_format_internal" - "strings" --- -2.38.1.windows.1 - diff --git a/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch b/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch deleted file mode 100644 index 89985d6..0000000 --- a/recipe/patches/0007-Compile-all-dependencies-of-the-DLL-with-ABSL_CONSUM.patch +++ /dev/null @@ -1,24 +0,0 @@ -From d4b55614c1f10515c7a8a98ec24fe5a1df5750d2 Mon Sep 17 00:00:00 2001 -From: Isuru Fernando -Date: Fri, 2 Sep 2022 04:04:37 -0500 -Subject: [PATCH 7/9] Compile all dependencies of the DLL with ABSL_CONSUME_DLL - ---- - CMake/AbseilDll.cmake | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index b9a3664b..5e1316f0 100644 ---- a/CMake/AbseilDll.cmake -+++ b/CMake/AbseilDll.cmake -@@ -555,6 +555,7 @@ function(absl_make_dll) - NOMINMAX - INTERFACE - ${ABSL_CC_LIB_DEFINES} -+ ABSL_CONSUME_DLL - ) - install(TARGETS abseil_dll EXPORT ${PROJECT_NAME}Targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} --- -2.38.1.windows.1 - diff --git a/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch b/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch deleted file mode 100644 index 9ce4fdd..0000000 --- a/recipe/patches/0009-add-pkgconfig-metadata-for-shared-windows-builds.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 0dc45d5683e6dd1813bbb287b32c1bb8284bf5e9 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Fri, 21 Oct 2022 21:06:25 +1100 -Subject: [PATCH 9/9] add pkgconfig metadata for shared windows builds - ---- - CMake/AbseilDll.cmake | 27 +++++++++++++++++++++++++++ - CMake/AbseilHelpers.cmake | 30 +++++++++++++++++++++++------- - 2 files changed, 50 insertions(+), 7 deletions(-) - -diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index 5e1316f0..8ac4cb40 100644 ---- a/CMake/AbseilDll.cmake -+++ b/CMake/AbseilDll.cmake -@@ -548,6 +548,33 @@ function(absl_make_dll) - ${ABSL_DEFAULT_COPTS} - ) - -+ foreach(cflag ${ABSL_CC_LIB_COPTS}) -+ if(${cflag} MATCHES "^(-Wno|/wd)") -+ # These flags are needed to suppress warnings that might fire in our headers. -+ set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") -+ elseif(${cflag} MATCHES "^(-W|/w[1234eo])") -+ # Don't impose our warnings on others. -+ else() -+ set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") -+ endif() -+ endforeach() -+ string(REPLACE ";" " " PC_LINKOPTS "${ABSL_CC_LIB_LINKOPTS}") -+ -+ FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/abseil_dll.pc" CONTENT "\ -+prefix=${CMAKE_INSTALL_PREFIX}\n\ -+exec_prefix=\${prefix}\n\ -+libdir=${CMAKE_INSTALL_FULL_LIBDIR}\n\ -+includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}\n\ -+\n\ -+Name: abseil_dll\n\ -+Description: Abseil DLL library\n\ -+URL: https://abseil.io/\n\ -+Version: ${absl_VERSION}\n\ -+Libs: -L\${libdir} ${PC_LINKOPTS} $<$>:-labseil_dll>\n\ -+Cflags: -I\${includedir}${PC_CFLAGS}\n") -+ INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/abseil_dll.pc" -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -+ - target_compile_definitions( - abseil_dll - PRIVATE -diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake -index dbb09fe2..905cb2f4 100644 ---- a/CMake/AbseilHelpers.cmake -+++ b/CMake/AbseilHelpers.cmake -@@ -143,8 +143,7 @@ function(absl_cc_library) - endif() - - # Generate a pkg-config file for every library: -- if((_build_type STREQUAL "static" OR _build_type STREQUAL "shared") -- AND ABSL_ENABLE_INSTALL) -+ if(ABSL_ENABLE_INSTALL) - if(NOT ABSL_CC_LIB_TESTONLY) - if(absl_VERSION) - set(PC_VERSION "${absl_VERSION}") -@@ -153,11 +152,28 @@ function(absl_cc_library) - endif() - foreach(dep ${ABSL_CC_LIB_DEPS}) - if(${dep} MATCHES "^absl::(.*)") -- # Join deps with commas. -- if(PC_DEPS) -- set(PC_DEPS "${PC_DEPS},") -+ # for DLL builds many libs are not created, but add -+ # the pkgconfigs nevertheless, pointing to the dll. -+ if(_build_type STREQUAL "dll") -+ # hide this MATCHES in an if-clause so it doesn't overwrite -+ # the CMAKE_MATCH_1 from (${dep} MATCHES "^absl::(.*)") -+ if(NOT PC_DEPS MATCHES "abseil_dll") -+ # Join deps with commas. -+ if(PC_DEPS) -+ set(PC_DEPS "${PC_DEPS},") -+ endif() -+ # don't duplicate dll-dep if it exists already -+ set(PC_DEPS "${PC_DEPS} abseil_dll = ${PC_VERSION}") -+ set(LNK_LIB "${LNK_LIB} -labseil_dll") -+ endif() -+ else() -+ # Join deps with commas. -+ if(PC_DEPS) -+ set(PC_DEPS "${PC_DEPS},") -+ endif() -+ set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") -+ set(LNK_LIB "${LNK_LIB} -labsl_${_NAME}") - endif() -- set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") - endif() - endforeach() - foreach(cflag ${ABSL_CC_LIB_COPTS}) -@@ -182,7 +198,7 @@ Description: Abseil ${_NAME} library\n\ - URL: https://abseil.io/\n\ - Version: ${PC_VERSION}\n\ - Requires:${PC_DEPS}\n\ --Libs: -L\${libdir} ${PC_LINKOPTS} $<$>:-labsl_${_NAME}>\n\ -+Libs: -L\${libdir} ${PC_LINKOPTS} $<$>:${LNK_LIB}>\n\ - Cflags: -I\${includedir}${PC_CFLAGS}\n") - INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") --- -2.38.1.windows.1 - From 876aa8cb526984c817e3f80fd6bf3d4b9da9e2d2 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:46:59 +1100 Subject: [PATCH 055/100] drop C++11 ABI builds --- recipe/conda_build_config.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 0adbf5d..93c7a19 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,10 +1,8 @@ cxx_standard: - - 11 - 14 - 17 - 17 shared_libs: - - OFF - OFF - OFF - ON From 38ade212822d6a3c5da540ebaeb41637a8fc8370 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:48:18 +1100 Subject: [PATCH 056/100] MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.02.06.13.55.07 --- .azure-pipelines/azure-pipelines-linux.yml | 12 ------ .azure-pipelines/azure-pipelines-osx.yml | 6 --- .azure-pipelines/azure-pipelines-win.yml | 3 -- ...linux_64_cxx_standard11shared_libsOFF.yaml | 27 ------------ ..._aarch64_cxx_standard11shared_libsOFF.yaml | 31 -------------- ..._ppc64le_cxx_standard11shared_libsOFF.yaml | 27 ------------ .../osx_64_cxx_standard11shared_libsOFF.yaml | 27 ------------ ...sx_arm64_cxx_standard11shared_libsOFF.yaml | 27 ------------ .../win_64_cxx_standard11shared_libsOFF.yaml | 17 -------- README.md | 42 ------------------- 10 files changed, 219 deletions(-) delete mode 100644 .ci_support/linux_64_cxx_standard11shared_libsOFF.yaml delete mode 100644 .ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml delete mode 100644 .ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml delete mode 100644 .ci_support/osx_64_cxx_standard11shared_libsOFF.yaml delete mode 100644 .ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml delete mode 100644 .ci_support/win_64_cxx_standard11shared_libsOFF.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 8049727..5f8aba0 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,10 +8,6 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_cxx_standard11shared_libsOFF: - CONFIG: linux_64_cxx_standard11shared_libsOFF - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_64_cxx_standard14shared_libsOFF: CONFIG: linux_64_cxx_standard14shared_libsOFF UPLOAD_PACKAGES: 'True' @@ -24,10 +20,6 @@ jobs: CONFIG: linux_64_cxx_standard17shared_libsON UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_cxx_standard11shared_libsOFF: - CONFIG: linux_aarch64_cxx_standard11shared_libsOFF - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_aarch64_cxx_standard14shared_libsOFF: CONFIG: linux_aarch64_cxx_standard14shared_libsOFF UPLOAD_PACKAGES: 'True' @@ -40,10 +32,6 @@ jobs: CONFIG: linux_aarch64_cxx_standard17shared_libsON UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_cxx_standard11shared_libsOFF: - CONFIG: linux_ppc64le_cxx_standard11shared_libsOFF - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_ppc64le_cxx_standard14shared_libsOFF: CONFIG: linux_ppc64le_cxx_standard14shared_libsOFF UPLOAD_PACKAGES: 'True' diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 7901621..f5e19a3 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,9 +8,6 @@ jobs: vmImage: macOS-11 strategy: matrix: - osx_64_cxx_standard11shared_libsOFF: - CONFIG: osx_64_cxx_standard11shared_libsOFF - UPLOAD_PACKAGES: 'True' osx_64_cxx_standard14shared_libsOFF: CONFIG: osx_64_cxx_standard14shared_libsOFF UPLOAD_PACKAGES: 'True' @@ -20,9 +17,6 @@ jobs: osx_64_cxx_standard17shared_libsON: CONFIG: osx_64_cxx_standard17shared_libsON UPLOAD_PACKAGES: 'True' - osx_arm64_cxx_standard11shared_libsOFF: - CONFIG: osx_arm64_cxx_standard11shared_libsOFF - UPLOAD_PACKAGES: 'True' osx_arm64_cxx_standard14shared_libsOFF: CONFIG: osx_arm64_cxx_standard14shared_libsOFF UPLOAD_PACKAGES: 'True' diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 41aead5..37d6953 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,9 +8,6 @@ jobs: vmImage: windows-2019 strategy: matrix: - win_64_cxx_standard11shared_libsOFF: - CONFIG: win_64_cxx_standard11shared_libsOFF - UPLOAD_PACKAGES: 'True' win_64_cxx_standard14shared_libsOFF: CONFIG: win_64_cxx_standard14shared_libsOFF UPLOAD_PACKAGES: 'True' diff --git a/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml deleted file mode 100644 index 89e2f61..0000000 --- a/.ci_support/linux_64_cxx_standard11shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_name: -- cos6 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '11' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml deleted file mode 100644 index d6cb949..0000000 --- a/.ci_support/linux_aarch64_cxx_standard11shared_libsOFF.yaml +++ /dev/null @@ -1,31 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '11' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-aarch64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml deleted file mode 100644 index d0e080a..0000000 --- a/.ci_support/linux_ppc64le_cxx_standard11shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '11' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-ppc64le -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml deleted file mode 100644 index cc90c32..0000000 --- a/.ci_support/osx_64_cxx_standard11shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -c_compiler: -- clang -c_compiler_version: -- '14' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '14' -cxx_standard: -- '11' -macos_machine: -- x86_64-apple-darwin13.4.0 -shared_libs: -- 'OFF' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml deleted file mode 100644 index 065e6f8..0000000 --- a/.ci_support/osx_arm64_cxx_standard11shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '14' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '14' -cxx_standard: -- '11' -macos_machine: -- arm64-apple-darwin20.0.0 -shared_libs: -- 'OFF' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml deleted file mode 100644 index 290ddfd..0000000 --- a/.ci_support/win_64_cxx_standard11shared_libsOFF.yaml +++ /dev/null @@ -1,17 +0,0 @@ -c_compiler: -- vs2019 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- vs2019 -cxx_standard: -- '11' -shared_libs: -- 'OFF' -target_platform: -- win-64 -zip_keys: -- - cxx_standard - - shared_libs diff --git a/README.md b/README.md index a76dc01..aa1aab4 100644 --- a/README.md +++ b/README.md @@ -35,13 +35,6 @@ Current build status
VariantStatus
linux_64linux_64_cxx_standard11shared_libsOFF - variant + variant
linux_aarch64linux_64_cxx_standard14shared_libsOFF - variant + variant
linux_ppc64lelinux_64_cxx_standard17shared_libsOFF - variant + variant
osx_64linux_64_cxx_standard17shared_libsON - variant + variant
osx_arm64linux_aarch64_cxx_standard11shared_libsOFF - variant + variant
win_64linux_aarch64_cxx_standard14shared_libsOFF - variant + variant + +
linux_aarch64_cxx_standard17shared_libsOFF + + variant + +
linux_aarch64_cxx_standard17shared_libsON + + variant + +
linux_ppc64le_cxx_standard11shared_libsOFF + + variant + +
linux_ppc64le_cxx_standard14shared_libsOFF + + variant + +
linux_ppc64le_cxx_standard17shared_libsOFF + + variant + +
linux_ppc64le_cxx_standard17shared_libsON + + variant + +
osx_64_cxx_standard11shared_libsOFF + + variant + +
osx_64_cxx_standard14shared_libsOFF + + variant + +
osx_64_cxx_standard17shared_libsOFF + + variant + +
osx_64_cxx_standard17shared_libsON + + variant + +
osx_arm64_cxx_standard11shared_libsOFF + + variant + +
osx_arm64_cxx_standard14shared_libsOFF + + variant + +
osx_arm64_cxx_standard17shared_libsOFF + + variant + +
osx_arm64_cxx_standard17shared_libsON + + variant + +
win_64_cxx_standard11shared_libsOFF + + variant + +
win_64_cxx_standard14shared_libsOFF + + variant + +
win_64_cxx_standard17shared_libsOFF + + variant + +
win_64_cxx_standard17shared_libsON + + variant
linux_64_cxx_standard11shared_libsOFF - variant + variant
linux_64_cxx_standard14shared_libsOFF - variant + variant
linux_64_cxx_standard17shared_libsOFF - variant + variant
linux_64_cxx_standard17shared_libsON - variant + variant
linux_aarch64_cxx_standard11shared_libsOFF - variant + variant
linux_aarch64_cxx_standard14shared_libsOFF - variant + variant
linux_aarch64_cxx_standard17shared_libsOFF - variant + variant
linux_aarch64_cxx_standard17shared_libsON - variant + variant
linux_ppc64le_cxx_standard11shared_libsOFF - variant + variant
linux_ppc64le_cxx_standard14shared_libsOFF - variant + variant
linux_ppc64le_cxx_standard17shared_libsOFF - variant + variant
linux_ppc64le_cxx_standard17shared_libsON - variant + variant
osx_64_cxx_standard11shared_libsOFF - variant + variant
osx_64_cxx_standard14shared_libsOFF - variant + variant
osx_64_cxx_standard17shared_libsOFF - variant + variant
osx_64_cxx_standard17shared_libsON - variant + variant
osx_arm64_cxx_standard11shared_libsOFF - variant + variant
osx_arm64_cxx_standard14shared_libsOFF - variant + variant
osx_arm64_cxx_standard17shared_libsOFF - variant + variant
osx_arm64_cxx_standard17shared_libsON - variant + variant
win_64_cxx_standard11shared_libsOFF - variant + variant
win_64_cxx_standard14shared_libsOFF - variant + variant
win_64_cxx_standard17shared_libsOFF - variant + variant
win_64_cxx_standard17shared_libsON - variant + variant
- - - - - - - - - - - - - - - - - -
VariantStatus
linux_64_cxx_standard11shared_libsOFF - - variant - -
linux_64_cxx_standard14shared_libsOFF @@ -62,13 +55,6 @@ Current build status variant
linux_aarch64_cxx_standard11shared_libsOFF - - variant - -
linux_aarch64_cxx_standard14shared_libsOFF @@ -90,13 +76,6 @@ Current build status variant
linux_ppc64le_cxx_standard11shared_libsOFF - - variant - -
linux_ppc64le_cxx_standard14shared_libsOFF @@ -118,13 +97,6 @@ Current build status variant
osx_64_cxx_standard11shared_libsOFF - - variant - -
osx_64_cxx_standard14shared_libsOFF @@ -146,13 +118,6 @@ Current build status variant
osx_arm64_cxx_standard11shared_libsOFF - - variant - -
osx_arm64_cxx_standard14shared_libsOFF @@ -174,13 +139,6 @@ Current build status variant
win_64_cxx_standard11shared_libsOFF - - variant - -
win_64_cxx_standard14shared_libsOFF From 50b90d6dbcc161008f6abeec231057c833f678c8 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:14:33 +1100 Subject: [PATCH 057/100] reinstate backport of upstream PR 1115 --- recipe/meta.yaml | 4 +- ...ch-out-the-build-issue-on-clang4-osx.patch | 2 +- ...to-the-CoreFoundation-framework-on-O.patch | 2 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 2 +- .../0004-add-missing-osx-workaround.patch | 2 +- ...-ABSL_INTERNAL_DLL_TARGETS-for-share.patch | 66 +++++++++++++++++++ ...0006-default-dll-import-for-windows.patch} | 4 +- 7 files changed, 75 insertions(+), 7 deletions(-) create mode 100644 recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch rename recipe/patches/{0005-default-dll-import-for-windows.patch => 0006-default-dll-import-for-windows.patch} (86%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6962e4b..ab289fe 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,9 +29,11 @@ source: - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch - patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch - patches/0004-add-missing-osx-workaround.patch + # backport of https://github.com/abseil/abseil-cpp/pull/1115 + - patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - - patches/0005-default-dll-import-for-windows.patch # [win and shared_libs == "ON"] + - patches/0006-default-dll-import-for-windows.patch # [win and shared_libs == "ON"] build: number: 0 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 0c2db84..79c48ef 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From d59eb9046823f39006350a508e30bac815b63383 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/5] patch out the build issue on clang4 osx +Subject: [PATCH 1/6] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index e46d6e2..158b769 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From c8bd75a96ecb2bd528399829692307a03985da0b Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/5] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/6] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index bd15006..6dae2a7 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From dfbac02988c119967037c53a0f78f03bdf01e1c8 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/5] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/6] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index 98b58d1..76f816e 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From b6c0b4ffa8aa2ed4146e2c9ca9b0406e2da4f1d3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/5] add missing osx workaround +Subject: [PATCH 4/6] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ diff --git a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch new file mode 100644 index 0000000..5ad3f7a --- /dev/null +++ b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch @@ -0,0 +1,66 @@ +From 54b57e1ccc6f2a9786f240a376d33eaf34daf3d2 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Tue, 7 Feb 2023 13:01:27 +1100 +Subject: [PATCH 5/6] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared + builds + +--- + CMake/AbseilDll.cmake | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake +index c4a41e6d..eec6dd99 100644 +--- a/CMake/AbseilDll.cmake ++++ b/CMake/AbseilDll.cmake +@@ -448,8 +448,14 @@ set(ABSL_INTERNAL_DLL_TARGETS + "container_common" + "container_memory" + "cord" ++ "cord_internal" ++ "cordz_functions" ++ "cordz_handle" ++ "cordz_info" ++ "cordz_sample_token" + "core_headers" + "counting_allocator" ++ "crc_cord_state" + "crc_cpu_detect" + "crc_internal" + "crc32c" +@@ -498,12 +504,14 @@ set(ABSL_INTERNAL_DLL_TARGETS + "log_initialize" + "log" + "log_entry" ++ "log_flags" + "log_sink" + "log_sink_registry" + "log_streamer" + "log_internal_structured" + "log_severity" + "log_structured" ++ "low_level_hash" + "malloc_internal" + "memory" + "meta" +@@ -555,8 +563,10 @@ set(ABSL_INTERNAL_DLL_TARGETS + "stack_consumption" + "stacktrace" + "status" ++ "statusor" + "str_format" + "str_format_internal" ++ "strerror" + "strings" + "strings_internal" + "symbolize" +@@ -588,6 +598,7 @@ set(ABSL_INTERNAL_TEST_DLL_TARGETS + "cordz_test_helpers" + "hash_testing" + "random_mocking_bit_gen" ++ "random_internal_distribution_test_util" + "random_internal_mock_overload_set" + "scoped_mock_log" + ) +-- +2.38.1.windows.1 + diff --git a/recipe/patches/0005-default-dll-import-for-windows.patch b/recipe/patches/0006-default-dll-import-for-windows.patch similarity index 86% rename from recipe/patches/0005-default-dll-import-for-windows.patch rename to recipe/patches/0006-default-dll-import-for-windows.patch index 354157f..b03d3b1 100644 --- a/recipe/patches/0005-default-dll-import-for-windows.patch +++ b/recipe/patches/0006-default-dll-import-for-windows.patch @@ -1,7 +1,7 @@ -From 68bdbcb32259d6fb92e2d0d723e8f79204462fc7 Mon Sep 17 00:00:00 2001 +From 08797647a52610ac2437c4d1b0c3af38d2704fd4 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 5/5] default dll import for windows +Subject: [PATCH 6/6] default dll import for windows --- absl/base/config.h | 5 ++--- From bd01248fc7a2aaf41775918a40f3b2162d7d425c Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 17:34:55 +1100 Subject: [PATCH 058/100] remove abseil-cpp compatibility output --- recipe/meta.yaml | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ab289fe..bf18bb7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -160,27 +160,6 @@ outputs: {% endif %} # shared_libs == "ON" / "OFF" - # for compatibility with previous behavior of "abseil-cpp" - {% if (unix and ((shared_libs == "ON") and (cxx_standard == "17"))) - or (win and ((shared_libs == "OFF") and (cxx_standard == "11"))) %} - - name: abseil-cpp - build: - run_exports: # [unix] - - libabseil ={{ version }}=cxx{{ cxx_standard }}* # [unix] - requirements: - host: - # cxx-versions enforced through jinja-if-condition above - - {{ pin_subpackage('libabseil', exact=True) }} # [unix] - - {{ pin_subpackage('libabseil-static', exact=True) }} # [win] - run: - - {{ pin_subpackage('libabseil', exact=True) }} # [unix] - - {{ pin_subpackage('libabseil-static', exact=True) }} # [win] - test: - commands: - # tested in other outputs - - echo "hello" - {% endif %} - about: home: https://github.com/abseil/abseil-cpp license: Apache-2.0 From 143ca2591a2420378ad583a66568f6060614b960 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 17:36:05 +1100 Subject: [PATCH 059/100] MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.02.06.13.55.07 --- README.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index aa1aab4..43e8cae 100644 --- a/README.md +++ b/README.md @@ -173,7 +173,6 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | -| [![Conda Recipe](https://img.shields.io/badge/recipe-abseil--cpp-green.svg)](https://anaconda.org/conda-forge/abseil-cpp) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/abseil-cpp.svg)](https://anaconda.org/conda-forge/abseil-cpp) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/abseil-cpp.svg)](https://anaconda.org/conda-forge/abseil-cpp) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/abseil-cpp.svg)](https://anaconda.org/conda-forge/abseil-cpp) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libabseil-green.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libabseil--static-green.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | @@ -187,41 +186,41 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `abseil-cpp, libabseil, libabseil-static` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `libabseil, libabseil-static` can be installed with `conda`: ``` -conda install abseil-cpp libabseil libabseil-static +conda install libabseil libabseil-static ``` or with `mamba`: ``` -mamba install abseil-cpp libabseil libabseil-static +mamba install libabseil libabseil-static ``` -It is possible to list all of the versions of `abseil-cpp` available on your platform with `conda`: +It is possible to list all of the versions of `libabseil` available on your platform with `conda`: ``` -conda search abseil-cpp --channel conda-forge +conda search libabseil --channel conda-forge ``` or with `mamba`: ``` -mamba search abseil-cpp --channel conda-forge +mamba search libabseil --channel conda-forge ``` Alternatively, `mamba repoquery` may provide more information: ``` # Search all versions available on your platform: -mamba repoquery search abseil-cpp --channel conda-forge +mamba repoquery search libabseil --channel conda-forge -# List packages depending on `abseil-cpp`: -mamba repoquery whoneeds abseil-cpp --channel conda-forge +# List packages depending on `libabseil`: +mamba repoquery whoneeds libabseil --channel conda-forge -# List dependencies of `abseil-cpp`: -mamba repoquery depends abseil-cpp --channel conda-forge +# List dependencies of `libabseil`: +mamba repoquery depends libabseil --channel conda-forge ``` From 75442fb65a81aa37dedb6c63c7e404914c330710 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 9 Feb 2023 11:30:56 +1100 Subject: [PATCH 060/100] remove libabseil-static outputs --- recipe/build-abseil.bat | 4 +-- recipe/build-abseil.sh | 4 +-- recipe/conda_build_config.yaml | 12 ------- recipe/meta.yaml | 61 +++------------------------------- 4 files changed, 8 insertions(+), 73 deletions(-) delete mode 100644 recipe/conda_build_config.yaml diff --git a/recipe/build-abseil.bat b/recipe/build-abseil.bat index c2e91f5..448b160 100644 --- a/recipe/build-abseil.bat +++ b/recipe/build-abseil.bat @@ -4,10 +4,10 @@ mkdir build cd build cmake -GNinja ^ -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_CXX_STANDARD=17 ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ - -DCMAKE_CXX_STANDARD=%cxx_standard% ^ - -DBUILD_SHARED_LIBS=%shared_libs% ^ + -DBUILD_SHARED_LIBS=ON ^ .. if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/build-abseil.sh b/recipe/build-abseil.sh index 25186cc..1ce0067 100644 --- a/recipe/build-abseil.sh +++ b/recipe/build-abseil.sh @@ -7,10 +7,10 @@ cd build cmake ${CMAKE_ARGS} \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_STANDARD=${cxx_standard} \ + -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_PREFIX_PATH=${PREFIX} \ - -DBUILD_SHARED_LIBS=${shared_libs} \ + -DBUILD_SHARED_LIBS=ON \ -GNinja \ .. diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml deleted file mode 100644 index 93c7a19..0000000 --- a/recipe/conda_build_config.yaml +++ /dev/null @@ -1,12 +0,0 @@ -cxx_standard: - - 14 - - 17 - - 17 -shared_libs: - - OFF - - OFF - - ON -zip_keys: - - - - cxx_standard - - shared_libs diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bf18bb7..a531b10 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,8 @@ {% set version = "20230125.0" %} {% set v_major = version.split(".")[0] %} +# needs to match across all dependent packages; using C++20 +# is potentially problematic in some cases, see #45 +{% set cxx_standard = 17 %} # shared builds for flags_* libraries are not supported on windows, see # https://github.com/abseil/abseil-cpp/pull/1115 @@ -33,13 +36,12 @@ source: - patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - - patches/0006-default-dll-import-for-windows.patch # [win and shared_libs == "ON"] + - patches/0006-default-dll-import-for-windows.patch # [win] build: number: 0 outputs: - {% if shared_libs == "ON" %} # default behaviour is shared; however note that upstream does not support # fully shared builds on windows, and some static libs will remain, see above - name: libabseil @@ -105,61 +107,6 @@ outputs: - ./flags_example # [unix] - flags_example.exe # [win] - {% else %} # shared_libs == "OFF" - - - name: libabseil-static - script: build-abseil.sh # [unix] - script: build-abseil.bat # [win] - build: - string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} - # no run_export necessary for static lib - - requirements: - build: - - {{ compiler('c') }} - - {{ compiler('cxx') }} - - cmake - - ninja - run_constrained: - - libabseil ={{ version }}=cxx{{ cxx_standard }}* - # make sure we don't co-install with old version of old package name - - abseil-cpp ={{ version }} - test: - requires: - - {{ compiler('cxx') }} - - cmake - - ninja - - pkg-config - files: - - cmake_test/ - commands: - # absence of DLL on windows - - if exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] - - if exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] - - {% for each_lib in absl_libs %} - # presence of static libs - - test -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] - - if not exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] - # absence of shared libs - - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] - - # pkg-config - - pkg-config --print-errors --exact-version "{{ v_major }}" absl_{{ each_lib }} - {% endfor %} - - # CMake integration - - cd cmake_test - - export CMAKE_ARGS="$CMAKE_ARGS -GNinja -DCMAKE_BUILD_TYPE=Release" # [unix] - - set "CMAKE_ARGS=%CMAKE_ARGS% -GNinja -DCMAKE_BUILD_TYPE=Release" # [win] - - cmake $CMAKE_ARGS -DCMAKE_CXX_STANDARD={{ cxx_standard }} . # [unix] - - cmake %CMAKE_ARGS% -DCMAKE_CXX_STANDARD={{ cxx_standard }} . # [win] - - cmake --build . - - ./flags_example # [unix] - - flags_example.exe # [win] - - {% endif %} # shared_libs == "ON" / "OFF" - about: home: https://github.com/abseil/abseil-cpp license: Apache-2.0 From 8d47484197f922817761b1d0936260d590a81a3e Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 9 Feb 2023 11:31:57 +1100 Subject: [PATCH 061/100] MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.02.08.20.12.13 --- .azure-pipelines/azure-pipelines-linux.yml | 36 +----- .azure-pipelines/azure-pipelines-osx.yml | 20 +-- .azure-pipelines/azure-pipelines-win.yml | 10 +- ...ard17shared_libsON.yaml => linux_64_.yaml} | 6 - ...linux_64_cxx_standard14shared_libsOFF.yaml | 27 ---- ...linux_64_cxx_standard17shared_libsOFF.yaml | 27 ---- ...shared_libsON.yaml => linux_aarch64_.yaml} | 6 - ..._aarch64_cxx_standard14shared_libsOFF.yaml | 31 ----- ..._aarch64_cxx_standard17shared_libsOFF.yaml | 31 ----- ...shared_libsON.yaml => linux_ppc64le_.yaml} | 6 - ..._ppc64le_cxx_standard14shared_libsOFF.yaml | 27 ---- ..._ppc64le_cxx_standard17shared_libsOFF.yaml | 27 ---- ...ndard17shared_libsON.yaml => osx_64_.yaml} | 6 - .../osx_64_cxx_standard14shared_libsOFF.yaml | 27 ---- .../osx_64_cxx_standard17shared_libsOFF.yaml | 27 ---- ...rd17shared_libsON.yaml => osx_arm64_.yaml} | 6 - ...sx_arm64_cxx_standard14shared_libsOFF.yaml | 27 ---- ...sx_arm64_cxx_standard17shared_libsOFF.yaml | 27 ---- ...ndard17shared_libsON.yaml => win_64_.yaml} | 7 -- .../win_64_cxx_standard14shared_libsOFF.yaml | 17 --- .../win_64_cxx_standard17shared_libsOFF.yaml | 17 --- README.md | 115 +++--------------- 22 files changed, 27 insertions(+), 503 deletions(-) rename .ci_support/{linux_64_cxx_standard17shared_libsON.yaml => linux_64_.yaml} (81%) delete mode 100644 .ci_support/linux_64_cxx_standard14shared_libsOFF.yaml delete mode 100644 .ci_support/linux_64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{linux_aarch64_cxx_standard17shared_libsON.yaml => linux_aarch64_.yaml} (83%) delete mode 100644 .ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml delete mode 100644 .ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{linux_ppc64le_cxx_standard17shared_libsON.yaml => linux_ppc64le_.yaml} (81%) delete mode 100644 .ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml delete mode 100644 .ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml rename .ci_support/{osx_64_cxx_standard17shared_libsON.yaml => osx_64_.yaml} (81%) delete mode 100644 .ci_support/osx_64_cxx_standard14shared_libsOFF.yaml delete mode 100644 .ci_support/osx_64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{osx_arm64_cxx_standard17shared_libsON.yaml => osx_arm64_.yaml} (81%) delete mode 100644 .ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml delete mode 100644 .ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml rename .ci_support/{win_64_cxx_standard17shared_libsON.yaml => win_64_.yaml} (61%) delete mode 100644 .ci_support/win_64_cxx_standard14shared_libsOFF.yaml delete mode 100644 .ci_support/win_64_cxx_standard17shared_libsOFF.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 5f8aba0..3b9dee7 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,40 +8,16 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_cxx_standard14shared_libsOFF: - CONFIG: linux_64_cxx_standard14shared_libsOFF + linux_64_: + CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_cxx_standard17shared_libsOFF: - CONFIG: linux_64_cxx_standard17shared_libsOFF + linux_aarch64_: + CONFIG: linux_aarch64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_cxx_standard17shared_libsON: - CONFIG: linux_64_cxx_standard17shared_libsON - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_cxx_standard14shared_libsOFF: - CONFIG: linux_aarch64_cxx_standard14shared_libsOFF - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_cxx_standard17shared_libsOFF: - CONFIG: linux_aarch64_cxx_standard17shared_libsOFF - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_cxx_standard17shared_libsON: - CONFIG: linux_aarch64_cxx_standard17shared_libsON - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_cxx_standard14shared_libsOFF: - CONFIG: linux_ppc64le_cxx_standard14shared_libsOFF - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_cxx_standard17shared_libsOFF: - CONFIG: linux_ppc64le_cxx_standard17shared_libsOFF - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_cxx_standard17shared_libsON: - CONFIG: linux_ppc64le_cxx_standard17shared_libsON + linux_ppc64le_: + CONFIG: linux_ppc64le_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index f5e19a3..8032e96 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,23 +8,11 @@ jobs: vmImage: macOS-11 strategy: matrix: - osx_64_cxx_standard14shared_libsOFF: - CONFIG: osx_64_cxx_standard14shared_libsOFF + osx_64_: + CONFIG: osx_64_ UPLOAD_PACKAGES: 'True' - osx_64_cxx_standard17shared_libsOFF: - CONFIG: osx_64_cxx_standard17shared_libsOFF - UPLOAD_PACKAGES: 'True' - osx_64_cxx_standard17shared_libsON: - CONFIG: osx_64_cxx_standard17shared_libsON - UPLOAD_PACKAGES: 'True' - osx_arm64_cxx_standard14shared_libsOFF: - CONFIG: osx_arm64_cxx_standard14shared_libsOFF - UPLOAD_PACKAGES: 'True' - osx_arm64_cxx_standard17shared_libsOFF: - CONFIG: osx_arm64_cxx_standard17shared_libsOFF - UPLOAD_PACKAGES: 'True' - osx_arm64_cxx_standard17shared_libsON: - CONFIG: osx_arm64_cxx_standard17shared_libsON + 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 37d6953..a192c0b 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,14 +8,8 @@ jobs: vmImage: windows-2019 strategy: matrix: - win_64_cxx_standard14shared_libsOFF: - CONFIG: win_64_cxx_standard14shared_libsOFF - UPLOAD_PACKAGES: 'True' - win_64_cxx_standard17shared_libsOFF: - CONFIG: win_64_cxx_standard17shared_libsOFF - UPLOAD_PACKAGES: 'True' - win_64_cxx_standard17shared_libsON: - CONFIG: win_64_cxx_standard17shared_libsON + win_64_: + CONFIG: win_64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: diff --git a/.ci_support/linux_64_cxx_standard17shared_libsON.yaml b/.ci_support/linux_64_.yaml similarity index 81% rename from .ci_support/linux_64_cxx_standard17shared_libsON.yaml rename to .ci_support/linux_64_.yaml index 5529cbe..ba71b29 100644 --- a/.ci_support/linux_64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/linux_64_.yaml @@ -12,16 +12,10 @@ cxx_compiler: - gxx cxx_compiler_version: - '11' -cxx_standard: -- '17' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'ON' target_platform: - linux-64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml deleted file mode 100644 index 823df73..0000000 --- a/.ci_support/linux_64_cxx_standard14shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_name: -- cos6 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml deleted file mode 100644 index 7f408d3..0000000 --- a/.ci_support/linux_64_cxx_standard17shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_name: -- cos6 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '17' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml b/.ci_support/linux_aarch64_.yaml similarity index 83% rename from .ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml rename to .ci_support/linux_aarch64_.yaml index 85f2467..58f97de 100644 --- a/.ci_support/linux_aarch64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -16,16 +16,10 @@ cxx_compiler: - gxx cxx_compiler_version: - '11' -cxx_standard: -- '17' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'ON' target_platform: - linux-aarch64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml deleted file mode 100644 index d43d640..0000000 --- a/.ci_support/linux_aarch64_cxx_standard14shared_libsOFF.yaml +++ /dev/null @@ -1,31 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-aarch64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml deleted file mode 100644 index ae332a9..0000000 --- a/.ci_support/linux_aarch64_cxx_standard17shared_libsOFF.yaml +++ /dev/null @@ -1,31 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '17' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-aarch64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml b/.ci_support/linux_ppc64le_.yaml similarity index 81% rename from .ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml rename to .ci_support/linux_ppc64le_.yaml index 44a551b..b586c39 100644 --- a/.ci_support/linux_ppc64le_cxx_standard17shared_libsON.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -12,16 +12,10 @@ cxx_compiler: - gxx cxx_compiler_version: - '11' -cxx_standard: -- '17' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'ON' target_platform: - linux-ppc64le zip_keys: - - c_compiler_version - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml deleted file mode 100644 index de3bc0a..0000000 --- a/.ci_support/linux_ppc64le_cxx_standard14shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '14' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-ppc64le -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml b/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml deleted file mode 100644 index 82b9498..0000000 --- a/.ci_support/linux_ppc64le_cxx_standard17shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '11' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -cxx_standard: -- '17' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -shared_libs: -- 'OFF' -target_platform: -- linux-ppc64le -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/osx_64_cxx_standard17shared_libsON.yaml b/.ci_support/osx_64_.yaml similarity index 81% rename from .ci_support/osx_64_cxx_standard17shared_libsON.yaml rename to .ci_support/osx_64_.yaml index be2db02..18df55d 100644 --- a/.ci_support/osx_64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/osx_64_.yaml @@ -12,16 +12,10 @@ cxx_compiler: - clangxx cxx_compiler_version: - '14' -cxx_standard: -- '17' macos_machine: - x86_64-apple-darwin13.4.0 -shared_libs: -- 'ON' target_platform: - osx-64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml deleted file mode 100644 index eb8550f..0000000 --- a/.ci_support/osx_64_cxx_standard14shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -c_compiler: -- clang -c_compiler_version: -- '14' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '14' -cxx_standard: -- '14' -macos_machine: -- x86_64-apple-darwin13.4.0 -shared_libs: -- 'OFF' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml deleted file mode 100644 index 46f1a0d..0000000 --- a/.ci_support/osx_64_cxx_standard17shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -c_compiler: -- clang -c_compiler_version: -- '14' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '14' -cxx_standard: -- '17' -macos_machine: -- x86_64-apple-darwin13.4.0 -shared_libs: -- 'OFF' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/osx_arm64_cxx_standard17shared_libsON.yaml b/.ci_support/osx_arm64_.yaml similarity index 81% rename from .ci_support/osx_arm64_cxx_standard17shared_libsON.yaml rename to .ci_support/osx_arm64_.yaml index 9b35349..927b8af 100644 --- a/.ci_support/osx_arm64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -12,16 +12,10 @@ cxx_compiler: - clangxx cxx_compiler_version: - '14' -cxx_standard: -- '17' macos_machine: - arm64-apple-darwin20.0.0 -shared_libs: -- 'ON' target_platform: - osx-arm64 zip_keys: - - c_compiler_version - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml deleted file mode 100644 index bde511d..0000000 --- a/.ci_support/osx_arm64_cxx_standard14shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '14' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '14' -cxx_standard: -- '14' -macos_machine: -- arm64-apple-darwin20.0.0 -shared_libs: -- 'OFF' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml b/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml deleted file mode 100644 index 06c3dc7..0000000 --- a/.ci_support/osx_arm64_cxx_standard17shared_libsOFF.yaml +++ /dev/null @@ -1,27 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '14' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '14' -cxx_standard: -- '17' -macos_machine: -- arm64-apple-darwin20.0.0 -shared_libs: -- 'OFF' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cxx_standard - - shared_libs diff --git a/.ci_support/win_64_cxx_standard17shared_libsON.yaml b/.ci_support/win_64_.yaml similarity index 61% rename from .ci_support/win_64_cxx_standard17shared_libsON.yaml rename to .ci_support/win_64_.yaml index 16d67e0..2614db3 100644 --- a/.ci_support/win_64_cxx_standard17shared_libsON.yaml +++ b/.ci_support/win_64_.yaml @@ -6,12 +6,5 @@ channel_targets: - conda-forge main cxx_compiler: - vs2019 -cxx_standard: -- '17' -shared_libs: -- 'ON' target_platform: - win-64 -zip_keys: -- - cxx_standard - - shared_libs diff --git a/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml deleted file mode 100644 index 601d3bb..0000000 --- a/.ci_support/win_64_cxx_standard14shared_libsOFF.yaml +++ /dev/null @@ -1,17 +0,0 @@ -c_compiler: -- vs2019 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- vs2019 -cxx_standard: -- '14' -shared_libs: -- 'OFF' -target_platform: -- win-64 -zip_keys: -- - cxx_standard - - shared_libs diff --git a/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml b/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml deleted file mode 100644 index 988f2d4..0000000 --- a/.ci_support/win_64_cxx_standard17shared_libsOFF.yaml +++ /dev/null @@ -1,17 +0,0 @@ -c_compiler: -- vs2019 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- vs2019 -cxx_standard: -- '17' -shared_libs: -- 'OFF' -target_platform: -- win-64 -zip_keys: -- - cxx_standard - - shared_libs diff --git a/README.md b/README.md index 43e8cae..51740fb 100644 --- a/README.md +++ b/README.md @@ -35,129 +35,45 @@ Current build status - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -174,7 +90,6 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-libabseil-green.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | -| [![Conda Recipe](https://img.shields.io/badge/recipe-libabseil--static-green.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libabseil-static.svg)](https://anaconda.org/conda-forge/libabseil-static) | Installing abseil-cpp ===================== @@ -186,16 +101,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `libabseil, libabseil-static` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `libabseil` can be installed with `conda`: ``` -conda install libabseil libabseil-static +conda install libabseil ``` or with `mamba`: ``` -mamba install libabseil libabseil-static +mamba install libabseil ``` It is possible to list all of the versions of `libabseil` available on your platform with `conda`: From 48ac432e7dcf12dcdc64248da912dbe5637fdfdd Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Thu, 16 Feb 2023 22:54:58 +0100 Subject: [PATCH 062/100] Enable ABSL_PROPAGATE_CXX_STD to ensure that C++ version requirements are propagated via CMake (#54) --- recipe/build-abseil.bat | 1 + recipe/build-abseil.sh | 1 + recipe/meta.yaml | 3 +- ...ch-out-the-build-issue-on-clang4-osx.patch | 4 +-- ...to-the-CoreFoundation-framework-on-O.patch | 4 +-- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 4 +-- .../0004-add-missing-osx-workaround.patch | 4 +-- ...-ABSL_INTERNAL_DLL_TARGETS-for-share.patch | 4 +-- .../0006-default-dll-import-for-windows.patch | 4 +-- ...-ABSL_PROPAGATE_CXX_STD-cmake-option.patch | 36 +++++++++++++++++++ 10 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch diff --git a/recipe/build-abseil.bat b/recipe/build-abseil.bat index 448b160..e2c05b2 100644 --- a/recipe/build-abseil.bat +++ b/recipe/build-abseil.bat @@ -8,6 +8,7 @@ cmake -GNinja ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ -DBUILD_SHARED_LIBS=ON ^ + -DABSL_PROPAGATE_CXX_STD=ON ^ .. if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/build-abseil.sh b/recipe/build-abseil.sh index 1ce0067..041a9c2 100644 --- a/recipe/build-abseil.sh +++ b/recipe/build-abseil.sh @@ -11,6 +11,7 @@ cmake ${CMAKE_ARGS} \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_PREFIX_PATH=${PREFIX} \ -DBUILD_SHARED_LIBS=ON \ + -DABSL_PROPAGATE_CXX_STD=ON \ -GNinja \ .. diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a531b10..9ae57dc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -37,9 +37,10 @@ source: # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - patches/0006-default-dll-import-for-windows.patch # [win] + - patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch build: - number: 0 + number: 1 outputs: # default behaviour is shared; however note that upstream does not support diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 79c48ef..09696a0 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From d59eb9046823f39006350a508e30bac815b63383 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/6] patch out the build issue on clang4 osx +Subject: [PATCH 1/7] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ @@ -23,5 +23,5 @@ index a5b084e6..0a9a4389 100644 #include #include -- -2.38.1.windows.1 +2.33.0.windows.2 diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index 158b769..b775300 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From c8bd75a96ecb2bd528399829692307a03985da0b Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/6] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/7] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- @@ -27,5 +27,5 @@ index 7b720540..cfed46a4 100644 absl_cc_library( NAME -- -2.38.1.windows.1 +2.33.0.windows.2 diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 6dae2a7..498dc70 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From dfbac02988c119967037c53a0f78f03bdf01e1c8 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/6] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/7] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- @@ -41,5 +41,5 @@ index e6e11949..09ac7618 100644 # Standard). These flags are used for detecting whether or not the target # architecture has hardware support for AES instructions which can be used -- -2.38.1.windows.1 +2.33.0.windows.2 diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index 76f816e..9a292f5 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From b6c0b4ffa8aa2ed4146e2c9ca9b0406e2da4f1d3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/6] add missing osx workaround +Subject: [PATCH 4/7] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ @@ -23,5 +23,5 @@ index 57863228..91862aed 100644 #include #endif -- -2.38.1.windows.1 +2.33.0.windows.2 diff --git a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch index 5ad3f7a..4f29ce5 100644 --- a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch +++ b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch @@ -1,7 +1,7 @@ From 54b57e1ccc6f2a9786f240a376d33eaf34daf3d2 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:01:27 +1100 -Subject: [PATCH 5/6] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared +Subject: [PATCH 5/7] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared builds --- @@ -62,5 +62,5 @@ index c4a41e6d..eec6dd99 100644 "scoped_mock_log" ) -- -2.38.1.windows.1 +2.33.0.windows.2 diff --git a/recipe/patches/0006-default-dll-import-for-windows.patch b/recipe/patches/0006-default-dll-import-for-windows.patch index b03d3b1..baefdca 100644 --- a/recipe/patches/0006-default-dll-import-for-windows.patch +++ b/recipe/patches/0006-default-dll-import-for-windows.patch @@ -1,7 +1,7 @@ From 08797647a52610ac2437c4d1b0c3af38d2704fd4 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 6/6] default dll import for windows +Subject: [PATCH 6/7] default dll import for windows --- absl/base/config.h | 5 ++--- @@ -25,5 +25,5 @@ index e35d2e48..391da4de 100644 #else #define ABSL_DLL -- -2.38.1.windows.1 +2.33.0.windows.2 diff --git a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch new file mode 100644 index 0000000..062c56c --- /dev/null +++ b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch @@ -0,0 +1,36 @@ +From 6401d1329e43ed76f9dc39baa2f7c08adca7693e Mon Sep 17 00:00:00 2001 +From: Silvio Traversaro +Date: Wed, 15 Feb 2023 15:55:54 +0100 +Subject: [PATCH 7/7] Fix ABSL_PROPAGATE_CXX_STD cmake option + +--- + CMake/AbseilDll.cmake | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake +index eec6dd99..4ed03276 100644 +--- a/CMake/AbseilDll.cmake ++++ b/CMake/AbseilDll.cmake +@@ -798,7 +798,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") + # Abseil libraries require C++14 as the current minimum standard. When + # compiled with C++17 (either because it is the compiler's default or + # explicitly requested), then Abseil requires C++17. +- _absl_target_compile_features_if_available(${_NAME} PUBLIC ${ABSL_INTERNAL_CXX_STD_FEATURE}) ++ _absl_target_compile_features_if_available(${_dll} PUBLIC ${ABSL_INTERNAL_CXX_STD_FEATURE}) + else() + # Note: This is legacy (before CMake 3.8) behavior. Setting the + # target-level CXX_STANDARD property to ABSL_CXX_STANDARD (which is +@@ -808,8 +808,8 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") + # CXX_STANDARD_REQUIRED does guard against the top-level CMake project + # not having enabled CMAKE_CXX_STANDARD_REQUIRED (which prevents + # "decaying" to an older standard if the requested one isn't available). +- set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD}) +- set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) ++ set_property(TARGET ${_dll} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD}) ++ set_property(TARGET ${_dll} PROPERTY CXX_STANDARD_REQUIRED ON) + endif() + + install(TARGETS ${_dll} EXPORT ${PROJECT_NAME}Targets +-- +2.33.0.windows.2 + From 1fa83f00b0c776cb27d0cb64c3ec5707e70db542 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 25 Apr 2023 12:31:36 +1100 Subject: [PATCH 063/100] use -D_LIBCPP_DISABLE_AVAILABILITY on osx --- recipe/build-abseil.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipe/build-abseil.sh b/recipe/build-abseil.sh index 041a9c2..648ba1d 100644 --- a/recipe/build-abseil.sh +++ b/recipe/build-abseil.sh @@ -5,6 +5,11 @@ set -exuo pipefail mkdir -p build cd build +if [[ "${target_platform}" == osx-* ]]; then + # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi + cmake ${CMAKE_ARGS} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ From fe6152da88f843cfc60a9b611951320cc5450271 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 25 Apr 2023 19:26:19 +1100 Subject: [PATCH 064/100] backport patch to install test-only deps --- recipe/meta.yaml | 3 + ...ch-out-the-build-issue-on-clang4-osx.patch | 4 +- ...to-the-CoreFoundation-framework-on-O.patch | 4 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 4 +- .../0004-add-missing-osx-workaround.patch | 4 +- ...-ABSL_INTERNAL_DLL_TARGETS-for-share.patch | 25 ++-- .../0006-default-dll-import-for-windows.patch | 6 +- ...-ABSL_PROPAGATE_CXX_STD-cmake-option.patch | 12 +- ...STONLY-libraries-and-their-dependenc.patch | 141 ++++++++++++++++++ 9 files changed, 170 insertions(+), 33 deletions(-) create mode 100644 recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9ae57dc..168fdcc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,6 +38,9 @@ source: # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - patches/0006-default-dll-import-for-windows.patch # [win] - patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch + # backport https://github.com/abseil/abseil-cpp/commit/807763a7f57dcf0ba4af7c3b218013e8f525e811 + # to be able to install TESTONLY libraries + - patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch build: number: 1 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 09696a0..9c2c334 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From d59eb9046823f39006350a508e30bac815b63383 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/7] patch out the build issue on clang4 osx +Subject: [PATCH 1/8] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ @@ -23,5 +23,5 @@ index a5b084e6..0a9a4389 100644 #include #include -- -2.33.0.windows.2 +2.38.1.windows.1 diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index b775300..a039573 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From c8bd75a96ecb2bd528399829692307a03985da0b Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/7] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 2/8] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- @@ -27,5 +27,5 @@ index 7b720540..cfed46a4 100644 absl_cc_library( NAME -- -2.33.0.windows.2 +2.38.1.windows.1 diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 498dc70..872e3c1 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From dfbac02988c119967037c53a0f78f03bdf01e1c8 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/7] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 3/8] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- @@ -41,5 +41,5 @@ index e6e11949..09ac7618 100644 # Standard). These flags are used for detecting whether or not the target # architecture has hardware support for AES instructions which can be used -- -2.33.0.windows.2 +2.38.1.windows.1 diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index 9a292f5..b2cbe66 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From b6c0b4ffa8aa2ed4146e2c9ca9b0406e2da4f1d3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/7] add missing osx workaround +Subject: [PATCH 4/8] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ @@ -23,5 +23,5 @@ index 57863228..91862aed 100644 #include #endif -- -2.33.0.windows.2 +2.38.1.windows.1 diff --git a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch index 4f29ce5..67c8824 100644 --- a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch +++ b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch @@ -1,15 +1,15 @@ -From 54b57e1ccc6f2a9786f240a376d33eaf34daf3d2 Mon Sep 17 00:00:00 2001 +From d6480ef5044ab0cb548dcae070327481a9da46c9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:01:27 +1100 -Subject: [PATCH 5/7] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared +Subject: [PATCH 5/8] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared builds --- - CMake/AbseilDll.cmake | 11 +++++++++++ - 1 file changed, 11 insertions(+) + CMake/AbseilDll.cmake | 10 ++++++++++ + 1 file changed, 10 insertions(+) diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index c4a41e6d..eec6dd99 100644 +index c4a41e6d..c4c92359 100644 --- a/CMake/AbseilDll.cmake +++ b/CMake/AbseilDll.cmake @@ -448,8 +448,14 @@ set(ABSL_INTERNAL_DLL_TARGETS @@ -27,14 +27,7 @@ index c4a41e6d..eec6dd99 100644 "crc_cpu_detect" "crc_internal" "crc32c" -@@ -498,12 +504,14 @@ set(ABSL_INTERNAL_DLL_TARGETS - "log_initialize" - "log" - "log_entry" -+ "log_flags" - "log_sink" - "log_sink_registry" - "log_streamer" +@@ -504,6 +510,7 @@ set(ABSL_INTERNAL_DLL_TARGETS "log_internal_structured" "log_severity" "log_structured" @@ -42,7 +35,7 @@ index c4a41e6d..eec6dd99 100644 "malloc_internal" "memory" "meta" -@@ -555,8 +563,10 @@ set(ABSL_INTERNAL_DLL_TARGETS +@@ -555,8 +562,10 @@ set(ABSL_INTERNAL_DLL_TARGETS "stack_consumption" "stacktrace" "status" @@ -53,7 +46,7 @@ index c4a41e6d..eec6dd99 100644 "strings" "strings_internal" "symbolize" -@@ -588,6 +598,7 @@ set(ABSL_INTERNAL_TEST_DLL_TARGETS +@@ -588,6 +597,7 @@ set(ABSL_INTERNAL_TEST_DLL_TARGETS "cordz_test_helpers" "hash_testing" "random_mocking_bit_gen" @@ -62,5 +55,5 @@ index c4a41e6d..eec6dd99 100644 "scoped_mock_log" ) -- -2.33.0.windows.2 +2.38.1.windows.1 diff --git a/recipe/patches/0006-default-dll-import-for-windows.patch b/recipe/patches/0006-default-dll-import-for-windows.patch index baefdca..c3a8787 100644 --- a/recipe/patches/0006-default-dll-import-for-windows.patch +++ b/recipe/patches/0006-default-dll-import-for-windows.patch @@ -1,7 +1,7 @@ -From 08797647a52610ac2437c4d1b0c3af38d2704fd4 Mon Sep 17 00:00:00 2001 +From d062fa3db9557ec227a40af6c40727249499022f Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 6/7] default dll import for windows +Subject: [PATCH 6/8] default dll import for windows --- absl/base/config.h | 5 ++--- @@ -25,5 +25,5 @@ index e35d2e48..391da4de 100644 #else #define ABSL_DLL -- -2.33.0.windows.2 +2.38.1.windows.1 diff --git a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch index 062c56c..12826b8 100644 --- a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch +++ b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch @@ -1,17 +1,17 @@ -From 6401d1329e43ed76f9dc39baa2f7c08adca7693e Mon Sep 17 00:00:00 2001 +From dd56821ac6927441e33387072b8dc3c3569644a4 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 15 Feb 2023 15:55:54 +0100 -Subject: [PATCH 7/7] Fix ABSL_PROPAGATE_CXX_STD cmake option +Subject: [PATCH 7/8] Fix ABSL_PROPAGATE_CXX_STD cmake option --- CMake/AbseilDll.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index eec6dd99..4ed03276 100644 +index c4c92359..1aecd926 100644 --- a/CMake/AbseilDll.cmake +++ b/CMake/AbseilDll.cmake -@@ -798,7 +798,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") +@@ -797,7 +797,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") # Abseil libraries require C++14 as the current minimum standard. When # compiled with C++17 (either because it is the compiler's default or # explicitly requested), then Abseil requires C++17. @@ -20,7 +20,7 @@ index eec6dd99..4ed03276 100644 else() # Note: This is legacy (before CMake 3.8) behavior. Setting the # target-level CXX_STANDARD property to ABSL_CXX_STANDARD (which is -@@ -808,8 +808,8 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") +@@ -807,8 +807,8 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") # CXX_STANDARD_REQUIRED does guard against the top-level CMake project # not having enabled CMAKE_CXX_STANDARD_REQUIRED (which prevents # "decaying" to an older standard if the requested one isn't available). @@ -32,5 +32,5 @@ index eec6dd99..4ed03276 100644 install(TARGETS ${_dll} EXPORT ${PROJECT_NAME}Targets -- -2.33.0.windows.2 +2.38.1.windows.1 diff --git a/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch b/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch new file mode 100644 index 0000000..238ecb9 --- /dev/null +++ b/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch @@ -0,0 +1,141 @@ +From 4ed51580e60f87f0cdd2024b407aa6688f65c5ef Mon Sep 17 00:00:00 2001 +From: Derek Mauro +Date: Thu, 2 Mar 2023 17:32:02 -0800 +Subject: [PATCH 8/8] CMake: Install TESTONLY libraries and their dependencies + when they are built + +https://github.com/abseil/abseil-cpp/issues/1407 + +PiperOrigin-RevId: 513684529 +Change-Id: Ie0a164eea32becfef8f8e4a112aee158fd93dd7e +--- + CMake/AbseilHelpers.cmake | 92 +++++++++++++++++++-------------------- + 1 file changed, 44 insertions(+), 48 deletions(-) + +diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake +index 6d059e7e..f452a676 100644 +--- a/CMake/AbseilHelpers.cmake ++++ b/CMake/AbseilHelpers.cmake +@@ -153,55 +153,54 @@ function(absl_cc_library) + + # Generate a pkg-config file for every library: + if(ABSL_ENABLE_INSTALL) +- if(NOT ABSL_CC_LIB_TESTONLY) +- if(absl_VERSION) +- set(PC_VERSION "${absl_VERSION}") +- else() +- set(PC_VERSION "head") +- endif() +- if(NOT _build_type STREQUAL "dll") +- set(LNK_LIB "${LNK_LIB} -labsl_${_NAME}") +- endif() +- foreach(dep ${ABSL_CC_LIB_DEPS}) +- if(${dep} MATCHES "^absl::(.*)") +- # for DLL builds many libs are not created, but add +- # the pkgconfigs nevertheless, pointing to the dll. +- if(_build_type STREQUAL "dll") +- # hide this MATCHES in an if-clause so it doesn't overwrite +- # the CMAKE_MATCH_1 from (${dep} MATCHES "^absl::(.*)") +- if(NOT PC_DEPS MATCHES "abseil_dll") +- # Join deps with commas. +- if(PC_DEPS) +- set(PC_DEPS "${PC_DEPS},") +- endif() +- # don't duplicate dll-dep if it exists already +- set(PC_DEPS "${PC_DEPS} abseil_dll = ${PC_VERSION}") +- set(LNK_LIB "${LNK_LIB} -labseil_dll") +- endif() +- else() ++ if(absl_VERSION) ++ set(PC_VERSION "${absl_VERSION}") ++ else() ++ set(PC_VERSION "head") ++ endif() ++ if(NOT _build_type STREQUAL "dll") ++ set(LNK_LIB "${LNK_LIB} -labsl_${_NAME}") ++ endif() ++ foreach(dep ${ABSL_CC_LIB_DEPS}) ++ if(${dep} MATCHES "^absl::(.*)") ++ # for DLL builds many libs are not created, but add ++ # the pkgconfigs nevertheless, pointing to the dll. ++ if(_build_type STREQUAL "dll") ++ # hide this MATCHES in an if-clause so it doesn't overwrite ++ # the CMAKE_MATCH_1 from (${dep} MATCHES "^absl::(.*)") ++ if(NOT PC_DEPS MATCHES "abseil_dll") + # Join deps with commas. + if(PC_DEPS) + set(PC_DEPS "${PC_DEPS},") + endif() +- set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") ++ # don't duplicate dll-dep if it exists already ++ set(PC_DEPS "${PC_DEPS} abseil_dll = ${PC_VERSION}") ++ set(LNK_LIB "${LNK_LIB} -labseil_dll") + endif() +- endif() +- endforeach() +- foreach(cflag ${ABSL_CC_LIB_COPTS}) +- if(${cflag} MATCHES "^(-Wno|/wd)") +- # These flags are needed to suppress warnings that might fire in our headers. +- set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") +- elseif(${cflag} MATCHES "^(-W|/w[1234eo])") +- # Don't impose our warnings on others. +- elseif(${cflag} MATCHES "^-m") +- # Don't impose CPU instruction requirements on others, as +- # the code performs feature detection on runtime. + else() +- set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") ++ # Join deps with commas. ++ if(PC_DEPS) ++ set(PC_DEPS "${PC_DEPS},") ++ endif() ++ set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") + endif() +- endforeach() +- string(REPLACE ";" " " PC_LINKOPTS "${ABSL_CC_LIB_LINKOPTS}") +- FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\ ++ endif() ++ endforeach() ++ foreach(cflag ${ABSL_CC_LIB_COPTS}) ++ if(${cflag} MATCHES "^(-Wno|/wd)") ++ # These flags are needed to suppress warnings that might fire in our headers. ++ set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") ++ elseif(${cflag} MATCHES "^(-W|/w[1234eo])") ++ # Don't impose our warnings on others. ++ elseif(${cflag} MATCHES "^-m") ++ # Don't impose CPU instruction requirements on others, as ++ # the code performs feature detection on runtime. ++ else() ++ set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") ++ endif() ++ endforeach() ++ string(REPLACE ";" " " PC_LINKOPTS "${ABSL_CC_LIB_LINKOPTS}") ++ FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\ + prefix=${CMAKE_INSTALL_PREFIX}\n\ + exec_prefix=\${prefix}\n\ + libdir=${CMAKE_INSTALL_FULL_LIBDIR}\n\ +@@ -214,9 +213,8 @@ Version: ${PC_VERSION}\n\ + Requires:${PC_DEPS}\n\ + Libs: -L\${libdir} ${PC_LINKOPTS} $<$>:${LNK_LIB}>\n\ + Cflags: -I\${includedir}${PC_CFLAGS}\n") +- INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" +- DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +- endif() ++ INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + endif() + + if(NOT ABSL_CC_LIB_IS_INTERFACE) +@@ -346,9 +344,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") + endif() + endif() + +- # TODO currently we don't install googletest alongside abseil sources, so +- # installed abseil can't be tested. +- if(NOT ABSL_CC_LIB_TESTONLY AND ABSL_ENABLE_INSTALL) ++ if(ABSL_ENABLE_INSTALL) + install(TARGETS ${_NAME} EXPORT ${PROJECT_NAME}Targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +-- +2.38.1.windows.1 + From 5d01c46dfd2737623dafad0030248e560c706e33 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 25 Apr 2023 19:31:13 +1100 Subject: [PATCH 065/100] add separate output for test targets --- recipe/build-abseil.bat | 9 +++++++ recipe/build-abseil.sh | 9 +++++-- recipe/meta.yaml | 55 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/recipe/build-abseil.bat b/recipe/build-abseil.bat index e2c05b2..d266f58 100644 --- a/recipe/build-abseil.bat +++ b/recipe/build-abseil.bat @@ -1,7 +1,15 @@ @echo on +SetLocal EnableDelayedExpansion + mkdir build cd build + +if [%PKG_NAME%] == [libabseil-tests] ( + set "EXTRA_ARGS=-DBUILD_TESTING=ON -DABSL_BUILD_TEST_HELPERS=ON -DABSL_BUILD_TESTING=ON" + set "EXTRA_ARGS=!EXTRA_ARGS! -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_FIND_GOOGLETEST=ON" +) + cmake -GNinja ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_CXX_STANDARD=17 ^ @@ -9,6 +17,7 @@ cmake -GNinja ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ -DBUILD_SHARED_LIBS=ON ^ -DABSL_PROPAGATE_CXX_STD=ON ^ + !EXTRA_ARGS! ^ .. if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/build-abseil.sh b/recipe/build-abseil.sh index 648ba1d..f67edf4 100644 --- a/recipe/build-abseil.sh +++ b/recipe/build-abseil.sh @@ -10,14 +10,19 @@ if [[ "${target_platform}" == osx-* ]]; then CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" fi -cmake ${CMAKE_ARGS} \ +if [[ "$PKG_NAME" == "libabseil-tests" ]]; then + CMAKE_ARGS="${CMAKE_ARGS} -DBUILD_TESTING=ON -DABSL_BUILD_TESTING=ON" + CMAKE_ARGS="${CMAKE_ARGS} -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_FIND_GOOGLETEST=ON" +fi + +cmake -G Ninja \ + ${CMAKE_ARGS} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_PREFIX_PATH=${PREFIX} \ -DBUILD_SHARED_LIBS=ON \ -DABSL_PROPAGATE_CXX_STD=ON \ - -GNinja \ .. cmake --build . diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 168fdcc..afcbf1d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,6 +19,8 @@ "scoped_set_env", "spinlock_wait", "stacktrace", "status", "statusor", "strerror", "strings", "symbolize", "synchronization", "time", "time_zone" ] %} +# test helper targets (but used e.g. by protobuf) +{% set absl_test_libs = ["scoped_mock_log"] %} package: name: abseil-split @@ -79,6 +81,9 @@ outputs: # windows-only (almost-)all-in-one DLL + import library - if not exist %LIBRARY_BIN%\\abseil_dll.dll exit 1 # [win] - if not exist %LIBRARY_LIB%\\abseil_dll.lib exit 1 # [win] + # absence of test targets in regular abseil output + - if exist %LIBRARY_BIN%\\abseil_test_dll.dll exit 1 # [win] + - if exist %LIBRARY_LIB%\\abseil_test_dll.lib exit 1 # [win] # absl_* libraries {% for each_lib in absl_libs %} @@ -98,6 +103,14 @@ outputs: - pkg-config --print-errors --exact-version "{{ v_major }}" absl_{{ each_lib }} {% endfor %} + # absence of test targets in regular abseil output + {% for each_lib in absl_test_libs %} + # absence of all libs + - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] + - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] + - if exist %LIBRARY_LIB%\\absl_{{ each_lib }}.lib exit 1 # [win] + {% endfor %} + # pkg-config (abseil_dll) - pkg-config --print-errors --exact-version "{{ v_major }}" abseil_dll # [win] @@ -111,6 +124,48 @@ outputs: - ./flags_example # [unix] - flags_example.exe # [win] + # tests & test-helpers + - name: libabseil-tests + script: build-abseil.sh # [unix] + script: build-abseil.bat # [win] + build: + string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} + + requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + - cmake + - ninja + host: + - gtest + - {{ pin_subpackage("libabseil", exact=True) }} + run: + - gtest + - {{ pin_subpackage("libabseil", exact=True) }} + + test: + requires: + - pkg-config + commands: + # windows-only (almost-)all-in-one DLL + import library + - if not exist %LIBRARY_BIN%\\abseil_test_dll.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\\abseil_test_dll.lib exit 1 # [win] + + # absl_* libraries + {% for each_lib in absl_test_libs %} + # presence of shared libs + - test -f $PREFIX/lib/libabsl_{{ each_lib }}${SHLIB_EXT} # [unix] + # absence of static libs + - test ! -f $PREFIX/lib/libabsl_{{ each_lib }}.a # [unix] + + # pkg-config (should point to abseil_test_dll on shared windows builds) + - pkg-config --print-errors --exact-version "{{ v_major }}" absl_{{ each_lib }} + {% endfor %} + + # pkg-config abseil_test_dll + - pkg-config --print-errors --exact-version "{{ v_major }}" abseil_test_dll # [win] + about: home: https://github.com/abseil/abseil-cpp license: Apache-2.0 From 0e9a601bc22d0c7cdd5be465d399c0dd2789a297 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 27 Apr 2023 18:48:46 +1100 Subject: [PATCH 066/100] use 10.13 SDK --- recipe/conda_build_config.yaml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 recipe/conda_build_config.yaml diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 0000000..d7bf44c --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,2 @@ +MACOSX_SDK_VERSION: # [osx and x86_64] + - "10.13" # [osx and x86_64] From 5dcc76a7516d4427d7153a9c2afe8cbe9f1f3439 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 27 Apr 2023 20:18:17 +1100 Subject: [PATCH 067/100] bump to 20230125.2 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index afcbf1d..465d7b2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20230125.0" %} +{% set version = "20230125.2" %} {% set v_major = version.split(".")[0] %} # needs to match across all dependent packages; using C++20 # is potentially problematic in some cases, see #45 @@ -28,7 +28,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: 3ea49a7d97421b88a8c48a0de16c16048e17725c7ec0f1d3ea2683a2a75adc21 + sha256: 9a2b5752d7bfade0bdeee2701de17c9480620f8b237e1964c1b9967c75374906 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -45,7 +45,7 @@ source: - patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch build: - number: 1 + number: 0 outputs: # default behaviour is shared; however note that upstream does not support From c00e92a0e72c826787dc298de6127838ed32e5c8 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 8 May 2023 13:21:33 +1100 Subject: [PATCH 068/100] add patches to enable shared windows builds of test helpers --- recipe/meta.yaml | 3 ++ ...ch-out-the-build-issue-on-clang4-osx.patch | 5 +- ...to-the-CoreFoundation-framework-on-O.patch | 5 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 5 +- .../0004-add-missing-osx-workaround.patch | 5 +- ...-ABSL_INTERNAL_DLL_TARGETS-for-share.patch | 5 +- .../0006-default-dll-import-for-windows.patch | 5 +- ...-ABSL_PROPAGATE_CXX_STD-cmake-option.patch | 5 +- ...STONLY-libraries-and-their-dependenc.patch | 7 +-- ...ry-source-files-to-ABSL_INTERNAL_TES.patch | 25 +++++++++ ...EST_LINKOPTS-when-using-shared-build.patch | 24 +++++++++ ...-and-relevant-internal-state-use-ABS.patch | 51 +++++++++++++++++++ 12 files changed, 112 insertions(+), 33 deletions(-) create mode 100644 recipe/patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch create mode 100644 recipe/patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch create mode 100644 recipe/patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 465d7b2..4472fef 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -43,6 +43,9 @@ source: # backport https://github.com/abseil/abseil-cpp/commit/807763a7f57dcf0ba4af7c3b218013e8f525e811 # to be able to install TESTONLY libraries - patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch + - patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch + - patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch + - patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch build: number: 0 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 9c2c334..87a5e9a 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From d59eb9046823f39006350a508e30bac815b63383 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/8] patch out the build issue on clang4 osx +Subject: [PATCH 01/11] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ @@ -22,6 +22,3 @@ index a5b084e6..0a9a4389 100644 #include #include #include --- -2.38.1.windows.1 - diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index a039573..1d84c42 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ From c8bd75a96ecb2bd528399829692307a03985da0b Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 2/8] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 02/11] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- @@ -26,6 +26,3 @@ index 7b720540..cfed46a4 100644 # Internal-only target, do not depend on directly. absl_cc_library( NAME --- -2.38.1.windows.1 - diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 872e3c1..49ff616 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From dfbac02988c119967037c53a0f78f03bdf01e1c8 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 3/8] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 03/11] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- @@ -40,6 +40,3 @@ index e6e11949..09ac7618 100644 # "HWAES" is an abbreviation for "hardware AES" (AES - Advanced Encryption # Standard). These flags are used for detecting whether or not the target # architecture has hardware support for AES instructions which can be used --- -2.38.1.windows.1 - diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index b2cbe66..b9f7730 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From b6c0b4ffa8aa2ed4146e2c9ca9b0406e2da4f1d3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 4/8] add missing osx workaround +Subject: [PATCH 04/11] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ @@ -22,6 +22,3 @@ index 57863228..91862aed 100644 #if defined(__linux__) || defined(__APPLE__) #include #endif --- -2.38.1.windows.1 - diff --git a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch index 67c8824..121a620 100644 --- a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch +++ b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch @@ -1,7 +1,7 @@ From d6480ef5044ab0cb548dcae070327481a9da46c9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:01:27 +1100 -Subject: [PATCH 5/8] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared +Subject: [PATCH 05/11] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared builds --- @@ -54,6 +54,3 @@ index c4a41e6d..c4c92359 100644 "random_internal_mock_overload_set" "scoped_mock_log" ) --- -2.38.1.windows.1 - diff --git a/recipe/patches/0006-default-dll-import-for-windows.patch b/recipe/patches/0006-default-dll-import-for-windows.patch index c3a8787..d6909b4 100644 --- a/recipe/patches/0006-default-dll-import-for-windows.patch +++ b/recipe/patches/0006-default-dll-import-for-windows.patch @@ -1,7 +1,7 @@ From d062fa3db9557ec227a40af6c40727249499022f Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 6/8] default dll import for windows +Subject: [PATCH 06/11] default dll import for windows --- absl/base/config.h | 5 ++--- @@ -24,6 +24,3 @@ index e35d2e48..391da4de 100644 #endif #else #define ABSL_DLL --- -2.38.1.windows.1 - diff --git a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch index 12826b8..60312d2 100644 --- a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch +++ b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch @@ -1,7 +1,7 @@ From dd56821ac6927441e33387072b8dc3c3569644a4 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 15 Feb 2023 15:55:54 +0100 -Subject: [PATCH 7/8] Fix ABSL_PROPAGATE_CXX_STD cmake option +Subject: [PATCH 07/11] Fix ABSL_PROPAGATE_CXX_STD cmake option --- CMake/AbseilDll.cmake | 6 +++--- @@ -31,6 +31,3 @@ index c4c92359..1aecd926 100644 endif() install(TARGETS ${_dll} EXPORT ${PROJECT_NAME}Targets --- -2.38.1.windows.1 - diff --git a/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch b/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch index 238ecb9..e1f1a1e 100644 --- a/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch +++ b/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch @@ -1,8 +1,8 @@ From 4ed51580e60f87f0cdd2024b407aa6688f65c5ef Mon Sep 17 00:00:00 2001 From: Derek Mauro Date: Thu, 2 Mar 2023 17:32:02 -0800 -Subject: [PATCH 8/8] CMake: Install TESTONLY libraries and their dependencies - when they are built +Subject: [PATCH 08/11] CMake: Install TESTONLY libraries and their + dependencies when they are built https://github.com/abseil/abseil-cpp/issues/1407 @@ -136,6 +136,3 @@ index 6d059e7e..f452a676 100644 install(TARGETS ${_NAME} EXPORT ${PROJECT_NAME}Targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} --- -2.38.1.windows.1 - diff --git a/recipe/patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch b/recipe/patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch new file mode 100644 index 0000000..5cdbb6e --- /dev/null +++ b/recipe/patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch @@ -0,0 +1,25 @@ +From bfac9193f2b18fb585747df39c27ff94d3fce01d Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Sun, 7 May 2023 18:24:46 +1100 +Subject: [PATCH 09/11] add some necessary source files to + ABSL_INTERNAL_TEST_DLL_FILES + +--- + CMake/AbseilDll.cmake | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake +index 1aecd926..26078596 100644 +--- a/CMake/AbseilDll.cmake ++++ b/CMake/AbseilDll.cmake +@@ -584,6 +584,10 @@ set(ABSL_INTERNAL_TEST_DLL_FILES + "hash/hash_testing.h" + "log/scoped_mock_log.cc" + "log/scoped_mock_log.h" ++ "random/internal/chi_square.cc" ++ "random/internal/chi_square.h" ++ "random/internal/distribution_test_util.cc" ++ "random/internal/distribution_test_util.h" + "random/internal/mock_helpers.h" + "random/internal/mock_overload_set.h" + "random/mocking_bit_gen.h" diff --git a/recipe/patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch b/recipe/patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch new file mode 100644 index 0000000..4864b36 --- /dev/null +++ b/recipe/patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch @@ -0,0 +1,24 @@ +From dd5375ee269b6431c029efd1dae91525cb891492 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Sun, 7 May 2023 20:26:19 +1100 +Subject: [PATCH 10/11] update ABSL_CC_TEST_LINKOPTS when using shared build + +--- + CMake/AbseilHelpers.cmake | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake +index f452a676..89f6ba9a 100644 +--- a/CMake/AbseilHelpers.cmake ++++ b/CMake/AbseilHelpers.cmake +@@ -427,6 +427,10 @@ function(absl_cc_test) + DEPS ${ABSL_CC_TEST_DEPS} + OUTPUT ABSL_CC_TEST_DEPS + ) ++ absl_internal_dll_targets( ++ DEPS ${ABSL_CC_TEST_LINKOPTS} ++ OUTPUT ABSL_CC_TEST_LINKOPTS ++ ) + else() + target_compile_definitions(${_NAME} + PUBLIC diff --git a/recipe/patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch b/recipe/patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch new file mode 100644 index 0000000..15159f8 --- /dev/null +++ b/recipe/patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch @@ -0,0 +1,51 @@ +From 783fdeef3098ba22153507abe0f706505c667897 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Mon, 8 May 2023 11:15:46 +1100 +Subject: [PATCH 11/11] make CordzHandle and relevant internal state use + ABSL_DLL + +--- + absl/strings/internal/cord_internal.cc | 2 +- + absl/strings/internal/cord_internal.h | 2 +- + absl/strings/internal/cordz_handle.h | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/absl/strings/internal/cord_internal.cc b/absl/strings/internal/cord_internal.cc +index b6b06cfa..f2842511 100644 +--- a/absl/strings/internal/cord_internal.cc ++++ b/absl/strings/internal/cord_internal.cc +@@ -33,7 +33,7 @@ ABSL_CONST_INIT std::atomic cord_ring_buffer_enabled( + kCordEnableRingBufferDefault); + ABSL_CONST_INIT std::atomic shallow_subcords_enabled( + kCordShallowSubcordsDefault); +-ABSL_CONST_INIT std::atomic cord_btree_exhaustive_validation(false); ++ABSL_CONST_INIT ABSL_DLL std::atomic cord_btree_exhaustive_validation(false); + + void LogFatalNodeType(CordRep* rep) { + ABSL_INTERNAL_LOG(FATAL, absl::StrCat("Unexpected node type: ", +diff --git a/absl/strings/internal/cord_internal.h b/absl/strings/internal/cord_internal.h +index 63a81f4f..796d4de9 100644 +--- a/absl/strings/internal/cord_internal.h ++++ b/absl/strings/internal/cord_internal.h +@@ -73,7 +73,7 @@ extern std::atomic shallow_subcords_enabled; + // in debug assertions, and code that calls `IsValid()` explicitly. By default, + // assertions should be relatively cheap and AssertValid() can easily lead to + // O(n^2) complexity as recursive / full tree validation is O(n). +-extern std::atomic cord_btree_exhaustive_validation; ++ABSL_DLL extern std::atomic cord_btree_exhaustive_validation; + + inline void enable_cord_ring_buffer(bool enable) { + cord_ring_buffer_enabled.store(enable, std::memory_order_relaxed); +diff --git a/absl/strings/internal/cordz_handle.h b/absl/strings/internal/cordz_handle.h +index 3c800b43..c4ac7cb8 100644 +--- a/absl/strings/internal/cordz_handle.h ++++ b/absl/strings/internal/cordz_handle.h +@@ -34,7 +34,7 @@ namespace cord_internal { + // has gained visibility into a CordzInfo object, that CordzInfo object will not + // be deleted prematurely. This allows the profiler to inspect all CordzInfo + // objects that are alive without needing to hold a global lock. +-class CordzHandle { ++class ABSL_DLL CordzHandle { + public: + CordzHandle() : CordzHandle(false) {} + From c1d7b0ee0298e084f6701f874f7883fb4eb03e12 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 8 May 2023 13:42:04 +1100 Subject: [PATCH 069/100] MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.05.06.16.29.06 --- .azure-pipelines/azure-pipelines-win.yml | 4 ++-- .ci_support/linux_64_.yaml | 4 ++-- .ci_support/linux_aarch64_.yaml | 4 ++-- .ci_support/linux_ppc64le_.yaml | 4 ++-- .ci_support/osx_64_.yaml | 6 ++++-- .ci_support/osx_arm64_.yaml | 4 ++-- .scripts/build_steps.sh | 4 ++-- .scripts/run_osx_build.sh | 4 ++-- README.md | 15 ++++++++------- 9 files changed, 26 insertions(+), 23 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index a192c0b..8a96a72 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -5,7 +5,7 @@ jobs: - job: win pool: - vmImage: windows-2019 + vmImage: windows-2022 strategy: matrix: win_64_: @@ -36,7 +36,7 @@ jobs: - script: | call activate base - mamba.exe install "python=3.9" conda-build conda pip boa conda-forge-ci-setup=3 "py-lief<0.12" -c conda-forge --strict-channel-priority --yes + mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index ba71b29..d0283c3 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 58f97de..26dfae8 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_arch: - aarch64 cdt_name: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index b586c39..ecaba1f 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_name: - cos7 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 18df55d..44a8b2e 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -1,9 +1,11 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' +MACOSX_SDK_VERSION: +- '10.13' c_compiler: - clang c_compiler_version: -- '14' +- '15' channel_sources: - conda-forge channel_targets: @@ -11,7 +13,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '14' +- '15' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 927b8af..862910e 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '15' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '14' +- '15' macos_machine: - arm64-apple-darwin20.0.0 target_platform: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 84431a6..a6b09f6 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -33,9 +33,9 @@ CONDARC mamba install --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" + 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 "py-lief<0.12" + 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_osx_build.sh b/.scripts/run_osx_build.sh index b3abaeb..bb00584 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -24,9 +24,9 @@ source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base mamba install --update-specs --quiet --yes --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" + 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 "py-lief<0.12" + conda-build pip boa conda-forge-ci-setup=3 diff --git a/README.md b/README.md index 51740fb..9c9e387 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -About abseil-cpp -================ +About abseil-cpp-feedstock +========================== + +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/abseil-cpp-feedstock/blob/main/LICENSE.txt) Home: https://github.com/abseil/abseil-cpp Package license: Apache-2.0 -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/abseil-cpp-feedstock/blob/main/LICENSE.txt) - Summary: Abseil Common Libraries (C++) Development: https://github.com/abseil/abseil-cpp @@ -90,6 +90,7 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-libabseil-green.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libabseil.svg)](https://anaconda.org/conda-forge/libabseil) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libabseil--tests-green.svg)](https://anaconda.org/conda-forge/libabseil-tests) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libabseil-tests.svg)](https://anaconda.org/conda-forge/libabseil-tests) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libabseil-tests.svg)](https://anaconda.org/conda-forge/libabseil-tests) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libabseil-tests.svg)](https://anaconda.org/conda-forge/libabseil-tests) | Installing abseil-cpp ===================== @@ -101,16 +102,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `libabseil` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `libabseil, libabseil-tests` can be installed with `conda`: ``` -conda install libabseil +conda install libabseil libabseil-tests ``` or with `mamba`: ``` -mamba install libabseil +mamba install libabseil libabseil-tests ``` It is possible to list all of the versions of `libabseil` available on your platform with `conda`: From d6bf696ee162c01b957de331319197ef0d2a4fbd Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 8 May 2023 13:53:47 +1100 Subject: [PATCH 070/100] add reference to PR for upstreaming patches --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4472fef..1c147f2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -43,6 +43,7 @@ source: # backport https://github.com/abseil/abseil-cpp/commit/807763a7f57dcf0ba4af7c3b218013e8f525e811 # to be able to install TESTONLY libraries - patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch + # backport abseil/abseil-cpp#1445 for shared builds including test targets on win - patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch - patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch - patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch From cbe8140a30c7bdd64fd23e65aa364aa1efa73186 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 8 May 2023 14:16:00 +1100 Subject: [PATCH 071/100] increase MACOSX_DEPLOYMENT_TARGET, but only for libabseil-tests Otherwise, the build fails with: ``` absl/functional/internal/any_invocable.h:624:28: error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer state_.remote.target = ::new T(std::forward(args)...); ^ ``` --- recipe/build-abseil.sh | 6 ++++++ recipe/meta.yaml | 3 +++ 2 files changed, 9 insertions(+) diff --git a/recipe/build-abseil.sh b/recipe/build-abseil.sh index f67edf4..a1533e0 100644 --- a/recipe/build-abseil.sh +++ b/recipe/build-abseil.sh @@ -13,6 +13,12 @@ fi if [[ "$PKG_NAME" == "libabseil-tests" ]]; then CMAKE_ARGS="${CMAKE_ARGS} -DBUILD_TESTING=ON -DABSL_BUILD_TESTING=ON" CMAKE_ARGS="${CMAKE_ARGS} -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_FIND_GOOGLETEST=ON" + if [[ "${target_platform}" == osx-* ]]; then + # test targets require C11's aligned_alloc, which doesn't compile even + # with a newer MACOSX_SDK_VERSION; need to bump target version too + CMAKE_ARGS="$(echo $CMAKE_ARGS | sed 's/-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 //g')" + CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" + fi fi cmake -G Ninja \ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1c147f2..9b78321 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -147,6 +147,9 @@ outputs: run: - gtest - {{ pin_subpackage("libabseil", exact=True) }} + run_constrained: + # only for libabseil-tests, see build-abseil.sh + - __osx >=10.13 # [osx and x86_64] test: requires: From ce9b756807770971d1da64df8d6a0818edacae0b Mon Sep 17 00:00:00 2001 From: h-vetinari Date: Sat, 13 May 2023 19:01:16 +1100 Subject: [PATCH 072/100] overwrite CMake metadata for libabseil-tests (#61) --- recipe/cmake_test/CMakeLists.txt | 6 ++++++ recipe/meta.yaml | 23 ++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/recipe/cmake_test/CMakeLists.txt b/recipe/cmake_test/CMakeLists.txt index 5a98e21..3a48c43 100644 --- a/recipe/cmake_test/CMakeLists.txt +++ b/recipe/cmake_test/CMakeLists.txt @@ -4,3 +4,9 @@ find_package(absl REQUIRED CONFIG) add_executable(flags_example flags_example.cpp) target_link_libraries(flags_example absl::flags absl::strings) + +if(DEFINED ENV{TRY_TEST_TARGET}) + # check if we can find a test target (i.e. that the cmake metadata from + # vanilla libabseil has been updated correctly for libabseil-tests) + target_link_libraries(flags_example absl::scoped_mock_log) +endif() diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9b78321..0aced33 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -49,7 +49,7 @@ source: - patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch build: - number: 0 + number: 1 outputs: # default behaviour is shared; however note that upstream does not support @@ -134,6 +134,10 @@ outputs: script: build-abseil.bat # [win] build: string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} + always_include_files: + # Must overwrite cmake metadata from libabseil + - lib/cmake/absl/ # [unix] + - Library/lib/cmake/absl/ # [win] requirements: build: @@ -153,7 +157,12 @@ outputs: test: requires: + - {{ compiler('cxx') }} + - cmake + - ninja - pkg-config + files: + - cmake_test/ commands: # windows-only (almost-)all-in-one DLL + import library - if not exist %LIBRARY_BIN%\\abseil_test_dll.dll exit 1 # [win] @@ -173,6 +182,18 @@ outputs: # pkg-config abseil_test_dll - pkg-config --print-errors --exact-version "{{ v_major }}" abseil_test_dll # [win] + # CMake integration + - cd cmake_test + - export CMAKE_ARGS="$CMAKE_ARGS -GNinja -DCMAKE_BUILD_TYPE=Release" # [unix] + - set "CMAKE_ARGS=%CMAKE_ARGS% -GNinja -DCMAKE_BUILD_TYPE=Release" # [win] + - cmake $CMAKE_ARGS -DCMAKE_CXX_STANDARD={{ cxx_standard }} . # [unix] + - cmake %CMAKE_ARGS% -DCMAKE_CXX_STANDARD={{ cxx_standard }} . # [win] + # enable search for test target + - export TRY_TEST_TARGET=1 # [unix] + - set TRY_TEST_TARGET=1 # [win] + - cmake --build . + - ./flags_example # [unix] + - flags_example.exe # [win] about: home: https://github.com/abseil/abseil-cpp license: Apache-2.0 From ae3b94a40ed6eafc116de7f3f9cd9a0ec0f774e7 Mon Sep 17 00:00:00 2001 From: h-vetinari Date: Sun, 14 May 2023 17:46:04 +1100 Subject: [PATCH 073/100] loosen run-export to major version (#63) --- recipe/meta.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0aced33..c562c0d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -49,7 +49,7 @@ source: - patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch build: - number: 1 + number: 2 outputs: # default behaviour is shared; however note that upstream does not support @@ -60,7 +60,9 @@ outputs: build: string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} run_exports: - - libabseil ={{ version }}=cxx{{ cxx_standard }}* + - {{ pin_subpackage("libabseil", max_pin="x") }} + # also pin on ABI variant + - libabseil =*=cxx{{ cxx_standard }}* requirements: build: From dfccaff80014c465609e0089880b94f2cbb02f24 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 30 Jun 2023 17:43:44 +1100 Subject: [PATCH 074/100] bump to abseil 20230125.3 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c562c0d..0252443 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20230125.2" %} +{% set version = "20230125.3" %} {% set v_major = version.split(".")[0] %} # needs to match across all dependent packages; using C++20 # is potentially problematic in some cases, see #45 @@ -28,7 +28,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: 9a2b5752d7bfade0bdeee2701de17c9480620f8b237e1964c1b9967c75374906 + sha256: 5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -49,7 +49,7 @@ source: - patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch build: - number: 2 + number: 0 outputs: # default behaviour is shared; however note that upstream does not support From 05a8a0d454a250983d8f87df9db79283b2f4294c Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 30 Jun 2023 17:47:33 +1100 Subject: [PATCH 075/100] rebase patches --- recipe/meta.yaml | 9 +- ...ch-out-the-build-issue-on-clang4-osx.patch | 4 +- ...to-the-CoreFoundation-framework-on-O.patch | 4 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 4 +- .../0004-add-missing-osx-workaround.patch | 4 +- ...-ABSL_INTERNAL_DLL_TARGETS-for-share.patch | 4 +- .../0006-default-dll-import-for-windows.patch | 6 +- ...-ABSL_PROPAGATE_CXX_STD-cmake-option.patch | 4 +- ...STONLY-libraries-and-their-dependenc.patch | 138 ------------------ ...y-source-files-to-ABSL_INTERNAL_TES.patch} | 4 +- ...ST_LINKOPTS-when-using-shared-build.patch} | 4 +- ...and-relevant-internal-state-use-ABS.patch} | 6 +- 12 files changed, 25 insertions(+), 166 deletions(-) delete mode 100644 recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch rename recipe/patches/{0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch => 0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch} (85%) rename recipe/patches/{0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch => 0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch} (83%) rename recipe/patches/{0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch => 0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch} (93%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0252443..b9e252c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -40,13 +40,10 @@ source: # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - patches/0006-default-dll-import-for-windows.patch # [win] - patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch - # backport https://github.com/abseil/abseil-cpp/commit/807763a7f57dcf0ba4af7c3b218013e8f525e811 - # to be able to install TESTONLY libraries - - patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch # backport abseil/abseil-cpp#1445 for shared builds including test targets on win - - patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch - - patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch - - patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch + - patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch + - patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch + - patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch build: number: 0 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 87a5e9a..5179f90 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ -From d59eb9046823f39006350a508e30bac815b63383 Mon Sep 17 00:00:00 2001 +From 505d4c7a08130bfc869b42d130c5333526ab1f2c Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 01/11] patch out the build issue on clang4 osx +Subject: [PATCH 01/10] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch index 1d84c42..7292c80 100644 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -1,7 +1,7 @@ -From c8bd75a96ecb2bd528399829692307a03985da0b Mon Sep 17 00:00:00 2001 +From e08523225c352e310321ccbf5163e327675f4cbf Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 02/11] fix for linking to the CoreFoundation framework on OSX +Subject: [PATCH 02/10] fix for linking to the CoreFoundation framework on OSX --- absl/time/CMakeLists.txt | 6 ++++-- diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 49ff616..827a937 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ -From dfbac02988c119967037c53a0f78f03bdf01e1c8 Mon Sep 17 00:00:00 2001 +From c9e258b88b2cbd9f26285acdd2143a1d5e245ea8 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 03/11] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 03/10] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0004-add-missing-osx-workaround.patch index b9f7730..3fb0b7c 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0004-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ -From b6c0b4ffa8aa2ed4146e2c9ca9b0406e2da4f1d3 Mon Sep 17 00:00:00 2001 +From 03bc869d7d9bfdd3e3ede923db7ef0bb63fefc50 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 04/11] add missing osx workaround +Subject: [PATCH 04/10] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ diff --git a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch index 121a620..e76205b 100644 --- a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch +++ b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch @@ -1,7 +1,7 @@ -From d6480ef5044ab0cb548dcae070327481a9da46c9 Mon Sep 17 00:00:00 2001 +From 4669175e883c60d3a028eaa57d537fa7f884fc77 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:01:27 +1100 -Subject: [PATCH 05/11] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared +Subject: [PATCH 05/10] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared builds --- diff --git a/recipe/patches/0006-default-dll-import-for-windows.patch b/recipe/patches/0006-default-dll-import-for-windows.patch index d6909b4..501b3cc 100644 --- a/recipe/patches/0006-default-dll-import-for-windows.patch +++ b/recipe/patches/0006-default-dll-import-for-windows.patch @@ -1,14 +1,14 @@ -From d062fa3db9557ec227a40af6c40727249499022f Mon Sep 17 00:00:00 2001 +From 24d6e4eca32d339a18862880a71ecb1794e27a93 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 06/11] default dll import for windows +Subject: [PATCH 06/10] default dll import for windows --- absl/base/config.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/absl/base/config.h b/absl/base/config.h -index e35d2e48..391da4de 100644 +index 05d960b6..13a47018 100644 --- a/absl/base/config.h +++ b/absl/base/config.h @@ -750,10 +750,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || diff --git a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch index 60312d2..9c8efbc 100644 --- a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch +++ b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch @@ -1,7 +1,7 @@ -From dd56821ac6927441e33387072b8dc3c3569644a4 Mon Sep 17 00:00:00 2001 +From fa134527651eccb60d16332e3750841d3b406a83 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 15 Feb 2023 15:55:54 +0100 -Subject: [PATCH 07/11] Fix ABSL_PROPAGATE_CXX_STD cmake option +Subject: [PATCH 07/10] Fix ABSL_PROPAGATE_CXX_STD cmake option --- CMake/AbseilDll.cmake | 6 +++--- diff --git a/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch b/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch deleted file mode 100644 index e1f1a1e..0000000 --- a/recipe/patches/0008-CMake-Install-TESTONLY-libraries-and-their-dependenc.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 4ed51580e60f87f0cdd2024b407aa6688f65c5ef Mon Sep 17 00:00:00 2001 -From: Derek Mauro -Date: Thu, 2 Mar 2023 17:32:02 -0800 -Subject: [PATCH 08/11] CMake: Install TESTONLY libraries and their - dependencies when they are built - -https://github.com/abseil/abseil-cpp/issues/1407 - -PiperOrigin-RevId: 513684529 -Change-Id: Ie0a164eea32becfef8f8e4a112aee158fd93dd7e ---- - CMake/AbseilHelpers.cmake | 92 +++++++++++++++++++-------------------- - 1 file changed, 44 insertions(+), 48 deletions(-) - -diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake -index 6d059e7e..f452a676 100644 ---- a/CMake/AbseilHelpers.cmake -+++ b/CMake/AbseilHelpers.cmake -@@ -153,55 +153,54 @@ function(absl_cc_library) - - # Generate a pkg-config file for every library: - if(ABSL_ENABLE_INSTALL) -- if(NOT ABSL_CC_LIB_TESTONLY) -- if(absl_VERSION) -- set(PC_VERSION "${absl_VERSION}") -- else() -- set(PC_VERSION "head") -- endif() -- if(NOT _build_type STREQUAL "dll") -- set(LNK_LIB "${LNK_LIB} -labsl_${_NAME}") -- endif() -- foreach(dep ${ABSL_CC_LIB_DEPS}) -- if(${dep} MATCHES "^absl::(.*)") -- # for DLL builds many libs are not created, but add -- # the pkgconfigs nevertheless, pointing to the dll. -- if(_build_type STREQUAL "dll") -- # hide this MATCHES in an if-clause so it doesn't overwrite -- # the CMAKE_MATCH_1 from (${dep} MATCHES "^absl::(.*)") -- if(NOT PC_DEPS MATCHES "abseil_dll") -- # Join deps with commas. -- if(PC_DEPS) -- set(PC_DEPS "${PC_DEPS},") -- endif() -- # don't duplicate dll-dep if it exists already -- set(PC_DEPS "${PC_DEPS} abseil_dll = ${PC_VERSION}") -- set(LNK_LIB "${LNK_LIB} -labseil_dll") -- endif() -- else() -+ if(absl_VERSION) -+ set(PC_VERSION "${absl_VERSION}") -+ else() -+ set(PC_VERSION "head") -+ endif() -+ if(NOT _build_type STREQUAL "dll") -+ set(LNK_LIB "${LNK_LIB} -labsl_${_NAME}") -+ endif() -+ foreach(dep ${ABSL_CC_LIB_DEPS}) -+ if(${dep} MATCHES "^absl::(.*)") -+ # for DLL builds many libs are not created, but add -+ # the pkgconfigs nevertheless, pointing to the dll. -+ if(_build_type STREQUAL "dll") -+ # hide this MATCHES in an if-clause so it doesn't overwrite -+ # the CMAKE_MATCH_1 from (${dep} MATCHES "^absl::(.*)") -+ if(NOT PC_DEPS MATCHES "abseil_dll") - # Join deps with commas. - if(PC_DEPS) - set(PC_DEPS "${PC_DEPS},") - endif() -- set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") -+ # don't duplicate dll-dep if it exists already -+ set(PC_DEPS "${PC_DEPS} abseil_dll = ${PC_VERSION}") -+ set(LNK_LIB "${LNK_LIB} -labseil_dll") - endif() -- endif() -- endforeach() -- foreach(cflag ${ABSL_CC_LIB_COPTS}) -- if(${cflag} MATCHES "^(-Wno|/wd)") -- # These flags are needed to suppress warnings that might fire in our headers. -- set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") -- elseif(${cflag} MATCHES "^(-W|/w[1234eo])") -- # Don't impose our warnings on others. -- elseif(${cflag} MATCHES "^-m") -- # Don't impose CPU instruction requirements on others, as -- # the code performs feature detection on runtime. - else() -- set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") -+ # Join deps with commas. -+ if(PC_DEPS) -+ set(PC_DEPS "${PC_DEPS},") -+ endif() -+ set(PC_DEPS "${PC_DEPS} absl_${CMAKE_MATCH_1} = ${PC_VERSION}") - endif() -- endforeach() -- string(REPLACE ";" " " PC_LINKOPTS "${ABSL_CC_LIB_LINKOPTS}") -- FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\ -+ endif() -+ endforeach() -+ foreach(cflag ${ABSL_CC_LIB_COPTS}) -+ if(${cflag} MATCHES "^(-Wno|/wd)") -+ # These flags are needed to suppress warnings that might fire in our headers. -+ set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") -+ elseif(${cflag} MATCHES "^(-W|/w[1234eo])") -+ # Don't impose our warnings on others. -+ elseif(${cflag} MATCHES "^-m") -+ # Don't impose CPU instruction requirements on others, as -+ # the code performs feature detection on runtime. -+ else() -+ set(PC_CFLAGS "${PC_CFLAGS} ${cflag}") -+ endif() -+ endforeach() -+ string(REPLACE ";" " " PC_LINKOPTS "${ABSL_CC_LIB_LINKOPTS}") -+ FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\ - prefix=${CMAKE_INSTALL_PREFIX}\n\ - exec_prefix=\${prefix}\n\ - libdir=${CMAKE_INSTALL_FULL_LIBDIR}\n\ -@@ -214,9 +213,8 @@ Version: ${PC_VERSION}\n\ - Requires:${PC_DEPS}\n\ - Libs: -L\${libdir} ${PC_LINKOPTS} $<$>:${LNK_LIB}>\n\ - Cflags: -I\${includedir}${PC_CFLAGS}\n") -- INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" -- DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -- endif() -+ INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - endif() - - if(NOT ABSL_CC_LIB_IS_INTERFACE) -@@ -346,9 +344,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") - endif() - endif() - -- # TODO currently we don't install googletest alongside abseil sources, so -- # installed abseil can't be tested. -- if(NOT ABSL_CC_LIB_TESTONLY AND ABSL_ENABLE_INSTALL) -+ if(ABSL_ENABLE_INSTALL) - install(TARGETS ${_NAME} EXPORT ${PROJECT_NAME}Targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/recipe/patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch b/recipe/patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch similarity index 85% rename from recipe/patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch rename to recipe/patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch index 5cdbb6e..fa16138 100644 --- a/recipe/patches/0009-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch +++ b/recipe/patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch @@ -1,7 +1,7 @@ -From bfac9193f2b18fb585747df39c27ff94d3fce01d Mon Sep 17 00:00:00 2001 +From d290009321c6a4925ecb514cb10a9284b3da5fdd Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 7 May 2023 18:24:46 +1100 -Subject: [PATCH 09/11] add some necessary source files to +Subject: [PATCH 08/10] add some necessary source files to ABSL_INTERNAL_TEST_DLL_FILES --- diff --git a/recipe/patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch b/recipe/patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch similarity index 83% rename from recipe/patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch rename to recipe/patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch index 4864b36..b490819 100644 --- a/recipe/patches/0010-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch +++ b/recipe/patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch @@ -1,7 +1,7 @@ -From dd5375ee269b6431c029efd1dae91525cb891492 Mon Sep 17 00:00:00 2001 +From 37f21ca8ec636ec6e089dd7afa8aeb36be5966b6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 7 May 2023 20:26:19 +1100 -Subject: [PATCH 10/11] update ABSL_CC_TEST_LINKOPTS when using shared build +Subject: [PATCH 09/10] update ABSL_CC_TEST_LINKOPTS when using shared build --- CMake/AbseilHelpers.cmake | 4 ++++ diff --git a/recipe/patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch b/recipe/patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch similarity index 93% rename from recipe/patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch rename to recipe/patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch index 15159f8..ec4d1d7 100644 --- a/recipe/patches/0011-make-CordzHandle-and-relevant-internal-state-use-ABS.patch +++ b/recipe/patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch @@ -1,7 +1,7 @@ -From 783fdeef3098ba22153507abe0f706505c667897 Mon Sep 17 00:00:00 2001 +From be5f448e1611e18daa5808c32d5d9e37bf3b6467 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 8 May 2023 11:15:46 +1100 -Subject: [PATCH 11/11] make CordzHandle and relevant internal state use +Subject: [PATCH 10/10] make CordzHandle and relevant internal state use ABSL_DLL --- @@ -24,7 +24,7 @@ index b6b06cfa..f2842511 100644 void LogFatalNodeType(CordRep* rep) { ABSL_INTERNAL_LOG(FATAL, absl::StrCat("Unexpected node type: ", diff --git a/absl/strings/internal/cord_internal.h b/absl/strings/internal/cord_internal.h -index 63a81f4f..796d4de9 100644 +index e6f0d544..844e2f4a 100644 --- a/absl/strings/internal/cord_internal.h +++ b/absl/strings/internal/cord_internal.h @@ -73,7 +73,7 @@ extern std::atomic shallow_subcords_enabled; From bfc6598fa3293b0284bfd32826d91c92340c1137 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 8 Aug 2023 21:41:36 +0000 Subject: [PATCH 076/100] updated v20230802.0 --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b9e252c..137b824 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20230125.3" %} +{% set version = "20230802.0" %} {% set v_major = version.split(".")[0] %} # needs to match across all dependent packages; using C++20 # is potentially problematic in some cases, see #45 @@ -28,7 +28,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: 5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36 + sha256: 59d2976af9d6ecf001a81a35749a6e551a335b949d34918cfade07737b9d93c5 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch @@ -52,7 +52,7 @@ outputs: # default behaviour is shared; however note that upstream does not support # fully shared builds on windows, and some static libs will remain, see above - name: libabseil - script: build-abseil.sh # [unix] + script: build-abseil.sh # [unix] script: build-abseil.bat # [win] build: string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} @@ -129,7 +129,7 @@ outputs: # tests & test-helpers - name: libabseil-tests - script: build-abseil.sh # [unix] + script: build-abseil.sh # [unix] script: build-abseil.bat # [win] build: string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} From 6f537847ae1056783c08788c3e37db045277dce9 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 8 Aug 2023 21:41:53 +0000 Subject: [PATCH 077/100] MNT: Re-rendered with conda-build 3.26.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.08.08.11.45.19 --- .azure-pipelines/azure-pipelines-linux.yml | 5 ----- .azure-pipelines/azure-pipelines-win.yml | 5 ++++- .scripts/run_osx_build.sh | 10 +++++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 3b9dee7..fcb0974 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -23,11 +23,6 @@ jobs: timeoutInMinutes: 360 steps: - - script: | - rm -rf /opt/ghc - df -h - displayName: Manage disk space - # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 8a96a72..d66c7d1 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -60,7 +60,10 @@ jobs: if EXIST LICENSE.txt ( copy LICENSE.txt "recipe\\recipe-scripts-license.txt" ) - conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables + if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) + conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% displayName: Build recipe env: PYTHONUNBUFFERED: 1 diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index bb00584..3969edf 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -55,11 +55,6 @@ source run_conda_forge_build_setup echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" -fi - - if [[ -f LICENSE.txt ]]; then cp LICENSE.txt "recipe/recipe-scripts-license.txt" fi @@ -75,6 +70,11 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else + + 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 ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml From 8cd5482cf4cffbc11c5a3ac09b78b2875ca8940d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 3 Aug 2023 18:43:39 +1100 Subject: [PATCH 078/100] rebase patches --- recipe/meta.yaml | 14 +---- ...ch-out-the-build-issue-on-clang4-osx.patch | 4 +- ...to-the-CoreFoundation-framework-on-O.patch | 28 ---------- ...ignore-4221-from-ABSL_MSVC_LINKOPTS.patch} | 4 +- ... => 0003-add-missing-osx-workaround.patch} | 10 ++-- ...0004-default-dll-import-for-windows.patch} | 8 +-- ...-ABSL_INTERNAL_DLL_TARGETS-for-share.patch | 56 ------------------- ...-ABSL_PROPAGATE_CXX_STD-cmake-option.patch | 33 ----------- ...ry-source-files-to-ABSL_INTERNAL_TES.patch | 25 --------- ...EST_LINKOPTS-when-using-shared-build.patch | 24 -------- ...-and-relevant-internal-state-use-ABS.patch | 51 ----------------- 11 files changed, 16 insertions(+), 241 deletions(-) delete mode 100644 recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch rename recipe/patches/{0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch => 0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch} (91%) rename recipe/patches/{0004-add-missing-osx-workaround.patch => 0003-add-missing-osx-workaround.patch} (74%) rename recipe/patches/{0006-default-dll-import-for-windows.patch => 0004-default-dll-import-for-windows.patch} (75%) delete mode 100644 recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch delete mode 100644 recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch delete mode 100644 recipe/patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch delete mode 100644 recipe/patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch delete mode 100644 recipe/patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 137b824..884e97b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -31,19 +31,11 @@ source: sha256: 59d2976af9d6ecf001a81a35749a6e551a335b949d34918cfade07737b9d93c5 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - - patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch - - patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch - - patches/0004-add-missing-osx-workaround.patch - # backport of https://github.com/abseil/abseil-cpp/pull/1115 - - patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch + - patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch + - patches/0003-add-missing-osx-workaround.patch # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - - patches/0006-default-dll-import-for-windows.patch # [win] - - patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch - # backport abseil/abseil-cpp#1445 for shared builds including test targets on win - - patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch - - patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch - - patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch + - patches/0004-default-dll-import-for-windows.patch build: number: 0 diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 5179f90..ad6318a 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ -From 505d4c7a08130bfc869b42d130c5333526ab1f2c Mon Sep 17 00:00:00 2001 +From 957710d9a3694a4d128fb5b29cbbc606409d9919 Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 01/10] patch out the build issue on clang4 osx +Subject: [PATCH 1/4] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ diff --git a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch b/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch deleted file mode 100644 index 7292c80..0000000 --- a/recipe/patches/0002-fix-for-linking-to-the-CoreFoundation-framework-on-O.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e08523225c352e310321ccbf5163e327675f4cbf Mon Sep 17 00:00:00 2001 -From: Francesco Biscani -Date: Sat, 21 Sep 2019 21:39:26 +0200 -Subject: [PATCH 02/10] fix for linking to the CoreFoundation framework on OSX - ---- - absl/time/CMakeLists.txt | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/absl/time/CMakeLists.txt b/absl/time/CMakeLists.txt -index 7b720540..cfed46a4 100644 ---- a/absl/time/CMakeLists.txt -+++ b/absl/time/CMakeLists.txt -@@ -83,10 +83,12 @@ absl_cc_library( - "internal/cctz/src/zone_info_source.cc" - COPTS - ${ABSL_DEFAULT_COPTS} -- DEPS -- $<$:${CoreFoundation}> - ) - -+if(APPLE) -+ target_link_options(time_zone PUBLIC -framework CoreFoundation) -+endif() -+ - # Internal-only target, do not depend on directly. - absl_cc_library( - NAME diff --git a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch similarity index 91% rename from recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch rename to recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index 827a937..d896f76 100644 --- a/recipe/patches/0003-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ -From c9e258b88b2cbd9f26285acdd2143a1d5e245ea8 Mon Sep 17 00:00:00 2001 +From 1873cccd7401c41232b17806bb3dc61c63c98f74 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 03/10] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 2/4] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- diff --git a/recipe/patches/0004-add-missing-osx-workaround.patch b/recipe/patches/0003-add-missing-osx-workaround.patch similarity index 74% rename from recipe/patches/0004-add-missing-osx-workaround.patch rename to recipe/patches/0003-add-missing-osx-workaround.patch index 3fb0b7c..dc5cb84 100644 --- a/recipe/patches/0004-add-missing-osx-workaround.patch +++ b/recipe/patches/0003-add-missing-osx-workaround.patch @@ -1,18 +1,18 @@ -From 03bc869d7d9bfdd3e3ede923db7ef0bb63fefc50 Mon Sep 17 00:00:00 2001 +From 32516fe195fe3c411d204cf732d74436ad5c1108 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 04/10] add missing osx workaround +Subject: [PATCH 3/4] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc -index 57863228..91862aed 100644 +index 3dd6ba1a..1d911c4f 100644 --- a/absl/debugging/internal/examine_stack.cc +++ b/absl/debugging/internal/examine_stack.cc -@@ -26,6 +26,10 @@ - #include +@@ -29,6 +29,10 @@ + #endif #endif +#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS) diff --git a/recipe/patches/0006-default-dll-import-for-windows.patch b/recipe/patches/0004-default-dll-import-for-windows.patch similarity index 75% rename from recipe/patches/0006-default-dll-import-for-windows.patch rename to recipe/patches/0004-default-dll-import-for-windows.patch index 501b3cc..d7b559d 100644 --- a/recipe/patches/0006-default-dll-import-for-windows.patch +++ b/recipe/patches/0004-default-dll-import-for-windows.patch @@ -1,17 +1,17 @@ -From 24d6e4eca32d339a18862880a71ecb1794e27a93 Mon Sep 17 00:00:00 2001 +From 9f00f62c14645d7f35eae659a4f015205379fd22 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 06/10] default dll import for windows +Subject: [PATCH 4/4] default dll import for windows --- absl/base/config.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/absl/base/config.h b/absl/base/config.h -index 05d960b6..13a47018 100644 +index 1de79930..7385eb84 100644 --- a/absl/base/config.h +++ b/absl/base/config.h -@@ -750,10 +750,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || +@@ -695,10 +695,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || #if defined(_MSC_VER) #if defined(ABSL_BUILD_DLL) #define ABSL_DLL __declspec(dllexport) diff --git a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch b/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch deleted file mode 100644 index e76205b..0000000 --- a/recipe/patches/0005-fix-some-missing-ABSL_INTERNAL_DLL_TARGETS-for-share.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 4669175e883c60d3a028eaa57d537fa7f884fc77 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Tue, 7 Feb 2023 13:01:27 +1100 -Subject: [PATCH 05/10] fix some missing ABSL_INTERNAL_DLL_TARGETS for shared - builds - ---- - CMake/AbseilDll.cmake | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index c4a41e6d..c4c92359 100644 ---- a/CMake/AbseilDll.cmake -+++ b/CMake/AbseilDll.cmake -@@ -448,8 +448,14 @@ set(ABSL_INTERNAL_DLL_TARGETS - "container_common" - "container_memory" - "cord" -+ "cord_internal" -+ "cordz_functions" -+ "cordz_handle" -+ "cordz_info" -+ "cordz_sample_token" - "core_headers" - "counting_allocator" -+ "crc_cord_state" - "crc_cpu_detect" - "crc_internal" - "crc32c" -@@ -504,6 +510,7 @@ set(ABSL_INTERNAL_DLL_TARGETS - "log_internal_structured" - "log_severity" - "log_structured" -+ "low_level_hash" - "malloc_internal" - "memory" - "meta" -@@ -555,8 +562,10 @@ set(ABSL_INTERNAL_DLL_TARGETS - "stack_consumption" - "stacktrace" - "status" -+ "statusor" - "str_format" - "str_format_internal" -+ "strerror" - "strings" - "strings_internal" - "symbolize" -@@ -588,6 +597,7 @@ set(ABSL_INTERNAL_TEST_DLL_TARGETS - "cordz_test_helpers" - "hash_testing" - "random_mocking_bit_gen" -+ "random_internal_distribution_test_util" - "random_internal_mock_overload_set" - "scoped_mock_log" - ) diff --git a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch b/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch deleted file mode 100644 index 9c8efbc..0000000 --- a/recipe/patches/0007-Fix-ABSL_PROPAGATE_CXX_STD-cmake-option.patch +++ /dev/null @@ -1,33 +0,0 @@ -From fa134527651eccb60d16332e3750841d3b406a83 Mon Sep 17 00:00:00 2001 -From: Silvio Traversaro -Date: Wed, 15 Feb 2023 15:55:54 +0100 -Subject: [PATCH 07/10] Fix ABSL_PROPAGATE_CXX_STD cmake option - ---- - CMake/AbseilDll.cmake | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index c4c92359..1aecd926 100644 ---- a/CMake/AbseilDll.cmake -+++ b/CMake/AbseilDll.cmake -@@ -797,7 +797,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") - # Abseil libraries require C++14 as the current minimum standard. When - # compiled with C++17 (either because it is the compiler's default or - # explicitly requested), then Abseil requires C++17. -- _absl_target_compile_features_if_available(${_NAME} PUBLIC ${ABSL_INTERNAL_CXX_STD_FEATURE}) -+ _absl_target_compile_features_if_available(${_dll} PUBLIC ${ABSL_INTERNAL_CXX_STD_FEATURE}) - else() - # Note: This is legacy (before CMake 3.8) behavior. Setting the - # target-level CXX_STANDARD property to ABSL_CXX_STANDARD (which is -@@ -807,8 +807,8 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") - # CXX_STANDARD_REQUIRED does guard against the top-level CMake project - # not having enabled CMAKE_CXX_STANDARD_REQUIRED (which prevents - # "decaying" to an older standard if the requested one isn't available). -- set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD}) -- set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) -+ set_property(TARGET ${_dll} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD}) -+ set_property(TARGET ${_dll} PROPERTY CXX_STANDARD_REQUIRED ON) - endif() - - install(TARGETS ${_dll} EXPORT ${PROJECT_NAME}Targets diff --git a/recipe/patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch b/recipe/patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch deleted file mode 100644 index fa16138..0000000 --- a/recipe/patches/0008-add-some-necessary-source-files-to-ABSL_INTERNAL_TES.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d290009321c6a4925ecb514cb10a9284b3da5fdd Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Sun, 7 May 2023 18:24:46 +1100 -Subject: [PATCH 08/10] add some necessary source files to - ABSL_INTERNAL_TEST_DLL_FILES - ---- - CMake/AbseilDll.cmake | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index 1aecd926..26078596 100644 ---- a/CMake/AbseilDll.cmake -+++ b/CMake/AbseilDll.cmake -@@ -584,6 +584,10 @@ set(ABSL_INTERNAL_TEST_DLL_FILES - "hash/hash_testing.h" - "log/scoped_mock_log.cc" - "log/scoped_mock_log.h" -+ "random/internal/chi_square.cc" -+ "random/internal/chi_square.h" -+ "random/internal/distribution_test_util.cc" -+ "random/internal/distribution_test_util.h" - "random/internal/mock_helpers.h" - "random/internal/mock_overload_set.h" - "random/mocking_bit_gen.h" diff --git a/recipe/patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch b/recipe/patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch deleted file mode 100644 index b490819..0000000 --- a/recipe/patches/0009-update-ABSL_CC_TEST_LINKOPTS-when-using-shared-build.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 37f21ca8ec636ec6e089dd7afa8aeb36be5966b6 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Sun, 7 May 2023 20:26:19 +1100 -Subject: [PATCH 09/10] update ABSL_CC_TEST_LINKOPTS when using shared build - ---- - CMake/AbseilHelpers.cmake | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake -index f452a676..89f6ba9a 100644 ---- a/CMake/AbseilHelpers.cmake -+++ b/CMake/AbseilHelpers.cmake -@@ -427,6 +427,10 @@ function(absl_cc_test) - DEPS ${ABSL_CC_TEST_DEPS} - OUTPUT ABSL_CC_TEST_DEPS - ) -+ absl_internal_dll_targets( -+ DEPS ${ABSL_CC_TEST_LINKOPTS} -+ OUTPUT ABSL_CC_TEST_LINKOPTS -+ ) - else() - target_compile_definitions(${_NAME} - PUBLIC diff --git a/recipe/patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch b/recipe/patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch deleted file mode 100644 index ec4d1d7..0000000 --- a/recipe/patches/0010-make-CordzHandle-and-relevant-internal-state-use-ABS.patch +++ /dev/null @@ -1,51 +0,0 @@ -From be5f448e1611e18daa5808c32d5d9e37bf3b6467 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Mon, 8 May 2023 11:15:46 +1100 -Subject: [PATCH 10/10] make CordzHandle and relevant internal state use - ABSL_DLL - ---- - absl/strings/internal/cord_internal.cc | 2 +- - absl/strings/internal/cord_internal.h | 2 +- - absl/strings/internal/cordz_handle.h | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/absl/strings/internal/cord_internal.cc b/absl/strings/internal/cord_internal.cc -index b6b06cfa..f2842511 100644 ---- a/absl/strings/internal/cord_internal.cc -+++ b/absl/strings/internal/cord_internal.cc -@@ -33,7 +33,7 @@ ABSL_CONST_INIT std::atomic cord_ring_buffer_enabled( - kCordEnableRingBufferDefault); - ABSL_CONST_INIT std::atomic shallow_subcords_enabled( - kCordShallowSubcordsDefault); --ABSL_CONST_INIT std::atomic cord_btree_exhaustive_validation(false); -+ABSL_CONST_INIT ABSL_DLL std::atomic cord_btree_exhaustive_validation(false); - - void LogFatalNodeType(CordRep* rep) { - ABSL_INTERNAL_LOG(FATAL, absl::StrCat("Unexpected node type: ", -diff --git a/absl/strings/internal/cord_internal.h b/absl/strings/internal/cord_internal.h -index e6f0d544..844e2f4a 100644 ---- a/absl/strings/internal/cord_internal.h -+++ b/absl/strings/internal/cord_internal.h -@@ -73,7 +73,7 @@ extern std::atomic shallow_subcords_enabled; - // in debug assertions, and code that calls `IsValid()` explicitly. By default, - // assertions should be relatively cheap and AssertValid() can easily lead to - // O(n^2) complexity as recursive / full tree validation is O(n). --extern std::atomic cord_btree_exhaustive_validation; -+ABSL_DLL extern std::atomic cord_btree_exhaustive_validation; - - inline void enable_cord_ring_buffer(bool enable) { - cord_ring_buffer_enabled.store(enable, std::memory_order_relaxed); -diff --git a/absl/strings/internal/cordz_handle.h b/absl/strings/internal/cordz_handle.h -index 3c800b43..c4ac7cb8 100644 ---- a/absl/strings/internal/cordz_handle.h -+++ b/absl/strings/internal/cordz_handle.h -@@ -34,7 +34,7 @@ namespace cord_internal { - // has gained visibility into a CordzInfo object, that CordzInfo object will not - // be deleted prematurely. This allows the profiler to inspect all CordzInfo - // objects that are alive without needing to hold a global lock. --class CordzHandle { -+class ABSL_DLL CordzHandle { - public: - CordzHandle() : CordzHandle(false) {} - From e6618b89706873a1b8cd41197e65b75842207bca Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 15:20:10 +1100 Subject: [PATCH 079/100] bump MACOSX_DEPLOYMENT_TARGET to reflect upstream requirements --- recipe/build-abseil.sh | 6 ------ recipe/conda_build_config.yaml | 5 +++++ recipe/meta.yaml | 6 +++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/recipe/build-abseil.sh b/recipe/build-abseil.sh index a1533e0..f67edf4 100644 --- a/recipe/build-abseil.sh +++ b/recipe/build-abseil.sh @@ -13,12 +13,6 @@ fi if [[ "$PKG_NAME" == "libabseil-tests" ]]; then CMAKE_ARGS="${CMAKE_ARGS} -DBUILD_TESTING=ON -DABSL_BUILD_TESTING=ON" CMAKE_ARGS="${CMAKE_ARGS} -DABSL_USE_EXTERNAL_GOOGLETEST=ON -DABSL_FIND_GOOGLETEST=ON" - if [[ "${target_platform}" == osx-* ]]; then - # test targets require C11's aligned_alloc, which doesn't compile even - # with a newer MACOSX_SDK_VERSION; need to bump target version too - CMAKE_ARGS="$(echo $CMAKE_ARGS | sed 's/-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 //g')" - CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" - fi fi cmake -G Ninja \ diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index d7bf44c..ce31e84 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,2 +1,7 @@ +# abseil now only support MacOS >=10.13, see +# https://github.com/abseil/abseil-cpp#support and +# https://github.com/abseil/abseil-cpp/issues/1513 MACOSX_SDK_VERSION: # [osx and x86_64] - "10.13" # [osx and x86_64] +MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] + - "10.13" # [osx and x86_64] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 884e97b..16bc9d1 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,7 +38,7 @@ source: - patches/0004-default-dll-import-for-windows.patch build: - number: 0 + number: 1 outputs: # default behaviour is shared; however note that upstream does not support @@ -63,6 +63,7 @@ outputs: - libabseil-static ={{ version }}=cxx{{ cxx_standard }}* # make sure we don't co-install with old version of old package name - abseil-cpp ={{ version }} + - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] test: requires: @@ -143,8 +144,7 @@ outputs: - gtest - {{ pin_subpackage("libabseil", exact=True) }} run_constrained: - # only for libabseil-tests, see build-abseil.sh - - __osx >=10.13 # [osx and x86_64] + - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] test: requires: From 1727f591aacafdedc3de284f08f72384839b543a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 15:22:13 +1100 Subject: [PATCH 080/100] MNT: Re-rendered with conda-build 3.26.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.08.10.19.07.29 --- .ci_support/osx_64_.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 44a8b2e..0f38fb2 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' MACOSX_SDK_VERSION: - '10.13' c_compiler: From 6fb73ebd0ac886c4f5611b27ae3f57c1e75ddfad Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 8 Sep 2023 09:01:34 +1100 Subject: [PATCH 081/100] upgrade `__osx` constraint to run-export --- recipe/meta.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 16bc9d1..fa675c1 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,7 +38,7 @@ source: - patches/0004-default-dll-import-for-windows.patch build: - number: 1 + number: 2 outputs: # default behaviour is shared; however note that upstream does not support @@ -52,6 +52,10 @@ outputs: - {{ pin_subpackage("libabseil", max_pin="x") }} # also pin on ABI variant - libabseil =*=cxx{{ cxx_standard }}* + # abseil needs the 10.13 headers even just to be `# include`d; + # ensure that all dependent packages reflect that to + # avoid the solver getting stuck in no-man's-land. + - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] requirements: build: @@ -63,7 +67,6 @@ outputs: - libabseil-static ={{ version }}=cxx{{ cxx_standard }}* # make sure we don't co-install with old version of old package name - abseil-cpp ={{ version }} - - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] test: requires: @@ -143,8 +146,6 @@ outputs: run: - gtest - {{ pin_subpackage("libabseil", exact=True) }} - run_constrained: - - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] test: requires: From 43e015bc8f7a4ff949cba37d61d138b928808474 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 10 Sep 2023 11:10:38 +1100 Subject: [PATCH 082/100] reinstate `__osx` constraint --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fa675c1..8bbe881 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,7 +38,7 @@ source: - patches/0004-default-dll-import-for-windows.patch build: - number: 2 + number: 3 outputs: # default behaviour is shared; however note that upstream does not support @@ -67,6 +67,7 @@ outputs: - libabseil-static ={{ version }}=cxx{{ cxx_standard }}* # make sure we don't co-install with old version of old package name - abseil-cpp ={{ version }} + - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] test: requires: From ebee76d428d63e1158c146b66acdf34ce691eda5 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Mon, 18 Sep 2023 13:59:14 -0500 Subject: [PATCH 083/100] updated v20230802.1 (#70) --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8bbe881..216a98b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20230802.0" %} +{% set version = "20230802.1" %} {% set v_major = version.split(".")[0] %} # needs to match across all dependent packages; using C++20 # is potentially problematic in some cases, see #45 @@ -28,7 +28,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: 59d2976af9d6ecf001a81a35749a6e551a335b949d34918cfade07737b9d93c5 + sha256: 987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -38,7 +38,7 @@ source: - patches/0004-default-dll-import-for-windows.patch build: - number: 3 + number: 0 outputs: # default behaviour is shared; however note that upstream does not support From 174692d80676d6718a35801b56b31bf4a0c68d32 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 17 Jan 2024 11:54:16 +1100 Subject: [PATCH 084/100] abseil 20240116.rc1 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 216a98b..c14abd8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20230802.1" %} +{% set version = "20240116.rc1" %} {% set v_major = version.split(".")[0] %} # needs to match across all dependent packages; using C++20 # is potentially problematic in some cases, see #45 @@ -28,7 +28,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: 987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed + sha256: f8903111260a18d2cc4618cd5bf35a22bcc28f372ebe4f04024b49e88a2e16c1 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch From 6e607aed2e703c359466f36ccf2949796fe84b61 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 17 Jan 2024 11:58:07 +1100 Subject: [PATCH 085/100] MNT: Re-rendered with conda-build 3.28.3, conda-smithy 3.30.4, and conda-forge-pinning 2024.01.16.00.05.46 --- .azure-pipelines/azure-pipelines-linux.yml | 3 + .azure-pipelines/azure-pipelines-osx.yml | 3 + .azure-pipelines/azure-pipelines-win.yml | 59 ++-------- .ci_support/osx_64_.yaml | 4 +- .ci_support/osx_arm64_.yaml | 4 +- .gitignore | 25 ++++- .scripts/build_steps.sh | 14 ++- .scripts/logging_utils.sh | 4 +- .scripts/run_docker_build.sh | 9 ++ .scripts/run_osx_build.sh | 17 ++- .scripts/run_win_build.bat | 125 +++++++++++++++++++++ README.md | 2 +- 12 files changed, 201 insertions(+), 68 deletions(-) create mode 100755 .scripts/run_win_build.bat diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index fcb0974..2b93a12 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -33,6 +33,9 @@ jobs: - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 8032e96..f3ff063 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -20,6 +20,9 @@ jobs: # TODO: Fast finish on azure pipelines? - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index d66c7d1..d609fcd 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -17,6 +17,7 @@ jobs: UPLOAD_TEMP: D:\\tmp steps: + - task: PythonScript@0 displayName: 'Download Miniforge' inputs: @@ -35,55 +36,17 @@ jobs: displayName: Add conda to PATH - script: | - call activate base - mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes - displayName: Install conda-build - - - script: set PYTHONUNBUFFERED=1 - displayName: Set PYTHONUNBUFFERED - - # Configure the VM - - script: | - call activate base - setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml - displayName: conda-forge CI setup - - # Configure the VM. - - script: | - set "CI=azure" - call activate base - run_conda_forge_build_setup - displayName: conda-forge build setup - - - script: | - call activate base - 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" - ) - conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% - displayName: Build recipe + call ".scripts\run_win_build.bat" + displayName: Run Windows build env: PYTHONUNBUFFERED: 1 - - script: | - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - call activate base - validate_recipe_outputs "%FEEDSTOCK_NAME%" - displayName: Validate Recipe Outputs - - - script: | - set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - set "TEMP=$(UPLOAD_TEMP)" - if not exist "%TEMP%\" md "%TEMP%" - set "TMP=%TEMP%" - call activate base - upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml - displayName: Upload package - env: + 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) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 0f38fb2..3be52a4 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -5,7 +5,7 @@ MACOSX_SDK_VERSION: c_compiler: - clang c_compiler_version: -- '15' +- '16' channel_sources: - conda-forge channel_targets: @@ -13,7 +13,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 862910e..12945c4 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' macos_machine: - arm64-apple-darwin20.0.0 target_platform: 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 a6b09f6..beda247 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -28,14 +28,15 @@ conda-build: pkgs_dirs: - ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache - /opt/conda/pkgs +solver: libmamba CONDARC +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 - -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 +mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + 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 boa conda-forge-ci-setup=4 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -69,7 +70,8 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then else conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ + --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh index 57bc95c..aff009f 100644 --- a/.scripts/logging_utils.sh +++ b/.scripts/logging_utils.sh @@ -12,7 +12,7 @@ function startgroup { echo "##[group]$1";; travis ) echo "$1" - echo -en 'travis_fold:start:'"${1// /}"'\\r';; + echo -en 'travis_fold:start:'"${1// /}"'\r';; github_actions ) echo "::group::$1";; * ) @@ -28,7 +28,7 @@ function endgroup { azure ) echo "##[endgroup]";; travis ) - echo -en 'travis_fold:end:'"${1// /}"'\\r';; + echo -en 'travis_fold:end:'"${1// /}"'\r';; github_actions ) echo "::endgroup::";; esac diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 9236239..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 @@ -91,6 +97,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e CPU_COUNT \ -e BUILD_WITH_CONDA_DEBUG \ -e BUILD_OUTPUT_ID \ + -e flow_run_id \ + -e remote_url \ + -e sha \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3969edf..9259eb9 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -22,11 +22,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} 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 \ - 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 +mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ + 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 boa conda-forge-ci-setup=4 @@ -45,6 +47,10 @@ else echo -e "\n\nNot mangling homebrew as we are not running in CI" fi +if [[ "${sha:-}" == "" ]]; then + sha=$(git rev-parse HEAD) +fi + echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup @@ -77,7 +83,8 @@ else conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ + --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" ( 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 new file mode 100755 index 0000000..48734de --- /dev/null +++ b/.scripts/run_win_build.bat @@ -0,0 +1,125 @@ +:: 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 boa 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%] ( + if [%CROSSCOMPILING_EMULATOR%] == [] ( + 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 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 +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 9c9e387..152912b 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ available continuous integration services. Thanks to the awesome service provide [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), [Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable packages to the -[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +[conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance From 87aee567987963040c3692ba97f5e00d070e8d3f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 17 Jan 2024 12:37:11 +1100 Subject: [PATCH 086/100] update expected name of libabsl_log_flags library --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c14abd8..0ecd936 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -7,7 +7,7 @@ # shared builds for flags_* libraries are not supported on windows, see # https://github.com/abseil/abseil-cpp/pull/1115 {% set absl_libs_always_static_on_win = [ - "flags", "flags_commandlineflag", "flags_config", "flags_marshalling", "flags_parse", + "log_flags", "flags_commandlineflag", "flags_config", "flags_marshalling", "flags_parse", "flags_private_handle_accessor", "flags_program_name", "flags_reflection", "flags_usage" ] %} From 667ddfbe298186b1eeb82dc3f1c5b85d54c462f1 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 23 Jan 2024 11:34:43 +1100 Subject: [PATCH 087/100] abseil 20240116.0 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0ecd936..c984137 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20240116.rc1" %} +{% set version = "20240116.0" %} {% set v_major = version.split(".")[0] %} # needs to match across all dependent packages; using C++20 # is potentially problematic in some cases, see #45 @@ -28,7 +28,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: f8903111260a18d2cc4618cd5bf35a22bcc28f372ebe4f04024b49e88a2e16c1 + sha256: 338420448b140f0dfd1a1ea3c3ce71b3bc172071f24f4d9a57d59b45037da440 patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch From d16f795aebbf917b096ba19a41c54a72a945a8a4 Mon Sep 17 00:00:00 2001 From: h-vetinari Date: Wed, 7 Feb 2024 23:11:25 +0100 Subject: [PATCH 088/100] avoid using C++20 stdlib-features when compiling with higher C++-standard (#73) --- recipe/meta.yaml | 4 +++- ...ch-out-the-build-issue-on-clang4-osx.patch | 6 ++--- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 4 ++-- .../0003-add-missing-osx-workaround.patch | 4 ++-- .../0004-default-dll-import-for-windows.patch | 8 +++---- ...tdlib-features-which-change-ABI-comp.patch | 23 +++++++++++++++++++ 6 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c984137..0a96e6e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -36,9 +36,11 @@ source: # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - patches/0004-default-dll-import-for-windows.patch + # avoid that compilation in C++20 mode changes the ABI vs. C++17 + - patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch build: - number: 0 + number: 1 outputs: # default behaviour is shared; however note that upstream does not support diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index ad6318a..34a8fed 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,14 +1,14 @@ -From 957710d9a3694a4d128fb5b29cbbc606409d9919 Mon Sep 17 00:00:00 2001 +From beb40c9c8a4e2f69a33a78c9c93bf7f58871c96f Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/4] patch out the build issue on clang4 osx +Subject: [PATCH 1/5] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/absl/time/internal/cctz/include/cctz/civil_time_detail.h b/absl/time/internal/cctz/include/cctz/civil_time_detail.h -index a5b084e6..0a9a4389 100644 +index 2b0aed56..a9ec715d 100644 --- a/absl/time/internal/cctz/include/cctz/civil_time_detail.h +++ b/absl/time/internal/cctz/include/cctz/civil_time_detail.h @@ -15,6 +15,10 @@ diff --git a/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index d896f76..d101a4c 100644 --- a/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ -From 1873cccd7401c41232b17806bb3dc61c63c98f74 Mon Sep 17 00:00:00 2001 +From b3cb423fa77bf132eff2f3ca2a2c471c2d606219 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 2/4] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 2/5] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- diff --git a/recipe/patches/0003-add-missing-osx-workaround.patch b/recipe/patches/0003-add-missing-osx-workaround.patch index dc5cb84..5ccc01b 100644 --- a/recipe/patches/0003-add-missing-osx-workaround.patch +++ b/recipe/patches/0003-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ -From 32516fe195fe3c411d204cf732d74436ad5c1108 Mon Sep 17 00:00:00 2001 +From f3ebba74fda755fa7002f8c6ec64b77cb3e7e38e Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 3/4] add missing osx workaround +Subject: [PATCH 3/5] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ diff --git a/recipe/patches/0004-default-dll-import-for-windows.patch b/recipe/patches/0004-default-dll-import-for-windows.patch index d7b559d..a0b4911 100644 --- a/recipe/patches/0004-default-dll-import-for-windows.patch +++ b/recipe/patches/0004-default-dll-import-for-windows.patch @@ -1,17 +1,17 @@ -From 9f00f62c14645d7f35eae659a4f015205379fd22 Mon Sep 17 00:00:00 2001 +From a023e403af16c99eb25ba5c476bb19edc0df6d6f Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 4/4] default dll import for windows +Subject: [PATCH 4/5] default dll import for windows --- absl/base/config.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/absl/base/config.h b/absl/base/config.h -index 1de79930..7385eb84 100644 +index 762bb7f7..6ba9361f 100644 --- a/absl/base/config.h +++ b/absl/base/config.h -@@ -695,10 +695,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || +@@ -743,10 +743,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || #if defined(_MSC_VER) #if defined(ABSL_BUILD_DLL) #define ABSL_DLL __declspec(dllexport) diff --git a/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch b/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch new file mode 100644 index 0000000..65e30f9 --- /dev/null +++ b/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch @@ -0,0 +1,23 @@ +From c27c0ea092f6a67160f5398a1a85e95969ed153f Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Wed, 7 Feb 2024 17:07:42 +0100 +Subject: [PATCH 5/5] don't use C++20 stdlib-features which change ABI compared + to C++17 baseline + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 194f8708..1cf84398 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -234,7 +234,7 @@ if(ABSL_ENABLE_INSTALL) + foreach(FEATURE "ORDERING") + string(REPLACE + "#define ABSL_OPTION_USE_STD_${FEATURE} 2" +- "#define ABSL_OPTION_USE_STD_${FEATURE} 1" ++ "#define ABSL_OPTION_USE_STD_${FEATURE} 0" + ABSL_INTERNAL_OPTIONS_H_PINNED + "${ABSL_INTERNAL_OPTIONS_H_CONTENTS}") + set(ABSL_INTERNAL_OPTIONS_H_CONTENTS "${ABSL_INTERNAL_OPTIONS_H_PINNED}") From 32e548e68f1137e74f078cfe0e96d14e6db0371f Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Mon, 12 Feb 2024 21:33:24 +0000 Subject: [PATCH 089/100] updated v20240116.1 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0a96e6e..f4c2782 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20240116.0" %} +{% set version = "20240116.1" %} {% set v_major = version.split(".")[0] %} # needs to match across all dependent packages; using C++20 # is potentially problematic in some cases, see #45 @@ -28,7 +28,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: 338420448b140f0dfd1a1ea3c3ce71b3bc172071f24f4d9a57d59b45037da440 + sha256: 3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a patches: - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -40,7 +40,7 @@ source: - patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch build: - number: 1 + number: 0 outputs: # default behaviour is shared; however note that upstream does not support From 3d6b887c6321b707605785ced79ec7283c3ce8b3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 13 Feb 2024 08:44:24 +0100 Subject: [PATCH 090/100] export Mutex Destructor also on linux --- recipe/meta.yaml | 4 +- ...ch-out-the-build-issue-on-clang4-osx.patch | 2 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 2 +- .../0003-add-missing-osx-workaround.patch | 2 +- .../0004-default-dll-import-for-windows.patch | 2 +- ...tdlib-features-which-change-ABI-comp.patch | 2 +- ...onditionally-export-Mutex-Destructor.patch | 43 +++++++++++++++++++ 7 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 recipe/patches/0006-unconditionally-export-Mutex-Destructor.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f4c2782..1562823 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,9 +38,11 @@ source: - patches/0004-default-dll-import-for-windows.patch # avoid that compilation in C++20 mode changes the ABI vs. C++17 - patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch + # workaround for https://github.com/abseil/abseil-cpp/issues/1624 + - patches/0006-unconditionally-export-Mutex-Destructor.patch build: - number: 0 + number: 1 outputs: # default behaviour is shared; however note that upstream does not support diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch index 34a8fed..7d34a5b 100644 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch @@ -1,7 +1,7 @@ From beb40c9c8a4e2f69a33a78c9c93bf7f58871c96f Mon Sep 17 00:00:00 2001 From: Francesco Biscani Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/5] patch out the build issue on clang4 osx +Subject: [PATCH 1/6] patch out the build issue on clang4 osx --- absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ diff --git a/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch index d101a4c..5d94517 100644 --- a/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ b/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch @@ -1,7 +1,7 @@ From b3cb423fa77bf132eff2f3ca2a2c471c2d606219 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 2/5] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS +Subject: [PATCH 2/6] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS see also https://github.com/microsoft/vcpkg/issues/13945 --- diff --git a/recipe/patches/0003-add-missing-osx-workaround.patch b/recipe/patches/0003-add-missing-osx-workaround.patch index 5ccc01b..866adc7 100644 --- a/recipe/patches/0003-add-missing-osx-workaround.patch +++ b/recipe/patches/0003-add-missing-osx-workaround.patch @@ -1,7 +1,7 @@ From f3ebba74fda755fa7002f8c6ec64b77cb3e7e38e Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 3/5] add missing osx workaround +Subject: [PATCH 3/6] add missing osx workaround --- absl/debugging/internal/examine_stack.cc | 4 ++++ diff --git a/recipe/patches/0004-default-dll-import-for-windows.patch b/recipe/patches/0004-default-dll-import-for-windows.patch index a0b4911..cfc4bb0 100644 --- a/recipe/patches/0004-default-dll-import-for-windows.patch +++ b/recipe/patches/0004-default-dll-import-for-windows.patch @@ -1,7 +1,7 @@ From a023e403af16c99eb25ba5c476bb19edc0df6d6f Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 4/5] default dll import for windows +Subject: [PATCH 4/6] default dll import for windows --- absl/base/config.h | 5 ++--- diff --git a/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch b/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch index 65e30f9..7686744 100644 --- a/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch +++ b/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch @@ -1,7 +1,7 @@ From c27c0ea092f6a67160f5398a1a85e95969ed153f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Feb 2024 17:07:42 +0100 -Subject: [PATCH 5/5] don't use C++20 stdlib-features which change ABI compared +Subject: [PATCH 5/6] don't use C++20 stdlib-features which change ABI compared to C++17 baseline --- diff --git a/recipe/patches/0006-unconditionally-export-Mutex-Destructor.patch b/recipe/patches/0006-unconditionally-export-Mutex-Destructor.patch new file mode 100644 index 0000000..1ede6ea --- /dev/null +++ b/recipe/patches/0006-unconditionally-export-Mutex-Destructor.patch @@ -0,0 +1,43 @@ +From 880c937dbf8c26bb9d66af0b1266e57741a25740 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Tue, 13 Feb 2024 08:43:06 +0100 +Subject: [PATCH 6/6] unconditionally export Mutex Destructor + +--- + absl/synchronization/mutex.cc | 2 -- + absl/synchronization/mutex.h | 5 ----- + 2 files changed, 7 deletions(-) + +diff --git a/absl/synchronization/mutex.cc b/absl/synchronization/mutex.cc +index cb3c7e74..76d561df 100644 +--- a/absl/synchronization/mutex.cc ++++ b/absl/synchronization/mutex.cc +@@ -731,12 +731,10 @@ static unsigned TsanFlags(Mutex::MuHow how) { + } + #endif + +-#if defined(__APPLE__) || defined(ABSL_BUILD_DLL) + // When building a dll symbol export lists may reference the destructor + // and want it to be an exported symbol rather than an inline function. + // Some apple builds also do dynamic library build but don't say it explicitly. + Mutex::~Mutex() { Dtor(); } +-#endif + + #if !defined(NDEBUG) || defined(ABSL_HAVE_THREAD_SANITIZER) + void Mutex::Dtor() { +diff --git a/absl/synchronization/mutex.h b/absl/synchronization/mutex.h +index d53a22bb..2cd5a1e4 100644 +--- a/absl/synchronization/mutex.h ++++ b/absl/synchronization/mutex.h +@@ -1064,11 +1064,6 @@ inline Mutex::Mutex() : mu_(0) { + + inline constexpr Mutex::Mutex(absl::ConstInitType) : mu_(0) {} + +-#if !defined(__APPLE__) && !defined(ABSL_BUILD_DLL) +-ABSL_ATTRIBUTE_ALWAYS_INLINE +-inline Mutex::~Mutex() { Dtor(); } +-#endif +- + #if defined(NDEBUG) && !defined(ABSL_HAVE_THREAD_SANITIZER) + // Use default (empty) destructor in release build for performance reasons. + // We need to mark both Dtor and ~Mutex as always inline for inconsistent From f2c1dad1d662ab136c45eef7120d87364ba29127 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 22 Feb 2024 15:24:46 +1100 Subject: [PATCH 091/100] remove ancient patches --- recipe/meta.yaml | 9 ++-- ...0001-default-dll-import-for-windows.patch} | 4 +- ...ch-out-the-build-issue-on-clang4-osx.patch | 24 ----------- ...dlib-features-which-change-ABI-comp.patch} | 4 +- ...-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch | 42 ------------------- .../0003-add-missing-osx-workaround.patch | 24 ----------- ...nditionally-export-Mutex-Destructor.patch} | 4 +- 7 files changed, 9 insertions(+), 102 deletions(-) rename recipe/patches/{0004-default-dll-import-for-windows.patch => 0001-default-dll-import-for-windows.patch} (86%) delete mode 100644 recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch rename recipe/patches/{0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch => 0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch} (85%) delete mode 100644 recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch delete mode 100644 recipe/patches/0003-add-missing-osx-workaround.patch rename recipe/patches/{0006-unconditionally-export-Mutex-Destructor.patch => 0003-unconditionally-export-Mutex-Destructor.patch} (92%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1562823..ba368a3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -30,16 +30,13 @@ source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz sha256: 3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a patches: - - patches/0001-patch-out-the-build-issue-on-clang4-osx.patch - - patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch - - patches/0003-add-missing-osx-workaround.patch # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 - - patches/0004-default-dll-import-for-windows.patch + - patches/0001-default-dll-import-for-windows.patch # avoid that compilation in C++20 mode changes the ABI vs. C++17 - - patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch + - patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch # workaround for https://github.com/abseil/abseil-cpp/issues/1624 - - patches/0006-unconditionally-export-Mutex-Destructor.patch + - patches/0003-unconditionally-export-Mutex-Destructor.patch build: number: 1 diff --git a/recipe/patches/0004-default-dll-import-for-windows.patch b/recipe/patches/0001-default-dll-import-for-windows.patch similarity index 86% rename from recipe/patches/0004-default-dll-import-for-windows.patch rename to recipe/patches/0001-default-dll-import-for-windows.patch index cfc4bb0..c1b39a3 100644 --- a/recipe/patches/0004-default-dll-import-for-windows.patch +++ b/recipe/patches/0001-default-dll-import-for-windows.patch @@ -1,7 +1,7 @@ -From a023e403af16c99eb25ba5c476bb19edc0df6d6f Mon Sep 17 00:00:00 2001 +From 3b5410d4e955b5b6a6c90abd3a6f02c045a43326 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 4/6] default dll import for windows +Subject: [PATCH 1/3] default dll import for windows --- absl/base/config.h | 5 ++--- diff --git a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch b/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch deleted file mode 100644 index 7d34a5b..0000000 --- a/recipe/patches/0001-patch-out-the-build-issue-on-clang4-osx.patch +++ /dev/null @@ -1,24 +0,0 @@ -From beb40c9c8a4e2f69a33a78c9c93bf7f58871c96f Mon Sep 17 00:00:00 2001 -From: Francesco Biscani -Date: Sat, 21 Sep 2019 15:05:46 +0200 -Subject: [PATCH 1/6] patch out the build issue on clang4 osx - ---- - absl/time/internal/cctz/include/cctz/civil_time_detail.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/absl/time/internal/cctz/include/cctz/civil_time_detail.h b/absl/time/internal/cctz/include/cctz/civil_time_detail.h -index 2b0aed56..a9ec715d 100644 ---- a/absl/time/internal/cctz/include/cctz/civil_time_detail.h -+++ b/absl/time/internal/cctz/include/cctz/civil_time_detail.h -@@ -15,6 +15,10 @@ - #ifndef ABSL_TIME_INTERNAL_CCTZ_CIVIL_TIME_DETAIL_H_ - #define ABSL_TIME_INTERNAL_CCTZ_CIVIL_TIME_DETAIL_H_ - -+#ifdef __APPLE__ -+#define _DARWIN_C_SOURCE -+#endif -+ - #include - #include - #include diff --git a/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch b/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch similarity index 85% rename from recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch rename to recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch index 7686744..aadb00c 100644 --- a/recipe/patches/0005-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch +++ b/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch @@ -1,7 +1,7 @@ -From c27c0ea092f6a67160f5398a1a85e95969ed153f Mon Sep 17 00:00:00 2001 +From 9981632d5efba83f55ed357650b3a88ec6d7acaf Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Feb 2024 17:07:42 +0100 -Subject: [PATCH 5/6] don't use C++20 stdlib-features which change ABI compared +Subject: [PATCH 2/3] don't use C++20 stdlib-features which change ABI compared to C++17 baseline --- diff --git a/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch b/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch deleted file mode 100644 index 5d94517..0000000 --- a/recipe/patches/0002-remove-ignore-4221-from-ABSL_MSVC_LINKOPTS.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b3cb423fa77bf132eff2f3ca2a2c471c2d606219 Mon Sep 17 00:00:00 2001 -From: "Uwe L. Korn" -Date: Thu, 30 Jul 2020 13:01:32 +0200 -Subject: [PATCH 2/6] remove "-ignore:4221" from ABSL_MSVC_LINKOPTS - -see also https://github.com/microsoft/vcpkg/issues/13945 ---- - absl/copts/GENERATED_AbseilCopts.cmake | 4 ---- - absl/copts/copts.py | 5 +---- - 2 files changed, 1 insertion(+), 8 deletions(-) - -diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake -index 430916f7..358354e1 100644 ---- a/absl/copts/GENERATED_AbseilCopts.cmake -+++ b/absl/copts/GENERATED_AbseilCopts.cmake -@@ -186,10 +186,6 @@ list(APPEND ABSL_MSVC_FLAGS - "/D_ENABLE_EXTENDED_ALIGNED_STORAGE" - ) - --list(APPEND ABSL_MSVC_LINKOPTS -- "-ignore:4221" --) -- - list(APPEND ABSL_MSVC_TEST_FLAGS - "/W3" - "/bigobj" -diff --git a/absl/copts/copts.py b/absl/copts/copts.py -index e6e11949..09ac7618 100644 ---- a/absl/copts/copts.py -+++ b/absl/copts/copts.py -@@ -173,10 +173,7 @@ COPT_VARS = { - "/wd4996", # use of deprecated symbol - "/DNOMINMAX", # disable the min() and max() macros from - ], -- "ABSL_MSVC_LINKOPTS": [ -- # Object file doesn't export any previously undefined symbols -- "-ignore:4221", -- ], -+ "ABSL_MSVC_LINKOPTS": [], - # "HWAES" is an abbreviation for "hardware AES" (AES - Advanced Encryption - # Standard). These flags are used for detecting whether or not the target - # architecture has hardware support for AES instructions which can be used diff --git a/recipe/patches/0003-add-missing-osx-workaround.patch b/recipe/patches/0003-add-missing-osx-workaround.patch deleted file mode 100644 index 866adc7..0000000 --- a/recipe/patches/0003-add-missing-osx-workaround.patch +++ /dev/null @@ -1,24 +0,0 @@ -From f3ebba74fda755fa7002f8c6ec64b77cb3e7e38e Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Fri, 1 Jul 2022 13:37:17 +0200 -Subject: [PATCH 3/6] add missing osx workaround - ---- - absl/debugging/internal/examine_stack.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc -index 3dd6ba1a..1d911c4f 100644 ---- a/absl/debugging/internal/examine_stack.cc -+++ b/absl/debugging/internal/examine_stack.cc -@@ -29,6 +29,10 @@ - #endif - #endif - -+#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS) -+#define MAP_ANONYMOUS MAP_ANON -+#endif -+ - #if defined(__linux__) || defined(__APPLE__) - #include - #endif diff --git a/recipe/patches/0006-unconditionally-export-Mutex-Destructor.patch b/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch similarity index 92% rename from recipe/patches/0006-unconditionally-export-Mutex-Destructor.patch rename to recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch index 1ede6ea..fb980a5 100644 --- a/recipe/patches/0006-unconditionally-export-Mutex-Destructor.patch +++ b/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch @@ -1,7 +1,7 @@ -From 880c937dbf8c26bb9d66af0b1266e57741a25740 Mon Sep 17 00:00:00 2001 +From 647571e5e81f28e39fec55bf41ace4114a96d76b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 13 Feb 2024 08:43:06 +0100 -Subject: [PATCH 6/6] unconditionally export Mutex Destructor +Subject: [PATCH 3/3] unconditionally export Mutex Destructor --- absl/synchronization/mutex.cc | 2 -- From c996fa9500002dcd3cf38e90d50f8f14404f98e7 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 29 Feb 2024 08:45:58 +1100 Subject: [PATCH 092/100] backport patch for nvcc workaround --- recipe/meta.yaml | 4 +- .../0001-default-dll-import-for-windows.patch | 6 +-- ...tdlib-features-which-change-ABI-comp.patch | 4 +- ...onditionally-export-Mutex-Destructor.patch | 4 +- ...VIDIA-C-compiler-being-unable-to-par.patch | 47 +++++++++++++++++++ 5 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 recipe/patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ba368a3..8739b93 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -37,9 +37,11 @@ source: - patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch # workaround for https://github.com/abseil/abseil-cpp/issues/1624 - patches/0003-unconditionally-export-Mutex-Destructor.patch + # backport https://github.com/abseil/abseil-cpp/commit/cfde5f74e276049727f9556f13473a59fe77d9eb + - patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch build: - number: 1 + number: 2 outputs: # default behaviour is shared; however note that upstream does not support diff --git a/recipe/patches/0001-default-dll-import-for-windows.patch b/recipe/patches/0001-default-dll-import-for-windows.patch index c1b39a3..1b674ae 100644 --- a/recipe/patches/0001-default-dll-import-for-windows.patch +++ b/recipe/patches/0001-default-dll-import-for-windows.patch @@ -1,14 +1,14 @@ -From 3b5410d4e955b5b6a6c90abd3a6f02c045a43326 Mon Sep 17 00:00:00 2001 +From 681f595247ce7b1675e624f4d57959bfa70b11c0 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 1/3] default dll import for windows +Subject: [PATCH 1/4] default dll import for windows --- absl/base/config.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/absl/base/config.h b/absl/base/config.h -index 762bb7f7..6ba9361f 100644 +index c9165acd..b0d5650c 100644 --- a/absl/base/config.h +++ b/absl/base/config.h @@ -743,10 +743,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || diff --git a/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch b/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch index aadb00c..598d223 100644 --- a/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch +++ b/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch @@ -1,7 +1,7 @@ -From 9981632d5efba83f55ed357650b3a88ec6d7acaf Mon Sep 17 00:00:00 2001 +From 925064703e6e48f36920c9f65a45efb4981ecb49 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Feb 2024 17:07:42 +0100 -Subject: [PATCH 2/3] don't use C++20 stdlib-features which change ABI compared +Subject: [PATCH 2/4] don't use C++20 stdlib-features which change ABI compared to C++17 baseline --- diff --git a/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch b/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch index fb980a5..9240dab 100644 --- a/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch +++ b/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch @@ -1,7 +1,7 @@ -From 647571e5e81f28e39fec55bf41ace4114a96d76b Mon Sep 17 00:00:00 2001 +From f86ffcfba84ec681a70249a61be3b7d2c7f32fa4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 13 Feb 2024 08:43:06 +0100 -Subject: [PATCH 3/3] unconditionally export Mutex Destructor +Subject: [PATCH 3/4] unconditionally export Mutex Destructor --- absl/synchronization/mutex.cc | 2 -- diff --git a/recipe/patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch b/recipe/patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch new file mode 100644 index 0000000..469e7b7 --- /dev/null +++ b/recipe/patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch @@ -0,0 +1,47 @@ +From 69220b657f2ac271e5179bc29d33e73c10720436 Mon Sep 17 00:00:00 2001 +From: Abseil Team +Date: Wed, 28 Feb 2024 09:40:08 -0800 +Subject: [PATCH 4/4] Workaround for NVIDIA C++ compiler being unable to parse + variadic expansions in range of range-based for loop + +Fixes: #1629 +PiperOrigin-RevId: 611131201 +Change-Id: I787731e00207b544ee16055e6e0d323a5094a433 +--- + absl/strings/str_cat.h | 23 +++++++++++------------ + 1 file changed, 11 insertions(+), 12 deletions(-) + +diff --git a/absl/strings/str_cat.h b/absl/strings/str_cat.h +index ea2c4dca..1b52a36f 100644 +--- a/absl/strings/str_cat.h ++++ b/absl/strings/str_cat.h +@@ -601,18 +601,17 @@ StrAppend(absl::Nonnull str, T... args) { + ptrdiff_t n; // The length of the current argument + typename String::pointer pos = &(*str)[old_size]; + using SomeTrivialEmptyType = std::false_type; +- // Ugly code due to the lack of C++14 fold expression makes us. +- const SomeTrivialEmptyType dummy1; +- for (const SomeTrivialEmptyType& dummy2 : +- {(/* Comma expressions are poor man's C++17 fold expression for C++14 */ +- (void)(n = lengths[i]), +- (void)(n < 0 ? (void)(*pos++ = '-'), (n = ~n) : 0), +- (void)absl::numbers_internal::FastIntToBufferBackward( +- absl::numbers_internal::UnsignedAbsoluteValue(std::move(args)), +- pos += n, static_cast(n)), +- (void)++i, dummy1)...}) { +- (void)dummy2; // Remove & migrate to fold expressions in C++17 +- } ++ const SomeTrivialEmptyType dummy; ++ // Ugly code due to the lack of C++17 fold expressions ++ const SomeTrivialEmptyType dummies[] = { ++ (/* Comma expressions are poor man's C++17 fold expression for C++14 */ ++ (void)(n = lengths[i]), ++ (void)(n < 0 ? (void)(*pos++ = '-'), (n = ~n) : 0), ++ (void)absl::numbers_internal::FastIntToBufferBackward( ++ absl::numbers_internal::UnsignedAbsoluteValue(std::move(args)), ++ pos += n, static_cast(n)), ++ (void)++i, dummy)...}; ++ (void)dummies; // Remove & migrate to fold expressions in C++17 + } + + // Helper function for the future StrCat default floating-point format, %.6g From 274cf1985ab105eee26e77668a3b6a5abe411553 Mon Sep 17 00:00:00 2001 From: "conda-forge-curator[bot]" <79913779+conda-forge-curator[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 16:13:33 +0000 Subject: [PATCH 093/100] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeYAMLTest --- conda-forge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index 9fad5b5..d520ca0 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -3,9 +3,9 @@ build_platform: linux_aarch64: linux_64 linux_ppc64le: linux_64 conda_forge_output_validation: true -test_on_native_only: true github: branch_name: main tooling_branch_name: main conda_build: pkg_format: '2' +test: native_and_emulated From 77171b7c559cdcb4de30e2c890d426cc8e1de042 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 9 Apr 2024 03:08:55 +0000 Subject: [PATCH 094/100] updated v20240116.2 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8739b93..451de6b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "20240116.1" %} +{% set version = "20240116.2" %} {% set v_major = version.split(".")[0] %} # needs to match across all dependent packages; using C++20 # is potentially problematic in some cases, see #45 @@ -28,7 +28,7 @@ package: source: url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{ version }}.tar.gz - sha256: 3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a + sha256: 733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc patches: # Helps downstream packages import the dll without an extra define # https://github.com/conda-forge/abseil-cpp-feedstock/issues/43#issuecomment-1242969515 @@ -41,7 +41,7 @@ source: - patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch build: - number: 2 + number: 0 outputs: # default behaviour is shared; however note that upstream does not support From 9879a27f365743583f1a9758cb3874cfea9e4c64 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 9 Apr 2024 03:09:08 +0000 Subject: [PATCH 095/100] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.34.1, and conda-forge-pinning 2024.04.08.16.26.39 --- .azure-pipelines/azure-pipelines-linux.yml | 1 + .azure-pipelines/azure-pipelines-osx.yml | 1 + .ci_support/linux_64_.yaml | 6 ++++++ .ci_support/linux_aarch64_.yaml | 6 ++++++ .ci_support/linux_ppc64le_.yaml | 6 ++++++ .ci_support/osx_64_.yaml | 4 ++++ .ci_support/osx_arm64_.yaml | 4 ++++ .ci_support/win_64_.yaml | 2 ++ .scripts/build_steps.sh | 6 +++--- .scripts/run_osx_build.sh | 6 +++--- .scripts/run_win_build.bat | 4 ++-- azure-pipelines.yml | 4 ++-- build-locally.py | 5 +++-- 13 files changed, 43 insertions(+), 12 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 2b93a12..aef462c 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -21,6 +21,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 f3ff063..730a626 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -15,6 +15,7 @@ jobs: CONFIG: osx_arm64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 + variables: {} steps: # TODO: Fast finish on azure pipelines? diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index d0283c3..5d614fe 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.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: @@ -19,3 +23,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 26dfae8..b9daae8 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.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: @@ -23,3 +27,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index ecaba1f..55ef512 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -2,6 +2,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -19,3 +23,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 3be52a4..eec73c1 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -6,6 +6,10 @@ 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_.yaml b/.ci_support/osx_arm64_.yaml index 12945c4..67e728b 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -4,6 +4,10 @@ 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 index 2614db3..d1d2b41 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -1,5 +1,7 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index beda247..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 boa 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 boa 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}" @@ -68,7 +68,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda mambabuild "${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_osx_build.sh b/.scripts/run_osx_build.sh index 9259eb9..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 boa 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 boa 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 mambabuild ./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 index 48734de..6d54697 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 boa conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes +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 @@ -55,7 +55,7 @@ call :end_group :: Build the recipe echo Building recipe -conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +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 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b346f5..e5306da 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,5 +4,5 @@ jobs: - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-osx.yml + - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index 3f4b7a7..e0d408d 100755 --- a/build-locally.py +++ b/build-locally.py @@ -64,8 +64,9 @@ def verify_config(ns): 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=SDKs' " - "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) From 8b08001e41d7ad0ac280a54171e7422145abdecb Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 9 Apr 2024 16:23:40 +1100 Subject: [PATCH 096/100] rebase patches --- recipe/meta.yaml | 2 - .../0001-default-dll-import-for-windows.patch | 6 +-- ...tdlib-features-which-change-ABI-comp.patch | 4 +- ...onditionally-export-Mutex-Destructor.patch | 4 +- ...VIDIA-C-compiler-being-unable-to-par.patch | 47 ------------------- 5 files changed, 7 insertions(+), 56 deletions(-) delete mode 100644 recipe/patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 451de6b..893a1a1 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -37,8 +37,6 @@ source: - patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch # workaround for https://github.com/abseil/abseil-cpp/issues/1624 - patches/0003-unconditionally-export-Mutex-Destructor.patch - # backport https://github.com/abseil/abseil-cpp/commit/cfde5f74e276049727f9556f13473a59fe77d9eb - - patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch build: number: 0 diff --git a/recipe/patches/0001-default-dll-import-for-windows.patch b/recipe/patches/0001-default-dll-import-for-windows.patch index 1b674ae..1e029a4 100644 --- a/recipe/patches/0001-default-dll-import-for-windows.patch +++ b/recipe/patches/0001-default-dll-import-for-windows.patch @@ -1,14 +1,14 @@ -From 681f595247ce7b1675e624f4d57959bfa70b11c0 Mon Sep 17 00:00:00 2001 +From 46de26de379f8b611e63f10a15596c8e668a0042 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 11 Sep 2022 10:32:19 -0400 -Subject: [PATCH 1/4] default dll import for windows +Subject: [PATCH 1/3] default dll import for windows --- absl/base/config.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/absl/base/config.h b/absl/base/config.h -index c9165acd..b0d5650c 100644 +index 3933a3db..450ecb22 100644 --- a/absl/base/config.h +++ b/absl/base/config.h @@ -743,10 +743,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || diff --git a/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch b/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch index 598d223..6f2dcc3 100644 --- a/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch +++ b/recipe/patches/0002-don-t-use-C-20-stdlib-features-which-change-ABI-comp.patch @@ -1,7 +1,7 @@ -From 925064703e6e48f36920c9f65a45efb4981ecb49 Mon Sep 17 00:00:00 2001 +From deb68855f6be950a4555a9b07f514a9bd3575bd7 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Feb 2024 17:07:42 +0100 -Subject: [PATCH 2/4] don't use C++20 stdlib-features which change ABI compared +Subject: [PATCH 2/3] don't use C++20 stdlib-features which change ABI compared to C++17 baseline --- diff --git a/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch b/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch index 9240dab..a15a133 100644 --- a/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch +++ b/recipe/patches/0003-unconditionally-export-Mutex-Destructor.patch @@ -1,7 +1,7 @@ -From f86ffcfba84ec681a70249a61be3b7d2c7f32fa4 Mon Sep 17 00:00:00 2001 +From 0195301e0dbfe7fb5a570e3261273f4133757766 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 13 Feb 2024 08:43:06 +0100 -Subject: [PATCH 3/4] unconditionally export Mutex Destructor +Subject: [PATCH 3/3] unconditionally export Mutex Destructor --- absl/synchronization/mutex.cc | 2 -- diff --git a/recipe/patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch b/recipe/patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch deleted file mode 100644 index 469e7b7..0000000 --- a/recipe/patches/0004-Workaround-for-NVIDIA-C-compiler-being-unable-to-par.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 69220b657f2ac271e5179bc29d33e73c10720436 Mon Sep 17 00:00:00 2001 -From: Abseil Team -Date: Wed, 28 Feb 2024 09:40:08 -0800 -Subject: [PATCH 4/4] Workaround for NVIDIA C++ compiler being unable to parse - variadic expansions in range of range-based for loop - -Fixes: #1629 -PiperOrigin-RevId: 611131201 -Change-Id: I787731e00207b544ee16055e6e0d323a5094a433 ---- - absl/strings/str_cat.h | 23 +++++++++++------------ - 1 file changed, 11 insertions(+), 12 deletions(-) - -diff --git a/absl/strings/str_cat.h b/absl/strings/str_cat.h -index ea2c4dca..1b52a36f 100644 ---- a/absl/strings/str_cat.h -+++ b/absl/strings/str_cat.h -@@ -601,18 +601,17 @@ StrAppend(absl::Nonnull str, T... args) { - ptrdiff_t n; // The length of the current argument - typename String::pointer pos = &(*str)[old_size]; - using SomeTrivialEmptyType = std::false_type; -- // Ugly code due to the lack of C++14 fold expression makes us. -- const SomeTrivialEmptyType dummy1; -- for (const SomeTrivialEmptyType& dummy2 : -- {(/* Comma expressions are poor man's C++17 fold expression for C++14 */ -- (void)(n = lengths[i]), -- (void)(n < 0 ? (void)(*pos++ = '-'), (n = ~n) : 0), -- (void)absl::numbers_internal::FastIntToBufferBackward( -- absl::numbers_internal::UnsignedAbsoluteValue(std::move(args)), -- pos += n, static_cast(n)), -- (void)++i, dummy1)...}) { -- (void)dummy2; // Remove & migrate to fold expressions in C++17 -- } -+ const SomeTrivialEmptyType dummy; -+ // Ugly code due to the lack of C++17 fold expressions -+ const SomeTrivialEmptyType dummies[] = { -+ (/* Comma expressions are poor man's C++17 fold expression for C++14 */ -+ (void)(n = lengths[i]), -+ (void)(n < 0 ? (void)(*pos++ = '-'), (n = ~n) : 0), -+ (void)absl::numbers_internal::FastIntToBufferBackward( -+ absl::numbers_internal::UnsignedAbsoluteValue(std::move(args)), -+ pos += n, static_cast(n)), -+ (void)++i, dummy)...}; -+ (void)dummies; // Remove & migrate to fold expressions in C++17 - } - - // Helper function for the future StrCat default floating-point format, %.6g From 1eb5999ebe9610de7e36c484b095821aff1609c6 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Thu, 9 May 2024 16:40:32 -0400 Subject: [PATCH 097/100] adapt recipe --- .gitignore | 2 +- abs.yaml | 2 ++ recipe/meta.yaml | 18 ++++++++++++------ 3 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 abs.yaml diff --git a/.gitignore b/.gitignore index 179afe5..f044c58 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ # Ignore all files and folders in root * -!/conda-forge.yml +!/abs.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. diff --git a/abs.yaml b/abs.yaml new file mode 100644 index 0000000..31f83d2 --- /dev/null +++ b/abs.yaml @@ -0,0 +1,2 @@ +channels: + - https://staging.continuum.io/prefect/fs/gtest-feedstock/pr6/a70f57d \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 893a1a1..ca683eb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -41,6 +41,11 @@ source: build: number: 0 +requirements: + build: + - patch # [unix] + - m2-patch # [win] + outputs: # default behaviour is shared; however note that upstream does not support # fully shared builds on windows, and some static libs will remain, see above @@ -57,13 +62,14 @@ outputs: # ensure that all dependent packages reflect that to # avoid the solver getting stuck in no-man's-land. - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] - + missing_dso_whitelist: # [s390x] + - '$RPATH/ld64.so.1' # [s390x] requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - cmake - - ninja + - ninja-base run_constrained: - libabseil-static ={{ version }}=cxx{{ cxx_standard }}* # make sure we don't co-install with old version of old package name @@ -74,7 +80,7 @@ outputs: requires: - {{ compiler('cxx') }} - cmake - - ninja + - ninja-base - pkg-config files: - cmake_test/ @@ -141,9 +147,9 @@ outputs: - {{ compiler('c') }} - {{ compiler('cxx') }} - cmake - - ninja + - ninja-base host: - - gtest + - gtest 1.14 - {{ pin_subpackage("libabseil", exact=True) }} run: - gtest @@ -153,7 +159,7 @@ outputs: requires: - {{ compiler('cxx') }} - cmake - - ninja + - ninja-base - pkg-config files: - cmake_test/ From 54bba51d846f419cc9f5abff1d1325da37163460 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Thu, 9 May 2024 16:50:58 -0400 Subject: [PATCH 098/100] update min osx support --- recipe/conda_build_config.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 72d0127..2051fde 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -3,12 +3,11 @@ cxx_compiler: # [win] c_compiler: # [win] - 'vs2019' # [win] -# abseil now only support MacOS >=10.13, see -# https://github.com/abseil/abseil-cpp#support and -# https://github.com/abseil/abseil-cpp/issues/1513 +# abseil now only support MacOS >=10.15, see +# https://github.com/abseil/abseil-cpp#support MACOSX_SDK_VERSION: # [osx and x86_64] - - "10.13" # [osx and x86_64] + - "10.15" # [osx and x86_64] MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] - - "10.13" # [osx and x86_64] + - "10.15" # [osx and x86_64] CONDA_BUILD_SYSROOT: # [osx and x86_64] - - /opt/MacOSX10.13.sdk # [osx and x86_64] + - /opt/MacOSX10.15.sdk # [osx and x86_64] From b11d9fd4e4619bc5f078986f2a257f8898bbc37e Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Thu, 9 May 2024 17:09:31 -0400 Subject: [PATCH 099/100] tighten run_exports --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ca683eb..53dee62 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -55,7 +55,8 @@ outputs: build: string: cxx{{ cxx_standard }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} run_exports: - - {{ pin_subpackage("libabseil", max_pin="x") }} + # breaking changes listed on patch versions + - {{ pin_subpackage("libabseil", max_pin="x.x") }} # also pin on ABI variant - libabseil =*=cxx{{ cxx_standard }}* # abseil needs the 10.13 headers even just to be `# include`d; From 1e9a60234b682b6c5fc9f6ac8efe879d6576b9e4 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Fri, 24 May 2024 10:10:27 -0400 Subject: [PATCH 100/100] remove temp channel --- abs.yaml | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 abs.yaml diff --git a/abs.yaml b/abs.yaml deleted file mode 100644 index 31f83d2..0000000 --- a/abs.yaml +++ /dev/null @@ -1,2 +0,0 @@ -channels: - - https://staging.continuum.io/prefect/fs/gtest-feedstock/pr6/a70f57d \ No newline at end of file
VariantStatus
linux_64_cxx_standard14shared_libsOFFlinux_64 - variant + variant
linux_64_cxx_standard17shared_libsOFFlinux_aarch64 - variant + variant
linux_64_cxx_standard17shared_libsONlinux_ppc64le - variant + variant
linux_aarch64_cxx_standard14shared_libsOFFosx_64 - variant + variant
linux_aarch64_cxx_standard17shared_libsOFFosx_arm64 - variant + variant
linux_aarch64_cxx_standard17shared_libsONwin_64 - variant - -
linux_ppc64le_cxx_standard14shared_libsOFF - - variant - -
linux_ppc64le_cxx_standard17shared_libsOFF - - variant - -
linux_ppc64le_cxx_standard17shared_libsON - - variant - -
osx_64_cxx_standard14shared_libsOFF - - variant - -
osx_64_cxx_standard17shared_libsOFF - - variant - -
osx_64_cxx_standard17shared_libsON - - variant - -
osx_arm64_cxx_standard14shared_libsOFF - - variant - -
osx_arm64_cxx_standard17shared_libsOFF - - variant - -
osx_arm64_cxx_standard17shared_libsON - - variant - -
win_64_cxx_standard14shared_libsOFF - - variant - -
win_64_cxx_standard17shared_libsOFF - - variant - -
win_64_cxx_standard17shared_libsON - - variant + variant