public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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