Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildDunePackage, 4 fetchurl, 5 domain-local-await, 6 domain-local-timeout, 7 alcotest, 8 multicore-magic, 9 backoff, 10 domain_shims, 11 mdx, 12}: 13 14buildDunePackage rec { 15 pname = "kcas"; 16 version = "0.7.0"; 17 18 minimalOCamlVersion = "4.13.0"; 19 20 src = fetchurl { 21 url = "https://github.com/ocaml-multicore/kcas/releases/download/${version}/kcas-${version}.tbz"; 22 hash = "sha256-mo/otnkB79QdyVgLw1sZFfkR/Z/l15cRVfEYPPd6H5E="; 23 }; 24 25 propagatedBuildInputs = [ 26 domain-local-await 27 domain-local-timeout 28 multicore-magic 29 backoff 30 ]; 31 32 doCheck = true; 33 nativeCheckInputs = [ mdx.bin ]; 34 checkInputs = [ 35 alcotest 36 domain_shims 37 mdx 38 ]; 39 40 meta = { 41 homepage = "https://github.com/ocaml-multicore/kcas"; 42 description = "STM based on lock-free MCAS"; 43 longDescription = '' 44 A software transactional memory (STM) implementation based on an atomic lock-free multi-word compare-and-set (MCAS) algorithm enhanced with read-only compare operations and ability to block awaiting for changes. 45 ''; 46 changelog = "https://raw.githubusercontent.com/ocaml-multicore/kcas/refs/tags/${version}/CHANGES.md"; 47 license = lib.licenses.isc; 48 maintainers = [ lib.maintainers.vbgl ]; 49 }; 50}