nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 94 lines 1.9 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchurl, 5 replaceVars, 6 openfortivpn, 7 autoreconfHook, 8 gettext, 9 pkg-config, 10 file, 11 glib, 12 gtk3, 13 gtk4, 14 networkmanager, 15 ppp, 16 libsecret, 17 withGnome ? true, 18 gnome, 19 libnma, 20 libnma-gtk4, 21}: 22 23stdenv.mkDerivation rec { 24 pname = "NetworkManager-fortisslvpn"; 25 version = "1.4.0"; 26 name = "${pname}${lib.optionalString withGnome "-gnome"}-${version}"; 27 28 src = fetchurl { 29 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 30 sha256 = "sFXiY0m1FrI1hXmKs+9XtDawFIAOkqiscyz8jnbF2vo="; 31 }; 32 33 patches = [ 34 (replaceVars ./fix-paths.patch { 35 inherit openfortivpn; 36 }) 37 ./support-ppp-2.5.0.patch 38 ]; 39 40 strictDeps = true; 41 42 nativeBuildInputs = [ 43 autoreconfHook 44 gettext 45 pkg-config 46 file 47 glib 48 ]; 49 50 buildInputs = [ 51 openfortivpn 52 networkmanager 53 ppp 54 glib 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 installFlags = [ 72 # the installer only creates an empty directory in localstatedir, so 73 # we can drop it 74 "localstatedir=." 75 ]; 76 77 passthru = { 78 updateScript = gnome.updateScript { 79 packageName = pname; 80 attrPath = "networkmanager-fortisslvpn"; 81 versionPolicy = "odd-unstable"; 82 }; 83 networkManagerPlugin = "VPN/nm-fortisslvpn-service.name"; 84 networkManagerTmpfilesRules = [ 85 "d /var/lib/NetworkManager-fortisslvpn 0700 root root -" 86 ]; 87 }; 88 89 meta = with lib; { 90 description = "NetworkManagers FortiSSL plugin"; 91 inherit (networkmanager.meta) maintainers teams platforms; 92 license = licenses.gpl2Plus; 93 }; 94}