summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/xsb/xsb-3.3.7.ebuild')
-rw-r--r--dev-lang/xsb/xsb-3.3.7.ebuild210
1 files changed, 210 insertions, 0 deletions
diff --git a/dev-lang/xsb/xsb-3.3.7.ebuild b/dev-lang/xsb/xsb-3.3.7.ebuild
new file mode 100644
index 000000000000..3ca1afb58c31
--- /dev/null
+++ b/dev-lang/xsb/xsb-3.3.7.ebuild
@@ -0,0 +1,210 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+MY_P="XSB${PV//./}"
+
+PATCHSET_VER="0"
+
+inherit eutils autotools java-pkg-opt-2
+
+DESCRIPTION="XSB is a logic programming and deductive database system"
+HOMEPAGE="http://xsb.sourceforge.net"
+SRC_URI="http://xsb.sourceforge.net/downloads/${MY_P}.tar.gz
+ mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="curl debug examples iodbc java mysql odbc pcre threads xml"
+
+RDEPEND="curl? ( net-misc/curl )
+ iodbc? ( dev-db/libiodbc )
+ java? ( >=virtual/jdk-1.4 )
+ mysql? ( virtual/mysql )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ xml? ( dev-libs/libxml2 )"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/XSB
+
+src_prepare() {
+ EPATCH_FORCE=yes
+ EPATCH_SUFFIX=patch
+ epatch "${WORKDIR}"/${PV}
+
+ cd "${S}"/build
+ eautoconf
+
+ find "${S}"/emu -name '*\.o' | xargs rm -f
+}
+
+src_configure() {
+ cd "${S}"/build
+
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ --disable-optimization \
+ --without-smodels \
+ --with-config-tag="" \
+ $(use_with odbc) \
+ $(use_with iodbc) \
+ $(use_enable threads mt) \
+ $(use_enable debug)
+
+ if use curl ; then
+ cd "${S}"/packages/curl
+ econf
+ fi
+
+ if use mysql ; then
+ cd "${S}"/packages/dbdrivers/mysql
+ econf
+ fi
+
+ if use odbc ; then
+ cd "${S}"/packages/dbdrivers/odbc
+ econf
+ fi
+
+ if use pcre ; then
+ cd "${S}"/packages/pcre
+ econf
+ fi
+
+ if use xml ; then
+ cd "${S}"/packages/xpath
+ econf
+ fi
+}
+
+src_compile() {
+ cd "${S}"/build
+
+ emake || die "emake failed"
+
+ # All XSB Packages are compiled using a single Prolog engine.
+ # Consequently they must all be compiled using a single make job.
+
+ cd "${S}"/packages
+ rm -rf *.xwam
+ emake -j1 || die "emake packages failed"
+
+ if use curl ; then
+ emake -j1 curl || die "emake curl package failed"
+ emake -j1 sgml || die "emake sgml package failed"
+ if use xml ; then
+ emake -j1 xpath || die "emake xpath package failed"
+ fi
+ fi
+
+ if use mysql ; then
+ emake -j1 mysql || die "emake mysql package failed"
+ fi
+
+ if use odbc ; then
+ emake -j1 odbc || die "emake odbc package failed"
+ fi
+
+ if use pcre ; then
+ emake -j1 pcre || die "emake pcre package failed"
+ fi
+}
+
+src_install() {
+ cd "${S}"/build
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ local XSB_INSTALL_DIR=/usr/$(get_libdir)/xsb-${PV}
+ dosym ${XSB_INSTALL_DIR}/bin/xsb /usr/bin/xsb || die
+
+ cd "${S}"/packages
+ local PACKAGES=${XSB_INSTALL_DIR}/packages
+ insinto ${PACKAGES}
+ doins *.xwam || die
+
+ insinto ${PACKAGES}/chr
+ doins chr/*.xwam || die
+
+ insinto ${PACKAGES}/chr_d
+ doins chr_d/*.xwam || die
+
+ insinto ${PACKAGES}/gap
+ doins gap/*.xwam || die
+
+ insinto ${PACKAGES}/justify
+ doins justify/*.xwam || die
+ doins justify/*.H || die
+
+ insinto ${PACKAGES}/regmatch
+ doins regmatch/*.xwam || die
+ insinto ${PACKAGES}/regmatch/cc
+ doins regmatch/cc/*.H || die
+
+ insinto ${PACKAGES}/slx
+ doins slx/*.xwam || die
+
+ insinto ${PACKAGES}/wildmatch
+ doins wildmatch/*.xwam || die
+ insinto ${PACKAGES}/wildmatch/cc
+ doins wildmatch/cc/*.H || die
+
+ if use curl ; then
+ insinto ${PACKAGES}/curl
+ doins curl/*.xwam || die
+ insinto ${PACKAGES}/sgml
+ doins sgml/*.xwam || die
+ insinto ${PACKAGES}/sgml/cc
+ doins sgml/cc/*.H || die
+ insinto ${PACKAGES}/sgml/cc/dtd
+ doins sgml/cc/dtd/* || die
+ if use xml ; then
+ insinto ${PACKAGES}/xpath
+ doins xpath/*xwam || die
+ insinto ${PACKAGES}/xpath/cc
+ doins xpath/cc/*.H || die
+ fi
+ fi
+
+ if use mysql || use odbc ; then
+ insinto ${PACKAGES}/dbdrivers
+ doins dbdrivers/*.xwam || die
+ doins dbdrivers/*.H || die
+ insinto ${PACKAGES}/dbdrivers/cc
+ doins dbdrivers/cc/*.H || die
+ if use mysql ; then
+ insinto ${PACKAGES}/dbdrivers/mysql
+ doins dbdrivers/mysql/*.xwam || die
+ insinto ${PACKAGES}/dbdrivers/mysql/cc
+ doins dbdrivers/mysql/cc/*.H || die
+ fi
+ if use odbc ; then
+ insinto ${PACKAGES}/dbdrivers/odbc
+ doins dbdrivers/odbc/*.xwam || die
+ insinto ${PACKAGES}/dbdrivers/odbc/cc
+ doins dbdrivers/odbc/cc/*.H || die
+ fi
+ fi
+
+ if use pcre ; then
+ insinto ${PACKAGES}/pcre
+ doins pcre/*.xwam || die
+ insinto ${PACKAGES}/pcre/cc
+ doins pcre/cc/*.H || die
+ fi
+
+ if use examples ; then
+ cd "${S}"/build
+ emake \
+ DESTDIR="${D}" \
+ install_examples="${D}"/usr/share/doc/${PF}/examples \
+ install_examples || die "make install_examples failed"
+ fi
+
+ cd "${S}"
+ dodoc FAQ README || die
+}