aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner2019-11-06 01:51:59 -0600
committerEfraim Flashner2019-11-06 01:51:59 -0600
commitc71951c24a3c4d7428ada6e350a326daa07790e1 (patch)
tree1de6166d0d229fd5a7da2457be82ba1a6b6335df
parentcc0aef35c22a2970e7b4c22e8b487d7db72cf5df (diff)
downloadguix-bioinformatics-c71951c24a3c4d7428ada6e350a326daa07790e1.tar.gz
gn: Add helm.
-rw-r--r--gn/packages/helm.scm58
1 files changed, 58 insertions, 0 deletions
diff --git a/gn/packages/helm.scm b/gn/packages/helm.scm
new file mode 100644
index 0000000..8836e08
--- /dev/null
+++ b/gn/packages/helm.scm
@@ -0,0 +1,58 @@
+(define-module (gn packages helm)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system trivial)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression))
+
+(define-public helm
+ (package
+ (name "helm")
+ (version "2.15.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://get.helm.sh/helm-v"
+ version "-linux-amd64.tar.gz"))
+ (sha256
+ (base32
+ "04957hdns5fkwpv1ln470iv2gbapzbrizglvf8jdicyl1f9dplm9"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (target (string-append bin "/helm"))
+ (gzip (assoc-ref %build-inputs "gzip"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (source (assoc-ref %build-inputs "source")))
+ (setenv "PATH" (string-append gzip "/bin"))
+ (invoke (string-append tar "/bin/tar") "xvf" source)
+ (chdir "linux-amd64")
+ (chmod "helm" #o555)
+ (install-file "helm" bin)
+ (install-file "tiller" bin)
+ (install-file "LICENSE" (string-append out "/share/doc/"
+ ,name "-" ,version)))
+ #t)))
+ (native-inputs
+ `(("gzip" ,gzip)
+ ("source" ,source)
+ ("tar" ,tar)))
+ (home-page "https://helm.sh/")
+ (synopsis "Kubernetes Package Manager")
+ (description "Helm is a tool for managing Kubernetes charts. Charts are
+packages of pre-configured Kubernetes resources.
+Use Helm to:
+@enumerate
+@item Find and use popular software packaged as Helm charts to run in Kubernetes
+@item Share your own applications as Helm charts
+@item Create reproducible builds of your Kubernetes applications
+@item Intelligently manage your Kubernetes manifest files
+@item Manage releases of Helm packages
+@end enumerate")
+ (supported-systems '("x86_64-linux"))
+ (license license:asl2.0)))