From nobody Fri Mar 01 15:48:35 2024 X-Original-To: freebsd-questions@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 4TmXZ74bjKz5Cbgt for ; Fri, 1 Mar 2024 15:48:47 +0000 (UTC) (envelope-from ml@netfence.it) Received: from soth.netfence.it (mailserver.netfence.it [78.134.96.152]) (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-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mailserver.netfence.it", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TmXZ652kgz4H22 for ; Fri, 1 Mar 2024 15:48:46 +0000 (UTC) (envelope-from ml@netfence.it) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=pass (policy=none) header.from=netfence.it; spf=pass (mx1.freebsd.org: domain of ml@netfence.it designates 78.134.96.152 as permitted sender) smtp.mailfrom=ml@netfence.it Received: from [10.1.2.18] (mailserver.netfence.it [78.134.96.152]) (authenticated bits=0) by soth.netfence.it (8.17.2/8.17.2) with ESMTPSA id 421FmZIX043050 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO) for ; Fri, 1 Mar 2024 16:48:35 +0100 (CET) (envelope-from ml@netfence.it) X-Authentication-Warning: soth.netfence.it: Host mailserver.netfence.it [78.134.96.152] claimed to be [10.1.2.18] Message-ID: Date: Fri, 1 Mar 2024 16:48:35 +0100 List-Id: User questions List-Archive: https://lists.freebsd.org/archives/freebsd-questions List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: freebsd-questions@freebsd.org From: Andrea Venturoli Subject: Need help porting with CARGO_FEATURES Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.86 X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.79 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[netfence.it,none]; R_SPF_ALLOW(-0.20)[+ip4:78.134.96.152]; MIME_GOOD(-0.10)[text/plain]; XM_UA_NO_VERSION(0.01)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:35612, ipnet:78.134.0.0/17, country:IT]; RCPT_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; RCVD_TLS_ALL(0.00)[]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[freebsd-questions@freebsd.org]; FROM_HAS_DN(0.00)[]; HAS_XAW(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-questions@freebsd.org]; ARC_NA(0.00)[] X-Rspamd-Queue-Id: 4TmXZ652kgz4H22 Hello. I'm using net-im/signal-cli (and of course it's dependency net-im/libsignal-client). These port tend to get outdated (as in "not working anymore") pretty fast, as the protocol changes upstream. What we have in port tree was dead long ago; I provided a bug report with an updated version (#276037), but that's not working anymore either. So I'm trying to port a newer version of libsignal-client (0.39.2). I've got it compiling via standard "make", but failing in Poudriere. I think I've pinpointed the cause, but I don't know how to solve. Starting from the beginning... Libsignal-client is written in Rust and so uses Cargo to build. It has a gob of dependencies and cargo handles well all but one: their own version of "Boring". Boring has a subproject "boring-sys", which depends on "boringssl" from Google. Some previous work on the port solved this by downloading both of them and copying files from the latter to the former. Fine. It works with "make". However, when switching to Poudriere, comes another trouble: boring-sys tries to update itself via git and this cannot obviously work in a confied jail. The fragment of build.rs code is: > if cfg!(feature = "no-patches") { > println!( > "cargo:warning=skipping git patches application, provided\ > native BoringSSL is expected to have the patches included" > ); > } else { > ensure_patches_applied().unwrap(); > } So I guess I need to tell him not to update. I tried "CARGO_FEATURES=--no-patches" and "CARGO_FEATURES=no-patches" in the makefile, but I end up with: > error: none of the selected packages contains these features: --no-patches I'm very ignorant on this... Maybe no project accepts "no-patches", but only a *sub*project? Is there a way to specify such an option within the current port framework? Or should I just use post-patch target to manually hack that file? bye & Thanks av.