summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2018-01-27 13:35:50 +0000
committerChristopher Baines <mail@cbaines.net>2018-12-28 22:09:29 +0000
commitb4d19d69c1842c4a6f07b5d8f27a83bf18f66337 (patch)
treed0f0ae77c58592e2e5dc8998fc87687e0fc1315e
parent1a5f2a73056709dec4e6ee6759414826833350f6 (diff)
downloadgnu-guix-b4d19d69c1842c4a6f07b5d8f27a83bf18f66337.tar
gnu-guix-b4d19d69c1842c4a6f07b5d8f27a83bf18f66337.tar.gz
gnu: Add terraform.
* gnu/packages/terraform.scm (New file). * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
-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 f14b152fdb..1ece07bcb8 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")