diff options
Diffstat (limited to 'sys-libs/efivar')
-rw-r--r-- | sys-libs/efivar/efivar-32-r1.ebuild | 42 | ||||
-rw-r--r-- | sys-libs/efivar/files/efivar-32-efi_guid_ux_capsule.patch | 59 |
2 files changed, 101 insertions, 0 deletions
diff --git a/sys-libs/efivar/efivar-32-r1.ebuild b/sys-libs/efivar/efivar-32-r1.ebuild new file mode 100644 index 000000000000..2ae5a0644a86 --- /dev/null +++ b/sys-libs/efivar/efivar-32-r1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Tools and library to manipulate EFI variables" +HOMEPAGE="https://github.com/rhinstaller/efivar" +#SRC_URI="https://github.com/rhinstaller/efivar/releases/download/${PV}/${P}.tar.bz2" +SRC_URI="https://github.com/rhinstaller/efivar/archive/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0/1" +KEYWORDS="~amd64 ~arm64 ~ia64 ~x86" + +RDEPEND="dev-libs/popt" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-3.18 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${P}-efi_guid_ux_capsule.patch" +) + +src_prepare() { + default + sed -i -e s/-Werror// gcc.specs || die +} + +src_configure() { + tc-export CC + tc-ld-disable-gold + export libdir="/usr/$(get_libdir)" + unset LIBS # Bug 562004 + + if [[ -n ${GCC_SPECS} ]]; then + # The environment overrides the command line. + GCC_SPECS+=":${S}/gcc.specs" + fi +} diff --git a/sys-libs/efivar/files/efivar-32-efi_guid_ux_capsule.patch b/sys-libs/efivar/files/efivar-32-efi_guid_ux_capsule.patch new file mode 100644 index 000000000000..8a5a72f66fb0 --- /dev/null +++ b/sys-libs/efivar/files/efivar-32-efi_guid_ux_capsule.patch @@ -0,0 +1,59 @@ +From cd732494ba7685feaf71b9ee58619ca6aef39fc9 Mon Sep 17 00:00:00 2001 +From: Peter Jones <pjones@redhat.com> +Date: Tue, 12 Sep 2017 10:45:31 -0400 +Subject: [PATCH] Make efi_guid_ux_capsule actually work. + +Signed-off-by: Peter Jones <pjones@redhat.com> +--- + src/abignore | 11 ++++++++++- + src/guids.txt | 2 +- + src/libefivar.map.in | 4 ++++ + 3 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/src/abignore b/src/abignore +index 74b5160..479b5c3 100644 +--- a/src/abignore ++++ b/src/abignore +@@ -14,7 +14,16 @@ + # 'efidp_wifi __anonymous_union__::wifi' at efivar-dp.h:868:1 + # + [suppress_type] +- soname_regexp = libefi(var|boot)\\.so ++ soname_regexp = libefi(var|boot)\\.so\\..* + name = efidp_data + type_kind = typedef + has_data_member_inserted_at = end ++ ++# 1 Added variable: ++# ++# 'const __anonymous_struct__ efi_guid_ux_capsule' {efi_guid_ux_capsule@@LIBEFIVAR_1.32} ++# ++[suppress_variable] ++ soname_regexp = ^libefivar\\.so\\.[[:digit:]]+ ++ symbol_name_regexp = ^efi_guid_[[:alnum:]_]+$ ++ change_kind = add-variable +diff --git a/src/guids.txt b/src/guids.txt +index 87e2f61..06081ed 100644 +--- a/src/guids.txt ++++ b/src/guids.txt +@@ -3,7 +3,7 @@ + 0abba7dc-e516-4167-bbf5-4d9d1c739416 redhat Red Hat + 0b6e5233-a65c-44c9-9407-d9ab83bfc8bd sha224 SHA-224 + 126a762d-5758-4fca-8531-201a7f57f850 lenovo_boot_menu Lenovo Boot Menu +-3b8c8162-188c-46a4-aec9-be43f1d65697 ux_capsule_guid Firmware update localized text image ++3b8c8162-188c-46a4-aec9-be43f1d65697 ux_capsule Firmware update localized text image + 3bd2a492-96c0-4079-b420-fcf98ef103ed x509_sha256 SHA256 hash of X.509 Certificate + 3c5766e8-269c-4e34-aa14-ed776e85b3b6 rsa2048 RSA 2048 + 3CC24E96-22C7-41D8-8863-8E39DCDCC2CF lenovo Lenovo +diff --git a/src/libefivar.map.in b/src/libefivar.map.in +index ba51d55..a95a505 100644 +--- a/src/libefivar.map.in ++++ b/src/libefivar.map.in +@@ -110,3 +110,7 @@ LIBEFIVAR_1.30 { + efi_error_get; + efi_error_clear; + } LIBEFIVAR_1.29; ++ ++LIBEFIVAR_1.32 { ++ global: efi_guid_ux_capsule; ++} LIBEFIVAR_1.30; |