distributable:
  url: https://github.com/charmbracelet/freeze/archive/refs/tags/v{{version}}.tar.gz
  strip-components: 1

versions:
  github: charmbracelet/freeze

provides:
  - bin/freeze

build:
  dependencies:
    go.dev: ^1.19
  script:
    - go mod download
    - go build -v -trimpath -ldflags="$LDFLAGS" -o $BUILDLOC .
  env:
    GOPROXY: https://proxy.golang.org,direct
    GOSUMDB: sum.golang.org
    GO111MODULE: on
    CGO_ENABLED: 0
    BUILDLOC: '{{prefix}}/bin/freeze'
    LDFLAGS:
      - -s
      - -w
      - -X main.Version=v{{version}}
    linux:
      # or segmentation fault
      # fix found here https://github.com/docker-library/golang/issues/402#issuecomment-982204575
      LDFLAGS:
        - -buildmode=pie

test:
  # this should work, but looks like it might need a tty
  # - run: freeze $FIXTURE -l go
  #   fixture: |
  #     package main

  #     import "fmt"

  #     func main() {
  #       fmt.Println("hello world")
  #     }
  # - test -s freeze.png
  - freeze --help
