Merge branch 'jb-tk' into 'master'

Add tanka

See merge request nonguix/nonguix!712
This commit is contained in:
Gray Wolf 2025-09-30 15:21:43 +00:00
commit a98024ab55

View file

@ -1,5 +1,6 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
(define-module (nongnu packages k8s)
#:use-module (guix build-system copy)
@ -215,3 +216,78 @@ more complex, real-world scenarios without demanding extensive resources.
Its a lightweight, portable, and configurable solution useful in
continuous integration (CI) workflows.")
(license license:asl2.0)))
(define-public jsonnet-bundler
(package
(name "jsonnet-bundler")
(version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jsonnet-bundler/jsonnet-bundler/releases"
"/download/v" version "/jb-linux-amd64"))
(sha256
(base32
"0m6vf36z0xlaa9cdvkb4xdmlzpvp4acv8xhm5faf1wrzpkxlmrbq"))))
(build-system copy-build-system)
(arguments
(list
#:substitutable? #f
#:install-plan
#~'(("jb" "bin/"))
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(copy-file source "./jb")))
(add-before 'install 'chmod
(lambda _
(chmod "jb" #o555))))))
(home-page "https://github.com/jsonnet-bundler/jsonnet-bundler")
(supported-systems '("x86_64-linux"))
(synopsis "Package manager for Jsonnet")
(description
"Simple package manager for Jsonnet. Allows you to use third-party
repositories of Jsonnet libraries.
In alpha stage, flags, configuration, behavior and design may change
significantly in following releases.")
(license license:asl2.0)))
(define-public tanka
(package
(name "tanka")
(version "0.33.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/grafana/tanka/releases"
"/download/v" version "/tk-linux-amd64"))
(sha256
(base32
"1ff066pkd6071031bfazamfcqf7r3481sh94nh0vqxk1ry7ysisi"))))
(build-system copy-build-system)
(arguments
(list
#:substitutable? #f
#:install-plan
#~'(("tk" "bin/"))
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(copy-file source "./tk")))
(add-before 'install 'chmod
(lambda _
(chmod "tk" #o555)))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program (search-input-file outputs "bin/tk")
'("PATH" prefix (#$(file-append jsonnet-bundler "/bin")))))))))
(home-page "https://github.com/grafana/tanka")
(supported-systems '("x86_64-linux"))
(synopsis "Configuration utility for Kubernetes based on Jsonnet")
(description
"Configuration utility for Kubernetes which uses Jsonnet instead of YAML.
Provides simple and concise approach to managing your deployments.")
(license license:asl2.0)))