summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: f68547f86873624ed3d585c9b2ee37baa7e92279 (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
94
95
96
97
98
99
100
# Maintainer: Federico Maria Morrone <aur at morrone dot dev>

pkgname=hyprland-cmake-git
pkgver=0.37.1.r15.g7283dde8
pkgrel=1
pkgdesc="a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks."
arch=(x86_64 aarch64)
url="https://github.com/hyprwm/Hyprland"
license=(BSD-3-Clause)
depends=(
        cpio     # needed by hyprpm
        cairo    # libcairo.so
        gcc-libs # libgcc_s.so libstdc++.so
        glibc    # libc.so libm.so
        glib2 libgobject-2.0.so
        glslang
        hyprlang libhyprlang.so
        hyprcursor
        libdisplay-info libdisplay-info.so
        libdrm # libdrm.so
        libglvnd libEGL.so libGLESv2.so libOpenGL.so
        libinput # libinput.so
        libliftoff libliftoff.so
        libx11
        libxcb        # libxcb-dri3.so libxcb-present.so libxcb-render.so libxcb-res.so libxcb-shm.so libxcb.so libxcb-xfixes.so libxcb-xinput.so
        libxcomposite # libxcb-composite.so
        libxfixes
        libxkbcommon libxkbcommon.so
        libxrender
        mesa # libgbm.so
        opengl-driver
        pango libpango-1.0.so libpangocairo-1.0.so
        pixman libpixman-1.so
        polkit
        seatd libseat.so
        systemd-libs libsystemd.so
        tomlplusplus libtomlplusplus.so libudev.so
        vulkan-icd-loader
        vulkan-validation-layers
        wayland libwayland-client.so libwayland-server.so
        wayland-protocols
        xcb-proto
        xcb-util
        xcb-util-errors # libxcb-errors.so
        xcb-util-keysyms
        xcb-util-renderutil # libxcb-render-util.so
        xcb-util-wm         # libxcb-ewmh.so  libxcb-icccm.so
        xorg-xinput
        xorg-xwayland)
makedepends=(cmake
        gdb
        meson
        ninja
        vulkan-headers
        xorgproto)
optdepends=('cmake: to build and install plugins using hyprpm'
        'meson: to build and install plugins using hyprpm')

provides=("hyprland=${pkgver%%.r*}")
conflicts=(hyprland)
source=(
        "git+https://github.com/hyprwm/Hyprland.git"
        "git+https://gitlab.freedesktop.org/wlroots/wlroots.git"
        "git+https://github.com/hyprwm/hyprland-protocols"
        "git+https://github.com/canihavesomecoffee/udis86"
        "git+https://github.com/wolfpld/tracy"
)

b2sums=(
        "SKIP"
        "SKIP"
        "SKIP"
        "SKIP"
        "SKIP"
)

prepare() {
        cd Hyprland
        git submodule init
        git config submodule.wlroots.url "$srcdir/wlroots"
        git config submodule.subprojects/hyprland-protocols.url "$srcdir/hyprland-protocols"
        git config submodule.subprojects/udis86.url "$srcdir/udis86"
        git config submodule.subprojects/tracy.url "$srcdir/tracy"
        git -c protocol.file.allow=always submodule update
        sed -i -e '/^release:/{n;s/-D/-DCMAKE_SKIP_RPATH=ON -D/}' Makefile
}

build() {
        make -C Hyprland PREFIX=/usr release
}

pkgver() {
        git -C Hyprland describe --long --tags --abbrev=8 --exclude='*[a-zA-Z][a-zA-Z]*' |
                sed -E 's/^[^0-9]*//;s/([^-]*-g)/r\1/;s/-/./g'
}

package() {
        cd Hyprland
        make PREFIX=$pkgdir/usr install
}