gnu: rust-percent-encoding-2: Update to 2.2.0.
[jackhill/guix/guix.git] / gnu / packages / distributed.scm
CommitLineData
2d25b0c8
BG
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2019 Brant Gardner <brantcgardner@brantware.com>
bcd3c485 3;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
f87d5942 4;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
2d25b0c8
BG
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages distributed)
22 #:use-module (guix packages)
ecfc86a2 23 #:use-module (guix utils)
2d25b0c8
BG
24 #:use-module (guix download)
25 #:use-module (guix git-download)
26 #:use-module (guix build-system gnu)
27 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (gnu packages)
29 #:use-module (gnu packages autotools)
30 #:use-module (gnu packages base)
31 #:use-module (gnu packages compression)
32 #:use-module (gnu packages databases)
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages tls)
35 #:use-module (gnu packages curl)
36 #:use-module (gnu packages wxwidgets)
37 #:use-module (gnu packages gnome)
38 #:use-module (gnu packages gtk)
39 #:use-module (gnu packages perl)
40 #:use-module (gnu packages sqlite)
41 #:use-module (gnu packages python)
42 #:use-module (gnu packages python-xyz))
43
44(define-public boinc-client
45 (package
46 (name "boinc-client")
d2072075 47 (version "7.16.17")
2d25b0c8
BG
48 (source (origin
49 (method git-fetch)
50 (uri (git-reference
b0e7b699 51 (url "https://github.com/boinc/boinc")
2d25b0c8 52 (commit (string-append "client_release/"
ecfc86a2
MB
53 (version-major+minor version)
54 "/" version))))
55 (file-name (git-file-name "boinc" version))
2d25b0c8
BG
56 (sha256
57 (base32
d2072075 58 "1p8y3mnf5yfhavhqxwf9v68prg1601h8q1pllm5z89zh661di3mj"))))
2d25b0c8
BG
59 (build-system gnu-build-system)
60 (arguments '(#:configure-flags '("--disable-server")))
8394619b
LC
61 (inputs (list openssl
62 curl
63 wxwidgets
64 gtk+
65 gdk-pixbuf
66 libnotify
67 sqlite
68 python
69 python-pyserial))
2d25b0c8 70 (native-inputs
8394619b 71 (list autoconf automake libtool pkg-config))
3bc39f0c 72 (synopsis "Help cutting-edge science research using your computer")
2d25b0c8
BG
73 (description "BOINC is a platform for high-throughput computing on a large
74scale (thousands or millions of computers). It can be used for volunteer
75computing (using consumer devices) or grid computing (using organizational
d72bfe07 76resources). It supports virtualized, parallel, and GPU-based applications.")
2d25b0c8 77 (home-page "https://boinc.berkeley.edu/")
c21dae9b
MB
78 ;; BOINC is distributed as LGPL3+, with some individual modules under GPL3+.
79 (license (list license:lgpl3+ license:gpl3+))))
2d25b0c8
BG
80
81(define-public boinc-server
d2072075
TGR
82 ;; XXX The server and client packages duplicate many files such as /lib.
83 ;; TODO: consolidate them?
2d25b0c8
BG
84 (package (inherit boinc-client)
85 (name "boinc-server")
86 (arguments '(#:configure-flags '("--disable-client" "--disable-manager")
d2072075 87 #:parallel-build? #f))
ca89f21a 88 (inputs `(("openssl" ,openssl)
2d25b0c8 89 ("curl" ,curl)
f87d5942 90 ("mariadb:dev" ,mariadb "dev")
2d25b0c8
BG
91 ("zlib" ,zlib)))
92 (propagated-inputs `(("python" ,python-wrapper)
93 ("perl" ,perl)))))