diff options
author | Eli Schwartz <eschwartz@gentoo.org> | 2024-08-06 22:07:44 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@gentoo.org> | 2024-08-06 22:17:17 -0400 |
commit | e747148898aeeb0a4815de3ec91b912b5840d9e9 (patch) | |
tree | 6a1d5a2a406952bdd405de7d6933d28b749ed276 /dev-lang | |
parent | dev-lang/qu-prolog: mark as LTO-unsafe, strict-aliasing unsafe (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | dev-lang/qu-prolog/files/qu-prolog-10.8-compiler-flags.patch | 18 | ||||
-rw-r--r-- | dev-lang/qu-prolog/qu-prolog-10.8.ebuild | 113 |
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 +} |