blob: 587c7502b1fc672762f5ff9cdeec568053887e8b (
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
|
# Maintainer: luytan <luytan@khora.me>
pkgbase=cardwire
pkgname=cardwire
pkgver=0.12.1
pkgrel=1
pkgdesc='GPU manager for Linux using eBPF LSM hooks'
arch=('x86_64')
url='https://github.com/OpenGamingCollective/cardwire'
license=('GPL3')
depends=('hwdata' 'dbus' 'sqlite' 'systemd' 'upower')
makedepends=('rust' 'rust-src' 'cargo-binstall' 'libxcb')
source=("https://github.com/OpenGamingCollective/cardwire/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('eba92c952f002767abead1391d9d2d229e3637a756ac4786759a0012b7e96649')
prepare(){
cd "${pkgbase}-${pkgver}"
cargo fetch --locked
# This is a workaround to get cardwire-ebpf building
# bpf-linker linked to llvm 22 or built with llvm 22 cannot compile the crate
# the official binstall ship a llvm 23 static linked bpf-linker, this is what is used
cargo binstall --locked --no-confirm \
--root "${srcdir}/cardwire-tools"\
--version 0.11.0 bpf-linker
}
build(){
cd "${pkgbase}-${pkgver}"
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
export RUSTC_BOOTSTRAP=1
export CARGO_TARGET_DIR=target
export RUST_TOOLCHAIN=stable
export PATH="${srcdir}/cardwire-tools/bin:$PATH"
cargo build --frozen --release --bins
}
package(){
cd "${pkgbase}-${pkgver}"
install -Dm755 target/release/cardwire "$pkgdir/usr/bin/cardwire"
install -Dm755 target/release/cardwired "$pkgdir/usr/bin/cardwired"
install -Dm755 target/release/cardwire-gui "$pkgdir/usr/bin/cardwire-gui"
install -Dm644 assets/cardwired.service "$pkgdir/usr/lib/systemd/system/cardwired.service"
install -Dm644 assets/org.opengamingcollective.cardwire.conf "$pkgdir/usr/share/dbus-1/system.d/org.opengamingcollective.cardwire.conf"
install -Dm644 assets/cardwire-gui.desktop "$pkgdir/usr/share/applications/cardwire-gui.desktop"
install -Dm644 assets/org.opengamingcollective.cardwire.metainfo.xml "$pkgdir/usr/share/metainfo/org.opengamingcollective.cardwire.metainfo.xml"
for icon in assets/icons/*.svg; do
install -Dm644 "$icon" "$pkgdir/usr/share/icons/hicolor/scalable/apps/$(basename "$icon")"
done
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
|