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/