mte/unikernel/duniverse/ocaml-h2/nix/shell.nix

41 lines
681 B
Nix
Raw Normal View History

2025-11-11 02:07:51 +01:00
{ packages
, mkShell
, stdenv
, lib
, cacert
, curl
, ocamlPackages
, git
, h2spec
, release-mode ? false
}:
let
h2Drvs = lib.filterAttrs (_: value: lib.isDerivation value) packages;
in
(mkShell {
inputsFrom = lib.attrValues h2Drvs;
buildInputs =
(if release-mode then [
cacert
curl
ocamlPackages.dune-release
git
] else [ ])
++ (with ocamlPackages; [
merlin
ocamlformat
utop
h2spec
httpun-lwt-unix
tls-lwt
]);
}).overrideAttrs (o: {
propagatedBuildInputs = lib.filter
(drv: drv.pname == null || !(lib.any (name: name == drv.pname) (lib.attrNames h2Drvs)))
o.propagatedBuildInputs;
})