pantry/projects/gomplate.ca/package.yml
SALES 5ccc969cde
Create gomplate > first (dirty) attempt (#834)
* Create gomplate > first (dirty) attempt

cf #817

* Rename gomplate to package.yml

* wip

* complex version setting procedure

---------

Co-authored-by: Max Howell <mxcl@me.com>
Co-authored-by: Jacob Heider <jacob@tea.xyz>
2023-04-04 20:56:33 -04:00

42 lines
1.3 KiB
YAML

distributable:
url: https://github.com/hairyhenderson/gomplate/archive/refs/tags/v{{version}}.tar.gz
strip-components: 1
versions:
github: hairyhenderson/gomplate
build:
dependencies:
# panic: Something in this program imports
# go4.org/unsafe/assume-no-moving-gc to declare that it assumes a non-moving
# garbage collector, but your version of go4.org/unsafe/assume-no-moving-gc
# hasn't been updated to assert that it's safe against the go1.20 runtime.
# If you want to risk it, run with environment variable
# ASSUME_NO_MOVING_GC_UNSAFE_RISK_IT_WITH=go1.20 set. Notably, if go1.20
# adds a moving garbage collector, this program is unsafe to use.
go.dev: ~1.19
script: |
go mod download
go build -v -ldflags="$LDFLAGS" ./cmd/gomplate
mkdir -p "{{prefix}}"/bin
mv gomplate "{{prefix}}"/bin
env:
LDFLAGS:
- -s
- -w
- -X $(go list ./version).Version={{version}}
linux:
# or segmentation fault
# fix found here https://github.com/docker-library/golang/issues/402#issuecomment-982204575
LDFLAGS:
- -buildmode=pie
provides:
- bin/gomplate
test:
fixture: |
Hello, {{ .Env.USER }}
script: |
test "$(gomplate < $FIXTURE)" = "Hello, $USER"
test "$(gomplate --version)" = "gomplate version {{version}}"