From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5D09915800A for ; Mon, 7 Aug 2023 02:55:13 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9422E2BC01C; Mon, 7 Aug 2023 02:55:12 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 499882BC01C for ; Mon, 7 Aug 2023 02:55:12 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 29E39335C60 for ; Mon, 7 Aug 2023 02:55:11 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 8A8CCE7D for ; Mon, 7 Aug 2023 02:55:09 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1691376822.9417726544cf261fefdbb5911c66064b67c7a543.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: gui-wm/hyprland/files/, gui-wm/hyprland/ X-VCS-Repository: repo/gentoo X-VCS-Files: gui-wm/hyprland/Manifest gui-wm/hyprland/files/hyprland-0.28.0-no-wlroots-automagic.patch gui-wm/hyprland/hyprland-0.28.0.ebuild X-VCS-Directories: gui-wm/hyprland/ gui-wm/hyprland/files/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 9417726544cf261fefdbb5911c66064b67c7a543 X-VCS-Branch: master Date: Mon, 7 Aug 2023 02:55:09 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 3c99b472-5296-4970-990c-bb3e071200da X-Archives-Hash: ea462c42f101da600a00055614bf4494 commit: 9417726544cf261fefdbb5911c66064b67c7a543 Author: Alfred Wingate protonmail com> AuthorDate: Thu Aug 3 16:36:58 2023 +0000 Commit: Sam James gentoo 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 protonmail.com> Signed-off-by: Sam James 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 ' | $(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 +}