summaryrefslogtreecommitdiff
path: root/dev-lang/qu-prolog
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/qu-prolog')
-rw-r--r--dev-lang/qu-prolog/Manifest3
-rw-r--r--dev-lang/qu-prolog/files/qu-prolog-10.2-qt5.patch35
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.2.ebuild100
3 files changed, 138 insertions, 0 deletions
diff --git a/dev-lang/qu-prolog/Manifest b/dev-lang/qu-prolog/Manifest
index 3cd5e8d4b39f..afaa6a81e999 100644
--- a/dev-lang/qu-prolog/Manifest
+++ b/dev-lang/qu-prolog/Manifest
@@ -1,4 +1,7 @@
AUX qu-prolog-10.1-qt5.patch 1037 BLAKE2B 91287f26c97c0c2f1c9cd3bae3a007cf27e4b8121aca4a42cabbbb37c224b7399ed06468b7a725977f27bad2fcda8d2165bfeb569f36491d227dd472036de5ed SHA512 9dd1c8245f725d552bf23ad9ef1bb858a06c69b66778fa851013775081751a77923e2145f6575966e8394666b8dc2e04724d102be28b32efaa44b7e474b3dd7f
+AUX qu-prolog-10.2-qt5.patch 1037 BLAKE2B bcb3728a1439430c2b3f9ffe4788f98af276376a7513fc8f8c8bc3b49636df04bc907b52a134475750c17b33db9e83437b3376be441e81f479c887427a1e3331 SHA512 8d0faa258386e76eb2764207d92f5ab7216975d31547db9b61287dd365ad357d7bef351f4545a24bdd61e3abfae22549a9ce9c40af71aa1d4b36eec6c21c9952
DIST qp10.1.tar.gz 1521610 BLAKE2B a4d6d277a35284accfff1afd70901218df198b2b33f5c95ca5649bf06abcb153890f2f21b0e8d62ed93484b452a230074f93c983ab231c8fc58b51a29119d838 SHA512 8fb30fcbc086384d7e265695a7d24a9599ed306b5da0ea964e60aef4bb01c7b6789fc361449f908736c57d86c204e574d745f277d5b0ec2b725a8eca52f14f1a
+DIST qp10.2.tar.gz 1667066 BLAKE2B fe466bc892a0923f463347bfa22618061d8a8baf9e2fc60ea27694c66be6dc8ac9b0bacd3084bccff95ff06ef949660cb9a0637a8e3e3595d04c44eb2b682bc9 SHA512 5cfebab17a812513bb4ddf4c04890af32339bef18d746dd6503cee13d295c43f1ef687a6c7814b2f40473766c695459f8234541ae8a6945a0f2930556985ad96
EBUILD qu-prolog-10.1.ebuild 1944 BLAKE2B fe102881c65e68fd6003c37da96195ef4f8f709c296f4679531b7c12e336182efacd29792103a0c8c5761e9adc53079d1615fdd8365de448f58c406f5027937c SHA512 c3119e71e850850ab4d7689f70da79de78ad7aa34386880c641bb20c1765dddf0379bf0371e0e831e7a9c08adc17efb7e44e4a79fed33894f24935f628c72e59
+EBUILD qu-prolog-10.2.ebuild 1944 BLAKE2B 48d2f0752d26d047dd3608f4a3b756ec5ee6a7593135cbe5ee5fe1a99206b64b6cdde840bd0bb5df9bda6250aa01294331ed448491f5293a37297e389f71c3b1 SHA512 26269b3b773af8f6ffe76f0831c1f6e565bbe29a96567abb0fe94561fdc807db653cb22fabbc0e505d55de458c91551116ca5086dcdff33de997722af7808ebe
MISC metadata.xml 347 BLAKE2B d0d2ead501a46ff84953eceee649d58e406ebf5a83e7b7862b9501b2e665ad71b5c9c31f4790161074debb7b86ce7e53ff8d0904c39c37ddcac6250668685aca SHA512 7a7bb3ccaa42fa120c3702d963719d5fdfcf0a413685cad98bd34a515a4cc83a213a71e7f3b6b0ce67947fa347229caecf699879192f0d930c9c6577e0ce59cc
diff --git a/dev-lang/qu-prolog/files/qu-prolog-10.2-qt5.patch b/dev-lang/qu-prolog/files/qu-prolog-10.2-qt5.patch
new file mode 100644
index 000000000000..4d5ec768be9c
--- /dev/null
+++ b/dev-lang/qu-prolog/files/qu-prolog-10.2-qt5.patch
@@ -0,0 +1,35 @@
+diff -ur qp10.2.orig/src/xqp/term.cc qp10.2/src/xqp/term.cc
+--- qp10.2.orig/src/xqp/term.cc 2008-07-09 07:32:37.000000000 +0200
++++ qp10.2/src/xqp/term.cc 2020-03-21 14:08:16.842059351 +0100
+@@ -38,7 +38,7 @@
+
+ bool graphic_char(QChar c)
+ {
+- switch (c.toAscii())
++ switch (c.toLatin1())
+ {
+ case '-':
+ case '/':
+diff -ur qp10.2.orig/src/xqp/xqp.cc qp10.2/src/xqp/xqp.cc
+--- qp10.2.orig/src/xqp/xqp.cc 2011-07-14 01:08:42.000000000 +0200
++++ qp10.2/src/xqp/xqp.cc 2020-03-21 14:08:16.842059351 +0100
+@@ -167,7 +167,7 @@
+
+ void Xqp::send_cmd_to_qp(QString cmd)
+ {
+- write(qp_stdin, cmd.toAscii(), cmd.length());
++ write(qp_stdin, cmd.toLatin1(), cmd.length());
+ }
+
+
+diff -ur qp10.2.orig/src/xqp/xqp.pro qp10.2/src/xqp/xqp.pro
+--- qp10.2.orig/src/xqp/xqp.pro 2008-07-09 07:32:37.000000000 +0200
++++ qp10.2/src/xqp/xqp.pro 2020-03-21 14:08:16.842059351 +0100
+@@ -4,6 +4,7 @@
+
+ TEMPLATE = app
+ INCLUDEPATH += .
++QT += widgets
+
+ # Input
+ HEADERS += interact.h qpconfig.h qthelp.h term.h xqp.h xqpqueries.h
diff --git a/dev-lang/qu-prolog/qu-prolog-10.2.ebuild b/dev-lang/qu-prolog/qu-prolog-10.2.ebuild
new file mode 100644
index 000000000000..4f85be09a082
--- /dev/null
+++ b/dev-lang/qu-prolog/qu-prolog-10.2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils multilib qmake-utils
+
+MY_P=qp${PV}
+
+DESCRIPTION="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="Apache-2.0 GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug doc examples pedro qt5 readline threads"
+
+RDEPEND="
+ !dev-util/mpatch
+ !dev-util/rej
+ !games-rpg/kqlives
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ pedro? ( net-misc/pedro )
+ readline? ( app-misc/rlwrap )"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-qt5.patch
+
+ eapply_user
+}
+
+src_configure() {
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ $(use_enable debug) \
+ $(use_enable threads multiple-threads)
+
+ if use qt5; then
+ cd "${S}"/src/xqp || die
+ eqmake5 xqp.pro
+ fi
+}
+
+src_compile() {
+ emake OPTIMISATION="${CXXFLAGS}"
+
+ if use qt5; then
+ cd "${S}"/src/xqp || die
+ emake
+ fi
+}
+
+src_install() {
+ sed \
+ -e "s|${S}|/usr/$(get_libdir)/qu-prolog|g" \
+ -i bin/qc bin/qc1.qup bin/qecat bin/qg bin/qp || die
+
+ dobin bin/{qc,qecat,qp,kq}
+
+ use qt5 && dobin src/xqp/xqp
+
+ into /usr/$(get_libdir)/${PN}
+ dobin bin/{qa,qc1.qup,qdeal,qem,qg,ql,qppp}
+
+ insinto /usr/$(get_libdir)/${PN}/bin
+ doins bin/rl_commands
+ doins bin/{qc1.qup,qecat,qg,qp}.qx
+
+ insinto /usr/$(get_libdir)/${PN}/library
+ doins prolog/library/*.qo
+
+ insinto /usr/$(get_libdir)/${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.pdf
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.ql
+ docinto examples
+ newdoc examples/README README.examples
+ fi
+}