guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: Add plasp.


From: guix-commits
Subject: 02/02: gnu: Add plasp.
Date: Thu, 30 Nov 2023 03:15:54 -0500 (EST)

lilyp pushed a commit to branch master
in repository guix.

commit c34c3b1c2b1006ebeede016cca578d5f571fc7a8
Author: Liliana Marie Prikler <liliana.prikler@gmail.com>
AuthorDate: Thu Nov 23 10:23:58 2023 +0100

    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(+)

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 <liliana.prikler@ist.tugraz.at>
+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 <patrick-github@luehne.de>
+Cc: Martin Gebser <martin.gebser@aau.at>
+
+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<ast::Precondition> &and_,
+ 
+       derivedPredicate->declaration->precondition = 
std::make_unique<normalizedAST::And<normalizedAST::Literal>>(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<ast::Precondition> &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<ast::Precondition> &or_, d
+ 
+       derivedPredicate->declaration->precondition = 
std::make_unique<normalizedAST::Or<normalizedAST::Literal>>(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 <liliana.prikler@ist.tugraz.at>
+Date: Thu, 23 Nov 2023 09:53:38 +0100
+Subject: [PATCH 2/2] app: Add missing #include <iostream>.
+To: Patrick Lühne <patrick-github@luehne.de>
+Cc: Martin Gebser <martin.gebser@aau.at>
+
+---
+ 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 <iostream> // std::cout, std::endl
+ #include <tuple>
+ 
+ #include <cxxopts.hpp>
+-- 
+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"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]