From 2193026e9fe9189a04a585e217a272e44ef93bca Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 19 Jan 2024 22:55:21 +0000 Subject: [PATCH] efivar: pull `gcc-13` fix pending upstream inclusion Without the change (and without disabled warnings) the build fails as: esl-iter.c:84:1: error: conflicting types for 'esl_iter_next_with_size_correction' due to enum/integer mismatch; have 'esl_iter_status_t(esl_iter *, efi_guid_t *, efi_guid_t *, uint8_t **, size_t *, _Bool)' {aka 'enum esl_iter_status(esl_iter *, efi_guid_t *, efi_guid_t *, unsigned char **, long unsigned int *, _Bool)'} [-Werror=enum-int-mismatch] 84 | esl_iter_next_with_size_correction(esl_iter *iter, efi_guid_t *type, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from efisec.h:25, from esl-iter.c:7: esl-iter.h:61:12: note: previous declaration of 'esl_iter_next_with_size_correction' with type 'int(esl_iter *, efi *, efi_guid_t *, uint8_t **, size_t *, _Bool)' {aka 'int(esl_iter *, efi_guid_t *, efi_guid_t *, unsigned char **, long unsigned int *, _Bool)'} 61 | extern int esl_iter_next_with_size_correction(esl_iter *iter, efi_guid_t *type, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- pkgs/tools/system/efivar/default.nix | 7 +++++++ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/system/efivar/default.nix b/pkgs/tools/system/efivar/default.nix index 8507c7c7cec0..9ddb83ca5e36 100644 --- a/pkgs/tools/system/efivar/default.nix +++ b/pkgs/tools/system/efivar/default.nix @@ -29,6 +29,13 @@ stdenv.mkDerivation rec { url = "https://github.com/rhboot/efivar/commit/cece3ffd5be2f8641eb694513f2b73e5eb97ffd3.patch"; sha256 = "7/E0gboU0A45/BY6jGPLuvds6qKtNjzpgKgdNTaVaZQ="; }) + + # Fix build against gcc-13: https://github.com/rhboot/efivar/pull/242 + (fetchpatch { + name = "gcc-13.patch"; + url = "https://github.com/rhboot/efivar/commit/52fece47d4f3ebd588bd85598bfc7a0142365f7e.patch"; + hash = "sha256-tOmxbY7kD6kzbBZ2RhQ5gCCpHtu+2gRNa7VUAWdCKu0="; + }) ]; nativeBuildInputs = [ pkg-config mandoc ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1e80a598bfca..6428d88b2963 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7944,7 +7944,7 @@ with pkgs; efibootmgr = callPackage ../tools/system/efibootmgr { }; - efivar = disable-warnings-if-gcc13 (callPackage ../tools/system/efivar { }); + efivar = callPackage ../tools/system/efivar { }; eget = callPackage ../tools/misc/eget { };