depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS # efivar
depends on !BR2_STATIC_LIBS # efivar
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # efivar
- depends on !BR2_TOOLCHAIN_USES_MUSL # efivar
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # efivar
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
select BR2_PACKAGE_EFIVAR
depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS
depends on BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
- BR2_TOOLCHAIN_USES_MUSL || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
--- /dev/null
+From 2255601757a8a58baddad2d37d0bcc6b003a3732 Mon Sep 17 00:00:00 2001
+From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Date: Fri, 25 Nov 2016 19:42:27 +0200
+Subject: [PATCH] Allow build with uClibc
+
+Basically this replaces type definitions in <uchar.h>.
+
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+---
+ src/export.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/export.c b/src/export.c
+index 7f2d4dd..72c02d1 100644
+--- a/src/export.c
++++ b/src/export.c
+@@ -21,11 +21,17 @@
+ #include <inttypes.h>
+ #include <stdint.h>
+ #include <stdlib.h>
+-#include <uchar.h>
+
+ #include <efivar/efivar.h>
+ #include "lib.h"
+
++#ifdef __UCLIBC__
++typedef int_least16_t char16_t;
++typedef int_least32_t char32_t;
++#else
++#include <uchar.h>
++#endif
++
+ #define EFIVAR_MAGIC 0xf3df1597
+
+ #define ATTRS_UNSET 0xa5a5a5a5a5a5a5a5
+--
+2.10.2
+
+++ /dev/null
-From 314eb67b239e60c2ed3700e2baf9cd0e590465f3 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Thu, 27 Oct 2016 09:19:18 -0400
-Subject: [PATCH] Use -z muldefs to avoid the multiple definitions bug
- without -flto
-
-This fixes github issue #64
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
-Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
----
- Make.defaults | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Make.defaults b/Make.defaults
-index aa974d9..c9d599f 100644
---- a/Make.defaults
-+++ b/Make.defaults
-@@ -32,6 +32,7 @@ cflags = $(CFLAGS) -I${TOPDIR}/src/include/efivar/ \
- clang_ccldflags =
- gcc_ccldflags =
- ccldflags = $(cflags) -L. $(CCLDFLAGS) $(LDFLAGS) \
-+ -Wl,-z,muldefs \
- $(if $(findstring clang,$(CCLD)),$(clang_ccldflags),) \
- $(if $(findstring gcc,$(CCLD)),$(gcc_ccldflags),) \
- $(call pkg-config-ccldflags)
---
-2.10.2
-
+++ /dev/null
-From 2255601757a8a58baddad2d37d0bcc6b003a3732 Mon Sep 17 00:00:00 2001
-From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-Date: Fri, 25 Nov 2016 19:42:27 +0200
-Subject: [PATCH] Allow build with uClibc
-
-Basically this replaces type definitions in <uchar.h>.
-
-Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
----
- src/export.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/export.c b/src/export.c
-index 7f2d4dd..72c02d1 100644
---- a/src/export.c
-+++ b/src/export.c
-@@ -21,11 +21,17 @@
- #include <inttypes.h>
- #include <stdint.h>
- #include <stdlib.h>
--#include <uchar.h>
-
- #include <efivar.h>
- #include "lib.h"
-
-+#ifdef __UCLIBC__
-+typedef int_least16_t char16_t;
-+typedef int_least32_t char32_t;
-+#else
-+#include <uchar.h>
-+#endif
-+
- #define EFIVAR_MAGIC 0xf3df1597
-
- #define ATTRS_UNSET 0xa5a5a5a5a5a5a5a5
---
-2.10.2
-
+++ /dev/null
-From 1c7c0f71c9d22efda4156881eb187b8c69d1cca7 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Mon, 6 Feb 2017 14:28:19 -0500
-Subject: [PATCH] Remove some extra "const" that gcc complains about.
-
-One of these days I'll get these right.
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Upstream commit 1c7c0f71c9d22e.
-
- src/include/efivar/efiboot-loadopt.h | 4 ++--
- src/loadopt.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/include/efivar/efiboot-loadopt.h b/src/include/efivar/efiboot-loadopt.h
-index 07db5c4c53e3..efc29c69d47e 100644
---- a/src/include/efivar/efiboot-loadopt.h
-+++ b/src/include/efivar/efiboot-loadopt.h
-@@ -32,8 +32,8 @@ extern ssize_t efi_loadopt_create(uint8_t *buf, ssize_t size,
-
- extern efidp efi_loadopt_path(efi_load_option *opt, ssize_t limit)
- __attribute__((__nonnull__ (1)));
--extern const unsigned char const * efi_loadopt_desc(efi_load_option *opt,
-- ssize_t limit)
-+extern const unsigned char * efi_loadopt_desc(efi_load_option *opt,
-+ ssize_t limit)
- __attribute__((__visibility__ ("default")))
- __attribute__((__nonnull__ (1)));
- extern uint32_t efi_loadopt_attrs(efi_load_option *opt)
-diff --git a/src/loadopt.c b/src/loadopt.c
-index a63ca792d2dc..ce889867fd29 100644
---- a/src/loadopt.c
-+++ b/src/loadopt.c
-@@ -357,7 +357,7 @@ teardown(void)
-
- __attribute__((__nonnull__ (1)))
- __attribute__((__visibility__ ("default")))
--const unsigned char const *
-+const unsigned char *
- efi_loadopt_desc(efi_load_option *opt, ssize_t limit)
- {
- if (last_desc) {
---
-2.13.2
-
# failures. So, prevent this package to be built using those
# toolchains.
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
- # doesn't build with musl due to lack of __bswap_constant_16
- depends on !BR2_TOOLCHAIN_USES_MUSL
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
- select BR2_PACKAGE_POPT
help
Tools and libraries to manipulate EFI variables
- https://github.com/rhinstaller/efivar
+ https://github.com/rhboot/efivar
-comment "efivar needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9"
+comment "efivar needs a toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9"
depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS
depends on BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
- BR2_TOOLCHAIN_USES_MUSL || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
# locally computed hash
-sha256 20709c76311f8eb8be92977b7ac008ce62501fa9f7fe885a784321540fc352f9 efivar-30.tar.gz
+sha256 9691399a424b8e3776b7ed2df1893c4162285a93697d781f387d0f0d258a7f4b efivar-34.tar.gz
+sha256 91df770634adc2755e78cae33a0d01e702ce2f69046408ae93d0d934ff29691b COPYING
#
################################################################################
-EFIVAR_VERSION = 30
-EFIVAR_SITE = $(call github,rhinstaller,efivar,$(EFIVAR_VERSION))
+EFIVAR_VERSION = 34
+EFIVAR_SITE = $(call github,rhboot,efivar,$(EFIVAR_VERSION))
EFIVAR_LICENSE = LGPL-2.1
EFIVAR_LICENSE_FILES = COPYING
-EFIVAR_DEPENDENCIES = popt
EFIVAR_INSTALL_STAGING = YES
-# BINTARGETS is set to skip efivar-static which requires static popt,
-# and since we depend on dynamic libraries, efivar will never be built
-# in a static-only environment.
# -fPIC is needed at least on MIPS, otherwise fails to build shared
# -library.
EFIVAR_MAKE_OPTS = \
libdir=/usr/lib \
- BINTARGETS=efivar \
LDFLAGS="$(TARGET_LDFLAGS) -fPIC"
define EFIVAR_BUILD_CMDS