nixpkgs/pkgs/tools/networking/network-manager/applet.nix

61 lines
2.2 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
, libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl, docbook_xml_dtd_43
, mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
2019-02-13 21:47:50 +00:00
, libgudev, jansson, wrapGAppsHook, gobject-introspection, python3, gtk3
2018-12-25 22:41:02 +00:00
, libappindicator-gtk3, withGnome ? false, gcr }:
2018-03-07 05:09:32 +00:00
let
2018-03-20 19:10:07 +00:00
pname = "network-manager-applet";
version = "1.8.20";
2018-03-07 05:09:32 +00:00
in stdenv.mkDerivation rec {
2018-03-20 19:10:07 +00:00
name = "${pname}-${version}";
src = fetchurl {
2018-03-20 19:10:07 +00:00
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1v1lvw9ak37gxha11rv49sai1vdyv128hdy0kliibiv6alavn385";
};
2018-03-20 19:10:07 +00:00
mesonFlags = [
"-Dlibnm_gtk=false" # It is deprecated
2018-03-20 19:10:07 +00:00
"-Dselinux=false"
"-Dappindicator=yes"
2018-03-20 19:10:07 +00:00
"-Dgcr=${if withGnome then "true" else "false"}"
];
2018-08-09 13:35:47 +01:00
outputs = [ "out" "lib" "dev" "devdoc" "man" ];
2017-09-25 14:40:41 +01:00
buildInputs = [
2019-02-13 21:47:50 +00:00
gtk3 networkmanager libnotify libsecret gsettings-desktop-schemas
polkit isocodes mobile-broadband-provider-info libgudev
modemmanager jansson glib-networking
2019-02-13 21:47:50 +00:00
libappindicator-gtk3 gnome3.adwaita-icon-theme
2018-12-25 22:41:02 +00:00
] ++ stdenv.lib.optionals withGnome [ gcr ]; # advanced certificate chooser
nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobject-introspection python3 gtk-doc docbook_xsl docbook_xml_dtd_43 libxml2 ];
2013-07-22 21:18:26 +01:00
# Needed for wingpanel-indicator-network and switchboard-plug-network
patches = [ ./hardcode-gsettings.patch ];
2018-03-20 19:10:07 +00:00
postPatch = ''
chmod +x meson_post_install.py # patchShebangs requires executable file
patchShebangs meson_post_install.py
substituteInPlace src/wireless-security/eap-method.c --subst-var-by NM_APPLET_GSETTINGS $lib/share/gsettings-schemas/${name}/glib-2.0/schemas
'';
2018-03-07 05:09:32 +00:00
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
attrPath = "networkmanagerapplet";
};
};
meta = with stdenv.lib; {
2018-03-20 19:10:07 +00:00
homepage = https://wiki.gnome.org/Projects/NetworkManager;
description = "NetworkManager control applet for GNOME";
2018-03-20 19:10:07 +00:00
license = licenses.gpl2;
maintainers = with maintainers; [ phreedom rickynils ];
2018-03-20 19:10:07 +00:00
platforms = platforms.linux;
};
}