summaryrefslogtreecommitdiff
path: root/dev-ml/camlidl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ml/camlidl')
-rw-r--r--dev-ml/camlidl/ChangeLog27
-rw-r--r--dev-ml/camlidl/Manifest1
-rw-r--r--dev-ml/camlidl/camlidl-1.05.ebuild51
-rw-r--r--dev-ml/camlidl/files/META4
-rw-r--r--dev-ml/camlidl/files/includes.patch12
-rw-r--r--dev-ml/camlidl/files/tests.patch36
-rw-r--r--dev-ml/camlidl/metadata.xml5
7 files changed, 136 insertions, 0 deletions
diff --git a/dev-ml/camlidl/ChangeLog b/dev-ml/camlidl/ChangeLog
new file mode 100644
index 00000000..724ae016
--- /dev/null
+++ b/dev-ml/camlidl/ChangeLog
@@ -0,0 +1,27 @@
+# ChangeLog for dev-ml/camlidl
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-ml/camlidl/ChangeLog,v 1.6 2010/02/25 18:56:05 zmedico Exp $
+
+ 25 Feb 2010; Zac Medico <zmedico@gentoo.org> camlidl-1.05.ebuild:
+ Bug #306677 - Fix invalid conditional USE dep.
+
+ 28 Sep 2009; Petteri Räty <betelgeuse@gentoo.org> camlidl-1.05.ebuild:
+ Migrate to EAPI 2 in order to nuke built_with_use.
+
+ 15 Apr 2009; Alexis Ballier <aballier@gentoo.org> +files/includes.patch,
+ +files/tests.patch, camlidl-1.05.ebuild:
+ Fix tests build and implicit declarations of functions for bug #263305
+
+ 03 Jan 2008; Alexis Ballier <aballier@gentoo.org> camlidl-1.05.ebuild:
+ ocamlopt is required here, there is no option to disable it
+
+ 09 Feb 2007; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Regenerate digest in Manifest2 format.
+
+*camlidl-1.05 (25 Sep 2004)
+
+ 25 Sep 2004; Matthieu Sozeau <mattam@gentoo.org> +metadata.xml,
+ +camlidl-1.05.ebuild:
+ New package for building stub code from C/C++ libraries, submitted by Bardur
+ Arantsson <gentoo@scientician.net>. Fixes bug #65138.
+
diff --git a/dev-ml/camlidl/Manifest b/dev-ml/camlidl/Manifest
new file mode 100644
index 00000000..72ae702d
--- /dev/null
+++ b/dev-ml/camlidl/Manifest
@@ -0,0 +1 @@
+DIST camlidl-1.05.tar.gz 100640 SHA256 857ed5bd3b2f99c62813070e1a5b4b6375e837c6815f4ad956baeb6f8c660311 SHA512 e8857aca818a06f8c861e5f55dddd7e8e3ab1efae51647534460b4f092166709d86c6de1215c792a0489d668d72064ccfb7635e9a6d3854cd5a62f74541a9d18 WHIRLPOOL ca2ef6dea1647640a7bfae5da6b76ee864e5f29190317c33e768a946fa0fc1e9ce513f83158b7d11d4b3103b2f32fb5873775c55a7e9e24b969eece639ee0db7
diff --git a/dev-ml/camlidl/camlidl-1.05.ebuild b/dev-ml/camlidl/camlidl-1.05.ebuild
new file mode 100644
index 00000000..1bd137f1
--- /dev/null
+++ b/dev-ml/camlidl/camlidl-1.05.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-ml/camlidl/camlidl-1.05.ebuild,v 1.5 2010/02/25 18:56:05 zmedico Exp $
+
+EAPI="2"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="CamlIDL is a stub code generator for using C/C++ libraries from O'Caml"
+HOMEPAGE="http://caml.inria.fr/camlidl/"
+SRC_URI="http://caml.inria.fr/distrib/bazar-ocaml/${P}.tar.gz"
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~amd64"
+IUSE=""
+DEPEND=">=dev-lang/ocaml-3.10.2[ocamlopt]"
+
+src_prepare() {
+ epatch "${FILESDIR}/tests.patch"
+ epatch "${FILESDIR}/includes.patch"
+}
+
+src_compile() {
+ # Use the UNIX makefile
+ libdir=`ocamlc -where`
+ sed -i -e "s|OCAMLLIB=.*|OCAMLLIB=${libdir}|" config/Makefile.unix
+ sed -i -e "s|BINDIR=.*|BINDIR=/usr/bin|" config/Makefile.unix
+ ln -s Makefile.unix config/Makefile
+
+ # Make
+ emake -j1 || die
+}
+
+src_test() {
+ einfo "Running tests..."
+ cd tests
+ ( emake CCPP="$(tc-getCXX)" && einfo "Tests finished successfully" ) || die "Tests failed"
+}
+
+src_install() {
+ libdir=`ocamlc -where`
+ dodir ${libdir}/camlidl
+ dodir ${libdir}/camlidl/caml
+ dodir /usr/bin
+ # Install
+ emake BINDIR="${D}/usr/bin" OCAMLLIB="${D}${libdir}/camlidl" install || die
+ #Install META file
+ cp ${FILESDIR}/META "${D}${libdir}/camlidl"
+ # Documentation
+ dodoc README Changes || die
+}
diff --git a/dev-ml/camlidl/files/META b/dev-ml/camlidl/files/META
new file mode 100644
index 00000000..3c6b5aa9
--- /dev/null
+++ b/dev-ml/camlidl/files/META
@@ -0,0 +1,4 @@
+description = "Stub generator"
+version = "1.05"
+archive(byte) = "com.cma"
+archive(native) = "com.cmxa"
diff --git a/dev-ml/camlidl/files/includes.patch b/dev-ml/camlidl/files/includes.patch
new file mode 100644
index 00000000..060aceef
--- /dev/null
+++ b/dev-ml/camlidl/files/includes.patch
@@ -0,0 +1,12 @@
+Index: camlidl-1.05/runtime/comerror.c
+===================================================================
+--- camlidl-1.05.orig/runtime/comerror.c
++++ camlidl-1.05/runtime/comerror.c
+@@ -22,6 +22,7 @@
+ #include <caml/callback.h>
+ #include <caml/fail.h>
+ #include <caml/alloc.h>
++#include <caml/printexc.h>
+ #include "camlidlruntime.h"
+ #include "comstuff.h"
+
diff --git a/dev-ml/camlidl/files/tests.patch b/dev-ml/camlidl/files/tests.patch
new file mode 100644
index 00000000..f7272424
--- /dev/null
+++ b/dev-ml/camlidl/files/tests.patch
@@ -0,0 +1,36 @@
+Index: camlidl-1.05/tests/unix.idl
+===================================================================
+--- camlidl-1.05.orig/tests/unix.idl
++++ camlidl-1.05/tests/unix.idl
+@@ -15,16 +15,16 @@ quote (C, "
+
+ union process_status { int code; };
+
+- enum { WEXITED, WSIGNALED, WSTOPPED };
++ enum { WEXITED2, WSIGNALED, WSTOPPED2 };
+
+ static void decode_status(int status, int * kind, union process_status * p)
+ {
+ if (WIFEXITED(status)) {
+- *kind = WEXITED; p->code = WEXITSTATUS(status);
++ *kind = WEXITED2; p->code = WEXITSTATUS(status);
+ } else if (WIFSIGNALED(status)) {
+ *kind = WSIGNALED; p->code = WTERMSIG(status);
+ } else {
+- *kind = WSTOPPED; p->code = WSTOPSIG(status);
++ *kind = WSTOPPED2; p->code = WSTOPSIG(status);
+ }
+ }
+
+@@ -59,9 +59,9 @@ int execve([in,string] char * path,
+ int fork(void);
+
+ union process_status {
+- case WEXITED: int code;
++ case WEXITED2: int code;
+ case WSIGNALED: int code;
+- case WSTOPPED: int code;
++ case WSTOPPED2: int code;
+ };
+
+ int wait([out] int * kind,
diff --git a/dev-ml/camlidl/metadata.xml b/dev-ml/camlidl/metadata.xml
new file mode 100644
index 00000000..849ed8eb
--- /dev/null
+++ b/dev-ml/camlidl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>ml</herd>
+</pkgmetadata>