commit: fd80b52f6eb59b31526f4e75e834240e60408f0a Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Wed Jan 22 16:41:42 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Jan 22 19:46:14 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd80b52f
dev-lang/ada-bootstrap: add 12 No ~loong as GCC 12 didn't support it. Adding older branches to facilitate GCC testing. I originally wasn't going to bother but I'd like to bisect an issue on ARM, so... Built with ::gentoo at 6895c729372e48a5f596abd65cfeb26c178c5b17, same stage3 as before for earlier binaries (stage3-amd64-hardened-systemd-20241214T201851Z). The only quirk is, for `build-ada-bootsraps`, crossdev's behaviour with --gcc to specify certain versions may use unkeyworded GCC in a particular slot (not checked), but easy to reproduce still with the right ::gentoo commit. See https://github.com/thesamesam/sam-gentoo-scripts/blob/2c192ac1461144fb2a2ab83014ad13794e4efc3d/niche/build-ada-bootstraps. Signed-off-by: Sam James <sam <AT> gentoo.org> dev-lang/ada-bootstrap/Manifest | 15 +++ dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild | 121 +++++++++++++++++++++++++ 2 files changed, 136 insertions(+) diff --git a/dev-lang/ada-bootstrap/Manifest b/dev-lang/ada-bootstrap/Manifest index ab821112f566..4e13472ea2d8 100644 --- a/dev-lang/ada-bootstrap/Manifest +++ b/dev-lang/ada-bootstrap/Manifest @@ -1,3 +1,18 @@ +DIST ada-bootstrap-12-aarch64-unknown-linux-gnu.gpkg.tar 37099520 BLAKE2B 408e38b64fa027098b7d815a43c10306735449f947f0b10e2d3014bac4b76e3dd834097529e6b7ca10d83f27acb3b3ef8bfe1faae498407bd306d8cb67341a37 SHA512 c6366169012c463ca10fe560bd1c33f9b147f7a6e1c025954d7f5ac1ba8fb2a4ebf0eac5fa76bfc295bb3a1f74bc98a96773b2bcc55672405b576e0854b1088f +DIST ada-bootstrap-12-alpha-unknown-linux-gnu.gpkg.tar 38246400 BLAKE2B 5ed3e1e5dd6e356142df2062897dc856ccfbbc076d8aa479b81a8a0831a6f4a70a8b09827ea7b569ac5085d75a07a50d18eb682d2c3421fd29743c3260bfe102 SHA512 ab212c3a92384290b40702fb396fbe85fa118c1304617a7a2ddc475b36e9410c0588b88c038a4e7bb9e12610e3d65513efc5cb7189fd131d2472c2768e6ba19a +DIST ada-bootstrap-12-armv6j-softfp-linux-gnueabi.gpkg.tar 28948480 BLAKE2B e65b455718c5d70e5eb17ed09067e8eb5a4a901065da1f7c0a6f2818756b2a684de7a3d2aecd046c0e92e5b6282dd080a9d10772a79e3a0b58ba5e2a1a5ee21f SHA512 a3034c2937ba6f61518f789e237f4f3759c7acdcdd994914c891a3543b7e6540190a694cb6f7af73f2abdaf57f43ee54bb098a3d83afdcb66224413a871fb15f +DIST ada-bootstrap-12-armv6j-unknown-linux-gnueabihf.gpkg.tar 28733440 BLAKE2B 3284df86d30cdde59bc6aedbc62022288acb4ea9d384050382071472b8f1e536fd0d55125cf9d73f2a616c7adcc8ad107f061c0e9c966988e584d12ac507e74c SHA512 bab67cfbd623996e9e095c5ab95b380020f8517bc3815976d6274ce802ef175438afc348b36ce8e6631b7fc62d51ed5af8f57748457d304e1590006399ea656d +DIST ada-bootstrap-12-armv7a-softfp-linux-gnueabi.gpkg.tar 28579840 BLAKE2B aecc4661c3de5ebc1b6c271efc018d52707f727cb2a1af7168621937ab35c58bd5da788f2b8e3993e8b1d8b45b957026ce02b12cfd28a3afd4891572a8e315a9 SHA512 4eb43ecfadbc6cbe57be312567c049ffb6a4b955692f081ddf896d1f9f19140631c2bf65596f69677e8f6bdecc82ec79aee8a9da6d94d7291a9ff925597d074a +DIST ada-bootstrap-12-armv7a-unknown-linux-gnueabihf.gpkg.tar 28426240 BLAKE2B 2b98f358f327ce4114cf91bcf21973d173dcfafeb0b509f5dddc41d4911015c17d41029aec615f415606c009dfd506989e28ba83822fa31fc027393664a4d776 SHA512 bc2c28e8d776ae57a9a6689ef112df26d0e2a817f8e3d8c55c80c9509bcb710cd5052cec090c8d062a4c1711b2449282fb8821ae375c1b235d436f25a475c414 +DIST ada-bootstrap-12-hppa1.1-unknown-linux-gnu.gpkg.tar 29132800 BLAKE2B d66b5a47521ec1a152f3f805a3e2e8d7d87780412171cd58f4a37e094332a96ab5ccbd7ac4fb97470174249c9ac295ac65c39efb2bf7e248cbbba9851dd4775b SHA512 9bcbd6f99dd541f0eaa9c08bc616da577d54e01afa4d3f1e4174c8aa40c8d19c49253c7b686eee85d1ee0a1bf396783f064646a36f037b78eeae9103f58ef660 +DIST ada-bootstrap-12-hppa2.0-unknown-linux-gnu.gpkg.tar 28897280 BLAKE2B 77ef1f368083d190ca1322c601b5d7300a7f653297e28aa05d37c41b8885109d471d664de4b2e71e9889d0e2cc02c73fa832404e490a2ebf4d6714d4ecd30028 SHA512 2756b14dcd2f1fe9c8a23ea86d18ea04e59d3e5dff0433aff97dc7aa70562f9311922fece3ed75ec5339b8ead14cd14a7f8557bde4d42568a9adb0feb43ed4ce +DIST ada-bootstrap-12-powerpc-unknown-linux-gnu.gpkg.tar 25845760 BLAKE2B 61fcae620cb16b9f6be90d02b112f13283e746dfaea02693971e5cecc2a105d9c04a08baf34c96a43c09da3de25c57aa7ca0e7077affe49503d794e63539f099 SHA512 d19b4457f0581b8b49f209ded27789622c34cc95f605fe02e1f96250cfc45207d7fbf38ce53057ba7cd638bcc99febe347b582995f1afa480122d64454b5aa8f +DIST ada-bootstrap-12-powerpc64-unknown-linux-gnu.gpkg.tar 30289920 BLAKE2B ec177ccca0115da4a15e8ffe3ddb13e04ffbdd14098aaa5f1a48182c809823ea00b9ce45cf83565d8666bcdb3a5313b8294e488cf4162a85ae1e3336024709bb SHA512 4598fff58a87360b5eacfaceea4de1bf3167a41a7063a964e71ce91bd849090376b77fe352cf2521afffc35f2b6e5d28157ac822018f4e5ea444a1e91a1eaf2f +DIST ada-bootstrap-12-powerpc64le-unknown-linux-gnu.gpkg.tar 30167040 BLAKE2B e6093fd663714c05ed77ba320997c17cd8f3d1de5e3200c7429a87f0ae7895a880653f1af69a0646ea420becb21dd07a79eeb6ad52b858a84ca454e08a979912 SHA512 0e29b47e971c7722e457b373993a4168b82edadd941aa74292a5638e5a3a8030753c5052c500f376bfc756d7d0798fdc425f6a1e4b034683162325566256dc08 +DIST ada-bootstrap-12-riscv64-unknown-linux-gnu.gpkg.tar 35594240 BLAKE2B cf810466f05fd495e2094a3518d79bfd120ff574d045f3930bc4a0dfa77febbc60c335774ac7af40940c9248b11bc7372e3b49a6164175e93f33c3adf07863e0 SHA512 041b247ea08f4739a2933d0b78aa164ac294cb1c627c19af560f52fe6f1c9130836c1810703a83ed9d67c79004ef922d3e48e8cba43889bcc945b98153d85d5b +DIST ada-bootstrap-12-s390-ibm-linux-gnu.gpkg.tar 24535040 BLAKE2B 5933ef5d17d5fe65e3be538e25d5a13144d5debcca1cc1346051df266065bb4d4c16ba5ea5c7206ab34fede09c1c364ce1fe5770e3b9fe37fb007e59449ebe40 SHA512 bc040b816260e6e4e6fa297ff7a595f3ecd11e49b08565f0fee6d3ce2c9ea64fda6c559506db8ebfbfc07211cff5d2386407032f1e58d408ae11db2db450ef8d +DIST ada-bootstrap-12-s390x-ibm-linux-gnu.gpkg.tar 25466880 BLAKE2B 3960c1d8c5723e82257b4ebf4c154757ba7e8c4fdebde912d25b00f37304e626f2fc8d2c9cb1b8a2e6d15331a2c0828d1b004d67f2d4401613127dbb0289f261 SHA512 4c9c46055914617d46327b70b21861cefee7ffc06651aab5b3ebf64e27f11ec576bffbcf84ab64b28e0a4e0f98e8fdfea6be9896e36cee4453bd66d36711c60e +DIST ada-bootstrap-12-sparc64-unknown-linux-gnu.gpkg.tar 23060480 BLAKE2B b4655c7958fe98179ab55b46b71db66caee430b27400ccb9ee8f67ae39edad0354381af2fc1c426b82870c82969d4f5b2208e4ba06dc5b161986dbacea32ecf4 SHA512 5a4f86bd8ce616c46478dd90e3c63b37c4c3838b5944afc0bb1a67d4a394b103fce037dacbdb7faee190f44f2b93f89c5f76bf7f1a4620c54afce84078fccf97 DIST ada-bootstrap-14-aarch64-unknown-linux-gnu.gpkg.tar 44759040 BLAKE2B 4c3440bf35f14dc93e7d9265f90bca0cf534bbc2cd913f2d7356d674d9f4bc6a691b812c3c5f7d54d4fc63ad7f67ff06dd09afb5c3d008666e747dace5d3940a SHA512 8253ac27650398192081ebc8f352679b2e6fdad0cc8d52df176a1944a6da373e0adce6acc0bdbdbb3c6c37f1d666d2839fae06b86814e6e1ab7c6f6efea128ba DIST ada-bootstrap-14-alpha-unknown-linux-gnu.gpkg.tar 44359680 BLAKE2B 8ca83caa392356901fbe299c83efce9e22501e9251d4a8bac68c113630507b209e4efb4b3a094f4dcf73ff9a3714b1f881ae42ea373e02bd8d720cb02cb11427 SHA512 67ba8c0e63a69744fc34a04fa1dda34d2958fd693f4a0f1449b897a541854ef8c1f2a09a0375223392430313184a6db87b72fbee5fecb10af7ef40db7517edbe DIST ada-bootstrap-14-armv6j-softfp-linux-gnueabi.gpkg.tar 38379520 BLAKE2B 6ad7988780d1961a5b8c743ad2bc83c8da7173b53ecae3a3d82e02e4d425cdd49555bc6bb76f17f08cb4378b13e2a98bcfbcc8ff54e6a63397893ec9a0c3b6b4 SHA512 b253218ddfaeff7216b8770f251a4ffd3fbcf6b3d487e505bab7ebc3730bb9f616ee4f46d5c77a2c6a76c2bca0257dfff6428bb75c86bb977ea1f4a49e3cb103 diff --git a/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild b/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild new file mode 100644 index 000000000000..26ffd1b4ef9f --- /dev/null +++ b/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild @@ -0,0 +1,121 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# The binaries in SRC_URI are generated by the following (roughly): +# * taking an amd64 stage3 +# * adding USE=ada to make.conf +# * running `crossdev ${CHOST} --ex-gcc -S` +# * running `USE=ada ${CHOST}-emerge -v1 gcc` +# * copy /usr/${CHOST}/var/cache/binpkgs/sys-devel/gcc* into +# ada-bootstrap-${PV}-${CHOST}.gpkg.tar +# +# The full script is at https://github.com/thesamesam/sam-gentoo-scripts/blob/91558fb51c56a661d6f374507888ff67725ca660/build-ada-bootstraps. +# +# Binaries in SRC_URI are regular Gentoo binpkgs in the GPKG format. +# +# Note: of course, the used GCC on both CBUILD and CHOST +# must be the same version, correspond to ${PV} in ada-bootstrap, +# and be at most the newest stable GCC (ideally older). +inherit unpacker + +DESCRIPTION="Binary bootstrap compiler for GNAT (Ada compiler)" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Ada" +SRC_URI=" + alpha? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-alpha-unknown-linux-gnu.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-aarch64-unknown-linux-gnu.gpkg.tar + ) + arm? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv6j-softfp-linux-gnueabi.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv6j-unknown-linux-gnueabihf.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv7a-softfp-linux-gnueabi.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv7a-unknown-linux-gnueabihf.gpkg.tar + ) + hppa? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-hppa1.1-unknown-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-hppa2.0-unknown-linux-gnu.gpkg.tar + ) + ppc? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc-unknown-linux-gnu.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc64le-unknown-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc64-unknown-linux-gnu.gpkg.tar + ) + riscv? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-riscv64-unknown-linux-gnu.gpkg.tar + ) + sparc? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-sparc64-unknown-linux-gnu.gpkg.tar + ) + s390? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-s390-ibm-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-s390x-ibm-linux-gnu.gpkg.tar + ) +" +S=${WORKDIR} + +LICENSE="GPL-2 GPL-3" +SLOT="0" +KEYWORDS="-* ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc" + +RDEPEND=" + >=dev-libs/gmp-4.3.2:= + >=dev-libs/mpfr-2.4.2:= + >=dev-libs/mpc-0.8.1:= + sys-libs/zlib + virtual/libiconv +" + +src_unpack() { + # We want to unpack only the appropriate tarball for CHOST (e.g. on arm). + TARBALL_TO_UNPACK= + + local archive + for archive in ${A} ; do + local tarball_chost=${archive/${P}-} + tarball_chost=${tarball_chost%%.gpkg.tar} + + if [[ ${tarball_chost} == ${CHOST} ]] ; then + TARBALL_TO_UNPACK=${archive} + break + fi + done + + if [[ -z ${TARBALL_TO_UNPACK} ]] ; then + die "No tarball found for CHOST=${CHOST}. Please file a bug at bugs.gentoo.org." + fi + + unpack_gpkg "${TARBALL_TO_UNPACK}" +} + +src_install() { + local chost=${TARBALL_TO_UNPACK/${P}-} + chost=${chost%%.gpkg.tar} + + BINPKG=$(find "${WORKDIR}"/ -type d -mindepth 1 -maxdepth 1 -iname 'gcc-*') + BINPKG="${BINPKG#${WORKDIR}}" + + dodir /usr/lib/ada-bootstrap + mv "${WORKDIR}"/${BINPKG}/image/usr/ "${ED}"/usr/lib/ada-bootstrap || die + + # Make `gcc-config`-style symlinks + insinto /usr/lib/ada-bootstrap/bin + local tool + for tool in gcc gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${tool} + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${chost}-${tool} + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${chost}-${tool}-${PV} + done + + rm -rf "${ED}"/usr/lib/ada-bootstrap/usr/bin || die + # This gives us the same layout as older dev-lang/ada-bootstrap + dosym -r /usr/lib/ada-bootstrap/bin /usr/lib/ada-bootstrap/usr/bin + dosym -r /usr/lib/ada-bootstrap/usr/libexec /usr/lib/ada-bootstrap/libexec +} + +# TODO: pkg_postinst warning/log?