aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2018-01-27 13:35:50 +0000
committerChristopher Baines <christopher.baines@digital.cabinet-office.gov.uk>2019-05-30 18:18:19 +0100
commit8acf008298994f6434a4847733428fa76c2b0efe (patch)
tree5a928a08f1a3549674e96c4e6b2eeac3e245e461 /gnu/packages
parent819e025f97d665b29862507241d19b1af2fab996 (diff)
downloadgnu-guix-8acf008298994f6434a4847733428fa76c2b0efe.tar
gnu-guix-8acf008298994f6434a4847733428fa76c2b0efe.tar.gz
gnu: Add terraform.
* gnu/packages/terraform.scm (New file). * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/terraform.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/terraform.scm b/gnu/packages/terraform.scm
index b9313bbd4a..e48179fc2c 100644
--- a/gnu/packages/terraform.scm
+++ b/gnu/packages/terraform.scm
@@ -24,6 +24,43 @@
#:use-module (guix git-download)
#:use-module (guix build-system go))
+(define-public terraform
+ (package
+ (name "terraform")
+ (version "0.11.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/terraform")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0637x7jcm62pdnivmh4rggly6dmlvdh3jpsd1z4vba15gbm203nz"))))
+ (build-system go-build-system)
+ (outputs '("out" "lib"))
+ (arguments
+ '(#:import-path "github.com/hashicorp/terraform"
+ #:phases
+ (modify-phases %standard-phases
+ ;; I'm not sure what purpose they serve, but they are readonly, so
+ ;; they break the reset-gzip-timestamps phase.
+ (add-after 'install 'delete-test-fixtures
+ (lambda* (#:key outputs #:allow-other-keys)
+ (delete-file-recursively
+ (string-append
+ (assoc-ref outputs "lib")
+ "/src/github.com/hashicorp/terraform/config/module/test-fixtures")))))))
+ (synopsis "Tool for building and changing computing infrastructure")
+ (description
+ "Terraform uses descriptions of infrastructure written in @acronym{HCL,
+Hashicorp Configuration Language} which describe graphs of resources,
+including information about dependencies. From this, Terraform can plan and
+apply changes to the described resources.
+
+Terraform uses plugins that provide intergrations to different providers.")
+ (home-page "https://www.terraform.io/")
+ (license license:mpl2.0)))
+
(define-public terraform-docs
(package
(name "terraform-docs")