nixpkgs/pkgs/tools/filesystems/sasquatch/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

76 lines
2.0 KiB
Nix
Raw Normal View History

2021-04-18 02:35:06 +00:00
{ lib
, stdenv
, fetchFromGitHub
2019-08-14 01:16:32 +00:00
, fetchurl
, xz
2021-04-18 02:35:06 +00:00
, lzo
2019-08-14 01:16:32 +00:00
, zlib
2021-04-18 02:35:06 +00:00
, zstd
, lz4
, lz4Support ? false
2019-08-14 01:16:32 +00:00
}:
let
2021-04-18 02:35:06 +00:00
patch = fetchFromGitHub
{
# NOTE: This uses my personal fork for now, until
# https://github.com/devttys0/sasquatch/pull/40 is merged.
# I, cole-h, will keep this fork available until that happens.
owner = "cole-h";
repo = "sasquatch";
rev = "6edc54705454c6410469a9cb5bc58e412779731a";
sha256 = "x+PuPYGD4Pd0fcJtlLWByGy/nggsmZkxwSXxJfPvUgo=";
} + "/patches/patch0.txt";
2019-08-14 01:16:32 +00:00
in
stdenv.mkDerivation rec {
pname = "sasquatch";
2021-04-18 02:35:06 +00:00
version = "4.4";
2019-08-14 01:16:32 +00:00
src = fetchurl {
2021-04-18 02:35:06 +00:00
url = "mirror://sourceforge/squashfs/squashfs${version}.tar.gz";
sha256 = "qYGz8/IFS1ouZYhRo8BqJGCtBKmopkXgr+Bjpj/bsH4=";
2019-08-14 01:16:32 +00:00
};
2021-04-18 02:35:06 +00:00
buildInputs = [
xz
lzo
zlib
zstd
]
++ lib.optionals lz4Support [ lz4 ];
2019-08-14 01:16:32 +00:00
patches = [ patch ];
patchFlags = [ "-p0" ];
postPatch = ''
# Drop blanket -Werror to avoid build failure on fresh toolchains
# like gcc-11.
substituteInPlace squashfs-tools/Makefile --replace ' -Werror' ' '
2019-08-14 01:16:32 +00:00
cd squashfs-tools
'';
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: unsquashfs_xattr.o:/build/squashfs4.4/squashfs-tools/error.h:34: multiple definition of
# `verbose'; unsquashfs.o:/build/squashfs4.4/squashfs-tools/error.h:34: first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
2019-11-05 01:10:31 +00:00
installFlags = [ "INSTALL_DIR=\${out}/bin" ];
2019-08-14 01:16:32 +00:00
2021-09-05 08:46:32 +00:00
makeFlags = [
"XZ_SUPPORT=1"
"CC=${stdenv.cc.targetPrefix}cc"
"CXX=${stdenv.cc.targetPrefix}c++"
"AR=${stdenv.cc.targetPrefix}ar"
]
2021-01-15 09:19:50 +00:00
++ lib.optional lz4Support "LZ4_SUPPORT=1";
2019-08-14 01:16:32 +00:00
meta = with lib; {
2019-08-14 01:16:32 +00:00
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;
};
}