me
/
guix
Archived
1
0
Fork 0

gnu: ocaml-batteries: Update to 3.3.0.

* gnu/packages/ocaml.scm (ocaml-batteries): Update to 3.3.0.
(ocaml4.07-batteries): New variable.
master
Julien Lepiller 2021-11-24 14:48:21 +01:00
parent db61ad142d
commit 4ac084e52d
No known key found for this signature in database
GPG Key ID: 53D457B2D636EE82
1 changed files with 63 additions and 29 deletions

View File

@ -3208,50 +3208,36 @@ is used to determine whether the results truly differ.")
(define-public ocaml-batteries (define-public ocaml-batteries
(package (package
(name "ocaml-batteries") (name "ocaml-batteries")
(version "2.10.0") (version "3.3.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/ocaml-batteries-team/" (uri (git-reference
"batteries-included/releases/download/v" (url "https://github.com/ocaml-batteries-team/batteries-included")
version "/batteries-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08ghw87d56h1a6y1nnh3x2wy9xj25jqfk5sp6ma9nsyd37babb0h")))) "1h03nkc3vajaijqhj1dy5hw85j2hwwxdkg8rvs2fc00qaf44ad1d"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(propagated-inputs `(("ocaml-num" ,ocaml-num)))
(native-inputs (native-inputs
`(("ocamlbuild" ,ocamlbuild) `(("ocamlbuild" ,ocamlbuild)
("qtest" ,ocaml-qtest))) ("ocaml-benchmark" ,ocaml-benchmark)
(propagated-inputs ("ocaml-qcheck" ,ocaml-qcheck)
`(("ocaml-num" ,ocaml-num))) ("ocaml-qtest" ,ocaml-qtest)))
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'check) ; tests are run by the build phase (add-after 'unpack 'make-writable
(lambda _
(for-each make-file-writable (find-files "." "."))))
(add-before 'build 'fix-nondeterminism (add-before 'build 'fix-nondeterminism
(lambda _ (lambda _
(substitute* "setup.ml" (substitute* "setup.ml"
(("Sys.readdir dirname") (("Sys.readdir dirname")
"let a = Sys.readdir dirname in Array.sort String.compare a; a")) "let a = Sys.readdir dirname in Array.sort String.compare a; a"))
#t))
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((files
(map (lambda (str)
(substring str 0 (- (string-length str) 1)))
(append
(find-files "src" ".*.mliv")
(find-files "src" ".*.mlv")
(find-files "src" ".*.mlp")))))
(apply invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num"
"-lflag" "-dllpath-all" files)
(for-each (lambda (file)
(copy-file (string-append "_build/" file) file))
files))
(invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num"
"-lflag" "-dllpath-all" "build/mkconf.byte")
(copy-file "_build/build/mkconf.byte" "build/mkconf.byte")
(invoke "make" "all")
#t))))) #t)))))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-batteries))))
(home-page "http://batteries.forge.ocamlcore.org/") (home-page "http://batteries.forge.ocamlcore.org/")
(synopsis "Development platform for the OCaml programming language") (synopsis "Development platform for the OCaml programming language")
(description "Define a standard set of libraries which may be expected on (description "Define a standard set of libraries which may be expected on
@ -3259,6 +3245,54 @@ every compliant installation of OCaml and organize these libraries into a
hierarchy of modules.") hierarchy of modules.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public ocaml4.07-batteries
(package-with-ocaml4.07
(package
(inherit ocaml-batteries)
(version "2.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml-batteries-team/batteries-included")
(commit (string-append "v" version))))
(file-name (git-file-name "ocaml-batteries" version))
(sha256
(base32
"02fxa1nkp7rpiwfp04n0sagdp9lad4dh9bvljp95xfshm1cx7y4q"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'check) ; tests are run by the build phase
(add-before 'build 'fix-nondeterminism
(lambda _
(substitute* "setup.ml"
(("Sys.readdir dirname")
"let a = Sys.readdir dirname in Array.sort String.compare a; a"))
#t))
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((files
(map (lambda (str)
(substring str 0 (- (string-length str) 1)))
(append
(find-files "src" ".*.mliv")
(find-files "src" ".*.mlv")
(find-files "src" ".*.mlp")))))
(apply invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num"
"-lflag" "-dllpath-all" files)
(for-each (lambda (file)
(copy-file (string-append "_build/" file) file))
files))
(invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num"
"-lflag" "-dllpath-all" "build/mkconf.byte")
(copy-file "_build/build/mkconf.byte" "build/mkconf.byte")
(invoke "make" "all")
#t)))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
("qtest" ,ocaml-qtest)))
(properties '()))))
(define-public ocaml-pcre (define-public ocaml-pcre
(package (package
(name "ocaml-pcre") (name "ocaml-pcre")