diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 730a626..7708e23 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,7 +5,7 @@ jobs: - job: osx pool: - vmImage: macOS-11 + vmImage: macOS-12 strategy: matrix: osx_64_: diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 5d614fe..290ee2a 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -5,9 +5,9 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.12' +- '2.17' cdt_name: -- cos6 +- cos7 channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 67e728b..026b744 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' +MACOSX_SDK_VERSION: +- '11.0' c_compiler: - clang c_compiler_version: diff --git a/.gitattributes b/.gitattributes index 7f32763..18f114a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,8 +20,8 @@ bld.bat text eol=crlf .travis.yml linguist-generated=true .scripts/* linguist-generated=true .woodpecker.yml linguist-generated=true -LICENSE.txt linguist-generated=true -README.md linguist-generated=true +/LICENSE.txt linguist-generated=true +/README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 899ba03..a5836e8 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -72,6 +72,13 @@ else --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 07dff21..ba0c879 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -85,6 +85,13 @@ else --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" + + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 6d54697..65650bf 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -58,6 +58,11 @@ echo Building recipe conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! +call :start_group "Inspecting artifacts" +:: inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 +WHERE inspect_artifacts >nul 2>nul && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" +call :end_group + :: Prepare some environment variables for the upload step if /i "%CI%" == "github_actions" ( set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml deleted file mode 100644 index ce31e84..0000000 --- a/recipe/conda_build_config.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# 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 893a1a1..ab7ad48 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/779a3565ac6c5b69dd1ab9183e500a27633117d5 + - patches/0004-Avoid-export-of-testonly-target-absl-test_allocator-.patch build: - number: 0 + number: 1 outputs: # default behaviour is shared; however note that upstream does not support @@ -53,26 +55,23 @@ 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: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ stdlib('c') }} - 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 }} - - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] test: requires: - {{ compiler('cxx') }} + - {{ stdlib('c') }} - cmake - ninja - pkg-config @@ -140,6 +139,7 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + - {{ stdlib('c') }} - cmake - ninja host: diff --git a/recipe/patches/0004-Avoid-export-of-testonly-target-absl-test_allocator-.patch b/recipe/patches/0004-Avoid-export-of-testonly-target-absl-test_allocator-.patch new file mode 100644 index 0000000..ff9e606 --- /dev/null +++ b/recipe/patches/0004-Avoid-export-of-testonly-target-absl-test_allocator-.patch @@ -0,0 +1,26 @@ +From 0d297340775316a5ac8ccafd91dca0f00a6828f0 Mon Sep 17 00:00:00 2001 +From: Derek Mauro +Date: Tue, 30 Jan 2024 10:13:25 -0800 +Subject: [PATCH 4/4] Avoid export of testonly target absl::test_allocator in + CMake builds + +Closes #1536 + +PiperOrigin-RevId: 602764437 +Change-Id: Ia5c20a3874262a2ddb8797f608af17d7e86dd6d6 +--- + absl/container/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/absl/container/CMakeLists.txt b/absl/container/CMakeLists.txt +index 128cc0e9..11d65d55 100644 +--- a/absl/container/CMakeLists.txt ++++ b/absl/container/CMakeLists.txt +@@ -213,6 +213,7 @@ absl_cc_library( + DEPS + absl::config + GTest::gmock ++ TESTONLY + ) + + absl_cc_test(