From 117ca03ed26d8ad2f89f56eefddea5cfbbba98ee Mon Sep 17 00:00:00 2001 From: Volker Diels-Grabsch Date: Tue, 22 Jul 2025 19:59:12 +0200 Subject: [PATCH] Add melange-json-native 2.0.0 (#427482) * ocamlPackages.melange-json-native: init at 2.0.0 * ocamlPackages.melange-json(-native): add vog to maintainers * ocamlPackages.melange-json: Add comment about why we currently disable doCheck * ocamlPackages.melange-json: Remove dependencies that are only needed by melange-json-native --- .../ocaml-modules/melange-json/default.nix | 12 +++++------ .../ocaml-modules/melange-json/native.nix | 20 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 1 + 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 pkgs/development/ocaml-modules/melange-json/native.nix diff --git a/pkgs/development/ocaml-modules/melange-json/default.nix b/pkgs/development/ocaml-modules/melange-json/default.nix index 69b2e7004ab5..aa4df6c9ca33 100644 --- a/pkgs/development/ocaml-modules/melange-json/default.nix +++ b/pkgs/development/ocaml-modules/melange-json/default.nix @@ -18,15 +18,15 @@ buildDunePackage rec { }; nativeBuildInputs = [ melange ]; - buildInputs = [ - melange - yojson - ppxlib - ]; + propagatedBuildInputs = [ melange ]; + doCheck = false; # Fails due to missing "melange-jest", which in turn fails in command "npx jest" meta = { description = "Compositional JSON encode/decode library and PPX for Melange and OCaml"; homepage = "https://github.com/melange-community/melange-json"; license = lib.licenses.lgpl3; - maintainers = [ lib.maintainers.GirardR1006 ]; + maintainers = [ + lib.maintainers.GirardR1006 + lib.maintainers.vog + ]; }; } diff --git a/pkgs/development/ocaml-modules/melange-json/native.nix b/pkgs/development/ocaml-modules/melange-json/native.nix new file mode 100644 index 000000000000..630f614e6edf --- /dev/null +++ b/pkgs/development/ocaml-modules/melange-json/native.nix @@ -0,0 +1,20 @@ +{ + buildDunePackage, + melange-json, + ppxlib, + yojson, +}: + +buildDunePackage { + pname = "melange-json-native"; + inherit (melange-json) version src; + minimalOCamlVersion = "4.12"; + propagatedBuildInputs = [ + ppxlib + yojson + ]; + doCheck = false; # Fails due to missing "melange-jest", which in turn fails in command "npx jest" + meta = melange-json.meta // { + description = "Compositional JSON encode/decode PPX for OCaml"; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 8c2a3770961d..3e62e9848142 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1144,6 +1144,7 @@ let melange = callPackage ../development/tools/ocaml/melange { }; melange-json = callPackage ../development/ocaml-modules/melange-json { }; + melange-json-native = callPackage ../development/ocaml-modules/melange-json/native.nix { }; memprof-limits = callPackage ../development/ocaml-modules/memprof-limits { };