nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 83 lines 1.7 kB view raw
1{ 2 stdenv, 3 lib, 4 autoreconfHook, 5 fetchurl, 6 file, 7 glib, 8 gnome, 9 gtk3, 10 gtk4, 11 gettext, 12 libnma, 13 libnma-gtk4, 14 libsecret, 15 networkmanager, 16 pkg-config, 17 ppp, 18 sstp, 19 withGnome ? true, 20}: 21 22stdenv.mkDerivation rec { 23 pname = "NetworkManager-sstp"; 24 version = "1.3.2"; 25 name = "${pname}${lib.optionalString withGnome "-gnome"}-${version}"; 26 27 src = fetchurl { 28 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 29 sha256 = "sha256-zd+g86cZLyibLhYLal6XzUb9wFu7kHROp0KzRM95Qng="; 30 }; 31 32 nativeBuildInputs = [ 33 autoreconfHook 34 file 35 gettext 36 glib # for gdbus-codegen 37 pkg-config 38 ] 39 ++ lib.optionals withGnome [ 40 gtk4 # for gtk4-builder-tool 41 ]; 42 43 buildInputs = [ 44 sstp 45 networkmanager 46 ppp 47 ] 48 ++ lib.optionals withGnome [ 49 gtk3 50 gtk4 51 libsecret 52 libnma 53 libnma-gtk4 54 ]; 55 56 postPatch = '' 57 sed -i 's#/sbin/pppd#${ppp}/bin/pppd#' src/nm-sstp-service.c 58 sed -i 's#/sbin/sstpc#${sstp}/bin/sstpc#' src/nm-sstp-service.c 59 ''; 60 61 configureFlags = [ 62 "--with-gnome=${if withGnome then "yes" else "no"}" 63 "--with-gtk4=${if withGnome then "yes" else "no"}" 64 "--with-pppd-plugin-dir=$(out)/lib/pppd/2.5.0" 65 "--enable-absolute-paths" 66 ]; 67 68 strictDeps = true; 69 70 passthru = { 71 updateScript = gnome.updateScript { 72 packageName = pname; 73 attrPath = "networkmanager-sstp"; 74 }; 75 networkManagerPlugin = "VPN/nm-sstp-service.name"; 76 }; 77 78 meta = with lib; { 79 description = "NetworkManager's sstp plugin"; 80 inherit (networkmanager.meta) maintainers teams platforms; 81 license = licenses.gpl2Plus; 82 }; 83}