Skip to content

fix(gnu.org/gcc/v8): make usable as a build compiler + add aarch64#13733

Merged
jhheider merged 2 commits into
pkgxdev:mainfrom
tannevaled:fix/gcc-v8-usable
Jul 8, 2026
Merged

fix(gnu.org/gcc/v8): make usable as a build compiler + add aarch64#13733
jhheider merged 2 commits into
pkgxdev:mainfrom
tannevaled:fix/gcc-v8-usable

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

What

Make gnu.org/gcc/v8 usable as a build-time compiler for downstream recipes, and add linux/aarch64.

Why

gcc 8 is required from source to build legacy C++ that modern gcc (14/15/16) rejects — MySQL 5.7 being the immediate consumer (#13062). Two problems block that today:

  1. provides: is commented out. A recipe that build.dependencies: gnu.org/gcc/v8 therefore gets no gcc/g++ on PATH and silently falls back to the default gcc, which then fails on the old sources. This publishes the toolchain binaries so v8 can actually be selected as the build compiler. (The prior comment — "not wise to publish, users invoke explicitly" — is about end-user PATH; but a build-dep genuinely needs the binaries exposed.)
  2. arm64. Only linux (x86-64 in practice) was listed; add linux/aarch64.

Also switches the ar/nm/ranlib shims to direct relative symlinks into the binutils bottle (the pkgx-wrapper form broke under bazel/strict action envs) and tidies the version test.

Notes

Extracted from #13062 so the compiler change can land and be reviewed independently; #13062 will then just build-depend on it.

🤖 Generated with Claude Code

tannevaled and others added 2 commits July 7, 2026 20:51
gcc 8 is needed from source to build legacy C++ that modern gcc rejects
(e.g. MySQL 5.7, pantry#13062). Two blockers today:

1. `provides:` was commented out, so a downstream recipe that build-depends
   on gnu.org/gcc/v8 gets no `gcc`/`g++` on PATH and silently falls back to
   the default gcc — which then fails on the legacy sources. Publish the
   toolchain binaries so it can actually be selected as the build compiler.
2. Only `linux` (implicitly x86-64) was listed; add linux/aarch64 so arm64
   consumers can use it too.

Also switch the ar/nm/ranlib shims to direct relative symlinks into the
binutils bottle (the previous pkgx-wrapper form broke under bazel/strict
action envs), and tidy the version test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jhheider jhheider merged commit e660717 into pkgxdev:main Jul 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants