gnu: Add itpp.
[jackhill/guix/guix.git] / gnu / packages / gobby.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
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 gobby)
20 #:use-module (guix packages)
21 #:use-module (guix download)
22 #:use-module (guix utils)
23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix build-system gnu)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages glib)
27 #:use-module (gnu packages gnome)
28 #:use-module (gnu packages gtk)
29 #:use-module (gnu packages pkg-config)
30 #:use-module (gnu packages tls)
31 #:use-module (gnu packages xml))
32
33 (define-public libnet6
34 (package
35 (name "libnet6")
36 (version "1.3.14")
37 (source (origin
38 (method url-fetch)
39 (uri (string-append "http://releases.0x539.de/net6/net6-"
40 version ".tar.gz"))
41 (sha256
42 (base32
43 "088yqq60wjx3jqjlhl12893p15gl9asjpavrbhh590qzpqndhp8m"))))
44 (build-system gnu-build-system)
45 (native-inputs
46 `(("pkg-config" ,pkg-config)))
47 (arguments
48 `(#:configure-flags
49 '("CXXFLAGS=-std=c++11") ; required by libsigc++
50 #:phases
51 (modify-phases %standard-phases
52 (add-before 'configure 'update-gnutls-api
53 (lambda _
54 (substitute* "src/encrypt.cpp"
55 ;; The GnuTLS API to set authentication and other parameters
56 ;; and priorities changed in 3.4; update to allow ANON_DH via
57 ;; the new API.
58 (("gnutls_kx_set_priority\\(session, kx_prio\\)")
59 (string-append "gnutls_priority_set_direct"
60 "(session, \"NORMAL:+ANON-DH\", NULL)"))))))))
61 (inputs
62 `(("libsigc++" ,libsigc++)
63 ("gnutls" ,gnutls)))
64 (home-page "https://gobby.github.io/")
65 (synopsis "Network access framework for IPv4/IPv6")
66 (description
67 "Library which that provides a TCP protocol abstraction for C++.")
68 (license license:lgpl2.1)))
69
70 (define-public obby
71 (package
72 (name "obby")
73 (version "0.4.8")
74 (source (origin
75 (method url-fetch)
76 (uri (string-append "http://releases.0x539.de/obby/obby-"
77 version ".tar.gz"))
78 (file-name (string-append name "-" version ".tar.gz"))
79 (sha256
80 (base32
81 "0rwvp0kzsb8y6mq73rzb8yk4kvsrz64i2zf4lfqs3kh0x2k7n7bx"))))
82 (build-system gnu-build-system)
83 (native-inputs
84 `(("pkg-config" ,pkg-config)))
85 (inputs
86 `(("libsigc++" ,libsigc++)
87 ("gnutls" ,gnutls)
88 ("libnet6" ,libnet6)))
89 (arguments
90 ;; Required by libsigc++.
91 `(#:configure-flags '("CXXFLAGS=-std=c++11")))
92 (home-page "https://gobby.github.io/")
93 (synopsis "Library for building collaborative editors")
94 (description
95 "Library that provides synced document buffers. It supports multiple
96 documents in one session. Obby is used by the Gobby collaborative editor.")
97 (license license:gpl2+)))
98
99 (define-public gobby
100 (package
101 (name "gobby")
102 (version "0.4.13")
103 (source (origin
104 (method url-fetch)
105 (uri (string-append "http://releases.0x539.de/gobby/gobby-"
106 version ".tar.gz"))
107 (file-name (string-append name "-" version ".tar.gz"))
108 (sha256
109 (base32
110 "0w8q01lf6bcdz537b29m7rwlbc7k87b12vnpm1h6219ypvzqkgcc"))))
111 (build-system gnu-build-system)
112 (native-inputs
113 `(("pkg-config" ,pkg-config)
114 ("intltool" ,intltool)))
115 (inputs
116 `(("libxml++-2" ,libxml++-2)
117 ("gnutls" ,gnutls)
118 ("gtkmm-2" ,gtkmm-2)
119 ("gtksourceview-2" ,gtksourceview-2)
120 ("libnet6" ,libnet6)
121 ("obby" ,obby)))
122 (arguments
123 ;; Required by libsigc++.
124 `(#:configure-flags '("CXXFLAGS=-std=c++11")))
125 (home-page "https://gobby.github.io/")
126 (synopsis "Collaborative editor")
127 (description
128 "Collaborative editor that supports multiple documents in one session and
129 a multi-user chat. Gobby allows multiple users to edit the same document
130 together over the internet in real-time.")
131 (license license:gpl2+)))