M gnu-system.am => gnu-system.am +1 -0
@@ 562,6 562,7 @@ dist_patch_DATA = \
gnu/packages/patches/w3m-fix-compile.patch \
gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch \
gnu/packages/patches/weex-vacopy.patch \
+ gnu/packages/patches/wicd-template-instantiation.patch \
gnu/packages/patches/wicd-urwid-1.3.patch \
gnu/packages/patches/wmctrl-64-fix.patch \
gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch \
A gnu/packages/patches/wicd-template-instantiation.patch => gnu/packages/patches/wicd-template-instantiation.patch +29 -0
@@ 0,0 1,29 @@
+Wicd 1.7.3 fails to instantiate template lines that have several
+variable references. For instance, the line:
+
+ wep_key$_KEY_INDEX=$_KEY
+
+which is found in in the 'wep-hex' template, expands to these two
+lines:
+
+ wep_key0=$_KEY
+ wep_key0=123456789ab
+
+This patch fixes that by only emitting the fully substituted line.
+
+Patch by Ludovic Courtès <ludo@gnu.org>.
+
+--- a/wicd/misc.py 2012-11-17 00:07:08 +0000
++++ b/wicd/misc.py 2015-05-09 11:22:37 +0000
+@@ -321,11 +321,11 @@ def ParseEncryption(network):
+ rep_val = '0'
+ if rep_val:
+ line = line.replace("$_%s" % cur_val, str(rep_val))
+- config_file = ''.join([config_file, line])
+ else:
+ print "Ignoring template line: '%s'" % line
+ else:
+ print "Weird parsing error occurred"
++ config_file = ''.join([config_file, line])
+ else: # Just a regular entry.
+ config_file = ''.join([config_file, line])
M gnu/packages/wicd.scm => gnu/packages/wicd.scm +3 -1
@@ 44,7 44,9 @@
"/+download/wicd-" version ".tar.gz"))
(sha256
(base32 "00c4rq753bhg64rv1v9yl834ssq7igyy7cz3swp287b5n5bqiqwi"))
- (patches (list (search-patch "wicd-urwid-1.3.patch")))))
+ (patches (map search-patch
+ '("wicd-urwid-1.3.patch"
+ "wicd-template-instantiation.patch")))))
(build-system python-build-system)
(native-inputs `(("gettext" ,gnu-gettext)))
(inputs `(("dbus" ,dbus)