summary refs log tree commit diff
path: root/pkgs/tools/filesystems/mkspiffs
diff options
context:
space:
mode:
authorhaslersn <33969028+haslersn@users.noreply.github.com>2018-10-01 16:49:02 +0200
committerFranz Pletz <fpletz@fnordicwalking.de>2018-10-01 14:49:02 +0000
commit62bf19d2fcd1ebd7de0381f95c17bcc802b08483 (patch)
tree3e364e0025f53b83676b6f31f4dc3ab29b4aeb61 /pkgs/tools/filesystems/mkspiffs
parentae2bb82a8d3e6b33d37cf1eb41bbcfdf6e0fec71 (diff)
downloadnixpkgs-62bf19d2fcd1ebd7de0381f95c17bcc802b08483.tar
nixpkgs-62bf19d2fcd1ebd7de0381f95c17bcc802b08483.tar.gz
nixpkgs-62bf19d2fcd1ebd7de0381f95c17bcc802b08483.tar.bz2
nixpkgs-62bf19d2fcd1ebd7de0381f95c17bcc802b08483.tar.lz
nixpkgs-62bf19d2fcd1ebd7de0381f95c17bcc802b08483.tar.xz
nixpkgs-62bf19d2fcd1ebd7de0381f95c17bcc802b08483.tar.zst
nixpkgs-62bf19d2fcd1ebd7de0381f95c17bcc802b08483.zip
mkspiffs: init at 0.2.3 (#46674)
Diffstat (limited to 'pkgs/tools/filesystems/mkspiffs')
-rw-r--r--pkgs/tools/filesystems/mkspiffs/default.nix32
-rw-r--r--pkgs/tools/filesystems/mkspiffs/presets.nix20
2 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/tools/filesystems/mkspiffs/default.nix b/pkgs/tools/filesystems/mkspiffs/default.nix
new file mode 100644
index 00000000000..48f13925ab0
--- /dev/null
+++ b/pkgs/tools/filesystems/mkspiffs/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, git }:
+
+# 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 {
+  name = "mkspiffs-${version}";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "igrr";
+    repo = "mkspiffs";
+    rev = version;
+    fetchSubmodules = true;
+    sha256 = "1fgw1jqdlp83gv56mgnxpakky0q6i6f922niis4awvxjind8pbm1";
+  };
+
+  nativeBuildInputs = [ git ];
+  buildFlags = [ "dist" ];
+  installPhase = ''
+    mkdir -p $out/bin
+    cp mkspiffs $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool to build and unpack SPIFFS images";
+    license = licenses.mit;
+    homepage = https://github.com/igrr/mkspiffs;
+    maintainers = with maintainers; [ haslersn ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/mkspiffs/presets.nix b/pkgs/tools/filesystems/mkspiffs/presets.nix
new file mode 100644
index 00000000000..c0b74d9cf1b
--- /dev/null
+++ b/pkgs/tools/filesystems/mkspiffs/presets.nix
@@ -0,0 +1,20 @@
+{ lib, mkspiffs }:
+
+# We provide the same presets as the upstream
+
+lib.mapAttrs (
+  name: { CPPFLAGS }:
+  mkspiffs.overrideAttrs (drv: {
+    inherit CPPFLAGS;
+    BUILD_CONFIG_NAME = "-${name}";
+  })
+) {
+  arduino-esp8266.CPPFLAGS = [
+    "-DSPIFFS_USE_MAGIC_LENGTH=0"
+    "-DSPIFFS_ALIGNED_OBJECT_INDEX_TABLES=1"
+  ];
+
+  arduino-esp32.CPPFLAGS = [ "-DSPIFFS_OBJ_META_LEN=4" ];
+
+  esp-idf.CPPFLAGS = [ "-DSPIFFS_OBJ_META_LEN=4" ];
+}