From f70e0dd6d8ace2f5bae85dc311b563e240bc009d Mon Sep 17 00:00:00 2001 From: Arjan Adriaanse Date: Sun, 27 Nov 2022 22:57:42 +0100 Subject: [PATCH] gnu: Add network-manager-fortisslvpn. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (network-manager-fortisslvpn): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/gnome.scm | 59 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8652d9e03c..c2edd7a553 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -72,6 +72,7 @@ ;;; Copyright © 2022 Leo Nikkilä ;;; Copyright © 2022 Rene Saavedra ;;; Copyright © 2022 Alexandros Theodotou +;;; Copyright © 2022 Arjan Adriaanse ;;; ;;; This file is part of GNU Guix. ;;; @@ -8710,6 +8711,64 @@ (define-public network-manager-openconnect ;; so that 'network-manager-service-type' creates it. (user-accounts . ("nm-openconnect")))))) +(define-public network-manager-fortisslvpn + (package + (name "network-manager-fortisslvpn") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/NetworkManager-fortisslvpn/" + (version-major+minor version) + "/NetworkManager-fortisslvpn-" version ".tar.xz")) + (sha256 + (base32 + "1ynsqmv8xz1cffnai4hfh0ab0dmlazpv72krhlsv45mm95iy4mdh")) + (modules '((guix build utils))) + (snippet '(substitute* "Makefile.in" + ;; do not try to make state directory + (("\\$\\(DESTDIR\\)\\$\\(fortisslvpn_statedir\\)") + "") + ;; use state directory of the NetworkManager service + (("\\$\\(fortisslvpn_statedir\\)") + "/var/lib/NetworkManager"))))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var" + "--with-gtk4=yes") + #:phases (modify-phases %standard-phases + (add-after 'configure 'patch-path + (lambda* (#:key inputs #:allow-other-keys) + (let* ((ovpn (search-input-file inputs + "/bin/openfortivpn")) + (pretty-ovpn (string-append "\"" ovpn "\""))) + (for-each (lambda (file) + (substitute* file + (("\"/usr/local/bin/openfortivpn\"") + pretty-ovpn) + (("\"/usr/bin/openfortivpn\"") + pretty-ovpn))) + '("src/nm-fortisslvpn-service.c" + "properties/nm-fortisslvpn-editor.c")))))))) + (native-inputs (list intltool + `(,glib "bin") pkg-config)) + (inputs (list gtk+ + gtk + kmod + libnma + libsecret + network-manager + openfortivpn + pango-next ;TODO: remove after it's the default + ppp)) + (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") + (synopsis "Fortinet SSLVPN plug-in for NetworkManager") + (description + "This extension of NetworkManager allows it to take care of connections +to virtual private networks (VPNs) via Fortinet SSLVPN.") + (license license:gpl2+) + (properties `((upstream-name . "NetworkManager-fortisslvpn"))))) + (define-public mobile-broadband-provider-info (package (name "mobile-broadband-provider-info")