summaryrefslogtreecommitdiff
path: root/gui-wm/hyprland
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-07 09:24:29 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-07 09:24:29 +0100
commitfa77846c708f4d0541b610846a5f2ed14b4b20c1 (patch)
tree35860ca9d75749380daddffe86bbd70d3c5866a9 /gui-wm/hyprland
parent640c4638f1e12a2c71f539ee18564a0c82d19947 (diff)
gentoo auto-resync : 07:08:2023 - 09:24:28
Diffstat (limited to 'gui-wm/hyprland')
-rw-r--r--gui-wm/hyprland/Manifest6
-rw-r--r--gui-wm/hyprland/files/hyprland-0.28.0-no-wlroots-automagic.patch14
-rw-r--r--gui-wm/hyprland/files/nvidia-0.25.0.patch43
-rw-r--r--gui-wm/hyprland/hyprland-0.28.0.ebuild (renamed from gui-wm/hyprland/hyprland-0.26.0.ebuild)80
4 files changed, 70 insertions, 73 deletions
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
index 12535c4cef7c..a45ad6586486 100644
--- a/gui-wm/hyprland/Manifest
+++ b/gui-wm/hyprland/Manifest
@@ -1,6 +1,6 @@
-AUX nvidia-0.25.0.patch 1394 BLAKE2B 95df2f6b82afb460a3e0a1769bb2abf41abcd76c564db3d43189fc9a617b92ae1de8422243f6624574d316187706d552439f47cc44bbcf3fa4f5fabd5d83b420 SHA512 5389d132e16c4dc7af3cdb48003ac7be8ae3760b6052d2edf637b3d645e2e85eda162353b245a848c5b9d218bfccfdfa987189d164444564d87a7048ec53f52d
-DIST hyprland-0.26.0.gh.tar.gz 1523005 BLAKE2B e54ebb73850f63427ff9347c7ad0cb2ffda3350baf3c4221de51b1094678f3ffdac67669f49bfe3ba416b627673f5ca8491d06e16791764ef1c39f5964f2b570 SHA512 b43639a8e0fdd60165b6caa51c9411bc6f97260690c5ee3d15126ef091ccf93955fdda904a226b4aeb4367785ecaba426882a2e9b726c2b79c81a2ede0f9e36a
+AUX hyprland-0.28.0-no-wlroots-automagic.patch 600 BLAKE2B 55b30dd059d7c46f3dc84638cf0a6dd91dd4b694758158bcbe6c9ed041dc4f4338a1c6b1aa1b9a57a752610a8a8ea89cc9c1580c357e70722787dd73effe4f97 SHA512 b4f865cd1dc755e3ff92e50e390c51149a6e5357acca07f31db54a38b0e2c4e8092d5ca41e21c027483b431ce60845e9f4957665571fb0c850070ecbfa02ee16
DIST hyprland-0.27.2.gh.tar.gz 4992717 BLAKE2B 6725ee593edb4f7d127eb95ed567bc7344edc066a9ce818ba99bd15eb718ce1d8de86a63da5684521ccbe3ba918a3f385c3a3e662314704e60e855101d391d05 SHA512 92e8ca21eba52ff423654cd345d37125656c32e1262e4e76d8841ee4ba698788d46d70a5876fc9aca42440efa5dd4122f46c84365da53810284a666f5d13ce7e
-EBUILD hyprland-0.26.0.ebuild 2154 BLAKE2B 9bd3595f7c3efd97a6e0b53a6ff8bb099291899cd4a97b61010e168d03ed43ab6e865b832619bee4383bd44eb92d533185bcea5c334e7ad1fbd0b5561dc5785e SHA512 a9f876684bdb4952e12fffa97e12903f7e9f3673875d75d2af8ff5c1911cffe3aaa589e42c229810e4908c2be2e3646ec57174fefffaa32a0d76b0376dbff9b8
+DIST hyprland-0.28.0.gh.tar.gz 14060441 BLAKE2B 25059b74b67df222867e84f5f1d44219302e7e454ec68110b70d6e915e95913bfdc8c6112bc8725e9be61f10a44603a96ba70980a9835d4b7757363825b93326 SHA512 c0802f2b061d5c9265c7767fae6ddaf00c1bbf6dc620f75593ba1538f94105a9ebe1517b7be444a1e70b81fd3a4205afd8154ba9ad02b3d610b00a9440ee6a63
EBUILD hyprland-0.27.2-r1.ebuild 2485 BLAKE2B ac074f5264a3a038d22b36ea17d8afd5d42d70bf8a10c49fa4dd7a5ce94bc7fa609166cf508d23f1071c27250306b4caf0928e59fe503730fb8ae295490b0433 SHA512 3288207b62c8c2659391830863a11aeadfdb86a7714761e329f7ef9bda1996ef7c843c5959afacee55b70130d6be725537f23c5f93f55b78b8012391925198a8
+EBUILD hyprland-0.28.0.ebuild 2791 BLAKE2B 04006eb47081b074179a5f9a28ab29b328590f007df8f9dea7c1f6b8340ae41853c8d4d177b2feaf771c2f65d6276d523cd19c494789c937d9993496bf0cb9d7 SHA512 d6cddfc31e209e7bdf802411ccdbbb1041cbddad28c241ebb56024584d34db595f67704b26a4a9a5089a63bcbb25de95e8388690ef6a9a8f286578963d466675
MISC metadata.xml 716 BLAKE2B fc5248c809b9b5bf1002e3d82ff80f595b8e613d09e5541f1a0151c3ea2c117376d25fa5a40c85d254533708d9eff5339bd329b42118e87ca49e22e55c0c5d7b SHA512 31252ced2546f3686f17259aabfe9273af14f7efaf3fa0bfb446c65c6d9478be3a23c531e0ac463f27fe1d50842f6f126f32e47a8a03a345306297e182952e98
diff --git a/gui-wm/hyprland/files/hyprland-0.28.0-no-wlroots-automagic.patch b/gui-wm/hyprland/files/hyprland-0.28.0-no-wlroots-automagic.patch
new file mode 100644
index 000000000000..96b12fe497eb
--- /dev/null
+++ b/gui-wm/hyprland/files/hyprland-0.28.0-no-wlroots-automagic.patch
@@ -0,0 +1,14 @@
+# Disable automagic, otherwise wlroots will enable features if dependencies are present.
+diff --git a/meson.build b/meson.build
+index 6a94dee6..9608717d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -39,7 +39,7 @@ add_project_arguments(
+ ],
+ language: 'cpp')
+
+-wlroots = subproject('wlroots', default_options: ['examples=false'])
++wlroots = subproject('wlroots', default_options: ['backends=drm,libinput,x11','examples=false','renderers=gles2','xcb-errors=disabled'])
+ have_xwlr = wlroots.get_variable('features').get('xwayland')
+ xcb_dep = dependency('xcb', required: get_option('xwayland'))
+
diff --git a/gui-wm/hyprland/files/nvidia-0.25.0.patch b/gui-wm/hyprland/files/nvidia-0.25.0.patch
deleted file mode 100644
index d9d2213607f4..000000000000
--- a/gui-wm/hyprland/files/nvidia-0.25.0.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-# From https://github.com/hyprwm/Hyprland/issues/2239#issuecomment-1536725235
-# This patch is recommended by the developer on systems running and Nvidia GPu
-diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c
-index 6a86b183..823fc318 100644
---- a/render/gles2/renderer.c
-+++ b/render/gles2/renderer.c
-@@ -165,7 +165,7 @@ static bool gles2_bind_buffer(struct wlr_renderer *wlr_renderer,
- assert(wlr_egl_is_current(renderer->egl));
-
- push_gles2_debug(renderer);
-- glFlush();
-+ glFinish();
- glBindFramebuffer(GL_FRAMEBUFFER, 0);
- pop_gles2_debug(renderer);
-
-diff --git a/types/output/render.c b/types/output/render.c
-index ed1afa4a..ddc730c7 100644
---- a/types/output/render.c
-+++ b/types/output/render.c
-@@ -225,22 +225,7 @@ struct wlr_drm_format *output_pick_format(struct wlr_output *output,
- }
-
- uint32_t wlr_output_preferred_read_format(struct wlr_output *output) {
-- struct wlr_renderer *renderer = output->renderer;
-- assert(renderer != NULL);
--
-- if (!renderer->impl->preferred_read_format || !renderer->impl->read_pixels) {
-- return DRM_FORMAT_INVALID;
-- }
--
-- if (!output_attach_back_buffer(output, &output->pending, NULL)) {
-- return false;
-- }
--
-- uint32_t fmt = renderer->impl->preferred_read_format(renderer);
--
-- output_clear_back_buffer(output);
--
-- return fmt;
-+ return DRM_FORMAT_XRGB8888;
- }
-
- bool output_is_direct_scanout(struct wlr_output *output,
diff --git a/gui-wm/hyprland/hyprland-0.26.0.ebuild b/gui-wm/hyprland/hyprland-0.28.0.ebuild
index e67a76f747bd..5023065717c7 100644
--- a/gui-wm/hyprland/hyprland-0.26.0.ebuild
+++ b/gui-wm/hyprland/hyprland-0.28.0.ebuild
@@ -8,7 +8,7 @@ inherit meson toolchain-funcs
DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
HOMEPAGE="https://github.com/hyprwm/Hyprland"
-SRC_URI="https://github.com/hyprwm/${PN^}/releases/download/v${PV}/source-v${PV}.tar.gz -> ${PF}.gh.tar.gz"
+SRC_URI="https://github.com/hyprwm/${PN^}/releases/download/v${PV}/source-v${PV}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/${PN}-source"
KEYWORDS="~amd64"
@@ -16,45 +16,65 @@ LICENSE="BSD"
SLOT="0"
IUSE="X legacy-renderer systemd video_cards_nvidia"
-RDEPEND="
- app-misc/jq
- dev-libs/glib:2
- dev-libs/libinput:=
+# bundled wlroots has the following dependency string according to included headers.
+# wlroots[drm,gles2-renderer,libinput,x11-backend?,X?]
+# lets enable x11-backend by default
+WLROOTS_RDEPEND="
+ >=dev-libs/libinput-1.14.0:=
dev-libs/libliftoff
- dev-libs/wayland
- dev-libs/wayland-protocols
- dev-util/glslang
- dev-util/vulkan-headers
- gui-libs/gtk-layer-shell
+ >=dev-libs/wayland-1.22
media-libs/libdisplay-info
- media-libs/libglvnd[X?]
- media-libs/mesa[gles2,wayland,X?]
- media-libs/vulkan-loader
+ media-libs/libglvnd
+ media-libs/mesa[egl(+),gles2]
+ sys-apps/hwdata:=
sys-auth/seatd:=
- x11-base/xcb-proto
+ >=x11-libs/libdrm-2.4.114
+ x11-libs/libxkbcommon
+ >=x11-libs/pixman-0.42.0
+ virtual/libudev:=
+ X? (
+ x11-base/xwayland
+ x11-libs/libxcb:0=
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ )
+"
+WLROOTS_DEPEND="
+ >=dev-libs/wayland-protocols-1.32
+"
+WLROOTS_BDEPEND="
+ dev-util/glslang
+ dev-util/wayland-scanner
+"
+
+RDEPEND="
+ ${WLROOTS_RDEPEND}
+ dev-libs/glib:2
+ dev-libs/libinput
+ dev-libs/wayland
+ media-libs/libglvnd
x11-libs/cairo
x11-libs/libdrm
x11-libs/libxkbcommon
x11-libs/pango
x11-libs/pixman
- x11-misc/xkeyboard-config
- virtual/libudev:=
X? (
- gui-libs/wlroots[x11-backend]
- x11-base/xwayland
- x11-libs/libxcb:=
- x11-libs/xcb-util-image
- x11-libs/xcb-util-renderutil
- x11-libs/xcb-util-wm
+ x11-libs/libxcb:0=
)
"
-DEPEND="${RDEPEND}"
-BDEPEND="
+DEPEND="
+ ${RDEPEND}
+ ${WLROOTS_DEPEND}
dev-libs/hyprland-protocols
- >=dev-libs/wayland-1.22.0
+ >=dev-libs/wayland-protocols-1.25
+"
+BDEPEND="
+ ${WLROOTS_BDEPEND}
+ app-misc/jq
+ dev-util/cmake
dev-util/wayland-scanner
dev-vcs/git
- >=gui-libs/wlroots-0.16.0[X?]
+ virtual/pkgconfig
"
pkg_setup() {
@@ -75,10 +95,16 @@ pkg_setup() {
src_prepare() {
if use video_cards_nvidia; then
cd "${S}/subprojects/wlroots" || die
- eapply "${FILESDIR}/nvidia-0.25.0.patch"
+ eapply "${S}/nix/patches/wlroots-nvidia.patch"
+ # https://bugs.gentoo.org/911597
+ # https://github.com/hyprwm/Hyprland/pull/2874
+ # https://github.com/hyprwm/Hyprland/blob/main/nix/wlroots.nix#L54
+ sed -i -e 's/glFlush();/glFinish();/' render/gles2/renderer.c || die
cd "${S}" || die
fi
+ eapply "${FILESDIR}/hyprland-0.28.0-no-wlroots-automagic.patch"
+
default
}