From c6e3bbc55046c7cea4b3fde2f80512d7fe6b79fc Mon Sep 17 00:00:00 2001
From: Mario Rodas <marsam@users.noreply.github.com>
Date: Sun, 1 Oct 2023 04:20:00 +0000
Subject: [PATCH] ocamlPackages.ppx_lun: init at 0.0.1

---
 pkgs/development/ocaml-modules/lun/ppx.nix | 17 +++++++++++++++++
 pkgs/top-level/ocaml-packages.nix          |  2 ++
 2 files changed, 19 insertions(+)
 create mode 100644 pkgs/development/ocaml-modules/lun/ppx.nix

diff --git a/pkgs/development/ocaml-modules/lun/ppx.nix b/pkgs/development/ocaml-modules/lun/ppx.nix
new file mode 100644
index 000000000000..fc138f1a6f8a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lun/ppx.nix
@@ -0,0 +1,17 @@
+{ lib, buildDunePackage, fetchurl, fmt, lun, ppxlib }:
+
+buildDunePackage {
+  pname = "ppx_lun";
+  inherit (lun) version src;
+
+  propagatedBuildInputs = [ lun ppxlib ];
+
+  checkInputs = [ fmt ];
+
+  doCheck = true;
+
+  meta = lun.meta // {
+    description = "Optics with lun package and PPX";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 051676955485..fb9aa161a3e2 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1488,6 +1488,8 @@ let
 
     ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix { };
 
+    ppx_lun = callPackage ../development/ocaml-modules/lun/ppx.nix { };
+
     ppx_monad = callPackage ../development/ocaml-modules/ppx_monad { };
 
     ppx_repr = callPackage ../development/ocaml-modules/repr/ppx.nix { };