git: 0741c12be4fe - main - devel/wasi-compiler-rt12: new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Nov 2021 18:21:15 UTC
The branch main has been updated by cmt:
URL: https://cgit.FreeBSD.org/ports/commit/?id=0741c12be4feae09104b54241a08d9db2d30567f
commit 0741c12be4feae09104b54241a08d9db2d30567f
Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
AuthorDate: 2021-11-30 18:18:43 +0000
Commit: Christoph Moench-Tegeder <cmt@FreeBSD.org>
CommitDate: 2021-11-30 18:18:43 +0000
devel/wasi-compiler-rt12: new port
step one in unbreaking www/firefox in 2021Q4: we need a wasi-compiler-rt
port which matches the clang building firefox, which in turn has to
match rust's embedded llvm. rust 1.55 on 2021Q4 has llvm 12.
---
devel/Makefile | 1 +
devel/wasi-compiler-rt12/Makefile | 52 ++++++++++++++++++++++++++++++++++++++
devel/wasi-compiler-rt12/distinfo | 3 +++
devel/wasi-compiler-rt12/pkg-descr | 7 +++++
4 files changed, 63 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index e2745bd7e30f..ed07cefeea5a 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -7185,6 +7185,7 @@
SUBDIR += wand-libconfig
SUBDIR += wandio
SUBDIR += wasi-compiler-rt11
+ SUBDIR += wasi-compiler-rt12
SUBDIR += wasi-compiler-rt13
SUBDIR += wasi-libc
SUBDIR += wasi-libcxx
diff --git a/devel/wasi-compiler-rt12/Makefile b/devel/wasi-compiler-rt12/Makefile
new file mode 100644
index 000000000000..531cf8c6e4a3
--- /dev/null
+++ b/devel/wasi-compiler-rt12/Makefile
@@ -0,0 +1,52 @@
+PORTNAME= compiler-rt
+DISTVERSION= 12.0.1
+CATEGORIES= devel lang
+MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \
+ https://${PRE_}releases.llvm.org/${LLVM_RELEASE}/${RCDIR}
+PKGNAMEPREFIX= wasi-
+PKGNAMESUFFIX= ${LLVM_SUFFIX}
+DISTNAME= llvm-project-${DISTVERSION}.src
+DISTFILES= llvm-project-${DISTVERSION}.src${EXTRACT_SUFX}
+
+MAINTAINER= cmt@FreeBSD.org
+COMMENT= Clang builtins library for WebAssembly System Interface
+
+LICENSE= LLVM2
+LICENSE_FILE= ${WRKSRC}/llvm/LICENSE.TXT
+LICENSE_NAME= Apache License 2.0 with LLVM Exceptions
+LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+DEPRECATED= this ports exists solely for building Firefox 95+ in 2021Q4
+EXPIRATION_DATE=2022-01-15
+
+LLVM_RELEASE= ${DISTVERSION:C/rc.*//}
+LLVM_SUFFIX= ${LLVM_RELEASE:C/\.[0-9]\.[0-9]$//}
+LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX}
+
+WASI_SYSROOT= ${LOCALBASE}/share/wasi-sysroot
+
+BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc \
+ clang${LLVM_SUFFIX}:devel/llvm${LLVM_SUFFIX}
+
+USES= cmake tar:xz
+NO_ARCH= yes
+
+PLIST_FILES= llvm${LLVM_SUFFIX}/lib/clang/${LLVM_RELEASE}/lib/wasi/libclang_rt.builtins-wasm32.a
+
+CC= ${LOCALBASE}/bin/clang${LLVM_SUFFIX}
+CXX= ${LOCALBASE}/bin/clang++${LLVM_SUFFIX}
+
+CMAKE_SOURCE_PATH= ${WRKSRC}/compiler-rt/lib/builtins
+CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX}/lib/clang/${LLVM_RELEASE}
+CMAKE_ARGS= -DCMAKE_C_COMPILER_WORKS=1 \
+ -DCMAKE_SYSROOT=${WASI_SYSROOT} \
+ -DLLVM_CONFIG_PATH=${LOCALBASE}/bin/llvm-config${LLVM_SUFFIX} \
+ -DCOMPILER_RT_OS_DIR=wasi \
+ -DCOMPILER_RT_BAREMETAL_BUILD=TRUE \
+ -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=wasm32-wasi \
+ -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=TRUE
+
+post-build:
+ ${LOCALBASE}/bin/llvm-ranlib${LLVM_SUFFIX} ${CONFIGURE_WRKSRC}/lib/wasi/*.a
+
+.include <bsd.port.mk>
diff --git a/devel/wasi-compiler-rt12/distinfo b/devel/wasi-compiler-rt12/distinfo
new file mode 100644
index 000000000000..26e052732b7f
--- /dev/null
+++ b/devel/wasi-compiler-rt12/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1638258887
+SHA256 (llvm-project-12.0.1.src.tar.xz) = 129cb25cd13677aad951ce5c2deb0fe4afc1e9d98950f53b51bdcfb5a73afa0e
+SIZE (llvm-project-12.0.1.src.tar.xz) = 90910004
diff --git a/devel/wasi-compiler-rt12/pkg-descr b/devel/wasi-compiler-rt12/pkg-descr
new file mode 100644
index 000000000000..9f4dbd2d452c
--- /dev/null
+++ b/devel/wasi-compiler-rt12/pkg-descr
@@ -0,0 +1,7 @@
+The LLVM Project is a collection of modular and reusable compiler and
+toolchain technologies.
+
+This port includes Clang builtins for WASI
+(WebAssembly System Interface).
+
+WWW: http://llvm.org/