blobfuse: Bump version, separately build cpplite

* Bump version to most recent 1.3.7 release
* Build scripts have changed, cpplite (azure-storage-lite) is now
  built separately
* Upstream they use build.sh to copy resulting static libraries to
  locations for blobfuse build, I put cpplite in a separate build
* adls library from cpplite was not installed and hence, not found
  by main blockfuse build, added a patch to install adls library, too
This commit is contained in:
polygon 2021-05-14 12:41:11 +02:00 committed by Jonathan Ringer
parent 36d0bcdca8
commit b73f621c25
2 changed files with 35 additions and 8 deletions

View file

@ -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; {

View file

@ -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)
+