diff options
| author | igna_martinoli <ignamartinoli@protonmail.com> | 2025-07-28 06:11:12 -0300 |
|---|---|---|
| committer | Maciej Barć <xgqt@gentoo.org> | 2025-07-29 00:45:58 +0200 |
| commit | a49e0c269a0215847c2c9c971c0cad05e4f34e96 (patch) | |
| tree | b5b78a1f683c05133ee26db90f20ca2ad365ea24 /dev-lang/swi-prolog | |
| parent | 0e89e7e1d633fa1ea02f19c59b1900419751e5ff (diff) | |
| download | gentoo-a49e0c269a0215847c2c9c971c0cad05e4f34e96.tar.gz gentoo-a49e0c269a0215847c2c9c971c0cad05e4f34e96.tar.bz2 gentoo-a49e0c269a0215847c2c9c971c0cad05e4f34e96.zip | |
dev-lang/swi-prolog: bump to 9.3.25; fix compilation errors
This bump fixes build failure with modern glibc due to signal handler
type mismatch. Newer glibc headers enforce stricter function pointer
types, causing older versions of this package to fail
compilation. Upgrading resolves the issue.
Closes: https://bugs.gentoo.org/946573
Signed-off-by: igna_martinoli <ignamartinoli@protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43206
Closes: https://github.com/gentoo/gentoo/pull/43206
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'dev-lang/swi-prolog')
| -rw-r--r-- | dev-lang/swi-prolog/Manifest | 1 | ||||
| -rw-r--r-- | dev-lang/swi-prolog/swi-prolog-9.3.25.ebuild | 166 |
2 files changed, 167 insertions, 0 deletions
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest index 80307ba64351..85238c836b07 100644 --- a/dev-lang/swi-prolog/Manifest +++ b/dev-lang/swi-prolog/Manifest @@ -1 +1,2 @@ +DIST swipl-9.3.25.tar.gz 12428028 BLAKE2B 1e7f641709117b765a50460421654169133aabfc2b0459418bc8c6214a13bfffd5a369f21242730a8c4d456c1c20209adc9b42f92b96b06f9b3ccd58b1bf1649 SHA512 624ce3087ab3eea927beaf5475fcd8c20b5d85e948be3bedbe06e07849ae7e4be3e6f97e422f6da7a64d785f9836b6aa40830ab4957a1a1ce0515176b84d8a6b DIST swipl-9.3.9.tar.gz 12302913 BLAKE2B fb657c58673a250a5a0563a2efd164b491eba15402c4442a0751f2fd3dd176337fc3f8eac828014c8341b852b6546a56c755fa0488daf211329bc8ff02fb67a5 SHA512 6e7247871b6379801b52df7da22d808dd823bc3f42ec1212bd3c3f61d0363dc05135ab389ea08143b99a8b3b356bfed52a749a32a45bb434d8aa6e3514c521b9 diff --git a/dev-lang/swi-prolog/swi-prolog-9.3.25.ebuild b/dev-lang/swi-prolog/swi-prolog-9.3.25.ebuild new file mode 100644 index 000000000000..6c7426fca3c4 --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-9.3.25.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P="swipl-${PV}" +inherit cmake desktop flag-o-matic java-pkg-opt-2 toolchain-funcs xdg + +DESCRIPTION="Versatile implementation of the Prolog programming language" +HOMEPAGE="https://www.swi-prolog.org/" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/SWI-Prolog/swipl-devel" +else + SRC_URI="https://www.swi-prolog.org/download/devel/src/${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +fi + +LICENSE="BSD-2" +SLOT="0" +IUSE="X archive berkdb +cli debug doc +gmp gui +ipc java minimal odbc pcre pgo ssl test yaml" +RESTRICT="!test? ( test )" + +# See cmake/PackageSelection.cmake and cmake/DocDepends.cmake +REQUIRED_USE=" + doc? ( archive ) + minimal? ( !archive !doc !ipc !ssl !test ) +" + +COMMON_DEPEND=" + sys-libs/ncurses:= + sys-libs/zlib:= + virtual/libcrypt:= + X? ( + media-libs/freetype:2 + media-libs/fontconfig:1.0 + media-libs/libjpeg-turbo:= + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXpm + x11-libs/libXt + ) + archive? ( app-arch/libarchive:= ) + berkdb? ( >=sys-libs/db-4:= ) + cli? ( + dev-libs/libedit + sys-libs/readline:= + ) + gmp? ( dev-libs/gmp:0= ) + gui? ( dev-qt/qtbase:6[gui,widgets] ) + !minimal? ( dev-libs/ossp-uuid ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + ssl? ( dev-libs/openssl:0= ) + yaml? ( dev-libs/libyaml ) +" +RDEPEND=" + ${COMMON_DEPEND} + java? ( >=virtual/jre-1.8:* ) +" +DEPEND=" + ${COMMON_DEPEND} + X? ( x11-base/xorg-proto ) + java? ( + >=virtual/jdk-1.8:* + test? ( dev-java/junit:4 ) + ) +" +BDEPEND=" + virtual/pkgconfig +" + +pkg_setup() { + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + if [[ -d "${WORKDIR}"/${PV} ]] ; then + eapply "${WORKDIR}"/${PV} + fi + + sed \ + -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ + -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ + -i CMakeLists.txt || die + + sed "s/ -Werror//g" \ + -i cmake/GCCBuiltins.cmake \ + -i cmake/Config.cmake \ + -i packages/ssl/CMakeLists.txt || die + + local ncurses_lib_flags=$($(tc-getPKG_CONFIG) --libs ncurses) + sed -i "/project(SWI-Prolog)/a set(CMAKE_REQUIRED_LIBRARIES \${CMAKE_REQUIRED_LIBRARIES} ${ncurses_lib_flags})" CMakeLists.txt || die + sed -i "s:\${CURSES_LIBRARIES}:${ncurses_lib_flags}:" src/CMakeLists.txt || die + + java-pkg-opt-2_src_prepare + cmake_src_prepare +} + +src_configure() { + # Lots of UB, see https://gcc.gnu.org/PR113521 + filter-lto + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + if use pgo; then + CMAKE_BUILD_TYPE="PGO" + append-flags -Wno-error=coverage-mismatch + fi + + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + -DINSTALL_DOCUMENTATION=$(usex doc) + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_QT=$(usex gui) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_TERM=$(usex cli) + -DSWIPL_PACKAGES_TIPC=$(usex ipc) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DUSE_GMP=$(usex gmp) + -DUSE_TCMALLOC=OFF + ) + + if use test && use java; then + mycmakeargs+=( -DJUNIT_JAR="${ESYSROOT}"/usr/share/junit-4/lib/junit.jar ) + fi + + export XDG_CONFIG_DIRS="${HOME}" + export XDG_DATA_DIRS="${HOME}" + + cmake_src_configure +} + +src_install() { + cmake_src_install + + if use gui; then + doicon "${S}"/snap/gui/swipl.png + make_desktop_entry swipl-win "SWI-Prolog" swipl "Development" + fi +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst + use gui && xdg_pkg_preinst +} + +pkg_postinst() { + use gui && xdg_pkg_postinst +} + +pkg_postrm() { + use gui && xdg_pkg_postrm +} |
