blob: ca09eafef9d3554ea716a3acacd4958f64c9de59 (
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
|
# Maintainer: Mark Wagie <mark dot wagie at proton dot me>
pkgname=rustconn
_app_id=io.github.totoshko88.RustConn
pkgver=0.10.18
pkgrel=1
pkgdesc="Modern connection manager for Linux with GTK4/Wayland-native interface."
arch=('x86_64')
url="https://github.com/totoshko88/RustConn"
license=('GPL-3.0-or-later')
depends=(
'alsa-lib'
'dbus'
'gtk4'
'libadwaita'
'openssh'
'openssl'
'vte4'
'which'
'zstd'
)
makedepends=('cargo')
optdepends=(
'1password-cli: Password storage method option'
'aws-cli: AWS CLI'
'aws-session-manager-plugin: AWS SSM Plugin'
'azure-cli: Azure CLI'
'bitwarden-cli: Password storage method option'
'boundary: Boundary CLI'
'cloudflared: Cloudflare CLI'
'freerdp: External RDP client fallback'
'google-cloud-cli: Google Cloud CLI'
'gtk-vnc: VNC Client option'
'inetutils: Telnet client'
'keepassxc: Password storage method option'
'krdc: VNC client option'
'kubectl: Shell access to Kubernetes pods'
'libappindicator: Display icon in system tray'
'libsecret: Password storage method fallback'
'mc: SFTP via Midnight Commander FISH VFS'
'oci-cli: OCI CLI'
'pass: Password storage method option'
'passbolt-cli: Password storage method option'
'picocom: Serial terminal client'
'realvnc-vnc-viewer: VNC client option'
'remmina: VNC client option'
'tailscale: Tailscale CLI'
'teleport: Teleport CLI'
'tigervnc: External VNC client fallback'
'virt-viewer: External SPICE client fallback'
'waypipe: Wayland application forwarding for SSH connections'
)
source=("RustConn-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('ace5a91ef6878f82bdc16705746a90f0125ab267bb62872009ac4b19c7ce1b90')
prepare() {
cd "RustConn-$pkgver"
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target host-tuple
}
build() {
cd "RustConn-$pkgver"
CFLAGS+=" -ffat-lto-objects"
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
cargo build --frozen --release \
-p "$pkgname" --features adw-1-8 \
-p "$pkgname"-cli
}
check() {
cd "RustConn-$pkgver"
export RUSTUP_TOOLCHAIN=stable
cargo test --frozen
appstreamcli validate --no-net "$pkgname/assets/${_app_id}.metainfo.xml"
desktop-file-validate "$pkgname/assets/${_app_id}.desktop"
}
package() {
cd "RustConn-$pkgver"
install -Dm755 target/release/{"$pkgname","$pkgname-cli"} -t "$pkgdir/usr/bin/"
install -Dm644 "$pkgname/assets/${_app_id}.desktop" -t \
"$pkgdir/usr/share/applications/"
install -Dm644 "$pkgname/assets/${_app_id}.metainfo.xml" -t \
"$pkgdir/usr/share/metainfo/"
install -Dm644 "$pkgname/assets/icons/hicolor/scalable/apps/${_app_id}.svg" -t \
"$pkgdir/usr/share/icons/hicolor/scalable/apps/"
for i in 128 256; do
install -Dm644 "$pkgname/assets/icons/hicolor/${i}x${i}/apps/${_app_id}.png" -t \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/"
done
for po_file in po/*.po; do
[ -f "${po_file}" ] || continue
lang=$(basename "${po_file}" .po)
install -d "$pkgdir/usr/share/locale/${lang}/LC_MESSAGES"
msgfmt -o "$pkgdir/usr/share/locale/${lang}/LC_MESSAGES/$pkgname.mo" "${po_file}"
done
}
|