Skip to content

Commit 8a6db13

Browse files
llvm.libcxx 22.1.8.1, and llvm.compiler-rt-builtins 22.1.8.3 with the Apple rows (mcpp#630) (#408)
Co-authored-by: speak-agent <x.d2learn.org@gmail.com>
1 parent 38d3488 commit 8a6db13

2 files changed

Lines changed: 92 additions & 0 deletions

File tree

‎pkgs/l/llvm.compiler-rt-builtins.lua‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@
2929
-- segment, which must be written out in full: a bare requirement in mcpp is an
3030
-- EXACT PIN, not a caret.
3131
--
32+
-- 22.1.8.3 ADDS THE APPLE ROWS. The official LLVM macOS payload builds
33+
-- `libclang_rt.osx.a` and no `ios`/`iossim` archive, and clang's Darwin driver
34+
-- links nothing rather than failing when the file is absent; a program that
35+
-- reaches an availability check then fails at link on
36+
-- `__isPlatformVersionAtLeast` (mcpp-community/mcpp#630). From this revision
37+
-- the package carries upstream's Darwin selection under `cfg(os = "ios")`, and
38+
-- an iOS application declares it beside `llvm.libcxx`.
3239
package = {
3340
spec = "1",
3441
namespace = "llvm",
@@ -40,6 +47,13 @@ package = {
4047

4148
xpm = {
4249
linux = {
50+
["22.1.8.3"] = {
51+
url = {
52+
GLOBAL = "https://github.com/mcpplibs/compiler-rt-builtins/archive/refs/tags/22.1.8.3.tar.gz",
53+
CN = "https://gitcode.com/mcpp-res/compiler-rt-builtins/releases/download/22.1.8.3/compiler-rt-builtins-22.1.8.3.tar.gz",
54+
},
55+
sha256 = "79d1d9703f04b8f9d63707c6dac8b92a7b2a682d6805ce89c9d119fb065b2455",
56+
},
4357
["22.1.8.2"] = {
4458
url = {
4559
GLOBAL = "https://github.com/mcpplibs/compiler-rt-builtins/archive/refs/tags/22.1.8.2.tar.gz",
@@ -49,6 +63,13 @@ package = {
4963
},
5064
},
5165
macosx = {
66+
["22.1.8.3"] = {
67+
url = {
68+
GLOBAL = "https://github.com/mcpplibs/compiler-rt-builtins/archive/refs/tags/22.1.8.3.tar.gz",
69+
CN = "https://gitcode.com/mcpp-res/compiler-rt-builtins/releases/download/22.1.8.3/compiler-rt-builtins-22.1.8.3.tar.gz",
70+
},
71+
sha256 = "79d1d9703f04b8f9d63707c6dac8b92a7b2a682d6805ce89c9d119fb065b2455",
72+
},
5273
["22.1.8.2"] = {
5374
url = {
5475
GLOBAL = "https://github.com/mcpplibs/compiler-rt-builtins/archive/refs/tags/22.1.8.2.tar.gz",
@@ -58,6 +79,13 @@ package = {
5879
},
5980
},
6081
windows = {
82+
["22.1.8.3"] = {
83+
url = {
84+
GLOBAL = "https://github.com/mcpplibs/compiler-rt-builtins/archive/refs/tags/22.1.8.3.tar.gz",
85+
CN = "https://gitcode.com/mcpp-res/compiler-rt-builtins/releases/download/22.1.8.3/compiler-rt-builtins-22.1.8.3.tar.gz",
86+
},
87+
sha256 = "79d1d9703f04b8f9d63707c6dac8b92a7b2a682d6805ce89c9d119fb065b2455",
88+
},
6189
["22.1.8.2"] = {
6290
url = {
6391
GLOBAL = "https://github.com/mcpplibs/compiler-rt-builtins/archive/refs/tags/22.1.8.2.tar.gz",

‎pkgs/l/llvm.libcxx.lua‎

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
-- libc++ and libc++abi as a SOURCE package, for a hosted target whose toolchain
2+
-- payload cannot supply a static libc++ built for that target.
3+
--
4+
-- THE CASE THAT CREATED IT. mcpp's LLVM payload ships libc++ headers, a std
5+
-- module source and static archives built for the machine the payload runs on.
6+
-- On the iOS rows the archives are macOS objects and ld64 refuses them, so the
7+
-- engine linked the SDK's libc++ under the payload's newer headers, and an
8+
-- inline function in libc++ 22's headers referenced a symbol the SDK's libc++
9+
-- 19 does not export (`__hash_memory`; mcpp-community/mcpp#630). A standard
10+
-- library is configured for one C library and compiled against its headers;
11+
-- this package carries the whole library, so the headers a unit is compiled
12+
-- against, the module it imports and the objects it links are one release.
13+
--
14+
-- THE MECHANISM IS THE ONE `openkal-llvm-runtime` USES: `provides` declares the
15+
-- C++ layer, the engine broadcasts the headers, adopts the std module, and
16+
-- links with `-nostdlib++`. The C library beneath stays the target's own, and
17+
-- nothing here is Apple-specific.
18+
--
19+
-- THE NAMESPACE AND THE VERSION ARE UPSTREAM'S, as `llvm.compiler-rt-builtins`
20+
-- established: every file under llvm/ is byte-identical to `llvmorg-22.1.8`,
21+
-- and the fourth segment is the packaging revision. A consumer writes the
22+
-- version out in full, because a bare requirement in mcpp is an exact pin.
23+
package = {
24+
spec = "1",
25+
namespace = "llvm",
26+
name = "libcxx",
27+
description = "libc++ and libc++abi as a source package: the C++ standard library compiled with the consuming program's own flags, for a hosted target whose toolchain payload cannot supply a static libc++ built for it",
28+
licenses = {"Apache-2.0 WITH LLVM-exception"},
29+
repo = "https://github.com/mcpplibs/libcxx",
30+
type = "package",
31+
32+
xpm = {
33+
linux = {
34+
["22.1.8.1"] = {
35+
url = {
36+
GLOBAL = "https://github.com/mcpplibs/libcxx/archive/refs/tags/22.1.8.1.tar.gz",
37+
CN = "https://gitcode.com/mcpp-res/libcxx/releases/download/22.1.8.1/libcxx-22.1.8.1.tar.gz",
38+
},
39+
sha256 = "829f9cc00d21262b24244ddbb195aed632941f68eaf51c9c7bae835e8e149f0e",
40+
},
41+
},
42+
macosx = {
43+
["22.1.8.1"] = {
44+
url = {
45+
GLOBAL = "https://github.com/mcpplibs/libcxx/archive/refs/tags/22.1.8.1.tar.gz",
46+
CN = "https://gitcode.com/mcpp-res/libcxx/releases/download/22.1.8.1/libcxx-22.1.8.1.tar.gz",
47+
},
48+
sha256 = "829f9cc00d21262b24244ddbb195aed632941f68eaf51c9c7bae835e8e149f0e",
49+
},
50+
},
51+
windows = {
52+
["22.1.8.1"] = {
53+
url = {
54+
GLOBAL = "https://github.com/mcpplibs/libcxx/archive/refs/tags/22.1.8.1.tar.gz",
55+
CN = "https://gitcode.com/mcpp-res/libcxx/releases/download/22.1.8.1/libcxx-22.1.8.1.tar.gz",
56+
},
57+
sha256 = "829f9cc00d21262b24244ddbb195aed632941f68eaf51c9c7bae835e8e149f0e",
58+
},
59+
},
60+
},
61+
62+
-- The package's own manifest, inside the tarball's wrap directory.
63+
mcpp = "*/mcpp.toml",
64+
}

0 commit comments

Comments
 (0)