guix: ocaml: Add package-with-ocaml4.09.
* guix/build-system/ocaml.scm (package-with-ocaml4.09) (strip-ocaml4.09-variant): New variables. * gnu/packages/ocaml.scm (ocaml4.09-result, ocaml4.09-csexp) (ocaml4.09-dune-configurator, ocaml4.09-dune): New variables.
This commit is contained in:
parent
35c02c559e
commit
6ed2741a35
2 changed files with 76 additions and 1 deletions
|
@ -1315,6 +1315,9 @@ release of Jane Street packages. It reads metadata from @file{dune} files
|
||||||
following a very simple s-expression syntax.")
|
following a very simple s-expression syntax.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define ocaml4.09-dune-bootstrap
|
||||||
|
(package-with-ocaml4.09 dune-bootstrap))
|
||||||
|
|
||||||
(define-public dune-configurator
|
(define-public dune-configurator
|
||||||
(package
|
(package
|
||||||
(inherit dune-bootstrap)
|
(inherit dune-bootstrap)
|
||||||
|
@ -1327,6 +1330,7 @@ following a very simple s-expression syntax.")
|
||||||
#:tests? #f))
|
#:tests? #f))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("ocaml-csexp" ,ocaml-csexp)))
|
`(("ocaml-csexp" ,ocaml-csexp)))
|
||||||
|
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))))
|
||||||
(synopsis "Dune helper library for gathering system configuration")
|
(synopsis "Dune helper library for gathering system configuration")
|
||||||
(description "Dune-configurator is a small library that helps writing
|
(description "Dune-configurator is a small library that helps writing
|
||||||
OCaml scripts that test features available on the system, in order to generate
|
OCaml scripts that test features available on the system, in order to generate
|
||||||
|
@ -1339,12 +1343,32 @@ config.h files for instance. Among other things, dune-configurator allows one t
|
||||||
@item generate config.h file
|
@item generate config.h file
|
||||||
@end itemize")))
|
@end itemize")))
|
||||||
|
|
||||||
|
(define-public ocaml4.09-dune-configurator
|
||||||
|
(package
|
||||||
|
(inherit dune-configurator)
|
||||||
|
(name "ocaml4.09-dune-configurator")
|
||||||
|
(arguments
|
||||||
|
`(#:package "dune-configurator"
|
||||||
|
#:tests? #f
|
||||||
|
#:dune ,ocaml4.09-dune-bootstrap
|
||||||
|
#:ocaml ,ocaml-4.09
|
||||||
|
#:findlib ,ocaml4.09-findlib))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("ocaml-csexp" ,ocaml4.09-csexp)))))
|
||||||
|
|
||||||
(define-public dune
|
(define-public dune
|
||||||
(package
|
(package
|
||||||
(inherit dune-bootstrap)
|
(inherit dune-bootstrap)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("dune-configurator" ,dune-configurator)))
|
`(("dune-configurator" ,dune-configurator)))
|
||||||
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))))))
|
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))
|
||||||
|
(ocaml4.09-variant . ,(delay ocaml4.09-dune))))))
|
||||||
|
|
||||||
|
(define-public ocaml4.09-dune
|
||||||
|
(package
|
||||||
|
(inherit ocaml4.09-dune-bootstrap)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("dune-configurator" ,dune-configurator)))))
|
||||||
|
|
||||||
(define-public ocaml4.07-dune
|
(define-public ocaml4.07-dune
|
||||||
(package
|
(package
|
||||||
|
@ -1385,6 +1409,7 @@ config.h files for instance. Among other things, dune-configurator allows one t
|
||||||
#t)))))
|
#t)))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("ocaml-result" ,ocaml-result)))
|
`(("ocaml-result" ,ocaml-result)))
|
||||||
|
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp))))
|
||||||
(home-page "https://github.com/ocaml-dune/csexp")
|
(home-page "https://github.com/ocaml-dune/csexp")
|
||||||
(synopsis "Parsing and printing of S-expressions in Canonical form")
|
(synopsis "Parsing and printing of S-expressions in Canonical form")
|
||||||
(description "This library provides minimal support for Canonical
|
(description "This library provides minimal support for Canonical
|
||||||
|
@ -1401,6 +1426,18 @@ To avoid a dependency on a particular S-expression library, the only
|
||||||
module of this library is parameterised by the type of S-expressions.")
|
module of this library is parameterised by the type of S-expressions.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public ocaml4.09-csexp
|
||||||
|
(package
|
||||||
|
(inherit ocaml-csexp)
|
||||||
|
(name "ocaml4.09-csexp")
|
||||||
|
(arguments
|
||||||
|
`(#:ocaml ,ocaml-4.09
|
||||||
|
#:findlib ,ocaml4.09-findlib
|
||||||
|
,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
|
||||||
|
((#:dune _) ocaml4.09-dune-bootstrap))))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("ocaml-result" ,ocaml4.09-result)))))
|
||||||
|
|
||||||
(define-public ocaml-migrate-parsetree
|
(define-public ocaml-migrate-parsetree
|
||||||
(package
|
(package
|
||||||
(name "ocaml-migrate-parsetree")
|
(name "ocaml-migrate-parsetree")
|
||||||
|
@ -1509,6 +1546,7 @@ powerful.")
|
||||||
(arguments
|
(arguments
|
||||||
`(#:test-target "."
|
`(#:test-target "."
|
||||||
#:dune ,dune-bootstrap))
|
#:dune ,dune-bootstrap))
|
||||||
|
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))))
|
||||||
(home-page "https://github.com/janestreet/result")
|
(home-page "https://github.com/janestreet/result")
|
||||||
(synopsis "Compatibility Result module")
|
(synopsis "Compatibility Result module")
|
||||||
(description "Uses the new result type defined in OCaml >= 4.03 while
|
(description "Uses the new result type defined in OCaml >= 4.03 while
|
||||||
|
@ -1516,6 +1554,16 @@ staying compatible with older version of OCaml should use the Result module
|
||||||
defined in this library.")
|
defined in this library.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public ocaml4.09-result
|
||||||
|
(package
|
||||||
|
(inherit ocaml-result)
|
||||||
|
(name "ocaml4.09-result")
|
||||||
|
(arguments
|
||||||
|
`(#:test-target "."
|
||||||
|
#:dune ,ocaml4.09-dune-bootstrap
|
||||||
|
#:ocaml ,ocaml-4.09
|
||||||
|
#:findlib ,ocaml4.09-findlib))))
|
||||||
|
|
||||||
(define-public ocaml-topkg
|
(define-public ocaml-topkg
|
||||||
(package
|
(package
|
||||||
(name "ocaml-topkg")
|
(name "ocaml-topkg")
|
||||||
|
|
|
@ -29,6 +29,8 @@
|
||||||
#:export (%ocaml-build-system-modules
|
#:export (%ocaml-build-system-modules
|
||||||
package-with-ocaml4.07
|
package-with-ocaml4.07
|
||||||
strip-ocaml4.07-variant
|
strip-ocaml4.07-variant
|
||||||
|
package-with-ocaml4.09
|
||||||
|
strip-ocaml4.09-variant
|
||||||
default-findlib
|
default-findlib
|
||||||
default-ocaml
|
default-ocaml
|
||||||
lower
|
lower
|
||||||
|
@ -96,6 +98,18 @@
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||||
(module-ref module 'ocaml4.07-dune)))
|
(module-ref module 'ocaml4.07-dune)))
|
||||||
|
|
||||||
|
(define (default-ocaml4.09)
|
||||||
|
(let ((ocaml (resolve-interface '(gnu packages ocaml))))
|
||||||
|
(module-ref ocaml 'ocaml-4.09)))
|
||||||
|
|
||||||
|
(define (default-ocaml4.09-findlib)
|
||||||
|
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||||
|
(module-ref module 'ocaml4.09-findlib)))
|
||||||
|
|
||||||
|
(define (default-ocaml4.09-dune)
|
||||||
|
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||||
|
(module-ref module 'ocaml4.09-dune)))
|
||||||
|
|
||||||
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
|
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
|
||||||
#:key variant-property)
|
#:key variant-property)
|
||||||
"Return a procedure of one argument, P. The procedure creates a package
|
"Return a procedure of one argument, P. The procedure creates a package
|
||||||
|
@ -171,6 +185,19 @@ pre-defined variants."
|
||||||
(inherit p)
|
(inherit p)
|
||||||
(properties (alist-delete 'ocaml4.07-variant (package-properties p)))))
|
(properties (alist-delete 'ocaml4.07-variant (package-properties p)))))
|
||||||
|
|
||||||
|
(define package-with-ocaml4.09
|
||||||
|
(package-with-explicit-ocaml (delay (default-ocaml4.09))
|
||||||
|
(delay (default-ocaml4.09-findlib))
|
||||||
|
(delay (default-ocaml4.09-dune))
|
||||||
|
"ocaml-" "ocaml4.09-"
|
||||||
|
#:variant-property 'ocaml4.09-variant))
|
||||||
|
|
||||||
|
(define (strip-ocaml4.09-variant p)
|
||||||
|
"Remove the 'ocaml4.09-variant' property from P."
|
||||||
|
(package
|
||||||
|
(inherit p)
|
||||||
|
(properties (alist-delete 'ocaml4.09-variant (package-properties p)))))
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
(ocaml (default-ocaml))
|
(ocaml (default-ocaml))
|
||||||
|
|
Reference in a new issue