diff --git a/dev-ml/extlib/Manifest b/dev-ml/extlib/Manifest new file mode 100644 index 000000000..20ee2cf3f --- /dev/null +++ b/dev-ml/extlib/Manifest @@ -0,0 +1 @@ +DIST extlib-1.7.6.tar.gz 88068 BLAKE2B 32376c09728ec7e7d762888ad706641b94bcc976f2e1f42f246ba79fe862b60df7ff924e1e22e89333d8f2e1d999deb71eee481c3c5919aa5d1e02731f64f323 SHA512 3065e2474fb0e480ed076aa1156584a4a6c839cd5d9e59f341e41113abb1736241354aa7ee7cb492967698bc392969522fd5bf30d1ad7f94754c4e10f376afa8 diff --git a/dev-ml/extlib/extlib-1.7.6-r1.ebuild b/dev-ml/extlib/extlib-1.7.6-r1.ebuild new file mode 100644 index 000000000..315070f3d --- /dev/null +++ b/dev-ml/extlib/extlib-1.7.6-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit findlib eutils + +DESCRIPTION="Standard library extensions for O'Caml" +HOMEPAGE="https://github.com/ygrek/ocaml-extlib" +SRC_URI="https://github.com/ygrek/ocaml-extlib/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="doc +ocamlopt" + +RDEPEND=" + >=dev-lang/ocaml-3.10.2:=[ocamlopt?] +" +DEPEND="${RDEPEND} + dev-ml/cppo" + +S="${WORKDIR}/ocaml-${P}" + +src_prepare() { + epatch "${FILESDIR}/ocaml409.patch" +} + +src_compile() { + cd src || die + emake -j1 all + if use ocamlopt; then + emake opt cmxs + fi + + if use doc; then + emake doc + fi +} + +src_test() { + emake -j1 test +} + +src_install () { + findlib_src_install + + # install documentation + dodoc README.md + + if use doc; then + dodoc -r src/doc/ + fi +} diff --git a/dev-ml/extlib/files/ocaml409.patch b/dev-ml/extlib/files/ocaml409.patch new file mode 100644 index 000000000..7f35ea4e5 --- /dev/null +++ b/dev-ml/extlib/files/ocaml409.patch @@ -0,0 +1,13 @@ +diff --git a/src/configure.ml b/src/configure.ml +index f13d63e..f735a8c 100644 +--- a/src/configure.ml ++++ b/src/configure.ml +@@ -7,7 +7,7 @@ let () = + match Sys.argv with + | [|_;"-cppo-args"|] -> + let version = Scanf.sscanf Sys.ocaml_version "%d.%d." (fun major minor -> major * 100 + minor) in +- printf "-D \\\"OCAML %d\\\"\n" version; ++ printf "-n -D \\\"OCAML %d\\\"\n" version; + print_endline (if Sys.word_size = 32 then "-D WORD_SIZE_32 " else ""); + show_bytes "-D WITH_BYTES"; + exit 0