diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-03-11 01:49:36 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-03-11 01:49:36 +0000 |
commit | cf7807d7aea23a99a144afceaba961cfed652b5f (patch) | |
tree | ffd2c781c27e0b7e72152a685a04938a2b7966f0 /dev-lang/ocaml | |
parent | 7c5ebaf83da4c538dd11b56fdd5dfdf39dcbc096 (diff) |
Diffstat (limited to 'dev-lang/ocaml')
-rw-r--r-- | dev-lang/ocaml/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/ocaml/ocaml-5.3.0.ebuild | 107 |
2 files changed, 109 insertions, 0 deletions
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest index c456c561462c..3818da6d3746 100644 --- a/dev-lang/ocaml/Manifest +++ b/dev-lang/ocaml/Manifest @@ -15,6 +15,7 @@ DIST ocaml-4.14.1.tar.gz 5498436 BLAKE2B 6113283ab0f7ac39ade1f35a02c203a6956f8f4 DIST ocaml-4.14.2.tar.gz 5505119 BLAKE2B 518c2a69ee32e1c141b574a9800a64efc445381eb2808985b5dbb9d5ec54228aa25042a1c410307c3556488ba12a751980396b0d9a01e60a1ea84ac5b52e6dd6 SHA512 61bfa7961aae02458210f10865a5703f7a50a9be2452379e820cf2dfac2c6037da553c31835145e50a776880bdeb2ec78cd7a3147d65f418e7b3e593534e8a04 DIST ocaml-5.2.0.tar.gz 6047633 BLAKE2B 5d0a7d48d9ed9fcd2974237a93e30ffee20fc444b5ede296bd35cb3285909f8cf5a489ac1cdc75778ca6d45f8ff40a92939bfcfc42e218aeda0170b1ac0bfd49 SHA512 78115690186c13c1f2480e4812a9fe34cce2c28bf8a89d5c9810bca0391f930cecd9cee2b53daca8a32da1815628b33be68f3948f1ad03fa50b72b14e3ea84f2 DIST ocaml-5.2.1.tar.gz 6051609 BLAKE2B 5cefbddcb97c7e9de5a5e1c4385086972bf78f545d3a649278c9582b3c527374f80fd32b072e51ff7c753a50431f373e0d584c9c8187a25d8f828adb3e595234 SHA512 b0803dd90a0ac6fdf609345c481b3dc637eb9cbb9bea296cfd79f6913ab34b9e02970bcddd83e8bc419cbe1c4694bb7889146615841b5ee101081a82eee024e2 +DIST ocaml-5.3.0.tar.gz 6239856 BLAKE2B a790293d14a31d34b10f2fac22a416e967c2a06f64001b54665e691a6aecdb71caf60dd6217460257f8d18191551ffa01d0d3d62327c6eb9bc63c254c162752e SHA512 73817ada340bdf4091b3edd7b292bd0074c87b4836f202f48ecf0f620a00feaa70ebc9101b97155e8caa6907646dfdf21eff728fa0e14542df3b5e5436229d06 EBUILD ocaml-4.09.0-r3.ebuild 2742 BLAKE2B e4dd877140601c6b52e93587047b5bfa27e39cf833664a22e39448784cbad82d6e5feb2aecfb169725f72f098750d28cef6e98d988c7cbde0abda5776384799e SHA512 0fe114be6a3b02a197b7e42137e43d51f1664438e2a2805e63642e4a1a50e78d865db64dc0f357e13c1fcc2cb1e3bb71a81faa611d67ef01c4036e48c659f166 EBUILD ocaml-4.10.2-r3.ebuild 2749 BLAKE2B 3450e01f8157a66bc69079030ac3abe35cd8954c9cdd83d70680238c64449661f967cc6ba9a9d8029a3f17b41c8892508868db513faf239407b1b59a0ea87b4c SHA512 6423d21d704eee5b97b177ac98a8ba1794af430a6f3a1c4606946ff213a5d8dfa643787d802b3de1b77832583fc4c55ebafc5ab2073f832e65c5eb0b19344b5f EBUILD ocaml-4.11.2-r2.ebuild 2590 BLAKE2B 37ce14549ad68e0d30c9326ed568d921cd3f7fde93b29ac0c826cf2f1de3d9bed2d7dbfe93b8648452b7b48f512bba02d3f3520a72e4fd38247aa1f97cda0914 SHA512 b57778eea9a32e2f3a5e88bbf9a48082e8766aa0409aaa53fda9f2af24b5c0100e0e6ae449930aa4b9cfc4b99e4623145f05867f130fc453c89b870cb887e2fa @@ -24,4 +25,5 @@ EBUILD ocaml-4.14.1.ebuild 2440 BLAKE2B ea1cb9fba221ff93a3a4f5ae49db23e0b32aaae0 EBUILD ocaml-4.14.2.ebuild 2587 BLAKE2B 63fb2de0f2b38754e4a0dfa2669ee0d7aefbfd91ef6ec427ee44cf7c2e68241abe04e079139b5de33aa2b3e4f9dfd2c62657905e1de4b8b1fbc3f3a119ab4631 SHA512 d55c9d057e781ea080c9f211c451ac787f851a80d2100b27645ee912e66c2c863703b3a2d0e14fa7538094e3eedff19d888cfe42fe153ba118e340b338ac7285 EBUILD ocaml-5.2.0.ebuild 2627 BLAKE2B 4dc6c29849839927544941c263ff33b0d24e3617a466a3ef4cf78fe6ae949fb650da9c9cdcc011adf426ff54f0e837482f969f8ade9b0642bab5940196b6e1e6 SHA512 31fc07c3cca11ca8d53d27ffca92b636bea2c112a2a73d437cf57bdfa175021f61db9d656bca5058c0d86c77457f36e012e6aaf233a9de2b6bd9f22d08f02177 EBUILD ocaml-5.2.1.ebuild 2627 BLAKE2B 4dc6c29849839927544941c263ff33b0d24e3617a466a3ef4cf78fe6ae949fb650da9c9cdcc011adf426ff54f0e837482f969f8ade9b0642bab5940196b6e1e6 SHA512 31fc07c3cca11ca8d53d27ffca92b636bea2c112a2a73d437cf57bdfa175021f61db9d656bca5058c0d86c77457f36e012e6aaf233a9de2b6bd9f22d08f02177 +EBUILD ocaml-5.3.0.ebuild 2627 BLAKE2B 1dd72c47fc54deb90a968eaec55a56052175c44972cabb7f37a7f011fdbe15d58e0aab278c31df3d76cca5a2d0d4118fd7f2617387dc70f0dc1c5eed7046836f SHA512 4bee61e86ec10a55adac41d6b8e52e09ca4653dd09181b7d499848b897a312793de26dc160d25b3baf3a05c4134947d60fc92ce504e33666d4f73d53a8284590 MISC metadata.xml 671 BLAKE2B 452ea340c8abacedbdb20a344cffa9b91db2251e0174db596e4f96bf2b1c9d308ceb035e0870e738a15c313003fcbf39bb91c5f68b40a185e5e08e3ea7042616 SHA512 1d8248e2b05b145c804cc9cce6aa617bd6466f26326033cee06ed27ceb93ebc88b62f3badbfe13092fbaa89c3a71087491b88c4fc094da8624ab668cdc73b383 diff --git a/dev-lang/ocaml/ocaml-5.3.0.ebuild b/dev-lang/ocaml/ocaml-5.3.0.ebuild new file mode 100644 index 000000000000..671831ae1ec3 --- /dev/null +++ b/dev-lang/ocaml/ocaml-5.3.0.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" +HOMEPAGE="https://ocaml.org/" +SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="QPL-1.0 LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="emacs flambda latex +ocamlopt test 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' + +RESTRICT="!test? ( test )" + +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 test ocamltest) \ + $(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() { + # OCaml generates textrels on 32-bit arches + if use arm || use ppc || use x86 ; then + export QA_TEXTRELS='.*' + fi + 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 +} |