diff options
-rw-r--r-- | sys-boot/systemd-boot/Manifest | 1 | ||||
-rw-r--r-- | sys-boot/systemd-boot/systemd-boot-249.9.ebuild | 130 |
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 +} |