summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 09abf573e4e7367cc35acda21da31b4dbf268590 (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Maintainer: dasnacl <aur@dasnacl.de>
# Modified based on hyprland-nvidia-nosystemd-git

pkgname=hyprland-nosystemd-git
pkgver=0.40.0.r144.a60c7283
pkgrel=1
pkgdesc="A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks. (w/o systemd)"
arch=(x86_64 aarch64)
url="https://github.com/hyprwm/Hyprland"
license=('BSD')
depends=(
    cairo
    cpio
    gcc-libs
    glib2
    glibc
    glslang
    hyprlang
    hyprcursor
    libdisplay-info
    libdrm
    libglvnd
    libinput
    libliftoff
    libx11
    libxcb
    libxcomposite
    libxfixes
    libxkbcommon
    libxrender
    opengl-driver
    pango
    pixman
    polkit
    seatd
    tomlplusplus
    vulkan-icd-loader
    vulkan-validation-layers
    wayland
    wayland-protocols
    xcb-proto
    xcb-util
    xcb-util-errors
    xcb-util-keysyms
    xcb-util-renderutil
    xcb-util-wm
    xorg-xinput
    xorg-xwayland
)
depends+=(libdisplay-info.so)
makedepends=(
    cmake
    gdb
    git
    jq
    meson
    ninja
    vulkan-headers
    pkgconf
    xorgproto
    hyprwayland-scanner-git
)
provides=("hyprland=${pkgver%%.r*}")
conflicts=(hyprland)
source=("$pkgname::git+https://github.com/hyprwm/Hyprland.git"
  "git+https://github.com/hyprwm/wlroots-hyprland.git"
  "git+https://github.com/hyprwm/hyprland-protocols.git"
  "git+https://github.com/canihavesomecoffee/udis86.git"
  "git+https://github.com/wolfpld/tracy.git"
)
b2sums=(
  'SKIP'
  'SKIP'
  'SKIP'
  'SKIP'
  'SKIP'
)

pick_mr() {
    git pull origin pull/$1/head --no-edit
}

pkgver() {
    git -C Hyprland describe --long --tags | sed 's/^v//;s/\([^-]*-\)g/r\1/;s/-/./g'
}

prepare() {
    cd hyprland-nosystemd-git
    git submodule init
    git config submodule.subprojects/wlroots-hyprland.url "$srcdir/wlroots-hyprland"
    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

    git -C subprojects/wlroots-hyprland reset --hard
}
}

build() {
    cd hyprland-nosystemd-git

    #CC=clang CXX="clang++" CC_LD=lld CXX_LD=lld meson setup build \
    meson setup build \
      --prefix     /usr \
      --libexecdir lib \
      --sbindir    bin \
      --buildtype  release \
      --wrap-mode  nodownload \
      -D           b_lto=true \
      -D           b_pie=true \
      -D           default_library=shared \
      -D           xwayland=enabled \
      -D           systemd=disabled

    meson compile -C build
}

package() {
    cd hyprland-nosystemd-git

    meson install -C build \
      --destdir "$pkgdir" \
      --skip-subprojects hyprland-protocols

    mkdir -p "$pkgdir/usr/include/hyprland/wlroots"
    mv "$pkgdir/usr/include/wlr" "$pkgdir/usr/include/hyprland/wlroots"

    # FIXME: remove after xdg-desktop-portal-hyprland disowns hyprland-portals.conf
    rm -rf "$pkgdir/usr/share/xdg-desktop-portal"

    # license
    install -Dm0644 -t "$pkgdir/usr/share/licenses/${pkgname}" LICENSE
}