* [PATCH 01/10] gnu: Add ocaml-fieldslib.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-01-31 20:58 ` [PATCH 02/10] gnu: Add ocaml-ppx-core Julien Lepiller
` (9 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-fieldslib): New variable.
---
gnu/packages/ocaml.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9a0bc9112..8e3deb7a1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2025,3 +2025,21 @@ structured values at speeds sufficient to saturate a gigabit connection. The
protocol is also heavily optimized for size, making it ideal for long-term
storage of large amounts of data.")
(license license:asl2.0)))
+
+(define-public ocaml-fieldslib
+ (package
+ (name "ocaml-fieldslib")
+ (version "113.33.03")
+ (source (janestreet-origin "fieldslib" version
+ "1rm3bn54bzk2hlq8f3w067ak8s772w4a8f78i3yh79vxfzq8ncvv"))
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("opam" ,opam)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/fieldslib/")
+ (synopsis "Syntax extension to record fields")
+ (description "Syntax extension to define first class values representing
+record fields, to get and set record fields, iterate and fold over all fields
+of a record and create new record values.")
+ (license license:asl2.0)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 02/10] gnu: Add ocaml-ppx-core.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
2017-01-31 20:58 ` [PATCH 01/10] gnu: Add ocaml-fieldslib Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-01-31 20:58 ` [PATCH 03/10] gnu: Add ocaml-ppx-optcomp Julien Lepiller
` (8 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-ppx-core): New variable.
---
gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8e3deb7a1..ca0674a6d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2043,3 +2043,27 @@ storage of large amounts of data.")
record fields, to get and set record fields, iterate and fold over all fields
of a record and create new record values.")
(license license:asl2.0)))
+
+(define-public ocaml-ppx-core
+ (package
+ (name "ocaml-ppx-core")
+ (version "113.33.03")
+ (source (janestreet-origin "ppx_core" version
+ "0f69l4czhgssnhb5ds2j9dbqjyz8dp1y3i3x0i4h6pxnms20zbxa"))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("opam" ,opam)))
+ (inputs `(("ppx-tools" ,ocaml-ppx-tools)))
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/ppx_core/")
+ (synopsis "Standard library for ppx rewriters")
+ (description "Ppx_core is a standard library for OCaml AST transformers.
+It contains:
+@enumerate
+@item various auto-generated AST traversal using an open recursion scheme
+@item helpers for building AST fragments
+@item helpers for matching AST fragments
+@item a framework for dealing with attributes and extension points.
+@end enumerate")
+ (license license:asl2.0)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 03/10] gnu: Add ocaml-ppx-optcomp.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
2017-01-31 20:58 ` [PATCH 01/10] gnu: Add ocaml-fieldslib Julien Lepiller
2017-01-31 20:58 ` [PATCH 02/10] gnu: Add ocaml-ppx-core Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-01-31 20:58 ` [PATCH 04/10] gnu: Add ocaml-ppx-driver Julien Lepiller
` (7 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-ppx-optcomp): New variable.
---
gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ca0674a6d..5820f1599 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2067,3 +2067,24 @@ It contains:
@item a framework for dealing with attributes and extension points.
@end enumerate")
(license license:asl2.0)))
+
+(define-public ocaml-ppx-optcomp
+ (package
+ (name "ocaml-ppx-optcomp")
+ (version "113.33.03")
+ (source (janestreet-origin "ppx_optcomp" version
+ "13an8p2r7sd0d5lv54mlzrxdni47408bwqi3bjcx4m6005170q30"))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("ppx-tools" ,ocaml-ppx-tools)
+ ("ppx-core" ,ocaml-ppx-core)))
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/ppx_optcomp/")
+ (synopsis "Optional compilation for OCaml")
+ (description "Ppx_optcomp stands for Optional Compilation. It is a tool
+used to handle optional compilations of pieces of code depending of the word
+size, the version of the compiler, ...")
+ (license license:asl2.0)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 04/10] gnu: Add ocaml-ppx-driver.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
` (2 preceding siblings ...)
2017-01-31 20:58 ` [PATCH 03/10] gnu: Add ocaml-ppx-optcomp Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-02-08 11:17 ` Ludovic Courtès
2017-01-31 20:58 ` [PATCH 05/10] gnu: Add ocaml-cppo Julien Lepiller
` (6 subsequent siblings)
10 siblings, 1 reply; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-ppx-driver): New variable.
---
gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5820f1599..db8bf5863 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2088,3 +2088,32 @@ It contains:
used to handle optional compilations of pieces of code depending of the word
size, the version of the compiler, ...")
(license license:asl2.0)))
+
+(define-public ocaml-ppx-driver
+ (package
+ (name "ocaml-ppx-driver")
+ (version "113.33.03")
+ (source (janestreet-origin "ppx_driver" version
+ "011zzr45897j49b7iiybb29k7pspcx36mlnp7nh6pxb8b0ga76fh"))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("opam" ,opam)
+ ("ppx-optcomp" ,ocaml-ppx-optcomp)))
+ (propagated-inputs
+ `(("ppx-optcomp" ,ocaml-ppx-optcomp)
+ ("ppx-core" ,ocaml-ppx-core)))
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/ppx_driver/")
+ (synopsis "Feature-full driver for OCaml AST transformers")
+ (description "A driver is an executable created from a set of OCaml AST
+transformers linked together with a command line frontend. The aim is to
+provide a tool that can be used to:
+@enumerate
+@item easily view the pre-processed version of a file, no need to construct a
+ complex command line: ppx file.ml will do
+@item use a single executable to run several transformations: no need to fork
+ many times just for pre-processing
+@item improved errors for misspelled/misplaced attributes and extension points.
+@end enumerate")
+ (license license:asl2.0)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 04/10] gnu: Add ocaml-ppx-driver.
2017-01-31 20:58 ` [PATCH 04/10] gnu: Add ocaml-ppx-driver Julien Lepiller
@ 2017-02-08 11:17 ` Ludovic Courtès
2017-02-13 21:22 ` Julien Lepiller
0 siblings, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2017-02-08 11:17 UTC (permalink / raw)
To: Julien Lepiller; +Cc: guix-devel
Hello!
Minor issues:
Julien Lepiller <julien@lepiller.eu> skribis:
> + (synopsis "Feature-full driver for OCaml AST transformers")
> + (description "A driver is an executable created from a set of OCaml AST
> +transformers linked together with a command line frontend. The aim is to
The first thing should be a real sentence.
> +provide a tool that can be used to:
> +@enumerate
> +@item easily view the pre-processed version of a file, no need to construct a
> + complex command line: ppx file.ml will do
Could be: @command{ppx file.ml}.
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 04/10] gnu: Add ocaml-ppx-driver.
2017-02-08 11:17 ` Ludovic Courtès
@ 2017-02-13 21:22 ` Julien Lepiller
2017-02-14 9:12 ` Ludovic Courtès
0 siblings, 1 reply; 17+ messages in thread
From: Julien Lepiller @ 2017-02-13 21:22 UTC (permalink / raw)
To: guix-devel
On Wed, 08 Feb 2017 12:17:31 +0100
ludo@gnu.org (Ludovic Courtès) wrote:
> Hello!
>
> Minor issues:
>
> Julien Lepiller <julien@lepiller.eu> skribis:
>
> > + (synopsis "Feature-full driver for OCaml AST transformers")
> > + (description "A driver is an executable created from a set of
> > OCaml AST +transformers linked together with a command line
> > frontend. The aim is to
>
> The first thing should be a real sentence.
Not sure what you mean here...
>
> > +provide a tool that can be used to:
> > +@enumerate
> > +@item easily view the pre-processed version of a file, no need to
> > construct a
> > + complex command line: ppx file.ml will do
>
> Could be: @command{ppx file.ml}.
>
> Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 04/10] gnu: Add ocaml-ppx-driver.
2017-02-13 21:22 ` Julien Lepiller
@ 2017-02-14 9:12 ` Ludovic Courtès
0 siblings, 0 replies; 17+ messages in thread
From: Ludovic Courtès @ 2017-02-14 9:12 UTC (permalink / raw)
To: Julien Lepiller; +Cc: guix-devel
Hi,
Julien Lepiller <julien@lepiller.eu> skribis:
> On Wed, 08 Feb 2017 12:17:31 +0100
> ludo@gnu.org (Ludovic Courtès) wrote:
>
>> Hello!
>>
>> Minor issues:
>>
>> Julien Lepiller <julien@lepiller.eu> skribis:
>>
>> > + (synopsis "Feature-full driver for OCaml AST transformers")
>> > + (description "A driver is an executable created from a set of
>> > OCaml AST +transformers linked together with a command line
>> > frontend. The aim is to
>>
>> The first thing should be a real sentence.
> Not sure what you mean here...
Hmm I’m not sure what I meant either, the one above does look like a
“real sentence”. Forget about it.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 05/10] gnu: Add ocaml-cppo.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
` (3 preceding siblings ...)
2017-01-31 20:58 ` [PATCH 04/10] gnu: Add ocaml-ppx-driver Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-01-31 20:58 ` [PATCH 06/10] gnu: Add ocaml-ppx-deriving Julien Lepiller
` (5 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-cppo): New variable.
---
gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index db8bf5863..8e525ff10 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2117,3 +2117,33 @@ provide a tool that can be used to:
@item improved errors for misspelled/misplaced attributes and extension points.
@end enumerate")
(license license:asl2.0)))
+
+(define-public ocaml-cppo
+ (package
+ (name "ocaml-cppo")
+ (version "1.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mjambon/cppo/archive/v" version
+ ".tar.gz"))
+ (sha256 (base32
+ "02gma6nw09vfnd6h7bl3n70lwz7m9z2svplxyfh6h5bf4lqgqzjv"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases (delete 'configure))
+ #:make-flags (list (string-append "BINDIR="
+ (assoc-ref %outputs "out") "/bin"))
+ #:tests? #f))
+ (home-page "https://github.com/mjambon/cppo")
+ (synopsis "Equivalent of the C preprocessor for OCaml programs")
+ (description "Cppo is an equivalent of the C preprocessor for OCaml
+programs. It allows the definition of simple macros and file inclusion. Cpp ois:
+@enumerate
+@item more OCaml-friendly than cpp
+@item easy to learn without consulting a manual
+@item reasonably fast
+@item simple to install and to maintain.
+@end enumerate")
+ (license license:bsd-3)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 06/10] gnu: Add ocaml-ppx-deriving.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
` (4 preceding siblings ...)
2017-01-31 20:58 ` [PATCH 05/10] gnu: Add ocaml-cppo Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-01-31 20:58 ` [PATCH 07/10] gnu: Add ocaml-ppx-type-conv Julien Lepiller
` (4 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-ppx-deriving): New variable.
---
gnu/packages/ocaml.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8e525ff10..bcf9d0c9a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2147,3 +2147,42 @@ programs. It allows the definition of simple macros and file inclusion. Cpp oi
@item simple to install and to maintain.
@end enumerate")
(license license:bsd-3)))
+
+;; this package is not reproducible. This is related to temporary filenames
+;; such as findlib_initxxxxx where xxxxx is random.
+(define-public ocaml-ppx-deriving
+ (package
+ (name "ocaml-ppx-deriving")
+ (version "4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/whitequark/ppx_deriving//archive/v"
+ version ".tar.gz"))
+ (sha256 (base32
+ "1fr16g121j6zinwcprzlhx2py4271n9jzs2m9hq2f3qli2b1p0vl"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("cppo" ,ocaml-cppo)
+ ("ounit" ,ocaml-ounit)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("result" ,ocaml-result)
+ ("ppx-tools" ,ocaml-ppx-tools)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'install 'fix-environment
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; the installation procedures looks for the installed module
+ (setenv "OCAMLPATH"
+ (string-append (getenv "OCAMLPATH") ":"
+ (getenv "OCAMLFIND_DESTDIR"))))))))
+ (home-page "https://github.com/whitequark/ppx_deriving/")
+ (synopsis "Type-driven code generation for OCaml >=4.02")
+ (description "Ppx_deriving provides common infrastructure for generating
+code based on type definitions, and a set of useful plugins for common tasks.")
+ (license license:expat)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 07/10] gnu: Add ocaml-ppx-type-conv.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
` (5 preceding siblings ...)
2017-01-31 20:58 ` [PATCH 06/10] gnu: Add ocaml-ppx-deriving Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-01-31 20:58 ` [PATCH 08/10] gnu: Add ocaml-ppx-inline-test Julien Lepiller
` (3 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-ppx-type-conv): New variable.
---
gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bcf9d0c9a..57a7fe6fc 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2186,3 +2186,27 @@ programs. It allows the definition of simple macros and file inclusion. Cpp oi
(description "Ppx_deriving 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-ppx-type-conv
+ (package
+ (name "ocaml-ppx-type-conv")
+ (version "113.33.03")
+ (source
+ (janestreet-origin "ppx_type_conv" version
+ "1sp602ads2f250nv4d4rgw54d14k7flyhb4w8ff084f657hhmxv2"))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("ppx-deriving" ,ocaml-ppx-deriving)
+ ("ppx-tools" ,ocaml-ppx-tools)
+ ("result" ,ocaml-result)
+ ("ppx-core" ,ocaml-ppx-core)
+ ("ppx-driver" ,ocaml-ppx-driver)))
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/ppx_type_conv/")
+ (synopsis "Support Library for type-driven code generators")
+ (description "The type_conv library factors out functionality needed by
+different preprocessors that generate code from type specifications.")
+ (license license:asl2.0)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 08/10] gnu: Add ocaml-ppx-inline-test.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
` (6 preceding siblings ...)
2017-01-31 20:58 ` [PATCH 07/10] gnu: Add ocaml-ppx-type-conv Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-01-31 20:58 ` [PATCH 09/10] gnu: Add ocaml-ppx-bench Julien Lepiller
` (2 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-ppx-inline-test): New variable.
---
gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 57a7fe6fc..b44966248 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2210,3 +2210,24 @@ code based on type definitions, and a set of useful plugins for common tasks.")
(description "The type_conv library factors out functionality needed by
different preprocessors that generate code from type specifications.")
(license license:asl2.0)))
+
+(define-public ocaml-ppx-inline-test
+ (package
+ (name "ocaml-ppx-inline-test")
+ (version "113.33.03")
+ (source (janestreet-origin "ppx_inline_test" version
+ "0859ni43fl39dd5g6cxfhq0prxmx59bd2bfq8jafp593ba4q0icq"))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("opam" ,opam)
+ ("ppx-core" ,ocaml-ppx-core)))
+ (propagated-inputs
+ `(("ppx-driver" ,ocaml-ppx-driver)
+ ("ppx-tools" ,ocaml-ppx-tools)
+ ("ppx-core" ,ocaml-ppx-core)))
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/ppx_inline_test/")
+ (synopsis "Syntax extension for writing in-line tests in ocaml code")
+ (description "Syntax extension for writing in-line tests in ocaml code.")
+ (license license:asl2.0)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 09/10] gnu: Add ocaml-ppx-bench.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
` (7 preceding siblings ...)
2017-01-31 20:58 ` [PATCH 08/10] gnu: Add ocaml-ppx-inline-test Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-01-31 20:58 ` [PATCH 10/10] gnu: Add ocaml-ppx-compare Julien Lepiller
2017-02-07 20:16 ` [PATCH 00/10] ocaml patches Julien Lepiller
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-ppx-bench): New variable.
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b44966248..0410dbe83 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2231,3 +2231,25 @@ different preprocessors that generate code from type specifications.")
(synopsis "Syntax extension for writing in-line tests in ocaml code")
(description "Syntax extension for writing in-line tests in ocaml code.")
(license license:asl2.0)))
+
+(define-public ocaml-ppx-bench
+ (package
+ (name "ocaml-ppx-bench")
+ (version "113.33.03")
+ (source (janestreet-origin "ppx_bench" version
+ "1hky3y17qpb925rymf97wv54di9gaqdmkix7wpkjw14qzl512b68"))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("opam" ,opam)
+ ("ppx-core" ,ocaml-ppx-core)))
+ (propagated-inputs
+ `(("ppx-driver" ,ocaml-ppx-driver)
+ ("ppx-tools" ,ocaml-ppx-tools)
+ ("ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("ppx-core" ,ocaml-ppx-core)))
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/ppx_bench/")
+ (synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
+ (description "Syntax extension for writing in-line benchmarks in ocaml code.")
+ (license license:asl2.0)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 10/10] gnu: Add ocaml-ppx-compare.
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
` (8 preceding siblings ...)
2017-01-31 20:58 ` [PATCH 09/10] gnu: Add ocaml-ppx-bench Julien Lepiller
@ 2017-01-31 20:58 ` Julien Lepiller
2017-02-07 20:16 ` [PATCH 00/10] ocaml patches Julien Lepiller
10 siblings, 0 replies; 17+ messages in thread
From: Julien Lepiller @ 2017-01-31 20:58 UTC (permalink / raw)
To: guix-devel
* gnu/packages/ocaml.scm (ocaml-ppx-compare): New variable.
---
gnu/packages/ocaml.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0410dbe83..3238896b5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2253,3 +2253,30 @@ different preprocessors that generate code from type specifications.")
(synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
(description "Syntax extension for writing in-line benchmarks in ocaml code.")
(license license:asl2.0)))
+
+(define-public ocaml-ppx-compare
+ (package
+ (name "ocaml-ppx-compare")
+ (version "113.33.03")
+ (source (janestreet-origin "ppx_compare" version
+ "0bfhi33kq9l4q6zzc6svki2csracz5j4731c3npcy6cs73jynn0z"))
+ (build-system ocaml-build-system)
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("opam" ,opam)
+ ("ppx-core" ,ocaml-ppx-core)))
+ (propagated-inputs
+ `(("ppx-driver" ,ocaml-ppx-driver)
+ ("ppx-tools" ,ocaml-ppx-tools)
+ ("ppx-core" ,ocaml-ppx-core)
+ ("ppx-type-conv" ,ocaml-ppx-type-conv)))
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/ppx_compare/")
+ (synopsis "Generation of comparison functions from types")
+ (description "Generation of fast comparison functions from type expressions
+and definitions. Ppx_compare is a ppx rewriter that derives comparison functions
+from type representations. The scaffolded functions are usually much faster
+than ocaml's Pervasives.compare. Scaffolding functions also gives you more
+flexibility by allowing you to override them for a specific type and more safety
+by making sure that you only compare comparable values.")
+ (license license:asl2.0)))
--
2.11.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 00/10] ocaml patches
2017-01-31 20:58 [PATCH 00/10] ocaml patches Julien Lepiller
` (9 preceding siblings ...)
2017-01-31 20:58 ` [PATCH 10/10] gnu: Add ocaml-ppx-compare Julien Lepiller
@ 2017-02-07 20:16 ` Julien Lepiller
2017-02-07 22:24 ` Ben Woodcroft
10 siblings, 1 reply; 17+ messages in thread
From: Julien Lepiller @ 2017-02-07 20:16 UTC (permalink / raw)
To: guix-devel
On Tue, 31 Jan 2017 21:58:05 +0100
Julien Lepiller <julien@lepiller.eu> wrote:
> Here is the next series of patches. I think I took into account all
> of your previous remarks, so it should be faster.
>
> Julien Lepiller (10):
> gnu: Add ocaml-fieldslib.
> gnu: Add ocaml-ppx-core.
> gnu: Add ocaml-ppx-optcomp.
> gnu: Add ocaml-ppx-driver.
> gnu: Add ocaml-cppo.
> gnu: Add ocaml-ppx-deriving.
> gnu: Add ocaml-ppx-type-conv.
> gnu: Add ocaml-ppx-inline-test.
> gnu: Add ocaml-ppx-bench.
> gnu: Add ocaml-ppx-compare.
>
> gnu/packages/ocaml.scm | 255
> +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 255
> insertions(+)
>
Up?
Can I push them?
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 00/10] ocaml patches
2017-02-07 20:16 ` [PATCH 00/10] ocaml patches Julien Lepiller
@ 2017-02-07 22:24 ` Ben Woodcroft
2017-02-08 11:21 ` Ludovic Courtès
0 siblings, 1 reply; 17+ messages in thread
From: Ben Woodcroft @ 2017-02-07 22:24 UTC (permalink / raw)
To: Julien Lepiller, guix-devel
Hi Julien,
On 08/02/17 06:16, Julien Lepiller wrote:
> On Tue, 31 Jan 2017 21:58:05 +0100
> Julien Lepiller <julien@lepiller.eu> wrote:
>
>> Here is the next series of patches. I think I took into account all
>> of your previous remarks, so it should be faster.
>>
>> Julien Lepiller (10):
>> gnu: Add ocaml-fieldslib.
>> gnu: Add ocaml-ppx-core.
>> gnu: Add ocaml-ppx-optcomp.
>> gnu: Add ocaml-ppx-driver.
>> gnu: Add ocaml-cppo.
>> gnu: Add ocaml-ppx-deriving.
>> gnu: Add ocaml-ppx-type-conv.
>> gnu: Add ocaml-ppx-inline-test.
>> gnu: Add ocaml-ppx-bench.
>> gnu: Add ocaml-ppx-compare.
>>
>> gnu/packages/ocaml.scm | 255
>> +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 255
>> insertions(+)
>>
> Up?
>
> Can I push them?
I've been meaning to review these patches but haven't found the time..
If they pass 'guix lint' then I would think it is OK to push them.
Thanks for your efforts on the OCaml front.
ben
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 00/10] ocaml patches
2017-02-07 22:24 ` Ben Woodcroft
@ 2017-02-08 11:21 ` Ludovic Courtès
0 siblings, 0 replies; 17+ messages in thread
From: Ludovic Courtès @ 2017-02-08 11:21 UTC (permalink / raw)
To: Ben Woodcroft; +Cc: guix-devel
Hi,
Ben Woodcroft <b.woodcroft@uq.edu.au> skribis:
> On 08/02/17 06:16, Julien Lepiller wrote:
>> On Tue, 31 Jan 2017 21:58:05 +0100
>> Julien Lepiller <julien@lepiller.eu> wrote:
>>
>>> Here is the next series of patches. I think I took into account all
>>> of your previous remarks, so it should be faster.
>>>
>>> Julien Lepiller (10):
>>> gnu: Add ocaml-fieldslib.
>>> gnu: Add ocaml-ppx-core.
>>> gnu: Add ocaml-ppx-optcomp.
>>> gnu: Add ocaml-ppx-driver.
>>> gnu: Add ocaml-cppo.
>>> gnu: Add ocaml-ppx-deriving.
>>> gnu: Add ocaml-ppx-type-conv.
>>> gnu: Add ocaml-ppx-inline-test.
>>> gnu: Add ocaml-ppx-bench.
>>> gnu: Add ocaml-ppx-compare.
>>>
>>> gnu/packages/ocaml.scm | 255
>>> +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 255
>>> insertions(+)
>>>
>> Up?
>>
>> Can I push them?
> I've been meaning to review these patches but haven't found the time..
>
> If they pass 'guix lint' then I would think it is OK to push
> them. Thanks for your efforts on the OCaml front.
I concur, sorry for the delay Julien!
That’s really a minor issue but in the future, please make sure
descriptions contain full sentences and use @code and similar where it
makes sense.
Also, feel free to push simple packages if they pass ‘guix lint’ and you
don’t get feedback within a few days (see ‘HACKING’).
Thanks for working the OCaml front! :-)
Ludo’.
^ permalink raw reply [flat|nested] 17+ messages in thread