main/gnu-efi: upgrade to 3.0.18

This commit is contained in:
Sertonix 2024-09-09 00:32:04 +02:00 committed by Natanael Copa
parent 9bda3b34ae
commit 6c78279f14
3 changed files with 158 additions and 22 deletions

View file

@ -1,19 +1,22 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gnu-efi
pkgver=3.0.15
pkgrel=4
pkgver=3.0.18
pkgrel=0
pkgdesc="Development Libraries and headers for EFI"
url="https://sourceforge.net/projects/gnu-efi/"
arch="all !armhf !s390x !ppc64le !loongarch64"
url="https://github.com/ncroxon/gnu-efi"
arch="all !armhf !s390x !ppc64le"
license="BSD-2-Clause"
subpackages="$pkgname-dev"
subpackages="$pkgname-dev $pkgname-apps"
depends_dev="$pkgname"
source="https://downloads.sourceforge.net/project/gnu-efi/gnu-efi-$pkgver.tar.bz2
no-werror.patch
source="https://github.com/ncroxon/gnu-efi/archive/refs/tags/$pkgver/gnu-efi-$pkgver.tar.gz
CHAR16.patch
"
options="!check"
build() {
# LDFLAGS are passed directly to the linker
LDFLAGS="${LDFLAGS//-Wl/}"
LDFLAGS="${LDFLAGS//,/ }"
make -j1
}
@ -21,7 +24,12 @@ package() {
make PREFIX=/usr INSTALLROOT="$pkgdir" install
}
apps() {
pkgdesc="$pkgdesc (EFI test apps)"
amove usr/lib/gnuefi/apps
}
sha512sums="
64d408b6d115bdc6eebae12fbd6cd907ed5f847f54e506c1e8f8ea5de38a95cf6fac66ab1009bd1d0bd2d54ad45ad598d29bcc303926a5899bf5cc25448cbb2f gnu-efi-3.0.15.tar.bz2
f384597dc967cc9b1cf738d4002dc75847606c8ab10efbaf9e23844c767f5b9a33518374321b2ae5c5d7e4c9c3abaed996d0690ea81a7906355cabec1426d248 no-werror.patch
d1edeec6480cc0317f400627dde9e840257acf7d3fb6a1f47b7be4761d6d69040d034ae4f2123b1ab32bd615ff55c6a50010f80976e81cfb0c5716ce7f11dfdb gnu-efi-3.0.18.tar.gz
1f9e739a1dab7ed2cb096a176d897d37e837fc1856caef65e524edf1207fb0359e560be8d10ab7801a0b81ceae83bb2417511e78d793add408ae18c51d26aeb7 CHAR16.patch
"

141
main/gnu-efi/CHAR16.patch Normal file
View file

@ -0,0 +1,141 @@
From edfda7c396134c7109444b230ce4b0da1e61d524 Mon Sep 17 00:00:00 2001
From: Callum Farmer <gmbr3@opensuse.org>
Date: Wed, 29 May 2024 16:22:50 +0100
Subject: [PATCH] Make CHAR16 use uint16_t
musl-libc doesn't like fshort-wchar so remove wchar_t usage
Use uint16_t as char16_t can be up to 32bits
Fixes ncroxon/gnu-efi#16
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
---
Make.defaults | 4 ++--
inc/aarch64/efibind.h | 2 +-
inc/arm/efibind.h | 2 +-
inc/ia32/efibind.h | 2 +-
inc/ia64/efibind.h | 2 +-
inc/loongarch64/efibind.h | 2 +-
inc/mips64el/efibind.h | 2 +-
inc/riscv64/efibind.h | 5 ++---
inc/x86_64/efibind.h | 2 +-
9 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/inc/aarch64/efibind.h b/inc/aarch64/efibind.h
index c670f84..827b066 100644
--- a/inc/aarch64/efibind.h
+++ b/inc/aarch64/efibind.h
@@ -40,7 +40,7 @@ typedef int64_t intptr_t;
#include <stddef.h>
-typedef wchar_t CHAR16;
+typedef uint16_t CHAR16;
#define WCHAR CHAR16
typedef uint64_t UINT64;
diff --git a/inc/arm/efibind.h b/inc/arm/efibind.h
index 3a95e85..6094c65 100644
--- a/inc/arm/efibind.h
+++ b/inc/arm/efibind.h
@@ -48,7 +48,7 @@ typedef int32_t intptr_t;
#include <stddef.h>
-typedef wchar_t CHAR16;
+typedef uint16_t CHAR16;
#define WCHAR CHAR16
typedef uint64_t UINT64;
diff --git a/inc/ia32/efibind.h b/inc/ia32/efibind.h
index accedce..a82aef6 100644
--- a/inc/ia32/efibind.h
+++ b/inc/ia32/efibind.h
@@ -87,7 +87,7 @@ Revision History
#include <stddef.h>
-typedef wchar_t CHAR16;
+typedef uint16_t CHAR16;
#define WCHAR CHAR16
diff --git a/inc/ia64/efibind.h b/inc/ia64/efibind.h
index efdbd0e..e68b0d8 100644
--- a/inc/ia64/efibind.h
+++ b/inc/ia64/efibind.h
@@ -74,7 +74,7 @@ Revision History
#include <stddef.h>
-typedef wchar_t CHAR16;
+typedef uint16_t CHAR16;
#define WCHAR CHAR16
typedef uint64_t UINT64;
diff --git a/inc/loongarch64/efibind.h b/inc/loongarch64/efibind.h
index e5b2318..6fc7b65 100644
--- a/inc/loongarch64/efibind.h
+++ b/inc/loongarch64/efibind.h
@@ -44,7 +44,7 @@ typedef int64_t intptr_t;
#include <stddef.h>
-typedef wchar_t CHAR16;
+typedef uint16_t CHAR16;
#define WCHAR CHAR16
typedef uint64_t UINT64;
diff --git a/inc/mips64el/efibind.h b/inc/mips64el/efibind.h
index fbdff30..63b1b23 100644
--- a/inc/mips64el/efibind.h
+++ b/inc/mips64el/efibind.h
@@ -42,7 +42,7 @@ typedef int64_t intptr_t;
#include <stddef.h>
-typedef wchar_t CHAR16;
+typedef uint16_t CHAR16;
#define WCHAR CHAR16
typedef uint64_t UINT64;
diff --git a/inc/riscv64/efibind.h b/inc/riscv64/efibind.h
index 1a8b1dc..5558e8b 100644
--- a/inc/riscv64/efibind.h
+++ b/inc/riscv64/efibind.h
@@ -17,13 +17,12 @@
*/
#include <stdint.h>
+#include <stddef.h>
//
// Basic EFI types of various widths
//
-#include <stddef.h>
-
typedef uint64_t UINT64;
typedef int64_t INT64;
typedef uint32_t UINT32;
@@ -33,7 +32,7 @@ typedef int16_t INT16;
typedef uint8_t UINT8;
typedef int8_t INT8;
typedef char CHAR8;
-typedef wchar_t CHAR16;
+typedef uint16_t CHAR16;
#define WCHAR CHAR16
#undef VOID
typedef void VOID;
diff --git a/inc/x86_64/efibind.h b/inc/x86_64/efibind.h
index e454ed2..8f431cb 100644
--- a/inc/x86_64/efibind.h
+++ b/inc/x86_64/efibind.h
@@ -98,7 +98,7 @@ Revision History
#include <stddef.h>
-typedef wchar_t CHAR16;
+typedef uint16_t CHAR16;
#define WCHAR CHAR16
typedef uint64_t UINT64;

View file

@ -1,13 +0,0 @@
diff --git a/Make.defaults b/Make.defaults
index ba743f1..5fd1b66 100755
--- a/Make.defaults
+++ b/Make.defaults
@@ -170,7 +170,7 @@ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
-fshort-wchar -fno-strict-aliasing \
-ffreestanding -fno-stack-protector
else
-CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
+CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra \
-fshort-wchar -fno-strict-aliasing \
-ffreestanding -fno-stack-protector -fno-stack-check \
-fno-stack-check \