Merge pull request #162385 from ulrikstrid/ulrikstrid/ocamlpackages-strict-deps-v2

ocamlPackages treewide: strictDeps all packages
This commit is contained in:
Weijia Wang 2023-02-03 11:00:47 +01:00 committed by GitHub
commit 1e17068ae0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
313 changed files with 859 additions and 605 deletions

View File

@ -189,7 +189,22 @@
<literal>doInstallCheck</literal> is set. (Note that this
change will not cause breakage to derivations with
<literal>strictDeps</literal> unset, which are most packages
except python, rust and go packages).
except python, rust, ocaml and go packages).
</para>
</listitem>
<listitem>
<para>
<literal>buildDunePackage</literal> now defaults to
<literal>strictDeps = true</literal> which means that any
library should go into <literal>buildInputs</literal> or
<literal>checkInputs</literal>. Any executable that is run on
the building machine should go into
<literal>nativeBuildInputs</literal> or
<literal>nativeCheckInputs</literal> respectively. Example of
executables are <literal>ocaml</literal>,
<literal>findlib</literal> and <literal>menhir</literal>. PPXs
are libraries which are built by dune and should therefore not
go into <literal>nativeBuildInputs</literal>.
</para>
</listitem>
<listitem>

View File

@ -54,7 +54,9 @@ In addition to numerous new and upgraded packages, this release has the followin
- `carnix` and `cratesIO` has been removed due to being unmaintained, use alternatives such as [naersk](https://github.com/nix-community/naersk) and [crate2nix](https://github.com/kolloch/crate2nix) instead.
- `checkInputs` have been renamed to `nativeCheckInputs`, because they behave the same as `nativeBuildInputs` when `doCheck` is set. `checkInputs` now denote a new type of dependencies, added to `buildInputs` when `doCheck` is set. As a rule of thumb, `nativeCheckInputs` are tools on `$PATH` used during the tests, and `checkInputs` are libraries which are linked to executables built as part of the tests. Similarly, `installCheckInputs` are renamed to `nativeInstallCheckInputs`, corresponding to `nativeBuildInputs`, and `installCheckInputs` are a new type of dependencies added to `buildInputs` when `doInstallCheck` is set. (Note that this change will not cause breakage to derivations with `strictDeps` unset, which are most packages except python, rust and go packages).
- `checkInputs` have been renamed to `nativeCheckInputs`, because they behave the same as `nativeBuildInputs` when `doCheck` is set. `checkInputs` now denote a new type of dependencies, added to `buildInputs` when `doCheck` is set. As a rule of thumb, `nativeCheckInputs` are tools on `$PATH` used during the tests, and `checkInputs` are libraries which are linked to executables built as part of the tests. Similarly, `installCheckInputs` are renamed to `nativeInstallCheckInputs`, corresponding to `nativeBuildInputs`, and `installCheckInputs` are a new type of dependencies added to `buildInputs` when `doInstallCheck` is set. (Note that this change will not cause breakage to derivations with `strictDeps` unset, which are most packages except python, rust, ocaml and go packages).
- `buildDunePackage` now defaults to `strictDeps = true` which means that any library should go into `buildInputs` or `checkInputs`. Any executable that is run on the building machine should go into `nativeBuildInputs` or `nativeCheckInputs` respectively. Example of executables are `ocaml`, `findlib` and `menhir`. PPXs are libraries which are built by dune and should therefore not go into `nativeBuildInputs`.
- `borgbackup` module now has an option for inhibiting system sleep while backups are running, defaulting to off (not inhibiting sleep), available as [`services.borgbackup.jobs.<name>.inhibitsSleep`](#opt-services.borgbackup.jobs._name_.inhibitsSleep).

View File

@ -19,8 +19,10 @@ stdenv.mkDerivation rec {
src = ./fix-build-bash.patch;
});
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ];
strictDeps = true;
nativeBuildInputs = [ makeWrapper ocaml ];
buildInputs = [ mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ];
dontStrip = true;

View File

@ -19,7 +19,8 @@ ocamlPackages.buildDunePackage rec {
substituteInPlace src/orpie/install.ml.in --replace '@prefix@' $out
'';
buildInputs = with ocamlPackages; [ curses camlp5 num gsl ];
nativeBuildInputs = [ ocamlPackages.camlp5 ];
buildInputs = with ocamlPackages; [ curses num gsl ];
meta = {
inherit (src.meta) homepage;

View File

@ -20,7 +20,8 @@ buildDunePackage rec {
sha256 = "sha256:0krj5w4y05bcfx7hk9blmap8avl31gp7yi01lpqzs6ync23mvm0x";
};
buildInputs = [ fmt lwt_ppx menhir ocf_ppx ppx_blob xtmpl_ppx ];
nativeBuildInputs = [ menhir ];
buildInputs = [ fmt lwt_ppx ocf_ppx ppx_blob xtmpl_ppx ];
propagatedBuildInputs = [
dune-build-info
dune-site

View File

@ -17,7 +17,7 @@ buildDunePackage rec {
};
doCheck = true;
nativeCheckInputs = [ ounit2 ];
checkInputs = [ ounit2 ];
buildInputs = [ extlib ocamlfuse gapi-ocaml ocaml_sqlite3 tiny_httpd ];

View File

@ -27,13 +27,9 @@ stdenv.mkDerivation rec {
'${ocamlPackages.camlp4}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/camlp4'
'';
buildInputs = (with ocamlPackages; [
ocaml
camlp4
num
]) ++ [
zlib
];
strictDeps = true;
nativeBuildInputs = with ocamlPackages; [ ocaml camlp4];
buildInputs = (with ocamlPackages; [ num ]) ++ [ zlib ];
meta = {
broken = stdenv.isDarwin;

View File

@ -23,9 +23,11 @@ stdenv.mkDerivation rec {
sha256 = "sha256-taA8eZ/wOe9uMccXVYfe34/XzWgqYKA3tLZnIOahOrQ=";
};
nativeBuildInputs = [ makeWrapper ]
strictDeps = true;
nativeBuildInputs = [ makeWrapper ocamlPackages.ocaml ]
++ lib.optional enableX11 copyDesktopItems;
buildInputs = [ ocamlPackages.ocaml ncurses ];
buildInputs = [ ncurses ];
preBuild = lib.optionalString enableX11 ''
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${ocamlPackages.lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml

View File

@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-/eOiebMFHgrurtrSHPlgZO3xmmxBOUmyAzswXZLd3Yc=";
};
buildInputs = [ rsync ] ++ (with ocamlPackages; [ ocaml ocamlbuild findlib ]);
strictDeps = true;
nativeBuildInputs = [ rsync ] ++ (with ocamlPackages; [ ocaml ocamlbuild findlib ]);
installPhase = ''
mkdir -p $out/bin

View File

@ -13,11 +13,19 @@ stdenv.mkDerivation {
sha256 = "sha256-W/BDhbng5iYuiB7desMKvRtDFdhoaxiJNvNvtbLlA6E=";
};
buildInputs = [ dune_2 ] ++ (with ocamlPackages; [
ocaml findlib ansiterminal cairo2 cmdliner fmt logs menhir menhirLib mtime sedlex yojson
]);
strictDeps = true;
buildPhase = "dune build --profile=release";
nativeBuildInputs = with ocamlPackages; [ menhir ocaml findlib dune_2 ];
buildInputs = with ocamlPackages; [
ansiterminal cairo2 cmdliner fmt logs menhirLib mtime sedlex yojson
];
buildPhase = ''
runHook preBuild
dune build --profile=release ''${enableParallelBuilding:+-j $NIX_BUILD_CORES}
runHook postBuild
'';
installPhase = ''
dune install --prefix $out --libdir $OCAMLFIND_DESTDIR

View File

@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-F5eVN5ATYo9Ivpi2eYh96ktuTWUeoqgWMR4BqHu8EFs=";
};
buildInputs = [ ocaml ];
strictDeps = true;
nativeBuildInputs = [ ocaml ];
/* Fix up the frontend to load the 'default' cryptoverif library
** from under $out/libexec. By default, it expects to find the files

View File

@ -9,10 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-fEe0DIMGj7wO+79/BZf45kykgyTXpbZJsyFSt31XqpM=";
};
buildInputs = [
ocaml
perl
];
strictDeps = true;
nativeBuildInputs = [ ocaml perl ];
setSourceRoot = "export sourceRoot=$(echo */ekrh/src/)";
preInstall = "export INSTALLDIR=$out";
postInstall = ''for i in "$out/casc"/*; do ln -s "$i" "$out/bin/ekrh-casc-$(basename $i)"; done '';

View File

@ -38,7 +38,9 @@ stdenv.mkDerivation {
})
];
buildInputs = [ ocaml camlp5 ];
strictDeps = true;
nativeBuildInputs = [ ocaml camlp5 ];
propagatedBuildInputs = [ num ];
installPhase = ''

View File

@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "0lik8p7ayhjwpkln1iwf0ri84ramhch74j5nj6z7ph6wfi92pgg8";
};
buildInputs = [ ocaml eprover zlib ];
strictDeps = true;
nativeBuildInputs = [ ocaml eprover ];
buildInputs = [ zlib ];
preConfigure = "patchShebangs .";

View File

@ -9,8 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256:1b2q7vsz6s9ighypsigqjm1mzjiq3xgnz5id5ssb4rh9zm190r82";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ eprover ocaml camlp4 perl zlib ];
strictDeps = true;
nativeBuildInputs = [ makeWrapper eprover ocaml camlp4 perl ];
buildInputs = [ zlib ];
patches = [ (fetchpatch {
url = "https://github.com/niklasso/minisat/commit/7eb6015313561a2586032574788fcb133eeaa19f.patch";

View File

@ -11,8 +11,11 @@ stdenv.mkDerivation rec {
hash = "sha256-GzeEiok5kigcmfqf/K/UxvlKkl55zy0vOyiRZ2HyMiE=";
};
nativeBuildInputs = [ pkg-config opaline ];
buildInputs = with ocamlPackages; [ ocaml findlib ocamlgraph ];
strictDeps = true;
nativeBuildInputs = [ pkg-config opaline ] ++ (with ocamlPackages; [ findlib ocaml ]);
buildInputs = with ocamlPackages; [ ocamlgraph ];
installTargets = "ott.install";

View File

@ -9,9 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "0z1z4wqbqwgppkh2bm89fgy07a0y2m6g4lvcyzs09sm1ysklk2dh";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ncurses ] ++ (with ocamlPackages; [
ocaml findlib camlp5 lablgtk ]);
strictDeps = true;
nativeBuildInputs = [ pkg-config ] ++ (with ocamlPackages; [ ocaml findlib camlp5 ]);
buildInputs = [ ncurses ] ++ (with ocamlPackages; [ lablgtk ]);
dontAddPrefix = true;
configureFlags = [ "--prefix" "$(out)" ];

View File

@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256:0xgwnp59779xc40sb7ck8rmfn620pilxyq79l3bymj9m7z0mwvm9";
};
buildInputs = with ocamlPackages; [ ocaml findlib ];
strictDeps = true;
nativeBuildInputs = with ocamlPackages; [ ocaml findlib ];
buildPhase = "./build -nointeract";
installPhase = ''

View File

@ -3,8 +3,11 @@ stdenv.mkDerivation rec {
pname = "satallax";
version = "2.7";
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ ocaml zlib which eprover coq ];
strictDeps = true;
nativeBuildInputs = [ makeWrapper ocaml which eprover coq ];
buildInputs = [ zlib ];
src = fetchurl {
url = "https://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${pname}-${version}.tar.gz";
sha256 = "1kvxn8mc35igk4vigi5cp7w3wpxk2z3bgwllfm4n3h2jfs0vkpib";

View File

@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
sha256 = "113jjhi1qkcggbsmbw8fa9ln8vs7vy2r288szks7rn0jjn0wxmbw";
};
buildInputs = [ ocaml ];
strictDeps = true;
nativeBuildInputs = [ ocaml ];
patchPhase = "patch -p1 < ${pf-patch}";
buildPhase = "./build";

View File

@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
sha256 = "c296998acd14d5b93a8d5be7ee178007ef179957465966576bda26944b1b7fca";
};
buildInputs = [ ocaml isabelle cvc3 perl wget which ];
strictDeps = true;
nativeBuildInputs = [ ocaml isabelle cvc3 perl wget which ];
installPhase = ''
mkdir -pv "$out"

View File

@ -10,8 +10,16 @@ stdenv.mkDerivation rec {
sha256 = "sha256-vNR7WeiSvg+763GcovoZBFDfncekJMeqNegP4fVw06I=";
};
strictDeps = true;
nativeBuildInputs = with ocamlPackages; [
ocaml findlib menhir
# Coq Support
coqPackages.coq
];
buildInputs = with ocamlPackages; [
ocaml findlib ocamlgraph zarith menhir
ocamlgraph zarith
# Emacs compilation of why3.el
emacs
# Documentation

View File

@ -29,12 +29,15 @@ let common = { version, sha256, patches ? [ ] }:
sha256 = sha256;
};
nativeBuildInputs = optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
buildInputs = [ python ]
strictDeps = true;
nativeBuildInputs = [ python ]
++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames
++ optional javaBindings jdk
++ optionals ocamlBindings [ ocaml findlib zarith ]
++ optionals ocamlBindings [ ocaml findlib ]
;
propagatedBuildInputs = [ python.pkgs.setuptools ];
propagatedBuildInputs = [ python.pkgs.setuptools ]
++ optionals ocamlBindings [ zarith ];
enableParallelBuilding = true;
postPatch = optionalString ocamlBindings ''

View File

@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
version = "1.0.2";
pname = "monotone-viz";
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [ocaml lablgtk libgnomecanvas glib graphviz_2_0 camlp4];
nativeBuildInputs = [ pkg-config makeWrapper ocaml camlp4 ];
buildInputs = [ lablgtk libgnomecanvas glib graphviz_2_0 ];
src = fetchurl {
url = "http://oandrieu.nerim.net/monotone-viz/${pname}-${version}-nolablgtk.tar.gz";
sha256 = "1l5x4xqz5g1aaqbc1x80mg0yzkiah9ma9k9mivmn08alkjlakkdk";

View File

@ -10,18 +10,20 @@ stdenv.mkDerivation rec {
hash = "sha256-IKIkqzx7YWki0L6D5WbwQiVWJfDFGdI2nsGgg212CcE=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
pkg-config
getopt
ocamlPackages.ocaml
ocamlPackages.findlib
];
buildInputs = with ocamlPackages; [
ocamlPackages.ocaml
calendar
curses
findlib
gettext-stub
ocaml
ocaml_libvirt
] ++ [ libxml2 ];

View File

@ -34,7 +34,9 @@ stdenv.mkDerivation ({
runHook postInstall
'';
} // (builtins.removeAttrs args [ "minimalOCamlVersion" "duneVersion" ]) // {
strictDeps = true;
} // (builtins.removeAttrs args [ "minimalOCamlVersion" "duneVersion" ]) // {
name = "ocaml${ocaml.version}-${pname}-${version}";

View File

@ -22,7 +22,10 @@ stdenv.mkDerivation {
sha256 = "0yck5r6di0935s3iy2mm9538jkf77ssr789qb06ms7sivd7g3ip6";
};
buildInputs = [ ocaml findlib ocamlbuild yojson menhir menhirLib ulex pprint fix functory ];
strictDeps = true;
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
buildInputs = [ yojson menhir menhirLib ulex pprint fix functory ];
# Sets warning 3 as non-fatal
prePatch = lib.optionalString (check-ocaml-version "4.02") ''

View File

@ -1,8 +1,11 @@
{ lib, stdenv, libgcrypt, fetchFromGitHub, ocamlPackages, perl }:
stdenv.mkDerivation rec {
pname = "obliv-c";
version = "0.0pre20210621";
buildInputs = [ perl ]
strictDeps = true;
nativeBuildInputs = [ perl ]
++ (with ocamlPackages; [ ocaml findlib ocamlbuild ]);
propagatedBuildInputs = [ libgcrypt ];
src = fetchFromGitHub {

View File

@ -12,19 +12,20 @@ stdenv.mkDerivation rec {
sha256 = "sha256-etzEXbILje+CrfJxIhH7jthEMoSJdS6O33QoG8HrLvI=";
};
strictDeps = true;
nativeBuildInputs = [
makeWrapper
menhir
];
buildInputs = [
ocaml
menhir
cppo
dune_3
findlib
];
buildInputs = [
fix
menhir
menhirSdk
ocaml
ppxlib
utop
] ++ lib.optional (lib.versionOlder ocaml.version "4.07") ncurses;

View File

@ -22,9 +22,11 @@ ocamlPackages.buildDunePackage rec {
--replace "if Sys.file_exists (to_windows path) then to_windows cmd else cmd" "cmd"
'';
nativeBuildInputs = with ocamlPackages; [
menhir
];
buildInputs = with ocamlPackages; [
core_unix
menhir
menhirLib
ppx_deriving
fmt

View File

@ -27,8 +27,10 @@ let compcert = mkCoqDerivation rec {
"3.11".sha256 = "sha256-ZISs/ZAJVWtxp9+Sg5qV5Rss1gI9hK769GnBfawLa6A=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = with ocamlPackages; [ ocaml findlib menhir menhirLib ] ++ [ coq coq2html ];
strictDeps = true;
nativeBuildInputs = with ocamlPackages; [ makeWrapper ocaml findlib menhir coq coq2html ];
buildInputs = with ocamlPackages; [ menhirLib ];
propagatedBuildInputs = [ flocq ];
enableParallelBuilding = true;

View File

@ -15,10 +15,14 @@ stdenv.mkDerivation rec {
substituteInPlace setup.ml --replace js_of_ocaml.ocamlbuild js_of_ocaml-ocamlbuild
'';
buildInputs = [ which ] ++ (with ocamlPackages; [
ocaml findlib ocamlbuild menhir js_of_ocaml js_of_ocaml-ocamlbuild
strictDeps = true;
nativeBuildInputs = [ which ] ++ (with ocamlPackages; [
ocaml findlib ocamlbuild menhir
]);
buildInputs = with ocamlPackages; [ js_of_ocaml js_of_ocaml-ocamlbuild ];
doCheck = true;
checkTarget = "test";

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
sha256 = "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i";
};
strictDeps = true;
nativeBuildInputs = [ ocaml findlib ];
# don't run tests in buildPhase

View File

@ -10,7 +10,7 @@ buildDunePackage {
propagatedBuildInputs = [ alcotest logs lwt fmt ];
doCheck = true;
nativeCheckInputs = [ re cmdliner ];
checkInputs = [ re cmdliner ];
meta = alcotest.meta // {
description = "Lwt-based helpers for Alcotest";

View File

@ -14,7 +14,7 @@ buildDunePackage rec {
sha256 = "1hmrkdcdlkwy7rxhngf3cv3sa61cznnd9p5lmqhx20664gx2ibrh";
};
nativeCheckInputs = [ alcotest ppx_let ];
checkInputs = [ alcotest ppx_let ];
buildInputs = [ ocaml-syntax-shims ];
propagatedBuildInputs = [ bigstringaf result ];
doCheck = lib.versionAtLeast ocaml.version "4.08";

View File

@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
buildInputs = [ gmp mpfr ppl camlidl ];
propagatedBuildInputs = [ mlgmpidl ];
# TODO: Doesn't produce the library correctly if true
strictDeps = false;
outputs = [ "out" "bin" "dev" ];

View File

@ -36,7 +36,7 @@ buildDunePackage rec {
];
doCheck = true;
nativeCheckInputs = [
checkInputs = [
alcotest
mirage-clock-unix
mirage-profile

View File

@ -16,7 +16,7 @@ buildDunePackage rec {
propagatedBuildInputs = [ cstruct zarith bigarray-compat stdlib-shims ptime ];
doCheck = true;
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
meta = with lib; {
homepage = "https://github.com/mirleft/ocaml-asn1-combinators";

View File

@ -11,9 +11,8 @@ buildDunePackage {
propagatedBuildInputs = [ atdgen-runtime ];
doCheck = true;
nativeCheckInputs = [ alcotest atdgen-codec-runtime
(python3.withPackages (ps: [ ps.jsonschema ]))
];
nativeCheckInputs = [ atd (python3.withPackages (ps: [ ps.jsonschema ]))];
checkInputs = [ alcotest atdgen-codec-runtime ];
meta = (builtins.removeAttrs atd.meta [ "mainProgram" ]) // {
description = "Generates efficient JSON serializers, deserializers and validators";

View File

@ -18,8 +18,6 @@ buildDunePackage rec {
hash = "sha256-ae1gTx3Emmkof/2Gnhq0d5RyfkFx21hHkVEVgyPdXuo=";
};
nativeBuildInputs = [ ppx_cstruct ];
propagatedBuildInputs = [
mirage-crypto mirage-crypto-ec mirage-crypto-rng mirage-crypto-pk x509
cstruct cstruct-sexp sexplib mtime
@ -27,8 +25,10 @@ buildDunePackage rec {
ppx_sexp_conv eqaf
];
buildInputs = [ ppx_cstruct ];
doCheck = true;
nativeCheckInputs = [ cstruct-unix cmdliner fmt ];
checkInputs = [ cstruct-unix cmdliner fmt ];
meta = with lib; {
description = "SSH implementation in OCaml";

View File

@ -14,7 +14,8 @@ buildDunePackage {
];
doCheck = true;
nativeCheckInputs = [ cstruct-unix ];
nativeCheckInputs = [ awa ];
checkInputs = [ cstruct-unix ];
meta = awa.meta // { mainProgram = "awa_lwt_server"; };
}

View File

@ -38,7 +38,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ which makeWrapper ocaml findlib ocamlbuild ocaml_oasis ];
buildInputs = [ linenoise
buildInputs = [ ocamlbuild
linenoise
ounit
ppx_bitstring
z3

View File

@ -11,11 +11,11 @@ buildDunePackage rec {
sha256 = "sha256-WJ3pwAV46/54QZismBjTWGxHSyMWts0+HEbMsfYq46Q=";
};
propagatedBuildInputs = [ findlib ];
nativeBuildInputs = [ findlib ];
# otherwise fmt breaks evaluation
doCheck = lib.versionAtLeast ocaml.version "4.08";
nativeCheckInputs = [ alcotest bos rresult ];
checkInputs = [ alcotest bos rresult ];
meta = {
homepage = "https://github.com/mirage/ocaml-base64";

View File

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

View File

@ -12,7 +12,7 @@ buildDunePackage rec {
useDune2 = true;
doCheck = true;
nativeCheckInputs = [
checkInputs = [
stdlib-shims
];

View File

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

View File

@ -13,11 +13,8 @@ buildDunePackage rec {
sha256 = "sha256-HXPjnE56auy2MI6HV2XuBX/VeqsO50HFzTul17lKEqE=";
};
# This currently fails with dune
strictDeps = false;
nativeBuildInputs = [ pkg-config ];
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
doCheck = true;
meta = {

View File

@ -18,7 +18,7 @@ buildDunePackage rec {
hash = "sha256-058yMbz9ExvgNG/kY9tPk70XSeVRSSKVg4n4F4fmPu4=";
};
nativeCheckInputs = [ earley timed ];
checkInputs = [ earley timed ];
doCheck = true;
meta = with lib; {

View File

@ -11,8 +11,6 @@ buildDunePackage rec {
propagatedBuildInputs = [ camlp-streams easy-format ];
strictDeps = true;
meta = {
description = "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
homepage = "https://github.com/ocaml-community/biniou";

View File

@ -1,6 +1,7 @@
{ lib, buildDunePackage, fetchFromGitHub, fetchpatch
, ounit, async, base64, camlzip, cfstream
, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm }:
, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm
}:
buildDunePackage rec {
pname = "biocaml";
@ -10,8 +11,8 @@ buildDunePackage rec {
src = fetchFromGitHub {
owner = "biocaml";
repo = pname;
rev = "v${version}";
repo = pname;
rev = "v${version}";
sha256 = "01yw12yixs45ya1scpb9jy2f7dw1mbj7741xib2xpq3kkc1hc21s";
};
@ -21,7 +22,7 @@ buildDunePackage rec {
};
buildInputs = [ ppx_jane ppx_sexp_conv ];
nativeCheckInputs = [ ounit ];
checkInputs = [ ounit ];
propagatedBuildInputs = [ async base64 camlzip cfstream core rresult uri xmlm ];
meta = with lib; {

View File

@ -14,7 +14,7 @@ buildDunePackage rec {
buildInputs = [ bitstring ppxlib ];
doCheck = lib.versionAtLeast ocaml.version "4.08";
nativeCheckInputs = [ ounit ];
checkInputs = [ ounit ];
meta = bitstring.meta // {
description = "Bitstrings and bitstring matching for OCaml - PPX extension";

View File

@ -17,8 +17,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook which ocaml findlib ];
strictDeps = true;
createFindlibDestdir = true;
meta = {

View File

@ -1,11 +1,11 @@
{
lib,
fetchzip,
buildDunePackage,
bls12-381,
alcotest,
bisect_ppx,
integers_stubs_js,
{ lib
, fetchzip
, buildDunePackage
, bls12-381
, alcotest
, bisect_ppx
, integers_stubs_js
,
}:
buildDunePackage rec {
@ -20,7 +20,7 @@ buildDunePackage rec {
propagatedBuildInputs = [ bls12-381 ];
nativeCheckInputs = [alcotest bisect_ppx integers_stubs_js];
checkInputs = [ alcotest bisect_ppx integers_stubs_js ];
doCheck = true;
@ -28,6 +28,6 @@ buildDunePackage rec {
description = "Implementation of BLS signatures for the pairing-friendly curve BLS12-381";
license = lib.licenses.mit;
homepage = "https://gitlab.com/nomadic-labs/cryptography/ocaml-bls12-381-signature";
maintainers = [lib.maintainers.ulrikstrid];
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View File

@ -1,6 +1,7 @@
{ lib, buildDunePackage, fetchFromGitLab
, ff-sig, zarith, zarith_stubs_js, integers_stubs_js, integers, hex
, alcotest, ff-pbt }:
, alcotest, ff-pbt
}:
buildDunePackage rec {
pname = "bls12-381";
@ -23,7 +24,7 @@ buildDunePackage rec {
hex
];
nativeCheckInputs = [ alcotest ff-pbt ];
checkInputs = [ alcotest ff-pbt ];
doCheck = true;

View File

@ -26,7 +26,7 @@ buildDunePackage rec {
zarith
];
nativeCheckInputs = [
checkInputs = [
alcotest
];

View File

@ -14,7 +14,7 @@ buildDunePackage rec {
};
doCheck = true;
nativeCheckInputs = [ qcheck-core ];
checkInputs = [ qcheck-core ];
meta = {
description = "Backward Lists";

View File

@ -39,7 +39,7 @@ buildDunePackage rec {
];
doCheck = true;
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
meta = with lib; {
description = "X.509 trust anchors extracted from Mozilla's NSS";

View File

@ -19,7 +19,7 @@ buildDunePackage rec {
propagatedBuildInputs = [ bos fpath ptime mirage-crypto x509 astring logs ];
doCheck = true;
nativeCheckInputs = [
checkInputs = [
cacert # for /etc/ssl/certs/ca-bundle.crt
alcotest
fmt

View File

@ -14,8 +14,6 @@ buildDunePackage rec {
propagatedBuildInputs = [ re ];
strictDeps = true;
meta = {
inherit (src.meta) homepage;
description = "A library for handling dates and times";

View File

@ -25,7 +25,7 @@ buildDunePackage rec {
# alcotest isn't available for OCaml < 4.08 due to fmt
doCheck = lib.versionAtLeast ocaml.version "4.08";
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
meta = {
homepage = "https://github.com/oklm-wsh/Callipyge";

View File

@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
sha256 = "17hvsql5dml7ialjcags8wphs7w6z88b2rgjir1382bg8vn62bkr";
};
strictDeps = true;
nativeBuildInputs = [
omake
ocaml
@ -65,6 +67,8 @@ stdenv.mkDerivation rec {
meta = with lib; {
# 4.2.5 requires OCaml >= 4.06
branch = "4.2.4";
# incompatible with omake >= 0.10
broken = true;
homepage = "https://gitlab.com/camlspotter/camlimages";
description = "OCaml image processing library";
license = licenses.lgpl2Only;

View File

@ -17,8 +17,6 @@ buildDunePackage rec {
sha256 = "1m2c76ghisg73dikz2ifdkrbkgiwa0hcmp21f2fm2rkbf02rq3f4";
};
strictDeps = true;
nativeBuildInputs = [ cppo ];
buildInputs = [ dune-configurator graphics lablgtk stdio ];

View File

@ -15,8 +15,6 @@ buildDunePackage rec {
nativeBuildInputs = [ cppo ];
strictDeps = true;
configurePhase = ''
runHook preConfigure
ocaml configure.ml --share $out/share/camomile

View File

@ -1,6 +1,7 @@
{ lib, fetchurl, buildDunePackage, ocaml
, cppo, logs, ptime, uri, bigstringaf
, re, cmdliner, alcotest }:
, re, cmdliner, alcotest
}:
buildDunePackage rec {
pname = "caqti";
@ -15,7 +16,7 @@ buildDunePackage rec {
nativeBuildInputs = [ cppo ];
propagatedBuildInputs = [ logs ptime uri bigstringaf ];
nativeCheckInputs = [ re cmdliner alcotest ];
checkInputs = [ re cmdliner alcotest ];
doCheck = lib.versionAtLeast ocaml.version "4.08";

View File

@ -56,7 +56,7 @@ buildDunePackage rec {
nativeBuildInputs = [
findlib
];
nativeCheckInputs = [
checkInputs = [
base64
alcotest
alcotest-lwt

View File

@ -24,6 +24,8 @@ buildDunePackage {
doCheck = true;
nativeCheckInputs = [
git-binary
];
checkInputs = [
alcotest
alcotest-lwt
cstruct

View File

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

View File

@ -32,7 +32,7 @@ buildDunePackage rec {
# alcotest isn't available for OCaml < 4.05 due to fmt
doCheck = lib.versionAtLeast ocaml.version "4.05";
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
meta = {
homepage = "https://github.com/abeaumont/ocaml-chacha";

View File

@ -24,7 +24,7 @@ buildDunePackage rec {
ocaml-freestanding
];
nativeCheckInputs = [
checkInputs = [
alcotest
bos
astring

View File

@ -1,7 +1,8 @@
{ stdenv, lib, fetchFromGitLab, buildDunePackage
, gmp, pkg-config, dune-configurator
, zarith, integers
, alcotest, bisect_ppx }:
, alcotest, bisect_ppx
}:
buildDunePackage rec {
pname = "class_group_vdf";
@ -23,12 +24,16 @@ buildDunePackage rec {
dune-configurator
];
buildInputs = [
dune-configurator
];
propagatedBuildInputs = [
zarith
integers
];
nativeCheckInputs = [
checkInputs = [
alcotest
bisect_ppx
];

View File

@ -51,7 +51,7 @@ buildDunePackage {
# Examples don't compile with core 0.15. See https://github.com/mirage/ocaml-cohttp/pull/864.
doCheck = false;
nativeCheckInputs = [
checkInputs = [
ounit
mirage-crypto
core

View File

@ -21,7 +21,7 @@ buildDunePackage rec {
propagatedBuildInputs = [ base64 re stringext uri-sexp ];
doCheck = true;
nativeCheckInputs = [ fmt alcotest crowbar ];
checkInputs = [ fmt alcotest crowbar ];
meta = {
description = "HTTP(S) library for Lwt, Async and Mirage";

View File

@ -14,13 +14,18 @@ buildDunePackage {
buildInputs = [ cmdliner ppx_sexp_conv ];
propagatedBuildInputs = [
cohttp-lwt conduit-lwt conduit-lwt-unix fmt logs magic-mime
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;
nativeCheckInputs = [ ounit cacert ];
checkInputs = [ ounit cacert ];
meta = cohttp-lwt.meta // {
description = "CoHTTP implementation for Unix and Windows using Lwt";

View File

@ -24,8 +24,6 @@ buildDunePackage rec {
nativeBuildInputs = [ findlib ];
buildInputs = [ re ];
strictDeps = true;
doCheck = true;
meta = {

View File

@ -23,7 +23,7 @@ buildDunePackage {
];
doCheck = true;
nativeCheckInputs = [
checkInputs = [
lwt_log
ssl
];

View File

@ -9,7 +9,7 @@ buildDunePackage {
inherit (containers) src version doCheck;
buildInputs = [ dune-configurator ];
nativeCheckInputs = [ gen iter qcheck-core ];
checkInputs = [ gen iter qcheck-core ];
propagatedBuildInputs = [ containers ];

View File

@ -18,7 +18,7 @@ buildDunePackage rec {
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ either seq ];
nativeCheckInputs = [ gen iter qcheck-core uutf yojson ];
checkInputs = [ gen iter qcheck-core uutf yojson ];
doCheck = lib.versionAtLeast ocaml.version "4.08";

View File

@ -13,6 +13,8 @@
, uuseg
, uutf
, yuujinchou
, ounit2
, qcheck
}:
let
@ -70,12 +72,13 @@ buildDunePackage {
};
nativeBuildInputs = [
cmdliner
menhir
ppxlib
];
buildInputs = [ containers ];
buildInputs = [
cmdliner
ppxlib
];
propagatedBuildInputs = [
bantorra
@ -87,6 +90,12 @@ buildDunePackage {
uuseg
uutf
yuujinchou
containers
];
checkInputs = [
ounit2
qcheck
];
meta = with lib; {

View File

@ -1,5 +1,6 @@
{ lib, fetchurl, buildDunePackage, ocaml, alcotest
, uri, xmlm, omd, ezjsonm }:
, uri, xmlm, omd, ezjsonm
}:
buildDunePackage rec {
useDune2 = true;
@ -14,7 +15,7 @@ buildDunePackage rec {
};
propagatedBuildInputs = [ xmlm uri ezjsonm omd ];
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
doCheck = lib.versionAtLeast ocaml.version "4.08";
meta = with lib; {

View File

@ -18,7 +18,7 @@ buildDunePackage rec {
autoheader
'';
buildInputs = [ autoconf ];
nativeBuildInputs = [ autoconf ];
hardeningDisable = lib.optional stdenv.isDarwin "strictoverflow";

View File

@ -18,7 +18,7 @@ buildDunePackage rec {
postPatch = "rm -rf examples/xmldiff";
propagatedBuildInputs = [ ocplib-endian cmdliner afl-persistent ];
nativeCheckInputs = [ calendar fpath pprint uutf uunf uucp ];
checkInputs = [ calendar fpath pprint uutf uunf uucp ];
# uunf is broken on aarch64
doCheck = !stdenv.isAarch64;

View File

@ -14,7 +14,7 @@ buildDunePackage rec {
buildInputs = [ fmt ];
doCheck = true;
nativeCheckInputs = [ alcotest crowbar ];
checkInputs = [ alcotest crowbar ];
meta = {
description = "Access C-like structures directly from OCaml";

View File

@ -6,14 +6,15 @@ if lib.versionOlder (cstruct.version or "1") "3"
then cstruct
else
buildDunePackage {
pname = "ppx_cstruct";
inherit (cstruct) version src meta;
buildDunePackage {
pname = "ppx_cstruct";
inherit (cstruct) version src meta;
minimalOCamlVersion = "4.08";
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [ cstruct ppxlib sexplib stdlib-shims ];
propagatedBuildInputs = [ cstruct ppxlib sexplib stdlib-shims ];
doCheck = true;
nativeCheckInputs = [ ounit cppo ppx_sexp_conv cstruct-sexp cstruct-unix ];
}
doCheck = true;
nativeCheckInputs = [ cppo ];
checkInputs = [ ounit ppx_sexp_conv cstruct-sexp cstruct-unix ];
}

View File

@ -11,7 +11,7 @@ buildDunePackage rec {
minimalOCamlVersion = "4.08";
doCheck = true;
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
propagatedBuildInputs = [ cstruct sexplib ];
}

View File

@ -20,10 +20,12 @@ buildDunePackage rec {
propagatedBuildInputs = [ integers_stubs_js ];
nativeCheckInputs = [
ctypes
js_of_ocaml-compiler
ppx_expect
nodejs
js_of_ocaml-compiler
];
checkInputs = [
ctypes
ppx_expect
];
doCheck = true;

View File

@ -1,6 +1,6 @@
{ lib, fetchurl, stdenv, ocaml, ocamlbuild, findlib, extlib, glib, perl, pkg-config, stdlib-shims, ounit }:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-cudf";
version = "0.9";
@ -13,15 +13,16 @@ stdenv.mkDerivation {
"all"
"opt"
];
nativeBuildInputs = [
findlib
ocaml
ocamlbuild
pkg-config
perl
];
buildInputs = [
glib
perl
stdlib-shims
];
propagatedBuildInputs = [
@ -32,7 +33,7 @@ stdenv.mkDerivation {
"all"
"test"
];
nativeCheckInputs = [
checkInputs = [
ounit
];
doCheck = true;

View File

@ -16,7 +16,8 @@ buildDunePackage rec {
};
propagatedBuildInputs = [ result ];
nativeCheckInputs = [ alcotest cohttp-lwt-unix cacert ];
nativeCheckInputs = [ cacert ];
checkInputs = [ alcotest cohttp-lwt-unix ];
# test dependencies are only available for >= 4.08
# https://github.com/mirage/ca-certs/issues/16
doCheck = lib.versionAtLeast ocaml.version "4.08"

View File

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "0yy3wf8i7jgvzdc40bni7mvpkvclq97cgb5fw265mrjj0iqpkqpd";
};
strictDeps = true;
propagatedBuildInputs = [ ncurses ];
nativeBuildInputs = [ ocaml findlib ];

View File

@ -36,7 +36,7 @@ buildDunePackage {
json-data-encoding-bson
];
nativeCheckInputs = [
checkInputs = [
alcotest
crowbar
ppx_expect

View File

@ -18,7 +18,7 @@ buildDunePackage rec {
buildInputs = [ cmdliner ];
propagatedBuildInputs = [ optint checkseum ];
nativeCheckInputs = [ alcotest astring bigstringaf bos ctypes fmt camlzip base64 crowbar rresult ];
checkInputs = [ alcotest astring bigstringaf bos ctypes fmt camlzip base64 crowbar rresult ];
doCheck = true;
meta = {

View File

@ -17,7 +17,7 @@ buildDunePackage rec {
propagatedBuildInputs = [ stdlib-shims ];
doCheck = true;
nativeCheckInputs = [ ounit ];
checkInputs = [ ounit ];
meta = with lib; {
homepage = "https://github.com/mirage/ocaml-diet";

View File

@ -15,12 +15,11 @@ buildDunePackage rec {
sha256 = "sha256-edNM5ROxFIV+OAqr328UcyGPGwXdflHQOJB3ntAbRmY=";
};
nativeBuildInputs = [ findlib which ];
buildInputs = [ ocaml ];
nativeBuildInputs = [ findlib which ocaml pkg-config ];
propagatedBuildInputs = [ eqaf ];
nativeCheckInputs = [ alcotest astring bos fpath ];
checkInputs = [ alcotest astring bos fpath ];
doCheck = true;
postCheck = ''

View File

@ -15,7 +15,7 @@ buildDunePackage rec {
propagatedBuildInputs = [ result ];
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
doCheck = lib.versionAtLeast ocaml.version "4.08";

View File

@ -39,7 +39,7 @@ buildDunePackage {
];
doCheck = true;
nativeCheckInputs = [
checkInputs = [
alcotest
];

View File

@ -12,11 +12,28 @@ buildDunePackage {
inherit (dns) src version;
duneVersion = "3";
propagatedBuildInputs = [ cstruct fmt logs dns randomconv domain-name ipaddr
lwt mirage-random mirage-time mirage-clock
ca-certs ca-certs-nss happy-eyeballs tcpip tls tls-mirage
mtime mirage-crypto-rng ];
nativeCheckInputs = [ alcotest ];
propagatedBuildInputs = [
cstruct
fmt
logs
dns
randomconv
domain-name
ipaddr
lwt
mirage-random
mirage-time
mirage-clock
ca-certs
ca-certs-nss
happy-eyeballs
tcpip
tls
tls-mirage
mtime
mirage-crypto-rng
];
checkInputs = [ alcotest ];
doCheck = true;
meta = dns.meta // {

View File

@ -1,5 +1,17 @@
{ lib, buildDunePackage, fetchurl, alcotest
, cstruct, domain-name, duration, gmap, ipaddr, logs, lru, metrics, ptime, fmt
{ lib
, buildDunePackage
, fetchurl
, alcotest
, cstruct
, domain-name
, duration
, gmap
, ipaddr
, logs
, lru
, metrics
, ptime
, fmt
, base64
}:
@ -18,7 +30,7 @@ buildDunePackage rec {
propagatedBuildInputs = [ fmt logs ptime domain-name gmap cstruct ipaddr lru duration metrics base64 ];
doCheck = true;
nativeCheckInputs = [ alcotest ];
checkInputs = [ alcotest ];
meta = {
description = "An Domain Name System (DNS) library";

View File

@ -1,6 +1,13 @@
{ buildDunePackage, cstruct, dns, mirage-crypto, mirage-crypto-pk, mirage-crypto-ec
, domain-name, logs
, alcotest, base64
{ buildDunePackage
, cstruct
, dns
, mirage-crypto
, mirage-crypto-pk
, mirage-crypto-ec
, domain-name
, logs
, alcotest
, base64
}:
buildDunePackage {
@ -20,7 +27,7 @@ buildDunePackage {
];
doCheck = true;
nativeCheckInputs = [
checkInputs = [
alcotest
base64
];

View File

@ -1,6 +1,18 @@
{ buildDunePackage, dns, dns-server, dns-mirage, lru, duration
, randomconv, lwt, mirage-time, mirage-clock, mirage-random
, tcpip, tls, tls-mirage, dnssec
{ buildDunePackage
, dns
, dns-server
, dns-mirage
, lru
, duration
, randomconv
, lwt
, mirage-time
, mirage-clock
, mirage-random
, tcpip
, tls
, tls-mirage
, dnssec
, alcotest
}:
@ -28,7 +40,7 @@ buildDunePackage {
];
doCheck = true;
nativeCheckInputs = [
checkInputs = [
alcotest
];

View File

@ -1,6 +1,16 @@
{ buildDunePackage, dns, dns-mirage, randomconv, duration, lwt
, mirage-time, mirage-clock, metrics
, alcotest, mirage-crypto-rng, dns-tsig, base64
{ buildDunePackage
, dns
, dns-mirage
, randomconv
, duration
, lwt
, mirage-time
, mirage-clock
, metrics
, alcotest
, mirage-crypto-rng
, dns-tsig
, base64
}:
buildDunePackage {
@ -21,7 +31,7 @@ buildDunePackage {
];
doCheck = true;
nativeCheckInputs = [
checkInputs = [
alcotest
mirage-crypto-rng
dns-tsig

View File

@ -13,7 +13,7 @@ buildDunePackage {
];
doCheck = true;
nativeCheckInputs = [
checkInputs = [
alcotest
];

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