From 17a083085b411d7d69e0f86b40b19a4a24a383dc Mon Sep 17 00:00:00 2001 From: Chris Burr Date: Thu, 27 Jul 2023 03:48:30 +0200 Subject: [PATCH 1/3] Update ROOT patches for 6.28.4 --- recipe/conda_build_config.yaml | 2 +- recipe/meta.yaml | 8 +- ...uePathSerializationHelper-s-type-pro.patch | 84 +++++++++++ ...value-dependent-immediate-invocation.patch | 37 +++++ ...llocate-2-bits-to-store-the-constexp.patch | 29 ++++ ...le-attribute-optional-to-allow-missi.patch | 134 ++++++++++++++++++ ...dd-cplusplus20-as-module-requirement.patch | 27 ++++ ...06-survive-Inon-accessible-directory.patch | 37 +++++ 8 files changed, 356 insertions(+), 2 deletions(-) create mode 100644 recipe/patches/root/0001-Deserialize-LValuePathSerializationHelper-s-type-pro.patch create mode 100644 recipe/patches/root/0002-Do-not-evaluate-value-dependent-immediate-invocation.patch create mode 100644 recipe/patches/root/0003-Backport-clang-Allocate-2-bits-to-store-the-constexp.patch create mode 100644 recipe/patches/root/0004-Implement-a-module-attribute-optional-to-allow-missi.patch create mode 100644 recipe/patches/root/0005-Add-cplusplus20-as-module-requirement.patch create mode 100644 recipe/patches/root/0006-survive-Inon-accessible-directory.patch diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 45a2441c..d8f1cf5d 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -19,4 +19,4 @@ cxx_compiler_version: # [osx or (linux and ppc64le)] variant: - default - hcc # [linux] - - root_62800 # [linux or osx] + - root_62804 # [linux or osx] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bc8246f0..919dce2a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ {% set version = "13.0.1" %} {% set major_version = version.split(".")[0] %} -{% set build_number = 1 %} +{% set build_number = 2 %} {% set minor_aware_ext = major_version %} {% set minor_int = version.split(".")[1] | int %} @@ -116,6 +116,12 @@ source: - patches/root/0081-Do-not-install-Clang-Cling-Config.cmake-in-the-proje.patch # [variant and variant.startswith("root_")] - patches/root/0082-AST-Print-honor-AlwaysIncludeTypeForTemplateArgument.patch # [variant and variant.startswith("root_")] - patches/root/0083-Relax-assertion-on-generating-destructor-call.patch # [variant and variant.startswith("root_")] + - patches/root/0001-Deserialize-LValuePathSerializationHelper-s-type-pro.patch # [variant and variant.startswith("root_")] + - patches/root/0002-Do-not-evaluate-value-dependent-immediate-invocation.patch # [variant and variant.startswith("root_")] + - patches/root/0003-Backport-clang-Allocate-2-bits-to-store-the-constexp.patch # [variant and variant.startswith("root_")] + - patches/root/0004-Implement-a-module-attribute-optional-to-allow-missi.patch # [variant and variant.startswith("root_")] + - patches/root/0005-Add-cplusplus20-as-module-requirement.patch # [variant and variant.startswith("root_")] + - patches/root/0006-survive-Inon-accessible-directory.patch # [variant and variant.startswith("root_")] folder: . - url: https://github.com/llvm/llvm-project/releases/download/llvmorg-{{ version.replace(".rc", "-rc") }}/clang-tools-extra-{{ version.replace(".rc", "rc") }}.src.tar.xz sha256: cc2bc8598848513fa2257a270083e986fd61048347eccf1d801926ea709392d0 diff --git a/recipe/patches/root/0001-Deserialize-LValuePathSerializationHelper-s-type-pro.patch b/recipe/patches/root/0001-Deserialize-LValuePathSerializationHelper-s-type-pro.patch new file mode 100644 index 00000000..512aad90 --- /dev/null +++ b/recipe/patches/root/0001-Deserialize-LValuePathSerializationHelper-s-type-pro.patch @@ -0,0 +1,84 @@ +From b40dd66575e4fb81b8802d7a35bd14b28c54c37d Mon Sep 17 00:00:00 2001 +From: Chuanqi Xu +Date: Tue, 6 Dec 2022 17:38:57 +0800 +Subject: [PATCH 1/6] Deserialize LValuePathSerializationHelper's type properly + +Close https://github.com/llvm/llvm-project/issues/58716. + +Tested with libcxx's modules build. + +When we read the type of +LValuePathSerializationHelper, we didn't read the correct type. We read +the element type as its name suggests. But the problem here is that it +looks like that both the usage and serialization use its type as the +top level type. So here is the mismatch. + +Actually, the type of LValuePathSerializationHelper is never used after +Deserialization without the assertion. So it doesn't matter for the +release users. And this patch shouldn't change the behavior too. + +Reviewed By: erichkeane + +Differential Revision: https://reviews.llvm.org/D139406 +--- + include/clang/AST/APValue.h | 2 +- + include/clang/AST/AbstractBasicReader.h | 5 +++-- + lib/AST/APValue.cpp | 4 ++-- + 3 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/include/clang/AST/APValue.h b/include/clang/AST/APValue.h +index 5f4ac02f53..4e22d6c844 100644 +--- a/include/clang/AST/APValue.h ++++ b/include/clang/AST/APValue.h +@@ -238,7 +238,7 @@ public: + } + }; + class LValuePathSerializationHelper { +- const void *ElemTy; ++ const void *Ty; + + public: + ArrayRef Path; +diff --git a/include/clang/AST/AbstractBasicReader.h b/include/clang/AST/AbstractBasicReader.h +index 5505d661b4..ea09a6d74d 100644 +--- a/include/clang/AST/AbstractBasicReader.h ++++ b/include/clang/AST/AbstractBasicReader.h +@@ -190,7 +190,8 @@ public: + + APValue::LValuePathSerializationHelper readLValuePathSerializationHelper( + SmallVectorImpl &path) { +- auto elemTy = asImpl().readQualType(); ++ auto origTy = asImpl().readQualType(); ++ auto elemTy = origTy; + unsigned pathLength = asImpl().readUInt32(); + for (unsigned i = 0; i < pathLength; ++i) { + if (elemTy->template getAs()) { +@@ -208,7 +209,7 @@ public: + APValue::LValuePathEntry::ArrayIndex(asImpl().readUInt32())); + } + } +- return APValue::LValuePathSerializationHelper(path, elemTy); ++ return APValue::LValuePathSerializationHelper(path, origTy); + } + + Qualifiers readQualifiers() { +diff --git a/lib/AST/APValue.cpp b/lib/AST/APValue.cpp +index 9a9233bc1e..b2bf04d628 100644 +--- a/lib/AST/APValue.cpp ++++ b/lib/AST/APValue.cpp +@@ -156,10 +156,10 @@ void APValue::LValuePathEntry::Profile(llvm::FoldingSetNodeID &ID) const { + + APValue::LValuePathSerializationHelper::LValuePathSerializationHelper( + ArrayRef Path, QualType ElemTy) +- : ElemTy((const void *)ElemTy.getTypePtrOrNull()), Path(Path) {} ++ : Ty((const void *)ElemTy.getTypePtrOrNull()), Path(Path) {} + + QualType APValue::LValuePathSerializationHelper::getType() { +- return QualType::getFromOpaquePtr(ElemTy); ++ return QualType::getFromOpaquePtr(Ty); + } + + namespace { +-- +2.34.1 + diff --git a/recipe/patches/root/0002-Do-not-evaluate-value-dependent-immediate-invocation.patch b/recipe/patches/root/0002-Do-not-evaluate-value-dependent-immediate-invocation.patch new file mode 100644 index 00000000..82f23014 --- /dev/null +++ b/recipe/patches/root/0002-Do-not-evaluate-value-dependent-immediate-invocation.patch @@ -0,0 +1,37 @@ +From d3c46d7eea97a03287d70f68abda8b59a492eb9b Mon Sep 17 00:00:00 2001 +From: Evgeny Shulgin +Date: Fri, 25 Feb 2022 16:55:08 +0100 +Subject: [PATCH 2/6] Do not evaluate value-dependent immediate invocations + +Value-dependent ConstantExprs are not meant to be evaluated. +There is an assert in Expr::EvaluateAsConstantExpr that ensures this condition. +But before this patch the method was called without prior check. + +Fixes https://github.com/llvm/llvm-project/issues/52768 + +Reviewed By: erichkeane + +Differential Revision: https://reviews.llvm.org/D119375 +--- + lib/Sema/SemaExpr.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp +index ca41bc619f..01280681d0 100644 +--- a/lib/Sema/SemaExpr.cpp ++++ b/lib/Sema/SemaExpr.cpp +@@ -16662,7 +16662,10 @@ ExprResult Sema::CheckForImmediateInvocation(ExprResult E, FunctionDecl *Decl) { + ConstantExpr::getStorageKind(Decl->getReturnType().getTypePtr(), + getASTContext()), + /*IsImmediateInvocation*/ true); +- ExprEvalContexts.back().ImmediateInvocationCandidates.emplace_back(Res, 0); ++ /// Value-dependent constant expressions should not be immediately ++ /// evaluated until they are instantiated. ++ if (!Res->isValueDependent()) ++ ExprEvalContexts.back().ImmediateInvocationCandidates.emplace_back(Res, 0); + return Res; + } + +-- +2.34.1 + diff --git a/recipe/patches/root/0003-Backport-clang-Allocate-2-bits-to-store-the-constexp.patch b/recipe/patches/root/0003-Backport-clang-Allocate-2-bits-to-store-the-constexp.patch new file mode 100644 index 00000000..26b90b9b --- /dev/null +++ b/recipe/patches/root/0003-Backport-clang-Allocate-2-bits-to-store-the-constexp.patch @@ -0,0 +1,29 @@ +From ac25448030f122ee70a73b0babaa8f50ff11c480 Mon Sep 17 00:00:00 2001 +From: Vassil Vassilev +Date: Mon, 10 Apr 2023 17:12:18 +0000 +Subject: [PATCH 3/6] Backport [clang] Allocate 2 bits to store the constexpr + specifier kind when serializing. + +See llvm/llvm-project@7a8c794 + +(cherry picked from commit dc9a1c0a81711c312fb8353396e160c2fc3fb366) +--- + lib/Serialization/ASTWriterDecl.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/Serialization/ASTWriterDecl.cpp b/lib/Serialization/ASTWriterDecl.cpp +index 6446cd705a..4c056ed963 100644 +--- a/lib/Serialization/ASTWriterDecl.cpp ++++ b/lib/Serialization/ASTWriterDecl.cpp +@@ -2310,7 +2310,7 @@ void ASTWriter::WriteDeclAbbrevs() { + Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // Defaulted + Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // ExplicitlyDefaulted + Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // ImplicitReturnZero +- Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // Constexpr ++ Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 2)); // Constexpr + Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // UsesSEHTry + Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // SkippedBody + Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // MultiVersion +-- +2.34.1 + diff --git a/recipe/patches/root/0004-Implement-a-module-attribute-optional-to-allow-missi.patch b/recipe/patches/root/0004-Implement-a-module-attribute-optional-to-allow-missi.patch new file mode 100644 index 00000000..f8d91d5d --- /dev/null +++ b/recipe/patches/root/0004-Implement-a-module-attribute-optional-to-allow-missi.patch @@ -0,0 +1,134 @@ +From 336d4f12fe25a5041df0e9ff8f3a0b99b75156fe Mon Sep 17 00:00:00 2001 +From: Vassil Vassilev +Date: Mon, 27 Mar 2023 19:43:33 +0000 +Subject: [PATCH 4/6] Implement a module attribute 'optional' to allow missing + headers. + +This deals with the fact that our modulemaps include headers which can vary +across library versions and that attribute is a way to express this. + +(cherry picked from commit aa874ab2417a1a9b2dc68bb132b47f7e19d99acf) +--- + include/clang/Basic/Module.h | 3 +++ + include/clang/Lex/ModuleMap.h | 5 ++++- + lib/Basic/Module.cpp | 3 ++- + lib/Lex/ModuleMap.cpp | 15 ++++++++++++++- + 4 files changed, 23 insertions(+), 3 deletions(-) + +diff --git a/include/clang/Basic/Module.h b/include/clang/Basic/Module.h +index 3476b05d2e..f62e657fef 100644 +--- a/include/clang/Basic/Module.h ++++ b/include/clang/Basic/Module.h +@@ -303,6 +303,9 @@ public: + /// and headers from used modules. + unsigned NoUndeclaredIncludes : 1; + ++ /// Whether the submodule is allowed to have missing headers. ++ unsigned IsOptional: 1; ++ + /// Whether this module came from a "private" module map, found next + /// to a regular (public) module map. + unsigned ModuleMapIsPrivate : 1; +diff --git a/include/clang/Lex/ModuleMap.h b/include/clang/Lex/ModuleMap.h +index 41f85a1f57..26ed708c49 100644 +--- a/include/clang/Lex/ModuleMap.h ++++ b/include/clang/Lex/ModuleMap.h +@@ -241,9 +241,12 @@ private: + /// and headers from used modules. + unsigned NoUndeclaredIncludes : 1; + ++ /// Whether we can have a submodule with missing header files. ++ unsigned IsOptional : 1; ++ + Attributes() + : IsSystem(false), IsExternC(false), IsExhaustive(false), +- NoUndeclaredIncludes(false) {} ++ NoUndeclaredIncludes(false), IsOptional(false) {} + }; + + /// A directory for which framework modules can be inferred. +diff --git a/lib/Basic/Module.cpp b/lib/Basic/Module.cpp +index b6cf1624ef..351da1a145 100644 +--- a/lib/Basic/Module.cpp ++++ b/lib/Basic/Module.cpp +@@ -43,7 +43,7 @@ Module::Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent, + IsSystem(false), IsExternC(false), IsInferred(false), + InferSubmodules(false), InferExplicitSubmodules(false), + InferExportWildcard(false), ConfigMacrosExhaustive(false), +- NoUndeclaredIncludes(false), ModuleMapIsPrivate(false), ++ NoUndeclaredIncludes(false), IsOptional(false), ModuleMapIsPrivate(false), + NameVisibility(Hidden) { + if (Parent) { + IsAvailable = Parent->isAvailable(); +@@ -51,6 +51,7 @@ Module::Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent, + IsSystem = Parent->IsSystem; + IsExternC = Parent->IsExternC; + NoUndeclaredIncludes = Parent->NoUndeclaredIncludes; ++ IsOptional = Parent->IsOptional; + ModuleMapIsPrivate = Parent->ModuleMapIsPrivate; + + Parent->SubModuleIndex[Name] = Parent->SubModules.size(); +diff --git a/lib/Lex/ModuleMap.cpp b/lib/Lex/ModuleMap.cpp +index f9af7c2a24..7feb88508b 100644 +--- a/lib/Lex/ModuleMap.cpp ++++ b/lib/Lex/ModuleMap.cpp +@@ -274,6 +274,8 @@ void ModuleMap::resolveHeader(Module *Mod, + // this was supposed to modularize the builtin header alone. + } else if (Header.Kind == Module::HK_Excluded) { + // Ignore missing excluded header files. They're optional anyway. ++ } else if (Mod->IsOptional) { ++ // Optional submodules can have missing headers. + } else { + // If we find a module that has a missing header, we mark this module as + // unavailable and store the header directive for displaying diagnostics. +@@ -1037,6 +1039,7 @@ Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir, + Result->IsExternC |= Attrs.IsExternC; + Result->ConfigMacrosExhaustive |= Attrs.IsExhaustive; + Result->NoUndeclaredIncludes |= Attrs.NoUndeclaredIncludes; ++ Result->IsOptional |= Attrs.IsOptional; + Result->Directory = FrameworkDir; + + // Chop off the first framework bit, as that is implied. +@@ -1749,7 +1752,10 @@ namespace { + AT_exhaustive, + + /// The 'no_undeclared_includes' attribute. +- AT_no_undeclared_includes ++ AT_no_undeclared_includes, ++ ++ /// The 'optional' attribute. ++ AT_optional + }; + + } // namespace +@@ -2005,6 +2011,8 @@ void ModuleMapParser::parseModuleDecl() { + ActiveModule->IsSystem = true; + if (Attrs.IsExternC) + ActiveModule->IsExternC = true; ++ if (Attrs.IsOptional) ++ ActiveModule->IsOptional = true; + if (Attrs.NoUndeclaredIncludes || + (!ActiveModule->Parent && ModuleName == "Darwin")) + ActiveModule->NoUndeclaredIncludes = true; +@@ -2905,6 +2913,7 @@ bool ModuleMapParser::parseOptionalAttributes(Attributes &Attrs) { + .Case("exhaustive", AT_exhaustive) + .Case("extern_c", AT_extern_c) + .Case("no_undeclared_includes", AT_no_undeclared_includes) ++ .Case("optional", AT_optional) + .Case("system", AT_system) + .Default(AT_unknown); + switch (Attribute) { +@@ -2928,6 +2937,10 @@ bool ModuleMapParser::parseOptionalAttributes(Attributes &Attrs) { + case AT_no_undeclared_includes: + Attrs.NoUndeclaredIncludes = true; + break; ++ ++ case AT_optional: ++ Attrs.IsOptional = true; ++ break; + } + consumeToken(); + +-- +2.34.1 + diff --git a/recipe/patches/root/0005-Add-cplusplus20-as-module-requirement.patch b/recipe/patches/root/0005-Add-cplusplus20-as-module-requirement.patch new file mode 100644 index 00000000..dbfe9aec --- /dev/null +++ b/recipe/patches/root/0005-Add-cplusplus20-as-module-requirement.patch @@ -0,0 +1,27 @@ +From 8f9bba668f458db0fe5251b9d1dbe7900d2b9572 Mon Sep 17 00:00:00 2001 +From: Axel Naumann +Date: Fri, 9 Dec 2022 09:31:38 +0100 +Subject: [PATCH 5/6] Add "cplusplus20" as module requirement: + +This needs to be upstreamed. + +(cherry picked from commit 4225f7e8b87252bda26aef9915ffe9544268a677) +--- + lib/Basic/Module.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/Basic/Module.cpp b/lib/Basic/Module.cpp +index 351da1a145..ff91ddcc88 100644 +--- a/lib/Basic/Module.cpp ++++ b/lib/Basic/Module.cpp +@@ -109,6 +109,7 @@ static bool hasFeature(StringRef Feature, const LangOptions &LangOpts, + .Case("cplusplus11", LangOpts.CPlusPlus11) + .Case("cplusplus14", LangOpts.CPlusPlus14) + .Case("cplusplus17", LangOpts.CPlusPlus17) ++ .Case("cplusplus20", LangOpts.CPlusPlus20) + .Case("c99", LangOpts.C99) + .Case("c11", LangOpts.C11) + .Case("c17", LangOpts.C17) +-- +2.34.1 + diff --git a/recipe/patches/root/0006-survive-Inon-accessible-directory.patch b/recipe/patches/root/0006-survive-Inon-accessible-directory.patch new file mode 100644 index 00000000..723b010a --- /dev/null +++ b/recipe/patches/root/0006-survive-Inon-accessible-directory.patch @@ -0,0 +1,37 @@ +From d8deeb12d185b4fb96184a78002a6c248fd1c9f4 Mon Sep 17 00:00:00 2001 +From: Axel Naumann +Date: Fri, 3 Mar 2023 12:37:00 +0100 +Subject: [PATCH 6/6] survive -Inon-accessible-directory: + +If part of the -I search path cannot be accessed (permissions), +clang will throw an error, even if the header can be found in +subsequent search path elements. This is counter productive as +the compilation will seem to have failed due to that error, even +though everyone is happy. + +This is not the sys first error that needs to be suppressed, and +it might not be the last... + +(cherry picked from commit b02e870f8d9e5d01732914d9b7bbc0a3313a3135) +--- + lib/Lex/HeaderSearch.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/Lex/HeaderSearch.cpp b/lib/Lex/HeaderSearch.cpp +index 3fb5c61d33..1e6393345a 100644 +--- a/lib/Lex/HeaderSearch.cpp ++++ b/lib/Lex/HeaderSearch.cpp +@@ -367,7 +367,9 @@ Optional HeaderSearch::getFileAndSuggestModule( + std::error_code EC = llvm::errorToErrorCode(File.takeError()); + if (EC != llvm::errc::no_such_file_or_directory && + EC != llvm::errc::invalid_argument && +- EC != llvm::errc::is_a_directory && EC != llvm::errc::not_a_directory) { ++ EC != llvm::errc::is_a_directory && ++ EC != llvm::errc::not_a_directory && ++ EC != llvm::errc::permission_denied) { + Diags.Report(IncludeLoc, diag::err_cannot_open_file) + << FileName << EC.message(); + } +-- +2.34.1 + From 52b58ce674ec03260d8cc4a730b98ed8d6980d96 Mon Sep 17 00:00:00 2001 From: Chris Burr Date: Thu, 27 Jul 2023 03:52:19 +0200 Subject: [PATCH 2/3] MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.07.26.21.58.02 --- .azure-pipelines/azure-pipelines-linux.yml | 17 ++++++---------- .azure-pipelines/azure-pipelines-osx.yml | 8 ++++---- .azure-pipelines/azure-pipelines-win.yml | 5 ++++- .ci_support/linux_64_variantdefault.yaml | 2 +- ...0.yaml => linux_64_variantroot_62804.yaml} | 4 ++-- .ci_support/linux_aarch64_variantdefault.yaml | 2 +- ...l => linux_aarch64_variantroot_62804.yaml} | 4 ++-- ...l => linux_ppc64le_variantroot_62804.yaml} | 2 +- ...800.yaml => osx_64_variantroot_62804.yaml} | 2 +- ....yaml => osx_arm64_variantroot_62804.yaml} | 2 +- .scripts/run_osx_build.sh | 10 +++++----- README.md | 20 +++++++++---------- 12 files changed, 38 insertions(+), 40 deletions(-) rename .ci_support/{linux_64_variantroot_62800.yaml => linux_64_variantroot_62804.yaml} (94%) rename .ci_support/{linux_aarch64_variantroot_62800.yaml => linux_aarch64_variantroot_62804.yaml} (93%) rename .ci_support/{linux_ppc64le_variantroot_62800.yaml => linux_ppc64le_variantroot_62804.yaml} (95%) rename .ci_support/{osx_64_variantroot_62800.yaml => osx_64_variantroot_62804.yaml} (94%) rename .ci_support/{osx_arm64_variantroot_62800.yaml => osx_arm64_variantroot_62804.yaml} (94%) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index acd916be..02d71f01 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -12,34 +12,29 @@ jobs: CONFIG: linux_64_variantdefault UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_variantroot_62800: - CONFIG: linux_64_variantroot_62800 + linux_64_variantroot_62804: + CONFIG: linux_64_variantroot_62804 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_aarch64_variantdefault: CONFIG: linux_aarch64_variantdefault UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_variantroot_62800: - CONFIG: linux_aarch64_variantroot_62800 + linux_aarch64_variantroot_62804: + CONFIG: linux_aarch64_variantroot_62804 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_ppc64le_variantdefault: CONFIG: linux_ppc64le_variantdefault UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_variantroot_62800: - CONFIG: linux_ppc64le_variantroot_62800 + linux_ppc64le_variantroot_62804: + CONFIG: linux_ppc64le_variantroot_62804 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 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-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index db55dfa7..db792bce 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -11,14 +11,14 @@ jobs: osx_64_variantdefault: CONFIG: osx_64_variantdefault UPLOAD_PACKAGES: 'True' - osx_64_variantroot_62800: - CONFIG: osx_64_variantroot_62800 + osx_64_variantroot_62804: + CONFIG: osx_64_variantroot_62804 UPLOAD_PACKAGES: 'True' osx_arm64_variantdefault: CONFIG: osx_arm64_variantdefault UPLOAD_PACKAGES: 'True' - osx_arm64_variantroot_62800: - CONFIG: osx_arm64_variantroot_62800 + osx_arm64_variantroot_62804: + CONFIG: osx_arm64_variantroot_62804 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 8a96a72e..d66c7d15 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/.ci_support/linux_64_variantdefault.yaml b/.ci_support/linux_64_variantdefault.yaml index 32a8aad3..7eccab90 100644 --- a/.ci_support/linux_64_variantdefault.yaml +++ b/.ci_support/linux_64_variantdefault.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: diff --git a/.ci_support/linux_64_variantroot_62800.yaml b/.ci_support/linux_64_variantroot_62804.yaml similarity index 94% rename from .ci_support/linux_64_variantroot_62800.yaml rename to .ci_support/linux_64_variantroot_62804.yaml index 02036976..a68c7346 100644 --- a/.ci_support/linux_64_variantroot_62800.yaml +++ b/.ci_support/linux_64_variantroot_62804.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: @@ -21,6 +21,6 @@ python: target_platform: - linux-64 variant: -- root_62800 +- root_62804 zlib: - '1.2' diff --git a/.ci_support/linux_aarch64_variantdefault.yaml b/.ci_support/linux_aarch64_variantdefault.yaml index da019539..58cb336a 100644 --- a/.ci_support/linux_aarch64_variantdefault.yaml +++ b/.ci_support/linux_aarch64_variantdefault.yaml @@ -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_variantroot_62800.yaml b/.ci_support/linux_aarch64_variantroot_62804.yaml similarity index 93% rename from .ci_support/linux_aarch64_variantroot_62800.yaml rename to .ci_support/linux_aarch64_variantroot_62804.yaml index 3f5cdd10..25125f0b 100644 --- a/.ci_support/linux_aarch64_variantroot_62800.yaml +++ b/.ci_support/linux_aarch64_variantroot_62804.yaml @@ -11,12 +11,12 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: - linux-aarch64 variant: -- root_62800 +- root_62804 zlib: - '1.2' diff --git a/.ci_support/linux_ppc64le_variantroot_62800.yaml b/.ci_support/linux_ppc64le_variantroot_62804.yaml similarity index 95% rename from .ci_support/linux_ppc64le_variantroot_62800.yaml rename to .ci_support/linux_ppc64le_variantroot_62804.yaml index ff9db6bd..c69236ec 100644 --- a/.ci_support/linux_ppc64le_variantroot_62800.yaml +++ b/.ci_support/linux_ppc64le_variantroot_62804.yaml @@ -13,6 +13,6 @@ docker_image: target_platform: - linux-ppc64le variant: -- root_62800 +- root_62804 zlib: - '1.2' diff --git a/.ci_support/osx_64_variantroot_62800.yaml b/.ci_support/osx_64_variantroot_62804.yaml similarity index 94% rename from .ci_support/osx_64_variantroot_62800.yaml rename to .ci_support/osx_64_variantroot_62804.yaml index 61f7c821..56d723f8 100644 --- a/.ci_support/osx_64_variantroot_62800.yaml +++ b/.ci_support/osx_64_variantroot_62804.yaml @@ -13,4 +13,4 @@ macos_machine: target_platform: - osx-64 variant: -- root_62800 +- root_62804 diff --git a/.ci_support/osx_arm64_variantroot_62800.yaml b/.ci_support/osx_arm64_variantroot_62804.yaml similarity index 94% rename from .ci_support/osx_arm64_variantroot_62800.yaml rename to .ci_support/osx_arm64_variantroot_62804.yaml index 1f27b09f..9ee2a8d3 100644 --- a/.ci_support/osx_arm64_variantroot_62800.yaml +++ b/.ci_support/osx_arm64_variantroot_62804.yaml @@ -13,4 +13,4 @@ macos_machine: target_platform: - osx-arm64 variant: -- root_62800 +- root_62804 diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index bb00584b..3969edf3 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 diff --git a/README.md b/README.md index 63480a10..b5bb742a 100644 --- a/README.md +++ b/README.md @@ -34,10 +34,10 @@ Current build status - linux_64_variantroot_62800 + linux_64_variantroot_62804 - variant + variant @@ -48,10 +48,10 @@ Current build status - linux_aarch64_variantroot_62800 + linux_aarch64_variantroot_62804 - variant + variant @@ -62,10 +62,10 @@ Current build status - linux_ppc64le_variantroot_62800 + linux_ppc64le_variantroot_62804 - variant + variant @@ -76,10 +76,10 @@ Current build status - osx_64_variantroot_62800 + osx_64_variantroot_62804 - variant + variant @@ -90,10 +90,10 @@ Current build status - osx_arm64_variantroot_62800 + osx_arm64_variantroot_62804 - variant + variant From 3d69a5c3ab91782072344fb70bd021ba23316990 Mon Sep 17 00:00:00 2001 From: Chris Burr Date: Thu, 27 Jul 2023 04:02:58 +0200 Subject: [PATCH 3/3] Appease linter --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 919dce2a..951d3169 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -324,10 +324,10 @@ outputs: - llvmdev =={{ version }} - llvm =={{ version }} - zlib # [linux or win] - - {{ pin_compatible("libclang-cpp" + minor_aware_ext, exact=True) }} # [unix] + - {{ pin_subpackage("libclang-cpp" + minor_aware_ext, exact=True) }} # [unix] run: - {{ pin_compatible("libcxx", max_pin=None) }} # [osx] - - {{ pin_compatible("libclang-cpp" + minor_aware_ext, exact=True) }} # [unix] + - {{ pin_subpackage("libclang-cpp" + minor_aware_ext, exact=True) }} # [unix] run_constrained: - clangdev {{ version }} - clangxx {{ version }}