diff options
author | jdlugosz963 <jdlugosz963@gmail.com> | 2023-07-02 15:36:22 +0200 |
---|---|---|
committer | jdlugosz963 <jdlugosz963@gmail.com> | 2023-07-02 15:36:22 +0200 |
commit | e14390858839d7fd56b579d6489ea7bc88a5e530 (patch) | |
tree | ff41ac387a8c0c3d4f135bf41d5f95b857d78bdc /guix/jd/packages/vpn.scm | |
parent | 6156f86dd5797de5ea4f912b70d38963c6cf4ad4 (diff) | |
download | dotfiles-e14390858839d7fd56b579d6489ea7bc88a5e530.tar.gz dotfiles-e14390858839d7fd56b579d6489ea7bc88a5e530.zip |
Add GNU/Guix config files.
Diffstat (limited to 'guix/jd/packages/vpn.scm')
-rw-r--r-- | guix/jd/packages/vpn.scm | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/guix/jd/packages/vpn.scm b/guix/jd/packages/vpn.scm new file mode 100644 index 0000000..2542bae --- /dev/null +++ b/guix/jd/packages/vpn.scm | |||
@@ -0,0 +1,144 @@ | |||
1 | (define-module (jd packages vpn) | ||
2 | #:use-module (jd utils) | ||
3 | |||
4 | #:use-module (gnu packages) | ||
5 | #:use-module (gnu packages samba) ;; PPP | ||
6 | #:use-module (gnu packages perl) | ||
7 | #:use-module (gnu packages linux) | ||
8 | #:use-module (gnu packages gnome) | ||
9 | #:use-module (gnu packages glib) | ||
10 | #:use-module (gnu packages pkg-config) | ||
11 | #:use-module (gnu packages build-tools) | ||
12 | #:use-module (gnu packages gettext) | ||
13 | #:use-module (gnu packages autotools) | ||
14 | #:use-module (gnu packages gtk) | ||
15 | |||
16 | #:use-module (guix gexp) | ||
17 | #:use-module (guix git-download) | ||
18 | #:use-module ((guix licenses) #:prefix license:) | ||
19 | #:use-module (guix build-system) | ||
20 | #:use-module (guix build-system gnu) | ||
21 | #:use-module (guix utils) | ||
22 | #:use-module (guix packages) | ||
23 | #:use-module (guix download)) | ||
24 | |||
25 | |||
26 | |||
27 | (define-public pptp-client | ||
28 | (package | ||
29 | (name "pptp-client") | ||
30 | (version "1.10.0") | ||
31 | (source | ||
32 | (origin | ||
33 | (method git-fetch) | ||
34 | (uri (git-reference | ||
35 | (url "https://git.code.sf.net/p/pptpclient/git") | ||
36 | (commit version))) | ||
37 | (sha256 | ||
38 | (base32 "0qixs1dxrr1x4sgi22250231p9kqi8l8ifawxn6ws1d3p7mc6ggh")))) | ||
39 | |||
40 | (build-system gnu-build-system) | ||
41 | (arguments | ||
42 | '(#:phases | ||
43 | (modify-phases %standard-phases | ||
44 | (delete 'configure) | ||
45 | (delete 'check) | ||
46 | (add-before 'build 'change-location-of-pppd | ||
47 | (lambda* (#:key outputs #:allow-other-keys) | ||
48 | (substitute* "Makefile" | ||
49 | (("^PPPD.=.*$") | ||
50 | (string-append "PPPD = " | ||
51 | (which "pppd"))) | ||
52 | (("^IP.=.*$") | ||
53 | (string-append "IP = " | ||
54 | (which "ip")))))) | ||
55 | (replace 'install | ||
56 | (lambda* (#:key outputs #:allow-other-keys) | ||
57 | (let* ((out (assoc-ref outputs "out")) | ||
58 | (sbin (string-append out "/sbin"))) | ||
59 | (mkdir-p sbin) | ||
60 | (install-file "pptp" sbin) | ||
61 | #t)))))) | ||
62 | (inputs | ||
63 | (list perl)) | ||
64 | (native-inputs | ||
65 | (list ppp | ||
66 | iproute)) | ||
67 | (home-page "https://sourceforge.net/projects/pptpclient/") | ||
68 | (synopsis "PPTP-Client") | ||
69 | (description | ||
70 | "pptp is an implementation of the PPTP protocol for Linux and | ||
71 | other Unix systems.") | ||
72 | (license license:gpl2+) | ||
73 | (properties `((upstream-name . "NetworkManager-pptp"))))) | ||
74 | |||
75 | |||
76 | ;; ================================ | ||
77 | |||
78 | (define-public network-manager-pptp | ||
79 | (package | ||
80 | (name "network-manager-pptp") | ||
81 | (version "1.2.12") | ||
82 | (source | ||
83 | (origin | ||
84 | (method git-fetch) | ||
85 | (uri (git-reference | ||
86 | (url "https://gitlab.gnome.org/GNOME/NetworkManager-pptp.git") | ||
87 | (commit version))) | ||
88 | (file-name (git-file-name name version)) | ||
89 | |||
90 | (sha256 | ||
91 | (base32 "1prl14106kfl5x56v9adwi4wqwrh6k3chkimjpd0clwy3drywhcr")) | ||
92 | (patches (jd-search-patches "nm-pptp-autogen.patch")))) | ||
93 | |||
94 | (build-system gnu-build-system) | ||
95 | (arguments | ||
96 | '(#:configure-flags '("--enable-absolute-paths" | ||
97 | ; "--localstatedir=/var" | ||
98 | "--with-gtk4=yes") | ||
99 | #:phases | ||
100 | (modify-phases %standard-phases | ||
101 | (add-after 'configure 'patch-path | ||
102 | (lambda* (#:key inputs #:allow-other-keys #:rest args) | ||
103 | (let* ((pppd (search-input-file inputs "/sbin/pppd")) | ||
104 | (pptp (search-input-file inputs "/sbin/pptp")) | ||
105 | (modprobe (search-input-file inputs "/bin/modprobe")) | ||
106 | (pretty-pppd (string-append "\"" pppd "\"")) | ||
107 | (pretty-pptp (string-append "\"" pptp "\""))) | ||
108 | |||
109 | (substitute* "src/nm-pptp-service.c" | ||
110 | (("\"/usr/local/sbin/pppd\"") pretty-pppd) | ||
111 | (("\"/usr/sbin/pppd\"") pretty-pppd) | ||
112 | (("\"/sbin/pppd\"") pretty-pppd) | ||
113 | (("\"/usr/local/sbin/pptp\"") pretty-pptp) | ||
114 | (("\"/usr/sbin/pptp\"") pretty-pptp) | ||
115 | (("\"/sbin/pptp\"") pretty-pptp) | ||
116 | (("/sbin/modprobe") modprobe)))))))) | ||
117 | (native-inputs | ||
118 | (list intltool | ||
119 | `(,glib "bin") | ||
120 | glib | ||
121 | `(,gtk "bin") | ||
122 | pkg-config)) | ||
123 | (inputs | ||
124 | (list autoconf | ||
125 | autoconf-archive | ||
126 | gnulib | ||
127 | gnu-gettext | ||
128 | automake | ||
129 | gtk+ | ||
130 | gtk | ||
131 | kmod | ||
132 | libtool | ||
133 | network-manager | ||
134 | libnma | ||
135 | libsecret | ||
136 | ppp | ||
137 | pptp-client)) | ||
138 | (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") | ||
139 | (synopsis "PPTP plug-in for NetworkManager") | ||
140 | (description | ||
141 | "This extension of NetworkManager allows it to take care of connections | ||
142 | to virtual private networks (VPNs) via pptp.") | ||
143 | (license license:gpl2+) | ||
144 | (properties `((upstream-name . "NetworkManager-pptp"))))) | ||