projects/guix·blob python-team · refs

130 lines · 5.0 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2019 Brant Gardner <[email protected]>
3;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <[email protected]>
4;;; Copyright © 2020 Efraim Flashner <[email protected]>
5;;; Copyright © 2023 Eric Bavier <[email protected]>
6;;; Copyright © 2024 Vitalii Koshura <[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 distributed)
24 #:use-module (guix gexp)
25 #:use-module (guix packages)
26 #:use-module (guix utils)
27 #:use-module (guix git-download)
28 #:use-module (guix build-system gnu)
29 #:use-module ((guix licenses) #:prefix license:)
30 #:use-module (gnu packages)
31 #:use-module (gnu packages autotools)
32 #:use-module (gnu packages base)
33 #:use-module (gnu packages compression)
34 #:use-module (gnu packages databases)
35 #:use-module (gnu packages dns)
36 #:use-module (gnu packages gcc)
37 #:use-module (gnu packages gtk)
38 #:use-module (gnu packages kerberos)
39 #:use-module (gnu packages pkg-config)
40 #:use-module (gnu packages popt)
41 #:use-module (gnu packages tls)
42 #:use-module (gnu packages curl)
43 #:use-module (gnu packages wxwidgets)
44 #:use-module (gnu packages gnome)
45 #:use-module (gnu packages gtk)
46 #:use-module (gnu packages perl)
47 #:use-module (gnu packages sqlite)
48 #:use-module (gnu packages python)
49 #:use-module (gnu packages python-build)
50 #:use-module (gnu packages python-xyz))
51
52(define-public boinc-client
53 (package
54 (name "boinc-client")
55 (version "8.2.12")
56 (source (origin
57 (method git-fetch)
58 (uri (git-reference
59 (url "https://github.com/boinc/boinc")
60 (commit (string-append "client_release/"
61 (version-major+minor version)
62 "/" version))))
63 (file-name (git-file-name "boinc" version))
64 (sha256
65 (base32
66 "0531n0yij1gh06xy6plwivbpmhqfq15jizg3rdgri40nz41rzbgr"))))
67 (build-system gnu-build-system)
68 (arguments
69 (list
70 #:configure-flags
71 #~(list "--disable-server")))
72 (inputs (list openssl
73 curl
74 wxwidgets
75 gtk+
76 gdk-pixbuf
77 libnotify
78 sqlite
79 python
80 python-pyserial))
81 (native-inputs
82 (list autoconf automake libtool pkg-config))
83 (synopsis "Help cutting-edge science research using your computer")
84 (description "BOINC is a platform for high-throughput computing on a large
85scale (thousands or millions of computers). It can be used for volunteer
86computing (using consumer devices) or grid computing (using organizational
87resources). It supports virtualized, parallel, and GPU-based applications.")
88 (home-page "https://boinc.berkeley.edu/")
89 ;; BOINC is distributed as LGPL3+, with some individual modules under GPL3+.
90 (license (list license:lgpl3+ license:gpl3+))))
91
92(define-public distcc
93 (package
94 (name "distcc")
95 (version "3.4")
96 (source (origin
97 (method git-fetch)
98 (uri (git-reference
99 (url "https://github.com/distcc/distcc")
100 (commit (string-append "v" version))))
101 (file-name (git-file-name name version))
102 (sha256
103 (base32
104 "0nn0wzrmm88268vay855hr8bw9im5f8kzjp7k20qav9yrckhfwab"))))
105 (build-system gnu-build-system)
106 (arguments
107 (list #:tests? #f ; TODO: Tests use a hardcoded PATH called RESTRICTED_PATH
108 #:configure-flags #~(list "--enable-rfc2553"
109 "--with-gtk"
110 "--with-auth")))
111 (native-inputs
112 (list autoconf
113 automake
114 pkg-config
115 python-setuptools
116 which))
117 (inputs
118 (list avahi
119 gtk+
120 libiberty
121 mit-krb5 ; for gss
122 popt
123 python-minimal))
124 (home-page "https://www.distcc.org/")
125 (synopsis "Distributed builds for C, C++ and Objective C")
126 (description "distcc is a program to distribute compilation of C or C++ code across
127several machines on a network. distcc should always generate the same
128results as a local compile, is simple to install and use, and is often
129two or more times faster than a local compile.")
130 (license license:gpl2+)))