From 22f6f9163693eac5c0ceacc2c10d81e62c05accb Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Wed, 23 Aug 2023 15:03:17 +0200 Subject: [PATCH 1/5] rpi-imager: 1.7.4 -> 1.7.5 See https://github.com/raspberrypi/rpi-imager/releases/tag/v1.7.5 --- pkgs/tools/misc/rpi-imager/default.nix | 43 +++++++++++-------- .../tools/misc/rpi-imager/lsblkCheckFix.patch | 8 ++-- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/pkgs/tools/misc/rpi-imager/default.nix b/pkgs/tools/misc/rpi-imager/default.nix index e875d5a59550..7f6b5e79b061 100644 --- a/pkgs/tools/misc/rpi-imager/default.nix +++ b/pkgs/tools/misc/rpi-imager/default.nix @@ -1,31 +1,35 @@ -{ mkDerivation, - stdenv, - lib, - fetchFromGitHub, - cmake, - curl, - libarchive, - util-linux, - qtbase, - qtdeclarative, - qtsvg, - qttools, - qtquickcontrols2, - qtgraphicaleffects +{ lib +, stdenv +, fetchFromGitHub +, wrapQtAppsHook +, cmake +, util-linux +, curl +, libarchive +, qtbase +, qtdeclarative +, qtsvg +, qttools +, qtquickcontrols2 +, qtgraphicaleffects }: -mkDerivation rec { +stdenv.mkDerivation rec { pname = "rpi-imager"; - version = "1.7.4"; + version = "1.7.5"; src = fetchFromGitHub { owner = "raspberrypi"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ahETmUhlPZ3jpxmzDK5pS6yLc6UxCJFOtWolAtSrDVQ="; + sha256 = "sha256-yB+H1zWL40KzxOrBuvg7nBC3zmWilsOgOW7ndiDWuDA="; }; - nativeBuildInputs = [ cmake util-linux ]; + nativeBuildInputs = [ + cmake + util-linux + wrapQtAppsHook + ]; buildInputs = [ curl @@ -47,7 +51,8 @@ mkDerivation rec { meta = with lib; { description = "Raspberry Pi Imaging Utility"; - homepage = "https://www.raspberrypi.org/software/"; + homepage = "https://www.raspberrypi.com/software/"; + changelog = "https://github.com/raspberrypi/rpi-imager/releases/tag/v${version}"; downloadPage = "https://github.com/raspberrypi/rpi-imager/"; license = licenses.asl20; maintainers = with maintainers; [ ymarkus ]; diff --git a/pkgs/tools/misc/rpi-imager/lsblkCheckFix.patch b/pkgs/tools/misc/rpi-imager/lsblkCheckFix.patch index 98fd2a659dc8..aa4fdeecfdb0 100644 --- a/pkgs/tools/misc/rpi-imager/lsblkCheckFix.patch +++ b/pkgs/tools/misc/rpi-imager/lsblkCheckFix.patch @@ -1,16 +1,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3d7fc79..8ce72b9 100644 +index 170ce7a..063a137 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -229,11 +229,6 @@ else() +@@ -332,11 +332,6 @@ else() if (NOT LSBLK) message(FATAL_ERROR "Unable to locate lsblk (used for disk enumeration)") endif() - -- execute_process(COMMAND "${LSBLK}" "--json" RESULT_VARIABLE ret) +- execute_process(COMMAND "${LSBLK}" "--json" OUTPUT_QUIET RESULT_VARIABLE ret) - if (ret EQUAL "1") - message(FATAL_ERROR "util-linux package too old. lsblk does not support --json (used for disk enumeration)") - endif() endif() - + configure_file( From 8fe2040190e56e2d5763dd147cb59cea4c7f56aa Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Wed, 23 Aug 2023 15:03:48 +0200 Subject: [PATCH 2/5] rpi-imager: add anthonyroussel to maintainers --- pkgs/tools/misc/rpi-imager/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/rpi-imager/default.nix b/pkgs/tools/misc/rpi-imager/default.nix index 7f6b5e79b061..70618276183b 100644 --- a/pkgs/tools/misc/rpi-imager/default.nix +++ b/pkgs/tools/misc/rpi-imager/default.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { changelog = "https://github.com/raspberrypi/rpi-imager/releases/tag/v${version}"; downloadPage = "https://github.com/raspberrypi/rpi-imager/"; license = licenses.asl20; - maintainers = with maintainers; [ ymarkus ]; + maintainers = with maintainers; [ ymarkus anthonyroussel ]; platforms = platforms.all; # does not build on darwin broken = stdenv.isDarwin; From 6db520b15db3c8649fcf9c78611350afd257afa0 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Wed, 23 Aug 2023 15:04:18 +0200 Subject: [PATCH 3/5] rpi-imager: add passthru.updateScript --- pkgs/tools/misc/rpi-imager/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/misc/rpi-imager/default.nix b/pkgs/tools/misc/rpi-imager/default.nix index 70618276183b..af921b6b789a 100644 --- a/pkgs/tools/misc/rpi-imager/default.nix +++ b/pkgs/tools/misc/rpi-imager/default.nix @@ -12,6 +12,7 @@ , qttools , qtquickcontrols2 , qtgraphicaleffects +, nix-update-script }: stdenv.mkDerivation rec { @@ -49,6 +50,10 @@ stdenv.mkDerivation rec { This patch removes the check. */ patches = [ ./lsblkCheckFix.patch ]; + passthru = { + updateScript = nix-update-script { }; + }; + meta = with lib; { description = "Raspberry Pi Imaging Utility"; homepage = "https://www.raspberrypi.com/software/"; From 996dbb160b80dadaf647bc5cf008c504ef5da939 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Wed, 23 Aug 2023 15:12:22 +0200 Subject: [PATCH 4/5] rpi-imager: add installCheck --- pkgs/tools/misc/rpi-imager/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/tools/misc/rpi-imager/default.nix b/pkgs/tools/misc/rpi-imager/default.nix index af921b6b789a..d62c88716905 100644 --- a/pkgs/tools/misc/rpi-imager/default.nix +++ b/pkgs/tools/misc/rpi-imager/default.nix @@ -50,6 +50,18 @@ stdenv.mkDerivation rec { This patch removes the check. */ patches = [ ./lsblkCheckFix.patch ]; + doInstallCheck = true; + + installCheckPhase = '' + runHook preInstallCheck + + # Without this, the tests fail because they cannot create the QT Window + export QT_QPA_PLATFORM=offscreen + $out/bin/rpi-imager --version + + runHook postInstallCheck + ''; + passthru = { updateScript = nix-update-script { }; }; From 4fce50f63b7af54c42cab0993e084c32cac0b892 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Wed, 23 Aug 2023 20:24:23 +0200 Subject: [PATCH 5/5] rpi-imager: disable telemetry by default --- pkgs/tools/misc/rpi-imager/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/tools/misc/rpi-imager/default.nix b/pkgs/tools/misc/rpi-imager/default.nix index d62c88716905..61ca001563f5 100644 --- a/pkgs/tools/misc/rpi-imager/default.nix +++ b/pkgs/tools/misc/rpi-imager/default.nix @@ -13,6 +13,7 @@ , qtquickcontrols2 , qtgraphicaleffects , nix-update-script +, enableTelemetry ? false }: stdenv.mkDerivation rec { @@ -32,6 +33,12 @@ stdenv.mkDerivation rec { wrapQtAppsHook ]; + # Disable telemetry and update check. + cmakeFlags = lib.optionals (!enableTelemetry) [ + "-DENABLE_CHECK_VERSION=OFF" + "-DENABLE_TELEMETRY=OFF" + ]; + buildInputs = [ curl libarchive