Merge pull request #140726 from ShamrockLee/davix

authored by

Sandro and committed by
GitHub
a233a376 a8bcfdf5

+60 -10
+58 -10
pkgs/tools/networking/davix/default.nix
··· 1 - { lib, stdenv, fetchurl, cmake, pkg-config, openssl, libxml2, boost, python3, libuuid }: 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , cmake 5 + , pkg-config 6 + , openssl 7 + , libxml2 8 + , boost 9 + , python3 10 + , libuuid 11 + , curl 12 + , gsoap 13 + , enableTools ? true 14 + # Build the bundled libcurl 15 + # and, if defaultToLibCurl, 16 + # use instead of an external one 17 + , useEmbeddedLibcurl ? true 18 + # Use libcurl instead of libneon 19 + # Note that the libneon used is bundled in the project 20 + # See https://github.com/cern-fts/davix/issues/23 21 + , defaultToLibcurl ? false 22 + , enableIpv6 ? true 23 + , enableTcpNodelay ? true 24 + # Build davix_copy.so 25 + , enableThirdPartyCopy ? false 26 + }: 2 27 28 + let 29 + boolToUpper = b: lib.toUpper (lib.boolToString b); 30 + in 3 31 stdenv.mkDerivation rec { 4 - version = "0.7.6"; 32 + version = "0.8.0"; 5 33 pname = "davix"; 6 34 nativeBuildInputs = [ cmake pkg-config python3 ]; 7 - buildInputs = [ openssl libxml2 boost libuuid ]; 35 + buildInputs = [ 36 + openssl 37 + libxml2 38 + boost 39 + libuuid 40 + ] ++ lib.optional (defaultToLibcurl && !useEmbeddedLibcurl) curl 41 + ++ lib.optional (enableThirdPartyCopy) gsoap; 8 42 9 43 # using the url below since the github release page states 10 44 # "please ignore the GitHub-generated tarballs, as they are incomplete" 11 - # https://github.com/cern-fts/davix/releases/tag/R_0_7_6 45 + # https://github.com/cern-fts/davix/releases/tag/R_0_8_0 12 46 src = fetchurl { 13 47 url = "https://github.com/cern-fts/${pname}/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.gz"; 14 - sha256 = "0wq66spnr616cns72f9dvr2xfvkdvfqqmc6d7dx29fpp57zzvrx2"; 48 + sha256 = "LxCNoECKg/tbnwxoFQ02C6cz5LOg/imNRbDTLSircSQ="; 15 49 }; 16 50 51 + preConfigure = '' 52 + find . -mindepth 1 -maxdepth 1 -type f -name "patch*.sh" -print0 | while IFS= read -r -d ''' file; do 53 + patchShebangs "$file" 54 + done 55 + ''; 56 + 57 + cmakeFlags = [ 58 + "-DENABLE_TOOLS=${boolToUpper enableTools}" 59 + "-DEMBEDDED_LIBCURL=${boolToUpper useEmbeddedLibcurl}" 60 + "-DLIBCURL_BACKEND_BY_DEFAULT=${boolToUpper defaultToLibcurl}" 61 + "-DENABLE_IPV6=${boolToUpper enableIpv6}" 62 + "-DENABLE_TCP_NODELAY=${boolToUpper enableTcpNodelay}" 63 + "-DENABLE_THIRD_PARTY_COPY=${boolToUpper enableThirdPartyCopy}" 64 + ]; 17 65 18 66 meta = with lib; { 19 67 description = "Toolkit for Http-based file management"; ··· 22 70 operations with Http based protocols (WebDav, Amazon S3, ...). 23 71 Davix provides an API and a set of command line tools"; 24 72 25 - license = licenses.lgpl2Plus; 26 - homepage = "http://dmc.web.cern.ch/projects/davix/home"; 27 - maintainers = [ maintainers.adev ]; 28 - platforms = platforms.all; 73 + license = licenses.lgpl2Plus; 74 + homepage = "http://dmc.web.cern.ch/projects/davix/home"; 75 + changelog = "https://github.com/cern-fts/davix/blob/devel/RELEASE-NOTES.md"; 76 + maintainers = with maintainers; [ adev ]; 77 + platforms = platforms.all; 29 78 }; 30 79 } 31 -
+2
pkgs/top-level/all-packages.nix
··· 3734 3734 3735 3735 davix = callPackage ../tools/networking/davix { }; 3736 3736 3737 + davix-copy = appendToName "copy" (davix.override { enableThirdPartyCopy = true; }); 3738 + 3737 3739 cantata = libsForQt5.callPackage ../applications/audio/cantata { }; 3738 3740 3739 3741 cantoolz = python3Packages.callPackage ../tools/networking/cantoolz { };