Skip to content

Instantly share code, notes, and snippets.

@blagerweij
Created February 8, 2023 22:57
Show Gist options
  • Save blagerweij/3ed4c39a0e0a14547d2a6b76c20b3054 to your computer and use it in GitHub Desktop.
Save blagerweij/3ed4c39a0e0a14547d2a6b76c20b3054 to your computer and use it in GitHub Desktop.
Alpine port build for AWS-CLI v2
pkgname=aws-cli
pkgver=2.9.12
pkgrel=0
pkgdesc="Universal Command Line Interface for Amazon Web Services"
url="https://github.com/aws/aws-cli"
arch="all"
license="Apache-2.0"
depends="groff"
makedepends="unzip build-base libffi-dev cmake python3-dev"
install=""
subpackages="
$pkgname-zsh-completion:zshcomp:noarch
$pkgname-bash-completion:bashcomp:noarch
$pkgname-completer
$pkgname-examples
"
source="$pkgname-$pkgver.tar.gz::https://github.com/aws/aws-cli/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/aws-cli-$pkgver"
options="!tracedeps"
prepare() {
default_prepare
}
build() {
cd "$builddir"
python3 -m venv venv
. venv/bin/activate
scripts/installers/make-exe
}
check() {
true
}
package() {
cd "$builddir"
unzip -q dist/awscli-exe.zip
aws/install --install-dir "$pkgdir/usr/lib/aws-cli" --bin-dir "$pkgdir/usr/bin"
ln -sf "../lib/aws-cli/v2/$pkgver/dist/aws" "$pkgdir/usr/bin/aws"
rm "$pkgdir/usr/lib/aws-cli/v2/current"
ln -s "$pkgver" "$pkgdir/usr/lib/aws-cli/v2/current"
}
bashcomp() {
depends="$pkgname-completer"
pkgdesc="$pkgdesc (bash completions)"
install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
mkdir -p "$subpkgdir/usr/share/bash-completion/completions"
install -D -m644 "$builddir/bin/aws_bash_completer" "$subpkgdir/usr/share/bash-completion/completions/aws"
}
zshcomp() {
depends="$pkgname-completer"
pkgdesc="$pkgdesc (zsh completions)"
install_if="$pkgname=$pkgver-r$pkgrel zsh"
mkdir -p "$subpkgdir/usr/share/zsh/site-functions"
install -D -m644 "$builddir/bin/aws_zsh_completer.sh" "$subpkgdir/usr/share/zsh/site-functions"
}
completer() {
depends=""
pkgdesc="$pkgdesc (completions helper)"
mkdir -p "$subpkgdir/usr/lib/aws-cli/v2/$pkgver/dist/awscli/data"
find "$pkgdir/usr/lib/aws-cli/v2/$pkgver/dist/awscli/data" -type d -mindepth 1 -maxdepth 1 -exec mv {} "$subpkgdir/usr/lib/aws-cli/v2/$pkgver/dist/awscli/data" \;
mv "$pkgdir/usr/lib/aws-cli/v2/$pkgver/dist/awscli/data/ac.index" "$subpkgdir/usr/lib/aws-cli/v2/$pkgver/dist/awscli/data"
mv "$pkgdir/usr/lib/aws-cli/v2/$pkgver/dist/aws_completer" "$subpkgdir/usr/lib/aws-cli/v2/$pkgver/dist"
rm "$pkgdir/usr/bin/aws_completer"
mkdir -p "$subpkgdir/usr/bin"
ln -s ../lib/aws-cli/v2/$pkgver/dist/aws_completer "$subpkgdir/usr/bin"
}
examples() {
depends=""
pkgdesc="$pkgdesc (examples)"
mkdir -p "$subpkgdir/usr/lib/aws-cli/v2/$pkgver/dist/awscli"
mv "$pkgdir/usr/lib/aws-cli/v2/$pkgver/dist/awscli/examples" "$subpkgdir/usr/lib/aws-cli/v2/$pkgver/dist/awscli"
}
sha512sums="983a3b110f88b10bf2a93032b82e8ea2e526405a5ad8d449843b68b9da3dc6841077d1817b1f0df8a76f17ffc147c1dca77453698097dd3eae68a06b8260b118 aws-cli-2.9.12.tar.gz"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment