void-packages/srcpkgs/k3s/template

66 lines
2.0 KiB
Bash

# Template file for 'k3s'
pkgname=k3s
version=0.9.1
revision=2
create_wrksrc=yes
build_wrksrc="${pkgname}-${version}"
build_style=go
go_import_path="github.com/rancher/k3s"
hostmakedepends="git pkg-config"
makedepends="libseccomp-devel"
short_desc="Lightweight Kubernetes"
maintainer="Cameron Nemo <cnemo@tutanota.com>"
license="Apache-2.0"
homepage="https://k3s.io"
# _traefik_* variables' values from scripts/download in source distfile
_traefik_version="1.77.1"
_traefik_file="traefik-${_traefik_version}.tgz"
distfiles="https://${go_import_path}/archive/v${version}.tar.gz
https://kubernetes-charts.storage.googleapis.com/${_traefik_file}"
checksum="dee3ddfcdb61f292bcfe778d7677e436309511e15c6bbdd326ebec42ea41bbac
15dd78d136d7c9bae7144072052ef6cd12821ae081a7c085f145d834d96c5d5c"
skip_extraction="${_traefik_file}"
conflicts="kubernetes"
_git_commit=755bd1c63bafe80f9b5fe8d4bba527f988625364
pre_build() {
# Modify version.sh to use template variables' values.
vsed -i scripts/version.sh -e '
s@^COMMIT=.*@COMMIT='"${_git_commit}"'@;
s@^GIT_TAG=.*@GIT_TAG=v'"${version}"'@
'
# Remove -s (strip) and -w (no dwarf) linker arguments.
vsed -i scripts/build -e 's@-w -s@@'
# Remove BIN_SUFFIX, nullify GOARCH for go generate. The latter
# is needed because 'go run' will try to run binaries for the
# target given by GOOS/GOARCH. The -x prints what 'go generate'
# is executing. CGO_ENABLED is set to 0 because cross builds
# won't necessarily be able to handle 64-bit builds performed by
# 'go run'.
vsed -i scripts/package-cli -e '
s@BIN_SUFFIX="[^"]\+"@BIN_SUFFIX=""@;
s@^go generate$@CGO_ENABLED=0 GOARCH= & -x@;
s@-w -s@@g
'
# Recreate behavior of scripts/download minus downloading
# anything or having anything to do with busybox.
mkdir -p bin
mkdir -p build/static/charts
cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_traefik_file} build/static/charts/${_traefik_file}
}
do_build() {
scripts/build
scripts/package-cli
}
do_install() {
vbin dist/artifacts/k3s
vbin dist/artifacts/hyperkube
vsv k3s-server
vsv k3s-agent
}