Skip to content

Commit

Permalink
dev-ml/findlib: EAPI=7
Browse files Browse the repository at this point in the history
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Mark Wright <[email protected]>
  • Loading branch information
markwright committed Oct 13, 2020
1 parent e26d5e0 commit 236f8ac
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 1 deletion.
13 changes: 13 additions & 0 deletions dev-ml/findlib/files/externalmeta7.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Index: findlib-1.8.0/configure
===================================================================
--- findlib-1.8.0.orig/configure
+++ findlib-1.8.0/configure
@@ -581,7 +581,7 @@ fi

# Generate the META files now.

-l="$ldbm dynlink $lgraphics $lnum str threads unix stdlib bigarray ocamldoc $llabltk $lcamlp4 $lobuild $lcomplibs $lbytes $lspacetime"
+l="dynlink str threads unix stdlib bigarray ocamldoc $lcomplibs $lbytes $lspacetime"

for dir in site-lib-src/*; do
# We do not really know if $dir is a directory.
78 changes: 78 additions & 0 deletions dev-ml/findlib/findlib-1.8.1-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit multilib

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"
IUSE="doc +ocamlopt tk"

LICENSE="MIT"

SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"

DEPEND=">=dev-lang/ocaml-4.08.1-r1:=[ocamlopt?]
tk? ( dev-ml/labltk:= )"
RDEPEND="${DEPEND}"

PATCHES=( "${FILESDIR}"/externalmeta7.patch )

src_prepare() {
default
export ocamlfind_destdir="${EPREFIX}/usr/$(get_libdir)/ocaml"
export stublibs="${ocamlfind_destdir}/stublibs"
}

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
}

check_stublibs() {
local ocaml_stdlib=`ocamlc -where`
local ldconf="${ocaml_stdlib}/ld.conf"

if [ ! -e ${ldconf} ]
then
echo "${ocaml_stdlib}" > ${ldconf}
echo "${ocaml_stdlib}/stublibs" >> ${ldconf}
fi

if [ -z `grep -e ${stublibs} ${ldconf}` ]
then
echo ${stublibs} >> ${ldconf}
fi
}

pkg_postinst() {
check_stublibs
}
5 changes: 4 additions & 1 deletion dev-ml/findlib/metadata.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>[email protected]</email>
<name>Mark Wright</name>
</maintainer>
</pkgmetadata>

0 comments on commit 236f8ac

Please sign in to comment.