blob: c2f33f5ae86558e8fcfd41f2e9ccd6c853200f7a (
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
135
136
|
# Maintainer: FabioLolix
# Maintainer: éclairevoyant
# Contributor: ThatOneCalculator <kainoa at t1c dot dev>
pkgname=hyprland-git
pkgver=0.31.0.r7.a0b675ec
pkgrel=1
pkgdesc="A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks."
arch=(x86_64 aarch64)
url="https://github.com/hyprwm/Hyprland"
license=(BSD)
depends=(
cairo
gcc-libs
glib2
glibc
glslang
libdisplay-info
libdrm
libglvnd
libinput
libliftoff
libx11
libxcb
libxcomposite
libxfixes
libxkbcommon
libxrender
opengl-driver
pango
pixman
polkit
seatd
systemd-libs
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
pkgconf
vulkan-headers
xorgproto
)
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"
"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
}
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
if [[ -z "$(git config --get user.name)" ]]; then
git config user.name local && git config user.email '<>' && git config commit.gpgsign false
fi
# Pick pull requests from github using `pick_mr <pull request number>`.
git -C subprojects/wlroots reset --hard
patch -d subprojects/wlroots -Np1 < subprojects/packagefiles/wlroots-meson-build.patch
}
pkgver() {
git -C Hyprland describe --long --tags | sed 's/^v//;s/\([^-]*-\)g/r\1/;s/-/./g'
}
build() {
cd Hyprland
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
ln -sf wlroots build/subprojects/wlroots/include/wlr
meson compile -C build
}
package() {
cd Hyprland
meson install -C build \
--destdir "$pkgdir" \
--skip-subprojects hyprland-protocols
rm -rf "$pkgdir/usr/include/hyprland/wlroots/wlr"
ln -sf . "$pkgdir/usr/include/hyprland/wlroots/wlr"
# resolve conflicts with system wlr
rm -f "$pkgdir/usr/lib/libwlroots.so"
rm -rf "$pkgdir/usr/lib/pkgconfig"
# 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
}
# vi: et ts=2 sw=2
|