commit: aeccc53e22c940ed110a37d86eef4334fa0d7b38 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sat Mar 7 05:49:16 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Mar 15 22:29:46 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aeccc53e
dev-util/mig: new package, add 1.8, 1.8_p20231217, 9999 .. for GNU Hurd. The last release of GNU MIG is very old. savannah doesn't allow snapshot downloads from cgit as of 2026-03, but the Debian maintainer is also upstream, so just use theirs instead. Signed-off-by: Sam James <sam <AT> gentoo.org> dev-util/mig/Manifest | 2 ++ dev-util/mig/metadata.xml | 8 +++++ dev-util/mig/mig-1.8.ebuild | 46 ++++++++++++++++++++++++ dev-util/mig/mig-1.8_p20231217.ebuild | 66 +++++++++++++++++++++++++++++++++++ dev-util/mig/mig-9999.ebuild | 63 +++++++++++++++++++++++++++++++++ profiles/package.mask | 1 + 6 files changed, 186 insertions(+) diff --git a/dev-util/mig/Manifest b/dev-util/mig/Manifest new file mode 100644 index 000000000000..3925a13757b1 --- /dev/null +++ b/dev-util/mig/Manifest @@ -0,0 +1,2 @@ +DIST mig-1.8.tar.bz2 205004 BLAKE2B a7f6998003d040d10a5c32e571272753d5699293ce761a65824f6d1f4417037e4f9663c379eadb62b6b9a19a99fe4ac486c88f453f923d362935398e7e3ac1fa SHA512 7a8853f80f0d7084244ff0c4f0fa48949216568fddc4fd3702995d04d4d29383087a846eb00443b35133ac38959dad5a085c230b926d9d69010c6031eaa3a0c3 +DIST mig_1.8+git20231217.orig.tar.xz 197664 BLAKE2B 95a87684e1295bfcfb137ef2e7d9352c939daedd86cc95c4c4e06f4cd7caebc4fb02c8192ec9a9bd84ee49c5b15dd9d9ce6bcda584e50cf41c0d18fa99bbbcea SHA512 80cf8abae100231093507770c7de71f90c3dea656d06e676eab6670fbc7a743a1d85768783cbb7174ee06846d42ec4b079985c607cc87cd73de5a13742ba402c diff --git a/dev-util/mig/metadata.xml b/dev-util/mig/metadata.xml new file mode 100644 index 000000000000..641cbd3703e7 --- /dev/null +++ b/dev-util/mig/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Sam James</name> + </maintainer> +</pkgmetadata> diff --git a/dev-util/mig/mig-1.8.ebuild b/dev-util/mig/mig-1.8.ebuild new file mode 100644 index 000000000000..727fec077365 --- /dev/null +++ b/dev-util/mig/mig-1.8.ebuild @@ -0,0 +1,46 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit crossdev + +DESCRIPTION="GNU Mach 3.0 interface generator (IDL compiler)" +HOMEPAGE="https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/hurd/mig.git" + inherit autotools git-r3 + + BDEPEND=" + sys-devel/bison + sys-devel/flex + " +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2" + + KEYWORDS="~x86" +fi + +LICENSE="GPL-2 BSD-2" +SLOT="0" + +if is_crosspkg ; then + DEPEND+=" cross-${CTARGET}/gnumach" +fi + +src_prepare() { + default + [[ ${PV} == 9999 ]] && eautoreconf +} + +src_configure() { + # Needs bison and flex + unset YACC LEX + + local myeconfargs=( + --prefix="${EPREFIX}${sysroot}/usr" + ) + + econf "${myeconfargs[@]}" +} diff --git a/dev-util/mig/mig-1.8_p20231217.ebuild b/dev-util/mig/mig-1.8_p20231217.ebuild new file mode 100644 index 000000000000..f070ac7da504 --- /dev/null +++ b/dev-util/mig/mig-1.8_p20231217.ebuild @@ -0,0 +1,66 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit crossdev flag-o-matic + +DESCRIPTION="GNU Mach 3.0 interface generator (IDL compiler)" +HOMEPAGE="https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/hurd/mig.git" + inherit autotools git-r3 + + BDEPEND=" + sys-devel/bison + sys-devel/flex + " +elif [[ ${PV} == *_p* ]] ; then + MY_PV=${PV%_p*}+git${PV#*_p} + MY_P=${PN}_${MY_PV} + + # savannah doesn't allow snapshot downloads from cgit as of 2026-03, + # but the Debian maintainer is also upstream, so just use theirs + # instead. + SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${MY_P}.orig.tar.xz" + S="${WORKDIR}"/${MY_P/_/-} +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2" +fi + +LICENSE="GPL-2 BSD-2" +SLOT="0" +[[ ${PV} != 9999 ]] && KEYWORDS="~amd64 ~x86" + +if is_crosspkg ; then + DEPEND+=" cross-${CTARGET}/gnumach" +fi + +src_prepare() { + default + [[ ${PV} == 9999 ]] && eautoreconf +} + +src_configure() { + # Needs bison and flex + unset YACC LEX + + # Fixed in master + append-cflags -std=gnu17 + + local myeconfargs=( + --prefix="${EPREFIX}${sysroot}/usr" + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if target_is_not_host ; then + # Don't install docs when building a cross-mig + rm -rf "${ED}"/usr/share/{doc,man,info,locale} || die + fi +} diff --git a/dev-util/mig/mig-9999.ebuild b/dev-util/mig/mig-9999.ebuild new file mode 100644 index 000000000000..6725c0acd2dc --- /dev/null +++ b/dev-util/mig/mig-9999.ebuild @@ -0,0 +1,63 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit crossdev + +DESCRIPTION="GNU Mach 3.0 interface generator (IDL compiler)" +HOMEPAGE="https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/hurd/mig.git" + inherit autotools git-r3 + + BDEPEND=" + sys-devel/bison + sys-devel/flex + " +elif [[ ${PV} == *_p* ]] ; then + MY_PV=${PV%_p*}+git${PV#*_p} + MY_P=${PN}_${MY_PV} + + # savannah doesn't allow snapshot downloads from cgit as of 2026-03, + # but the Debian maintainer is also upstream, so just use theirs + # instead. + SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${MY_P}.orig.tar.xz" + S="${WORKDIR}"/${MY_P/_/-} +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2" +fi + +LICENSE="GPL-2 BSD-2" +SLOT="0" +[[ ${PV} != 9999 ]] && KEYWORDS="~amd64 ~x86" + +if is_crosspkg ; then + DEPEND+=" cross-${CTARGET}/gnumach" +fi + +src_prepare() { + default + [[ ${PV} == 9999 ]] && eautoreconf +} + +src_configure() { + # Needs bison and flex + unset YACC LEX + + local myeconfargs=( + --prefix="${EPREFIX}${sysroot}/usr" + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if target_is_not_host ; then + # Don't install docs when building a cross-mig + rm -rf "${ED}"/usr/share/{doc,man,info,locale} || die + fi +} diff --git a/profiles/package.mask b/profiles/package.mask index 01ad294dc081..804aae770a59 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -736,6 +736,7 @@ www-plugins/chrome-binary-plugins:unstable # Diego E. Pettenò <[email protected]> (2009-01-03) # These packages are not supposed to be merged directly, instead # please use sys-devel/crossdev to install them. +dev-util/mig dev-util/mingw64-runtime sys-libs/newlib dev-embedded/avr-libc
