summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2007-11-25 05:09:32 +0000
committerKeri Harris <keri@gentoo.org>2007-11-25 05:09:32 +0000
commit7124cd78d85866d197dc270aef6bef0cafb18f28 (patch)
tree088538caa1aae06d53604407c8d0a972af50fe69 /dev-lang/xsb
parentStable on x86 as dependency of media-video/jubler; see bug #200242 for details (diff)
downloadgentoo-2-7124cd78d85866d197dc270aef6bef0cafb18f28.tar.gz
gentoo-2-7124cd78d85866d197dc270aef6bef0cafb18f28.tar.bz2
gentoo-2-7124cd78d85866d197dc270aef6bef0cafb18f28.zip
Version bump
(Portage version: 2.1.4_rc1)
Diffstat (limited to 'dev-lang/xsb')
-rw-r--r--dev-lang/xsb/ChangeLog14
-rw-r--r--dev-lang/xsb/files/digest-xsb-3.13
-rw-r--r--dev-lang/xsb/files/xsb-3.1-chr_d.patch13
-rw-r--r--dev-lang/xsb/files/xsb-3.1-configure.patch278
-rw-r--r--dev-lang/xsb/files/xsb-3.1-gap.patch10
-rw-r--r--dev-lang/xsb/files/xsb-3.1-justify.patch12
-rw-r--r--dev-lang/xsb/files/xsb-3.1-mysql.patch78
-rw-r--r--dev-lang/xsb/files/xsb-3.1-nostrip.patch11
-rw-r--r--dev-lang/xsb/files/xsb-3.1-odbc.patch47
-rw-r--r--dev-lang/xsb/files/xsb-3.1-orient.patch20
-rw-r--r--dev-lang/xsb/files/xsb-3.1-packages.patch173
-rw-r--r--dev-lang/xsb/files/xsb-3.1-portage.patch181
-rw-r--r--dev-lang/xsb/files/xsb-3.1-varstring.patch20
-rw-r--r--dev-lang/xsb/files/xsb-3.1-xpath.patch21
-rw-r--r--dev-lang/xsb/files/xsb-3.1-xsb-script.patch44
-rw-r--r--dev-lang/xsb/xsb-3.1.ebuild202
16 files changed, 1126 insertions, 1 deletions
diff --git a/dev-lang/xsb/ChangeLog b/dev-lang/xsb/ChangeLog
index 785947807e98..e44d5ecb2825 100644
--- a/dev-lang/xsb/ChangeLog
+++ b/dev-lang/xsb/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for dev-lang/xsb
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/xsb/ChangeLog,v 1.8 2007/04/24 22:51:37 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/xsb/ChangeLog,v 1.9 2007/11/25 05:09:31 keri Exp $
+
+*xsb-3.1 (25 Nov 2007)
+
+ 25 Nov 2007; keri <keri@gentoo.org> +files/xsb-3.1-chr_d.patch,
+ +files/xsb-3.1-configure.patch, +files/xsb-3.1-gap.patch,
+ +files/xsb-3.1-justify.patch, +files/xsb-3.1-mysql.patch,
+ +files/xsb-3.1-nostrip.patch, +files/xsb-3.1-odbc.patch,
+ +files/xsb-3.1-orient.patch, +files/xsb-3.1-packages.patch,
+ +files/xsb-3.1-portage.patch, +files/xsb-3.1-varstring.patch,
+ +files/xsb-3.1-xpath.patch, +files/xsb-3.1-xsb-script.patch,
+ +xsb-3.1.ebuild:
+ Version bump.
24 Apr 2007; keri <keri@gentoo.org> files/xsb-3.0.1-configure.patch:
Respect -odbc -iodbc in USE flags. Closes bug #174696.
diff --git a/dev-lang/xsb/files/digest-xsb-3.1 b/dev-lang/xsb/files/digest-xsb-3.1
new file mode 100644
index 000000000000..795a85ce7c25
--- /dev/null
+++ b/dev-lang/xsb/files/digest-xsb-3.1
@@ -0,0 +1,3 @@
+MD5 2c929524bf405312e4392f25fa86649c XSB-unix.tar.gz 5773347
+RMD160 78e31e7b26bf5f219c3f6b01a0c65b7de86c7e83 XSB-unix.tar.gz 5773347
+SHA256 b584a19dff06d8834795d8f26c1a97c5adfdcc678c3f7b2978591495f8a14051 XSB-unix.tar.gz 5773347
diff --git a/dev-lang/xsb/files/xsb-3.1-chr_d.patch b/dev-lang/xsb/files/xsb-3.1-chr_d.patch
new file mode 100644
index 000000000000..a6741afb40c1
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-chr_d.patch
@@ -0,0 +1,13 @@
+--- XSB.orig/packages/chr_d.P 2006-05-26 02:49:06.000000000 +1200
++++ XSB/packages/chr_d.P 2007-11-24 20:12:59.000000000 +1300
+@@ -28,7 +28,9 @@
+ init_chr_d:-
+ bootstrap_package([chr_d],'chr_d'),
+ [chr2attv],
+- [attv_aux].
++ [attv_aux],
++ [flatten_chr],
++ [print_chrd].
+
+ :- init_chr_d.
+
diff --git a/dev-lang/xsb/files/xsb-3.1-configure.patch b/dev-lang/xsb/files/xsb-3.1-configure.patch
new file mode 100644
index 000000000000..9df053f0222f
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-configure.patch
@@ -0,0 +1,278 @@
+--- XSB.orig/build/configure.in 2007-08-23 07:21:23.000000000 +1200
++++ XSB/build/configure.in 2007-11-24 19:54:25.000000000 +1300
+@@ -366,9 +366,9 @@
+ dnl prefix given by the user. The prefix variable will later get
+ dnl the <xsb-version> subdirectory added in.
+ orig_prefix=
+-if test "$prefix" = "NONE" -o -z "$prefix" ; then
++if test true ; then
++ install_prefix=$prefix/lib/xsb
+ prefix=$topdir
+- orig_prefix=$prefix
+ else
+ dnl strip any trailing slashes in prefix
+ prefix=`echo "${prefix}" | sed 's,\([[^/]]\)/*$,\1,'`
+@@ -429,7 +429,7 @@
+ fi
+
+ config_prefix=${topdir}/config
+-install_config_prefix=${prefix}/config
++install_config_prefix=${install_prefix}/config
+
+ if test -n "$with_config_tag" ; then
+ config_tag="-$with_config_tag"
+@@ -456,7 +456,7 @@
+
+ dnl If the user didn't specify --with-config-tag, check maybe -aout, -bits-64,
+ dnl or -dbg are appropriate
+-if test -z "${with_config_tag}" ; then
++if false ; then
+ config_tag=
+ dnl add -bits64 to the config tag, if --with-bits64 is set on command line
+ if test "$bits64" = yes ; then
+@@ -547,10 +547,10 @@
+ canonical=$host
+ configuration=${host_alias-${build_alias-$host}}
+ if test "$configuration" = "NONE" -o -z "$configuration" ; then
+- echo '
+-- You did not tell me what kind of host system you want to configure.
+-- I will attempt to guess the kind of system this is.
+-' 1>&6
++# echo '
++#- You did not tell me what kind of host system you want to configure.
++#- I will attempt to guess the kind of system this is.
++#' 1>&6
+ canonical=$host
+ configuration=$host_alias
+ else
+@@ -616,7 +616,7 @@
+ # site-specific directories
+ # where the site is
+ if test -z "$with_site_prefix" ; then
+- site_prefix=${orig_prefix}/site
++ site_prefix=${install_prefix}/site
+ else
+ site_prefix=$with_site_prefix
+ fi
+@@ -629,17 +629,17 @@
+ site_config_libdir=${site_config_prefix}/lib
+
+ # Installation directories: We only check if they exist
+-install_libdir=${prefix}/lib
+-install_syslibdir=${prefix}/syslib
+-install_cmplibdir=${prefix}/cmplib
+-install_emudir=${prefix}/emu
+-install_scriptdir=${prefix}/bin # where the xsb invocation script goes
+-install_builddir=${prefix}/build # where the config detection scripts go
+-install_prolog_includes=${prefix}/prolog_includes
+-install_pkgdir=${prefix}/packages
+-install_pkgxmcdir=${prefix}/packages/xmc
+-install_examples=${prefix}/examples
+-install_etcdir=${prefix}/etc
++install_libdir=${install_prefix}/lib
++install_syslibdir=${install_prefix}/syslib
++install_cmplibdir=${install_prefix}/cmplib
++install_emudir=${install_prefix}/emu
++install_scriptdir=${install_prefix}/bin # where the xsb invocation script goes
++install_builddir=${install_prefix}/build # where the config detection scripts go
++install_prolog_includes=${install_prefix}/prolog_includes
++install_pkgdir=${install_prefix}/packages
++install_pkgxmcdir=${install_prefix}/packages/xmc
++install_examples=${install_prefix}/examples
++install_etcdir=${install_prefix}/etc
+
+ arch_install_config_prefix=${install_config_prefix}/${full_config_name}
+ arch_install_bindir=${arch_install_config_prefix}/bin
+@@ -658,7 +658,7 @@
+ rm -f buildxsb.lock
+ exit 1
+ fi
+-
++if false ; then
+ # Test if directories exist
+ echo "Checking installation directories..."
+
+@@ -778,7 +778,7 @@
+ test -f .missingdirs.tmp && exit 1
+
+ echo "Checking installation directories ... Done"
+-
++fi
+
+ AC_PROG_CC
+ AC_PROG_CPP
+@@ -1114,7 +1114,7 @@
+ ODBCSRC=""
+ ODBCOBJ=""
+
+-if test "${with_odbc+set}" = "set"; then
++if test "${with_odbc}" = "yes"; then
+ if test -n "$with_os" ; then
+ echo -n ""
+ # AC_DEFINE(XSB_ODBC)
+@@ -1152,11 +1152,11 @@
+ # with_odbc=no
+ # else
+ # AC_DEFINE(XSB_ODBC)
+- cat <<EOT
+-
+-Building with support for ODBC
+-
+-EOT
++# cat <<EOT
++#
++#Building with support for ODBC
++#
++#EOT
+ # fi
+ # dnl restore CPPFLAGS
+ # CPPFLAGS="${saved_cpp_flags}"
+@@ -1167,9 +1167,9 @@
+ fi
+ fi
+
+-if test "${with_odbc+set}" = "set"; then
++if test "${with_odbc}" = "yes"; then
+ AC_DEFINE(XSB_ODBC)
+- with_odbc=yes
++# with_odbc=yes
+ fi
+
+ win_site_includes=
+@@ -1248,8 +1248,8 @@
+ AC_SUBST(perl_ccflags)
+ AC_SUBST(perl_libs)
+
+-
+-# Java support
++if test "${with_interprolog}" = "yes"; then
++if test "x$JAVAC" = x; then
+ AC_CHECK_PROG(java_support, javac, "yes", "no")
+ if test "${java_support}" = "yes"; then
+ dnl after AC_CHECK_PROG, as_dir holds the directory where javac is found
+@@ -1257,17 +1257,20 @@
+ else
+ javac=javac
+ fi
+-
++else
++ javac="$JAVAC"
++ java_support=yes
++fi
+ AC_SUBST(javac)
+ AC_SUBST(java_support)
+
+-AC_PATH_PROG(java_path,javac,no)
+-java_path=`dirname $java_path`
++#AC_PATH_PROG(java_path,javac,no)
++java_path=`dirname $javac`
+ java_path=`dirname $java_path`
+ java_path=$java_path/include
+ #java_path=`echo $java_path | sed 's,bin/javac,include,' `
+
+-if test "${with_interprolog}" = "yes"; then
++#if test "${with_interprolog}" = "yes"; then
+ if test "${java_support}" != "yes"; then
+ echo "Interprolog not supported due to failure to find Java"
+ with_interprolog=""
+@@ -1304,14 +1307,14 @@
+ if test "${enable_profile}" = "yes"; then
+ AC_DEFINE(DEBUG)
+ AC_DEFINE(PROFILE)
+- do_debugging=yes
++# do_debugging=yes
+ fi
+
+ if test "${enable_debug}" = "yes"; then
+ AC_DEFINE(NON_OPT_COMPILE)
+ AC_DEFINE(DEBUG)
+ dnl AC_DEFINE(CP_DEBUG)
+- do_debugging=yes
++# do_debugging=yes
+ fi
+
+ if test "${enable_debug_verbose}" = "yes"; then
+@@ -1678,20 +1681,22 @@
+ #fi
+
+ # dnl ODBC library
+-if test "${with_odbc}" = yes ; then
++#if test "${with_odbc}" = yes ; then
+ case "$canonical" in
+ *-cygwin*) LDFLAGS="-lodbc32 ${LDFLAGS}"
+ LINKFLAGS="-lodbc32 ${LINKFLAGS}"
+ ;;
+- *) if test -n "${with_iodbc}"; then
+- LDFLAGS="-liodbc ${LDFLAGS}"
+- LINKFLAGS="-liodbc ${LINKFLAGS}"
+- else
+- LDFLAGS="-lodbc ${LDFLAGS}"
+- LINKFLAGS="-lodbc ${LINKFLAGS}"
++ *) if test "${with_iodbc}" = "yes"; then
++ ODBC_CFLAGS="$(iodbc-config --cflags)"
++ LDFLAGS="$(iodbc-config --libs) ${LDFLAGS}"
++# LINKFLAGS="-liodbc ${LINKFLAGS}"
++ elif test "${with_odbc}" = "yes"; then
++ ODBC_CFLAGS="$(odbc_config --cflags)"
++ LDFLAGS="$(odbc_config --libs) ${LDFLAGS}"
++# LINKFLAGS="-lodbc ${LINKFLAGS}"
+ fi
+ esac
+-fi
++#fi
+
+ # this is needed for -mno-cygwin dll compilation
+ DLLTYPE=nodll
+@@ -1843,6 +1848,7 @@
+
+ AC_SUBST(ODBCSRC)
+ AC_SUBST(ODBCOBJ)
++AC_SUBST(ODBC_CFLAGS)
+ AC_SUBST(INTERPROLOGSRC)
+ AC_SUBST(INTERPROLOGOBJ)
+ AC_SUBST(mno_cyg_inclib)
+@@ -1883,11 +1889,11 @@
+ ${arch_config_prefix}/xsb_debug.h:def_debug.in])
+
+
+-AC_OUTPUT([ ${arch_config_prefix}/topMakefile:topMakefile.in
+- ${arch_config_prefix}/emuMakefile:emuMakefile.in
+- ${arch_config_prefix}/modMakefile:modMakefile.in
+- ${arch_config_prefix}/gppMakefile:gppMakefile.in
+- ${arch_config_prefix}/smoMakefile:smoMakefile.in
++AC_OUTPUT([ ${build_dir}/Makefile:topMakefile.in
++ ${emudir}/Makefile:emuMakefile.in
++ ${build_dir}/modMakefile:modMakefile.in
++ ${topdir}/gpp/Makefile:gppMakefile.in
++ ${build_dir}/smoMakefile:smoMakefile.in
+ ${arch_config_prefix}/makedef.sh:makedef.sh.in
+ ${arch_config_file}:${configuration_templ}
+ makexsb:makexsb.in
+@@ -2011,10 +2017,10 @@
+
+ # This is needed so that *after* XSB is installed in a common directory,
+ # users could compile packages that produce arch-specific code.
+-chmod 777 ${site_config_libdir};
+-chmod a+t ${site_config_libdir};
+-chmod 777 ${arch_install_config_libdir};
+-chmod a+t ${arch_install_config_libdir};
++# chmod 777 ${site_config_libdir};
++# chmod a+t ${site_config_libdir};
++# chmod 777 ${arch_install_config_libdir};
++# chmod a+t ${arch_install_config_libdir};
+
+
+ dnl Add site dynamic libraries to XSB library path
+@@ -2061,9 +2067,9 @@
+ # configuring for Windows over Samba, NFS, etc.
+ chmod 644 ${arch_config_file} \
+ ${arch_config_prefix}/xsb_config.h \
+- ${arch_config_prefix}/xsb_debug.h \
+- ${arch_config_prefix}/*Makefile \
+- ${arch_config_prefix}/MSVC*
++ ${arch_config_prefix}/xsb_debug.h
++# ${arch_config_prefix}/*Makefile \
++# ${arch_config_prefix}/MSVC*
+
+
+ # phantom private_builtin.c file
diff --git a/dev-lang/xsb/files/xsb-3.1-gap.patch b/dev-lang/xsb/files/xsb-3.1-gap.patch
new file mode 100644
index 000000000000..d24f5c44d8ef
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-gap.patch
@@ -0,0 +1,10 @@
+--- XSB.orig/packages/gap.P 1999-12-31 07:20:55.000000000 +1300
++++ XSB/packages/gap.P 2007-11-25 14:09:38.000000000 +1300
+@@ -33,5 +33,6 @@
+
+ gap_meta(Call):- meta(Call).
+
+-:- bootstrap_package('gap',gap).
++:- bootstrap_package('gap',gap),
++ [gapmeta].
+
diff --git a/dev-lang/xsb/files/xsb-3.1-justify.patch b/dev-lang/xsb/files/xsb-3.1-justify.patch
new file mode 100644
index 000000000000..8d5e96ccc651
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-justify.patch
@@ -0,0 +1,12 @@
+--- XSB.orig/packages/justify.P 2006-01-02 11:03:26.000000000 +1300
++++ XSB/packages/justify.P 2007-11-24 20:19:19.000000000 +1300
+@@ -11,7 +11,8 @@
+
+ :- import bootstrap_package/2 from packaging.
+ :- import slash/1 from machine.
+-:- bootstrap_package('justify',justify).
++:- bootstrap_package('justify',justify),
++ [jxm].
+
+ :- import jxm_/1, just_true_/2, just_false_/2 from jxm.
+
diff --git a/dev-lang/xsb/files/xsb-3.1-mysql.patch b/dev-lang/xsb/files/xsb-3.1-mysql.patch
new file mode 100644
index 000000000000..18f214b7f74e
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-mysql.patch
@@ -0,0 +1,78 @@
+diff -ur XSB.orig/packages/dbdrivers/mysql/cc/mysql_driver.c XSB/packages/dbdrivers/mysql/cc/mysql_driver.c
+--- XSB.orig/packages/dbdrivers/mysql/cc/mysql_driver.c 2006-02-12 18:21:03.000000000 +1300
++++ XSB/packages/dbdrivers/mysql/cc/mysql_driver.c 2007-11-25 13:44:50.000000000 +1300
+@@ -209,13 +209,11 @@
+ switch (result[i]->type)
+ {
+ case INT_TYPE:
+- result[i]->val->i_val = (int *)malloc(sizeof(int));
+- result[i]->val->i_val = (int *)row[i];
++ sscanf(row[i], "%d", &result[i]->val->i_val);
+ break;
+
+ case FLOAT_TYPE:
+- result[i]->val->f_val = (double *)malloc(sizeof(double));
+- result[i]->val->f_val = (double *)row[i];
++ sscanf(row[i], "%lf", &result[i]->val->f_val);
+ break;
+
+ case STRING_TYPE:
+diff -ur XSB.orig/packages/dbdrivers/mysql/configure XSB/packages/dbdrivers/mysql/configure
+--- XSB.orig/packages/dbdrivers/mysql/configure 2003-09-29 21:40:02.000000000 +1200
++++ XSB/packages/dbdrivers/mysql/configure 2007-11-25 13:53:22.000000000 +1300
+@@ -626,8 +626,8 @@
+ LDFLAGS="-L${libdir} ${LDFLAGS}"
+ fi
+
+-echo $ac_n "checking for in -lmysqlclient""... $ac_c" 1>&6
+-echo "configure:631: checking for in -lmysqlclient" >&5
++echo $ac_n "checking for mysql_init in -lmysqlclient""... $ac_c" 1>&6
++echo "configure:631: checking for mysql_init in -lmysqlclient" >&5
+ ac_lib_var=`echo mysqlclient'_' | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -640,10 +640,10 @@
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char ();
++char mysql_init ();
+
+ int main() {
+-()
++mysql_init()
+ ; return 0; }
+ EOF
+ if { (eval echo configure:650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+@@ -661,9 +661,9 @@
+ fi
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- mysql_error=yes
+ else
+ echo "$ac_t""no" 1>&6
++ mysql_error=yes
+ fi
+
+ # Here we provide additional directories to check headers in
+@@ -808,6 +808,8 @@
+ support=yes
+ fi
+
++CFLAGS=`mysql_config --cflags`
++LDFLAGS=`mysql_config --libs`
+
+
+
+diff -ur XSB.orig/packages/dbdrivers/mysql.P XSB/packages/dbdrivers/mysql.P
+--- XSB.orig/packages/dbdrivers/mysql.P 2007-08-10 02:50:45.000000000 +1200
++++ XSB/packages/dbdrivers/mysql.P 2007-11-25 13:53:54.000000000 +1300
+@@ -35,7 +35,7 @@
+ fmt_write_string(Dir, 'dbdrivers%smysql', a(Slash)),
+ bootstrap_package([Dir,cc], mysql_driver),
+ %% TEMPORARILY DISABLED
+- abort('*** The native MySQL driver is not yet operational'),
++ %% abort('*** The native MySQL driver is not yet operational'),
+ [mysql_driver_config],
+ driverMySQL_register,
+ driverMySQL_initialise.
diff --git a/dev-lang/xsb/files/xsb-3.1-nostrip.patch b/dev-lang/xsb/files/xsb-3.1-nostrip.patch
new file mode 100644
index 000000000000..12de1f60aef1
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-nostrip.patch
@@ -0,0 +1,11 @@
+--- XSB.orig/lib/foreign.P 2007-08-23 07:11:06.000000000 +1200
++++ XSB/lib/foreign.P 2007-11-25 16:39:33.000000000 +1300
+@@ -127,7 +127,7 @@
+ %% If not debugging, the strip the symbol table from the result
+ ( str_sub(' -g', CC_Opts)
+ -> SymbolTableFlag = ' '
+- ; SymbolTableFlag = ' -s'
++ ; SymbolTableFlag = ' '
+ ),
+ ( var(CompComm)
+ -> ( str_sub('solaris', Configuration)
diff --git a/dev-lang/xsb/files/xsb-3.1-odbc.patch b/dev-lang/xsb/files/xsb-3.1-odbc.patch
new file mode 100644
index 000000000000..ede52fe64b60
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-odbc.patch
@@ -0,0 +1,47 @@
+--- XSB.orig/packages/dbdrivers/odbc/configure 2003-09-29 21:40:01.000000000 +1200
++++ XSB/packages/dbdrivers/odbc/configure 2007-11-25 09:32:41.000000000 +1300
+@@ -626,8 +626,8 @@
+ LDFLAGS="-L${with_odbc_libdir} ${LDFLAGS}"
+ fi
+
+-echo $ac_n "checking for in -lodbc""... $ac_c" 1>&6
+-echo "configure:631: checking for in -lodbc" >&5
++echo $ac_n "checking for SQLAllocEnv in -lodbc""... $ac_c" 1>&6
++echo "configure:631: checking for SQLAllocEnv in -lodbc" >&5
+ ac_lib_var=`echo odbc'_' | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -640,10 +640,10 @@
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char ();
++char SQLAllocEnv ();
+
+ int main() {
+-()
++SQLAllocEnv()
+ ; return 0; }
+ EOF
+ if { (eval echo configure:650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+@@ -661,9 +661,9 @@
+ fi
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- odbc_error=yes
+ else
+ echo "$ac_t""no" 1>&6
++ odbc_error=yes
+ fi
+
+
+@@ -809,6 +809,9 @@
+ support=yes
+ fi
+
++libdir=`odbc_config --lib-prefix`
++CFLAGS=`odbc_config --cflags`
++LDFLAGS=`odbc_config --libs`
+
+
+
diff --git a/dev-lang/xsb/files/xsb-3.1-orient.patch b/dev-lang/xsb/files/xsb-3.1-orient.patch
new file mode 100644
index 000000000000..9c78dd2313d9
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-orient.patch
@@ -0,0 +1,20 @@
+--- XSB.orig/emu/orient_xsb.c 2007-08-10 02:50:31.000000000 +1200
++++ XSB/emu/orient_xsb.c 2007-11-25 17:58:25.000000000 +1300
+@@ -304,7 +304,7 @@
+ }
+
+ /* Check if configuration.P exists and is readable */
+- retcode = stat(xsb_config_file_gl, &fileinfo);
++/* retcode = stat(xsb_config_file_gl, &fileinfo);
+ #ifdef WIN_NT
+ if ( (retcode != 0) || !(S_IREAD & fileinfo.st_mode) ) {
+ #else
+@@ -323,7 +323,7 @@
+ xsb_initialization_exit("XSB configuration file %s does not exist or is not readable by you.\n",
+ xsb_config_file_gl);
+ }
+- }
++ } */
+ }
+
+ #ifdef WIN_NT
diff --git a/dev-lang/xsb/files/xsb-3.1-packages.patch b/dev-lang/xsb/files/xsb-3.1-packages.patch
new file mode 100644
index 000000000000..78a1ae274f18
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-packages.patch
@@ -0,0 +1,173 @@
+--- XSB.orig/packages/Makefile 2006-05-22 14:10:22.000000000 +1200
++++ XSB/packages/Makefile 2007-11-24 19:15:20.000000000 +1300
+@@ -22,17 +22,63 @@
+ ##
+ ##
+
++config_libdir=../config/*/lib
++
+ OBJEXT=.xwam
+
+-ALL = slx${OBJEXT} perlmatch${OBJEXT} gap${OBJEXT} \
+- regmatch${OBJEXT} wildmatch${OBJEXT} \
+- xasp${OBJEXT} libwww${OBJEXT} xsbdoc${OBJEXT} \
+- xmc${OBJEXT} justify${OBJEXT}
++#ALL =
++ALL = chr.xwam chr_d.xwam gap.xwam justify.xwam regmatch.xwam sgml.xwam slx.xwam wildmatch.xwam
+
+-SUBDIR = flora2 slx perlmatch gap regmatch wildmatch libwww xasp \
+- xsbdoc xmc justify
++#SUBMODULES =
++SUBMODULES = chr/chr_interp.xwam chr/chr_pp.xwam chr_d/attv_aux.xwam chr_d/chr2attv.xwam chr_d/print_chrd.xwam gap/gapmeta.xwam justify/jxm.xwam regmatch/regmtchconfig.xwam sgml/sgmlconfig.xwam slx/slxshell.xwam wildmatch/wldmtchconfig.xwam
++#SUBMODULES = xsbdoc/autodoc.xwam xsbdoc/autodocformats.xwam xsbdoc/ciaoaux.xwam xsbdoc/full_ciao_ops.xwam xsbdoc/rewrite_command.xwam xsbdoc/xsbdoc1.xwam xsbdoc/xsbdoc_term_proc.xwam
++
++#ARCHMODULES =
++ARCHMODULES = $(config_libdir)/sgml2pl.xwam $(config_libdir)/xsb_re_match.xwam $(config_libdir)/xsb_wildmatch.xwam
++
++#SOLIBS =
++SOLIBS = $(config_libdir)/sgml2pl.so $(config_libdir)/xsb_re_match.so $(config_libdir)/xsb_wildmatch.so
++
++#HEADERS =
++HEADERS = regmatch/cc/xsb_re_match.H sgml/cc/sgml2pl.H wildmatch/cc/xsb_wildmatch.H
++
++DBDRIVERS = dbdrivers.xwam
++DBDRIVERSSUBMODULES = dbdrivers/db_interface.xwam
++DBDRIVERSARCHMODULES = $(config_libdir)/driver_manager.xwam
++DBDRIVERSSOLIBS = $(config_libdir)/driver_manager.so
++DBDRIVERSHEADERS = dbdrivers/db_interface.H dbdrivers/cc/driver_manager.H
++
++LIBWWW = libwww.xwam
++LIBWWWSUBMODULES = libwww/libwww_init.xwam libwww/libwwwconfig.xwam
++LIBWWWARCHMODULES = $(config_libdir)/libwww_request.xwam
++LIBWWWSOLIBS = $(config_libdir)/libwww_parse_html.so $(config_libdir)/libwww_parse_rdf.so $(config_libdir)/libwww_parse_xml.so $(config_libdir)/libwww_request.so
++LIBWWWHEADERS = libwww/cc/libwww_request.H
++
++MYSQL = dbdrivers/mysql.xwam
++MYSQLSUBMODULES = dbdrivers/mysql/mysql_driver_config.xwam dbdrivers/mysql/mysql_init.xwam
++MYSQLARCHMODULES = $(config_libdir)/mysql_driver.xwam
++MYSQLSOLIBS = $(config_libdir)/mysql_driver.so
++MYSQLHEADERS = dbdrivers/mysql/cc/mysql_driver.H
++
++ODBC = dbdrivers/odbc.xwam
++ODBCSUBMODULES = dbdrivers/odbc/odbc_driver_config.xwam dbdrivers/odbc/odbc_init.xwam
++ODBCARCHMODULES = $(config_libdir)/odbc_driver.xwam
++ODBCSOLIBS = $(config_libdir)/odbc_driver.so
++ODBCHEADERS = dbdrivers/odbc/cc/odbc_driver.H
++
++PERLMATCH = perlmatch.xwam
++PERLSUBMODULES = perlmatch/plmchconfig.xwam perlmatch/plmchshell.xwam
++PERLARCHMODULES = $(config_libdir)/xsbpattern.xwam
++PERLSOLIBS = $(config_libdir)/xsbpattern.so
++PERLHEADERS = perlmatch/cc/xsbpattern.H
++
++XPATH = xpath.xwam
++XPATHSUBMODULES = xpath/xpath_init.xwam xpath/xpathconfig.xwam
++XPATHARCHMODULES = $(config_libdir)/xpathparser.xwam
++XPATHSOLIBS = $(config_libdir)/xpathparser.so
++XPATHHEADERS = xpath/cc/xpathparser.H
+
+-Option = [optimize]
++Option = [optimize,quit_on_error]
+
+ #-----------------------------------------------------------------------#
+ #
+@@ -51,20 +97,28 @@
+
+
+ # continue to the next when one error occurs
+-.IGNORE:
++#.IGNORE:
+
+ # suffix rules
+ .SUFFIXES: .P ${OBJEXT} .H
+
+ .P${OBJEXT}:
+- echo 'mc($*, $(Option)).' >> cmd...
+-
++ echo 'mc($*, $(Option)). [$*].' >> cmd...
+
+ all: init $(ALL) finish $(SUBDIR)
+ @../build/touch.sh cmd...
+ $(Prolog) < cmd...
+ @rm cmd...
+ @cat $(SVFILE)
++ @for f in $(ARCHMODULES) $(SOLIBS) $(SUBMODULES) $(HEADERS); do \
++ if [ ! -f $$f ]; then echo "$$f not build"; exit 1; fi; \
++ done
++
++dbdrivers/mysql.xwam: dbdrivers/mysql.P
++ echo 'mc($*, $(Option)). [dbdrivers], [mysql].' >> cmd...
++
++dbdrivers/odbc.xwam: dbdrivers/odbc.P
++ echo 'mc($*, $(Option)). [dbdrivers], [odbc].' >> cmd...
+
+ # clpqr::
+ # @echo ""
+@@ -82,13 +136,61 @@
+ @echo ""
+ cd iprolog; make
+
+-libwww::
+- @echo ""
+- cd libwww; make
++dbdrivers: init $(DBDRIVERS) finish
++ @../build/touch.sh cmd...
++ $(Prolog) < cmd...
++ @rm cmd...
++ @cat $(SVFILE)
++ @for f in $(DBDRIVERSARCHMODULES) $(DBDRIVERSSOLIBS) $(DBDRIVERSSUBMODULES) $(DBDRIVERSHEADERS); do \
++ if [ ! -f $$f ]; then echo "$$f not build"; exit 1; fi; \
++ done
+
+-perlmatch::
+- @echo ""
+- cd perlmatch; make
++libwww: init $(LIBWWW) finish
++ @../build/touch.sh cmd...
++ $(Prolog) < cmd...
++ @rm cmd...
++ @cat $(SVFILE)
++ @for f in $(LIBWWWARCHMODULES) $(LIBWWWSOLIBS) $(LIBWWWSUBMODULES) $(LIBWWWHEADERS); do \
++ if [ ! -f $$f ]; then echo "$$f not build"; exit 1; fi; \
++ done
++
++mysql: dbdrivers init $(MYSQL) finish
++ @cp ../config/*/lib/driver_manager.so ./
++ @../build/touch.sh cmd...
++ $(Prolog) < cmd...
++ @rm cmd...
++ @cat $(SVFILE)
++ @for f in $(MYSQL) $(MYSQLARCHMODULES) $(MYSQLSOLIBS) $(MYSQLSUBMODULES) $(MYSQLHEADERS); do \
++ if [ ! -f $$f ]; then echo "$$f not build"; exit 1; fi; \
++ done
++
++odbc: dbdrivers init $(ODBC) finish
++ @cp ../config/*/lib/driver_manager.so ./
++ @../build/touch.sh cmd...
++ $(Prolog) < cmd...
++ @rm cmd...
++ @cat $(SVFILE)
++ @for f in $(ODBC) $(ODBCARCHMODULES) $(ODBCSOLIBS) $(ODBCSUBMODULES) $(ODBCHEADERS); do \
++ if [ ! -f $$f ]; then echo "$$f not build"; exit 1; fi; \
++ done
++
++perlmatch: init $(PERLMATCH) finish
++ @../build/touch.sh cmd...
++ $(Prolog) < cmd...
++ @rm cmd...
++ @cat $(SVFILE)
++ @for f in $(PERLARCHMODULES) $(PERLSOLIBS) $(PERLSUBMODULES) $(PERLHEADERS); do \
++ if [ ! -f $$f ]; then echo "$$f not build"; exit 1; fi; \
++ done
++
++xpath: init $(XPATH) finish
++ @../build/touch.sh cmd...
++ $(Prolog) < cmd...
++ @rm cmd...
++ @cat $(SVFILE)
++ @for f in $(XPATHARCHMODULES) $(XPATHSOLIBS) $(XPATHSUBMODULES) $(XPATHHEADERS); do \
++ if [ ! -f $$f ]; then echo "$$f not build"; exit 1; fi; \
++ done
+
+ xasp::
+ @echo ""
diff --git a/dev-lang/xsb/files/xsb-3.1-portage.patch b/dev-lang/xsb/files/xsb-3.1-portage.patch
new file mode 100644
index 000000000000..5b9c4a1bb78b
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-portage.patch
@@ -0,0 +1,181 @@
+diff -ur XSB.orig/build/emuMakefile.in XSB/build/emuMakefile.in
+--- XSB.orig/build/emuMakefile.in 2007-08-23 07:21:23.000000000 +1200
++++ XSB/build/emuMakefile.in 2007-11-24 18:28:13.000000000 +1300
+@@ -42,6 +42,7 @@
+ LDFLAGS=@LDFLAGS@
+ ODBCSRC=@ODBCSRC@
+ ODBCOBJ=@ODBCOBJ@
++ODBC_CFLAGS=@ODBC_CFLAGS@
+ INTERPROLOGSRC=@INTERPROLOGSRC@
+ INTERPROLOGOBJ=@INTERPROLOGOBJ@
+ DLLTYPE=@DLLTYPE@
+@@ -242,26 +243,31 @@
+ @cp dynload.o $(arch_config_objlibdir) 2> /dev/null || echo ""
+
+ emuloop.o: emuloop.c
+- @echo -e "\t[$(CC)] emuloop.c using $(emuloopCFLAGS)"
++ @echo -e "\t[$(CC)] emuloop.c"
+ @$(CC) -I$(arch_config_prefix) -c $(emuloopCFLAGS) emuloop.c
+ @cp emuloop.o $(arch_config_objlibdir) 2> /dev/null || echo ""
+
+ # Higher optimization level has problem with some versions of gcc
+ tr_utils.o: tr_utils.c
+- @echo -e "\t[$(CC)] tr_utils.c using $(trutilsCFLAGS)"
++ @echo -e "\t[$(CC)] tr_utils.c"
+ @$(CC) -I$(arch_config_prefix) -c $(trutilsCFLAGS) tr_utils.c
+ @cp tr_utils.o $(arch_config_objlibdir) 2> /dev/null || echo ""
+
+ builtin.o: builtin.c
+- @echo -e "\t[$(CC)] builtin.c using $(builtinsCFLAGS)"
++ @echo -e "\t[$(CC)] builtin.c"
+ @$(CC) -I$(arch_config_prefix) -c $(builtinsCFLAGS) builtin.c
+ @cp builtin.o $(arch_config_objlibdir) 2> /dev/null || echo ""
+
+ loader_xsb.o: loader_xsb.c
+- @echo -e "\t[$(CC)] loader_xsb.c using $(loaderCFLAGS)"
++ @echo -e "\t[$(CC)] loader_xsb.c"
+ @$(CC) -I$(arch_config_prefix) -c $(loaderCFLAGS) loader_xsb.c
+ @cp loader_xsb.o $(arch_config_objlibdir) 2> /dev/null || echo ""
+
++odbc_xsb.o: odbc_xsb.c
++ @echo -e "\t[$(CC)] odbc_xsb.c"
++ @$(CC) -I$(arch_config_prefix) -c $(ODBC_CFLAGS) $(CFLAGS) odbc_xsb.c
++ @cp odbc_xsb.o $(arch_config_objlibdir) 2> /dev/null || echo ""
++
+ .c.o:
+ @echo -e "\t[$(CC)] $*.c"
+ @$(CC) -I$(arch_config_prefix) -c $(CFLAGS) $*.c
+diff -ur XSB.orig/build/topMakefile.in XSB/build/topMakefile.in
+--- XSB.orig/build/topMakefile.in 2007-07-14 06:30:58.000000000 +1200
++++ XSB/build/topMakefile.in 2007-11-24 18:32:48.000000000 +1300
+@@ -72,7 +72,7 @@
+ # Everything is placed in subdirectories of this directory.
+ # The values for many of the variables below are expressed
+ # in terms of this one, so you do not need to change them.
+-prefix=@prefix@
++prefix=$(DESTDIR)/usr/lib/xsb
+
+ srcdir=@topdir@
+ VPATH=$(srcdir)
+@@ -101,7 +101,7 @@
+
+ # Like `prefix', but used for architecture-specific files.
+ src_config_prefix=@arch_config_prefix@
+-install_config_prefix=@arch_install_config_prefix@
++install_config_prefix=$(DESTDIR)@arch_install_config_prefix@
+ # we copy the xsb.o module here
+ install_config_objlibdir=$(install_config_prefix)/saved.o
+
+@@ -150,7 +150,7 @@
+ emumake_goal=@emumake_goal@
+
+ # Normal user
+-all: prepare emulator xsbmod xsbdll gpp_exe remake_dot_O_files register emu_clean
++all: prepare emulator xsbmod gpp_exe remake_dot_O_files
+
+ # Developer who just checked out or updated CVS copy
+ devel: prepare emulator xsbmod xsbdll gpp_exe remake_dot_O_files emu_clean
+@@ -179,29 +179,22 @@
+ tee -a Installation_summary
+ prepare:
+ @echo ""; echo "Preparing..."
+- @cd $(src_emudir); \
+- rm -f *.o Makefile 2> /dev/null || echo "" ; \
+- ln -s ${src_config_objlibdir}/*.o . 2> /dev/null || echo "" ; \
+- ln -s ${src_config_prefix}/emuMakefile ./Makefile
+- @cd $(srcdir)/gpp; \
+- rm -f *.o Makefile ; \
+- ln -s ${src_config_prefix}/gppMakefile ./Makefile
+- @rm -f $(srcdir)/build/.*.tmp
++ @(test -d $(src_bindir) || mkdir $(src_bindir))
++ @(test -d $(src_config_objlibdir) || mkdir $(src_config_objlibdir))
+
+-emulator: ${src_config_prefix}/xsb_config.h ${src_config_prefix}/xsb_debug.h
++emulator: ${src_config_prefix}/xsb_config.h ${src_config_prefix}/xsb_debug.h prepare
+ @echo ""; echo "Making emulator..." ; \
+ cd ${src_emudir} ; \
+- makedepend || echo "" ; \
+ rm -f $(srcdir)/build/.xsb_build_failed; \
+- (make EXECUTABLE="$(EXECUTABLE)" $(emumake_goal) || \
++ ($(MAKE) EXECUTABLE="$(EXECUTABLE)" $(emumake_goal) || \
+ $(srcdir)/build/touch.sh $(srcdir)/build/.xsb_build_failed) \
+ 2>&1 | tee -a ../build/Installation_summary; \
+ (test ! -f $(srcdir)/build/.xsb_build_failed || \
+ (rm -f $(srcdir)/build/.xsb_build_failed; exit 1))
+
+-gpp_exe:
++gpp_exe: xsbmod
+ @echo ""; echo "Making gpp"
+- @cd $(srcdir)/gpp; make 2>&1 | tee -a ../build/Installation_summary
++ @cd $(srcdir)/gpp; $(MAKE) 2>&1 | tee -a ../build/Installation_summary
+
+ # Compiling the interface with SMODELS.
+ xasp:
+@@ -222,10 +215,10 @@
+
+ # if supporting Oracle, then emumake_goal=xsbora; else emumake_goal=xsb
+ # This invokes xsboramod and xsbmod goals in emuMakefile, respectively
+-xsbmod: ${src_config_prefix}/xsb_config.h ${src_config_prefix}/xsb_debug.h
++xsbmod: ${src_config_prefix}/xsb_config.h ${src_config_prefix}/xsb_debug.h emulator
+ @echo ""; echo "Making XSB module..."
+ @cd ${src_emudir}; \
+- make $(emumake_goal)mod
++ $(MAKE) $(emumake_goal)mod
+
+ xsbdynmod: ${src_config_prefix}/xsb_config.h ${src_config_prefix}/xsb_debug.h
+ @cd ${src_emudir}; \
+@@ -270,7 +263,7 @@
+ @./register.sh
+
+
+-install:: make_directories copy_files configure_packages_install
++install:: make_directories copy_files
+
+ make_directories::
+ @echo "Verifying that installtion directories exist..."
+@@ -300,11 +293,6 @@
+ mkdir -p "${install_scriptdir}" ) && \
+ echo "ok" || \
+ (echo "FAILED"; echo "+++Can't create ${install_scriptdir}" >> .missingdirs.tmp)
+- @echo -n "Directory: ${install_builddir}..."
+- @(test -d "${install_builddir}" || \
+- mkdir -p "${install_builddir}" ) && \
+- echo "ok" || \
+- (echo "FAILED"; echo "+++Can't create ${install_builddir}" >> .missingdirs.tmp)
+ @echo -n "Directory: ${install_bindir}..."
+ @(test -d "${install_bindir}" || \
+ mkdir -p "${install_bindir}" ) && \
+@@ -361,10 +344,6 @@
+ cp -f ${src_scriptdir}/xsb${config_tag} \
+ ${install_scriptdir}/xsb${config_tag}; \
+ chmod 755 ${install_scriptdir}/* ${install_bindir}/* ; \
+- cp -f ${srcdir}/build/config.sub \
+- ${srcdir}/build/config.guess \
+- ${prefix}/build; \
+- chmod 755 ${prefix}/build/* ; \
+ echo "Copying config..." ; \
+ cp -f ${src_config_libdir}/xsb_configuration.* \
+ ${install_config_libdir} ; \
+@@ -400,11 +379,6 @@
+ cp -f ${src_cmplibdir}/*$(xsb_obj_extension) ${install_cmplibdir} ; \
+ chmod 644 ${install_cmplibdir}/*$(xsb_obj_extension) ; \
+ ./copysubdirs.sh ${src_cmplibdir} ${install_cmplibdir} ; \
+- echo "Copying packages..."; \
+- cp -f ${src_pkgdir}/*$(xsb_obj_extension) ${install_pkgdir}; \
+- cp -f ${src_pkgdir}/*.P ${install_pkgdir}; \
+- ./touch.sh ${install_pkgdir}/*$(xsb_obj_extension); \
+- ./copysubdirs.sh ${src_pkgdir} ${install_pkgdir} ; \
+ echo "Copying etc..."; \
+ cp -fr ${src_etcdir}/* ${install_etcdir}; \
+ echo "Copying examples..."; \
+@@ -420,8 +394,8 @@
+ @./pkg_config.sh $(install_scriptdir)/xsb$(config_tag) ; \
+ chmod 644 $(install_config_libdir)/xsb_configuration$(xsb_obj_extension)
+
+-remake_dot_O_files:
+- @cd $(srcdir); make XSB=$(src_scriptdir)/xsb$(config_tag)
++remake_dot_O_files: gpp_exe
++ @cd $(srcdir); $(MAKE) XSB=$(src_scriptdir)/xsb$(config_tag)
+
+ remake_dot_O_files_force:
+ @cd $(srcdir); make force XSB=$(src_scriptdir)/xsb$(config_tag)
diff --git a/dev-lang/xsb/files/xsb-3.1-varstring.patch b/dev-lang/xsb/files/xsb-3.1-varstring.patch
new file mode 100644
index 000000000000..958175739d46
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-varstring.patch
@@ -0,0 +1,20 @@
+--- XSB.orig/emu/varstring_xsb.h 2005-07-08 06:59:43.000000000 +1200
++++ XSB/emu/varstring_xsb.h 2007-11-25 08:28:36.000000000 +1300
+@@ -40,7 +40,7 @@
+ void (*appendc)(VarString*,char); /* append char to VarString */
+ void (*prependv)(VarString*,VarString*); /* prepend 2nd VarString to 1st */
+ int (*compare)(VarString*,VarString*); /* like strcmp for VarStrings */
+- int (*strcmp)(VarString*,char*); /* compare VarString to a char* */
++ int (*str_cmp)(VarString*,char*); /* compare VarString to a char* */
+
+ /* append block of N chars; don't NULL-terminate */
+ void (*appendblk)(VarString*,char*,int);
+@@ -84,7 +84,7 @@
+ #define XSB_StrAppendC(vstr,code) (vstr)->op->appendc(vstr,code)
+ #define XSB_StrPrependV(vstr1,vstr2) (vstr)->op->prependv(vstr1,vstr2)
+ #define XSB_StrCompare(vstr1,vstr2) (vstr1)->op->compare(vstr1,vstr2)
+-#define XSB_StrCmp(vstr,str) (vstr)->op->strcmp(vstr,str)
++#define XSB_StrCmp(vstr,str) (vstr)->op->str_cmp(vstr,str)
+ #define XSB_StrAppendBlk(vstr,blk,sz) (vstr)->op->appendblk(vstr,blk,sz)
+ #define XSB_StrPrependBlk(vstr,blk,sz) (vstr)->op->prependblk(vstr,blk,sz)
+ #define XSB_StrNullTerminate(vstr) (vstr)->op->null_terminate(vstr)
diff --git a/dev-lang/xsb/files/xsb-3.1-xpath.patch b/dev-lang/xsb/files/xsb-3.1-xpath.patch
new file mode 100644
index 000000000000..a05b61d97bdb
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-xpath.patch
@@ -0,0 +1,21 @@
+--- XSB.orig/packages/xpath/configure 2005-03-06 13:29:02.000000000 +1300
++++ XSB/packages/xpath/configure 2007-11-25 08:59:32.000000000 +1300
+@@ -592,6 +592,7 @@
+ ccflags=
+ ldflags=
+
++if test false ; then
+ case "$canonical" in
+ *-cygwin*)
+ pkg_src_dir=$build_dir/cc
+@@ -614,6 +615,10 @@
+ ldflags="`sh $xpath_config_prog $exec_prefix_option $prefix_option --libs`"
+ ;;
+ esac
++fi
++
++xmllib_ccflags=`xml2-config --cflags`
++ldflags=`xml2-config --libs`
+
+ ccflags="$xmllib_ccflags"
+ if test "$xmllib_ccflags" != "ERROR" && test "$ldflags" != "ERROR" ; then
diff --git a/dev-lang/xsb/files/xsb-3.1-xsb-script.patch b/dev-lang/xsb/files/xsb-3.1-xsb-script.patch
new file mode 100644
index 000000000000..825348c6e565
--- /dev/null
+++ b/dev-lang/xsb/files/xsb-3.1-xsb-script.patch
@@ -0,0 +1,44 @@
+--- XSB.orig/build/xsb.in 2007-08-30 05:50:40.000000000 +1200
++++ XSB/build/xsb.in 2007-11-25 17:45:41.000000000 +1300
+@@ -47,7 +47,7 @@
+
+ # if we've a symbolic link, then extract the full path of the target
+ if test -h $invocation_name ; then
+- invocation_name=`dirname $invocation_name`"/"`stat -f %Y $invocation_name`
++ invocation_name=`readlink $invocation_name`
+ fi
+
+ case $invocation_name in
+@@ -72,9 +72,7 @@
+ scriptdir=`dirname $thisfile`
+ topdir=`dirname $scriptdir`
+
+-config=`$topdir/build/config.guess`
+-canonical=`$topdir/build/config.sub $config`
+-exec_dir=$topdir/config/${canonical}${suffix}
++exec_dir=$topdir/config/@full_config_name@
+ executable=${exec_dir}/bin/xsb
+
+ # The purpose of this complex thing is to make sure that arguments
+@@ -95,18 +93,18 @@
+ fi
+
+ if test -x "$executable" ; then
+- eval "exec @CROSS_SIMULATOR@ $executable $xsb_cmd"
++ LD_LIBRARY_PATH=${exec_dir}/lib eval "exec @CROSS_SIMULATOR@ $executable $xsb_cmd"
+ else
+ echo "${executable}: "
+ echo " file doesn't exist or is not executable"
+ echo ""
+ echo "XSB might not have have been compiled for the following machine configuration:"
+- echo " " ${canonical}${suffix}
++ echo " " @full_config_name@
+ echo "***This installation seems to have the following configurations available:"
+ # First drop files that don't have "-".
+ # Then drop the configuration that we just said doesn't exist.
+ ls -1 $topdir/config | egrep "-" \
+- | egrep -v "^${canonical}${suffix}\$" 2> /dev/null
++ | egrep -v "^@full_config_name@\$" 2> /dev/null
+ echo "***configuration list end"
+ echo ""
+ echo "One other frequent problem: you might be over your disk quota,"
diff --git a/dev-lang/xsb/xsb-3.1.ebuild b/dev-lang/xsb/xsb-3.1.ebuild
new file mode 100644
index 000000000000..d855d26d06bc
--- /dev/null
+++ b/dev-lang/xsb/xsb-3.1.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/xsb/xsb-3.1.ebuild,v 1.1 2007/11/25 05:09:31 keri Exp $
+
+MY_PN="XSB"
+MY_P="${MY_PN}-unix"
+
+inherit eutils 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/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="debug iodbc java libwww mysql odbc perl threads xml"
+
+DEPEND="iodbc? ( dev-db/libiodbc )
+ java? ( >=virtual/jdk-1.4 )
+ libwww? ( net-libs/libwww )
+ mysql? ( virtual/mysql )
+ odbc? ( dev-db/unixODBC )
+ perl? ( dev-lang/perl )
+ xml? ( dev-libs/libxml2 )"
+
+S="${WORKDIR}"/${MY_PN}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-configure.patch
+ epatch "${FILESDIR}"/${P}-portage.patch
+ epatch "${FILESDIR}"/${P}-varstring.patch
+ epatch "${FILESDIR}"/${P}-orient.patch
+ epatch "${FILESDIR}"/${P}-xsb-script.patch
+ epatch "${FILESDIR}"/${P}-nostrip.patch
+ epatch "${FILESDIR}"/${P}-packages.patch
+ epatch "${FILESDIR}"/${P}-chr_d.patch
+ epatch "${FILESDIR}"/${P}-gap.patch
+ epatch "${FILESDIR}"/${P}-justify.patch
+ epatch "${FILESDIR}"/${P}-mysql.patch
+ epatch "${FILESDIR}"/${P}-odbc.patch
+ epatch "${FILESDIR}"/${P}-xpath.patch
+}
+
+src_compile() {
+ cd "${S}"/build
+ eautoconf
+
+ einfo "Building xsb compiler"
+ econf \
+ --disable-optimization \
+ --without-smodels \
+ --with-config-tag="" \
+ $(use_with threads mt) \
+ $(use_with perl) \
+ $(use_with odbc) \
+ $(use_with iodbc) \
+ $(use_enable java interprolog) \
+ $(use_enable debug) \
+ $(use_enable debug debug-verbose) \
+ $(use_enable debug profile) \
+ || die "econf failed"
+ emake -j1 || die "emake failed"
+
+ einfo "Building xsb packages"
+
+ if use libwww ; then
+ cd "${S}"/packages/libwww
+ econf --with-libwww=/usr || die "econf libwww package failed"
+ fi
+
+ if use mysql ; then
+ cd "${S}"/packages/dbdrivers/mysql
+ econf || die "econf mysql package failed"
+ fi
+
+ if use odbc ; then
+ cd "${S}"/packages/dbdrivers/odbc
+ econf || die "econf odbc package failed"
+ fi
+
+ if use xml ; then
+ cd "${S}"/packages/xpath
+ econf || die "econf xpath package failed"
+ fi
+
+ cd "${S}"/packages
+ rm -rf *.xwam
+ emake -j1 || die "emake packages failed"
+
+ if use libwww ; then
+ emake -j1 libwww || die "emake libwww package failed"
+ 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 perl ; then
+ emake -j1 perlmatch || die "emake perlmatch package failed"
+ fi
+
+ if use xml ; then
+ emake -j1 xpath || die "emake xpath package failed"
+ fi
+}
+
+src_install() {
+ cd "${S}"/build
+ make DESTDIR="${D}" install || die
+
+ dosym /usr/lib/xsb/bin/xsb /usr/bin/xsb
+
+ cd "${S}"/packages
+ local PACKAGES=/usr/lib/xsb/packages
+ insinto ${PACKAGES}
+ doins *.xwam
+
+ insinto ${PACKAGES}/chr
+ doins chr/*.xwam
+
+ insinto ${PACKAGES}/chr_d
+ doins chr_d/*.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}/sgml
+ doins sgml/*.xwam
+ insinto ${PACKAGES}/sgml/cc
+ doins sgml/cc/*.H
+ insinto ${PACKAGES}/sgml/cc/dtd
+ doins sgml/cc/dtd/*
+
+ insinto ${PACKAGES}/slx
+ doins slx/*.xwam
+
+ insinto ${PACKAGES}/wildmatch
+ doins wildmatch/*.xwam
+ insinto ${PACKAGES}/wildmatch/cc
+ doins wildmatch/cc/*.H
+
+ if use libwww ; then
+ insinto ${PACKAGES}/libwww
+ doins libwww/*.xwam
+ insinto ${PACKAGES}/libwww/cc
+ doins libwww/cc/*.H
+ fi
+
+ if use mysql || use odbc ; then
+ insinto ${PACKAGES}/dbdrivers
+ doins dbdrivers/*.xwam
+ doins dbdrivers/*.H
+ insinto ${PACKAGES}/dbdrivers/cc
+ doins dbdrivers/cc/*.H
+ if use mysql ; 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 perl ; then
+ insinto ${PACKAGES}/perlmatch
+ doins perlmatch/*.xwam
+ insinto ${PACKAGES}/perlmatch/cc
+ doins perlmatch/cc/*.H
+ fi
+
+ if use xml ; then
+ insinto ${PACKAGES}/xpath
+ doins xpath/*xwam
+ insinto ${PACKAGES}/xpath/cc
+ doins xpath/cc/*.H
+ fi
+
+ cd "${S}"
+ dodoc FAQ README
+}