nixpkgs/pkgs/tools/networking/network-manager-applet/default.nix
Jonas Hoersch 5125b98602 network-manager-applet: re-do schema generation
fixes #1355. partial revert of f4d4e12c (introduced by #1313).

meta.priority is set to 6 (lower priority than standard) to resolve the
conflict of an exported gschemas.compiled for evince as for nm-applet.
this linked file is NOT consulted, as both binaries are wrapped to look
for their schemas in their nix store path first.

a better fix would avoid already avoid linking those gschemas.compiled
files into the environment.
2013-12-30 12:26:51 +01:00

68 lines
2.8 KiB
Nix

{ stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, networkmanager, GConf
, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring, gnome_keyring
, mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
, makeWrapper, networkmanager_openvpn, networkmanager_vpnc
, networkmanager_openconnect, udev, hicolor_icon_theme }:
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 = "130rdin3wh9vlwhscbgh3lsssi89p5n4maws4y3l9ja720llk27n";
};
buildInputs = [
gtk libglade networkmanager libnotify libsecret dbus_glib
polkit isocodes makeWrapper udev GConf libgnome_keyring
];
nativeBuildInputs = [ intltool pkgconfig ];
propagatedUserEnvPkgs = [ GConf gnome_keyring hicolor_icon_theme ];
configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
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
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/
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/
wrapProgram "$out/bin/nm-applet" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" \
--set GCONF_CONFIG_SOURCE "xml::~/.gconf" \
--prefix PATH ":" "${GConf}/bin"
'';
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;
# resolve collision between evince and nm-applet for
# gschemas.compiled
priority = 6;
};
}