commit:     342785cfd5fdb34dd5eb741370dc3d79fecd310e
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  1 19:41:33 2025 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Jun  1 20:21:42 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=342785cf

sys-boot/vboot-utils: add 138_p20250522

Drop IUSE static in order to eliminate the need for static-libs support
in libzip which promped https://github.com/gentoo/gentoo/pull/42357.

Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 sys-boot/vboot-utils/Manifest                      |  1 +
 .../files/vboot-utils-138-musl-fts.patch           | 21 +++++++
 .../vboot-utils/vboot-utils-138_p20250522.ebuild   | 68 ++++++++++++++++++++++
 3 files changed, 90 insertions(+)

diff --git a/sys-boot/vboot-utils/Manifest b/sys-boot/vboot-utils/Manifest
index 3e0e45deb3f2..965a419487b9 100644
--- a/sys-boot/vboot-utils/Manifest
+++ b/sys-boot/vboot-utils/Manifest
@@ -1 +1,2 @@
+DIST vboot-utils-138_p20250522.tar.xz 32405036 BLAKE2B 
240ebe9622ce507253f57344f1de5aadb4dc82f3495bc29c9ea59ca37de5330c58f46039748b163cd166fb9faf98a0fb7c507011a3ae1166f874ec77894a4f7e
 SHA512 
0c080b43da5501bc10699598725a11cf04d5806e15035dd4856b216977c9c3f46d04c8231fea8ff41fc879ceb9b222420f6f5b8d764bcb202aae7448161d4ccf
 DIST vboot-utils-80_p20200108.tar.xz 18448212 BLAKE2B 
f7e375133fb6dc90def1e22c42c7511a3b649c34d067a447f44fb99c1ec37a73d034837c2212e5d6ad368a4f4b011c8cb9eb479e81db4a52b1160cda99382a77
 SHA512 
077d137d8fe89f35b6f7ec6408b2e9fc7a28765b0987646c1964e6e0c039e359711ab79958c45ee555a0fe810997217225d072a7f1011b1c73c4aefb4e57fcc1

diff --git a/sys-boot/vboot-utils/files/vboot-utils-138-musl-fts.patch 
b/sys-boot/vboot-utils/files/vboot-utils-138-musl-fts.patch
new file mode 100644
index 000000000000..3f0ce7b34d72
--- /dev/null
+++ b/sys-boot/vboot-utils/files/vboot-utils-138-musl-fts.patch
@@ -0,0 +1,21 @@
+--- a/Makefile
++++ b/Makefile
+@@ -263,6 +263,9 @@
+ # Musl doesn't have execinfo.h.
+ ifndef HAVE_MUSL
+   CFLAGS += -DHAVE_EXECINFO_H
++# Musl doesn't have fts.h so enable linking to the standalone lib.
++else
++  MUSL_LIBS := -lfts
+ endif
+ 
+ # And a few more default utilities
+@@ -1167,7 +1170,7 @@
+ 
+ # FUTIL_LIBS is shared by FUTIL_BIN and TEST_FUTIL_BINS.
+ FUTIL_LIBS = ${CROSID_LIBS} ${CRYPTO_LIBS} ${LIBZIP_LIBS} ${LIBARCHIVE_LIBS} \
+-      ${FLASHROM_LIBS}
++      ${FLASHROM_LIBS} ${MUSL_LIBS}
+ 
+ ${FUTIL_BIN}: LDLIBS += ${FUTIL_LIBS}
+ ${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB}

diff --git a/sys-boot/vboot-utils/vboot-utils-138_p20250522.ebuild 
b/sys-boot/vboot-utils/vboot-utils-138_p20250522.ebuild
new file mode 100644
index 000000000000..bf1d1509a59a
--- /dev/null
+++ b/sys-boot/vboot-utils/vboot-utils-138_p20250522.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Chrome OS verified boot tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/
 https://dev.chromium.org/chromium-os/chromiumos-design-docs/verified-boot";
+# Can't use gitiles directly until https://github.com/google/gitiles/issues/84 
is fixed.
+#SRC_URI="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+archive/refs/heads/release-R138-16295.B.tar.gz
 -> ${P}.tar.gz"
+SRC_URI="https://dev.gentoo.org/~zmedico/dist/${P}.tar.xz";
+S=${WORKDIR}
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86"
+IUSE="+libzip"
+RESTRICT=test
+
+RDEPEND="
+       dev-libs/openssl:0=
+       sys-apps/util-linux:=
+       elibc_musl? ( sys-libs/fts-standalone:= )
+       libzip? ( dev-libs/libzip:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/vboot-utils-138-musl-fts.patch
+)
+
+src_prepare() {
+       default
+
+       # Bug #687008
+       if ! use libzip; then
+               sed -e 's|^\(LIBZIP_VERSION :=\).*|\1|' -i Makefile || die
+       fi
+}
+
+_emake() {
+
+       local arch=$(tc-arch)
+       emake \
+               V=1 \
+               ARCH=${arch} \
+               LIBDIR="$(get_libdir)" \
+               DEBUG_FLAGS= \
+               WERROR= \
+               USE_FLASHROM=0 \
+               $(usex elibc_musl HAVE_MUSL=1 "") \
+               "$@"
+}
+
+src_compile() {
+       tc-export CC AR CXX PKG_CONFIG
+       _emake FUZZ_TEST_BINS= TEST_BINS= all
+}
+
+src_install() {
+       _emake DESTDIR="${ED}" install install_dev
+
+       insinto /usr/share/vboot/devkeys
+       doins tests/devkeys/*
+
+       dodoc README
+}

Reply via email to