# -*- 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.5 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.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 6 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 769eb093caebb50fffaee0f824580fd6ffd2332d \ sha256 5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d \ size 22051279 \ [terraformDistBase]_arm64.zip \ rmd160 ff4e4ddd2bf37638228ac0da9836f27f9a7ac0f0 \ sha256 30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1 \ size 20613318 set customDistSubDir no } subport terraform-1.3 { set patchNumber 9 revision 0 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 e10a29ec679629de7631538fbcd93af6c949b89c \ sha256 ca78815afd657f887de7f9b74014dc4bddffe80fd28028179b271a3c4f64f29a \ size 21194874 \ [terraformDistBase]_arm64.zip \ rmd160 28012de87d77b5f8c29da38ea4b4b2e3c07e709f \ sha256 9df6fc8a9264bba1058e6e9383f43af2ee816088e61925e5bc45128ad8b6e9ad \ size 19793375 set customDistSubDir no } subport terraform-1.2 { set patchNumber 9 revision 1 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 04de8ebe3f669749633baaf8fbffbb0bd0e3af2a \ sha256 2c4d2b425a0680c6a4d65601a5f42f8b5c23e4ccd3332cf649ce14eaa646b967 \ size 21672801 \ [terraformDistBase]_arm64.zip \ rmd160 fd4c14e6069779bd37fafc555f56b741d946e03a \ sha256 91f51a352027f338b7673f23ee3c438ca8575933b7f58bfd7a92ffccf552158b \ size 20280537 } subport terraform-1.1 { set patchNumber 9 revision 1 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 f8ccb12d1edec6cf17ea5a8f741cb993e9573253 \ sha256 26afa7cda355fbf32a2b4cfd9122a49132f1b68337691b91f05caa0b1023c388 \ size 20850633 \ [terraformDistBase]_arm64.zip \ rmd160 d257bc5f7d94fde348975b6b9092e928271b59e2 \ sha256 80a230b56853f0fd50e12006c0d527da6a7f2e9974f25f7d372abfa2761ee3a3 \ size 20093183 } subport terraform-1.0 { set patchNumber 11 revision 1 set armAvailable yes checksums [terraformDistBase]_amd64.zip \ rmd160 a988402d3cd99b9d932206626b711725a9b7853b \ sha256 5b6771c87f3febde756baa132d38a67fcac284291a1f88918a58a41d879d2558 \ size 19422758 \ [terraformDistBase]_arm64.zip \ rmd160 b1c556cfaa52c9b3a4e23d0a84093f69680926ae \ sha256 435cc512332c28c38c98cda11a2ef3670564cfc85ba4e6fe0a73462713799f9e \ size 18467870 } subport terraform-0.15 { set patchNumber 5 revision 1 checksums rmd160 6cf3903793848fd2ef0180ec37b3989f1117536a \ sha256 4ee2ed9b769426cc9f13bd26c133ee66c6046acffeef632ddf0ef66e3d36a981 \ size 33932321 } subport terraform-0.14 { set patchNumber 11 revision 1 checksums rmd160 658517e12bcf8457a9c3fd5eda70d3a5d49529ba \ sha256 143ee31a4ae61564762ca5fe40851a0ec661698b73026e3cc0061f9867c7b67f \ size 34764927 } subport terraform-0.13 { set patchNumber 7 revision 1 checksums rmd160 58d16b69ad295ff35c3b3cf971adf93d2ce7afd6 \ sha256 2ee62413afc847d9771d46d73fad6c7e8670bcdf44190320b5fb6a3a38ec6480 \ size 35823336 } subport terraform-0.12 { set patchNumber 31 revision 1 checksums rmd160 8d8c6842db51226e6fe01ab9c84fb91013b94be3 \ sha256 794e736283b93b364d7f1c36ec8f47912ec6f6a0692b2108d0fb3908b5d3b5af \ size 29365294 } subport terraform-0.11 { set patchNumber 15 revision 1 checksums rmd160 2a6145f60df76d1052583b5cb82e15e3865d44e0 \ sha256 e98434b0d35c4ec058479148dd590d2bbf3e419fcc6db204522cc4b0bbd9ec25 \ size 22024453 } subport terraform_select {} if {${subport} eq ${name}} { PortGroup obsolete 1.0 replaced_by ${latestVersion} version 1.5.7 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} " }