# Configure automatic updates for ebuilds. app-admin/1password: resolver: apt options: repository: "deb https://downloads.1password.com/linux/debian/amd64 stable main" package: 1password app-admin/google-cloud-cli-bin: resolver: apt options: repository: "deb https://packages.cloud.google.com/apt cloud-sdk main" package: google-cloud-cli app-admin/op-cli-bin: resolver: apt options: repository: "deb https://downloads.1password.com/linux/debian/amd64 stable main" package: 1password-cli dev-util/gum: resolver: git options: url: https://github.com/charmbracelet/gum steps: - checkout: https://github.com/charmbracelet/gum - original_ebuild: new.ebuild - generate_go_deps: full - upload_artifact: deps.tar.xz - ebuild: new.ebuild dev-util/mise: resolver: git options: disable_semver: true ignore_versions: - vfox-* url: https://github.com/jdx/mise # We have to regenerate the ebuild to get new crates and licenses to # be reflected, so we have to have custom steps. steps: - checkout: https://github.com/jdx/mise - original_ebuild: mise.ebuild - command: |- set -euxo pipefail pycargoebuild --crate-tarball --crate-tarball-path crates.tar.xz -i mise.ebuild - upload_artifact: crates.tar.xz - ebuild: mise.ebuild net-im/vesktop-bin: resolver: git options: url: https://github.com/Vencord/Vesktop net-im/legcord: resolver: git options: url: https://github.com/Legcord/Legcord net-vpn/tailscale: resolver: git options: url: https://github.com/tailscale/tailscale # We have to generate a Go dependency archive and upload it to a # stable location, so we do that during this process. steps: - checkout: https://github.com/tailscale/tailscale - original_ebuild: new.ebuild - generate_go_deps: full - command: |- set -euxo pipefail # Get the shell variables and rewrite the ebuild to contain # them. eval "$(./build_dist.sh shellvars)" sed -i 's/VERSION_MINOR=".*"/VERSION_MINOR="'"${VERSION_MINOR}"'"/' new.ebuild sed -i 's/VERSION_SHORT=".*"/VERSION_SHORT="'"${VERSION_SHORT}"'"/' new.ebuild sed -i 's/VERSION_LONG=".*"/VERSION_LONG="'"${VERSION_LONG}"'"/' new.ebuild sed -i 's/VERSION_GIT_HASH=".*"/VERSION_GIT_HASH="'"${VERSION_GIT_HASH}"'"/' new.ebuild - upload_artifact: deps.tar.xz - ebuild: new.ebuild app-admin/chezmoi: resolver: git options: url: https://github.com/twpayne/chezmoi # We have to generate a Go dependency archive and upload it to a # stable location, so we do that during this process. steps: - checkout: https://github.com/twpayne/chezmoi - original_ebuild: new.ebuild - generate_go_deps: full - command: |- set -euxo pipefail # Get the shell variables and rewrite the ebuild to contain # them. VERSION_GIT_HASH=$(go tool generate-commit) sed -i 's/VERSION_GIT_HASH=".*"/VERSION_GIT_HASH="'"${VERSION_GIT_HASH}"'"/' new.ebuild - upload_artifact: deps.tar.xz - ebuild: new.ebuild dev-util/glab: resolver: git options: url: https://gitlab.com/gitlab-org/cli.git # We have to generate a Go dependency archive and upload it to a # stable location, so we do that during this process. steps: - checkout: https://gitlab.com/gitlab-org/cli - original_ebuild: new.ebuild - generate_go_deps: full - upload_artifact: deps.tar.xz - ebuild: new.ebuild dev-util/doppler: resolver: git options: url: https://github.com/DopplerHQ/cli # We have to generate a Go dependency archive and upload it to a # stable location, so we do that during this process. steps: - checkout: https://github.com/DopplerHQ/cli - original_ebuild: new.ebuild - generate_go_deps: full - upload_artifact: deps.tar.xz - ebuild: new.ebuild dev-util/stencil: resolver: git options: url: https://github.com/rgst-io/stencil # We have to generate a Go dependency archive and upload it to a # stable location, so we do that during this process. steps: - checkout: https://github.com/rgst-io/stencil - original_ebuild: new.ebuild - generate_go_deps: full - command: |- set -euxo pipefail # Get the shell variables and rewrite the ebuild to contain # them. VERSION_GIT_HASH=$(git rev-parse HEAD) sed -i 's/VERSION_GIT_HASH=".*"/VERSION_GIT_HASH="'"${VERSION_GIT_HASH}"'"/' new.ebuild - upload_artifact: deps.tar.xz - ebuild: new.ebuild dev-vcs/git-credential-oauth: resolver: git options: url: https://github.com/hickford/git-credential-oauth steps: - checkout: https://github.com/hickford/git-credential-oauth - original_ebuild: new.ebuild - generate_go_deps: full - upload_artifact: deps.tar.xz - ebuild: new.ebuild dev-util/forgejo-cli: resolver: git options: url: https://codeberg.org/forgejo-contrib/forgejo-cli steps: - checkout: https://codeberg.org/Cyborus/forgejo-cli - original_ebuild: forgejo-cli.ebuild - command: |- set -euxo pipefail pycargoebuild --crate-tarball --crate-tarball-path crates.tar.xz \ -i forgejo-cli.ebuild - upload_artifact: crates.tar.xz - ebuild: forgejo-cli.ebuild gui-apps/vicinae: resolver: git options: url: https://github.com/vicinaehq/vicinae steps: - checkout: https://github.com/vicinaehq/vicinae - original_ebuild: new.ebuild - command: |- set -euxo pipefail mise use -g node@22 # Get the shell variables and rewrite the ebuild to contain # them. VERSION_GIT_HASH=$(git rev-parse HEAD) sed -i 's/VERSION_GIT_HASH=".*"/VERSION_GIT_HASH="'"${VERSION_GIT_HASH}"'"/' new.ebuild # Package up node_modules npm_pkgs=(api extension-manager) npm_pkg_dir="src/typescript" for npm_pkg in "${npm_pkgs[@]}"; do pushd "$npm_pkg_dir/$npm_pkg" >/dev/null echo "Installing node_modules ($npm_pkg)" npm ci popd >/dev/null done for npm_pkg in "${npm_pkgs[@]}"; do echo "Packaging node_modules ($npm_pkg)" XZ_OPT=-e9T0 tar cJf "npm-$npm_pkg-node_modules.tar.xz" "$npm_pkg_dir/$npm_pkg/node_modules" done - upload_artifact: npm-api-node_modules.tar.xz - upload_artifact: npm-extension-manager-node_modules.tar.xz - ebuild: new.ebuild sys-cluster/k3s: resolver: git options: version_transform: from: "+k3s" to: "_p" url: https://github.com/k3s-io/k3s/ steps: - checkout: https://github.com/k3s-io/k3s/ - original_ebuild: new.ebuild - generate_go_deps: full - command: |- set -exo pipefail source ./scripts/git_version.sh sed -i 's/COMMIT=".*"/COMMIT="'"${COMMIT}"'"/' new.ebuild sed -i 's/GIT_TAG=".*"/GIT_TAG="'"v${LATEST_VERSION}"'"/' new.ebuild sed -i 's/TREE_STATE=".*"/TREE_STATE="'"${TREE_STATE}"'"/' new.ebuild MIN_GOLANG_VERSION=$(curl -l "https://raw.githubusercontent.com/k3s-io/kubernetes/refs/tags/v${LATEST_VERSION/+/-}/.go-version") versions=$(env -i PATH="$PATH" bash -c 'source ./scripts/version.sh; set | grep -E "^VERSION_"') VERSION_CNIPLUGINS="$(grep "VERSION_CNIPLUGINS=" <<<"$versions" | awk -F '=' '{ print $2 }')" VERSION_CONTAINERD="$(grep "VERSION_CONTAINERD=" <<<"$versions" | awk -F '=' '{ print $2 }')" VERSION_FLANNEL_PLUGIN="$(grep "VERSION_FLANNEL_PLUGIN=" <<<"$versions" | awk -F '=' '{ print $2 }')" VERSION_ROOT="$(grep "VERSION_ROOT=" <<<"$versions" | awk -F '=' '{ print $2 }')" VERSION_RUNC="$(grep "VERSION_RUNC=" <<<"$versions" | awk -F '=' '{ print $2 }')" sed -i 's/VERSION_CNIPLUGINS=".*"/VERSION_CNIPLUGINS="'"${VERSION_CNIPLUGINS}"'"/' new.ebuild sed -i 's/VERSION_CONTAINERD=".*"/VERSION_CONTAINERD="'"${VERSION_CONTAINERD}"'"/' new.ebuild sed -i 's/VERSION_FLANNEL_PLUGIN=".*"/VERSION_FLANNEL_PLUGIN="'"${VERSION_FLANNEL_PLUGIN}"'"/' new.ebuild sed -i 's/VERSION_ROOT=".*"/VERSION_ROOT="'"${VERSION_ROOT}"'"/' new.ebuild sed -i 's/VERSION_RUNC=".*"/VERSION_RUNC="'"${VERSION_RUNC}"'"/' new.ebuild sed -i 's/>=dev-lang\/go-.*/>=dev-lang\/go-'"${MIN_GOLANG_VERSION}"'"/' new.ebuild # Based on: https://github.com/k3s-io/k3s/blob/main/scripts/download mise use yq@latest readarray -t helm_chart_files < <(grep -rlF HelmChart manifests/ | xargs yq eval --no-doc .spec.chart | xargs -n1 basename) new_src_uris=() for CHART_FILE in "${helm_chart_files[@]}"; do CHART_NAME=$(grep -oE '^(-*[a-z])+' <<<"$CHART_FILE") new_src_uris+=("SRC_URI+=\" https://k3s.io/k3s-charts/assets/${CHART_NAME}/${CHART_FILE} -> ${P}-${CHART_FILE}\"") done # Replace the helm chart SRC_URIs in the ebuild between the # HELMCHARTS_START and HELMCHARTS_END markers (I'm sorry). sed -i '/### HELMCHARTS_START ###/,/### HELMCHARTS_END ###/{/### HELMCHARTS_START ###/!{/### HELMCHARTS_END ###/!d}}' new.ebuild printf '%s\n' "${new_src_uris[@]}" | sed -i '/### HELMCHARTS_START ###/r /dev/stdin' new.ebuild # Setup a directory for the cni plugins to be downloaded so we # can package their Go dependencies. CNIPLUGINS_DIR="/tmp/sys-cluster-k3s/src/github.com/containernetworking/plugins" FLANNEL_PLUGIN_DIR="${CNIPLUGINS_DIR}/plugins/meta/flannel" mkdir -p "$CNIPLUGINS_DIR" git clone --depth 1 --branch "${VERSION_CNIPLUGINS}" \ https://github.com/rancher/plugins "$CNIPLUGINS_DIR" rm -rf "$FLANNEL_PLUGIN_DIR" git clone --depth 1 --branch "${VERSION_FLANNEL_PLUGIN}" \ https://github.com/flannel-io/cni-plugin "$FLANNEL_PLUGIN_DIR" sed -i 's/package main/package flannel/; s/func main/func Main/' "$FLANNEL_PLUGIN_DIR"/*.go - generate_go_deps: mode: full name: cni-plugins dir: /tmp/sys-cluster-k3s/src/github.com/containernetworking/plugins - upload_artifact: deps.tar.xz - upload_artifact: cni-plugins-deps.tar.xz - ebuild: new.ebuild net-irc/halloy: resolver: git options: disable_semver: true url: https://github.com/squidowl/halloy # We have to regenerate the ebuild to get new crates and licenses to # be reflected, so we have to have custom steps. steps: - checkout: https://github.com/squidowl/halloy - original_ebuild: halloy.ebuild - command: |- set -euxo pipefail pycargoebuild --crate-tarball --crate-tarball-path crates.tar.xz -i halloy.ebuild - upload_artifact: crates.tar.xz - ebuild: halloy.ebuild