diff options
author | Alfredo Tupone <tupone@gentoo.org> | 2023-02-10 20:10:42 +0100 |
---|---|---|
committer | Alfredo Tupone <tupone@gentoo.org> | 2023-02-10 20:11:08 +0100 |
commit | 4c5ad634e096030701e68b385425b67982a679ca (patch) | |
tree | 7c54db8278f14fd6fdfcd1df937aa60233544e32 /dev-lang/ocaml | |
parent | media-libs/vulkan-layers: remove unused patches (diff) | |
download | gentoo-4c5ad634e096030701e68b385425b67982a679ca.tar.gz gentoo-4c5ad634e096030701e68b385425b67982a679ca.tar.bz2 gentoo-4c5ad634e096030701e68b385425b67982a679ca.zip |
dev-lang/ocaml: add 4.14.1
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Diffstat (limited to 'dev-lang/ocaml')
-rw-r--r-- | dev-lang/ocaml/Manifest | 1 | ||||
-rw-r--r-- | dev-lang/ocaml/ocaml-4.14.1.ebuild | 100 |
2 files changed, 101 insertions, 0 deletions
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest index edc6337be4cb..330bb3062ab5 100644 --- a/dev-lang/ocaml/Manifest +++ b/dev-lang/ocaml/Manifest @@ -8,4 +8,5 @@ DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B bdc503d9a8d0e39dd11060febcd0287657b460e DIST ocaml-4.12.1.tar.gz 5181696 BLAKE2B 9d21438e09b1a9680eabb65f5c78d9fe84459592ef7bb797a1933e5383f7b6d5cefffa8cdc184abc102417f5dbc0fca8ef624c9b560f89eaff6537544b5b395f SHA512 e942e5cf5530804690ec45c40936ad2acbb60e11279fc676e0f04181fe1855f84ee5c3cb9c337fc5d01f6ee0e7b2251a6c04f7de56d99c20bb62026dff6c5671 DIST ocaml-4.13.1.tar.gz 5323203 BLAKE2B f1dcb1601ebfa2a37351e3a466a7ca601518c2da403b01aeb182738a54d5887523ab554d747d6591cb09b07b417865e20907f7877117b2d2d069ef6c9edc0fae SHA512 da3434177438c852da53c0fda7bc2519adcda6384d97d45e44137ed0fd384ffb3da61958a7b51296edb3f88f5a5310ca71b6862f6d756aaa4012d1f54e5955f6 DIST ocaml-4.14.0.tar.gz 5494844 BLAKE2B f2f9142a95722c7fc5fda205ea6b951939f7d285963b8aa14dc157ac10202ef9d00c7590beabdc97ed83548d61e5ef28b60a360f1a492420a54f4e26dfbf89f0 SHA512 3c5e5b9f00bb109dd99b5f7b0078cf8663d4247e548f3e601d6b2a55582e04bb20f6de85005c4cf2f78ae9aaa449f5ca6f2bab2f6ce83eeb3aeb386e3f2fcc32 +DIST ocaml-4.14.1.tar.gz 5498436 BLAKE2B 6113283ab0f7ac39ade1f35a02c203a6956f8f4efa4f174daf53483c1d874613195c2705ca02760f0ff4abd9b37c91f8dec59c010ac8ae8731790cdd6f429673 SHA512 6340e145c7d11a1ee9fa1699fc6a8a6785f14ff9c05dca708cf278194642ec9b7c562d744d8b38e5dab74b88fa3a5760035e214f5f8fab8b233a344b035db8fb DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0 diff --git a/dev-lang/ocaml/ocaml-4.14.1.ebuild b/dev-lang/ocaml/ocaml-4.14.1.ebuild new file mode 100644 index 000000000000..555de3ad282e --- /dev/null +++ b/dev-lang/ocaml/ocaml-4.14.1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +HOMEPAGE="https://ocaml.org/" +SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz" +DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" + +LICENSE="QPL-1.0 LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="emacs flambda latex +ocamlopt xemacs" + +RDEPEND="sys-libs/binutils-libs:=" +BDEPEND="${RDEPEND} + virtual/pkgconfig" +PDEPEND="emacs? ( app-emacs/ocaml-mode ) + xemacs? ( app-xemacs/ocaml )" + +QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs' + +src_prepare() { + default + + cp "${FILESDIR}"/ocaml.conf "${T}" || die + + # OCaml generates textrels on 32-bit arches + # We can't do anything about it, but disabling it means that tests + # for OCaml-based packages won't fail on unexpected output + # bug #773226 + if use arm || use ppc || use x86 ; then + append-ldflags "-Wl,-z,notext" + fi + + # Upstream build ignores LDFLAGS in several places. + sed -i -e 's/\(^MKDLL=.*\)/\1 $(LDFLAGS)/' \ + -e 's/\(^OC_CFLAGS=.*\)/\1 $(LDFLAGS)/' \ + -e 's/\(^OC_LDFLAGS=.*\)/\1 $(LDFLAGS)/' \ + Makefile.config.in || die "LDFLAGS fix failed" +} + +src_configure() { + filter-lto #bug 870349 + local opt=( + --bindir="${EPREFIX}/usr/bin" + --libdir="${EPREFIX}/usr/$(get_libdir)/ocaml" + --mandir="${EPREFIX}/usr/share/man" + --prefix="${EPREFIX}/usr" + $(use_enable flambda) + ) + + econf "${opt[@]}" +} + +src_compile() { + env -u P emake world + + if use ocamlopt ; then + env -u P emake opt + env -u P emake opt.opt + fi +} + +src_test() { + emake -j + + # OCaml tests only work when run sequentially + if use ocamlopt ; then + emake -j1 ocamltest.opt + else + emake -j1 ocamltest + #ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests." + fi + + emake -j1 tests +} + +src_install() { + default + + dodir /usr/include + # Create symlink for header files + dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml + dodoc Changes README.adoc + + # Create envd entry for latex input files + if use latex ; then + echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}"/99ocamldoc || die + doenvd "${T}"/99ocamldoc + fi + + sed -i -e "s:lib:$(get_libdir):" "${T}"/ocaml.conf || die + + # Install ocaml-rebuild portage set + insinto /usr/share/portage/config/sets + doins "${T}"/ocaml.conf +} |