blob: 80ba265c02697f098bd845dfcfcae8aaff56c347 (
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# Maintainer: tuxxx <nzb_tuxxx@proton.me>
pkgname=sparrow-wallet-git
_pkgname=sparrow-wallet
pkgver=2.5.1.r7.g0862974
pkgrel=1
_jdkver=25
pkgdesc="Desktop Bitcoin Wallet focused on security and privacy (git version)"
arch=('x86_64')
url="https://sparrowwallet.com/"
license=('Apache-2.0')
depends=(
'alsa-lib'
'at-spi2-core'
'bash'
'cairo'
'freetype2'
'fontconfig'
'gdk-pixbuf2'
'glib2'
'glibc'
'gtk3'
'hicolor-icon-theme'
'libgcc'
'libglvnd'
'libstdc++'
'libusb'
'libx11'
'libxcrypt-compat'
'libxext'
'libxi'
'libxrender'
'libxtst'
'libxxf86vm'
'pango'
'systemd-libs'
)
makedepends=(
'git'
'gradle'
"java-environment=${_jdkver}"
)
optdepends=(
'bitbox-udev: udev rules for BitBox hardware wallets'
'bitcoin-daemon: connect to a local Bitcoin Core node'
'keepkey-udev: udev rules for KeepKey hardware wallets'
'ledger-udev: udev rules for Ledger hardware wallets'
'python-ckcc-protocol: Python CLI and udev rules for Coldcard hardware wallets'
'trezor-udev: udev rules for Trezor hardware wallets'
)
provides=('sparrow-wallet')
conflicts=('sparrow-wallet' 'sparrow-wallet-reproducible')
options=(!debug !strip)
source=(
"sparrow::git+https://github.com/sparrowwallet/sparrow.git#branch=master"
"drongo::git+https://github.com/sparrowwallet/drongo.git"
"lark::git+https://github.com/sparrowwallet/lark.git"
)
sha256sums=(
'SKIP'
'SKIP'
'SKIP'
)
pkgver() {
cd "$srcdir/sparrow"
git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd "$srcdir/sparrow"
git submodule init
git config submodule.drongo.url "$srcdir/drongo"
git config submodule.lark.url "$srcdir/lark"
git -c protocol.file.allow=always submodule update
}
_set_jdk() {
local _jdk_home
for _jdk_home in "/usr/lib/jvm/java-${_jdkver}-temurin" /usr/lib/jvm/java-"${_jdkver}"-*; do
[[ -x "${_jdk_home}/bin/jpackage" ]] && break
done
if [[ ! -x "${_jdk_home}/bin/jpackage" ]]; then
echo "ERROR: JDK ${_jdkver} with jpackage was not found under /usr/lib/jvm" >&2
return 1
fi
export JAVA_HOME="${_jdk_home}"
export PATH="${JAVA_HOME}/bin:${PATH}"
}
build() {
_set_jdk
cd "$srcdir/sparrow"
echo "Building ${pkgname} with Java $(java -version 2>&1 | head -n1)"
echo "Creating jlink runtime image..."
gradle --no-daemon jlink
echo "Creating jpackage application image..."
gradle --no-daemon jpackageImage
}
check() {
_set_jdk
cd "$srcdir/sparrow"
echo "Testing ${pkgname} with Java $(java -version 2>&1 | head -n1)"
gradle --no-daemon check
}
package() {
cd "$srcdir/sparrow"
install -dm755 "${pkgdir}/opt/${_pkgname}"
cp -a "build/jpackage/Sparrow"/* "${pkgdir}/opt/${_pkgname}/"
install -dm755 "${pkgdir}/usr/bin"
cat > "${pkgdir}/usr/bin/sparrow" << EOF
#!/bin/bash
exec /opt/${_pkgname}/bin/Sparrow "\$@"
EOF
chmod +x "${pkgdir}/usr/bin/sparrow"
install -dm755 "${pkgdir}/usr/share/applications"
sed "s|/opt/sparrowwallet|/opt/${_pkgname}|g" \
"src/main/deploy/package/linux/Sparrow.desktop" > \
"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
install -Dm644 "src/main/deploy/package/linux/sparrowwallet-Sparrow-MimeInfo.xml" \
"${pkgdir}/usr/share/mime/packages/${_pkgname}.xml"
}
|