From nobody Tue Dec 13 23:32:00 2022 X-Original-To: freebsd-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 4NWvsk105Qz4k6Fv for ; Tue, 13 Dec 2022 23:32:10 +0000 (UTC) (envelope-from marquis@roble.com) Received: from mx5.roble.com (mx5.roble.com [209.237.23.5]) (using TLSv1.3 with cipher TLS_CHACHA20_POLY1305_SHA256 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA512 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx5.roble.com", Issuer "mx5.roble.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NWvsh5v03z3wrY for ; Tue, 13 Dec 2022 23:32:08 +0000 (UTC) (envelope-from marquis@roble.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=roble.com header.s=rs060402 header.b=TbkVKLRZ; spf=pass (mx1.freebsd.org: domain of marquis@roble.com designates 209.237.23.5 as permitted sender) smtp.mailfrom=marquis@roble.com; dmarc=pass (policy=none) header.from=roble.com Received: from roble.com (roble.com [209.237.23.50]) by mx5.roble.com (Postfix) with ESMTP id 08BD6148A7 for ; Tue, 13 Dec 2022 15:32:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=roble.com; s=rs060402; t=1670974321; bh=4RoswULO6akX16ywxDm+JZAswCI5RZFQ0rIKXjDG9Lo=; h=Date:From:To:Subject:In-Reply-To:References; b=TbkVKLRZWzjDMRQfXcRnNie0L3RbnsfCIWI8F4xFrnCfeOm/d9Vv+xB/UkBHyf+1y YL7Hl7LNXsSDNhh0JZJ7Rx/G0dk1ewXBK6tOW5m5iw6x/82bqO9mzfej7J93PdRAXK 2JehxsLY5wO3od1k9MxwHuUpSMHCz27XHIe3B8Dk= Date: Tue, 13 Dec 2022 15:32:00 -0800 (PST) From: Roger Marquis To: freebsd-ports@freebsd.org Subject: Re: lang/rust is super slow to build In-Reply-To: Message-ID: <39n96570-44r2-opnp-512n-po85597n6qn6@mx.roble.com> References: 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; format=flowed X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.999]; NEURAL_HAM_SHORT(-1.00)[-0.998]; DMARC_POLICY_ALLOW(-0.50)[roble.com,none]; R_SPF_ALLOW(-0.20)[+ip4:209.237.23.0/24]; R_DKIM_ALLOW(-0.20)[roble.com:s=rs060402]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[freebsd-ports@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[roble.com:+]; ARC_NA(0.00)[]; ASN(0.00)[asn:17403, ipnet:209.237.0.0/18, country:US]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ports@freebsd.org]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4NWvsh5v03z3wrY X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N >>> Using poudriere, lang/rust is at 2 hours and counting on my 10-core i9 >>> w/ 128 gigs of RAM. Several interpreters and compilers take a long time to build today. This may change, of course, after another generation of hardware is released. >> Even worse, poudriere doesn't need to build it. If you aren't changing >> its options there's no functional difference between building it locally No difference for you perhaps but that is an important difference to many of us. > IMHO the ports collection should provide and use prebuilt packages of > compilers (LLVM, GCC, Rust, etc.) built from the FreeBSD packages builder, > and ports framework (possibly also the base system) should be changed to > use prebuilt packages by default. That would violate the principle of least surprise. If the same command used with one port compiles from source but when used from another port downloads a pre-built binary that's to be avoided (whether or not some java ports already do this). If we're talking about Poudriere then please first consider better build-time optimizations than downloading binaries that may have security implications and will change over time. Tangent: If we're talking about additional make (not pkg) functionality then please add a constant to only create packages, for the target app and all dependencies, and install them only using pkg (the OpenBSD model). Roger