# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup select 1.0 name terraform categories sysutils installs_libs no # Hashicorp Terraform is now licensed under the BSL # https://www.hashicorp.com/license-faq#aug-10-announcement license Commercial Permissive homepage https://www.terraform.io/downloads.html maintainers {emcrisostomo @emcrisostomo} \ {gmail.com:herby.gillot @herbygillot} \ @pedrohdz \ openmaintainer # *NOTE* Remember to update `latestVersion` on a version upgrade. set latestVersion terraform-1.11 set armAvailable no set customDistSubDir yes proc terraformBaseVersion {} { global subport return [lindex [split ${subport} "-"] 1] } proc terraformVersion {} { global patchNumber return [terraformBaseVersion].${patchNumber} } proc terraformDistBase {} { global name return ${name}_[terraformVersion]_darwin } subport terraform-1.11 { set patchNumber 3 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 3534149feb8ce88492849c928837bda387198308 \ sha256 bcdbb6f35c536da333d410cd0d0c1f5d543c4f40d46c8f96e419190fe3e9d941 \ size 28781329 \ [terraformDistBase]_arm64.zip \ rmd160 0039111273ac2dbc46d117f18edb23a5df07ac66 \ sha256 c0c64fa7b859f505fdcefdab89317e98b268f68d401da87df0b0021e827cf197 \ size 26388538 set customDistSubDir no } subport terraform-1.10 { set patchNumber 5 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 afce0ceb7b390191a93e1b8bb5e38a4776f830f0 \ sha256 4164db242076c7e99ac6aec67bc42b366925b97267e3883edaca4e4e408b082e \ size 28635071 \ [terraformDistBase]_arm64.zip \ rmd160 c8797855917b96503c83b51df9535367f020d86b \ sha256 51910553dae21dab7f5f55912129602fd902e68a6b6d84b326a556a3e140b98b \ size 26251749 set customDistSubDir no } subport terraform-1.9 { set patchNumber 8 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 2817f8603b83295702e44894e4a8d2d520977107 \ sha256 be591e8c59c49d0cfbc7664d24910a4b43840b89d0a4bbca662149bbf0397e91 \ size 27959329 \ [terraformDistBase]_arm64.zip \ rmd160 bc13cc6255e81b5acdfb12eba1293ebba2b5570b \ sha256 873d7b925d08578fb6bb9c12c7cd92ae73e289e07c360f2fdd69f9036b7baaab \ size 25745690 set customDistSubDir no } subport terraform-1.8 { set patchNumber 5 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 02be902b4283abd925c53c262659c46cc386a41e \ sha256 051c702e156a4d1a1c628783cf2ca0e1db8cca7b4c0f1686ea623558ed5560f9 \ size 27659471 \ [terraformDistBase]_arm64.zip \ rmd160 34b4a8868ba8ecf4556f411b83101ad9a3346a42 \ sha256 627c5005ab4a2bee36316f4967a41f16d55f79ea737f78b6bb34325c728c73e1 \ size 25454927 set customDistSubDir no } subport terraform-1.7 { set patchNumber 5 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 e275422df8da1d6a44f84713131842e2b16e07b0 \ sha256 0eaf64e28f82e2defd06f7a6f3187d8cea03d5d9fcd2af54f549a6c32d6833f7 \ size 27560118 \ [terraformDistBase]_arm64.zip \ rmd160 fe2bd475f4f3dd1e568fae5fcb1aeea2440a441e \ sha256 99c4d4feafb0183af2f7fbe07beeea6f83e5f5a29ae29fee3168b6810e37ff98 \ size 25902918 set customDistSubDir no } subport terraform-1.6 { set patchNumber 6 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 c170c3c03cf7783ad7317622c399df433988a53e \ sha256 33376343c7e0279b674c1c8b8a31dc3174ac09dd796d32651cc5e3b98f220436 \ size 26507656 \ [terraformDistBase]_arm64.zip \ rmd160 f5b9c6b353ef7a03c3d2f2c080a47335ef758cb5 \ sha256 01e608fc04cf54869db687a212d60f3dc3d5c828298514857f9e29f8ac1354a9 \ size 24865571 set customDistSubDir no } subport terraform-1.5 { set patchNumber 7 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 d7c50065f08a09a34603caef28c003e164afd35a \ sha256 b310ec0e626e9799000cfc8e30247cd827cf7f8030c8e0400257c7f111e93537 \ size 22296467 \ [terraformDistBase]_arm64.zip \ rmd160 6a845150b5f6ba25292df61097ae21ed7847d96a \ sha256 db7c33eb1a446b73a443e2c55b532845f7b70cd56100bec4c96f15cfab5f50cb \ size 21020511 set customDistSubDir no } subport terraform-1.4 { set patchNumber 7 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 c8b0bfb7af57bad9d02d8823b7fb9efff6ca4588 \ sha256 603764c07862bd3a87fce193f8b9823383df22626b254f353c83511635763301 \ size 22051376 \ [terraformDistBase]_arm64.zip \ rmd160 b6df404982deb2d117e9b61abb263cfc7ab78e80 \ sha256 4b2ae04467469b923d038e6720ae1f92cb2adaa96b7ab08199c2fffee8b45baa \ size 20612022 set customDistSubDir no } subport terraform-1.3 { set patchNumber 10 revision 0 set armAvailable yes # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums [terraformDistBase]_amd64.zip \ rmd160 b8f26c8d223d6994cbab22bc83bb7190ba807386 \ sha256 e5cf68ef9b259503abf515a1716fcfe21d46af22e24b8ebbbe7849fbfafb428c \ size 21195636 \ [terraformDistBase]_arm64.zip \ rmd160 400bb1a0fa0ee0c09257ffe51e58508737ff74cf \ sha256 39cf7882108034f78c0d9144153271efb11ba99924170828eda9b0196f3da6fd \ size 19794701 set customDistSubDir no } subport terraform-1.2 { set patchNumber 9 revision 2 set armAvailable yes # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums [terraformDistBase]_amd64.zip \ rmd160 02ba5fe97460e154341311b9a7730cd0774d8d45 \ sha256 84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c \ size 21672810 \ [terraformDistBase]_arm64.zip \ rmd160 64b51950c5c8d14099b5ff58cd9656101817b611 \ sha256 bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa \ size 20280541 } subport terraform-1.1 { set patchNumber 9 revision 1 set armAvailable yes # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums [terraformDistBase]_amd64.zip \ rmd160 2629b4a4d65c551cfacd3299652d2c64da9fd588 \ sha256 685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc \ size 20850638 \ [terraformDistBase]_arm64.zip \ rmd160 a4b25d61936984263845a50ba578c3bfccc8b629 \ sha256 39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c \ size 20093184 } subport terraform-1.0 { set patchNumber 11 revision 1 set armAvailable yes # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums [terraformDistBase]_amd64.zip \ rmd160 fe6a5e94830ae8def4ce95d335235e7f36405776 \ sha256 551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131 \ size 19422757 \ [terraformDistBase]_arm64.zip \ rmd160 83be809223dbb6b990aebc939031602d9a8b3749 \ sha256 737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6 \ size 18467868 } subport terraform-0.15 { set patchNumber 5 revision 1 # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums rmd160 2468e59f0385d606b8a77651069474cc06c319be \ sha256 5ad75ed3def05f36b5c5dab97dee00b5d3d86be9f9dcd205b48136312505f3fc \ size 33932321 } subport terraform-0.14 { set patchNumber 11 revision 1 # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums rmd160 88eb139f672f0771f25ef8bd49e08b23945f3385 \ sha256 88d266a53b4c09e9778123f274351d7f6e48c08c12edaece8f4e360ade3bd847 \ size 34764932 } subport terraform-0.13 { set patchNumber 7 revision 1 # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums rmd160 7fb4ef9b32db35fe7674d8d5ca20b534e99dbb1f \ sha256 60f3561eb11fa6c61321d6c8b698023eb7b74dc1a49210bd5f5acb03f453db9b \ size 35823339 } subport terraform-0.12 { set patchNumber 31 revision 1 # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums rmd160 06f2c7d2147afd485ad478635c3a55335e4b99ee \ sha256 ebd96d0c1fc206480a61a190059d3e8aebdfa8733bfa309d7a34ad5a3e0eb322 \ size 29365299 } subport terraform-0.11 { set patchNumber 15 revision 1 # stealth update; remove for next version dist_subdir ${name}/${subport}_${revision}_1 checksums rmd160 cacd0de975ff689cd0efa237bd88e1839f90aeeb \ sha256 9c3214dcaa277c3773d52d514a76959c82896a1661061b7e5f9523c38add10b7 \ size 22024460 } subport terraform_select {} if {${subport} eq ${name}} { PortGroup obsolete 1.0 replaced_by ${latestVersion} version 1.11.3 revision 0 } elseif {${subport} eq "terraform_select"} { version 0.0.0 revision 0 supported_archs noarch platforms any description Common files for selecting the default terraform \ version long_description This port installs files that allow 'port select' \ to create links to the preferred default version \ of terraform. homepage https://www.macports.org/ distfiles use_configure no build {} destroot { select::install terraform ${filespath}/base select::install terraform ${filespath}/none } livecheck.type none } else { set baseVersion [terraformBaseVersion] set baseName terraform${baseVersion} version [terraformVersion] distname [terraformDistBase]_amd64 supported_archs x86_64 if ${armAvailable} { supported_archs x86_64 arm64 if {${build_arch} eq "arm64"} { distname [terraformDistBase]_arm64 } } if ${customDistSubDir} { dist_subdir ${name}/${version}_${revision} } depends_run port:terraform_select description A tool for building, changing, and versioning \ infrastructure safely and efficiently. long_description \ Terraform is an infrastructure as code software \ by HashiCorp. It allows users to define a datacenter \ infrastructure in a high-level configuration language, \ from which it can create an execution plan to build \ the infrastructure in a service provider such as AWS. master_sites https://releases.hashicorp.com/${name}/${version} use_configure no use_zip yes extract.mkdir yes select.group terraform select.file ${workpath}/${baseName} build { file copy ${filespath}/terraformX.YY.template ${workpath}/${baseName} reinplace "s|@@BASE_VERSION@@|${baseVersion}|g" ${workpath}/${baseName} } destroot { xinstall ${worksrcpath}/terraform \ ${destroot}${prefix}/bin/terraform${baseVersion} } set regexVersionPart [string map {. {\.}} $baseVersion] livecheck.type regex livecheck.url https://releases.hashicorp.com/terraform/ livecheck.regex >terraform_(${regexVersionPart}\\.\\d+)< notes " To make this the default terraform run: sudo port select --set terraform ${baseName} " }