uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
39
pkgs/development/ocaml-modules/afl-persistent/default.nix
Normal file
39
pkgs/development/ocaml-modules/afl-persistent/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ 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";
|
||||
};
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
28
pkgs/development/ocaml-modules/alcotest/default.nix
Normal file
28
pkgs/development/ocaml-modules/alcotest/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, buildDunePackage, fetchurl
|
||||
, astring, cmdliner, fmt, uuidm, re, stdlib-shims, uutf, ocaml-syntax-shims
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "alcotest";
|
||||
version = "1.5.0";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/alcotest/releases/download/${version}/alcotest-js-${version}.tbz";
|
||||
sha256 = "sha256-VCgZB+AteJld8kbcLhDtGCgoKUrSBZNHoeOhM1SEj2w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml-syntax-shims ];
|
||||
|
||||
propagatedBuildInputs = [ astring cmdliner fmt uuidm re stdlib-shims uutf ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/mirage/alcotest";
|
||||
description = "A lightweight and colourful test framework";
|
||||
license = licenses.isc;
|
||||
maintainers = [ maintainers.ericbmerritt ];
|
||||
};
|
||||
}
|
||||
19
pkgs/development/ocaml-modules/alcotest/lwt.nix
Normal file
19
pkgs/development/ocaml-modules/alcotest/lwt.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ lib, buildDunePackage, alcotest, logs, ocaml_lwt, fmt
|
||||
, re, cmdliner
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "alcotest-lwt";
|
||||
|
||||
inherit (alcotest) version src useDune2;
|
||||
|
||||
propagatedBuildInputs = [ alcotest logs ocaml_lwt fmt ];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ re cmdliner ];
|
||||
|
||||
meta = alcotest.meta // {
|
||||
description = "Lwt-based helpers for Alcotest";
|
||||
};
|
||||
|
||||
}
|
||||
16
pkgs/development/ocaml-modules/alcotest/mirage.nix
Normal file
16
pkgs/development/ocaml-modules/alcotest/mirage.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ lib, buildDunePackage, alcotest, lwt, logs, mirage-clock, duration }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "alcotest-mirage";
|
||||
|
||||
inherit (alcotest) version src useDune2;
|
||||
|
||||
propagatedBuildInputs = [ alcotest lwt logs mirage-clock duration ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = alcotest.meta // {
|
||||
description = "Mirage implementation for Alcotest";
|
||||
maintainers = with lib.maintainers; [ ulrikstrid anmonteiro ];
|
||||
};
|
||||
}
|
||||
25
pkgs/development/ocaml-modules/alsa/default.nix
Normal file
25
pkgs/development/ocaml-modules/alsa/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ 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 ];
|
||||
};
|
||||
}
|
||||
19
pkgs/development/ocaml-modules/angstrom-async/default.nix
Normal file
19
pkgs/development/ocaml-modules/angstrom-async/default.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, angstrom, async }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "angstrom-async";
|
||||
|
||||
inherit (angstrom) version useDune2 src;
|
||||
|
||||
minimumOCamlVersion = "4.04.1";
|
||||
|
||||
propagatedBuildInputs = [ angstrom async ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
inherit (angstrom.meta) homepage license;
|
||||
description = "Async support for Angstrom";
|
||||
maintainers = with lib.maintainers; [ romildo ];
|
||||
};
|
||||
}
|
||||
19
pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix
Normal file
19
pkgs/development/ocaml-modules/angstrom-lwt-unix/default.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, angstrom, ocaml_lwt }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "angstrom-lwt-unix";
|
||||
|
||||
inherit (angstrom) version useDune2 src;
|
||||
|
||||
minimumOCamlVersion = "4.03";
|
||||
|
||||
propagatedBuildInputs = [ angstrom ocaml_lwt ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
inherit (angstrom.meta) homepage license;
|
||||
description = "Lwt_unix support for Angstrom";
|
||||
maintainers = with lib.maintainers; [ romildo ];
|
||||
};
|
||||
}
|
||||
19
pkgs/development/ocaml-modules/angstrom-unix/default.nix
Normal file
19
pkgs/development/ocaml-modules/angstrom-unix/default.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, angstrom }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "angstrom-unix";
|
||||
|
||||
inherit (angstrom) version useDune2 src;
|
||||
|
||||
minimumOCamlVersion = "4.03";
|
||||
|
||||
propagatedBuildInputs = [ angstrom ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
inherit (angstrom.meta) homepage license;
|
||||
description = "Unix support for Angstrom";
|
||||
maintainers = with lib.maintainers; [ romildo ];
|
||||
};
|
||||
}
|
||||
28
pkgs/development/ocaml-modules/angstrom/default.nix
Normal file
28
pkgs/development/ocaml-modules/angstrom/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, ocaml, ocaml-syntax-shims, alcotest, result, bigstringaf, ppx_let }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "angstrom";
|
||||
version = "0.15.0";
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "inhabitedtype";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1hmrkdcdlkwy7rxhngf3cv3sa61cznnd9p5lmqhx20664gx2ibrh";
|
||||
};
|
||||
|
||||
checkInputs = [ alcotest ppx_let ];
|
||||
buildInputs = [ ocaml-syntax-shims ];
|
||||
propagatedBuildInputs = [ bigstringaf result ];
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.05";
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
29
pkgs/development/ocaml-modules/ansiterminal/default.nix
Normal file
29
pkgs/development/ocaml-modules/ansiterminal/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, buildDunePackage, fetchFromGitHub }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "ANSITerminal";
|
||||
version = "0.8.2";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Chris00";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0dyjischrgwlxqz1p5zbqq76jvk6pl1qj75i7ydhijssr9pj278d";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A 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).
|
||||
'';
|
||||
inherit (src.meta) homepage;
|
||||
license = licenses.lgpl3;
|
||||
maintainers = [ maintainers.jirkamarsik ];
|
||||
};
|
||||
}
|
||||
23
pkgs/development/ocaml-modules/ao/default.nix
Normal file
23
pkgs/development/ocaml-modules/ao/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ 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 ];
|
||||
};
|
||||
}
|
||||
42
pkgs/development/ocaml-modules/apron/default.nix
Normal file
42
pkgs/development/ocaml-modules/apron/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ stdenv, lib, fetchFromGitHub, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml${ocaml.version}-apron";
|
||||
version = "0.9.13";
|
||||
src = fetchFromGitHub {
|
||||
owner = "antoinemine";
|
||||
repo = "apron";
|
||||
rev = "v${version}";
|
||||
sha256 = "14ymjahqdxj26da8wik9d5dzlxn81b3z1iggdl7rn2nn06jy7lvy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib perl ];
|
||||
buildInputs = [ gmp mpfr ppl camlidl ];
|
||||
propagatedBuildInputs = [ mlgmpidl ];
|
||||
|
||||
strictDeps = false;
|
||||
|
||||
outputs = [ "out" "bin" "dev" ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
./configure -prefix $out
|
||||
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $dev/lib
|
||||
mv $out/lib/ocaml $dev/lib/
|
||||
mkdir -p $bin
|
||||
mv $out/bin $bin/
|
||||
'';
|
||||
|
||||
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;
|
||||
};
|
||||
}
|
||||
55
pkgs/development/ocaml-modules/arp/default.nix
Normal file
55
pkgs/development/ocaml-modules/arp/default.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{ lib, buildDunePackage, fetchurl
|
||||
, cstruct, ipaddr, macaddr, logs, lwt, duration
|
||||
, mirage-time, mirage-protocols, mirage-profile
|
||||
, alcotest, ethernet, fmt, mirage-vnetif, mirage-random
|
||||
, mirage-random-test, mirage-clock-unix, mirage-time-unix
|
||||
, bisect_ppx
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "arp";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
|
||||
sha256 = "1x3l8v96ywc3wrcwbf0j04b8agap4fif0fz6ki2ndzx57yqcjszn";
|
||||
};
|
||||
|
||||
minimumOCamlVersion = "4.06";
|
||||
useDune2 = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
bisect_ppx
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cstruct
|
||||
duration
|
||||
ipaddr
|
||||
logs
|
||||
lwt
|
||||
macaddr
|
||||
mirage-profile
|
||||
mirage-protocols
|
||||
mirage-time
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [
|
||||
alcotest
|
||||
ethernet
|
||||
mirage-clock-unix
|
||||
mirage-profile
|
||||
mirage-random
|
||||
mirage-random-test
|
||||
mirage-time-unix
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
27
pkgs/development/ocaml-modules/asn1-combinators/default.nix
Normal file
27
pkgs/development/ocaml-modules/asn1-combinators/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, buildDunePackage, fetchurl
|
||||
, cstruct, zarith, bigarray-compat, stdlib-shims, ptime, alcotest
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
pname = "asn1-combinators";
|
||||
version = "0.2.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v${version}/asn1-combinators-v${version}.tbz";
|
||||
sha256 = "sha256-ASreDYhp72IQY3UsHPjqAm9rxwL+0Q35r1ZojikbGpE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ cstruct zarith bigarray-compat stdlib-shims ptime ];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ alcotest ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/mirleft/ocaml-asn1-combinators";
|
||||
description = "Combinators for expressing ASN.1 grammars in OCaml";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ vbgl ];
|
||||
};
|
||||
}
|
||||
50
pkgs/development/ocaml-modules/astring/default.nix
Normal file
50
pkgs/development/ocaml-modules/astring/default.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{ 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 ];
|
||||
};
|
||||
}
|
||||
26
pkgs/development/ocaml-modules/atd/default.nix
Normal file
26
pkgs/development/ocaml-modules/atd/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, atdgen-codec-runtime, menhir, easy-format, buildDunePackage, which, re, nixosTests }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "atd";
|
||||
inherit (atdgen-codec-runtime) version src;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
nativeBuildInputs = [ which menhir ];
|
||||
buildInputs = [ re ];
|
||||
propagatedBuildInputs = [ easy-format ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
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 jwilberding ];
|
||||
mainProgram = "atdcat";
|
||||
};
|
||||
}
|
||||
18
pkgs/development/ocaml-modules/atdgen/codec-runtime.nix
Normal file
18
pkgs/development/ocaml-modules/atdgen/codec-runtime.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ lib, buildDunePackage, fetchurl }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "atdgen-codec-runtime";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ahrefs/atd/releases/download/${version}/atdgen-codec-runtime-${version}.tbz";
|
||||
sha256 = "sha256:16888rnvhgh5yxxsnzsj10g5pzs1l4dn27n23kk2f4641dn26s3a";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Runtime for atdgen generated bucklescript converters";
|
||||
homepage = "https://github.com/ahrefs/atd";
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
||||
17
pkgs/development/ocaml-modules/atdgen/default.nix
Normal file
17
pkgs/development/ocaml-modules/atdgen/default.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ buildDunePackage, alcotest, atd, atdgen-codec-runtime, atdgen-runtime, biniou, re, yojson }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "atdgen";
|
||||
inherit (atdgen-codec-runtime) version src;
|
||||
|
||||
buildInputs = [ atd re ];
|
||||
|
||||
propagatedBuildInputs = [ atdgen-runtime ];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ alcotest atdgen-codec-runtime ];
|
||||
|
||||
meta = (builtins.removeAttrs atd.meta [ "mainProgram" ]) // {
|
||||
description = "Generates efficient JSON serializers, deserializers and validators";
|
||||
};
|
||||
}
|
||||
15
pkgs/development/ocaml-modules/atdgen/runtime.nix
Normal file
15
pkgs/development/ocaml-modules/atdgen/runtime.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ buildDunePackage, atdgen-codec-runtime, biniou, camlp-streams, yojson }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "atdgen-runtime";
|
||||
inherit (atdgen-codec-runtime) version src;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
propagatedBuildInputs = [ biniou camlp-streams yojson ];
|
||||
|
||||
meta = atdgen-codec-runtime.meta // {
|
||||
description = "Runtime library for code generated by atdgen";
|
||||
};
|
||||
|
||||
}
|
||||
40
pkgs/development/ocaml-modules/awa/default.nix
Normal file
40
pkgs/development/ocaml-modules/awa/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ lib, buildDunePackage, fetchurl
|
||||
, ppx_sexp_conv, ppx_cstruct
|
||||
, mirage-crypto, mirage-crypto-rng, mirage-crypto-pk
|
||||
, x509, cstruct, cstruct-unix, cstruct-sexp, sexplib, eqaf
|
||||
, rresult, mtime, logs, fmt, cmdliner, base64, hacl_x25519
|
||||
, zarith
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "awa";
|
||||
version = "0.0.5";
|
||||
|
||||
minimumOCamlVersion = "4.07";
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/awa-ssh/releases/download/v${version}/awa-${version}.tbz";
|
||||
sha256 = "14hqzmikp3hlynhs0wnwj2491106if183swsl7ldk4215a0b7ms4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ppx_cstruct ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
mirage-crypto mirage-crypto-rng mirage-crypto-pk x509
|
||||
cstruct cstruct-sexp sexplib mtime
|
||||
logs base64 hacl_x25519 zarith
|
||||
ppx_sexp_conv eqaf
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ cstruct-unix cmdliner fmt ];
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
15
pkgs/development/ocaml-modules/awa/lwt.nix
Normal file
15
pkgs/development/ocaml-modules/awa/lwt.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ buildDunePackage, awa
|
||||
, cstruct, mtime, lwt, cstruct-unix, mirage-crypto-rng
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "awa-lwt";
|
||||
|
||||
inherit (awa) version src useDune2;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
awa cstruct mtime lwt cstruct-unix mirage-crypto-rng
|
||||
];
|
||||
|
||||
meta = awa.meta // { mainProgram = "awa_lwt_server"; };
|
||||
}
|
||||
15
pkgs/development/ocaml-modules/awa/mirage.nix
Normal file
15
pkgs/development/ocaml-modules/awa/mirage.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ buildDunePackage, awa
|
||||
, cstruct, mtime, lwt, mirage-flow, mirage-clock, logs
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "awa-mirage";
|
||||
|
||||
inherit (awa) version src useDune2;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
awa cstruct mtime lwt mirage-flow mirage-clock logs
|
||||
];
|
||||
|
||||
inherit (awa) meta;
|
||||
}
|
||||
32
pkgs/development/ocaml-modules/bap/curses_is_ncurses.patch
Normal file
32
pkgs/development/ocaml-modules/bap/curses_is_ncurses.patch
Normal 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
|
||||
+ CCLib: $llvm_lib $cxxlibs $llvm_ldflags -lncurses
|
||||
CSources: llvm_disasm.h,
|
||||
llvm_disasm.c,
|
||||
llvm_stubs.c,
|
||||
--
|
||||
2.22.0
|
||||
|
||||
82
pkgs/development/ocaml-modules/bap/default.nix
Normal file
82
pkgs/development/ocaml-modules/bap/default.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchurl
|
||||
, ocaml, findlib, ocamlbuild, ocaml_oasis
|
||||
, bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp
|
||||
, 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.4.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "BinaryAnalysisPlatform";
|
||||
repo = "bap";
|
||||
rev = "v${version}";
|
||||
sha256 = "1xc8zfcwm40zihs3ajcrh2x32xd08qnygay03qy3qxhybr5hqngr";
|
||||
};
|
||||
|
||||
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 = [ linenoise
|
||||
ounit
|
||||
ppx_bitstring
|
||||
z3
|
||||
utop libxml2 ncurses ];
|
||||
|
||||
propagatedBuildInputs = [ bitstring camlzip cmdliner ppx_bap core_kernel ezjsonm fileutils ocaml_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/elf-loader --replace bitstring.ppx ppx_bitstring
|
||||
'';
|
||||
|
||||
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";
|
||||
};
|
||||
}
|
||||
26
pkgs/development/ocaml-modules/base64/default.nix
Normal file
26
pkgs/development/ocaml-modules/base64/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, fetchurl, buildDunePackage, ocaml, alcotest, bos, rresult }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "base64";
|
||||
version = "3.5.0";
|
||||
|
||||
minimumOCamlVersion = "4.03";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ocaml-base64/releases/download/v${version}/base64-v${version}.tbz";
|
||||
sha256 = "sha256-WJ3pwAV46/54QZismBjTWGxHSyMWts0+HEbMsfYq46Q=";
|
||||
};
|
||||
|
||||
# otherwise fmt breaks evaluation
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.05";
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
45
pkgs/development/ocaml-modules/batteries/default.nix
Normal file
45
pkgs/development/ocaml-modules/batteries/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, qcheck, num, ounit
|
||||
, doCheck ? lib.versionAtLeast ocaml.version "4.08" && !stdenv.isAarch64
|
||||
}:
|
||||
|
||||
if lib.versionOlder ocaml.version "4.02"
|
||||
then throw "batteries is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml${ocaml.version}-batteries";
|
||||
version = "3.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml-batteries-team";
|
||||
repo = "batteries-included";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256:1cd7475n1mxhq482aidmhh27mq5p2vmb8d9fkb1mlza9pz5z66yq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
|
||||
checkInputs = [ qtest ounit qcheck ];
|
||||
propagatedBuildInputs = [ num ];
|
||||
|
||||
strictDeps = !doCheck;
|
||||
|
||||
inherit doCheck;
|
||||
checkTarget = "test";
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://batteries.forge.ocamlcore.org/";
|
||||
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;
|
||||
inherit (ocaml.meta) platforms;
|
||||
maintainers = [
|
||||
lib.maintainers.maggesi
|
||||
];
|
||||
};
|
||||
}
|
||||
26
pkgs/development/ocaml-modules/benchmark/default.nix
Normal file
26
pkgs/development/ocaml-modules/benchmark/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ stdenv, lib, fetchzip, ocaml, findlib, ocamlbuild, ocaml_pcre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml${ocaml.version}-benchmark";
|
||||
version = "1.4";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/Chris00/ocaml-benchmark/releases/download/${version}/benchmark-${version}.tar.gz";
|
||||
sha256 = "16wi8ld7c3mq77ylpgbnj8qqqqimyzwxs47v06vyrwpma5pab5xa";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
|
||||
buildInputs = [ ocaml_pcre ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://ocaml-benchmark.forge.ocamlcore.org/";
|
||||
inherit (ocaml.meta) platforms;
|
||||
description = "Benchmark running times of code";
|
||||
license = lib.licenses.lgpl21;
|
||||
maintainers = with lib.maintainers; [ volth ];
|
||||
};
|
||||
}
|
||||
25
pkgs/development/ocaml-modules/bheap/default.nix
Normal file
25
pkgs/development/ocaml-modules/bheap/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ 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";
|
||||
};
|
||||
}
|
||||
24
pkgs/development/ocaml-modules/bigarray-compat/default.nix
Normal file
24
pkgs/development/ocaml-modules/bigarray-compat/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ 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 ];
|
||||
};
|
||||
}
|
||||
31
pkgs/development/ocaml-modules/bigarray-overlap/default.nix
Normal file
31
pkgs/development/ocaml-modules/bigarray-overlap/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, buildDunePackage, fetchurl
|
||||
, bigarray-compat, alcotest, astring, fpath, bos, findlib, pkg-config
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bigarray-overlap";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/dinosaure/overlap/releases/download/v${version}/bigarray-overlap-v${version}.tbz";
|
||||
sha256 = "1v86avafsbyxjccy0y9gny31s2jzb0kd42v3mhcalklx5f044lcy";
|
||||
};
|
||||
|
||||
minimumOCamlVersion = "4.07";
|
||||
useDune2 = true;
|
||||
|
||||
strictDeps = !doCheck;
|
||||
|
||||
propagatedBuildInputs = [ bigarray-compat ];
|
||||
|
||||
nativeBuildInputs = [ findlib pkg-config ];
|
||||
checkInputs = [ alcotest astring fpath bos ];
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/dinosaure/overlap";
|
||||
description = "A minimal library to know that 2 bigarray share physically the same memory or not";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.sternenseemann ];
|
||||
};
|
||||
}
|
||||
27
pkgs/development/ocaml-modules/bigstring/default.nix
Normal file
27
pkgs/development/ocaml-modules/bigstring/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bigstring";
|
||||
version = "0.3";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.03";
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
32
pkgs/development/ocaml-modules/bigstringaf/default.nix
Normal file
32
pkgs/development/ocaml-modules/bigstringaf/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, ocaml, alcotest, bigarray-compat, pkg-config }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bigstringaf";
|
||||
version = "0.7.0";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "inhabitedtype";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1q1sqxzdnlrpl95ccrhl7lwy3zswgd9rbn19ildclh0lyi2vazbj";
|
||||
};
|
||||
|
||||
# This currently fails with dune
|
||||
strictDeps = false;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
checkInputs = [ alcotest ];
|
||||
propagatedBuildInputs = [ bigarray-compat ];
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.05";
|
||||
|
||||
meta = {
|
||||
description = "Bigstring intrinsics and fast blits based on memcpy/memmove";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
inherit (src.meta) homepage;
|
||||
};
|
||||
}
|
||||
31
pkgs/development/ocaml-modules/biniou/default.nix
Normal file
31
pkgs/development/ocaml-modules/biniou/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, easy-format }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "biniou";
|
||||
version = "1.2.1";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml-community";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0x2kiy809n1j0yf32l7hj102y628jp5jdrkbi3z7ld8jq04h1790";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ easy-format ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
|
||||
inherit (src.meta) homepage;
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
mainProgram = "bdump";
|
||||
};
|
||||
}
|
||||
30
pkgs/development/ocaml-modules/biocaml/default.nix
Normal file
30
pkgs/development/ocaml-modules/biocaml/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, buildDunePackage, fetchFromGitHub, fetchpatch
|
||||
, ounit, async, base64, camlzip, cfstream
|
||||
, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "biocaml";
|
||||
version = "0.11.1";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "biocaml";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1il84vvypgkhdyc2j5fmgh14a58069s6ijbd5dvyl2i7jdxaazji";
|
||||
};
|
||||
|
||||
buildInputs = [ ppx_jane ppx_sexp_conv ];
|
||||
checkInputs = [ ounit ];
|
||||
propagatedBuildInputs = [ async base64 camlzip cfstream core rresult uri xmlm ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bioinformatics library for Ocaml";
|
||||
homepage = "http://${pname}.org";
|
||||
maintainers = [ maintainers.bcdarwin ];
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
||||
29
pkgs/development/ocaml-modules/bisect_ppx/default.nix
Normal file
29
pkgs/development/ocaml-modules/bisect_ppx/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, cmdliner, ppxlib }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bisect_ppx";
|
||||
version = "2.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aantron";
|
||||
repo = "bisect_ppx";
|
||||
rev = version;
|
||||
sha256 = "sha256-pOeeSxzUF1jXQjA71atSZALdgQ2NB9qpKo5iaDnPwhQ=";
|
||||
};
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
useDune2 = true;
|
||||
|
||||
buildInputs = [
|
||||
cmdliner
|
||||
ppxlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
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 = licenses.mit;
|
||||
maintainers = with maintainers; [ ];
|
||||
mainProgram = "bisect-ppx-report";
|
||||
};
|
||||
}
|
||||
49
pkgs/development/ocaml-modules/bistro/default.nix
Normal file
49
pkgs/development/ocaml-modules/bistro/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ lib
|
||||
, ocaml
|
||||
, fetchFromGitHub
|
||||
, buildDunePackage
|
||||
, base64
|
||||
, bos
|
||||
, core
|
||||
, lwt_react
|
||||
, ocamlgraph
|
||||
, ppx_sexp_conv
|
||||
, rresult
|
||||
, sexplib
|
||||
, tyxml
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bistro";
|
||||
version = "unstable-2021-11-13";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pveber";
|
||||
repo = pname;
|
||||
rev = "fb285b2c6d8adccda3c71e2293bceb01febd6624";
|
||||
sha256 = "sha256-JChDU1WH8W9Czkppx9SHiVIu9/7QFWJy2A89oksp0Ek=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
base64
|
||||
bos
|
||||
core
|
||||
lwt_react
|
||||
ocamlgraph
|
||||
ppx_sexp_conv
|
||||
rresult
|
||||
sexplib
|
||||
tyxml
|
||||
];
|
||||
|
||||
minimalOCamlVersion = "4.12";
|
||||
|
||||
meta = {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Build and execute typed scientific workflows";
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
license = lib.licenses.gpl2;
|
||||
};
|
||||
}
|
||||
24
pkgs/development/ocaml-modules/bitstring/default.nix
Normal file
24
pkgs/development/ocaml-modules/bitstring/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, stdlib-shims }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bitstring";
|
||||
version = "4.1.0";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xguerin";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0mghsl8b2zd2676mh1r9142hymhvzy9cw8kgkjmirxkn56wbf56b";
|
||||
};
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
22
pkgs/development/ocaml-modules/bitstring/ppx.nix
Normal file
22
pkgs/development/ocaml-modules/bitstring/ppx.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, buildDunePackage, 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 rec {
|
||||
pname = "ppx_bitstring";
|
||||
inherit (bitstring) version useDune2 src;
|
||||
|
||||
buildInputs = [ bitstring ppxlib ];
|
||||
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.08";
|
||||
checkInputs = [ ounit ];
|
||||
|
||||
meta = bitstring.meta // {
|
||||
description = "Bitstrings and bitstring matching for OCaml - PPX extension";
|
||||
};
|
||||
}
|
||||
31
pkgs/development/ocaml-modules/bitv/default.nix
Normal file
31
pkgs/development/ocaml-modules/bitv/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ stdenv, lib, fetchFromGitHub, autoreconfHook, which, ocaml, findlib }:
|
||||
|
||||
if lib.versionOlder ocaml.version "4.02"
|
||||
then throw "bitv is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml${ocaml.version}-bitv";
|
||||
version = "1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "backtracking";
|
||||
repo = "bitv";
|
||||
rev = version;
|
||||
sha256 = "sha256-sZwq6c10hBBS9tGvKlWD9GE3JBrZPByfDrXE6xIPcG4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook which ocaml findlib ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
description = "A bit vector library for OCaml";
|
||||
license = lib.licenses.lgpl21;
|
||||
homepage = "https://github.com/backtracking/bitv";
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
inherit (ocaml.meta) platforms;
|
||||
};
|
||||
}
|
||||
25
pkgs/development/ocaml-modules/bjack/default.nix
Normal file
25
pkgs/development/ocaml-modules/bjack/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, libsamplerate, libjack2 }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bjack";
|
||||
version = "0.1.6";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "savonet";
|
||||
repo = "ocaml-bjack";
|
||||
rev = "v${version}";
|
||||
sha256 = "1gf31a8i9byp6npn0x6gydcickn6sf5dnzmqr2c1b9jn2nl7334c";
|
||||
};
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
31
pkgs/development/ocaml-modules/bls12-381/default.nix
Normal file
31
pkgs/development/ocaml-modules/bls12-381/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, buildDunePackage, fetchFromGitLab, ff-sig, zarith }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bls12-381";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "dannywillems";
|
||||
repo = "ocaml-bls12-381";
|
||||
rev = "22247018c0651ea62ae898c8ffcc388cc73f758f";
|
||||
sha256 = "ku6Rc+/lwFDoHTZTxgkhiF+kLkagi7944ntcu9vXWgI=";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ff-sig
|
||||
zarith
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
|
||||
description = "OCaml binding for bls12-381 from librustzcash";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.ulrikstrid ];
|
||||
};
|
||||
}
|
||||
31
pkgs/development/ocaml-modules/bls12-381/gen.nix
Normal file
31
pkgs/development/ocaml-modules/bls12-381/gen.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ 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=";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
38
pkgs/development/ocaml-modules/bls12-381/legacy.nix
Normal file
38
pkgs/development/ocaml-modules/bls12-381/legacy.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib
|
||||
, buildDunePackage
|
||||
, fetchFromGitLab
|
||||
, bls12-381-gen
|
||||
, ctypes
|
||||
, ff-pbt
|
||||
, ff-sig
|
||||
, tezos-rust-libs
|
||||
, zarith
|
||||
, alcotest
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bls12-381-legacy";
|
||||
|
||||
inherit (bls12-381-gen) version src useDune2 doCheck;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
bls12-381-gen
|
||||
ctypes
|
||||
ff-pbt
|
||||
ff-sig
|
||||
tezos-rust-libs
|
||||
zarith
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
alcotest
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
|
||||
description = "UNIX version of BLS12-381 primitives, not implementating the virtual package bls12-381";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
||||
34
pkgs/development/ocaml-modules/bls12-381/unix.nix
Normal file
34
pkgs/development/ocaml-modules/bls12-381/unix.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, buildDunePackage
|
||||
, bls12-381
|
||||
, hex
|
||||
, integers
|
||||
, zarith
|
||||
, alcotest
|
||||
, bisect_ppx
|
||||
, ff-pbt
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "bls12-381-unix";
|
||||
|
||||
inherit (bls12-381) version src useDune2 doCheck;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
bls12-381
|
||||
hex
|
||||
integers
|
||||
zarith
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
alcotest
|
||||
bisect_ppx
|
||||
ff-pbt
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "UNIX version of BLS12-381 primitives implementing the virtual package bls12-381";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
||||
29
pkgs/development/ocaml-modules/bos/default.nix
Normal file
29
pkgs/development/ocaml-modules/bos/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ 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;
|
||||
};
|
||||
}
|
||||
33
pkgs/development/ocaml-modules/brisk-reconciler/default.nix
Normal file
33
pkgs/development/ocaml-modules/brisk-reconciler/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ buildDunePackage, fetchFromGitHub, lib, reason, ppxlib }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "brisk-reconciler";
|
||||
version = "unstable-2020-12-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "briskml";
|
||||
repo = "brisk-reconciler";
|
||||
rev = "c9d5c4cf5dd17ff2da994de2c3b0f34c72778f70";
|
||||
sha256 = "sha256-AAB4ZzBnwfwFXOAqX/sIT6imOl70F0YNMt96SWOOE9w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ reason ];
|
||||
|
||||
buildInputs = [
|
||||
ppxlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
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 maintainers; [ superherointj ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
25
pkgs/development/ocaml-modules/bwd/default.nix
Normal file
25
pkgs/development/ocaml-modules/bwd/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, qcheck-core }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bwd";
|
||||
version = "2.0.0";
|
||||
|
||||
minimalOCamlVersion = "4.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "RedPRL";
|
||||
repo = "ocaml-bwd";
|
||||
rev = version;
|
||||
sha256 = "sha256:0zgi8an53z6wr6nzz0zlmhx19zhqy1w2vfy1sq3sikjwh74jjq60";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ qcheck-core ];
|
||||
|
||||
meta = {
|
||||
description = "Backward Lists";
|
||||
inherit (src.meta) homepage;
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
};
|
||||
}
|
||||
40
pkgs/development/ocaml-modules/bz2/default.nix
Normal file
40
pkgs/development/ocaml-modules/bz2/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ lib, stdenv, fetchFromGitLab, ocaml, findlib, bzip2, autoreconfHook }:
|
||||
|
||||
if lib.versionOlder ocaml.version "4.02"
|
||||
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 = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
52
pkgs/development/ocaml-modules/ca-certs-nss/default.nix
Normal file
52
pkgs/development/ocaml-modules/ca-certs-nss/default.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ lib
|
||||
, buildDunePackage
|
||||
, fetchurl
|
||||
, mirage-crypto
|
||||
, mirage-clock
|
||||
, x509
|
||||
, logs
|
||||
, fmt
|
||||
, bos
|
||||
, astring
|
||||
, cmdliner
|
||||
, alcotest
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "ca-certs-nss";
|
||||
version = "3.74";
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ca-certs-nss/releases/download/v${version}/ca-certs-nss-${version}.tbz";
|
||||
sha256 = "c95f5b2e36a0564e6f65421e0e197d7cfe600d19eb492f8f27c4841cbe68b231";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
mirage-crypto
|
||||
mirage-clock
|
||||
x509
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
logs
|
||||
fmt
|
||||
bos
|
||||
astring
|
||||
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";
|
||||
};
|
||||
}
|
||||
35
pkgs/development/ocaml-modules/ca-certs/default.nix
Normal file
35
pkgs/development/ocaml-modules/ca-certs/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, buildDunePackage, fetchurl
|
||||
, bos, fpath, ptime, mirage-crypto, x509, astring, logs
|
||||
, cacert, alcotest, fmt
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "ca-certs";
|
||||
version = "0.2.2";
|
||||
|
||||
minimumOCamlVersion = "4.07";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ca-certs/releases/download/v${version}/ca-certs-v${version}.tbz";
|
||||
sha256 = "sha256-Tx53zBJemZh3ODh/8izahxDoJvXvNFLyAA8LMM1mhlI=";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
propagatedBuildInputs = [ bos fpath ptime mirage-crypto x509 astring logs ];
|
||||
|
||||
# Assumes nss-cacert < 3.74 https://github.com/mirage/ca-certs/issues/21
|
||||
doCheck = false;
|
||||
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";
|
||||
};
|
||||
}
|
||||
35
pkgs/development/ocaml-modules/cairo2/default.nix
Normal file
35
pkgs/development/ocaml-modules/cairo2/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ stdenv, lib, fetchurl, buildDunePackage, ocaml, dune-configurator, pkg-config, cairo
|
||||
, ApplicationServices }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "cairo2";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
|
||||
sha256 = "sha256-a7P1kiVmIwT6Fhtwxs29ffgO4iexsulxUoc9cnJmEK4=";
|
||||
};
|
||||
|
||||
minimalOCamlVersion = "4.02";
|
||||
useDune2 = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ cairo dune-configurator ] ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
|
||||
|
||||
doCheck = !(stdenv.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 ];
|
||||
};
|
||||
}
|
||||
27
pkgs/development/ocaml-modules/calendar/default.nix
Normal file
27
pkgs/development/ocaml-modules/calendar/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ stdenv, lib, fetchurl, ocaml, findlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml-calendar";
|
||||
version = "2.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://forge.ocamlcore.org/frs/download.php/915/calendar-${version}.tar.bz2";
|
||||
sha256 = "04pvhwb664g3s644c7v7419a3kvf5s3pynkhmk5j59dvlfm1yf0f";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://forge.ocamlcore.org/projects/calendar/";
|
||||
description = "An Objective Caml library managing dates and times";
|
||||
license = "LGPL";
|
||||
platforms = ocaml.meta.platforms or [ ];
|
||||
maintainers = [
|
||||
lib.maintainers.gal_bolle
|
||||
];
|
||||
};
|
||||
}
|
||||
36
pkgs/development/ocaml-modules/callipyge/default.nix
Normal file
36
pkgs/development/ocaml-modules/callipyge/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib
|
||||
, buildDunePackage
|
||||
, fetchurl
|
||||
, ocaml
|
||||
|
||||
, 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";
|
||||
sha256 = "sha256-T/94a88xvK51TggjXecdKc9kyTE9aIyueIt5T24sZB0=";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.03";
|
||||
|
||||
propagatedBuildInputs = [ fmt eqaf ];
|
||||
|
||||
# alcotest isn't available for OCaml < 4.05 due to fmt
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.05";
|
||||
checkInputs = [ alcotest ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/oklm-wsh/Callipyge";
|
||||
description = "Curve25519 in OCaml";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fufexan ];
|
||||
};
|
||||
}
|
||||
76
pkgs/development/ocaml-modules/camlimages/4.2.4.nix
Normal file
76
pkgs/development/ocaml-modules/camlimages/4.2.4.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, ocaml
|
||||
, findlib
|
||||
, omake
|
||||
, graphicsmagick
|
||||
, libpng
|
||||
, libjpeg
|
||||
, libexif
|
||||
, libtiff
|
||||
, libXpm
|
||||
, freetype
|
||||
, giflib
|
||||
, ghostscript
|
||||
}:
|
||||
|
||||
lib.throwIfNot (lib.versionAtLeast ocaml.version "4.02" && lib.versionOlder ocaml.version "4.10")
|
||||
"camlimages 4.2.4 is not available for OCaml ${ocaml.version}"
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-${pname}-${version}";
|
||||
pname = "camlimages";
|
||||
version = "4.2.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "camlspotter";
|
||||
repo = pname;
|
||||
rev = "c4f0ec4178fd18cb85872181965c5f020c349160";
|
||||
sha256 = "17hvsql5dml7ialjcags8wphs7w6z88b2rgjir1382bg8vn62bkr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
omake
|
||||
ocaml
|
||||
findlib
|
||||
graphicsmagick
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
libpng
|
||||
libjpeg
|
||||
libexif
|
||||
libtiff
|
||||
libXpm
|
||||
freetype
|
||||
giflib
|
||||
ghostscript
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
omake
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
omake install
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = with lib; {
|
||||
# 4.2.5 requires OCaml >= 4.06
|
||||
branch = "4.2.4";
|
||||
homepage = "https://gitlab.com/camlspotter/camlimages";
|
||||
description = "OCaml image processing library";
|
||||
license = licenses.lgpl2Only;
|
||||
maintainers = [
|
||||
maintainers.vbgl
|
||||
maintainers.sternenseemann
|
||||
];
|
||||
};
|
||||
}
|
||||
32
pkgs/development/ocaml-modules/camlimages/default.nix
Normal file
32
pkgs/development/ocaml-modules/camlimages/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, fetchFromGitLab, buildDunePackage, dune-configurator, cppo
|
||||
, graphics, lablgtk, stdio
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "camlimages";
|
||||
version = "5.0.4";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.07";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "camlspotter";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1m2c76ghisg73dikz2ifdkrbkgiwa0hcmp21f2fm2rkbf02rq3f4";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ cppo ];
|
||||
buildInputs = [ dune-configurator 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 ];
|
||||
};
|
||||
}
|
||||
20
pkgs/development/ocaml-modules/camlp-streams/default.nix
Normal file
20
pkgs/development/ocaml-modules/camlp-streams/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ lib, buildDunePackage, fetchFromGitHub }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "camlp-streams";
|
||||
version = "5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256:1wd5k0irzwi841b27pbx0n5fdybbgx97184zm8cjajizd2j8w0g5";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Stream and Genlex libraries for use with Camlp4 and Camlp5";
|
||||
license = lib.licenses.lgpl21Only;
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
};
|
||||
|
||||
}
|
||||
32
pkgs/development/ocaml-modules/camlpdf/default.nix
Normal file
32
pkgs/development/ocaml-modules/camlpdf/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchFromGitHub, which, 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.5";
|
||||
pname = "ocaml${ocaml.version}-camlpdf";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johnwhitington";
|
||||
repo = "camlpdf";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256:1qmsa0xgi960y7r20mvf8hxiiml7l1908s4dm7nq262f19w51gsl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ which ocaml findlib ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An OCaml library for reading, writing and modifying PDF files";
|
||||
homepage = "https://github.com/johnwhitington/camlpdf";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [vbgl];
|
||||
};
|
||||
}
|
||||
6
pkgs/development/ocaml-modules/camlzip/META
Normal file
6
pkgs/development/ocaml-modules/camlzip/META
Normal 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 = ""
|
||||
70
pkgs/development/ocaml-modules/camlzip/default.nix
Normal file
70
pkgs/development/ocaml-modules/camlzip/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{lib, stdenv, fetchurl, zlib, ocaml, findlib}:
|
||||
|
||||
let
|
||||
param =
|
||||
if lib.versionAtLeast ocaml.version "4.02"
|
||||
then {
|
||||
version = "1.10";
|
||||
url = "https://github.com/xavierleroy/camlzip/archive/rel110.tar.gz";
|
||||
sha256 = "X0YcczaQ3lFeJEiTIgjSSZ1zi32KFMtmZsP0FFpyfbI=";
|
||||
patches = [];
|
||||
postPatchInit = ''
|
||||
cp META-zip META-camlzip
|
||||
echo 'directory="../zip"' >> META-camlzip
|
||||
'';
|
||||
} 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 = "camlzip";
|
||||
version = param.version;
|
||||
|
||||
src = fetchurl {
|
||||
inherit (param) url;
|
||||
inherit (param) sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ];
|
||||
|
||||
propagatedBuildInputs = [zlib];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
inherit (param) patches;
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
postPatch = param.postPatchInit + ''
|
||||
substituteInPlace Makefile \
|
||||
--subst-var-by ZLIB_LIBDIR "${zlib.out}/lib" \
|
||||
--subst-var-by ZLIB_INCLUDE "${zlib.dev}/include"
|
||||
'';
|
||||
|
||||
buildFlags = [ "all" "allopt" ];
|
||||
|
||||
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 = "A 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 = "LGPL+linking exceptions";
|
||||
inherit (ocaml.meta) platforms;
|
||||
maintainers = with maintainers; [ maggesi ];
|
||||
};
|
||||
}
|
||||
54
pkgs/development/ocaml-modules/camlzip/makefile_1_05.patch
Normal file
54
pkgs/development/ocaml-modules/camlzip/makefile_1_05.patch
Normal 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
|
||||
32
pkgs/development/ocaml-modules/camomile/0.8.2.nix
Normal file
32
pkgs/development/ocaml-modules/camomile/0.8.2.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{stdenv, lib, fetchurl, ocaml, findlib, camlp4}:
|
||||
|
||||
if lib.versionAtLeast ocaml.version "4.05"
|
||||
then throw "camomile-0.8.2 is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "camomile";
|
||||
version = "0.8.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/camomile/camomile-${version}.tar.bz2";
|
||||
sha256 = "0x43pjxx70kgip86mmdn08s97k4qzdqc8i79xfyyx28smy1bsa00";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib camlp4 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://camomile.sourceforge.net/";
|
||||
description = "A comprehensive Unicode library for OCaml";
|
||||
license = lib.licenses.lgpl21;
|
||||
branch = "0.8.2";
|
||||
inherit (ocaml.meta) platforms;
|
||||
maintainers = [
|
||||
lib.maintainers.maggesi
|
||||
];
|
||||
};
|
||||
}
|
||||
32
pkgs/development/ocaml-modules/camomile/0.8.5.nix
Normal file
32
pkgs/development/ocaml-modules/camomile/0.8.5.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{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 = "A comprehensive Unicode library for OCaml";
|
||||
license = lib.licenses.lgpl21;
|
||||
inherit (ocaml.meta) platforms;
|
||||
maintainers = [
|
||||
lib.maintainers.maggesi
|
||||
];
|
||||
};
|
||||
}
|
||||
36
pkgs/development/ocaml-modules/camomile/default.nix
Normal file
36
pkgs/development/ocaml-modules/camomile/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, ocaml, cppo }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "camomile";
|
||||
version = "1.0.2";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yoriyuki";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "00i910qjv6bpk0nkafp5fg97isqas0bwjf7m6rz11rsxilpalzad";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cppo ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
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
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (src.meta) homepage;
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
license = lib.licenses.lgpl21;
|
||||
description = "A Unicode library for OCaml";
|
||||
};
|
||||
}
|
||||
11
pkgs/development/ocaml-modules/caqti/async.nix
Normal file
11
pkgs/development/ocaml-modules/caqti/async.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ lib, buildDunePackage, async_kernel, async_unix, caqti, core_kernel }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "caqti-async";
|
||||
useDune2 = true;
|
||||
inherit (caqti) version src;
|
||||
|
||||
propagatedBuildInputs = [ async_kernel async_unix caqti core_kernel ];
|
||||
|
||||
meta = caqti.meta // { description = "Async support for Caqti"; };
|
||||
}
|
||||
31
pkgs/development/ocaml-modules/caqti/default.nix
Normal file
31
pkgs/development/ocaml-modules/caqti/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage
|
||||
, cppo, logs, ptime, uri, bigstringaf
|
||||
, re, cmdliner, alcotest }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "caqti";
|
||||
version = "1.8.0";
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paurkedal";
|
||||
repo = "ocaml-${pname}";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-8uKlrq9j1Z3QzkCyoRIn2j6wCdGyo7BY7XlbFHN1xVE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cppo ];
|
||||
propagatedBuildInputs = [ logs ptime uri bigstringaf ];
|
||||
checkInputs = [ re cmdliner alcotest ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Unified interface to relational database libraries";
|
||||
license = "LGPL-3.0-or-later WITH OCaml-LGPL-linking-exception";
|
||||
maintainers = with lib.maintainers; [ bcc32 ];
|
||||
homepage = "https://github.com/paurkedal/ocaml-caqti";
|
||||
};
|
||||
}
|
||||
13
pkgs/development/ocaml-modules/caqti/driver-mariadb.nix
Normal file
13
pkgs/development/ocaml-modules/caqti/driver-mariadb.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, buildDunePackage, caqti, mariadb }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "caqti-driver-mariadb";
|
||||
useDune2 = true;
|
||||
inherit (caqti) version src;
|
||||
|
||||
propagatedBuildInputs = [ caqti mariadb ];
|
||||
|
||||
meta = caqti.meta // {
|
||||
description = "MariaDB driver for Caqti using C bindings";
|
||||
};
|
||||
}
|
||||
13
pkgs/development/ocaml-modules/caqti/driver-postgresql.nix
Normal file
13
pkgs/development/ocaml-modules/caqti/driver-postgresql.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, buildDunePackage, caqti, postgresql }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "caqti-driver-postgresql";
|
||||
useDune2 = true;
|
||||
inherit (caqti) version src;
|
||||
|
||||
propagatedBuildInputs = [ caqti postgresql ];
|
||||
|
||||
meta = caqti.meta // {
|
||||
description = "PostgreSQL driver for Caqti based on C bindings";
|
||||
};
|
||||
}
|
||||
13
pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix
Normal file
13
pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, buildDunePackage, caqti, ocaml_sqlite3 }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "caqti-driver-sqlite3";
|
||||
useDune2 = true;
|
||||
inherit (caqti) version src;
|
||||
|
||||
propagatedBuildInputs = [ caqti ocaml_sqlite3 ];
|
||||
|
||||
meta = caqti.meta // {
|
||||
description = "Sqlite3 driver for Caqti using C bindings";
|
||||
};
|
||||
}
|
||||
13
pkgs/development/ocaml-modules/caqti/dynload.nix
Normal file
13
pkgs/development/ocaml-modules/caqti/dynload.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, buildDunePackage, caqti }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "caqti-dynload";
|
||||
useDune2 = true;
|
||||
inherit (caqti) version src;
|
||||
|
||||
propagatedBuildInputs = [ caqti ];
|
||||
|
||||
meta = caqti.meta // {
|
||||
description = "Dynamic linking of Caqti drivers using findlib.dynload";
|
||||
};
|
||||
}
|
||||
11
pkgs/development/ocaml-modules/caqti/lwt.nix
Normal file
11
pkgs/development/ocaml-modules/caqti/lwt.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ lib, buildDunePackage, caqti, logs, lwt }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "caqti-lwt";
|
||||
useDune2 = true;
|
||||
inherit (caqti) version src;
|
||||
|
||||
propagatedBuildInputs = [ caqti logs lwt ];
|
||||
|
||||
meta = caqti.meta // { description = "Lwt support for Caqti"; };
|
||||
}
|
||||
14
pkgs/development/ocaml-modules/caqti/type-calendar.nix
Normal file
14
pkgs/development/ocaml-modules/caqti/type-calendar.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ lib, buildDunePackage, calendar, caqti }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "caqti-type-calendar";
|
||||
version = "1.2.0";
|
||||
useDune2 = true;
|
||||
inherit (caqti) src;
|
||||
|
||||
propagatedBuildInputs = [ calendar caqti ];
|
||||
|
||||
meta = caqti.meta // {
|
||||
description = "Date and time field types using the calendar library";
|
||||
};
|
||||
}
|
||||
69
pkgs/development/ocaml-modules/carton/default.nix
Normal file
69
pkgs/development/ocaml-modules/carton/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib, buildDunePackage, fetchurl
|
||||
, ke, duff, decompress, cstruct, optint, bigstringaf, stdlib-shims
|
||||
, bigarray-compat, checkseum, logs, psq, fmt
|
||||
, result, rresult, fpath, base64, bos, digestif, mmap, alcotest
|
||||
, crowbar, alcotest-lwt, lwt, findlib, mirage-flow, cmdliner, hxd
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "carton";
|
||||
version = "0.4.3";
|
||||
|
||||
useDune2 = true;
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/${pname}-${pname}-v${version}.tbz";
|
||||
sha256 = "sha256:0qz9ds5761wx4m7ly3av843b6dii7lmjpx2nnyijv8rm8aw95jgr";
|
||||
};
|
||||
|
||||
# remove changelogs for mimic and the git* packages
|
||||
postPatch = ''
|
||||
rm CHANGES.md
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
cmdliner
|
||||
digestif
|
||||
mmap
|
||||
result
|
||||
rresult
|
||||
fpath
|
||||
bos
|
||||
hxd
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
ke
|
||||
duff
|
||||
decompress
|
||||
cstruct
|
||||
optint
|
||||
bigstringaf
|
||||
stdlib-shims
|
||||
bigarray-compat
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
28
pkgs/development/ocaml-modules/carton/git.nix
Normal file
28
pkgs/development/ocaml-modules/carton/git.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ buildDunePackage, carton, carton-lwt
|
||||
, bigarray-compat, bigstringaf, lwt, fpath, result
|
||||
, mmap, fmt, decompress, astring
|
||||
, alcotest, alcotest-lwt, cstruct, logs
|
||||
, mirage-flow, rresult, ke
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "carton-git";
|
||||
|
||||
inherit (carton) version src useDune2 postPatch;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
carton
|
||||
carton-lwt
|
||||
bigarray-compat
|
||||
bigstringaf
|
||||
lwt
|
||||
fpath
|
||||
result
|
||||
mmap
|
||||
fmt
|
||||
decompress
|
||||
astring
|
||||
];
|
||||
|
||||
inherit (carton) meta;
|
||||
}
|
||||
46
pkgs/development/ocaml-modules/carton/lwt.nix
Normal file
46
pkgs/development/ocaml-modules/carton/lwt.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ buildDunePackage, carton
|
||||
, lwt, decompress, optint, bigstringaf
|
||||
, alcotest, alcotest-lwt, cstruct, fmt, logs
|
||||
, mirage-flow, result, rresult, bigarray-compat
|
||||
, ke, base64, bos, checkseum, digestif, fpath, mmap
|
||||
, stdlib-shims
|
||||
, git-binary # pkgs.git
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "carton-lwt";
|
||||
|
||||
inherit (carton) version src useDune2 postPatch;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
carton
|
||||
lwt
|
||||
decompress
|
||||
optint
|
||||
bigstringaf
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [
|
||||
git-binary
|
||||
alcotest
|
||||
alcotest-lwt
|
||||
cstruct
|
||||
fmt
|
||||
logs
|
||||
mirage-flow
|
||||
result
|
||||
rresult
|
||||
bigarray-compat
|
||||
ke
|
||||
base64
|
||||
bos
|
||||
checkseum
|
||||
digestif
|
||||
fpath
|
||||
mmap
|
||||
stdlib-shims
|
||||
];
|
||||
|
||||
inherit (carton) meta;
|
||||
}
|
||||
35
pkgs/development/ocaml-modules/cfstream/default.nix
Normal file
35
pkgs/development/ocaml-modules/cfstream/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, buildDunePackage, fetchFromGitHub, m4, core_kernel, ounit }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "cfstream";
|
||||
version = "1.3.1";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.04.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "biocaml";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0qnxfp6y294gjsccx7ksvwn9x5q20hi8sg24rjypzsdkmlphgdnd";
|
||||
};
|
||||
|
||||
patches = [ ./git_commit.patch ];
|
||||
|
||||
# This currently fails with dune
|
||||
strictDeps = false;
|
||||
|
||||
nativeBuildInputs = [ m4 ];
|
||||
checkInputs = [ ounit ];
|
||||
propagatedBuildInputs = [ core_kernel ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Simple Core-inspired wrapper for standard library Stream module";
|
||||
maintainers = [ maintainers.bcdarwin ];
|
||||
license = licenses.lgpl21;
|
||||
};
|
||||
}
|
||||
13
pkgs/development/ocaml-modules/cfstream/git_commit.patch
Normal file
13
pkgs/development/ocaml-modules/cfstream/git_commit.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/lib/dune b/lib/dune
|
||||
index 2266b87..344c704 100644
|
||||
--- a/lib/dune
|
||||
+++ b/lib/dune
|
||||
@@ -8,7 +8,7 @@
|
||||
(rule
|
||||
(targets GIT_COMMIT)
|
||||
(deps (:x ../bin/git_commit.sh))
|
||||
- (action (with-stdout-to %{targets} (run %{x})))
|
||||
+ (action (with-stdout-to %{targets} (run echo None)))
|
||||
)
|
||||
|
||||
(rule
|
||||
41
pkgs/development/ocaml-modules/chacha/default.nix
Normal file
41
pkgs/development/ocaml-modules/chacha/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib
|
||||
, buildDunePackage
|
||||
, fetchurl
|
||||
, ocaml
|
||||
|
||||
, alcotest
|
||||
, cstruct
|
||||
, mirage-crypto
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "chacha";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/abeaumont/ocaml-chacha/releases/download/${version}/${pname}-${version}.tbz";
|
||||
sha256 = "sha256-t8dOMQQDpje0QbuOhjSIa3xnXuXcxMVTLENa/rwdgA4=";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.02";
|
||||
|
||||
propagatedBuildInputs = [ cstruct mirage-crypto ];
|
||||
|
||||
# alcotest isn't available for OCaml < 4.05 due to fmt
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.05";
|
||||
checkInputs = [ alcotest ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/abeaumont/ocaml-chacha";
|
||||
description = "ChaCha20, ChaCha12 and ChaCha8 encryption functions, in OCaml";
|
||||
longDescription = ''
|
||||
An OCaml implementation of ChaCha functions, both ChaCha20 and the reduced
|
||||
ChaCha8 and ChaCha12 functions. The hot loop is implemented in C for efficiency
|
||||
reasons.
|
||||
'';
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [ fufexan ];
|
||||
};
|
||||
}
|
||||
20
pkgs/development/ocaml-modules/charInfo_width/default.nix
Normal file
20
pkgs/development/ocaml-modules/charInfo_width/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ lib, fetchzip, buildDunePackage, camomile, result }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "charInfo_width";
|
||||
version = "1.1.0";
|
||||
useDune2 = true;
|
||||
src = fetchzip {
|
||||
url = "https://bitbucket.org/zandoye/charinfo_width/get/${version}.tar.bz2";
|
||||
sha256 = "19mnq9a1yr16srqs8n6hddahr4f9d2gbpmld62pvlw1ps7nfrp9w";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ camomile result ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://bitbucket.org/zandoye/charinfo_width/";
|
||||
description = "Determine column width for a character";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
};
|
||||
}
|
||||
48
pkgs/development/ocaml-modules/checkseum/default.nix
Normal file
48
pkgs/development/ocaml-modules/checkseum/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib, fetchurl, buildDunePackage, dune-configurator, pkg-config
|
||||
, bigarray-compat, optint
|
||||
, fmt, rresult, bos, fpath, astring, alcotest
|
||||
, withFreestanding ? false
|
||||
, ocaml-freestanding
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
version = "0.3.2";
|
||||
pname = "checkseum";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.07";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-v${version}.tbz";
|
||||
sha256 = "9cdd282ea1cfc424095d7284e39e4d0ad091de3c3f2580539d03f6966d45ccd5";
|
||||
};
|
||||
|
||||
buildInputs = [ dune-configurator ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
propagatedBuildInputs = [
|
||||
bigarray-compat
|
||||
optint
|
||||
] ++ lib.optionals withFreestanding [
|
||||
ocaml-freestanding
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
alcotest
|
||||
bos
|
||||
astring
|
||||
fmt
|
||||
fpath
|
||||
rresult
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "ADLER-32 and CRC32C Cyclic Redundancy Check";
|
||||
homepage = "https://github.com/mirage/checkseum";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
mainProgram = "checkseum.checkseum";
|
||||
};
|
||||
}
|
||||
35
pkgs/development/ocaml-modules/cil/default.nix
Normal file
35
pkgs/development/ocaml-modules/cil/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchurl, perl, ocaml, findlib, ocamlbuild }:
|
||||
|
||||
if lib.versionAtLeast ocaml.version "4.06"
|
||||
then throw "cil is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml-cil";
|
||||
version = "1.7.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/cil/cil-${version}.tar.gz";
|
||||
sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl ocaml findlib ocamlbuild ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace Makefile.in --replace 'MACHDEPCC=gcc' 'MACHDEPCC=$(CC)'
|
||||
export FORCE_PERL_PREFIX=1
|
||||
'';
|
||||
prefixKey = "-prefix=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://kerneis.github.io/cil/";
|
||||
description = "A front-end for the C programming language that facilitates program analysis and transformation";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.vbgl ];
|
||||
platforms = ocaml.meta.platforms or [ ];
|
||||
};
|
||||
}
|
||||
33
pkgs/development/ocaml-modules/cmdliner/1_0.nix
Normal file
33
pkgs/development/ocaml-modules/cmdliner/1_0.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, result }:
|
||||
|
||||
assert (lib.versionAtLeast ocaml.version "4.03");
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cmdliner";
|
||||
version = "1.0.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
|
||||
sha256 = "1h04q0zkasd0mw64ggh4y58lgzkhg6yhzy60lab8k8zq9ba96ajw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
installTargets = "install install-doc";
|
||||
installFlags = [
|
||||
"LIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/${pname}"
|
||||
"DOCDIR=$(out)/share/doc/${pname}"
|
||||
];
|
||||
postInstall = ''
|
||||
mv $out/lib/ocaml/${ocaml.version}/site-lib/${pname}/{opam,${pname}.opam}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://erratique.ch/software/cmdliner";
|
||||
description = "An OCaml module for the declarative definition of command line interfaces";
|
||||
license = licenses.isc;
|
||||
inherit (ocaml.meta) platforms;
|
||||
maintainers = [ maintainers.vbgl ];
|
||||
};
|
||||
}
|
||||
32
pkgs/development/ocaml-modules/cmdliner/1_1.nix
Normal file
32
pkgs/development/ocaml-modules/cmdliner/1_1.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, result }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cmdliner";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
|
||||
sha256 = "sha256-oa6Hw6eZQO+NHdWfdED3dtHckm4BmEbdMiAuRkYntfs=";
|
||||
};
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
nativeBuildInputs = [ ocaml ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
installTargets = "install install-doc";
|
||||
installFlags = [
|
||||
"LIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/${pname}"
|
||||
"DOCDIR=$(out)/share/doc/${pname}"
|
||||
];
|
||||
postInstall = ''
|
||||
mv $out/lib/ocaml/${ocaml.version}/site-lib/${pname}/{opam,${pname}.opam}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://erratique.ch/software/cmdliner";
|
||||
description = "An OCaml module for the declarative definition of command line interfaces";
|
||||
license = licenses.isc;
|
||||
inherit (ocaml.meta) platforms;
|
||||
maintainers = [ maintainers.vbgl ];
|
||||
};
|
||||
}
|
||||
60
pkgs/development/ocaml-modules/cohttp/async.nix
Normal file
60
pkgs/development/ocaml-modules/cohttp/async.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{ lib
|
||||
, buildDunePackage
|
||||
, ppx_sexp_conv
|
||||
, base
|
||||
, async
|
||||
, async_kernel
|
||||
, async_unix
|
||||
, cohttp
|
||||
, conduit-async
|
||||
, uri
|
||||
, uri-sexp
|
||||
, logs
|
||||
, fmt
|
||||
, sexplib0
|
||||
, ipaddr
|
||||
, magic-mime
|
||||
, ounit
|
||||
, mirage-crypto
|
||||
, core
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "cohttp-async";
|
||||
|
||||
inherit (cohttp)
|
||||
version
|
||||
src
|
||||
minimumOCamlVersion
|
||||
useDune2
|
||||
;
|
||||
|
||||
buildInputs = [ ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cohttp
|
||||
conduit-async
|
||||
async_kernel
|
||||
async_unix
|
||||
async
|
||||
base
|
||||
magic-mime
|
||||
logs
|
||||
fmt
|
||||
sexplib0
|
||||
uri
|
||||
uri-sexp
|
||||
ipaddr
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [
|
||||
ounit
|
||||
mirage-crypto
|
||||
core
|
||||
];
|
||||
|
||||
meta = cohttp.meta // {
|
||||
description = "CoHTTP implementation for the Async concurrency library";
|
||||
};
|
||||
}
|
||||
32
pkgs/development/ocaml-modules/cohttp/default.nix
Normal file
32
pkgs/development/ocaml-modules/cohttp/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, fetchurl, buildDunePackage
|
||||
, ppx_sexp_conv, base64, jsonm, re, stringext, uri-sexp
|
||||
, ocaml, fmt, alcotest
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "cohttp";
|
||||
version = "4.0.0";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ocaml-cohttp/releases/download/v${version}/cohttp-v${version}.tbz";
|
||||
sha256 = "bd7aa4cd2c82744990ed7c49e3ee7a40324c64cb3d8509804809155e2bacd1d2";
|
||||
};
|
||||
|
||||
buildInputs = [ jsonm ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [ base64 re stringext uri-sexp ];
|
||||
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.05";
|
||||
checkInputs = [ fmt alcotest ];
|
||||
|
||||
meta = {
|
||||
description = "HTTP(S) library for Lwt, Async and Mirage";
|
||||
license = lib.licenses.isc;
|
||||
maintainers = [ lib.maintainers.vbgl ];
|
||||
homepage = "https://github.com/mirage/ocaml-cohttp";
|
||||
};
|
||||
}
|
||||
28
pkgs/development/ocaml-modules/cohttp/lwt-unix.nix
Normal file
28
pkgs/development/ocaml-modules/cohttp/lwt-unix.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, buildDunePackage, cohttp-lwt
|
||||
, conduit-lwt-unix, conduit-lwt, ppx_sexp_conv
|
||||
, cmdliner, fmt, logs, magic-mime
|
||||
, ounit
|
||||
, cacert
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "cohttp-lwt-unix";
|
||||
inherit (cohttp-lwt) version src;
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
buildInputs = [ cmdliner ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cohttp-lwt conduit-lwt conduit-lwt-unix fmt logs magic-mime
|
||||
];
|
||||
|
||||
# TODO(@sternenseemann): fail for unknown reason
|
||||
# https://github.com/mirage/ocaml-cohttp/issues/675#issuecomment-830692742
|
||||
doCheck = false;
|
||||
checkInputs = [ ounit cacert ];
|
||||
|
||||
meta = cohttp-lwt.meta // {
|
||||
description = "CoHTTP implementation for Unix and Windows using Lwt";
|
||||
};
|
||||
}
|
||||
21
pkgs/development/ocaml-modules/cohttp/lwt.nix
Normal file
21
pkgs/development/ocaml-modules/cohttp/lwt.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ lib, buildDunePackage, cohttp, ocaml_lwt, uri, ppx_sexp_conv, logs, sexplib0 }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "cohttp-lwt";
|
||||
inherit (cohttp)
|
||||
version
|
||||
src
|
||||
useDune2
|
||||
minimumOCamlVersion
|
||||
;
|
||||
|
||||
buildInputs = [ ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cohttp ocaml_lwt logs sexplib0 uri
|
||||
];
|
||||
|
||||
meta = cohttp.meta // {
|
||||
description = "CoHTTP implementation using the Lwt concurrency library";
|
||||
};
|
||||
}
|
||||
23
pkgs/development/ocaml-modules/cohttp/mirage.nix
Normal file
23
pkgs/development/ocaml-modules/cohttp/mirage.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ buildDunePackage, cohttp, cohttp-lwt
|
||||
, mirage-flow, mirage-channel, mirage-kv
|
||||
, conduit, conduit-mirage, lwt
|
||||
, astring, magic-mime
|
||||
, ppx_sexp_conv
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "cohttp-mirage";
|
||||
|
||||
inherit (cohttp) version src minimumOCamlVersion useDune2;
|
||||
|
||||
nativeBuildInputs = [ ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
mirage-flow mirage-channel conduit conduit-mirage mirage-kv
|
||||
lwt cohttp cohttp-lwt astring magic-mime
|
||||
];
|
||||
|
||||
meta = cohttp.meta // {
|
||||
description = "CoHTTP implementation for the MirageOS unikernel";
|
||||
};
|
||||
}
|
||||
38
pkgs/development/ocaml-modules/coin/default.nix
Normal file
38
pkgs/development/ocaml-modules/coin/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ buildDunePackage
|
||||
, fetchurl
|
||||
, findlib
|
||||
, lib
|
||||
, ocaml
|
||||
, re
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "coin";
|
||||
version = "0.1.4";
|
||||
minimalOCamlVersion = "4.03";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/coin/releases/download/v${version}/coin-${version}.tbz";
|
||||
sha256 = "sha256:0069qqswd1ik5ay3d5q1v1pz0ql31kblfsnv0ax0z8jwvacp3ack";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/dune --replace 'ocaml} ' \
|
||||
'ocaml} -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib '
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ findlib ];
|
||||
buildInputs = [ re ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "A library to normalize an KOI8-{U,R} input to Unicode";
|
||||
homepage = "https://github.com/mirage/coin";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "coin.generate";
|
||||
};
|
||||
}
|
||||
29
pkgs/development/ocaml-modules/color/default.nix
Normal file
29
pkgs/development/ocaml-modules/color/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib
|
||||
, fetchurl
|
||||
, buildDunePackage
|
||||
, gg
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "color";
|
||||
version = "0.2.0";
|
||||
|
||||
useDune2 = true;
|
||||
minimalOCamlVersion = "4.05";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/anuragsoni/color/releases/download/${version}/color-${version}.tbz";
|
||||
sha256 = "0wg3a36i1a7fnz5pf57qzbdghwr6dzp7nnxyrz9m9765lxsn65ph";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gg
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Converts between different color formats";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
homepage = "https://github.com/anuragsoni/color";
|
||||
};
|
||||
}
|
||||
30
pkgs/development/ocaml-modules/conduit/async.nix
Normal file
30
pkgs/development/ocaml-modules/conduit/async.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, buildDunePackage, async, async_ssl, ppx_sexp_conv, ppx_here, uri, conduit
|
||||
, core, ipaddr, ipaddr-sexp, sexplib
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "conduit-async";
|
||||
inherit (conduit)
|
||||
version
|
||||
src
|
||||
minimumOCamlVersion
|
||||
useDune2
|
||||
;
|
||||
|
||||
buildInputs = [ ppx_sexp_conv ppx_here ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
async
|
||||
async_ssl
|
||||
conduit
|
||||
uri
|
||||
ipaddr
|
||||
ipaddr-sexp
|
||||
core
|
||||
sexplib
|
||||
];
|
||||
|
||||
meta = conduit.meta // {
|
||||
description = "A network connection establishment library for Async";
|
||||
};
|
||||
}
|
||||
26
pkgs/development/ocaml-modules/conduit/default.nix
Normal file
26
pkgs/development/ocaml-modules/conduit/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, fetchurl, buildDunePackage
|
||||
, ppx_sexp_conv, sexplib, astring, uri, logs
|
||||
, ipaddr, ipaddr-sexp
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "conduit";
|
||||
version = "4.0.2";
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.03";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ocaml-conduit/releases/download/v${version}/conduit-v${version}.tbz";
|
||||
sha256 = "2a37ffaa352a1e145ef3d80ac28661213c69a741b238623e59f29e3d5a12c537";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ astring ipaddr ipaddr-sexp sexplib uri logs ppx_sexp_conv ];
|
||||
|
||||
meta = {
|
||||
description = "A network connection establishment library";
|
||||
license = lib.licenses.isc;
|
||||
maintainers = with lib.maintainers; [ alexfmpe vbgl ];
|
||||
homepage = "https://github.com/mirage/ocaml-conduit";
|
||||
};
|
||||
}
|
||||
33
pkgs/development/ocaml-modules/conduit/lwt-unix.nix
Normal file
33
pkgs/development/ocaml-modules/conduit/lwt-unix.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ buildDunePackage
|
||||
, conduit-lwt, ppx_sexp_conv, ocaml_lwt, uri, ipaddr, ipaddr-sexp, ca-certs, logs
|
||||
, lwt_ssl, tls, lwt_log, ssl
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "conduit-lwt-unix";
|
||||
inherit (conduit-lwt) version src minimumOCamlVersion useDune2;
|
||||
|
||||
buildInputs = [ ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
conduit-lwt
|
||||
ocaml_lwt
|
||||
uri
|
||||
ipaddr
|
||||
ipaddr-sexp
|
||||
tls
|
||||
ca-certs
|
||||
logs
|
||||
lwt_ssl
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [
|
||||
lwt_log
|
||||
ssl
|
||||
];
|
||||
|
||||
meta = conduit-lwt.meta // {
|
||||
description = "A network connection establishment library for Lwt_unix";
|
||||
};
|
||||
}
|
||||
14
pkgs/development/ocaml-modules/conduit/lwt.nix
Normal file
14
pkgs/development/ocaml-modules/conduit/lwt.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ buildDunePackage, ppx_sexp_conv, conduit, ocaml_lwt, sexplib }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "conduit-lwt";
|
||||
inherit (conduit) version src useDune2 minimumOCamlVersion;
|
||||
|
||||
buildInputs = [ ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [ conduit ocaml_lwt sexplib ];
|
||||
|
||||
meta = conduit.meta // {
|
||||
description = "A network connection establishment library for Lwt";
|
||||
};
|
||||
}
|
||||
25
pkgs/development/ocaml-modules/conduit/mirage.nix
Normal file
25
pkgs/development/ocaml-modules/conduit/mirage.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ buildDunePackage, conduit-lwt
|
||||
, ppx_sexp_conv, sexplib, uri, cstruct, mirage-stack, mirage-flow
|
||||
, mirage-flow-combinators, mirage-random, mirage-time, mirage-clock
|
||||
, dns-client, vchan, xenstore, tls, tls-mirage, ipaddr, ipaddr-sexp
|
||||
, tcpip, ca-certs-nss
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "conduit-mirage";
|
||||
|
||||
inherit (conduit-lwt) version src minimumOCamlVersion useDune2;
|
||||
|
||||
nativeBuildInputs = [ ppx_sexp_conv ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
sexplib uri cstruct mirage-stack mirage-clock mirage-flow
|
||||
mirage-flow-combinators mirage-random mirage-time
|
||||
dns-client conduit-lwt vchan xenstore tls tls-mirage
|
||||
ipaddr ipaddr-sexp tcpip ca-certs-nss
|
||||
];
|
||||
|
||||
meta = conduit-lwt.meta // {
|
||||
description = "A network connection establishment library for MirageOS";
|
||||
};
|
||||
}
|
||||
25
pkgs/development/ocaml-modules/config-file/default.nix
Normal file
25
pkgs/development/ocaml-modules/config-file/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ stdenv, lib, fetchurl, ocaml, findlib, camlp4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml-config-file";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://forge.ocamlcore.org/frs/download.php/1387/config-file-${version}.tar.gz";
|
||||
sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib camlp4 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://config-file.forge.ocamlcore.org/";
|
||||
platforms = ocaml.meta.platforms or [ ];
|
||||
description = "An OCaml library used to manage the configuration file(s) of an application";
|
||||
license = lib.licenses.lgpl2Plus;
|
||||
maintainers = with lib.maintainers; [ vbgl ];
|
||||
};
|
||||
}
|
||||
19
pkgs/development/ocaml-modules/containers/data.nix
Normal file
19
pkgs/development/ocaml-modules/containers/data.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ buildDunePackage, containers
|
||||
, dune-configurator
|
||||
, gen, iter, qcheck
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "containers-data";
|
||||
|
||||
inherit (containers) src version doCheck useDune2;
|
||||
|
||||
buildInputs = [ dune-configurator ];
|
||||
checkInputs = [ gen iter qcheck ];
|
||||
|
||||
propagatedBuildInputs = [ containers ];
|
||||
|
||||
meta = containers.meta // {
|
||||
description = "A set of advanced datatypes for containers";
|
||||
};
|
||||
}
|
||||
42
pkgs/development/ocaml-modules/containers/default.nix
Normal file
42
pkgs/development/ocaml-modules/containers/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, fetchFromGitHub, buildDunePackage, ocaml
|
||||
, dune-configurator
|
||||
, either, seq
|
||||
, gen, iter, ounit, qcheck, uutf
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
version = "3.6.1";
|
||||
pname = "containers";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "c-cube";
|
||||
repo = "ocaml-containers";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256:1k8xrs3nki8g875sig9f5v6k4vwxrk5gn7ixrlkkys5ksbr4kis7";
|
||||
};
|
||||
|
||||
buildInputs = [ dune-configurator ];
|
||||
propagatedBuildInputs = [ either seq ];
|
||||
|
||||
checkInputs = [ gen iter ounit qcheck uutf ];
|
||||
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.08";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/c-cube/ocaml-containers";
|
||||
description = "A modular standard library focused on data structures";
|
||||
longDescription = ''
|
||||
Containers is a standard library (BSD license) focused on data structures,
|
||||
combinators and iterators, without dependencies on unix. Every module is
|
||||
independent and is prefixed with 'CC' in the global namespace. Some modules
|
||||
extend the stdlib (e.g. CCList provides safe map/fold_right/append, and
|
||||
additional functions on lists).
|
||||
|
||||
It also features optional libraries for dealing with strings, and
|
||||
helpers for unix and threads.
|
||||
'';
|
||||
license = lib.licenses.bsd2;
|
||||
};
|
||||
}
|
||||
98
pkgs/development/ocaml-modules/cooltt/default.nix
Normal file
98
pkgs/development/ocaml-modules/cooltt/default.nix
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, buildDunePackage
|
||||
, bwd
|
||||
, cmdliner_1_1
|
||||
, containers
|
||||
, ezjsonm
|
||||
, menhir
|
||||
, menhirLib
|
||||
, ppx_deriving
|
||||
, ppxlib
|
||||
, uuseg
|
||||
, uutf
|
||||
, yuujinchou
|
||||
}:
|
||||
|
||||
let
|
||||
bantorra = buildDunePackage rec {
|
||||
pname = "bantorra";
|
||||
version = "unstable-2022-04-20";
|
||||
src = fetchFromGitHub {
|
||||
owner = "RedPRL";
|
||||
repo = "bantorra";
|
||||
rev = "1e78633d9a2ef7104552a24585bb8bea36d4117b";
|
||||
sha256 = "sha256:15v1cggm7awp11iwl3lzpaar91jzivhdxggp5mr48gd28kfipzk2";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ ezjsonm ];
|
||||
|
||||
meta = {
|
||||
description = "Extensible Library Management and Path Resolution";
|
||||
homepage = "https://github.com/RedPRL/bantorra";
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
};
|
||||
kado = buildDunePackage rec {
|
||||
pname = "kado";
|
||||
version = "unstable-2022-04-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "RedPRL";
|
||||
repo = "kado";
|
||||
rev = "8dce50e7d759d482b82565090e550d3860d64729";
|
||||
sha256 = "sha256:1xb754fha4s0bgjfqjxzqljvalmkfdwdn5y4ycsp51wiah235bsy";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ bwd ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Cofibrations in Cartecian Cubical Type Theory";
|
||||
homepage = "https://github.com/RedPRL/kado";
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
buildDunePackage {
|
||||
pname = "cooltt";
|
||||
version = "unstable-2022-04-28";
|
||||
|
||||
minimalOCamlVersion = "4.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "RedPRL";
|
||||
repo = "cooltt";
|
||||
rev = "88511e10cb9e17286f585882dee334f3d8ace47c";
|
||||
sha256 = "sha256:1n9bh86r2n9s3mm7ayfzwjbnjqcphpsf8yqnf4whd3yi930sqisw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmdliner_1_1
|
||||
menhir
|
||||
ppxlib
|
||||
];
|
||||
|
||||
buildInputs = [ containers ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
bantorra
|
||||
bwd
|
||||
ezjsonm
|
||||
kado
|
||||
menhirLib
|
||||
ppx_deriving
|
||||
uuseg
|
||||
uutf
|
||||
yuujinchou
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/RedPRL/cooltt";
|
||||
description = "A cool implementation of normalization by evaluation (nbe) & elaboration for Cartesian cubical type theory";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fortuneteller2k ];
|
||||
};
|
||||
}
|
||||
30
pkgs/development/ocaml-modules/cow/default.nix
Normal file
30
pkgs/development/ocaml-modules/cow/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, fetchurl, buildDunePackage, alcotest
|
||||
, uri, xmlm, omd, ezjsonm }:
|
||||
|
||||
buildDunePackage rec {
|
||||
useDune2 = true;
|
||||
minimumOCamlVersion = "4.02.3";
|
||||
|
||||
version = "2.4.0";
|
||||
pname = "cow";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ocaml-cow/releases/download/v${version}/cow-v${version}.tbz";
|
||||
sha256 = "1x77lwpskda4zyikwxh500xjn90pgdwz6jm7ca7f36pyav4vl6zx";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ xmlm uri ezjsonm omd ];
|
||||
checkInputs = [ alcotest ];
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Caml on the Web";
|
||||
longDescription = ''
|
||||
Writing web-applications requires a lot of skills: HTML, XML, JSON and
|
||||
Markdown, to name but a few! This library provides OCaml combinators
|
||||
for these web formats.
|
||||
'';
|
||||
license = licenses.isc;
|
||||
maintainers = [ maintainers.sternenseemann ];
|
||||
};
|
||||
}
|
||||
41
pkgs/development/ocaml-modules/cpdf/default.nix
Normal file
41
pkgs/development/ocaml-modules/cpdf/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, stdenv, fetchFromGitHub, ocaml, findlib, camlpdf, ncurses }:
|
||||
|
||||
if lib.versionOlder ocaml.version "4.10"
|
||||
then throw "cpdf is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml${ocaml.version}-cpdf";
|
||||
version = "2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johnwhitington";
|
||||
repo = "cpdf-source";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256:1qmx229nij7g6qmiacmyy4mcgx3k9509p4slahivshqm79d6wiwl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ];
|
||||
buildInputs = [ ncurses ];
|
||||
propagatedBuildInputs = [ camlpdf ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $OCAMLFIND_DESTDIR
|
||||
mkdir -p $out/bin
|
||||
cp cpdf $out/bin
|
||||
mkdir -p $out/share/
|
||||
cp -r doc $out/share
|
||||
cp cpdfmanual.pdf $out/share/doc/cpdf/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "PDF Command Line Tools";
|
||||
homepage = "https://www.coherentpdf.com/";
|
||||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.vbgl ];
|
||||
mainProgram = "cpdf";
|
||||
inherit (ocaml.meta) platforms;
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue