Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, fetchurl 4, bash-completion 5, pkg-config 6, perl 7, libxml2 8, fuse 9, fuse3 10, gnutls 11}: 12 13stdenv.mkDerivation rec { 14 pname = "libnbd"; 15 version = "1.16.0"; 16 17 src = fetchurl { 18 url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz"; 19 hash = "sha256-Tkd46NxLvGe+RpCSFdCsYrFWc3PAtXI1aCq8177jla0="; 20 }; 21 22 nativeBuildInputs = [ 23 bash-completion 24 pkg-config 25 perl 26 ]; 27 28 buildInputs = [ 29 fuse 30 fuse3 31 gnutls 32 libxml2 33 ]; 34 35 installFlags = [ "bashcompdir=$(out)/share/bash-completion/completions" ]; 36 37 meta = with lib; { 38 homepage = "https://gitlab.com/nbdkit/libnbd"; 39 description = "Network Block Device client library in userspace"; 40 longDescription = '' 41 NBD Network Block Device is a protocol for accessing Block Devices 42 (hard disks and disk-like things) over a Network. This is the NBD client 43 library in userspace, a simple library for writing NBD clients. 44 45 The key features are: 46 - Synchronous API for ease of use. 47 - Asynchronous API for writing non-blocking, multithreaded clients. You 48 can mix both APIs freely. 49 - High performance. 50 - Minimal dependencies for the basic library. 51 - Well-documented, stable API. 52 - Bindings in several programming languages. 53 - Shell (nbdsh) for command line and scripting. 54 ''; 55 license = with licenses; lgpl21Plus; 56 maintainers = with maintainers; [ AndersonTorres humancalico ]; 57 platforms = with platforms; linux; 58 }; 59} 60# TODO: package the 1.6-stable version too 61# TODO: git version needs ocaml 62# TODO: bindings for go, ocaml and python 63