aboutsummaryrefslogtreecommitdiff
path: root/guix.scm
blob: 8cf7cdb806d4562d7fa0ca821dea40cbf4b5c055 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
(use-modules (guix packages)
             (guix gexp)
             (guix download)
             (guix git-download)
             (gnu packages autotools)
             (gnu packages pkg-config)
             (gnu packages guile)
             (gnu packages guile-xyz)
             (gnu packages gnupg)
             (gnu packages crypto)
             (gnu packages maths)
             (gnu packages databases)
             (gnu packages texinfo)
             (gnu packages tls)
             (guix build-system gnu)
             ((guix licenses) #:prefix license:))

(define %source-dir (dirname (current-filename)))

(define guile-rdf
  (package
    (name "guile-rdf")
    (version "1.0")
    (source
      (origin
        (method git-fetch)
        (uri (git-reference
               (url "https://framagit.org/tyreunom/guile-rdf")
               (commit "382d5dcb66fbf770445f329fc3db3fa789b45867")))
        (file-name (git-file-name name version))
        (sha256
         (base32
          "1gjhrgqbsf1nhvmrz2fy9a4351yiyxb4kl81hc0bqilacnqr5p7g"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f)); require network
    (inputs
     `(("guile" ,guile-next)))
    (native-inputs
     `(("automake" ,automake)
       ("autoconf" ,autoconf)
       ("pkg-config" ,pkg-config)
       ("texinfo" ,texinfo)))
    (home-page "https://framagit.org/tyreunom/guile-rdf")
    (synopsis "Guile implementation of the RDF abstract syntax and the Turtle syntax")
    (description "Resource Description Framework (RDF) is a general-purpose
language for representing information in the Web.  Multiple languages can be
used to represent RDF data, turtle is one of them.")
    (license license:lgpl3+)))

(define guile-jsonld
  (package
   (name "guile-jsonld")
   (version "1.0.0")
   (source
    (origin
     (method git-fetch)
     (uri (git-reference
           (url "https://framagit.org/tyreunom/guile-jsonld")
           (commit version)))
     (file-name (git-file-name name version))
     (sha256
      (base32
       "0jd08kx0ipl3ad89r0h9fhim6ch8pw4n6fv9rka1zmv70r0n1b58"))))
   (build-system gnu-build-system)
   (arguments
    `(#:tests? #f))                     ; require network
   (inputs
    `(("guile" ,guile-next)
      ("guile-gnutls" ,guile3.0-gnutls)
      ("guile-json" ,guile3.0-json)
      ("guile-rdf" ,guile-rdf)))
   (native-inputs
    `(("automake" ,automake)
      ("autoconf" ,autoconf)
      ("pkg-config" ,pkg-config)
      ("texinfo" ,texinfo)))
   (home-page "https://framagit.org/tyreunom/guile-jsonld")
   (synopsis "Guile implementation of the JsonLD API specification")
   (description "Guile JsonLD is an implementation of the JsonLD API defined
by the W3C for GNU Guile.  JsonLD stands for Json for Linked Data.  Linked Data
is a representation for the semantic web.  It allows you to express links
between data, in a way that is very similar to WikiData for instance.  An object
can have relations (in the form of an IRI) that relates it to one or more objects
or strings, represented by a Json object or an IRI.")
   (license license:lgpl3+)))

(package
 (name "data-model")
 (version "0.1.0")
 (source (local-file %source-dir
                     #:recursive? #t
                     #:select? (git-predicate %source-dir)))
 (build-system gnu-build-system)
 (native-inputs
  `(("pkg-config" ,pkg-config)
    ("autoconf" ,autoconf)
    ("automake" ,automake)))
 (inputs
  `(("guile" ,guile-3.0)
    ("leveldb" ,leveldb)
    ("guile-gcrypt" ,guile3.0-gcrypt)
    ("libsodium" ,libsodium)
    ("guile-rdf", guile-rdf)
    ("guile-jsonld", guile-jsonld)
    ("gnuplot" ,gnuplot)))

 (synopsis "Experimentations into data model/data storage for openEngiadina")
 (description "Experimentations into data model/data storage for openEngiadina")
 (home-page "https://gitlab.com/openEngiadina/data-model")
 (license license:lgpl3+))