dev-ml/lablgtk: Split stable into old OCaml & camlp4 variants, #586916
authorMichał Górny <mgorny@gentoo.org>
Wed, 29 Jun 2016 20:32:58 +0000 (22:32 +0200)
committerMichał Górny <mgorny@gentoo.org>
Wed, 29 Jun 2016 21:14:48 +0000 (23:14 +0200)
Split the stable version into a variant supporting old OCaml and one
supporting camlp4, in order to solve :=-in-|| problem. The old ebuild
is only targeted at stable ia64 & sparc users that do not have camlp4
stable.

dev-ml/lablgtk/lablgtk-2.18.3-r1.ebuild [new file with mode: 0644]
dev-ml/lablgtk/lablgtk-2.18.3.ebuild

diff --git a/dev-ml/lablgtk/lablgtk-2.18.3-r1.ebuild b/dev-ml/lablgtk/lablgtk-2.18.3-r1.ebuild
new file mode 100644 (file)
index 0000000..53294ba
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib findlib
+
+IUSE="debug examples glade gnomecanvas sourceview +ocamlopt opengl spell svg"
+
+DESCRIPTION="Objective CAML interface for Gtk+2"
+HOMEPAGE="http://lablgtk.forge.ocamlcore.org/"
+SRC_URI="https://forge.ocamlcore.org/frs/download.php/1479/${P}.tar.gz"
+LICENSE="LGPL-2.1-with-linking-exception examples? ( lablgtk-examples )"
+
+RDEPEND=">=x11-libs/gtk+-2.10:2
+       >=dev-lang/ocaml-3.10:=[ocamlopt?]
+       svg? ( >=gnome-base/librsvg-2.2:2 )
+       glade? ( >=gnome-base/libglade-2.0.1 )
+       gnomecanvas? ( >=gnome-base/libgnomecanvas-2.2 )
+       opengl? ( >=dev-ml/lablgl-0.98:=
+               >=x11-libs/gtkglarea-1.9:2 )
+       spell? ( app-text/gtkspell:2 )
+       sourceview? ( x11-libs/gtksourceview:2.0 )
+       dev-ml/camlp4:=
+       "
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+SLOT="2/${PV}"
+KEYWORDS="alpha amd64 ~ia64 ppc ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+
+src_configure() {
+       econf $(use_enable debug) \
+               $(use_with svg rsvg) \
+               $(use_with glade) \
+               --without-gnomeui \
+               --without-panel \
+               $(use_with opengl gl) \
+               $(use_with spell gtkspell) \
+               --without-gtksourceview \
+               $(use_with sourceview gtksourceview2) \
+               $(use_with gnomecanvas)
+}
+
+src_compile() {
+       emake -j1 all
+       if use ocamlopt; then
+               emake -j1 opt
+       fi
+}
+
+install_examples() {
+       insinto /usr/share/doc/${P}/examples
+       doins examples/*.ml examples/*.rgb examples/*.png examples/*.xpm
+
+       # Install examples for optional components
+       use gnomecanvas && insinto /usr/share/doc/${PF}/examples/canvas && doins examples/canvas/*.ml examples/canvas/*.png
+       use svg && insinto /usr/share/doc/${PF}/examples/rsvg && doins examples/rsvg/*.ml examples/rsvg/*.svg
+       use glade && insinto /usr/share/doc/${PF}/examples/glade && doins examples/glade/*.ml examples/glade/*.glade*
+       use sourceview && insinto /usr/share/doc/${PF}/examples/sourceview && doins examples/sourceview/*.ml examples/sourceview/*.lang
+       use opengl && insinto /usr/share/doc/${PF}/examples/GL && doins examples/GL/*.ml
+
+       docompress -x /usr/share/doc/${PF}/examples
+}
+
+src_install () {
+       findlib_src_preinst
+       export OCAMLPATH="${OCAMLFIND_DESTDIR}"
+       emake install DESTDIR="${D}"
+
+       rm -f "${ED}/usr/$(get_libdir)/ocaml/ld.conf"
+
+       dodoc CHANGES README CHANGES.API
+       use examples && install_examples
+}
+
+pkg_postinst () {
+       if use examples; then
+               elog "To run the examples you can use the lablgtk2 toplevel."
+               elog "e.g: lablgtk2 /usr/share/doc/${PF}/examples/testgtk.ml"
+       fi
+}
index 81b3d6abe490cea1224a8832be1b684dec5a1d3c..46dbd4b863e266d4a3d9a29b9d3edbdd7125a511 100644 (file)
@@ -22,7 +22,7 @@ RDEPEND=">=x11-libs/gtk+-2.10:2
                >=x11-libs/gtkglarea-1.9:2 )
        spell? ( app-text/gtkspell:2 )
        sourceview? ( x11-libs/gtksourceview:2.0 )
-       || ( dev-ml/camlp4:= <dev-lang/ocaml-4.02.0 )
+       <dev-lang/ocaml-4.02.0
        "
 DEPEND="${RDEPEND}
        virtual/pkgconfig"