summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin21008 -> 21183 bytes
-rw-r--r--dev-lang/souffle/Manifest4
-rw-r--r--dev-lang/souffle/files/souffle-2.4.1-ncurses.patch13
-rw-r--r--dev-lang/souffle/metadata.xml22
-rw-r--r--dev-lang/souffle/souffle-2.4.1.ebuild123
5 files changed, 162 insertions, 0 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 95b067f4d3b5..9bb64db2b1b6 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/souffle/Manifest b/dev-lang/souffle/Manifest
new file mode 100644
index 000000000000..b5f7884aa189
--- /dev/null
+++ b/dev-lang/souffle/Manifest
@@ -0,0 +1,4 @@
+AUX souffle-2.4.1-ncurses.patch 513 BLAKE2B 4ca9241abcc17691c12004b3632efcfb0438e6dd66753cbb40e34fa53338aacc3dfe80d3912989fee2a1694b5537627037df6052ea909385c8fa62e4ba122080 SHA512 0cf585e60e040f5b62f1511e55d97ee8831b5496e5ba431301380b454874b9720cb4c96a429122cc527aeb0d4a160f4937e1aeff7a9e57a21c5e6be1a1e27710
+DIST souffle-2.4.1.tar.gz 9668253 BLAKE2B b101a6f24df7d5bd86854d5d19c166bfe8266a9f6e8c8391fdbb79afddec7bd2297bb7af472ebc01ff2d6b0c1516820d96ec47dbf1042167b1435c22f9671ea3 SHA512 5dd321a2b025f2120d7867fa7317b4784a0f0fcc109250721cdb0918009ca218c63cdad004282046885f7096b287bc111e09057311603828ecce53f9cc532319
+EBUILD souffle-2.4.1.ebuild 2570 BLAKE2B d56517c3e754f68b4b1d6ec347107c5d1cf7386b07ab75696190b6ff9ced99d755fb7167fdc37dcf46730aecb5976da251e33f72423851b3a58b80688725c0f5 SHA512 45effdc17500672bede3ba8f517401fc05ab2b01f2e95df11dd69029d4f94a6165964e4e4e10c09f00b0678787d8d462527a2dee5ce8315f6433f5252cc2ea30
+MISC metadata.xml 815 BLAKE2B 6685650f4fe61a45d10eafe2ed7d328638b0fb3d2dd23811e77c481d0b9f1d68074d3d29cb386b0060de5e193deb2abf9f8a33634f122cec54fb1c77966bfff3 SHA512 f42d5bbf5e9e8ffb311cb304e99a6b8e6b580e78312b18cdf450998ddda6da56c035a8fea41c5e9df5eb6e7c0b5b2187097eb13a6f54bf3604d9736ee6ea98d7
diff --git a/dev-lang/souffle/files/souffle-2.4.1-ncurses.patch b/dev-lang/souffle/files/souffle-2.4.1-ncurses.patch
new file mode 100644
index 000000000000..96882d9f29da
--- /dev/null
+++ b/dev-lang/souffle/files/souffle-2.4.1-ncurses.patch
@@ -0,0 +1,13 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -288,8 +288,8 @@ endif()
+ if (SOUFFLE_USE_CURSES)
+ target_compile_definitions(libsouffle PUBLIC USE_NCURSES)
+ target_compile_definitions(compiled PUBLIC USE_NCURSES)
+- target_link_libraries(libsouffle PUBLIC Curses::NCurses)
+- target_link_libraries(compiled PUBLIC Curses::NCurses)
++ target_link_libraries(libsouffle PUBLIC ${CURSES_LIBRARIES})
++ target_link_libraries(compiled PUBLIC ${CURSES_LIBRARIES})
+ endif()
+
+ if (SOUFFLE_USE_ZLIB)
diff --git a/dev-lang/souffle/metadata.xml b/dev-lang/souffle/metadata.xml
new file mode 100644
index 000000000000..b76f2d6201e7
--- /dev/null
+++ b/dev-lang/souffle/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription>
+ Soufflé is a variant of Datalog for tool designers crafting analyses in
+ Horn clauses. Soufflé synthesizes a native parallel C++ program from a
+ logic specification.
+ </longdescription>
+ <use>
+ <flag name="ffi">Support c++ functors with arbitrary number of arguments</flag>
+ <flag name="swig">Enable SWIG usage, needed for Java and Python bindings</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/souffle-lang/souffle/issues/</bugs-to>
+ <remote-id type="github">souffle-lang/souffle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lang/souffle/souffle-2.4.1.ebuild b/dev-lang/souffle/souffle-2.4.1.ebuild
new file mode 100644
index 000000000000..5bf3f618cb58
--- /dev/null
+++ b/dev-lang/souffle/souffle-2.4.1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 ~x86"
+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? ( sys-libs/libomp:= )
+ 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"
+)
+
+pkg_pretend() {
+ if [[ "${MERGE_TYPE}" != binary ]] ; then
+ if has ccache "${FEATURES}" && use test ; then
+ ewarn "Very many 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
+ -DSOUFFLE_VERSION="${PV}"
+ )
+ 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
+}