summaryrefslogtreecommitdiff
path: root/sys-apps
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-09-22 18:47:35 -0500
committerCrucible <crucible@localhost>2026-09-22 18:47:35 -0500
commitcde96c5ea0c81397fd3214d455a374f76179a7aa (patch)
tree12c86d59eb88887c244b1145411db084ae5a6c1f /sys-apps
parent47516b9667518dacb1efd6d257f7b3e6a481ec93 (diff)
downloadbaldeagleos-repo-cde96c5ea0c81397fd3214d455a374f76179a7aa.tar.gz
baldeagleos-repo-cde96c5ea0c81397fd3214d455a374f76179a7aa.tar.xz
baldeagleos-repo-cde96c5ea0c81397fd3214d455a374f76179a7aa.zip
Publish baldeagleos-repo candidate 0000000325-20260922-184323
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/bleachbit/bleachbit-6.0.0.ebuild2
-rw-r--r--sys-apps/epoch/epoch-1.3.0-r1.ebuild2
-rw-r--r--sys-apps/miller/miller-6.20.2.ebuild2
-rw-r--r--sys-apps/moor/moor-2.17.0.ebuild2
-rw-r--r--sys-apps/most/most-5.2.0-r1.ebuild4
-rw-r--r--sys-apps/portage/portage-3.0.82.2.ebuild2
-rw-r--r--sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild2
-rw-r--r--sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild2
-rw-r--r--sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild2
-rw-r--r--sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild2
-rw-r--r--sys-apps/s6/s6-2.15.0.0.ebuild2
-rw-r--r--sys-apps/shadow/shadow-4.20.2.ebuild2
-rw-r--r--sys-apps/systemd-utils/Manifest2
-rw-r--r--sys-apps/systemd-utils/files/musl-efi-wchar.patch29
-rw-r--r--sys-apps/systemd-utils/files/systemd-256-test-echo.patch35
-rw-r--r--sys-apps/systemd-utils/files/systemd-utils-255-musl-fgetxxent.patch61
-rw-r--r--sys-apps/systemd-utils/systemd-utils-255.18.ebuild623
-rw-r--r--sys-apps/systemd/Manifest1
-rw-r--r--sys-apps/systemd/systemd-262.ebuild620
-rw-r--r--sys-apps/uutils-coreutils/Manifest2
-rw-r--r--sys-apps/uutils-coreutils/uutils-coreutils-0.12.0.ebuild132
-rw-r--r--sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild4
22 files changed, 1520 insertions, 15 deletions
diff --git a/sys-apps/bleachbit/bleachbit-6.0.0.ebuild b/sys-apps/bleachbit/bleachbit-6.0.0.ebuild
index e0b973616f48..b22b2dae54af 100644
--- a/sys-apps/bleachbit/bleachbit-6.0.0.ebuild
+++ b/sys-apps/bleachbit/bleachbit-6.0.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/sys-apps/epoch/epoch-1.3.0-r1.ebuild b/sys-apps/epoch/epoch-1.3.0-r1.ebuild
index 625ed5dc2b24..483facc36eef 100644
--- a/sys-apps/epoch/epoch-1.3.0-r1.ebuild
+++ b/sys-apps/epoch/epoch-1.3.0-r1.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}_${PV/rc/RC}"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~amd64 arm ~x86"
+KEYWORDS="amd64 arm x86"
pkg_pretend() {
local CONFIG_CHECK="~PROC_FS"
diff --git a/sys-apps/miller/miller-6.20.2.ebuild b/sys-apps/miller/miller-6.20.2.ebuild
index 4ed6cdc18db7..10b8df87344a 100644
--- a/sys-apps/miller/miller-6.20.2.ebuild
+++ b/sys-apps/miller/miller-6.20.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI+=" https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/
LICENSE="Apache-2.0 BSD BSD-2 ISC MIT Unlicense"
SLOT="0"
-KEYWORDS="~amd64 arm ~x86"
+KEYWORDS="amd64 arm x86"
BDEPEND="
>=dev-lang/go-1.25.0
diff --git a/sys-apps/moor/moor-2.17.0.ebuild b/sys-apps/moor/moor-2.17.0.ebuild
index bab32334725a..82c9851d6381 100644
--- a/sys-apps/moor/moor-2.17.0.ebuild
+++ b/sys-apps/moor/moor-2.17.0.ebuild
@@ -16,7 +16,7 @@ LICENSE="BSD-2 BSD MIT"
# Dependent licenses
LICENSE+=" Apache-2.0 BSD BSD-2 ISC MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~ppc64"
+KEYWORDS="amd64 ~arm arm64 ~ppc64"
IUSE="test l10n_ru"
RESTRICT="!test? ( test )"
diff --git a/sys-apps/most/most-5.2.0-r1.ebuild b/sys-apps/most/most-5.2.0-r1.ebuild
index 37afde5d2727..f4267da626ad 100644
--- a/sys-apps/most/most-5.2.0-r1.ebuild
+++ b/sys-apps/most/most-5.2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm ~arm64 ~mips ppc ppc64 ~riscv ~sparc x86 ~x64-macos"
RDEPEND=">=sys-libs/slang-2.1.3"
DEPEND="${RDEPEND}"
diff --git a/sys-apps/portage/portage-3.0.82.2.ebuild b/sys-apps/portage/portage-3.0.82.2.ebuild
index 36bc4a481031..ac6ba9f834ba 100644
--- a/sys-apps/portage/portage-3.0.82.2.ebuild
+++ b/sys-apps/portage/portage-3.0.82.2.ebuild
@@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
fi
LICENSE="GPL-2"
diff --git a/sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild b/sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild
index 1a52019289c7..5ee41561fecf 100644
--- a/sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild
+++ b/sys-apps/s6-linux-init/s6-linux-init-1.2.0.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~mips ~x86"
+KEYWORDS="~alpha amd64 arm ~mips ~x86"
IUSE="+sysv-utils"
RDEPEND="
diff --git a/sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild b/sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild
index 0281f5cff15f..59533db02de2 100644
--- a/sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild
+++ b/sys-apps/s6-linux-utils/s6-linux-utils-2.6.4.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 arm ~arm64 ~x86"
RDEPEND=">=dev-libs/skalibs-2.15.0.0:="
DEPEND="
diff --git a/sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild b/sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild
index 6c784b3fde88..857a206d4177 100644
--- a/sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild
+++ b/sys-apps/s6-portable-utils/s6-portable-utils-2.3.1.2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="amd64 arm ~x86"
RDEPEND=">=dev-libs/skalibs-2.15.0.0:="
DEPEND="${RDEPEND}"
diff --git a/sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild b/sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild
index 2ace8036b227..a7592f71cf8e 100644
--- a/sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild
+++ b/sys-apps/s6-rc/s6-rc-0.6.1.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="amd64 arm ~x86"
IUSE="system-init"
RDEPEND="
diff --git a/sys-apps/s6/s6-2.15.0.0.ebuild b/sys-apps/s6/s6-2.15.0.0.ebuild
index f04ab2bd53c1..4f9e6d33a394 100644
--- a/sys-apps/s6/s6-2.15.0.0.ebuild
+++ b/sys-apps/s6/s6-2.15.0.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
IUSE="+execline"
RDEPEND="
diff --git a/sys-apps/shadow/shadow-4.20.2.ebuild b/sys-apps/shadow/shadow-4.20.2.ebuild
index eba759681baf..31664a96159d 100644
--- a/sys-apps/shadow/shadow-4.20.2.ebuild
+++ b/sys-apps/shadow/shadow-4.20.2.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD GPL-2"
# Subslot is for libsubid's SONAME.
SLOT="0/6"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="acl audit nls pam selinux skey split-usr su systemd test"
RESTRICT="!test? ( test )"
diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
index 18fbfa5a74ea..9b8df89c70ff 100644
--- a/sys-apps/systemd-utils/Manifest
+++ b/sys-apps/systemd-utils/Manifest
@@ -1 +1,3 @@
DIST systemd-260.1.tar.gz 17581096 BLAKE2B 072424e7288f8796be1e6952fadc5452c2ab54633b356796a29872609a03b4cc2edbc0cac0df7542bc969b06d265d2cbf52f9174742c5a570a5a3d7a7664cfa8 SHA512 9f975dce6861853a817a7ceab18a24449a85d1bda6939b3a5173430c02a4d8a9a2b34ebb8cce1c51db9b0ff9078fcc65da7b0f44e3bdcbbe013b9e04bb6f0ff9
+DIST systemd-musl-patches-255.14.tar.gz 31519 BLAKE2B 1ada38b3536370f3f20f94abb122b6dc72e2dac6d34baad49ae0c154810197dab6d225457f81c2b78c58cf7fe14070da9ca1902bec6d8f892d55394af67155b5 SHA512 ff9cb11f687e7895b93b55933c330f69067546d48cc0f23a029990e095245c78e046023636f82d11fec1b03a5349d4d747c9625fd34ef7f9445a54a44b25cccb
+DIST systemd-stable-255.18.tar.gz 15258834 BLAKE2B 03b97b0bb6f5cd8f93bf72c40cf52426c07ab5fa74bd19caf771d54e823fa321de633ef3cc6e482210250c1408e092a6dae6710e992ac2a4b3c5e9670d803adc SHA512 4550fa313a45b277dc32df74a13cfd06486ced724f40c1eebc61a9ba76f79b58dd4372da851710cb5d8bb13e98a5cfcb377fe22171ef5bee0209f4bf067c87ad
diff --git a/sys-apps/systemd-utils/files/musl-efi-wchar.patch b/sys-apps/systemd-utils/files/musl-efi-wchar.patch
new file mode 100644
index 000000000000..a3681552d33f
--- /dev/null
+++ b/sys-apps/systemd-utils/files/musl-efi-wchar.patch
@@ -0,0 +1,29 @@
+From c4050bd401611f6223c00e58ac9c26b9caccd286 Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Sat, 9 Sep 2023 13:10:53 -0400
+Subject: [PATCH] efi: append -D__DEFINED_wchar_t to LDFLAGS
+
+This forces systemd-boot to use the wchar_t type defined from
+__WCHAR_TYPE__ in efi.h, instead of the wchar_t defined in musl's
+alltypes.h. Adapted from openembedded's solution.
+
+Signed-off-by: Violet Purcell <vimproved@inventati.org>
+---
+ src/boot/efi/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
+index 2773eaf286..3c1e09c729 100644
+--- a/src/boot/efi/meson.build
++++ b/src/boot/efi/meson.build
+@@ -130,6 +130,7 @@ efi_includes = [fundamental_include, include_directories('.')]
+
+ efi_c_args = [
+ '-DSD_BOOT=1',
++ '-D__DEFINED_wchar_t',
+ '-ffreestanding',
+ '-fno-strict-aliasing',
+ '-fshort-wchar',
+--
+2.42.0
+
diff --git a/sys-apps/systemd-utils/files/systemd-256-test-echo.patch b/sys-apps/systemd-utils/files/systemd-256-test-echo.patch
new file mode 100644
index 000000000000..499e4c394c8b
--- /dev/null
+++ b/sys-apps/systemd-utils/files/systemd-256-test-echo.patch
@@ -0,0 +1,35 @@
+https://github.com/systemd/systemd/pull/40607
+
+From 3eba9932b163a5b40ae0485f3629109730b71dd2 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sun, 8 Feb 2026 19:12:30 -0500
+Subject: [PATCH] meson: use printf instead of echo
+
+The echo builtin provided by some shells (mksh) will interpret \x2d as
+an escape sequence. This causes meson to fail:
+
+```
+test/fuzz/meson.build:93:52: ERROR: File fuzz-unit-file/dm-back-slash.swap does not exist.
+```
+
+Bug: https://bugs.gentoo.org/969789
+---
+ test/fuzz/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/fuzz/meson.build b/test/fuzz/meson.build
+index 54cbb75532..9e0e50f45b 100644
+--- a/test/fuzz/meson.build
++++ b/test/fuzz/meson.build
+@@ -74,7 +74,7 @@ if git.found() and fs.is_dir(project_source_root / '.git')
+ 'ls-files', ':/@0@/*/*'.format(fuzz_testsdir),
+ check: true)
+ else
+- out = run_command(sh, '-c', 'cd "@0@"; echo @1@/*/*'.format(project_source_root, fuzz_testsdir), check: true)
++ out = run_command(sh, '-c', 'cd "@0@"; printf "%s " @1@/*/*'.format(project_source_root, fuzz_testsdir), check: true)
+ endif
+
+ # Add crafted fuzz inputs we have in the repo
+--
+2.53.0
+
diff --git a/sys-apps/systemd-utils/files/systemd-utils-255-musl-fgetxxent.patch b/sys-apps/systemd-utils/files/systemd-utils-255-musl-fgetxxent.patch
new file mode 100644
index 000000000000..682c0c7c21af
--- /dev/null
+++ b/sys-apps/systemd-utils/files/systemd-utils-255-musl-fgetxxent.patch
@@ -0,0 +1,61 @@
+https://github.com/systemd/systemd/pull/33252
+
+From 85277a97b222ce19cf951d2c99b1693e8c34fc45 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Fri, 7 Jun 2024 12:28:41 -0400
+Subject: [PATCH] user-util: fix fgetxxent_sane on musl
+
+musl's implementation does not set errno to ENOENT when the end of file
+is reached. It returns NULL and leaves errno unchanged.
+---
+ src/basic/user-util.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/basic/user-util.c b/src/basic/user-util.c
+index b3df413be6b06..6bdf5bf1cdc9a 100644
+--- a/src/basic/user-util.c
++++ b/src/basic/user-util.c
+@@ -977,8 +977,8 @@ int fgetpwent_sane(FILE *stream, struct passwd **pw) {
+
+ errno = 0;
+ struct passwd *p = fgetpwent(stream);
+- if (!p && errno != ENOENT)
+- return errno_or_else(EIO);
++ if (!p && !IN_SET(errno, 0, ENOENT))
++ return -errno;
+
+ *pw = p;
+ return !!p;
+@@ -990,8 +990,8 @@ int fgetspent_sane(FILE *stream, struct spwd **sp) {
+
+ errno = 0;
+ struct spwd *s = fgetspent(stream);
+- if (!s && errno != ENOENT)
+- return errno_or_else(EIO);
++ if (!s && !IN_SET(errno, 0, ENOENT))
++ return -errno;
+
+ *sp = s;
+ return !!s;
+@@ -1003,8 +1003,8 @@ int fgetgrent_sane(FILE *stream, struct group **gr) {
+
+ errno = 0;
+ struct group *g = fgetgrent(stream);
+- if (!g && errno != ENOENT)
+- return errno_or_else(EIO);
++ if (!g && !IN_SET(errno, 0, ENOENT))
++ return -errno;
+
+ *gr = g;
+ return !!g;
+@@ -1017,8 +1017,8 @@ int fgetsgent_sane(FILE *stream, struct sgrp **sg) {
+
+ errno = 0;
+ struct sgrp *s = fgetsgent(stream);
+- if (!s && errno != ENOENT)
+- return errno_or_else(EIO);
++ if (!s && !IN_SET(errno, 0, ENOENT))
++ return -errno;
+
+ *sg = s;
+ return !!s;
diff --git a/sys-apps/systemd-utils/systemd-utils-255.18.ebuild b/sys-apps/systemd-utils/systemd-utils-255.18.ebuild
new file mode 100644
index 000000000000..4deea94130eb
--- /dev/null
+++ b/sys-apps/systemd-utils/systemd-utils-255.18.ebuild
@@ -0,0 +1,623 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{13..14} )
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils
+inherit python-single-r1 secureboot udev
+
+DESCRIPTION="Utilities split out from systemd for OpenRC users"
+HOMEPAGE="https://systemd.io/"
+
+if [[ ${PV} == *.* ]]; then
+ MY_P="systemd-stable-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+else
+ MY_P="systemd-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+fi
+
+MUSL_PATCHSET="systemd-musl-patches-255.14"
+SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify"
+REQUIRED_USE="
+ || ( kernel-install tmpfiles sysusers udev )
+ boot? ( kernel-install )
+ ukify? ( boot )
+ ${PYTHON_REQUIRED_USE}
+"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ elibc_musl? ( >=sys-libs/musl-1.2.3 )
+ selinux? ( sys-libs/libselinux:0= )
+ tmpfiles? (
+ acl? ( sys-apps/acl:0= )
+ )
+ udev? (
+ >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
+ sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+ virtual/libcrypt:=[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl:0= )
+ kmod? ( >=sys-apps/kmod-15:0= )
+ )
+ !udev? (
+ >=sys-apps/util-linux-2.30:0=
+ sys-libs/libcap:0=
+ virtual/libcrypt:=
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.11
+"
+
+PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
+
+RDEPEND="${COMMON_DEPEND}
+ boot? ( !<sys-boot/systemd-boot-250 )
+ ukify? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep "${PEFILE_DEPEND}")
+ )
+ tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
+ udev? (
+ acct-group/audio
+ acct-group/cdrom
+ acct-group/dialout
+ acct-group/disk
+ acct-group/floppy
+ acct-group/input
+ acct-group/kmem
+ acct-group/kvm
+ acct-group/lp
+ acct-group/render
+ acct-group/sgx
+ acct-group/tape
+ acct-group/tty
+ acct-group/usb
+ acct-group/video
+ !sys-apps/gentoo-systemd-integration
+ !<sys-fs/udev-250
+ !sys-fs/eudev
+ )
+ !sys-apps/systemd
+"
+PDEPEND="
+ udev? ( >=sys-fs/udev-init-scripts-34 )
+"
+BDEPEND="
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-util/gperf
+ dev-util/patchelf
+ >=sys-apps/coreutils-8.16
+ sys-devel/gettext
+ virtual/pkgconfig
+ $(python_gen_cond_dep "
+ dev-python/jinja2[\${PYTHON_USEDEP}]
+ boot? (
+ >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}]
+ test? ( ${PEFILE_DEPEND} )
+ )
+ ")
+"
+
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+
+CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED
+ ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then
+ linux-info_pkg_setup
+ fi
+ use boot && secureboot_pkg_setup
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/systemd-utils-255-musl-fgetxxent.patch"
+ "${FILESDIR}/systemd-256-test-echo.patch"
+ )
+
+ if use elibc_musl; then
+ PATCHES+=(
+ "${WORKDIR}/${MUSL_PATCHSET}"
+ "${FILESDIR}/musl-efi-wchar.patch"
+ )
+ fi
+ default
+}
+
+src_configure() {
+ python_setup
+ meson-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ # default is developer, bug 918671
+ -Dmode=release
+ -Dsysvinit-path=
+ $(meson_native_use_feature boot bootloader)
+ $(meson_native_use_bool kernel-install)
+ $(meson_native_use_feature selinux)
+ $(meson_native_use_bool sysusers)
+ $(meson_use test tests)
+ $(meson_native_use_bool tmpfiles)
+ $(meson_use udev hwdb)
+ $(meson_native_use_feature ukify)
+
+ # Disable all optional features
+ -Dadm-group=false
+ -Danalyze=false
+ -Dapparmor=disabled
+ -Daudit=disabled
+ -Dbacklight=false
+ -Dbinfmt=false
+ -Dbpf-framework=disabled
+ -Dbzip2=disabled
+ -Dcoredump=false
+ -Ddbus=disabled
+ -Delfutils=disabled
+ -Denvironment-d=false
+ -Dfdisk=disabled
+ -Dgcrypt=disabled
+ -Dglib=disabled
+ -Dgshadow=false
+ -Dgnutls=disabled
+ -Dhibernate=false
+ -Dhostnamed=false
+ -Didn=false
+ -Dima=false
+ -Dinitrd=false
+ -Dfirstboot=false
+ -Dldconfig=false
+ -Dlibcryptsetup=disabled
+ -Dlibcurl=disabled
+ -Dlibfido2=disabled
+ -Dlibidn=disabled
+ -Dlibidn2=disabled
+ -Dlibiptc=disabled
+ -Dlocaled=false
+ -Dlogind=false
+ -Dlz4=disabled
+ -Dmachined=false
+ -Dmicrohttpd=disabled
+ -Dnetworkd=false
+ -Dnscd=false
+ -Dnss-myhostname=false
+ -Dnss-resolve=disabled
+ -Dnss-systemd=false
+ -Doomd=false
+ -Dopenssl=disabled
+ -Dp11kit=disabled
+ -Dpam=disabled
+ -Dpcre2=disabled
+ -Dpolkit=disabled
+ -Dportabled=false
+ -Dpstore=false
+ -Dpwquality=disabled
+ -Drandomseed=false
+ -Dresolve=false
+ -Drfkill=false
+ -Dseccomp=disabled
+ -Dsmack=false
+ -Dsysext=false
+ -Dtimedated=false
+ -Dtimesyncd=false
+ -Dtpm=false
+ -Dqrencode=disabled
+ -Dquotacheck=false
+ -Duserdb=false
+ -Dutmp=false
+ -Dvconsole=false
+ -Dwheel-group=false
+ -Dxdg-autostart=false
+ -Dxkbcommon=disabled
+ -Dxz=disabled
+ -Dzlib=disabled
+ -Dzstd=disabled
+ )
+
+ if use tmpfiles || use udev; then
+ emesonargs+=( $(meson_native_use_feature acl) )
+ else
+ emesonargs+=( -Dacl=disabled )
+ fi
+
+ if use udev; then
+ emesonargs+=( $(meson_native_use_feature kmod) )
+ else
+ emesonargs+=( -Dkmod=disabled )
+ fi
+
+ if use elibc_musl; then
+ # Avoid redefinition of struct ethhdr.
+ append-cppflags -D__UAPI_DEF_ETHHDR=0
+ fi
+
+ if multilib_is_native_abi || use udev; then
+ meson_src_configure
+ fi
+}
+
+have_dmi() {
+ # see dmi_arches in meson.build
+ case ${CHOST} in
+ mips64*)
+ return 1 ;;
+ aarch64*|arm*|ia64*|i?86*|loongarch64*|mips*|x86_64*)
+ return 0 ;;
+ esac
+ return 1
+}
+
+multilib_src_compile() {
+ local targets=() optional_targets=()
+ if multilib_is_native_abi; then
+ if use boot; then
+ local efi_arch= efi_arch_alt=
+ case ${CHOST} in
+ aarch64*) efi_arch=aa64 ;;
+ arm*) efi_arch=arm ;;
+ loongarch32*) efi_arch=loongarch32 ;;
+ loongarch64*) efi_arch=loongarch64 ;;
+ riscv32*) efi_arch=riscv32 ;;
+ riscv64*) efi_arch=riscv64 ;;
+ x86_64*) efi_arch=x64 efi_arch_alt=ia32;;
+ i?86*) efi_arch=ia32 ;;
+ esac
+ targets+=(
+ bootctl
+ man/bootctl.1
+ src/boot/efi/systemd-boot${efi_arch}.efi
+ src/boot/efi/linux${efi_arch}.efi.stub
+ src/boot/efi/addon${efi_arch}.efi.stub
+ )
+ if [[ -n ${efi_arch_alt} ]]; then
+ # If we have a multilib toolchain, meson.build will build the
+ # "alt" arch (ia32). There's no easy way to detect this, so try
+ # to build it and ignore failure.
+ optional_targets+=(
+ src/boot/efi/systemd-boot${efi_arch_alt}.efi
+ src/boot/efi/linux${efi_arch_alt}.efi.stub
+ src/boot/efi/addon${efi_arch_alt}.efi.stub
+ )
+ fi
+
+ fi
+ if use kernel-install; then
+ targets+=(
+ kernel-install
+ src/kernel-install/90-loaderentry.install
+ man/kernel-install.8
+ )
+ fi
+ if use sysusers; then
+ targets+=(
+ systemd-sysusers
+ man/sysusers.d.5
+ man/systemd-sysusers.8
+ )
+ if use test; then
+ targets+=(
+ systemd-runtest.env
+ )
+ fi
+ fi
+ if use tmpfiles; then
+ targets+=(
+ systemd-tmpfiles
+ man/tmpfiles.d.5
+ man/systemd-tmpfiles.8
+ tmpfiles.d/{etc,static-nodes-permissions,var}.conf
+ )
+ if use test; then
+ targets+=(
+ test-offline-passwd
+ test-tmpfile-util
+ )
+ fi
+ fi
+ if use udev; then
+ targets+=(
+ udevadm
+ systemd-hwdb
+ ata_id
+ cdrom_id
+ fido_id
+ iocost
+ mtd_probe
+ scsi_id
+ v4l_id
+ src/udev/udev.pc
+ man/udev.conf.5
+ man/systemd.link.5
+ man/hwdb.7
+ man/udev.7
+ man/systemd-hwdb.8
+ man/systemd-udevd.service.8
+ man/udevadm.8
+ man/libudev.3
+ man/udev_device_get_syspath.3
+ man/udev_device_has_tag.3
+ man/udev_device_new_from_syspath.3
+ man/udev_enumerate_add_match_subsystem.3
+ man/udev_enumerate_new.3
+ man/udev_enumerate_scan_devices.3
+ man/udev_list_entry.3
+ man/udev_monitor_filter_update.3
+ man/udev_monitor_new_from_netlink.3
+ man/udev_monitor_receive_device.3
+ man/udev_new.3
+ hwdb.d/60-autosuspend-chromiumos.hwdb
+ rules.d/50-udev-default.rules
+ rules.d/60-persistent-storage.rules
+ rules.d/64-btrfs.rules
+ # Needed for tests
+ rules.d/99-systemd.rules
+ )
+ if have_dmi; then
+ targets+=( dmi_memory_id )
+ fi
+ if use test; then
+ targets+=(
+ test-fido-id-desc
+ test-link-config-tables
+ test-udev-builtin
+ test-udev-device-thread
+ test-udev-format
+ test-udev-manager
+ test-udev-node
+ test-udev-rule-runner
+ test-udev-rules
+ test-udev-spawn
+ test-udev-util
+ )
+ fi
+ fi
+ if use ukify; then
+ targets+=(
+ ukify
+ src/kernel-install/60-ukify.install
+ man/ukify.1
+ )
+ fi
+ fi
+ if use udev; then
+ targets+=(
+ libudev
+ src/libudev/libudev.pc
+ )
+ if use test; then
+ targets+=(
+ test-libudev
+ test-libudev-sym
+ test-udev-device-thread
+ )
+ fi
+ fi
+ if [[ ${#targets[@]} -ne 0 ]]; then
+ meson_src_compile "${targets[@]}"
+ fi
+ if [[ ${#optional_targets[@]} -ne 0 ]]; then
+ ninja ${NINJAOPTS} "${optional_targets[@]}"
+ fi
+}
+
+multilib_src_test() {
+ local tests=()
+ if multilib_is_native_abi; then
+ if use boot; then
+ tests+=( --suite boot )
+ fi
+ if use kernel-install; then
+ tests+=( --suite kernel-install )
+ fi
+ if use sysusers; then
+ tests+=( --suite sysusers )
+ fi
+ if use tmpfiles; then
+ tests+=( --suite tmpfiles )
+ fi
+ if use udev; then
+ tests+=( --suite udev )
+ fi
+ fi
+ if use udev; then
+ tests+=( --suite libudev )
+ fi
+ if [[ ${#tests[@]} -ne 0 ]]; then
+ meson_src_test --no-rebuild "${tests[@]}"
+ fi
+}
+
+src_install() {
+ meson-multilib_src_install
+}
+
+set_rpath() {
+ patchelf --set-rpath "${EPREFIX}/usr/$(get_libdir)/systemd" "$@" || die "patchelf failed"
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ exeinto "/usr/$(get_libdir)/systemd"
+ doexe src/shared/libsystemd-shared-${PV%%.*}.so
+ if use boot; then
+ set_rpath bootctl
+ dobin bootctl
+ doman man/bootctl.1
+ meson_install --no-rebuild --tags systemd-boot
+ fi
+ if use kernel-install; then
+ set_rpath kernel-install
+ dobin kernel-install
+ doman man/kernel-install.8
+ exeinto /usr/lib/kernel/install.d
+ doexe src/kernel-install/*.install
+ fi
+ if use sysusers; then
+ set_rpath systemd-sysusers
+ dobin systemd-sysusers
+ doman man/{systemd-sysusers.8,sysusers.d.5}
+ fi
+ if use tmpfiles; then
+ set_rpath systemd-tmpfiles
+ dobin systemd-tmpfiles
+ doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
+ insinto /usr/lib/tmpfiles.d
+ doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf
+ fi
+ if use udev; then
+ set_rpath udevadm systemd-hwdb
+ dobin udevadm systemd-hwdb
+ dosym ../../bin/udevadm /usr/lib/systemd/systemd-udevd
+ if use split-usr; then
+ # elogind installs udev rules that hard-code /bin/udevadm
+ dosym ../usr/bin/udevadm /bin/udevadm
+ fi
+
+ exeinto /usr/lib/udev
+ set_rpath {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id}
+ doexe {ata_id,cdrom_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id}
+
+ if have_dmi; then
+ set_rpath dmi_memory_id
+ doexe dmi_memory_id
+ fi
+
+ rm -f rules.d/99-systemd.rules
+ insinto /usr/lib/udev/rules.d
+ doins rules.d/*.rules
+
+ insinto /usr/lib/udev/hwdb.d
+ doins hwdb.d/*.hwdb
+
+ insinto /usr/share/pkgconfig
+ doins src/udev/udev.pc
+
+ doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
+ newman man/systemd-udevd.service.8 systemd-udevd.8
+ doman man/libudev.3
+ doman man/udev_*.3
+ fi
+ if use ukify; then
+ dobin ukify
+ dosym ../../bin/ukify /usr/lib/systemd/ukify
+ doman man/ukify.1
+ fi
+ fi
+ if use udev; then
+ meson_install --no-rebuild --tags libudev
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ doins src/libudev/libudev.pc
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use boot; then
+ dobashcomp shell-completion/bash/bootctl
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/{_bootctl,_kernel-install}
+ fi
+ if use kernel-install; then
+ exeinto /usr/lib/kernel/install.d
+ doexe src/kernel-install/*.install
+ fi
+ if use tmpfiles; then
+ doinitd "${FILESDIR}"/systemd-tmpfiles-setup
+ doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
+ exeinto /etc/cron.daily
+ doexe "${FILESDIR}"/systemd-tmpfiles-clean
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_systemd-tmpfiles
+ insinto /usr/lib/tmpfiles.d
+ doins tmpfiles.d/x11.conf
+ doins "${FILESDIR}"/{legacy,tmp}.conf
+ fi
+ if use udev; then
+ doheader src/libudev/libudev.h
+
+ insinto /etc/udev
+ doins src/udev/udev.conf
+ keepdir /etc/udev/{hwdb.d,rules.d}
+
+ insinto /usr/lib/systemd/network
+ doins network/99-default.link
+
+ # Remove to avoid conflict with elogind
+ # https://bugs.gentoo.org/856433
+ rm rules.d/70-power-switch.rules || die
+ insinto /usr/lib/udev/rules.d
+ doins rules.d/*.rules
+ doins "${FILESDIR}"/40-gentoo.rules
+
+ insinto /usr/lib/udev/hwdb.d
+ doins hwdb.d/*.hwdb
+
+ dobashcomp shell-completion/bash/udevadm
+
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_udevadm
+ fi
+
+ use ukify && python_fix_shebang "${ED}"
+ use boot && secureboot_auto_sign
+}
+
+add_service() {
+ local initd=$1
+ local runlevel=$2
+
+ ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
+ mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
+ ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
+ eend $?
+}
+
+pkg_preinst() {
+ # Migrate /lib/{systemd,udev} to /usr/lib
+ if use split-usr; then
+ local d
+ for d in systemd udev; do
+ dosym ../usr/lib/${d} /lib/${d}
+ if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} ]]; then
+ einfo "Copying files from '${EROOT}/lib/${d}' to '${EROOT}/usr/lib/${d}'"
+ cp -rpPT "${EROOT}/lib/${d}" "${EROOT}/usr/lib/${d}" || die
+ einfo "Removing '${EROOT}/lib/${d}'"
+ rm -r "${EROOT}/lib/${d}" || die
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ add_service systemd-tmpfiles-setup-dev sysinit
+ add_service systemd-tmpfiles-setup boot
+ fi
+ if use udev; then
+ ebegin "Updating hwdb"
+ systemd-hwdb --root="${ROOT}" update
+ eend $?
+ udev_reload
+ fi
+}
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index e5e7b2f3cc8f..ffaa674943c5 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -8,3 +8,4 @@ DIST systemd-261.3.tar.gz 18560547 BLAKE2B d0809439fea1f8c8b00a597ea5a09ff045500
DIST systemd-261.tar.gz 18390754 BLAKE2B 3e307fa237911ee18e9dca2e3e26eac4859fe19bd856c970d9c557ed2a3420944a20affad60bf10dc4cada657778bac38a1a529fc0081ba255550bfd4c1a1f06 SHA512 6a21c2a9bd83d962db4e6c095078ec79259d8109583b59094d17e76c0826e96a6183778f46b64352b0fe62cb8890736e9331f35e9a4c8b65f9b574fa915f9fd8
DIST systemd-262-rc1.tar.gz 18982539 BLAKE2B b2164077a03d0a473fc2182b8f8926d4429b2ec49c48754db47a1c9fcdd4fcdbd13097c92747c611a09975edf5866d8a6a5b9537febf4d956285db4c1d145779 SHA512 5bd4ed38246de1ea17b46fcc6f921f94a53047cec4dc53b005afd4ca75cd50d631b92c6662204871ad2c0808694244ec15d90732b1251d15bf5f9d74b6a2a7f0
DIST systemd-262-rc2.tar.gz 19014998 BLAKE2B 8121400c571d74afde0d4d6e89358704c77dbab46fe7338871d268f39134e1f3b5d5b42a7a5a97ce4a721d2a38930d5d47c84ee04ef6787090deba31d676cee4 SHA512 8d4f8d41e0af6b058d922490896bdbc8487927b2b1db488a9c24614bac4fc3a14bafcd50901251d4ad4095cc2f56782f900fb32e0a70aab56f6a69fdfd257442
+DIST systemd-262.tar.gz 19038647 BLAKE2B 5dbc27b589a4d7e320eed48a8f0f1a55212137fdd29e5be5303008a70e0265b0cdf66c245b8f82f92dfec323665ecac87a530f6fbe12802c925af395a3c28266 SHA512 4765e29d37c716dbe629d88bf1ed07b857d373333e64966832039c0031aa46ed7e76efd7b112eb199508adffc8afbf185b3360c9a66d100da052c407bd3f02d5
diff --git a/sys-apps/systemd/systemd-262.ebuild b/sys-apps/systemd/systemd-262.ebuild
new file mode 100644
index 000000000000..1eec59af0d54
--- /dev/null
+++ b/sys-apps/systemd/systemd-262.ebuild
@@ -0,0 +1,620 @@
+# Copyright 2011-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+# Avoid QA warnings
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/systemd/systemd.git"
+ inherit git-r3
+else
+ MY_PV=${PV/_/-}
+ MY_P=${PN}-${MY_PV}
+ S=${WORKDIR}/${MY_P}
+ SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+ if [[ ${PV} != *rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ fi
+fi
+
+inherit branding flag-o-matic linux-info meson-multilib optfeature pam python-single-r1
+inherit secureboot shell-completion systemd toolchain-funcs udev xdg-utils
+
+DESCRIPTION="System and service manager for Linux"
+HOMEPAGE="https://systemd.io/"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0/2"
+IUSE="
+ acl apparmor audit boot bpf cryptsetup curl +dns-over-tls elfutils fido2
+ +gcrypt gnutls homed idn imds importd +kernel-install +kmod +libarchive
+ +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode
+ remote +resolvconf +seccomp selinux sysv-utils test tpm ukify vanilla xkb
+ +zstd
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ boot? ( kernel-install )
+ dns-over-tls? ( openssl )
+ fido2? ( cryptsetup openssl )
+ homed? ( cryptsetup pam openssl )
+ imds? ( curl )
+ importd? ( curl libarchive lzma openssl )
+ ?? ( passwdqc pwquality )
+ passwdqc? ( homed )
+ pwquality? ( homed )
+ remote? ( curl )
+ ukify? ( boot )
+"
+RESTRICT="!test? ( test )"
+
+MINKV="5.10"
+
+COMMON_DEPEND="
+ >=sys-apps/util-linux-2.37
+ acl? ( sys-apps/acl )
+ apparmor? ( >=sys-libs/libapparmor-2.13 )
+ audit? ( >=sys-process/audit-2 )
+ bpf? ( >=dev-libs/libbpf-1.4.0 )
+ cryptsetup? ( >=sys-fs/cryptsetup-2.4.0:= )
+ curl? ( >=net-misc/curl-7.32.0:0= )
+ elfutils? ( >=dev-libs/elfutils-0.177 )
+ elibc_glibc? (
+ >=sys-libs/glibc-2.34
+ >=sys-libs/libxcrypt-4.4.0
+ )
+ elibc_musl? (
+ >=sys-libs/musl-1.2.6
+ sys-libs/libucontext
+ virtual/libcrypt
+ )
+ fido2? (
+ dev-libs/libfido2
+ )
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.5 )
+ gnutls? ( >=net-libs/gnutls-3.6.0:0= )
+ remote? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] )
+ idn? ( net-dns/libidn2 )
+ importd? (
+ app-arch/bzip2:0=
+ virtual/zlib:=
+ )
+ kmod? ( >=sys-apps/kmod-15:0= )
+ libarchive? ( >=app-arch/libarchive-3.0:0= )
+ lz4? ( >=app-arch/lz4-0_p131:0= )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:0= )
+ openssl? ( >=dev-libs/openssl-3.0.0:0= )
+ pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] )
+ passwdqc? ( sys-auth/passwdqc )
+ pkcs11? ( >=app-crypt/p11-kit-0.23.3 )
+ pcre? ( dev-libs/libpcre2 )
+ pwquality? ( >=dev-libs/libpwquality-1.4.1 )
+ qrcode? ( >=media-gfx/qrencode-3:0= )
+ seccomp? ( >=sys-libs/libseccomp-2.4.0 )
+ selinux? ( >=sys-libs/libselinux-2.1.9 )
+ tpm? ( app-crypt/tpm2-tss )
+ xkb? ( >=x11-libs/libxkbcommon-0.4.1 )
+ zstd? ( >=app-arch/zstd-1.4.0:0= )
+"
+
+# Newer linux-headers needed by ia64, bug #480218
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-${MINKV}
+"
+
+PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
+
+# baselayout-2.2 has /run
+RDEPEND="${COMMON_DEPEND}
+ >=acct-group/adm-0-r1
+ >=acct-group/wheel-0-r1
+ >=acct-group/kmem-0-r1
+ >=acct-group/tty-0-r1
+ >=acct-group/utmp-0-r1
+ >=acct-group/audio-0-r1
+ >=acct-group/cdrom-0-r1
+ acct-group/clock
+ >=acct-group/dialout-0-r1
+ >=acct-group/disk-0-r1
+ >=acct-group/input-0-r1
+ >=acct-group/kvm-0-r1
+ >=acct-group/lp-0-r1
+ >=acct-group/render-0-r1
+ acct-group/sgx
+ >=acct-group/tape-0-r1
+ acct-group/users
+ >=acct-group/video-0-r1
+ >=acct-group/systemd-journal-0-r1
+ >=acct-user/root-0-r1
+ acct-user/nobody
+ >=acct-user/systemd-journal-remote-0-r1
+ >=acct-user/systemd-coredump-0-r1
+ >=acct-user/systemd-network-0-r1
+ acct-user/systemd-oom
+ >=acct-user/systemd-resolve-0-r1
+ >=acct-user/systemd-timesync-0-r1
+ >=sys-apps/baselayout-2.2
+ imds? ( acct-user/systemd-imds )
+ ukify? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep "${PEFILE_DEPEND}")
+ )
+ selinux? (
+ sec-policy/selinux-base-policy[systemd]
+ sec-policy/selinux-ntp
+ )
+ sysv-utils? (
+ !sys-apps/openrc[sysv-utils(-)]
+ !sys-apps/sysvinit
+ )
+ !sysv-utils? ( sys-apps/sysvinit )
+ resolvconf? ( !net-dns/openresolv )
+ !sys-auth/nss-myhostname
+ !sys-fs/eudev
+ !sys-fs/udev
+"
+
+# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
+PDEPEND="
+ >=sys-apps/dbus-1.9.8[systemd]
+ >=sys-fs/udev-init-scripts-34
+ policykit? ( sys-auth/polkit )
+ !sysv-utils? ( sys-apps/systemd-initctl )
+ !vanilla? ( sys-apps/gentoo-systemd-integration )
+"
+
+BDEPEND="
+ app-arch/xz-utils:0
+ dev-util/gperf
+ >=dev-build/meson-0.46
+ >=sys-apps/coreutils-8.16
+ sys-devel/gettext
+ virtual/pkgconfig
+ bpf? (
+ >=dev-util/bpftool-7.0.0
+ sys-devel/bpf-toolchain
+ )
+ test? (
+ app-text/tree
+ dev-lang/perl
+ >=dev-libs/glib-2.22.0:2
+ sys-apps/dbus
+ )
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep "
+ dev-python/jinja2[\${PYTHON_USEDEP}]
+ dev-python/lxml[\${PYTHON_USEDEP}]
+ boot? (
+ >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}]
+ test? ( ${PEFILE_DEPEND} )
+ )
+ ")
+"
+
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != buildonly ]]; then
+ local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS
+ ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
+ ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
+ ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS
+ ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
+ ~!SYSFS_DEPRECATED_V2"
+
+ use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
+ use bpf && CONFIG_CHECK+=" ~BPF ~BPF_SYSCALL ~BPF_LSM ~DEBUG_INFO_BTF"
+ use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER"
+
+ if kernel_is -ge 5 10 20; then
+ CONFIG_CHECK+=" ~KCMP"
+ else
+ CONFIG_CHECK+=" ~CHECKPOINT_RESTORE"
+ fi
+
+ if kernel_is -ge 4 18; then
+ CONFIG_CHECK+=" ~AUTOFS_FS"
+ else
+ CONFIG_CHECK+=" ~AUTOFS4_FS"
+ fi
+
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ if linux_chkconfig_present X86; then
+ CONFIG_CHECK+=" ~DMIID"
+ fi
+ fi
+
+ if kernel_is -lt ${MINKV//./ }; then
+ ewarn "Kernel version at least ${MINKV} required"
+ fi
+
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ use boot && secureboot_pkg_setup
+}
+
+src_unpack() {
+ default
+ [[ ${PV} != 9999 ]] || git-r3_src_unpack
+}
+
+src_prepare() {
+ local PATCHES=(
+ )
+
+ if ! use vanilla; then
+ PATCHES+=(
+ "${FILESDIR}/gentoo-journald-audit-r4.patch"
+ )
+ fi
+
+ default
+}
+
+src_configure() {
+ # Prevent conflicts with i686 cross toolchain, bug 559726
+ tc-export AR CC NM OBJCOPY RANLIB
+
+ # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+ # to unset F_S first, then explicitly set 2, to negate any default
+ # and anything set by the user if they're choosing 3 (or if they've
+ # modified GCC to set 3).
+ #
+ # malloc_usable_size doesn't play well with _F_S=3:
+ # https://github.com/systemd/systemd/issues/41459 (bug #971773)
+ if tc-is-clang && tc-enables-fortify-source ; then
+ # We can't unconditionally do this b/c we fortify needs
+ # some level of optimisation.
+ filter-flags -D_FORTIFY_SOURCE=3
+ append-cppflags -U_FORTIFY_SOURCE -D_GENTOO_NO_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+ fi
+
+ python_setup
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --localstatedir="${EPREFIX}/var"
+ -Ddocdir="share/doc/${PF}"
+ -Dmode=release # default is developer, bug 918671
+ -Dlibc=$(usex elibc_musl musl glibc)
+ -Dsupport-url="${BRANDING_OS_SUPPORT_URL}"
+ -Dpamlibdir="$(getpam_mod_dir)"
+ -Dbashcompletiondir="$(get_bashcompdir)"
+ -Dzshcompletiondir="$(get_zshcompdir)"
+ -Dsplit-bin=false
+ -Dima=true # no deps
+ -Ddebug-shell="${EPREFIX}/bin/sh" # Match /etc/shells, bug 919749
+ -Ddefault-user-shell="${EPREFIX}/bin/bash"
+ -Dbpf-compiler=gcc
+ -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
+ # Breaks screen, tmux, etc.
+ -Ddefault-kill-user-processes=false
+ -Dcreate-log-dirs=false
+ -Dlibcrypt=enabled
+ -Dcompat-mutable-uid-boundaries=true
+
+ # options affecting multilib
+ $(meson_use !elibc_musl nss-myhostname)
+ $(meson_feature !elibc_musl nss-mymachines)
+ $(meson_feature !elibc_musl nss-resolve)
+ $(meson_use !elibc_musl nss-systemd)
+ $(meson_feature pam)
+ )
+
+ # workaround for bug 969103
+ if [[ ${CHOST} == riscv32* ]] ; then
+ myconf+=( -Dtests=true )
+ else
+ myconf+=( $(meson_use test tests) )
+ fi
+
+ if multilib_is_native_abi; then
+ myconf+=(
+ --auto-features=enabled
+ -Dman=enabled
+ -Dxenctrl=disabled
+
+ # Optional components/dependencies
+ $(meson_feature acl)
+ $(meson_feature apparmor)
+ $(meson_feature audit)
+ $(meson_feature boot bootloader)
+ $(meson_feature bpf bpf-framework)
+ $(meson_feature cryptsetup libcryptsetup)
+ $(meson_feature cryptsetup libcryptsetup-plugins)
+ $(meson_feature curl libcurl)
+ $(meson_use dns-over-tls dns-over-tls)
+ $(meson_feature elfutils)
+ $(meson_feature fido2 libfido2)
+ $(meson_feature gcrypt)
+ $(meson_feature gnutls)
+ $(meson_feature homed)
+ $(meson_use idn)
+ $(meson_feature imds)
+ $(meson_feature importd)
+ $(meson_feature importd bzip2)
+ $(meson_feature importd sysupdate)
+ $(meson_feature importd zlib)
+ $(meson_use kernel-install)
+ $(meson_feature kmod)
+ $(meson_feature libarchive)
+ $(meson_feature lz4)
+ $(meson_feature lzma xz)
+ $(meson_feature zstd)
+ $(meson_feature openssl)
+ $(meson_feature passwdqc)
+ $(meson_feature pkcs11 p11kit)
+ $(meson_feature pcre pcre2)
+ $(meson_feature policykit polkit)
+ $(meson_feature pwquality)
+ $(meson_feature qrcode qrencode)
+ $(meson_feature remote)
+ $(meson_feature remote microhttpd)
+ $(meson_feature seccomp)
+ $(meson_feature selinux)
+ $(meson_feature tpm tpm2)
+ $(meson_feature test dbus)
+ $(meson_feature test glib)
+ $(meson_feature ukify)
+ $(meson_feature xkb xkbcommon)
+ )
+
+ case $(tc-arch) in
+ amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86)
+ # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE
+ myconf+=( -Dvmspawn=enabled ) ;;
+ *)
+ myconf+=( -Dvmspawn=disabled ) ;;
+ esac
+ else
+ myconf+=(
+ --auto-features=disabled
+ )
+ fi
+
+ meson_src_configure "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ local args=()
+ if ! multilib_is_native_abi; then
+ args+=(
+ devel libsystemd libudev
+ $(usex elibc_musl '' nss)
+ $(usev pam)
+ )
+ fi
+ meson_src_compile "${args[@]}"
+}
+
+multilib_src_test() {
+ local args=( --timeout-multiplier=10 )
+ if ! multilib_is_native_abi; then
+ args+=(
+ --suite libsystemd --suite libudev
+ $(usex elibc_musl '' '--suite nss')
+ $(usex pam '--suite pam' '')
+ )
+ fi
+ (
+ unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
+ export COLUMNS=80
+ addpredict /dev
+ addpredict /proc
+ addpredict /run
+ addpredict /sys/fs/cgroup
+ meson_src_test "${args[@]}"
+ ) || die
+}
+
+multilib_src_install() {
+ local args=()
+ if ! multilib_is_native_abi; then
+ local tags=devel,libsystemd,libudev
+ use !elibc_musl && tags+=,nss
+ use pam && tags+=,pam
+ args+=( --tags "${tags}" )
+ fi
+ meson_src_install "${args[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc "${FILESDIR}"/nsswitch.conf
+
+ insinto /usr/lib/tmpfiles.d
+ doins "${FILESDIR}"/legacy.conf
+
+ if ! use resolvconf; then
+ rm -f "${ED}"/usr/bin/resolvconf || die
+ fi
+
+ if ! use sysv-utils; then
+ rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
+ rm "${ED}"/usr/share/man/man1/init.1 || die
+ rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die
+ fi
+
+ # https://bugs.gentoo.org/761763
+ rm -r "${ED}"/usr/lib/sysusers.d || die
+
+ # Preserve empty dirs in /etc & /var, bug #437008
+ keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d}
+ keepdir /etc/kernel/install.d
+ keepdir /etc/systemd/{network,system,user}
+ keepdir /etc/udev/rules.d
+
+ keepdir /etc/udev/hwdb.d
+
+ keepdir /usr/lib/systemd/{system-sleep,system-shutdown}
+ keepdir /usr/lib/{binfmt.d,modules-load.d}
+ keepdir /usr/lib/systemd/user-generators
+ keepdir /var/lib/systemd
+ keepdir /var/log/journal
+
+ if use pam; then
+ if use selinux; then
+ newpamd "${FILESDIR}"/systemd-user-selinux.pam systemd-user
+ else
+ newpamd "${FILESDIR}"/systemd-user.pam systemd-user
+ fi
+ fi
+
+ if use kernel-install; then
+ # Dummy config, remove to make room for sys-kernel/installkernel
+ rm "${ED}/usr/lib/kernel/install.conf" || die
+ fi
+
+ use ukify && python_fix_shebang "${ED}"
+ use boot && secureboot_auto_sign
+}
+
+migrate_locale() {
+ local envd_locale_def="${EROOT}/etc/env.d/02locale"
+ local envd_locale=( "${EROOT}"/etc/env.d/??locale )
+ local locale_conf="${EROOT}/etc/locale.conf"
+
+ if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
+ # If locale.conf does not exist...
+ if [[ -e ${envd_locale} ]]; then
+ # ...either copy env.d/??locale if there's one
+ ebegin "Moving ${envd_locale} to ${locale_conf}"
+ mv "${envd_locale}" "${locale_conf}"
+ eend ${?} || FAIL=1
+ else
+ # ...or create a dummy default
+ ebegin "Creating ${locale_conf}"
+ cat > "${locale_conf}" <<-EOF
+ # This file has been created by the sys-apps/systemd ebuild.
+ # See locale.conf(5) and localectl(1).
+
+ # LANG=${LANG}
+ EOF
+ eend ${?} || FAIL=1
+ fi
+ fi
+
+ if [[ ! -L ${envd_locale} ]]; then
+ # now, if env.d/??locale is not a symlink (to locale.conf)...
+ if [[ -e ${envd_locale} ]]; then
+ # ...warn the user that he has duplicate locale settings
+ ewarn
+ ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
+ ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
+ ewarn "and create the symlink with the following command:"
+ ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
+ ewarn
+ else
+ # ...or just create the symlink if there's nothing here
+ ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
+ ln -n -s ../locale.conf "${envd_locale_def}"
+ eend ${?} || FAIL=1
+ fi
+ fi
+}
+
+pkg_preinst() {
+ if [[ -e ${EROOT}/etc/sysctl.conf ]]; then
+ # Symlink /etc/sysctl.conf for easy migration.
+ dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
+ fi
+
+ if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
+ ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
+ ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
+ fi
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+ systemd_update_catalog
+
+ # Keep this here in case the database format changes so it gets updated
+ # when required.
+ udev_hwdb_update || FAIL=1
+ udev_reload || FAIL=1
+
+ # Bug 465468, make sure locales are respected, and ensure consistency
+ # between OpenRC & systemd
+ migrate_locale
+
+ # Bug 971385, 974688
+ local autovt=${EROOT}/etc/systemd/system/autovt@.service
+ if [[ ! -e ${autovt} && ! -L ${autovt} ]]; then
+ ln -s "${EPREFIX}/usr/lib/systemd/system/getty@.service" "${autovt}" || FAIL=1
+ fi
+
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if type systemctl &>/dev/null; then
+ systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1
+ fi
+ elog "To enable a useful set of services, run the following:"
+ elog " systemctl preset-all --preset-mode=enable-only"
+ fi
+
+ if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then
+ rm "${EROOT}/var/lib/systemd/timesync"
+ fi
+
+ if [[ -z ${ROOT} && -d /run/systemd/system ]]; then
+ ebegin "Reexecuting system manager (systemd)"
+ systemctl daemon-reexec
+ eend $? || FAIL=1
+
+ # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html
+ ebegin "Signaling user managers to reexec"
+ systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
+ eend $?
+ fi
+
+ if [[ ${FAIL} ]]; then
+ eerror "One of the postinst commands failed. Please check the postinst output"
+ eerror "for errors. You may need to clean up your system and/or try installing"
+ eerror "systemd again."
+ eerror
+ fi
+
+ if use boot; then
+ optfeature "installing kernels in systemd-boot's native layout and update loader entries" \
+ "sys-kernel/installkernel[systemd-boot]"
+ fi
+ if use ukify; then
+ optfeature "generating unified kernel image on each kernel installation" \
+ "sys-kernel/installkernel[ukify]"
+ fi
+}
+
+pkg_prerm() {
+ # If removing systemd completely, remove the catalog database.
+ if [[ ! ${REPLACED_BY_VERSION} ]]; then
+ rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
+ fi
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+}
diff --git a/sys-apps/uutils-coreutils/Manifest b/sys-apps/uutils-coreutils/Manifest
index 7c2f0b106c6b..8eb01a33729a 100644
--- a/sys-apps/uutils-coreutils/Manifest
+++ b/sys-apps/uutils-coreutils/Manifest
@@ -1,8 +1,10 @@
DIST coreutils-0.10.0-crates.tar.xz 28595532 BLAKE2B 1f25501e19dc7b033b56c47aeb83c1c808024a4ce07fe55d5b7a83999b04894791f433f4d63aa5f45a53cb760c3d54b565ef1be9e9712f919692813519809cda SHA512 2a85e2fbe0d5f5c5f5e66ff83776197a0a512c4bb46504c960325461a2270749f532c780f14c31ea5f62c6e2b0a8a0ddb3ca55a4f08b75de36107703da184680
+DIST coreutils-0.12.0-crates.tar.xz 38598220 BLAKE2B 4d273bf2f28ad9ed68fe073c16e7934d521b502a5b1f6f4ccccc75f967327ef35d93b093798aa8203f3d2bfbb3aec83ea907ad3ce98df1bdd179e73a872bdee5 SHA512 ab6c0ec2cab46f54fd29b98ec6e5b60eb15e27dded698bcbe279c75c1da6c1e9e2b5821396dcb0610ad6a71e1d6b039322ae86fb1eb3061e6d9e99a24e950e59
DIST coreutils-0.7.0-crates.tar.xz 22825916 BLAKE2B 810e8f398488ea8182da6a8edb7192d232ad04213326f6340f214f3eed514bba13112e32a9c0b91f869770c0cc808227661a53d288df7975caa2df75f24c1092 SHA512 940f6351d85e626ca4030555af38dec1ad2fcb9897bcf4f33958eb0576816d8e29ce9ab8d5144e819877b02cf14433f6d122ea6f5dc77a169fc40563534601cc
DIST coreutils-0.8.0-crates.tar.xz 23791272 BLAKE2B b5f413dbe58cc4bc4ed5370857873a2a33bdcd1deb88a4b366b8d281dc54c4f41587640b3ec41702fbdeb5babe6c1720816661621d1ee54f0259d9cbbd2ea6c0 SHA512 d92cfb7301c07a5566146dcde60356de6daa879c5545b183ef9f5d0546ac38d191b99f32b046d3f11001e222cee1fc454c588828c8366f9af0b90f167c7ea683
DIST coreutils-0.9.0-crates.tar.xz 24001836 BLAKE2B eafd12ab64d7f174db1e9984ef992c59b4636dbae683bb6efd67d6fed00382abf19ec1254f98586c2078952ab87d2bda0e4d4cfd5008fdb97fbfdcc3a4dba464 SHA512 e9a3a15f8af8f0bd8fa8889dd685b6c671a7924e72324fda2ccb6630b3e677e5839c9f35e21f22187f24d6e751d011809438701ce5dc403ed1b1cdd2cc552b9b
DIST uutils-coreutils-0.10.0.tar.gz 2671039 BLAKE2B 529ca972be2fcaf72a99560dfdf973f3d197fdff3a735c7a8cc5e9b19c2a02f98fffbd66304e4d355c8f8bd9a3f746ac7a4530750eca43e56ecea6dcb7eaeae2 SHA512 cd5bc2b491ad36e559678aa45578c1646d48f4421abb1944195282acea4e5c6c1f9556c3fd2758cc7e37a1995fd5e2e1b94dfb91b6826f4e4c9bf8ddb7e50fd8
+DIST uutils-coreutils-0.12.0.tar.gz 2911221 BLAKE2B bdb49cfe10b216522b8cb6b5ef7b85427d2b24cb923a7dcd137f024eda062a073796e62e03df0353c45398c856b46737cba77a82ab5784678ed86da0a4faa8d7 SHA512 535bbc0c25c057908e2738aca9ad7869f8795a166bcc9de0980b9ded09c64de580f0b079b4ee20ad930ba6bac8abeb9db1af10635161dbba54e5409361c70e4d
DIST uutils-coreutils-0.7.0.tar.gz 3137923 BLAKE2B ef7539429324b64adb710dcb93981f9e5bbd8e7b54af462dfb419d2877270c1cb88c67b170ee5098e7490766cfe0ea4a9807e06103ea5d6100006f84226eb4b7 SHA512 e6d01d9320050efaa64ac261d86fddbb79895a0768c388248b412be571989ec4fc78c094e9606d56154abab06b3f66bd4784c55dbf8129db183e78df4bd7c43c
DIST uutils-coreutils-0.8.0.tar.gz 3189526 BLAKE2B 834d816187989e2651a710f2cb6eae3a475615bd9793a5abde6bab5a78647640fcb9d9088fca7fea31d90bffedf6dcb49b407ee736991c24829fcf13c9702b44 SHA512 fb586a10c31d041a04ad5a61219569263a3b2a85314d1f5a032e5a599488a47c03289d5783ed41ad26b024b3c01c31cc787fa7a7c4a262521dc08c4694f3cfa6
DIST uutils-coreutils-0.9.0.tar.gz 3242091 BLAKE2B 6e3f174250dbca54ce9328d01baec4c73d5192150862f079607f969a118d1cad96da63b7250ec4fb2687d0a20684c08e3369547c4fff9be153a0bca563a7675e SHA512 66aa65d208b4488c308702fec2a4fecc79afbba9d6725a0077969022aca4f26f71e46022eee31800b907fe75d3914f81a35f9d660bdbc74e166ea03acded839b
diff --git a/sys-apps/uutils-coreutils/uutils-coreutils-0.12.0.ebuild b/sys-apps/uutils-coreutils/uutils-coreutils-0.12.0.ebuild
new file mode 100644
index 000000000000..a20abe2d9cb9
--- /dev/null
+++ b/sys-apps/uutils-coreutils/uutils-coreutils-0.12.0.ebuild
@@ -0,0 +1,132 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.6.2
+
+EAPI=8
+
+CRATES="
+"
+
+RUST_MIN_VER="1.88.0"
+LLVM_COMPAT=( {17..22} )
+inherit cargo flag-o-matic llvm-r2 multiprocessing
+
+DESCRIPTION="GNU coreutils rewritten in Rust"
+HOMEPAGE="https://uutils.github.io/coreutils/ https://github.com/uutils/coreutils"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/uutils/coreutils"
+ inherit git-r3
+elif [[ ${PV} == *_p* ]] ; then
+ COREUTILS_COMMIT=""
+ SRC_URI="https://github.com/uutils/coreutils/archive/${COREUTILS_COMMIT}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}"/coreutils-${COREUTILS_COMMIT}
+else
+ SRC_URI="https://github.com/uutils/coreutils/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}"/coreutils-${PV}
+
+ KEYWORDS="~amd64 ~arm64 ~ppc64"
+fi
+
+if [[ ${PV} != 9999 ]] ; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/coreutils/releases/download/${PV}/coreutils-${PV}-crates.tar.xz
+ "
+fi
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT Unicode-3.0 ZLIB
+"
+SLOT="0"
+IUSE="debug selinux test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/oniguruma:=
+ selinux? ( sys-libs/libselinux )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-util/cargo-nextest )
+ selinux? (
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ ')
+ )
+"
+QA_FLAGS_IGNORED=".*"
+
+pkg_setup() {
+ llvm-r2_pkg_setup
+ rust_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+ # This is should be a set of env vars in upstream CI
+ rm -f "${S}/.cargo/config.toml"
+
+ # Upstream convention for bash-completions clashes with our own
+ sed -i -e 's:\.bash::' "${S}/GNUmakefile" || die
+}
+
+src_compile() {
+ # normally cargo_src_compile sets this for us, but we don't use it
+ filter-lto
+
+ # By default, the crate uses a system version if it can. This just guarantees
+ # that it will error out instead of building a vendored copy.
+ export RUSTONIG_SYSTEM_LIBONIG=1
+
+ makeargs=(
+ # Disable output synchronisation as make calls cargo
+ -Onone
+
+ V=1
+
+ PROFILE=$(usex debug debug release)
+
+ PREFIX="${EPREFIX}/usr"
+ PROG_PREFIX="uu-"
+ MULTICALL=y
+ MANDIR="/share/man/man1"
+
+ SELINUX_ENABLED=$(usex selinux 1 0)
+
+ # pinky, uptime, users, and who require utmpx (not available on musl)
+ # bug #832868
+ SKIP_UTILS="$(usev elibc_musl "pinky uptime users who")"
+
+ # bug #963516
+ LIBSTDBUF_DIR="${EPREFIX}/usr/libexec/${PN}"
+ )
+
+ emake "${makeargs[@]}"
+}
+
+src_test() {
+ local -x RUST_BACKTRACE=full
+ local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)"
+
+ # Nicer output for nextest vs test
+ emake "${makeargs[@]}" \
+ CARGOFLAGS="${CARGOFLAGS} $(usev !debug --release)" \
+ TEST_NO_FAIL_FAST="--no-fail-fast" \
+ nextest
+}
+
+src_install() {
+ emake "${makeargs[@]}" DESTDIR="${D}" install
+}
diff --git a/sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild b/sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild
index 39d4aa28de42..7cbb0141c2f5 100644
--- a/sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild
+++ b/sys-apps/xdg-desktop-portal-umbriel/xdg-desktop-portal-umbriel-0.0.0_pre20260912.ebuild
@@ -24,12 +24,12 @@ DEPEND="
>=x11-libs/libdrm-2.4.122
gui-libs/gtk:4
dev-cpp/sdbus-c++
- media-video/pipewire
+ dev-cpp/nlohmann_json
+ media-video/pipewire:=
"
RDEPEND="
${DEPEND}
"
BDEPEND="
>=dev-libs/wayland-protocols-1.24
- >=dev-build/meson-1.3
"