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 1/3] 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 2/3] 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 3/3] 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