[Bug 273280] Mk/Uses/cargo.mk: Invalid ${WRKDIR}/.cargo/config.toml is generated

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 26 Sep 2023 13:29:40 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273280

Mikael Urankar <mikael@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikael@FreeBSD.org

--- Comment #1 from Mikael Urankar <mikael@FreeBSD.org> ---
(In reply to Yuri Victorovich from comment #0)
This problem arise if there are multiple Cargo.toml containing the same crates
in the [patch.crates-io] section, example with libsignal 0.31.0:

cat work/libsignal-0.31.0/rust/protocol/fuzz/Cargo.toml
[patch.crates-io]
# Use our fork of curve25519-dalek for zkgroup support.
curve25519-dalek = { git = 'https://github.com/signalapp/curve25519-dalek', tag
= 'signal-curve25519-4.0.0' }
x25519-dalek = { git = 'https://github.com/signalapp/curve25519-dalek', tag =
'signal-curve25519-4.0.0' }

cat work/libsignal-0.31.0/Cargo.toml
[patch.crates-io]
# Use our fork of curve25519-dalek for zkgroup support.
curve25519-dalek = { git = 'https://github.com/signalapp/curve25519-dalek', tag
= 'signal-curve25519-4.0.0' }
x25519-dalek = { git = 'https://github.com/signalapp/curve25519-dalek', tag =
'signal-curve25519-4.0.0' }
boring = { git = 'https://github.com/signalapp/boring', branch = 'libsignal' }
# This revision of snow is where curve25519-dalek v4.0.0 changes were merged in
snow = { git = 'https://github.com/mcginty/snow.git', rev =
'586292364a30ecc74c785228b41e60b3ef03e773' }

So x25519-dalek and curve25519-dalek appears twice in work/.cargo/config.toml

Removing the duplicate in work/.cargo/config.toml won't work as the various awk
scripts remove the [patch.crates-io] section in cargo.toml, cf
https://cgit.freebsd.org/ports/tree/Mk/Scripts/cargo-crates-git-configure.awk?h=2023Q3#n65
So the second run won't put the needed dependency in work/.cargo/config.toml

-- 
You are receiving this mail because:
You are on the CC list for the bug.