commit: 167714a29964bccf4b95921d91f71c23cf12619d Author: NHOrus <jy6x2b32pie9 <AT> yahoo <DOT> com> AuthorDate: Wed Feb 26 14:25:43 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Mar 10 01:40:01 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=167714a2
sys-boot/plymouth: update EAPI 7 -> 8, fix musl build, QA issues Use C23/compiler extension to conditionally include right header. Clean up *.la files. Keep empty directories, they are needed for runtime services. Fix is only for 22.02.122, not 24.004.60 or live. Closes: https://bugs.gentoo.org/839081 Closes: https://bugs.gentoo.org/925430 Closes: https://bugs.gentoo.org/921110 Closes: https://bugs.gentoo.org/898564 Signed-off-by: NHOrus <jy6x2b32pie9 <AT> yahoo.com> Closes: https://github.com/gentoo/gentoo/pull/40771 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/plymouth-22.02.122-has_rpmatch.patch | 16 +++ sys-boot/plymouth/plymouth-22.02.122-r4.ebuild | 122 +++++++++++++++++++++ 2 files changed, 138 insertions(+) diff --git a/sys-boot/plymouth/files/plymouth-22.02.122-has_rpmatch.patch b/sys-boot/plymouth/files/plymouth-22.02.122-has_rpmatch.patch new file mode 100644 index 000000000000..2c3d62ca48c1 --- /dev/null +++ b/sys-boot/plymouth/files/plymouth-22.02.122-has_rpmatch.patch @@ -0,0 +1,16 @@ +Use C23 __has_include to add correct include on musl. Was compiler extension +before C23, works on clang/gcc versions we care about. +https://bugs.gentoo.org/898564 +--- a/src/libply/ply-command-parser.c 2025-02-26 14:05:33.417781845 +0000 ++++ b/src/libply/ply-command-parser.c 2025-02-26 14:09:10.068476721 +0000 +@@ -29,6 +29,10 @@ + #include <stdlib.h> + #include <string.h> + ++#if __has_include(<rpmatch.h>) ++#include <rpmatch.h> ++#endif ++ + #include "ply-buffer.h" + #include "ply-list.h" + #include "ply-utils.h" diff --git a/sys-boot/plymouth/plymouth-22.02.122-r4.ebuild b/sys-boot/plymouth/plymouth-22.02.122-r4.ebuild new file mode 100644 index 000000000000..0aaa12077a32 --- /dev/null +++ b/sys-boot/plymouth/plymouth-22.02.122-r4.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic autotools readme.gentoo-r1 systemd + +DESCRIPTION="Graphical boot animation (splash) and logger" +HOMEPAGE="https://gitlab.freedesktop.org/plymouth/plymouth" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.freedesktop.org/plymouth/plymouth" +else + SRC_URI="${SRC_URI} https://www.freedesktop.org/software/plymouth/releases/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +SRC_URI="https://dev.gentoo.org/~aidecoe/distfiles/${CATEGORY}/${PN}/gentoo-logo.png" + +LICENSE="GPL-2" +SLOT="0" +IUSE="debug +drm +gtk +pango selinux +split-usr static-libs +udev" + +CDEPEND=" + >=media-libs/libpng-1.2.16:= + drm? ( x11-libs/libdrm ) + gtk? ( + dev-libs/glib:2 + x11-libs/cairo + >=x11-libs/gtk+-3.14:3[X] + ) + pango? ( + x11-libs/cairo + >=x11-libs/pango-1.21[X] + ) +" +DEPEND="${CDEPEND} + elibc_musl? ( sys-libs/rpmatch-standalone ) + pango? ( x11-base/xorg-proto ) + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig +" +# Block due bug #383067 +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-plymouthd ) + udev? ( virtual/udev ) +" + +DOC_CONTENTS=" + Follow the following instructions to set up Plymouth:\n + https://wiki.gentoo.org/wiki/Plymouth#Configuration +" + +PATCHES=( + "${FILESDIR}"/0.9.3-glibc-sysmacros.patch + "${FILESDIR}"/${P}-glibc-2.36.patch + "${FILESDIR}"/${P}-has_rpmatch.patch +) + +src_prepare() { + use elibc_musl && append-ldflags -lrpmatch + default + eautoreconf +} + +src_configure() { + local myconf=( + --with-system-root-install=no + --localstatedir=/var + --without-rhgb-compat-link + --enable-documentation + --enable-systemd-integration + --with-systemdunitdir="$(systemd_get_systemunitdir)" + $(use_enable !static-libs shared) + $(use_enable static-libs static) + $(use_enable debug tracing) + $(use_enable drm) + $(use_enable gtk) + $(use_enable pango) + $(use_with udev) + ) + econf "${myconf[@]}" +} + +src_install() { + default + + insinto /usr/share/plymouth + newins "${DISTDIR}"/gentoo-logo.png bizcom.png + + if use split-usr ; then + # Install compatibility symlinks as some rdeps hardcode the paths + dosym ../usr/bin/plymouth /bin/plymouth + dosym ../usr/sbin/plymouth-set-default-theme /sbin/plymouth-set-default-theme + dosym ../usr/sbin/plymouthd /sbin/plymouthd + fi + + readme.gentoo_create_doc + + # directories needed to keep runtime state + # https://bugs.gentoo.org/925430 + keepdir "${D}"/var/spool/plymouth "{D}"/var/lib/plymouth + # looks like make install create /var/run/plymouth + # this is not needed for systemd, same should hold for openrc + # so remove + rm -rf "${D}"/var/run + # https://bugs.gentoo.org/839081 + find "${D}" -name '*.la' -delete || die + + # fix broken symlink + dosym ../../bizcom.png /usr/share/plymouth/themes/spinfinity/header-image.png +} + +pkg_postinst() { + readme.gentoo_print_elog + if ! has_version "sys-kernel/dracut"; then + ewarn "If you want initramfs builder with plymouth support, please emerge" + ewarn "sys-kernel/dracut." + fi +}
