summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: af192c5abf022f1790dc71e5cdd7d20d7f419ec8 (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
# Maintainer: Zaman Huseynli <zamanhuseynli23@gmail.com>
# Backup contact: admin@azccriminal.space
pkgname=hyprdm-full-git
pkgver=1.0
pkgrel=1
pkgdesc="Hyprland Display Manager HyprDM full version"
arch=('x86_64')
conflicts=('hyprdm-rob')
url="https://codeberg.org/Zamanhuseyinli/hyprdm"
license=('BSD3')
depends=(
    'hyprland'
    'wayland'
    'pam'
    'gtk3'
    'qt5-base'
    'qt5-declarative'
    'qt5-wayland'
    'qt5-graphicaleffects'
    'libxkbcommon'
)

makedepends=(
    'git'
    'rust'
    'cargo'
    'pkgconf'
    'cmake'
    'make'
    'vulkan-headers'
)
provides=('hyprdm')
conflicts=('hyprdm')

source=("git+https://codeberg.org/Zamanhuseyinli/hyprdm.git")
sha256sums=('SKIP')

pkgver() {
    cd "$srcdir/hyprdm"
    git describe --tags --abbrev=0 | sed 's/^v//; s/-/./g'
}

build() {
    cd "$srcdir/hyprdm/gui-api"

    # 1. C/FFI modu ile HDM_API ve wlrootbackends derleme
    echo ">>> Building FFI libraries (hdm_api + wlrootbackends)..."
    export HDM_API_LIB_TYPE=c
    cargo build --release --workspace --features c_ffi

    # 2. Rust modu ile HDM_API derleme
    echo ">>> Building hdm_api in Rust mode..."
    export HDM_API_LIB_TYPE=rust
    cargo build --release

    # 3. Greeter derleme
    echo ">>> Building Greeter (hyprdmgreeterd)..."
    cd greeterd
    make
}

package() {
    cd "$srcdir/hyprdm/gui-api"

    # Rust modu libhdm_api kopyalama
    if [ -f "target/release/libhdm_api.so" ]; then
        install -Dm755 "target/release/libhdm_api.so" "$pkgdir/usr/lib/libhdm_api.so"
    fi
    if [ -f "target/release/libhdm_api.a" ]; then
        install -Dm644 "target/release/libhdm_api.a" "$pkgdir/usr/lib/libhdm_api.a"
    fi

    # FFI kütüphanesi -> libhyprdmbackend.so.1
    if [ -f "target/release/libhyprdmbackend.so" ]; then
        install -Dm755 "target/release/libhyprdmbackend.so" "$pkgdir/usr/lib/libhyprdmbackend.so.1"
    fi

    # Greeter -> hyprdmgreeterd
    if [ -f "greeterd/hyprdmgreeterd" ]; then
        install -Dm755 "greeterd/hyprdmgreeterd" "$pkgdir/usr/bin/hyprdmgreeterd"
    fi

    # Config Manager -> hyprdmconfigmanager
    if [ -f "../configmanager/target/release/hyprdmconfigmanager" ]; then
        install -Dm755 "../configmanager/target/release/hyprdmconfigmanager" "$pkgdir/usr/bin/hyprdmconfigmanager"
    fi

    # Quickshell config
    if [ -d "../quickshell" ]; then
        mkdir -p "$pkgdir$HOME/.config/quickshell"
        cp -r quickshell/* "$pkgdir$HOME/.config/quickshell/"
    fi
}