guile-fediverse/guix.scm

guix.scm

1
;;;; Copyright (C) 2020 Julien Lepiller <julien@lepiller.eu>
2
;;;; 
3
;;;; This library is free software; you can redistribute it and/or
4
;;;; modify it under the terms of the GNU Lesser General Public
5
;;;; License as published by the Free Software Foundation; either
6
;;;; version 3 of the License, or (at your option) any later version.
7
;;;; 
8
;;;; This library is distributed in the hope that it will be useful,
9
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
10
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11
;;;; Lesser General Public License for more details.
12
;;;; 
13
;;;; You should have received a copy of the GNU Lesser General Public
14
;;;; License along with this library; if not, write to the Free Software
15
;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
;;;; 
17
18
(use-modules
19
  ((guix licenses) #:prefix license:)
20
  (guix build-system gnu)
21
  (guix download)
22
  (guix git-download)
23
  (guix packages)
24
  (guix utils)
25
  (gnu packages autotools)
26
  (gnu packages gnupg)
27
  (gnu packages guile)
28
  (gnu packages pkg-config)
29
  (gnu packages texinfo)
30
  (gnu packages tls))
31
32
(define guile3.0-rdf
33
  (package
34
    (name "guile-rdf")
35
    (version "1.0")
36
    (source
37
      (origin
38
        (method git-fetch)
39
        (uri (git-reference
40
               (url "https://framagit.org/tyreunom/guile-rdf")
41
               (commit "382d5dcb66fbf770445f329fc3db3fa789b45867")))
42
        (file-name (git-file-name name version))
43
        (sha256
44
         (base32
45
          "1gjhrgqbsf1nhvmrz2fy9a4351yiyxb4kl81hc0bqilacnqr5p7g"))))
46
    (build-system gnu-build-system)
47
    (arguments
48
     `(#:tests? #f)); require network
49
    (inputs
50
     `(("guile" ,guile-next)))
51
    (native-inputs
52
     `(("automake" ,automake)
53
       ("autoconf" ,autoconf)
54
       ("pkg-config" ,pkg-config)
55
       ("texinfo" ,texinfo)))
56
    (home-page "https://framagit.org/tyreunom/guile-rdf")
57
    (synopsis "Guile implementation of the RDF abstract syntax and the Turtle syntax")
58
    (description "Resource Description Framework (RDF) is a general-purpose
59
language for representing information in the Web.  Multiple languages can be
60
used to represent RDF data, turtle is one of them.")
61
    (license license:gpl3+)))
62
63
(define-public guile3.0-jsonld
64
  (package
65
    (name "guile-jsonld")
66
    (version "1.0.0")
67
    (source
68
      (origin
69
        (method git-fetch)
70
        (uri (git-reference
71
               (url "https://framagit.org/tyreunom/guile-jsonld")
72
               (commit version)))
73
        (file-name (git-file-name name version))
74
        (sha256
75
         (base32
76
          "0jd08kx0ipl3ad89r0h9fhim6ch8pw4n6fv9rka1zmv70r0n1b58"))))
77
    (build-system gnu-build-system)
78
    (arguments
79
     `(#:tests? #f)); require network
80
    (inputs
81
     `(("guile" ,guile-next)))
82
    (propagated-inputs
83
     `(("guile-gnutls" ,guile3.0-gnutls)
84
       ("guile-json" ,guile3.0-json)
85
       ("guile-rdf" ,guile3.0-rdf)))
86
    (native-inputs
87
     `(("automake" ,automake)
88
       ("autoconf" ,autoconf)
89
       ("pkg-config" ,pkg-config)
90
       ("texinfo" ,texinfo)))
91
    (home-page "https://framagit.org/tyreunom/guile-jsonld")
92
    (synopsis "Guile implementation of the JsonLD API specification")
93
    (description "Guile JsonLD is an implementation of the JsonLD API defined
94
by the W3C for GNU Guile.  JsonLD stands for Json for Linked Data.  Linked Data
95
is a representation for the semantic web.  It allows you to express links
96
between data, in a way that is very similar to WikiData for instance.  An object
97
can have relations (in the form of an IRI) that relates it to one or more objects
98
or strings, represented by a Json object or an IRI.")
99
    (license license:gpl3+)))
100
101
(package
102
  (name "guile-fediverse")
103
  (version "0.1.0")
104
  (source
105
    (origin
106
      (method git-fetch)
107
      (uri (git-reference
108
             (url "https://framagit.org/tyreunom/guile-fediverse")
109
             (commit version)))
110
      (file-name (git-file-name name version))
111
      (sha256
112
       (base32
113
        "00l03j8ajkd1a7sg1zycbpdaz71mscrncw7rwjzqk2ia6j04rwxm"))))
114
  (build-system gnu-build-system)
115
  (inputs
116
   `(("guile" ,guile-next)
117
     ("guile-json" ,guile3.0-json)
118
     ("guile-jsonld" ,guile3.0-jsonld)
119
     ("guile-gcrypt" ,guile3.0-gcrypt)))
120
  (native-inputs
121
   `(("automake" ,automake)
122
     ("autoconf" ,autoconf)
123
     ("pkg-config" ,pkg-config)
124
     ("texinfo" ,texinfo)))
125
  (home-page "https://framagit.org/tyreunom/guile-fediverse")
126
  (synopsis "Implementation of multiple Fediverse algorithms")
127
  (description "")
128
  (license license:lgpl3+))
129