From 74204e6b81777c3ccf7f43ecac6ad8046ca7a59f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 26 Aug 2024 22:58:20 +1100 Subject: [PATCH 1/9] bootstrap libcxx-devel as a wrapper around libcxx --- recipe/meta.yaml | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b727d2b4..9f4dc609 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -22,7 +22,7 @@ source: - patches/0004-Work-around-stray-nostdlib-flags-causing-errors-with.patch build: - number: 5 + number: 6 skip: true # [win] skip: true # [ppc64le or aarch64] @@ -50,13 +50,14 @@ outputs: run_exports: # [hardening == "debug"] # packages built with hardened lib must not be installable without extra label - libcxx =*=debug* # [hardening == "debug"] - files: - - include/c++ # [unix] - - lib/libc++.a # [unix] - - lib/libc++experimental.* # [unix] - - Library/include/c++ # [win] - - Library/lib/c++*.lib # [win] - - Library/lib/libc++*.lib # [win] + # temporarily still in libcxx, until we update compiler stack w.r.t. libcxx-devel + # files: + # - include/c++ # [unix] + # - lib/libc++.a # [unix] + # - lib/libc++experimental.* # [unix] + # - Library/include/c++ # [win] + # - Library/lib/c++*.lib # [win] + # - Library/lib/libc++*.lib # [win] requirements: host: - {{ pin_subpackage("libcxx", exact=True) }} @@ -131,6 +132,13 @@ outputs: - lib/libc++.dylib # [osx] - lib/libc++.*.dylib # [osx] - Library/bin/c++*.dll # [win] + # temporarily still in libcxx, until we update compiler stack w.r.t. libcxx-devel + - include/c++ # [unix] + - lib/libc++.a # [unix] + - lib/libc++experimental.* # [unix] + - Library/include/c++ # [win] + - Library/lib/c++*.lib # [win] + - Library/lib/libc++*.lib # [win] requirements: build: - {{ stdlib('c') }} @@ -148,9 +156,9 @@ outputs: - test -f $PREFIX/lib/libc++.so # [linux] - test -f $PREFIX/lib/libc++.dylib # [osx] # absence of static libs & headers - - test ! -f $PREFIX/lib/libc++.a # [unix] - - test ! -f $PREFIX/lib/libc++experimental.a # [unix] - - test ! -d $PREFIX/include/c++ # [unix] + # - test ! -f $PREFIX/lib/libc++.a # [unix] + # - test ! -f $PREFIX/lib/libc++experimental.a # [unix] + # - test ! -d $PREFIX/include/c++ # [unix] - name: libcxxabi build: From c74add018a8b06fee5e1d3378767f1146af0c827 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 26 Aug 2024 22:59:31 +1100 Subject: [PATCH 2/9] Revert "disable libcxx-testing dowstreams to bootstrap" This reverts commit 1d69bdc6144e32bd067e245d685be7f91155d765. --- recipe/meta.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9f4dc609..7a9de5eb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -103,8 +103,6 @@ outputs: downstreams: # [osx] - python-symengine # [osx] - openturns # [osx] - # disabled until libcxx-testing depends on `libcxx-devel` - {% if False %} # test current libcxx against old clang builds; # version correspondence is 0.{{ CLANG_MAJOR }} # these tests are unusual in that they use -Wl,-rpath, but not -L. @@ -112,7 +110,6 @@ outputs: - libcxx-testing 0.17 # [osx] - libcxx-testing 0.16 # [osx] - libcxx-testing 0.15 # [osx] - {% endif %} {% endif %} - name: libcxx From 14864e834ed02e13959f7fbc988b6564ce7c858e Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 30 Aug 2024 07:07:59 +1100 Subject: [PATCH 3/9] Revert "bootstrap libcxx-devel as a wrapper around libcxx" This reverts commit 74204e6b81777c3ccf7f43ecac6ad8046ca7a59f. --- recipe/meta.yaml | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7a9de5eb..63ddae6d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -50,14 +50,13 @@ outputs: run_exports: # [hardening == "debug"] # packages built with hardened lib must not be installable without extra label - libcxx =*=debug* # [hardening == "debug"] - # temporarily still in libcxx, until we update compiler stack w.r.t. libcxx-devel - # files: - # - include/c++ # [unix] - # - lib/libc++.a # [unix] - # - lib/libc++experimental.* # [unix] - # - Library/include/c++ # [win] - # - Library/lib/c++*.lib # [win] - # - Library/lib/libc++*.lib # [win] + files: + - include/c++ # [unix] + - lib/libc++.a # [unix] + - lib/libc++experimental.* # [unix] + - Library/include/c++ # [win] + - Library/lib/c++*.lib # [win] + - Library/lib/libc++*.lib # [win] requirements: host: - {{ pin_subpackage("libcxx", exact=True) }} @@ -129,13 +128,6 @@ outputs: - lib/libc++.dylib # [osx] - lib/libc++.*.dylib # [osx] - Library/bin/c++*.dll # [win] - # temporarily still in libcxx, until we update compiler stack w.r.t. libcxx-devel - - include/c++ # [unix] - - lib/libc++.a # [unix] - - lib/libc++experimental.* # [unix] - - Library/include/c++ # [win] - - Library/lib/c++*.lib # [win] - - Library/lib/libc++*.lib # [win] requirements: build: - {{ stdlib('c') }} @@ -153,9 +145,9 @@ outputs: - test -f $PREFIX/lib/libc++.so # [linux] - test -f $PREFIX/lib/libc++.dylib # [osx] # absence of static libs & headers - # - test ! -f $PREFIX/lib/libc++.a # [unix] - # - test ! -f $PREFIX/lib/libc++experimental.a # [unix] - # - test ! -d $PREFIX/include/c++ # [unix] + - test ! -f $PREFIX/lib/libc++.a # [unix] + - test ! -f $PREFIX/lib/libc++experimental.a # [unix] + - test ! -d $PREFIX/include/c++ # [unix] - name: libcxxabi build: From 92e7009108d30fff5ed9adda65e88c7a0ab7a32c Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 30 Aug 2024 07:09:23 +1100 Subject: [PATCH 4/9] move static libs to `libcxx` output, necessary for cross-compilation --- recipe/meta.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 63ddae6d..dad80b31 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -22,7 +22,7 @@ source: - patches/0004-Work-around-stray-nostdlib-flags-causing-errors-with.patch build: - number: 6 + number: 7 skip: true # [win] skip: true # [ppc64le or aarch64] @@ -52,11 +52,7 @@ outputs: - libcxx =*=debug* # [hardening == "debug"] files: - include/c++ # [unix] - - lib/libc++.a # [unix] - - lib/libc++experimental.* # [unix] - Library/include/c++ # [win] - - Library/lib/c++*.lib # [win] - - Library/lib/libc++*.lib # [win] requirements: host: - {{ pin_subpackage("libcxx", exact=True) }} @@ -128,6 +124,10 @@ outputs: - lib/libc++.dylib # [osx] - lib/libc++.*.dylib # [osx] - Library/bin/c++*.dll # [win] + - lib/libc++.a # [unix] + - lib/libc++experimental.* # [unix] + - Library/lib/c++*.lib # [win] + - Library/lib/libc++*.lib # [win] requirements: build: - {{ stdlib('c') }} @@ -141,12 +141,12 @@ outputs: - sysroot_{{ target_platform }} >={{ c_stdlib_version }} # [linux] test: commands: - # presence of shared libraries + # presence of shared & static libraries - test -f $PREFIX/lib/libc++.so # [linux] - test -f $PREFIX/lib/libc++.dylib # [osx] - # absence of static libs & headers - - test ! -f $PREFIX/lib/libc++.a # [unix] - - test ! -f $PREFIX/lib/libc++experimental.a # [unix] + - test -f $PREFIX/lib/libc++.a # [unix] + - test -f $PREFIX/lib/libc++experimental.a # [unix] + # absence of headers - test ! -d $PREFIX/include/c++ # [unix] - name: libcxxabi From b74a66e4d6c89ab1cc3ac18e0a28bd48799ff3a7 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Thu, 29 Aug 2024 15:19:23 -0500 Subject: [PATCH 5/9] Update meta.yaml --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index dad80b31..7065616a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -57,7 +57,7 @@ outputs: host: - {{ pin_subpackage("libcxx", exact=True) }} run: - - {{ pin_subpackage("libcxx", exact=True) }} + - {{ pin_subpackage("libcxx", max_pin=None) }} run_constrained: - __osx <12 # [osx and (sys_abi == "pre-12")] From b600eef9cd90c24a20ccda3868353b836ed05f32 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 31 Aug 2024 15:21:24 +1100 Subject: [PATCH 6/9] remove dependence on clangdev on linux this does not seem necessary to build, and prevents us from letting `clangxx` depend on `libcxx-devel` (because it would create a build cycle); see https://github.com/conda-forge/clangdev-feedstock/pull/315#issuecomment-2322761731 --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7065616a..cc28581e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -39,7 +39,7 @@ requirements: - {{ stdlib('c') }} - python >3 # [not osx] host: - - clangdev {{ version }} # [not osx] + # - clangdev {{ version }} # [not osx] - llvmdev {{ version }} # [not osx] outputs: From 36a7c24f840a3bde6ae9a8a95a97d9be1ee5bafe Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 4 Sep 2024 10:54:05 +1100 Subject: [PATCH 7/9] libcxx v19.1.0.rc4 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b6e145a0..5bcb1658 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "19.1.0.rc3" %} +{% set version = "19.1.0.rc4" %} {% if sys_abi is undefined %} {% set sys_abi = "dummy" %} @@ -11,7 +11,7 @@ package: source: - url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 57f926edf60a92947fa9b8b0adfdf3c6f2182a4ecf1c929176218eef619d7411 + sha256: 570ea538eae9939e1b008c4e8055227dae3ab58054c74707ad1d5a8cb51536c3 patches: # See https://discourse.llvm.org/t/shipping-custom-libc-on-macos/58606 - patches/0001-Fix-ABI-compatibility-with-system.patch # [sys_abi == "pre-12"] @@ -24,7 +24,7 @@ source: - patches/0005-patch-__libcpp_tzdb_directory-to-allow-use-on-osx.patch build: - number: 1 + number: 0 skip: true # [win] skip: true # [ppc64le or aarch64] From 26fdeb8870c7366c0c32434998d271992fce4291 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 4 Sep 2024 15:25:34 +1100 Subject: [PATCH 8/9] switch channel order to avoid old rc-compilers --- .ci_support/linux_64_.yaml | 2 +- .ci_support/osx_64_.yaml | 2 +- .ci_support/osx_arm64_.yaml | 2 +- recipe/conda_build_config.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 3ba5d264..2c11cee0 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -9,7 +9,7 @@ c_stdlib_version: cdt_name: - cos7 channel_sources: -- conda-forge/label/llvm_rc,conda-forge +- conda-forge,conda-forge/label/llvm_rc channel_targets: - conda-forge llvm_rc cxx_compiler: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 722630ef..23432787 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -11,7 +11,7 @@ c_stdlib: c_stdlib_version: - '10.13' channel_sources: -- conda-forge/label/llvm_rc,conda-forge +- conda-forge,conda-forge/label/llvm_rc channel_targets: - conda-forge llvm_rc cxx_compiler: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index c331ee38..97746927 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -11,7 +11,7 @@ c_stdlib: c_stdlib_version: - '11.0' channel_sources: -- conda-forge/label/llvm_rc,conda-forge +- conda-forge,conda-forge/label/llvm_rc channel_targets: - conda-forge llvm_rc cxx_compiler: diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 0f1de9b0..aa56716e 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -48,7 +48,7 @@ sys_abi: # [osx] # - pre-12 # [osx] channel_sources: - - conda-forge/label/llvm_rc,conda-forge + - conda-forge,conda-forge/label/llvm_rc # publish the pre-12 ABI & hardened builds to a separate label channel_targets: From 3255c00c54ef33749372e188797b1051d889a26b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 4 Sep 2024 18:16:54 +1100 Subject: [PATCH 9/9] also move dependence on llvmdev on linux --- recipe/meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5bcb1658..ee131171 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -40,8 +40,6 @@ requirements: - {{ compiler('c') }} - {{ stdlib('c') }} - python >3 # [not osx] - host: - - llvmdev {{ version }} # [not osx] outputs: - name: libcxx-devel