diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-08-07 09:24:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-08-07 09:24:29 +0100 |
commit | fa77846c708f4d0541b610846a5f2ed14b4b20c1 (patch) | |
tree | 35860ca9d75749380daddffe86bbd70d3c5866a9 /gui-wm/hyprland | |
parent | 640c4638f1e12a2c71f539ee18564a0c82d19947 (diff) |
gentoo auto-resync : 07:08:2023 - 09:24:28
Diffstat (limited to 'gui-wm/hyprland')
-rw-r--r-- | gui-wm/hyprland/Manifest | 6 | ||||
-rw-r--r-- | gui-wm/hyprland/files/hyprland-0.28.0-no-wlroots-automagic.patch | 14 | ||||
-rw-r--r-- | gui-wm/hyprland/files/nvidia-0.25.0.patch | 43 | ||||
-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 } |