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 | |
57 | `(("boost" ,boost))) | |
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 | |
96 | `(("boost" ,boost) | |
97 | ("cogutil" ,cogutil) | |
98 | ("gmp" ,gmp) | |
99 | ("guile" ,guile-2.2) | |
100 | ("postgresql" ,postgresql))) | |
101 | (native-inputs | |
102 | `(("cxxtest" ,cxxtest) | |
103 | ("python" ,python-minimal) | |
104 | ("pkg-config" ,pkg-config))) | |
105 | (home-page "https://github.com/opencog/atomspace/") | |
106 | (synopsis "OpenCog hypergraph database, query system and rule engine") | |
107 | (description "The OpenCog AtomSpace is an in-RAM @dfn{knowledge | |
108 | representation} (KR) database, an associated query engine and graph-re-writing | |
109 | system, and a rule-driven inferencing engine that can apply and manipulate | |
110 | sequences of rules to perform reasoning. It is a layer that sits on top of | |
111 | ordinary distributed (graph) databases, providing a large variety of advanced | |
112 | features not otherwise available.") | |
113 | (license license:agpl3)))) | |
d946ede5 RW |
114 | |
115 | (define-public cogserver | |
116 | ;; There are no releases. | |
77cf666b RW |
117 | (let ((commit "ec5f3b9590db0f6a085b5d0320f5d3710e0f1635") |
118 | (revision "2")) | |
d946ede5 RW |
119 | (package |
120 | (name "cogserver") | |
121 | (version (git-version "0" revision commit)) | |
122 | (source (origin | |
123 | (method git-fetch) | |
124 | (uri (git-reference | |
b0e7b699 | 125 | (url "https://github.com/opencog/cogserver") |
d946ede5 RW |
126 | (commit commit))) |
127 | (file-name (git-file-name name version)) | |
128 | (sha256 | |
129 | (base32 | |
77cf666b | 130 | "1h0vcxb6n5dc654xqinqcxc7dxwcs6bsywgir8rhrqiykk760mzl")))) |
d946ede5 RW |
131 | (build-system cmake-build-system) |
132 | (arguments | |
77cf666b | 133 | `(#:test-target "tests" |
d946ede5 RW |
134 | #:configure-flags |
135 | (list (string-append "-DGUILE_INCLUDE_DIR=" | |
136 | (assoc-ref %build-inputs "guile") | |
137 | "/include/guile/2.2/") | |
138 | (string-append "-DGUILE_SITE_DIR=" | |
139 | (assoc-ref %outputs "out") | |
140 | "/share/guile/site/2.2/")))) | |
141 | (inputs | |
142 | `(("atomspace" ,atomspace) | |
143 | ("boost" ,boost) | |
144 | ("cogutil" ,cogutil) | |
145 | ("gmp" ,gmp) | |
146 | ("guile" ,guile-2.2))) | |
147 | (native-inputs | |
148 | `(("cxxtest" ,cxxtest) | |
149 | ("python" ,python-minimal) | |
150 | ("pkg-config" ,pkg-config))) | |
151 | (home-page "https://github.com/opencog/cogserver/") | |
152 | (synopsis "OpenCog network server") | |
153 | (description "The OpenCog Cogserver is a network and job server for the | |
154 | OpenCog framework.") | |
155 | (license license:agpl3)))) | |
3cc6b123 RW |
156 | |
157 | (define-public attention | |
158 | ;; There are no releases. | |
159 | (let ((commit "87d43679280ce486cd6757765d2e1df6d502991d") | |
160 | (revision "1")) | |
161 | (package | |
162 | (name "attention") | |
163 | (version (git-version "0" revision commit)) | |
164 | (source (origin | |
165 | (method git-fetch) | |
166 | (uri (git-reference | |
b0e7b699 | 167 | (url "https://github.com/opencog/attention") |
3cc6b123 RW |
168 | (commit commit))) |
169 | (file-name (git-file-name name version)) | |
170 | (sha256 | |
171 | (base32 | |
172 | "0sndslphicv6w9qpag168rqkxq5sf71l5qbfx6zhsd5bzlf5fhwv")))) | |
173 | (build-system cmake-build-system) | |
174 | (arguments | |
175 | `(#:test-target "tests" | |
176 | #:configure-flags | |
177 | (list | |
178 | (string-append "-DGUILE_INCLUDE_DIR=" | |
179 | (assoc-ref %build-inputs "guile") | |
180 | "/include/guile/2.2/") | |
181 | (string-append "-DGUILE_SITE_DIR=" | |
182 | (assoc-ref %outputs "out") | |
183 | "/share/guile/site/2.2/")))) | |
184 | (inputs | |
185 | `(("atomspace" ,atomspace) | |
186 | ("boost" ,boost) | |
187 | ("cogserver" ,cogserver) | |
188 | ("cogutil" ,cogutil) | |
189 | ("gmp" ,gmp) | |
190 | ("guile" ,guile-2.2))) | |
191 | (native-inputs | |
192 | `(("cxxtest" ,cxxtest) | |
193 | ("python" ,python-minimal) | |
194 | ("pkg-config" ,pkg-config))) | |
195 | (home-page "https://github.com/opencog/attention/") | |
196 | (synopsis "OpenCog attention allocation subsystem") | |
197 | (description "Attention Allocation is an OpenCog subsystem meant to | |
198 | control the application of processing and memory resources to specific | |
199 | tasks.") | |
200 | (license license:agpl3)))) | |
0d66b9d6 RW |
201 | |
202 | (define-public opencog | |
203 | ;; There are no recent releases. | |
204 | (let ((commit "ceac90507610cb2d0ee98f97a2086865292b1204") | |
205 | (revision "1")) | |
206 | (package | |
207 | (name "opencog") | |
208 | (version (git-version "0.1.4" revision commit)) | |
209 | (source (origin | |
210 | (method git-fetch) | |
211 | (uri (git-reference | |
b0e7b699 | 212 | (url "https://github.com/opencog/opencog") |
0d66b9d6 RW |
213 | (commit commit))) |
214 | (file-name (git-file-name name version)) | |
215 | (sha256 | |
216 | (base32 | |
217 | "1j8wv910fvrmph370wv5pv2f4bc2s9vl6i7bw3pkmwbdhxkhjbhm")))) | |
218 | (build-system cmake-build-system) | |
219 | (arguments | |
220 | `(#:test-target "tests" | |
221 | #:configure-flags | |
222 | (list | |
223 | (string-append "-DGUILE_INCLUDE_DIR=" | |
224 | (assoc-ref %build-inputs "guile") | |
225 | "/include/guile/2.2/") | |
226 | (string-append "-DGUILE_SITE_DIR=" | |
227 | (assoc-ref %outputs "out") | |
228 | "/share/guile/site/2.2/")))) | |
229 | (inputs | |
230 | `(("attention" ,attention) | |
231 | ("atomspace" ,atomspace) | |
232 | ("boost" ,boost) | |
233 | ("cogserver" ,cogserver) | |
234 | ("cogutil" ,cogutil) | |
235 | ("gmp" ,gmp) | |
236 | ("guile" ,guile-2.2) | |
bb93042c | 237 | ("libuuid" ,util-linux "lib") |
0d66b9d6 RW |
238 | ("link-grammar" ,link-grammar))) |
239 | (native-inputs | |
240 | `(("cxxtest" ,cxxtest) | |
241 | ("python" ,python-minimal) | |
242 | ("pkg-config" ,pkg-config))) | |
243 | (home-page "https://github.com/opencog/attention/") | |
244 | (synopsis "Framework for integrated artificial intelligence") | |
245 | (description "OpenCog is a framework for developing AI systems, | |
246 | especially appropriate for integrative multi-algorithm systems, and artificial | |
247 | general intelligence systems. It currently contains a functional core | |
248 | framework, and a number of cognitive agents at varying levels of completion, | |
249 | some already displaying interesting and useful functionalities alone and in | |
250 | combination.") | |
251 | (license license:agpl3)))) | |
62af74b7 RW |
252 | |
253 | (define-public agi-bio | |
254 | ;; There are no releases. | |
255 | (let ((commit "b5c6f3d99e8cca3798bf0cdf2c32f4bdb8098efb") | |
256 | (revision "1")) | |
257 | (package | |
258 | (name "agi-bio") | |
259 | (version (git-version "0" revision commit)) | |
260 | (source (origin | |
261 | (method git-fetch) | |
262 | (uri (git-reference | |
b0e7b699 | 263 | (url "https://github.com/opencog/agi-bio") |
62af74b7 RW |
264 | (commit commit))) |
265 | (file-name (git-file-name name version)) | |
266 | (sha256 | |
267 | (base32 | |
537d0827 | 268 | "0c3q0nhmd03nvqm1ih10y28n596cjvfhkcfvzw2fmz1sn3ywdah4")))) |
62af74b7 RW |
269 | (build-system cmake-build-system) |
270 | (arguments | |
271 | `(#:tests? #f ; there are none | |
272 | #:configure-flags | |
273 | (list | |
274 | (string-append "-DGUILE_INCLUDE_DIR=" | |
275 | (assoc-ref %build-inputs "guile") | |
276 | "/include/guile/2.2/") | |
277 | (string-append "-DGUILE_SITE_DIR=" | |
278 | (assoc-ref %outputs "out") | |
eecf7243 RW |
279 | "/share/guile/site/2.2/")) |
280 | #:phases | |
281 | (modify-phases %standard-phases | |
282 | (add-after 'unpack 'fix-unqualified-load | |
283 | (lambda* (#:key outputs #:allow-other-keys) | |
284 | (substitute* "bioscience/bioscience.scm" | |
285 | (("\\(load \"bioscience/types/bioscience_types.scm\"\\)") | |
286 | (format #f "(load \"~a/bioscience/types/bioscience_types.scm\")" | |
287 | (string-append (assoc-ref outputs "out") | |
288 | "/share/guile/site/2.2/opencog")))) | |
289 | #t))))) | |
62af74b7 RW |
290 | (inputs |
291 | `(("atomspace" ,atomspace) | |
292 | ("cogutil" ,cogutil) | |
293 | ("gmp" ,gmp) | |
294 | ("guile" ,guile-2.2))) | |
295 | (native-inputs | |
296 | `(("cxxtest" ,cxxtest) | |
297 | ("python" ,python-minimal) | |
298 | ("pkg-config" ,pkg-config))) | |
299 | (home-page "https://github.com/opencog/agi-bio") | |
300 | (synopsis "Genomic and proteomic data exploration and pattern mining") | |
301 | (description "This is a package for genomic and proteomic research using | |
302 | the OpenCog toolset with Guile. This includes experiments in applying pattern | |
303 | mining and other OpenCog components.") | |
304 | (license license:agpl3)))) |