nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchzip,
5 autoreconfHook,
6 pkg-config,
7 glib,
8 pcre,
9 json_c,
10 flex,
11 bison,
12 dtc,
13 pciutils,
14 dmidecode,
15 acpica-tools,
16 libbsd,
17}:
18
19stdenv.mkDerivation rec {
20 pname = "fwts";
21 version = "24.09.00";
22
23 src = fetchzip {
24 url = "https://fwts.ubuntu.com/release/fwts-V${version}.tar.gz";
25 hash = "sha256-ZJSlx8O38e7bJYTgZacayslr28TLHHJsISXq9Uzsnyc=";
26 stripRoot = false;
27 };
28
29 nativeBuildInputs = [
30 autoreconfHook
31 pkg-config
32 ];
33
34 buildInputs = [
35 glib
36 pcre
37 json_c
38 flex
39 bison
40 dtc
41 pciutils
42 dmidecode
43 acpica-tools
44 libbsd
45 ];
46
47 postPatch = ''
48 substituteInPlace src/lib/include/fwts_binpaths.h \
49 --replace-fail "/usr/bin/lspci" "${pciutils}/bin/lspci" \
50 --replace-fail "/usr/sbin/dmidecode" "${dmidecode}/bin/dmidecode" \
51 --replace-fail "/usr/bin/iasl" "${acpica-tools}/bin/iasl"
52
53 substituteInPlace src/lib/src/fwts_devicetree.c \
54 src/devicetree/dt_base/dt_base.c \
55 --replace-fail "dtc -I" "${dtc}/bin/dtc -I"
56 '';
57
58 enableParallelBuilding = true;
59
60 meta = {
61 homepage = "https://wiki.ubuntu.com/FirmwareTestSuite";
62 description = "Firmware Test Suite";
63 platforms = lib.platforms.linux;
64 license = lib.licenses.gpl2Plus;
65 maintainers = with lib.maintainers; [ tadfisher ];
66 };
67}