gnu: clingo: Unbundle dependencies.

* gnu/packages/potassco.scm: (clingo)[#:phases]: Patch CMakeLists.txt files to
use external dependencies.
[native-inputs]: Add mpark-variant, tl-optional, tsl-hopscotch-map,
tsl-ordered-map and tsl-sparse-map.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
David Elsing 2023-06-25 10:03:58 +00:00 committed by Liliana Marie Prikler
parent 1a86c362a1
commit 770f4ef198
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2023 David Elsing <david.elsing@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -31,6 +32,7 @@ (define-module (gnu packages potassco)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -153,8 +155,7 @@ (define-public clingo
(snippet (snippet
#~(begin #~(begin
(delete-file-recursively "clasp") (delete-file-recursively "clasp")
;; TODO: Unvendor other third-party stuff (delete-file-recursively "third_party")))
(delete-file-recursively "third_party/catch")))
(sha256 (sha256
(base32 (base32
"19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys")))) "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys"))))
@ -173,12 +174,22 @@ (define-public clingo
(lambda _ (lambda _
(substitute* "CMakeLists.txt" (substitute* "CMakeLists.txt"
(("add_subdirectory\\(clasp\\)") (("add_subdirectory\\(clasp\\)")
"find_package(clasp REQUIRED)")) "find_package(clasp REQUIRED)")
(("add_subdirectory\\(third_party\\)")
(string-append
"find_package(tsl-hopscotch-map)\n"
"find_package(tl-optional)\n"
"find_package(mpark_variant)\n"
"find_package(tsl-sparse-map)\n"
"find_package(tsl-ordered-map)\n"
"find_package(Catch2 3 REQUIRED)")))
(substitute* "libclingo/CMakeLists.txt" (substitute* "libclingo/CMakeLists.txt"
(("\"cmake/Clingo\"") "\"cmake/clingo\"") (("\"cmake/Clingo\"") "\"cmake/clingo\"")
(("ClingoConfig\\.cmake") "clingo-config.cmake") (("ClingoConfig\\.cmake") "clingo-config.cmake")
(("ClingoConfigVersion\\.cmake") (("ClingoConfigVersion\\.cmake")
"clingo-config-version.cmake")) "clingo-config-version.cmake"))
(substitute* "libgringo/CMakeLists.txt"
(("mpark::variant") "mpark_variant"))
(substitute* "cmake/ClingoConfig.cmake.in" (substitute* "cmake/ClingoConfig.cmake.in"
(("find_package\\(Clasp") "find_package(clasp")) (("find_package\\(Clasp") "find_package(clasp"))
(rename-file "cmake/ClingoConfig.cmake.in" (rename-file "cmake/ClingoConfig.cmake.in"
@ -199,7 +210,12 @@ (define-public clingo
"propagator" "propgator-sequence-mining" "propagator" "propgator-sequence-mining"
"symbol" "visitor")))))))))) "symbol" "visitor"))))))))))
(inputs (list catch2-3.1 clasp libpotassco)) (inputs (list catch2-3.1 clasp libpotassco))
(native-inputs (list pkg-config)) (native-inputs (list mpark-variant
pkg-config
tl-optional
tsl-hopscotch-map
tsl-ordered-map
tsl-sparse-map))
(home-page "https://potassco.org/") (home-page "https://potassco.org/")
(synopsis "Grounder and solver for logic programs") (synopsis "Grounder and solver for logic programs")
(description "Clingo computes answer sets for a given logic program.") (description "Clingo computes answer sets for a given logic program.")