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

Reply via email to