diff options
author | Alfred Wingate <parona@protonmail.com> | 2023-08-03 19:36:58 +0300 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-08-07 03:53:42 +0100 |
commit | 9417726544cf261fefdbb5911c66064b67c7a543 (patch) | |
tree | 543b47db0aab00f67e6b7c517f92c4c1a4dd0dd4 /gui-wm/hyprland | |
parent | dev-python/pyfuse3: Bump to 3.3.0 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | gui-wm/hyprland/files/hyprland-0.28.0-no-wlroots-automagic.patch | 14 | ||||
-rw-r--r-- | gui-wm/hyprland/hyprland-0.28.0.ebuild | 123 |
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 +} |