Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-boot/systemd-boot/, sys-boot/systemd-boot/files/
Date: Sun, 29 Aug 2021 13:44:16
Message-Id: 1630244648.b961b80c1323371ad7d2f2b38cb049ae9a0ee7a6.floppym@gentoo
1 commit: b961b80c1323371ad7d2f2b38cb049ae9a0ee7a6
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Sun Aug 29 13:42:15 2021 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Sun Aug 29 13:44:08 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b961b80c
7
8 sys-boot/systemd-boot: add 249
9
10 Closes: https://bugs.gentoo.org/810910
11 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
12
13 sys-boot/systemd-boot/Manifest | 1 +
14 .../systemd-boot/files/249-libshared-static.patch | 27 +++++
15 sys-boot/systemd-boot/systemd-boot-249.ebuild | 126 +++++++++++++++++++++
16 3 files changed, 154 insertions(+)
17
18 diff --git a/sys-boot/systemd-boot/Manifest b/sys-boot/systemd-boot/Manifest
19 index 7af34cf96f8..9b4446a019c 100644
20 --- a/sys-boot/systemd-boot/Manifest
21 +++ b/sys-boot/systemd-boot/Manifest
22 @@ -1 +1,2 @@
23 DIST systemd-245.tar.gz 8993479 BLAKE2B be0b1fca5ba8585978f570868bc9135c1fee78ea64dcdf8b1a3419e856a83da90104ed2f86e5f3e5b0b6f29d4b34f603bfe1e4cbc61ccf71bedce547db62ff35 SHA512 1b80d0e02472dfc4197f11dab4f56cf90e8a6e105ce19f837cb11335b6d8577ed49031dad94cdb41aa9bdc06ec8eec62c8e9246272b83935e7bb9dcd3cd8c012
24 +DIST systemd-249.tar.gz 10588828 BLAKE2B f7896dea0bdec25125188b94ee84270b972649b1eb16599bed1967ced79f62dbfd1494e22362934f418823c054b342fb24dc57706b49520814beb95b6956bf27 SHA512 0810d09cc32e4aaa4425ee5b7ddf129262b061ce159cbd43571fabda48285243d8f80b566379ece9215d531b9407ee45e1e72c71935644fea31c7bca1bbf540c
25
26 diff --git a/sys-boot/systemd-boot/files/249-libshared-static.patch b/sys-boot/systemd-boot/files/249-libshared-static.patch
27 new file mode 100644
28 index 00000000000..c08e451af9f
29 --- /dev/null
30 +++ b/sys-boot/systemd-boot/files/249-libshared-static.patch
31 @@ -0,0 +1,27 @@
32 +From eac425295227c5deda4536fd647ecf11b643e1ca Mon Sep 17 00:00:00 2001
33 +From: Mike Gilbert <floppym@g.o>
34 +Date: Sun, 29 Aug 2021 09:22:33 -0400
35 +Subject: [PATCH] Link bootctl against libshared_static
36 +
37 +---
38 + meson.build | 3 +--
39 + 1 file changed, 1 insertion(+), 2 deletions(-)
40 +
41 +diff --git a/meson.build b/meson.build
42 +index 738879eb21..96042b6906 100644
43 +--- a/meson.build
44 ++++ b/meson.build
45 +@@ -2150,9 +2150,8 @@ if conf.get('ENABLE_EFI') == 1 and conf.get('HAVE_BLKID') == 1
46 + 'bootctl',
47 + 'src/boot/bootctl.c',
48 + include_directories : includes,
49 +- link_with : [libshared],
50 ++ link_with : [libshared_static, libsystemd_static],
51 + dependencies : [libblkid],
52 +- install_rpath : rootlibexecdir,
53 + install : true)
54 +
55 + public_programs += executable(
56 +--
57 +2.33.0
58 +
59
60 diff --git a/sys-boot/systemd-boot/systemd-boot-249.ebuild b/sys-boot/systemd-boot/systemd-boot-249.ebuild
61 new file mode 100644
62 index 00000000000..d9ed991ef5c
63 --- /dev/null
64 +++ b/sys-boot/systemd-boot/systemd-boot-249.ebuild
65 @@ -0,0 +1,126 @@
66 +# Copyright 2016-2021 Gentoo Authors
67 +# Distributed under the terms of the GNU General Public License v2
68 +
69 +EAPI=7
70 +PYTHON_COMPAT=( python3_{7..10} )
71 +
72 +inherit meson python-any-r1 toolchain-funcs
73 +
74 +DESCRIPTION="UEFI boot manager from systemd (formerly gummiboot)"
75 +HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/"
76 +SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
77 +
78 +LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
79 +SLOT="0"
80 +KEYWORDS="~amd64 ~arm64"
81 +IUSE=""
82 +RESTRICT="test"
83 +
84 +BDEPEND="
85 + app-text/docbook-xml-dtd:4.2
86 + app-text/docbook-xml-dtd:4.5
87 + app-text/docbook-xsl-stylesheets
88 + dev-libs/libxslt:0
89 + sys-devel/gettext
90 + dev-util/gperf
91 + virtual/pkgconfig
92 + ${PYTHON_DEPS}
93 + $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
94 +"
95 +
96 +python_check_deps() {
97 + has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
98 +}
99 +
100 +COMMON_DEPEND="
101 + >=sys-apps/util-linux-2.30
102 +"
103 +DEPEND="${COMMON_DEPEND}
104 + >=sys-boot/gnu-efi-3.0.2
105 + sys-libs/libcap
106 +"
107 +RDEPEND="${COMMON_DEPEND}
108 + !sys-apps/systemd
109 +"
110 +
111 +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
112 +QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
113 +
114 +S="${WORKDIR}/systemd-${PV}"
115 +
116 +PATCHES=(
117 + "${FILESDIR}/249-libshared-static.patch"
118 +)
119 +
120 +src_configure() {
121 + # https://bugs.gentoo.org/725794
122 + tc-export OBJCOPY
123 +
124 + local emesonargs=(
125 + -Dblkid=true
126 + -Defi=true
127 + -Dgnu-efi=true
128 + -Defi-cc="$(tc-getCC)"
129 + -Defi-ld="$(tc-getLD)"
130 + -Defi-libdir="/usr/$(get_libdir)"
131 + -Dsplit-usr=true
132 + -Drootprefix="${EPREFIX:-/}"
133 +
134 + -Dacl=false
135 + -Dapparmor=false
136 + -Daudit=false
137 + -Dbzip2=false
138 + -Delfutils=false
139 + -Dgcrypt=false
140 + -Dgnutls=false
141 + -Dkmod=false
142 + -Dlibcryptsetup=false
143 + -Dlibcurl=false
144 + -Dlibidn=false
145 + -Dlibidn2=false
146 + -Dlibiptc=false
147 + -Dlz4=false
148 + -Dmicrohttpd=false
149 + -Dpam=false
150 + -Dqrencode=false
151 + -Dseccomp=false
152 + -Dselinux=false
153 + -Dxkbcommon=false
154 + -Dxz=false
155 + )
156 + meson_src_configure
157 +}
158 +
159 +set_efi_arch() {
160 + case "$(tc-arch)" in
161 + amd64) efi_arch=x64 ;;
162 + arm) efi_arch=arm ;;
163 + arm64) efi_arch=aa64 ;;
164 + x86) efi_arch=x86 ;;
165 + esac
166 +}
167 +
168 +src_compile() {
169 + local efi_arch
170 + set_efi_arch
171 + local targets=(
172 + bootctl
173 + man/bootctl.1
174 + man/kernel-install.8
175 + src/boot/efi/linux${efi_arch}.{efi,elf}.stub
176 + src/boot/efi/systemd-boot${efi_arch}.efi
177 + )
178 + meson_src_compile "${targets[@]}"
179 +}
180 +
181 +src_install() {
182 + local efi_arch
183 + set_efi_arch
184 + dobin "${BUILD_DIR}"/bootctl src/kernel-install/kernel-install
185 + doman "${BUILD_DIR}"/man/{bootctl.1,kernel-install.8}
186 + exeinto usr/lib/kernel/install.d
187 + doexe src/kernel-install/*.install
188 + insinto usr/lib/systemd/boot/efi
189 + doins "${BUILD_DIR}"/src/boot/efi/{linux${efi_arch}.{efi,elf}.stub,systemd-boot${efi_arch}.efi}
190 + einstalldocs
191 +}