blob: ea08047c35010ff4bbb8cf145e47ddb7c07967ae (
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: Aleksana QwQ <me@aleksana.moe>
# Maintainer: q234 rty <q23456yuiop at gmail dot com>
# Contributor: ThatOneCalculator <kainoa@t1c.dev>
# Contributor: lilydjwg <lilydjwg@gmail.com>
# Contributor: FabioLolix
_pkgname="hyprland"
pkgname="${_pkgname}-hidpi-xprop-git"
pkgver=0.39.1.r63.34413d1f
pkgrel=1
pkgdesc="A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks."
arch=("i686" "x86_64" "arm" "armv6h" "armv7h" "aarch64")
url="https://github.com/hyprwm/Hyprland"
license=('BSD-3-Clause')
depends=(
libxcb
xcb-proto
xcb-util
xcb-util-keysyms
libxfixes
libx11
libxcomposite
xorg-xinput
libxrender
pixman
wayland-protocols
cairo
pango
polkit
glslang
libdisplay-info
libliftoff
libinput
libxcb
libxkbcommon
opengl-driver
pixman
wayland
xcb-util-errors
xcb-util-renderutil
xcb-util-wm
xcb-util-image
seatd
xorg-xwayland-hidpi-xprop
tomlplusplus
hyprlang
hyprcursor
)
makedepends=(
git
cmake
ninja
gcc
meson
wayland-protocols
xorgproto
hyprwayland-scanner
)
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"
"0001-Revert-compositor-send-WL_SURFACE_ERROR_INVALID_SIZE.patch"
"0001-xwayland-support-HiDPI-scale.patch"
"0002-Fix-configure_notify-event.patch"
"0003-Fix-size-hints-under-Xwayland-scaling.patch")
conflicts=("${_pkgname}")
provides=("${_pkgname}=${pkgver}")
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'7758eb3ca20b657e53b01c239c5234898342322f41af1cd9e9a8841fca2d5e2b'
'b717f2f61aeb3bf670fe60424a8cd638d51e73dc66bd84277fada289bf2330d8'
'acced048ce6359f4f9f894ee648e4c47fd5093db3fce285b60f73b9f80bb7ac9'
'4e6b32ea58ecfd6a2cce7e5ddf09160136714de8b58e41a9919b30e06e998178')
options=(debug)
pkgver() {
git -C "${_pkgname}" describe --long --tags | sed 's/^v//;s/\([^-]*-\)g/r\1/;s/-/./g'
}
prepare() {
cd "${srcdir}/${_pkgname}"
rm -rf subprojects/wlroots-hyprland subprojects/hyprland-protocols
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 -c protocol.file.allow=always submodule update subprojects/wlroots-hyprland
git -c protocol.file.allow=always submodule update subprojects/hyprland-protocols
git -c protocol.file.allow=always submodule update subprojects/udis86
cd subprojects/wlroots-hyprland
patch -Np1 -i "${srcdir}"/0001-Revert-compositor-send-WL_SURFACE_ERROR_INVALID_SIZE.patch
patch -Np1 -i "${srcdir}"/0001-xwayland-support-HiDPI-scale.patch
patch -Np1 -i "${srcdir}"/0002-Fix-configure_notify-event.patch
patch -Np1 -i "${srcdir}"/0003-Fix-size-hints-under-Xwayland-scaling.patch
}
build() {
cd "${srcdir}/${_pkgname}"
mkdir -p build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=None -DCMAKE_SKIP_RPATH=ON -DCMAKE_INSTALL_PREFIX=/usr ..
ninja
}
package() {
cd "${srcdir}/${_pkgname}"
meson install -C subprojects/wlroots-hyprland/build --destdir "${pkgdir}/tmpwlr"
install -Dm755 build/Hyprland -t "${pkgdir}/usr/bin"
pushd "${pkgdir}/usr/bin" && ln -sf Hyprland hyprland && popd
install -Dm755 build/hyprctl/hyprctl -t "${pkgdir}/usr/bin"
install -Dm755 build/hyprpm/hyprpm -t "${pkgdir}/usr/bin"
install -Dm644 assets/*.png -t "${pkgdir}/usr/share/hyprland"
install -Dm644 example/hyprland.desktop -t "${pkgdir}/usr/share/wayland-sessions"
install -Dm644 example/hyprland.conf -t "${pkgdir}/usr/share/hyprland"
install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
install -Dm644 subprojects/wlroots-hyprland/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-wlroots-hyprland"
install -Dm644 subprojects/udis86/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-udis86"
install -Dm644 docs/*.1 -t "${pkgdir}/usr/share/man/man1"
for cmd in hyprctl hyprpm; do
install -Dm644 "${cmd}/${cmd}.bash" "${pkgdir}/usr/share/bash-completion/completions/$cmd"
install -Dm644 "${cmd}/${cmd}.zsh" "${pkgdir}/usr/share/zsh/site-functions/_$cmd"
install -Dm644 "$cmd/$cmd.fish" -t "${pkgdir}/usr/share/fish/vendor_completions.d/"
done
install -d "${pkgdir}/usr/include/hyprland/protocols"
install -d "${pkgdir}/usr/include/hyprland/wlroots-hyprland"
cp -R src ${pkgdir}/usr/include/hyprland/
cp -R ${pkgdir}/tmpwlr/usr/local/include/* ${pkgdir}/usr/include/hyprland/wlroots-hyprland/
find ${pkgdir}/usr/include/hyprland/ -type f ! -name '*.h*' -delete
rm -rf ${pkgdir}/tmpwlr
cp protocols/*.h* ${pkgdir}/usr/include/hyprland/protocols
install -Dm644 build/hyprland.pc -t "${pkgdir}/usr/share/pkgconfig"
}
|