diff mbox series

[bug#48729,v3,04/47] gnu: Add go-github-com-apparentlymart-go-openvpn-mgmt.

Message ID 20210608230240.17542-4-rg@raghavgururajan.name
State Accepted
Headers show
Series : Bitmask VPN | expand

Commit Message

Raghav Gururajan June 8, 2021, 11:01 p.m. UTC
* gnu/packages/golang.scm (go-github-com-apparentlymart-go-openvpn-mgmt): New variable.
---
 gnu/packages/golang.scm | 79 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 4fcb5cd01a..7b0f656ada 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -69,6 +69,85 @@ 
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public go-github-com-apparentlymart-go-openvpn-mgmt
+  (let ((commit "4d2ce95ae600ee04eeb020ee0997aabb82752210")
+        (revision "14"))
+    (package
+      (name "go-github-com-apparentlymart-go-openvpn-mgmt")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/apparentlymart/go-openvpn-mgmt")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1dn431jnswg5ns1ah10wswnw6wiv48zq21zr5xp1178l4waswj7k"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:unpack-path "github.com/apparentlymart/go-openvpn-mgmt"
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'build
+             (lambda* (#:key source system outputs search-paths build-flags unpack-path inputs #:allow-other-keys)
+               (for-each
+                (lambda (directory)
+                  ((assoc-ref %standard-phases 'build)
+                   #:source source
+                   #:system system
+                   #:outputs outputs
+                   #:search-paths search-paths
+                   #:build-flags build-flags
+                   #:unpack-path unpack-path
+                   #:inputs inputs
+                   #:import-path directory))
+                (list
+                 "github.com/apparentlymart/go-openvpn-mgmt/demux"
+                 "github.com/apparentlymart/go-openvpn-mgmt/openvpn"))
+               #t))
+           (replace 'check
+             (lambda* (#:key source system outputs search-paths tests? unpack-path inputs #:allow-other-keys)
+               (for-each
+                (lambda (directory)
+                  ((assoc-ref %standard-phases 'check)
+                   #:source source
+                   #:system system
+                   #:outputs outputs
+                   #:search-paths search-paths
+                   #:tests? tests?
+                   #:unpack-path unpack-path
+                   #:inputs inputs
+                   #:import-path directory))
+                (list
+                 "github.com/apparentlymart/go-openvpn-mgmt/demux"
+                 "github.com/apparentlymart/go-openvpn-mgmt/openvpn"))
+               #t))
+           (replace 'install
+             (lambda* (#:key source system outputs search-paths install-source? unpack-path inputs #:allow-other-keys)
+               (for-each
+                (lambda (directory)
+                  ((assoc-ref %standard-phases 'install)
+                   #:source source
+                   #:system system
+                   #:outputs outputs
+                   #:search-paths search-paths
+                   #:install-source? install-source?
+                   #:unpack-path unpack-path
+                   #:inputs inputs
+                   #:import-path directory))
+                (list
+                 "github.com/apparentlymart/go-openvpn-mgmt/demux"
+                 "github.com/apparentlymart/go-openvpn-mgmt/openvpn"))
+               #t)))))
+      (synopsis "Go client library for OpenVPN's management protocol")
+      (description "This package implements a client for the OpenVPN management
+interface.  It can be used to monitor and control an OpenVPN process running with
+its management port enabled.")
+      (home-page "https://github.com/apparentlymart/go-openvpn-mgmt")
+      (license license:expat))))
+
 (define-public go-github-com-emersion-go-autostart
   (let ((commit "00ed301c8e9ae79e82878c6361c709983ac5dd2c")
         (revision "39"))