diff --git a/pkgs/tools/filesystems/blobfuse/default.nix b/pkgs/tools/filesystems/blobfuse/default.nix index 651e93f4213..a620a07d475 100644 --- a/pkgs/tools/filesystems/blobfuse/default.nix +++ b/pkgs/tools/filesystems/blobfuse/default.nix @@ -1,19 +1,32 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, curl, gnutls, libgcrypt, libuuid, fuse }: - -stdenv.mkDerivation rec { - pname = "blobfuse"; - version = "1.0.2"; +{ 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 = "v${version}"; - sha256 = "1qh04z1fsj1l6l12sz9yl2sy9hwlrnzac54hwrr7wvsgv90n9gbp"; + rev = "blobfuse-${version}-Linux"; + sha256 = "sha256-yihIuS4AG489U7eBi/p7H6S7Cg54kkQeNVCexxQZ60A="; }; + cpplite = stdenv.mkDerivation rec { + pname = "cpplite"; + inherit version src; + + sourceRoot = "source/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; NIX_CFLAGS_COMPILE = "-Wno-error=catch-value"; - buildInputs = [ curl gnutls libgcrypt libuuid fuse ]; + buildInputs = [ curl gnutls libgcrypt libuuid fuse boost cpplite ]; nativeBuildInputs = [ cmake pkg-config ]; meta = with lib; { diff --git a/pkgs/tools/filesystems/blobfuse/install-adls.patch b/pkgs/tools/filesystems/blobfuse/install-adls.patch new file mode 100644 index 00000000000..e48f4d592f6 --- /dev/null +++ b/pkgs/tools/filesystems/blobfuse/install-adls.patch @@ -0,0 +1,14 @@ +diff --git a/adls/CMakeLists.txt b/adls/CMakeLists.txt +index 1fb7146..22e663a 100644 +--- a/adls/CMakeLists.txt ++++ b/adls/CMakeLists.txt +@@ -50,3 +50,9 @@ if(BUILD_TESTS) + string(REGEX REPLACE "([^;]+)" "${CMAKE_CURRENT_SOURCE_DIR}/\\1" AZURE_STORAGE_ADLS_TEST_SOURCES "${AZURE_STORAGE_ADLS_TEST_SOURCES}") + set(AZURE_STORAGE_ADLS_TEST_SOURCES ${AZURE_STORAGE_ADLS_TEST_SOURCES} PARENT_SCOPE) + endif() ++ ++install(TARGETS azure-storage-adls ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin) ++