summaryrefslogtreecommitdiff
path: root/guix/build-system/ocaml.scm
AgeCommit message (Collapse)Author
2021-03-30build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.Ludovic Courtès
* guix/gexp.scm (input-tuples->gexp, outputs->gexp): Make public. * guix/build-system/cargo.scm (cargo-build): Use them. * guix/build-system/gnu.scm (gnu-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/cmake.scm (cmake-cross-build): Likewise.
2021-03-30build-system: Rewrite using gexps.Ludovic Courtès
* guix/packages.scm (expand-input): Remove 'store', 'system', and 'cross-system' parameters; add #:native?. Rewrite to return name/gexp-input tuples. (bag->derivation): Adjust accordingly. Lower (bag-build bag). (bag->cross-derivation): Ditto. Instead of #:native-drvs and #:target-drvs, pass #:build-inputs, #:host-inputs, and #:target-inputs. (%derivation-cache): Remove. * gnu/packages/bootstrap.scm (raw-build): Turn into a monadic procedure. * gnu/packages/commencement.scm (glibc-final)[arguments]: Use 'gexp-input' for the #:allowed-references argument. * guix/build-system/cmake.scm (cmake-build): Remove 'store' parameter. Switch to the use of gexps and 'gexp->derivation'. (lower): Remove #:source from 'private-keywords'. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build, lower): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/gnu.scm (gnu-build): Likewise, and remove 'canonicalize-reference'. (gnu-cross-build): Likewise, and expect #:build-inputs, #:host-inputs, and #:target-inputs instead of #:native-drvs and #:target-drvs. (lower): Likewise. * guix/build-system/perl.scm (perl-build, lower): Likewise. * guix/build-system/python.scm (python-build, lower): Likewise. * guix/build-system/ruby.scm (ruby-build, lower): Likewise. * guix/build-system/waf.scm (waf-build, lower): Likewise. * guix/build-system/trivial.scm (guile-for-build): Remove. (trivial-build): Remove 'store' parameter, change to gexps. (trivial-cross-build): Ditto, and change to #:build-inputs & co. * guix/build-system/cargo.scm (cargo-build): Change to 'gexp->derivation'. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/guile.scm (guile-build, guile-cross-build): Likewise. * guix/build-system/meson.scm (meson-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/android-ndk.scm (android-ndk-build): Likewise. * guix/build-system/ant.scm (ant-build): Likewise. * guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise. * guix/build-system/chicken.scm (chicken-build): Likewise. * guix/build-system/clojure.scm (clojure-build): Likewise. (source->output-path, maybe-guile->guile): Remove. * guix/build-system/dub.scm (dub-build): Likewise. * guix/build-system/emacs.scm (emacs-build): Likewise. * guix/build-system/go.scm (go-build): Likewise. * guix/build-system/haskell.scm (haskell-build): Likewise. * guix/build-system/julia.scm (julia-build): Likewise. * guix/build-system/linux-module.scm (linux-module-build) (linux-module-build-cross): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/minify.scm (minify-build): Likewise. * guix/build-system/node.scm (node-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise. * guix/build-system/r.scm (r-build): Likewise. * guix/build-system/rakudo.scm (rakudo-build): Likewise. * guix/build-system/renpy.scm (renpy-build): Likewise. * tests/builders.scm ("gnu-build"): Call 'store-lower' on 'gnu-build'. Pass #:source parameter. * tests/packages.scm ("search paths"): Use 'abort-to-prompt' instead of a normal return from the 'build' method. ("package->bag, sensitivity to %current-target-system"): Change 'build' to match the new build system signature. squash! build-system: Rewrite using gexps. squash! build-system: Rewrite using gexps.
2020-11-10guix: ocaml: Add package-with-ocaml4.09.Julien Lepiller
* 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.
2020-01-27guix: ocaml: Also replace dune when relevant in package-with-explicit-ocaml.Julien Lepiller
* guix/build-system/ocaml.scm (package-with-explicit-ocaml): Take a dune argument and add it to transformed packages when relevant.
2020-01-22guix: ocaml: Reuse package-with-ocaml4.01 with ocaml-4.07.Julien Lepiller
* guix/build-system/guix.scm (package-with-ocaml4.01) (strip-ocaml4.01-variant): Rename to... (package-with-ocaml4.07, strip-ocaml4.07-variant): ... this and rename internal implementation.
2019-04-25gnu: ocaml@4.02: Remove the package, affected by a CVE, and its dependentJulien Lepiller
packages. This fixes <https://bugs.gnu.org/27462>. * gnu/packages/ocaml.scm (ocaml-4.02, camlp4-4.02, ocaml4.02-menhir) (ocaml4.02-lablgtk, ocaml4.02-findlib, ocaml4.02-ounit) (ocaml4.02-camlzip, ocaml4.02-ocamlmod, ocaml4.02-zarith) (ocaml4.02-qcheck, ocaml4.02-qtest, ocaml4.02-stringext) (ocaml4.02-bisect, ocaml4.02-bitstring, ocaml4.02-result) (ocaml4.02-topkg, ocaml4.02-rresult, ocaml4.02-sqlite3, ocaml4.02-csv) (ocaml4.02-mtime, ocaml4.02-cmdliner, ocaml4.02-fmt, ocaml4.02-astring) (ocaml4.02-alcotest, ocaml4.02-ppx-tools, ocaml4.02-react, ocaml4.02-ssl) (ocaml4.02-lwt, ocaml4.02-lwt-log, ocaml4.02-logs, ocaml4.02-fpath) (ocaml4.02-bos, ocaml4.02-xmlm, ocaml4.02-ulex, ocaml4.02-uchar) (ocaml4.02-uutf, ocaml4.02-jsonm, ocaml4.02-ocurl, ocaml4.02-base64) (ocaml4.02-omake, ocaml4.02-batteries, ocaml4.02-pcre, ocaml4.02-oasis) (ocaml4.02-js-build-tools, ocaml4.02-bin-prot, ocaml4.02-fieldslib) (ocaml4.02-ppx-core, ocaml4.02-ppx-optcomp, ocaml4.02-ppx-driver) (ocaml4.02-cppo, ocaml4.02-ppx-deriving, ocaml4.02-ppx-type-conv) (ocaml4.02-ppx-inline-test, ocaml4.02-ppx-bench, ocaml4.02-ppx-compare) (ocaml4.02-sexplib, ocaml4.02-typerep, ocaml4.02-variantslib) (ocaml4.02-ppx-sexp-conv, ocaml4.02-ppx-variants-conv) (ocaml4.02-ppx-here, ocaml4.02-ppx-assert, ocaml4.02-ppx-enumerate) (ocaml4.02-ppx-let, ocaml4.02-ppx-typerep-conv, ocaml4.02-ppx-sexp-value) (ocaml4.02-ppx-pipebang, ocaml4.02-ppx-bin-prot, ocaml4.02-ppx-fail) (ocaml4.02-ppx-custom-printf, ocaml4.02-ppx-sexp-message) (ocaml4.02-ppx-fields-conv, ocaml4.02-seq, ocaml4.02-re) (ocaml4.02-ppx-expect, ocaml4.02-ppx-jane, ocaml4.02-core-kernel) (ocaml4.02-async-kernel, ocaml4.02-async-rpc-kernel, ocaml4.02-core) (ocaml4.02-async-unix, ocaml4.02-async-extra, ocaml4.02-async) (ocaml4.02-ocplib-endian, ocaml4.02-easy-format, optcomp) (ocaml4.02-piqilib, ocaml4.02-uuidm, ocaml4.02-graph, ocaml4.02-piqi) (ocaml4.02-camomile, ocaml4.02-zed, ocaml4.02-lambda-term): Remove variables. * guix/build-system/ocaml.scm (default-ocaml4.02) (default-ocaml4.02-findlib, package-with-ocaml4.02) (strip-ocaml4.02-variant): Remove variables.
2018-12-18build: Add dune-build-system.Julien Lepiller
* guix/build/dune-build-system.scm, guix/build-system/dune.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document dune-build-system. * guix/build-system/ocaml.scm (lower, default-findlib, default-ocaml): Export them. (package-with-explicit-ocaml): Also transform packages built with dune-build-system.
2018-11-18gnu: ocaml: Update to 4.7.0.Julien Lepiller
Update ocaml to the latest version and fixes dependent packages by updating them or by adding new inputs, such as ocaml-num and ocamlbuild, that were removed from the core ocaml package. Rename packages that cannot be built with the new compiler with an ocaml4.02 prefix. Add ocaml4.02 dependencies. * gnu/packages/ocaml.scm (ocaml): Update to 4.7.0. (ocaml-4.02, ocamlbuild, camlp4-4.02, ocaml-num, ocaml4.02-menhir) (ocaml4.02-lablgtk, ocaml4.02-findlib, ocaml4.02-ounit, ocaml4.02-camlzip) (ocaml4.02-ocamlmod, ocaml4.02-zarith, ocaml4.02-qcheck, ocaml4.02-qtest) (ocaml4.02-stringext, ocaml4.02-bisect, dune, ocaml-migrate-parsetree) (ocaml-ppx-tools-versioned, ocaml-ppx-tools-versioned) (ocaml4.02-bitstring, ocaml4.02-result, ocaml4.02-topkg, ocaml4.02-rresult) (ocaml4.02-sqlite3, ocaml4.02-csv, ocaml4.02-mtime, ocaml4.02-cmdliner) (ocaml4.02-fmt, ocaml4.02-astring, ocaml4.02-alcotest, ocaml4.02-ppx-tools) (ocaml4.02-react, ocaml4.02-ssl, ocaml4.02-lwt, ocaml-lwt-log) (ocaml4.02-lwt-log, ocaml4.02-logs, ocaml4.02-fpath, ocaml4.02-bos) (ocaml4.02-xmlm, ocaml4.02-ulex, ocaml4.02-uchar, ocaml4.02-uutf) (ocaml4.02-jsonm, ocaml4.02-ocurl, ocaml4.02-base64, ocaml4.02-omake) (ocaml4.02-batteries, ocaml4.02-pcre, ocaml4.02-oasis) (ocaml4.02-js-build-tools, ocaml4.02-cppo, ocaml-seq, ocaml4.02-seq) (ocaml4.02-re, ocaml4.02-ocplib-endian, ocaml4.02-easy-format) (ocaml4.02-piqilib, ocaml4.02-uuidm, ocaml4.02-graph, ocaml4.02-piqi) (ocaml4.02-camomile, ocaml4.02-zed, ocaml4.02-lambda-term): New packages. (opam): Update to 2.0.0. (camlp4): Update to 4.07+1. (camlp5): Update to 7.06. (hevea): Update to 2.32. (coq)[inputs]: Add ocaml-num. (emacs-tuareg): Update to 2.2.0. (ocaml-menhir)[native-inputs]: Add ocamlbuild. (ocaml-lablgtk): Update to 2.18.6. (unison)[inputs]: Use ocaml-4.02. (ocaml-findlib): Update to 1.8.0. (ocaml-ounit)[native-inputs]: Add ocamlbuild. (ocamlmod): Update to 0.0.9. (ocaml-frontc)[arguments]: Use ocaml-4.02. (ocaml-qcheck)[native-inputs]: Add ocamlbuild. (ocaml-qtest)[native-inputs]: Remove ocaml-findlib and add ocamlbuild. (ocaml-stringext)[native-inputs]: Add ocamlbuild. (ocaml-bisect): Update to 1.3.1. (ocaml4.01-bisect): Downgrade to 1.3. (ocaml-bitstring): Update to 3.1.0. (ocaml-topkg)[native-inputs]: Add ocamlbuild. (ocaml-rresult)[native-inputs]: Add ocamlbuild. (ocaml-sqlite3)[native-inputs]: Add ocamlbuild. (ocaml-csv)[native-inputs]: Add ocamlbuild. (ocaml-mtime)[native-inputs]: Add ocamlbuild. (ocaml-cmdliner)[native-inputs]: Add ocamlbuild. (ocaml-fmt)[native-inputs]: Add ocamlbuild. (ocaml-astring)[native-inputs]: Add ocamlbuild. (ocaml-alcotest)[native-inputs]: Add ocamlbuild. (ocaml-ppx-tools)[native-inputs]: Add ocamlbuild. (ocaml-react)[native-inputs]: Add ocamlbuild. (ocaml-ssl)[arguments]: Return #t in phases. (ocaml-lwt): Update to 4.1.0. (ocaml-logs)[native-inputs]: Add ocamlbuild. (ocaml-fpath)[native-inputs]: Add ocamlbuild. (ocaml-bos)[native-inputs]: Add ocamlbuild. (ocaml-xmlm): Update to 1.3.0. (ocaml-ulex): Update to 1.2.0. (ocaml-uchar)[native-inputs]: Add ocamlbuild. (ocaml-uutf): Update to 1.0.1. (ocaml-jsonm): Update to 1.0.1. (ocaml-ocurl): Update to 0.8.2. (ocaml-base64)[native-inputs]: Add ocamlbuild. (ocamlify)[native-inputs]: Use ocaml-4.02. (omake): Update to 0.10.3. (ocaml-batteries): Update to 2.9.0. (ocaml-pcre)[native-inputs]: Add ocamlbuild. (ocaml-expect): Update 0.0.6. (ocaml4.02-fileutils): Update to 0.5.3. (ocaml-oasis): Update 0.4.11. (ocaml-js-build-tools)[native-inputs]: Add ocamlbuild. (ocaml-bin-prot): Rename to ocaml4.02-bin-prot. (ocaml-fieldslib): Rename to ocaml4.02-fieldslib. (ocaml-ppx-core): Rename to ocaml4.02-ppx-core. (ocaml-ppx-optcomp): Rename to ocaml4.02-ppx-optcomp. (ocaml-ppx-driver): Rename to ocaml4.02-ppx-driver. (ocaml-cppo): Update to 1.6.5. (ocaml-ppx-deriving): Rename to ocaml4.02-ppx-deriving. (ocaml-ppx-type-conv): Rename to ocaml4.02-ppx-type-conv. (ocaml-ppx-inline-test): Rename to ocaml4.02-ppx-inline-test. (ocaml-ppx-bench): Rename to ocaml4.02-ppx-bench. (ocaml-ppx-compare): Rename to ocaml4.02-ppx-compare. (ocaml-sexplib): Rename to ocaml4.02-sexplib. (ocaml-typerep): Rename to ocaml4.02-typerep. (ocaml-variantslib): Rename to ocaml4.02-variantslib. (ocaml-ppx-sexp-conv): Rename to ocaml4.02-ppx-sexp-conv. (ocaml-ppx-variants-conv): Rename to ocaml4.02-ppx-variants-conv. (ocaml-ppx-here): Rename to ocaml4.02-ppx-here. (ocaml-ppx-assert): Rename to ocaml4.02-ppx-assert. (ocaml-ppx-enumerate): Rename to ocaml4.02-ppx-enumerate. (ocaml-ppx-let): Rename to ocaml4.02-ppx-let. (ocaml-ppx-typerep-conv): Rename to ocaml4.02-ppx-typerep-conv. (ocaml-ppx-sexp-value): Rename to ocaml4.02-ppx-sexp-value. (ocaml-ppx-pipebang): Rename to ocaml4.02-ppx-pipebang. (ocaml-ppx-bin-prot): Rename to ocaml4.02-ppx-bin-prot. (ocaml-ppx-fail): Rename to ocaml4.02-ppx-fail. (ocaml-ppx-custom-printf): Rename to ocaml4.02-ppx-custom-printf. (ocaml-ppx-sexp-message): Rename to ocaml4.02-ppx-sexp-message. (ocaml-ppx-fields-conv): Rename to ocaml4.02-ppx-fields-conv. (ocaml-re): Update to 1.8.0. (ocaml-ppx-expect): Rename to ocaml4.02-ppx-expect. (ocaml-ppx-jane): Rename to ocaml4.02-ppx-jane. (ocaml-core-kernel): Rename to ocaml4.02-core-kernel. (ocaml-async-kernel): Rename to ocaml4.02-async-kernel. (ocaml-async-rpc-kernel): Rename to ocaml4.02-async-rpc-kernel. (ocaml-core): Rename to ocaml4.02-core. (ocaml-async-unix): Rename to ocaml4.02-async-unix. (ocaml-async-extra): Rename to ocaml4.02-async-extra. (ocaml-async): Rename to ocaml4.02-async. (ocaml-ocplib-endian)[native-inputs]: Update to 1.0. (ocaml-cstruct): Rename to ocaml4.02-cstruct. (ocaml-hex): Rename to ocaml4.02-hex. (ocaml-ezjsonm): Rename to ocaml4.02-ezjsonm. (ocaml-uri): Rename to ocaml4.02-uri. (optcomp): Use ocaml-4.02. (ocaml-piqilib): Update to 0.6.14. (ocaml-uuidm)[native-inputs]: Add ocamlbuild. (ocaml-graph): Update to 1.8.8. (ocaml-piqi): Update to 0.7.6. (bap): Update to 1.3.0. (ocaml-camomile): Update to 1.0.1. (ocaml-jbuilder): Use ocaml-4.02. (ocaml-lambda-term): Update to 1.13. (ocaml-utop): Update to 2.2.0. (ocaml-integers)[native-inputs]: Add ocamlbuild. (ocaml-ctypes): Update to 0.14.0. (ocaml-ocb-stubblr)[native-inputs]: Add ocamlbuild. (ocaml-tsdl)[native-inputs]: Add ocamlbuild. * gnu/packages/machine-learning.scm (ocaml-mcl): Use ocaml-4.02. * gnu/packages/maths.scm (cubicle): Update to 1.1.2. * gnu/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch: Update patch. * guix/build-system/ocaml.scm: (default-ocaml4.02, default-ocaml4.02-findlib) (package-with-ocaml4.02, strip-ocaml4.02-variant): New variables.
2017-05-10build-system: Add package-with-ocaml4.01.Ben Woodcroft
* guix/build-system/ocaml.scm (default-ocaml4.01, default-ocaml4.01-findlib, package-with-explicit-ocaml, package-with-ocaml4.01, strip-ocaml4.01-variant): New variables.
2017-01-04gnu: Add ocaml-build-system.Julien Lepiller
* guix/build/ocaml-build-system.scm: New file. * guix/build-system/ocaml.scm: New file. * Makefile.am (MODULES): Add them. * gnu/packages/ocaml.scm (ocaml)[native-search-paths]: Adjuste OCAMLPATH. Signed-off-by: David Craven <david@craven.ch>