projects/guix·blob python-team · refs

167 lines · 6.2 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016, 2017 Andy Wingo <[email protected]>
3;;; Copyright © 2017, 2019 Arun Isaac <[email protected]>
4;;; Copyright © 2021 Efraim Flashner <[email protected]>
5;;; Copyright © 2021 Tobias Geerinckx-Rice <[email protected]>
6;;; Copyright © 2021 Felix Gruber <[email protected]>
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23(define-module (gnu packages gobby)
24 #:use-module (guix gexp)
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module (guix utils)
28 #:use-module ((guix licenses) #:prefix license:)
29 #:use-module (guix build-system glib-or-gtk)
30 #:use-module (guix build-system gnu)
31 #:use-module (gnu packages)
32 #:use-module (gnu packages glib)
33 #:use-module (gnu packages gnome)
34 #:use-module (gnu packages gsasl)
35 #:use-module (gnu packages gtk)
36 #:use-module (gnu packages pkg-config)
37 #:use-module (gnu packages tls)
38 #:use-module (gnu packages xml))
39
40(define-public libnet6
41 (package
42 (name "libnet6")
43 (version "1.3.14")
44 (source (origin
45 (method url-fetch)
46 (uri (string-append "http://releases.0x539.de/net6/net6-"
47 version ".tar.gz"))
48 (sha256
49 (base32
50 "088yqq60wjx3jqjlhl12893p15gl9asjpavrbhh590qzpqndhp8m"))))
51 (build-system gnu-build-system)
52 (native-inputs
53 (list pkg-config))
54 (arguments
55 `(#:configure-flags
56 (list "--disable-static")
57 #:phases
58 (modify-phases %standard-phases
59 (add-before 'configure 'update-gnutls-api
60 (lambda _
61 (substitute* "src/encrypt.cpp"
62 ;; The GnuTLS API to set authentication and other parameters
63 ;; and priorities changed in 3.4; update to allow ANON_DH via
64 ;; the new API.
65 (("gnutls_kx_set_priority\\(session, kx_prio\\)")
66 (string-append "gnutls_priority_set_direct"
67 "(session, \"NORMAL:+ANON-DH\", NULL)"))))))))
68 (inputs
69 (list libsigc++-2 gnutls))
70 (home-page "https://gobby.github.io/")
71 (synopsis "Network access framework for IPv4/IPv6")
72 (description
73 "Library which that provides a TCP protocol abstraction for C++.")
74 (license license:lgpl2.1)))
75
76(define-public obby
77 (package
78 (name "obby")
79 (version "0.4.8")
80 (source (origin
81 (method url-fetch)
82 (uri (string-append "http://releases.0x539.de/obby/obby-"
83 version ".tar.gz"))
84 (file-name (string-append name "-" version ".tar.gz"))
85 (sha256
86 (base32
87 "0rwvp0kzsb8y6mq73rzb8yk4kvsrz64i2zf4lfqs3kh0x2k7n7bx"))))
88 (build-system gnu-build-system)
89 (arguments
90 `(#:configure-flags
91 (list "--disable-static")))
92 (native-inputs
93 (list pkg-config))
94 (inputs
95 (list libsigc++-2 gnutls libnet6))
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+)))
102
103(define-public gobby
104 (package
105 (name "gobby")
106 (version "0.6.0")
107 (source (origin
108 (method url-fetch)
109 (uri (string-append "http://releases.0x539.de/gobby/gobby-"
110 version ".tar.gz"))
111 (file-name (string-append name "-" version ".tar.gz"))
112 (sha256
113 (base32
114 "1p2wbnchxy2wdzk19p7bxfpbq5zawa0l500na57jp8jgk3qz7czx"))))
115 (build-system glib-or-gtk-build-system)
116 (native-inputs
117 (list pkg-config intltool itstool))
118 (inputs
119 (list gnutls gsasl gtkmm-3 gtksourceview-3 libinfinity libxml++-2))
120 (arguments
121 (list
122 ;; Required by libsigc++.
123 #:configure-flags #~(list "CXXFLAGS=-std=c++11")
124 #:phases
125 #~(modify-phases %standard-phases
126 (add-after 'install 'move-executable
127 (lambda _
128 (with-directory-excursion #$output
129 (rename-file "bin/gobby-0.5" "bin/gobby")))))))
130 (home-page "https://gobby.github.io/")
131 (synopsis "Collaborative editor")
132 (description
133 "Collaborative editor that supports multiple documents in one session and
134a multi-user chat. Gobby allows multiple users to edit the same document
135together over the internet in real-time.")
136 (license license:gpl2+)))
137
138(define-public libinfinity
139 (package
140 (name "libinfinity")
141 (version "0.7.2")
142 (source
143 (origin
144 (method url-fetch)
145 (uri (string-append "http://releases.0x539.de/libinfinity/libinfinity-"
146 version ".tar.gz"))
147 (sha256
148 (base32
149 "17i3g61hxz9pzl3ryd1yr15142r25m06jfzjrpdy7ic1b8vjjw3f"))
150 (patches (search-patches "libinfinity-renew-test-certificate.patch"))))
151 (build-system gnu-build-system)
152 (inputs
153 (list glib gsasl gtk+ libxml2))
154 (native-inputs
155 (list pkg-config))
156 (arguments
157 `(#:configure-flags (list "--disable-static"
158 "--with-inftextgtk"
159 "--with-infgtk")))
160 (home-page "https://gobby.github.io/")
161 (synopsis "Infininote protocol implementation")
162 (description "libinfinity is a library to build collaborative text
163editors. Changes to the text buffers are synced to all other clients over a
164central server. Even though a central server is involved, the local user sees
165his changes applied instantly and the merging is done on the individual
166clients.")
167 (license license:lgpl2.1+)))