nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 88 lines 1.6 kB view raw
1{ 2 stdenv, 3 lib, 4 replaceVars, 5 fetchFromGitHub, 6 autoreconfHook, 7 pkg-config, 8 gtk3, 9 gtk4, 10 networkmanager, 11 ppp, 12 xl2tpd, 13 strongswan, 14 libsecret, 15 withGnome ? true, 16 libnma, 17 libnma-gtk4, 18 glib, 19 openssl, 20 nss, 21}: 22 23stdenv.mkDerivation rec { 24 name = "${pname}${lib.optionalString withGnome "-gnome"}-${version}"; 25 pname = "NetworkManager-l2tp"; 26 version = "1.20.20"; 27 28 src = fetchFromGitHub { 29 owner = "nm-l2tp"; 30 repo = "network-manager-l2tp"; 31 rev = version; 32 hash = "sha256-AmbDWBCUG9fvqA6iJopYtbitdRwv2faWvIeKN90p234="; 33 }; 34 35 patches = [ 36 (replaceVars ./fix-paths.patch { 37 inherit strongswan xl2tpd; 38 }) 39 ]; 40 41 nativeBuildInputs = [ 42 autoreconfHook 43 glib # for gdbus-codegen 44 pkg-config 45 ] 46 ++ lib.optionals withGnome [ 47 gtk4 # for gtk4-builder-tool 48 ]; 49 50 buildInputs = [ 51 networkmanager 52 ppp 53 openssl 54 nss 55 ] 56 ++ lib.optionals withGnome [ 57 gtk3 58 gtk4 59 libsecret 60 libnma 61 libnma-gtk4 62 ]; 63 64 configureFlags = [ 65 "--with-gnome=${if withGnome then "yes" else "no"}" 66 "--with-gtk4=${if withGnome then "yes" else "no"}" 67 "--localstatedir=/var" 68 "--enable-absolute-paths" 69 ]; 70 71 enableParallelBuilding = true; 72 strictDeps = true; 73 74 passthru = { 75 networkManagerPlugin = "VPN/nm-l2tp-service.name"; 76 }; 77 78 meta = with lib; { 79 description = "L2TP plugin for NetworkManager"; 80 inherit (networkmanager.meta) platforms; 81 homepage = "https://github.com/nm-l2tp/network-manager-l2tp"; 82 license = licenses.gpl2Plus; 83 maintainers = with maintainers; [ 84 abbradar 85 obadz 86 ]; 87 }; 88}