summaryrefslogtreecommitdiff
path: root/dev-lang/ocaml
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-03-11 01:49:36 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-03-11 01:49:36 +0000
commitcf7807d7aea23a99a144afceaba961cfed652b5f (patch)
treeffd2c781c27e0b7e72152a685a04938a2b7966f0 /dev-lang/ocaml
parent7c5ebaf83da4c538dd11b56fdd5dfdf39dcbc096 (diff)
gentoo auto-resync : 11:03:2025 - 01:49:36HEADmaster
Diffstat (limited to 'dev-lang/ocaml')
-rw-r--r--dev-lang/ocaml/Manifest2
-rw-r--r--dev-lang/ocaml/ocaml-5.3.0.ebuild107
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
+}