gnu: Add ocaml-sexplib0.

* gnu/packages/ocaml.scm (ocaml-sexplib0): New variable.
(ocaml4.07-sexplib0): Inherit from ocaml-sexplib0.
(janestreet-origin): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
This commit is contained in:
pukkamustard 2020-12-28 22:10:04 +01:00 committed by Julien Lepiller
parent 77ca156ab2
commit adb30e517b
No known key found for this signature in database
GPG key ID: 53D457B2D636EE82

View file

@ -94,6 +94,14 @@ (define (ocaml-forge-uri name version file-number)
(number->string file-number) "/" name "-" version
".tar.gz"))
(define (janestreet-origin name version hash)
(origin (method url-fetch)
(uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
(version-major+minor version) "/files/"
name "-v" (version-major+minor+point version)
".tar.gz"))
(sha256 (base32 hash))))
(define-public ocaml-4.11
(package
(name "ocaml")
@ -2918,7 +2926,7 @@ (define-public ocaml4.07-uri
("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)))
(propagated-inputs
`(("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
("ocaml-sexplib0" ,ocaml4.07-sexplib0)
("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
("ocaml-stringext" ,(package-with-ocaml4.07 ocaml-stringext))))
(home-page "https://github.com/mirage/ocaml-uri")
(synopsis "RFC3986 URI/URL parsing library")
@ -3649,7 +3657,7 @@ (define-public ocaml4.07-ppx-inline-test
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
("ocaml-sexplib0" ,ocaml4.07-sexplib0)
("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
("ocaml-stdio" ,ocaml4.07-stdio)
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
(properties `((upstream-name . "ppx_inline_test")))
@ -4028,27 +4036,17 @@ (define-public cubicle
exclusion algorithms are typical examples of such systems.")
(license license:asl2.0)))
(define-public ocaml4.07-sexplib0
(define-public ocaml-sexplib0
(package
(name "ocaml4.07-sexplib0")
(version "0.11.0")
(name "ocaml-sexplib0")
(version "0.14.0")
(home-page "https://github.com/janestreet/sexplib0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url (string-append home-page ".git"))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi"))))
(janestreet-origin "sexplib0" version
"0adrc0r1vvvr41dcpj8jwkzh1dfgqf0mks9xlnnskqfm3a51iavg"))
(build-system dune-build-system)
(arguments
`(#:tests? #f ;no tests
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib
#:dune ,ocaml4.07-dune))
(arguments `(#:tests? #f)) ;no tests
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib0))))
(synopsis "Library containing the definition of S-expressions and some
base converters")
(description "Part of Jane Street's Core library The Core suite of
@ -4056,6 +4054,18 @@ (define-public ocaml4.07-sexplib0
that was developed by Jane Street, the largest industrial user of OCaml.")
(license license:expat)))
(define-public ocaml4.07-sexplib0
(package-with-ocaml4.07
(package
(inherit ocaml-sexplib0)
(name "ocaml-sexplib0")
(version "0.11.0")
(source
(janestreet-origin "sexplib0" version
"1p06p2s7p9xsjn0z9qicniv1ai54d8sj11k8j633di2mm7jzxpin"))
(arguments `(#:tests? #f)) ; no tests
(properties '()))))
(define-public ocaml4.07-parsexp
(package
(name "ocaml4.07-parsexp")
@ -4077,7 +4087,7 @@ (define-public ocaml4.07-parsexp
#:findlib ,ocaml4.07-findlib
#:dune ,ocaml4.07-dune))
(inputs
`(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
`(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
(synopsis "S-expression parsing library")
(description
"This library provides generic parsers for parsing S-expressions from
@ -4129,7 +4139,7 @@ (define-public ocaml4.07-sexplib
(propagated-inputs
`(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
("ocaml-parsexp" ,ocaml4.07-parsexp)
("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
(synopsis
"Library for serializing OCaml values to and from S-expressions")
(description
@ -4154,7 +4164,7 @@ (define-public ocaml4.07-base
"0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
(build-system dune-build-system)
(propagated-inputs
`(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
`(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -4225,7 +4235,7 @@ (define-public ocaml4.07-stdio
(build-system dune-build-system)
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
(arguments
`(#:tests? #f ;no tests
#:ocaml ,ocaml-4.07
@ -4289,7 +4299,7 @@ (define-public ocaml4.07-ppxlib
("ocaml-ppx-derivers" ,(package-with-ocaml4.07 ocaml-ppx-derivers))
("ocaml-stdio" ,ocaml4.07-stdio)
("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
(arguments
`(#:phases
(modify-phases %standard-phases