summaryrefslogtreecommitdiffstats
path: root/pkgs/tools/filesystems
diff options
context:
space:
mode:
authorPamplemousse <xav.maso@gmail.com>2019-08-13 18:16:32 -0700
committerPamplemousse <xav.maso@gmail.com>2019-09-12 21:28:29 -0700
commitd25bf0495ccfca557c62672fef5e90b599a1dbdc (patch)
treef80eb58eea4d70856549943d68c7c1813f302266 /pkgs/tools/filesystems
parent4c5e263e545c4a743337ebdfc47a02112413e281 (diff)
sasquatch: init
Diffstat (limited to 'pkgs/tools/filesystems')
-rw-r--r--pkgs/tools/filesystems/sasquatch/default.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/tools/filesystems/sasquatch/default.nix b/pkgs/tools/filesystems/sasquatch/default.nix
new file mode 100644
index 000000000000..c393c65a7207
--- /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;
+ };
+}