commit:     e747148898aeeb0a4815de3ec91b912b5840d9e9
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  7 02:07:44 2024 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Wed Aug  7 02:17:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7471488

dev-lang/qu-prolog: add 10.8

Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 dev-lang/qu-prolog/Manifest                        |   1 +
 .../files/qu-prolog-10.8-compiler-flags.patch      |  18 ++++
 dev-lang/qu-prolog/qu-prolog-10.8.ebuild           | 113 +++++++++++++++++++++
 3 files changed, 132 insertions(+)

diff --git a/dev-lang/qu-prolog/Manifest b/dev-lang/qu-prolog/Manifest
index 0a7cf61496ad..46d24648f75e 100644
--- a/dev-lang/qu-prolog/Manifest
+++ b/dev-lang/qu-prolog/Manifest
@@ -1,2 +1,3 @@
 DIST qp10.6.tar.gz 1671349 BLAKE2B 
189ddd733a0bbf939387de60ec76e8e41a430af5f4684a9a3b8cc3effa4e402cfd4471c955f4d626d2de8cf14eb93c2977540ad209d06ce9b562325a4b984fea
 SHA512 
425b35c758ba86cc14a1faf5c19f2c091142be6c42261323dc6f551efd6c80f7223584cd2be239748539eaf25308f777d95fd5bfdc65b33ca3245377e1766299
 DIST qp10.7.tar.gz 1857589 BLAKE2B 
986f0d8744d5b0a3974191d154a2ca0efa97f6c02483d975b4bb43bd7ae44d9d4233f6bffc1947d03ac3db9c0181953254e66bc62d55add6b0debbed1ad21de6
 SHA512 
305c89710e02167bb37e999b5af182b9dbca710d32c79149782a90f29b2e80f6a5462e9fb22153e770cef7484c5181bde31f1fe680b786f0f253ced13a3df830
+DIST qp10.8.tar.gz 1707106 BLAKE2B 
aaba3e722c3aa3f566e7e4469f581fa854fc865066173664a18421c3de32ba7be804896812191b3bcdb2f4e713e9886f12765e0fc1bc3f5f609e0c679cdb4374
 SHA512 
7c677a9b9cac0c1de626f213be158297844fd403deb62ec976684926c287827734c27a89771b6e48dfc5822033aeb24aafc2c34cd13cada88db49ee1f9612fc7

diff --git a/dev-lang/qu-prolog/files/qu-prolog-10.8-compiler-flags.patch 
b/dev-lang/qu-prolog/files/qu-prolog-10.8-compiler-flags.patch
new file mode 100644
index 000000000000..28eedb06e077
--- /dev/null
+++ b/dev-lang/qu-prolog/files/qu-prolog-10.8-compiler-flags.patch
@@ -0,0 +1,18 @@
+--- qp10.6.orig/configure.ac   2020-06-24 23:37:02.000000000 -0000
++++ qp10.6/configure.ac        2021-05-15 16:36:32.504585122 -0000
+@@ -228,9 +228,12 @@
+ #-----------------------------------------------------------------------------
+ dnl Check for -fno-strict-aliasing
+ AC_MSG_CHECKING([for -fno-strict-aliasing])
+-echo "int i;" > aliasing_test.cc
+-qp_alias=[`gcc -fno-strict-aliasing -c aliasing_test.cc`]
+-rm aliasing_test.*
++ac_saved_cflags=$[]_AC_LANG_PREFIX[]FLAGS
++_AC_LANG_PREFIX[]FLAGS="-Werror -fno-strict-aliasing"
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int main(void) { return 0; }]])],
++    [qp_alias=""],
++    [qp_alias="not-found"])
++_AC_LANG_PREFIX[]FLAGS="$ac_saved_cflags"
+ if test -n "$qp_alias"; then
+     AC_MSG_RESULT(not found)
+     GCC_ALIAS_FLAG=

diff --git a/dev-lang/qu-prolog/qu-prolog-10.8.ebuild 
b/dev-lang/qu-prolog/qu-prolog-10.8.ebuild
new file mode 100644
index 000000000000..137265e4db1f
--- /dev/null
+++ b/dev-lang/qu-prolog/qu-prolog-10.8.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools flag-o-matic 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.8-compiler-flags.patch
+       eapply "${FILESDIR}"/${PN}-10.x-qa-compiler-flags.patch
+       eapply_user
+
+       eautoconf
+
+       python_fix_shebang "${S}"/bin/qc.in
+}
+
+src_configure() {
+       # -Werror=strict-aliasing
+       # https://bugs.gentoo.org/924768
+       # Upstream's sole provided contact method is email. I have sent an email
+       # describing the issue. -- Eli
+       append-flags -fno-strict-aliasing
+       filter-lto
+
+       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
+}

Reply via email to