summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ml/cairo-ocaml')
-rw-r--r--dev-ml/cairo-ocaml/Manifest1
-rw-r--r--dev-ml/cairo-ocaml/cairo-ocaml-1.2.0.ebuild92
-rw-r--r--dev-ml/cairo-ocaml/files/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch26
-rw-r--r--dev-ml/cairo-ocaml/files/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch27
-rw-r--r--dev-ml/cairo-ocaml/files/0003-Fix-FTBFS-on-bytecode-architectures.patch39
-rw-r--r--dev-ml/cairo-ocaml/files/0004-no-automagic.patch25
-rw-r--r--dev-ml/cairo-ocaml/metadata.xml13
7 files changed, 223 insertions, 0 deletions
diff --git a/dev-ml/cairo-ocaml/Manifest b/dev-ml/cairo-ocaml/Manifest
new file mode 100644
index 000000000000..c74852311d6d
--- /dev/null
+++ b/dev-ml/cairo-ocaml/Manifest
@@ -0,0 +1 @@
+DIST cairo-ocaml-1.2.0.tar.bz2 44483 SHA256 5f45aa3cc88d274d14c071402e22c5996fadf506fafa266642b3729b02d17554 SHA512 5cac319cf27b94d31e955885ae89b40342c2ae4ffd1aca7c52366f7c3679185f74e513e0c73bd01260f89da29d43bb420dadd059fa1cf5509997db8f935704b4 WHIRLPOOL c166fab0dfec6bddcc7b48b0bc69aac7b5dd8ed831755e0223e374217b2cf89dd73c3f75a4ddbdf8ca8d49b02fb04e0b85682afcae4ed91c20edeb97afdc21fd
diff --git a/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0.ebuild b/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0.ebuild
new file mode 100644
index 000000000000..965557b93d20
--- /dev/null
+++ b/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils findlib autotools
+
+DESCRIPTION="Ocaml bindings for the cairo vector graphics library"
+HOMEPAGE="http://www.cairographics.org/cairo-ocaml/"
+SRC_URI="http://cgit.freedesktop.org/cairo-ocaml/snapshot/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples gtk pango svg"
+
+RDEPEND="dev-lang/ocaml:=
+ x11-libs/cairo
+ gtk? ( dev-ml/lablgtk:2= )
+ pango? ( x11-libs/pango )
+ svg? ( x11-libs/libsvg-cairo )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # 3 patches from debian and one for automagic on libsvg-cairo
+ epatch \
+ "${FILESDIR}"/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch \
+ "${FILESDIR}"/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch \
+ "${FILESDIR}"/0003-Fix-FTBFS-on-bytecode-architectures.patch \
+ "${FILESDIR}"/0004-no-automagic.patch
+ AT_M4DIR=support eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with gtk) \
+ $(use_with pango pango-cairo) \
+ $(use_with svg svg-cairo)
+}
+
+src_compile() {
+ emake -j1
+ use doc && emake doc
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README ChangeLog
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins test/*.ml
+ fi
+ # ocamlfind support
+ cat <<-EOF > META
+ name = "${PN}"
+ description = "${DESCRIPTION}"
+ requires = "bigarray"
+ version = "${PV}"
+ archive(byte) = "cairo.cma"
+ archive(native) = "cairo.cmxa"
+ EOF
+ if use gtk; then
+ cat <<-EOF >> META
+ package "lablgtk2" (
+ requires = "cairo lablgtk2"
+ archive(byte) = "cairo_lablgtk.cma"
+ archive(native) = "cairo_lablgtk.cmxa"
+ )
+ EOF
+ fi
+ if use pango; then
+ cat <<-EOF >> META
+ package "pango" (
+ requires = "cairo"
+ archive(byte) = "pango_cairo.cma"
+ archive(native) = "pango_cairo.cmxa"
+ )
+ EOF
+ fi
+ if use svg; then
+ cat <<-EOF >> META
+ package "svg" (
+ requires = "cairo"
+ archive(byte) = "svg_cairo.cma"
+ archive(native) = "svg_cairo.cmxa"
+ )
+ EOF
+ fi
+ insinto /usr/$(get_libdir)/ocaml/cairo
+ doins META
+}
diff --git a/dev-ml/cairo-ocaml/files/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch b/dev-ml/cairo-ocaml/files/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch
new file mode 100644
index 000000000000..6b42f6d4fd52
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch
@@ -0,0 +1,26 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Sun, 27 Feb 2011 13:31:22 +0100
+Subject: Add missing libraries used by the stubs to CAIRO_LIBS
+
+The recent changes in DSO linking highlighted this, and were
+preventing ocaml-melt from building.
+
+Signed-off-by: Stephane Glondu <steph@glondu.net>
+---
+ configure.ac | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6c8c4e9..0cf1f11 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,7 +6,7 @@ AC_CONFIG_AUX_DIR(support)
+ AC_PROG_OCAML()
+
+ # Check for cairo
+-PKG_CHECK_MODULES(CAIRO, cairo >= 1.2 freetype2)
++PKG_CHECK_MODULES(CAIRO, cairo >= 1.2 cairo-ft cairo-fc cairo-ps cairo-pdf freetype2)
+
+ # Optional GTK support (for the X11 backend)
+ AC_ARG_WITH(gtk,
+--
diff --git a/dev-ml/cairo-ocaml/files/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch b/dev-ml/cairo-ocaml/files/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch
new file mode 100644
index 000000000000..fcb0f0583227
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch
@@ -0,0 +1,27 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Tue, 2 Aug 2011 15:34:21 +0200
+Subject: Fix Makefile to avoid recompiling files in /usr
+
+The "-I /path/to/lablgtk2" option should not be used when calling
+ocamldep, otherwise files there are considered as possible targets by
+the build system.
+
+Signed-off-by: Stephane Glondu <steph@glondu.net>
+---
+ src/Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 46a62f6..c9c64b7 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -117,7 +117,7 @@ clean :
+
+ .depend : $(wildcard *.ml *.mli)
+ @echo "making deps"
+- @$(OCAMLDEP) $(if $(LABLGTKDIR),-I $(LABLGTKDIR)) $^ > $@
++ @$(OCAMLDEP) $^ > $@
+
+ -include .depend
+ -include .depend_c
+--
diff --git a/dev-ml/cairo-ocaml/files/0003-Fix-FTBFS-on-bytecode-architectures.patch b/dev-ml/cairo-ocaml/files/0003-Fix-FTBFS-on-bytecode-architectures.patch
new file mode 100644
index 000000000000..8882ce0a4da8
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/0003-Fix-FTBFS-on-bytecode-architectures.patch
@@ -0,0 +1,39 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Tue, 2 Aug 2011 21:35:59 +0200
+Subject: Fix FTBFS on bytecode architectures
+
+The new ocaml.m4 defines OCAMLOPT to "no" (instead of not defining
+it); adapt src/Makefile accordingly.
+
+Signed-off-by: Stephane Glondu <steph@glondu.net>
+---
+ src/Makefile | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index c9c64b7..bc223c7 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -14,7 +14,11 @@ ifdef LIBPANGOCAIRO_CFLAGS
+ TARGETS += pangocairo
+ endif
+
+-all : $(TARGETS) $(if $(OCAMLOPT),opt)
++ifneq ($(OCAMLOPT),no)
++OPT_TARGET = opt
++endif
++
++all : $(TARGETS) $(OPT_TARGET)
+ opt : $(addsuffix .opt,$(TARGETS))
+
+ cairo : cairo.cma libmlcairo.a
+@@ -89,7 +93,7 @@ $(call mloptobjs,$(pangocairo_SRC)) : INCFLAGS=-I $(LABLGTKDIR)
+ install: all
+ mkdir -p $(DESTDIR)$(INSTALLDIR) $(DESTDIR)$(OCAMLLIB)/stublibs
+ install -m 644 *.mli *.cmi *.cma lib*.a $(DESTDIR)$(INSTALLDIR)
+-ifdef OCAMLOPT
++ifneq ($(OCAMLOPT),no)
+ install -m644 *.cmxa *.a *.cmx $(DESTDIR)$(INSTALLDIR)
+ endif
+ install -m 755 dll*.so $(DESTDIR)$(INSTALLDIR)
+--
diff --git a/dev-ml/cairo-ocaml/files/0004-no-automagic.patch b/dev-ml/cairo-ocaml/files/0004-no-automagic.patch
new file mode 100644
index 000000000000..46b70013fa3a
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/0004-no-automagic.patch
@@ -0,0 +1,25 @@
+--- cairo-ocaml-1.2.0/configure.ac.orig 2012-06-17 20:58:38.000000000 +0100
++++ cairo-ocaml-1.2.0/configure.ac 2012-06-17 21:05:49.000000000 +0100
+@@ -27,10 +27,20 @@
+ fi
+
+ # Optional libsvg-cairo support
+-PKG_CHECK_MODULES(LIBSVG_CAIRO, libsvg-cairo, use_libsvg_cairo=yes, use_libsvg_cairo=no)
++AC_ARG_WITH(svg-cairo,
++ AS_HELP_STRING([--with-svg-cairo],[libsvg-cairo support]),
++ use_libsvg_cairo=$withval, use_libsvg_cairo=no)
++if test x$use_libsvg_cairo != xno; then
++ PKG_CHECK_MODULES(LIBSVG_CAIRO, libsvg-cairo, use_libsvg_cairo=yes, use_libsvg_cairo=no)
++fi
+
+ # Optional pango-cairo support
+-PKG_CHECK_MODULES(LIBPANGOCAIRO, pangocairo, use_libpangocairo=yes, use_libpangocairo=no)
++AC_ARG_WITH(pango-cairo,
++ AS_HELP_STRING([--with-pango-cairo],[pangocairo support]),
++ use_libpangocairo=$withval, use_libpangocairo=no)
++if test x$use_libpangocairo != xno; then
++ PKG_CHECK_MODULES(LIBPANGOCAIRO, pangocairo, use_libpangocairo=yes, use_libpangocairo=no)
++ fi
+
+ echo
+ echo " GTK+ support: $use_gtk"
diff --git a/dev-ml/cairo-ocaml/metadata.xml b/dev-ml/cairo-ocaml/metadata.xml
new file mode 100644
index 000000000000..ba8768ac0450
--- /dev/null
+++ b/dev-ml/cairo-ocaml/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang='en'>
+ This package contains all the development stuff you need to use Cairo in
+ your OCaml programs. The folowing backends are supported: PostScript,
+ PDF, PNG, In-memory images and X11.
+</longdescription>
+<use>
+ <flag name='pango'>Enable support for <pkg>x11-libs/pango</pkg></flag>
+</use>
+</pkgmetadata>