summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-ml/findlib/Manifest1
-rw-r--r--dev-ml/findlib/files/externalmeta4.patch16
-rw-r--r--dev-ml/findlib/findlib-1.7.1.ebuild75
3 files changed, 92 insertions, 0 deletions
diff --git a/dev-ml/findlib/Manifest b/dev-ml/findlib/Manifest
index 4c32d7e7c33..186892b32fd 100644
--- a/dev-ml/findlib/Manifest
+++ b/dev-ml/findlib/Manifest
@@ -3,3 +3,4 @@ DIST findlib-1.5.6.tar.gz 250865 SHA256 7743b3dcaf8a344c882e89f61601f7f086d46c0f
DIST findlib-1.6.1.tar.gz 254797 SHA256 411c816e89d17d1b5b454e3d42f9b261cf929fc468f9f6e2787273ab69784b09 SHA512 b781d117ff033e8b91b6610c562382c5868a25ceed51f0a5947a77bfdd5825723ad32adcbe1636d4f7952d4c7535093f5c8ad3b954bebb1dcf4738f7a16d3ef8 WHIRLPOOL 1c3ed89aeb53cd95c0eaa82f1df8c364ad79403cf89ca19245620819998353da089daf5d3377919f2b4676c48f4d926d384e5a80312884f84e1efc41307f88fd
DIST findlib-1.6.2.tar.gz 253764 SHA256 3917904342ffbb66089f9fec1adc023b8854178bc21f303e4cbf96b8b164c946 SHA512 8c4098e6956530bc88d20a1b91512c68368e8a866398ce4d504afe3f71e81124c01644ba31ff97da6e61e7410328b533fb1d31a513166231047dab1933179fc4 WHIRLPOOL a980082607ac97c738ef0899ba08af81eaa45c09a0e96f41ddfb3faaf25c77f133a3063f45a9393819e76b839b17bb10fe71613e83bfc943b4988511547eaa6b
DIST findlib-1.6.3.tar.gz 254512 SHA256 0f989f3f8ea69838423331c34c72a81e5422038e88c2a2bf10bc6e89869cab7e SHA512 ab23eeef3ec301f1a429934a309734386169d31d16a82706a45d9914b1fdc50f04b4fdf86f9436be3d7f0c8869b2cd9a9e07c78247e12eabdfe0738861e22035 WHIRLPOOL ae0fd2ae107d0074bbf8aefffa0facd7d9b892fc3408f94911522866d0bf8e9d7ac9e20da92e0a20b2f6cdf2f26dac6f86fd7c97231119eef890306166bcf05b
+DIST findlib-1.7.1.tar.gz 256883 SHA256 5d4b9a79e9abf8be0b509f6b8cf5696221cbe14fa2fbb2bb352342755fd15eef SHA512 1c8002dc2ed1804afc78c2aa92ab55d2b6501fbb021a7ca46698b4de0dea8ad6485a64f7bf9ec5f3df888da1a420ab270efb5e26f1e408cc8b78fa3ccb981ba4 WHIRLPOOL e58d4939277a2b37fbf0ea4055281494d6b163ba806249d8019e4f3dc8c6ca079d9e904a5de6e86fe0d8bc59ed3894c962f86d6d87512f5b80757b8a59458dd1
diff --git a/dev-ml/findlib/files/externalmeta4.patch b/dev-ml/findlib/files/externalmeta4.patch
new file mode 100644
index 00000000000..a2bb4945f18
--- /dev/null
+++ b/dev-ml/findlib/files/externalmeta4.patch
@@ -0,0 +1,16 @@
+Avoid installing META files for labltk, camlp4 and ocamlbuild: Those are provided by their
+respective packages now.
+
+Index: findlib-1.7.1/configure
+===================================================================
+--- findlib-1.7.1.orig/configure
++++ findlib-1.7.1/configure
+@@ -539,7 +539,7 @@ fi
+
+ # Generate the META files now.
+
+-l="$ldbm dynlink graphics num num-top str threads unix stdlib bigarray ocamldoc $llabltk $lcamlp4 $lobuild $lcomplibs $lbytes $lspacetime"
++l="$ldbm dynlink graphics num num-top 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.
diff --git a/dev-ml/findlib/findlib-1.7.1.ebuild b/dev-ml/findlib/findlib-1.7.1.ebuild
new file mode 100644
index 00000000000..ca13ef7eb82
--- /dev/null
+++ b/dev-ml/findlib/findlib-1.7.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib eutils
+
+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 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+
+DEPEND=">=dev-lang/ocaml-4.02.3-r1:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )"
+RDEPEND="${DEPEND}"
+
+ocamlfind_destdir="${EPREFIX}/usr/$(get_libdir)/ocaml"
+stublibs="${ocamlfind_destdir}/stublibs"
+
+src_prepare() {
+ epatch "${FILESDIR}/externalmeta4.patch"
+}
+
+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}}"
+
+ cd "${S}/doc"
+ dodoc QUICKSTART README DOCINFO
+ use doc && dohtml -r ref-html guide-html
+}
+
+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
+}