diff options
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/Manifest.gz | bin | 21008 -> 21183 bytes | |||
-rw-r--r-- | dev-lang/souffle/Manifest | 4 | ||||
-rw-r--r-- | dev-lang/souffle/files/souffle-2.4.1-ncurses.patch | 13 | ||||
-rw-r--r-- | dev-lang/souffle/metadata.xml | 22 | ||||
-rw-r--r-- | dev-lang/souffle/souffle-2.4.1.ebuild | 123 |
5 files changed, 162 insertions, 0 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex 95b067f4d3b5..9bb64db2b1b6 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz 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 +} |