From 08936da9aafbd3dd7ed5b680c83093c71b9c03ed Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 1 Oct 2021 13:27:57 +0000 Subject: [PATCH 01/11] updated v13.0.0 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ea4c36f5..4b76aa85 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "12.0.1" %} +{% set version = "13.0.0" %} package: name: libcxx_and_libcxxabi @@ -6,7 +6,7 @@ package: source: - url: https://github.com/llvm/llvm-project/releases/download/llvmorg-{{ version.replace(".rc", "-rc") }}/llvm-project-{{ version.replace(".rc", "rc") }}.src.tar.xz - sha256: 129cb25cd13677aad951ce5c2deb0fe4afc1e9d98950f53b51bdcfb5a73afa0e + sha256: 6075ad30f1ac0e15f07c1bf062c1e1268c241d674f11bd32cdf0e040c71f2bf3 patches: - patches/0001-libcxxabi-10.9-compatibility.patch # [osx and x86_64] - patches/0002-libcxx-legacy-standalone-build.patch From 8358cf39a6d52bb288378570317c363cd3a7f09e Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 25 Nov 2021 18:24:42 +1100 Subject: [PATCH 02/11] normalize patches --- recipe/meta.yaml | 6 ++--- .../0001-libcxxabi-10.9-compatibility.patch | 8 +++--- ...02-Support-legacy-standalone-builds.patch} | 18 ++++++++----- ...3-Fix-ABI-compatibility-with-system.patch} | 26 ++++++++++++++----- ...04-custom-error-message-for-old-sdk.patch} | 18 +++++++++++-- 5 files changed, 55 insertions(+), 21 deletions(-) rename recipe/patches/{0002-libcxx-legacy-standalone-build.patch => 0002-Support-legacy-standalone-builds.patch} (73%) rename recipe/patches/{0003-libcxx-system-compatibility.diff => 0003-Fix-ABI-compatibility-with-system.patch} (71%) rename recipe/patches/{0004-old-macos-error-message.diff => 0004-custom-error-message-for-old-sdk.patch} (85%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4b76aa85..98827742 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -9,10 +9,10 @@ source: sha256: 6075ad30f1ac0e15f07c1bf062c1e1268c241d674f11bd32cdf0e040c71f2bf3 patches: - patches/0001-libcxxabi-10.9-compatibility.patch # [osx and x86_64] - - patches/0002-libcxx-legacy-standalone-build.patch + - patches/0002-Support-legacy-standalone-builds.patch # See https://lists.llvm.org/pipermail/libcxx-dev/2021-July/001172.html - - patches/0003-libcxx-system-compatibility.diff - - patches/0004-old-macos-error-message.diff + - patches/0003-Fix-ABI-compatibility-with-system.patch + - patches/0004-custom-error-message-for-old-sdk.patch build: number: 1 diff --git a/recipe/patches/0001-libcxxabi-10.9-compatibility.patch b/recipe/patches/0001-libcxxabi-10.9-compatibility.patch index f467e30b..cce543a5 100644 --- a/recipe/patches/0001-libcxxabi-10.9-compatibility.patch +++ b/recipe/patches/0001-libcxxabi-10.9-compatibility.patch @@ -1,14 +1,14 @@ -From b99a853b9b1076362108f7e6d17575d9a78f20d6 Mon Sep 17 00:00:00 2001 +From 429c44a25f749335c572a2ca7ac2a7b142bd329e Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 8 Aug 2020 15:52:31 +0000 -Subject: [PATCH] libcxxabi 10.9 compatibility +Subject: [PATCH 1/4] libcxxabi 10.9 compatibility --- libcxx/src/support/runtime/exception_libcxxabi.ipp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libcxx/src/support/runtime/exception_libcxxabi.ipp b/libcxx/src/support/runtime/exception_libcxxabi.ipp -index 6bc049bf38..a18cf5c3ec 100644 +index 6bc049bf382d..a18cf5c3ecc3 100644 --- a/libcxx/src/support/runtime/exception_libcxxabi.ipp +++ b/libcxx/src/support/runtime/exception_libcxxabi.ipp @@ -17,11 +17,7 @@ bool uncaught_exception() _NOEXCEPT { return uncaught_exceptions() > 0; } @@ -24,5 +24,5 @@ index 6bc049bf38..a18cf5c3ec 100644 } // namespace std -- -2.31.1.windows.1 +2.32.0.windows.2 diff --git a/recipe/patches/0002-libcxx-legacy-standalone-build.patch b/recipe/patches/0002-Support-legacy-standalone-builds.patch similarity index 73% rename from recipe/patches/0002-libcxx-legacy-standalone-build.patch rename to recipe/patches/0002-Support-legacy-standalone-builds.patch index 89c4db8e..74f75b67 100644 --- a/recipe/patches/0002-libcxx-legacy-standalone-build.patch +++ b/recipe/patches/0002-Support-legacy-standalone-builds.patch @@ -1,14 +1,17 @@ -commit a1ca3225214d28d038d6f5a3c93b87184ac0080f (HEAD) -Author: Isuru Fernando -Date: Tue May 18 19:51:28 2021 -0500 +From 0ce4688b54b5094d083bdff092eb264024385d8d Mon Sep 17 00:00:00 2001 +From: Isuru Fernando +Date: Tue, 18 May 2021 19:51:28 -0500 +Subject: [PATCH 2/4] Support legacy standalone builds - Support legacy standalone builds +--- + libcxx/src/CMakeLists.txt | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt -index 87b71f7ba334..c3a788f3de6a 100644 +index 9965104cb5b2..c35e139e03ff 100644 --- a/libcxx/src/CMakeLists.txt +++ b/libcxx/src/CMakeLists.txt -@@ -242,6 +242,23 @@ if (LIBCXX_ENABLE_SHARED) +@@ -230,6 +230,23 @@ if (LIBCXX_ENABLE_SHARED) "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp") target_link_libraries(cxx_shared PRIVATE $) @@ -32,3 +35,6 @@ index 87b71f7ba334..c3a788f3de6a 100644 endif() # Generate a linker script in place of a libc++.so symlink. +-- +2.32.0.windows.2 + diff --git a/recipe/patches/0003-libcxx-system-compatibility.diff b/recipe/patches/0003-Fix-ABI-compatibility-with-system.patch similarity index 71% rename from recipe/patches/0003-libcxx-system-compatibility.diff rename to recipe/patches/0003-Fix-ABI-compatibility-with-system.patch index 0ba87555..04a36624 100644 --- a/recipe/patches/0003-libcxx-system-compatibility.diff +++ b/recipe/patches/0003-Fix-ABI-compatibility-with-system.patch @@ -1,6 +1,17 @@ ---- libcxx/src/locale.cpp 2021-07-13 01:55:26.213851096 -0500 -+++ libcxx/src/locale.cpp 2021-07-13 01:55:58.066107327 -0500 -@@ -206,10 +206,6 @@ +From 05dc5318f95b6e2ee594554abc32bedd044d8284 Mon Sep 17 00:00:00 2001 +From: Isuru Fernando +Date: Tue, 13 Jul 2021 01:57:06 -0500 +Subject: [PATCH 3/4] Fix ABI compatibility with system + +--- + libcxx/src/locale.cpp | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/libcxx/src/locale.cpp b/libcxx/src/locale.cpp +index a0209d0ce8cf..3fea19c60cef 100644 +--- a/libcxx/src/locale.cpp ++++ b/libcxx/src/locale.cpp +@@ -206,10 +206,6 @@ _LIBCPP_SUPPRESS_DEPRECATED_PUSH install(&make >(1u)); install(&make >(1u)); _LIBCPP_SUPPRESS_DEPRECATED_POP @@ -11,7 +22,7 @@ install(&make >(1u)); install(&make >(1u)); install(&make >(1u)); -@@ -230,6 +226,10 @@ +@@ -230,6 +226,10 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP install(&make >(1u)); install(&make<_VSTD::messages >(1u)); install(&make<_VSTD::messages >(1u)); @@ -22,7 +33,7 @@ } locale::__imp::__imp(const string& name, size_t refs) -@@ -255,10 +255,6 @@ +@@ -255,10 +255,6 @@ _LIBCPP_SUPPRESS_DEPRECATED_PUSH install(new codecvt_byname(name_)); install(new codecvt_byname(name_)); _LIBCPP_SUPPRESS_DEPRECATED_POP @@ -33,7 +44,7 @@ install(new numpunct_byname(name_)); install(new numpunct_byname(name_)); install(new moneypunct_byname(name_)); -@@ -271,6 +267,10 @@ +@@ -271,6 +267,10 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP install(new time_put_byname(name_)); install(new messages_byname(name_)); install(new messages_byname(name_)); @@ -44,3 +55,6 @@ #ifndef _LIBCPP_NO_EXCEPTIONS } catch (...) +-- +2.32.0.windows.2 + diff --git a/recipe/patches/0004-old-macos-error-message.diff b/recipe/patches/0004-custom-error-message-for-old-sdk.patch similarity index 85% rename from recipe/patches/0004-old-macos-error-message.diff rename to recipe/patches/0004-custom-error-message-for-old-sdk.patch index cef2ab88..5daed728 100644 --- a/recipe/patches/0004-old-macos-error-message.diff +++ b/recipe/patches/0004-custom-error-message-for-old-sdk.patch @@ -1,5 +1,16 @@ ---- libcxx/include/__availability 2021-12-29 17:26:37.000000000 -0800 -+++ libcxx/include/__availability 2021-12-29 17:33:12.000000000 -0800 +From 666bdf6f81956e59424d79aa1de5df3f8ca24835 Mon Sep 17 00:00:00 2001 +From: Isuru Fernando +Date: Wed, 29 Dec 2021 19:28:35 -0800 +Subject: [PATCH 4/4] custom error message for old sdk + +--- + libcxx/include/__availability | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/libcxx/include/__availability b/libcxx/include/__availability +index cc3b6fabdab1..b8ad8f73592e 100644 +--- a/libcxx/include/__availability ++++ b/libcxx/include/__availability @@ -141,7 +141,7 @@ #elif defined(__APPLE__) @@ -41,3 +52,6 @@ __attribute__((availability(macosx,strict,introduced=10.15))) \ __attribute__((availability(ios,strict,introduced=13.0))) \ __attribute__((availability(tvos,strict,introduced=13.0))) \ +-- +2.32.0.windows.2 + From 891ce4a87254c61741d1538249170ac9fd5202d0 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 25 Nov 2021 18:58:30 +1100 Subject: [PATCH 03/11] rebase patches against 13.0.0 (define-guard changed name) --- .../patches/0001-libcxxabi-10.9-compatibility.patch | 8 ++++---- .../0002-Support-legacy-standalone-builds.patch | 6 +++--- .../0003-Fix-ABI-compatibility-with-system.patch | 12 ++++++------ .../0004-custom-error-message-for-old-sdk.patch | 12 ++++++------ 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/recipe/patches/0001-libcxxabi-10.9-compatibility.patch b/recipe/patches/0001-libcxxabi-10.9-compatibility.patch index cce543a5..be55fcb2 100644 --- a/recipe/patches/0001-libcxxabi-10.9-compatibility.patch +++ b/recipe/patches/0001-libcxxabi-10.9-compatibility.patch @@ -1,4 +1,4 @@ -From 429c44a25f749335c572a2ca7ac2a7b142bd329e Mon Sep 17 00:00:00 2001 +From ac6dc1c179ac707ffd6dce3990380cfc58010bd0 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 8 Aug 2020 15:52:31 +0000 Subject: [PATCH 1/4] libcxxabi 10.9 compatibility @@ -8,12 +8,12 @@ Subject: [PATCH 1/4] libcxxabi 10.9 compatibility 1 file changed, 4 deletions(-) diff --git a/libcxx/src/support/runtime/exception_libcxxabi.ipp b/libcxx/src/support/runtime/exception_libcxxabi.ipp -index 6bc049bf382d..a18cf5c3ecc3 100644 +index ee15e437e602..8933a9b747a6 100644 --- a/libcxx/src/support/runtime/exception_libcxxabi.ipp +++ b/libcxx/src/support/runtime/exception_libcxxabi.ipp -@@ -17,11 +17,7 @@ bool uncaught_exception() _NOEXCEPT { return uncaught_exceptions() > 0; } +@@ -17,11 +17,7 @@ bool uncaught_exception() noexcept { return uncaught_exceptions() > 0; } - int uncaught_exceptions() _NOEXCEPT + int uncaught_exceptions() noexcept { -# if _LIBCPPABI_VERSION > 1001 - return __cxa_uncaught_exceptions(); diff --git a/recipe/patches/0002-Support-legacy-standalone-builds.patch b/recipe/patches/0002-Support-legacy-standalone-builds.patch index 74f75b67..ef3df676 100644 --- a/recipe/patches/0002-Support-legacy-standalone-builds.patch +++ b/recipe/patches/0002-Support-legacy-standalone-builds.patch @@ -1,4 +1,4 @@ -From 0ce4688b54b5094d083bdff092eb264024385d8d Mon Sep 17 00:00:00 2001 +From 7206c8e612fa62a253036dfc546e0c14a5d1f08b Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 18 May 2021 19:51:28 -0500 Subject: [PATCH 2/4] Support legacy standalone builds @@ -8,10 +8,10 @@ Subject: [PATCH 2/4] Support legacy standalone builds 1 file changed, 17 insertions(+) diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt -index 9965104cb5b2..c35e139e03ff 100644 +index 496429f3841e..af8364d7ccd8 100644 --- a/libcxx/src/CMakeLists.txt +++ b/libcxx/src/CMakeLists.txt -@@ -230,6 +230,23 @@ if (LIBCXX_ENABLE_SHARED) +@@ -248,6 +248,23 @@ if (LIBCXX_ENABLE_SHARED) "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp") target_link_libraries(cxx_shared PRIVATE $) diff --git a/recipe/patches/0003-Fix-ABI-compatibility-with-system.patch b/recipe/patches/0003-Fix-ABI-compatibility-with-system.patch index 04a36624..79b58615 100644 --- a/recipe/patches/0003-Fix-ABI-compatibility-with-system.patch +++ b/recipe/patches/0003-Fix-ABI-compatibility-with-system.patch @@ -1,4 +1,4 @@ -From 05dc5318f95b6e2ee594554abc32bedd044d8284 Mon Sep 17 00:00:00 2001 +From 1e916e358c054989ec247692b8eef56f41b2d154 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 13 Jul 2021 01:57:06 -0500 Subject: [PATCH 3/4] Fix ABI compatibility with system @@ -8,14 +8,14 @@ Subject: [PATCH 3/4] Fix ABI compatibility with system 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libcxx/src/locale.cpp b/libcxx/src/locale.cpp -index a0209d0ce8cf..3fea19c60cef 100644 +index d5ab8fb3b836..9edc7349dfb9 100644 --- a/libcxx/src/locale.cpp +++ b/libcxx/src/locale.cpp @@ -206,10 +206,6 @@ _LIBCPP_SUPPRESS_DEPRECATED_PUSH install(&make >(1u)); install(&make >(1u)); _LIBCPP_SUPPRESS_DEPRECATED_POP --#ifndef _LIBCPP_NO_HAS_CHAR8_T +-#ifndef _LIBCPP_HAS_NO_CHAR8_T - install(&make >(1u)); - install(&make >(1u)); -#endif @@ -26,7 +26,7 @@ index a0209d0ce8cf..3fea19c60cef 100644 install(&make >(1u)); install(&make<_VSTD::messages >(1u)); install(&make<_VSTD::messages >(1u)); -+#ifndef _LIBCPP_NO_HAS_CHAR8_T ++#ifndef _LIBCPP_HAS_NO_CHAR8_T + install(&make >(1u)); + install(&make >(1u)); +#endif @@ -37,7 +37,7 @@ index a0209d0ce8cf..3fea19c60cef 100644 install(new codecvt_byname(name_)); install(new codecvt_byname(name_)); _LIBCPP_SUPPRESS_DEPRECATED_POP --#ifndef _LIBCPP_NO_HAS_CHAR8_T +-#ifndef _LIBCPP_HAS_NO_CHAR8_T - install(new codecvt_byname(name_)); - install(new codecvt_byname(name_)); -#endif @@ -48,7 +48,7 @@ index a0209d0ce8cf..3fea19c60cef 100644 install(new time_put_byname(name_)); install(new messages_byname(name_)); install(new messages_byname(name_)); -+#ifndef _LIBCPP_NO_HAS_CHAR8_T ++#ifndef _LIBCPP_HAS_NO_CHAR8_T + install(new codecvt_byname(name_)); + install(new codecvt_byname(name_)); +#endif diff --git a/recipe/patches/0004-custom-error-message-for-old-sdk.patch b/recipe/patches/0004-custom-error-message-for-old-sdk.patch index 5daed728..3b2ae3e6 100644 --- a/recipe/patches/0004-custom-error-message-for-old-sdk.patch +++ b/recipe/patches/0004-custom-error-message-for-old-sdk.patch @@ -1,4 +1,4 @@ -From 666bdf6f81956e59424d79aa1de5df3f8ca24835 Mon Sep 17 00:00:00 2001 +From be4efada67abfcb3e49572b6ec34fe837c98e2c6 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Dec 2021 19:28:35 -0800 Subject: [PATCH 4/4] custom error message for old sdk @@ -8,10 +8,10 @@ Subject: [PATCH 4/4] custom error message for old sdk 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__availability b/libcxx/include/__availability -index cc3b6fabdab1..b8ad8f73592e 100644 +index 13d11950fd67..7e876fbf7c0d 100644 --- a/libcxx/include/__availability +++ b/libcxx/include/__availability -@@ -141,7 +141,7 @@ +@@ -148,7 +148,7 @@ #elif defined(__APPLE__) # define _LIBCPP_AVAILABILITY_SHARED_MUTEX \ @@ -20,7 +20,7 @@ index cc3b6fabdab1..b8ad8f73592e 100644 __attribute__((availability(ios,strict,introduced=10.0))) \ __attribute__((availability(tvos,strict,introduced=10.0))) \ __attribute__((availability(watchos,strict,introduced=3.0))) -@@ -154,7 +154,7 @@ +@@ -161,7 +161,7 @@ # endif # define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS \ @@ -29,7 +29,7 @@ index cc3b6fabdab1..b8ad8f73592e 100644 __attribute__((availability(ios,strict,introduced=11.0))) \ __attribute__((availability(tvos,strict,introduced=11.0))) \ __attribute__((availability(watchos,strict,introduced=4.0))) -@@ -164,12 +164,13 @@ +@@ -171,12 +171,13 @@ _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS # define _LIBCPP_AVAILABILITY_UNCAUGHT_EXCEPTIONS \ @@ -44,7 +44,7 @@ index cc3b6fabdab1..b8ad8f73592e 100644 __attribute__((availability(macosx,strict,introduced=10.12))) \ __attribute__((availability(ios,strict,introduced=10.0))) \ __attribute__((availability(tvos,strict,introduced=10.0))) \ -@@ -191,6 +192,7 @@ +@@ -198,6 +199,7 @@ __attribute__((availability(ios,strict,introduced=7.0))) # define _LIBCPP_AVAILABILITY_FILESYSTEM \ From d6f81676021ee9fffd6babfec08d25815e21c4c9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 25 Nov 2021 18:58:58 +1100 Subject: [PATCH 04/11] add myself to maintainers --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 98827742..5e4a961e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -106,3 +106,4 @@ extra: - isuruf - beckermr - timsnyder + - h-vetinari From ae977380098cf25245b1b5752a2384aa00821e7f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 25 Nov 2021 20:20:13 +1100 Subject: [PATCH 05/11] bump GCC to 11, which is minimal support for libcxx 13 See https://releases.llvm.org/13.0.0/projects/libcxx/docs/index.html --- .ci_support/linux_64_.yaml | 2 +- recipe/conda_build_config.yaml | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 8e15913d..a2f3d7f6 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '11' docker_image: - quay.io/condaforge/linux-anvil-comp7 target_platform: diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 9160c191..e2ea86ec 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -8,9 +8,11 @@ c_compiler: - vs2017 # [win] vc: - 14 -c_compiler_version: # [osx] +c_compiler_version: # [unix] + - 11 # [linux] - "11.1.0" # [osx] -cxx_compiler_version: # [osx] +cxx_compiler_version: # [unix] + - 11 # [linux] - "11.1.0" # [osx] MACOSX_SDK_VERSION: # [osx and x86_64] From 339530e4f781eef4f894552c08beb6c0ec4dac85 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 6 Feb 2022 01:25:19 +1100 Subject: [PATCH 06/11] MNT: Re-rendered with conda-build 3.21.8, conda-smithy 3.16.2, and conda-forge-pinning 2022.02.05.07.33.31 --- .azure-pipelines/azure-pipelines-linux.yml | 7 ++++++- .azure-pipelines/azure-pipelines-osx.yml | 5 +++++ .ci_support/linux_64_.yaml | 7 ++----- .ci_support/osx_64_.yaml | 4 ++-- .ci_support/osx_arm64_.yaml | 4 ++-- .gitattributes | 1 + .github/CODEOWNERS | 2 +- .scripts/build_steps.sh | 15 +++++++++------ .scripts/run_docker_build.sh | 7 +++++-- .scripts/run_osx_build.sh | 14 ++++++++------ LICENSE.txt | 2 +- README.md | 4 +++- build-locally.py | 5 +++++ 13 files changed, 50 insertions(+), 27 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index f04e699c..974e878a 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -11,7 +11,7 @@ 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 timeoutInMinutes: 360 steps: @@ -32,6 +32,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 39baad3f..84d4f421 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/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index a2f3d7f6..d1ea2b1a 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,7 +1,7 @@ cdt_name: - cos6 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -9,11 +9,8 @@ cxx_compiler: cxx_compiler_version: - '11' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: - linux-64 vc: - '14' -zip_keys: -- - cdt_name - - docker_image diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index ac7f2f81..b96cf32c 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: MACOSX_SDK_VERSION: - '10.14' channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -15,7 +15,7 @@ dummy_var: macos_machine: - x86_64-apple-darwin13.4.0 openturns: -- '1.16' +- '1.18' pin_run_as_build: openturns: max_pin: x.x diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 377cb5f1..033a05cf 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -1,7 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: - '11.0' channel_sources: -- conda-forge/label/rust_dev,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -13,7 +13,7 @@ dummy_var: macos_machine: - arm64-apple-darwin20.0.0 openturns: -- '1.16' +- '1.18' pin_run_as_build: openturns: max_pin: x.x diff --git a/.gitattributes b/.gitattributes index 9060b272..ce52713a 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/.github/CODEOWNERS b/.github/CODEOWNERS index bb248399..d0a36558 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @SylvainCorlay @beckermr @inducer @isuruf @jakirkham @timsnyder \ No newline at end of file +* @SylvainCorlay @beckermr @h-vetinari @inducer @isuruf @jakirkham @timsnyder \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 99baf86d..b3d5b819 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,9 +27,10 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC -BUILD_CMD=build -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}" @@ -37,8 +40,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 @@ -55,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 @@ -66,7 +69,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 244ccd1f..0c6515fc 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 708b1e1f..6774b01e 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,21 +11,21 @@ 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="Mambaforge-MacOSX-$(uname -m).sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" +rm -rf ${MINIFORGE_HOME} bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} ( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null ( startgroup "Configuring conda" ) 2> /dev/null -BUILD_CMD=build - 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 @@ -57,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}" @@ -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/LICENSE.txt b/LICENSE.txt index ed3f451e..6ec14012 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 12cb4241..3ecc0496 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,8 @@ conda search libcxx --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 @@ -151,6 +152,7 @@ Feedstock Maintainers * [@SylvainCorlay](https://github.com/SylvainCorlay/) * [@beckermr](https://github.com/beckermr/) +* [@h-vetinari](https://github.com/h-vetinari/) * [@inducer](https://github.com/inducer/) * [@isuruf](https://github.com/isuruf/) * [@jakirkham](https://github.com/jakirkham/) diff --git a/build-locally.py b/build-locally.py index 00eeb34b..8b743489 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 2f678293574b7b7518a7defb7c1929cbd66f1c97 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 6 Feb 2022 01:31:47 +1100 Subject: [PATCH 07/11] bump to 13.0.1 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5e4a961e..dc72bbbe 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "13.0.0" %} +{% set version = "13.0.1" %} package: name: libcxx_and_libcxxabi @@ -6,7 +6,7 @@ package: source: - url: https://github.com/llvm/llvm-project/releases/download/llvmorg-{{ version.replace(".rc", "-rc") }}/llvm-project-{{ version.replace(".rc", "rc") }}.src.tar.xz - sha256: 6075ad30f1ac0e15f07c1bf062c1e1268c241d674f11bd32cdf0e040c71f2bf3 + sha256: 326335a830f2e32d06d0a36393b5455d17dc73e0bd1211065227ee014f92cbf8 patches: - patches/0001-libcxxabi-10.9-compatibility.patch # [osx and x86_64] - patches/0002-Support-legacy-standalone-builds.patch @@ -15,7 +15,7 @@ source: - patches/0004-custom-error-message-for-old-sdk.patch build: - number: 1 + number: 0 skip: true # [win and vc<14] skip: true # [win] skip: true # [ppc64le or aarch64] From d21261749ebf0b25c0b3c9cfc9ee4647b8af75f4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 23 Feb 2022 16:20:24 +1100 Subject: [PATCH 08/11] point libcxxabi to correct $PREFIX/include Also add LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF. This is because some headers now get generated and cannot be included from directly from the sources anymore. See also: https://github.com/llvm/llvm-project/blob/llvmorg-13.0.1/libcxx/include/CMakeLists.txt#L391 https://github.com/llvm/llvm-project/blob/llvmorg-13.0.1/libcxx/CMakeLists.txt#L441-L451 --- recipe/build.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index b7e26d01..e625fcad 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -1,3 +1,5 @@ +set -ex + LLVM_PREFIX=$PREFIX if [[ "$target_platform" == osx-* ]]; then @@ -20,6 +22,7 @@ if [[ "$target_platform" != osx-* ]]; then -DCMAKE_BUILD_TYPE=Release \ -DLLVM_INCLUDE_TESTS=OFF \ -DLLVM_INCLUDE_DOCS=OFF \ + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ ../libcxx make -j${CPU_COUNT} VERBOSE=1 @@ -34,9 +37,8 @@ if [[ "$target_platform" != osx-* ]]; then -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DLIBCXXABI_LIBCXX_PATH=$SRC_DIR/libcxx \ - -DLIBCXXABI_LIBCXX_INCLUDES=$SRC_DIR/libcxx/include \ + -DLIBCXXABI_LIBCXX_INCLUDES=$PREFIX/include/c++/v1 \ -DLLVM_INCLUDE_TESTS=OFF \ - -DLLVM_INCLUDE_DOCS=OFF \ .. make -j${CPU_COUNT} VERBOSE=1 @@ -55,6 +57,7 @@ if [[ "$target_platform" != osx-* ]]; then -DLIBCXX_CXX_ABI_LIBRARY_PATH=$PREFIX/lib \ -DLLVM_INCLUDE_TESTS=OFF \ -DLLVM_INCLUDE_DOCS=OFF \ + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ ../libcxx make -j${CPU_COUNT} VERBOSE=1 From d81548f5364cef6722c309b24d4437c819e9e666 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 23 Feb 2022 16:25:14 +1100 Subject: [PATCH 09/11] unpin clang on osx --- recipe/conda_build_config.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index e2ea86ec..32dd6a7d 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -8,12 +8,10 @@ c_compiler: - vs2017 # [win] vc: - 14 -c_compiler_version: # [unix] +c_compiler_version: # [linux] - 11 # [linux] - - "11.1.0" # [osx] -cxx_compiler_version: # [unix] +cxx_compiler_version: # [linux] - 11 # [linux] - - "11.1.0" # [osx] MACOSX_SDK_VERSION: # [osx and x86_64] - 10.14 # [osx and x86_64] From 21a510743fbcc945eb11d070372900887ccdefd2 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 23 Feb 2022 16:28:13 +1100 Subject: [PATCH 10/11] MNT: Re-rendered with conda-build 3.21.8, conda-smithy 3.17.2, and conda-forge-pinning 2022.02.22.17.02.26 --- .ci_support/README | 7 +++++- .ci_support/osx_64_.yaml | 2 +- .ci_support/osx_arm64_.yaml | 2 +- .gitattributes | 1 + .scripts/build_steps.sh | 6 ++++-- .scripts/run_docker_build.sh | 2 +- .scripts/run_osx_build.sh | 42 +++++++++++++++++++++++++----------- build-locally.py | 11 ++++------ 8 files changed, 47 insertions(+), 26 deletions(-) diff --git a/.ci_support/README b/.ci_support/README index e4e2dcec..69c5db60 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/osx_64_.yaml b/.ci_support/osx_64_.yaml index b96cf32c..7a3c7072 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -9,7 +9,7 @@ channel_targets: cxx_compiler: - clang_bootstrap cxx_compiler_version: -- 11.1.0 +- '12' dummy_var: - '0' macos_machine: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 033a05cf..afd116b1 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - clang_bootstrap cxx_compiler_version: -- 11.1.0 +- '12' dummy_var: - '1' macos_machine: diff --git a/.gitattributes b/.gitattributes index ce52713a..7f327638 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 b3d5b819..c6b23e87 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 0c6515fc..92362398 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 6774b01e..3d855059 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 ['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 8b743489..eec38a04 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 451835aaede130733b50bc40180f3d2e556e9840 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 5 Mar 2022 12:00:48 +1100 Subject: [PATCH 11/11] add comment why GCC 11 is necessary --- recipe/conda_build_config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 32dd6a7d..8e201255 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -8,6 +8,9 @@ c_compiler: - vs2017 # [win] vc: - 14 + +# libcxx only supports the last released GCC version, see +# https://releases.llvm.org/13.0.0/projects/libcxx/docs/index.html#platform-and-compiler-support c_compiler_version: # [linux] - 11 # [linux] cxx_compiler_version: # [linux]