From 53bcd3e787ae6f9a5c06aaa49843be8705b7e880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Bar=C4=87?= Date: Mon, 24 Mar 2025 23:24:40 +0100 Subject: [PATCH] dev-lang/souffle: bump to 2.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maciej Barć --- dev-lang/souffle/Manifest | 1 + dev-lang/souffle/souffle-2.5.ebuild | 123 ++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 dev-lang/souffle/souffle-2.5.ebuild diff --git a/dev-lang/souffle/Manifest b/dev-lang/souffle/Manifest index 5be2a57dc07ad..86895d1912a01 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 0000000000000..02b551fcbee18 --- /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 +}