summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: adf8ef07ca4cdc981aa8ed57a0fc943604bee635 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Maintainer: aarto <aarto@aur.archlinux.org>
# Contributor: Brad Erhart <tocusso underscore malty at aleeas dot com>
# Contributor: Vincent Bernardoff <vb@luminar.eu.org>

_pkgname=solana
pkgbase="$_pkgname-bin"
pkgname=(solana-bin solana-dev-bin)
pkgver=4.2.2
pkgrel=1
pkgdesc='A fast, secure, and censorship resistant blockchain.'
arch=(x86_64)
url='https://solana.com'
license=(Apache-2.0)
options=(!strip)
makedepends=(bash glibc libgcc systemd-libs)
source=(
  "$_pkgname-$pkgver.tar.bz2::https://github.com/anza-xyz/agave/releases/download/v$pkgver/solana-release-$CARCH-unknown-linux-gnu.tar.bz2"
  "$_pkgname.sysusers"
  "$_pkgname.tmpfiles"
  "$pkgbase.install"
)
sha256sums=('5fc8684f7430038105fde953d4308ed56addf627f658daa61709f345448247ee'
            'bf7e015436e3d15e70fc67f323bbd04163f79a4de7d06a254a5409bd031227b0'
            'a0f9ee2a24ab97da977eed1dd68a92165c2f2e6d5467462fe83c762031f4e02b'
            'e77902c49d76fb103b2e3b7c59925d6b43e3772204dc5e484c2375bffb421ac0')

# CLI tools for interacting with the Solana network.
package_solana-bin() {
  pkgdesc='Solana CLI tools for wallets, staking, and token management'
  depends=(glibc libgcc systemd-libs)
  provides=("$_pkgname=$pkgver" spl-token)
  conflicts=("$_pkgname")
  install="$pkgbase.install"

  cd "$srcdir/solana-release"

  local _cli_bins=(
    solana
    solana-keygen
    solana-stake-accounts
    solana-tokens
    spl-token
  )

  for bin in "${_cli_bins[@]}"; do
    install -Dm755 "bin/$bin" -t "$pkgdir/usr/bin"
  done

  install -Dm644 "$srcdir/$_pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgbase.conf"
  install -Dm644 "$srcdir/$_pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgbase.conf"
}

# Developer tools for building and testing Solana programs.
package_solana-dev-bin() {
  pkgdesc='Solana developer tools: SBF compiler toolchain, test validator, and ledger tool'
  depends=(bash glibc libgcc libstdc++)
  conflicts=("$_pkgname")
  optdepends=(
    'cargo: required for cargo-build-sbf and cargo-test-sbf'
    "solana-bin=$pkgver: CLI tools for interacting with clusters"
  )

  cd "$srcdir/solana-release"

  local _dev_bins=(
    cargo-build-sbf
    cargo-test-sbf
    solana-test-validator
    agave-ledger-tool
  )

  for bin in "${_dev_bins[@]}"; do
    install -Dm755 "bin/$bin" -t "$pkgdir/usr/bin"
  done

  install -dm755 "$pkgdir/usr/lib/$_pkgname/platform-tools-sdk"
  cp -a bin/platform-tools-sdk/sbf "$pkgdir/usr/lib/$_pkgname/platform-tools-sdk"
}