diff --git a/main/gnu-efi/APKBUILD b/main/gnu-efi/APKBUILD index 609b6939916..9e0d3d101de 100644 --- a/main/gnu-efi/APKBUILD +++ b/main/gnu-efi/APKBUILD @@ -1,19 +1,22 @@ # Maintainer: Natanael Copa 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 " diff --git a/main/gnu-efi/CHAR16.patch b/main/gnu-efi/CHAR16.patch new file mode 100644 index 00000000000..9b7d516fd7b --- /dev/null +++ b/main/gnu-efi/CHAR16.patch @@ -0,0 +1,141 @@ +From edfda7c396134c7109444b230ce4b0da1e61d524 Mon Sep 17 00:00:00 2001 +From: Callum Farmer +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 +--- + 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 + +-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 + +-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 + +-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 + +-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 + +-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 + +-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 ++#include + + // + // Basic EFI types of various widths + // + +-#include +- + 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 + +-typedef wchar_t CHAR16; ++typedef uint16_t CHAR16; + #define WCHAR CHAR16 + + typedef uint64_t UINT64; diff --git a/main/gnu-efi/no-werror.patch b/main/gnu-efi/no-werror.patch deleted file mode 100644 index fa559e315a6..00000000000 --- a/main/gnu-efi/no-werror.patch +++ /dev/null @@ -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 \