Version bump.
authorKeri Harris <keri@gentoo.org>
Sun, 6 Aug 2006 09:35:16 +0000 (09:35 +0000)
committerKeri Harris <keri@gentoo.org>
Sun, 6 Aug 2006 09:35:16 +0000 (09:35 +0000)
Package-Manager: portage-2.1.1_pre4-r3

dev-lang/qu-prolog/ChangeLog
dev-lang/qu-prolog/Manifest
dev-lang/qu-prolog/files/digest-qu-prolog-7.4 [new file with mode: 0644]
dev-lang/qu-prolog/files/qu-prolog-7.4-configure.patch [new file with mode: 0644]
dev-lang/qu-prolog/files/qu-prolog-7.4-debug.patch [new file with mode: 0644]
dev-lang/qu-prolog/files/qu-prolog-7.4-gcc4.patch [new file with mode: 0644]
dev-lang/qu-prolog/files/qu-prolog-7.4-portage.patch [new file with mode: 0644]
dev-lang/qu-prolog/files/qu-prolog-7.4-qt4.patch [new file with mode: 0644]
dev-lang/qu-prolog/qu-prolog-7.4.ebuild [new file with mode: 0644]

index bdb57bea48209778e8dafbb75ac5fe7be7bec1b7..fff1ab79c3e3c3f380d00cf565305ff05a29ef06 100644 (file)
@@ -1,6 +1,14 @@
 # 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.
index 52c71df23be5ea0832310b66f943df2bde25f71d..a0217668be40e0e92436aecdb0772487732e6ae8 100644 (file)
@@ -34,8 +34,29 @@ AUX qu-prolog-7.2-qt4.patch 10548 RMD160 68741725964290fd00b77d4647847b1309c062b
 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
@@ -48,10 +69,14 @@ EBUILD qu-prolog-7.2.ebuild 1745 RMD160 6ebf4318d70f0e0b9df829903846754727709332
 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
@@ -65,3 +90,6 @@ SHA256 4bb5e3a2a13062e2baac92791d74495507361b6dcde31f344932cf6c538c5446 files/di
 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
diff --git a/dev-lang/qu-prolog/files/digest-qu-prolog-7.4 b/dev-lang/qu-prolog/files/digest-qu-prolog-7.4
new file mode 100644 (file)
index 0000000..359750c
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 379990ae86485a3b8b4a5233bc1fd0c1 qp7.4.tar.gz 1262813
+RMD160 8be3c953d6f74878366183b99f84dbcb089c6e08 qp7.4.tar.gz 1262813
+SHA256 301b8a3344f4286c2800a13753f2a2d9e73bd3ce58c8a1211bcede365dc96de1 qp7.4.tar.gz 1262813
diff --git a/dev-lang/qu-prolog/files/qu-prolog-7.4-configure.patch b/dev-lang/qu-prolog/files/qu-prolog-7.4-configure.patch
new file mode 100644 (file)
index 0000000..bd6a95c
--- /dev/null
@@ -0,0 +1,39 @@
+--- 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.
diff --git a/dev-lang/qu-prolog/files/qu-prolog-7.4-debug.patch b/dev-lang/qu-prolog/files/qu-prolog-7.4-debug.patch
new file mode 100644 (file)
index 0000000..0b5ddc8
--- /dev/null
@@ -0,0 +1,42 @@
+--- 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())
diff --git a/dev-lang/qu-prolog/files/qu-prolog-7.4-gcc4.patch b/dev-lang/qu-prolog/files/qu-prolog-7.4-gcc4.patch
new file mode 100644 (file)
index 0000000..82a35b6
--- /dev/null
@@ -0,0 +1,85 @@
+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];
diff --git a/dev-lang/qu-prolog/files/qu-prolog-7.4-portage.patch b/dev-lang/qu-prolog/files/qu-prolog-7.4-portage.patch
new file mode 100644 (file)
index 0000000..49b538c
--- /dev/null
@@ -0,0 +1,227 @@
+--- 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)
diff --git a/dev-lang/qu-prolog/files/qu-prolog-7.4-qt4.patch b/dev-lang/qu-prolog/files/qu-prolog-7.4-qt4.patch
new file mode 100644 (file)
index 0000000..e893662
--- /dev/null
@@ -0,0 +1,414 @@
+--- 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:
diff --git a/dev-lang/qu-prolog/qu-prolog-7.4.ebuild b/dev-lang/qu-prolog/qu-prolog-7.4.ebuild
new file mode 100644 (file)
index 0000000..f9ab62a
--- /dev/null
@@ -0,0 +1,85 @@
+# 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
+}