summaryrefslogtreecommitdiff
path: root/dev-lang/swi-prolog
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-08 12:15:59 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-08 12:15:59 +0000
commit6a57f9ee53dc794f3d47ea68f78d6ef76d00af47 (patch)
treedc9e574f3209abd88e91e2ee0d6093f4fe78e2d3 /dev-lang/swi-prolog
parent268f9f01921ccb921b794d43092c5f29c1e96c56 (diff)
gentoo auto-resync : 08:01:2023 - 12:15:59
Diffstat (limited to 'dev-lang/swi-prolog')
-rw-r--r--dev-lang/swi-prolog/Manifest6
-rw-r--r--dev-lang/swi-prolog/metadata.xml5
-rw-r--r--dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild (renamed from dev-lang/swi-prolog/swi-prolog-8.4.2.ebuild)155
3 files changed, 103 insertions, 63 deletions
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index ac3441042e58..2f2ac92d69e6 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -1,9 +1,9 @@
DIST swipl-8.4.1.tar.gz 11386908 BLAKE2B bd53355abe63ffde348ed38b0e7fee4bcba4e74128c73904a72ca3ba2021a8b650d08480a643ea3336f3fc6d1d7bcf7651deb1d32608581ce43bc118288df6da SHA512 22806d8abd0b729e27a6d7bbbd0df37af8af21bb186a8de58ec5f9a1d32c9a477838fd10155ff21998737fcc2aaf4711d1d4d5457ce5d62e328d5da032474ee5
-DIST swipl-8.4.2.tar.gz 11396705 BLAKE2B c0835bdbc09171ef00ccc52df14d07651ac42e36ab7bd6e6a72348050d3547a817bec13f2facd8fe051291dc3f0f80f64ed5c8a55e22dba314ccf896434013cf SHA512 1578d01c09ab7ee97c92703f58bab4d0fa5b94dc09092f87059e5002f3e4efbe0b9e85483e8b0a350837825c8b16d3b15c2e75df020571740fab6f1978d69669
DIST swipl-8.5.11.tar.gz 11480652 BLAKE2B eb812a272d3fbcb181c5cee0dd033f6b7ffdee467bf37c645a98a34ce455189ded7b7c678482e992918477160a6a585ea07dcc38a4aa123eb5f4e04a35dc20d0 SHA512 00387d25548198e0d738cc210a0769130a6ad6fb0596dec04539b1fb85ab8d660a73fec1fe5f5d01878b90e8736018dbb0c8cfd240e1d6b2b62c0bb892f0826c
DIST swipl-8.5.12.tar.gz 11489072 BLAKE2B 1c8ce7a0386c20be8e2eeac9d31df5862adf78ce0341e31b1ebcc42a923403c28707da12b88ba0773f5ebfdd61efe5a8d38a99f8f20aa47672fd51cdc4fbfb8e SHA512 d530fb7048cd80fa0f07b7b026279915cbb58dd7b8199daafe13c22659c5ffeac62168bcc9208c7bbd72616f54d453f5161c1fc08bf5497ba87abc12e5e8e7df
+DIST swipl-9.1.2.tar.gz 11827220 BLAKE2B e4bf40d1b4d0c48af5e630728208ca849b9a3d0f4129c827b98cd8d666b934218bbbee4c357b67cdd72b9e15046b70a873ffd9e31eaacac620a9aba6a7aec7fd SHA512 d47375c21ed33a2822b9df294a709141fc2e1f0aa61a297bd51a504f6f7859a1deb0ea6705d30b6f8198c71f440b176c7259bd83bff1ac5393ced77fdfbf564a
EBUILD swi-prolog-8.4.1.ebuild 3177 BLAKE2B 2c3984b0a9aff83643922c5d8ad4beaab21a6ddcf6cd4090e23ad4a770d104e6d3f2f75c9d4bf910e720e23eb5e1f73ae999c5dc7012c2b0ddd660171478f9c2 SHA512 488763c483a760a468319742bca8df6135dbb8f754176dfc21b337d051c48f42d7ceddb210bddaaa3a599d5b162a474694bfbb8a68f16d146496d1d087ec9c29
-EBUILD swi-prolog-8.4.2.ebuild 3250 BLAKE2B 7f9187ceaa1e9321b65451ccd79ca4840d9eeea297af79d8ddf8f1e54bd69a6abf37e9cda66ab991345d0c5802833a34f1381b7fc28f542645fa59854a71b489 SHA512 1863da90675ec911ae3a9c5d66d618a2aa12ea324d2e928873a313c8b2842330bf5657ab25fc74137af64826635fc2035ca1f0d565eb806ac6c37275c433d48c
EBUILD swi-prolog-8.5.11.ebuild 3191 BLAKE2B 4a7e883cb444a54f71acd8fa37bdef88b900c0dcaa948a9429ea1d320cb650c1fa381a0780570f69e96eeb341f20d54ec4715700aa645255c5d140c6dcc798bd SHA512 efb05a84a5876bda9c55970f98b3a0195fa34a495e1c7b16d6058d18c9ac1091e01e975f0fc00d3416b84bcfdc086268e5e3c206fdbcf49e546a921bcbf47785
EBUILD swi-prolog-8.5.12.ebuild 3249 BLAKE2B a0fee95fa73564d28ca8fdba9293ab89d6abb64c029f9166a181aee4c4adf0afba0bda99cac671b1b61c564f0cb4fac2cc8941010e38384cc63dfdef37fe82da SHA512 df2624efb0fc37a7a445860c62599bbc615eb4b3e90b172b0721985be178e851e0ff81ee0c8dd1adab061a122ab9bdd5408b0d5be13e821ca73e14bc1c5fd847
-MISC metadata.xml 420 BLAKE2B 9818164553dd7e47db556eebaa71cabc54621317465c3ef09a0fae22259c9d20bede548a61ffa383e9df8eaf6efa6b5ac800d49b1ee5cae3691d0112ed4a2a30 SHA512 6ce90a29c77852e822d5c35c4a1b0b4a093cb90070656b06b09337c57f00fb6ff42ae3c8178a22bee17ffcec8f40ea4ed6c9d0cecf4afe74e01b3389479fa4ff
+EBUILD swi-prolog-9.1.2.ebuild 3908 BLAKE2B a5675a9fc7e275280f914a5a32d88ac05308667a3fa683e19d12ebb0cb7060152a1142416a4851548c0c0b5894341116ec0010e9ec41b85f28eb7d8923b4fe63 SHA512 f2069e7488df16ec00b050f75b230611c6241068351ea32704d293bd989462f9649563e9834d6ce4ec17130fedbedaa84c049703c41335e31039125c6b55a597
+MISC metadata.xml 835 BLAKE2B 74eb565d22c6f7767dcb593fddff34fefff136f81558f674d62ce259d0988b15294c9947fff4b594e800108906a7f024c36c0b52d2ce090e86da0cb88cde163c SHA512 5f337a4020d75a08af811b76661c6e0206be0765f3a3a467947465217676665c5ba8f19d1914435d072e1d12383405801696342259984e2a0e72e80ad5073dd6
diff --git a/dev-lang/swi-prolog/metadata.xml b/dev-lang/swi-prolog/metadata.xml
index fb3da4793ad9..f346160e6877 100644
--- a/dev-lang/swi-prolog/metadata.xml
+++ b/dev-lang/swi-prolog/metadata.xml
@@ -7,7 +7,10 @@
</maintainer>
<use>
<flag name="archive">Use libarchive for extension packs</flag>
- <flag name="uuid">Use ossp-uuid for UUID pack</flag>
+ <flag name="cli" restrict="&gt;=dev-lang/swi-prolog-8.5.20">Add support for CLI interfaces based on readline and libedit</flag>
+ <flag name="ipc" restrict="&gt;=dev-lang/swi-prolog-8.5.20">Add support for TIPC inter-process communication</flag>
+ <flag name="pgo" restrict="&gt;=dev-lang/swi-prolog-8.5.20">Optimize the build using Profile Guided Optimization (PGO)</flag>
+ <flag name="uuid" restrict="&lt;dev-lang/swi-prolog-8.5.20">Use ossp-uuid for UUID pack</flag>
<flag name="yaml">Use libyaml for YAML pack</flag>
</use>
</pkgmetadata>
diff --git a/dev-lang/swi-prolog/swi-prolog-8.4.2.ebuild b/dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild
index fc8d61141e4d..e7f92df2f131 100644
--- a/dev-lang/swi-prolog/swi-prolog-8.4.2.ebuild
+++ b/dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild
@@ -1,58 +1,78 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake desktop xdg-utils flag-o-matic toolchain-funcs java-pkg-opt-2
+inherit cmake desktop flag-o-matic java-pkg-opt-2 toolchain-funcs xdg
PATCHSET_VER="0"
+MY_P="swipl-${PV}"
DESCRIPTION="Versatile implementation of the Prolog programming language"
HOMEPAGE="https://www.swi-prolog.org/"
-SRC_URI="https://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz"
+SRC_URI="https://www.swi-prolog.org/download/devel/src/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test +uuid X yaml"
+IUSE="X archive berkdb +cli debug doc +gmp gui +ipc java minimal odbc pcre pgo qt6 ssl test yaml"
RESTRICT="!test? ( test )"
-RDEPEND="sys-libs/ncurses:=
- sys-libs/zlib
+# 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:=
- archive? ( app-arch/libarchive:= )
- berkdb? ( >=sys-libs/db-4:= )
- odbc? ( dev-db/unixODBC )
- pcre? ( dev-libs/libpcre )
- readline? ( sys-libs/readline:= )
- libedit? ( dev-libs/libedit )
- gmp? ( dev-libs/gmp:0= )
- ssl? ( dev-libs/openssl:0= )
- java? ( >=virtual/jdk-1.8:* )
- uuid? ( dev-libs/ossp-uuid )
- qt5? (
- dev-qt/qtwidgets:5
- dev-qt/qtgui:5
- )
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
- x11-libs/libICE
- x11-libs/libSM )
- yaml? ( dev-libs/libyaml )"
-
-DEPEND="${RDEPEND}
+ )
+ archive? ( app-arch/libarchive:= )
+ berkdb? ( >=sys-libs/db-4:= )
+ cli? (
+ dev-libs/libedit
+ sys-libs/readline:=
+ )
+ gmp? ( dev-libs/gmp:0= )
+ gui? (
+ !qt6? (
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( 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? ( test? ( =dev-java/junit-3.8* ) )"
-
+ java? (
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/junit:4 )
+ )
+"
BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/swipl-${PV}"
-
pkg_setup() {
java-pkg-opt-2_pkg_setup
}
@@ -62,14 +82,21 @@ src_prepare() {
eapply "${WORKDIR}"/${PV}
fi
- sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \
+ 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
}
@@ -77,57 +104,67 @@ src_configure() {
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
- -DUSE_GMP=$(usex gmp)
- -DINSTALL_DOCUMENTATION=$(use doc && usex archive)
- -DSWIPL_PACKAGES_BASIC=$(usex !minimal)
-DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
- -DSWIPL_PACKAGES_ODBC=$(usex odbc)
+ -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_YAML=$(usex yaml)
-DSWIPL_PACKAGES_SSL=$(usex ssl)
- -DSWIPL_PACKAGES_JAVA=$(usex java)
- -DSWIPL_PACKAGES_QT=$(usex qt5)
+ -DSWIPL_PACKAGES_TERM=$(usex cli)
+ -DSWIPL_PACKAGES_TIPC=$(usex ipc)
-DSWIPL_PACKAGES_X=$(usex X)
- -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
+ -DSWIPL_PACKAGES_YAML=$(usex yaml)
+ -DUSE_GMP=$(usex gmp)
+ -DUSE_TCMALLOC=OFF
)
- cmake_src_configure
-}
+ if use gui; then
+ mycmakeargs+=(
+ -DSWIPL_PACKAGES_QT=yes
+ $(cmake_use_find_package qt6 Qt6)
+ )
+ else
+ mycmakeargs+=( -DSWIPL_PACKAGES_QT=no )
+ fi
-src_compile() {
- XDG_CONFIG_DIRS="${HOME}" \
- XDG_DATA_DIRS="${HOME}" \
- cmake_src_compile
-}
+ 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}"
-src_test() {
- USE_PUBLIC_NETWORK_TESTS=false \
- USE_ODBC_TESTS=false \
- cmake_src_test -V
+ cmake_src_configure
}
src_install() {
cmake_src_install
- if use qt5; then
+ 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() {
- if use qt5; then
- xdg_icon_cache_update
- xdg_desktop_database_update
- fi
+ use gui && xdg_pkg_postinst
}
pkg_postrm() {
- if use qt5; then
- xdg_icon_cache_update
- xdg_desktop_database_update
- fi
+ use gui && xdg_pkg_postrm
}