2021-03-03 14:05:04 +00:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, fetchFromGitHub
|
2021-08-01 10:28:58 +01:00
|
|
|
, fetchpatch
|
squashfsTools: 4.5 -> 4.5.1
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.
2022-03-19 11:05:49 +00:00
|
|
|
, help2man
|
2021-01-10 10:22:35 +00:00
|
|
|
, lz4
|
2021-03-03 11:51:59 +00:00
|
|
|
, lzo
|
2021-08-01 10:31:07 +01:00
|
|
|
, nixosTests
|
squashfsTools: 4.5 -> 4.5.1
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.
2022-03-19 11:05:49 +00:00
|
|
|
, which
|
|
|
|
, xz
|
|
|
|
, zlib
|
|
|
|
, zstd
|
2016-09-13 00:08:09 +01:00
|
|
|
}:
|
|
|
|
|
2021-03-03 14:05:04 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 13:41:18 +01:00
|
|
|
pname = "squashfs";
|
squashfsTools: 4.5 -> 4.5.1
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.
2022-03-19 11:05:49 +00:00
|
|
|
version = "4.5.1";
|
2009-04-23 14:31:10 +01:00
|
|
|
|
2016-09-12 22:11:37 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "plougher";
|
|
|
|
repo = "squashfs-tools";
|
2021-03-03 14:05:04 +00:00
|
|
|
rev = version;
|
squashfsTools: 4.5 -> 4.5.1
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.
2022-03-19 11:05:49 +00:00
|
|
|
sha256 = "sha256-Y3ZPjeE9HN1F+NtGe6EchYziWrTPVQ4SuKaCvNbXMKI=";
|
2006-09-08 16:19:43 +01:00
|
|
|
};
|
2013-04-12 14:25:53 +01:00
|
|
|
|
2018-05-08 12:19:14 +01:00
|
|
|
patches = [
|
2022-04-26 15:55:29 +01:00
|
|
|
# remove once https://github.com/plougher/squashfs-tools/pull/177 is merged and in a release
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://github.com/plougher/squashfs-tools/commit/6100e82c7e7f18f503c003c67c87791025d5f01b.patch";
|
|
|
|
sha256 = "sha256-bMBQsbSKQ4E7r9avns2QaomGAYl3s82m58gYyTQdB08=";
|
|
|
|
})
|
2018-11-17 15:44:19 +00:00
|
|
|
# This patch adds an option to pad filesystems (increasing size) in
|
|
|
|
# exchange for better chunking / binary diff calculation.
|
2019-09-07 17:58:31 +01:00
|
|
|
./4k-align.patch
|
2021-01-15 09:19:50 +00:00
|
|
|
] ++ lib.optional stdenv.isDarwin ./darwin.patch;
|
2018-05-08 12:19:14 +01:00
|
|
|
|
2022-04-26 15:53:32 +01:00
|
|
|
strictDeps = true;
|
2022-04-26 18:42:33 +01:00
|
|
|
nativeBuildInputs = [ which ]
|
|
|
|
# when cross-compiling help2man cannot run the cross-compiled binary
|
|
|
|
++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ help2man ];
|
2022-04-26 15:53:32 +01:00
|
|
|
buildInputs = [ zlib xz zstd lz4 lzo ];
|
2009-04-23 14:31:10 +01:00
|
|
|
|
2021-03-03 14:05:04 +00:00
|
|
|
preBuild = ''
|
|
|
|
cd squashfs-tools
|
|
|
|
'' ;
|
2013-04-12 14:25:53 +01:00
|
|
|
|
squashfsTools: 4.5 -> 4.5.1
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.
2022-03-19 11:05:49 +00:00
|
|
|
installFlags = [
|
|
|
|
"INSTALL_DIR=${placeholder "out"}/bin"
|
|
|
|
"INSTALL_MANPAGES_DIR=${placeholder "out"}/share/man/man1"
|
|
|
|
];
|
2013-04-12 14:25:53 +01:00
|
|
|
|
2021-03-03 14:05:04 +00:00
|
|
|
makeFlags = [
|
|
|
|
"XZ_SUPPORT=1"
|
|
|
|
"ZSTD_SUPPORT=1"
|
|
|
|
"LZ4_SUPPORT=1"
|
|
|
|
"LZO_SUPPORT=1"
|
|
|
|
];
|
2013-04-12 14:25:53 +01:00
|
|
|
|
2021-08-01 10:31:07 +01:00
|
|
|
passthru.tests = {
|
|
|
|
nixos-iso-boots-and-verifies = nixosTests.boot.biosCdrom;
|
|
|
|
};
|
|
|
|
|
2021-03-03 14:05:04 +00:00
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://github.com/plougher/squashfs-tools";
|
2009-06-05 14:52:24 +01:00
|
|
|
description = "Tool for creating and unpacking squashfs filesystems";
|
2021-03-03 14:05:04 +00:00
|
|
|
platforms = platforms.unix;
|
|
|
|
license = licenses.gpl2Plus;
|
|
|
|
maintainers = with maintainers; [ ruuda ];
|
2009-06-05 14:52:24 +01:00
|
|
|
};
|
2006-09-08 16:19:43 +01:00
|
|
|
}
|