nixpkgs/pkgs/by-name/pe/pesign/package.nix
ghpzin 34dbfa4281 pesign: modernize
- replace `rec` with `finalAttrs`
- remove `with lib;` from `meta`
- replace `rev` with `tag` in `src`
2025-04-02 08:25:39 +03:00

71 lines
1.6 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
pkg-config,
nss,
efivar,
util-linux,
popt,
nspr,
mandoc,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "pesign";
version = "116";
src = fetchFromGitHub {
owner = "rhboot";
repo = "pesign";
tag = finalAttrs.version;
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
# 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
# containing things we already have in `nss`.
# We can ignore all the errors pertaining to a missing
# nss-util.pc I suppose.
buildInputs = [
efivar
util-linux
nss
popt
nspr
mandoc
];
nativeBuildInputs = [ pkg-config ];
makeFlags = [ "INSTALLROOT=$(out)" ];
postInstall = ''
mv $out/usr/bin $out/bin
mv $out/usr/share $out/share
rm -rf $out/usr
rm -rf $out/etc
rm -rf $out/run
'';
meta = {
description = "Signing tools for PE-COFF binaries. Compliant with the PE and Authenticode specifications";
homepage = "https://github.com/rhboot/pesign";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ raitobezarius ];
# efivar is currently Linux-only.
platforms = lib.platforms.linux;
};
})