62 lines
1.4 KiB
Nix
62 lines
1.4 KiB
Nix
{ efivar, fetchurl, gettext, gnu-efi, libsmbios, pkgconfig, popt, stdenv }:
|
|
let
|
|
version = "10";
|
|
in stdenv.mkDerivation {
|
|
name = "fwupdate-${version}";
|
|
src = fetchurl {
|
|
url = "https://github.com/rhinstaller/fwupdate/releases/download/${version}/fwupdate-${version}.tar.bz2";
|
|
sha256 = "0fpk3q0msq2l0bs2mvk0cqp8jbwnmi17ggc81r4v96h4jxh2rx3k";
|
|
};
|
|
|
|
patches = [
|
|
# https://github.com/rhboot/fwupdate/pull/99
|
|
./fix-paths.patch
|
|
./do-not-create-sharedstatedir.patch
|
|
];
|
|
|
|
NIX_CFLAGS_COMPILE = [ "-I${gnu-efi}/include/efi" ];
|
|
|
|
# TODO: Just apply the disable to the efi subdir
|
|
hardeningDisable = [ "stackprotector" ];
|
|
|
|
makeFlags = [
|
|
"EFIDIR=nixos"
|
|
"prefix=$(out)"
|
|
"LIBDIR=$(out)/lib"
|
|
"GNUEFIDIR=${gnu-efi}/lib"
|
|
"ESPMOUNTPOINT=$(out)/boot"
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
pkgconfig
|
|
gettext
|
|
];
|
|
|
|
buildInputs = [
|
|
gnu-efi
|
|
libsmbios
|
|
popt
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
efivar
|
|
];
|
|
|
|
# TODO: fix wrt cross-compilation
|
|
preConfigure = ''
|
|
arch=$(cc -dumpmachine | cut -f1 -d- | sed 's,i[3456789]86,ia32,' )
|
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gnu-efi}/include/efi/$arch"
|
|
'';
|
|
|
|
postInstall = ''
|
|
rm -rf $out/src
|
|
rm -rf $out/lib/debug
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Tools for using the ESRT and UpdateCapsule() to apply firmware updates";
|
|
maintainers = with maintainers; [ ];
|
|
license = licenses.gpl2;
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|