summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorlilac2023-08-21 20:19:11 +0800
committerlilac2023-08-21 20:19:11 +0800
commit8625cd5f63d5eac4f237f35d77e9f3270d0648f5 (patch)
tree7d05610390553062489a49a5d58beb02c298053e
parentf3984798c81abdda54429e3d8ebf910eb374f6b3 (diff)
downloadaur-8625cd5f63d5eac4f237f35d77e9f3270d0648f5.tar.gz
[lilac] updated to 0.28.0.r75.63b2189c-1
-rw-r--r--.SRCINFO28
-rw-r--r--0001-xwayland-support-HiDPI-scale.patch (renamed from xwayland-support-HiDPI-scale.patch)37
-rw-r--r--0002-Fix-configure_notify-event.patch (renamed from fix-configure_notify-event.patch)10
-rw-r--r--0003-Fix-size-hints-under-Xwayland-scaling.patch54
-rw-r--r--PKGBUILD71
5 files changed, 128 insertions, 72 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f0965287ee39..53a275d35ad8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,13 @@
pkgbase = hyprland-nvidia-hidpi-git
pkgdesc = A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks. (NVIDIA + HiDPI patch)
- pkgver = r3198.3f7f4207
+ pkgver = 0.28.0.r75.63b2189c
pkgrel = 1
url = https://github.com/hyprwm/Hyprland
+ arch = i686
arch = x86_64
+ arch = arm
+ arch = armv6h
+ arch = armv7h
arch = aarch64
arch = riscv64
license = BSD
@@ -11,12 +15,10 @@ pkgbase = hyprland-nvidia-hidpi-git
makedepends = cmake
makedepends = ninja
makedepends = gcc
- makedepends = gdb
makedepends = meson
makedepends = vulkan-headers
makedepends = wayland-protocols
makedepends = xorgproto
- depends = libdisplay-info.so
depends = libxcb
depends = xcb-proto
depends = xcb-util
@@ -32,6 +34,7 @@ pkgbase = hyprland-nvidia-hidpi-git
depends = pango
depends = polkit
depends = glslang
+ depends = libdisplay-info
depends = libinput
depends = libxcb
depends = libxkbcommon
@@ -43,27 +46,26 @@ pkgbase = hyprland-nvidia-hidpi-git
depends = xcb-util-wm
depends = seatd
depends = vulkan-icd-loader
- depends = vulkan-validation-layers
- depends = xorg-xwayland-lily
- depends = libdisplay-info
+ depends = xorg-xwayland-hidpi-xprop
+ depends = libdisplay-info.so
provides = hyprland
conflicts = hyprland
- options = !makeflags
- options = !buildflags
- options = !strip
+ options = debug
source = hyprland::git+https://github.com/hyprwm/Hyprland.git
source = git+https://gitlab.freedesktop.org/wlroots/wlroots.git
source = git+https://github.com/hyprwm/hyprland-protocols.git
source = git+https://github.com/canihavesomecoffee/udis86.git
- source = xwayland-support-HiDPI-scale.patch
- source = fix-configure_notify-event.patch
+ source = 0001-xwayland-support-HiDPI-scale.patch
+ source = 0002-Fix-configure_notify-event.patch
+ source = 0003-Fix-size-hints-under-Xwayland-scaling.patch
source = nvidia.patch
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
- sha256sums = 497afb5e99cb069ed96a3c4a735ad23afe0d012ca845067aae3176e45e267ba5
- sha256sums = e7cf16e39db2bde4dbc9d7ec3b4753f7643b1bf198a3179e6802a9c603437fe9
+ sha256sums = 2fd861a76fb7a6b0bba12e7d307ad655e40ec93a84c88dfc00571aac6e119e85
+ sha256sums = 1314d0ee63a4249698791d86cce5e6cdb4f005b81bbb1c6a747578d2a9223795
+ sha256sums = c08dd62a1786eeb7506f1839bfcbba791502360392c929e620244f70c8ca5b61
sha256sums = c200d341641ee20a13b1893e27a9d823e9ef5ac2378e3cdecd0efc55a713db1c
pkgname = hyprland-nvidia-hidpi-git
diff --git a/xwayland-support-HiDPI-scale.patch b/0001-xwayland-support-HiDPI-scale.patch
index fcedac0abff7..43d76b413793 100644
--- a/xwayland-support-HiDPI-scale.patch
+++ b/0001-xwayland-support-HiDPI-scale.patch
@@ -1,16 +1,16 @@
-From fb2082439381722af1c2427d63eb2c505dbb5d00 Mon Sep 17 00:00:00 2001
+From 179258208d98fe3755b414749e9776e96d3b1dad Mon Sep 17 00:00:00 2001
From: lilydjwg <lilydjwg@gmail.com>
Date: Wed, 17 Nov 2021 19:34:58 +0800
-Subject: [PATCH] xwayland: support HiDPI scale
+Subject: [PATCH 1/3] xwayland: support HiDPI scale
This supports the xorg-xwayland patch at https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/733
---
include/xwayland/xwm.h | 2 ++
- xwayland/xwm.c | 53 +++++++++++++++++++++++++++++++-----------
- 2 files changed, 41 insertions(+), 14 deletions(-)
+ xwayland/xwm.c | 51 +++++++++++++++++++++++++++++++-----------
+ 2 files changed, 40 insertions(+), 13 deletions(-)
diff --git a/include/xwayland/xwm.h b/include/xwayland/xwm.h
-index 3d5405221..33ff1478b 100644
+index 3d540522..33ff1478 100644
--- a/include/xwayland/xwm.h
+++ b/include/xwayland/xwm.h
@@ -88,6 +88,7 @@ enum atom_name {
@@ -30,7 +30,7 @@ index 3d5405221..33ff1478b 100644
xcb_atom_t atoms[ATOM_LAST];
xcb_connection_t *xcb_conn;
diff --git a/xwayland/xwm.c b/xwayland/xwm.c
-index 5f857f24f..f085ae7ab 100644
+index 0c30d8f6..59e9ce06 100644
--- a/xwayland/xwm.c
+++ b/xwayland/xwm.c
@@ -19,6 +19,14 @@
@@ -56,7 +56,7 @@ index 5f857f24f..f085ae7ab 100644
};
#define STARTUP_INFO_REMOVE_PREFIX "remove: ID="
-@@ -965,8 +974,8 @@ static void xwm_handle_create_notify(struct wlr_xwm *xwm,
+@@ -962,8 +971,8 @@ static void xwm_handle_create_notify(struct wlr_xwm *xwm,
return;
}
@@ -67,7 +67,7 @@ index 5f857f24f..f085ae7ab 100644
}
static void xwm_handle_destroy_notify(struct wlr_xwm *xwm,
-@@ -997,10 +1006,10 @@ static void xwm_handle_configure_request(struct wlr_xwm *xwm,
+@@ -994,10 +1003,10 @@ static void xwm_handle_configure_request(struct wlr_xwm *xwm,
struct wlr_xwayland_surface_configure_event wlr_event = {
.surface = surface,
@@ -82,7 +82,7 @@ index 5f857f24f..f085ae7ab 100644
.mask = mask,
};
-@@ -1015,14 +1024,14 @@ static void xwm_handle_configure_notify(struct wlr_xwm *xwm,
+@@ -1012,14 +1021,14 @@ static void xwm_handle_configure_notify(struct wlr_xwm *xwm,
}
bool geometry_changed =
@@ -103,7 +103,7 @@ index 5f857f24f..f085ae7ab 100644
}
if (xsurface->override_redirect != ev->override_redirect) {
-@@ -1132,7 +1141,22 @@ static void xwm_handle_unmap_notify(struct wlr_xwm *xwm,
+@@ -1136,7 +1145,22 @@ static void xwm_handle_unmap_notify(struct wlr_xwm *xwm,
static void xwm_handle_property_notify(struct wlr_xwm *xwm,
xcb_property_notify_event_t *ev) {
struct wlr_xwayland_surface *xsurface = lookup_surface(xwm, ev->window);
@@ -126,18 +126,7 @@ index 5f857f24f..f085ae7ab 100644
return;
}
-@@ -1759,17 +1783,17 @@ void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *xsurface,
- int16_t x, int16_t y, uint16_t width, uint16_t height) {
- int old_w = xsurface->width;
- int old_h = xsurface->height;
-+ struct wlr_xwm *xwm = xsurface->xwm;
-
- xsurface->x = x;
- xsurface->y = y;
- xsurface->width = width;
- xsurface->height = height;
-
-- struct wlr_xwm *xwm = xsurface->xwm;
+@@ -1770,7 +1794,7 @@ void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *xsurface,
uint32_t mask = XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y |
XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT |
XCB_CONFIG_WINDOW_BORDER_WIDTH;
@@ -146,7 +135,7 @@ index 5f857f24f..f085ae7ab 100644
xcb_configure_window(xwm->xcb_conn, xsurface->window_id, mask, values);
// If the window size did not change, then we cannot rely on
-@@ -2122,6 +2146,7 @@ struct wlr_xwm *xwm_create(struct wlr_xwayland *xwayland, int wm_fd) {
+@@ -2123,6 +2147,7 @@ struct wlr_xwm *xwm_create(struct wlr_xwayland *xwayland, int wm_fd) {
wl_list_init(&xwm->pending_startup_ids);
xwm->ping_timeout = 10000;
@@ -155,5 +144,5 @@ index 5f857f24f..f085ae7ab 100644
int rc = xcb_connection_has_error(xwm->xcb_conn);
--
-GitLab
+2.41.0
diff --git a/fix-configure_notify-event.patch b/0002-Fix-configure_notify-event.patch
index c80f4795d8ea..6fdf60ff1704 100644
--- a/fix-configure_notify-event.patch
+++ b/0002-Fix-configure_notify-event.patch
@@ -1,17 +1,17 @@
-From 950808724d20d8daa1e26d7a0ae322eda14cd1cc Mon Sep 17 00:00:00 2001
+From c9315b2f8c84d5f1b0b14f863af6f73bc3ac95c5 Mon Sep 17 00:00:00 2001
From: q234rty <q23456yuiop@gmail.com>
Date: Tue, 21 Feb 2023 23:56:26 +0800
-Subject: [PATCH 2/2] Fix configure_notify event
+Subject: [PATCH 2/3] Fix configure_notify event
---
xwayland/xwm.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/xwayland/xwm.c b/xwayland/xwm.c
-index 8449977e..2cce8a26 100644
+index 59e9ce06..295f4d49 100644
--- a/xwayland/xwm.c
+++ b/xwayland/xwm.c
-@@ -1809,10 +1809,10 @@ void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *xsurface,
+@@ -1807,10 +1807,10 @@ void wlr_xwayland_surface_configure(struct wlr_xwayland_surface *xsurface,
.response_type = XCB_CONFIGURE_NOTIFY,
.event = xsurface->window_id,
.window = xsurface->window_id,
@@ -27,5 +27,5 @@ index 8449977e..2cce8a26 100644
xcb_send_event(xwm->xcb_conn, 0, xsurface->window_id,
--
-2.39.2
+2.41.0
diff --git a/0003-Fix-size-hints-under-Xwayland-scaling.patch b/0003-Fix-size-hints-under-Xwayland-scaling.patch
new file mode 100644
index 000000000000..a63a619f1a6e
--- /dev/null
+++ b/0003-Fix-size-hints-under-Xwayland-scaling.patch
@@ -0,0 +1,54 @@
+From 7220722f9173a90479d81f4b359cf91956f59f28 Mon Sep 17 00:00:00 2001
+From: Patrick Taibel <git@pmt97.com>
+Date: Sat, 12 Aug 2023 16:05:28 +0800
+Subject: [PATCH 3/3] Fix size hints under Xwayland scaling
+
+---
+ xwayland/xwm.c | 23 ++++++++++++++++++++---
+ 1 file changed, 20 insertions(+), 3 deletions(-)
+
+diff --git a/xwayland/xwm.c b/xwayland/xwm.c
+index 295f4d49..674a32e1 100644
+--- a/xwayland/xwm.c
++++ b/xwayland/xwm.c
+@@ -729,17 +729,34 @@ static void read_surface_normal_hints(struct wlr_xwm *xwm,
+ xsurface->size_hints->base_width = -1;
+ xsurface->size_hints->base_height = -1;
+ } else if (!has_base_size_hints) {
+- xsurface->size_hints->base_width = xsurface->size_hints->min_width;
+- xsurface->size_hints->base_height = xsurface->size_hints->min_height;
+- } else if (!has_min_size_hints) {
++ xsurface->size_hints->base_width = unscale(xwm, xsurface->size_hints->min_width);
++ xsurface->size_hints->base_height = unscale(xwm, xsurface->size_hints->min_height);
+ xsurface->size_hints->min_width = xsurface->size_hints->base_width;
+ xsurface->size_hints->min_height = xsurface->size_hints->base_height;
++ } else if (!has_min_size_hints) {
++ xsurface->size_hints->min_width = unscale(xwm, xsurface->size_hints->base_width);
++ xsurface->size_hints->min_height = unscale(xwm, xsurface->size_hints->base_height);
++ xsurface->size_hints->base_width = xsurface->size_hints->min_width;
++ xsurface->size_hints->base_height = xsurface->size_hints->min_height;
++ } else {
++ xsurface->size_hints->min_width = unscale(xwm, xsurface->size_hints->min_width);
++ xsurface->size_hints->min_height = unscale(xwm, xsurface->size_hints->min_height);
++ xsurface->size_hints->base_width = unscale(xwm, xsurface->size_hints->base_width);
++ xsurface->size_hints->base_height = unscale(xwm, xsurface->size_hints->base_height);
+ }
+
+ if ((flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE) == 0) {
+ xsurface->size_hints->max_width = -1;
+ xsurface->size_hints->max_height = -1;
++ } else {
++ xsurface->size_hints->max_width = unscale(xwm, xsurface->size_hints->max_width);
++ xsurface->size_hints->max_height = unscale(xwm, xsurface->size_hints->max_height);
+ }
++
++ xsurface->size_hints->x = unscale(xwm, xsurface->size_hints->x);
++ xsurface->size_hints->y = unscale(xwm, xsurface->size_hints->y);
++ xsurface->size_hints->width = unscale(xwm, xsurface->size_hints->width);
++ xsurface->size_hints->height = unscale(xwm, xsurface->size_hints->height);
+ }
+
+ #define MWM_HINTS_FLAGS_FIELD 0
+--
+2.41.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 8dc10488fefb..2870dae034ad 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,14 +1,18 @@
# 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="hyprland"
pkgname="${_pkgname}-nvidia-hidpi-git"
-pkgver=r3198.3f7f4207
+pkgver=0.28.0.r75.63b2189c
pkgrel=1
pkgdesc="A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks. (NVIDIA + HiDPI patch)"
-arch=('x86_64' 'aarch64' 'riscv64')
+arch=("i686" "x86_64" "arm" "armv6h" "armv7h" "aarch64" "riscv64")
url="https://github.com/hyprwm/Hyprland"
license=('BSD')
-depends=("libdisplay-info.so"
+depends=(
libxcb
xcb-proto
xcb-util
@@ -24,6 +28,7 @@ depends=("libdisplay-info.so"
pango
polkit
glslang
+ libdisplay-info
libinput
libxcb
libxkbcommon
@@ -35,15 +40,13 @@ depends=("libdisplay-info.so"
xcb-util-wm
seatd
vulkan-icd-loader
- vulkan-validation-layers
- xorg-xwayland-lily
- libdisplay-info)
+ xorg-xwayland-hidpi-xprop
+ libdisplay-info.so)
makedepends=(
git
cmake
ninja
gcc
- gdb
meson
vulkan-headers
wayland-protocols
@@ -52,8 +55,9 @@ 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"
- "xwayland-support-HiDPI-scale.patch"
- "fix-configure_notify-event.patch"
+ "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=(hyprland)
@@ -61,18 +65,14 @@ sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
- '497afb5e99cb069ed96a3c4a735ad23afe0d012ca845067aae3176e45e267ba5'
- 'e7cf16e39db2bde4dbc9d7ec3b4753f7643b1bf198a3179e6802a9c603437fe9'
+ '2fd861a76fb7a6b0bba12e7d307ad655e40ec93a84c88dfc00571aac6e119e85'
+ '1314d0ee63a4249698791d86cce5e6cdb4f005b81bbb1c6a747578d2a9223795'
+ 'c08dd62a1786eeb7506f1839bfcbba791502360392c929e620244f70c8ca5b61'
'c200d341641ee20a13b1893e27a9d823e9ef5ac2378e3cdecd0efc55a713db1c')
-options=(!makeflags !buildflags !strip)
+options=(debug)
pkgver() {
- cd "$_pkgname"
- (
- set -o pipefail
- git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
- printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
- )
+ git -C "${_pkgname}" describe --long --tags | sed 's/^v//;s/\([^-]*-\)g/r\1/;s/-/./g'
}
prepare() {
@@ -87,31 +87,42 @@ prepare() {
git -c protocol.file.allow=always submodule update subprojects/udis86
cd subprojects/wlroots
git revert -n 18595000f3a21502fd60bf213122859cc348f9af
- patch --forward --strip=1 --input="${srcdir}"/xwayland-support-HiDPI-scale.patch
- patch --forward --strip=1 --input="${srcdir}"/fix-configure_notify-event.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
patch --forward --strip=0 --input="${srcdir}"/nvidia.patch
+ cd "${srcdir}/${_pkgname}"
+ make fixwlr
}
build() {
-export CFLAGS+=-w
cd "${srcdir}/${_pkgname}"
- make fixwlr
- cd "./subprojects/wlroots/" && meson build/ --prefix="${srcdir}/tmpwlr" --buildtype=release && ninja -C build/ && mkdir -p "${srcdir}/tmpwlr" && ninja -C build/ install && cd ../../
- cd "./subprojects/udis86/" && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -H./ -B./build -G Ninja && cmake --build ./build --config Release --target all -j$(shell nproc) && cd ../../
- make protocols
- make release
+ cd "./subprojects/wlroots/" && meson setup build/ --prefix="${srcdir}/tmpwlr" --buildtype=plain && ninja -C build/ && mkdir -p "${srcdir}/tmpwlr" && ninja -C build/ install && cd ../..
+ cd "./subprojects/udis86/" && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=None -H./ -B./build -G Ninja && cmake --build ./build --target all && cd ../..
+ mkdir -p build && cd build
+ cmake -G Ninja -DCMAKE_BUILD_TYPE=None -DCMAKE_SKIP_RPATH=ON -DCMAKE_INSTALL_PREFIX=/usr ..
+ ninja
+ cd "${srcdir}/${_pkgname}"
cd ./hyprctl && make all && cd ..
}
package() {
cd "${srcdir}/${_pkgname}"
- mkdir -p "${pkgdir}/usr/share/wayland-sessions"
- mkdir -p "${pkgdir}/usr/share/hyprland"
install -Dm755 build/Hyprland -t "${pkgdir}/usr/bin"
install -Dm755 hyprctl/hyprctl -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 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -Dm644 subprojects/wlroots/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-wlroots"
+ install -Dm644 subprojects/udis86/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-udis86"
+ install -Dm644 docs/*.1 -t "${pkgdir}/usr/share/man/man1"
install -Dm755 ../tmpwlr/lib/libwlroots.so.* -t "${pkgdir}/usr/lib"
+ install -d "${pkgdir}/usr/include/hyprland/protocols"
+ install -d "${pkgdir}/usr/include/hyprland/wlroots"
+ cp -R src ${pkgdir}/usr/include/hyprland/
+ cp -R ../tmpwlr/include/* ${pkgdir}/usr/include/hyprland/wlroots/
+ find ${pkgdir}/usr/include/hyprland/ -type f ! -name '*.h*' -delete
+ cp protocols/*-protocol.h ${pkgdir}/usr/include/hyprland/protocols
+ install -Dm644 build/hyprland.pc -t "${pkgdir}/usr/share/pkgconfig"
}