1 |
1 |
# Copyright 1999-2025 Gentoo Authors
|
2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
|
EAPI=7
|
|
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
inherit autotools flag-o-matic readme.gentoo-r1 systemd
|
|
6 |
inherit meson readme.gentoo-r1 flag-o-matic
|
7 |
7 |
|
8 |
8 |
DESCRIPTION="Graphical boot animation (splash) and logger"
|
9 |
9 |
HOMEPAGE="https://gitlab.freedesktop.org/plymouth/plymouth"
|
... | ... | |
14 |
14 |
EGIT_REPO_URI="https://gitlab.freedesktop.org/plymouth/plymouth"
|
15 |
15 |
else
|
16 |
16 |
SRC_URI+=" https://www.freedesktop.org/software/plymouth/releases/${P}.tar.xz"
|
17 |
|
KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
|
|
17 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
18 |
18 |
fi
|
19 |
19 |
|
20 |
|
LICENSE="GPL-2"
|
|
20 |
LICENSE="GPL-2+"
|
21 |
21 |
SLOT="0"
|
22 |
|
IUSE="debug +drm +gtk +pango selinux +split-usr static-libs +udev"
|
|
22 |
IUSE="debug +drm +gtk +pango selinux freetype +split-usr +udev doc systemd"
|
23 |
23 |
|
24 |
|
CDEPEND="
|
|
24 |
BDEPEND="
|
|
25 |
virtual/pkgconfig
|
|
26 |
doc? (
|
|
27 |
app-text/docbook-xsl-stylesheets
|
|
28 |
dev-libs/libxslt
|
|
29 |
)
|
|
30 |
"
|
|
31 |
|
|
32 |
COMMON_DEPEND="
|
|
33 |
dev-libs/libevdev
|
25 |
34 |
>=media-libs/libpng-1.2.16:=
|
|
35 |
x11-libs/libxkbcommon
|
|
36 |
x11-misc/xkeyboard-config
|
26 |
37 |
drm? ( x11-libs/libdrm )
|
|
38 |
freetype? ( media-libs/freetype:2 )
|
27 |
39 |
gtk? (
|
28 |
40 |
dev-libs/glib:2
|
29 |
41 |
x11-libs/cairo
|
... | ... | |
33 |
45 |
x11-libs/cairo
|
34 |
46 |
>=x11-libs/pango-1.21[X]
|
35 |
47 |
)
|
|
48 |
systemd? ( sys-apps/systemd )
|
|
49 |
udev? ( virtual/libudev )
|
36 |
50 |
"
|
37 |
|
DEPEND="${CDEPEND}
|
|
51 |
|
|
52 |
DEPEND="${COMMON_DEPEND}
|
38 |
53 |
elibc_musl? ( sys-libs/rpmatch-standalone )
|
39 |
54 |
pango? ( x11-base/xorg-proto )
|
40 |
|
app-text/docbook-xsl-stylesheets
|
41 |
|
dev-libs/libxslt
|
42 |
|
virtual/pkgconfig
|
43 |
55 |
"
|
44 |
|
# Block due bug #383067
|
45 |
|
RDEPEND="${CDEPEND}
|
|
56 |
|
|
57 |
RDEPEND="${COMMON_DEPEND}
|
46 |
58 |
selinux? ( sec-policy/selinux-plymouthd )
|
47 |
59 |
udev? ( virtual/udev )
|
48 |
|
!<sys-kernel/dracut-0.37-r3
|
49 |
60 |
"
|
50 |
61 |
|
51 |
62 |
DOC_CONTENTS="
|
... | ... | |
53 |
64 |
https://wiki.gentoo.org/wiki/Plymouth#Configuration
|
54 |
65 |
"
|
55 |
66 |
|
56 |
|
PATCHES=(
|
57 |
|
"${FILESDIR}"/0.9.3-glibc-sysmacros.patch
|
58 |
|
"${FILESDIR}"/${P}-glibc-2.36.patch
|
59 |
|
)
|
60 |
|
|
61 |
67 |
src_prepare() {
|
62 |
68 |
use elibc_musl && append-ldflags -lrpmatch
|
63 |
69 |
default
|
64 |
|
eautoreconf
|
65 |
70 |
}
|
66 |
71 |
|
67 |
72 |
src_configure() {
|
68 |
|
local myconf=(
|
69 |
|
--with-system-root-install=no
|
70 |
|
--localstatedir=/var
|
71 |
|
--without-rhgb-compat-link
|
72 |
|
--enable-documentation
|
73 |
|
--enable-systemd-integration
|
74 |
|
--with-systemdunitdir="$(systemd_get_systemunitdir)"
|
75 |
|
$(use_enable !static-libs shared)
|
76 |
|
$(use_enable static-libs static)
|
77 |
|
$(use_enable debug tracing)
|
78 |
|
$(use_enable drm)
|
79 |
|
$(use_enable gtk)
|
80 |
|
$(use_enable pango)
|
81 |
|
$(use_with udev)
|
|
73 |
local emesonargs=(
|
|
74 |
--localstatedir "${EPREFIX}"/var
|
|
75 |
$(meson_feature gtk)
|
|
76 |
$(meson_feature freetype)
|
|
77 |
$(meson_feature pango)
|
|
78 |
$(meson_feature udev)
|
|
79 |
$(meson_use drm)
|
|
80 |
$(meson_use systemd systemd-integration)
|
|
81 |
$(meson_use doc docs)
|
|
82 |
$(meson_use debug tracing)
|
82 |
83 |
)
|
83 |
|
econf "${myconf[@]}"
|
|
84 |
meson_src_configure
|
84 |
85 |
}
|
85 |
86 |
|
86 |
87 |
src_install() {
|
87 |
|
default
|
88 |
|
|
|
88 |
meson_src_install
|
89 |
89 |
insinto /usr/share/plymouth
|
|
90 |
|
90 |
91 |
newins "${DISTDIR}"/gentoo-logo.png bizcom.png
|
|
92 |
# fix broken symlink
|
|
93 |
dosym ../../bizcom.png /usr/share/plymouth/themes/spinfinity/header-image.png
|
91 |
94 |
|
92 |
|
if use split-usr ; then
|
|
95 |
if use split-usr; then
|
93 |
96 |
# Install compatibility symlinks as some rdeps hardcode the paths
|
94 |
97 |
dosym ../usr/bin/plymouth /bin/plymouth
|
95 |
98 |
dosym ../usr/sbin/plymouth-set-default-theme /sbin/plymouth-set-default-theme
|
96 |
99 |
dosym ../usr/sbin/plymouthd /sbin/plymouthd
|
97 |
100 |
fi
|
98 |
101 |
|
99 |
|
readme.gentoo_create_doc
|
|
102 |
# the file /var/spool/plymouth/boot.log is linked to the boot log after
|
|
103 |
# booting when there are errors, there is no runtime check to create this
|
|
104 |
# directory (the file is directly linked using unistd `link`) meaning there
|
|
105 |
# may be missing logs or unexpected behaviour if it is not kept.
|
|
106 |
keepdir /var/spool/plymouth
|
|
107 |
# /var/lib/plymouth is created at runtime, and is used to store boot/shutdown
|
|
108 |
# durations, it doesn't need to be created at build.
|
|
109 |
rm -r "${ED}"/var/lib || die
|
|
110 |
# /run/plymouth is also created at runtime
|
|
111 |
rm -r "${ED}"/run || die
|
100 |
112 |
|
101 |
|
# looks like make install create /var/run/plymouth
|
102 |
|
# this is not needed for systemd, same should hold for openrc
|
103 |
|
# so remove
|
104 |
|
rm -rf "${D}"/var/run
|
105 |
|
|
106 |
|
# fix broken symlink
|
107 |
|
dosym ../../bizcom.png /usr/share/plymouth/themes/spinfinity/header-image.png
|
|
113 |
readme.gentoo_create_doc
|
108 |
114 |
}
|
109 |
115 |
|
110 |
116 |
pkg_postinst() {
|
111 |
117 |
readme.gentoo_print_elog
|
112 |
118 |
if ! has_version "sys-kernel/dracut"; then
|
113 |
|
ewarn "If you want initramfs builder with plymouth support, please emerge"
|
114 |
|
ewarn "sys-kernel/dracut."
|
|
119 |
ewarn "dracut is not installed, if you wish to have an initramfs with"
|
|
120 |
ewarn "plymouth support, you can emerge 'sys-kernel/dracut' otherwise"
|
|
121 |
ewarn "you can look at the plymouth wiki for other methods:"
|
|
122 |
ewarn "https://wiki.gentoo.org/wiki/Plymouth#Building_Initramfs"
|
115 |
123 |
fi
|
116 |
124 |
}
|