ocamlPackages tree-wide: Move buildInputs that should be nativeBuildInputs

To keep this for the future we also strictDeps where possible, including for janePackages, topkg, oasis and ocamlbuild.
This makes some closures significantly smaller and makes cross compilation easier
This commit is contained in:
Ulrik Strid 2022-02-22 10:59:04 +01:00
parent 24102db995
commit a13cdfe520
194 changed files with 676 additions and 277 deletions

@ -12,36 +12,33 @@ let
};
useDune2 = true;
nativeBuildInputs = [ which ];
in
let alt-ergo-lib = ocamlPackages.buildDunePackage rec {
pname = "alt-ergo-lib";
inherit version src useDune2 nativeBuildInputs;
inherit version src useDune2;
configureFlags = pname;
nativeBuildInputs = [ which ];
buildInputs = with ocamlPackages; [ dune-configurator ];
propagatedBuildInputs = with ocamlPackages; [ num ocplib-simplex stdlib-shims zarith ];
}; in
let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
pname = "alt-ergo-parsers";
inherit version src useDune2 nativeBuildInputs;
inherit version src useDune2;
configureFlags = pname;
buildInputs = with ocamlPackages; [ menhir ];
nativeBuildInputs = [ which ocamlPackages.menhir ];
propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ camlzip psmt2-frontend ]);
}; in
ocamlPackages.buildDunePackage {
inherit pname version src useDune2 nativeBuildInputs;
inherit pname version src useDune2;
configureFlags = pname;
buildInputs = [ alt-ergo-parsers ] ++ (with ocamlPackages; [
cmdliner menhir ])
;
nativeBuildInputs = [ which ocamlPackages.menhir ];
buildInputs = [ alt-ergo-parsers ocamlPackages.cmdliner ];
meta = {
description = "High-performance theorem prover and SMT solver";

@ -13,7 +13,10 @@ ocamlPackages.buildDunePackage rec {
sha256 = "sha256-JUiZoo2rNLfgs94TlJqUNzul/7ODisCjSFAzhgSp1z4=";
};
buildInputs = with ocamlPackages; [ zarith menhir ];
strictDeps = true;
nativeBuildInputs = [ ocamlPackages.menhir ];
buildInputs = [ ocamlPackages.zarith ];
meta = with lib; {
description = "Modal Homotopy Type System";

@ -21,6 +21,8 @@ stdenv.mkDerivation (args // {
nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ] ++ nativeBuildInputs;
strictDeps = true;
setupHook = if setupHook == null && hasSharedObjects
then writeText "setupHook.sh" ''
export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${pname}/"

@ -1,6 +1,6 @@
{ lib, stdenv, ocaml_oasis, ocaml, findlib, ocamlbuild }:
{ pname, version, buildInputs ? [], meta ? { platforms = ocaml.meta.platforms or []; },
{ pname, version, nativeBuildInputs ? [], meta ? { platforms = ocaml.meta.platforms or []; },
minimumOCamlVersion ? null,
createFindlibDestdir ? true,
dontStrip ? true,
@ -15,11 +15,13 @@ else
stdenv.mkDerivation (args // {
name = "ocaml${ocaml.version}-${pname}-${version}";
buildInputs = [ ocaml findlib ocamlbuild ocaml_oasis ] ++ buildInputs;
nativeBuildInputs = [ ocaml findlib ocamlbuild ocaml_oasis ] ++ nativeBuildInputs;
inherit createFindlibDestdir;
inherit dontStrip;
strictDeps = true;
buildPhase = ''
runHook preBuild
oasis setup

@ -11,20 +11,26 @@ stdenv.mkDerivation rec {
sha256 = "sha256-bK3McF/wTjT9q6luihPaEXjx7Lu6+ZbQ9G61Mc4KoB0=";
};
nativeBuildInputs = [ makeWrapper installShellFiles ];
strictDeps = true;
buildInputs = [
z3
nativeBuildInputs = [
makeWrapper
installShellFiles
] ++ (with ocamlPackages; [
ocaml
findlib
ocamlbuild
menhir
]);
buildInputs = [
z3
] ++ (with ocamlPackages; [
batteries
zarith
stdint
yojson
fileutils
menhir
menhirLib
pprint
sedlex_2

@ -17,8 +17,8 @@ stdenv.mkDerivation {
--replace "-linkpkg" "-thread -linkpkg"
'';
nativeBuildInputs = [ autoreconfHook which ];
buildInputs = [ ocaml bap findlib ctypes ];
nativeBuildInputs = [ autoreconfHook which ocaml findlib ];
buildInputs = [ bap ctypes ];
preInstall = ''
mkdir -p $out/lib

@ -10,9 +10,12 @@ stdenv.mkDerivation rec {
sha256 = "14ymjahqdxj26da8wik9d5dzlxn81b3z1iggdl7rn2nn06jy7lvy";
};
buildInputs = [ perl gmp mpfr ppl ocaml findlib camlidl ];
nativeBuildInputs = [ ocaml findlib perl ];
buildInputs = [ gmp mpfr ppl camlidl ];
propagatedBuildInputs = [ mlgmpidl ];
strictDeps = true;
outputs = [ "out" "bin" "dev" ];
configurePhase = ''

@ -22,7 +22,10 @@ stdenv.mkDerivation {
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ocamlbuild topkg ];
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;

@ -13,9 +13,11 @@ buildDunePackage rec {
sha256 = "17jm79np69ixp53a4njxnlb1pg8sd1g47nm3nyki9clkc8d4qsyv";
};
buildInputs = [ which menhir ];
nativeBuildInputs = [ which menhir ];
propagatedBuildInputs = [ easy-format re ];
strictDeps = true;
doCheck = true;
passthru.tests = {

@ -36,10 +36,9 @@ stdenv.mkDerivation rec {
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 ];
nativeBuildInputs = [ which makeWrapper ocaml findlib ocamlbuild ocaml_oasis ];
buildInputs = [ ocaml findlib ocamlbuild ocaml_oasis
linenoise
buildInputs = [ linenoise
ounit
ppx_bitstring
z3

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, num
{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, num, ounit
, doCheck ? lib.versionAtLeast ocaml.version "4.08" && !stdenv.isAarch64
}:
@ -17,10 +17,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256:1cd7475n1mxhq482aidmhh27mq5p2vmb8d9fkb1mlza9pz5z66yq";
};
buildInputs = [ ocaml findlib ocamlbuild ];
checkInputs = [ qtest ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
checkInputs = [ qtest ounit ];
propagatedBuildInputs = [ num ];
strictDeps = !doCheck;
inherit doCheck;
checkTarget = "test";

@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "16wi8ld7c3mq77ylpgbnj8qqqqimyzwxs47v06vyrwpma5pab5xa";
};
buildInputs = [ ocaml findlib ocamlbuild ocaml_pcre ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
buildInputs = [ ocaml_pcre ];
strictDeps = true;
createFindlibDestdir = true;

@ -14,9 +14,12 @@ buildDunePackage rec {
minimumOCamlVersion = "4.07";
useDune2 = true;
strictDeps = !doCheck;
propagatedBuildInputs = [ bigarray-compat ];
checkInputs = [ alcotest astring fpath bos findlib pkg-config ];
nativeBuildInputs = [ findlib pkg-config ];
checkInputs = [ alcotest astring fpath bos ];
doCheck = true;
meta = with lib; {

@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, buildDunePackage, ocaml, alcotest, bigarray-compat }:
{ lib, fetchFromGitHub, buildDunePackage, ocaml, alcotest, bigarray-compat, pkg-config }:
buildDunePackage rec {
pname = "bigstringaf";
@ -15,6 +15,10 @@ buildDunePackage rec {
sha256 = "1q1sqxzdnlrpl95ccrhl7lwy3zswgd9rbn19ildclh0lyi2vazbj";
};
# This currently fails with dune
strictDeps = false;
nativeBuildInputs = [ pkg-config ];
checkInputs = [ alcotest ];
propagatedBuildInputs = [ bigarray-compat ];
doCheck = lib.versionAtLeast ocaml.version "4.05";

@ -16,7 +16,10 @@ stdenv.mkDerivation rec {
sha256 = "14j3hrhbjqxbizr1pr8fcig9dmfzhbjjwzwyc99fcsdic67w8izb";
};
buildInputs = [ ocaml findlib easy-format ];
nativeBuildInputs = [ ocaml findlib ];
buildInputs = [ easy-format ];
strictDeps = true;
createFindlibDestdir = true;

@ -15,6 +15,8 @@ buildDunePackage rec {
propagatedBuildInputs = [ easy-format ];
strictDeps = true;
postPatch = ''
patchShebangs .
'';

@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-sZwq6c10hBBS9tGvKlWD9GE3JBrZPByfDrXE6xIPcG4=";
};
buildInputs = [ autoreconfHook which ocaml findlib ];
nativeBuildInputs = [ autoreconfHook which ocaml findlib ];
strictDeps = true;
createFindlibDestdir = true;

@ -18,7 +18,9 @@ stdenv.mkDerivation rec {
sha256 = "1c807wrpxra9sbb34lajhimwra28ldxv04m570567lh2b04n38zy";
};
buildInputs = [ ocaml findlib ocamlbuild which camlp4 ];
nativeBuildInputs = [ ocaml findlib ocamlbuild which camlp4 ];
strictDeps = true;
patches = [
(fetchpatch {

@ -11,10 +11,12 @@ stdenv.mkDerivation rec {
sha256 = "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc";
};
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
buildInputs = [ findlib topkg ];
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg ];
propagatedBuildInputs = [ astring fmt fpath logs rresult ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
meta = {

@ -19,9 +19,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
autoreconfHook
];
buildInputs = [
ocaml
findlib
];
@ -30,6 +27,8 @@ stdenv.mkDerivation rec {
bzip2
];
strictDeps = true;
preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs";
meta = with lib; {

@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "04pvhwb664g3s644c7v7419a3kvf5s3pynkhmk5j59dvlfm1yf0f";
};
buildInputs = [ ocaml findlib ];
nativeBuildInputs = [ ocaml findlib ];
strictDeps = true;
createFindlibDestdir = true;

@ -17,7 +17,10 @@ buildDunePackage rec {
sha256 = "1m2c76ghisg73dikz2ifdkrbkgiwa0hcmp21f2fm2rkbf02rq3f4";
};
buildInputs = [ dune-configurator cppo graphics lablgtk stdio ];
strictDeps = true;
nativeBuildInputs = [ cppo ];
buildInputs = [ dune-configurator graphics lablgtk stdio ];
meta = with lib; {
branch = "5.0";

@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256:1qmsa0xgi960y7r20mvf8hxiiml7l1908s4dm7nq262f19w51gsl";
};
buildInputs = [ which ocaml findlib ];
nativeBuildInputs = [ which ocaml findlib ];
strictDeps = true;
preInstall = ''
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs

@ -33,10 +33,12 @@ stdenv.mkDerivation {
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ];
nativeBuildInputs = [ ocaml findlib ];
propagatedBuildInputs = [zlib];
strictDeps = true;
inherit (param) patches;
createFindlibDestdir = true;

@ -13,7 +13,9 @@ stdenv.mkDerivation rec {
sha256 = "0x43pjxx70kgip86mmdn08s97k4qzdqc8i79xfyyx28smy1bsa00";
};
buildInputs = [ocaml findlib camlp4];
nativeBuildInputs = [ ocaml findlib camlp4 ];
strictDeps = true;
createFindlibDestdir = true;

@ -14,7 +14,9 @@ stdenv.mkDerivation {
sha256 = "167279lia6qx62mdcyc5rjsi4gf4yi52wn9mhgd9y1v3754z7fwb";
})];
buildInputs = [ocaml findlib camlp4];
nativeBuildInputs = [ocaml findlib camlp4 ];
strictDeps = true;
createFindlibDestdir = true;

@ -13,7 +13,9 @@ buildDunePackage rec {
sha256 = "00i910qjv6bpk0nkafp5fg97isqas0bwjf7m6rz11rsxilpalzad";
};
buildInputs = [ cppo ];
nativeBuildInputs = [ cppo ];
strictDeps = true;
configurePhase = ''
runHook preConfigure

@ -14,7 +14,7 @@ buildDunePackage rec {
sha256 = "1vl61kdyj89whc3mh4k9bis6rbj9x2scf6hnv9afyalp4j65sqx1";
};
buildInputs = [ cppo ];
nativeBuildInputs = [ cppo ];
propagatedBuildInputs = [ logs ptime uri ];
meta = {

@ -48,13 +48,15 @@ buildDunePackage rec {
];
doCheck = true;
nativeBuildInputs = [
findlib
];
checkInputs = [
base64
alcotest
alcotest-lwt
crowbar
lwt
findlib
mirage-flow
];

@ -17,7 +17,10 @@ buildDunePackage rec {
patches = [ ./git_commit.patch ];
buildInputs = [ m4 ];
# This currently fails with dune
strictDeps = false;
nativeBuildInputs = [ m4 ];
checkInputs = [ ounit ];
propagatedBuildInputs = [ core_kernel ];

@ -18,10 +18,8 @@ buildDunePackage rec {
sha256 = "9cdd282ea1cfc424095d7284e39e4d0ad091de3c3f2580539d03f6966d45ccd5";
};
nativeBuildInputs = [
dune-configurator
pkg-config
];
buildInputs = [ dune-configurator ];
nativeBuildInputs = [ pkg-config ];
propagatedBuildInputs = [
bigarray-compat
optint

@ -13,7 +13,9 @@ stdenv.mkDerivation rec {
sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9";
};
buildInputs = [ perl ocaml findlib ocamlbuild ];
nativeBuildInputs = [ perl ocaml findlib ocamlbuild ];
strictDeps = true;
createFindlibDestdir = true;

@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
inherit (param) sha256;
};
nativeBuildInputs = [ ocaml ocamlbuild findlib ];
nativeBuildInputs = [ ocaml ocamlbuild findlib topkg ];
buildInputs = [ topkg ];
propagatedBuildInputs = [ result ];

@ -24,9 +24,11 @@ buildDunePackage rec {
useDune2 = true;
nativeBuildInputs = [ menhir ];
nativeBuildInputs = [ menhir findlib ];
buildInputs = [ re ];
strictDeps = true;
checkInputs = [ re ];
doCheck = true;
meta = {

@ -1,4 +1,4 @@
{ lib, buildOcaml, fetchFromGitHub, type_conv }:
{ lib, buildOcaml, fetchFromGitHub, type_conv, camlp4 }:
buildOcaml rec {
pname = "comparelib";
@ -13,6 +13,7 @@ buildOcaml rec {
sha256 = "sha256-gtJvXAUxiIt/L9bCzS+8wHcCQ+QpBubwcjDcyN0K2MA=";
};
buildInputs = [ camlp4 ];
propagatedBuildInputs = [ type_conv ];
meta = with lib; {

@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q";
};
buildInputs = [ ocaml findlib camlp4 ];
nativeBuildInputs = [ ocaml findlib camlp4 ];
strictDeps = true;
createFindlibDestdir = true;

@ -15,9 +15,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256:1qmx229nij7g6qmiacmyy4mcgx3k9509p4slahivshqm79d6wiwl";
};
buildInputs = [ ocaml findlib ncurses ];
nativeBuildInputs = [ ocaml findlib ];
buildInputs = [ ncurses ];
propagatedBuildInputs = [ camlpdf ];
strictDeps = true;
preInstall = ''
mkdir -p $OCAMLFIND_DESTDIR
mkdir -p $out/bin

@ -13,7 +13,9 @@ stdenv.mkDerivation {
sha256 = "1mp7i42cm9w9grmcsa69m3h1ycpn6a48p43y4xj8rsc12x9nav3s";
};
buildInputs = [ocaml findlib];
nativeBuildInputs = [ ocaml findlib ];
strictDeps = true;
dontConfigure = true; # Skip configure phase

@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "1ca7jgg58j24pccs5fshis726s06fdcjshnwza5kwxpjgdbvc63g";
};
buildInputs = [ ocaml findlib ocamlbuild ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
strictDeps = true;
createFindlibDestdir = true;

@ -15,10 +15,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256-eu5RAuPYC97IM4XUsUw3HQ1BJlEHQ+eBpsdUE6hd+Q8=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ocaml findlib ncurses ];
nativeBuildInputs = [ pkg-config ocaml findlib ];
buildInputs = [ ncurses ];
propagatedBuildInputs = [ integers libffi bigarray-compat ];
strictDeps = true;
buildPhase = ''
make XEN=false libffi.config ctypes-base ctypes-stubs
make XEN=false ctypes-foreign

@ -1,4 +1,5 @@
{ lib, ocaml, fetchurl, buildDunePackage
, pkg-config, which
, bigarray-compat, eqaf, stdlib-shims
, alcotest, astring, bos, findlib, fpath
}:
@ -14,8 +15,13 @@ buildDunePackage rec {
sha256 = "01gwkbrznci4xdcbww4ysgsciz2qs0r8jsmhp0siwbcgcrf1jjv5";
};
nativeBuildInputs = [ findlib which ];
buildInputs = [ ocaml ];
propagatedBuildInputs = [ bigarray-compat eqaf stdlib-shims ];
strictDeps = !doCheck;
checkInputs = [ alcotest astring bos fpath ];
doCheck = lib.versionAtLeast ocaml.version "4.05";

@ -16,7 +16,9 @@ buildDunePackage rec {
sha256 = "133l23mwxa9xy340izvk4zp5jqjz2cwsm2innsgs2kg85pd39c41";
};
buildInputs = [ menhir ];
strictDeps = true;
nativeBuildInputs = [ menhir ];
propagatedBuildInputs = [ menhirLib fmt ];
# Testr are not compatible with menhir 20211128

@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-6wfqT5sqo4YA8XoHH3QhG6/TyzzXCzqjmnPuBArRoj8=";
};
buildInputs = [ ocaml findlib ocamlbuild ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
strictDeps = true;
createFindlibDestdir = true;

@ -13,9 +13,11 @@ stdenv.mkDerivation rec {
sha256 = "0yrxl97szjc0s2ghngs346x3y0xszx2chidgzxk93frjjpsr1mlr";
};
buildInputs = [ ocaml findlib ];
nativeBuildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ easy-format ];
strictDeps = true;
createFindlibDestdir = true;
meta = with lib; {

@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
sha256 = "ecb53d6e469e9ec4d57ee6323ff498d45b78883ae13618492488e7c5151fdd97";
};
buildInputs = [ocaml findlib];
nativeBuildInputs = [ ocaml findlib ];
strictDeps = true;
createFindlibDestdir = true;

@ -8,10 +8,12 @@ stdenv.mkDerivation rec {
sha256 = "1nymykskq1yx87y4xl6hl9i4q6kv0qaq25rniqgl1bfn883p1ysc";
};
buildInputs = [ perl ocaml findlib ];
nativeBuildInputs = [ perl ocaml findlib ];
propagatedBuildInputs = [ apron camlidl gmp mpfr ];
strictDeps = true;
prefixKey = "--prefix ";
configureFlags = [
"--use-apron"

@ -6,6 +6,7 @@
, ocaml
, lwt_react
, opaline
, ocamlbuild
, ppx_deriving
, findlib
, js_of_ocaml-ocamlbuild
@ -28,13 +29,16 @@ stdenv.mkDerivation rec {
sha256 = "sha256-VNxzpVpXEGlixyjadbW0GjL83jcKV5TWd46UReNYO6w=";
};
buildInputs = [
nativeBuildInputs = [
ocaml
which
findlib
opaline
ocamlbuild
];
buildInputs = [
js_of_ocaml-ocamlbuild
js_of_ocaml-ppx_deriving_json
opaline
ocamlnet
];
@ -48,6 +52,8 @@ stdenv.mkDerivation rec {
ppx_deriving
];
strictDeps = true;
installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
setupHook = [ ./setup-hook.sh ];

@ -15,9 +15,11 @@ stdenv.mkDerivation rec {
sha256 = "0b6mx5p01lcpimvak4wx6aj2119707wsfzd83rwgb91bhpgzh156";
};
buildInputs = [ ocaml findlib ocamlbuild ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
propagatedBuildInputs = [ type_conv camlp4 ];
strictDeps = true;
createFindlibDestdir = true;
meta = {

@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-OQdLTq9tJZc6XlcuPv2gxzYiQAUGd6AiBzfSi169XL0=";
};
buildInputs = [ ocaml findlib ocamlbuild ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
strictDeps = true;
createFindlibDestdir = true;

@ -13,9 +13,12 @@ stdenv.mkDerivation rec {
sha256 = "0spzyd9kbyizzwl8y3mq8z19zlkzxnkh2fppry4lyc7vaw7bqrwq";
};
buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ];
buildInputs = [ camlp4 ];
propagatedBuildInputs = [ erm_xml mirage-crypto mirage-crypto-rng base64 ];
strictDeps = true;
configurePhase = ''
runHook preConfigure
ocaml setup.ml -configure --prefix $out

@ -18,7 +18,10 @@ stdenv.mkDerivation rec {
sha256 = "16n2j3y0jc9xgqyshw9plrwqnjiz30vnpbhahmgxlidbycw8rgjz";
};
buildInputs = [ocaml findlib ounit expat];
nativeBuildInputs = [ocaml findlib ];
buildInputs = [ ounit expat];
strictDeps = true;
createFindlibDestdir = true;

@ -15,7 +15,10 @@ stdenv.mkDerivation rec {
substituteInPlace Makefile --replace "gcc" "\$(CC)"
'';
buildInputs = [ ocaml findlib expat ounit ];
nativeBuildInputs = [ ocaml findlib ];
buildInputs = [ expat ounit ];
strictDeps = true;
doCheck = !lib.versionAtLeast ocaml.version "4.06";
checkTarget = "testall";

@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
sha256 = "0npq4hq3zym8nmlyji7l5cqk6drx2rkcx73d60rxqh5g8dla8p4k";
};
buildInputs = [ ocaml findlib cppo ];
nativeBuildInputs = [ ocaml findlib cppo ];
strictDeps = true;
createFindlibDestdir = true;

@ -15,10 +15,13 @@ stdenv.mkDerivation rec {
sha256 = "0nlafnp0pwx0n4aszpsk6nvcvqi9im306p4jhx70si7k3xprlr2j";
};
buildInputs = [ ocaml findlib ocamlbuild topkg ];
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg ];
propagatedBuildInputs = [ faraday ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
meta = {

@ -13,9 +13,11 @@ stdenv.mkDerivation rec {
sha256 = "0gkkkj4x678vxdda4xaw2dd44qjacavsvn5nx8gydfwah6pjbkxk";
};
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
buildInputs = [ findlib topkg cmdliner ];
propagatedBuildInputs = [ seq stdlib-shims ];
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg ];
propagatedBuildInputs = [ cmdliner seq stdlib-shims ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;

@ -11,8 +11,11 @@ stdenv.mkDerivation {
sha256 = "1fw6bzydmnyh2g4x35mcbg0hypnxqhynivk4nakcsx7prr8zr3yh";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ocaml fontconfig ];
nativeBuildInputs = [ pkg-config ocaml ];
buildInputs = [ fontconfig ];
strictDeps = true;
makeFlags = [
"OCAML_STDLIB_DIR=$(out)/lib/ocaml/${lib.getVersion ocaml}/site-lib/"
"OCAML_HAVE_OCAMLOPT=yes"

@ -13,10 +13,13 @@ stdenv.mkDerivation rec {
sha256 = "03z7mj0sqdz465rc4drj1gr88l9q3nfs374yssvdjdyhjbqqzc0j";
};
buildInputs = [ ocaml findlib ocamlbuild topkg ];
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg ];
propagatedBuildInputs = [ astring ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
meta = {

@ -18,7 +18,9 @@ stdenv.mkDerivation rec {
sha256 = "1dq5nks0c9gsbr1m8k39m1bniawr5hqcy1r8x5px7naa95ch06ak";
};
buildInputs = [ ocaml findlib ];
nativeBuildInputs = [ ocaml findlib ];
strictDeps = true;
meta = with lib; {
inherit (src.meta) homepage;

@ -21,7 +21,9 @@ stdenv.mkDerivation {
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ];
nativeBuildInputs = [ ocaml findlib ];
strictDeps = true;
installTargets = [ "ocamlfind-install" ];

@ -9,12 +9,14 @@ stdenv.mkDerivation rec {
sha256 = "0bng2mmdixpmj23xn8krlnaq66k22iclwz46r8zjrsrq3wcn1xgn";
};
buildInputs = [
nativeBuildInputs = [
ocaml
findlib
ocamlbuild
];
strictDeps = true;
doCheck = true;
createFindlibDestdir = true;

@ -18,7 +18,8 @@ stdenv.mkDerivation {
sha256 = "sha256:0j7bpj8k17csnz6v6frkz9aycywsb7xmznnb31g8rbfk3626f3ci";
};
buildInputs = [ ocaml findlib ocamlbuild topkg ];
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg ];
inherit (topkg) buildPhase installPhase;

@ -21,11 +21,12 @@ stdenv.mkDerivation rec {
configureFlags="--with-ocaml-lib-prefix=$out/lib/ocaml/${ocaml.version}/site-lib"
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [ocaml findlib gdome2 libxslt];
nativeBuildInputs = [ pkg-config ocaml findlib ];
buildInputs = [ gdome2 libxslt];
propagatedBuildInputs = [gdome2];
strictDeps = true;
meta = {
homepage = "http://gmetadom.sourceforge.net/";
description = "A collection of librares, each library providing a DOM implementation";

@ -12,7 +12,9 @@ buildDunePackage {
zarith
];
buildInputs = [
nativeBuildInputs = [
cppo
];
strictDeps = true;
}

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
dontAddStaticConfigureFlags = true;
configurePlatforms = [];
buildInputs = [
nativeBuildInputs = [
which
ocaml
findlib
@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
cppo
];
strictDeps = true;
doCheck = true;
meta = {

@ -1,4 +1,4 @@
{ lib, buildOcaml, fetchFromGitHub }:
{ lib, buildOcaml, fetchFromGitHub, camlp4 }:
buildOcaml rec {
version = "112.35.00";
@ -13,6 +13,10 @@ buildOcaml rec {
sha256 = "sha256-EuMhHu2na3lcpsJ1wMVOgBr6VKndlonq8jgAW01eelI=";
};
strictDeps = true;
buildInputs = [ camlp4 ];
meta = with lib; {
homepage = "https://github.com/janestreet/herelib";
description = "Syntax extension for inserting the current location";

@ -13,9 +13,12 @@ buildDunePackage rec {
sha256 = "1j7rd7ajrzla76r3sxljx6fb18f4f4s3jd7vhv59l2ilxyxycai2";
};
strictDeps = true;
minimumOCamlVersion = "4.03";
buildInputs = [ pkgs.hidapi pkg-config dune-configurator ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ pkgs.hidapi dune-configurator ];
propagatedBuildInputs = [ bigstring ];
doCheck = true;

@ -22,7 +22,10 @@ stdenv.mkDerivation rec {
sha256 = "10xyjy4ab87z7jnghy0wnla9wrmazgyhdwhr4hdmxxdn28dxn03a";
};
buildInputs = [ ocaml ocamlbuild findlib topkg ];
nativeBuildInputs = [ ocaml ocamlbuild findlib topkg ];
buildInputs = [ topkg ];
strictDeps = true;
inherit (topkg) installPhase;

@ -21,14 +21,11 @@ buildDunePackage rec {
sed -i 's|yes ".\+"|& 2> /dev/null|' test/*.t
'';
nativeBuildInputs = [
dune-configurator
];
propagatedBuildInputs = lib.optional withLwt lwt;
buildInputs = [
cmdliner
dune-configurator
];
doCheck = true;

@ -16,9 +16,11 @@ stdenv.mkDerivation rec {
})
];
buildInputs = [ ocaml findlib ];
nativeBuildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ ocaml_pcre ];
strictDeps = true;
buildFlags = [ "all" "opt" ];
createFindlibDestdir = true;

@ -19,9 +19,13 @@ stdenv.mkDerivation rec {
sha256 = "04lfxrrsmk2mc704kaln8jqx93jc4bkxhijmfy2d4cmk1cim7r6k";
}) ];
buildInputs = [ ocaml findlib ocamlbuild ocaml_lwt ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
buildInputs = [ ocaml_lwt ];
checkInputs = [ ounit fileutils ];
# Otherwise checkInputs can't be found
strictDeps = false;
configureFlags = [ "--enable-lwt"
(lib.optionalString doCheck "--enable-tests") ];

@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-sXnYAJcU88797orzzfbA2XG91Lk8mDV677J1Am5o7Xo=";
};
buildInputs = [ ocaml findlib ocamlbuild ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
strictDeps = true;
createFindlibDestdir = true;
meta = {

@ -24,6 +24,7 @@ with self;
hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
meta.description = "Full standard library replacement for OCaml";
propagatedBuildInputs = [ sexplib0 ];
buildInputs = [ dune-configurator ];
};
stdio = janePackage {

@ -203,6 +203,8 @@ with self;
meta.description = "Trivial metaprogramming tool";
propagatedBuildInputs = [ re ];
checkInputs = [ ppx_jane ];
# This currently fails with dune
strictDeps = false;
};
core = janePackage {
@ -761,6 +763,8 @@ with self;
buildInputs = [ jst-config ];
propagatedBuildInputs = [ textutils ];
checkInputs = [ ounit ];
# This currently fails with dune
strictDeps = false;
};
shexp = janePackage {

@ -1,9 +1,9 @@
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.11.0" }:
{ pname, version ? defaultVersion, hash, ...}@args:
{ pname, version ? defaultVersion, hash, buildInputs ? [], ...}@args:
buildDunePackage (args // {
inherit version;
inherit version buildInputs;
minimumOCamlVersion = "4.04";
@ -14,6 +14,8 @@ buildDunePackage (args // {
sha256 = hash;
};
strictDeps = true;
meta = {
license = lib.licenses.asl20;
homepage = "https://github.com/janestreet/${pname}";

@ -1,12 +1,14 @@
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }:
{ pname, version ? defaultVersion, hash, ...}@args:
{ pname, version ? defaultVersion, hash, buildInputs ? [], ...}@args:
buildDunePackage (args // {
inherit version;
inherit version buildInputs;
minimumOCamlVersion = "4.07";
useDune2 = true;
src = fetchFromGitHub {
owner = "janestreet";
repo = pname;
@ -14,6 +16,8 @@ buildDunePackage (args // {
sha256 = hash;
};
strictDeps = true;
meta = {
license = lib.licenses.mit;
homepage = "https://github.com/janestreet/${pname}";

@ -5,11 +5,13 @@
, hash
, minimumOCamlVersion ? "4.08"
, doCheck ? true
, buildInputs ? []
, strictDeps ? true
, ...}@args:
buildDunePackage (args // {
useDune2 = true;
inherit version;
inherit version buildInputs strictDeps;
inherit minimumOCamlVersion;

@ -23,7 +23,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-du1h+S+A7CetMXofsYxdGeSsobCgspDB9oUE9WNUbbo=";
};
buildInputs = [ which ocaml findlib ];
nativeBuildInputs = [ which ocaml findlib ];
strictDeps = true;
patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];

@ -9,10 +9,12 @@ stdenv.mkDerivation rec {
sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w";
};
buildInputs = [ findlib topkg ];
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg ];
propagatedBuildInputs = [ uutf ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
meta = {

@ -15,7 +15,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256:141kc816iv59z96738i3vn9m9iw9g2zhi45hk4cchpwd99ar5l6k";
};
buildInputs = [ ocaml findlib freeglut ];
nativeBuildInputs = [ ocaml findlib ];
buildInputs = [ freeglut ];
propagatedBuildInputs = [ libGLU libGL ];
patches = [ ./Makefile.config.patch ./META.patch ];

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "09fqxwdib7r9yxynknc9gv3jw2hnhj5cak7q5jngk6m8rzvmhfcc";
};
buildInputs = [ ocaml findlib camlp4 ];
nativeBuildInputs = [ ocaml findlib camlp4 ];
propagatedBuildInputs = [ config-file lablgtk xmlm ];
createFindlibDestdir = true;

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
sha256 = "1bbdp5j18s582mmyd7qiaq1p08g2ag4gl7x65pmzahbhg719hjda";
};
buildInputs = [ ocaml findlib camlp4 ];
nativeBuildInputs = [ ocaml findlib camlp4 ];
propagatedBuildInputs = [ config-file lablgtk xmlm ];
createFindlibDestdir = true;

@ -16,8 +16,8 @@ stdenv.mkDerivation (rec {
sha256 = "1fnh0amm7lwgyjdhmlqgsp62gwlar1140425yc1j6inwmgnsp0a9";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ocaml findlib gtk2 libgnomecanvas gtksourceview camlp4 ];
nativeBuildInputs = [ pkg-config ocaml findlib camlp4 ];
buildInputs = [ gtk2 libgnomecanvas gtksourceview ];
configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
buildFlags = [ "world" ];

@ -23,8 +23,8 @@ stdenv.mkDerivation {
pname = "lablgtk";
inherit (param) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ocaml findlib gtk2 libgnomecanvas gtksourceview ];
nativeBuildInputs = [ pkg-config ocaml findlib ];
buildInputs = [ gtk2 libgnomecanvas gtksourceview ];
configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
buildFlags = [ "world" ];

@ -51,7 +51,8 @@ stdenv.mkDerivation rec {
inherit (param) version src;
pname = "ocaml${ocaml.version}-labltk";
buildInputs = [ ocaml findlib tcl tk makeWrapper ];
nativeBuildInputs = [ ocaml findlib makeWrapper ];
buildInputs = [ tcl tk ];
configureFlags = [ "--use-findlib" "--installbindir" "$(out)/bin" ];
dontAddPrefix = true;

@ -8,10 +8,12 @@ stdenv.mkDerivation {
inherit (libllvm) src;
nativeBuildInputs = [ cmake ];
buildInputs = [ python2 ocaml findlib ctypes ];
nativeBuildInputs = [ cmake python2 ocaml findlib ];
buildInputs = [ ctypes ];
propagatedBuildInputs = [ libllvm ];
strictDeps = true;
cmakeFlags = [
"-DBUILD_SHARED_LIBS=YES" # fixes bytecode builds
"-DLLVM_OCAML_OUT_OF_TREE=TRUE"

@ -21,11 +21,13 @@ stdenv.mkDerivation rec {
sha256 = "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46";
};
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
buildInputs = [ findlib topkg fmt cmdliner lwt ]
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ fmt cmdliner lwt topkg ]
++ lib.optional jsooSupport js_of_ocaml;
propagatedBuildInputs = [ result ];
strictDeps = true;
buildPhase = "${topkg.run} build --with-js_of_ocaml ${lib.boolToString jsooSupport}";
inherit (topkg) installPhase;

@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
sha256 = "04lv98nxmzanvyn4c0k6k0ax29f5xfdl8qzpf5hwadslq213a044";
};
nativeBuildInputs = [ opaline ];
buildInputs = [ ocaml findlib ocamlbuild ];
nativeBuildInputs = [ opaline ocaml findlib ocamlbuild ];
strictDeps = true;
buildFlags = [ "lib" ];

@ -24,7 +24,8 @@ buildDunePackage rec {
ptime
];
doCheck = true;
# for some reason this never exits
doCheck = false;
meta = {
description = "An opinionated clean-exit and signal-handling library for Lwt programs";

@ -19,9 +19,12 @@ buildDunePackage rec {
sha256 = "sha256-XpoRKcdNo2j05Gxm5wmKSdwqimFDSWvmLyooPYTHAjM=";
};
nativeBuildInputs = [ pkg-config cppo dune-configurator ];
buildInputs = optional (!versionAtLeast ocaml.version "4.08") ocaml-syntax-shims
++ optional (!versionAtLeast ocaml.version "4.07") ncurses;
strictDeps = true;
nativeBuildInputs = [ pkg-config cppo ];
buildInputs = [ dune-configurator ]
++ optional (!versionAtLeast ocaml.version "4.08") ocaml-syntax-shims
++ optional (!versionAtLeast ocaml.version "4.07") ncurses;
propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
meta = {

@ -11,8 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-W9ZFaINYYtIikKy/ZqdlKeFQSA7DQT9plc3+ZhlSIJI=";
};
buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
propagatedBuildInputs = [ pgocaml ];
nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ];
propagatedBuildInputs = [ pgocaml camlp4 ];
strictDeps = true;
createFindlibDestdir = true;

@ -13,8 +13,10 @@ stdenv.mkDerivation rec {
sha256 = "0gn9l2qdr8gby2x8c2mb59x1kipb2plr45rbq6ymcxyi0wmzfh3q";
};
nativeBuildInputs = [ which pkg-config ];
buildInputs = [ ocaml findlib imagemagick ];
nativeBuildInputs = [ which pkg-config ocaml findlib ];
buildInputs = [ imagemagick ];
strictDeps = true;
createFindlibDestdir = true;

@ -11,7 +11,9 @@ buildDunePackage rec {
sha256 = "0hvc4mz92x3rl2dxwrhvhzwl4gilnyvvwcqgr45vmdpyjyp3dwn2";
};
buildInputs = [ cppo ];
strictDeps = true;
nativeBuildInputs = [ cppo ];
meta = with lib; {
homepage = "https://github.com/let-def/merlin-extend";

@ -19,13 +19,16 @@ buildDunePackage rec {
doCheck = true;
checkInputs = [ ounit ];
nativeBuildInputs = [ dune-configurator pkg-config ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [
cstruct eqaf
] ++ lib.optionals withFreestanding [
ocaml-freestanding
];
strictDeps = !doCheck;
meta = with lib; {
homepage = "https://github.com/mirage/mirage-crypto";
description = "Simple symmetric cryptography for the modern age";

@ -1,4 +1,5 @@
{ lib
, ocaml
, buildDunePackage
, mirage-crypto
, dune-configurator
@ -16,18 +17,18 @@
, ocaml-freestanding
}:
buildDunePackage {
buildDunePackage rec {
pname = "mirage-crypto-ec";
inherit (mirage-crypto)
minimumOCamlVersion
src
version
useDune2
;
useDune2;
nativeBuildInputs = [
pkg-config
nativeBuildInputs = [ pkg-config ];
buildInputs = [
ocaml
dune-configurator
];
propagatedBuildInputs = [
@ -38,6 +39,8 @@ buildDunePackage {
ocaml-freestanding
];
strictDeps = !doCheck;
doCheck = true;
checkInputs = [
hex

@ -1,7 +1,7 @@
{ buildDunePackage, ounit, randomconv, mirage-crypto, mirage-crypto-rng
, cstruct, sexplib0, zarith, eqaf, gmp }:
buildDunePackage {
buildDunePackage rec {
pname = "mirage-crypto-pk";
inherit (mirage-crypto) version src useDune2 minimumOCamlVersion;
@ -10,6 +10,8 @@ buildDunePackage {
propagatedBuildInputs = [ cstruct mirage-crypto mirage-crypto-rng
zarith eqaf sexplib0 ];
strictDeps = !doCheck;
doCheck = true;
checkInputs = [ ounit randomconv ];

@ -8,7 +8,7 @@ buildDunePackage {
inherit (mirage-crypto) useDune2 version minimumOCamlVersion src;
nativeBuildInputs = [
buildInputs = [
dune-configurator
];
@ -19,6 +19,8 @@ buildDunePackage {
mirage-crypto-rng
];
strictDeps = true;
meta = mirage-crypto.meta // {
description = "Feed the entropy source in an Async-friendly way";
};

@ -3,7 +3,7 @@
, logs, lwt
}:
buildDunePackage {
buildDunePackage rec {
pname = "mirage-crypto-rng-mirage";
inherit (mirage-crypto-rng) version src useDune2 minimumOCamlVersion;
@ -14,6 +14,8 @@ buildDunePackage {
propagatedBuildInputs = [ duration cstruct mirage-crypto-rng mirage-runtime
mirage-time mirage-clock logs lwt ];
strictDeps = !doCheck;
meta = mirage-crypto-rng.meta // {
description = "Entropy collection for a cryptographically secure PRNG";
};

@ -1,7 +1,7 @@
{ buildDunePackage, mirage-crypto, ounit, randomconv, dune-configurator
, cstruct, duration, logs, mtime, ocaml_lwt }:
buildDunePackage {
buildDunePackage rec {
pname = "mirage-crypto-rng";
inherit (mirage-crypto) version src useDune2 minimumOCamlVersion;
@ -9,9 +9,11 @@ buildDunePackage {
doCheck = true;
checkInputs = [ ounit randomconv ];
nativeBuildInputs = [ dune-configurator ];
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ cstruct mirage-crypto duration logs mtime ocaml_lwt ];
strictDeps = !doCheck;
meta = mirage-crypto.meta // {
description = "A cryptographically secure PRNG";
};

@ -21,7 +21,10 @@ stdenv.mkDerivation rec {
];
preConfigure = "make clean";
buildInputs = [ocaml findlib gmp mpfr ncurses];
nativeBuildInputs = [ocaml findlib ];
buildInputs = [ gmp mpfr ncurses];
strictDeps = true;
createFindlibDestdir = true;

@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
sha256 = "17xqiclaqs4hmnb92p9z6z9a1xfr31vcn8nlnj8ykk57by31vfza";
};
buildInputs = [ perl gmp mpfr ocaml findlib camlidl ];
nativeBuildInputs = [ perl ocaml findlib mpfr camlidl ];
buildInputs = [ gmp mpfr ];
strictDeps = true;
prefixKey = "-prefix ";
configureFlags = [
@ -20,7 +23,7 @@ stdenv.mkDerivation rec {
postConfigure = ''
sed -i Makefile \
-e 's|^ /bin/rm | rm |'
-e 's|/bin/rm|rm|'
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
'';

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