summary refs log tree commit diff
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
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)
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--pkgs/tools/filesystems/mkspiffs/default.nix32
-rw-r--r--pkgs/tools/filesystems/mkspiffs/presets.nix20
-rw-r--r--pkgs/top-level/all-packages.nix4
4 files changed, 61 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 7178c8c0a1e..3b7329a8d79 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1640,6 +1640,11 @@
     github = "hamhut1066";
     name = "Hamish Hutchings";
   };
+  haslersn = {
+    email = "haslersn@fius.informatik.uni-stuttgart.de";
+    github = "haslersn";
+    name = "Sebastian Hasler";
+  };
   havvy = {
     email = "ryan.havvy@gmail.com";
     github = "havvy";
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" ];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 33a2b6455a2..e413e0dcf26 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1460,6 +1460,10 @@ with pkgs;
 
   metabase = callPackage ../servers/metabase { };
 
+  mkspiffs = callPackage ../tools/filesystems/mkspiffs { };
+
+  mkspiffs-presets = recurseIntoAttrs (callPackages ../tools/filesystems/mkspiffs/presets.nix { });
+
   monetdb = callPackage ../servers/sql/monetdb { };
 
   mp3blaster = callPackage ../applications/audio/mp3blaster { };