{ lib, mkShell, buildDunePackage, ptime, ppxlib, ppx_unicode, ocaml, dune_3, odoc, utop, enableShell ? false }: let sourceRoot = ./.; fs = lib.fileset; sourceFiles = fs.difference (fs.gitTracked sourceRoot) (fs.fileFilter (file: file.hasExt "nix") sourceRoot); sourceSet = fs.toSource { root = sourceRoot; fileset = sourceFiles; }; in buildDunePackage rec { pname = "xlog"; version = "0.0.2"; src = sourceSet; minimalOCamlVersion = "5.1"; dontStrip = true; buildInputs = [ ppx_unicode ]; propagatedBuildInputs = [ ptime ppxlib ]; nativeBuildInputs = [ ppxlib ppx_unicode ] ++ lib.optionals enableShell [ ocaml dune_3 odoc utop ]; }