aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/helm.scm
blob: 3e00b57832ead7353c037e7fc1008cb4b194ccf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
(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 "3.0.2")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://get.helm.sh/helm-v"
                                  version "-linux-amd64.tar.gz"))
              (sha256
               (base32
                "078ff54b7kvms1s5rncqyfw3qr4csiqqycmynjmyhrpw9xzamdy6"))))
    (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 "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)))