summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2016-08-24 12:27:15 -0400
committerMike Gilbert <floppym@gentoo.org>2016-08-24 12:27:56 -0400
commita968d7a72f90fa86a9dfc05a28880fba4d941622 (patch)
tree49affecd76a07bf1d20557f2e8b5bae1cc27cbcc
parentnet-fs/s3fs: move from sys-fs/s3fs (diff)
downloadgentoo-a968d7a7.tar.gz
gentoo-a968d7a7.tar.bz2
gentoo-a968d7a7.zip
sys-boot/gummiboot: include sysmacros.h
Bug: https://bugs.gentoo.org/581714 Package-Manager: portage-2.3.0_p22
-rw-r--r--sys-boot/gummiboot/files/48-sysmacros.patch52
-rw-r--r--sys-boot/gummiboot/gummiboot-48.ebuild12
2 files changed, 63 insertions, 1 deletions
diff --git a/sys-boot/gummiboot/files/48-sysmacros.patch b/sys-boot/gummiboot/files/48-sysmacros.patch
new file mode 100644
index 000000000000..aceee313f4e5
--- /dev/null
+++ b/sys-boot/gummiboot/files/48-sysmacros.patch
@@ -0,0 +1,52 @@
+From d7904d41506163d07d27dbfab1e514b75d172cee Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Wed, 24 Aug 2016 12:17:19 -0400
+Subject: [PATCH] setup: conditionally include sysmacros.h for major()
+
+---
+ configure.ac | 2 ++
+ src/setup/setup.c | 8 ++++++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 27bbe1d..27552c2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -72,6 +72,8 @@ AS_IF([test x"$cross_compiling" = "xyes"], [], [
+ AC_SUBST([QEMU_BIOS])
+ ])
+
++AC_HEADER_MAJOR
++
+ # ------------------------------------------------------------------------------
+ dnl GNU EFI doesn't use relative paths: efi.h includes efibind.h which is in
+ dnl ${ARCH} relative to efi.h. I can't find a way to get AC_CHECK_HEADERS to
+diff --git a/src/setup/setup.c b/src/setup/setup.c
+index 6a4275a..6bf8d86 100644
+--- a/src/setup/setup.c
++++ b/src/setup/setup.c
+@@ -27,6 +27,7 @@
+ #include <assert.h>
+ #include <sys/statfs.h>
+ #include <sys/stat.h>
++#include <sys/types.h>
+ #include <errno.h>
+ #include <string.h>
+ #include <unistd.h>
+@@ -38,6 +39,13 @@
+ #include <stdbool.h>
+ #include <blkid.h>
+
++#ifdef MAJOR_IN_MKDEV
++#include <sys/mkdev.h>
++#endif
++#ifdef MAJOR_IN_SYSMACROS
++#include <sys/sysmacros.h>
++#endif
++
+ #include "efivars.h"
+
+ #define ELEMENTSOF(x) (sizeof(x)/sizeof((x)[0]))
+--
+2.9.3
+
diff --git a/sys-boot/gummiboot/gummiboot-48.ebuild b/sys-boot/gummiboot/gummiboot-48.ebuild
index a4b017d2b6d7..bc51e1f95a6b 100644
--- a/sys-boot/gummiboot/gummiboot-48.ebuild
+++ b/sys-boot/gummiboot/gummiboot-48.ebuild
@@ -3,8 +3,9 @@
# $Id$
EAPI=6
+WANT_LIBTOOL=none
-inherit linux-info
+inherit autotools linux-info
DESCRIPTION="Minimalistic UEFI bootloader"
HOMEPAGE="https://freedesktop.org/wiki/Software/gummiboot/"
@@ -22,8 +23,17 @@ DEPEND="${RDEPEND}
dev-libs/libxslt
>=sys-boot/gnu-efi-3.0.2"
+PATCHES=(
+ "${FILESDIR}/48-sysmacros.patch"
+)
+
pkg_pretend() {
# CONFIG_EFI_STUB is required to boot a kernel with gummiboot
local CONFIG_CHECK="~EFI_STUB"
check_extra_config
}
+
+src_prepare() {
+ default
+ eautoreconf
+}