From 1baac6e836f637515e0c85bab5e128b0c7a0cf01 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 26 Apr 2025 02:42:04 +0200 Subject: [PATCH 1/4] mkspiffs: fix Darwin build --- pkgs/tools/filesystems/mkspiffs/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/filesystems/mkspiffs/default.nix b/pkgs/tools/filesystems/mkspiffs/default.nix index 808b27dd687d..2a40ee19de95 100644 --- a/pkgs/tools/filesystems/mkspiffs/default.nix +++ b/pkgs/tools/filesystems/mkspiffs/default.nix @@ -19,6 +19,11 @@ stdenv.mkDerivation rec { hash = "sha256-oa6Lmo2yb66IjtEKkZyJBgM/p7rdvmrKfgNd2rAM/Lk="; }; + postPatch = '' + substituteInPlace Makefile \ + --replace-fail "-arch i386 -arch x86_64" "" + ''; + buildFlags = [ "dist" ]; makeFlags = [ @@ -36,7 +41,7 @@ stdenv.mkDerivation rec { license = licenses.mit; homepage = "https://github.com/igrr/mkspiffs"; maintainers = with maintainers; [ haslersn ]; - platforms = platforms.linux; + platforms = lib.platforms.all; mainProgram = "mkspiffs"; }; } From 29a55e18199b21a56015697db0641484704133cc Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 26 Apr 2025 02:42:17 +0200 Subject: [PATCH 2/4] mkspiffs: modernize derivation --- pkgs/tools/filesystems/mkspiffs/default.nix | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/filesystems/mkspiffs/default.nix b/pkgs/tools/filesystems/mkspiffs/default.nix index 2a40ee19de95..cf625ee105ff 100644 --- a/pkgs/tools/filesystems/mkspiffs/default.nix +++ b/pkgs/tools/filesystems/mkspiffs/default.nix @@ -7,14 +7,14 @@ # Changing the variables CPPFLAGS and BUILD_CONFIG_NAME can be done by # overriding the same-named attributes. See ./presets.nix for examples. -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "mkspiffs"; version = "0.2.3"; src = fetchFromGitHub { owner = "igrr"; repo = "mkspiffs"; - rev = version; + tag = finalAttrs.version; fetchSubmodules = true; hash = "sha256-oa6Lmo2yb66IjtEKkZyJBgM/p7rdvmrKfgNd2rAM/Lk="; }; @@ -27,21 +27,20 @@ stdenv.mkDerivation rec { buildFlags = [ "dist" ]; makeFlags = [ - "VERSION=${version}" + "VERSION=${finalAttrs.version}" "SPIFFS_VERSION=unknown" ]; installPhase = '' - mkdir -p $out/bin - cp mkspiffs $out/bin + install -Dm755 -t $out/bin mkspiffs ''; - meta = with lib; { + meta = { description = "Tool to build and unpack SPIFFS images"; - license = licenses.mit; + license = lib.licenses.mit; homepage = "https://github.com/igrr/mkspiffs"; - maintainers = with maintainers; [ haslersn ]; + maintainers = [ lib.maintainers.haslersn ]; platforms = lib.platforms.all; mainProgram = "mkspiffs"; }; -} +}) From f50e815cabc4bd760bf7e727096e47fdb9e89124 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 3 May 2025 09:42:16 +0200 Subject: [PATCH 3/4] mkspiffs: fix cross --- pkgs/tools/filesystems/mkspiffs/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/filesystems/mkspiffs/default.nix b/pkgs/tools/filesystems/mkspiffs/default.nix index cf625ee105ff..0d19a8f1db23 100644 --- a/pkgs/tools/filesystems/mkspiffs/default.nix +++ b/pkgs/tools/filesystems/mkspiffs/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + pkgsBuildHost, }: # Changing the variables CPPFLAGS and BUILD_CONFIG_NAME can be done by @@ -19,11 +20,18 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-oa6Lmo2yb66IjtEKkZyJBgM/p7rdvmrKfgNd2rAM/Lk="; }; + # 1) Fix build for Darwin + # 2) Fix cross + # 3) Do not run test as part of the buildPhase - the checkPhase will run it as `make test` postPatch = '' substituteInPlace Makefile \ - --replace-fail "-arch i386 -arch x86_64" "" + --replace-fail "-arch i386 -arch x86_64" "" \ + --replace-fail "strip" "${pkgsBuildHost.binutils.targetPrefix}strip" \ + --replace-fail "dist: test" "" ''; + strictDeps = true; + buildFlags = [ "dist" ]; makeFlags = [ @@ -31,6 +39,8 @@ stdenv.mkDerivation (finalAttrs: { "SPIFFS_VERSION=unknown" ]; + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + installPhase = '' install -Dm755 -t $out/bin mkspiffs ''; From e681e6050a46ab832b87cdddfa9cb14873138c45 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sat, 3 May 2025 09:44:55 +0200 Subject: [PATCH 4/4] mkspiffs: add versionCheckHook --- pkgs/tools/filesystems/mkspiffs/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/filesystems/mkspiffs/default.nix b/pkgs/tools/filesystems/mkspiffs/default.nix index 0d19a8f1db23..00b0da851e0c 100644 --- a/pkgs/tools/filesystems/mkspiffs/default.nix +++ b/pkgs/tools/filesystems/mkspiffs/default.nix @@ -3,6 +3,7 @@ stdenv, fetchFromGitHub, pkgsBuildHost, + versionCheckHook, }: # Changing the variables CPPFLAGS and BUILD_CONFIG_NAME can be done by @@ -45,6 +46,9 @@ stdenv.mkDerivation (finalAttrs: { install -Dm755 -t $out/bin mkspiffs ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + meta = { description = "Tool to build and unpack SPIFFS images"; license = lib.licenses.mit;