diff options
Diffstat (limited to 'dev-ml/findlib/findlib-1.9.6-r1.ebuild')
-rw-r--r-- | dev-ml/findlib/findlib-1.9.6-r1.ebuild | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/dev-ml/findlib/findlib-1.9.6-r1.ebuild b/dev-ml/findlib/findlib-1.9.6-r1.ebuild new file mode 100644 index 000000000000..265ac12c7f5c --- /dev/null +++ b/dev-ml/findlib/findlib-1.9.6-r1.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="OCaml tool to find/use non-standard packages" +HOMEPAGE="http://projects.camlcity.org/projects/findlib.html" +SRC_URI="http://download.camlcity.org/download/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="doc +ocamlopt tk" + +DEPEND=">=dev-lang/ocaml-4.02.3-r1:=[ocamlopt?] + tk? ( dev-ml/labltk:= )" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED='.*' + +src_prepare() { + default + export ocamlfind_destdir="${EPREFIX}/usr/$(get_libdir)/ocaml" + export stublibs="${ocamlfind_destdir}/stublibs" + sed -i \ + -e "/dbm/d" \ + -e "/graphics/d" \ + -e "/ocamlbuild/d" \ + -e "/check_library num/d" \ + configure \ + || die +} + +src_configure() { + local myconf + use tk && myconf="-with-toolbox" + ./configure -bindir "${EPREFIX}"/usr/bin -mandir "${EPREFIX}"/usr/share/man \ + -sitelib ${ocamlfind_destdir} \ + -config ${ocamlfind_destdir}/findlib/findlib.conf \ + -no-custom \ + ${myconf} || die "configure failed" +} + +src_compile() { + emake -j1 all + if use ocamlopt; then + emake -j1 opt # optimized code + fi +} + +src_install() { + emake prefix="${D}" install + + dodir "${stublibs#${EPREFIX}}" + + if use doc; then + cd "${S}/doc" || die + dodoc QUICKSTART README DOCINFO + docinto html + dodoc -r ref-html guide-html + fi + + # See bug #803275 and bug #833604 + for x in camlp4 labltk; do + rm -rf "${ED}"/usr/$(get_libdir)/ocaml/${x} || die + done +} + +check_stublibs() { + local ocaml_stdlib=$(ocamlc -where) + local ldconf="${ocaml_stdlib}/ld.conf" + + if [[ ! -e ${ldconf} ]] ; then + echo "${ocaml_stdlib}" > ${ldconf} || die + echo "${ocaml_stdlib}/stublibs" >> ${ldconf} || die + fi + + if ! grep -qe ${stublibs} ${ldconf} ; then + echo ${stublibs} >> ${ldconf} || die + fi +} + +pkg_postinst() { + check_stublibs +} |