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 table
@end deftp @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 @cindex ModemManager
Some networking devices such as modems require special care, and this is Some networking devices such as modems require special care, and this is
what the services below focus on. what the services below focus on.

View file

@ -612,7 +612,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/web-browsers.scm \ %D%/packages/web-browsers.scm \
%D%/packages/webkit.scm \ %D%/packages/webkit.scm \
%D%/packages/wget.scm \ %D%/packages/wget.scm \
%D%/packages/wicd.scm \
%D%/packages/wine.scm \ %D%/packages/wine.scm \
%D%/packages/wireservice.scm \ %D%/packages/wireservice.scm \
%D%/packages/wm.scm \ %D%/packages/wm.scm \
@ -1941,10 +1940,6 @@ dist_patch_DATA = \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \ %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \ %D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.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-add-missing-map-include.patch \
%D%/packages/patches/widelands-system-wide_minizip.patch \ %D%/packages/patches/widelands-system-wide_minizip.patch \
%D%/packages/patches/wmctrl-64-fix.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 @@ (define-module (gnu services networking)
#:use-module (gnu packages messaging) #:use-module (gnu packages messaging)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages ntp) #:use-module (gnu packages ntp)
#:use-module (gnu packages wicd)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages ipfs) #:use-module (gnu packages ipfs)
#:use-module (gnu build linux-container) #:use-module (gnu build linux-container)
@ -130,9 +129,6 @@ (define-module (gnu services networking)
tor-hidden-service tor-hidden-service
tor-service-type tor-service-type
wicd-service-type
wicd-service
network-manager-configuration network-manager-configuration
network-manager-configuration? network-manager-configuration?
network-manager-configuration-dns network-manager-configuration-dns
@ -1092,64 +1088,6 @@ (define (tor-hidden-service name mapping)
(service tor-hidden-service-type (service tor-hidden-service-type
(hidden-service name mapping))) (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 ;;; ModemManager

View file

@ -129,8 +129,7 @@ (define services-to-drop
static-networking-service-type static-networking-service-type
dhcp-client-service-type dhcp-client-service-type
network-manager-service-type network-manager-service-type
connman-service-type connman-service-type)
wicd-service-type)
(list)))) (list))))
(define services-to-add (define services-to-add