push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
{
lib,
buildDunePackage,
ringo,
}:
buildDunePackage {
pname = "aches";
inherit (ringo) src version;
propagatedBuildInputs = [
ringo
];
meta = {
description = "Caches (bounded-size stores) for in-memory values and for resources";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
buildDunePackage,
ringo,
aches,
lwt,
}:
buildDunePackage {
pname = "aches-lwt";
inherit (ringo) src version;
propagatedBuildInputs = [
aches
lwt
];
meta = {
description = "Caches (bounded-size stores) for Lwt promises";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
ocaml,
findlib,
opaline,
}:
stdenv.mkDerivation rec {
pname = "afl-persistent";
version = "1.3";
name = "ocaml${ocaml.version}-${pname}-${version}";
src = fetchFromGitHub {
owner = "stedolan";
repo = "ocaml-${pname}";
rev = "v${version}";
sha256 = "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i";
};
strictDeps = true;
nativeBuildInputs = [
ocaml
findlib
];
# don't run tests in buildPhase
# don't overwrite test binary
postPatch = ''
sed -i 's/ && \.\/test$//' build.sh
sed -i '/^ocamlopt.*test.ml -o test$/ s/$/2/' build.sh
patchShebangs build.sh
'';
buildPhase = "./build.sh";
installPhase = ''
${opaline}/bin/opaline -prefix $out -libdir $out/lib/ocaml/${ocaml.version}/site-lib/ ${pname}.install
'';
doCheck = true;
checkPhase = "./_build/test && ./_build/test2";
meta = with lib; {
homepage = "https://github.com/stedolan/ocaml-afl-persistent";
description = "Persistent-mode afl-fuzz for ocaml";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
buildDunePackage,
fetchurl,
astring,
cmdliner,
fmt,
re,
stdlib-shims,
uutf,
ocaml-syntax-shims,
}:
buildDunePackage rec {
pname = "alcotest";
version = "1.9.1";
src = fetchurl {
url = "https://github.com/mirage/alcotest/releases/download/${version}/alcotest-${version}.tbz";
hash = "sha256-HinDtB1DKQYhBbcj39o6/4a4zvXnx1ANDkkfxf145II=";
};
nativeBuildInputs = [ ocaml-syntax-shims ];
propagatedBuildInputs = [
astring
cmdliner
fmt
re
stdlib-shims
uutf
];
doCheck = true;
meta = with lib; {
homepage = "https://github.com/mirage/alcotest";
description = "Lightweight and colourful test framework";
license = licenses.isc;
maintainers = [ maintainers.ericbmerritt ];
};
}

View File

@@ -0,0 +1,35 @@
{
buildDunePackage,
alcotest,
logs,
lwt,
fmt,
re,
cmdliner,
}:
buildDunePackage {
pname = "alcotest-lwt";
inherit (alcotest) version src;
duneVersion = "3";
propagatedBuildInputs = [
alcotest
logs
lwt
fmt
];
doCheck = true;
checkInputs = [
re
cmdliner
];
meta = alcotest.meta // {
description = "Lwt-based helpers for Alcotest";
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
buildDunePackage,
alcotest,
lwt,
logs,
mirage-clock,
duration,
}:
buildDunePackage {
pname = "alcotest-mirage";
inherit (alcotest) version src;
duneVersion = "3";
propagatedBuildInputs = [
alcotest
lwt
logs
mirage-clock
duration
];
doCheck = true;
meta = alcotest.meta // {
description = "Mirage implementation for Alcotest";
maintainers = with lib.maintainers; [
ulrikstrid
anmonteiro
];
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
alcotest,
qcheck-core,
}:
buildDunePackage rec {
pname = "algaeff";
version = "2.0.0";
minimalOCamlVersion = "5.0";
src = fetchFromGitHub {
owner = "RedPRL";
repo = pname;
rev = version;
hash = "sha256-VRZfULbXKRcExU1bnEu/X1KPX+L+dzcRYZVD985rQT4=";
};
doCheck = true;
checkInputs = [
alcotest
qcheck-core
];
meta = {
description = "Reusable Effects-Based Components";
homepage = "https://github.com/RedPRL/algaeff";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
dune-configurator,
alsa-lib,
}:
buildDunePackage rec {
pname = "alsa";
version = "0.3.0";
minimalOCamlVersion = "4.02";
src = fetchFromGitHub {
owner = "savonet";
repo = "ocaml-alsa";
rev = version;
sha256 = "1qy22g73qc311rmv41w005rdlj5mfnn4yj1dx1jhqzr31zixl8hj";
};
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ alsa-lib ];
meta = with lib; {
homepage = "https://github.com/savonet/ocaml-alsa";
description = "OCaml interface for libasound2";
license = licenses.gpl2Only;
maintainers = with maintainers; [ dandellion ];
};
}

View File

@@ -0,0 +1,29 @@
{
buildDunePackage,
async,
uri,
amqp-client,
ezxmlm,
}:
buildDunePackage {
pname = "amqp-client-async";
inherit (amqp-client) version src;
doCheck = true;
buildInputs = [
ezxmlm
];
propagatedBuildInputs = [
amqp-client
async
uri
];
meta = amqp-client.meta // {
description = "Amqp client library, async version";
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
version ? "2.3.0",
}:
buildDunePackage {
pname = "amqp-client";
inherit version;
minimalOCamlVersion = "4.14.0";
src = fetchFromGitHub {
owner = "andersfugmann";
repo = "amqp-client";
tag = version;
hash = "sha256-zWhkjVoKyNCIBXD5746FywCg3DKn1mXb1tn1VlF9Tyg=";
};
doCheck = true;
meta = {
description = "Amqp client base library";
homepage = "https://github.com/andersfugmann/amqp-client";
license = lib.licenses.bsd3;
changelog = "https://raw.githubusercontent.com/andersfugmann/amqp-client/refs/tags/${version}/Changelog";
maintainers = with lib.maintainers; [ momeemt ];
longDescription = ''
This library provides high level client bindings for amqp. The library
is tested with rabbitmq, but should work with other amqp
servers. The library is written in pure OCaml.
This is the base library required by lwt/async versions.
You should install either amqp-client-async or amqp-client-lwt
for actual client functionality.
'';
};
}

View File

@@ -0,0 +1,28 @@
{
buildDunePackage,
lwt,
lwt_log,
amqp-client,
uri,
ezxmlm,
}:
buildDunePackage {
pname = "amqp-client-lwt";
inherit (amqp-client) version src;
buildInputs = [ ezxmlm ];
propagatedBuildInputs = [
lwt
lwt_log
amqp-client
uri
];
doCheck = true;
meta = amqp-client.meta // {
description = "Amqp client library, lwt version";
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
buildDunePackage,
fetchurl,
}:
buildDunePackage rec {
pname = "ancient";
version = "0.10.0";
minimalOCamlVersion = "4.12";
src = fetchurl {
url = "https://github.com/OCamlPro/ocaml-ancient/releases/download/${version}/ancient-${version}.tbz";
hash = "sha256-XeVUPrdg7QSV7V0Tz8Mkj5jvzKtYD9DON+tt9kkuCHM=";
};
doCheck = true;
meta = {
description = "Use data structures larger than available memory";
longDescription = ''
This module allows you to use in-memory data structures which are
larger than available memory and so are kept in swap. If you try this
in normal OCaml code, you'll find that the machine quickly descends
into thrashing as the garbage collector repeatedly iterates over
swapped memory structures. This module lets you break that
limitation. Of course the module doesn't work by magic :-) If your
program tries to access these large structures, they still need to be
swapped back in, but it is suitable for large, sparsely accessed
structures.
Secondly, this module allows you to share those structures between
processes. In this mode, the structures are backed by a disk file,
and any process that has read/write access that disk file can map that
file in and see the structures.
'';
homepage = "https://github.com/OCamlPro/ocaml-ancient";
changelog = "https://raw.githubusercontent.com/OCamlPro/ocaml-ancient/refs/tags/${version}/CHANGES.md";
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [ momeemt ];
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
buildDunePackage,
angstrom,
async,
}:
buildDunePackage {
pname = "angstrom-async";
inherit (angstrom) version src;
minimalOCamlVersion = "4.04.1";
propagatedBuildInputs = [
angstrom
async
];
doCheck = true;
meta = {
inherit (angstrom.meta) homepage license;
description = "Async support for Angstrom";
maintainers = with lib.maintainers; [ romildo ];
};
}

View File

@@ -0,0 +1,25 @@
{
lib,
buildDunePackage,
angstrom,
lwt,
}:
buildDunePackage {
pname = "angstrom-lwt-unix";
inherit (angstrom) version src;
propagatedBuildInputs = [
angstrom
lwt
];
doCheck = true;
meta = {
inherit (angstrom.meta) homepage license;
description = "Lwt_unix support for Angstrom";
maintainers = with lib.maintainers; [ romildo ];
};
}

View File

@@ -0,0 +1,21 @@
{
lib,
buildDunePackage,
angstrom,
}:
buildDunePackage {
pname = "angstrom-unix";
inherit (angstrom) version src;
propagatedBuildInputs = [ angstrom ];
doCheck = true;
meta = {
inherit (angstrom.meta) homepage license;
description = "Unix support for Angstrom";
maintainers = with lib.maintainers; [ romildo ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
ocaml,
ocaml-syntax-shims,
alcotest,
bigstringaf,
ppx_let,
gitUpdater,
}:
buildDunePackage rec {
pname = "angstrom";
version = "0.16.1";
minimalOCamlVersion = "4.04";
src = fetchFromGitHub {
owner = "inhabitedtype";
repo = pname;
rev = version;
hash = "sha256-EPqDK+7RU2vHEHvuoTXb8V2FkdXQ6tGu0ghbNPS3gZ4=";
};
checkInputs = [
alcotest
ppx_let
];
buildInputs = [ ocaml-syntax-shims ];
propagatedBuildInputs = [ bigstringaf ];
doCheck = lib.versionAtLeast ocaml.version "4.08";
passthru.updateScript = gitUpdater { };
meta = {
homepage = "https://github.com/inhabitedtype/angstrom";
description = "OCaml parser combinators built for speed and memory efficiency";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ sternenseemann ];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
buildDunePackage,
fetchurl,
}:
buildDunePackage rec {
pname = "ANSITerminal";
version = "0.8.5";
src = fetchurl {
url = "https://github.com/Chris00/ANSITerminal/releases/download/${version}/ANSITerminal-${version}.tbz";
hash = "sha256-q3OyGLajAmfSu8QzEtzzE5gbiwvsVV2SsGuHZkst0w4=";
};
postPatch = ''
substituteInPlace src/dune --replace 'libraries unix bytes' 'libraries unix'
'';
doCheck = true;
meta = with lib; {
description = "Module allowing to use the colors and cursor movements on ANSI terminals";
longDescription = ''
ANSITerminal is a module allowing to use the colors and cursor
movements on ANSI terminals. It also works on the windows shell (but
this part is currently work in progress).
'';
homepage = "https://github.com/Chris00/ANSITerminal";
license = licenses.lgpl3;
maintainers = [ maintainers.jirkamarsik ];
};
}

View File

@@ -0,0 +1,29 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
dune-configurator,
libao,
}:
buildDunePackage rec {
pname = "ao";
version = "0.2.4";
src = fetchFromGitHub {
owner = "savonet";
repo = "ocaml-ao";
rev = "v${version}";
sha256 = "sha256-HhJdb4i9B4gz3emgDCDT4riQuAsY4uP/47biu7EZ+sk=";
};
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ libao ];
meta = with lib; {
homepage = "https://github.com/savonet/ocaml-ao";
description = "OCaml bindings for libao";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ dandellion ];
};
}

View File

@@ -0,0 +1,66 @@
{
stdenv,
lib,
fetchFromGitHub,
perl,
gmp,
mpfr,
ppl,
ocaml,
findlib,
camlidl,
mlgmpidl,
flint,
pplite,
}:
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-apron";
version = "0.9.15";
src = fetchFromGitHub {
owner = "antoinemine";
repo = "apron";
rev = "v${version}";
hash = "sha256-gHLCurydxX1pS66DTAWUJGl9Yqu9RWRjkZh6lXzM7YY=";
};
nativeBuildInputs = [
ocaml
findlib
perl
];
buildInputs = [
gmp
mpfr
ppl
camlidl
flint
pplite
];
propagatedBuildInputs = [ mlgmpidl ];
outputs = [
"out"
"dev"
];
configurePhase = ''
runHook preConfigure
./configure -prefix $out ${lib.optionalString stdenv.hostPlatform.isDarwin "--no-strip"}
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
runHook postConfigure
'';
postInstall = ''
mkdir -p $dev/lib
mv $out/lib/ocaml $dev/lib/
'';
meta = {
license = lib.licenses.lgpl21;
homepage = "http://apron.cri.ensmp.fr/library/";
maintainers = [ lib.maintainers.vbgl ];
description = "Numerical abstract domain library";
inherit (ocaml.meta) platforms;
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
fetchurl,
ocaml,
buildDunePackage,
cppo,
ounit2,
}:
buildDunePackage rec {
pname = "arg-complete";
version = "0.2.1";
src = fetchurl {
url = "https://github.com/sim642/ocaml-arg-complete/releases/download/${version}/arg-complete-${version}.tbz";
hash = "sha256-SZvLaeeqY3j2LUvqxGs0Vw57JnnpdvAk1jnE3pk27QU=";
};
nativeBuildInputs = [ cppo ];
doCheck = lib.versionAtLeast ocaml.version "4.08";
checkInputs = [ ounit2 ];
meta = {
description = "Bash completion support for OCaml Stdlib.Arg";
homepage = "https://sim642.github.io/ocaml-arg-complete/";
changelog = "https://raw.githubusercontent.com/sim642/ocaml-arg-complete/refs/tags/${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
fetchurl,
ctypes,
ctypes-foreign,
dune-configurator,
result,
libargon2,
buildDunePackage,
}:
buildDunePackage rec {
pname = "argon2";
version = "1.0.2";
minimalOCamlVersion = "4.02.3";
src = fetchurl {
url = "https://github.com/Khady/ocaml-argon2/releases/download/${version}/argon2-${version}.tbz";
hash = "sha256-NDsOV4kPT2SnSfNHDBAK+VKZgHDIKxW+dNJ/C5bQ8gU=";
};
buildInputs = [
dune-configurator
];
propagatedBuildInputs = [
ctypes
ctypes-foreign
libargon2
result
];
meta = {
homepage = "https://github.com/Khady/ocaml-argon2";
description = "Ocaml bindings to Argon2";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ naora ];
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
buildDunePackage,
fetchurl,
cstruct,
duration,
ethernet,
ipaddr,
logs,
lwt,
macaddr,
mirage-sleep,
alcotest,
bos,
mirage-vnetif,
}:
buildDunePackage rec {
pname = "arp";
version = "4.0.0";
src = fetchurl {
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-${version}.tbz";
hash = "sha256-C2Bh/2NwZqCJEidCnkhwRMoW3AsbQtvwdFh9IiJkDaU=";
};
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [
cstruct
duration
ethernet
ipaddr
logs
lwt
macaddr
mirage-sleep
];
## NOTE: As of 18 april 2023 and ARP version 3.0.0, tests fail on Darwin.
doCheck = !stdenv.hostPlatform.isDarwin;
checkInputs = [
alcotest
bos
mirage-vnetif
];
meta = with lib; {
description = "Address Resolution Protocol purely in OCaml";
homepage = "https://github.com/mirage/arp";
license = licenses.isc;
maintainers = with maintainers; [ sternenseemann ];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
algaeff,
bwd,
}:
buildDunePackage rec {
pname = "asai";
version = "0.3.1";
minimalOCamlVersion = "5.2";
src = fetchFromGitHub {
owner = "RedPRL";
repo = pname;
rev = version;
hash = "sha256-IpRLX7umpmlNt2uV2MB+YvjAvNk0+gl5plbBExVvcdM=";
};
propagatedBuildInputs = [
algaeff
bwd
];
meta = {
description = "Library for constructing and printing compiler diagnostics";
homepage = "https://redprl.org/asai/asai/";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,31 @@
{
fetchurl,
buildDunePackage,
topkg,
findlib,
ocamlbuild,
ocaml,
}:
buildDunePackage rec {
pname = "asetmap";
version = "0.8.1";
src = fetchurl {
url = "https://github.com/dbuenzli/asetmap/archive/refs/tags/v${version}.tar.gz";
sha256 = "051ky0k62xp4inwi6isif56hx5ggazv4jrl7s5lpvn9cj8329frj";
};
strictDeps = true;
nativeBuildInputs = [
topkg
findlib
ocamlbuild
ocaml
];
buildInputs = [ topkg ];
inherit (topkg) buildPhase installPhase;
meta = { inherit (ocaml.meta) platforms; };
}

View File

@@ -0,0 +1,36 @@
{
lib,
buildDunePackage,
fetchurl,
ptime,
alcotest,
ohex,
}:
buildDunePackage rec {
minimalOCamlVersion = "4.13.0";
pname = "asn1-combinators";
version = "0.3.2";
src = fetchurl {
url = "https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v${version}/asn1-combinators-${version}.tbz";
hash = "sha256-KyaYX24nIgc9zZ+ENVvWdX4SZDtaSOMLPAf/fPsNin8=";
};
propagatedBuildInputs = [ ptime ];
doCheck = true;
checkInputs = [
alcotest
ohex
];
meta = {
homepage = "https://github.com/mirleft/ocaml-asn1-combinators";
changelog = "https://github.com/mirleft/ocaml-asn1-combinators/blob/v${version}/CHANGES.md";
description = "Combinators for expressing ASN.1 grammars in OCaml";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ vbgl ];
};
}

View File

@@ -0,0 +1,65 @@
{
stdenv,
lib,
fetchurl,
ocaml,
findlib,
ocamlbuild,
topkg,
}:
let
# Use astring 0.8.3 for OCaml < 4.05
param =
if lib.versionAtLeast ocaml.version "4.05" then
{
version = "0.8.5";
sha256 = "1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6";
}
else
{
version = "0.8.3";
sha256 = "0ixjwc3plrljvj24za3l9gy0w30lsbggp8yh02lwrzw61ls4cri0";
};
in
stdenv.mkDerivation {
pname = "ocaml${ocaml.version}-astring";
inherit (param) version;
src = fetchurl {
url = "https://erratique.ch/software/astring/releases/astring-${param.version}.tbz";
inherit (param) sha256;
};
nativeBuildInputs = [
ocaml
findlib
ocamlbuild
topkg
];
buildInputs = [ topkg ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
meta = {
homepage = "https://erratique.ch/software/astring";
description = "Alternative String module for OCaml";
longDescription = ''
Astring exposes an alternative String module for OCaml. This module tries
to balance minimality and expressiveness for basic, index-free, string
processing and provides types and functions for substrings, string sets
and string maps.
Remaining compatible with the OCaml String module is a non-goal.
The String module exposed by Astring has exception safe functions, removes
deprecated and rarely used functions, alters some signatures and names,
adds a few missing functions and fully exploits OCaml's newfound string
immutability.
'';
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ sternenseemann ];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
atdgen-codec-runtime,
cmdliner,
menhir,
easy-format,
buildDunePackage,
re,
yojson,
nixosTests,
}:
buildDunePackage {
pname = "atd";
inherit (atdgen-codec-runtime) version src;
minimalOCamlVersion = "4.08";
nativeBuildInputs = [ menhir ];
buildInputs = [ cmdliner ];
propagatedBuildInputs = [
easy-format
re
yojson
];
passthru.tests = {
smoke-test = nixosTests.atd;
};
meta = with lib; {
description = "Syntax for cross-language type definitions";
homepage = "https://github.com/mjambon/atd";
license = licenses.mit;
maintainers = with maintainers; [ aij ];
mainProgram = "atdcat";
};
}

View File

@@ -0,0 +1,22 @@
{
lib,
buildDunePackage,
fetchurl,
}:
buildDunePackage rec {
pname = "atdgen-codec-runtime";
version = "2.16.0";
src = fetchurl {
url = "https://github.com/ahrefs/atd/releases/download/${version}/atd-${version}.tbz";
hash = "sha256-Wea0RWICQcvWkBqEKzNmg6+w6xJbOtv+4ovZTNVODe8=";
};
meta = {
description = "Runtime for atdgen generated bucklescript converters";
homepage = "https://github.com/ahrefs/atd";
maintainers = [ lib.maintainers.vbgl ];
license = lib.licenses.mit;
};
}

View File

@@ -0,0 +1,37 @@
{
buildDunePackage,
alcotest,
atd,
atdgen-codec-runtime,
atdgen-runtime,
biniou,
re,
python3,
}:
buildDunePackage {
pname = "atdgen";
inherit (atdgen-codec-runtime) version src;
buildInputs = [
atd
re
];
propagatedBuildInputs = [ atdgen-runtime ];
doCheck = true;
nativeCheckInputs = [
atd
biniou
(python3.withPackages (ps: [ ps.jsonschema ]))
];
checkInputs = [
alcotest
atdgen-codec-runtime
];
meta = (removeAttrs atd.meta [ "mainProgram" ]) // {
description = "Generates efficient JSON serializers, deserializers and validators";
};
}

View File

@@ -0,0 +1,23 @@
{
buildDunePackage,
atdgen-codec-runtime,
biniou,
yojson,
}:
buildDunePackage {
pname = "atdgen-runtime";
inherit (atdgen-codec-runtime) version src;
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [
biniou
yojson
];
meta = atdgen-codec-runtime.meta // {
description = "Runtime library for code generated by atdgen";
};
}

View File

@@ -0,0 +1,56 @@
{
stdenv,
fetchurl,
fetchpatch,
autoreconfHook,
makeWrapper,
pkg-config,
ocaml,
findlib,
libxml2,
augeas,
lib,
}:
stdenv.mkDerivation {
pname = "ocaml-augeas";
version = "0.6";
src = fetchurl {
url = "https://people.redhat.com/~rjones/augeas/files/ocaml-augeas-0.6.tar.gz";
sha256 = "04bn62hqdka0658fgz0p0fil2fyic61i78plxvmni1yhmkfrkfla";
};
patches = [
(fetchpatch {
url = "https://salsa.debian.org/debian/ocaml-augeas/-/raw/07c2408a7e5a06cefe5d53a89fecaa8556a39b06/debian/patches/0001-Use-ocamlopt-g-option.patch";
hash = "sha256-EMd/EfWO2ni0AMonfS7G5FENpVVq0+q3gUPd4My+Upg=";
})
(fetchpatch {
url = "https://salsa.debian.org/debian/ocaml-augeas/-/raw/07c2408a7e5a06cefe5d53a89fecaa8556a39b06/debian/patches/0002-caml_named_value-returns-const-value-pointer-in-OCam.patch";
hash = "sha256-Y53UHwrTVeV3hnsvABmWxlPi2Fanm0Iy1OR8Zql5Ub8=";
})
];
nativeBuildInputs = [
autoreconfHook
makeWrapper
pkg-config
];
buildInputs = [
ocaml
findlib
augeas
libxml2
];
createFindlibDestdir = true;
meta = with lib; {
homepage = "https://people.redhat.com/~rjones/augeas/";
description = "OCaml bindings for Augeas";
license = with licenses; lgpl21Plus;
platforms = with platforms; linux;
};
}

View File

@@ -0,0 +1,60 @@
{
lib,
buildDunePackage,
fetchurl,
mirage-crypto,
mirage-crypto-ec,
mirage-crypto-rng,
mirage-crypto-pk,
x509,
cstruct,
cstruct-unix,
eqaf,
mtime,
logs,
fmt,
cmdliner,
base64,
zarith,
mirage-mtime,
}:
buildDunePackage rec {
pname = "awa";
version = "0.5.2";
src = fetchurl {
url = "https://github.com/mirage/awa-ssh/releases/download/v${version}/awa-${version}.tbz";
hash = "sha256-64gloekVN0YsBwUodrJc6QaNU3PGKMIZMPJWvBfzaj0=";
};
propagatedBuildInputs = [
mirage-crypto
mirage-crypto-ec
mirage-crypto-rng
mirage-crypto-pk
x509
cstruct
mtime
logs
base64
zarith
eqaf
];
doCheck = true;
checkInputs = [
cstruct-unix
cmdliner
fmt
mirage-mtime
];
meta = with lib; {
description = "SSH implementation in OCaml";
homepage = "https://github.com/mirage/awa-ssh";
changelog = "https://github.com/mirage/awa-ssh/raw/v${version}/CHANGES.md";
license = licenses.isc;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,32 @@
{
buildDunePackage,
awa,
cstruct,
mtime,
lwt,
mirage-flow,
mirage-sleep,
logs,
duration,
mirage-mtime,
}:
buildDunePackage {
pname = "awa-mirage";
inherit (awa) version src;
propagatedBuildInputs = [
awa
cstruct
mtime
lwt
mirage-flow
mirage-sleep
logs
duration
mirage-mtime
];
inherit (awa) meta;
}

View File

@@ -0,0 +1,65 @@
{
lib,
stdenv,
fetchurl,
ocaml,
findlib,
topkg,
ocamlbuild,
cmdliner,
}:
let
in
lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
"b0 is not available for OCaml ${ocaml.version}"
stdenv.mkDerivation
rec {
pname = "ocaml${ocaml.version}-b0";
version = "0.0.5";
src = fetchurl {
url = "${meta.homepage}/releases/b0-${version}.tbz";
sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I=";
};
strictDeps = true;
nativeBuildInputs = [
ocaml
findlib
ocamlbuild
topkg
];
buildInputs = [
topkg
cmdliner
];
inherit (topkg) buildPhase installPhase;
meta = with lib; {
description = "Software construction and deployment kit";
longDescription = ''
WARNING this package is unstable and work in progress, do not depend on
it.
B0 describes software construction and deployments using modular and
customizable definitions written in OCaml. B0 describes:
* Build environments.
* Software configuration, build and testing.
* Source and binary deployments.
* Software life-cycle procedures.
B0 also provides the B00 build library which provides abitrary build
abstraction with reliable and efficient incremental rebuilds. The B00
library can be and has been used on its own to devise domain specific
build systems.
'';
homepage = "https://erratique.ch/software/b0";
inherit (ocaml.meta) platforms;
license = licenses.isc;
maintainers = [ maintainers.Julow ];
};
}

View File

@@ -0,0 +1,29 @@
{
lib,
buildDunePackage,
fetchurl,
alcotest,
}:
buildDunePackage rec {
pname = "backoff";
version = "0.1.1";
src = fetchurl {
url = "https://github.com/ocaml-multicore/backoff/releases/download/${version}/backoff-${version}.tbz";
hash = "sha256-AL6jEbInsbwKVYedpNzjix/YRHtOTizxk6aVNzesnwM=";
};
doCheck = true;
checkInputs = [ alcotest ];
meta = {
description = "Exponential backoff mechanism for OCaml";
homepage = "https://github.com/ocaml-multicore/backoff";
license = lib.licenses.isc;
maintainers = [ lib.maintainers.vbgl ];
};
minimalOCamlVersion = "4.12";
}

View File

@@ -0,0 +1,32 @@
From e6f6d1529d1725e8c1ed3c96eecc4aea43417aea Mon Sep 17 00:00:00 2001
From: Matthew Maurer <matthew.r.maurer@gmail.com>
Date: Sun, 19 Apr 2020 15:50:01 -0700
Subject: [PATCH] Remove attempt to work around libcurses dependency issues.
BAP doesn't actually link against libcurses, LLVM does. By adding
-lcurses to this file, we accidentally broke linking on any systems
where LLVM got linked against libncurses (not libcurses) without a
libcurses compatibility shim.
Overall, we should get -l flags from llvm-config, not attempt to
shoehorn them in later, as this is fragile.
---
oasis/llvm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/oasis/llvm b/oasis/llvm
index 966c407..fba3fb4 100644
--- a/oasis/llvm
+++ b/oasis/llvm
@@ -31,7 +31,7 @@ Library bap_llvm
Bap_llvm_ogre_samples,
Bap_llvm_ogre_types
CCOpt: $cc_optimization
- CCLib: $llvm_lib $cxxlibs $llvm_ldflags -lcurses -lzstd
+ CCLib: $llvm_lib $cxxlibs $llvm_ldflags -lncurses -lzstd
CSources: llvm_disasm.h,
llvm_disasm.c,
llvm_stubs.c,
--
2.22.0

View File

@@ -0,0 +1,152 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchurl,
ocaml,
findlib,
ocamlbuild,
ocaml_oasis,
bitstring,
camlzip,
cmdliner,
core_kernel,
ezjsonm,
fileutils,
jane_rope ? null,
mmap,
lwt,
ocamlgraph,
ocurl,
re,
uri,
zarith,
piqi,
piqi-ocaml,
uuidm,
llvm,
frontc,
ounit,
ppx_jane,
parsexp ? null,
utop,
libxml2,
ncurses,
linenoise,
ppx_bap,
ppx_bitstring,
yojson,
which,
makeWrapper,
writeText,
z3,
}:
if lib.versionOlder ocaml.version "4.08" then
throw "BAP is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-bap";
version = "2.5.0+pr1621";
src = fetchFromGitHub {
owner = "BinaryAnalysisPlatform";
repo = "bap";
rev = "65c282d94e8b7028e8a986c637db3a2378a753f6";
hash = "sha256-LUZZOgG1T8xa5jLA/fDft8ofYb/Yf6QjTrl6AlLY7H0=";
};
sigs = fetchurl {
url = "https://github.com/BinaryAnalysisPlatform/bap/releases/download/v${version}/sigs.zip";
sha256 = "0d69jd28z4g64mglq94kj5imhmk5f6sgcsh9q2nij3b0arpcliwk";
};
createFindlibDestdir = true;
setupHook = writeText "setupHook.sh" ''
export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}/"
export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}-llvm-plugins/"
'';
nativeBuildInputs = [
which
makeWrapper
ocaml
findlib
ocamlbuild
ocaml_oasis
];
buildInputs = [
ocamlbuild
linenoise
ounit
ppx_bitstring
z3
utop
libxml2
ncurses
];
propagatedBuildInputs = [
bitstring
camlzip
cmdliner
ppx_bap
core_kernel
ezjsonm
fileutils
jane_rope
mmap
lwt
ocamlgraph
ocurl
re
uri
zarith
piqi
parsexp
piqi-ocaml
uuidm
frontc
yojson
];
installPhase = ''
runHook preInstall
export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR;
export PATH=$PATH:$out/bin
export CAML_LD_LIBRARY_PATH=''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/
mkdir -p $out/lib/bap
make install
rm $out/bin/baptop
makeWrapper ${utop}/bin/utop $out/bin/baptop --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH --add-flags "-ppx ppx-bap -short-paths -require \"bap.top\""
wrapProgram $out/bin/bapbuild --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH
ln -s $sigs $out/share/bap/sigs.zip
runHook postInstall
'';
disableIda = "--disable-ida";
disableGhidra = "--disable-ghidra";
patches = [
./curses_is_ncurses.patch
];
preConfigure = ''
substituteInPlace oasis/monads --replace-warn core_kernel.rope jane_rope
'';
configureFlags = [
"--enable-everything ${disableIda} ${disableGhidra}"
"--with-llvm-config=${llvm.dev}/bin/llvm-config"
];
meta = with lib; {
description = "Platform for binary analysis. It is written in OCaml, but can be used from other languages";
homepage = "https://github.com/BinaryAnalysisPlatform/bap/";
license = licenses.mit;
maintainers = [ maintainers.maurer ];
mainProgram = "bap";
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
fetchurl,
buildDunePackage,
ocaml,
findlib,
alcotest,
bos,
rresult,
}:
buildDunePackage rec {
pname = "base64";
version = "3.5.1";
minimalOCamlVersion = "4.03";
duneVersion = "3";
src = fetchurl {
url = "https://github.com/mirage/ocaml-base64/releases/download/v${version}/base64-${version}.tbz";
hash = "sha256-2P7apZvRL+rnrMCLWSjdR4qsUj9MqNJARw0lAGUcZe0=";
};
nativeBuildInputs = [ findlib ];
# otherwise fmt breaks evaluation
doCheck = lib.versionAtLeast ocaml.version "4.08";
checkInputs = [
alcotest
bos
rresult
];
meta = {
homepage = "https://github.com/mirage/ocaml-base64";
description = "Base64 encoding and decoding in OCaml";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ vbgl ];
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
ocaml,
ounit,
qtest,
qcheck,
num,
camlp-streams,
doCheck ? lib.versionAtLeast ocaml.version "4.08",
}:
buildDunePackage rec {
pname = "batteries";
version = "3.9.0";
minimalOCamlVersion = "4.05";
src = fetchFromGitHub {
owner = "ocaml-batteries-team";
repo = "batteries-included";
rev = "v${version}";
hash = "sha256-+PGfExdvp3WyX1s8dLTBYp1SoUOBkzrxyqMUuaW6Bto=";
};
nativeCheckInputs = [ qtest ];
checkInputs = [
ounit
qcheck
];
propagatedBuildInputs = [
camlp-streams
num
];
inherit doCheck;
checkTarget = "test";
meta = {
homepage = "https://ocaml-batteries-team.github.io/batteries-included/hdoc2/";
description = "OCaml Batteries Included";
longDescription = ''
A community-driven effort to standardize on an consistent, documented,
and comprehensive development platform for the OCaml programming
language.
'';
license = lib.licenses.lgpl21Plus;
maintainers = [
lib.maintainers.maggesi
];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
stdlib-shims,
}:
buildDunePackage rec {
pname = "bdd";
version = "0.5";
src = fetchFromGitHub {
owner = "backtracking";
repo = "ocaml-bdd";
tag = version;
hash = "sha256-bhgKpo7gGkjbI75pzckfQulZnTstj6G5QcErLgIGneU=";
};
# Fix build with OCaml 4.02
postPatch = ''
substituteInPlace lib/bdd.ml \
--replace-fail "Buffer.truncate Format.stdbuf 0;" "Buffer.clear Format.stdbuf;"
'';
propagatedBuildInputs = [
stdlib-shims
];
meta = {
description = "Quick implementation of a Binary Decision Diagrams (BDD) library for OCaml";
homepage = "https://github.com/backtracking/ocaml-bdd";
license = lib.licenses.lgpl21Only;
maintainers = with lib.maintainers; [ wegank ];
};
}

View File

@@ -0,0 +1,30 @@
{
lib,
fetchurl,
buildDunePackage,
}:
buildDunePackage rec {
pname = "benchmark";
version = "1.7";
minimalOCamlVersion = "4.03";
src = fetchurl {
url = "https://github.com/Chris00/ocaml-benchmark/releases/download/v${version}/benchmark-${version}.tbz";
hash = "sha256-Aij7vJzamNWQfjLeGgENlIp6Il8+Wc9hsahr4eDGs68=";
};
meta = {
homepage = "https://github.com/Chris00/ocaml-benchmark";
description = "Benchmark running times of code";
longDescription = ''
This module provides a set of tools to measure the running times of
your functions and to easily compare the results. A statistical test
is used to determine whether the results truly differ.
'';
changelog = "https://raw.githubusercontent.com/Chris00/ocaml-benchmark/refs/tags/v${version}/CHANGES.md";
license = lib.licenses.lgpl3;
maintainers = with lib.maintainers; [ momeemt ];
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
ounit,
qcheck,
}:
buildDunePackage rec {
pname = "bencode";
version = "2.0";
minimalOCamlVersion = "4.02.0";
src = fetchFromGitHub {
owner = "rgrinberg";
repo = "bencode";
tag = version;
hash = "sha256-sEMS9oBOPeFX1x7cHjbQhCD2QI5yqC+550pPqqMsVws=";
};
doCheck = true;
checkInputs = [
ounit
qcheck
];
meta = {
description = "Bencode (.torrent file format) reader/writer in OCaml ";
homepage = "https://github.com/rgrinberg/bencode";
changelog = "https://github.com/rgrinberg/bencode/blob/${version}/Changelog.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ infinidoge ];
};
}

View File

@@ -0,0 +1,30 @@
{
lib,
buildDunePackage,
fetchurl,
stdlib-shims,
}:
buildDunePackage rec {
pname = "bheap";
version = "2.0.0";
src = fetchurl {
url = "https://github.com/backtracking/${pname}/releases/download/${version}/${pname}-${version}.tbz";
sha256 = "0dpnpla20lgiicrxl2432m2fcr6y68msw3pnjxqb11xw6yrdfhsz";
};
useDune2 = true;
doCheck = true;
checkInputs = [
stdlib-shims
];
meta = with lib; {
description = "OCaml binary heap implementation by Jean-Christophe Filliatre";
license = licenses.lgpl21Only;
maintainers = [ maintainers.sternenseemann ];
homepage = "https://github.com/backtracking/bheap";
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
}:
buildDunePackage rec {
pname = "bigarray-compat";
version = "1.1.0";
useDune2 = true;
minimalOCamlVersion = "4.02";
src = fetchFromGitHub {
owner = "mirage";
repo = pname;
rev = "v${version}";
sha256 = "sha256-2JVopggK2JuXWEPu8qn12F1jQIJ9OV89XY1rHtUqLkI=";
};
meta = {
description = "Compatibility library to use Stdlib.Bigarray when possible";
inherit (src.meta) homepage;
license = lib.licenses.isc;
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
buildDunePackage,
fetchurl,
alcotest,
pkg-config,
}:
buildDunePackage rec {
pname = "bigarray-overlap";
version = "0.2.1";
src = fetchurl {
url = "https://github.com/dinosaure/overlap/releases/download/v${version}/bigarray-overlap-${version}.tbz";
hash = "sha256-L1IKxHAFTjNYg+upJUvyi2Z23bV3U8+1iyLPhK4aZuA=";
};
minimalOCamlVersion = "4.08";
duneVersion = "3";
nativeBuildInputs = [ pkg-config ];
checkInputs = [ alcotest ];
doCheck = true;
meta = with lib; {
homepage = "https://github.com/dinosaure/overlap";
description = "Minimal library to know that 2 bigarray share physically the same memory or not";
license = licenses.mit;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
ocaml,
}:
buildDunePackage rec {
pname = "bigstring";
version = "0.3";
duneVersion = "3";
minimalOCamlVersion = "4.03";
# Ensure compatibility with OCaml ≥ 5.0
preConfigure = lib.optional (lib.versionAtLeast ocaml.version "4.08") ''
substituteInPlace src/dune --replace '(libraries bytes bigarray)' ""
'';
src = fetchFromGitHub {
owner = "c-cube";
repo = "ocaml-bigstring";
rev = version;
sha256 = "0bkxwdcswy80f6rmx5wjza92xzq4rdqsb4a9fm8aav8bdqx021n8";
};
# Circular dependency with bigstring-unix
doCheck = false;
meta = with lib; {
homepage = "https://github.com/c-cube/ocaml-bigstring";
description = "Bigstring built on top of bigarrays, and convenient functions";
license = licenses.bsd2;
maintainers = [ maintainers.alexfmpe ];
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
alcotest,
pkg-config,
dune-configurator,
}:
buildDunePackage rec {
pname = "bigstringaf";
version = "0.10.0";
minimalOCamlVersion = "4.08";
src = fetchFromGitHub {
owner = "inhabitedtype";
repo = pname;
tag = version;
hash = "sha256-p1hdB3ArOd2UX7S6YvXCFbYjEiXdMDmBaC/lFQgua7Q=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ];
checkInputs = [ alcotest ];
doCheck = true;
meta = {
description = "Bigstring intrinsics and fast blits based on memcpy/memmove";
longDescription = ''
Bigstring intrinsics and fast blits based on memcpy/memmove
The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not
widely-known, sometimes misused, and so programs that use Bigstrings are slower
than they have to be. And even if a library got that part right and exposed the
intrinsics properly, the compiler doesn't have any fast blits between
Bigstrings and other string-like types.
So here they are. Go crazy.
'';
changelog = "https://github.com/inhabitedtype/bigstringaf/releases/tag/${version}";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.vbgl ];
inherit (src.meta) homepage;
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
earley,
timed,
}:
buildDunePackage rec {
pname = "bindlib";
version = "6.0.0";
minimalOCamlVersion = "4.07";
src = fetchFromGitHub {
owner = "rlepigre";
repo = "ocaml-${pname}";
rev = version;
hash = "sha256-058yMbz9ExvgNG/kY9tPk70XSeVRSSKVg4n4F4fmPu4=";
};
checkInputs = [
earley
timed
];
doCheck = true;
meta = with lib; {
homepage = "https://rlepigre.github.io/ocaml-bindlib";
description = "Efficient binder representation in Ocaml";
license = licenses.gpl3;
changelog = "https://github.com/rlepigre/ocaml-bindlib/raw/${version}/CHANGELOG.md";
maintainers = with maintainers; [ bcdarwin ];
};
}

View File

@@ -0,0 +1,30 @@
{
lib,
fetchurl,
buildDunePackage,
camlp-streams,
easy-format,
}:
buildDunePackage rec {
pname = "biniou";
version = "1.2.2";
src = fetchurl {
url = "https://github.com/ocaml-community/biniou/releases/download/${version}/biniou-${version}.tbz";
hash = "sha256-i/P/F80Oyy1rbR2UywjvCJ1Eyu+W6brmvmg51Cj6MY8=";
};
propagatedBuildInputs = [
camlp-streams
easy-format
];
meta = {
description = "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
homepage = "https://github.com/ocaml-community/biniou";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.vbgl ];
mainProgram = "bdump";
};
}

View File

@@ -0,0 +1,24 @@
{
lib,
buildDunePackage,
fetchurl,
}:
buildDunePackage rec {
pname = "binning";
version = "0.0.0";
minimalOCamlVersion = "4.08";
src = fetchurl {
url = "https://github.com/pveber/binning/releases/download/v${version}/binning-v${version}.tbz";
hash = "sha256-eG+xctsbc7lQ5pFOUtJ8rjNW/06gygwLADq7yc8Yf/c=";
};
meta = {
description = "Datastructure to accumulate values in bins";
license = lib.licenses.cecill-b;
homepage = "https://github.com/pveber/binning/";
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
buildDunePackage,
fetchurl,
angstrom-unix,
binning,
ocaml-crunch,
camlzip,
core_kernel,
core_unix ? null,
csvfields ? null,
fmt,
gsl,
ppx_csv_conv ? null,
ppx_deriving,
rresult,
tyxml,
uri,
vg,
}:
buildDunePackage rec {
pname = "biotk";
version = "0.3";
minimalOCamlVersion = "4.13";
src = fetchurl {
url = "https://github.com/pveber/biotk/releases/download/v${version}/biotk-${version}.tbz";
hash = "sha256-9eRd3qYteUxu/xNEUER/DHodr6cTCuPtSKr38x32gig=";
};
nativeBuildInputs = [ ocaml-crunch ];
buildInputs = [ ppx_csv_conv ];
propagatedBuildInputs = [
angstrom-unix
binning
camlzip
core_kernel
core_unix
csvfields
fmt
gsl
ppx_deriving
rresult
tyxml
uri
vg
];
meta = {
description = "Toolkit for bioinformatics in OCaml";
license = lib.licenses.cecill-c;
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
fetchFromGitHub,
fetchpatch,
buildDunePackage,
cmdliner,
ppxlib,
}:
buildDunePackage rec {
pname = "bisect_ppx";
version = "2.8.3";
src = fetchFromGitHub {
owner = "aantron";
repo = "bisect_ppx";
rev = version;
hash = "sha256-3qXobZLPivFDtls/3WNqDuAgWgO+tslJV47kjQPoi6o=";
};
# Ensure compatibility with ppxlib 0.36
patches = lib.optionals (lib.versionAtLeast ppxlib.version "0.36") [
(fetchpatch {
url = "https://github.com/aantron/bisect_ppx/commit/f35fdf4bdcb82c308d70f7c9c313a77777f54bdf.patch";
hash = "sha256-hQMDU6zrHDV9JszGAj2p4bd9zlqqjc1TLU+cfMEgz9c=";
})
(fetchpatch {
url = "https://github.com/aantron/bisect_ppx/commit/07bfceec652773de4b140cebc236a15e2429809e.patch";
hash = "sha256-9gDIndPIZMkIkd847qd2QstsZJInBPuWXAUIzZMkHcw=";
})
(fetchpatch {
url = "https://github.com/aantron/bisect_ppx/commit/4f0cb2a2e1b0b786b6b5f1c94985b201aa012f12.patch";
hash = "sha256-20nr7ApKPnnol0VEOirwXdJX+AiFRzBzAq4YzCWn7W0=";
})
];
minimalOCamlVersion = "4.11";
buildInputs = [
cmdliner
ppxlib
];
meta = {
description = "Bisect_ppx is a code coverage tool for OCaml and Reason. It helps you test thoroughly by showing what's not tested";
homepage = "https://github.com/aantron/bisect_ppx";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ momeemt ];
mainProgram = "bisect-ppx-report";
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
base64,
bos,
core,
core_kernel,
core_unix ? null,
lwt_react,
ocamlgraph,
ppx_sexp_conv,
rresult,
sexplib,
tyxml,
ppxlib,
}:
buildDunePackage rec {
pname = "bistro";
version = "unstable-2024-05-17";
src = fetchFromGitHub {
owner = "pveber";
repo = pname;
rev = "d44c44b52148e58ca3842c3efedf3115e376d800";
sha256 = "sha256-naoCEVBfydqSeGGbXYBXfg0PP+Fzk05jFoul7XAz/tM=";
};
propagatedBuildInputs = [
base64
bos
core
core_kernel
core_unix
lwt_react
ocamlgraph
ppx_sexp_conv
rresult
sexplib
tyxml
];
minimalOCamlVersion = "4.14";
meta = {
inherit (src.meta) homepage;
description = "Build and execute typed scientific workflows";
maintainers = [ lib.maintainers.vbgl ];
license = lib.licenses.gpl2;
meta.broken = lib.versionAtLeast ppxlib.version "0.36";
};
}

View File

@@ -0,0 +1,29 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
stdlib-shims,
}:
buildDunePackage rec {
pname = "bitstring";
version = "4.1.1";
duneVersion = "3";
src = fetchFromGitHub {
owner = "xguerin";
repo = pname;
rev = "v${version}";
sha256 = "sha256-eO7/S9PoMybZPnQQ+q9qbqKpYO4Foc9OjW4uiwwNds8=";
};
propagatedBuildInputs = [ stdlib-shims ];
meta = with lib; {
description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml";
homepage = "https://github.com/xguerin/bitstring";
license = licenses.lgpl21Plus;
maintainers = [ maintainers.maurer ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
buildDunePackage,
fetchpatch,
ocaml,
bitstring,
ppxlib,
ounit,
}:
if lib.versionOlder ppxlib.version "0.18.0" then
throw "ppx_bitstring is not available with ppxlib-${ppxlib.version}"
else
buildDunePackage {
pname = "ppx_bitstring";
inherit (bitstring) version src;
patches = lib.optional (lib.versionAtLeast ppxlib.version "0.36") (fetchpatch {
url = "https://github.com/xguerin/bitstring/commit/b42d4924cbb5ec5fd5309e6807852b63f456f35d.patch";
hash = "sha256-wtpSnGOzIUTmB3LhyHGopecy7F/5SYFOwaR6eReV+6g=";
});
buildInputs = [
bitstring
ppxlib
];
doCheck = lib.versionAtLeast ocaml.version "4.08";
checkInputs = [ ounit ];
meta = bitstring.meta // {
description = "Bitstrings and bitstring matching for OCaml - PPX extension";
};
}

View File

@@ -0,0 +1,26 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
}:
buildDunePackage rec {
pname = "bitv";
version = "2.1";
minimalOCamlVersion = "4.08";
src = fetchFromGitHub {
owner = "backtracking";
repo = "bitv";
tag = version;
hash = "sha256-jlpVMqYOiKxoU6wuVeYlOC5wRtF4aakljKpop6dfu8w=";
};
meta = {
description = "Bit vector library for OCaml";
license = lib.licenses.lgpl21;
homepage = "https://github.com/backtracking/bitv";
changelog = "https://github.com/backtracking/bitv/releases/tag/${version}";
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
buildDunePackage,
fetchurl,
zarith,
}:
let
version = "0.8.2";
in
buildDunePackage {
pname = "bitwuzla-cxx";
inherit version;
minimalOCamlVersion = "4.12";
src = fetchurl {
url = "https://github.com/bitwuzla/ocaml-bitwuzla/releases/download/${version}/bitwuzla-cxx-${version}.tbz";
hash = "sha256-cfYQBY/Nwf9XyK5clRPxf6ejqNRn/GugVFMKBm3BEME=";
};
propagatedBuildInputs = [ zarith ];
meta = {
description = "OCaml binding for the SMT solver Bitwuzla C++ API";
homepage = "https://bitwuzla.github.io/";
changelog = "https://raw.githubusercontent.com/bitwuzla/ocaml-bitwuzla/refs/tags/${version}/CHANGES.md";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
dune-configurator,
libsamplerate,
libjack2,
}:
buildDunePackage rec {
pname = "bjack";
version = "0.1.6";
src = fetchFromGitHub {
owner = "savonet";
repo = "ocaml-bjack";
rev = "v${version}";
hash = "sha256-jIxxqBVWphWYyLh+24rTxk4WWfPPdGCvNdevFJEKw70=";
};
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [
libsamplerate
libjack2
];
meta = with lib; {
homepage = "https://github.com/savonet/ocaml-bjack";
description = "Blocking API for the jack audio connection kit";
license = licenses.lgpl21Only;
maintainers = with maintainers; [ dandellion ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
fetchzip,
buildDunePackage,
bls12-381,
alcotest,
bisect_ppx,
integers_stubs_js,
}:
buildDunePackage rec {
pname = "bls12-381-signature";
version = "1.0.0";
src = fetchzip {
url = "https://gitlab.com/nomadic-labs/cryptography/ocaml-${pname}/-/archive/${version}/ocaml-bls12-381-signature-${version}.tar.bz2";
sha256 = "sha256-KaUpAT+BWxmUP5obi4loR9vVUeQmz3p3zG3CBolUuL4=";
};
duneVersion = "3";
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [ bls12-381 ];
checkInputs = [
alcotest
bisect_ppx
integers_stubs_js
];
doCheck = true;
meta = {
description = "Implementation of BLS signatures for the pairing-friendly curve BLS12-381";
license = lib.licenses.mit;
homepage = "https://gitlab.com/nomadic-labs/cryptography/ocaml-bls12-381-signature";
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
buildDunePackage,
fetchFromGitLab,
zarith,
zarith_stubs_js ? null,
integers_stubs_js,
integers,
hex,
alcotest,
}:
buildDunePackage rec {
pname = "bls12-381";
version = "6.1.0";
src = fetchFromGitLab {
owner = "nomadic-labs";
repo = "cryptography/ocaml-bls12-381";
rev = version;
hash = "sha256-z2ZSOrXgm+XjdrY91vqxXSKhA0DyJz6JkkNljDZznX8=";
};
minimalOCamlVersion = "4.08";
postPatch = ''
patchShebangs ./src/*.sh
'';
propagatedBuildInputs = [
zarith
zarith_stubs_js
integers_stubs_js
hex
integers
];
checkInputs = [
alcotest
];
doCheck = true;
meta = {
homepage = "https://nomadic-labs.gitlab.io/cryptography/ocaml-bls12-381/bls12-381/";
description = "Implementation of BLS12-381 and some cryptographic primitives built on top of it";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
fetchFromGitLab,
buildDunePackage,
ff-sig,
zarith,
}:
buildDunePackage rec {
pname = "bls12-381-gen";
version = "0.4.4";
src = fetchFromGitLab {
owner = "dannywillems";
repo = "ocaml-bls12-381";
rev = "${version}-legacy";
sha256 = "qocIfQdv9rniOUykRulu2zWsqkzT0OrsGczgVKALRuk=";
};
duneVersion = "3";
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [
ff-sig
zarith
];
doCheck = true;
meta = {
homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
description = "Functors to generate BLS12-381 primitives based on stubs";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View File

@@ -0,0 +1,51 @@
{
stdenv,
lib,
fetchurl,
ocaml,
findlib,
ocamlbuild,
topkg,
astring,
fmt,
fpath,
logs,
rresult,
}:
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-bos";
version = "0.2.1";
src = fetchurl {
url = "https://erratique.ch/software/bos/releases/bos-${version}.tbz";
sha256 = "sha256-2NYueGsQ1pfgRXIFqO7eqifrzJDxhV8Y3xkMrC49jzc=";
};
nativeBuildInputs = [
ocaml
findlib
ocamlbuild
topkg
];
buildInputs = [ topkg ];
propagatedBuildInputs = [
astring
fmt
fpath
logs
rresult
];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
meta = {
description = "Basic OS interaction for OCaml";
homepage = "https://erratique.ch/software/bos";
license = lib.licenses.isc;
maintainers = [ lib.maintainers.vbgl ];
inherit (ocaml.meta) platforms;
};
}

View File

@@ -0,0 +1,46 @@
{
buildDunePackage,
fetchFromGitHub,
lib,
reason,
ppxlib,
ocaml,
}:
let
version =
if lib.versionAtLeast ocaml.version "5.3" then
throw "brisk-reconciler is not available for OCaml ${ocaml.version}"
else
"1.0.0-alpha1";
in
buildDunePackage {
pname = "brisk-reconciler";
inherit version;
src = fetchFromGitHub {
owner = "briskml";
repo = "brisk-reconciler";
tag = "v${version}";
hash = "sha256-Xj6GGsod3lnEEjrzPrlHwQAowq66uz8comlhpWK888k=";
};
buildInputs = [
ppxlib
];
meta = {
description = "React.js-like reconciler implemented in OCaml/Reason";
longDescription = ''
Easily model any `tree-shaped state` with simple `stateful functions`.
Definitions:
* tree-shaped state: Any tree shaped-state like the DOM tree, app navigation state, or even rich text document!
* stateful functions: Functions that maintain state over time. Imagine that you can take any variable in your function and manage its value over the function's invocation. Now, imagine that any function invocation really creates its own "instance" of the function which will track this state separately from other invocations of this function.
'';
homepage = "https://github.com/briskml/brisk-reconciler";
maintainers = with lib.maintainers; [ momeemt ];
license = lib.licenses.mit;
};
}

View File

@@ -0,0 +1,39 @@
{
stdenv,
lib,
fetchurl,
ocaml,
findlib,
ocamlbuild,
topkg,
js_of_ocaml-compiler,
js_of_ocaml-toplevel,
}:
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-brr";
version = "0.0.8";
src = fetchurl {
url = "https://erratique.ch/software/brr/releases/brr-${version}.tbz";
hash = "sha256-g4ROHy9rHlaEFi5+euyRuEKK5HwKJWPmFkdvFhdIYgg=";
};
buildInputs = [
ocaml
findlib
ocamlbuild
topkg
];
propagatedBuildInputs = [
js_of_ocaml-compiler
js_of_ocaml-toplevel
];
inherit (topkg) buildPhase installPhase;
meta = {
homepage = "https://erratique.ch/software/brr";
description = "Toolkit for programming browsers in OCaml";
license = lib.licenses.isc;
maintainers = [ lib.maintainers.vbgl ];
inherit (ocaml.meta) platforms;
};
}

View File

@@ -0,0 +1,24 @@
{
fetchurl,
buildDunePackage,
lib,
}:
buildDunePackage rec {
pname = "bstr";
version = "0.0.2";
minimalOCamlVersion = "4.13";
src = fetchurl {
url = "https://github.com/robur-coop/bstr/releases/download/v${version}/bstr-${version}.tbz";
hash = "sha256-/zvzCBzT014OesTmxGBDB98ZRU++YNDLUZ8uaDK3keM=";
};
meta = {
description = "A simple library for bigstrings";
homepage = "https://git.robur.coop/robur/bstr";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
fetchFromGitHub,
buildDunePackage,
qcheck-core,
}:
buildDunePackage rec {
pname = "bwd";
version = "2.3.0";
minimalOCamlVersion = "4.12";
duneVersion = "3";
src = fetchFromGitHub {
owner = "RedPRL";
repo = "ocaml-bwd";
rev = version;
hash = "sha256-rzn0U/D6kPNsH5hBTElc3d1jfKbgKbjA2JHicpaJtu4=";
};
doCheck = true;
checkInputs = [ qcheck-core ];
meta = {
description = "Backward Lists";
homepage = "https://github.com/RedPRL/ocaml-bwd";
changelog = "https://github.com/RedPRL/ocaml-bwd/blob/${version}/CHANGELOG.markdown";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,48 @@
{
lib,
fetchzip,
libblake3,
libmd,
xxHash,
zlib,
zstd,
buildTopkgPackage,
}:
buildTopkgPackage rec {
pname = "bytesrw";
version = "0.2.0";
minimalOCamlVersion = "4.14.0";
src = fetchzip {
url = "https://erratique.ch/software/bytesrw/releases/bytesrw-${version}.tbz";
hash = "sha256-DMQXclJV5uz/2a6XVHVnBkYgXpGRI83uzmzeed3fDxQ=";
};
# docs say these are optional, but buildTopkgPackage doesnt handle missing
# dependencies
buildInputs = [
libblake3
libmd
xxHash
zlib
zstd
];
meta = {
description = "Composable, memory efficient, byte stream readers and writers compatible with effect-based concurrency";
longDescription = ''
Bytesrw extends the OCaml Bytes module with composable, memory efficient,
byte stream readers and writers compatible with effect-based concurrency.
Except for byte slice life-times, these abstractions intentionnaly
separate away ressource management and the specifics of reading and
writing bytes.
'';
homepage = "https://erratique.ch/software/bytesrw";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ toastal ];
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
buildDunePackage,
fetchurl,
ppxlib,
rio,
sedlex,
spices,
uutf,
qcheck,
}:
buildDunePackage rec {
pname = "bytestring";
version = "0.0.8";
minimalOCamlVersion = "5.1";
src = fetchurl {
url = "https://github.com/riot-ml/riot/releases/download/${version}/riot-${version}.tbz";
hash = "sha256-SsiDz53b9bMIT9Q3IwDdB3WKy98WSd9fiieU41qZpeE=";
};
propagatedBuildInputs = [
ppxlib
sedlex
spices
rio
uutf
];
checkInputs = [
qcheck
];
# Checks fail with OCaml 5.2
doCheck = false;
meta = {
description = "Efficient, immutable, pattern-matchable, UTF friendly byte strings";
homepage = "https://github.com/riot-ml/riot";
license = lib.licenses.mit;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitLab,
ocaml,
findlib,
bzip2,
autoreconfHook,
}:
if lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0" then
throw "bz2 is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-bz2";
version = "0.7.0";
src = fetchFromGitLab {
owner = "irill";
repo = "camlbz2";
rev = version;
sha256 = "sha256-jBFEkLN2fbC3LxTu7C0iuhvNg64duuckBHWZoBxrV/U=";
};
autoreconfFlags = [
"-I"
"."
];
nativeBuildInputs = [
autoreconfHook
ocaml
findlib
];
propagatedBuildInputs = [
bzip2
];
strictDeps = true;
preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs";
meta = with lib; {
description = "OCaml bindings for the libbz2 (AKA, bzip2) (de)compression library";
downloadPage = "https://gitlab.com/irill/camlbz2";
license = licenses.lgpl21;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
buildDunePackage,
fetchurl,
digestif,
mirage-ptime,
x509,
logs,
fmt,
bos,
cmdliner,
alcotest,
}:
buildDunePackage rec {
pname = "ca-certs-nss";
version = "3.115";
minimalOCamlVersion = "4.13";
src = fetchurl {
url = "https://github.com/mirage/ca-certs-nss/releases/download/v${version}/ca-certs-nss-${version}.tbz";
hash = "sha256-cjjvrekr6i7aEj0Ne/+Jhgdi7lf89xh07FlHuS5nOA8=";
};
propagatedBuildInputs = [
mirage-ptime
x509
digestif
];
buildInputs = [
logs
fmt
bos
cmdliner
];
doCheck = true;
checkInputs = [ alcotest ];
meta = with lib; {
description = "X.509 trust anchors extracted from Mozilla's NSS";
homepage = "https://github.com/mirage/ca-certs-nss";
license = licenses.isc;
maintainers = [ maintainers.sternenseemann ];
mainProgram = "extract-from-certdata";
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
buildDunePackage,
fetchurl,
bos,
fpath,
ptime,
mirage-crypto,
x509,
astring,
logs,
cacert,
alcotest,
fmt,
}:
buildDunePackage rec {
pname = "ca-certs";
version = "1.0.1";
minimalOCamlVersion = "4.08";
src = fetchurl {
url = "https://github.com/mirage/ca-certs/releases/download/v${version}/ca-certs-${version}.tbz";
hash = "sha256-0818j1SLrs7yCNQlh3qBHYmOx9HZxL3qb3hlLHyDYcw=";
};
propagatedBuildInputs = [
bos
fpath
ptime
mirage-crypto
x509
astring
logs
];
doCheck = true;
checkInputs = [
cacert # for /etc/ssl/certs/ca-bundle.crt
alcotest
fmt
];
meta = with lib; {
description = "Detect root CA certificates from the operating system";
maintainers = [ maintainers.sternenseemann ];
license = licenses.isc;
homepage = "https://github.com/mirage/ca-certs";
};
}

View File

@@ -0,0 +1,30 @@
{
lib,
fetchurl,
buildDunePackage,
alcotest,
}:
buildDunePackage (finalAttrs: {
pname = "cachet";
version = "0.0.2";
minimalOCamlVersion = "4.13";
src = fetchurl {
url = "https://github.com/robur-coop/cachet/releases/download/v${finalAttrs.version}/cachet-${finalAttrs.version}.tbz";
hash = "sha256:7cf3d609523592516ee5570c106756168d9dca264412a0ef4085d9864c53cbad";
};
doCheck = true;
checkInputs = [
alcotest
];
meta = {
description = "A simple cache system for mmap";
homepage = "https://git.robur.coop/robur/cachet";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
};
})

View File

@@ -0,0 +1,21 @@
{
buildDunePackage,
cachet,
lwt,
alcotest,
}:
buildDunePackage {
pname = "cachet-lwt";
inherit (cachet) src version;
propagatedBuildInputs = [
cachet
lwt
];
doCheck = true;
checkInputs = [ alcotest ];
meta = cachet.meta // {
description = "A simple cache system for mmap and lwt";
};
}

View File

@@ -0,0 +1,52 @@
{
stdenv,
lib,
fetchurl,
buildDunePackage,
ocaml,
dune-configurator,
pkg-config,
cairo,
}:
buildDunePackage rec {
pname = "cairo2";
version = "0.6.5";
src = fetchurl {
url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
sha256 = "sha256-JdxByUNtmrz1bKrZoQWUT/c0YEG4zGoqZUq4hItlc3I=";
};
minimalOCamlVersion = "4.02";
useDune2 = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
cairo
dune-configurator
];
doCheck =
!(
stdenv.hostPlatform.isDarwin
# https://github.com/Chris00/ocaml-cairo/issues/19
|| lib.versionAtLeast ocaml.version "4.10"
);
meta = with lib; {
homepage = "https://github.com/Chris00/ocaml-cairo";
description = "Binding to Cairo, a 2D Vector Graphics Library";
longDescription = ''
This is a binding to Cairo, a 2D graphics library with support for
multiple output devices. Currently supported output targets include
the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
and SVG file output.
'';
license = licenses.lgpl3;
maintainers = with maintainers; [
jirkamarsik
vbgl
];
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
re,
}:
buildDunePackage rec {
pname = "calendar";
version = "3.0.0";
minimalOCamlVersion = "4.03";
src = fetchFromGitHub {
owner = "ocaml-community";
repo = pname;
rev = "v${version}";
sha256 = "sha256-+VQzi6pEMqzV1ZR84Yjdu4jsJEWtx+7bd6PQGX7TiEs=";
};
propagatedBuildInputs = [ re ];
meta = {
inherit (src.meta) homepage;
description = "Library for handling dates and times";
license = lib.licenses.lgpl21Plus;
maintainers = [ lib.maintainers.gal_bolle ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
buildDunePackage,
fetchurl,
alcotest,
eqaf,
fmt,
}:
buildDunePackage rec {
pname = "callipyge";
version = "0.2";
src = fetchurl {
url = "https://github.com/oklm-wsh/Callipyge/releases/download/v${version}/${pname}-${version}.tbz";
hash = "sha256-T/94a88xvK51TggjXecdKc9kyTE9aIyueIt5T24sZB0=";
};
duneVersion = "3";
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [
fmt
eqaf
];
doCheck = true;
checkInputs = [ alcotest ];
meta = {
homepage = "https://github.com/oklm-wsh/Callipyge";
description = "Curve25519 in OCaml";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fufexan ];
};
}

View File

@@ -0,0 +1,36 @@
{
buildDunePackage,
fetchFromGitHub,
fetchpatch,
lib,
}:
let
pname = "camlgpc";
version = "1.2";
in
buildDunePackage {
inherit pname version;
src = fetchFromGitHub {
owner = "johnwhitington";
repo = pname;
rev = "v${version}";
hash = "sha256-+Dx8BuRlxb8xh41jHskrNcKGV/HgedauLt1vo1tADHw=";
};
patches = [
(fetchpatch {
name = "camlgpc-pr-5-switch-to-dune";
url = "https://github.com/johnwhitington/camlgpc/pull/5.diff";
hash = "sha256-znm+mX60RwYNCYXwm9HYCO8BRbzUM0Bm6dI1f1FzncA=";
})
];
propagatedBuildInputs = [ ];
doCheck = true;
checkInputs = [ ];
meta = {
description = "OCaml interface to Alan Murta's General Polygon Clipper";
homepage = "https://github.com/johnwhitington/camlgpc";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vog ];
};
}

View File

@@ -0,0 +1,77 @@
diff --git a/config/xConfigurator.ml b/config/xConfigurator.ml
index 766a35c..1d1aff5 100644
--- a/config/xConfigurator.ml
+++ b/config/xConfigurator.ml
@@ -8,7 +8,7 @@ let (!%) fmt = Printf.sprintf fmt
module Configurator = struct
include Configurator.V1
- let ( ^/ ) = Caml.Filename.concat
+ let ( ^/ ) = Stdlib.Filename.concat
let path_sep =
if Sys.win32 then
@@ -19,7 +19,7 @@ module Configurator = struct
let exe = if Sys.win32 then ".exe" else ""
let get_path () =
- match Caml.Sys.getenv "PATH" with
+ match Stdlib.Sys.getenv "PATH" with
| exception Not_found -> []
| s -> String.split ~on:path_sep s
@@ -27,7 +27,7 @@ module Configurator = struct
List.find_map dirs ~f:(fun dir ->
List.find_map bases ~f:(fun base ->
let path = dir ^/ base in
- if Caml.Sys.file_exists path then Some path else None))
+ if Stdlib.Sys.file_exists path then Some path else None))
let find_program prog =
let prog = prog ^ exe in
@@ -45,13 +45,13 @@ module Configurator = struct
| s ->
(* findlib 1.7.3 installs META file for graphics
even when there is no graphics library installed. *)
- let dest = Caml.Filename.temp_file "test" ".cma" in
- let res = match Caml.Sys.command & !% "ocamlfind ocamlc -package %s -o %s -linkpkg" n dest with
+ let dest = Stdlib.Filename.temp_file "test" ".cma" in
+ let res = match Stdlib.Sys.command & !% "ocamlfind ocamlc -package %s -o %s -linkpkg" n dest with
| 0 -> Some s
| _ -> None
| exception _ -> None
in
- (try Caml.Sys.remove dest with _ -> ());
+ (try Stdlib.Sys.remove dest with _ -> ());
res
| exception Findlib.No_such_package _ -> None
@@ -83,14 +83,14 @@ type item =
module Make(A : sig val name : string end) = struct
let t = create A.name
- let log fmt = Caml.Format.eprintf fmt
+ let log fmt = Stdlib.Format.eprintf fmt
module Package_conf = Package_conf
open Package_conf
let extract_package_conf xs =
- Caml.List.fold_left merge empty
- (Caml.List.map (fun item -> match item with
+ Stdlib.List.fold_left merge empty
+ (Stdlib.List.map (fun item -> match item with
| Library (Some pkc) -> pkc
| _ -> empty) xs)
@@ -167,8 +167,8 @@ module Make(A : sig val name : string end) = struct
let by_cc ~c_flags ~link_flags ~headers ~functions:fnames () =
log "Checking library %s by using C compiler... " (String.concat ~sep:" " link_flags);
let headers = "stdio.h" :: headers in
- let includes = Caml.List.map (!% "#include <%s>") headers in
- let fcalls = Caml.List.map (!% " ( (void(*)()) (%s) )();") fnames in
+ let includes = Stdlib.List.map (!% "#include <%s>") headers in
+ let fcalls = Stdlib.List.map (!% " ( (void(*)()) (%s) )();") fnames in
let code =
String.concat ~sep:"\n"
& includes

View File

@@ -0,0 +1,48 @@
{
lib,
fetchFromGitLab,
buildDunePackage,
findlib,
dune-configurator,
cppo,
graphics,
lablgtk,
stdio,
}:
buildDunePackage rec {
pname = "camlimages";
version = "5.0.5";
minimalOCamlVersion = "4.07";
src = fetchFromGitLab {
owner = "camlspotter";
repo = pname;
rev = version;
hash = "sha256-/Dkj8IBVPjGCJCXrLOuJtuaa+nD/a9e8/N+TN9ukw4k=";
};
# stdio v0.17 compatibility
patches = [ ./camlimages.patch ];
nativeBuildInputs = [ cppo ];
buildInputs = [
dune-configurator
findlib
graphics
lablgtk
stdio
];
meta = with lib; {
branch = "5.0";
inherit (src.meta) homepage;
description = "OCaml image processing library";
license = licenses.lgpl2;
maintainers = [
maintainers.vbgl
maintainers.mt-caret
];
};
}

View File

@@ -0,0 +1,24 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
}:
buildDunePackage rec {
pname = "camlp-streams";
version = "5.0.1";
src = fetchFromGitHub {
owner = "ocaml";
repo = pname;
rev = "v${version}";
sha256 = "sha256-kHuFBqu0mjFv53sOtmFZcX2reo5ToaOpItP7P53bfGQ=";
};
meta = {
description = "Stream and Genlex libraries for use with Camlp4 and Camlp5";
license = lib.licenses.lgpl21Only;
maintainers = [ lib.maintainers.vbgl ];
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchFromGitHub,
ocaml,
findlib,
}:
if lib.versionOlder ocaml.version "4.10" then
throw "camlpdf is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
version = "2.8";
pname = "ocaml${ocaml.version}-camlpdf";
src = fetchFromGitHub {
owner = "johnwhitington";
repo = "camlpdf";
rev = "v${version}";
hash = "sha256-+SFuFqlrP0nwm199y0QFWYvlwD+Cbh0PHA5bmXIWdNk=";
};
nativeBuildInputs = [
ocaml
findlib
];
strictDeps = true;
preInstall = ''
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
'';
meta = with lib; {
description = "OCaml library for reading, writing and modifying PDF files";
homepage = "https://github.com/johnwhitington/camlpdf";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ vbgl ];
};
}

View File

@@ -0,0 +1,6 @@
version="@VERSION@"
description="reading and writing ZIP, JAR and GZIP files"
requires="unix"
archive(byte)="zip.cma"
archive(native)="zip.cmxa"
linkopts = ""

View File

@@ -0,0 +1,100 @@
{
lib,
stdenv,
fetchurl,
zlib,
ocaml,
findlib,
}:
let
common = {
patches = [ ];
postPatchInit = ''
cp META-zip META-camlzip
echo 'directory="../zip"' >> META-camlzip
'';
};
param =
if lib.versionAtLeast ocaml.version "4.07" then
common
// {
version = "1.11";
url = "https://github.com/xavierleroy/camlzip/archive/rel111.tar.gz";
sha256 = "sha256-/7vF3j4cE9wOWScjdtIy0u3pGzJ1UQY9R/3bdPHV7Tc=";
}
else if lib.versionAtLeast ocaml.version "4.02" then
common
// {
version = "1.10";
url = "https://github.com/xavierleroy/camlzip/archive/rel110.tar.gz";
sha256 = "X0YcczaQ3lFeJEiTIgjSSZ1zi32KFMtmZsP0FFpyfbI=";
}
else
{
version = "1.05";
download_id = "1037";
url = "http://forge.ocamlcore.org/frs/download.php/${param.download_id}/camlzip-${param.version}.tar.gz";
sha256 = "930b70c736ab5a7ed1b05220102310a0a2241564786657abe418e834a538d06b";
patches = [ ./makefile_1_05.patch ];
postPatchInit = ''
substitute ${./META} META --subst-var-by VERSION "${param.version}"
'';
};
in
stdenv.mkDerivation {
pname = "ocaml${ocaml.version}-camlzip";
version = param.version;
src = fetchurl {
inherit (param) url;
inherit (param) sha256;
};
nativeBuildInputs = [
ocaml
findlib
];
propagatedBuildInputs = [ zlib ];
strictDeps = true;
inherit (param) patches;
postPatch = param.postPatchInit + ''
substituteInPlace Makefile \
--subst-var-by ZLIB_LIBDIR "${zlib.out}/lib" \
--subst-var-by ZLIB_INCLUDE "${zlib.dev}/include"
'';
buildFlags = [
"all"
"allopt"
];
preInstall = ''
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
'';
postInstall = ''
ln -s $out/lib/ocaml/${ocaml.version}/site-lib/{,caml}zip
'';
meta = with lib; {
homepage = "http://cristal.inria.fr/~xleroy/software.html#camlzip";
description = "Library for handling ZIP and GZIP files in OCaml";
longDescription = ''
This Objective Caml library provides easy access to compressed files in
ZIP and GZIP format, as well as to Java JAR files. It provides functions
for reading from and writing to compressed files in these formats.
'';
license = with lib.licenses; [
lgpl21Plus
ocamlLgplLinkingException
];
inherit (ocaml.meta) platforms;
maintainers = with maintainers; [ maggesi ];
};
}

View File

@@ -0,0 +1,54 @@
diff -Nuar camlzip-1.04/Makefile camlzip-1.04.nixpkgs/Makefile
--- camlzip-1.04/Makefile 2002-04-22 17:28:57.000000000 +0200
+++ camlzip-1.04.nixpkgs/Makefile 2010-12-12 18:30:49.000000000 +0100
@@ -4,14 +4,10 @@
ZLIB_LIB=-lz
# The directory containing the Zlib library (libz.a or libz.so)
-ZLIB_LIBDIR=/usr/local/lib
+ZLIB_LIBDIR=@ZLIB_LIBDIR@
# The directory containing the Zlib header file (zlib.h)
-ZLIB_INCLUDE=/usr/local/include
-
-# Where to install the library. By default: sub-directory 'zip' of
-# OCaml's standard library directory.
-INSTALLDIR=`$(OCAMLC) -where`/zip
+ZLIB_INCLUDE=@ZLIB_INCLUDE@
### End of configuration section
@@ -19,10 +15,13 @@
OCAMLOPT=ocamlopt
OCAMLDEP=ocamldep
OCAMLMKLIB=ocamlmklib
+OCAMLFIND=ocamlfind
OBJS=zlib.cmo zip.cmo gzip.cmo
C_OBJS=zlibstubs.o
+LIBINSTALL_FILES = $(wildcard *.mli *.cmi *.cma *.cmxa *.a *.so)
+
all: libcamlzip.a zip.cma
allopt: libcamlzip.a zip.cmxa
@@ -55,18 +54,7 @@
rm -f *.o *.a
install:
- mkdir -p $(INSTALLDIR)
- cp zip.cma zip.cmi gzip.cmi zip.mli gzip.mli libcamlzip.a $(INSTALLDIR)
- if test -f dllcamlzip.so; then \
- cp dllcamlzip.so $(INSTALLDIR); \
- ldconf=`$(OCAMLC) -where`/ld.conf; \
- installdir=$(INSTALLDIR); \
- if test `grep -s -c $$installdir'$$' $$ldconf || :` = 0; \
- then echo $$installdir >> $$ldconf; fi \
- fi
-
-installopt:
- cp zip.cmxa zip.a zip.cmx gzip.cmx $(INSTALLDIR)
+ $(OCAMLFIND) install zip META $(LIBINSTALL_FILES)
depend:
gcc -MM -I$(ZLIB_INCLUDE) *.c > .depend

View File

@@ -0,0 +1,46 @@
{
stdenv,
lib,
fetchurl,
fetchpatch,
ocaml,
findlib,
camlp4,
}:
stdenv.mkDerivation {
pname = "camomile";
version = "0.8.5";
src = fetchurl {
url = "https://github.com/yoriyuki/Camomile/releases/download/rel-0.8.5/camomile-0.8.5.tar.bz2";
sha256 = "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045";
};
patches = [
(fetchpatch {
url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/camomile/camomile.0.8.5/files/4.05-typing-fix.patch";
sha256 = "167279lia6qx62mdcyc5rjsi4gf4yi52wn9mhgd9y1v3754z7fwb";
})
];
nativeBuildInputs = [
ocaml
findlib
camlp4
];
strictDeps = true;
createFindlibDestdir = true;
meta = {
homepage = "https://github.com/yoriyuki/Camomile/tree/master/Camomile";
description = "Comprehensive Unicode library for OCaml";
license = lib.licenses.lgpl21;
inherit (ocaml.meta) platforms;
maintainers = [
lib.maintainers.maggesi
];
};
}

View File

@@ -0,0 +1,72 @@
{
stdenv,
lib,
darwin,
fetchFromGitHub,
buildDunePackage,
ocaml,
cppo,
camlp-streams,
dune-site,
version ? if lib.versionAtLeast ocaml.version "4.08" then "2.0.0" else "1.0.2",
}:
let
params = {
"1.0.2" =
lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
"camomile 1 is not available for OCaml ${ocaml.version}"
{
src = fetchFromGitHub {
owner = "yoriyuki";
repo = "camomile";
rev = version;
sha256 = "00i910qjv6bpk0nkafp5fg97isqas0bwjf7m6rz11rsxilpalzad";
};
nativeBuildInputs = [ cppo ];
configurePhase = ''
runHook preConfigure
ocaml configure.ml --share $out/share/camomile
runHook postConfigure
'';
postInstall = ''
echo "version = \"${version}\"" >> $out/lib/ocaml/${ocaml.version}/site-lib/camomile/META
'';
};
"2.0.0" = {
src = fetchFromGitHub {
owner = "ocaml-community";
repo = "camomile";
rev = "v${version}";
hash = "sha256-HklX+VPD0Ta3Knv++dBT2rhsDSlDRH90k4Cj1YtWIa8=";
};
nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.sigtool;
propagatedBuildInputs = [
camlp-streams
dune-site
];
};
};
in
buildDunePackage (
params."${version}"
// {
pname = "camomile";
inherit version;
meta = {
homepage = "https://github.com/ocaml-community/Camomile";
maintainers = [ lib.maintainers.vbgl ];
license = lib.licenses.lgpl21;
description = "Unicode library for OCaml";
};
}
)

View File

@@ -0,0 +1,57 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
base_quickcheck ? null,
capnproto,
ocplib-endian,
ounit2,
res,
result,
stdint,
stdio,
}:
buildDunePackage rec {
pname = "capnp";
version = "3.6.0";
minimalOCamlVersion = "4.08";
src = fetchFromGitHub {
owner = "capnproto";
repo = "capnp-ocaml";
rev = "v${version}";
hash = "sha256-G4B1llsHnGcuGIarDB248QMaRBvS47IEQB5B93wY7nA=";
};
nativeBuildInputs = [
capnproto
];
buildInputs = [
stdio
];
propagatedBuildInputs = [
ocplib-endian
res
result
stdint
];
checkInputs = [
base_quickcheck
ounit2
];
doCheck = true;
meta = {
description = "OCaml code generation plugin for the Cap'n Proto serialization framework";
homepage = "https://github.com/capnproto/capnp-ocaml";
changelog = "https://github.com/capnproto/capnp-ocaml/blob/${version}/CHANGES.md";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ sixstring982 ];
};
}

View File

@@ -0,0 +1,25 @@
{
buildDunePackage,
async_kernel,
async_unix,
caqti,
core_kernel,
}:
buildDunePackage {
pname = "caqti-async";
inherit (caqti) version src;
minimalOCamlVersion = "5.0";
propagatedBuildInputs = [
async_kernel
async_unix
caqti
core_kernel
];
meta = caqti.meta // {
description = "Async support for Caqti";
};
}

View File

@@ -0,0 +1,59 @@
{
lib,
fetchurl,
buildDunePackage,
angstrom,
bigstringaf,
domain-name,
dune-site,
ipaddr,
logs,
lru,
lwt-dllist,
mtime,
ptime,
uri,
stdenv,
darwin,
}:
buildDunePackage rec {
pname = "caqti";
version = "2.2.4";
minimalOCamlVersion = "4.08";
src = fetchurl {
url = "https://github.com/paurkedal/ocaml-caqti/releases/download/v${version}/caqti-v${version}.tbz";
hash = "sha256-uOpDKCAVTsCVEyxPeyRLBs2FU+CyA1GFuETZxPMK+Ls=";
};
buildInputs = [ dune-site ];
propagatedBuildInputs = [
angstrom
bigstringaf
domain-name
ipaddr
logs
lru
lwt-dllist
mtime
ptime
uri
];
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool ];
# Checks depend on caqti-driver-sqlite3 (circural dependency)
doCheck = false;
meta = {
description = "Unified interface to relational database libraries";
license = with lib.licenses; [
lgpl3Plus
ocamlLgplLinkingException
];
maintainers = with lib.maintainers; [ bcc32 ];
homepage = "https://github.com/paurkedal/ocaml-caqti";
};
}

View File

@@ -0,0 +1,19 @@
{
buildDunePackage,
caqti,
mariadb,
}:
buildDunePackage {
pname = "caqti-driver-mariadb";
inherit (caqti) version src;
propagatedBuildInputs = [
caqti
mariadb
];
meta = caqti.meta // {
description = "MariaDB driver for Caqti using C bindings";
};
}

View File

@@ -0,0 +1,19 @@
{
buildDunePackage,
caqti,
postgresql,
}:
buildDunePackage {
pname = "caqti-driver-postgresql";
inherit (caqti) version src;
propagatedBuildInputs = [
caqti
postgresql
];
meta = caqti.meta // {
description = "PostgreSQL driver for Caqti based on C bindings";
};
}

View File

@@ -0,0 +1,28 @@
{
buildDunePackage,
caqti,
ocaml_sqlite3,
alcotest,
dune-site,
}:
buildDunePackage {
pname = "caqti-driver-sqlite3";
inherit (caqti) version src;
propagatedBuildInputs = [
caqti
ocaml_sqlite3
];
checkInputs = [
alcotest
dune-site
];
doCheck = true;
meta = caqti.meta // {
description = "Sqlite3 driver for Caqti using C bindings";
};
}

View File

@@ -0,0 +1,19 @@
{
buildDunePackage,
caqti,
findlib,
}:
buildDunePackage {
pname = "caqti-dynload";
inherit (caqti) version src;
propagatedBuildInputs = [
caqti
findlib
];
meta = caqti.meta // {
description = "Dynamic linking of Caqti drivers using findlib.dynload";
};
}

View File

@@ -0,0 +1,23 @@
{
buildDunePackage,
caqti,
logs,
eio,
}:
buildDunePackage {
pname = "caqti-eio";
inherit (caqti) version src;
minimalOCamlVersion = "5.1";
propagatedBuildInputs = [
caqti
logs
eio
];
meta = caqti.meta // {
description = "Eio support for Caqti";
};
}

View File

@@ -0,0 +1,21 @@
{
buildDunePackage,
caqti,
logs,
lwt,
}:
buildDunePackage {
pname = "caqti-lwt";
inherit (caqti) version src;
propagatedBuildInputs = [
caqti
logs
lwt
];
meta = caqti.meta // {
description = "Lwt support for Caqti";
};
}

View File

@@ -0,0 +1,19 @@
{
buildDunePackage,
calendar,
caqti,
}:
buildDunePackage {
pname = "caqti-type-calendar";
inherit (caqti) src version;
propagatedBuildInputs = [
calendar
caqti
];
meta = caqti.meta // {
description = "Date and time field types using the calendar library";
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/bin/fiber/fiber.ml b/bin/fiber/fiber.ml
index 188a92cc9..6087a8687 100644
--- a/bin/fiber/fiber.ml
+++ b/bin/fiber/fiber.ml
@@ -129,7 +129,7 @@ let worker pool =
let get_concurrency () =
try
- let ic = Unix.open_process_in "getconf _NPROCESSORS_ONLN" in
+ let ic = Unix.open_process_in "@getconf@/bin/getconf _NPROCESSORS_ONLN" in
let close () = ignore (Unix.close_process_in ic) in
let sc = Scanf.Scanning.from_channel ic in
try

View File

@@ -0,0 +1,96 @@
{
lib,
buildDunePackage,
fetchurl,
ke,
duff,
decompress,
cstruct,
optint,
bigstringaf,
checkseum,
logs,
psq,
fmt,
result,
rresult,
fpath,
base64,
bos,
digestif,
alcotest,
crowbar,
alcotest-lwt,
lwt,
findlib,
mirage-flow,
cmdliner,
hxd,
getconf,
replaceVars,
}:
buildDunePackage rec {
pname = "carton";
version = "0.7.0";
minimalOCamlVersion = "4.08";
src = fetchurl {
url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/git-${pname}-v${version}.tbz";
hash = "sha256-vWkBJdP4ZpRCEwzrFMzsdHay4VyiXix/+1qzk+7yDvk=";
};
patches = [
(replaceVars ./carton-find-getconf.patch {
getconf = "${getconf}";
})
];
# remove changelogs for mimic and the git* packages
postPatch = ''
rm CHANGES.md
'';
buildInputs = [
cmdliner
digestif
result
rresult
fpath
bos
hxd
];
propagatedBuildInputs = [
ke
duff
decompress
cstruct
optint
bigstringaf
checkseum
logs
psq
fmt
];
doCheck = true;
nativeBuildInputs = [
findlib
];
checkInputs = [
base64
alcotest
alcotest-lwt
crowbar
lwt
mirage-flow
];
meta = with lib; {
description = "Implementation of PACKv2 file in OCaml";
license = licenses.mit;
homepage = "https://github.com/mirage/ocaml-git";
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@@ -0,0 +1,33 @@
{
buildDunePackage,
carton,
carton-lwt,
bigstringaf,
lwt,
fpath,
result,
fmt,
decompress,
astring,
}:
buildDunePackage {
pname = "carton-git";
inherit (carton) version src postPatch;
duneVersion = "3";
propagatedBuildInputs = [
carton
carton-lwt
bigstringaf
lwt
fpath
result
fmt
decompress
astring
];
inherit (carton) meta;
}

View File

@@ -0,0 +1,65 @@
{
buildDunePackage,
carton,
lwt,
decompress,
optint,
bigstringaf,
alcotest,
alcotest-lwt,
cstruct,
fmt,
logs,
mirage-flow,
result,
rresult,
ke,
base64,
bos,
checkseum,
digestif,
fpath,
stdlib-shims,
git-binary, # pkgs.git
}:
buildDunePackage {
pname = "carton-lwt";
inherit (carton) version src postPatch;
duneVersion = "3";
propagatedBuildInputs = [
carton
lwt
decompress
optint
bigstringaf
];
# Tests fail with git 2.41
# see https://github.com/mirage/ocaml-git/issues/617
doCheck = false;
nativeCheckInputs = [
git-binary
];
checkInputs = [
alcotest
alcotest-lwt
cstruct
fmt
logs
mirage-flow
result
rresult
ke
base64
bos
checkseum
digestif
fpath
stdlib-shims
];
inherit (carton) meta;
}

Some files were not shown because too many files have changed in this diff Show More