Once bug 940471 is done, we should figure out building our own binaries or using newer ones (e.g. Airlie), as I mentioned in https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=799693623d76c89e8b04d2434d0dfece44bb49f9: """ Remaining bits to be done: * ... * Build our own, or source some other copy (e.g. from Alire), of a newer bootstrap GNAT. https://github.com/alire-project/GNAT-FSF-builds is a likely candidate. """
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ce76a16c8f6e283f277190e4b86dfea8fc38cb3 commit 1ce76a16c8f6e283f277190e4b86dfea8fc38cb3 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-09-30 01:59:37 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-09-30 02:00:49 +0000 toolchain.eclass: add bug reference to ada-bootstrap comment Bug: https://bugs.gentoo.org/940471 Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> eclass/toolchain.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6a69ea10ed74a0ce49e979bbc4bbce139949259 commit e6a69ea10ed74a0ce49e979bbc4bbce139949259 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-10-01 01:02:17 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-10-01 01:10:28 +0000 toolchain.eclass: support dev-lang/ada-bootstrap Bug: https://bugs.gentoo.org/547358 Bug: https://bugs.gentoo.org/919667 Bug: https://bugs.gentoo.org/940472 Closes: https://bugs.gentoo.org/940471 Signed-off-by: Sam James <sam@gentoo.org> eclass/toolchain.eclass | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fecbe438a39dfc3b226ff2c474c297a0763998f commit 2fecbe438a39dfc3b226ff2c474c297a0763998f Author: Sam James <sam@gentoo.org> AuthorDate: 2024-09-30 20:01:59 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-10-01 01:10:27 +0000 dev-lang/ada-bootstrap: new package, add 0_p2021 Split dev-lang/gnat-gpl into dev-lang/ada-bootstrap. This ebuild was initially a clone of dev-lang/gnat-gpl-2021-r5 then had some cleanups done, toolchain.eclass use removed, and simplified what it configures/builds/installs. As I mentioned in 799693623d76c89e8b04d2434d0dfece44bb49f9, there were two jobs left -- this fixes the first one: splitting dev-lang/gnat-gpl into its own package which doesn't collide with sys-devel/gcc:10 and also does the least possible work, not with lots of USE, etc.) Some inspiration taken from sys-devel/bpf-toolchain. Considered using the *-toolchain name again but given the purpose of this is *not* just to avoid crossdev use but instead to bootstrap from a binary for Ada, it didn't feel appropriate. (Planned to do this anyway but the issue mentioned in 9732ef3475830dbe289fc80358613e90b612563c pushed me to get on with it now.) Later versions of ada-bootstrap will be our own binaries for both newer GCC as a base (although this is mostly a nice-to-have and to keep things building rather than it being essential, AFAIK) as well as more importantly musl and other arch support. For that future work, see https://bugs.gentoo.org/940471#c1 for a suggestion from Luke A. Guest. That will be tracked in bug #940472. Bug: https://bugs.gentoo.org/547358 Bug: https://bugs.gentoo.org/919667 Bug: https://bugs.gentoo.org/940472 Closes: https://bugs.gentoo.org/940471 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/Manifest | 5 + .../ada-bootstrap/ada-bootstrap-0_p2021.ebuild | 183 +++++++++++++++++++++ .../files/ada-bootstrap-0_p2021-gentoo.patch | 72 ++++++++ .../files/gcc-configure-texinfo.patch | 16 ++ dev-lang/ada-bootstrap/metadata.xml | 7 + 5 files changed, 283 insertions(+)
I'm going to polish the ebuild a bit and sleep on it a bit too then can see about doing newer versions with our own tarballs for more arches...
commit 1b5d47858780c700e706582aa370a69148552055 Author: Sam James <sam@gentoo.org> Date: Wed Nov 20 11:59:35 2024 +0000 toolchain.eclass: fix Ada bootstrap paths for cross Same sort of thing as 434a6775ce93a15ef517478565a938aa73d1d528 although the paths are different as we're using something from libexec (gnat1). Signed-off-by: Sam James <sam@gentoo.org> commit 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5 Author: Sam James <sam@gentoo.org> Date: Wed Nov 20 12:15:05 2024 +0000 toolchain.eclass: followup Ada fix Followup to 1b5d47858780c700e706582aa370a69148552055. Signed-off-by: Sam James <sam@gentoo.org> commit 97069fd8721ea55980e548b9cf1d55e2a234a514 Author: Sam James <sam@gentoo.org> Date: Wed Nov 20 12:20:00 2024 +0000 toolchain.eclass: another Ada cross fix Followup followup to 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5 and 1b5d47858780c700e706582aa370a69148552055. Signed-off-by: Sam James <sam@gentoo.org> commit 839a158bb5efbf454e09414e96cd7716a2550f31 Author: Sam James <sam@gentoo.org> Date: Wed Nov 20 12:36:08 2024 +0000 toolchain.eclass: revert Ada changes for now I need to do some more. Revert my earlier changes for now. Reverts: 97069fd8721ea55980e548b9cf1d55e2a234a514 Reverts: 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5 Reverts: 1b5d47858780c700e706582aa370a69148552055 Signed-off-by: Sam James <sam@gentoo.org> commit f18b12262d54db706be91f22c070c52294084007 Author: Andrei Horodniceanu <a.horodniceanu@proton.me> Date: Thu Oct 17 18:08:40 2024 +0300 toolchain.eclass: refactor common ada and d bootstrap code Additionally, when cross compiling only look for a bootstrap gcc that matches the SLOT that is currently being built since both ada and d would fail with any other version. Also correct some CBUILD vs CHOST usage to support cross-compiling ada. Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me> Closes: https://github.com/gentoo/gentoo/pull/39019 Signed-off-by: Sam James <sam@gentoo.org> commit 148b773c86ce9a1b6e97fadde809652938236c59 Author: Sam James <sam@gentoo.org> Date: Sat Dec 14 16:24:27 2024 +0000 toolchain.eclass: only make gnat* tool wrappers for native builds Only make the wrappers for native builds. For cross, we can't do it as CBUILD vs CHOST will get mixed up then. Signed-off-by: Sam James <sam@gentoo.org> commit 9c0077a62d40b6b7078ff75c883f3b33cd8ecca9 Author: Sam James <sam@gentoo.org> Date: Sat Dec 14 18:41:27 2024 +0000 toolchain.eclass: prepare for dev-lang/ada-bootstrap with diff version Signed-off-by: Sam James <sam@gentoo.org> commit 407beaa9de0f6d3056b71d5144cd7205ae413a6f Author: Sam James <sam@gentoo.org> Date: Sun Dec 15 03:05:12 2024 +0000 toolchain.eclass: set ADA_{INCLUDE,OBJECTS}_DIR for new ada-bootstrap path For self-built ada-bootstrpa tarballs, we need this to help find the runtime library. Signed-off-by: Sam James <sam@gentoo.org>
(In reply to Sam James from comment #4) With these, cross seems to work properly, and I have a draft for ada-bootstrap w/ self-built tarballs for arm64 (that I've then tested using on arm64 too). Trying other arches...
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cae8f6ff8f9a857ba3a07371d6b2d5d8996afb5f commit cae8f6ff8f9a857ba3a07371d6b2d5d8996afb5f Author: Sam James <sam@gentoo.org> AuthorDate: 2024-11-20 15:56:43 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 10:53:15 +0000 dev-lang/ada-bootstrap: add 14 This adds bootstrap tarballs for GNAT for the following platforms: * aarch64-unknown-linux-gnu * armv6j-softfp-linux-gnueabi * armv6j-unknown-linux-gnueabihf * armv7a-softfp-linux-gnueabi * armv7a-unknown-linux-gnueabihf * powerpc-unknown-linux-gnu * powerpc64-unknown-linux-gnu * powerpc64le-unknown-linux-gnu * sparc64-unknown-linux-gnu More are planned (like HPPA, but I had an issue there when using the built tarball; I don't think the tarball was to blame, rather some deeper issue needing investigation) but this feels like a decent set to start with. We should also of course build a fresh one for amd64 and also x86. They were built using a script [0] using stage3-amd64-hardened-systemd-20241214T201851Z.tar.xz with ::gentoo state around 16th November 2024 (I say "around" as I synced in-between to get an eclass fix). NOTE: I've only added ~arm64 for now as I've tested the binary there to bootstrap GNAT natively. I'll add other keywords once tested. [0] https://github.com/thesamesam/sam-gentoo-scripts/blob/91558fb51c56a661d6f374507888ff67725ca660/build-ada-bootstraps Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/Manifest | 9 +++ dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 84 ++++++++++++++++++++++++++ 2 files changed, 93 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c902867933a8388b80f72aaf4f66546e76bc880 commit 0c902867933a8388b80f72aaf4f66546e76bc880 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 10:56:33 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 10:56:33 +0000 profiles/arch/arm64: unmask sys-devel/gcc[ada] for ~arch We have dev-lang/ada-bootstrap available here now. Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> profiles/arch/arm64/package.use.mask | 4 ++++ profiles/arch/arm64/package.use.stable.mask | 4 ++++ 2 files changed, 8 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bb8b81487743b3e643c5a332d256cb69aca4569 commit 5bb8b81487743b3e643c5a332d256cb69aca4569 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 12:21:42 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 12:21:42 +0000 dev-lang/ada-bootstrap: handle arches where we have multiple tarballs available Otherwise, we might have ${A} containing more than one and then we unpack the last one listed (which isn't necessarily right at all) and also fail w/ wrong number of args to dosym. Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14e674bb7a8cb8aa50498582e392d0ecd21f2d4a commit 14e674bb7a8cb8aa50498582e392d0ecd21f2d4a Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 17:13:11 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 17:13:52 +0000 toolchain.eclass: allow current slot for ada-bootstrap dep Otherwise, you don't get a clean path for 14-with-14. Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> eclass/toolchain.eclass | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86445b99cf4369b48b0c8edd0c13b89f1fa0fb2a commit 86445b99cf4369b48b0c8edd0c13b89f1fa0fb2a Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 18:08:15 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 18:08:15 +0000 profiles/arch/arm: unmask sys-devel/gcc[ada] for ~arch We have dev-lang/ada-bootstrap available here now. Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> profiles/arch/arm/package.use.mask | 4 ++++ profiles/arch/arm/package.use.stable.mask | 4 ++++ 2 files changed, 8 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff3d8ef80d13310cdbb2f3c55fe15d410e18c649 commit ff3d8ef80d13310cdbb2f3c55fe15d410e18c649 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 18:06:54 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 18:06:54 +0000 dev-lang/ada-bootstrap: keyword 14 for ~arm Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e21c238fb003ff68952be18ea2be4b1e87890166 commit e21c238fb003ff68952be18ea2be4b1e87890166 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 18:59:39 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 19:00:02 +0000 profiles/arch/sparc: unmask sys-devel/gcc[ada] for ~arch We have dev-lang/ada-bootstrap available here now. Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> profiles/arch/sparc/package.use.mask | 4 ++++ profiles/arch/sparc/package.use.stable.mask | 4 ++++ 2 files changed, 8 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72edef15f5fd864ec384a6de8fb464111faa01a1 commit 72edef15f5fd864ec384a6de8fb464111faa01a1 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 18:58:43 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 19:00:02 +0000 dev-lang/ada-bootstrap: keyword 14 for ~sparc Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19a54aa47f0d232f7de2f1cd6a16f8aadd6b6add commit 19a54aa47f0d232f7de2f1cd6a16f8aadd6b6add Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 19:07:13 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 19:07:33 +0000 profiles/arch/powerpc: unmask sys-devel/gcc[ada] for ~arch We have dev-lang/ada-bootstrap available here now. Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> profiles/arch/powerpc/ppc32/package.use.mask | 4 ++++ profiles/arch/powerpc/ppc32/package.use.stable.mask | 4 ++++ profiles/arch/powerpc/ppc64/package.use.mask | 4 ++++ profiles/arch/powerpc/ppc64/package.use.stable.mask | 4 ++++ 4 files changed, 16 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33c31288bb05f026b1dfca730701b4b4727110ec commit 33c31288bb05f026b1dfca730701b4b4727110ec Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-17 19:06:12 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-17 19:07:33 +0000 dev-lang/ada-bootstrap: keyword 14 for ~ppc, ~ppc64 Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a73baf031bc6e4b613ae181491fedfa3e8437232 commit a73baf031bc6e4b613ae181491fedfa3e8437232 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-18 01:47:04 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-18 01:48:33 +0000 dev-lang/ada-bootstrap: add amd64 binary too for 14 Same details as in cae8f6ff8f9a857ba3a07371d6b2d5d8996afb5f for how it was built, but with tree state on 17th November 2024 and not built w/ crossdev. Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/Manifest | 1 + dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 3 +++ 2 files changed, 4 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed556e48e7f886ecc0e9954ee5906c3b4d197b1a commit ed556e48e7f886ecc0e9954ee5906c3b4d197b1a Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-18 03:14:41 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-18 03:14:50 +0000 dev-lang/ada-bootstrap: keyword 14 for amd64 Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=908f1f548d41b61b66cb36661ca0866ca55d6e36 commit 908f1f548d41b61b66cb36661ca0866ca55d6e36 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-18 23:12:10 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-12-18 23:15:24 +0000 dev-lang/ada-bootstrap: add bootstrap binaries for loong, riscv, s390* Same details as cae8f6ff8f9a857ba3a07371d6b2d5d8996afb5f although I built it at the same time as amd64 (see a73baf031bc6e4b613ae181491fedfa3e8437232). This one was a bit delayed as wasn't included in the first batch because they're pure ~arch (TODO: find a way to handle that more nicely in the script to use stable for stable arches, and not otherwise; could grep arches.desc?) We have alpha, hppa, mips, m68k, and x86 left. m68k wasn't done yet because its current GCC is 13 still b/c of a bootstrap failure. Bug: https://bugs.gentoo.org/940472 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/ada-bootstrap/Manifest | 4 ++++ dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild | 10 ++++++++++ 2 files changed, 14 insertions(+)
I think we're all done here -- I'll file individual bugs for the remaining arches, but not much point in keeping this one open still.