summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: b6c9cd9aa8ccaa797337a7f450da45321d548e39 (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
pkgname=comfyengine-git
pkgver=0.r3.g1befc2d
pkgrel=1
pkgdesc="Qt-based memory scanner inspired by Cheat Engine, works natively on Linux. Made by Kashi."
arch=('x86_64')
url="https://github.com/kashithecomfy/ComfyEngine"
license=('MIT')
depends=('qt6-base' 'capstone')
makedepends=('git' 'cmake' 'ninja' 'qt6-tools')
provides=('comfyengine')
conflicts=('comfyengine')
source=("git+$url.git")
sha256sums=('SKIP')

pkgver() {
    cd "$srcdir/ComfyEngine"

    # Try tags first
    local ver
    ver=$(git describe --tags --long 2>/dev/null | sed 's/^v//;s/-/.r/;s/-/./')

    # If git describe worked, use it
    if [[ -n "$ver" ]]; then
        echo "$ver"
        return
    fi

    # Fallback for repos with no tags
    echo "0.r$(git rev-list --count HEAD).g$(git rev-parse --short HEAD)"
}

build() {
    cd "$srcdir/ComfyEngine"
    cmake -S . -B build \
        -G Ninja \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr
    cmake --build build
}

package() {
    cd "$srcdir/ComfyEngine"

    # Install built files to pkgdir
    DESTDIR="$pkgdir" cmake --install build

    # Ensure the binary is installed
    install -Dm755 build/src/comfyengine "$pkgdir/usr/bin/comfyengine"

    # Helper binary (only test_watch exists)
    install -Dm755 test_watch "$pkgdir/usr/lib/comfyengine/test_watch"

    # Desktop entry (located OUTSIDE src/)
    install -Dm644 "$srcdir/../comfyengine.desktop" \
        "$pkgdir/usr/share/applications/comfyengine.desktop"

    # Icons (optional)
    if [[ -f "$srcdir/../comfyengine.png" ]]; then
        install -Dm644 "$srcdir/../comfyengine.png" \
            "$pkgdir/usr/share/icons/hicolor/128x128/apps/comfyengine.png"
    fi

    if [[ -f "$srcdir/../comfyengine.svg" ]]; then
        install -Dm644 "$srcdir/../comfyengine.svg" \
            "$pkgdir/usr/share/icons/hicolor/scalable/apps/comfyengine.svg"
    fi
}