[Bug 260134] www/firefox: depends on non-existing devel/wasi-compiler-rt90

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 02 Dec 2021 11:26:07 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260134

--- Comment #6 from Martin Birgmeier <d8zNeCFG@aon.at> ---
Thank you for the feedback.

It is already nearly functional but for one thing, namely trying to repeatedly
install wasi-compiler-rt12. This seems to be due to the line

${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/clang/${LLVM_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a:devel/wasi-compiler-rt${LLVM_DEFAULT}

in www/firefox/Makefile and the fact that LLVM_VERSION is not set:

[0]# pushd /usr/ports/www/firefox
/usr/ports/www/firefox ~
[0]# make -V LLVM_VERSION

[0]# 

It seems that LLVM_VERSION needs to be set properly in Mk/bsd.gecko.mk for the
case when the used llvm is not 13 (I have DEFAULT_VERSIONS+=llvm=12 in my
/etc/make.conf). The culprit is most likely the hard-coded lines

.if !defined(DEFAULT_VERSIONS) || ! ${DEFAULT_VERSIONS:Mllvm*} ||
${PORT_OPTIONS:MLTO}
LLVM_DEFAULT=   13 # chase bundled LLVM in lang/rust for LTO
LLVM_VERSION=   13.0.0 # keep in sync with
devel/wasi-compiler-rt${LLVM_DEFAULT}
.endif

It seems that the LLVM_VERSION needs to be set for all the possible (allowed)
different version of llvm:

[0]# diff -u Mk/bsd.gecko.mk{.ORIG,}
--- Mk/bsd.gecko.mk.ORIG        2021-12-01 11:14:52.636069000 +0100
+++ Mk/bsd.gecko.mk     2021-12-02 10:55:56.476151000 +0100
@@ -95,7 +95,12 @@
 # Ignore Mk/bsd.default-versions.mk but respect make.conf(5) unless LTO is
enabled
 .if !defined(DEFAULT_VERSIONS) || ! ${DEFAULT_VERSIONS:Mllvm*} ||
${PORT_OPTIONS:MLTO}
 LLVM_DEFAULT=  13 # chase bundled LLVM in lang/rust for LTO
-LLVM_VERSION=  13.0.0 # keep in sync with
devel/wasi-compiler-rt${LLVM_DEFAULT}
+.endif
+# keep the next lines in sync with devel/wasi-compiler-rt${LLVM_DEFAULT}
+.if ${LLVM_DEFAULT} == 13
+LLVM_VERSION=  13.0.0
+.elif ${LLVM_DEFAULT} == 12
+LLVM_VERSION=  12.0.1
 .endif
 # Require newer Clang than what's in base system unless user opted out
 . if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so)
[1]# 

-- Martin

-- 
You are receiving this mail because:
You are the assignee for the bug.