Subject: [PATCH 17/29] gnu: Add ocaml-ppx-deriving.

From: pukkamustard <[email-masked]>
Date: Wed, 4 Aug 2021 07:15:33 +0000

* gnu/packages/ocaml.scm (ocaml-ppx-deriving): New variable.
---
 gnu/packages/ocaml.scm | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3c8d6fb5df..f385aa2a94 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4528,7 +4528,38 @@ speedup, polymorphic variants and optional syntax for tuples and variants.
 yojson package.  The program @code{atdgen} can be used to derive OCaml-JSON
 serializers and deserializers from type definitions.")
     (license license:bsd-3)))
- 
+
+(define-public ocaml-ppx-deriving
+  (package
+    (name "ocaml-ppx-deriving")
+    (version "5.2.1")
+    (home-page "https://github.com/ocaml-ppx/ppx_deriving")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1wqcnw4wi6pfjjhixpakckm03dpj990259za432804471a6spm2j"))))
+    (build-system dune-build-system)
+    (arguments `(#:test-target "."))
+    (propagated-inputs
+     `(("ocaml-ppx-derivers" ,ocaml-ppx-derivers)
+       ("ocaml-ppxlib" ,ocaml-ppxlib)
+       ("ocaml-result" ,ocaml-result)))
+    (native-inputs
+     `(("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-ounit2" ,ocaml-ounit2)))
+    (properties `((upstream-name . "ppx_deriving")))
+    (synopsis "Type-driven code generation for OCaml")
+    (description "This OCaml library provides common infrastructure for
+generating code based on type definitions, and a set of useful plugins for
+common tasks.")
+    (license license:expat)))
+
 (define-public ocaml-craml
   (package
     (name "ocaml-craml")
-- 
2.32.0