From nobody Fri Sep 15 09:37:39 2023 X-Original-To: ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rn8Hh2HVzz4sYBY for ; Fri, 15 Sep 2023 09:37:52 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from www121.sakura.ne.jp (www121.sakura.ne.jp [153.125.133.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rn8Hd6Rhhz4fLK for ; Fri, 15 Sep 2023 09:37:49 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of junchoon@dec.sakura.ne.jp has no SPF policy when checking 153.125.133.21) smtp.mailfrom=junchoon@dec.sakura.ne.jp; dmarc=none Received: from kalamity.joker.local (123-1-88-210.area1b.commufa.jp [123.1.88.210]) (authenticated bits=0) by www121.sakura.ne.jp (8.16.1/8.16.1/[SAKURA-WEB]/20201212) with ESMTPA id 38F9bdjh019969 for ; Fri, 15 Sep 2023 18:37:39 +0900 (JST) (envelope-from junchoon@dec.sakura.ne.jp) Date: Fri, 15 Sep 2023 18:37:39 +0900 From: Tomoaki AOKI To: ports@freebsd.org Subject: Re: Wow: Building the likes of devel/llvm16 now requires building rust first (when rust is out of date). . . A WORKAROUND Message-Id: <20230915183739.e6070e828ef769f611d78bc9@dec.sakura.ne.jp> In-Reply-To: <6557AA51-D4E2-4E30-B3B4-BA0B356D5343@yahoo.com> References: <5620735A-FB8A-4AFE-B4E4-32D0D8D58962@yahoo.com> <6557AA51-D4E2-4E30-B3B4-BA0B356D5343@yahoo.com> Organization: Junchoon corps X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd14.0) List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spamd-Bar: - X-Spamd-Result: default: False [-1.47 / 15.00]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.984]; NEURAL_HAM_MEDIUM(-0.98)[-0.983]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; ONCE_RECEIVED(0.10)[]; ASN(0.00)[asn:7684, ipnet:153.125.128.0/18, country:JP]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[ports@freebsd.org]; R_DKIM_NA(0.00)[]; HAS_ORG_HEADER(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; R_SPF_NA(0.00)[no SPF record]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; DMARC_NA(0.00)[sakura.ne.jp]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[ports@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: 4Rn8Hd6Rhhz4fLK On Thu, 14 Sep 2023 21:32:20 -0700 Mark Millard wrote: > On Sep 13, 2023, at 23:20, Mark Millard wrote: > > > Note: py39 is in use in my context. > > > > Building devel/llvm16 requires building textproc/py-recommonmark@py39 > > Building textproc/py-recommonmark@py39 requires building textproc/py-sphinx@py39 > > Building textproc/py-sphinx@py39 requires building www/py-requests@py39 > > Building www/py-requests@py39 requires building net/py-urllib3@py39 > > Building net/py-urllib3@py39 requires building security/py-openssl@py39 > > Building security/py-openssl@py39 requires building security/py-cryptography@py39 > > Building security/py-cryptography@py39 requires building devel/py-setuptools-rust@py39 > > Building devel/py-setuptools-rust@py39 requires building lang/rust > > > > Building devel/llvm16 and the like just got more > > resource intensive for those not already building > > lang/rust . Building lang/rust in my context uses > > system-clang ( not a devel/llvm* ). So no loop in > > my context. > > > > I normally build rust anyway. But other folks may > > have been avoiding such. > > > > I have the file (for other reasons): > > /usr/local/etc/poudriere.d/make.conf > > and I added to it: > > .if ${.CURDIR:M*/devel/llvm*} > OPTIONS_UNSET=DOCS > .endif > > This overrides the "always on" for DOCS for > the various devel/llvm* . (In more complicated > contexts += would be appropriate i order to > allow multiple assignments to accumulate.) > > This stopped the recommonmark use and, so, stopped > the sequence of dependencies leading to lang/rust > being required. > > This appears to do more than whatever John F Carr did > to get it to report in his context: > > ===> The following configuration options are available for llvm17-17.0.0.r4: > . . . > DOCS=off: Build and/or install documentation > . . . > > (Likely normal style options file content was involved.) > > I did not make any such "normal style" OPTIONS changes and the > log file for my build attempt reported: > > ---Begin OPTIONS List--- > ===> The following configuration options are available for llvm17-17.0.0.r4: > BE_AMDGPU=on: AMD GPU backend (required by mesa) > BE_WASM=on: WebAssembly backend (required by firefox via wasi) > CLANG=on: Build clang > COMPILER_RT=on: Sanitizer libraries > DOCS=off: Build and/or install documentation > EXTRAS=on: Extra clang tools > FLANG=off: Flang FORTRAN compiler > GOLD=on: Build the LLVM Gold plugin for LTO > LIT=on: Install lit and FileCheck test tools > LLD=on: Install lld, the LLVM linker > LLDB=on: Install lldb, the LLVM debugger > MLIR=on: Multi-Level Intermediate Representation > OPENMP=on: Install libomp, the LLVM OpenMP runtime library > POLLY=on: Polyhedral loop and data-locality optimizer > PYCLANG=on: Install python bindings to libclang > STATIC_LIBS=on: Install static libraries (does not effect sanitizers) > ====> Options available for the single BACKENDS: you have to select exactly one of them > BE_FREEBSD=off: Backends for FreeBSD architectures > BE_NATIVE=off: Backend(s) for this architecture (X86) > BE_STANDARD=on: All non-experimental backends > ===> Use 'make config' to modify these settings > ---End OPTIONS List--- > > The --PLIST_SUB-- section ended up listing: PORTDOCS="@comment > and: DOCS="@comment " NO_DOCS="" > but still listed: DOCSDIR="share/doc/llvm17" > > The --SUB_LIST-- section ended up listing: DOCS="@comment " NO_DOCS="" > but still listed: DOCSDIR=/usr/local/share/doc/llvm17 > > > FYI, without rust having been built, my first ever build > of llvm17 (not reporting on the 49 prior poort->package > builds before devel/llvm17 started): > > [00:43:30] Finished devel/llvm17@default | llvm17-17.0.0.r4: Success > > > > FYI: > > 5.14.1.3 Default Options in: > > https://docs.freebsd.org/en/books/porters-handbook/makefiles/#makefile-options > > reports the always-on status for DOCS (and some more) > but not the way(s) to override that status for specific > ports. It seems that only some ways actually change the > status to off --and I've found one such. > > === > Mark Millard > marklmi at yahoo.com So is it easily possible to docs of llvm ports to be separate ports? Doing so and mixing into home brew builds (including pkgs by poiudriere and so on) shoule be 100% safe, as docs should be data-only. What can cause problems by mixing up home-brew binaries and official pkgs are pkgs including executable (exclude extract/patch-only pure text scripts) and/or libraries. -- Tomoaki AOKI