From 14864e834ed02e13959f7fbc988b6564ce7c858e Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 30 Aug 2024 07:07:59 +1100 Subject: [PATCH 1/4] 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 7a9de5e..63ddae6 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 2/4] 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 63ddae6..dad80b3 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 3/4] 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 dad80b3..7065616 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 4/4] 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 7065616..cc28581 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: