[buildout]
extends =
  ../../component/golang/buildout.cfg
  ../../component/openssl/buildout.cfg
  ../../component/zlib/buildout.cfg
  ../../stack/slapos.cfg

parts = 
  golang19
  slapos-cookbook
  instance-profile
  caddy-repository
  caddy

[instance-profile]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg.in
rendered = ${buildout:directory}/instance.cfg
# MD5 checksum can be skipped for development (easier to develop), but must be filled for production
md5sum = 227ed080787c1b2d933c7c9f563017cb
mode = 0644
extensions = jinja2.ext.do
context =
  section buildout  buildout

[gopath]
directory = ${buildout:directory}/go.work
src	= ${:directory}/src
bin	= ${:directory}/bin

[git-repository]
recipe  = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git

[go-git-repository]
<= git-repository
repository = https://${:go.importpath}.git
location = ${gopath:src}/${:go.importpath}

[caddy-repository]
<= go-git-repository
go.importpath = github.com/mholt/caddy
revision = c4dfbb9956095c92d0586a52723748c070c7b459

[caddy]
recipe  = slapos.recipe.cmmi
path    = ${caddy-repository:location}
go      = ${golang19:location}/bin/go
configure-command = :
make-binary = cd ${:path} && ${:go} install
make-targets =
environment =
  PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig
  PATH=${pkgconfig:location}/bin:${golang19:location}/bin:${buildout:bin-directory}:%(PATH)s
  GOPATH=${gopath:directory}