summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Marquesi Lerner2022-09-01 23:18:07 -0300
committerIvan Marquesi Lerner2022-09-01 23:18:07 -0300
commite19684476a7bac34d73806f88e2fd6ef40227798 (patch)
treebd3db86c974577399d3383c1f204172972414f02
parentb33013460a89ec1a8f203c1b58c0c62e59f93467 (diff)
downloadaur-e19684476a7bac34d73806f88e2fd6ef40227798.tar.gz
Improve PKGBUILD and add BPF SDK to package
-rw-r--r--.SRCINFO8
-rw-r--r--.gitignore3
-rw-r--r--PKGBUILD46
-rw-r--r--solana.install12
4 files changed, 49 insertions, 20 deletions
diff --git a/.SRCINFO b/.SRCINFO
index dab6803d894d..92aa5a16d7ea 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 338c15410f51..c45f5ef764e9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+}