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

43 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, curl, gnutls, libgcrypt, libuuid, fuse, boost }:
let
version = "1.3.7";
src = fetchFromGitHub {
owner = "Azure";
repo = "azure-storage-fuse";
rev = "blobfuse-${version}-Linux";
sha256 = "sha256-yihIuS4AG489U7eBi/p7H6S7Cg54kkQeNVCexxQZ60A=";
};
cpplite = stdenv.mkDerivation rec {
pname = "cpplite";
inherit version src;
sourceRoot = "${src.name}/cpplite";
patches = [ ./install-adls.patch ];
cmakeFlags = [ "-DBUILD_ADLS=ON" "-DUSE_OPENSSL=OFF" ];
buildInputs = [ curl libuuid gnutls ];
nativeBuildInputs = [ cmake pkg-config ];
};
in stdenv.mkDerivation rec {
pname = "blobfuse";
inherit version src;
env.NIX_CFLAGS_COMPILE = toString [
# Needed with GCC 12
"-Wno-error=deprecated-declarations"
"-Wno-error=catch-value"
];
buildInputs = [ curl gnutls libgcrypt libuuid fuse boost cpplite ];
nativeBuildInputs = [ cmake pkg-config ];
meta = with lib; {
description = "Mount an Azure Blob storage as filesystem through FUSE";
license = licenses.mit;
maintainers = with maintainers; [ jbgi ];
platforms = platforms.linux;
};
}