summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfred Wingate <parona@protonmail.com>2023-08-03 19:36:58 +0300
committerSam James <sam@gentoo.org>2023-08-07 03:53:42 +0100
commit9417726544cf261fefdbb5911c66064b67c7a543 (patch)
tree543b47db0aab00f67e6b7c517f92c4c1a4dd0dd4 /gui-wm/hyprland
parentdev-python/pyfuse3: Bump to 3.3.0 (diff)
downloadgentoo-9417726544cf261fefdbb5911c66064b67c7a543.tar.gz
gentoo-9417726544cf261fefdbb5911c66064b67c7a543.tar.bz2
gentoo-9417726544cf261fefdbb5911c66064b67c7a543.zip
gui-wm/hyprland: add 0.28.0
Bug: https://bugs.gentoo.org/911597 Signed-off-by: Alfred Wingate <parona@protonmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'gui-wm/hyprland')
-rw-r--r--gui-wm/hyprland/Manifest1
-rw-r--r--gui-wm/hyprland/files/hyprland-0.28.0-no-wlroots-automagic.patch14
-rw-r--r--gui-wm/hyprland/hyprland-0.28.0.ebuild123
3 files changed, 138 insertions, 0 deletions
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
+}