gnu: libdvdcss: Update to 1.4.3.
[jackhill/guix/guix.git] / gnu / packages / gobby.scm
CommitLineData
c8105e81 1;;; GNU Guix --- Functional package management for GNU
50631fe9 2;;; Copyright © 2016, 2017 Andy Wingo <wingo@igalia.com>
7c45593b 3;;; Copyright © 2017, 2019 Arun Isaac <arunisaac@systemreboot.net>
143a4f03 4;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
cea9741b 5;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
c8105e81
AW
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages gobby)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix utils)
26 #:use-module ((guix licenses) #:prefix license:)
27 #:use-module (guix build-system gnu)
28 #:use-module (gnu packages)
29 #:use-module (gnu packages glib)
30 #:use-module (gnu packages gnome)
6a84ec8e 31 #:use-module (gnu packages gsasl)
c8105e81
AW
32 #:use-module (gnu packages gtk)
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages tls)
35 #:use-module (gnu packages xml))
36
37(define-public libnet6
38 (package
39 (name "libnet6")
40 (version "1.3.14")
41 (source (origin
42 (method url-fetch)
43 (uri (string-append "http://releases.0x539.de/net6/net6-"
44 version ".tar.gz"))
45 (sha256
46 (base32
47 "088yqq60wjx3jqjlhl12893p15gl9asjpavrbhh590qzpqndhp8m"))))
48 (build-system gnu-build-system)
49 (native-inputs
50 `(("pkg-config" ,pkg-config)))
51 (arguments
cc639960
TGR
52 `(#:configure-flags
53 (list "--disable-static")
54 #:phases
c8105e81
AW
55 (modify-phases %standard-phases
56 (add-before 'configure 'update-gnutls-api
57 (lambda _
58 (substitute* "src/encrypt.cpp"
59 ;; The GnuTLS API to set authentication and other parameters
60 ;; and priorities changed in 3.4; update to allow ANON_DH via
61 ;; the new API.
62 (("gnutls_kx_set_priority\\(session, kx_prio\\)")
63 (string-append "gnutls_priority_set_direct"
64 "(session, \"NORMAL:+ANON-DH\", NULL)"))))))))
65 (inputs
66 `(("libsigc++" ,libsigc++)
67 ("gnutls" ,gnutls)))
68 (home-page "https://gobby.github.io/")
69 (synopsis "Network access framework for IPv4/IPv6")
70 (description
71 "Library which that provides a TCP protocol abstraction for C++.")
72 (license license:lgpl2.1)))
22a3cff3
AW
73
74(define-public obby
75 (package
76 (name "obby")
77 (version "0.4.8")
78 (source (origin
79 (method url-fetch)
80 (uri (string-append "http://releases.0x539.de/obby/obby-"
81 version ".tar.gz"))
82 (file-name (string-append name "-" version ".tar.gz"))
83 (sha256
84 (base32
85 "0rwvp0kzsb8y6mq73rzb8yk4kvsrz64i2zf4lfqs3kh0x2k7n7bx"))))
86 (build-system gnu-build-system)
c2c954af
TGR
87 (arguments
88 `(#:configure-flags
89 (list "--disable-static")))
22a3cff3
AW
90 (native-inputs
91 `(("pkg-config" ,pkg-config)))
92 (inputs
93 `(("libsigc++" ,libsigc++)
94 ("gnutls" ,gnutls)
95 ("libnet6" ,libnet6)))
22a3cff3
AW
96 (home-page "https://gobby.github.io/")
97 (synopsis "Library for building collaborative editors")
98 (description
99 "Library that provides synced document buffers. It supports multiple
100documents in one session. Obby is used by the Gobby collaborative editor.")
101 (license license:gpl2+)))
e9070933 102
50631fe9
AW
103;; Although there is a newer version of Gobby defined below, the protocols are
104;; incompatible; you need Gobby 0.4 if you want to connect to servers running
105;; the 0.4 protocol.
106(define-public gobby-0.4
107 (package
108 (name "gobby")
109 (version "0.4.13")
110 (source (origin
111 (method url-fetch)
112 (uri (string-append "http://releases.0x539.de/gobby/gobby-"
113 version ".tar.gz"))
114 (file-name (string-append name "-" version ".tar.gz"))
115 (sha256
116 (base32
117 "0w8q01lf6bcdz537b29m7rwlbc7k87b12vnpm1h6219ypvzqkgcc"))))
118 (build-system gnu-build-system)
119 (native-inputs
120 `(("pkg-config" ,pkg-config)
121 ("intltool" ,intltool)))
122 (inputs
123 `(("libxml++-2" ,libxml++-2)
124 ("gnutls" ,gnutls)
125 ("gtkmm-2" ,gtkmm-2)
126 ("gtksourceview-2" ,gtksourceview-2)
127 ("libnet6" ,libnet6)
128 ("obby" ,obby)))
129 (arguments
130 ;; Required by libsigc++.
131 `(#:configure-flags '("CXXFLAGS=-std=c++11")))
132 (home-page "https://gobby.github.io/")
133 (synopsis "Collaborative editor")
134 (description
135 "Collaborative editor that supports multiple documents in one session and
136a multi-user chat. Gobby allows multiple users to edit the same document
137together over the internet in real-time.
138
139This is the older 0.4 version of Gobby. Use this version only if you need to
140connect to a server running the old 0.4 protocol.")
141 (license license:gpl2+)))
142
e9070933
AW
143(define-public gobby
144 (package
145 (name "gobby")
97291c0c 146 (version "0.5.0")
e9070933
AW
147 (source (origin
148 (method url-fetch)
149 (uri (string-append "http://releases.0x539.de/gobby/gobby-"
150 version ".tar.gz"))
151 (file-name (string-append name "-" version ".tar.gz"))
152 (sha256
153 (base32
97291c0c 154 "165x0r668ma5blziisvbr8qig3jw9hf7i6w8r7wwvz3wsac3bswc"))))
e9070933
AW
155 (build-system gnu-build-system)
156 (native-inputs
157 `(("pkg-config" ,pkg-config)
158 ("intltool" ,intltool)))
159 (inputs
97291c0c
AI
160 `(("gnutls" ,gnutls)
161 ("gsasl" ,gsasl)
e9070933
AW
162 ("gtkmm-2" ,gtkmm-2)
163 ("gtksourceview-2" ,gtksourceview-2)
97291c0c
AI
164 ("libinfinity" ,libinfinity)
165 ("libxml++-2" ,libxml++-2)))
e9070933
AW
166 (arguments
167 ;; Required by libsigc++.
97291c0c
AI
168 `(#:configure-flags '("CXXFLAGS=-std=c++11")
169 #:phases
170 (modify-phases %standard-phases
171 (add-after 'install 'move-executable
172 (lambda* (#:key outputs #:allow-other-keys)
173 (with-directory-excursion (assoc-ref outputs "out")
174 (rename-file "bin/gobby-0.5" "bin/gobby"))
175 #t)))))
e9070933
AW
176 (home-page "https://gobby.github.io/")
177 (synopsis "Collaborative editor")
178 (description
179 "Collaborative editor that supports multiple documents in one session and
180a multi-user chat. Gobby allows multiple users to edit the same document
181together over the internet in real-time.")
182 (license license:gpl2+)))
6a84ec8e
AI
183
184(define-public libinfinity
185 (package
186 (name "libinfinity")
143a4f03 187 (version "0.7.2")
6a84ec8e
AI
188 (source
189 (origin
190 (method url-fetch)
191 (uri (string-append "http://releases.0x539.de/libinfinity/libinfinity-"
192 version ".tar.gz"))
193 (sha256
194 (base32
143a4f03 195 "17i3g61hxz9pzl3ryd1yr15142r25m06jfzjrpdy7ic1b8vjjw3f"))))
6a84ec8e
AI
196 (build-system gnu-build-system)
197 (inputs
198 `(("glib" ,glib)
199 ("gsasl" ,gsasl)
7c45593b 200 ("gtk+" ,gtk+)
6a84ec8e
AI
201 ("libxml2" ,libxml2)))
202 (native-inputs
203 `(("pkg-config" ,pkg-config)))
204 (arguments
cea9741b
TGR
205 `(#:configure-flags (list "--disable-static"
206 "--with-inftextgtk"
6a84ec8e
AI
207 "--with-infgtk")))
208 (home-page "https://gobby.github.io/")
209 (synopsis "Infininote protocol implementation")
210 (description "libinfinity is a library to build collaborative text
211editors. Changes to the text buffers are synced to all other clients over a
212central server. Even though a central server is involved, the local user sees
213his changes applied instantly and the merging is done on the individual
214clients.")
215 (license license:lgpl2.1+)))