70 lines
1.6 KiB
Nix
70 lines
1.6 KiB
Nix
{ stdenv
|
|
, fetchzip
|
|
, fetchFromGitHub
|
|
, cmake
|
|
, makeWrapper
|
|
, python
|
|
, db
|
|
, fuse
|
|
, asciidoc
|
|
, libxml2
|
|
, libxslt
|
|
, docbook_xml_dtd_412
|
|
, docbook_xsl
|
|
, boost
|
|
, pkgconfig
|
|
, judy
|
|
, pam
|
|
, zlib # optional
|
|
}:
|
|
|
|
let
|
|
# See https://github.com/lizardfs/lizardfs/blob/3.12/cmake/Libraries.cmake
|
|
# We have to download it ourselves, as the build script normally does a download
|
|
# on-build, which is not good
|
|
spdlog = fetchzip {
|
|
name = "spdlog-0.14.0";
|
|
url = "https://github.com/gabime/spdlog/archive/v0.14.0.zip";
|
|
sha256 = "13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q";
|
|
};
|
|
in stdenv.mkDerivation rec {
|
|
name = "lizardfs-${version}";
|
|
version = "3.12.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "lizardfs";
|
|
repo = "lizardfs";
|
|
rev = "v${version}";
|
|
sha256 = "0zk73wmx82ari3m2mv0zx04x1ggsdmwcwn7k6bkl5c0jnxffc4ax";
|
|
};
|
|
|
|
nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
|
|
|
|
buildInputs =
|
|
[ db fuse asciidoc libxml2 libxslt docbook_xml_dtd_412 docbook_xsl
|
|
zlib boost judy pam
|
|
];
|
|
|
|
patches = [
|
|
./remove-download-external.patch
|
|
];
|
|
|
|
postUnpack = ''
|
|
mkdir $sourceRoot/external/spdlog-0.14.0
|
|
cp -R ${spdlog}/* $sourceRoot/external/spdlog-0.14.0/
|
|
chmod -R 755 $sourceRoot/external/spdlog-0.14.0/
|
|
'';
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/sbin/lizardfs-cgiserver \
|
|
--prefix PATH ":" "${python}/bin"
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = https://lizardfs.com;
|
|
description = "A highly reliable, scalable and efficient distributed file system";
|
|
platforms = platforms.linux;
|
|
license = licenses.gpl3;
|
|
maintainers = [ maintainers.rushmorem ];
|
|
};
|
|
}
|