diff options
author | Ivan Marquesi Lerner | 2022-09-01 23:18:07 -0300 |
---|---|---|
committer | Ivan Marquesi Lerner | 2022-09-01 23:18:07 -0300 |
commit | e19684476a7bac34d73806f88e2fd6ef40227798 (patch) | |
tree | bd3db86c974577399d3383c1f204172972414f02 | |
parent | b33013460a89ec1a8f203c1b58c0c62e59f93467 (diff) | |
download | aur-e19684476a7bac34d73806f88e2fd6ef40227798.tar.gz |
Improve PKGBUILD and add BPF SDK to package
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | PKGBUILD | 46 | ||||
-rw-r--r-- | solana.install | 12 |
4 files changed, 49 insertions, 20 deletions
@@ -1,19 +1,23 @@ pkgbase = solana pkgdesc = A fast, secure, and censorship resistant blockchain. pkgver = 1.10.38 - pkgrel = 1 + pkgrel = 2 url = https://www.solana.com + install = solana.install arch = x86_64 license = Apache makedepends = rustup makedepends = clang - provides = solana + depends = systemd-libs provides = spl-token conflicts = solana-bin conflicts = spl-token-cli + noextract = perf-libs-0.19.3.tar.gz source = solana-1.10.38.tar.gz::https://github.com/solana-labs/solana/archive/v1.10.38.tar.gz source = spl-token-cli-2.0.17.tar.gz::https://github.com/solana-labs/solana-program-library/archive/refs/tags/token-cli-v2.0.17.tar.gz + source = perf-libs-0.19.3.tar.gz::https://github.com/solana-labs/solana-perf-libs/releases/download/v0.19.3/solana-perf.tgz sha256sums = 276a5a7e12208770954e9bfa86339f49943767e9ad869fe6dd20bd7a4dfc4ea4 sha256sums = c17d42533fb666392cd577ecbc67eddad950ab8b911fa8e82e9c03dceaf37862 + sha256sums = 5850dc8ba63017cdb0c97357cc0e26e60f445abc1ef3c95a61b88e59afae71a4 pkgname = solana diff --git a/.gitignore b/.gitignore index dc1652abf555..b44285cdd9e3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ src pkg solana-*.tar.gz solana-*.pkg.tar.zst -spl-token-*.tar.gz
\ No newline at end of file +spl-token-*.tar.gz +perf-libs-*.tar.gz
\ No newline at end of file @@ -2,26 +2,41 @@ pkgname=solana pkgver=1.10.38 _tokenver=2.0.17 +_perflibsver=0.19.3 _rustver=1.59.0 -pkgrel=1 +pkgrel=2 pkgdesc="A fast, secure, and censorship resistant blockchain." url="https://www.solana.com" arch=('x86_64') license=('Apache') -depends=() +depends=("systemd-libs") makedepends=("rustup" "clang") conflicts=("solana-bin" "spl-token-cli") -provides=("solana" "spl-token") +provides=("spl-token") +install="$pkgname.install" source=("$pkgname-$pkgver.tar.gz::https://github.com/solana-labs/$pkgname/archive/v$pkgver.tar.gz" - "spl-token-cli-$_tokenver.tar.gz::https://github.com/solana-labs/solana-program-library/archive/refs/tags/token-cli-v$_tokenver.tar.gz") + "spl-token-cli-$_tokenver.tar.gz::https://github.com/solana-labs/solana-program-library/archive/refs/tags/token-cli-v$_tokenver.tar.gz" + "perf-libs-$_perflibsver.tar.gz::https://github.com/solana-labs/solana-perf-libs/releases/download/v$_perflibsver/solana-perf.tgz") sha256sums=('276a5a7e12208770954e9bfa86339f49943767e9ad869fe6dd20bd7a4dfc4ea4' - 'c17d42533fb666392cd577ecbc67eddad950ab8b911fa8e82e9c03dceaf37862') + 'c17d42533fb666392cd577ecbc67eddad950ab8b911fa8e82e9c03dceaf37862' + '5850dc8ba63017cdb0c97357cc0e26e60f445abc1ef3c95a61b88e59afae71a4') +noextract=("perf-libs-$_perflibsver.tar.gz") prepare() { + mkdir -p "$srcdir/$pkgname-$pkgver/target/perf-libs" + tar -x -f "perf-libs-$_perflibsver.tar.gz" -C "$srcdir/$pkgname-$pkgver/target/perf-libs" + sed -i '43a \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .parent()\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .expect("Unable to get parent directory")' $srcdir/$pkgname-$pkgver/sdk/cargo-build-bpf/src/main.rs + sed -i '46a \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .join("lib")\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .join("solana")' $srcdir/$pkgname-$pkgver/sdk/cargo-build-bpf/src/main.rs rustup toolchain install $_rustver + cd "$srcdir/$pkgname-$pkgver" + cargo +$_rustver fetch --locked --target "$CARCH-unknown-linux-gnu" + cd "$srcdir/solana-program-library-token-cli-v$_tokenver" + cargo +$_rustver fetch --locked --target "$CARCH-unknown-linux-gnu" } build() { + export RUSTUP_TOOLCHAIN=stable + export CARGO_TARGET_DIR=target cd "$srcdir/$pkgname-$pkgver" BINS=( solana @@ -50,13 +65,14 @@ build() { for bin in "${BINS[@]}"; do binargs+=(--bin "$bin") done - cargo +$_rustver build --release --locked "${binargs[@]}" + cargo +$_rustver build --release --frozen --locked "${binargs[@]}" cd "$srcdir/solana-program-library-token-cli-v$_tokenver" - cargo +$_rustver build --release --locked --bin spl-token + cargo +$_rustver build --release --frozen --locked --bin spl-token } package() { - mkdir -p $pkgdir/usr/bin + install -d $pkgdir/usr/lib/$pkgname/sdk/bpf + install -dm775 $pkgdir/usr/lib/$pkgname/sdk/bpf/dependencies BINS=( solana solana-bench-tps @@ -80,14 +96,10 @@ package() { solana-watchtower solana-genesis ) + for bin in "${BINS[@]}"; do - install -Dm755 $srcdir/$pkgname-$pkgver/target/release/$bin $pkgdir/usr/bin - done - install -Dm755 $srcdir/solana-program-library-token-cli-v$_tokenver/target/release/spl-token $pkgdir/usr/bin - -## mkdir -p $pkgdir/usr/bin/sdk -## cp -a $srcdir/$pkgname-$pkgver/sdk/bpf $pkgdir/usr/bin/sdk - -## mkdir -p $pkgdir/usr/bin/deps -## cp -a $srcdir/$pkgname-$pkgver/target/release/deps/libsolana*program.* $pkgdir/usr/bin/deps + install -Dm755 -t $pkgdir/usr/bin $srcdir/$pkgname-$pkgver/target/release/$bin + done + install -Dm755 -t $pkgdir/usr/bin $srcdir/solana-program-library-token-cli-v$_tokenver/target/release/spl-token + cp -a $srcdir/$pkgname-$pkgver/sdk/bpf/* $pkgdir/usr/lib/$pkgname/sdk/bpf } diff --git a/solana.install b/solana.install new file mode 100644 index 000000000000..4a488f3d9b37 --- /dev/null +++ b/solana.install @@ -0,0 +1,12 @@ +## arg 1: the new package version +post_install() { + groupadd -r sol + chown root:sol /usr/lib/solana/sdk/bpf/dependencies + echo "Add yourself to the sol group to be able to install dependencies" + echo "when using cargo-build-bpf" +} + +## arg 1: the old package version +post_remove() { + groupdel sol +} |