(define-module (snamellit tools) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) #:use-module (gnu packages java) #:use-module (guix build-system copy) #:use-module (guix download) #:use-module (guix packages) #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (nonguix build-system binary)) (define-public gradle (package (name "gradle") (version "8.4") (source (origin (method url-fetch) (uri (string-append "https://downloads.gradle.org/distributions/gradle-" version "-bin.zip")) (sha256 (base32 "1bkjxw7i0lm17pdyyvka4xpl6z0cdj0izagphync6839i2pg66iy")))) (build-system copy-build-system) (inputs (list `(,openjdk20 "jdk"))) (native-inputs (list unzip)) (synopsis "My Gradle, a java build system") (description "Gradle is the other build system and package manager for java programs") (home-page "https://maven.apache.org/") (license license:asl2.0))) (define-public terraform (package (name "snam-terraform") (version "1.8.4") (source (origin (method url-fetch) (uri (string-append "https://releases.hashicorp.com/terraform/" version "/terraform_" version "_linux_amd64.zip")) (sha256 (base32 "1i181cmzwlrx8d40z1spilcwgnhkzwalrg8822d23sqdmrs7a5hj")))) (build-system binary-build-system) (supported-systems '("x86_64-linux")) (arguments '( #:install-plan `(("." ("terraform") "bin/")) #:phases (modify-phases %standard-phases ;; this is required because standard unpack expects ;; the archive to contain a directory with everything inside it, ;; while babashka's release .tar.gz only contains the `bb` binary. (replace 'unpack (lambda* (#:key inputs #:allow-other-keys) (system* (which "unzip") (assoc-ref inputs "source")) #t))))) (native-inputs `(("unzip" ,unzip))) (synopsis "A tool to describe and deploy infrastructure as code") (description "Terraform allows you to describe your complete infrastructure in the form of code. Even if your servers come from different providers such as AWS or Azure, Terraform helps you build and manage these resources in parallel across providers.") (home-page "https://hashicorp.com/terraform") (license #f))) (define-public snam-terraform-1.6 (package (inherit terraform) (version "1.6.6") (source (origin (method url-fetch) (uri (string-append "https://releases.hashicorp.com/terraform/" version "/terraform_" version "_linux_amd64.zip")) (sha256 (base32 "002g0ypkkfqy5nf989jyk3m1l7l0455hsaq11xfhr5lbv4zqh5yi")))))) (define-public vault (package (name "snam-vault") (version "1.16.3") (source (origin (method url-fetch) (uri (string-append "https://releases.hashicorp.com/vault/" version "/vault_" version "_linux_amd64.zip")) (sha256 (base32 "1n3147l5slzmw7svqdwbhzxybzl5597jb64i4hvsrhswqnnx8cya")))) (build-system binary-build-system) (supported-systems '("x86_64-linux")) (arguments '( #:install-plan `(("." ("vault") "bin/")) #:phases (modify-phases %standard-phases ;; this is required because standard unpack expects ;; the archive to contain a directory with everything inside it, ;; while babashka's release .tar.gz only contains the `bb` binary. (replace 'unpack (lambda* (#:key inputs #:allow-other-keys) (system* (which "unzip") (assoc-ref inputs "source")) #t))))) (native-inputs `(("unzip" ,unzip))) (synopsis "A tool to describe and deploy secrets.") (description "Vault allows you to store and distribute secrets securely.") (home-page "https://hashicorp.com/vault") (license #f))) vault