Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 76 lines 1.4 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchurl, 5 replaceVars, 6 vpnc, 7 pkg-config, 8 networkmanager, 9 libsecret, 10 gtk3, 11 gtk4, 12 withGnome ? true, 13 gnome, 14 glib, 15 kmod, 16 file, 17 libnma, 18 libnma-gtk4, 19}: 20 21stdenv.mkDerivation rec { 22 pname = "NetworkManager-vpnc"; 23 version = "1.4.0"; 24 25 src = fetchurl { 26 url = "mirror://gnome/sources/NetworkManager-vpnc/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 27 sha256 = "47KpiIAnWht1FUvDF6eGQ8/fnqfnDfTu2WSPKeolNzA="; 28 }; 29 30 patches = [ 31 (replaceVars ./fix-paths.patch { 32 inherit vpnc kmod; 33 }) 34 ]; 35 36 nativeBuildInputs = [ 37 pkg-config 38 file 39 glib 40 ]; 41 42 buildInputs = [ 43 vpnc 44 networkmanager 45 ] 46 ++ lib.optionals withGnome [ 47 gtk3 48 gtk4 49 libsecret 50 libnma 51 libnma-gtk4 52 ]; 53 54 configureFlags = [ 55 "--with-gnome=${if withGnome then "yes" else "no"}" 56 "--with-gtk4=${if withGnome then "yes" else "no"}" 57 "--enable-absolute-paths" 58 ]; 59 60 strictDeps = true; 61 62 passthru = { 63 updateScript = gnome.updateScript { 64 packageName = pname; 65 attrPath = "networkmanager-vpnc"; 66 versionPolicy = "odd-unstable"; 67 }; 68 networkManagerPlugin = "VPN/nm-vpnc-service.name"; 69 }; 70 71 meta = with lib; { 72 description = "NetworkManager's VPNC plugin"; 73 inherit (networkmanager.meta) maintainers teams platforms; 74 license = licenses.gpl2Plus; 75 }; 76}