summaryrefslogtreecommitdiff
path: root/guix/build-system/ocaml.scm
AgeCommit message (Collapse)Author
2023-03-20Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2023-03-13guix: Strip #:use-module lists.Ludovic Courtès
This was obtained by setting up this environment: guix shell -D guix --with-input=guile@3.0.9=guile-next \ --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2 -- make -j5 then adding 'unused-module' to (@@ (guix build compiler) %warnings), building, and checking all the "unused module" warnings and removing those that were definitely unused.
2023-03-02Merge remote-tracking branch 'savannah/master' into core-updatesChristopher Baines
Conflicts: gnu/local.mk gnu/packages/autotools.scm gnu/packages/cmake.scm gnu/packages/gnuzilla.scm gnu/packages/haskell.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/samba.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/wxwidgets.scm
2023-02-03build-system: Always pass #:graft? #f to 'gexp->derivation'.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/60947>. Fixes a bug whereby packages referred via 'ungexp' in package arguments would be "double-grafted": 'gexp->derivation' would first replace those references by references to the grafted package, only to repeat the grafting process on the result. Build systems such as 'gnu', 'cmake', and 'pyproject' were already doing this. Only the rest of them is affected. * guix/build-system/cargo.scm (cargo-build): Pass #:graft? #f to 'gexp->derivation'. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/guile.scm (guile-build): Likewise. (guile-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/waf.scm (waf-build): Likewise.
2023-01-30Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm
2022-12-21guix: ocaml: Add package-with-ocaml5.0.pukkamustard
* 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>
2022-10-08build-system: Factorize 'strip' flags and directories.Ludovic Courtès
Previously only 'gnu-build-system' would default to "--strip-unneeded", since commit e0f31baacc6ad30096a332b69433c85f5830bb2c; most other build systems would default to "--strip-debug". This change brings consistency. * guix/build-system/gnu.scm (%strip-flags, %strip-directories): Export. * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Use them. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build) (glib-or-gtk-cross-build): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/meson.scm (meson-build, meson-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise.
2022-03-14build-system/ocaml: Use standard packages as "build inputs".Ludovic Courtès
Conceptually, "standard packages" (GCC, Coreutils, etc.) are "build inputs". In the absence of cross-compilation support, this change has no effect, except for things like '--tune' that expect the compiler to be among the build inputs. * guix/build-system/ocaml.scm (lower): Move (standard-packages) from 'host-inputs' to 'build-inputs'.
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>