2016-11-25 08:30:45 +00:00
|
|
|
{ stdenv, fetchurl, python2Packages
|
2016-08-14 12:52:23 +01:00
|
|
|
, wpa_supplicant, dhcp, dhcpcd, wirelesstools
|
|
|
|
, nettools, openresolv, iproute, iputils
|
|
|
|
, locale ? "C" }:
|
2010-01-07 17:49:45 +00:00
|
|
|
|
2016-08-14 12:52:23 +01:00
|
|
|
let
|
2016-11-25 08:30:45 +00:00
|
|
|
inherit (python2Packages) python pygobject2 dbus-python pyGtkGlade pycairo;
|
2016-08-14 12:52:23 +01:00
|
|
|
in stdenv.mkDerivation rec {
|
2013-03-14 23:14:30 +00:00
|
|
|
name = "wicd-${version}";
|
|
|
|
version = "1.7.2.4";
|
2010-01-07 17:49:45 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
2013-03-14 23:14:30 +00:00
|
|
|
url = "https://launchpad.net/wicd/1.7/${version}/+download/${name}.tar.gz";
|
|
|
|
sha256 = "15ywgh60xzmp5z8l1kzics7yi95isrjg1paz42dvp7dlpdfzpzfw";
|
2010-01-07 17:49:45 +00:00
|
|
|
};
|
|
|
|
|
2016-11-25 08:30:45 +00:00
|
|
|
buildInputs = with python2Packages; [
|
2016-08-14 12:52:23 +01:00
|
|
|
python Babel urwid notify
|
2015-03-10 21:19:51 +00:00
|
|
|
];
|
2010-01-07 17:49:45 +00:00
|
|
|
|
2013-03-31 09:27:46 +01:00
|
|
|
patches = [
|
|
|
|
./no-var-install.patch
|
|
|
|
./pygtk.patch
|
|
|
|
./no-optimization.patch
|
|
|
|
./dhclient.patch
|
2013-03-31 09:57:28 +01:00
|
|
|
./fix-app-icon.patch
|
2013-03-31 19:07:40 +01:00
|
|
|
./fix-gtk-issues.patch
|
2015-01-12 19:42:42 +00:00
|
|
|
./urwid-api-update.patch
|
2016-05-12 02:19:28 +01:00
|
|
|
./fix-curses.patch
|
2013-03-31 09:27:46 +01:00
|
|
|
];
|
2010-01-07 17:49:45 +00:00
|
|
|
|
2016-07-14 12:53:06 +01:00
|
|
|
# Should I be using pygtk's propagated build inputs?
|
2011-04-06 23:06:00 +01:00
|
|
|
# !!! Should use makeWrapper.
|
2010-01-07 17:49:45 +00:00
|
|
|
postPatch = ''
|
2011-04-06 23:06:00 +01:00
|
|
|
# We don't have "python2".
|
2016-08-14 12:52:23 +01:00
|
|
|
substituteInPlace wicd/wicd-daemon.py --replace 'misc.find_path("python2")' "'${python.interpreter}'"
|
2011-04-06 23:06:00 +01:00
|
|
|
|
2010-11-29 20:15:44 +00:00
|
|
|
substituteInPlace in/scripts=wicd.in --subst-var-by TEMPLATE-DEFAULT $out/share/other/dhclient.conf.template.default
|
2013-03-14 23:14:30 +00:00
|
|
|
|
2016-08-22 23:13:49 +01:00
|
|
|
sed -i "2iexport PATH=${stdenv.lib.makeBinPath [ python wpa_supplicant dhcpcd dhcp wirelesstools nettools nettools iputils openresolv iproute ]}\$\{PATH:+:\}\$PATH" in/scripts=wicd.in
|
2016-09-11 22:24:51 +01:00
|
|
|
sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pygobject2}):$(toPythonPath ${dbus-python})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd.in
|
2013-07-31 20:54:09 +01:00
|
|
|
sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-client.in
|
2016-09-11 22:24:51 +01:00
|
|
|
sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject2}):$(toPythonPath ${pygobject2})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${dbus-python})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-client.in
|
2013-07-31 20:54:09 +01:00
|
|
|
sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-gtk.in
|
2016-11-25 08:30:45 +00:00
|
|
|
sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject2}):$(toPythonPath ${pygobject2})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${dbus-python}):$(toPythonPath ${python2Packages.notify})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-gtk.in
|
2013-07-31 20:54:09 +01:00
|
|
|
sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-cli.in
|
2016-09-11 22:24:51 +01:00
|
|
|
sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject2}):$(toPythonPath ${pycairo}):$(toPythonPath ${dbus-python})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-cli.in
|
2014-09-17 19:28:14 +01:00
|
|
|
sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-curses.in
|
2016-11-25 08:30:45 +00:00
|
|
|
sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject2}):$(toPythonPath ${pycairo}):$(toPythonPath ${dbus-python}):$(toPythonPath ${python2Packages.urwid})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-curses.in
|
2013-04-04 10:43:09 +01:00
|
|
|
rm po/ast.po
|
2010-01-07 17:49:45 +00:00
|
|
|
'';
|
|
|
|
|
|
|
|
configurePhase = ''
|
|
|
|
python setup.py configure \
|
|
|
|
--lib=$out/lib/ \
|
|
|
|
--share=$out/share/ \
|
2010-11-29 20:15:44 +00:00
|
|
|
--etc=/var/lib/wicd/ \
|
2010-01-07 17:49:45 +00:00
|
|
|
--scripts=$out/etc/scripts/ \
|
2010-11-29 20:15:44 +00:00
|
|
|
--pixmaps=$out/share/pixmaps/ \
|
|
|
|
--images=$out/share/pixmaps/wicd/ \
|
2010-01-07 17:49:45 +00:00
|
|
|
--encryption=$out/etc/encryption/templates/ \
|
|
|
|
--bin=$out/bin/ \
|
|
|
|
--sbin=$out/sbin/ \
|
2010-11-29 20:15:44 +00:00
|
|
|
--backends=$out/share/backends/ \
|
|
|
|
--daemon=$out/share/daemon/ \
|
|
|
|
--curses=$out/share/curses/ \
|
|
|
|
--gtk=$out/share/gtk/ \
|
|
|
|
--cli=$out/share/cli/ \
|
2010-01-07 17:49:45 +00:00
|
|
|
--networks=/var/lib/wicd/configurations/ \
|
|
|
|
--resume=$out/etc/acpi/resume.d/ \
|
|
|
|
--suspend=$out/etc/acpi/suspend.d/ \
|
|
|
|
--pmutils=$out/lib/pm-utils/sleep.d/ \
|
|
|
|
--dbus=$out/etc/dbus-1/system.d/ \
|
2013-03-14 23:14:30 +00:00
|
|
|
--dbus-service=$out/etc/dbus-1/system-services/ \
|
|
|
|
--systemd=$out/lib/systemd/ \
|
|
|
|
--logrotate=$out/etc/logrotate.d/ \
|
2010-01-07 17:49:45 +00:00
|
|
|
--desktop=$out/share/applications/ \
|
2013-04-09 06:26:31 +01:00
|
|
|
--icons=$out/share/icons/hicolor/ \
|
2010-01-07 17:49:45 +00:00
|
|
|
--translations=$out/share/locale/ \
|
|
|
|
--autostart=$out/etc/xdg/autostart/ \
|
2013-03-14 23:14:30 +00:00
|
|
|
--varlib=$out/var/lib/ \
|
2010-01-07 17:49:45 +00:00
|
|
|
--docdir=$out/share/doc/ \
|
|
|
|
--mandir=$out/share/man/ \
|
|
|
|
--kdedir=$out/share/autostart/ \
|
|
|
|
--python=${python}/bin/python \
|
|
|
|
--distro=nix \
|
|
|
|
--wicdgroup=users \
|
|
|
|
--no-install-init \
|
|
|
|
--no-install-kde \
|
|
|
|
--no-install-acpi \
|
|
|
|
--no-install-pmutils \
|
|
|
|
'';
|
|
|
|
|
2010-11-29 20:15:44 +00:00
|
|
|
installPhase = ''
|
2016-08-14 12:52:23 +01:00
|
|
|
python setup.py install --prefix=$out --install-lib=$out/${python.sitePackages}
|
2012-01-18 20:16:00 +00:00
|
|
|
mkdir -p $out/share/other
|
2010-11-29 20:15:44 +00:00
|
|
|
cp other/dhclient.conf.template.default $out/share/other/dhclient.conf.template.default
|
2011-01-13 10:03:20 +00:00
|
|
|
|
|
|
|
# Add a template for "WPA2 Enterprise" encryption as used, e.g., by the
|
|
|
|
# Eduroam network. Taken and adapted from
|
|
|
|
# <http://wicd.net/punbb/viewtopic.php?id=87>.
|
|
|
|
cp -v "${./wpa2-ttls}" "$out/etc/encryption/templates/wpa2-ttls"
|
|
|
|
echo "wpa2-ttls" >> "$out/etc/encryption/templates/active"
|
2010-11-29 20:15:44 +00:00
|
|
|
'';
|
2010-01-07 17:49:45 +00:00
|
|
|
|
2015-05-27 20:56:04 +01:00
|
|
|
meta = with stdenv.lib; {
|
2010-01-07 17:49:45 +00:00
|
|
|
homepage = http://wicd.net/;
|
|
|
|
description = "A wiredless and wired network manager";
|
2010-01-10 20:27:28 +00:00
|
|
|
longDescription=''
|
|
|
|
A complete network connection manager
|
|
|
|
Wicd supports wired and wireless networks, and capable of
|
|
|
|
creating and tracking profiles for both. It has a
|
|
|
|
template-based wireless encryption system, which allows the user
|
|
|
|
to easily add encryption methods used. It ships with some common
|
|
|
|
encryption types, such as WPA and WEP. Wicd will automatically
|
|
|
|
connect at startup to any preferred network within range.
|
|
|
|
'';
|
2015-05-27 20:56:04 +01:00
|
|
|
maintainers = [ maintainers.roconnor ];
|
2015-05-28 18:20:29 +01:00
|
|
|
license = licenses.gpl2;
|
2016-08-02 18:50:55 +01:00
|
|
|
platforms = platforms.linux;
|
2010-01-07 17:49:45 +00:00
|
|
|
};
|
|
|
|
}
|