summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@gentoo.org>2024-08-06 22:07:44 -0400
committerEli Schwartz <eschwartz@gentoo.org>2024-08-06 22:17:17 -0400
commite747148898aeeb0a4815de3ec91b912b5840d9e9 (patch)
tree6a1d5a2a406952bdd405de7d6933d28b749ed276 /dev-lang
parentdev-lang/qu-prolog: mark as LTO-unsafe, strict-aliasing unsafe (diff)
downloadgentoo-e747148898aeeb0a4815de3ec91b912b5840d9e9.tar.gz
gentoo-e747148898aeeb0a4815de3ec91b912b5840d9e9.tar.bz2
gentoo-e747148898aeeb0a4815de3ec91b912b5840d9e9.zip
dev-lang/qu-prolog: add 10.8
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/qu-prolog/Manifest1
-rw-r--r--dev-lang/qu-prolog/files/qu-prolog-10.8-compiler-flags.patch18
-rw-r--r--dev-lang/qu-prolog/qu-prolog-10.8.ebuild113
3 files changed, 132 insertions, 0 deletions
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
+}