···121 # consider this too unlikely to happen, to deal with explicitly.
122 max_length=10000
123 if [ "${#diff}" -gt $max_length ]; then
124- printf -v diff "%s\n\n[...truncated...]" "$(echo "$diff" | head -c $max_length | head -n-1)"
125 fi
126 echo "$diff" >> $markdown_file
127 echo '> ```' >> $markdown_file
···121 # consider this too unlikely to happen, to deal with explicitly.
122 max_length=10000
123 if [ "${#diff}" -gt $max_length ]; then
124+ printf -v diff "%s\n>\n> [...truncated...]" "$(echo "$diff" | head -c $max_length | head -n-1)"
125 fi
126 echo "$diff" >> $markdown_file
127 echo '> ```' >> $markdown_file
···4 buildDunePackage,
5 alcotest,
6 pkg-config,
7+ dune-configurator,
8}:
910buildDunePackage rec {
11 pname = "bigstringaf";
12+ version = "0.10.0";
1314 minimalOCamlVersion = "4.08";
01516 src = fetchFromGitHub {
17 owner = "inhabitedtype";
18 repo = pname;
19+ tag = version;
20+ hash = "sha256-p1hdB3ArOd2UX7S6YvXCFbYjEiXdMDmBaC/lFQgua7Q=";
21 };
2223 nativeBuildInputs = [ pkg-config ];
24+ buildInputs = [ dune-configurator ];
25+26 checkInputs = [ alcotest ];
27 doCheck = true;
2829 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;