mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
guix: ocaml: Add package-with-ocaml5.0.
* guix/build-system/ocaml.scm (package-with-ocaml5.0) (strip-ocaml5.0-variant): New variables. * gnu/packages/ocaml.scm (ocaml5.0-dune-bootstrap) (ocaml5.0-dune, ocaml5.0-dune-configurator) (ocaml5.0-csexp, ocaml5.0-result): New variables. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
This commit is contained in:
parent
616e818946
commit
052ec8bcc7
2 changed files with 77 additions and 4 deletions
|
@ -1820,6 +1820,9 @@ (define dune-bootstrap
|
|||
(define ocaml4.09-dune-bootstrap
|
||||
(package-with-ocaml4.09 dune-bootstrap))
|
||||
|
||||
(define ocaml5.0-dune-bootstrap
|
||||
(package-with-ocaml5.0 dune-bootstrap))
|
||||
|
||||
(define-public dune-configurator
|
||||
(package
|
||||
(inherit dune-bootstrap)
|
||||
|
@ -1840,7 +1843,8 @@ (define-public dune-configurator
|
|||
(delete-file-recursively "vendor/pp"))))))
|
||||
(propagated-inputs
|
||||
(list ocaml-csexp))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))))
|
||||
(synopsis "Dune helper library for gathering system configuration")
|
||||
(description "Dune-configurator is a small library that helps writing
|
||||
OCaml scripts that test features available on the system, in order to generate
|
||||
|
@ -1865,13 +1869,25 @@ (define-public ocaml4.09-dune-configurator
|
|||
(propagated-inputs
|
||||
`(("ocaml-csexp" ,ocaml4.09-csexp)))))
|
||||
|
||||
(define-public ocaml5.0-dune-configurator
|
||||
(package
|
||||
(inherit dune-configurator)
|
||||
(name "ocaml5.0-dune-configurator")
|
||||
(arguments
|
||||
`(,@(package-arguments dune-configurator)
|
||||
#:dune ,ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib))
|
||||
(propagated-inputs (list ocaml5.0-csexp))))
|
||||
|
||||
(define-public dune
|
||||
(package
|
||||
(inherit dune-bootstrap)
|
||||
(propagated-inputs
|
||||
(list dune-configurator))
|
||||
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))
|
||||
(ocaml4.09-variant . ,(delay ocaml4.09-dune))))))
|
||||
(ocaml4.09-variant . ,(delay ocaml4.09-dune))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune))))))
|
||||
|
||||
(define-public ocaml4.09-dune
|
||||
(package
|
||||
|
@ -1893,6 +1909,12 @@ (define-public ocaml4.07-dune
|
|||
(base32
|
||||
"0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))))
|
||||
|
||||
(define-public ocaml5.0-dune
|
||||
(package
|
||||
(inherit ocaml5.0-dune-bootstrap)
|
||||
(propagated-inputs
|
||||
(list ocaml5.0-dune-configurator))))
|
||||
|
||||
(define-public ocaml-csexp
|
||||
(package
|
||||
(name "ocaml-csexp")
|
||||
|
@ -1918,7 +1940,8 @@ (define-public ocaml-csexp
|
|||
#t)))))
|
||||
(propagated-inputs
|
||||
(list ocaml-result))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp))))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-csexp))))
|
||||
(home-page "https://github.com/ocaml-dune/csexp")
|
||||
(synopsis "Parsing and printing of S-expressions in Canonical form")
|
||||
(description "This library provides minimal support for Canonical
|
||||
|
@ -1947,6 +1970,18 @@ (define-public ocaml4.09-csexp
|
|||
(propagated-inputs
|
||||
`(("ocaml-result" ,ocaml4.09-result)))))
|
||||
|
||||
(define-public ocaml5.0-csexp
|
||||
(package
|
||||
(inherit ocaml-csexp)
|
||||
(name "ocaml5.0-csexp")
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib
|
||||
,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
|
||||
((#:dune _) ocaml5.0-dune-bootstrap))))
|
||||
(propagated-inputs
|
||||
`(("ocaml-result" ,ocaml5.0-result)))))
|
||||
|
||||
(define-public ocaml-migrate-parsetree
|
||||
(package
|
||||
(name "ocaml-migrate-parsetree")
|
||||
|
@ -2132,7 +2167,8 @@ (define-public ocaml-result
|
|||
(arguments
|
||||
`(#:test-target "."
|
||||
#:dune ,dune-bootstrap))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-result))))
|
||||
(home-page "https://github.com/janestreet/result")
|
||||
(synopsis "Compatibility Result module")
|
||||
(description "Uses the new result type defined in OCaml >= 4.03 while
|
||||
|
@ -2149,6 +2185,16 @@ (define-public ocaml4.09-result
|
|||
#:dune ,ocaml4.09-dune-bootstrap
|
||||
#:ocaml ,ocaml-4.09
|
||||
#:findlib ,ocaml4.09-findlib))))
|
||||
|
||||
(define-public ocaml5.0-result
|
||||
(package
|
||||
(inherit ocaml-result)
|
||||
(name "ocaml5.0-result")
|
||||
(arguments
|
||||
`(#:test-target "."
|
||||
#:dune ,ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib))))
|
||||
|
||||
(define-public ocaml-topkg
|
||||
(package
|
||||
|
|
|
@ -32,6 +32,8 @@ (define-module (guix build-system ocaml)
|
|||
strip-ocaml4.07-variant
|
||||
package-with-ocaml4.09
|
||||
strip-ocaml4.09-variant
|
||||
package-with-ocaml5.0
|
||||
strip-ocaml5.0-variant
|
||||
default-findlib
|
||||
default-ocaml
|
||||
lower
|
||||
|
@ -111,6 +113,18 @@ (define (default-ocaml4.09-dune)
|
|||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||
(module-ref module 'ocaml4.09-dune)))
|
||||
|
||||
(define (default-ocaml5.0)
|
||||
(let ((ocaml (resolve-interface '(gnu packages ocaml))))
|
||||
(module-ref ocaml 'ocaml-5.0)))
|
||||
|
||||
(define (default-ocaml5.0-findlib)
|
||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||
(module-ref module 'ocaml5.0-findlib)))
|
||||
|
||||
(define (default-ocaml5.0-dune)
|
||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||
(module-ref module 'ocaml5.0-dune)))
|
||||
|
||||
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
|
||||
#:key variant-property)
|
||||
"Return a procedure of one argument, P. The procedure creates a package
|
||||
|
@ -199,6 +213,19 @@ (define (strip-ocaml4.09-variant p)
|
|||
(inherit p)
|
||||
(properties (alist-delete 'ocaml4.09-variant (package-properties p)))))
|
||||
|
||||
(define package-with-ocaml5.0
|
||||
(package-with-explicit-ocaml (delay (default-ocaml5.0))
|
||||
(delay (default-ocaml5.0-findlib))
|
||||
(delay (default-ocaml5.0-dune))
|
||||
"ocaml-" "ocaml5.0-"
|
||||
#:variant-property 'ocaml5.0-variant))
|
||||
|
||||
(define (strip-ocaml5.0-variant p)
|
||||
"Remove the 'ocaml5.0-variant' property from P."
|
||||
(package
|
||||
(inherit p)
|
||||
(properties (alist-delete 'ocaml5.0-variant (package-properties p)))))
|
||||
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(ocaml (default-ocaml))
|
||||
|
|
Loading…
Reference in a new issue