diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-03-18 08:23:00 +0100 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-04-12 08:26:24 -0400 |
commit | 3a1a70b447bd88b6bc4e581a596dd484ce2ee4a4 (patch) | |
tree | f09a4d432fe6a1239940591d97a9ff4f8ca2b6d9 /gnu/packages/maths.scm | |
parent | ce803f12f629ec6f8958fbb4d2b478419bf74c4e (diff) | |
download | guix-3a1a70b447bd88b6bc4e581a596dd484ce2ee4a4.tar guix-3a1a70b447bd88b6bc4e581a596dd484ce2ee4a4.tar.gz |
gnu: Separate potassco packages into their own module.
* gnu/packages/potassco.scm: New file.
* gnu/packages/maths.scm (libpotassco, clasp, clingo, python-clingo)
(python-telingo): Move to potassco module. Adjust imports accordingly.
* gnu/packages/emacs-xyz.scm (emacs-pasp-mode): Move to potassco module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add %D%/packages/potassco.scm.
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r-- | gnu/packages/maths.scm | 263 |
1 files changed, 0 insertions, 263 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 286532fa70..be93d4a26f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -97,7 +97,6 @@ #:use-module (guix build-system ocaml) #:use-module (guix build-system perl) #:use-module (guix build-system python) - #:use-module (guix build-system pyproject) #:use-module (guix build-system ruby) #:use-module (gnu packages algebra) #:use-module (gnu packages audio) @@ -135,7 +134,6 @@ #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages less) - #:use-module (gnu packages libffi) #:use-module (gnu packages lisp) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -2660,267 +2658,6 @@ Computational Engineering and Sciences} at The University of Texas at Austin. includes a complete LAPACK implementation.") (license license:bsd-3))) -(define-public libpotassco - ;; No public release, update together with clasp - (let ((revision "1") - (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821")) - (package - (name "libpotassco") - (version (git-version "0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/libpotassco") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn")))) - (arguments - `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on" - "-DLIB_POTASSCO_INSTALL_LIB=on" - "-DBUILD_SHARED_LIBS=on") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-cmake - (lambda _ - (substitute* "CMakeLists.txt" - ;; clasp expects lowercase potassco and include directory is - ;; lowercase as well, so let's use that - (("\"cmake/Potassco\"") "\"cmake/potassco\"") - (("PotasscoConfig\\.cmake") "potassco-config.cmake") - (("PotasscoConfigVersion\\.cmake") - "potassco-config-version.cmake")) - (rename-file "cmake/PotasscoConfig.cmake.in" - "cmake/potassco-config.cmake.in")))))) - (build-system cmake-build-system) - (home-page "https://potassco.org/") - (synopsis "Utility library for Potassco's projects") - (description "@code{libpotassco} is a utility library providing functions -and datatypes for -@itemize -@item parsing, writing, and converting logic programs in aspif and smodels -format, -@item passing information between a grounder and a solver, -@item and defining and parsing command-line options and for creating -command-line applications. -@end itemize -Furthermore, it comes with the tool @command{lpconvert} that converts either -between aspif and smodels format or to a human-readable text format.") - (license license:expat)))) - -(define-public clasp - (package - (name "clasp") - (version "3.3.9") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/clasp") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags '("-DCLASP_BUILD_TESTS=on" - "-DCLASP_INSTALL_LIB=on" - "-DCLASP_USE_LOCAL_LIB_POTASSCO=off" - "-DBUILD_SHARED_LIBS=on") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-cmake - (lambda _ - (substitute* "CMakeLists.txt" - ;; Use lowercase to be consistent with libpotassco - (("\"cmake/Clasp\"") "\"cmake/clasp\"") - (("ClaspConfig\\.cmake") "clasp-config.cmake") - (("ClaspConfigVersion\\.cmake") - "clasp-config-version.cmake")) - (substitute* "cmake/ClaspConfig.cmake.in" - (("find_package\\(Potassco") "find_package(potassco")) - (rename-file "cmake/ClaspConfig.cmake.in" - "cmake/clasp-config.cmake.in")))))) - (inputs - (list libpotassco)) - (home-page "https://potassco.org/") - (synopsis "Answer set solver") - (description "clasp is an answer set solver for (extended) normal and -disjunctive logic programs. The primary algorithm of clasp relies on -conflict-driven nogood learning, a technique that proved very successful for -satisfiability checking (SAT).") - (license license:expat))) - -(define-public clingo - (package - (name "clingo") - (version "5.6.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/clingo") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - #~(begin - (delete-file-recursively "clasp") - ;; TODO: Unvendor other third-party stuff - (delete-file-recursively "third_party/catch"))) - (sha256 - (base32 - "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys")))) - (build-system cmake-build-system) - (arguments - (list - #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on" - "-DCLINGO_INSTALL_LIB=on" - "-DCLINGO_BUILD_STATIC=off" - "-DCLINGO_BUILD_SHARED=on" - "-DCLINGO_USE_LOCAL_CLASP=off" - "-DCLINGO_USE_LOCAL_CATCH=off") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patch-cmake - (lambda _ - (substitute* "CMakeLists.txt" - (("add_subdirectory\\(clasp\\)") - "find_package(clasp REQUIRED)")) - (substitute* "libclingo/CMakeLists.txt" - (("\"cmake/Clingo\"") "\"cmake/clingo\"") - (("ClingoConfig\\.cmake") "clingo-config.cmake") - (("ClingoConfigVersion\\.cmake") - "clingo-config-version.cmake")) - (substitute* "cmake/ClingoConfig.cmake.in" - (("find_package\\(Clasp") "find_package(clasp")) - (rename-file "cmake/ClingoConfig.cmake.in" - "cmake/clingo-config.cmake.in"))) - (add-after 'unpack 'skip-failing-tests - (lambda _ - (with-directory-excursion "libclingo/tests" - (substitute* "CMakeLists.txt" - (("COMMAND test_clingo" all) - (string-append all - " -f " - "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\""))) - (call-with-output-file "good.txt" - (lambda (port) - (for-each (lambda (test) (format port "~s~%" test)) - '("parse-ast-v2" "add-ast-v2" "build-ast-v2" - "unpool-ast-v2" "parse_term" - "propagator" "propgator-sequence-mining" - "symbol" "visitor")))))))))) - (inputs (list catch2-3.1 clasp libpotassco)) - (native-inputs (list pkg-config)) - (home-page "https://potassco.org/") - (synopsis "Grounder and solver for logic programs") - (description "Clingo computes answer sets for a given logic program.") - (license license:expat))) - -(define-public python-clingo - (package - (inherit clingo) - (name "python-clingo") - (version (package-version clingo)) ; for #$version in arguments - (arguments - (substitute-keyword-arguments (package-arguments clingo) - ((#:configure-flags flags #~'()) - #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip" - "-DCLINGO_USE_LIB=yes" - #$flags)) - ((#:imported-modules _ '()) - `(,@%cmake-build-system-modules - (guix build python-build-system))) - ((#:modules _ '()) - '((guix build cmake-build-system) - ((guix build python-build-system) #:prefix python:) - (guix build utils))) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'unpack 'fix-failing-tests - (lambda _ - (substitute* "libpyclingo/clingo/tests/test_conf.py" - (("ctl\\.solve\\(on_statistics=on_statistics\\)" all) - (string-append - all - "; self.skipTest(\"You shall not fail.\")"))))) - (add-after 'install 'install-distinfo - (lambda* (#:key inputs outputs #:allow-other-keys) - (with-directory-excursion (python:site-packages inputs outputs) - (let ((dir (string-append "clingo-" #$version ".dist-info"))) - (mkdir-p dir) - (call-with-output-file (string-append dir "/METADATA") - (lambda (port) - (format port "Metadata-Version: 1.1~%") - (format port "Name: clingo~%") - (format port "Version: ~a~%" #$version))))))))))) - (inputs (list clingo python-wrapper)) - (propagated-inputs (list python-cffi)) - (native-inputs (modify-inputs (package-native-inputs clingo) - (prepend python-scikit-build))) - (synopsis "Python bindings for clingo") - (description "This package provides Python bindings to the clingo package, -making it so that you can write @acronym{ASPs, Answer Set Programs} through -Python code."))) - -(define-public python-clorm - (package - (name "python-clorm") - (version "1.4.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/clorm") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5")))) - (build-system pyproject-build-system) - (arguments - (list #:phases - #~(modify-phases %standard-phases - (add-before 'check 'fix-breaking-tests - (lambda _ - ;; noclingo tests rely on this being set - (setenv "CLORM_NOCLINGO" "1") - (delete-file "tests/test_mypy_query.py") - (substitute* "tests/test_clingo.py" - (("self\\.assertTrue\\(os_called\\)" all) - (string-append "# " all)))))))) - (propagated-inputs (list python-clingo)) - (native-inputs (list python-typing-extensions)) - (home-page "https://potassco.org") - (synopsis "Object relational mapping to clingo") - (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM, -Object Relational Mapping} interface to the @acronym{ASP, answer set -programming} solver clingo. Its goal is to make integration of clingo -into Python programs easier.") - (license license:expat))) - -(define-public python-telingo - (package - (name "python-telingo") - (version "2.1.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/telingo") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (patches (search-patches "python-telingo-fix-comparison.patch")) - (sha256 - (base32 - "0g3khxfdzc2hc7dkiyyqhb399h6h21m5wkp6wy8w71n0m32fiy53")))) - (build-system pyproject-build-system) - (propagated-inputs (list python-clingo)) - (home-page "https://potassco.org/") - (synopsis "Solve dynamic temporal logic programs") - (description "This package provides a system to solve dynamic temporal -logic programs based on clingo.") - (license license:expat))) - (define-public scasp (let ((commit "89a427aa04ec6346425a40111c99b310901ffe51") (revision "1")) |