nixpkgs/pkgs/tools/networking/network-manager-applet/default.nix
2015-03-29 13:09:02 +03:00

74 lines
3.4 KiB
Nix

{ stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3
, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring
, mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
, makeWrapper, networkmanager_openvpn, networkmanager_vpnc
, networkmanager_openconnect, networkmanager_pptp, networkmanager_l2tp
, udev, hicolor_icon_theme, dconf }:
let
pn = "network-manager-applet";
major = "0.9";
version = networkmanager.version;
in
stdenv.mkDerivation rec {
name = "network-manager-applet-${version}";
src = fetchurl {
url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz";
sha256 = "1jz0vawfixzm892m6plrzhsybgdxwv96pfwld9p85lb7wshykzj6";
};
buildInputs = [
gnome3.gtk libglade networkmanager libnotify libsecret dbus_glib gsettings_desktop_schemas
polkit isocodes makeWrapper udev gnome3.gconf gnome3.libgnome_keyring
];
nativeBuildInputs = [ intltool pkgconfig ];
propagatedUserEnvPkgs = [ gnome3.gconf gnome3.gnome_keyring hicolor_icon_theme ];
makeFlags = [
''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
];
postInstall = ''
mkdir -p $out/etc/NetworkManager/VPN
ln -s ${networkmanager_openvpn}/etc/NetworkManager/VPN/nm-openvpn-service.name $out/etc/NetworkManager/VPN/nm-openvpn-service.name
ln -s ${networkmanager_vpnc}/etc/NetworkManager/VPN/nm-vpnc-service.name $out/etc/NetworkManager/VPN/nm-vpnc-service.name
ln -s ${networkmanager_openconnect}/etc/NetworkManager/VPN/nm-openconnect-service.name $out/etc/NetworkManager/VPN/nm-openconnect-service.name
ln -s ${networkmanager_pptp}/etc/NetworkManager/VPN/nm-pptp-service.name $out/etc/NetworkManager/VPN/nm-pptp-service.name
ln -s ${networkmanager_l2tp}/etc/NetworkManager/VPN/nm-l2tp-service.name $out/etc/NetworkManager/VPN/nm-l2tp-service.name
mkdir -p $out/lib/NetworkManager
ln -s ${networkmanager_openvpn}/lib/NetworkManager/* $out/lib/NetworkManager/
ln -s ${networkmanager_vpnc}/lib/NetworkManager/* $out/lib/NetworkManager/
ln -s ${networkmanager_openconnect}/lib/NetworkManager/* $out/lib/NetworkManager/
ln -s ${networkmanager_pptp}/lib/NetworkManager/* $out/lib/NetworkManager/
ln -s ${networkmanager_l2tp}/lib/NetworkManager/* $out/lib/NetworkManager/
mkdir -p $out/libexec
ln -s ${networkmanager_openvpn}/libexec/* $out/libexec/
ln -s ${networkmanager_vpnc}/libexec/* $out/libexec/
ln -s ${networkmanager_openconnect}/libexec/* $out/libexec/
ln -s ${networkmanager_pptp}/libexec/* $out/libexec/
ln -s ${networkmanager_l2tp}/libexec/* $out/libexec/
'';
preFixup = ''
wrapProgram "$out/bin/nm-applet" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules:${dconf}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
--set GCONF_CONFIG_SOURCE "xml::~/.gconf" \
--prefix PATH ":" "${gnome3.gconf}/bin"
wrapProgram "$out/bin/nm-connection-editor" \
--prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
homepage = http://projects.gnome.org/NetworkManager/;
description = "NetworkManager control applet for GNOME";
license = licenses.gpl2;
maintainers = with maintainers; [ phreedom urkud rickynils ];
platforms = platforms.linux;
};
}