pesign: fix build with gcc14, modernize (#395125)

This commit is contained in:
Aleksana 2025-04-05 23:01:42 +08:00 committed by GitHub
commit 82dc83769d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,6 +2,7 @@
lib, lib,
stdenv, stdenv,
fetchFromGitHub, fetchFromGitHub,
fetchpatch2,
pkg-config, pkg-config,
nss, nss,
efivar, efivar,
@ -11,17 +12,26 @@
mandoc, mandoc,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "pesign"; pname = "pesign";
version = "116"; version = "116";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rhboot"; owner = "rhboot";
repo = "pesign"; repo = "pesign";
rev = version; tag = finalAttrs.version;
hash = "sha256-cuOSD/ZHkilgguDFJviIZCG8kceRWw2JgssQuWN02Do="; hash = "sha256-cuOSD/ZHkilgguDFJviIZCG8kceRWw2JgssQuWN02Do=";
}; };
patches = [
# fix build with gcc14
# https://github.com/rhboot/pesign/pull/119
(fetchpatch2 {
url = "https://github.com/rhboot/pesign/commit/1f9e2fa0b4d872fdd01ca3ba81b04dfb1211a187.patch?full_index=1";
hash = "sha256-viVM4Z0jAEAWC3EdJVHcWe21aQskH5XE85lOd6Xd/qU=";
})
];
# nss-util is missing because it is already contained in nss # nss-util is missing because it is already contained in nss
# Red Hat seems to be shipping a separate nss-util: # Red Hat seems to be shipping a separate nss-util:
# https://centos.pkgs.org/7/centos-x86_64/nss-util-devel-3.44.0-4.el7_7.x86_64.rpm.html # https://centos.pkgs.org/7/centos-x86_64/nss-util-devel-3.44.0-4.el7_7.x86_64.rpm.html
@ -49,12 +59,12 @@ stdenv.mkDerivation rec {
rm -rf $out/run rm -rf $out/run
''; '';
meta = with lib; { meta = {
description = "Signing tools for PE-COFF binaries. Compliant with the PE and Authenticode specifications"; description = "Signing tools for PE-COFF binaries. Compliant with the PE and Authenticode specifications";
homepage = "https://github.com/rhboot/pesign"; homepage = "https://github.com/rhboot/pesign";
license = licenses.gpl2Only; license = lib.licenses.gpl2Only;
maintainers = with maintainers; [ raitobezarius ]; maintainers = with lib.maintainers; [ raitobezarius ];
# efivar is currently Linux-only. # efivar is currently Linux-only.
platforms = platforms.linux; platforms = lib.platforms.linux;
}; };
} })