• Re: [gentoo-dev-announce] Migrating ebuilds to "optimized" cargo.eclass

    From Arthur Zamarin@21:1/5 to All on Sat Jun 24 16:50:01 2023
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------4OoCs1zuXxE1xOxDgKVyWJr1
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    On 19/06/2023 18.01, Michał Górny wrote:
    Hi,

    The migration requires two changes:

    1. `$(cargo_crate_uris)` (or `$(cargo_crate_uris ${CRATES})`) in SRC_URI needs to be replaced by `${CARGO_CRATE_URIS}`. This requires that
    CRATES and GIT_CRATES are declared pre-inherit (this is already enforced
    for CRATES in EAPI 8, but it is not for GIT_CRATES).

    2. The CRATES variable (and other crate lists) need to use `@`
    as the separator between crate name and version instead of `-`.
    The easiest way to do this is to use >=app-portage/pycargoebuild-0.7 to generate the variable. You can use the in-place mode to update
    the ebuild, then it will substitute the list in place:

    pycargoebuild -i foo-1.2.3.ebuild /directories/with/cargo-lock

    Note that pycargoebuild won't replace $(cargo_crate_uris) automatically though.


    I want to add here, that since yesterday, pkgcheck live (9999) is
    warning about the "old less optimal" usage and recommends the replacement.

    While I know the distrust people have to live ebuilds, the pkgcore stack
    is very serious about the live state. As long as you rebuild
    periodically the live version (for example using smart-live-rebuild, so
    you aren't left with a version from years ago) this is considered
    supported by upstream and very stable. I try to cut new pkgcheck
    releases every month, but until then feel free to use live.

    --
    Arthur Zamarin
    arthurzam@gentoo.org
    Gentoo Linux developer (Python, pkgcore stack, Arch Teams, GURU)


    --------------4OoCs1zuXxE1xOxDgKVyWJr1--

    -----BEGIN PGP SIGNATURE-----

    iQEzBAEBCgAdFiEE/axFlFuH2ptjtO5EAqCvUD0SBQQFAmSXAXMACgkQAqCvUD0S BQQsKQf/ZniD2d5rp+jzAFQRW8wuqlwn2k1Uz1agPWQrqlMAAN0/DagY4QrGRlRV I1xnmGdcRfThdDm9Q1yV2LbpAkKpYPzczDJ4XD4EuCOXFiXfBZeY6nK/0YQ1ChXJ AsvYqWQELsaKmP04JXxpNgkZYXWKPmw09BO2c6qVSmRkjNsLpPQgqtGwNpnOK+eZ FRD3Cj7oXpSXJrqASgrOrQo+c44iFiaIUtaS0FbyBZnCzrNznaQ3CtIwpovdhA2J LU9zdk5VwGz9aXvcz+OiMvFFuubOPSHartE2zNcAn+yhKZcj94bCOe5t+7biBdJu UgQSRfG84GXZSNqtbP5chb/AUERzmA==
    =Z4Yp
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)