summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2007-03-04 01:40:39 +0000
committerKeri Harris <keri@gentoo.org>2007-03-04 01:40:39 +0000
commit7da005e65c3d0849c5fb06a0cd3e97edced7aec8 (patch)
tree8fe0ebd2349306f0b5803ed284d9cc71a9d0a22e
parentNew package. Request with bug #110107 (diff)
downloadgentoo-2-7da005e65c3d0849c5fb06a0cd3e97edced7aec8.tar.gz
gentoo-2-7da005e65c3d0849c5fb06a0cd3e97edced7aec8.tar.bz2
gentoo-2-7da005e65c3d0849c5fb06a0cd3e97edced7aec8.zip
Add low-level debugging support.
(Portage version: 2.1.2-r12)
-rw-r--r--dev-lang/swi-prolog/ChangeLog8
-rw-r--r--dev-lang/swi-prolog/files/digest-swi-prolog-5.6.29-r13
-rw-r--r--dev-lang/swi-prolog/files/swi-prolog-O_DEBUG.patch26
-rw-r--r--dev-lang/swi-prolog/swi-prolog-5.6.29-r1.ebuild143
4 files changed, 179 insertions, 1 deletions
diff --git a/dev-lang/swi-prolog/ChangeLog b/dev-lang/swi-prolog/ChangeLog
index 8d46e97659b1..aedee7edc603 100644
--- a/dev-lang/swi-prolog/ChangeLog
+++ b/dev-lang/swi-prolog/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-lang/swi-prolog
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/swi-prolog/ChangeLog,v 1.73 2007/03/02 23:11:58 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/swi-prolog/ChangeLog,v 1.74 2007/03/04 01:40:39 keri Exp $
+
+*swi-prolog-5.6.29-r1 (04 Mar 2007)
+
+ 04 Mar 2007; keri <keri@gentoo.org> +files/swi-prolog-O_DEBUG.patch,
+ +swi-prolog-5.6.29-r1.ebuild:
+ Add low-level debugging support.
02 Mar 2007; keri <keri@gentoo.org> swi-prolog-5.6.29.ebuild:
Remove redundant ssl-cert patch.
diff --git a/dev-lang/swi-prolog/files/digest-swi-prolog-5.6.29-r1 b/dev-lang/swi-prolog/files/digest-swi-prolog-5.6.29-r1
new file mode 100644
index 000000000000..678a8b42c630
--- /dev/null
+++ b/dev-lang/swi-prolog/files/digest-swi-prolog-5.6.29-r1
@@ -0,0 +1,3 @@
+MD5 d0081dcaef8e3dba722406bc9cd20163 pl-5.6.29.tar.gz 11697773
+RMD160 ac7298a8884a69fc5bb9d4b0656a1845b9d7e1b6 pl-5.6.29.tar.gz 11697773
+SHA256 0390d63fa3090d11569c27322ada7ddfca4dfd7b1e8d32b7f2b44ed192be35ff pl-5.6.29.tar.gz 11697773
diff --git a/dev-lang/swi-prolog/files/swi-prolog-O_DEBUG.patch b/dev-lang/swi-prolog/files/swi-prolog-O_DEBUG.patch
new file mode 100644
index 000000000000..1a1c81ca009d
--- /dev/null
+++ b/dev-lang/swi-prolog/files/swi-prolog-O_DEBUG.patch
@@ -0,0 +1,26 @@
+diff -ur pl-5.6.29.orig/src/pl-funcs.h pl-5.6.29/src/pl-funcs.h
+--- pl-5.6.29.orig/src/pl-funcs.h 2007-02-07 00:24:03.000000000 +1300
++++ pl-5.6.29/src/pl-funcs.h 2007-03-04 13:53:21.000000000 +1300
+@@ -62,7 +62,7 @@
+ COMMON(word) globalIndirectFromCode(Code *PC);
+ COMMON(word) makeRef(Word p);
+ #ifndef consPtr
+-COMMON(word) consPtr(void *p, int ts);
++COMMON(word) consPtr(void *p, word ts);
+ #endif
+ COMMON(char *) store_string(const char *s);
+ COMMON(void) remove_string(char *s);
+diff -ur pl-5.6.29.orig/src/pl-main.c pl-5.6.29/src/pl-main.c
+--- pl-5.6.29.orig/src/pl-main.c 2007-01-23 00:52:23.000000000 +1300
++++ pl-5.6.29/src/pl-main.c 2007-03-04 14:01:38.000000000 +1300
+@@ -47,6 +47,10 @@
+ #include <crtdbg.h>
+ #endif
+
++#if defined(HAVE_MTRACE) && defined(O_MAINTENANCE)
++#include <mcheck.h>
++#endif
++
+ static int usage(void);
+ static int giveVersionInfo(const char *a);
+ static bool vsysError(const char *fm, va_list args);
diff --git a/dev-lang/swi-prolog/swi-prolog-5.6.29-r1.ebuild b/dev-lang/swi-prolog/swi-prolog-5.6.29-r1.ebuild
new file mode 100644
index 000000000000..7c430131aff1
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-5.6.29-r1.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/swi-prolog/swi-prolog-5.6.29-r1.ebuild,v 1.1 2007/03/04 01:40:39 keri Exp $
+
+inherit eutils flag-o-matic java-pkg-opt-2
+
+DESCRIPTION="free, small, and standard compliant Prolog compiler"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://gollem.science.uva.nl/cgi-bin/nph-download/SWI-Prolog/pl-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+IUSE="berkdb debug doc gmp java minimal odbc readline ssl static tetex threads zlib X"
+
+DEPEND="!dev-lang/swi-prolog-lite
+ sys-libs/ncurses
+ zlib? ( sys-libs/zlib )
+ odbc? ( dev-db/unixODBC )
+ berkdb? ( sys-libs/db )
+ readline? ( sys-libs/readline )
+ gmp? ( dev-libs/gmp )
+ ssl? ( dev-libs/openssl )
+ java? ( >=virtual/jdk-1.4
+ dev-java/junit )
+ X? (
+ media-libs/jpeg
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-proto/xproto )"
+
+S="${WORKDIR}/pl-${PV}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ sed -i -e "s/man boot library/boot library/" src/Makefile.in
+ epatch "${FILESDIR}"/${PN}-portage-r1.patch
+ epatch "${FILESDIR}"/${PN}-CFLAGS-r4.patch
+ epatch "${FILESDIR}"/${PN}-O_DEBUG.patch
+ epatch "${FILESDIR}"/${PN}-PLBASE-r2.patch
+ epatch "${FILESDIR}"/${PN}-cppproxy-r1.patch
+ epatch "${FILESDIR}"/${PN}-jpl-PLARCH.patch
+ epatch "${FILESDIR}"/${PN}-jpl-LDPATH-r2.patch
+ epatch "${FILESDIR}"/${PN}-jpl-bounded-arith.patch
+ epatch "${FILESDIR}"/${PN}-jpl-junit.patch
+ epatch "${FILESDIR}"/${PN}-jpl-check_java-r1.patch
+ epatch "${FILESDIR}"/${PN}-ltx2htm.patch
+ epatch "${FILESDIR}"/${PN}-SGML_CATALOG_FILES.patch
+ epatch "${FILESDIR}"/${PN}-set_prolog_IO.patch
+ epatch "${FILESDIR}"/${PN}-thread-sandbox.patch
+ epatch "${FILESDIR}"/${PN}-thread-tests-r1.patch
+ epatch "${FILESDIR}"/${PN}-xpce-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-xpce-test-r1.patch
+}
+
+src_compile() {
+ einfo "Building SWI-Prolog compiler"
+
+ use debug && append-flags -DO_DEBUG
+
+ local threadconf
+ if use java && ! use minimal || use threads ; then
+ threadconf="--enable-mt"
+ else
+ threadconf="--disable-mt"
+ fi
+
+ cd "${S}"/src
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ ${threadconf} \
+ $(use_enable gmp) \
+ $(use_enable readline) \
+ $(use_enable !static shared) \
+ --disable-custom-flags \
+ || die "econf failed"
+ emake || die "emake failed"
+
+ if ! use minimal ; then
+ einfo "Building SWI-Prolog additional packages"
+
+ cd "${S}/packages"
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ ${threadconf} \
+ $(use_enable !static shared) \
+ --without-C-sicstus \
+ --with-chr \
+ --with-clib \
+ --with-clpqr \
+ --with-cpp \
+ --with-cppproxy \
+ $(use_with berkdb db) \
+ --with-http \
+ --without-jasmine \
+ $(use_with java jpl) \
+ $(use_with tetex ltx2htm) \
+ --with-nlp \
+ $(use_with odbc) \
+ --with-pldoc \
+ --with-plunit \
+ --with-semweb \
+ --with-sgml \
+ --with-sgml/RDF \
+ $(use_with ssl) \
+ --with-table \
+ $(use_with X xpce) \
+ $(use_with zlib) \
+ || die "packages econf failed"
+
+ emake || die "packages emake failed"
+ fi
+}
+
+src_install() {
+ make -C src DESTDIR="${D}" install || die "install src failed"
+
+ if ! use minimal ; then
+ make -C packages DESTDIR="${D}" install || die "install packages failed"
+ if use doc ; then
+ make -C packages DESTDIR="${D}" html-install || die "html-install failed"
+ make -C packages/cppproxy DESTDIR="${D}" install-examples || die "install-examples failed"
+ fi
+ fi
+
+ dodoc ANNOUNCE ChangeLog INSTALL INSTALL.notes PORTING README README.GUI VERSION
+}
+
+src_test() {
+ cd "${S}/src"
+ make check || die "make check failed. See above for details."
+
+ if ! use minimal ; then
+ cd "${S}/packages"
+ make check || die "make check failed. See above for details."
+ fi
+}