summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/filesystems/sasquatch/default.nix53
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/tools/filesystems/sasquatch/default.nix b/pkgs/tools/filesystems/sasquatch/default.nix
new file mode 100644
index 00000000000..c393c65a720
--- /dev/null
+++ b/pkgs/tools/filesystems/sasquatch/default.nix
@@ -0,0 +1,53 @@
+{ fetchFromGitHub
+, fetchurl
+, lz4 ? null
+, lz4Support ? false
+, lzma
+, lzo
+, stdenv
+, xz
+, zlib
+}:
+
+assert lz4Support -> (lz4 != null);
+
+let
+  patch = fetchFromGitHub {
+    owner = "devttys0";
+    repo = "sasquatch";
+    rev = "3e0cc40fc6dbe32bd3a5e6c553b3320d5d91ceed";
+    sha256 = "19lhndjv7v9w6nmszry63zh5rqii9v7wvsbpc2n6q606hyz955g2";
+  } + "/patches/patch0.txt";
+in
+stdenv.mkDerivation rec {
+  pname = "sasquatch";
+  version = "4.3";
+
+  src = fetchurl {
+    url = mirror://sourceforge/squashfs/squashfs4.3.tar.gz;
+    sha256 = "1xpklm0y43nd9i6jw43y2xh5zvlmj9ar2rvknh0bh7kv8c95aq0d";
+  };
+
+  buildInputs = [ lzma lzo xz zlib ]
+    ++ stdenv.lib.optional lz4Support lz4;
+
+  patches = [ patch ];
+  patchFlags = [ "-p0" ];
+
+  postPatch = ''
+    cd squashfs-tools
+  '';
+
+  installFlags = "INSTALL_DIR=\${out}/bin";
+
+  makeFlags = [ "XZ_SUPPORT=1" ]
+    ++ stdenv.lib.optional lz4Support "LZ4_SUPPORT=1";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/devttys0/sasquatch";
+    description = "Set of patches to the standard unsquashfs utility (part of squashfs-tools) that attempts to add support for as many hacked-up vendor-specific SquashFS implementations as possible";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.pamplemousse ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 26a322c72d3..7c807caf6e6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6008,6 +6008,8 @@ in
 
   samplicator = callPackage ../tools/networking/samplicator { };
 
+  sasquatch = callPackage ../tools/filesystems/sasquatch { };
+
   sasview = callPackage ../applications/science/misc/sasview {};
 
   scallion = callPackage ../tools/security/scallion { };