depot/third_party/nixpkgs/pkgs/tools/misc/flashrom/default.nix
Default email 634fe97655 Project import generated by Copybara.
GitOrigin-RevId: 09c38c29f2c719cd76ca17a596c2fdac9e186ceb
2021-07-03 00:11:41 -03:00

47 lines
1.3 KiB
Nix

{ lib
, stdenv
, fetchurl
, meson
, ninja
, pkg-config
, libftdi1
, libusb1
, pciutils
, installShellFiles
}:
stdenv.mkDerivation rec {
pname = "flashrom";
version = "1.2";
src = fetchurl {
url = "https://download.flashrom.org/releases/flashrom-v${version}.tar.bz2";
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
'';
mesonFlags = lib.optionals stdenv.isAarch64 [ "-Dpciutils=false" ];
nativeBuildInputs = [ meson pkg-config ninja installShellFiles ];
buildInputs = [ libftdi1 libusb1 pciutils ];
meta = with lib; {
homepage = "http://www.flashrom.org";
description = "Utility for reading, writing, erasing and verifying flash ROM chips";
license = licenses.gpl2;
maintainers = with maintainers; [ funfunctor fpletz felixsinger ];
platforms = platforms.all;
broken = stdenv.isDarwin; # requires DirectHW
};
}