nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
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}