dataexplorer: 3.9.0 -> 3.9.3 (#371970)
[NixPkgs.git] / pkgs / by-name / rp / rpi-imager / package.nix
blob3de04bd57cae9953b104c73f9d60e320350cdaf7
2   lib,
3   stdenv,
4   cmake,
5   curl,
6   fetchFromGitHub,
7   libarchive,
8   nix-update-script,
9   pkg-config,
10   qt5,
11   testers,
12   util-linux,
13   xz,
14   enableTelemetry ? false,
17 stdenv.mkDerivation (finalAttrs: {
18   pname = "rpi-imager";
19   version = "1.8.5";
21   src = fetchFromGitHub {
22     owner = "raspberrypi";
23     repo = "rpi-imager";
24     tag = "v${finalAttrs.version}";
25     hash = "sha256-JrotKMyAgQO3Y5RsFAar9N5/wDpWiBcy8RfvBWDiJMs=";
26   };
28   sourceRoot = "${finalAttrs.src.name}/src";
30   # By default, the builder checks for JSON support in lsblk by running "lsblk --json",
31   # but that throws an error, as /sys/dev doesn't exist in the sandbox.
32   # This patch removes the check.
33   patches = [ ./lsblkCheckFix.patch ];
35   nativeBuildInputs = [
36     cmake
37     pkg-config
38     qt5.wrapQtAppsHook
39     util-linux
40   ];
42   buildInputs =
43     [
44       curl
45       libarchive
46       qt5.qtbase
47       qt5.qtdeclarative
48       qt5.qtgraphicaleffects
49       qt5.qtquickcontrols2
50       qt5.qtsvg
51       qt5.qttools
52       xz
53     ]
54     ++ lib.optionals stdenv.hostPlatform.isLinux [
55       qt5.qtwayland
56     ];
58   # Disable telemetry and update check.
59   cmakeFlags = lib.optionals (!enableTelemetry) [
60     "-DENABLE_CHECK_VERSION=OFF"
61     "-DENABLE_TELEMETRY=OFF"
62   ];
64   passthru = {
65     tests.version = testers.testVersion {
66       package = finalAttrs.finalPackage;
67       command = "QT_QPA_PLATFORM=offscreen rpi-imager --version";
68     };
69     updateScript = nix-update-script { };
70   };
72   meta = with lib; {
73     description = "Raspberry Pi Imaging Utility";
74     homepage = "https://github.com/raspberrypi/rpi-imager/";
75     changelog = "https://github.com/raspberrypi/rpi-imager/releases/tag/v${finalAttrs.version}";
76     license = licenses.asl20;
77     mainProgram = "rpi-imager";
78     maintainers = with maintainers; [
79       ymarkus
80       anthonyroussel
81     ];
82     platforms = platforms.all;
83     # does not build on darwin
84     broken = stdenv.hostPlatform.isDarwin;
85   };