# ChangeLog for dev-lang/qu-prolog
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/qu-prolog/ChangeLog,v 1.11 2006/08/06 04:14:48 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/qu-prolog/ChangeLog,v 1.12 2006/08/06 09:35:16 keri Exp $
+
+*qu-prolog-7.4 (06 Aug 2006)
+
+ 06 Aug 2006; Keri Harris <keri@gentoo.org>
+ +files/qu-prolog-7.4-configure.patch, +files/qu-prolog-7.4-debug.patch,
+ +files/qu-prolog-7.4-gcc4.patch, +files/qu-prolog-7.4-portage.patch,
+ +files/qu-prolog-7.4-qt4.patch, +qu-prolog-7.4.ebuild:
+ Version bump.
06 Aug 2006; Keri Harris <keri@gentoo.org> qu-prolog-7.2-r1.ebuild:
Prefer qt4 over qt3 if both USE flags are set.
MD5 05aa28061bd66f1d7c65504f78fe3043 files/qu-prolog-7.2-qt4.patch 10548
RMD160 68741725964290fd00b77d4647847b1309c062bc files/qu-prolog-7.2-qt4.patch 10548
SHA256 0c276d09c0e35b99f6ae9a365baf187ba0f05b7863f4fd6f0472d31e9d43af17 files/qu-prolog-7.2-qt4.patch 10548
+AUX qu-prolog-7.4-configure.patch 961 RMD160 657dfd89fde54a78a11c7044894f262ecb6f8bc1 SHA1 6bfbb54b3716df1eec7565cf9694ba6e528c1d3e SHA256 35708fa34c7ab54e3853796194fad00779e14dc196aa60e7146f0ef0fdb20398
+MD5 7f83674f7d1fc65758bd42cad08edbd1 files/qu-prolog-7.4-configure.patch 961
+RMD160 657dfd89fde54a78a11c7044894f262ecb6f8bc1 files/qu-prolog-7.4-configure.patch 961
+SHA256 35708fa34c7ab54e3853796194fad00779e14dc196aa60e7146f0ef0fdb20398 files/qu-prolog-7.4-configure.patch 961
+AUX qu-prolog-7.4-debug.patch 1388 RMD160 fc0900bc6e494810ad4dbea6a1927c19941535ce SHA1 7976a89ae3cc54d6e5ee515e193efdc421a9e195 SHA256 65e51651c98cf797156d52a7eb751559776a322e681e554efa1627cf1279666d
+MD5 ea4a900dac8abd94aca541634a7e7bdd files/qu-prolog-7.4-debug.patch 1388
+RMD160 fc0900bc6e494810ad4dbea6a1927c19941535ce files/qu-prolog-7.4-debug.patch 1388
+SHA256 65e51651c98cf797156d52a7eb751559776a322e681e554efa1627cf1279666d files/qu-prolog-7.4-debug.patch 1388
+AUX qu-prolog-7.4-gcc4.patch 3043 RMD160 74d1fca8fc08126e060cf53340678fe665607d8f SHA1 4e966b059a00513eee796e93f309149c9a053a09 SHA256 85dee47086c04ac9daba4be818ebc42fc95e315c181cc5c42234ab19ecc68b73
+MD5 d80b53a99205a38cfe4686ec0f3b781f files/qu-prolog-7.4-gcc4.patch 3043
+RMD160 74d1fca8fc08126e060cf53340678fe665607d8f files/qu-prolog-7.4-gcc4.patch 3043
+SHA256 85dee47086c04ac9daba4be818ebc42fc95e315c181cc5c42234ab19ecc68b73 files/qu-prolog-7.4-gcc4.patch 3043
+AUX qu-prolog-7.4-portage.patch 6471 RMD160 d137917bfa7e948efe11e730cba165ed99bba3a3 SHA1 3c3ab633adab0fdd77449877181edb76722e8e87 SHA256 7409d266ac68259a4f48286fb07d98b2db0e28ee0b14c2c6522407c502721706
+MD5 71f7adefc248a81bd08767176507519e files/qu-prolog-7.4-portage.patch 6471
+RMD160 d137917bfa7e948efe11e730cba165ed99bba3a3 files/qu-prolog-7.4-portage.patch 6471
+SHA256 7409d266ac68259a4f48286fb07d98b2db0e28ee0b14c2c6522407c502721706 files/qu-prolog-7.4-portage.patch 6471
+AUX qu-prolog-7.4-qt4.patch 10548 RMD160 68741725964290fd00b77d4647847b1309c062bc SHA1 de89744b70a276db89031596cffae94244da676f SHA256 0c276d09c0e35b99f6ae9a365baf187ba0f05b7863f4fd6f0472d31e9d43af17
+MD5 05aa28061bd66f1d7c65504f78fe3043 files/qu-prolog-7.4-qt4.patch 10548
+RMD160 68741725964290fd00b77d4647847b1309c062bc files/qu-prolog-7.4-qt4.patch 10548
+SHA256 0c276d09c0e35b99f6ae9a365baf187ba0f05b7863f4fd6f0472d31e9d43af17 files/qu-prolog-7.4-qt4.patch 10548
DIST qp7.1.tar.gz 1275135 RMD160 7fe112ea31f9d7675dcffd67219a4fad7a2bf82a SHA1 974b58ea446a4a5aeaf39dac722a39f6ab74f1e2 SHA256 9fee14ca3284f466c502437f4050f3def1390304644a020c1fe12bf809c523cb
DIST qp7.2.tar.gz 1278184 RMD160 aa4c902b2804d727b1886e9d3da405e0fffbe819 SHA1 3578ecb2ab98cd2ad8a1c1921cb430e2058f6678 SHA256 49fdd81fb6aa31c29038671a347cfae9de0371ba8663e2d978cb7c8d1fc21aa9
+DIST qp7.4.tar.gz 1262813 RMD160 8be3c953d6f74878366183b99f84dbcb089c6e08 SHA1 a1a938088dd214e12585abc290ffedd49d7bcd56 SHA256 301b8a3344f4286c2800a13753f2a2d9e73bd3ce58c8a1211bcede365dc96de1
EBUILD qu-prolog-7.1.ebuild 1745 RMD160 bb605a8ba2517b46c2ee094d4b254685a04ccf23 SHA1 94bc8c0b19841306f57d1532ad4ac1575b161069 SHA256 f8ee194b27b848341e981c81227db66781bd78c1d74979a5f043a828f9d4d752
MD5 f868fbec2f43fcfe6aa150b849b17a3c qu-prolog-7.1.ebuild 1745
RMD160 bb605a8ba2517b46c2ee094d4b254685a04ccf23 qu-prolog-7.1.ebuild 1745
MD5 e35a726fb7f1bbb9557e03bb7445de8a qu-prolog-7.2.ebuild 1745
RMD160 6ebf4318d70f0e0b9df829903846754727709332 qu-prolog-7.2.ebuild 1745
SHA256 9bfcd2d7baa88108cba273fa50e9a8a34eda5636221aff547c458aa485420133 qu-prolog-7.2.ebuild 1745
-MISC ChangeLog 1837 RMD160 1d7324ce4411082e650944cf7258b8231e2048f0 SHA1 a37bab81069ddd14811576fa998019498b3d2488 SHA256 f8a4a7032032f803b814901165b0558404259d9197b1b8bf2c5918a29685f927
-MD5 3ac2e4737836d2d6b4cb2c8518fd372c ChangeLog 1837
-RMD160 1d7324ce4411082e650944cf7258b8231e2048f0 ChangeLog 1837
-SHA256 f8a4a7032032f803b814901165b0558404259d9197b1b8bf2c5918a29685f927 ChangeLog 1837
+EBUILD qu-prolog-7.4.ebuild 1926 RMD160 533fc166e2d1a39dec3e5cadc56d7e581f8f86b1 SHA1 beef3ca88400985479ccc2e423493455e411846e SHA256 5b5d8375b9fa8b6180bb7881de1fe83cb9a1f5c64c8be7af31cf3919e4c07bad
+MD5 c10101a0368849f34739a4e96170af4b qu-prolog-7.4.ebuild 1926
+RMD160 533fc166e2d1a39dec3e5cadc56d7e581f8f86b1 qu-prolog-7.4.ebuild 1926
+SHA256 5b5d8375b9fa8b6180bb7881de1fe83cb9a1f5c64c8be7af31cf3919e4c07bad qu-prolog-7.4.ebuild 1926
+MISC ChangeLog 2131 RMD160 1addd17aabe87b74b8e81d7133f32656b48b3c0b SHA1 3fb38939de87e4ecad703dd8930f82785b169e2a SHA256 f91dbb9304422b49b900aacc13e6f504fdd9364fafb3e56eefe06b7da4ee2e3a
+MD5 2b41fe5a8e879dd3b1f784b4978f524b ChangeLog 2131
+RMD160 1addd17aabe87b74b8e81d7133f32656b48b3c0b ChangeLog 2131
+SHA256 f91dbb9304422b49b900aacc13e6f504fdd9364fafb3e56eefe06b7da4ee2e3a ChangeLog 2131
MISC metadata.xml 159 RMD160 38d27fd1c5faabedefa5507dfd83cb4c952fbc8c SHA1 52b92682cf41e53e71bf432537a16215bd9546b1 SHA256 851bf218a4283a1d8ea6ef98af0119a40eaa78bfaaec49c2f3440437f52889ba
MD5 9187f53634e60ab7eb2ac7e98b0b19f7 metadata.xml 159
RMD160 38d27fd1c5faabedefa5507dfd83cb4c952fbc8c metadata.xml 159
MD5 e31aa744ae84c71d73817369c173db21 files/digest-qu-prolog-7.2-r1 220
RMD160 8339fea44e54a0f86d02d71244d527069b776f8f files/digest-qu-prolog-7.2-r1 220
SHA256 4bb5e3a2a13062e2baac92791d74495507361b6dcde31f344932cf6c538c5446 files/digest-qu-prolog-7.2-r1 220
+MD5 5d252b31b22ced55e2a09a6ff7148c56 files/digest-qu-prolog-7.4 220
+RMD160 ebeea75dc182124bf7ce9cdc62011ef4ed11e933 files/digest-qu-prolog-7.4 220
+SHA256 c923bbcb6bc537844857b9e88104561b8250c222b44173a611720266e050533f files/digest-qu-prolog-7.4 220
--- /dev/null
+MD5 379990ae86485a3b8b4a5233bc1fd0c1 qp7.4.tar.gz 1262813
+RMD160 8be3c953d6f74878366183b99f84dbcb089c6e08 qp7.4.tar.gz 1262813
+SHA256 301b8a3344f4286c2800a13753f2a2d9e73bd3ce58c8a1211bcede365dc96de1 qp7.4.tar.gz 1262813
--- /dev/null
+--- qp7.4.orig/configure 2006-07-27 16:27:35.000000000 +1200
++++ qp7.4/configure 2006-08-06 20:33:00.000000000 +1200
+@@ -1338,7 +1338,7 @@
+ # Check whether --enable-debug or --disable-debug was given.
+ if test "${enable_debug+set}" = set; then
+ enableval="$enable_debug"
+- DEBUGGING=
++ DEBUGGING="-DDEBUG_BLOCK -DDEBUG_IO -DDEBUG_MT -DDEBUG_RETRY -DDEBUG_SCHED -DDEBUG_TIMEOUT"
+ fi;
+
+
+@@ -1355,9 +1355,6 @@
+ #define MULTIPLE_THREADS 1
+ _ACEOF
+
+-else
+- { echo "$as_me:$LINENO: WARNING: Configuring for single Prolog thread per process" >&5
+-echo "$as_me: WARNING: Configuring for single Prolog thread per process" >&2;}
+ fi
+
+ ac_ext=cc
+@@ -3369,6 +3366,8 @@
+
+ fi
+
++if false; then
++
+ # Extract the first word of "perl", so it can be a program name with args.
+ set dummy perl; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+@@ -3545,6 +3544,8 @@
+
+ fi
+
++fi
++
+ GCCINCLUDES=
+
+ # Check whether --with-gcclib or --without-gcclib was given.
--- /dev/null
+--- qp7.2.orig/src/io.cc 2006-04-06 14:14:01.000000000 +1200
++++ qp7.2/src/io.cc 2006-05-27 11:33:54.000000000 +1200
+@@ -941,8 +941,7 @@
+ }
+
+ #ifdef DEBUG_IO
+- cerr.form("%s result = %ld FD_ISSET(%ld, ...) = %ld\n",
+- __FUNCTION__, result, fd, FD_ISSET(fd, &fds));
++ cerr << __FUNCTION__ << " result = " << result << "FD_ISSET(" << fd << ", ...) = " << FD_ISSET(fd, &fds) << endl;
+ #endif
+ #ifdef WIN32
+ if (result == 0 || result == 128)
+--- qp7.2.orig/src/thread_escapes.cc 2006-04-06 14:14:02.000000000 +1200
++++ qp7.2/src/thread_escapes.cc 2006-05-27 11:30:01.000000000 +1200
+@@ -220,8 +220,7 @@
+ thread_table->IncLive();
+
+ #ifdef DEBUG_MT
+- printf("%s Thread %ld, %ld now live\n",
+- __FUNCTION__, thread->TInfo().ID(), thread_table->Live());
++ cout << __FUNCTION__ << " Thread " << thread->TInfo().ID() << ", " << thread_table->Live() << " now live" << endl;
+ // heap.DisplayTerm(cerr, *atoms, argG);
+ #endif
+
+@@ -544,7 +543,7 @@
+ Condition(EXITED);
+
+ #ifdef DEBUG_MT
+- cerr.form("%s %ld\n", __FUNCTION__, TInfo().ID());
++ cerr << __FUNCTION__ << " " << TInfo().ID() << endl;
+ #endif
+
+ if (TInfo().SymbolSet())
+@@ -962,7 +961,7 @@
+ thread->Condition(EXITED);
+
+ #ifdef DEBUG_MT
+- cerr.form("%s %ld\n", __FUNCTION__, thread->TInfo().ID());
++ cerr << __FUNCTION__ << " " << thread->TInfo().ID();
+ #endif
+
+ if (thread->TInfo().SymbolSet())
--- /dev/null
+diff -ur qp7.4.orig/src/arithmetic.cc qp7.4/src/arithmetic.cc
+--- qp7.4.orig/src/arithmetic.cc 2006-07-27 16:27:05.000000000 +1200
++++ qp7.4/src/arithmetic.cc 2006-08-06 16:24:01.000000000 +1200
+@@ -102,7 +102,7 @@
+
+ #define IS_ZERO(x) ((x.type == ARITH_INTEGER_TYPE) && (x.value.i == 0))
+
+-number zero = {ARITH_INTEGER_TYPE, 0};
++number zero = {ARITH_INTEGER_TYPE, {0}};
+ //
+ // arithEvaluate is an auxilary function used by arithmetical pseudo
+ //instructions to carry out the evaluation of expressions.
+diff -ur qp7.4.orig/src/bind.h qp7.4/src/bind.h
+--- qp7.4.orig/src/bind.h 2006-07-27 16:27:05.000000000 +1200
++++ qp7.4/src/bind.h 2006-08-06 16:24:01.000000000 +1200
+@@ -138,7 +138,7 @@
+ //
+ // Update and trail an implicit parameter entry
+ //
+-inline void Thread::updateAndTrailIP(heapobject* ptr, Object* value,
++inline void updateAndTrailIP(heapobject* ptr, Object* value,
+ u_int offset = 0)
+ {
+ assert(ptr != NULL);
+diff -ur qp7.4.orig/src/trace_qp.h qp7.4/src/trace_qp.h
+--- qp7.4.orig/src/trace_qp.h 2006-07-27 16:27:06.000000000 +1200
++++ qp7.4/src/trace_qp.h 2006-08-06 16:25:21.000000000 +1200
+@@ -107,8 +107,8 @@
+ void TraceConst2(AtomTable& atoms, Heap& heap, const char *s, Object* c,
+ const int32 x, const int32 y);
+
+- void Trace::TraceInt0(const char *s, const int32 n);
+- void Trace::TraceInt1(const char *s, const int32 n, const int32 x);
++ void TraceInt0(const char *s, const int32 n);
++ void TraceInt1(const char *s, const int32 n, const int32 x);
+
+ void TraceString1(const char *s, const char *t);
+ void TraceString2(const char *s, const char *t, const int32 x);
+diff -ur qp7.4.orig/src/unify.h qp7.4/src/unify.h
+--- qp7.4.orig/src/unify.h 2006-07-27 16:27:06.000000000 +1200
++++ qp7.4/src/unify.h 2006-08-06 16:24:01.000000000 +1200
+@@ -190,7 +190,7 @@
+ //
+ // Unify object variables.
+ //
+-bool Thread::unifyObjectVariables(PrologValue& objectVariable1,
++bool unifyObjectVariables(PrologValue& objectVariable1,
+ PrologValue& objectVariable2);
+
+ //
+diff -ur qp7.4.orig/src/xqp/interact.h qp7.4/src/xqp/interact.h
+--- qp7.4.orig/src/xqp/interact.h 2006-04-06 16:01:45.000000000 +1200
++++ qp7.4/src/xqp/interact.h 2006-08-06 16:24:01.000000000 +1200
+@@ -23,7 +23,7 @@
+ #include <qwidget.h>
+ #include <qtextedit.h>
+ #include <qstring.h>
+-#include <fstream.h>
++#include <fstream>
+ #include <qaccel.h>
+ #include <qregexp.h>
+ #include <qsocketnotifier.h>
+diff -ur qp7.4.orig/src/xqp/main.cc qp7.4/src/xqp/main.cc
+--- qp7.4.orig/src/xqp/main.cc 2006-04-06 16:01:45.000000000 +1200
++++ qp7.4/src/xqp/main.cc 2006-08-06 16:24:01.000000000 +1200
+@@ -19,9 +19,9 @@
+
+ #include <stdlib.h>
+ #include <stdio.h>
+-#include <iostream.h>
++#include <iostream>
+ #include <unistd.h>
+-#include <fstream.h>
++#include <fstream>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+@@ -30,6 +30,7 @@
+
+ #include "xqp.h"
+
++using namespace std;
+
+ // Create 2 sockets for unidirectional communication to and from qp
+ int socket_main_to_qp[2], socket_qp_to_main[2];
--- /dev/null
+--- qp7.2.orig/Makefile.in 2006-02-20 16:22:53.000000000 +1300
++++ qp7.2/Makefile.in 2006-03-24 23:22:43.000000000 +1200
+@@ -14,6 +14,7 @@
+ # objects.
+ #
+
++export QPHOME = @prefix@/lib/qu-prolog
+ export QPBIN = @QPHOME@/bin
+
+
+@@ -34,7 +35,6 @@
+ objects:
+ @$(MAKE) -C @QPHOME@/bin $(PARALLEL) all
+ @$(MAKE) -C @QPHOME@/src $(PARALLEL) all
+- @$(MAKE) -C @QPHOME@/src $(PARALLEL) install
+ @$(MAKE) -C @QPHOME@/prolog $(PARALLEL) all
+
+
+--- qp7.2.orig/bin/qc.in 2003-02-07 10:21:21.000000000 +1300
++++ qp7.2/bin/qc.in 2006-03-25 13:56:42.000000000 +1200
+@@ -52,24 +52,25 @@
+ #
+ # location of Qu-Prolog project
+ #
+-PATH=@QPHOME@/bin:$PATH
++QPHOME=@prefix@/lib/qu-prolog
++PATH=$QPHOME/bin:$PATH
+
+ #
+ # names of Qu-Prolog binaries
+ #
+-preprocess=@QPHOME@/bin/qppp
++preprocess=qppp
+ expand=qg
+ compile=qc1
+ compversion=qup
+ assemble=qa
+ link=ql
+-execute=@QPHOME@/bin/qem
++execute=qem
+
+ #
+ # Use the line below when dynamic search for libraries is implemented.
+ #
+ # libqofiles=""
+-libqofiles="@QPHOME@/prolog/compiler/*.qo @QPHOME@/prolog/library/*.qo"
++libqofiles="$QPHOME/compiler/*.qo $QPHOME/library/*.qo"
+
+ qlfiles=""
+ qlefiles=""
+@@ -332,18 +333,7 @@
+ absexecfile=$execfile
+ ;;
+ *)
+- currdir=`pwd`
+- case $currdir in
+- /u*)
+- abspath=`echo $currdir | sed "s,/u./$HOSTNAME/,/homes/,"`
+- ;;
+- /tmp_mnt/*)
+- abspath=`echo $currdir | sed 's,/tmp_mnt/homes/[^/]*/,/homes/,'`
+- ;;
+- *)
+- abspath=$currdir
+- ;;
+- esac
++ abspath=`pwd`
+ absexecfile=$abspath/$execfile
+ ;;
+ esac
+@@ -359,5 +349,8 @@
+
+ # make executable file
+
+-echo "exec $execute $Eoptions $lflag -Q '$savefile' \$* $*" >$execfile
++echo "QPPATH=@prefix@/bin:$QPHOME/bin" >$execfile
++echo "QPLIBPATH=$QPHOME/compiler:$QPHOME/library" >>$execfile
++echo "export QPPATH QPLIBPATH" >>$execfile
++echo "exec $execute $Eoptions $lflag -Q '$savefile' \$* $*" >>$execfile
+ chmod a+x $execfile
+--- qp7.2.orig/prolog/compiler/Makefile.in 2006-02-20 16:22:58.000000000 +1300
++++ qp7.2/prolog/compiler/Makefile.in 2006-03-24 22:54:57.000000000 +1200
+@@ -29,5 +29,5 @@
+
+
+ %.qo: %.qs
+- $(COMPILE.qc) -c -o $@ $<
++ @QPHOME@/src/qa -i $< -o $@
+
+--- qp7.2.orig/prolog/library/Makefile.in 2006-02-20 16:22:58.000000000 +1300
++++ qp7.2/prolog/library/Makefile.in 2006-03-24 23:00:08.000000000 +1200
+@@ -100,4 +100,4 @@
+
+
+ %.qo: %.qs
+- $(COMPILE.qc) -c -o $@ $<
++ @QPHOME@/src/qa -i $< -o $@
+--- qp7.2.orig/prolog/qc1/Makefile.in 2006-02-20 16:22:58.000000000 +1300
++++ qp7.2/prolog/qc1/Makefile.in 2006-03-24 23:28:45.000000000 +1200
+@@ -1,8 +1,8 @@
+ #
+ # Makefile for "qc1.qup"
+ #
+-PROGRAM = @QPHOME@/bin/qc1.qup
+-
++PROGRAM = @QPHOME@/bin/qc1
++SAVEFILE = qc1.qx
+ SOURCES = qc1.ql
+
+ BASES = $(basename $(SOURCES))
+@@ -13,8 +13,12 @@
+ all: $(PROGRAM)
+
+ $(PROGRAM): $(OBJECTS)
+- $(COMPILE.qc) -L -o $(PROGRAM) $(OBJECTS)
++ @QPHOME@/src/ql -o $(SAVEFILE) @QPHOME@/prolog/compiler/*.qo @QPHOME@/prolog/library/*.qo $(OBJECTS)
++ @echo "QPPATH=@prefix@/bin:$(QPHOME)/bin" >$(PROGRAM)
++ @echo "QPLIBPATH=$(QPHOME)/compiler:$(QPHOME)/library" >>$(PROGRAM)
++ @echo "export QPPATH QPLIBPATH" >>$(PROGRAM)
++ @echo -e "exec qem -L -Q $(QPHOME)/bin/$(SAVEFILE) \044\052" >>$(PROGRAM)
+
+ %.qo: %.qs
+- $(COMPILE.qc) -c -o $@ $<
++ @QPHOME@/src/qa -i $< -o $@
+
+--- qp7.2.orig/prolog/qecat/Makefile.in 2006-02-20 16:22:58.000000000 +1300
++++ qp7.2/prolog/qecat/Makefile.in 2006-03-25 10:49:45.000000000 +1200
+@@ -3,7 +3,7 @@
+ #
+
+ PROGRAM = $(QPBIN)/qecat
+-
++SAVEFILE = qecat.qx
+ SOURCES = qecat.ql
+
+ BASES = $(basename $(SOURCES))
+@@ -14,9 +14,13 @@
+ all: $(PROGRAM)
+
+ $(PROGRAM): $(OBJECTS)
+- $(COMPILE.qc) -L -o $(PROGRAM) $(OBJECTS)
++ @QPHOME@/src/ql -o $(SAVEFILE) @QPHOME@/prolog/compiler/*.qo @QPHOME@/prolog/library/*.qo $(OBJECTS)
++ @echo "QPPATH=@prefix@/bin:$(QPHOME)/bin" >$(PROGRAM)
++ @echo "QPLIBPATH=$(QPHOME)/compiler:$(QPHOME)/library" >>$(PROGRAM)
++ @echo "export QPPATH QPLIBPATH" >>$(PROGRAM)
++ @echo -e "exec qem -L -Q $(QPHOME)/bin/$(SAVEFILE) \044\052" >>$(PROGRAM)
+
+
+ %.qo: %.qs
+- $(COMPILE.qc) -c -o $@ $<
++ @QPHOME@/src/qa -i $< -o $@
+
+--- qp7.2.orig/prolog/qg/Makefile.in 2006-02-20 16:22:58.000000000 +1300
++++ qp7.2/prolog/qg/Makefile.in 2006-03-25 10:43:32.000000000 +1200
+@@ -3,7 +3,7 @@
+ #
+
+ PROGRAM = @QPHOME@/bin/qg
+-
++SAVEFILE = qg.qx
+ SOURCES = qg.ql
+
+ BASES = $(basename $(SOURCES))
+@@ -14,9 +14,13 @@
+ all: $(PROGRAM)
+
+ $(PROGRAM): $(OBJECTS)
+- $(COMPILE.qc) -L -o $(PROGRAM) $(OBJECTS)
++ @QPHOME@/src/ql -o $(SAVEFILE) @QPHOME@/prolog/compiler/*.qo @QPHOME@/prolog/library/*.qo $(OBJECTS)
++ @echo "QPPATH=@prefix@/bin:$(QPHOME)/bin" >$(PROGRAM)
++ @echo "QPLIBPATH=$(QPHOME)/compiler:$(QPHOME)/library" >>$(PROGRAM)
++ @echo "export QPPATH QPLIBPATH" >>$(PROGRAM)
++ @echo -e "exec qem -L -Q $(QPHOME)/bin/$(SAVEFILE) \044\052" >>$(PROGRAM)
+
+
+ %.qo: %.qs
+- $(COMPILE.qc) -c -o $@ $<
++ @QPHOME@/src/qa -i $< -o $@
+
+--- qp7.2.orig/prolog/qp/Makefile.in 2006-02-20 16:22:58.000000000 +1300
++++ qp7.2/prolog/qp/Makefile.in 2006-03-25 10:47:17.000000000 +1200
+@@ -2,7 +2,7 @@
+ # Makefile for "qp"
+ #
+ PROGRAM = @QPHOME@/bin/qp
+-
++SAVEFILE = qp.qx
+ SOURCES = qp.ql
+
+ BASES = $(basename $(SOURCES))
+@@ -13,9 +13,13 @@
+ all: $(PROGRAM)
+
+ $(PROGRAM): $(OBJECTS)
+- $(COMPILE.qc) -o $(PROGRAM) $(OBJECTS)
++ @QPHOME@/src/ql -o $(SAVEFILE) @QPHOME@/prolog/compiler/*.qo @QPHOME@/prolog/library/*.qo $(OBJECTS)
++ @echo "QPPATH=@prefix@/bin:$(QPHOME)/bin" >$(PROGRAM)
++ @echo "QPLIBPATH=$(QPHOME)/compiler:$(QPHOME)/library" >>$(PROGRAM)
++ @echo "export QPPATH QPLIBPATH" >>$(PROGRAM)
++ @echo -e "exec qem -Q $(QPHOME)/bin/$(SAVEFILE) \044\052" >>$(PROGRAM)
+
+
+ %.qo: %.qs
+- $(COMPILE.qc) -c -o $@ $<
++ @QPHOME@/src/qa -i $< -o $@
+
+--- qp7.2.orig/src/Makefile.in 2006-04-06 14:14:37.000000000 +1200
++++ qp7.2/src/Makefile.in 2006-05-27 09:00:47.000000000 +1200
+@@ -40,7 +40,7 @@
+
+ #export DEBUGGING=
+
+-export CXXFLAGS = @GCC_ALIAS_FLAG@ -Wall -D_GNU_SOURCE=1 $(OPTIMISATION) @DEBUGGING@ -I@ICMHOME@/include @GCCINCLUDES@ -Wno-uninitialized
++#export CXXFLAGS = @GCC_ALIAS_FLAG@ -Wall -D_GNU_SOURCE=1 $(OPTIMISATION) @DEBUGGING@ -I@ICMHOME@/include @GCCINCLUDES@ -Wno-uninitialized
+ export QACXXFLAGS = -Wall -D_GNU_SOURCE=1 @DEBUGGING@ -I@ICMHOME@/include @GCCINCLUDES@ -Wno-uninitialized
+
+ .PHONY: all
+@@ -80,6 +80,9 @@
+
+ # Targets
+
++.cc.o:
++ $(CXX) $(CXXFLAGS) @GCC_ALIAS_FLAG@ -Wall -D_GNU_SOURCE=1 @DEBUGGING@ -I@ICMHOME@/include @GCCINCLUDES@ -Wno-uninitialized -c $<
++
+ .PHONY: commands
+ commands: $(GENERATED) $(LIBRARIES) $(BIG_LIBRARY)
+ @$(MAKE) $(ALL_COMMANDS)
--- /dev/null
+--- qp7.2.orig/src/xqp/interact.cc 2004-05-25 16:31:33.000000000 +1200
++++ qp7.2/src/xqp/interact.cc 2006-05-27 15:04:32.000000000 +1200
+@@ -26,13 +26,17 @@
+ #include "term.h"
+ #include "xqpqueries.h"
+ #include <qmessagebox.h>
+-#include <qfiledialog.h>
++#include <q3filedialog.h>
+ #include <qfile.h>
++#include <QMouseEvent>
++#include <QTextStream>
++#include <QKeyEvent>
++#include <QEvent>
+
+ using namespace std;
+
+ Interact::Interact( QWidget *box )
+- : QTextEdit(box)
++ : Q3TextEdit(box)
+ {
+ parent = box;
+ setTextFormat(Qt::PlainText);
+@@ -98,13 +102,13 @@
+ if ((p < para) || ((p == para) && (i < indent)))
+ {
+ if (e->button() != Qt::MidButton)
+- QTextEdit::contentsMouseReleaseEvent(e);
++ Q3TextEdit::contentsMouseReleaseEvent(e);
+ setCursorPosition(currpara,currindent);
+ readonly = true;
+ }
+ else
+ {
+- QTextEdit::contentsMouseReleaseEvent(e);
++ Q3TextEdit::contentsMouseReleaseEvent(e);
+ readonly = false;
+ }
+ }
+@@ -116,21 +120,21 @@
+ {
+ QMouseEvent lbe(QEvent::MouseButtonPress, e->pos(),
+ Qt::LeftButton, Qt::LeftButton);
+- QTextEdit::contentsMousePressEvent(&lbe);
+- QTextEdit::contentsMouseReleaseEvent(&lbe);
++ Q3TextEdit::contentsMousePressEvent(&lbe);
++ Q3TextEdit::contentsMouseReleaseEvent(&lbe);
+ }
+- QTextEdit::contentsMousePressEvent(e);
++ Q3TextEdit::contentsMousePressEvent(e);
+ }
+
+ void Interact::cut()
+ {
+- if (readonly) QTextEdit::copy();
+- else QTextEdit::cut();
++ if (readonly) Q3TextEdit::copy();
++ else Q3TextEdit::cut();
+ }
+
+ void Interact::paste()
+ {
+- if (!readonly) QTextEdit::paste();
++ if (!readonly) Q3TextEdit::paste();
+ }
+
+ void Interact::keyPressEvent(QKeyEvent *k)
+@@ -138,10 +142,10 @@
+ int key_pressed = k->key();
+ if (key_pressed == Qt::Key_Control)
+ {
+- QTextEdit::keyPressEvent(k);
++ Q3TextEdit::keyPressEvent(k);
+ return;
+ }
+- if (k->state() == ControlButton)
++ if (k->state() == Qt::ControlModifier)
+ {
+ in_history = false;
+ if (key_pressed == 'D')
+@@ -151,7 +155,7 @@
+ }
+ if (key_pressed == 'C')
+ {
+- QTextEdit::keyPressEvent(k);
++ Q3TextEdit::keyPressEvent(k);
+ return;
+ }
+ }
+@@ -220,7 +224,7 @@
+ if (key_pressed == Qt::Key_Home)
+ {
+ in_history = false;
+- if (k->state() == ControlButton)
++ if (k->state() == Qt::ControlModifier)
+ {
+ setCursorPosition(para,indent);
+ return;
+@@ -244,7 +248,7 @@
+ }
+
+ in_history = false;
+- QTextEdit::keyPressEvent(k);
++ Q3TextEdit::keyPressEvent(k);
+ }
+
+ void Interact::addHistoryItem(QString* s)
+@@ -271,11 +275,11 @@
+
+ void Interact::openQueryFile()
+ {
+- QString fileName = QFileDialog::getOpenFileName(QString::null, "*", this);
++ QString fileName = Q3FileDialog::getOpenFileName(QString::null, "*", this);
+ if (fileName != QString::null)
+ {
+ QFile f(fileName);
+- if (f.open(IO_ReadOnly))
++ if (f.open(QIODevice::ReadOnly))
+ {
+ QTextStream t(&f);
+ XQPQueries* xqp_queries = new XQPQueries(parent, fileName, t.read());
+@@ -289,11 +293,11 @@
+
+ void Interact::saveHistory()
+ {
+- QString fileName = QFileDialog::getSaveFileName(QString::null, "*", this);
++ QString fileName = Q3FileDialog::getSaveFileName(QString::null, "*", this);
+ if (fileName != QString::null)
+ {
+ QFile f(fileName);
+- if (f.open(IO_WriteOnly))
++ if (f.open(QIODevice::WriteOnly))
+ {
+ QString* item = firstHistoryItem();
+ while (item != NULL)
+@@ -309,11 +313,11 @@
+
+ void Interact::saveSession()
+ {
+- QString fileName = QFileDialog::getSaveFileName(QString::null, "*", this);
++ QString fileName = Q3FileDialog::getSaveFileName(QString::null, "*", this);
+ if (fileName != QString::null)
+ {
+ QFile f(fileName);
+- if (f.open(IO_WriteOnly))
++ if (f.open(QIODevice::WriteOnly))
+ {
+ QString s = text();
+ f.writeBlock(s, s.length());
+--- qp7.2.orig/src/xqp/interact.h 2006-05-27 15:42:00.000000000 +1200
++++ qp7.2/src/xqp/interact.h 2006-05-27 15:07:05.000000000 +1200
+@@ -21,17 +21,20 @@
+ #define INTERACT_H
+
+ #include <qwidget.h>
+-#include <qtextedit.h>
++#include <q3textedit.h>
+ #include <qstring.h>
++#include <QMouseEvent>
++#include <QKeyEvent>
++#include <Q3PtrList>
+ #include <fstream>
+-#include <qaccel.h>
++#include <q3accel.h>
+ #include <qregexp.h>
+ #include <qsocketnotifier.h>
+ #include <qstringlist.h>
+
+
+
+-class Interact : public QTextEdit {
++class Interact : public Q3TextEdit {
+ Q_OBJECT
+ public:
+ Interact(QWidget *box);
+@@ -58,7 +61,7 @@
+ bool readonly;
+ bool in_query;
+ bool in_history;
+- QPtrList<QString> history;
++ Q3PtrList<QString> history;
+ QString* firstHistoryItem(void);
+ QString* nextHistoryItem(void);
+ QString* previousHistoryItem(void);
+--- qp7.2.orig/src/xqp/qthelp.cc 2004-05-25 16:31:33.000000000 +1200
++++ qp7.2/src/xqp/qthelp.cc 2006-05-27 14:50:15.000000000 +1200
+@@ -73,9 +73,9 @@
+
+
+ QTHelp::QTHelp(QWidget *p)
+- : QMainWindow(p)
++ : Q3MainWindow(p)
+ {
+- help = new QTextEdit(this);
++ help = new Q3TextEdit(this);
+ setCentralWidget(help);
+ parent = p;
+ resize(600,400);
+--- qp7.2.orig/src/xqp/qthelp.h 2004-05-10 11:51:09.000000000 +1200
++++ qp7.2/src/xqp/qthelp.h 2006-05-27 14:50:15.000000000 +1200
+@@ -21,11 +21,11 @@
+ #define QTHELP_H
+
+ #include <qwidget.h>
+-#include <qmainwindow.h>
+-#include <qtextedit.h>
++#include <q3mainwindow.h>
++#include <q3textedit.h>
+
+
+-class QTHelp : public QMainWindow
++class QTHelp : public Q3MainWindow
+ {
+ Q_OBJECT
+ public:
+@@ -37,7 +37,7 @@
+ signals:
+
+ private:
+- QTextEdit* help;
++ Q3TextEdit* help;
+ QWidget* parent;
+
+ protected:
+--- qp7.2.orig/src/xqp/term.cc 2004-05-10 11:51:10.000000000 +1200
++++ qp7.2/src/xqp/term.cc 2006-05-27 15:00:38.000000000 +1200
+@@ -38,7 +38,7 @@
+
+ bool graphic_char(QChar c)
+ {
+- switch (c)
++ switch (c.unicode())
+ {
+ case '-':
+ case '/':
+--- qp7.2.orig/src/xqp/xqp.cc 2004-05-16 16:27:55.000000000 +1200
++++ qp7.2/src/xqp/xqp.cc 2006-05-27 15:06:15.000000000 +1200
+@@ -26,13 +26,14 @@
+ #include <qpushbutton.h>
+ #include <qlabel.h>
+ #include <qapplication.h>
+-#include <qpopupmenu.h>
+-#include <qmainwindow.h>
++#include <q3popupmenu.h>
++#include <q3mainwindow.h>
+ #include <qmenubar.h>
+-#include <qvbox.h>
++#include <q3vbox.h>
+ #include <qmessagebox.h>
+ #include <qinputdialog.h>
+-#include <qlistbox.h>
++#include <q3listbox.h>
++#include <QCloseEvent>
+
+ #include "xqp.h"
+ #include "interact.h"
+@@ -63,7 +64,7 @@
+ cancel->setGeometry(190,200,120,40);
+ font->setGeometry(10,10,150,40);
+ colour->setGeometry(170,10,150,40);
+- browser = new QTextBrowser(this);
++ browser = new Q3TextBrowser(this);
+ browser->setGeometry(10,80,310,100);
+ browser->setText("AaBb :- \n| ?-");
+ browser->setFont(f);
+@@ -105,7 +106,7 @@
+
+
+ Xqp::Xqp(int e_stdout, int e_stdin, pid_t c_pid)
+- : QMainWindow()
++ : Q3MainWindow()
+ {
+ config = new QPConfig(this);
+ qp_stdin = e_stdin;
+@@ -124,20 +125,20 @@
+ qpint->setReadOnly(false);
+ // Set up menu items
+ // File menu
+- QPopupMenu* file = new QPopupMenu(this);
++ Q3PopupMenu* file = new Q3PopupMenu(this);
+ file->insertItem("Open Query File", qpint, SLOT(openQueryFile()));
+ file->insertItem("Save History", qpint, SLOT(saveHistory()));
+ file->insertItem("Save Session", qpint, SLOT(saveSession()));
+ file->insertItem("Configure", this, SLOT(configure_int()));
+ menuBar()->insertItem("File", file);
+
+- QPopupMenu* sigs = new QPopupMenu(this);
++ Q3PopupMenu* sigs = new Q3PopupMenu(this);
+ sigs->insertItem("SIGINT", this, SLOT(process_CTRL_C()));
+ menuBar()->insertItem("Signals", sigs);
+
+
+ // Help menu
+- QPopupMenu* help = new QPopupMenu(this);
++ Q3PopupMenu* help = new Q3PopupMenu(this);
+ help->insertItem("Help", this, SLOT(showHelp()));
+ help->insertItem("About", this, SLOT(showAbout()));
+ menuBar()->insertItem("Help", help);
+@@ -170,7 +171,7 @@
+
+ void Xqp::closeEvent(QCloseEvent *e)
+ {
+- QMainWindow::closeEvent(e);
++ Q3MainWindow::closeEvent(e);
+ }
+
+
+--- qp7.2.orig/src/xqp/xqp.h 2004-05-16 16:27:55.000000000 +1200
++++ qp7.2/src/xqp/xqp.h 2006-05-27 15:06:25.000000000 +1200
+@@ -26,13 +26,15 @@
+
+ #include <qapplication.h>
+ #include <qwidget.h>
+-#include <qmainwindow.h>
++#include <q3mainwindow.h>
++#include <Q3PopupMenu>
++#include <QCloseEvent>
+ #include <sys/types.h>
+ #include <qstring.h>
+-#include <qmultilineedit.h>
++#include <q3multilineedit.h>
+ #include <qdialog.h>
+-#include <qmainwindow.h>
+-#include <qtextbrowser.h>
++#include <q3mainwindow.h>
++#include <q3textbrowser.h>
+ #include <qcolordialog.h>
+
+ #include "interact.h"
+@@ -54,12 +56,12 @@
+ Xqp* p;
+ QFont f;
+ QColor c;
+- QTextBrowser *browser;
++ Q3TextBrowser *browser;
+ };
+
+
+ /** Xqp is the base class of the project */
+-class Xqp : public QMainWindow
++class Xqp : public Q3MainWindow
+ {
+ Q_OBJECT
+ public:
+@@ -93,7 +95,7 @@
+ static const int buff_size = 10000;
+ char* read_buff;
+
+- QPopupMenu* view_menu;
++ Q3PopupMenu* view_menu;
+ QTHelp* qthelp;
+
+ public:
+--- qp7.2.orig/src/xqp/xqp.pro 2004-05-11 15:23:59.000000000 +1200
++++ qp7.2/src/xqp/xqp.pro 2006-05-27 15:09:32.000000000 +1200
+@@ -3,6 +3,7 @@
+ ######################################################################
+
+ TEMPLATE = app
++QT += qt3support
+ INCLUDEPATH += .
+
+ # Input
+--- qp7.2.orig/src/xqp/xqpqueries.cc 2004-05-10 11:51:11.000000000 +1200
++++ qp7.2/src/xqp/xqpqueries.cc 2006-05-27 15:06:34.000000000 +1200
+@@ -19,11 +19,12 @@
+
+ #include "xqpqueries.h"
+ #include "term.h"
++#include <QKeyEvent>
+
+ XQPQueries::XQPQueries(QWidget *p, QString& name, QString text)
+- : QMainWindow(p, name)
++ : Q3MainWindow(p, name)
+ {
+- queries = new QTextEdit(this);
++ queries = new Q3TextEdit(this);
+ setCentralWidget(queries);
+ parent = p;
+ resize(400,300);
+@@ -88,6 +89,6 @@
+ }
+ else
+ {
+- QMainWindow::keyPressEvent(k);
++ Q3MainWindow::keyPressEvent(k);
+ }
+ }
+--- qp7.2.orig/src/xqp/xqpqueries.h 2004-05-10 11:51:11.000000000 +1200
++++ qp7.2/src/xqp/xqpqueries.h 2006-05-27 15:06:42.000000000 +1200
+@@ -21,11 +21,12 @@
+ #define XQPQUERIES_H
+
+ #include <qwidget.h>
+-#include <qmainwindow.h>
+-#include <qtextedit.h>
++#include <q3mainwindow.h>
++#include <q3textedit.h>
++#include <QKeyEvent>
+
+
+-class XQPQueries : public QMainWindow
++class XQPQueries : public Q3MainWindow
+ {
+ Q_OBJECT
+ public:
+@@ -38,7 +39,7 @@
+ void process_text(QString);
+ void process_return();
+ private:
+- QTextEdit* queries;
++ Q3TextEdit* queries;
+ QWidget* parent;
+
+ protected:
--- /dev/null
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/qu-prolog/qu-prolog-7.4.ebuild,v 1.1 2006/08/06 09:35:16 keri Exp $
+
+inherit autotools eutils versionator
+
+MY_P=qp${PV}
+
+DESCRIPTION="Qu-Prolog is an extended Prolog supporting quantifiers, object-variables and substitutions"
+HOMEPAGE="http://www.itee.uq.edu.au/~pjr/HomePages/QuPrologHome.html"
+SRC_URI="http://www.itee.uq.edu.au/~pjr/HomePages/QPFiles/${MY_P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~ppc ~x86"
+IUSE="debug doc qt3 qt4 threads"
+
+DEPEND="qt3? ( =x11-libs/qt-3* )
+ qt4? ( >=x11-libs/qt-4.1.0 )"
+
+S="${WORKDIR}"/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-portage.patch
+ epatch "${FILESDIR}"/${P}-configure.patch
+ epatch "${FILESDIR}"/${P}-gcc4.patch
+ epatch "${FILESDIR}"/${P}-debug.patch
+
+ use qt4 && epatch "${FILESDIR}"/${P}-qt4.patch
+}
+
+src_compile() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable threads multiple-threads) \
+ || die "econf failed"
+ emake || die "emake failed"
+
+ if use qt3 || use qt4; then
+ cd "${S}"/src/xqp
+ if use qt4; then
+ qmake || die "qmake xqp failed"
+ else
+ "${QTDIR}"/bin/qmake || die "qmake xqp failed"
+ fi
+ emake || die "emake xqp failed"
+ fi
+}
+
+src_install() {
+ exeinto /usr/bin
+ doexe src/qa src/qdeal src/qem src/ql
+ doexe bin/qc bin/qecat bin/qp bin/qppp
+
+ if use qt3 || use qt4; then
+ doexe src/xqp/xqp
+ fi
+
+ insinto /usr/lib/${PN}/bin
+ doins prolog/qc1/qc1.qx \
+ prolog/qecat/qecat.qx \
+ prolog/qg/qg.qx \
+ prolog/qp/qp.qx
+
+ insinto /usr/lib/${PN}/library
+ doins prolog/library/*.qo
+
+ insinto /usr/lib/${PN}/compiler
+ doins prolog/compiler/*.qo
+
+ doman doc/man/man1/*.1
+
+ dodoc README
+
+ if use doc ; then
+ docinto reference-manual
+ dodoc doc/manual/*.html
+ docinto user-guide
+ dodoc doc/user/main.ps
+ docinto examples
+ dodoc examples/*.ql examples/README
+ fi
+}