RE: lang/rust: resurrect PORT_LLVM as a non-default OPTION
- Reply: Charlie Li : "Re: lang/rust: resurrect PORT_LLVM as a non-default OPTION"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 09 Oct 2023 23:06:56 UTC
Charlie Li <vishwin@FreeBSD.org> wrote on 2023-10-09 15:30:33 +0000 : > lang/rust: resurrect PORT_LLVM as a non-default OPTION > > Rust uses LLVM for code generation [0] and bundles their own copy of a release that they fully support in relation to the rest of rustc. This however adds to an already intensive build process. For the benefit of those building from source, resurrect the PORT_LLVM option, allowing to link with an existing devel/llvm port of the user's choosing within Rust compatibility ranges. This remains unset by default. My understanding is that building a devel/llvm* these days requires building rust first, via needing to build python things (for documentation purposes?), that in turn need rust to have been built first. Last I knew, trying to disable the llvm* DOCS option in a normal way did not avoid the "needs rust" issue. Absent use of a workaround to avoid this, it would seem to be problematical to use PORT_LLVM for rust if the llvm* in question would itself need to be built. Note: I have used a /usr/local/etc/poudriere.d/make.conf workaround for my port->package build activity: .if ${.CURDIR:M*/devel/llvm*} OPTIONS_UNSET=DOCS .endif It managed to avoid the python related dependencies that lead to rust being needed by the llvm* build. May be PORT_LLVM enablement should do such automatically? May be a stronger form of guaranteed mutual exclusion between DOCS and PORT_LLVM to avoid ever being allowed to form the cycle? === Mark Millard marklmi at yahoo.com