summaryrefslogtreecommitdiff
path: root/gui-wm/hyprland
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-12 10:27:43 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-12 10:27:43 +0000
commitf1535b44d6fda761018ea432a180dcb482e97652 (patch)
tree0c17b546154f9b91340a45d84b5dc42dc12c7713 /gui-wm/hyprland
parentcdc1eda9c1ad611dd737415be2790c8f44812f1c (diff)
gentoo auto-resync : 12:11:2023 - 10:27:42
Diffstat (limited to 'gui-wm/hyprland')
-rw-r--r--gui-wm/hyprland/Manifest1
-rw-r--r--gui-wm/hyprland/hyprland-9999.ebuild136
2 files changed, 137 insertions, 0 deletions
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
index 7cdbf8d4e07c..b51b75ca24d4 100644
--- a/gui-wm/hyprland/Manifest
+++ b/gui-wm/hyprland/Manifest
@@ -7,4 +7,5 @@ DIST hyprland-0.32.2.gh.tar.gz 14119309 BLAKE2B 5a8924601d8db994532bbb7fc96962a9
EBUILD hyprland-0.31.0-r1.ebuild 3415 BLAKE2B c8634bb8e1f9a41b15020c9e371c3436e8f13a38485bce5501ea9cb4ea735da73cea2634174366c7e48b809a94f5940b6abc9ae1b8ad057cf3bede15b57308cb SHA512 24158c58189098cea877501c444ed48c9de84414f2c9c04a70db5966cf3a3c24f6721dbe6b4165c1f3c842231b31a6191db50ba39efcc96f8c8424738b406687
EBUILD hyprland-0.32.0.ebuild 3357 BLAKE2B 03ac7c29e3ce75a9acae4acfac8adae2e9d392665bd0a17fbf7d39fd5a1a97447b70ae2cf306ba8c5814756dce213e51d36dcd51d28d5227a88c3260da0f276e SHA512 e96549beb540ffad93f4ffa0b669354538b599104ba7fb4a3dcca87bbd7cf2a336818df9c69948fcf06c436524336fe838ab83094ff8c4a168b8873081a31f37
EBUILD hyprland-0.32.2.ebuild 3357 BLAKE2B 03ac7c29e3ce75a9acae4acfac8adae2e9d392665bd0a17fbf7d39fd5a1a97447b70ae2cf306ba8c5814756dce213e51d36dcd51d28d5227a88c3260da0f276e SHA512 e96549beb540ffad93f4ffa0b669354538b599104ba7fb4a3dcca87bbd7cf2a336818df9c69948fcf06c436524336fe838ab83094ff8c4a168b8873081a31f37
+EBUILD hyprland-9999.ebuild 3463 BLAKE2B 119c057e96cd578c7acb74f808c435804b002c90f1f2a0081d9304428ab91fe159fa23e8fa6b994f634703d44d8369f86f443855fade981f33114fca00ab9dae SHA512 75baccc1506c1ace8338b8bfd5c9ef415fff065669df0ea05054c5f0e42928bcc75007b1e0f31920298cd6adea90d3a4f3f14c3e054fc2bddab3d7b931eef2fe
MISC metadata.xml 716 BLAKE2B fc5248c809b9b5bf1002e3d82ff80f595b8e613d09e5541f1a0151c3ea2c117376d25fa5a40c85d254533708d9eff5339bd329b42118e87ca49e22e55c0c5d7b SHA512 31252ced2546f3686f17259aabfe9273af14f7efaf3fa0bfb446c65c6d9478be3a23c531e0ac463f27fe1d50842f6f126f32e47a8a03a345306297e182952e98
diff --git a/gui-wm/hyprland/hyprland-9999.ebuild b/gui-wm/hyprland/hyprland-9999.ebuild
new file mode 100644
index 000000000000..6fed135cffd6
--- /dev/null
+++ b/gui-wm/hyprland/hyprland-9999.ebuild
@@ -0,0 +1,136 @@
+# 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"
+
+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 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}
+ || ( >=sys-devel/gcc-13:* >=sys-devel/clang-16:* )
+ 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 && 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 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() {
+ meson_src_install --skip-subprojects wlroots
+ 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
+}