The patch that was previously fetched from GitHub is now part of the 4.5.1 release, and is no longer needed. Furthermore, 4.5.1 introduces some new scripts to build manpages, and some new build inputs are required to make that work. This also rebases the Darwin patch. I don't have a Mac so I can't test this personally. There was one conflict: diff --cc squashfs-tools/read_xattrs.c index 2067f80,b28c3a0..0000000 --- a/squashfs-tools/read_xattrs.c +++ b/squashfs-tools/read_xattrs.c @@@ -36,9 -38,7 +38,7 @@@ #include "xattr.h" #include "error.h" - #include <stdlib.h> - -extern int read_fs_bytes(int, long long, int, void *); +extern int read_fs_bytes(int, long long, long long, void *); extern int read_block(int, long long, long long *, int, void *); static struct hash_entry { Resolved by updating the signature from int to long long.
62 lines
1.2 KiB
Nix
62 lines
1.2 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, help2man
|
|
, lz4
|
|
, lzo
|
|
, nixosTests
|
|
, which
|
|
, xz
|
|
, zlib
|
|
, zstd
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "squashfs";
|
|
version = "4.5.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "plougher";
|
|
repo = "squashfs-tools";
|
|
rev = version;
|
|
sha256 = "sha256-Y3ZPjeE9HN1F+NtGe6EchYziWrTPVQ4SuKaCvNbXMKI=";
|
|
};
|
|
|
|
patches = [
|
|
# This patch adds an option to pad filesystems (increasing size) in
|
|
# exchange for better chunking / binary diff calculation.
|
|
./4k-align.patch
|
|
] ++ lib.optional stdenv.isDarwin ./darwin.patch;
|
|
|
|
buildInputs = [ zlib xz zstd lz4 lzo which help2man ];
|
|
|
|
preBuild = ''
|
|
cd squashfs-tools
|
|
'' ;
|
|
|
|
installFlags = [
|
|
"INSTALL_DIR=${placeholder "out"}/bin"
|
|
"INSTALL_MANPAGES_DIR=${placeholder "out"}/share/man/man1"
|
|
];
|
|
|
|
makeFlags = [
|
|
"XZ_SUPPORT=1"
|
|
"ZSTD_SUPPORT=1"
|
|
"LZ4_SUPPORT=1"
|
|
"LZO_SUPPORT=1"
|
|
];
|
|
|
|
passthru.tests = {
|
|
nixos-iso-boots-and-verifies = nixosTests.boot.biosCdrom;
|
|
};
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/plougher/squashfs-tools";
|
|
description = "Tool for creating and unpacking squashfs filesystems";
|
|
platforms = platforms.unix;
|
|
license = licenses.gpl2Plus;
|
|
maintainers = with maintainers; [ ruuda ];
|
|
};
|
|
}
|