summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/qu-prolog/Manifest1
-rw-r--r--dev-lang/qu-prolog/files/qu-prolog-10.1-qt5.patch35
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.1.ebuild100
3 files changed, 136 insertions, 0 deletions
diff --git a/dev-lang/qu-prolog/Manifest b/dev-lang/qu-prolog/Manifest
index e772770d16ed..e9492dbb1b5b 100644
--- a/dev-lang/qu-prolog/Manifest
+++ b/dev-lang/qu-prolog/Manifest
@@ -1 +1,2 @@
DIST qp10.0.tar.gz 1521469 BLAKE2B ab293e5b14529c3714ba123c5f37f7fe2ac4f6238ebaca00fa7781407ccf7df67515b1b6b3c80a358fae5988c799bf16b8f02eb52a9b3a690b155a150ac90063 SHA512 491ef9cc01f0d34163d47163b3103dcbd52cc5672f64057b898c2d234384ac2e3b64b4e59a1795765ff92de4c97ebdb11a82d394213685c387e4dd7d598c5c60
+DIST qp10.1.tar.gz 1521610 BLAKE2B a4d6d277a35284accfff1afd70901218df198b2b33f5c95ca5649bf06abcb153890f2f21b0e8d62ed93484b452a230074f93c983ab231c8fc58b51a29119d838 SHA512 8fb30fcbc086384d7e265695a7d24a9599ed306b5da0ea964e60aef4bb01c7b6789fc361449f908736c57d86c204e574d745f277d5b0ec2b725a8eca52f14f1a
diff --git a/dev-lang/qu-prolog/files/qu-prolog-10.1-qt5.patch b/dev-lang/qu-prolog/files/qu-prolog-10.1-qt5.patch
new file mode 100644
index 000000000000..92dfdd780088
--- /dev/null
+++ b/dev-lang/qu-prolog/files/qu-prolog-10.1-qt5.patch
@@ -0,0 +1,35 @@
+diff -ur qp10.1.orig/src/xqp/term.cc qp10.1/src/xqp/term.cc
+--- qp10.1.orig/src/xqp/term.cc 2008-07-09 07:32:37.000000000 +0200
++++ qp10.1/src/xqp/term.cc 2018-07-19 10:31:12.969762518 +0200
+@@ -38,7 +38,7 @@
+
+ bool graphic_char(QChar c)
+ {
+- switch (c.toAscii())
++ switch (c.toLatin1())
+ {
+ case '-':
+ case '/':
+diff -ur qp10.1.orig/src/xqp/xqp.cc qp10.1/src/xqp/xqp.cc
+--- qp10.1.orig/src/xqp/xqp.cc 2011-07-14 01:08:42.000000000 +0200
++++ qp10.1/src/xqp/xqp.cc 2018-07-19 10:31:12.969762518 +0200
+@@ -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.1.orig/src/xqp/xqp.pro qp10.1/src/xqp/xqp.pro
+--- qp10.1.orig/src/xqp/xqp.pro 2008-07-09 07:32:37.000000000 +0200
++++ qp10.1/src/xqp/xqp.pro 2018-07-19 10:31:12.969762518 +0200
+@@ -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.1.ebuild b/dev-lang/qu-prolog/qu-prolog-10.1.ebuild
new file mode 100644
index 000000000000..2b3ad3c4c602
--- /dev/null
+++ b/dev-lang/qu-prolog/qu-prolog-10.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2018 Gentoo Foundation
+# 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
+}