gnu: Remove wicd.

The last release is from 2017, stuck on Python 2.

* gnu/packages/wicd.scm: Delete file.
* gnu/packages/patches/wicd-bitrate-none-fix.patch: Delete file.
* gnu/packages/patches/wicd-get-selected-profile-fix.patch: Likewise.
* gnu/packages/patches/wicd-urwid-1.3.patch: Likewise.
* gnu/packages/patches/wicd-wpa2-ttls.patch: Likewise.
* gnu/local.mk: De-register them.
* gnu/services/networking.scm: Remove wicd service...
* doc/guix.texi: ... and its documentation.
* gnu/system/linux-container.scm (containerized-operating-system)
<services-to-drop>: Remove wicd-service-type.
This commit is contained in:
Maxim Cournoyer 2022-04-29 23:50:26 -04:00
parent bbbfe095fb
commit edac21bfc7
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
9 changed files with 1 additions and 376 deletions

View File

@ -18659,20 +18659,6 @@ List of additional command-line arguments to pass to the daemon.
@end table
@end deftp
@cindex wicd
@cindex wireless
@cindex WiFi
@cindex network management
@deffn {Scheme Procedure} wicd-service [#:wicd @var{wicd}]
Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network
management daemon that aims to simplify wired and wireless networking.
This service adds the @var{wicd} package to the global profile, providing
several commands to interact with the daemon and configure networking:
@command{wicd-client}, a graphical user interface, and the @command{wicd-cli}
and @command{wicd-curses} user interfaces.
@end deffn
@cindex ModemManager
Some networking devices such as modems require special care, and this is
what the services below focus on.

View File

@ -612,7 +612,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/web-browsers.scm \
%D%/packages/webkit.scm \
%D%/packages/wget.scm \
%D%/packages/wicd.scm \
%D%/packages/wine.scm \
%D%/packages/wireservice.scm \
%D%/packages/wm.scm \
@ -1941,10 +1940,6 @@ dist_patch_DATA = \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \
%D%/packages/patches/wicd-wpa2-ttls.patch \
%D%/packages/patches/widelands-add-missing-map-include.patch \
%D%/packages/patches/widelands-system-wide_minizip.patch \
%D%/packages/patches/wmctrl-64-fix.patch \

View File

@ -1,24 +0,0 @@
Fix copied from https://bugs.launchpad.net/wicd/+bug/1432423/comments/1
--- wicd-1.7.3/curses/netentry_curses.py 1969-12-31 19:00:00.000000000 -0500
+++ wicd-1.7.3/curses/netentry_curses.py 2015-08-11 23:26:19.999999649 -0400
@@ -538,11 +538,16 @@
self.bitrates = wireless.GetAvailableBitrates()
self.bitrates.append('auto')
self.bitrate_combo.set_list(self.bitrates)
+
+ # bitrate property is sometimes None
+ chosen_bitrate = wireless.GetWirelessProperty(networkID, 'bitrate')
+ if chosen_bitrate not in self.bitrates:
+ chosen_bitrate = 'auto'
+
self.bitrate_combo.set_focus(
- self.bitrates.index(
- wireless.GetWirelessProperty(networkID, 'bitrate')
- )
+ self.bitrates.index(chosen_bitrate)
)
+
self.allow_lower_bitrates_chkbox.set_state(
to_bool(self.format_entry(networkID, 'allow_lower_bitrates'))
)

View File

@ -1,16 +0,0 @@
Fix copied from https://bugs.launchpad.net/wicd/+bug/1421918/comments/2
--- wicd-1.7.3/curses/wicd-curses.py 2014-12-21 16:57:33 +0000
+++ wicd-1.7.3/curses/wicd-curses.py 2015-02-24 23:41:01 +0000
@@ -532,7 +532,10 @@
def get_selected_profile(self):
"""Get the selected wired profile"""
loc = self.get_focus()[1]
- return self.theList[loc]
+ if len(self.theList) > loc:
+ return self.theList[loc]
+ else:
+ return self.theList[-1]
class AdHocDialog(Dialog2):

View File

@ -1,18 +0,0 @@
Update the wicd-curses client to work with urwid-1.3. Based on a patch from:
http://technik.blogbasis.net/wicd-curses-fix-fuer-attributeerror-screen-object-no-attribute-get_input_nonblocking-04-12-2014
--- wicd-1.7.3/curses/wicd-curses.py.orig 2014-12-21 14:40:46.000000000 -0500
+++ wicd-1.7.3/curses/wicd-curses.py 2015-02-05 23:41:17.530901204 -0500
@@ -1153,9 +1153,10 @@
if not ui._started:
return False
- input_data = ui.get_input_nonblocking()
+ ui.set_input_timeouts(max_wait=0)
+ input_data = ui.get_input()
# Resolve any "alarms" in the waiting
- self.handle_keys(input_data[1])
+ self.handle_keys(input_data)
# Update the screen
canvas = self.frame.render((self.size), True)

View File

@ -1,38 +0,0 @@
Add a template for WPA2-TTLS, which is notably used by Eduroam.
--- a/encryption/templates/active
+++ b/encryption/templates/active
@@ -4,6 +4,7 @@ wpa-psk
wpa-psk-hex
wpa2-leap
wpa2-peap
+wpa2-ttls
wep-hex
wep-passphrase
wep-shared
diff --git a/encryption/templates/wpa2-ttls b/encryption/templates/wpa2-ttls
new file mode 100644
index 0000000..4f66a1e
--- /dev/null
+++ b/encryption/templates/wpa2-ttls
@@ -0,0 +1,20 @@
+name = WPA2-TTLS (used notably by Eduroam)
+author = various contributors
+version = 1
+require identity *Identity anonymous_identity *Anonymous_identity password *Password ca_cert *Path_to_CA_Cert
+protected password *Password
+-----
+ctrl_interface=/var/run/wpa_supplicant
+network={
+ ssid="$_ESSID"
+ scan_ssid=$_SCAN
+ proto=WPA2
+ key_mgmt=WPA-EAP
+ group=CCMP TKIP
+ eap=TTLS
+ identity="$_IDENTITY"
+ password="$_PASSWORD"
+ anonymous_identity="$_ANONYMOUS_IDENTITY"
+ ca_cert="$_CA_CERT"
+ phase2="auth=PAP"
+}

View File

@ -1,197 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages wicd)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system python)
#:use-module (guix licenses)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
#:use-module (gnu packages admin)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz))
(define-public wicd
(package
(name "wicd")
(version "1.7.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://launchpad.net/wicd/"
(version-major+minor version) "/" version
"/+download/wicd-" version ".tar.gz"))
(sha256
(base32 "0qpbwwsrqdp40mm3a8djpn2d055rxxspdhwijwsdnws700a9d637"))
(patches (search-patches
"wicd-bitrate-none-fix.patch"
"wicd-get-selected-profile-fix.patch"
"wicd-urwid-1.3.patch"
"wicd-wpa2-ttls.patch"))))
(build-system python-build-system)
(native-inputs `(("gettext" ,gettext-minimal)))
(inputs `(("dbus-glib" ,dbus-glib)
("python2-dbus" ,python2-dbus)
("python2-pygtk" ,python2-pygtk)
("python2-urwid" ,python2-urwid)
("python2-babel" ,python2-babel)
("wireless-tools" ,wireless-tools)
("wpa-supplicant" ,wpa-supplicant)
("net-tools" ,net-tools)
("isc-dhcp" ,isc-dhcp)
("iproute" ,iproute)
("hicolor-icon-theme" ,hicolor-icon-theme)))
(arguments
`(#:python ,python-2
#:tests? #f ; test suite requires networking
;; wicd directly extends distutils command classes,
;; we can't easily make setup.py use setuptools.
#:use-setuptools? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(python (assoc-ref inputs "python")))
(define (which* cmd)
(cond ((string=? cmd "ping")
"/run/setuid-programs/ping")
((which cmd)
=> identity)
(else
(format (current-error-port)
"WARNING: Unable to find absolute path for ~s~%"
cmd)
#f)))
(substitute* "setup.py"
;; The handling of unrecognized distros in setup.py is
;; broken. Work around the problem.
(("\\('init=', " all)
(string-append "#" all))
;; Inhibit attempts to install in /var or /etc.
(("\\(wpath\\.(log|etc|networks|.*scripts), " all)
(string-append "#" all)))
;; Patch references to subprograms with absolute pathnames.
(substitute* "wicd/wnettools.py"
(("(misc\\.Run\\(\\[?[\"'])([^\"' ]*)" all pre cmd)
(string-append pre (which* cmd)))
(("(self\\._find_program_path|misc\\.find_path)\\([\"']([^\"']*)[\"']\\)"
all dummy cmd)
(let ((pathname (which* cmd)))
(if pathname
(string-append "'" pathname "'")
"None")))
(("([\"'])(ifconfig|route|wpa_cli|wpa_supplicant|iwconfig|iwpriv|iwlist|ping)"
all open-quote cmd)
(string-append open-quote (which* cmd))))
;; setup.py cannot cope without LANG
(setenv "LANG" "C")
(let ((params
(list
(string-append "--python=" python "/bin/python")
"--no-install-init"
"--no-install-docs"
"--no-install-acpi"
"--no-install-pmutils"
"--no-install-kde"
"--no-install-gnome-shell-extensions"
;; Don't pass --distro= despite setup.py's complaints.
;; Guix isn't recognised, and if it ever would be we'd
;; rather ask upstream to follow standards instead.
"--wicdgroup=netdev"
"--loggroup=root"
"--logperms=0640"
;; XXX setup.py configure asks us to pass --init=,
;; but if we do it says "no such option 'init'".
;; (string-append "--init=" out "/etc/init.d")
(string-append "--initfile=" out "/etc/init.d/wicd")
(string-append "--lib=" out "/lib/wicd")
(string-append "--share=" out "/share/wicd")
"--etc=/etc/wicd"
"--scripts=/etc/wicd/scripts"
"--pmutils=/etc/pm-utils/sleep.d"
(string-append "--encryption="
out "/etc/encryption/templates")
(string-append "--bin=" out "/bin")
(string-append "--sbin=" out "/sbin")
(string-append "--daemon=" out "/share/wicd/daemon")
(string-append "--backends=" out "/share/wicd/backends")
(string-append "--curses=" out "/share/wicd/curses")
(string-append "--gtk=" out "/share/wicd/gtk")
(string-append "--cli=" out "/share/wicd/cli")
(string-append "--gnome-shell-extensions="
out "/share/gnome-shell-extensions")
(string-append "--icons=" out "/share/icons/hicolor")
(string-append "--pixmaps=" out "/share/pixmaps")
(string-append "--images=" out "/share/icons")
(string-append "--dbus=" out "/etc/dbus-1/system.d")
(string-append "--dbus-service="
out "/share/dbus-1/system-services")
(string-append "--systemd=" out "/lib/systemd/system")
(string-append "--logrotate=" out "/etc/logrotate.d")
(string-append "--desktop=" out "/share/applications")
(string-append "--translations=" out "/share/locale")
(string-append "--autostart=" out "/etc/xdg/autostart")
(string-append "--docdir=" out "/share/doc/wicd")
(string-append "--mandir=" out "/share/man")
(string-append "--kdedir=" out "/share/autostart"))))
(format #t
"running ~s with command ~s and parameters ~s~%"
"python setup.py" "configure" params)
(apply invoke "python" "setup.py" "configure" params)))))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; wicd's installer tries to put dhclient.conf.template.default
;; in /etc/wicd/other, which is not available in the build
;; environment, so here we install it manually in the output
;; directory.
(let ((dest-dir (string-append out "/etc/wicd"))
(name "dhclient.conf.template.default"))
(install-file (string-append "other/" name) dest-dir))
;; Copy index.theme from hicolor-icon-theme. This is needed to
;; allow wicd-gtk to find its icons.
(let ((hicolor (assoc-ref inputs "hicolor-icon-theme"))
(name "/share/icons/hicolor/index.theme"))
(install-file (string-append hicolor name)
(string-append out "/share/icons/hicolor")))
#t))))))
(synopsis "Network connection manager")
(description "Wicd is a network manager that aims to simplify wired and
wireless networking.")
(home-page "https://launchpad.net/wicd")
(license gpl2+)))

View File

@ -57,7 +57,6 @@
#:use-module (gnu packages messaging)
#:use-module (gnu packages networking)
#:use-module (gnu packages ntp)
#:use-module (gnu packages wicd)
#:use-module (gnu packages gnome)
#:use-module (gnu packages ipfs)
#:use-module (gnu build linux-container)
@ -130,9 +129,6 @@
tor-hidden-service
tor-service-type
wicd-service-type
wicd-service
network-manager-configuration
network-manager-configuration?
network-manager-configuration-dns
@ -1092,64 +1088,6 @@ project's documentation} for more information."
(service tor-hidden-service-type
(hidden-service name mapping)))
;;;
;;; Wicd.
;;;
(define %wicd-activation
;; Activation gexp for Wicd.
#~(begin
(use-modules (guix build utils))
(mkdir-p "/etc/wicd")
(let ((file-name "/etc/wicd/dhclient.conf.template.default"))
(unless (file-exists? file-name)
(copy-file (string-append #$wicd file-name)
file-name)))
;; Wicd invokes 'wpa_supplicant', which needs this directory for its
;; named socket files.
(mkdir-p "/var/run/wpa_supplicant")
(chmod "/var/run/wpa_supplicant" #o750)))
(define (wicd-shepherd-service wicd)
"Return a shepherd service for WICD."
(list (shepherd-service
(documentation "Run the Wicd network manager.")
(provision '(networking))
(requirement '(user-processes dbus-system loopback))
(start #~(make-forkexec-constructor
(list (string-append #$wicd "/sbin/wicd")
"--no-daemon")))
(stop #~(make-kill-destructor)))))
(define wicd-service-type
(service-type (name 'wicd)
(extensions
(list (service-extension shepherd-root-service-type
wicd-shepherd-service)
(service-extension dbus-root-service-type
list)
(service-extension activation-service-type
(const %wicd-activation))
;; Add Wicd to the global profile.
(service-extension profile-service-type list)))
(description
"Run @url{https://launchpad.net/wicd,Wicd}, a network
management daemon that aims to simplify wired and wireless networking.")))
(define* (wicd-service #:key (wicd wicd))
"Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network
management daemon that aims to simplify wired and wireless networking.
This service adds the @var{wicd} package to the global profile, providing
several commands to interact with the daemon and configure networking:
@command{wicd-client}, a graphical user interface, and the @command{wicd-cli}
and @command{wicd-curses} user interfaces."
(service wicd-service-type wicd))
;;;
;;; ModemManager

View File

@ -129,8 +129,7 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file systems to add to OS."
static-networking-service-type
dhcp-client-service-type
network-manager-service-type
connman-service-type
wicd-service-type)
connman-service-type)
(list))))
(define services-to-add