nixpkgs/pkgs/tools/misc/flashrom/default.nix

48 lines
1.3 KiB
Nix
Raw Normal View History

{ lib
, stdenv
, fetchurl
, meson
, ninja
2021-01-17 03:51:22 +00:00
, pkg-config
, libftdi1
, libusb1
, pciutils
, installShellFiles
}:
stdenv.mkDerivation rec {
pname = "flashrom";
2020-02-12 08:37:44 +00:00
version = "1.2";
src = fetchurl {
2019-04-02 07:04:37 +01:00
url = "https://download.flashrom.org/releases/flashrom-v${version}.tar.bz2";
2020-02-12 08:37:44 +00:00
sha256 = "0ax4kqnh7kd3z120ypgp73qy1knz47l6qxsqzrfkd97mh5cdky71";
};
postPatch = ''
substituteInPlace util/z60_flashrom.rules \
--replace "plugdev" "flashrom"
'';
# Meson build doesn't build and install manpage. Only Makefile can.
# Build manpage from source directory. Here we're inside the ./build subdirectory
postInstall = ''
make flashrom.8 -C ..
installManPage ../flashrom.8
install -Dm644 ../util/z60_flashrom.rules $out/etc/udev/rules.d/flashrom.rules
'';
2020-09-09 21:09:45 +01:00
mesonFlags = lib.optionals stdenv.isAarch64 [ "-Dpciutils=false" ];
nativeBuildInputs = [ meson pkg-config ninja installShellFiles ];
buildInputs = [ libftdi1 libusb1 pciutils ];
2018-01-28 03:04:14 +00:00
meta = with lib; {
homepage = "http://www.flashrom.org";
description = "Utility for reading, writing, erasing and verifying flash ROM chips";
2018-01-28 03:04:14 +00:00
license = licenses.gpl2;
maintainers = with maintainers; [ funfunctor fpletz felixsinger ];
platforms = platforms.all;
2020-11-24 09:02:14 +00:00
broken = stdenv.isDarwin; # requires DirectHW
};
}