1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/wicd/wicd-1.7.1_pre20111210-r1.ebuild,v 1.1 2011/12/30 09:42:08 tomka Exp $
EAPI=3
PYTHON_DEPEND="2"
PYTHON_USE_WITH="ncurses? xml"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.* *-jython"
DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES="1"
inherit eutils distutils systemd
MY_PV="${PN}-1.7.1"
S="${WORKDIR}/${MY_PV}"
DESCRIPTION="A lightweight wired and wireless network manager for Linux"
HOMEPAGE="http://wicd.sourceforge.net/"
SRC_URI="http://dev.gentoo.org/~tomka/files/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="X +gtk ioctl libnotify ncurses nls +pm-utils"
DEPEND=""
# Maybe virtual/dhcp would work, but there are enough problems with
# net-misc/dhcp that I want net-misc/dhcpcd to be guarenteed to be considered
# first if none are installed.
RDEPEND="
dev-python/dbus-python
X? ( gtk? ( dev-python/pygtk
|| (
x11-libs/gksu
kde-base/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 )
ioctl? ( dev-python/python-iwscan dev-python/python-wpactrl )
libnotify? ( dev-python/notify-python )
ncurses? (
dev-python/urwid
dev-python/pygobject:2
)
pm-utils? ( >=sys-power/pm-utils-1.1.1 )
"
DOCS="CHANGES NEWS AUTHORS README"
src_prepare() {
epatch "${FILESDIR}"/${PN}-1.7.1_beta2-init.patch
epatch "${FILESDIR}"/${PN}-init-sve-start.patch
# Fix bug 394309
epatch "${FILESDIR}"/${P}-fix-config-reading.patch
# Add a template for hex psk's and wpa (Bug 306423)
epatch "${FILESDIR}"/${P}-wpa-psk-hex-template.patch
# get rid of opts variable to fix bug 381885
sed -i "/opts/d" "in/init=gentoo=wicd.in"
# 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"
python_copy_sources
}
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"
configuration() {
$(PYTHON) ./setup.py configure --no-install-docs --resume=/usr/share/wicd/scripts/ --suspend=/usr/share/wicd/scripts/ --verbose ${myconf}
}
python_execute_function -s configuration
}
src_install() {
distutils_src_install
keepdir /var/lib/wicd/configurations \
|| die "keepdir failed, critical for this app"
keepdir /etc/wicd/scripts/{postconnect,disconnect,preconnect} \
|| die "keepdir failed, critical for this app"
keepdir /var/log/wicd \
|| die "keepdir failed, critical for this app"
use nls || rm -rf "${D}"/usr/share/locale
systemd_dounit "${S}/other/wicd.service"
}
pkg_postinst() {
distutils_pkg_postinst
elog "You may need to restart the dbus service after upgrading wicd."
echo
elog "To start wicd at boot, add /etc/init.d/wicd to a runlevel and:"
elog "- Remove all net.* initscripts (except for net.lo) from all runlevels"
elog "- Add these scripts to the RC_PLUG_SERVICES line in /etc/rc.conf"
elog "(For example, rc_hotplug=\"!net.eth* !net.wlan*\")"
# 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/pambase[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
ewarn "If you upgrade from earlier versions, then be sure to check"
ewarn "your connection settings. New versions parse old settings"
ewarn "differently, so your DHCP hostname and passphrase could appear"
ewarn "enclosed in ['square brackets in quotes']. In this case just"
ewarn "remove the offending brackets and quotes."
}
|