summaryrefslogtreecommitdiff
path: root/sys-kernel/hurd
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:24:49 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:24:49 -0500
commita3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (patch)
tree0c52bbae1c242fbc296bd650fcd1167685f81492 /sys-kernel/hurd
parentbfd9c39e4712ebdb442d4ca0673061faed1e70e1 (diff)
downloadbaldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.tar.gz
baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.tar.xz
baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.zip
Adding metadata
Diffstat (limited to 'sys-kernel/hurd')
-rw-r--r--sys-kernel/hurd/Manifest2
-rw-r--r--sys-kernel/hurd/files/hurd-0.9_p20251029-glibc-2.43.patch82
-rw-r--r--sys-kernel/hurd/files/hurd-0.9_p20251029-libports-iterate-refcount.patch21
-rw-r--r--sys-kernel/hurd/files/hurd-0.9_p20251029-openrc-init-no-a.patch10
-rw-r--r--sys-kernel/hurd/files/hurd-0.9_p20251029-rump-link.patch20
-rw-r--r--sys-kernel/hurd/hurd-0.9_p20251029.ebuild202
-rw-r--r--sys-kernel/hurd/hurd-0.9_p20260331.ebuild211
-rw-r--r--sys-kernel/hurd/hurd-9999.ebuild211
-rw-r--r--sys-kernel/hurd/metadata.xml28
9 files changed, 0 insertions, 787 deletions
diff --git a/sys-kernel/hurd/Manifest b/sys-kernel/hurd/Manifest
deleted file mode 100644
index 9f17c52367e0..000000000000
--- a/sys-kernel/hurd/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST hurd-0.9_p20260331.tar.xz 1810180 BLAKE2B c5cbaba993e6e0fdafdb323874c7e8422adb66a29884a3dcb6ebb0bd61aaf251a4b2f98f715db54d7ea5c4e5aeb8e9794ce6d89714c7dad7163e453a050effdc SHA512 789cdd4d4d6a3706feff82c3416da5f30d7dd7888f1ec769ca9a7ad8a442b8305b372771094d6962bc8bb3ad16e633778dd16c2c3fd389bf64585a92984d9619
-DIST hurd_0.9.git20251029.orig.tar.bz2 2047762 BLAKE2B a349bb475e966ed824b1a31b8f76edd72bef5a3c149ec810de140462893eca9d01f45784645f996b75b6277da49f75f2db524cc548febbcb46c2621ba024db3e SHA512 7322236abdea9bea0885983580890f3ed6393e567b6c1a5c52ffe40e76694e887eb22c1da5743e215a2c74b0e22af1457cd95fc517a6371e564da412378c2736
diff --git a/sys-kernel/hurd/files/hurd-0.9_p20251029-glibc-2.43.patch b/sys-kernel/hurd/files/hurd-0.9_p20251029-glibc-2.43.patch
deleted file mode 100644
index 75a084f16f9c..000000000000
--- a/sys-kernel/hurd/files/hurd-0.9_p20251029-glibc-2.43.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-https://cgit.git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=b36f4ea2d7b52594b4a5a19439f45de8f213539d
-https://cgit.git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=d3daa6faf08ab4141e5562cd6a69f636b869a67b
-
-From b36f4ea2d7b52594b4a5a19439f45de8f213539d Mon Sep 17 00:00:00 2001
-From: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Sun, 15 Feb 2026 01:31:41 +0100
-Subject: Fix build against glibc 2.43
-
----
- pfinet/glue-include/linux/in.h | 2 ++
- pfinet/glue-include/linux/socket.h | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/pfinet/glue-include/linux/in.h b/pfinet/glue-include/linux/in.h
-index cb1804c6..594304ee 100644
---- a/pfinet/glue-include/linux/in.h
-+++ b/pfinet/glue-include/linux/in.h
-@@ -12,12 +12,14 @@
- #define IP_DEFAULT_MULTICAST_TTL 1
- #define IP_DEFAULT_MULTICAST_LOOP 1
-
-+#ifndef IP_PKTINFO
- struct in_pktinfo
- {
- int ipi_ifindex;
- struct in_addr ipi_spec_dst;
- struct in_addr ipi_addr;
- };
-+#endif
-
-
- /* <asm/byteorder.h> contains the htonl type stuff.. */
-diff --git a/pfinet/glue-include/linux/socket.h b/pfinet/glue-include/linux/socket.h
-index 90861fde..049e7684 100644
---- a/pfinet/glue-include/linux/socket.h
-+++ b/pfinet/glue-include/linux/socket.h
-@@ -34,7 +34,9 @@
- #define SOL_RAW IPPROTO_RAW
-
- /* IP options */
-+#ifndef IP_PKTINFO
- #define IP_PKTINFO 190
-+#endif
- #define IP_PKTOPTIONS 191
- #define IP_MTU_DISCOVER 192
- #define IP_RECVERR 193
---
-cgit v1.2.3
-
-From d3daa6faf08ab4141e5562cd6a69f636b869a67b Mon Sep 17 00:00:00 2001
-From: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Sun, 15 Feb 2026 08:34:39 +0100
-Subject: Fix build against glibc 2.42
-
----
- pfinet/glue-include/linux/in.h | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/pfinet/glue-include/linux/in.h b/pfinet/glue-include/linux/in.h
-index 594304ee..43ae630f 100644
---- a/pfinet/glue-include/linux/in.h
-+++ b/pfinet/glue-include/linux/in.h
-@@ -2,6 +2,7 @@
- #define _HACK_IN_H_
-
- #include <netinet/in.h>
-+#include <linux/socket.h>
-
- /* IP_MTU_DISCOVER values */
- #define IP_PMTUDISC_DONT 0 /* Never send DF frames */
-@@ -12,7 +13,8 @@
- #define IP_DEFAULT_MULTICAST_TTL 1
- #define IP_DEFAULT_MULTICAST_LOOP 1
-
--#ifndef IP_PKTINFO
-+#if IP_PKTINFO == 190
-+/* Linux-like value, define Linux struct */
- struct in_pktinfo
- {
- int ipi_ifindex;
---
-cgit v1.2.3
diff --git a/sys-kernel/hurd/files/hurd-0.9_p20251029-libports-iterate-refcount.patch b/sys-kernel/hurd/files/hurd-0.9_p20251029-libports-iterate-refcount.patch
deleted file mode 100644
index f1a66bd54813..000000000000
--- a/sys-kernel/hurd/files/hurd-0.9_p20251029-libports-iterate-refcount.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://salsa.debian.org/hurd-team/hurd/-/blob/f2c31b4596fc22c2de9dd1758abd32bd4c781c97/debian/patches/libports-iterate-refcount.patch
-https://logs.guix.gnu.org/hurd/2024-11-20.log#082237
-https://lists.gnu.org/archive/html/bug-hurd/2016-03/msg00034.html
---- a/libports/bucket-iterate.c
-+++ b/libports/bucket-iterate.c
-@@ -58,7 +58,14 @@ _ports_bucket_class_iterate (struct hurd_ihash *ht,
-
- if (class == 0 || pi->class == class)
- {
-- refcounts_ref (&pi->refcounts, NULL);
-+ struct references result;
-+ refcounts_unsafe_ref (&pi->refcounts, &result);
-+ if (result.hard == 1 && result.weak == 0)
-+ {
-+ /* This one is on its way out, skip it. */
-+ refcounts_deref (&pi->refcounts, NULL);
-+ continue;
-+ }
- p[n] = pi;
- n++;
- }
diff --git a/sys-kernel/hurd/files/hurd-0.9_p20251029-openrc-init-no-a.patch b/sys-kernel/hurd/files/hurd-0.9_p20251029-openrc-init-no-a.patch
deleted file mode 100644
index 77f75a1cbbba..000000000000
--- a/sys-kernel/hurd/files/hurd-0.9_p20251029-openrc-init-no-a.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-Don't pass -a to init. openrc-init doesn't support it and even with sysvinit,
-there's not much point.
---- a/daemons/runsystem.sh
-+++ b/daemons/runsystem.sh
-@@ -119,4 +119,4 @@ fsysopts / --update --readonly
-
- # Finally, start the actual SysV init.
- echo Starting ${init}
--exec ${init} ${single} -a
-+exec ${init} ${single}
diff --git a/sys-kernel/hurd/files/hurd-0.9_p20251029-rump-link.patch b/sys-kernel/hurd/files/hurd-0.9_p20251029-rump-link.patch
deleted file mode 100644
index 85d05b02cf41..000000000000
--- a/sys-kernel/hurd/files/hurd-0.9_p20251029-rump-link.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Without this patch, the configure test for rump fails:
-```
-configure:5487: i686-gnu-gcc -o conftest -g -O2 -U_FORTIFY_SOURCE -Wl,--no-error-rwx-segments -Wl,--no-error-execstack -Wl,-z,notext -g -O2 conftest.c -lrump >&5
-/usr/x86_64-pc-linux-gnu/i686-gnu/binutils-bin/2.46.0/ld: /usr/lib/gcc/i686-gnu/16/../../../../i686-gnu/lib/librump.so: undefined reference to `rumpuser_rw_exit'
-/usr/x86_64-pc-linux-gnu/i686-gnu/binutils-bin/2.46.0/ld: /usr/lib/gcc/i686-gnu/16/../../../../i686-gnu/lib/librump.so: undefined reference to `rumpuser_cv_has_waite
-```
-and rumpuser does exist but it didn't link with it. This patch is from cross-hurd
-but it's not clear why Debian and Guix don't seem to need this:
-https://raw.githubusercontent.com/flavioc/cross-hurd/c20747b41c0f2a97c5d5602ff80e550a104a6410/patches/hurd/link-rump.patch
---- a/configure.ac
-+++ b/configure.ac
-@@ -239,7 +239,7 @@ AS_IF([test "x$with_rump" != xno], [
- # Save
- oldLIBS="$LIBS"
-
-- LIBS="$oldLIBS -lrump"
-+ LIBS="$oldLIBS -lrump -lrumpuser -lrumpvfs -lrumpvfs_fifofs -lrumpnet -lrumpnet_net -lrumpnet_local"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <hurd.h>
diff --git a/sys-kernel/hurd/hurd-0.9_p20251029.ebuild b/sys-kernel/hurd/hurd-0.9_p20251029.ebuild
deleted file mode 100644
index cc8644bc5020..000000000000
--- a/sys-kernel/hurd/hurd-0.9_p20251029.ebuild
+++ /dev/null
@@ -1,202 +0,0 @@
-# Copyright 2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit crossdev multilib flag-o-matic
-
-DESCRIPTION="GNU Hurd is the GNU project's replacement for UNIX"
-HOMEPAGE="https://www.gnu.org/software/hurd/hurd.html"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/hurd/hurd.git"
- inherit autotools git-r3
-elif [[ ${PV} == *_p* ]] ; then
- inherit autotools
-
- 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.bz2"
- S="${WORKDIR}"/${MY_P/_/-}
-else
- SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
-fi
-
-LICENSE="GPL-2 BSD-2"
-SLOT="0"
-if is_crosspkg ; then
- IUSE="custom-cflags headers-only"
-else
- IUSE="custom-cflags headers-only ncurses rumpkernel xkb"
-fi
-[[ ${PV} != 9999 ]] && KEYWORDS="~amd64 ~x86"
-
-if is_crosspkg ; then
- BDEPEND="
- !headers-only? ( cross-${CTARGET}/mig )
- "
-else
- DEPEND="
- app-arch/bzip2:=[static-libs]
- dev-libs/libdaemon:=
- >=dev-libs/libgcrypt-1.8.0:=
- dev-util/mig
- sys-apps/util-linux[static-libs]
- sys-block/parted[static-libs]
- sys-power/libacpica
- x11-libs/libpciaccess[static-libs]
- virtual/libcrypt:=[static-libs]
- virtual/zlib:=[static-libs]
- ncurses? ( sys-libs/ncurses:= )
- rumpkernel? ( sys-kernel/rumpkernel )
- xkb? ( x11-libs/libxkbcommon )
- "
- RDEPEND="${DEPEND}"
- BDEPEND="virtual/pkgconfig"
-fi
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.9_p20251029-glibc-2.43.patch
- "${FILESDIR}"/${PN}-0.9_p20251029-rump-link.patch
- "${FILESDIR}"/${PN}-0.9_p20251029-openrc-init-no-a.patch
- "${FILESDIR}"/${PN}-0.9_p20251029-libports-iterate-refcount.patch
-)
-
-src_prepare() {
- default
- [[ ${PV} == 9999 || ${PV} == *_p* ]] && eautoreconf
-}
-
-src_configure() {
- if target_is_not_host ; then
- local sysroot=/usr/${CTARGET}
- export MIG="${CTARGET}-mig"
-
- # Ensure we get compatible libdir
- unset DEFAULT_ABI MULTILIB_ABIS
- multilib_env
- ABI=${DEFAULT_ABI}
- fi
-
- local myeconfargs=(
- # XXX: --enable-static-progs seems to behave differently
- # to the default.
- --prefix="${EPREFIX}${sysroot}/usr"
- --datadir="${EPREFIX}${sysroot}/usr/share"
- --host=${CTARGET}
-
- # Builds everything twice and needs profiling libs
- --disable-profile
- )
-
- if ! use custom-cflags ; then
- strip-flags
- filter-lto
- # Hangs on boot without this
- append-flags -U_FORTIFY_SOURCE
- fi
-
- append-flags -Wl,--no-error-rwx-segments -Wl,--no-error-execstack -Wl,-z,notext
-
- # For cross-*, we always want a minimal build even with USE=-headers-only,
- # as we will need libshouldbeinlibc.
- if use headers-only || is_crosspkg ; then
- myeconfargs+=(
- ac_cv_func_file_exec_paths=no
- ac_cv_func_exec_exec_paths=no
- ac_cv_func__hurd_exec_paths=no
- ac_cv_func__hurd_libc_proc_init=no
- ac_cv_func_mach_port_set_ktype=no
- ac_cv_func_file_utimens=no
-
- --without-acpica
- --without-libcrypt
- --without-libbz2
- --without-libdaemon
- --without-libz
- --without-libtirpc
- --without-parted
- --without-rump
- --disable-ncursesw
- )
-
- cat <<-EOF >> config.make.in || die "Failed to amend config.make.in"
- HAVE_LIBGCRYPT = no
- HAVE_LIBPCIACCESS = no
- HAVE_XKBCOMMON = no
- EOF
- else
- myeconfargs+=(
- # TODO (nfs)
- --without-libtirpc
-
- --with-acpica
- --with-libcrypt
- --with-libbz2
- --with-libz
- # configure really wants parted
- # it's also essential for rumpdisk:
- # https://lists.gnu.org/r/bug-hurd/2023-05/msg00405.html
- --with-parted
-
- $(use_enable ncurses ncursesw)
- $(use_with rumpkernel rump)
- )
-
- cat <<-EOF >> config.make.in || die "Failed to amend config.make.in"
- HAVE_XKBCOMMON = $(usex xkb)
- EOF
- fi
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- if use headers-only ; then
- return
- elif is_crosspkg ; then
- # For the crossdev-built Hurd, we need to build enough s.t.
- # for the sysroot cross-built Hurd, its deps can be compiled
- # first (e.g. sys-block/parted, sys-kernel/rumpkernel).
- emake \
- lib-subdirs="libshouldbeinlibc libihash libstore libirqhelp" \
- prog-subdirs= \
- other-subdirs=
- else
- default
- fi
-}
-
-src_test() {
- use headers-only && return
- default
-}
-
-src_install() {
- if use headers-only ; then
- emake DESTDIR="${D}" install-headers no_deps=t
- elif is_crosspkg ; then
- emake DESTDIR="${D}" install-headers no_deps=t
- emake DESTDIR="${D}" install \
- lib-subdirs="libshouldbeinlibc libihash libstore libirqhelp" \
- prog-subdirs= \
- other-subdirs= \
- no_deps=t
- else
- emake DESTDIR="${D}" install
- fi
-
- if target_is_not_host ; then
- # TODO: Is this needed?
- # On Hurd, gcc expects system headers to be in /include, not /usr/include
- dosym usr/include /usr/${CTARGET}/include
-
- # Avoid collisions for other Hurd targets
- # TODO: autoconf var?
- rm -rfv "${ED}"/usr/share/info || die
- fi
-}
diff --git a/sys-kernel/hurd/hurd-0.9_p20260331.ebuild b/sys-kernel/hurd/hurd-0.9_p20260331.ebuild
deleted file mode 100644
index a328c8044a1f..000000000000
--- a/sys-kernel/hurd/hurd-0.9_p20260331.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit crossdev multilib flag-o-matic
-
-DESCRIPTION="GNU Hurd is the GNU project's replacement for UNIX"
-HOMEPAGE="https://www.gnu.org/software/hurd/hurd.html"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/hurd/hurd.git"
- inherit autotools git-r3
-elif [[ ${PV} == *_p* ]] ; then
- inherit autotools
-
- 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.bz2"
- #S="${WORKDIR}"/${MY_P/_/-}
-
- # Debian only make full snapshots every so often, but apply other
- # commits as backports. This is a bit awkward for us to follow, so
- # roll our own snapshots:
- # $ git archive --format=tar --prefix=hurd/ HEAD | xz > hurd-0.9_p20260331.tar.xz
- SRC_URI="https://distfiles.gentoo.org/pub/proj/hurd/snapshots/hurd/${P}.tar.xz"
- S="${WORKDIR}"/${PN}
-else
- SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
-fi
-
-LICENSE="GPL-2 BSD-2"
-SLOT="0"
-if is_crosspkg ; then
- IUSE="custom-cflags headers-only"
-else
- IUSE="custom-cflags headers-only lwip ncurses rumpkernel xkb"
-fi
-[[ ${PV} != 9999 ]] && KEYWORDS="~amd64 ~x86"
-
-if is_crosspkg ; then
- BDEPEND="
- !headers-only? ( cross-${CTARGET}/mig )
- "
-else
- DEPEND="
- app-arch/bzip2:=[static-libs]
- dev-libs/libdaemon:=
- >=dev-libs/libgcrypt-1.8.0:=
- dev-util/mig
- sys-apps/util-linux[static-libs]
- sys-block/parted[static-libs]
- sys-power/libacpica
- x11-libs/libpciaccess[static-libs]
- virtual/libcrypt:=[static-libs]
- virtual/zlib:=[static-libs]
- lwip? ( net-libs/lwip )
- ncurses? ( sys-libs/ncurses:= )
- rumpkernel? ( sys-kernel/rumpkernel )
- xkb? ( x11-libs/libxkbcommon )
- "
- RDEPEND="${DEPEND}"
- BDEPEND="virtual/pkgconfig"
-fi
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.9_p20251029-rump-link.patch
- "${FILESDIR}"/${PN}-0.9_p20251029-openrc-init-no-a.patch
- "${FILESDIR}"/${PN}-0.9_p20251029-libports-iterate-refcount.patch
-)
-
-src_prepare() {
- default
- [[ ${PV} == 9999 || ${PV} == *_p* ]] && eautoreconf
-}
-
-src_configure() {
- if target_is_not_host ; then
- local sysroot=/usr/${CTARGET}
- export MIG="${CTARGET}-mig"
-
- # Ensure we get compatible libdir
- unset DEFAULT_ABI MULTILIB_ABIS
- multilib_env
- ABI=${DEFAULT_ABI}
- fi
-
- local myeconfargs=(
- # XXX: --enable-static-progs seems to behave differently
- # to the default.
- --prefix="${EPREFIX}${sysroot}/usr"
- --datadir="${EPREFIX}${sysroot}/usr/share"
- --host=${CTARGET}
-
- # Builds everything twice and needs profiling libs
- --disable-profile
- )
-
- if ! use custom-cflags ; then
- strip-flags
- filter-lto
- # Hangs on boot without this
- append-flags -U_FORTIFY_SOURCE
- fi
-
- append-flags -Wl,--no-error-rwx-segments -Wl,--no-error-execstack -Wl,-z,notext
-
- # For cross-*, we always want a minimal build even with USE=-headers-only,
- # as we will need libshouldbeinlibc.
- if use headers-only || is_crosspkg ; then
- myeconfargs+=(
- ac_cv_func_file_exec_paths=no
- ac_cv_func_exec_exec_paths=no
- ac_cv_func__hurd_exec_paths=no
- ac_cv_func__hurd_libc_proc_init=no
- ac_cv_func_mach_port_set_ktype=no
- ac_cv_func_file_utimens=no
-
- --without-acpica
- --without-libcrypt
- --without-libbz2
- --without-libdaemon
- --without-libz
- --without-libtirpc
- --without-parted
- --without-rump
- --disable-ncursesw
- )
-
- cat <<-EOF >> config.make.in || die "Failed to amend config.make.in"
- HAVE_LIBGCRYPT = no
- HAVE_LIBPCIACCESS = no
- HAVE_LIBLWIP = no
- HAVE_XKBCOMMON = no
- EOF
- else
- myeconfargs+=(
- # TODO (nfs)
- --without-libtirpc
-
- --with-acpica
- --with-libcrypt
- --with-libbz2
- --with-libz
- # configure really wants parted
- # it's also essential for rumpdisk:
- # https://lists.gnu.org/r/bug-hurd/2023-05/msg00405.html
- --with-parted
-
- $(use_enable ncurses ncursesw)
- $(use_with rumpkernel rump)
- )
-
- cat <<-EOF >> config.make.in || die "Failed to amend config.make.in"
- HAVE_LIBLWIP = $(usex lwip)
- HAVE_XKBCOMMON = $(usex xkb)
- EOF
- fi
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- if use headers-only ; then
- return
- elif is_crosspkg ; then
- # For the crossdev-built Hurd, we need to build enough s.t.
- # for the sysroot cross-built Hurd, its deps can be compiled
- # first (e.g. sys-block/parted, sys-kernel/rumpkernel).
- emake \
- lib-subdirs="libshouldbeinlibc libihash libstore libirqhelp" \
- prog-subdirs= \
- other-subdirs=
- else
- default
- fi
-}
-
-src_test() {
- use headers-only && return
- default
-}
-
-src_install() {
- if use headers-only ; then
- emake DESTDIR="${D}" install-headers no_deps=t
- elif is_crosspkg ; then
- emake DESTDIR="${D}" install-headers no_deps=t
- emake DESTDIR="${D}" install \
- lib-subdirs="libshouldbeinlibc libihash libstore libirqhelp" \
- prog-subdirs= \
- other-subdirs= \
- no_deps=t
- else
- emake DESTDIR="${D}" install
- fi
-
- if target_is_not_host ; then
- # TODO: Is this needed?
- # On Hurd, gcc expects system headers to be in /include, not /usr/include
- dosym usr/include /usr/${CTARGET}/include
-
- # Avoid collisions for other Hurd targets
- # TODO: autoconf var?
- rm -rfv "${ED}"/usr/share/info || die
- fi
-}
diff --git a/sys-kernel/hurd/hurd-9999.ebuild b/sys-kernel/hurd/hurd-9999.ebuild
deleted file mode 100644
index a328c8044a1f..000000000000
--- a/sys-kernel/hurd/hurd-9999.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit crossdev multilib flag-o-matic
-
-DESCRIPTION="GNU Hurd is the GNU project's replacement for UNIX"
-HOMEPAGE="https://www.gnu.org/software/hurd/hurd.html"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/hurd/hurd.git"
- inherit autotools git-r3
-elif [[ ${PV} == *_p* ]] ; then
- inherit autotools
-
- 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.bz2"
- #S="${WORKDIR}"/${MY_P/_/-}
-
- # Debian only make full snapshots every so often, but apply other
- # commits as backports. This is a bit awkward for us to follow, so
- # roll our own snapshots:
- # $ git archive --format=tar --prefix=hurd/ HEAD | xz > hurd-0.9_p20260331.tar.xz
- SRC_URI="https://distfiles.gentoo.org/pub/proj/hurd/snapshots/hurd/${P}.tar.xz"
- S="${WORKDIR}"/${PN}
-else
- SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
-fi
-
-LICENSE="GPL-2 BSD-2"
-SLOT="0"
-if is_crosspkg ; then
- IUSE="custom-cflags headers-only"
-else
- IUSE="custom-cflags headers-only lwip ncurses rumpkernel xkb"
-fi
-[[ ${PV} != 9999 ]] && KEYWORDS="~amd64 ~x86"
-
-if is_crosspkg ; then
- BDEPEND="
- !headers-only? ( cross-${CTARGET}/mig )
- "
-else
- DEPEND="
- app-arch/bzip2:=[static-libs]
- dev-libs/libdaemon:=
- >=dev-libs/libgcrypt-1.8.0:=
- dev-util/mig
- sys-apps/util-linux[static-libs]
- sys-block/parted[static-libs]
- sys-power/libacpica
- x11-libs/libpciaccess[static-libs]
- virtual/libcrypt:=[static-libs]
- virtual/zlib:=[static-libs]
- lwip? ( net-libs/lwip )
- ncurses? ( sys-libs/ncurses:= )
- rumpkernel? ( sys-kernel/rumpkernel )
- xkb? ( x11-libs/libxkbcommon )
- "
- RDEPEND="${DEPEND}"
- BDEPEND="virtual/pkgconfig"
-fi
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.9_p20251029-rump-link.patch
- "${FILESDIR}"/${PN}-0.9_p20251029-openrc-init-no-a.patch
- "${FILESDIR}"/${PN}-0.9_p20251029-libports-iterate-refcount.patch
-)
-
-src_prepare() {
- default
- [[ ${PV} == 9999 || ${PV} == *_p* ]] && eautoreconf
-}
-
-src_configure() {
- if target_is_not_host ; then
- local sysroot=/usr/${CTARGET}
- export MIG="${CTARGET}-mig"
-
- # Ensure we get compatible libdir
- unset DEFAULT_ABI MULTILIB_ABIS
- multilib_env
- ABI=${DEFAULT_ABI}
- fi
-
- local myeconfargs=(
- # XXX: --enable-static-progs seems to behave differently
- # to the default.
- --prefix="${EPREFIX}${sysroot}/usr"
- --datadir="${EPREFIX}${sysroot}/usr/share"
- --host=${CTARGET}
-
- # Builds everything twice and needs profiling libs
- --disable-profile
- )
-
- if ! use custom-cflags ; then
- strip-flags
- filter-lto
- # Hangs on boot without this
- append-flags -U_FORTIFY_SOURCE
- fi
-
- append-flags -Wl,--no-error-rwx-segments -Wl,--no-error-execstack -Wl,-z,notext
-
- # For cross-*, we always want a minimal build even with USE=-headers-only,
- # as we will need libshouldbeinlibc.
- if use headers-only || is_crosspkg ; then
- myeconfargs+=(
- ac_cv_func_file_exec_paths=no
- ac_cv_func_exec_exec_paths=no
- ac_cv_func__hurd_exec_paths=no
- ac_cv_func__hurd_libc_proc_init=no
- ac_cv_func_mach_port_set_ktype=no
- ac_cv_func_file_utimens=no
-
- --without-acpica
- --without-libcrypt
- --without-libbz2
- --without-libdaemon
- --without-libz
- --without-libtirpc
- --without-parted
- --without-rump
- --disable-ncursesw
- )
-
- cat <<-EOF >> config.make.in || die "Failed to amend config.make.in"
- HAVE_LIBGCRYPT = no
- HAVE_LIBPCIACCESS = no
- HAVE_LIBLWIP = no
- HAVE_XKBCOMMON = no
- EOF
- else
- myeconfargs+=(
- # TODO (nfs)
- --without-libtirpc
-
- --with-acpica
- --with-libcrypt
- --with-libbz2
- --with-libz
- # configure really wants parted
- # it's also essential for rumpdisk:
- # https://lists.gnu.org/r/bug-hurd/2023-05/msg00405.html
- --with-parted
-
- $(use_enable ncurses ncursesw)
- $(use_with rumpkernel rump)
- )
-
- cat <<-EOF >> config.make.in || die "Failed to amend config.make.in"
- HAVE_LIBLWIP = $(usex lwip)
- HAVE_XKBCOMMON = $(usex xkb)
- EOF
- fi
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- if use headers-only ; then
- return
- elif is_crosspkg ; then
- # For the crossdev-built Hurd, we need to build enough s.t.
- # for the sysroot cross-built Hurd, its deps can be compiled
- # first (e.g. sys-block/parted, sys-kernel/rumpkernel).
- emake \
- lib-subdirs="libshouldbeinlibc libihash libstore libirqhelp" \
- prog-subdirs= \
- other-subdirs=
- else
- default
- fi
-}
-
-src_test() {
- use headers-only && return
- default
-}
-
-src_install() {
- if use headers-only ; then
- emake DESTDIR="${D}" install-headers no_deps=t
- elif is_crosspkg ; then
- emake DESTDIR="${D}" install-headers no_deps=t
- emake DESTDIR="${D}" install \
- lib-subdirs="libshouldbeinlibc libihash libstore libirqhelp" \
- prog-subdirs= \
- other-subdirs= \
- no_deps=t
- else
- emake DESTDIR="${D}" install
- fi
-
- if target_is_not_host ; then
- # TODO: Is this needed?
- # On Hurd, gcc expects system headers to be in /include, not /usr/include
- dosym usr/include /usr/${CTARGET}/include
-
- # Avoid collisions for other Hurd targets
- # TODO: autoconf var?
- rm -rfv "${ED}"/usr/share/info || die
- fi
-}
diff --git a/sys-kernel/hurd/metadata.xml b/sys-kernel/hurd/metadata.xml
deleted file mode 100644
index 8621fb0bcba0..000000000000
--- a/sys-kernel/hurd/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>hurd@gentoo.org</email>
- <name>GNU Hurd project</name>
- </maintainer>
- <use>
- <flag name="lwip">
- Build alternative userland TCP/IP stack lwIP, from
- <pkg>net-libs/lwip</pkg>.
- </flag>
- <flag name="ncurses">
- Build console-curses client for non-basic capabilities,
- unlike the builtin one.
- </flag>
- <flag name="rumpkernel">
- Build <pkg>sys-kernel/rumpkernel</pkg> support which provides
- drivers from NetBSD run in userland. This is needed for 64-bit
- systems and is considered the future of driver and hardware
- support on Hurd.
- </flag>
- <flag name="xkb">
- Depend on <pkg>x11-libs/libxkbcommon</pkg> for keymap support in
- the console.
- </flag>
- </use>
-</pkgmetadata>