Commit | Line | Data |
---|---|---|
51c9221a RW |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> | |
3 | ;;; | |
4 | ;;; This file is part of GNU Guix. | |
5 | ;;; | |
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
7 | ;;; under the terms of the GNU General Public License as published by | |
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
9 | ;;; your option) any later version. | |
10 | ;;; | |
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | ;;; GNU General Public License for more details. | |
15 | ;;; | |
16 | ;;; You should have received a copy of the GNU General Public License | |
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
18 | ||
19 | (define-module (gnu packages opencog) | |
20 | #:use-module (gnu packages) | |
21 | #:use-module (gnu packages boost) | |
22 | #:use-module (gnu packages check) | |
fc139475 RW |
23 | #:use-module (gnu packages databases) |
24 | #:use-module (gnu packages guile) | |
0d66b9d6 RW |
25 | #:use-module (gnu packages language) |
26 | #:use-module (gnu packages linux) | |
fc139475 | 27 | #:use-module (gnu packages multiprecision) |
51c9221a RW |
28 | #:use-module (gnu packages pkg-config) |
29 | #:use-module (gnu packages python) | |
30 | #:use-module ((guix licenses) #:prefix license:) | |
31 | #:use-module (guix packages) | |
32 | #:use-module (guix git-download) | |
33 | #:use-module (guix build-system cmake) | |
34 | #:use-module (guix utils)) | |
35 | ||
36 | (define-public cogutil | |
37 | ;; The last release was in 2016. Other OpenCog packages require a later | |
38 | ;; version. | |
39 | (let ((commit "b07b41b2eaf01627c78b27f1f28bb09ef7086f8e") | |
40 | (revision "1")) | |
41 | (package | |
42 | (name "cogutil") | |
43 | (version (git-version "2.0.3" revision commit)) | |
44 | (source (origin | |
45 | (method git-fetch) | |
46 | (uri (git-reference | |
b0e7b699 | 47 | (url "https://github.com/opencog/cogutil") |
51c9221a RW |
48 | (commit commit))) |
49 | (file-name (git-file-name name version)) | |
50 | (sha256 | |
51 | (base32 | |
52 | "1ymmcrinp0prlxsmxmwdjjl4kgaj7wzq39d5b1q2apgg94yfdhqb")))) | |
53 | (build-system cmake-build-system) | |
54 | (arguments | |
55 | `(#:test-target "tests")) | |
56 | (inputs | |
8394619b | 57 | (list boost)) |
51c9221a RW |
58 | (native-inputs |
59 | `(("cxxtest" ,cxxtest) | |
60 | ("python" ,python-minimal) | |
61 | ("pkg-config" ,pkg-config))) | |
62 | (home-page "https://github.com/opencog/cogutil/") | |
63 | (synopsis "Low-level C++ programming utilities used by OpenCog components") | |
64 | (description "The OpenCog utilities is a miscellaneous collection of C++ | |
65 | utilities use for typical programming tasks in multiple OpenCog projects.") | |
66 | ;; Either of these licenses. | |
67 | (license (list license:agpl3 license:asl2.0))))) | |
fc139475 RW |
68 | |
69 | (define-public atomspace | |
70 | ;; The last release was in 2016 and doesn't build with our Boost package. | |
71 | (let ((commit "86c848dfc7135b3c47deb581f8da54a60f6711c9") | |
72 | (revision "1")) | |
73 | (package | |
74 | (name "atomspace") | |
75 | (version (git-version "5.0.3" revision commit)) | |
76 | (source (origin | |
77 | (method git-fetch) | |
78 | (uri (git-reference | |
b0e7b699 | 79 | (url "https://github.com/opencog/atomspace") |
fc139475 RW |
80 | (commit commit))) |
81 | (file-name (git-file-name name version)) | |
82 | (sha256 | |
83 | (base32 | |
84 | "0vxzhszb0z8081li38hid07a5axzxyflsmq1mcn4b1k4z1j8ggch")))) | |
85 | (build-system cmake-build-system) | |
86 | (arguments | |
87 | `(#:test-target "tests" | |
88 | #:configure-flags | |
89 | (list (string-append "-DGUILE_INCLUDE_DIR=" | |
90 | (assoc-ref %build-inputs "guile") | |
91 | "/include/guile/2.2/") | |
92 | (string-append "-DGUILE_SITE_DIR=" | |
93 | (assoc-ref %outputs "out") | |
94 | "/share/guile/site/2.2/")))) | |
95 | (inputs | |
8394619b | 96 | (list boost cogutil gmp guile-2.2 postgresql)) |
fc139475 RW |
97 | (native-inputs |
98 | `(("cxxtest" ,cxxtest) | |
99 | ("python" ,python-minimal) | |
100 | ("pkg-config" ,pkg-config))) | |
101 | (home-page "https://github.com/opencog/atomspace/") | |
102 | (synopsis "OpenCog hypergraph database, query system and rule engine") | |
103 | (description "The OpenCog AtomSpace is an in-RAM @dfn{knowledge | |
104 | representation} (KR) database, an associated query engine and graph-re-writing | |
105 | system, and a rule-driven inferencing engine that can apply and manipulate | |
106 | sequences of rules to perform reasoning. It is a layer that sits on top of | |
107 | ordinary distributed (graph) databases, providing a large variety of advanced | |
108 | features not otherwise available.") | |
109 | (license license:agpl3)))) | |
d946ede5 RW |
110 | |
111 | (define-public cogserver | |
112 | ;; There are no releases. | |
77cf666b RW |
113 | (let ((commit "ec5f3b9590db0f6a085b5d0320f5d3710e0f1635") |
114 | (revision "2")) | |
d946ede5 RW |
115 | (package |
116 | (name "cogserver") | |
117 | (version (git-version "0" revision commit)) | |
118 | (source (origin | |
119 | (method git-fetch) | |
120 | (uri (git-reference | |
b0e7b699 | 121 | (url "https://github.com/opencog/cogserver") |
d946ede5 RW |
122 | (commit commit))) |
123 | (file-name (git-file-name name version)) | |
124 | (sha256 | |
125 | (base32 | |
77cf666b | 126 | "1h0vcxb6n5dc654xqinqcxc7dxwcs6bsywgir8rhrqiykk760mzl")))) |
d946ede5 RW |
127 | (build-system cmake-build-system) |
128 | (arguments | |
77cf666b | 129 | `(#:test-target "tests" |
d946ede5 RW |
130 | #:configure-flags |
131 | (list (string-append "-DGUILE_INCLUDE_DIR=" | |
132 | (assoc-ref %build-inputs "guile") | |
133 | "/include/guile/2.2/") | |
134 | (string-append "-DGUILE_SITE_DIR=" | |
135 | (assoc-ref %outputs "out") | |
136 | "/share/guile/site/2.2/")))) | |
137 | (inputs | |
8394619b | 138 | (list atomspace boost cogutil gmp guile-2.2)) |
d946ede5 RW |
139 | (native-inputs |
140 | `(("cxxtest" ,cxxtest) | |
141 | ("python" ,python-minimal) | |
142 | ("pkg-config" ,pkg-config))) | |
143 | (home-page "https://github.com/opencog/cogserver/") | |
144 | (synopsis "OpenCog network server") | |
145 | (description "The OpenCog Cogserver is a network and job server for the | |
146 | OpenCog framework.") | |
147 | (license license:agpl3)))) | |
3cc6b123 RW |
148 | |
149 | (define-public attention | |
150 | ;; There are no releases. | |
151 | (let ((commit "87d43679280ce486cd6757765d2e1df6d502991d") | |
152 | (revision "1")) | |
153 | (package | |
154 | (name "attention") | |
155 | (version (git-version "0" revision commit)) | |
156 | (source (origin | |
157 | (method git-fetch) | |
158 | (uri (git-reference | |
b0e7b699 | 159 | (url "https://github.com/opencog/attention") |
3cc6b123 RW |
160 | (commit commit))) |
161 | (file-name (git-file-name name version)) | |
162 | (sha256 | |
163 | (base32 | |
164 | "0sndslphicv6w9qpag168rqkxq5sf71l5qbfx6zhsd5bzlf5fhwv")))) | |
165 | (build-system cmake-build-system) | |
166 | (arguments | |
167 | `(#:test-target "tests" | |
168 | #:configure-flags | |
169 | (list | |
170 | (string-append "-DGUILE_INCLUDE_DIR=" | |
171 | (assoc-ref %build-inputs "guile") | |
172 | "/include/guile/2.2/") | |
173 | (string-append "-DGUILE_SITE_DIR=" | |
174 | (assoc-ref %outputs "out") | |
175 | "/share/guile/site/2.2/")))) | |
176 | (inputs | |
8394619b LC |
177 | (list atomspace |
178 | boost | |
179 | cogserver | |
180 | cogutil | |
181 | gmp | |
182 | guile-2.2)) | |
3cc6b123 RW |
183 | (native-inputs |
184 | `(("cxxtest" ,cxxtest) | |
185 | ("python" ,python-minimal) | |
186 | ("pkg-config" ,pkg-config))) | |
187 | (home-page "https://github.com/opencog/attention/") | |
188 | (synopsis "OpenCog attention allocation subsystem") | |
189 | (description "Attention Allocation is an OpenCog subsystem meant to | |
190 | control the application of processing and memory resources to specific | |
191 | tasks.") | |
192 | (license license:agpl3)))) | |
0d66b9d6 RW |
193 | |
194 | (define-public opencog | |
195 | ;; There are no recent releases. | |
196 | (let ((commit "ceac90507610cb2d0ee98f97a2086865292b1204") | |
197 | (revision "1")) | |
198 | (package | |
199 | (name "opencog") | |
200 | (version (git-version "0.1.4" revision commit)) | |
201 | (source (origin | |
202 | (method git-fetch) | |
203 | (uri (git-reference | |
b0e7b699 | 204 | (url "https://github.com/opencog/opencog") |
0d66b9d6 RW |
205 | (commit commit))) |
206 | (file-name (git-file-name name version)) | |
207 | (sha256 | |
208 | (base32 | |
209 | "1j8wv910fvrmph370wv5pv2f4bc2s9vl6i7bw3pkmwbdhxkhjbhm")))) | |
210 | (build-system cmake-build-system) | |
211 | (arguments | |
212 | `(#:test-target "tests" | |
213 | #:configure-flags | |
214 | (list | |
215 | (string-append "-DGUILE_INCLUDE_DIR=" | |
216 | (assoc-ref %build-inputs "guile") | |
217 | "/include/guile/2.2/") | |
218 | (string-append "-DGUILE_SITE_DIR=" | |
219 | (assoc-ref %outputs "out") | |
220 | "/share/guile/site/2.2/")))) | |
221 | (inputs | |
222 | `(("attention" ,attention) | |
223 | ("atomspace" ,atomspace) | |
224 | ("boost" ,boost) | |
225 | ("cogserver" ,cogserver) | |
226 | ("cogutil" ,cogutil) | |
227 | ("gmp" ,gmp) | |
228 | ("guile" ,guile-2.2) | |
bb93042c | 229 | ("libuuid" ,util-linux "lib") |
0d66b9d6 RW |
230 | ("link-grammar" ,link-grammar))) |
231 | (native-inputs | |
232 | `(("cxxtest" ,cxxtest) | |
233 | ("python" ,python-minimal) | |
234 | ("pkg-config" ,pkg-config))) | |
235 | (home-page "https://github.com/opencog/attention/") | |
236 | (synopsis "Framework for integrated artificial intelligence") | |
237 | (description "OpenCog is a framework for developing AI systems, | |
238 | especially appropriate for integrative multi-algorithm systems, and artificial | |
239 | general intelligence systems. It currently contains a functional core | |
240 | framework, and a number of cognitive agents at varying levels of completion, | |
241 | some already displaying interesting and useful functionalities alone and in | |
242 | combination.") | |
243 | (license license:agpl3)))) | |
62af74b7 RW |
244 | |
245 | (define-public agi-bio | |
246 | ;; There are no releases. | |
247 | (let ((commit "b5c6f3d99e8cca3798bf0cdf2c32f4bdb8098efb") | |
248 | (revision "1")) | |
249 | (package | |
250 | (name "agi-bio") | |
251 | (version (git-version "0" revision commit)) | |
252 | (source (origin | |
253 | (method git-fetch) | |
254 | (uri (git-reference | |
b0e7b699 | 255 | (url "https://github.com/opencog/agi-bio") |
62af74b7 RW |
256 | (commit commit))) |
257 | (file-name (git-file-name name version)) | |
258 | (sha256 | |
259 | (base32 | |
537d0827 | 260 | "0c3q0nhmd03nvqm1ih10y28n596cjvfhkcfvzw2fmz1sn3ywdah4")))) |
62af74b7 RW |
261 | (build-system cmake-build-system) |
262 | (arguments | |
263 | `(#:tests? #f ; there are none | |
264 | #:configure-flags | |
265 | (list | |
266 | (string-append "-DGUILE_INCLUDE_DIR=" | |
267 | (assoc-ref %build-inputs "guile") | |
268 | "/include/guile/2.2/") | |
269 | (string-append "-DGUILE_SITE_DIR=" | |
270 | (assoc-ref %outputs "out") | |
eecf7243 RW |
271 | "/share/guile/site/2.2/")) |
272 | #:phases | |
273 | (modify-phases %standard-phases | |
274 | (add-after 'unpack 'fix-unqualified-load | |
275 | (lambda* (#:key outputs #:allow-other-keys) | |
276 | (substitute* "bioscience/bioscience.scm" | |
277 | (("\\(load \"bioscience/types/bioscience_types.scm\"\\)") | |
278 | (format #f "(load \"~a/bioscience/types/bioscience_types.scm\")" | |
279 | (string-append (assoc-ref outputs "out") | |
280 | "/share/guile/site/2.2/opencog")))) | |
281 | #t))))) | |
62af74b7 | 282 | (inputs |
8394619b | 283 | (list atomspace cogutil gmp guile-2.2)) |
62af74b7 RW |
284 | (native-inputs |
285 | `(("cxxtest" ,cxxtest) | |
286 | ("python" ,python-minimal) | |
287 | ("pkg-config" ,pkg-config))) | |
288 | (home-page "https://github.com/opencog/agi-bio") | |
289 | (synopsis "Genomic and proteomic data exploration and pattern mining") | |
290 | (description "This is a package for genomic and proteomic research using | |
291 | the OpenCog toolset with Guile. This includes experiments in applying pattern | |
292 | mining and other OpenCog components.") | |
293 | (license license:agpl3)))) |