Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 fetchFromGitHub, 4 buildDunePackage, 5 alcotest, 6 pkg-config, 7 dune-configurator, 8}: 9 10buildDunePackage rec { 11 pname = "bigstringaf"; 12 version = "0.10.0"; 13 14 minimalOCamlVersion = "4.08"; 15 16 src = fetchFromGitHub { 17 owner = "inhabitedtype"; 18 repo = pname; 19 tag = version; 20 hash = "sha256-p1hdB3ArOd2UX7S6YvXCFbYjEiXdMDmBaC/lFQgua7Q="; 21 }; 22 23 nativeBuildInputs = [ pkg-config ]; 24 buildInputs = [ dune-configurator ]; 25 26 checkInputs = [ alcotest ]; 27 doCheck = true; 28 29 meta = { 30 description = "Bigstring intrinsics and fast blits based on memcpy/memmove"; 31 longDescription = '' 32 Bigstring intrinsics and fast blits based on memcpy/memmove 33 34 The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not 35 widely-known, sometimes misused, and so programs that use Bigstrings are slower 36 than they have to be. And even if a library got that part right and exposed the 37 intrinsics properly, the compiler doesn't have any fast blits between 38 Bigstrings and other string-like types. 39 40 So here they are. Go crazy. 41 ''; 42 changelog = "https://github.com/inhabitedtype/bigstringaf/releases/tag/${version}"; 43 license = lib.licenses.bsd3; 44 maintainers = [ lib.maintainers.vbgl ]; 45 inherit (src.meta) homepage; 46 }; 47}