projects/guix·blob python-team · refs

170 lines · 6.6 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <[email protected]>
3;;; Copyright © 2017 Mathieu Othacehe <[email protected]>
4;;; Copyright © 2017 Clément Lassieur <[email protected]>
5;;; Copyright © 2017 Ricardo Wurmus <[email protected]>
6;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <[email protected]>
7;;; Copyright © 2026 Anderson Torres <[email protected]>
8;;;
9;;; This file is part of GNU Guix.
10;;;
11;;; GNU Guix is free software; you can redistribute it and/or modify it
12;;; under the terms of the GNU General Public License as published by
13;;; the Free Software Foundation; either version 3 of the License, or (at
14;;; your option) any later version.
15;;;
16;;; GNU Guix is distributed in the hope that it will be useful, but
17;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;;; GNU General Public License for more details.
20;;;
21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24(define-module (gnu packages connman)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages admin)
27 #:use-module (gnu packages autotools)
28 #:use-module (gnu packages bash)
29 #:use-module (gnu packages compression)
30 #:use-module (gnu packages enlightenment)
31 #:use-module (gnu packages glib)
32 #:use-module (gnu packages linux)
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages polkit)
35 #:use-module (gnu packages python)
36 #:use-module (gnu packages python-xyz)
37 #:use-module (gnu packages qt)
38 #:use-module (gnu packages readline)
39 #:use-module (gnu packages samba)
40 #:use-module (gnu packages tls)
41 #:use-module (gnu packages vpn)
42 #:use-module (guix build-system gnu)
43 #:use-module (guix download)
44 #:use-module (guix git-download)
45 #:use-module (guix gexp)
46 #:use-module ((guix licenses) :prefix license:)
47 #:use-module (guix packages)
48 #:use-module (guix utils))
49
50(define-public connman
51 (package
52 (name "connman")
53 (version "2.0")
54 (source
55 (origin
56 (method git-fetch)
57 (uri (git-reference
58 (url "https://git.kernel.org/pub/scm/network/connman/connman.git")
59 (commit version)))
60 (file-name (git-file-name name version))
61 (sha256
62 (base32 "1s2lamms9abjv0z7skhndnq8f9si99cajicyd57v09ibrn1irk2k"))))
63 (build-system gnu-build-system)
64 (arguments
65 (list
66 #:configure-flags
67 #~(list "--enable-nmcompat"
68 ;; PolKit doesn't need to be present at build time.
69 "--enable-polkit"
70 "--enable-iwd"
71 "--enable-l2tp"
72 "--enable-openconnect"
73 "--enable-openvpn"
74 "--enable-vpnc"
75 "--localstatedir=/var"
76 (string-append "--with-l2tp="
77 (search-input-file %build-inputs
78 "/sbin/xl2tpd"))
79 (string-append "--with-openconnect="
80 (search-input-file %build-inputs
81 "/sbin/openconnect"))
82 (string-append "--with-openvpn="
83 (search-input-file %build-inputs
84 "/sbin/openvpn"))
85 (string-append "--with-vpnc="
86 (search-input-file %build-inputs
87 "/sbin/vpnc"))
88 (string-append "--with-dbusconfdir=" #$output "/etc")
89 (string-append "--with-dbusdatadir=" #$output "/share"))))
90 (native-inputs
91 (list autoconf
92 automake
93 libtool
94 pkg-config
95 python-wrapper))
96 (inputs
97 (list dbus
98 glib
99 gnutls
100 iptables
101 libmnl
102 lz4 ; required by openconnect.pc
103 readline
104 ;; These inputs are needed for connman to include the interface to
105 ;; these technologies so IF they are installed they can be used.
106 ;; TODO: add neard, ofono
107 openconnect
108 openvpn
109 ppp
110 vpnc
111 wpa-supplicant
112 xl2tpd))
113 (home-page "https://git.kernel.org/pub/scm/network/connman/connman.git/about/")
114 (synopsis "Connection management daemon")
115 (description
116 "Connman provides a daemon for managing Internet connections. The
117Connection Manager is designed to be slim and to use as few resources as
118possible. It is fully modular system that can be extended through plug-ins.
119The plug-in approach allows for easy adaption and modification for various use
120cases. Connman implements DNS resolving and caching, DHCP clients for both
121IPv4 and IPv6, link-local IPv4 address handling and tethering (IP connection
122sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
123 (license license:gpl2)))
124
125(define-public cmst
126 (package
127 (name "cmst")
128 (version "2023.03.14")
129 (source
130 (origin
131 (method git-fetch)
132 (uri (git-reference
133 (url "https://github.com/andrew-bibb/cmst")
134 (commit (string-append "cmst-" version))))
135 (file-name (git-file-name name version))
136 (sha256
137 (base32 "00a0mvcb15w4yd0a51sayfj7s1hcx6agzk8mnn9wd6gxc1fhywc0"))))
138 (inputs
139 (list qtbase-5))
140 (native-inputs
141 (list qttools-5))
142 (build-system gnu-build-system)
143 (arguments
144 (list
145 #:phases
146 #~(modify-phases %standard-phases
147 (replace 'configure
148 (lambda _
149 (invoke "qmake"
150 (string-append "PREFIX=" #$output))))
151 (add-before 'build 'fix-references
152 (lambda _
153 (substitute* (find-files "." "Makefile")
154 (("INSTALL_ROOT)")
155 (string-append "INSTALL_ROOT)" #$output))
156 (("/usr") ""))
157 (substitute* (list "apps/cmstapp/cmstapp.pro"
158 "apps/cmstapp/code/control_box/controlbox.cpp"
159 "apps/rootapp/rootapp.pro"
160 "apps/rootapp/system/org.cmst.roothelper.service"
161 "cmst.pri"
162 "cmst.pro")
163 (("/usr") #$output)
164 (("/etc") (string-append #$output "/etc"))))))))
165 (home-page "https://github.com/andrew-bibb/cmst")
166 (synopsis "Qt frontend for Connman")
167 (description
168 "Cmst is a Qt based frontend for the @code{connman} connection manager.
169This package also provides a systemtray icon.")
170 (license license:x11)))