commit:     9fbaba04084e9fb5a7f7c29f989c03525c0bed47
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  8 04:49:29 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun  8 04:59:08 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fbaba04

dev-lang/ocaml: add 4.12.0

Closes: https://bugs.gentoo.org/772407
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/ocaml/Manifest            |  1 +
 dev-lang/ocaml/ocaml-4.12.0.ebuild | 93 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+)

diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest
index e2259b4a03d..664a32bf678 100644
--- a/dev-lang/ocaml/Manifest
+++ b/dev-lang/ocaml/Manifest
@@ -2,4 +2,5 @@ DIST ocaml-4.05.0.tar.gz 4431750 BLAKE2B 
c2ab003a13e0a581ebd0e1c96eeb8a9baea9bfe
 DIST ocaml-4.09.0.tar.gz 4838748 BLAKE2B 
80f29d535c64bf2371b480217723ed20b2b21cfd93ce31366a7b91e7ddffdf68db4e88d085288b7e21efee567a13f42ecff24c3a0115507b006acf844239cefd
 SHA512 
dc0271e591bf929b751705835790949a9d741e12d085c8b207c3689b5838a02ea8de80da8b2605d2e6744f2f541b0d1694ffafff9509e99ce01f3a391f6ef2ae
 DIST ocaml-4.10.2.tar.gz 4933135 BLAKE2B 
ec5e92adb23c28a254247182c79ab555fd82603e02f24799049b8057abf869d18234302408c8ae89b9997a2b210ed6965e45c2c03e4f0cab34262ad3f6ebb528
 SHA512 
1dd827da07f01e815fd74dd7ee84db0900f24782f8f7fd426e2d71b9fb03c7b8045f22e018120a0446c362315751365d1bd8c1724edef2b182394e76eb0a07b2
 DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B 
bdc503d9a8d0e39dd11060febcd0287657b460e50ed81e55578a3e778af990ca5d4ef9011753eee4e1a144da33eb76c95b1672dc99b76e65a2e107eee472fe06
 SHA512 
03d8a9f6e130142c121ff2eb3d54f584f1e7c8475f066a5803bb0edd2fa172ca06a56a3ec548b225f5c8b12112d7a68511b1e16f3ade075b5f02610d4247bbb3
+DIST ocaml-4.12.0.tar.gz 5179734 BLAKE2B 
318be7e306157102d7ad22802db381dfa9c675e43325395695c3564e5ffee87d9b55d1152ea1603edb5ef715a28cbde85d835dbf1b5aface2dc415c67192c208
 SHA512 
951e44cdda613f9c6c5f988434c84249a2d63ba14e21938a9e74c174ebaf9d81a3160d1e5021d57fcd4882732ae6aefc05239ac38116f39ca83d53879d5d4eaf
 DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 
4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca
 SHA512 
cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0

diff --git a/dev-lang/ocaml/ocaml-4.12.0.ebuild 
b/dev-lang/ocaml/ocaml-4.12.0.ebuild
new file mode 100644
index 00000000000..b045e3d1153
--- /dev/null
+++ b/dev-lang/ocaml/ocaml-4.12.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 ~mips ~ppc ~ppc64 ~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 )"
+
+src_prepare() {
+       default
+
+       # 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() {
+       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
+
+       # Install ocaml-rebuild portage set
+       insinto /usr/share/portage/config/sets
+       doins "${FILESDIR}/ocaml.conf"
+}

Reply via email to