summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-01-03 22:57:27 +0100
committerRicardo Wurmus <rekado@elephly.net>2020-01-04 22:38:12 +0100
commitfc139475ddcfc26840beee743375339efae4e23a (patch)
tree2e9cbf0cb7e2c3e599dd5b13b1189b9c1a416dcc
parent51c9221a72e56bf08d22fe96be1960ab5818ac65 (diff)
downloadguix-fc139475ddcfc26840beee743375339efae4e23a.tar.gz
gnu: Add atomspace.
* gnu/packages/opencog.scm (atomspace): New variable.
-rw-r--r--gnu/packages/opencog.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/opencog.scm b/gnu/packages/opencog.scm
index 944174c19b..1eb93167cd 100644
--- a/gnu/packages/opencog.scm
+++ b/gnu/packages/opencog.scm
@@ -20,6 +20,9 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module ((guix licenses) #:prefix license:)
@@ -60,3 +63,49 @@
 utilities use for typical programming tasks in multiple OpenCog projects.")
       ;; Either of these licenses.
       (license (list license:agpl3 license:asl2.0)))))
+
+(define-public atomspace
+  ;; The last release was in 2016 and doesn't build with our Boost package.
+  (let ((commit "86c848dfc7135b3c47deb581f8da54a60f6711c9")
+        (revision "1"))
+    (package
+      (name "atomspace")
+      (version (git-version "5.0.3" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/opencog/atomspace.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0vxzhszb0z8081li38hid07a5axzxyflsmq1mcn4b1k4z1j8ggch"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:test-target "tests"
+         #:configure-flags
+         (list (string-append "-DGUILE_INCLUDE_DIR="
+                              (assoc-ref %build-inputs "guile")
+                              "/include/guile/2.2/")
+               (string-append "-DGUILE_SITE_DIR="
+                              (assoc-ref %outputs "out")
+                              "/share/guile/site/2.2/"))))
+      (inputs
+       `(("boost" ,boost)
+         ("cogutil" ,cogutil)
+         ("gmp" ,gmp)
+         ("guile" ,guile-2.2)
+         ("postgresql" ,postgresql)))
+      (native-inputs
+       `(("cxxtest" ,cxxtest)
+         ("python" ,python-minimal)
+         ("pkg-config" ,pkg-config)))
+      (home-page "https://github.com/opencog/atomspace/")
+      (synopsis "OpenCog hypergraph database, query system and rule engine")
+      (description "The OpenCog AtomSpace is an in-RAM @dfn{knowledge
+representation} (KR) database, an associated query engine and graph-re-writing
+system, and a rule-driven inferencing engine that can apply and manipulate
+sequences of rules to perform reasoning.  It is a layer that sits on top of
+ordinary distributed (graph) databases, providing a large variety of advanced
+features not otherwise available.")
+      (license license:agpl3))))