blob: 3b376a22432d76d6a0f0a5f8d56251b6f5ba2691 (
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
137
138
139
140
|
# Maintainer: Integral <integral@murena.io>
# Contributor: Aleksana QwQ <me@aleksana.moe>
# Contributor: q234 rty <q23456yuiop at gmail dot com>
# Contributor: ThatOneCalculator <kainoa@t1c.dev>
# Contributor: lilydjwg <lilydjwg@gmail.com>
_pkgname="hyprland"
pkgname="${_pkgname}-nvidia-hidpi-git"
pkgver=0.31.0.r8.d70cc88d
pkgrel=1
pkgdesc="A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks. (NVIDIA + HiDPI patch)"
arch=("i686" "x86_64" "arm" "armv6h" "armv7h" "aarch64" "riscv64")
url="https://github.com/hyprwm/Hyprland"
license=('BSD')
depends=(
libxcb
xcb-proto
xcb-util
xcb-util-keysyms
libxfixes
libx11
libxcomposite
xorg-xinput
libxrender
pixman
wayland-protocols
cairo
pango
polkit
glslang
libdisplay-info
libinput
libxcb
libxkbcommon
opengl-driver
pixman
wayland
xcb-util-errors
xcb-util-renderutil
xcb-util-wm
seatd
vulkan-icd-loader
xorg-xwayland-hidpi-xprop
libdisplay-info.so)
makedepends=(
git
cmake
ninja
gcc
meson
vulkan-headers
wayland-protocols
xorgproto
jq)
source=("${_pkgname}::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"
"0001-xwayland-support-HiDPI-scale.patch"
"0002-Fix-configure_notify-event.patch"
"0003-Fix-size-hints-under-Xwayland-scaling.patch"
"nvidia.patch")
conflicts=("${_pkgname}")
provides=("${_pkgname}")
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'2fd861a76fb7a6b0bba12e7d307ad655e40ec93a84c88dfc00571aac6e119e85'
'1314d0ee63a4249698791d86cce5e6cdb4f005b81bbb1c6a747578d2a9223795'
'c08dd62a1786eeb7506f1839bfcbba791502360392c929e620244f70c8ca5b61'
'c200d341641ee20a13b1893e27a9d823e9ef5ac2378e3cdecd0efc55a713db1c')
pkgver() {
git -C "${_pkgname}" describe --long --tags | sed 's/^v//;s/\([^-]*-\)g/r\1/;s/-/./g'
}
prepare() {
cd "${_pkgname}/"
rm -rf subprojects/{wlroots,hyprland-protocols}
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 -c protocol.file.allow=always submodule update subprojects/wlroots
git -c protocol.file.allow=always submodule update subprojects/hyprland-protocols
git -c protocol.file.allow=always submodule update subprojects/udis86
cd subprojects/wlroots/
git revert -n 18595000f3a21502fd60bf213122859cc348f9af
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"
patch --forward --strip=0 --input="${srcdir}/nvidia.patch"
patch -p1 <../packagefiles/wlroots-meson-build.patch
rm -rf build/
}
build() {
cd "${_pkgname}/"
meson setup build \
--prefix /usr \
--libexecdir lib \
--sbindir bin \
--buildtype plain \
--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 "${_pkgname}/"
meson install -C build --destdir "${pkgdir}"
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 -f "${pkgdir}/usr/lib/pkgconfig/wlroots.pc"
# resolve conflicts with xdg-desktop-portal-hyprland from repo
rm -rf "${pkgdir}/usr/share/xdg-desktop-portal/"
rm -rf "${pkgdir}/usr/share/hyprland-protocols/"
rm -rf "${pkgdir}/usr/share/pkgconfig/hyprland-protocols.pc"
# FIXME: meson.build shall install version.h
install -Dm644 src/version.h -t "${pkgdir}/usr/include/hyprland/src/"
# License
install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${_pkgname}/"
}
|