nixpkgs/pkgs/desktops/gnome/apps/gnome-nettool/default.nix

86 lines
1.6 KiB
Nix

{ stdenv
, lib
, fetchurl
, fetchpatch
, desktop-file-utils
, itstool
, meson
, ninja
, pkg-config
, python3
, wrapGAppsHook
, glib
, gtk3
, libgtop
, dnsutils
, iputils
, nmap
, inetutils
, gnome
}:
stdenv.mkDerivation rec {
pname = "gnome-nettool";
version = "42.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "pU8p7vIDiu5pVRyLGcpPdY5eueIJCkvGtWM9/wGIdR8=";
};
patches = [
# Fix build with meson 0.61
# https://gitlab.gnome.org/GNOME/gnome-nettool/-/merge_requests/3
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-nettool/-/commit/1124c3e1fdb8472d30b7636500229aa16cdc1244.patch";
sha256 = "fbpfL8Xb1GsadpQzAdmu8FSPs++bsGCVdcwnzQWttGY=";
})
];
nativeBuildInputs = [
desktop-file-utils
itstool
meson
ninja
pkg-config
python3
wrapGAppsHook
];
buildInputs = [
glib
gtk3
libgtop
];
postPatch = ''
chmod +x postinstall.py
patchShebangs postinstall.py
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [
dnsutils # for dig
iputils # for ping
nmap # for nmap
inetutils # for ping6, traceroute, whois
]}"
)
'';
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
attrPath = "gnome.${pname}";
};
};
meta = with lib; {
homepage = "https://gitlab.gnome.org/GNOME/gnome-nettool";
description = "A collection of networking tools";
maintainers = teams.gnome.members;
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}