1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
# $FreeBSD$
PORTNAME= packer
PORTVERSION= 0.8.5
DISTVERSIONPREFIX= v
CATEGORIES= sysutils
MAINTAINER= swills@FreeBSD.org
COMMENT= Tool for creating machine images
BUILD_DEPENDS= ${LOCALBASE}/bin/go:lang/go
USE_GITHUB= yes
GH_ACCOUNT= mitchellh:DEFAULT,cli,gofs,govnc,iochan,mapstructure \
mitchellh:multistep,osext,panicwrap,prefixedio,reflectwalk \
hashicorp:atlas,checkpoint,gomultierror,msgpack,version,yamux \
google:apiclient,goquerystr aws:awssdkgo \
golang:crypto,net,oauth2,tools go-fsnotify:fsnotify \
GoogleCloudPlatform:gcloud digitalocean:godo vaughan0:goini \
rackspace:gophercloud zoutaiqi:gosshold nu7hatch:gouuid \
tent:hlink pierrec:lz4,xxhash klauspost:compress,cpuid,crc32,pgzip \
satori:suuid ActiveState:tail go-tomb:tomb going:toolkit \
masterzen:winrm,simplexml,xmlpath packer-community:winrmcp \
dylanmei:iso8601,winrmtest
GH_PROJECT= cli:cli go-fs:gofs go-vnc:govnc iochan:iochan \
mapstructure:mapstructure multistep:multistep osext:osext \
panicwrap:panicwrap prefixedio:prefixedio \
reflectwalk:reflectwalk atlas-go:atlas go-checkpoint:checkpoint \
go-multierror:gomultierror go-msgpack:msgpack \
go-version:version yamux:yamux google-api-go-client:apiclient \
go-querystring:goquerystr aws-sdk-go:awssdkgo crypto:crypto \
net:net oauth2:oauth2 fsnotify:fsnotify gcloud-golang:gcloud \
godo:godo go-ini:goini gophercloud:gophercloud \
gosshold:gosshold gouuid:gouuid http-link-go:hlink lz4:lz4 \
xxHash:xxhash pgzip:pgzip go.uuid:suuid tail:tail tomb:tomb \
toolkit:toolkit winrm:winrm simplexml:simplexml xmlpath:xmlpath \
winrmcp:winrmcp iso8601:iso8601 winrmtest:winrmtest \
compress:compress cpuid:cpuid crc32:crc32 tools:tools
GH_TAGNAME= 8102d0e:cli a34c1b9:gofs 723ed98:govnc 87b45ff:iochan \
281073e:mapstructure 162146f:multistep 0dd3f91:osext \
45cbfd3:panicwrap 89d9b53:prefixedio eecf4c7:reflectwalk \
d1d08e8:atlas 88326f6:checkpoint 56912fb:gomultierror \
fa3f638:msgpack 999359b:version 4036a34:yamux e5bf1aa:apiclient \
547ef5a:goquerystr 8aa49b7:awssdkgo 173ce04:crypto b026840:net \
397fe76:oauth2 ea925a0:fsnotify e34a32f:gcloud 0d77b00:godo \
a98ad7e:goini 1d8b6f1:gophercloud 967f522:gosshold \
179d4d0:gouuid ac974c6:hlink 4bdd4b0:lz4 284d0fc:xxhash \
eef48e2:pgzip 6b8e5b5:suuid 4b368d1:tail dd63297:tomb \
5bff591:toolkit 27e0cc8:winrm 95ba304:simplexml 13f4951:xmlpath \
743b1af:winrmcp 2075bf1:iso8601 3e9661c:winrmtest \
058815a:compress 3b0816b:cpuid 55bf046:crc32 4f50f44:tools
STRIP= # stripping can break go binaries
PLUGINS= builder-amazon-chroot builder-amazon-ebs \
builder-amazon-instance builder-digitalocean builder-docker \
builder-file builder-googlecompute builder-null builder-openstack \
builder-parallels-iso builder-parallels-pvm builder-qemu \
builder-virtualbox-iso builder-virtualbox-ovf builder-vmware-iso \
builder-vmware-vmx post-processor-atlas post-processor-compress \
post-processor-artifice post-processor-docker-import \
post-processor-docker-push post-processor-docker-save \
post-processor-docker-tag post-processor-vagrant \
post-processor-vagrant-cloud post-processor-vsphere \
provisioner-ansible-local provisioner-chef-client provisioner-chef-solo \
provisioner-file provisioner-powershell provisioner-puppet-masterless \
provisioner-puppet-server provisioner-salt-masterless provisioner-shell \
provisioner-shell-local provisioner-windows-restart \
provisioner-windows-shell
post-extract:
@${MKDIR} ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${PORTNAME}
.for src in .gitignore .travis.yml CHANGELOG.md CONTRIBUTING.md LICENSE \
Makefile README.md Vagrantfile appveyor.yml builder checkpoint.go \
command commands.go common communicator config.go config_unix.go \
config_windows.go contrib fix helper log.go main.go main_test.go packer \
panic.go plugin post-processor provisioner scripts signal.go stdin.go \
template test version.go website
@${MV} ${WRKSRC}/${src} \
${WRKSRC}/src/github.com/mitchellh/${PORTNAME}
.endfor
@${MKDIR} ${WRKSRC}/src/code.google.com/p
@${MKDIR} ${WRKSRC}/src/github.com/ActiveState
@${MKDIR} ${WRKSRC}/src/github.com/aws
@${MKDIR} ${WRKSRC}/src/github.com/digitalocean
@${MKDIR} ${WRKSRC}/src/github.com/dylanmei
@${MKDIR} ${WRKSRC}/src/github.com/dylanmei
@${MKDIR} ${WRKSRC}/src/github.com/going
@${MKDIR} ${WRKSRC}/src/github.com/golang
@${MKDIR} ${WRKSRC}/src/github.com/google
@${MKDIR} ${WRKSRC}/src/github.com/hashicorp
@${MKDIR} ${WRKSRC}/src/github.com/howeyc
@${MKDIR} ${WRKSRC}/src/github.com/klauspost
@${MKDIR} ${WRKSRC}/src/github.com/masterzen
@${MKDIR} ${WRKSRC}/src/github.com/nu7hatch
@${MKDIR} ${WRKSRC}/src/github.com/packer-community
@${MKDIR} ${WRKSRC}/src/github.com/pierrec
@${MKDIR} ${WRKSRC}/src/github.com/racker
@${MKDIR} ${WRKSRC}/src/github.com/rackspace
@${MKDIR} ${WRKSRC}/src/github.com/satori
@${MKDIR} ${WRKSRC}/src/github.com/tent
@${MKDIR} ${WRKSRC}/src/github.com/vaughan0
@${MKDIR} ${WRKSRC}/src/golang.org/x
@${MKDIR} ${WRKSRC}/src/google.golang.org
@${MKDIR} ${WRKSRC}/src/gopkg.in
@${MV} ${WRKSRC_apiclient} ${WRKSRC}/src/google.golang.org/api
@${MV} ${WRKSRC_atlas} ${WRKSRC}/src/github.com/hashicorp/atlas-go
@${MV} ${WRKSRC_awssdkgo} ${WRKSRC}/src/github.com/aws/aws-sdk-go
@${MV} ${WRKSRC_checkpoint} ${WRKSRC}/src/github.com/hashicorp/go-checkpoint
@${MV} ${WRKSRC_cli} ${WRKSRC}/src/github.com/mitchellh/cli
@${MV} ${WRKSRC_fsnotify} ${WRKSRC}/src/gopkg.in/fsnotify.v0
@${MV} ${WRKSRC_gcloud} ${WRKSRC}/src/google.golang.org/cloud
@${MV} ${WRKSRC_godo} ${WRKSRC}/src/github.com/digitalocean/godo
@${MV} ${WRKSRC_gofs} ${WRKSRC}/src/github.com/mitchellh/go-fs
@${MV} ${WRKSRC_goini} ${WRKSRC}/src/github.com/vaughan0/go-ini
@${MV} ${WRKSRC_gomultierror} ${WRKSRC}/src/github.com/hashicorp/go-multierror
@${MV} ${WRKSRC_gophercloud} ${WRKSRC}/src/github.com/rackspace/gophercloud
@${MV} ${WRKSRC_goquerystr} ${WRKSRC}/src/github.com/google/go-querystring
@${MV} ${WRKSRC_gosshold} ${WRKSRC}/src/code.google.com/p/gosshold
@${MV} ${WRKSRC_gouuid} ${WRKSRC}/src/github.com/nu7hatch/gouuid
@${MV} ${WRKSRC_govnc} ${WRKSRC}/src/github.com/mitchellh/go-vnc
@${MV} ${WRKSRC_hlink} ${WRKSRC}/src/github.com/tent/http-link-go
@${MV} ${WRKSRC_iochan} ${WRKSRC}/src/github.com/mitchellh/iochan
@${MV} ${WRKSRC_iso8601} ${WRKSRC}/src/github.com/dylanmei/iso8601
@${MV} ${WRKSRC_lz4} ${WRKSRC}/src/github.com/pierrec/lz4
@${MV} ${WRKSRC_mapstructure} ${WRKSRC}/src/github.com/mitchellh/mapstructure
@${MV} ${WRKSRC_msgpack} ${WRKSRC}/src/github.com/hashicorp/go-msgpack
@${MV} ${WRKSRC_multistep} ${WRKSRC}/src/github.com/mitchellh/multistep
@${MV} ${WRKSRC_oauth2} ${WRKSRC}/src/golang.org/x/oauth2
@${MV} ${WRKSRC_osext} ${WRKSRC}/src/github.com/mitchellh/osext
@${MV} ${WRKSRC_panicwrap} ${WRKSRC}/src/github.com/mitchellh/panicwrap
@${MV} ${WRKSRC_pgzip} ${WRKSRC}/src/github.com/klauspost/pgzip
@${MV} ${WRKSRC_compress} ${WRKSRC}/src/github.com/klauspost/compress
@${MV} ${WRKSRC_cpuid} ${WRKSRC}/src/github.com/klauspost/cpuid
@${MV} ${WRKSRC_crc32} ${WRKSRC}/src/github.com/klauspost/crc32
@${MV} ${WRKSRC_prefixedio} ${WRKSRC}/src/github.com/mitchellh/prefixedio
@${MV} ${WRKSRC_reflectwalk} ${WRKSRC}/src/github.com/mitchellh/reflectwalk
@${MV} ${WRKSRC_simplexml} ${WRKSRC}/src/github.com/masterzen/simplexml
@${MV} ${WRKSRC_suuid} ${WRKSRC}/src/github.com/satori/go.uuid
@${MV} ${WRKSRC_tail} ${WRKSRC}/src/github.com/ActiveState/tail
@${MV} ${WRKSRC_tomb} ${WRKSRC}/src/gopkg.in/tomb.v1
@${MV} ${WRKSRC_toolkit} ${WRKSRC}/src/github.com/going/toolkit
@${MV} ${WRKSRC_version} ${WRKSRC}/src/github.com/hashicorp/go-version
@${MV} ${WRKSRC_winrmcp} ${WRKSRC}/src/github.com/packer-community/winrmcp
@${MV} ${WRKSRC_winrmtest} ${WRKSRC}/src/github.com/dylanmei/winrmtest
@${MV} ${WRKSRC_winrm} ${WRKSRC}/src/github.com/masterzen/winrm
@${MV} ${WRKSRC_xmlpath} ${WRKSRC}/src/github.com/masterzen/xmlpath
@${MV} ${WRKSRC_xxhash} ${WRKSRC}/src/github.com/pierrec/xxHash
@${MV} ${WRKSRC_yamux} ${WRKSRC}/src/github.com/hashicorp/yamux
@${CP} -r ${WRKSRC_net} ${WRKSRC}/src/golang.org/x/net
@${MV} ${WRKSRC_net} ${WRKSRC}/src/github.com/golang/net
@${CP} -r ${WRKSRC_crypto} ${WRKSRC}/src/golang.org/x/crypto
@${MV} ${WRKSRC_crypto} ${WRKSRC}/src/code.google.com/p/go.crypto
@${FIND} ${WRKSRC}/src/code.google.com/p/go.crypto -type f -name '*.go' -exec \
${REINPLACE_CMD} -e 's,golang.org/x/crypto/ssh,code.google.com/p/go.crypto/ssh,g' {} +
do-build:
@cd ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${PORTNAME}; ${SETENV} GOPATH=${WRKSRC} go build -o bin/${PORTNAME}
.for plugin in ${PLUGINS}
@cd ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${PORTNAME}; ${SETENV} GOPATH=${WRKSRC} go build -o bin/${PORTNAME}-${plugin} github.com/mitchellh/packer/plugin/${plugin}
.endfor
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${PORTNAME}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
.for plugin in ${PLUGINS}
${INSTALL_PROGRAM} ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${PORTNAME}/bin/${PORTNAME}-${plugin} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-${plugin}
.endfor
.include <bsd.port.mk>
|