summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: e977ac175df83857611040dee98a0be529d97c4d (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
# Maintainer: Mark Wagie <mark dot wagie at proton dot me>
pkgname=('universal-android-debloater' 'universal-android-debloater-opengl')
pkgbase=universal-android-debloater
pkgver=0.6.2
pkgrel=1
pkgdesc="Cross-platform GUI written in Rust using ADB to debloat non-rooted Android devices"
arch=('x86_64')
url="https://github.com/Universal-Debloater-Alliance/universal-android-debloater"
license=('GPL3')
depends=('android-tools' 'fontconfig' 'gcc-libs')
makedepends=('cargo' 'clang' 'cmake' 'mold')
source=("$pkgbase-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz"
        'uad_gui.desktop')
options=('!lto')
sha256sums=('42be2a69baf9e7d72f9d08997bac84c011a13e557eaa0f4f5e9778b932d05d64'
            'e55f259fab5e09d6e91412dbfa74859f609615606422b0e3c937cc774eaedbf3')

prepare() {
  cd "$pkgbase-$pkgver"
  export CARGO_HOME="$srcdir/cargo-home"
  export RUSTUP_TOOLCHAIN=stable
  cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
}

build() {
  cd "$pkgbase-$pkgver"
  export CARGO_HOME="$srcdir/cargo-home"
  export RUSTUP_TOOLCHAIN=stable
  export CARGO_TARGET_DIR=target

  # OpenGL
  cargo build --frozen --release --no-default-features --features glow,no-self-update
  mv target/release/uad_gui target/release/uad_gui-opengl

  # Vulkan
  cargo build --frozen --release --no-default-features --features wgpu,no-self-update
}

package_universal-android-debloater() {
  pkgdesc+=" (Vulkan renderer)"

  cd "$pkgbase-$pkgver"
  install -Dm755 target/release/uad_gui -t "$pkgdir/usr/bin/"
  install -Dm644 "$srcdir/uad_gui.desktop" -t "$pkgdir/usr/share/applications/"
}

package_universal-android-debloater-opengl() {
  pkgdesc+=" (OpenGL renderer)"
  provides=("$pkgbase")
  conflicts=("$pkgbase")

  cd "$pkgbase-$pkgver"
  install -Dm755 target/release/uad_gui-opengl "$pkgdir/usr/bin/uad_gui"
  install -Dm644 "$srcdir/uad_gui.desktop" -t "$pkgdir/usr/share/applications/"
}