<feed xmlns='http://www.w3.org/2005/Atom'>
<title>algaos/algaos-ebuild-tree/eclass/toolchain-funcs.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-04-22T07:01:54Z</updated>
<entry>
<title>toolchain-funcs.eclass: improve td-ld-disable-gold deprecation</title>
<updated>2026-04-22T07:01:54Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2026-04-22T07:00:36Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=e06f3f64797610f1e6cf707ab385db1cb0c9f5ed'/>
<id>urn:sha1:e06f3f64797610f1e6cf707ab385db1cb0c9f5ed</id>
<content type='text'>
We don't want to start forcing bfd everywhere if in practice it has
worked with everything except gold until now (lld, mold). May be because
of gold bugs or just issues which got fixed in the meantime from gold's
heyday.

Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain-funcs.eclass: Add support for Elbrus architecture</title>
<updated>2026-03-22T19:57:49Z</updated>
<author>
<name>Alibek Omarov</name>
<email>a1ba.omarov@gmail.com</email>
</author>
<published>2026-03-22T12:53:54Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=d1eb2bfb1ae3a6870adee72a01c7a04b496e1ec5'/>
<id>urn:sha1:d1eb2bfb1ae3a6870adee72a01c7a04b496e1ec5</id>
<content type='text'>
Signed-off-by: Alibek Omarov &lt;a1ba.omarov@gmail.com&gt;
Part-of: https://codeberg.org/gentoo/gentoo/pulls/397
Merges: https://codeberg.org/gentoo/gentoo/pulls/397
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain-funcs.eclass: Set SYSROOT and ESYSROOT in tc-env_build</title>
<updated>2026-03-21T09:29:48Z</updated>
<author>
<name>James Le Cuirot</name>
<email>chewi@gentoo.org</email>
</author>
<published>2026-03-16T14:39:41Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=7042b4049ea60a20ce8b9d0695a7d871998b930b'/>
<id>urn:sha1:7042b4049ea60a20ce8b9d0695a7d871998b930b</id>
<content type='text'>
Otherwise sysroot.eclass will create a broken wrapper when it shouldn't
create a wrapper at all.

Signed-off-by: James Le Cuirot &lt;chewi@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain-funcs.eclass: Set some Go arch-specific vars in tc-env_build</title>
<updated>2026-03-21T09:29:47Z</updated>
<author>
<name>James Le Cuirot</name>
<email>chewi@gentoo.org</email>
</author>
<published>2026-03-13T23:12:20Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=479df0db2c48e8ea93d0440ae9f1f2d2644094d7'/>
<id>urn:sha1:479df0db2c48e8ea93d0440ae9f1f2d2644094d7</id>
<content type='text'>
Some Go arch-specific variables can be set automatically based on the
tuple alone. Others cannot feasibly be determined automatically and must
therefore be set by the user. It is sometimes necessary to build Go code
for CBUILD, so use BUILD_GO* variables in case CHOST is a more advanced
model of CBUILD's architecture.

Signed-off-by: James Le Cuirot &lt;chewi@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain-funcs.eclass: tc-env_build should also update CHOST</title>
<updated>2026-03-12T15:21:00Z</updated>
<author>
<name>Eli Schwartz</name>
<email>eschwartz@gentoo.org</email>
</author>
<published>2026-01-25T05:59:02Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=d896feeeb738b0cad0acd6667845454ddc51eb92'/>
<id>urn:sha1:d896feeeb738b0cad0acd6667845454ddc51eb92</id>
<content type='text'>
The whole purpose of this function is really just to run specific
commands "as CHOST=${CBUILD}" during cross, in case you really need
CBUILD copies of stuff e.g. to do asset generation.

We also have an econf helper which... sets CHOST then runs econf. And
ebuilds such as anki and zig also override CHOST when using
tc-env_build, which implies it is useful/needed.

While exploring app-containers/containerd failing to cross build, I
observed a challenging issue for go-env.eclass as well. One may wish to
use tc-env_build to override the go env to set up, as such:

```
tc-env_build go-env_set_compile_environment emake ....
```

but the latter function sets go's host mode (goarch) based on CHOST,
while the former function checks for cross mode by comparing CHOST
versus CBUILD. Once again, we need a wrapper for tc-env_build to run,
just to set CHOST?

It seems simpler and more consistent to always set it.

Note order is important; tc-getBUILD_XXX must appear and run on the
command line *first*, as they use CHOST internally.

Bug: https://bugs.gentoo.org/966257
Reviewed-by: Sam James &lt;sam@gentoo.org&gt;
Reviewed-by: James Le Cuirot &lt;chewi@gentoo.org&gt;
Signed-off-by: Eli Schwartz &lt;eschwartz@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain-funcs.eclass: Support EAPI 9</title>
<updated>2026-02-21T09:08:22Z</updated>
<author>
<name>Ulrich Müller</name>
<email>ulm@gentoo.org</email>
</author>
<published>2025-12-17T15:30:15Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=99ab39a4c9e7f7c1f6277032ea391f6045ffc751'/>
<id>urn:sha1:99ab39a4c9e7f7c1f6277032ea391f6045ffc751</id>
<content type='text'>
Acked-by: Sam James &lt;sam@gentoo.org&gt;
Signed-off-by: Ulrich Müller &lt;ulm@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain-funcs.eclass: adapt tc-is-lto to non-ELF</title>
<updated>2026-02-03T23:17:34Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2026-02-03T22:14:19Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=913fd61f0ffccb4891538efc36d0c88d7b9d9911'/>
<id>urn:sha1:913fd61f0ffccb4891538efc36d0c88d7b9d9911</id>
<content type='text'>
Closes: https://bugs.gentoo.org/969442
Thanks-to: James McClain &lt;james@thegreatmcpain.xyz&gt;
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain-funcs.eclass: fix pattern for detecting ld.bfd</title>
<updated>2025-12-24T16:33:57Z</updated>
<author>
<name>Z. Liu</name>
<email>zhixu.liu@gmail.com</email>
</author>
<published>2025-12-23T11:49:10Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=6b15667b8830964c37231fa5496a60a824dc85b6'/>
<id>urn:sha1:6b15667b8830964c37231fa5496a60a824dc85b6</id>
<content type='text'>
See the test case below:

&gt; out=$(echo -e "abcdef\n123456"); [[ ${out} =~ .*^"123456".* ]] &amp;&amp; echo "matched" || echo "not matched"

This prints "matched" when using glibc, but "not matched" when using musl.

The root cause is that using ^ in the middle of the regex is undefined behavior.
Replace it with (^|$'\n'), i.e. match either the beginning of the string or a
position immediately following a newline.

Signed-off-by: Z. Liu &lt;zhixu.liu@gmail.com&gt;
Part-of: https://github.com/gentoo/gentoo/pull/45136
Closes: https://github.com/gentoo/gentoo/pull/45136
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain-funcs.eclass: fix tc-check-min_ver example</title>
<updated>2025-10-12T14:19:36Z</updated>
<author>
<name>Sam James</name>
<email>sam@gentoo.org</email>
</author>
<published>2025-10-12T14:18:47Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=e1b2c889ed20b28100ba601b415925a2b73cde80'/>
<id>urn:sha1:e1b2c889ed20b28100ba601b415925a2b73cde80</id>
<content type='text'>
$ python3.13 -c 'import portage; print(portage.versions.vercmp("13.2.0", "13.2"))'
1

Bug: https://bugs.gentoo.org/964195
Signed-off-by: Sam James &lt;sam@gentoo.org&gt;
</content>
</entry>
<entry>
<title>toolchain{,-funcs}.eclass: Ensure hf/sf detection works for t64 CHOSTs</title>
<updated>2025-07-14T18:49:54Z</updated>
<author>
<name>Andreas K. Hüttel</name>
<email>dilfridge@gentoo.org</email>
</author>
<published>2025-07-14T15:25:01Z</published>
<link rel='alternate' type='text/html' href='https://git.algaos.com/algaos/algaos-ebuild-tree/commit/?id=2233039b76561d014626c535123b8392177638bf'/>
<id>urn:sha1:2233039b76561d014626c535123b8392177638bf</id>
<content type='text'>
Signed-off-by: Andreas K. Hüttel &lt;dilfridge@gentoo.org&gt;
</content>
</entry>
</feed>
