<feed xmlns='http://www.w3.org/2005/Atom'>
<title>algaos/algaos-ebuild-tree/eclass/cargo.eclass, branch next</title>
<subtitle>[no description]</subtitle>
<id>https://git.algaos.com/algaos/algaos-ebuild-tree/atom?h=next</id>
<link rel='self' href='https://git.algaos.com/algaos/algaos-ebuild-tree/atom?h=next'/>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/'/>
<updated>2026-09-14T17:30:59Z</updated>
<entry>
<title>cargo.eclass: Separate crate unpacking logic</title>
<updated>2026-09-14T17:30:59Z</updated>
<author>
<name>ingenarel (NeoJesus)</name>
<email>ingenarel_neojesus@disroot.org</email>
</author>
<published>2026-08-12T12:28:36Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=495e500252a98f593f7f45a17718162f35134e20'/>
<id>urn:sha1:495e500252a98f593f7f45a17718162f35134e20</id>
<content type='text'>
Split the *.crate file unpacking logic into a separate
cargo_crate_unpack() function, so it can be combined with unpacking
logic of other eclasses (and ebuilds) without extracting other archives
twice (or unnecessarily).

Signed-off-by: ingenarel (NeoJesus) &lt;ingenarel_neojesus@disroot.org&gt;
Closes: https://bugs.gentoo.org/964342
Patch: https://archives.gentoo.org/gentoo-dev/20260812122836.2302711-1-ingenarel_neojesus@disroot.org/
Signed-off-by: Michał Górny &lt;mgorny@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: avoid heredoc in global scope</title>
<updated>2026-07-10T16:44:50Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2026-07-10T16:20:59Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=b982445cd7fb9651381a3aed8d672417962bdb15'/>
<id>urn:sha1:b982445cd7fb9651381a3aed8d672417962bdb15</id>
<content type='text'>
A heredoc may cause the use of a temporary file with &lt; EAPI 9 and even
then still with &gt;= EAPI 9 if the input is large. This becomes a problem
if sandboxing is applied to metadata generation.

Bug: https://bugs.gentoo.org/978857
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: fix indentation</title>
<updated>2026-07-10T16:44:48Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2026-07-09T20:19:49Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=0733f7f61478980a180d8ecaa088dd2134fdf9ae'/>
<id>urn:sha1:0733f7f61478980a180d8ecaa088dd2134fdf9ae</id>
<content type='text'>
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: die if heredoc creation fails</title>
<updated>2026-07-08T00:12:25Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2026-07-08T00:05:06Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=ae0802ae1a09327c6e1b5d5c6aa941319e66ea36'/>
<id>urn:sha1:ae0802ae1a09327c6e1b5d5c6aa941319e66ea36</id>
<content type='text'>
`read ... &lt;&lt;&lt;${x}` will create a heredoc which requires a temporary file
depending on the size of the input. Add an explicit `die` if it fails so
we get a proper error message under sandbox.

Bug: https://bugs.gentoo.org/978857
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: use direct CDN urls for crates.io</title>
<updated>2026-05-29T14:55:07Z</updated>
<author>
<name>Eli Schwartz</name>
<email>eschwartz@gentoo.org</email>
</author>
<published>2026-05-28T21:39:53Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=3929f73cfa2ed59a49770d07245143443db7f7c6'/>
<id>urn:sha1:3929f73cfa2ed59a49770d07245143443db7f7c6</id>
<content type='text'>
There are four reasons for doing this:

- it is the destination of a redirect at the urls we previously used, so
  less work

- per https://blog.rust-lang.org/2024/03/11/crates-io-download-changes/
  the API is "slow and expensive" and cargo now uses the CDN directly,
  too; all third-party "build systems" are recommended to do so as well

- crates.io/api has started banning download agents that don't suitably
  identify themselves, and curl/wget without --user-agent fail. This
  will also be fixed by https://github.com/gentoo/portage/pull/1585
  however that depends on users not manually setting FETCHCOMMAND
  with naive (no user-agent) values, nor using pk pkg env and
  copy/pasting.

- shorter urls *plus* lack of need for arrow renaming will nontrivially
  reduce the size of SRC_URI

Bug: https://bugs.gentoo.org/682610
Closes: https://bugs.gentoo.org/976165
Reviewed-by: Sam James &lt;sam@gentoo.org&gt;
Signed-off-by: Eli Schwartz &lt;eschwartz@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: add array for skipping tests</title>
<updated>2026-04-15T00:25:43Z</updated>
<author>
<name>idealseal</name>
<email>realidealseal@protonmail.com</email>
</author>
<published>2026-03-09T11:59:04Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=f70e0b75747f244e61c48a4b23998552f6a6f81e'/>
<id>urn:sha1:f70e0b75747f244e61c48a4b23998552f6a6f81e</id>
<content type='text'>
Add an array 'CARGO_SKIP_TESTS' that can be declared to skip multiple
tests. All test names will be converted to the right command line flag
for cargo test.

Signed-off-by: idealseal &lt;realidealseal@protonmail.com&gt;
Part-of: https://codeberg.org/gentoo/gentoo/pulls/269
Signed-off-by: Matt Jolly &lt;kangie@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: remove ridiculously local einfo</title>
<updated>2026-03-31T06:42:57Z</updated>
<author>
<name>Eli Schwartz</name>
<email>eschwartz@gentoo.org</email>
</author>
<published>2026-03-31T06:35:12Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=4cfe7e822b9b56954e25c169025d8f3cf8dc0286'/>
<id>urn:sha1:4cfe7e822b9b56954e25c169025d8f3cf8dc0286</id>
<content type='text'>
This is something I have locally for verbosity reasons, because I
personally dislike warning people to make giant uncached per-CPV
tarballs full of other tarballs. Possibly evident from "you are all
good"...

But my personal taste here should never have been pushed to ::gentoo and
I'm at a loss to explain how the diff hunk ended up in a totally
unrelated commit. Purge it with fire from the public repo. Sorry...

Fixes: 4bf5c8c63455def273c2c27006a1363d23515eb8
Signed-off-by: Eli Schwartz &lt;eschwartz@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: avoid useless use of assert / pipestatus</title>
<updated>2026-03-12T15:21:00Z</updated>
<author>
<name>Eli Schwartz</name>
<email>eschwartz@gentoo.org</email>
</author>
<published>2026-01-26T19:22:16Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=4bf5c8c63455def273c2c27006a1363d23515eb8'/>
<id>urn:sha1:4bf5c8c63455def273c2c27006a1363d23515eb8</id>
<content type='text'>
The preceding command pipeline is `printf | xargs`, and printf is a bash
builtin. It cannot fail. `die`ing if xargs fails to consume the pipe
buffer is sufficient.

assert is banned in EAPI 9, so it needs to go regardless. There's no
point to using `inherit eapi9-pipestatus` here.

Signed-off-by: Eli Schwartz &lt;eschwartz@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: Document _cargo_set_crate_uris as internal function</title>
<updated>2026-02-20T17:23:57Z</updated>
<author>
<name>Ulrich Müller</name>
<email>ulm@gentoo.org</email>
</author>
<published>2026-02-01T16:23:20Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=88edeac4eff9f84f30898d487ac2c5e66321dd61'/>
<id>urn:sha1:88edeac4eff9f84f30898d487ac2c5e66321dd61</id>
<content type='text'>
Signed-off-by: Ulrich Müller &lt;ulm@gentoo.org&gt;
</content>
</entry>
<entry>
<title>cargo.eclass: Build with --target for non-native multilib ABIs</title>
<updated>2025-12-30T11:26:11Z</updated>
<author>
<name>James Le Cuirot</name>
<email>chewi@gentoo.org</email>
</author>
<published>2025-12-20T08:56:30Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=94de850364cc06256d3824871bb12f9612706a26'/>
<id>urn:sha1:94de850364cc06256d3824871bb12f9612706a26</id>
<content type='text'>
Ebuilds were having to explicitly pass --target to work around this.

Signed-off-by: James Le Cuirot &lt;chewi@gentoo.org&gt;
</content>
</entry>
</feed>
