diff --git a/net-misc/wicd/Manifest b/net-misc/wicd/Manifest new file mode 100644 index 0000000..b74a6e9 --- /dev/null +++ b/net-misc/wicd/Manifest @@ -0,0 +1,3 @@ +DIST Icone-Wicd-Lucid.tar.gz 9015 BLAKE2B 20c55968fe2be08a6dc5e2b3584f9c4294c69a988789bcaad80bed02daf0cc971344578eac7a69208fabb0c5faefb47891dec0977d04d7bcfcb24c9ba7394385 SHA512 0df0dbdf05b462264dca2dd9955454a82f688b0fbfa7c2ad70a424df57eb27b35561d37819fc88b5746cff8a54de5b7b43ec325d2f98a4a1a30e4d500e86d2f8 +DIST wicd-1.7.4.tar.gz 547393 BLAKE2B 045073781eb81a29754a238c0fded5d3225727497ea24c6cea58a1c72b83da76af6fc40a8e7345652c2dc9eb68ed24e0d97e421fd8c9e4d909a2c8f9460881ea SHA512 1e99a45daa858eba634e60e50c22aa2fab3fc4d643979a6741b6164bf500bd6db285d11c12ccd164ab6cf0792284e319e3c3447804088e74b4fc67bb6f431959 +DIST wicd-mac4lin-icons.tar.xz 53136 BLAKE2B 5064546c2aebda92ce168847f2821ff11653939c21667f7f48263d3be0a9100dffa1322b9b2842cb92a2ca50dec39114b1246b057663ede8708db17271f16af3 SHA512 98ed3f92ec361aa8651c64efdb5128b8f73068f1cf2423640dafc4b46889ae32c1d1f56f509ad609b2bf98f634f8ada4c501f2294e3a64affd1befd4400498a8 diff --git a/net-misc/wicd/files/wicd-1.7.2.4-fix-desktop-categories.patch b/net-misc/wicd/files/wicd-1.7.2.4-fix-desktop-categories.patch new file mode 100644 index 0000000..0ccbd78 --- /dev/null +++ b/net-misc/wicd/files/wicd-1.7.2.4-fix-desktop-categories.patch @@ -0,0 +1,20 @@ +diff -U 3 -dHrN wicd-1.7.2.4.orig/other/wicd.desktop wicd-1.7.2.4/other/wicd.desktop +--- wicd-1.7.2.4.orig/other/wicd.desktop 2013-06-24 22:18:00.715578998 +0200 ++++ wicd-1.7.2.4/other/wicd.desktop 2013-06-24 22:18:57.672595363 +0200 +@@ -1,5 +1,5 @@ + [Desktop Entry] +-Categories=Application;Network; ++Categories=Network;Settings;Utility;X-GNOME-NetworkSettings; + Exec=wicd-gtk --no-tray + GenericName=Network Manager + Icon=wicd-gtk +diff -U 3 -dHrN wicd-1.7.2.4.orig/other/wicd-tray.desktop wicd-1.7.2.4/other/wicd-tray.desktop +--- wicd-1.7.2.4.orig/other/wicd-tray.desktop 2013-06-24 22:18:00.715578998 +0200 ++++ wicd-1.7.2.4/other/wicd-tray.desktop 2013-06-24 22:18:59.864595996 +0200 +@@ -1,5 +1,5 @@ + [Desktop Entry] +-Categories=Application;Network; ++Categories=Network;Settings;Utility;X-GNOME-NetworkSettings; + Exec=wicd-gtk --tray + GenericName=Network Manager + Icon=wicd-gtk diff --git a/net-misc/wicd/files/wicd-1.7.3-add-missing-gnome-shell-extension.patch b/net-misc/wicd/files/wicd-1.7.3-add-missing-gnome-shell-extension.patch new file mode 100644 index 0000000..9ea419e --- /dev/null +++ b/net-misc/wicd/files/wicd-1.7.3-add-missing-gnome-shell-extension.patch @@ -0,0 +1,39 @@ +diff -U 3 -dHrN wicd-1.7.3.orig/gnome-shell/extension.js wicd-1.7.3/gnome-shell/extension.js +--- wicd-1.7.3.orig/gnome-shell/extension.js 1970-01-01 01:00:00.000000000 +0100 ++++ wicd-1.7.3/gnome-shell/extension.js 2015-01-19 14:12:12.962333228 +0100 +@@ -0,0 +1,29 @@ ++/* ++ * Copyright © 2012, David Paleino ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License Version 2 as ++ * published by the Free Software Foundation. ++ * ++ * This program 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 this program. If not, see . ++ * ++ */ ++ ++const StatusIconDispatcher = imports.ui.statusIconDispatcher; ++ ++function init(metadata) { ++} ++ ++function enable() { ++ StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['wicd-client.py'] = 'wicd-gtk'; ++} ++ ++function disable() { ++ StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['wicd-client.py'] = ''; ++} +diff -U 3 -dHrN wicd-1.7.3.orig/gnome-shell/metadata.json wicd-1.7.3/gnome-shell/metadata.json +--- wicd-1.7.3.orig/gnome-shell/metadata.json 1970-01-01 01:00:00.000000000 +0100 ++++ wicd-1.7.3/gnome-shell/metadata.json 2015-01-19 14:12:12.962333228 +0100 +@@ -0,0 +1 @@ ++{"shell-version": ["3.4.2"], "uuid": "wicd@code.hanskalabs.net", "name": "WICD Network Manager", "description": "Show status of WICD"} +\ No newline at end of file diff --git a/net-misc/wicd/files/wicd-1.7.3-bitrate-property.patch b/net-misc/wicd/files/wicd-1.7.3-bitrate-property.patch new file mode 100644 index 0000000..855a293 --- /dev/null +++ b/net-misc/wicd/files/wicd-1.7.3-bitrate-property.patch @@ -0,0 +1,19 @@ +--- a/curses/netentry_curses.py ++++ b/curses/netentry_curses.py +@@ -538,11 +538,12 @@ + self.bitrates = wireless.GetAvailableBitrates() + self.bitrates.append('auto') + self.bitrate_combo.set_list(self.bitrates) +- self.bitrate_combo.set_focus( +- self.bitrates.index( +- wireless.GetWirelessProperty(networkID, 'bitrate') ++ if wireless.GetWirelessProperty(networkID, 'bitrate'): ++ self.bitrate_combo.set_focus( ++ self.bitrates.index( ++ wireless.GetWirelessProperty(networkID, 'bitrate') ++ ) + ) +- ) + self.allow_lower_bitrates_chkbox.set_state( + to_bool(self.format_entry(networkID, 'allow_lower_bitrates')) + ) diff --git a/net-misc/wicd/files/wicd-1.7.3-undefined-LANG.patch b/net-misc/wicd/files/wicd-1.7.3-undefined-LANG.patch new file mode 100644 index 0000000..b854607 --- /dev/null +++ b/net-misc/wicd/files/wicd-1.7.3-undefined-LANG.patch @@ -0,0 +1,24 @@ +Fixes compilation errors when os.environ['LANG'] is undefiend +--- ./setup.py ++++ ./setup.py +@@ -621,7 +621,7 @@ class compile_translations(Command): + shutil.rmtree('translations/') + os.makedirs('translations') + +- oldlang = os.environ['LANG'] ++ oldlang = os.environ.get('LANG', None) + os.environ['LANG'] = 'C' + + for pofile in sorted(glob('po/*.po')): +@@ -656,7 +656,10 @@ class compile_translations(Command): + os.makedirs('translations/' + lang + '/LC_MESSAGES/') + os.system('pybabel compile -D wicd -i %s -l %s -d translations/' % (pofile, lang)) + +- os.environ['LANG'] = oldlang ++ if oldlang is not None: ++ os.environ['LANG'] = oldlang ++ else: ++ del os.environ['LANG'] + + class uninstall(Command): + description = "remove Wicd using uninstall.sh and install.log" diff --git a/net-misc/wicd/files/wicd-1.7.3-urwid-1.3.0.patch b/net-misc/wicd/files/wicd-1.7.3-urwid-1.3.0.patch new file mode 100644 index 0000000..d7f73dc --- /dev/null +++ b/net-misc/wicd/files/wicd-1.7.3-urwid-1.3.0.patch @@ -0,0 +1,15 @@ +--- a/curses/wicd-curses.py ++++ b/curses/wicd-curses.py +@@ -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) diff --git a/net-misc/wicd/files/wicd-init-sve-start.patch b/net-misc/wicd/files/wicd-init-sve-start.patch new file mode 100644 index 0000000..c631492 --- /dev/null +++ b/net-misc/wicd/files/wicd-init-sve-start.patch @@ -0,0 +1,10 @@ +diff -U 3 -dHrN wicd-1.7.1b2.old/in/init=gentoo=wicd.in wicd-1.7.1b2/in/init=gentoo=wicd.in +--- wicd-1.7.1b2.old/in/init=gentoo=wicd.in 2011-05-07 20:52:13.000000000 +0200 ++++ wicd-1.7.1b2/in/init=gentoo=wicd.in 2011-05-07 20:52:43.000000000 +0200 +@@ -35,5 +35,5 @@ + + restart() { + force_kill +- start ++ sve_start + } diff --git a/net-misc/wicd/metadata.xml b/net-misc/wicd/metadata.xml new file mode 100644 index 0000000..8fa9771 --- /dev/null +++ b/net-misc/wicd/metadata.xml @@ -0,0 +1,20 @@ + + + + + + Install icons from Ubuntu's ambiance theme + Installs a gtk UI. This is enabled by default because it is + intended behavior. Requires dev-python/pygtk + Installs additional python libraries to use as a backend. + This will improve speed but is experimental. + Change default icons to mac4lin icon set + Installs a ncurses UI + Installs the pm-utils hooks for suspend/resume and + requires sys-power/pm-utils + Install gnome-shell extension + + + wicd + + diff --git a/net-misc/wicd/wicd-1.7.4-r3.ebuild b/net-misc/wicd/wicd-1.7.4-r3.ebuild new file mode 100644 index 0000000..02aec4d --- /dev/null +++ b/net-misc/wicd/wicd-1.7.4-r3.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="ncurses?,xml" + +inherit eutils distutils-r1 linux-info readme.gentoo-r1 systemd + +DESCRIPTION="A lightweight wired and wireless network manager for Linux" +HOMEPAGE="https://launchpad.net/wicd" +SRC_URI="https://launchpad.net/wicd/1.7/${PV}/+download/${P}.tar.gz + mac4lin? ( https://dev.gentoo.org/~anarchy/dist/wicd-mac4lin-icons.tar.xz ) + ambiance? ( http://freetimesblog.altervista.org/blog/wp-content/uploads/downloads/2010/05/Icone-Wicd-Lucid.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~mips ppc ppc64 x86" +IUSE="doc X ambiance +gtk ioctl libnotify mac4lin ncurses nls +pm-utils gnome-shell" + +DEPEND="nls? ( dev-python/Babel[${PYTHON_USEDEP}] )" +RDEPEND="${PYTHON_DEPS} + dev-python/dbus-python[${PYTHON_USEDEP}] + X? ( + gtk? ( dev-python/pygtk[${PYTHON_USEDEP}] ) + || ( + x11-misc/ktsuss + kde-plasma/kde-cli-tools[kdesu] + ) + ) + || ( + net-misc/dhcpcd + net-misc/dhcp + net-misc/pump + ) + net-wireless/wireless-tools + net-wireless/wpa_supplicant + || ( + sys-apps/net-tools + sys-apps/ethtool + ) + !gtk? ( dev-python/pygobject:2[${PYTHON_USEDEP}] ) + ioctl? ( dev-python/python-iwscan[${PYTHON_USEDEP}] + dev-python/python-wpactrl[${PYTHON_USEDEP}] ) + libnotify? ( dev-python/notify-python[${PYTHON_USEDEP}] ) + ncurses? ( + dev-python/urwid[${PYTHON_USEDEP}] + dev-python/pygobject:2[${PYTHON_USEDEP}] + ) + pm-utils? ( sys-power/pm-utils ) + gnome-shell? ( gnome-base/gnome-shell ) + || ( + >=sys-apps/util-linux-2.31_rc1 + net-wireless/rfkill + ) + " +PATCHES=( + "${FILESDIR}"/${PN}-init-sve-start.patch + # The Categories entry in the .desktop files is outdated + "${FILESDIR}"/${PN}-1.7.2.4-fix-desktop-categories.patch + # Upstream bug https://bugs.launchpad.net/wicd/+bug/1412413 + # Creates files -> give -p + "${FILESDIR}"/${PN}-1.7.3-add-missing-gnome-shell-extension.patch + # If LANG is undefined, build can fail (bug 537202) + "${FILESDIR}"/${PN}-1.7.3-undefined-LANG.patch + # Fix urwid compat again + "${FILESDIR}"/${PN}-1.7.3-urwid-1.3.0.patch + # Another compatibility patch from launchpad bug 1075399 + "${FILESDIR}"/${PN}-1.7.3-bitrate-property.patch +) + +src_prepare() { + CONFIG_CHECK="~CFG80211_WEXT" + local WARNING_CFG80211_WEXT="Wireless extensions have not been \ + configured in your kernel. Wicd will not work unless CFG80211_WEXT is set." + check_extra_config + + default + + # get rid of opts variable to fix bug 381885 + sed -i "/opts/d" "in/init=gentoo=wicd.in" || die + # Need to ensure that generated scripts use Python 2 at run time. + sed -e "s:self.python = '/usr/bin/python':self.python = '/usr/bin/python2':" \ + -i setup.py || die "sed failed" + # Fix misc helper scripts: + sed -e "s:/usr/bin/env python:/usr/bin/env python2:" \ + -i wicd/suspend.py wicd/autoconnect.py wicd/monitor.py || die + # fix shebang for openrc init script (bug #573846) + sed 's@/sbin/runscript@/sbin/openrc-run@' \ + -i in/init=gentoo=wicd.in || die + if use nls; then + # Asturian is faulty with PyBabel + # (https://bugs.launchpad.net/wicd/+bug/928589) + rm po/ast.po + # zh_CN fails with newer PyBabel (Aug 2013) + rm po/zh_CN.po + else + # nuke translations + rm po/*.po + fi + + DOC_CONTENTS="To start wicd at boot with openRC, add + /etc/init.d/wicd to a runlevel and: (1) Remove all net.* + initscripts (except for net.lo) from all runlevels (2) Add these + scripts to the RC_PLUG_SERVICES line in /etc/rc.conf (For + example, rc_hotplug=\"!net.eth* !net.wlan*\")" +} + +src_configure() { + local myconf + use gtk || myconf="${myconf} --no-install-gtk" + use libnotify || myconf="${myconf} --no-use-notifications" + use ncurses || myconf="${myconf} --no-install-ncurses" + use pm-utils || myconf="${myconf} --no-install-pmutils" + use gnome-shell || myconf="${myconf} --no-install-gnome-shell-extensions" + python_setup + "${EPYTHON}" ./setup.py configure --no-install-docs \ + --resume=/usr/share/wicd/scripts/ \ + --suspend=/usr/share/wicd/scripts/ \ + --verbose ${myconf} +} + +src_install() { + distutils-r1_src_install + keepdir /var/lib/wicd/configurations + keepdir /etc/wicd/scripts/{postconnect,disconnect,preconnect} + keepdir /var/log/wicd + use nls || rm -rv "${D}"/usr/share/locale + systemd_dounit "${S}/other/wicd.service" + + if use mac4lin; then + rm -rf "${D}"/usr/share/pixmaps/wicd || die "Failed to remove old icons" + mv "${WORKDIR}"/wicd "${D}"/usr/share/pixmaps/ || die + fi + if use ambiance; then + # Overwrite tray icons with ambiance icon + rm "${WORKDIR}/Icone Wicd Lucid"/signal* || die + cp "${WORKDIR}/Icone Wicd Lucid"/*.png "${D}"/usr/share/pixmaps/wicd/ || die + fi + readme.gentoo_create_doc +} + +pkg_postinst() { + # Maintainer's note: the consolekit use flag short circuits a dbus rule and + # allows the connection. Else, you need to be in the group. + if ! has_version sys-auth/consolekit; then + ewarn "Wicd-1.6 and newer requires your user to be in the 'users' group. If" + ewarn "you are not in that group, then modify /etc/dbus-1/system.d/wicd.conf" + fi + + readme.gentoo_print_elog +}