* [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/
@ 2023-05-07 22:15 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2023-05-07 22:15 UTC (permalink / raw
To: gentoo-commits
commit: ff311818b547f48431f24d6d619f9a0fc7b3f241
Author: Julien Roy <julien <AT> jroy <DOT> ca>
AuthorDate: Sun May 7 20:40:39 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun May 7 22:14:52 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff311818
gui-wm/hyprland: new package, add 0.25.0
Signed-off-by: Julien Roy <julien <AT> jroy.ca>
Closes: https://github.com/gentoo/gentoo/pull/30921
Signed-off-by: Sam James <sam <AT> gentoo.org>
gui-wm/hyprland/Manifest | 1 +
gui-wm/hyprland/files/nvidia-0.25.0.patch | 43 ++++++++++++++++
gui-wm/hyprland/hyprland-0.25.0.ebuild | 85 +++++++++++++++++++++++++++++++
gui-wm/hyprland/metadata.xml | 21 ++++++++
4 files changed, 150 insertions(+)
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
new file mode 100644
index 000000000000..e260df187271
--- /dev/null
+++ b/gui-wm/hyprland/Manifest
@@ -0,0 +1 @@
+DIST hyprland-0.25.0.gh.tar.gz 1510798 BLAKE2B c146c57e5142666ff76188e870ea4d2dd9613e25a1d2c3320dc222fbe62651975a40fffffe9cc936ced0e86f919534d7a6c94a8b1596f912c3ad9750a35e4f13 SHA512 84d12ef7bfb25e69c4a707a8ffc99ca23eb58e73630e3df1f134cb610c6206e42917f76b54db0cc6d10e7b929514cbac06dfc99feba8ff81aea0dc7fcb340450
diff --git a/gui-wm/hyprland/files/nvidia-0.25.0.patch b/gui-wm/hyprland/files/nvidia-0.25.0.patch
new file mode 100644
index 000000000000..d9d2213607f4
--- /dev/null
+++ b/gui-wm/hyprland/files/nvidia-0.25.0.patch
@@ -0,0 +1,43 @@
+# 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.25.0.ebuild b/gui-wm/hyprland/hyprland-0.25.0.ebuild
new file mode 100644
index 000000000000..923882538f0e
--- /dev/null
+++ b/gui-wm/hyprland/hyprland-0.25.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson toolchain-funcs
+
+DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
+HOMEPAGE="https://github.com/hyprwm/Hyprland/releases"
+
+SRC_URI="https://github.com/hyprwm/${PN^}/releases/download/v${PV}/source-v${PV}.tar.gz -> ${PF}.gh.tar.gz"
+S="${WORKDIR}/${PN}-source"
+
+KEYWORDS="~amd64"
+LICENSE="BSD"
+SLOT="0"
+IUSE="X legacy-renderer systemd video_cards_nvidia"
+
+RDEPEND="
+ app-misc/jq
+ dev-libs/libevdev
+ dev-libs/libinput
+ dev-libs/wayland
+ dev-libs/wayland-protocols
+ dev-util/glslang
+ dev-util/vulkan-headers
+ gui-libs/gtk-layer-shell
+ media-libs/libdisplay-info
+ media-libs/libglvnd[X?]
+ media-libs/mesa[gles2,wayland,X?]
+ media-libs/vulkan-loader
+ x11-base/xcb-proto
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libxkbcommon
+ 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
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-libs/hyprland-protocols
+ dev-libs/libliftoff
+ >=dev-libs/wayland-1.22.0
+ dev-vcs/git
+ >=gui-libs/wlroots-0.16.0[X?]
+"
+
+src_prepare() {
+ STDLIBVER=$(echo '#include <string>' | $(tc-getCXX) -x c++ -dM -E - | \
+ grep GLIBCXX_RELEASE | sed 's/.*\([1-9][0-9]\)/\1/')
+ if ! [[ ${STDLIBVER} -ge 12 ]]; then
+ die "Hyprland requires >=sys-devel/gcc-12.1.0 to build"
+ fi
+
+ if use video_cards_nvidia; then
+ cd "${S}/subprojects/wlroots" || die
+ eapply "${FILESDIR}/nvidia-0.25.0.patch"
+ cd "${S}" || die
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature legacy-renderer legacy_renderer)
+ $(meson_feature X xwayland)
+ $(meson_feature systemd)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install --skip-subprojects wlroots
+}
diff --git a/gui-wm/hyprland/metadata.xml b/gui-wm/hyprland/metadata.xml
new file mode 100644
index 000000000000..e894da71d007
--- /dev/null
+++ b/gui-wm/hyprland/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://github.com/hyprwm/Hyprland/releases</changelog>
+ <doc>https://wiki.hyprland.org/</doc>
+ <bugs-to>https://github.com/hyprwm/Hyprland/issues</bugs-to>
+ <remote-id type="github">hyprwm/Hyprland</remote-id>
+ </upstream>
+ <use>
+ <flag name="legacy-renderer">Enable legacy renderer</flag>
+ </use>
+</pkgmetadata>
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/
@ 2023-08-07 2:55 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2023-08-07 2:55 UTC (permalink / raw
To: gentoo-commits
commit: 9417726544cf261fefdbb5911c66064b67c7a543
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Thu Aug 3 16:36:58 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 7 02:53:42 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94177265
gui-wm/hyprland: add 0.28.0
Bug: https://bugs.gentoo.org/911597
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
gui-wm/hyprland/Manifest | 1 +
.../hyprland-0.28.0-no-wlroots-automagic.patch | 14 +++
gui-wm/hyprland/hyprland-0.28.0.ebuild | 123 +++++++++++++++++++++
3 files changed, 138 insertions(+)
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
index 4b23ba20d529..5570145a5c32 100644
--- a/gui-wm/hyprland/Manifest
+++ b/gui-wm/hyprland/Manifest
@@ -1,2 +1,3 @@
DIST hyprland-0.26.0.gh.tar.gz 1523005 BLAKE2B e54ebb73850f63427ff9347c7ad0cb2ffda3350baf3c4221de51b1094678f3ffdac67669f49bfe3ba416b627673f5ca8491d06e16791764ef1c39f5964f2b570 SHA512 b43639a8e0fdd60165b6caa51c9411bc6f97260690c5ee3d15126ef091ccf93955fdda904a226b4aeb4367785ecaba426882a2e9b726c2b79c81a2ede0f9e36a
DIST hyprland-0.27.2.gh.tar.gz 4992717 BLAKE2B 6725ee593edb4f7d127eb95ed567bc7344edc066a9ce818ba99bd15eb718ce1d8de86a63da5684521ccbe3ba918a3f385c3a3e662314704e60e855101d391d05 SHA512 92e8ca21eba52ff423654cd345d37125656c32e1262e4e76d8841ee4ba698788d46d70a5876fc9aca42440efa5dd4122f46c84365da53810284a666f5d13ce7e
+DIST hyprland-0.28.0.gh.tar.gz 14060441 BLAKE2B 25059b74b67df222867e84f5f1d44219302e7e454ec68110b70d6e915e95913bfdc8c6112bc8725e9be61f10a44603a96ba70980a9835d4b7757363825b93326 SHA512 c0802f2b061d5c9265c7767fae6ddaf00c1bbf6dc620f75593ba1538f94105a9ebe1517b7be444a1e70b81fd3a4205afd8154ba9ad02b3d610b00a9440ee6a63
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/hyprland-0.28.0.ebuild b/gui-wm/hyprland/hyprland-0.28.0.ebuild
new file mode 100644
index 000000000000..5023065717c7
--- /dev/null
+++ b/gui-wm/hyprland/hyprland-0.28.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-source"
+
+KEYWORDS="~amd64"
+LICENSE="BSD"
+SLOT="0"
+IUSE="X legacy-renderer systemd video_cards_nvidia"
+
+# 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-1.22
+ media-libs/libdisplay-info
+ media-libs/libglvnd
+ media-libs/mesa[egl(+),gles2]
+ sys-apps/hwdata:=
+ sys-auth/seatd:=
+ >=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
+ X? (
+ x11-libs/libxcb:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ ${WLROOTS_DEPEND}
+ dev-libs/hyprland-protocols
+ >=dev-libs/wayland-protocols-1.25
+"
+BDEPEND="
+ ${WLROOTS_BDEPEND}
+ app-misc/jq
+ dev-util/cmake
+ dev-util/wayland-scanner
+ dev-vcs/git
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if tc-is-gcc; then
+ STDLIBVER=$(echo '#include <string>' | $(tc-getCXX) -x c++ -dM -E - | \
+ grep GLIBCXX_RELEASE | sed 's/.*\([1-9][0-9]\)/\1/')
+
+ if ! [[ ${STDLIBVER} -ge 12 ]]; then
+ die "Hyprland requires >=sys-devel/gcc-12.1.0 to build"
+ fi
+ elif [[ $(clang-major-version) -lt 16 ]]; then
+ die "Hyprland requires >=sys-devel/clang-16.0.3 to build";
+ fi
+}
+
+src_prepare() {
+ if use video_cards_nvidia; then
+ cd "${S}/subprojects/wlroots" || die
+ 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
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature legacy-renderer legacy_renderer)
+ $(meson_feature X xwayland)
+ $(meson_feature systemd)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install --skip-subprojects wlroots
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/
@ 2023-08-07 2:55 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2023-08-07 2:55 UTC (permalink / raw
To: gentoo-commits
commit: 315cd82cde578b0288b54ec290ea7261f4455ee5
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Thu Aug 3 16:42:32 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 7 02:53:43 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=315cd82c
gui-wm/hyprland: drop 0.26.0
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32157
Signed-off-by: Sam James <sam <AT> gentoo.org>
gui-wm/hyprland/Manifest | 1 -
gui-wm/hyprland/files/nvidia-0.25.0.patch | 43 --------------
gui-wm/hyprland/hyprland-0.26.0.ebuild | 97 -------------------------------
3 files changed, 141 deletions(-)
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
index 5570145a5c32..084e9cf370ae 100644
--- a/gui-wm/hyprland/Manifest
+++ b/gui-wm/hyprland/Manifest
@@ -1,3 +1,2 @@
-DIST hyprland-0.26.0.gh.tar.gz 1523005 BLAKE2B e54ebb73850f63427ff9347c7ad0cb2ffda3350baf3c4221de51b1094678f3ffdac67669f49bfe3ba416b627673f5ca8491d06e16791764ef1c39f5964f2b570 SHA512 b43639a8e0fdd60165b6caa51c9411bc6f97260690c5ee3d15126ef091ccf93955fdda904a226b4aeb4367785ecaba426882a2e9b726c2b79c81a2ede0f9e36a
DIST hyprland-0.27.2.gh.tar.gz 4992717 BLAKE2B 6725ee593edb4f7d127eb95ed567bc7344edc066a9ce818ba99bd15eb718ce1d8de86a63da5684521ccbe3ba918a3f385c3a3e662314704e60e855101d391d05 SHA512 92e8ca21eba52ff423654cd345d37125656c32e1262e4e76d8841ee4ba698788d46d70a5876fc9aca42440efa5dd4122f46c84365da53810284a666f5d13ce7e
DIST hyprland-0.28.0.gh.tar.gz 14060441 BLAKE2B 25059b74b67df222867e84f5f1d44219302e7e454ec68110b70d6e915e95913bfdc8c6112bc8725e9be61f10a44603a96ba70980a9835d4b7757363825b93326 SHA512 c0802f2b061d5c9265c7767fae6ddaf00c1bbf6dc620f75593ba1538f94105a9ebe1517b7be444a1e70b81fd3a4205afd8154ba9ad02b3d610b00a9440ee6a63
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.26.0.ebuild
deleted file mode 100644
index e67a76f747bd..000000000000
--- a/gui-wm/hyprland/hyprland-0.26.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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"
-S="${WORKDIR}/${PN}-source"
-
-KEYWORDS="~amd64"
-LICENSE="BSD"
-SLOT="0"
-IUSE="X legacy-renderer systemd video_cards_nvidia"
-
-RDEPEND="
- app-misc/jq
- dev-libs/glib:2
- dev-libs/libinput:=
- dev-libs/libliftoff
- dev-libs/wayland
- dev-libs/wayland-protocols
- dev-util/glslang
- dev-util/vulkan-headers
- gui-libs/gtk-layer-shell
- media-libs/libdisplay-info
- media-libs/libglvnd[X?]
- media-libs/mesa[gles2,wayland,X?]
- media-libs/vulkan-loader
- sys-auth/seatd:=
- x11-base/xcb-proto
- 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
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-libs/hyprland-protocols
- >=dev-libs/wayland-1.22.0
- dev-util/wayland-scanner
- dev-vcs/git
- >=gui-libs/wlroots-0.16.0[X?]
-"
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if tc-is-gcc; then
- STDLIBVER=$(echo '#include <string>' | $(tc-getCXX) -x c++ -dM -E - | \
- grep GLIBCXX_RELEASE | sed 's/.*\([1-9][0-9]\)/\1/')
-
- if ! [[ ${STDLIBVER} -ge 12 ]]; then
- die "Hyprland requires >=sys-devel/gcc-12.1.0 to build"
- fi
- elif [[ $(clang-major-version) -lt 16 ]]; then
- die "Hyprland requires >=sys-devel/clang-16.0.3 to build";
- fi
-}
-
-src_prepare() {
- if use video_cards_nvidia; then
- cd "${S}/subprojects/wlroots" || die
- eapply "${FILESDIR}/nvidia-0.25.0.patch"
- cd "${S}" || die
- fi
-
- default
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature legacy-renderer legacy_renderer)
- $(meson_feature X xwayland)
- $(meson_feature systemd)
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install --skip-subprojects wlroots
-}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/
@ 2023-10-01 7:47 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2023-10-01 7:47 UTC (permalink / raw
To: gentoo-commits
commit: a486e82beae83e480cf6d18cf0fe10bdb77086a5
Author: Julien Roy <julien <AT> jroy <DOT> ca>
AuthorDate: Fri Sep 29 13:40:55 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 1 07:45:52 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a486e82b
gui-wm/hyprland: add 0.30.0
Signed-off-by: Julien Roy <julien <AT> jroy.ca>
Signed-off-by: Sam James <sam <AT> gentoo.org>
gui-wm/hyprland/Manifest | 1 +
.../files/hyprland-0.30.0-3400-fix-build.patch | 49 +++++++++
.../hyprland-0.30.0-no-wlroots-automagic-r1.patch | 18 +++
gui-wm/hyprland/hyprland-0.30.0.ebuild | 121 +++++++++++++++++++++
4 files changed, 189 insertions(+)
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
index 03e51408765b..8c67519043f1 100644
--- a/gui-wm/hyprland/Manifest
+++ b/gui-wm/hyprland/Manifest
@@ -1,2 +1,3 @@
DIST hyprland-0.28.0.gh.tar.gz 14060441 BLAKE2B 25059b74b67df222867e84f5f1d44219302e7e454ec68110b70d6e915e95913bfdc8c6112bc8725e9be61f10a44603a96ba70980a9835d4b7757363825b93326 SHA512 c0802f2b061d5c9265c7767fae6ddaf00c1bbf6dc620f75593ba1538f94105a9ebe1517b7be444a1e70b81fd3a4205afd8154ba9ad02b3d610b00a9440ee6a63
DIST hyprland-0.29.1.gh.tar.gz 14056843 BLAKE2B 9e9f1b15d354cf5e391b1add5dc5ce8cf2e4b206853465028a6170e613c7c5435e9a6e3318cd1006d3c2874d885128b95495bba08444fade0185b2a69d9ab950 SHA512 abbfd244b7473ec521a639b0d424e2873193ab9ef0d24e6272e15b79da9ade8ee56ea4cffdc328713f99600c1d320384839d32eb223034945659b015125e98b1
+DIST hyprland-0.30.0.gh.tar.gz 14064946 BLAKE2B 188328ed08ca8a9db97ae94b77159f9ebe5361a050a177ec586f376b168dab4c9dcd6b6d71d3314e9470f46b57f0610a92cdfe73ff1704b9f55f21399895e69f SHA512 f8053c19460e7768aa00944d1fc624d85ff9e042d0750a74d28e08147fe50e45262bdb1c259642bb7241746a8fb967344841e58fa598213f8c333f15246f9c94
diff --git a/gui-wm/hyprland/files/hyprland-0.30.0-3400-fix-build.patch b/gui-wm/hyprland/files/hyprland-0.30.0-3400-fix-build.patch
new file mode 100644
index 000000000000..3ee5ca710015
--- /dev/null
+++ b/gui-wm/hyprland/files/hyprland-0.30.0-3400-fix-build.patch
@@ -0,0 +1,49 @@
+From 8637bfb1b79d7778447d93349f14b86dea41d2a4 Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Sat, 23 Sep 2023 12:31:37 +0000
+Subject: [PATCH] build: Unbreak build without precompiled headers (#3400)
+
+* helpers: add missing header after 2e34548aea5b
+
+src/helpers/VarList.cpp: In constructor 'CVarList::CVarList(const std::string&, size_t, char, bool)':
+src/helpers/VarList.cpp:19:34: error: 'removeBeginEndSpacesTabs' was not declared in this scope
+ 19 | m_vArgs.emplace_back(removeBeginEndSpacesTabs(in.substr(pos)));
+ | ^~~~~~~~~~~~~~~~~~~~~~~~
+src/helpers/VarList.cpp:23:30: error: 'removeBeginEndSpacesTabs' was not declared in this scope
+ 23 | m_vArgs.emplace_back(removeBeginEndSpacesTabs(std::string_view{s}.data()));
+ | ^~~~~~~~~~~~~~~~~~~~~~~~
+
+* helpers: add missing C linkage after 0dbd99700319
+
+ld.lld: error: undefined symbol: wlr_region_scale(pixman_region32*, pixman_region32 const*, float)
+>>> referenced by Region.cpp
+>>> src/Hyprland.p/helpers_Region.cpp.o:(CRegion::scale(float))
+>>> did you mean: extern "C" wlr_region_scale
+>>> defined in: /usr/lib/libwlroots.so.12032
+---
+ src/helpers/Region.cpp | 2 ++
+ src/helpers/VarList.cpp | 1 +
+ 2 files changed, 3 insertions(+)
+
+diff --git a/src/helpers/Region.cpp b/src/helpers/Region.cpp
+index e2db466438..5515e71e7e 100644
+--- a/src/helpers/Region.cpp
++++ b/src/helpers/Region.cpp
+@@ -1,6 +1,8 @@
+ #include "Region.hpp"
++extern "C" {
+ #include <wlr/util/box.h>
+ #include <wlr/util/region.h>
++}
+
+ CRegion::CRegion() {
+ pixman_region32_init(&m_rRegion);
+diff --git a/src/helpers/VarList.cpp b/src/helpers/VarList.cpp
+index c29a1e9641..780ea9a045 100644
+--- a/src/helpers/VarList.cpp
++++ b/src/helpers/VarList.cpp
+@@ -1,3 +1,4 @@
++#include "MiscFunctions.hpp"
+ #include "VarList.hpp"
+ #include <ranges>
+ #include <algorithm>
diff --git a/gui-wm/hyprland/files/hyprland-0.30.0-no-wlroots-automagic-r1.patch b/gui-wm/hyprland/files/hyprland-0.30.0-no-wlroots-automagic-r1.patch
new file mode 100644
index 000000000000..452c1cc80f5e
--- /dev/null
+++ b/gui-wm/hyprland/files/hyprland-0.30.0-no-wlroots-automagic-r1.patch
@@ -0,0 +1,18 @@
+diff --git a/meson.build b/meson.build
+index d515621e..08993f8a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -39,7 +39,12 @@ add_project_arguments(
+ ],
+ language: 'cpp')
+
+-wlroots = subproject('wlroots', default_options: ['examples=false', 'renderers=gles2'])
++if get_option('xwayland').enabled()
++ wlroots = subproject('wlroots', default_options: ['backends=drm,libinput,x11','examples=false','renderers=gles2','xcb-errors=disabled','xwayland=enabled'])
++else
++ wlroots = subproject('wlroots', default_options: ['backends=drm,libinput','examples=false','renderers=gles2','xcb-errors=disabled','xwayland=disabled'])
++endif
++
+ have_xwlr = wlroots.get_variable('features').get('xwayland')
+ xcb_dep = dependency('xcb', required: get_option('xwayland'))
+
diff --git a/gui-wm/hyprland/hyprland-0.30.0.ebuild b/gui-wm/hyprland/hyprland-0.30.0.ebuild
new file mode 100644
index 000000000000..d243a16f1b60
--- /dev/null
+++ b/gui-wm/hyprland/hyprland-0.30.0.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-source"
+
+KEYWORDS="~amd64"
+LICENSE="BSD"
+SLOT="0"
+IUSE="X legacy-renderer systemd video_cards_nvidia"
+
+# bundled wlroots has the following dependency string according to included headers.
+# wlroots[drm,gles2-renderer,libinput,x11-backend?,X?]
+# enable x11-backend with X and vice versa
+WLROOTS_RDEPEND="
+ >=dev-libs/libinput-1.14.0:=
+ dev-libs/libliftoff
+ >=dev-libs/wayland-1.22
+ media-libs/libdisplay-info
+ media-libs/libglvnd
+ media-libs/mesa[egl(+),gles2]
+ sys-apps/hwdata:=
+ sys-auth/seatd:=
+ >=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
+ X? (
+ x11-libs/libxcb:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ ${WLROOTS_DEPEND}
+ dev-libs/hyprland-protocols
+ >=dev-libs/wayland-protocols-1.25
+"
+BDEPEND="
+ ${WLROOTS_BDEPEND}
+ app-misc/jq
+ dev-util/cmake
+ dev-util/wayland-scanner
+ dev-vcs/git
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/hyprland-0.30.0-no-wlroots-automagic-r1.patch"
+ "${FILESDIR}/hyprland-0.30.0-3400-fix-build.patch"
+)
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then
+ eerror "Hyprland requires >=sys-devel/gcc-13 to build"
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Hyprland!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then
+ eerror "Hyprland requires >=sys-devel/clang-16 to build"
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Hyprland!"
+ fi
+}
+
+src_prepare() {
+ if use video_cards_nvidia; then
+ cd "${S}/subprojects/wlroots" || die
+ eapply "${S}/nix/patches/wlroots-nvidia.patch"
+ cd "${S}" || die
+ fi
+
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature legacy-renderer legacy_renderer)
+ $(meson_feature X xwayland)
+ $(meson_feature systemd)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install --skip-subprojects wlroots
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/
@ 2024-03-03 0:55 Yixun Lan
0 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2024-03-03 0:55 UTC (permalink / raw
To: gentoo-commits
commit: 1fef823107b59e072d6d6f03b8ff261bc7830aff
Author: Julien Roy <julien <AT> jroy <DOT> ca>
AuthorDate: Sat Mar 2 20:16:10 2024 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Sun Mar 3 00:54:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fef8231
gui-wm/hyprland: Add patch to fix compilation using gui-wm/hyprland[legacy-renderer]
Closes: https://bugs.gentoo.org/925912
Closes: https://github.com/gentoo/gentoo/pull/35604
Signed-off-by: Julien Roy <julien <AT> jroy.ca>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
gui-wm/hyprland/files/legacy-renderer-fix.patch | 33 ++++++++++++++++++++++
...-0.35.0-r1.ebuild => hyprland-0.35.0-r2.ebuild} | 4 +++
...and-0.36.0.ebuild => hyprland-0.36.0-r1.ebuild} | 4 +++
3 files changed, 41 insertions(+)
diff --git a/gui-wm/hyprland/files/legacy-renderer-fix.patch b/gui-wm/hyprland/files/legacy-renderer-fix.patch
new file mode 100644
index 000000000000..a1ecbbd7ec5a
--- /dev/null
+++ b/gui-wm/hyprland/files/legacy-renderer-fix.patch
@@ -0,0 +1,33 @@
+# https://github.com/hyprwm/Hyprland/pull/4928
+# https://bugs.gentoo.org/925912
+diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp
+index 64f582f2..a6f2dc03 100644
+--- a/src/render/OpenGL.cpp
++++ b/src/render/OpenGL.cpp
+@@ -353,7 +353,11 @@ void CHyprOpenGLImpl::end() {
+ // check for gl errors
+ const GLenum ERR = glGetError();
+
++#ifdef GLES2
++ if (ERR == GL_CONTEXT_LOST_KHR) /* We don't have infra to recover from this */
++#else
+ if (ERR == GL_CONTEXT_LOST) /* We don't have infra to recover from this */
++#endif
+ RASSERT(false, "glGetError at Opengl::end() returned GL_CONTEXT_LOST. Cannot continue until proper GPU reset handling is implemented.");
+ }
+
+@@ -2057,7 +2061,13 @@ void CHyprOpenGLImpl::createBGTextureForMonitor(CMonitor* pMonitor) {
+ tex.m_vSize = IMAGESIZE * scale;
+
+ // copy the data to an OpenGL texture we have
+- const GLint glIFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_RGB32F : GL_RGBA;
++ const GLint glIFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ?
++#ifdef GLES2
++ GL_RGB32F_EXT :
++#else
++ GL_RGB32F :
++#endif
++ GL_RGBA;
+ const GLint glFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_RGB : GL_RGBA;
+ const GLint glType = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_FLOAT : GL_UNSIGNED_BYTE;
+
diff --git a/gui-wm/hyprland/hyprland-0.35.0-r1.ebuild b/gui-wm/hyprland/hyprland-0.35.0-r2.ebuild
similarity index 98%
rename from gui-wm/hyprland/hyprland-0.35.0-r1.ebuild
rename to gui-wm/hyprland/hyprland-0.35.0-r2.ebuild
index bd70e22a7247..81c8b1bbcb99 100644
--- a/gui-wm/hyprland/hyprland-0.35.0-r1.ebuild
+++ b/gui-wm/hyprland/hyprland-0.35.0-r2.ebuild
@@ -93,6 +93,10 @@ BDEPEND="
virtual/pkgconfig
"
+PATCHES=(
+ "${FILESDIR}/legacy-renderer-fix.patch"
+)
+
pkg_setup() {
[[ ${MERGE_TYPE} == binary ]] && return
diff --git a/gui-wm/hyprland/hyprland-0.36.0.ebuild b/gui-wm/hyprland/hyprland-0.36.0-r1.ebuild
similarity index 98%
rename from gui-wm/hyprland/hyprland-0.36.0.ebuild
rename to gui-wm/hyprland/hyprland-0.36.0-r1.ebuild
index cecf622b3be8..972fe7b33988 100644
--- a/gui-wm/hyprland/hyprland-0.36.0.ebuild
+++ b/gui-wm/hyprland/hyprland-0.36.0-r1.ebuild
@@ -94,6 +94,10 @@ BDEPEND="
virtual/pkgconfig
"
+PATCHES=(
+ "${FILESDIR}/legacy-renderer-fix.patch"
+)
+
pkg_setup() {
[[ ${MERGE_TYPE} == binary ]] && return
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/
@ 2024-04-02 11:44 Yixun Lan
0 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2024-04-02 11:44 UTC (permalink / raw
To: gentoo-commits
commit: cd95627f18ac861d7cf2d3c82d649c7b3314ff31
Author: Julien Roy <julien <AT> jroy <DOT> ca>
AuthorDate: Mon Apr 1 23:35:17 2024 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Apr 2 11:36:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd95627f
gui-wm/hyprland: drop 0.35.0-r3, 0.36.0-r2
Closes: https://github.com/gentoo/gentoo/pull/36051
Signed-off-by: Julien Roy <julien <AT> jroy.ca>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
gui-wm/hyprland/Manifest | 2 -
gui-wm/hyprland/files/legacy-renderer-fix.patch | 33 ------
gui-wm/hyprland/files/tty-freeze.patch | 12 --
gui-wm/hyprland/hyprland-0.35.0-r3.ebuild | 144 -----------------------
gui-wm/hyprland/hyprland-0.36.0-r2.ebuild | 145 ------------------------
5 files changed, 336 deletions(-)
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
index 1e7a8209db67..795cdad38016 100644
--- a/gui-wm/hyprland/Manifest
+++ b/gui-wm/hyprland/Manifest
@@ -1,5 +1,3 @@
DIST hyprland-0.34.0.gh.tar.gz 14128415 BLAKE2B 059fc8b849daeb71b08d7114fd8aea1264c0e9967f471df66b27aca46b95fd499d2929730ba66981bb7d6c423479533b280839db7839ca1df007825f72fb9bf8 SHA512 35cce0668a13d7e7fd220d62efd965a069ff0213996bfa47ca0852c6258881bc070020d4831364b325b71d8ce7373d1793a89006a4341088dcbaf01914920f1a
-DIST hyprland-0.35.0.gh.tar.gz 54200453 BLAKE2B f5a8a5ed5f5ca28e5fc5a329d5191abce458b9bf0b99bee970aaa4be40671bfe945dabe2b3ff34ca753beeb35ec7fe016e6a54669dbe1ee4f25e2c128c3e390d SHA512 5afe7c340b994f2542982d8c8fa837b2a43ef9e487810fec0b33e4a5cc9188b71e41a0be22839191cf15e9c1fdfd964d0751def51f93db438e4a45649077c8a7
-DIST hyprland-0.36.0.gh.tar.gz 54632144 BLAKE2B 8f27044702d50fd5b937cab096c340ed7b7c86fda65e2b15fd4704038f2f4a62eb5a75cf00cc721da66dd7aaf820052ba02d8457bef928ad0ecc8622d4e151c1 SHA512 964f60baf08d9e5cc978853f24d3fca8cb5115eab3dd5e9c6542db2bbb0b5b73fa61a863077e12bcfc9ed70c6af75f380928e21246e42af0870ee3a6475df5cc
DIST hyprland-0.37.1.gh.tar.gz 54651435 BLAKE2B 92bd78168909510ffb21b46f7d66e139e7b86f7655c7a8126eaf90b6ef6d7d5affaf0bc55ca1647a2f80b6d767afc00e1efe5f2241b2bc88d20357acee611b92 SHA512 f09316e210805b833a27524894222edc7a048b77f9f5d9cc8faa5b4e37040485ad3b9638f60a346da8d4d4aff24bbd6382b7fde64d07528990e9a521b2f46454
DIST hyprland-0.38.0.gh.tar.gz 54658884 BLAKE2B a0a26f59b0c4967cf58258adc719912855853fc54c5ebf55d42d34ca51905021ce4755eaaaf9c07ca1cabd0502d2a9c2e6bf6455bda10f36c2960b2525738416 SHA512 8452a0dab1c71c336201977318bb24442fe3ca08ae349e31b015f011bbb6d98aaf19dcfdcd31349c85ab837d6cda24dab40409469d0721d930e59aa7e2282153
diff --git a/gui-wm/hyprland/files/legacy-renderer-fix.patch b/gui-wm/hyprland/files/legacy-renderer-fix.patch
deleted file mode 100644
index a1ecbbd7ec5a..000000000000
--- a/gui-wm/hyprland/files/legacy-renderer-fix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-# https://github.com/hyprwm/Hyprland/pull/4928
-# https://bugs.gentoo.org/925912
-diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp
-index 64f582f2..a6f2dc03 100644
---- a/src/render/OpenGL.cpp
-+++ b/src/render/OpenGL.cpp
-@@ -353,7 +353,11 @@ void CHyprOpenGLImpl::end() {
- // check for gl errors
- const GLenum ERR = glGetError();
-
-+#ifdef GLES2
-+ if (ERR == GL_CONTEXT_LOST_KHR) /* We don't have infra to recover from this */
-+#else
- if (ERR == GL_CONTEXT_LOST) /* We don't have infra to recover from this */
-+#endif
- RASSERT(false, "glGetError at Opengl::end() returned GL_CONTEXT_LOST. Cannot continue until proper GPU reset handling is implemented.");
- }
-
-@@ -2057,7 +2061,13 @@ void CHyprOpenGLImpl::createBGTextureForMonitor(CMonitor* pMonitor) {
- tex.m_vSize = IMAGESIZE * scale;
-
- // copy the data to an OpenGL texture we have
-- const GLint glIFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_RGB32F : GL_RGBA;
-+ const GLint glIFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ?
-+#ifdef GLES2
-+ GL_RGB32F_EXT :
-+#else
-+ GL_RGB32F :
-+#endif
-+ GL_RGBA;
- const GLint glFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_RGB : GL_RGBA;
- const GLint glType = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_FLOAT : GL_UNSIGNED_BYTE;
-
diff --git a/gui-wm/hyprland/files/tty-freeze.patch b/gui-wm/hyprland/files/tty-freeze.patch
deleted file mode 100644
index 991593b8de86..000000000000
--- a/gui-wm/hyprland/files/tty-freeze.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/events/Misc.cpp b/src/events/Misc.cpp
-index b77cf038..eaaaec18 100644
---- a/src/events/Misc.cpp
-+++ b/src/events/Misc.cpp
-@@ -169,6 +169,7 @@ void Events::listener_sessionActive(wl_listener* listener, void* data) {
-
- for (auto& m : g_pCompositor->m_vMonitors) {
- g_pCompositor->scheduleFrameForMonitor(m.get());
-+ g_pHyprRenderer->applyMonitorRule(m.get(), &m->activeMonitorRule, true);
- }
-
- g_pConfigManager->m_bWantsMonitorReload = true;
diff --git a/gui-wm/hyprland/hyprland-0.35.0-r3.ebuild b/gui-wm/hyprland/hyprland-0.35.0-r3.ebuild
deleted file mode 100644
index 369ffc6eb951..000000000000
--- a/gui-wm/hyprland/hyprland-0.35.0-r3.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson toolchain-funcs
-
-DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
-HOMEPAGE="https://github.com/hyprwm/Hyprland"
-
-if [[ "${PV}" = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/hyprwm/${PN^}.git"
-else
- 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 ~riscv"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="X legacy-renderer systemd"
-
-# hyprpm (hyprland plugin manager) requires the dependencies at runtime
-# so that it can clone, compile and install plugins.
-HYPRPM_RDEPEND="
- app-alternatives/ninja
- dev-build/cmake
- dev-build/meson
- dev-vcs/git
- virtual/pkgconfig
-"
-# bundled wlroots has the following dependency string according to included headers.
-# wlroots[drm,gles2-renderer,libinput,x11-backend?,X?]
-# enable x11-backend with X and vice versa
-WLROOTS_RDEPEND="
- >=dev-libs/libinput-1.14.0:=
- dev-libs/libliftoff
- >=dev-libs/wayland-1.22
- media-libs/libdisplay-info
- media-libs/libglvnd
- media-libs/mesa[egl(+),gles2]
- sys-apps/hwdata:=
- sys-auth/seatd:=
- >=x11-libs/libdrm-2.4.120
- 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="
- ${HYPRPM_RDEPEND}
- ${WLROOTS_RDEPEND}
- dev-cpp/tomlplusplus
- 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
- X? (
- x11-libs/libxcb:0=
- )
-"
-DEPEND="
- ${RDEPEND}
- ${WLROOTS_DEPEND}
- dev-libs/hyprland-protocols
- dev-libs/wayland-protocols
-"
-BDEPEND="
- ${WLROOTS_BDEPEND}
- || ( >=sys-devel/gcc-13:* >=sys-devel/clang-16:* )
- app-misc/jq
- dev-build/cmake
- dev-util/wayland-scanner
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/legacy-renderer-fix.patch"
- # https://bugs.gentoo.org/926259
- # https://github.com/hyprwm/Hyprland/issues/4839
- "${FILESDIR}/tty-freeze.patch"
-)
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then
- eerror "Hyprland requires >=sys-devel/gcc-13 to build"
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Hyprland!"
- elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then
- eerror "Hyprland requires >=sys-devel/clang-16 to build"
- eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
- die "Clang version is too old to compile Hyprland!"
- fi
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature legacy-renderer legacy_renderer)
- $(meson_feature systemd)
- $(meson_feature X xwayland)
- $(meson_feature X wlroots:xwayland)
- -Dwlroots:backends=drm,libinput$(usev X ',x11')
- -Dwlroots:xcb-errors=disabled
- )
-
- meson_src_configure
-}
-
-src_install() {
- # First install everything except wlroots to avoid conflicts.
- meson_src_install --skip-subprojects wlroots
- # Then install development files (mainly wlroots) for bug #916760.
- meson_src_install --tags devel
-
- # Wlroots headers are required by hyprland-plugins and the pkgconfig file expects
- # them to be in /usr/include/hyprland/wlroots, despite this they aren't installed there.
- # Ideally you could override includedir per subproject and the install tags would
- # be granular enough to only install headers. But its not requiring this.
- mkdir "${ED}"/usr/include/hyprland/wlroots || die
- mv "${ED}"/usr/include/wlr "${ED}"/usr/include/hyprland/wlroots || die
- # devel tag includes wlroots .pc and .a files still
- rm -rf "${ED}"/usr/$(get_libdir)/ || die
-}
diff --git a/gui-wm/hyprland/hyprland-0.36.0-r2.ebuild b/gui-wm/hyprland/hyprland-0.36.0-r2.ebuild
deleted file mode 100644
index 7190982afaef..000000000000
--- a/gui-wm/hyprland/hyprland-0.36.0-r2.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson toolchain-funcs
-
-DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
-HOMEPAGE="https://github.com/hyprwm/Hyprland"
-
-if [[ "${PV}" = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/hyprwm/${PN^}.git"
-else
- 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 ~riscv"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="X legacy-renderer systemd"
-
-# hyprpm (hyprland plugin manager) requires the dependencies at runtime
-# so that it can clone, compile and install plugins.
-HYPRPM_RDEPEND="
- app-alternatives/ninja
- dev-build/cmake
- dev-build/meson
- dev-vcs/git
- virtual/pkgconfig
-"
-# bundled wlroots has the following dependency string according to included headers.
-# wlroots[drm,gles2-renderer,libinput,x11-backend?,X?]
-# enable x11-backend with X and vice versa
-WLROOTS_RDEPEND="
- >=dev-libs/libinput-1.14.0:=
- dev-libs/libliftoff
- >=dev-libs/wayland-1.22
- media-libs/libdisplay-info
- media-libs/libglvnd
- media-libs/mesa[egl(+),gles2]
- sys-apps/hwdata:=
- sys-auth/seatd:=
- >=x11-libs/libdrm-2.4.118
- 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.33
-"
-WLROOTS_BDEPEND="
- dev-util/glslang
- dev-util/wayland-scanner
-"
-RDEPEND="
- ${HYPRPM_RDEPEND}
- ${WLROOTS_RDEPEND}
- dev-cpp/tomlplusplus
- 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
- X? (
- x11-libs/libxcb:0=
- )
-"
-DEPEND="
- ${RDEPEND}
- ${WLROOTS_DEPEND}
- dev-libs/hyprland-protocols
- dev-libs/hyprlang
- >=dev-libs/wayland-protocols-1.25
-"
-BDEPEND="
- ${WLROOTS_BDEPEND}
- || ( >=sys-devel/gcc-13:* >=sys-devel/clang-16:* )
- app-misc/jq
- dev-build/cmake
- dev-util/wayland-scanner
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/legacy-renderer-fix.patch"
- # https://bugs.gentoo.org/926259
- # https://github.com/hyprwm/Hyprland/issues/4839
- "${FILESDIR}/tty-freeze.patch"
-)
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then
- eerror "Hyprland requires >=sys-devel/gcc-13 to build"
- eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
- die "GCC version is too old to compile Hyprland!"
- elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then
- eerror "Hyprland requires >=sys-devel/clang-16 to build"
- eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
- die "Clang version is too old to compile Hyprland!"
- fi
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature legacy-renderer legacy_renderer)
- $(meson_feature systemd)
- $(meson_feature X xwayland)
- $(meson_feature X wlroots:xwayland)
- -Dwlroots:backends=drm,libinput$(usev X ',x11')
- -Dwlroots:xcb-errors=disabled
- )
-
- meson_src_configure
-}
-
-src_install() {
- # First install everything except wlroots to avoid conflicts.
- meson_src_install --skip-subprojects wlroots
- # Then install development files (mainly wlroots) for bug #916760.
- meson_src_install --tags devel
-
- # Wlroots headers are required by hyprland-plugins and the pkgconfig file expects
- # them to be in /usr/include/hyprland/wlroots, despite this they aren't installed there.
- # Ideally you could override includedir per subproject and the install tags would
- # be granular enough to only install headers. But its not requiring this.
- mkdir "${ED}"/usr/include/hyprland/wlroots || die
- mv "${ED}"/usr/include/wlr "${ED}"/usr/include/hyprland/wlroots || die
- # devel tag includes wlroots .pc and .a files still
- rm -rf "${ED}"/usr/$(get_libdir)/ || die
-}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/
@ 2024-11-21 23:18 Yixun Lan
0 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2024-11-21 23:18 UTC (permalink / raw
To: gentoo-commits
commit: 4a9b33d693e839c6e568c67bf6279d611bc25175
Author: Julien Roy <julien <AT> jroy <DOT> ca>
AuthorDate: Thu Nov 21 20:29:28 2024 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Thu Nov 21 23:17:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a9b33d6
gui-wm/hyprland: backport patch to build without X on gcc13
Bug: https://bugs.gentoo.org/935322
Closes: https://github.com/gentoo/gentoo/pull/39404
Signed-off-by: Julien Roy <julien <AT> jroy.ca>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
.../files/hyprland-0.42.0-no_xwayland.patch | 21 +++++
gui-wm/hyprland/hyprland-0.42.0-r2.ebuild | 104 +++++++++++++++++++++
2 files changed, 125 insertions(+)
diff --git a/gui-wm/hyprland/files/hyprland-0.42.0-no_xwayland.patch b/gui-wm/hyprland/files/hyprland-0.42.0-no_xwayland.patch
new file mode 100644
index 000000000000..b9beeb8b56d0
--- /dev/null
+++ b/gui-wm/hyprland/files/hyprland-0.42.0-no_xwayland.patch
@@ -0,0 +1,21 @@
+From e09ae925a5847b9af7b0d422997cb64f093c75ef Mon Sep 17 00:00:00 2001
+From: Nick H <gerkola@gmail.com>
+Date: Tue, 27 Aug 2024 00:59:21 +0200
+Subject: [PATCH] Fix NO_XWAYLAND compilation
+
+---
+ src/xwayland/XWayland.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/xwayland/XWayland.hpp b/src/xwayland/XWayland.hpp
+index d1cc4421887..40c0ba656cd 100644
+--- a/src/xwayland/XWayland.hpp
++++ b/src/xwayland/XWayland.hpp
+@@ -3,6 +3,7 @@
+ #include <memory>
+ #include "../helpers/signal/Signal.hpp"
+ #include "../helpers/memory/Memory.hpp"
++#include "../macros.hpp"
+
+ #include "XSurface.hpp"
+
diff --git a/gui-wm/hyprland/hyprland-0.42.0-r2.ebuild b/gui-wm/hyprland/hyprland-0.42.0-r2.ebuild
new file mode 100644
index 000000000000..3cf17ab9e722
--- /dev/null
+++ b/gui-wm/hyprland/hyprland-0.42.0-r2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson toolchain-funcs
+
+DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
+HOMEPAGE="https://github.com/hyprwm/Hyprland"
+
+if [[ "${PV}" = *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN^}.git"
+else
+ 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"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="X legacy-renderer systemd"
+
+# hyprpm (hyprland plugin manager) requires the dependencies at runtime
+# so that it can clone, compile and install plugins.
+HYPRPM_RDEPEND="
+ app-alternatives/ninja
+ dev-build/cmake
+ dev-build/meson
+ dev-libs/libliftoff
+ dev-vcs/git
+ virtual/pkgconfig
+"
+RDEPEND="
+ ${HYPRPM_RDEPEND}
+ dev-cpp/tomlplusplus
+ dev-libs/glib:2
+ dev-libs/libinput
+ >=dev-libs/wayland-1.20.0
+ gui-libs/aquamarine
+ >=gui-libs/hyprcursor-0.1.9
+ media-libs/libglvnd
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libxkbcommon
+ x11-libs/pango
+ x11-libs/pixman
+ x11-libs/libXcursor
+ X? (
+ x11-libs/libxcb:0=
+ x11-base/xwayland
+ x11-libs/xcb-util-errors
+ x11-libs/xcb-util-wm
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-libs/hyprland-protocols-0.3
+ >=dev-libs/hyprlang-0.3.2
+ >=dev-libs/wayland-protocols-1.36
+ >=gui-libs/hyprutils-0.2.1
+"
+BDEPEND="
+ || ( >=sys-devel/gcc-13:* >=sys-devel/clang-16:* )
+ app-misc/jq
+ dev-build/cmake
+ >=dev-util/hyprwayland-scanner-0.3.8
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no_xwayland.patch
+)
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then
+ eerror "Hyprland requires >=sys-devel/gcc-13 to build"
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Hyprland!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then
+ eerror "Hyprland requires >=sys-devel/clang-16 to build"
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Hyprland!"
+ fi
+}
+
+src_prepare() {
+ # skip version.h
+ sed -i -e "s|scripts/generateVersion.sh|echo|g" meson.build || die
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature legacy-renderer legacy_renderer)
+ $(meson_feature systemd)
+ $(meson_feature X xwayland)
+ )
+
+ meson_src_configure
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-11-21 23:18 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-02 11:44 [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/ Yixun Lan
-- strict thread matches above, loose matches on Subject: below --
2024-11-21 23:18 Yixun Lan
2024-03-03 0:55 Yixun Lan
2023-10-01 7:47 Sam James
2023-08-07 2:55 Sam James
2023-08-07 2:55 Sam James
2023-05-07 22:15 Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox