diff options
Diffstat (limited to 'devel/gcc-compat')
| -rw-r--r-- | devel/gcc-compat/.footprint | 10 | ||||
| -rw-r--r-- | devel/gcc-compat/.signature | 5 | ||||
| -rw-r--r-- | devel/gcc-compat/MAKEPKG | 47 |
3 files changed, 62 insertions, 0 deletions
diff --git a/devel/gcc-compat/.footprint b/devel/gcc-compat/.footprint new file mode 100644 index 0000000..3a8163f --- /dev/null +++ b/devel/gcc-compat/.footprint @@ -0,0 +1,10 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +-rwxr-xr-x root/root usr/bin/rustc-wrapper +drwxr-xr-x root/root usr/lib/ +-rw-r--r-- root/root usr/lib/libgcc.a +-rw-r--r-- root/root usr/lib/libgcc_s.so +-rw-r--r-- root/root usr/lib/libstdc++.a +-rw-r--r-- root/root usr/lib/libstdc++.so +lrwxrwxrwx root/root usr/lib/libgcc_s.so.1 -> libunwind.so.1 +lrwxrwxrwx root/root usr/lib/libstdc++.so.6 -> libc++.so.1 diff --git a/devel/gcc-compat/.signature b/devel/gcc-compat/.signature new file mode 100644 index 0000000..0881125 --- /dev/null +++ b/devel/gcc-compat/.signature @@ -0,0 +1,5 @@ +RWTZ9IduCSQ/mO9ZkiCZCWCa3T15Th07nPND88IZrynPp+8A5uRLYJyPfAP9Hbz/nQjBHCCQcgzV0n7BV3hOswYcozsgB2Y0QAU= + +SHA256 (MAKEPKG) = e4e35e886e87797ce1a98ae8fd73958efc808300bf889c3d8c5dc713e9f384ac +SHA256 (.footprint) = 514ea49ead6767355b92cc720ec72544c1e06c43a0ff5ec3991234548ed48c0a +SHA256 (gcc-compat#1.0.0-2.pkg.tar.gz) = 0612bc9af6afb809341968e7bc491e9e095aa187bf5952543ede06318cbfee5f diff --git a/devel/gcc-compat/MAKEPKG b/devel/gcc-compat/MAKEPKG new file mode 100644 index 0000000..4d0fceb --- /dev/null +++ b/devel/gcc-compat/MAKEPKG @@ -0,0 +1,47 @@ +#!/bin/mkpkg +# description: GCC compatibility shims for pure LLVM/musl systems +name=gcc-compat +version=1.0.0 +release=2 +#depends=(llvm-toolchain) +depends=() +source=() + +sha256sums=( +) + +build() { + mkdir -p $PKG/usr/lib + mkdir -p $PKG/usr/bin + + # libgcc_s → libunwind + ln -s libunwind.so.1 $PKG/usr/lib/libgcc_s.so.1 + printf 'INPUT(-lunwind)\n' > $PKG/usr/lib/libgcc_s.so + + # libgcc.a → compiler-rt builtins + _builtins=$(clang --print-libgcc-file-name 2>/dev/null || true) + if [ -n "$_builtins" ] && [ -f "$_builtins" ]; then + printf 'INPUT(%s)\n' "$_builtins" > $PKG/usr/lib/libgcc.a + else + llvm-ar cr $PKG/usr/lib/libgcc.a + fi + + # libstdc++ → libc++ + printf 'INPUT(-lc++)\n' > $PKG/usr/lib/libstdc++.so + ln -s libc++.so.1 $PKG/usr/lib/libstdc++.so.6 + if [ -f /usr/lib/libc++.a ]; then + printf 'INPUT(-lc++ -lc++abi)\n' > $PKG/usr/lib/libstdc++.a + fi + + # rustc-wrapper — force dynamic linking on musl + printf '#!/bin/sh\nexec /usr/bin/rustc -C target-feature=-crt-static "$@"\n' \ + > $PKG/usr/bin/rustc-wrapper + chmod 755 $PKG/usr/bin/rustc-wrapper +} + +signify() { + untrusted comment: public key + RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3 +} + +# vim: filetype=sh |
