diff options
Diffstat (limited to 'sys-boot')
-rw-r--r-- | sys-boot/systemd-boot/Manifest | 1 | ||||
-rw-r--r-- | sys-boot/systemd-boot/files/235-libshared-static.patch | 24 | ||||
-rw-r--r-- | sys-boot/systemd-boot/systemd-boot-235.ebuild | 108 |
3 files changed, 133 insertions, 0 deletions
diff --git a/sys-boot/systemd-boot/Manifest b/sys-boot/systemd-boot/Manifest index 5848388fa133..25ff219e75d4 100644 --- a/sys-boot/systemd-boot/Manifest +++ b/sys-boot/systemd-boot/Manifest @@ -1 +1,2 @@ DIST systemd-233.tar.gz 4660737 SHA256 8b3e99da3d4164b66581830a7f2436c0c8fe697b5fbdc3927bdb960646be0083 SHA512 5ad5329ea116d973cf67096f7e7ad28e9ea0905696e9451291f1d25e5064f4a9bfcfae87e912996c6a38397e9f4a148d4ccecfa9b70f7ecdf04deadb61784c8e WHIRLPOOL ce19f6a546b8f899cfa952e49d47f063fd29186be4a53391bc30ea2c487eb2c140a74ad843a1dc499bb61bba3e9ca055613852291e38b85af5d79c59409dc176 +DIST systemd-235.tar.gz 6586406 SHA256 25811f96f5a027bf2a4c9383495cf5b623e385d84da31e473cf375932b3e9c52 SHA512 243f2eb5340fa37dd1286eaa63e83387bda9e03953af266cd6196a37535a13491482caf14c6ab10608bba4ed23b6c41923608e52017e0c26988ed72ddd2b9993 WHIRLPOOL 05e50b31f7b3b1cd756abd1580dddae0e114953857564133784fc43b9ecd0e203ee534aaf76531ca7af5c43b03b9b73c6cbbbb1caf5afb17502555cc52fe06cd diff --git a/sys-boot/systemd-boot/files/235-libshared-static.patch b/sys-boot/systemd-boot/files/235-libshared-static.patch new file mode 100644 index 000000000000..2a0bf678539b --- /dev/null +++ b/sys-boot/systemd-boot/files/235-libshared-static.patch @@ -0,0 +1,24 @@ +--- a/meson.build ++++ b/meson.build +@@ -1505,9 +1505,8 @@ if conf.get('ENABLE_EFI') == 1 and conf.get('HAVE_BLKID') == 1 + exe = executable('bootctl', + 'src/boot/bootctl.c', + include_directories : includes, +- link_with : [libshared], ++ link_with : [libshared_static], + dependencies : [libblkid], +- install_rpath : rootlibexecdir, + install : true) + public_programs += [exe] + endif +diff --git a/src/shared/meson.build b/src/shared/meson.build +index 883821352..b560e65c9 100644 +--- a/src/shared/meson.build ++++ b/src/shared/meson.build +@@ -157,5 +157,6 @@ libshared_static = static_library( + libshared_name, + shared_sources, + basic_sources, ++ libsystemd_internal_sources, + include_directories : includes, + dependencies : libshared_deps) diff --git a/sys-boot/systemd-boot/systemd-boot-235.ebuild b/sys-boot/systemd-boot/systemd-boot-235.ebuild new file mode 100644 index 000000000000..ff86b01e7556 --- /dev/null +++ b/sys-boot/systemd-boot/systemd-boot-235.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit meson toolchain-funcs + +DESCRIPTION="UEFI boot manager from systemd (formerly gummiboot)" +HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/" +SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" +RESTRICT="test" + +COMMON_DEPEND=" + >=sys-apps/util-linux-2.30 +" +DEPEND="${COMMON_DEPEND} + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xml-dtd:4.5 + app-text/docbook-xsl-stylesheets + dev-libs/libxslt:0 + >=dev-util/intltool-0.50 + dev-util/gperf + >=sys-boot/gnu-efi-3.0.2 + sys-libs/libcap + virtual/pkgconfig +" +RDEPEND="${COMMON_DEPEND} + !sys-apps/systemd +" + +S="${WORKDIR}/systemd-${PV}" + +PATCHES=( + "${FILESDIR}/235-libshared-static.patch" +) + +src_configure() { + local emesonargs=( + -D blkid=true + -D efi=true + -D gnu-efi=true + -D efi-cc="$(tc-getCC)" + -D efi-ld="$(tc-getLD)" + + -D acl=false + -D apparmor=false + -D audit=false + -D bzip2=false + -D elfutils=false + -D gcrypt=false + -D gnutls=false + -D kmod=false + -D libcryptsetup=false + -D libcurl=false + -D libidn=false + -D libidn2=false + -D libiptc=false + -D lz4=false + -D microhttpd=false + -D myhostname=false + -D pam=false + -D qrencode=false + -D seccomp=false + -D selinux=false + -D xkbcommon=false + -D xz=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.stub + src/boot/efi/systemd-boot${efi_arch}.efi + ) + eninja -C "${BUILD_DIR}" "${targets[@]}" || die +} + +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/{50-depmod,90-loaderentry}.install + insinto usr/lib/systemd/boot/efi + doins "${BUILD_DIR}"/src/boot/efi/{linux${efi_arch}.efi.stub,systemd-boot${efi_arch}.efi} + einstalldocs +} |