From 1974ddaa3b251de56832923bc90dc456e4a5918e Mon Sep 17 00:00:00 2001 From: Marcos Benevides Date: Fri, 7 Nov 2025 16:20:05 -0400 Subject: [PATCH] pds: init at 6.55 --- pkgs/by-name/oc/ocaml-pds/package.nix | 69 +++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 pkgs/by-name/oc/ocaml-pds/package.nix diff --git a/pkgs/by-name/oc/ocaml-pds/package.nix b/pkgs/by-name/oc/ocaml-pds/package.nix new file mode 100644 index 000000000000..94044e2d261b --- /dev/null +++ b/pkgs/by-name/oc/ocaml-pds/package.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenv, + fetchhg, + ocaml, + ocaml-crunch, + ocamlPackages, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "ocaml-pds"; + version = "6.55"; + + src = fetchhg { + url = "https://hg.sr.ht/~mmatalka/pds"; + rev = finalAttrs.version; + sha256 = "sha256-a6sMFzAwqLsLOq75JTyFxZiXuQvmOZG0bPzPehzLcws="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + ocaml + ocaml-crunch + ocamlPackages.findlib + ]; + + buildInputs = with ocamlPackages; [ + cmdliner + containers + crunch + fmt + logs + ppx_deriving + process + sedlex + toml + ocaml_sqlite3 + ]; + + buildFlags = [ "all" ]; + + preInstall = '' + mkdir -p $out/bin + ''; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/pds --help + runHook postInstallCheck + ''; + + meta = with lib; { + description = "A tool to build Makefiles for OCaml projects"; + longDescription = '' + pds is a build system for Ocaml that is meant to make it easy to build a project that follows a particular layout by generating a makefile for the project. The input to pds is a config file, pds.conf, and a directory structure, which is always the current working directory, and the output is the build description. + ''; + homepage = "https://hg.sr.ht/~mmatalka/pds"; + changelog = "https://hg.sr.ht/~mmatalka/pds#changelog"; + license = licenses.bsd3; + maintainers = with maintainers; [ mtrsk ]; + platforms = ocaml.meta.platforms; + }; +})