summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-boot/systemd-boot/Manifest1
-rw-r--r--sys-boot/systemd-boot/systemd-boot-249.9.ebuild130
2 files changed, 131 insertions, 0 deletions
diff --git a/sys-boot/systemd-boot/Manifest b/sys-boot/systemd-boot/Manifest
index ec8fbe294598..be45979e19b1 100644
--- a/sys-boot/systemd-boot/Manifest
+++ b/sys-boot/systemd-boot/Manifest
@@ -1 +1,2 @@
DIST systemd-stable-249.6.tar.gz 10599611 BLAKE2B 9c0cbaa4319f2ce9a78dbe820d1b6df5191e6c632e2eac9f71f9ff9817564d9b3fc177d2aec0c0daea8ac33bbdc2066ad68a8967cf8857f4af3668b9a3e7d3bf SHA512 7a7791dfe4923c00987b924adcb1cd08c4d17af2b17b4c6c6c701856c6810cfda61f06821c39787339fc05293853c0ea61b9973fcf4495c7bf4f8054ecfae66f
+DIST systemd-stable-249.9.tar.gz 10613893 BLAKE2B fc7a14fa3b0cc3d05fa9f20fde2efedd3ef0f011d9dce53b0a418994b4257cf753b228cf98f749fb2028d81db55ef30a6e3d9b138d86239cad4fc730d845f9e2 SHA512 ce57bc6c522082e55649fc1886c4dc818c89607e175df2c92feffe288dbd38757f36b30abeebe153f5be6b664a49d729405040a952473cb2133a2e39cf9cc164
diff --git a/sys-boot/systemd-boot/systemd-boot-249.9.ebuild b/sys-boot/systemd-boot/systemd-boot-249.9.ebuild
new file mode 100644
index 000000000000..143c5280b8d8
--- /dev/null
+++ b/sys-boot/systemd-boot/systemd-boot-249.9.ebuild
@@ -0,0 +1,130 @@
+# Copyright 2016-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit meson python-any-r1 toolchain-funcs
+
+DESCRIPTION="UEFI boot manager from systemd (formerly gummiboot)"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/"
+if [[ ${PV} == *.* ]]; then
+ SRC_URI="https://github.com/systemd/systemd-stable/archive/v${PV}.tar.gz -> systemd-stable-${PV}.tar.gz"
+ S="${WORKDIR}/systemd-stable-${PV}"
+else
+ SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
+ S="${WORKDIR}/systemd-${PV}"
+fi
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE=""
+RESTRICT="test"
+
+BDEPEND="
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ sys-devel/gettext
+ dev-util/gperf
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+"
+
+python_check_deps() {
+ has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+COMMON_DEPEND="
+ >=sys-apps/util-linux-2.30
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-boot/gnu-efi-3.0.2
+ sys-libs/libcap
+"
+RDEPEND="${COMMON_DEPEND}
+ !sys-apps/systemd
+"
+
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+
+PATCHES=(
+ "${FILESDIR}/249-libshared-static.patch"
+)
+
+src_configure() {
+ # https://bugs.gentoo.org/725794
+ tc-export OBJCOPY
+
+ local emesonargs=(
+ -Dblkid=true
+ -Defi=true
+ -Dgnu-efi=true
+ -Defi-cc="$(tc-getCC)"
+ -Defi-ld="$(tc-getLD)"
+ -Defi-libdir="/usr/$(get_libdir)"
+ -Dsplit-usr=true
+ -Drootprefix="${EPREFIX:-/}"
+
+ -Dacl=false
+ -Dapparmor=false
+ -Daudit=false
+ -Dbzip2=false
+ -Delfutils=false
+ -Dgcrypt=false
+ -Dgnutls=false
+ -Dkmod=false
+ -Dlibcryptsetup=false
+ -Dlibcurl=false
+ -Dlibidn=false
+ -Dlibidn2=false
+ -Dlibiptc=false
+ -Dlz4=false
+ -Dmicrohttpd=false
+ -Dpam=false
+ -Dqrencode=false
+ -Dseccomp=false
+ -Dselinux=false
+ -Dxkbcommon=false
+ -Dxz=false
+ )
+ meson_src_configure
+}
+
+set_efi_arch() {
+ case "$(tc-arch)" in
+ amd64) efi_arch=x64 ;;
+ arm) efi_arch=arm ;;
+ arm64) efi_arch=aa64 ;;
+ x86) efi_arch=x86 ;;
+ esac
+}
+
+src_compile() {
+ local efi_arch
+ set_efi_arch
+ local targets=(
+ bootctl
+ man/bootctl.1
+ man/kernel-install.8
+ src/boot/efi/linux${efi_arch}.{efi,elf}.stub
+ src/boot/efi/systemd-boot${efi_arch}.efi
+ )
+ meson_src_compile "${targets[@]}"
+}
+
+src_install() {
+ local efi_arch
+ set_efi_arch
+ dobin "${BUILD_DIR}"/bootctl src/kernel-install/kernel-install
+ doman "${BUILD_DIR}"/man/{bootctl.1,kernel-install.8}
+ exeinto usr/lib/kernel/install.d
+ doexe src/kernel-install/*.install
+ insinto usr/lib/systemd/boot/efi
+ doins "${BUILD_DIR}"/src/boot/efi/{linux${efi_arch}.{efi,elf}.stub,systemd-boot${efi_arch}.efi}
+ einstalldocs
+}