From c34c3b1c2b1006ebeede016cca578d5f571fc7a8 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 23 Nov 2023 10:23:58 +0100 Subject: gnu: Add plasp. * gnu/packages/patches/plasp-fix-normalization.patch: New file. * gnu/packages/patches/plasp-include-iostream.patch: New file. * gnu/local.mk (dist_patch_DATA): Register them here. * gnu/packages/potassoc.scm (plasp): New variable. Change-Id: I0d8d64153b180a7d1d8d81888f843458efdf5e51 --- gnu/local.mk | 2 + gnu/packages/patches/plasp-fix-normalization.patch | 51 ++++++++++++++++++++++ gnu/packages/patches/plasp-include-iostream.patch | 26 +++++++++++ gnu/packages/potassco.scm | 32 ++++++++++++++ 4 files changed, 111 insertions(+) create mode 100644 gnu/packages/patches/plasp-fix-normalization.patch create mode 100644 gnu/packages/patches/plasp-include-iostream.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index a8142bb0f2..a82372527e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1751,6 +1751,8 @@ dist_patch_DATA = \ %D%/packages/patches/password-store-tree-compat.patch \ %D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \ %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \ + %D%/packages/patches/plasp-fix-normalization.patch \ + %D%/packages/patches/plasp-include-iostream.patch \ %D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch \ %D%/packages/patches/pokerth-boost.patch \ %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ diff --git a/gnu/packages/patches/plasp-fix-normalization.patch b/gnu/packages/patches/plasp-fix-normalization.patch new file mode 100644 index 0000000000..dc2d3e4b98 --- /dev/null +++ b/gnu/packages/patches/plasp-fix-normalization.patch @@ -0,0 +1,51 @@ +From cddbfa3ade23695dd9996f6e208615702a3a42e1 Mon Sep 17 00:00:00 2001 +From: Liliana Marie Prikler +Date: Thu, 23 Nov 2023 09:53:38 +0100 +Subject: [PATCH 1/2] normalization: No longer work around compiler bugs in + Precondition. +To: Patrick Lühne +Cc: Martin Gebser + +Newer versions of GCC (such as GCC 11) point out that std::move is meaningless +in this position, so remove it. +--- + lib/pddl/src/pddl/detail/normalization/Precondition.cpp | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/lib/pddl/src/pddl/detail/normalization/Precondition.cpp b/lib/pddl/src/pddl/detail/normalization/Precondition.cpp +index 4eebfee..4297e52 100644 +--- a/lib/pddl/src/pddl/detail/normalization/Precondition.cpp ++++ b/lib/pddl/src/pddl/detail/normalization/Precondition.cpp +@@ -83,8 +83,7 @@ normalizedAST::Literal normalizeNested(ast::AndPointer &and_, + + derivedPredicate->declaration->precondition = std::make_unique>(std::move(normalizedArguments)); + +- // TODO: investigate, could be a compiler bug +- return std::move(derivedPredicate); ++ return derivedPredicate; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////// +@@ -112,8 +111,7 @@ normalizedAST::Literal normalizeNested(ast::ExistsPointer &ex + return normalizeTopLevel(x, normalizationContext); + }); + +- // TODO: investigate, could be a compiler bug +- return std::move(derivedPredicate); ++ return derivedPredicate; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////// +@@ -174,8 +172,7 @@ normalizedAST::Literal normalizeNested(ast::OrPointer &or_, d + + derivedPredicate->declaration->precondition = std::make_unique>(std::move(normalizedArguments)); + +- // TODO: investigate, could be a compiler bug +- return std::move(derivedPredicate); ++ return derivedPredicate; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////// +-- +2.41.0 + diff --git a/gnu/packages/patches/plasp-include-iostream.patch b/gnu/packages/patches/plasp-include-iostream.patch new file mode 100644 index 0000000000..9722e6fc03 --- /dev/null +++ b/gnu/packages/patches/plasp-include-iostream.patch @@ -0,0 +1,26 @@ +From 95c6a506e14cf248e2a3cae2ed3f41ed1eedf278 Mon Sep 17 00:00:00 2001 +From: Liliana Marie Prikler +Date: Thu, 23 Nov 2023 09:53:38 +0100 +Subject: [PATCH 2/2] app: Add missing #include . +To: Patrick Lühne +Cc: Martin Gebser + +--- + app/include/plasp-app/Command.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/app/include/plasp-app/Command.h b/app/include/plasp-app/Command.h +index 5755ee3..671804b 100644 +--- a/app/include/plasp-app/Command.h ++++ b/app/include/plasp-app/Command.h +@@ -1,6 +1,7 @@ + #ifndef __PLASP_APP__COMMAND_H + #define __PLASP_APP__COMMAND_H + ++#include // std::cout, std::endl + #include + + #include +-- +2.41.0 + diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm index 887c220ccf..884da3c99f 100644 --- a/gnu/packages/potassco.scm +++ b/gnu/packages/potassco.scm @@ -243,6 +243,38 @@ satisfiability checking (SAT).") over difference logic.") (license license:expat))) +(define-public plasp + (package + (name "plasp") + (version "3.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/plasp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "123v1bjzh7yjwgcc5k55rkfz0lfl8ish5p3z8x3pn8k1svd50xal")) + (patches (search-patches + "plasp-fix-normalization.patch" + "plasp-include-iostream.patch")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ; No ‘test’ target + #:phases + #~(modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "bin" + (string-append (assoc-ref outputs "out") + "/bin"))))))) + (inputs (list cxxopts mapbox-variant)) + (home-page "https://potassco.org/") + (synopsis "ASP planning tools for PDDL") + (description "@command{plasp} is a tool collection for planning in +answer set programming. It supports a subset of PDDL 3.1 and SAS 3.") + (license license:expat))) + (define-public emacs-pasp-mode (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92") (revision "1")) -- cgit v1.2.3