commit: 53bcd3e787ae6f9a5c06aaa49843be8705b7e880
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 24 22:24:40 2025 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Mon Mar 24 22:45:35 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53bcd3e7
dev-lang/souffle: bump to 2.5
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
dev-lang/souffle/Manifest | 1 +
dev-lang/souffle/souffle-2.5.ebuild | 123 ++++++++++++++++++++++++++++++++++++
2 files changed, 124 insertions(+)
diff --git a/dev-lang/souffle/Manifest b/dev-lang/souffle/Manifest
index 5be2a57dc07a..86895d1912a0 100644
--- a/dev-lang/souffle/Manifest
+++ b/dev-lang/souffle/Manifest
@@ -1 +1,2 @@
DIST souffle-2.4.1.tar.gz 9668253 BLAKE2B
b101a6f24df7d5bd86854d5d19c166bfe8266a9f6e8c8391fdbb79afddec7bd2297bb7af472ebc01ff2d6b0c1516820d96ec47dbf1042167b1435c22f9671ea3
SHA512
5dd321a2b025f2120d7867fa7317b4784a0f0fcc109250721cdb0918009ca218c63cdad004282046885f7096b287bc111e09057311603828ecce53f9cc532319
+DIST souffle-2.5.tar.gz 9707629 BLAKE2B
76e4499f719e118ba3d82e22548d6cbef1792ba1f44ba08ec5888976e6d76ee822b867806d02bf6a77adf756886ba09fd00070cc51256e2eda6e89c7b2089202
SHA512
a99daa9dccbf7e681115f0dc7c0a83906fd1f18735a421a8037b2f7b4bde3580c125a2d6aa9c472b2e9a54d0afcd2b34479b7680b3e4b77c79bfcc61e06acd86
diff --git a/dev-lang/souffle/souffle-2.5.ebuild
b/dev-lang/souffle/souffle-2.5.ebuild
new file mode 100644
index 000000000000..02b551fcbee1
--- /dev/null
+++ b/dev-lang/souffle/souffle-2.5.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit bash-completion-r1 cmake java-pkg-opt-2 python-single-r1
+
+DESCRIPTION="Datalog compiler, synthesizes C++ program from logic
specification"
+HOMEPAGE="http://souffle-lang.github.io/
+ https://github.com/souffle-lang/souffle/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/souffle-lang/${PN}.git"
+else
+ SRC_URI="https://github.com/souffle-lang/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="UPL-1.0"
+SLOT="0"
+IUSE="+ffi java +ncurses +openmp python +sqlite swig test +zlib"
+REQUIRED_USE="java? ( swig ) python? ( swig ) test? ( ${PYTHON_REQUIRED_USE} )"
+
+# Still, some tests fail. TODO: Disable them.
+# RESTRICT="!test? ( test )"
+RESTRICT="test"
+
+RDEPEND="
+ ffi? ( dev-libs/libffi:= )
+ ncurses? ( sys-libs/ncurses:= )
+ openmp? ( llvm-runtimes/openmp:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3 )
+ swig? ( dev-lang/swig:= )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="
+ ${RDEPEND}
+ java? ( >=virtual/jdk-1.8 )
+"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ test? ( ${PYTHON_DEPS} )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.1-ncurses.patch"
+ "${FILESDIR}/${PN}-2.4.1-threads.patch"
+)
+
+pkg_pretend() {
+ if [[ "${MERGE_TYPE}" != binary ]] ; then
+ if has ccache "${FEATURES}" && use test ; then
+ ewarn "A lot of tests fail with \"ccache\" enabled."
+ fi
+ fi
+}
+
+pkg_setup() {
+ if use java ; then
+ java-pkg-opt-2_pkg_setup
+ fi
+
+ if use python || use test ; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ unset LEX
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local -a mycmakeargs=(
+ # Configure bash completions.
+ -DBASH_COMPLETION_COMPLETIONSDIR=$(get_bashcompdir)
+ -DSOUFFLE_BASH_COMPLETION=ON
+
+ # Disable developer tests.
+ -DSOUFFLE_TEST_EVALUATION=OFF
+ -DSOUFFLE_TEST_EXAMPLES=OFF
+
+ -DSOUFFLE_ENABLE_TESTING=$(usex test)
+ -DSOUFFLE_SWIG_JAVA=$(usex java)
+ -DSOUFFLE_SWIG_PYTHON=$(usex python)
+ -DSOUFFLE_USE_CURSES=$(usex ncurses)
+ -DSOUFFLE_USE_LIBFFI=$(usex ffi)
+ -DSOUFFLE_USE_OPENMP=$(usex openmp)
+ -DSOUFFLE_USE_SQLITE=$(usex sqlite)
+ -DSOUFFLE_USE_ZLIB=$(usex zlib)
+ )
+
+ # Version information for non-git, non-live builds.
+ if ! has live "${PROPERTIES}" ; then
+ mycmakeargs+=(
+ -DSOUFFLE_GIT="OFF"
+ )
+ fi
+
+ if use ffi ; then
+ mycmakeargs+=(
+
-DLIBFFI_INCLUDE_DIR="${EPREFIX}/usr/$(get_libdir)/libffi/include"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ doman man/*.1
+}