commit:     85df12b0fb4272ea7a45674e90c099f2f05a58d7
Author:     Rick Farina <zerochaos <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 24 01:34:21 2023 +0000
Commit:     Rick Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Thu Aug 24 01:34:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85df12b0

sys-boot/mokutil: fix build failure

Closes: https://bugs.gentoo.org/895772
Signed-off-by: Rick Farina <zerochaos <AT> gentoo.org>

 .../mokutil/files/mokutil-0.6.0-conflict.patch     | 38 ++++++++++++++++++++++
 sys-boot/mokutil/mokutil-0.6.0.ebuild              |  4 ++-
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/sys-boot/mokutil/files/mokutil-0.6.0-conflict.patch 
b/sys-boot/mokutil/files/mokutil-0.6.0-conflict.patch
new file mode 100644
index 000000000000..6283fa331635
--- /dev/null
+++ b/sys-boot/mokutil/files/mokutil-0.6.0-conflict.patch
@@ -0,0 +1,38 @@
+From dd55c28236809fc30a7f079882914cde45560277 Mon Sep 17 00:00:00 2001
+From: Gary Lin <g...@suse.com>
+Date: Fri, 30 Jun 2023 10:36:54 +0800
+Subject: [PATCH] Avoid conflicting efi_char16_t type definitions
+
+It's not necessary to define 'efi_char16_t' as 'wchar_t' since we don't
+need any wchar functions. Besides, it may conflict with efivar-38. This
+commit defines 'efi_char16_t' as 'uint16_t' and adds the conditional
+check to avoid the potential conflict.
+
+Fixes: https://github.com/lcp/mokutil/issues/66
+
+Signed-off-by: Gary Lin <g...@suse.com>
+---
+ src/mokutil.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/mokutil.h b/src/mokutil.h
+index d47a380..bd02608 100644
+--- a/src/mokutil.h
++++ b/src/mokutil.h
+@@ -33,13 +33,14 @@
+ #define __MOKUTIL_H__
+ 
+ #include <ctype.h>
+-#include <wchar.h>
+ 
+ #include "signature.h"
+ 
+ typedef unsigned long efi_status_t;
+ typedef uint8_t efi_bool_t;
+-typedef wchar_t efi_char16_t;         /* UNICODE character */
++#ifndef efi_char16_t
++typedef uint16_t efi_char16_t;                /* UNICODE character */
++#endif
+ 
+ typedef enum {
+       DELETE_MOK = 0,

diff --git a/sys-boot/mokutil/mokutil-0.6.0.ebuild 
b/sys-boot/mokutil/mokutil-0.6.0.ebuild
index cf7a65403d0e..b57693258f14 100644
--- a/sys-boot/mokutil/mokutil-0.6.0.ebuild
+++ b/sys-boot/mokutil/mokutil-0.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -20,6 +20,8 @@ DEPEND="dev-libs/openssl:=
 RDEPEND="${DEPEND}"
 BDEPEND="virtual/pkgconfig"
 
+PATCHES=( "${FILESDIR}"/mokutil-0.6.0-conflict.patch )
+
 src_prepare() {
        default
        eautoreconf

Reply via email to