summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: a180574c8ee80f277ac3e97b580b0b3161d5cca5 (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
# Maintainer: Tim Harding <tim@timharding.co>

pkgname='neophyte'
pkgver='0.2.5'
pkgrel=2
pkgdesc='A WebGPU-rendered Neovim GUI'
arch=('x86_64' 'i686' 'aarch64')
url="https://github.com/tim-harding/$pkgname"
license=('MIT')
depends=('fontconfig' 'freetype2' 'gcc-libs' 'glibc')
makedepends=('cargo')
provides=("$pkgname=$pkgver")
conflicts=("$pkgname-bin" "$pkgname-git")
source=("$pkgname-$pkgver.tar.gz::https://static.crates.io/crates/$pkgname/$pkgname-$pkgver.crate")
sha256sums=('SKIP')

# See for best practices:
# https://wiki.archlinux.org/title/Rust_package_guidelines
#
# Test in a clean chroot with `namcap PKGBUILD && extra-x86_64-build`:
# https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot

prepare() {
    cd "$pkgname-$pkgver"
    export RUSTUP_TOOLCHAIN=stable
    target_platform="$(rustc -vV | sed -n 's/host: //p')"
    cargo fetch \
        --locked \
        --target $target_platform
}

build() {
    cd "$pkgname-$pkgver"
    export RUSTUP_TOOLCHAIN=stable
    export CARGO_TARGET_DIR=target
    export RUSTFLAGS="-C target-cpu=native"
    cargo build --release --frozen
}

package() {
    cd "$pkgname-$pkgver"

    install \
        --mode=0755 \
        -D --target-directory="$pkgdir/usr/bin/" \
        target/release/$pkgname

    install \
        --mode=0644 \
        -D --target-directory="$pkgdir/usr/share/applications/" \
        assets/neophyte.desktop

    install \
        --mode=0644 \
        -D --target-directory="$pkgdir/usr/share/licenses/$pkgname/" \
        LICENSE

    install \
        --mode=0644 \
        -D --target-directory="$pkgdir/usr/share/doc/$pkgname/" \
        README.md
}

# vim: ts=4 sts=4 sw=4 et