commit:     3820d604d8ff4840b528a9ec38406ffcdf87d1be
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu Apr 28 05:37:18 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Thu Apr 28 05:57:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3820d604

sci-mathematics/clingo: new package, add 5.5.1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sci-mathematics/clingo/Manifest                    |  1 +
 sci-mathematics/clingo/clingo-5.5.1.ebuild         | 79 ++++++++++++++++++++++
 .../clingo/files/clingo-5.5.1-system-clasp.patch   | 56 +++++++++++++++
 sci-mathematics/clingo/metadata.xml                | 16 +++++
 4 files changed, 152 insertions(+)

diff --git a/sci-mathematics/clingo/Manifest b/sci-mathematics/clingo/Manifest
new file mode 100644
index 000000000..f65222b9f
--- /dev/null
+++ b/sci-mathematics/clingo/Manifest
@@ -0,0 +1 @@
+DIST clingo-5.5.1.tar.gz 3031728 BLAKE2B 
5d938f5974184b4dff63a8b6ae746059c8a3682c2b7ca3dfbecc020462a656608de3845b83fc1c55fe74be33d7641d4d3bc961026679c7a6b264481bbad81c89
 SHA512 
b142a869d25a188d9ecf4c62940bc73328dacd249dbcdf611c0b6fd7a15b6bb15357cef3ce9b52b863c51f2a79efd65ae405957fc6074023b0c48807d27c0e03

diff --git a/sci-mathematics/clingo/clingo-5.5.1.ebuild 
b/sci-mathematics/clingo/clingo-5.5.1.ebuild
new file mode 100644
index 000000000..f49bad27d
--- /dev/null
+++ b/sci-mathematics/clingo/clingo-5.5.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2022 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{3..4} )
+PYTHON_COMPAT=( python3_{8..10} ) # IDK how to pass pypy3
+
+inherit cmake lua-single python-single-r1 toolchain-funcs
+
+DESCRIPTION="Integrated grounder and solver for answer set logic programs"
+HOMEPAGE="
+       https://github.com/potassco/clingo
+       https://potassco.org/clingo
+"
+SRC_URI="https://github.com/potassco/${PN}/archive/refs/tags/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="examples lua python test +tools"
+
+RDEPEND="
+       sci-mathematics/clasp:=[tools]
+       sci-mathematics/libpotassco:=
+       lua? ( ${LUA_DEPS} )
+       python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       >=dev-util/re2c-0.13.5
+       >=sys-devel/bison-2.5
+       virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}/${P}-system-clasp.patch" )
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       lua? ( ${LUA_REQUIRED_USE} )
+       python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+pkg_setup() {
+       use lua && lua-single_pkg_setup
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       rm -r clasp || die
+       cmake_src_prepare
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DCLINGO_BUILD_APPS=$(usex tools)
+               -DCLINGO_BUILD_EXAMPLES=$(usex examples)
+               -DCLINGO_BUILD_TESTS=$(usex test)
+               -DCLINGO_BUILD_WITH_LUA=$(usex lua)
+               -DCLINGO_BUILD_WITH_PYTHON=$(usex python)
+
+               -DCLINGO_BUILD_STATIC=OFF
+               -DCLINGO_BUILD_WEB=OFF
+               -DCLINGO_CMAKE_AR="$(tc-getAR)"
+               -DCLINGO_CMAKE_RANLIB="$(tc-getRANLIB)"
+               -DCLINGO_INSTALL_LIB=ON
+               -DCLINGO_USE_LIB=OFF
+       )
+       if use lua; then
+               mycmakeargs+=( 
"-DCLINGO_LUA_VERSION:LIST=$(lua_get_version);EXACT" )
+               mycmakeargs+=( "-DLUACLINGO_INSTALL_DIR=$(lua_get_cmod_dir)" )
+       fi
+       if use python; then
+               local pyversion="${EPYTHON/python/}"
+               mycmakeargs+=( 
"-DCLINGO_PYTHON_VERSION:LIST=${pyversion};EXACT" )
+               mycmakeargs+=( "-DPYCLINGO_INSTALL_DIR=$(python_get_sitedir)" )
+       fi
+       cmake_src_configure
+}

diff --git a/sci-mathematics/clingo/files/clingo-5.5.1-system-clasp.patch 
b/sci-mathematics/clingo/files/clingo-5.5.1-system-clasp.patch
new file mode 100644
index 000000000..0eadf4fda
--- /dev/null
+++ b/sci-mathematics/clingo/files/clingo-5.5.1-system-clasp.patch
@@ -0,0 +1,56 @@
+diff '--color=auto' -ru 
/var/tmp/portage/sci-mathematics/clingo-5.5.1/work/clingo-5.5.1/CMakeLists.txt 
clingo-5.5.1/CMakeLists.txt
+--- 
/var/tmp/portage/sci-mathematics/clingo-5.5.1/work/clingo-5.5.1/CMakeLists.txt  
   2022-04-28 06:09:26.673973864 +0200
++++ clingo-5.5.1/CMakeLists.txt        2022-04-28 06:27:47.090303346 +0200
+@@ -232,20 +232,15 @@
+ 
+ enable_testing()
+ 
+-# NOTE: assumes that submodule has been initialized
+-set(CLASP_BUILD_APP ${CLINGO_BUILD_APPS} CACHE BOOL "")
+ if (CLINGO_USE_LIB)
+     set(clingo_library_targets)
+     add_library(libclingo INTERFACE IMPORTED)
+     set_property(TARGET libclingo PROPERTY INTERFACE_INCLUDE_DIRECTORIES 
"${CLINGO_SOURCE_DIR}/libclingo")
+     set_property(TARGET libclingo PROPERTY INTERFACE_LINK_LIBRARIES "clingo")
+ else()
++    find_package(Potassco REQUIRED)
++    find_package(Clasp REQUIRED)
+     set(clingo_library_targets libgringo libpotassco libclasp libreify)
+-    set(CLASP_USE_LOCAL_LIB_POTASSCO ON CACHE BOOL "" FORCE)
+-    if (NOT CLINGO_BUILD_SHARED AND CLINGO_INSTALL_LIB)
+-        set(CLASP_INSTALL_LIB ${CLINGO_INSTALL_LIB} CACHE BOOL "" FORCE)
+-    endif()
+-    add_subdirectory(clasp)
+     add_subdirectory(libreify)
+     add_subdirectory(libgringo)
+     add_subdirectory(libclingo)
+diff '--color=auto' -ru 
/var/tmp/portage/sci-mathematics/clingo-5.5.1/work/clingo-5.5.1/libclingo/CMakeLists.txt
 clingo-5.5.1/libclingo/CMakeLists.txt
+--- 
/var/tmp/portage/sci-mathematics/clingo-5.5.1/work/clingo-5.5.1/libclingo/CMakeLists.txt
   2022-04-28 06:09:26.590972375 +0200
++++ clingo-5.5.1/libclingo/CMakeLists.txt      2022-04-28 07:12:59.047212489 
+0200
+@@ -37,9 +37,6 @@
+     ${source-group})
+ # ]]]
+ 
+-list(APPEND header "${CLASP_SOURCE_DIR}/app/clasp_app.h")
+-list(APPEND source "${CLASP_SOURCE_DIR}/app/clasp_app.cpp")
+-
+ set(clingo_public_scope_ PUBLIC)
+ set(clingo_private_scope_ PRIVATE)
+ if (CLINGO_BUILD_SHARED)
+@@ -56,13 +53,14 @@
+ 
+ add_library(libclingo ${clingo_lib_type})
+ target_sources(libclingo ${clingo_private_scope_} ${header} ${source})
+-target_link_libraries(libclingo ${clingo_private_scope_} libgringo libclasp)
++target_link_libraries(libclingo ${clingo_private_scope_} libgringo libclasp 
-lclasp_app)
+ target_include_directories(libclingo
+     ${clingo_public_scope_}
+     "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
+     "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
+     ${clingo_private_scope_}
+-    "$<BUILD_INTERFACE:${CLASP_SOURCE_DIR}/app>")
++    "/usr/include/clasp/app"
++)
+ target_compile_definitions(libclingo ${clingo_private_scope_} 
CLINGO_BUILD_LIBRARY)
+ 
+ if (NOT CLINGO_BUILD_SHARED)

diff --git a/sci-mathematics/clingo/metadata.xml 
b/sci-mathematics/clingo/metadata.xml
new file mode 100644
index 000000000..f20bd00a3
--- /dev/null
+++ b/sci-mathematics/clingo/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <description>co-maintainers welcome</description>
+               <email>lssndrbarbi...@gmail.com</email>
+               <name>Alessandro Barbieri</name>
+       </maintainer>
+       <use>
+               <flag name="tools">whether or not to build the clingo 
tool</flag>
+       </use>
+       <upstream>
+               <bugs-to>https://github.com/potassco/clingo/issues</bugs-to>
+               <remote-id type="github">potassco/clingo</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to