summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/qu-prolog')
-rw-r--r--dev-lang/qu-prolog/Manifest1
-rw-r--r--dev-lang/qu-prolog/files/qu-prolog-10.x-qa-compiler-flags.patch22
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.7.ebuild107
3 files changed, 130 insertions, 0 deletions
diff --git a/dev-lang/qu-prolog/Manifest b/dev-lang/qu-prolog/Manifest
index 6c18791ba650..0a7cf61496ad 100644
--- a/dev-lang/qu-prolog/Manifest
+++ b/dev-lang/qu-prolog/Manifest
@@ -1 +1,2 @@
DIST qp10.6.tar.gz 1671349 BLAKE2B 189ddd733a0bbf939387de60ec76e8e41a430af5f4684a9a3b8cc3effa4e402cfd4471c955f4d626d2de8cf14eb93c2977540ad209d06ce9b562325a4b984fea SHA512 425b35c758ba86cc14a1faf5c19f2c091142be6c42261323dc6f551efd6c80f7223584cd2be239748539eaf25308f777d95fd5bfdc65b33ca3245377e1766299
+DIST qp10.7.tar.gz 1857589 BLAKE2B 986f0d8744d5b0a3974191d154a2ca0efa97f6c02483d975b4bb43bd7ae44d9d4233f6bffc1947d03ac3db9c0181953254e66bc62d55add6b0debbed1ad21de6 SHA512 305c89710e02167bb37e999b5af182b9dbca710d32c79149782a90f29b2e80f6a5462e9fb22153e770cef7484c5181bde31f1fe680b786f0f253ced13a3df830
diff --git a/dev-lang/qu-prolog/files/qu-prolog-10.x-qa-compiler-flags.patch b/dev-lang/qu-prolog/files/qu-prolog-10.x-qa-compiler-flags.patch
new file mode 100644
index 000000000000..c6dbaca842f0
--- /dev/null
+++ b/dev-lang/qu-prolog/files/qu-prolog-10.x-qa-compiler-flags.patch
@@ -0,0 +1,22 @@
+--- qp10.7.orig/src/Makefile.in 2020-06-24 23:37:02.000000000 -0000
++++ qp10.7/src/Makefile.in 2021-06-26 08:07:51.916841713 -0000
+@@ -41,7 +41,7 @@
+ #export DEBUGGING=
+
+ export CXXFLAGS = -std=c++11 @GCC_ALIAS_FLAG@ -Wall -D_GNU_SOURCE=1 $(OPTIMISATION) @DEBUGGING@ @GCCINCLUDES@ -Wno-uninitialized `pkg-config --cflags libpcre2-8`
+-export QACXXFLAGS = -Wall -D_GNU_SOURCE=1 @DEBUGGING@ @GCCINCLUDES@ -Wno-uninitialized
++export QACXXFLAGS = -Wall -D_GNU_SOURCE=1 $(OPTIMISATION) @DEBUGGING@ @GCCINCLUDES@ -Wno-uninitialized
+
+ .PHONY: all
+ all: commands
+--- qp10.7.orig/src/Makefile.ipc.in 2020-06-24 23:37:02.000000000 -0000
++++ qp10.7/src/Makefile.ipc.in 2021-06-26 08:14:01.700826247 -0000
+@@ -20,7 +20,7 @@
+
+
+ pedro_token.o : pedro_token.c
+- $(CXX) -fno-strict-aliasing -Wall -D_GNU_SOURCE=1 -O2 -DNDEBUG -Wno-uninitialized -c -o pedro_token.o pedro_token.c
++ $(CXX) $(CXXFLAGS) -c -o pedro_token.o pedro_token.c
+
+ pedro_token.c: pedro_token.l
+ flex -opedro_token.c pedro_token.l
diff --git a/dev-lang/qu-prolog/qu-prolog-10.7.ebuild b/dev-lang/qu-prolog/qu-prolog-10.7.ebuild
new file mode 100644
index 000000000000..707ab8e46073
--- /dev/null
+++ b/dev-lang/qu-prolog/qu-prolog-10.7.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit autotools python-any-r1 qmake-utils
+
+MY_P=qp${PV}
+
+DESCRIPTION="Extended Prolog supporting quantifiers, object-variables and substitutions"
+HOMEPAGE="http://staff.itee.uq.edu.au/pjr/HomePages/QuPrologHome.html"
+SRC_URI="http://staff.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 pcre pedro qt5 readline threads"
+
+RDEPEND="
+ !dev-util/rej
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ pcre? ( dev-libs/libpcre2 )
+ pedro? ( net-misc/pedro )
+ readline? ( app-misc/rlwrap )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-lang/perl"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ eapply "${FILESDIR}"/${PN}-10.x-qt5.patch
+ eapply "${FILESDIR}"/${PN}-10.x-compiler-flags.patch
+ eapply "${FILESDIR}"/${PN}-10.x-qa-compiler-flags.patch
+ eapply_user
+
+ mv configure.in configure.ac || die
+ eautoconf
+
+ python_fix_shebang "${S}"/bin/qc.in
+}
+
+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
+ docinto examples
+ newdoc examples/README README.examples
+ dodoc examples/*.ql
+ fi
+}