summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/xsb/Manifest2
-rw-r--r--dev-lang/xsb/metadata.xml3
-rw-r--r--dev-lang/xsb/xsb-4.0.0.ebuild212
3 files changed, 217 insertions, 0 deletions
diff --git a/dev-lang/xsb/Manifest b/dev-lang/xsb/Manifest
index 1abb9f57770e..946420c4970e 100644
--- a/dev-lang/xsb/Manifest
+++ b/dev-lang/xsb/Manifest
@@ -1,2 +1,4 @@
+DIST XSB-4-0-0.tar.gz 15340635 BLAKE2B 4832185a64c6c5786ae78e111c25cd3a5ffc2f80aec9c0c83f030ead482868c77b0d7abbfdf0d113b56fea395eb7e69ca2970a82ea70004fb78c0bf4de258a9d SHA512 fed1e0db4874db2508e0c1e716be20cbfbc4f7ed4c16e0b220750cfb3dfceb78bbdce0f8564b68c400af1bc2b8f9e3b35014e8849bba1705bddfab824f41e816
DIST XSB38.tar.gz 13830570 BLAKE2B 60a6ab38435348d09e2d08bc65ca62c06b38495b72f40a6f3f10fe8d23949bfed0c580c9be0c8304d8a88a53b227bb695870b558d67f33a47543de6c1529180f SHA512 457c691450afcf3ed4e2fffc28deaef0949ef4bbf6fd69b504acc6507fbb144f2c6e427a25da2b6346b15b82e803c02d1b6962af698d16c1fcb9a3d56160ea30
DIST xsb-3.8.0-gentoo-patchset-5.tar.gz 7748 BLAKE2B 291beb7a2bf567708119eb200e06fd0d6ac976b5eaea9646d9b5fe9fe67908e01f48b1e55e36fc98f7fe75ee4b654422bc0f9c565e00ac75fe36cccd0439bc2b SHA512 cd3762545bb0b0c5532607741f5946658cacf062c21913c8261988a2162ab848d860ae5a0d11d7a4b8b36994f7fbc91c6e6b4fa607e8cc6ebed434dbf421dec1
+DIST xsb-4.0.0-gentoo-patchset-0.tar.gz 10227 BLAKE2B 6d64faad36af2a1d5e74c5ac32940158bd8e08ae04d0a28e818d4295e2e4e12f99a0eee24605767a586fc6273ff330eb2a140d6106d605e4beb864f01c518014 SHA512 8c125237473d9c21cfe261bfd5a78dbd68ecd1d2a8a828bac55cfc33a74ba72994a4727b568dc90febef13f637d0b1cfe583fa097bd5cf8e758a74e142374a00
diff --git a/dev-lang/xsb/metadata.xml b/dev-lang/xsb/metadata.xml
index cabb7385917b..b10e89771921 100644
--- a/dev-lang/xsb/metadata.xml
+++ b/dev-lang/xsb/metadata.xml
@@ -8,4 +8,7 @@
<upstream>
<remote-id type="sourceforge">xsb</remote-id>
</upstream>
+ <use>
+ <flag name="mariadb">Enable support for the mariadb database backend</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-lang/xsb/xsb-4.0.0.ebuild b/dev-lang/xsb/xsb-4.0.0.ebuild
new file mode 100644
index 000000000000..7449fc08ff15
--- /dev/null
+++ b/dev-lang/xsb/xsb-4.0.0.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCHSET_VER="0"
+
+inherit autotools java-pkg-opt-2
+
+DESCRIPTION="XSB is a logic programming and deductive database system"
+HOMEPAGE="http://xsb.sourceforge.net"
+SRC_URI="mirror://sourceforge/xsb/XSB-4-0-0.tar.gz
+ https://dev.gentoo.org/~keri/distfiles/xsb/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="curl debug iodbc java mariadb mysql odbc pcre threads xml"
+
+RDEPEND="curl? ( net-misc/curl )
+ iodbc? ( dev-db/libiodbc )
+ java? ( >=virtual/jdk-1.8:* )
+ mariadb? ( dev-db/mariadb-connector-c:= )
+ mysql? ( dev-db/mysql-connector-c:0= )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ xml? ( dev-libs/libxml2 )"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/XSB
+
+PATCHES=( "${WORKDIR}/${PV}" )
+
+src_prepare() {
+ default
+ cd "${S}"/build
+ eautoconf
+
+ if use mariadb ; then
+ sed -i \
+ -e "s:mysqlclient:mariadb:" \
+ -e "s:mysql_config:mariadb_config:" \
+ "${S}"/packages/dbdrivers/mysql/configure \
+ "${S}"/packages/dbdrivers/mysql/mysql_driver_config.P
+ fi
+
+ find "${S}"/packages -name Installation_summary \
+ | xargs rm -f || die
+}
+
+src_configure() {
+ cd "${S}"/build
+
+ econf \
+ --prefix=/usr/$(get_libdir) \
+ --disable-optimization \
+ --disable-ccmpl \
+ --without-smodels \
+ $(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 || use mariadb ; then
+ local impl=$(usex mariadb mariadb mysql)
+ cd "${S}"/packages/dbdrivers/mysql
+ econf \
+ --with-mysql-incdir=/usr/include/${impl}
+ 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
+
+ default
+
+ # 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 -f *.xwam
+ emake -j1
+
+ if use curl ; then
+ emake -j1 curl
+ emake -j1 sgml
+ if use xml ; then
+ emake -j1 xpath
+ fi
+ fi
+
+ if use mysql || use mariadb ; then
+ emake -j1 mysql
+ fi
+
+ if use odbc ; then
+ emake -j1 odbc
+ fi
+
+ if use pcre ; then
+ emake -j1 pcre
+ fi
+}
+
+src_install() {
+ cd "${S}"/build
+ default
+
+ local XSB_INSTALL_DIR=/usr/$(get_libdir)/xsb-${PV}
+ dosym ${XSB_INSTALL_DIR}/bin/xsb /usr/bin/xsb
+
+ cd "${S}"/packages
+ local PACKAGES=${XSB_INSTALL_DIR}/packages
+ insinto ${PACKAGES}
+ doins *.xwam
+
+ insinto ${PACKAGES}/chr
+ doins chr/*.xwam
+
+ insinto ${PACKAGES}/clpqr
+ doins clpqr/*.xwam
+
+ insinto ${PACKAGES}/gap
+ doins gap/*.xwam
+
+ insinto ${PACKAGES}/justify
+ doins justify/*.xwam
+ doins justify/*.H
+
+ insinto ${PACKAGES}/regmatch
+ doins regmatch/*.xwam
+ insinto ${PACKAGES}/regmatch/cc
+ doins regmatch/cc/*.H
+
+ insinto ${PACKAGES}/slx
+ doins slx/*.xwam
+
+ insinto ${PACKAGES}/wildmatch
+ doins wildmatch/*.xwam
+ insinto ${PACKAGES}/wildmatch/cc
+ doins wildmatch/cc/*.H
+
+ if use curl ; then
+ insinto ${PACKAGES}/curl
+ doins curl/*.xwam
+ insinto ${PACKAGES}/curl/cc
+ doins curl/cc/*.H
+ insinto ${PACKAGES}/sgml
+ doins sgml/*.xwam
+ insinto ${PACKAGES}/sgml/cc
+ doins sgml/cc/*.H
+ insinto ${PACKAGES}/sgml/cc/dtd
+ doins sgml/cc/dtd/*
+ if use xml ; then
+ insinto ${PACKAGES}/xpath
+ doins xpath/*xwam
+ insinto ${PACKAGES}/xpath/cc
+ doins xpath/cc/*.H
+ fi
+ fi
+
+ if use mysql || use mariadb || use odbc ; then
+ insinto ${PACKAGES}/dbdrivers
+ doins dbdrivers/*.xwam
+ doins dbdrivers/*.H
+ insinto ${PACKAGES}/dbdrivers/cc
+ doins dbdrivers/cc/*.H
+ if use mysql || use mariadb ; then
+ insinto ${PACKAGES}/dbdrivers/mysql
+ doins dbdrivers/mysql/*.xwam
+ insinto ${PACKAGES}/dbdrivers/mysql/cc
+ doins dbdrivers/mysql/cc/*.H
+ fi
+ if use odbc ; then
+ insinto ${PACKAGES}/dbdrivers/odbc
+ doins dbdrivers/odbc/*.xwam
+ insinto ${PACKAGES}/dbdrivers/odbc/cc
+ doins dbdrivers/odbc/cc/*.H
+ fi
+ fi
+
+ if use pcre ; then
+ insinto ${PACKAGES}/pcre
+ doins pcre/*.xwam
+ insinto ${PACKAGES}/pcre/cc
+ doins pcre/cc/*.H
+ fi
+
+ cd "${S}"
+ dodoc FAQ README
+}