aboutsummaryrefslogtreecommitdiff
path: root/gui-wm
diff options
context:
space:
mode:
authorJulien Roy <julien@jroy.ca>2023-01-11 20:37:24 -0500
committerJulien Roy <julien@jroy.ca>2023-01-11 20:37:24 -0500
commitd1ccac6042c83e62816b56747b44187d5228805b (patch)
tree947ce1d29d73c9a0178641e853d3981b7172b70a /gui-wm
parentdev-cpp/coeurl: drop 0.2.0-r1 (diff)
downloadguru-d1ccac6042c83e62816b56747b44187d5228805b.tar.gz
guru-d1ccac6042c83e62816b56747b44187d5228805b.tar.bz2
guru-d1ccac6042c83e62816b56747b44187d5228805b.zip
gui-wm/hyprland: new package, add 0.20.1
Signed-off-by: Julien Roy <julien@jroy.ca>
Diffstat (limited to 'gui-wm')
-rw-r--r--gui-wm/hyprland/Manifest4
-rw-r--r--gui-wm/hyprland/hyprland-0.20.1.ebuild91
-rw-r--r--gui-wm/hyprland/metadata.xml21
3 files changed, 116 insertions, 0 deletions
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
new file mode 100644
index 000000000..7ee4bd073
--- /dev/null
+++ b/gui-wm/hyprland/Manifest
@@ -0,0 +1,4 @@
+DIST contrib.tar.gz 7408 BLAKE2B 03c3733a0b7b747f759b1b13f6fbd5342bc5cdea31f142730f69af85abf576f2c35bd7ea01e1aafba8ad7ae63505d7a9372279538ffb8cea3d61839e2bf4ea21 SHA512 671ea675b8f3de9b6ff8cce62297b5c14947b458de88ffa4bca5c51aafb66fc475782d0ed609a18e5281147f89aa531d4480ee46bb888f98651e4620f58318b4
+DIST hyprland-0.20.1.tar.gz 708773 BLAKE2B 9ade26890c269d36212ca7eee4946d152a222cdbd67e508e10a61b2bc3f63eff36a3a385b90126db951aa6a83568342fc91cd1e3cdc3ed40516e3b31acef07b8 SHA512 37f7d1279f4b1d8e441842287dd812e5118d0a54a7e660cb1035970c8b651f889292e8bd065f019a79397e99a0c160aa55375709b7357ef888ca02d6cd273d6a
+DIST hyprland-protocols.tar.gz 4858 BLAKE2B 565532803fe6975efdba621c9ef69e4a7c18f040a65818e9f0f61d1dda15a3927f4aca25972989172554d5be5332f014d57dc8e1d0bb207ea5ba64aaec0e65f2 SHA512 03e176149fb0749f63fc58aea1175bfed92f0a30895d17e022ebdf9bb6f786e3a1018244379d0a6d205c590b25eccba0d7bea273bb389dd1031fad3d8467ef23
+DIST wlr.tar.bz2 448534 BLAKE2B 35ff3e316ce5fa5d444e623597fdc61f143aa07440b8821faecc131aa5376b4ed691e84511ef438dfe4d429941d09fe0ab2d403414fd6a91e54a5bef890a4d68 SHA512 98af3902be681b11989f7d0c3b147ef3e4ef27dd377dd74b4e2a5151be1eeb0ff99d7738f2be4050116a7233820b0bb4f581ae0229d44043bfbd0f6af59108d4
diff --git a/gui-wm/hyprland/hyprland-0.20.1.ebuild b/gui-wm/hyprland/hyprland-0.20.1.ebuild
new file mode 100644
index 000000000..b74605a15
--- /dev/null
+++ b/gui-wm/hyprland/hyprland-0.20.1.ebuild
@@ -0,0 +1,91 @@
+# 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"
+
+PROTOCOMMIT=301733ae466b229066ba15a53e6d8b91c5dcef5b
+WLRCOMMIT=dc7cc98cf21a8dc19ab8895505500e3700646af0
+CONTRIBCOMMIT=37c8121f98d76f57caa00dd7106877876e0d7483
+SRC_URI="https://github.com/hyprwm/${PN^}/archive/v${PV}beta.tar.gz -> ${P}.tar.gz
+ https://github.com/hyprwm/hyprland-protocols/archive/${PROTOCOMMIT}.tar.gz -> hyprland-protocols.tar.gz
+ https://github.com/hyprwm/contrib/archive/${CONTRIBCOMMIT}.tar.gz -> contrib.tar.gz
+ https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/${WLRCOMMIT}/wlroots-${WLRCOMMIT}.tar.bz2 -> wlr.tar.bz2"
+S="${WORKDIR}/${PN^}-${PV}beta"
+
+KEYWORDS="~amd64"
+LICENSE="BSD"
+SLOT="0"
+IUSE="X grimblast shellevents systemd"
+
+RDEPEND="
+ dev-libs/libevdev
+ dev-libs/libinput
+ dev-libs/wayland
+ >=dev-libs/wayland-protocols-1.31
+ dev-util/glslang
+ dev-util/vulkan-headers
+ gui-libs/gtk-layer-shell
+ gui-libs/wlroots[X?]
+ 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
+ virtual/libudev
+ grimblast? (
+ app-misc/jq
+ gui-apps/grim
+ gui-apps/slurp
+ gui-apps/wl-clipboard
+ x11-libs/libnotify
+ )
+ X? (
+ x11-base/xwayland
+ x11-libs/libxcb
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-wm
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ grimblast? ( app-text/scdoc )
+ shellevents? ( app-text/scdoc )
+"
+
+src_unpack() {
+ default
+
+ rmdir "${S}/subprojects/wlroots"
+ rmdir "${S}/subprojects/hyprland-protocols"
+ mv "${WORKDIR}/wlroots-${WLRCOMMIT}" "${S}/subprojects/wlroots" || die
+ mv "${WORKDIR}/hyprland-protocols-${PROTOCOMMIT}" "${S}/subprojects/hyprland-protocols" || die
+}
+
+src_configure() {
+ if ! (tc-is-gcc && [[ $(gcc-major-version) -ge 12 ]] && [[ $(gcc-minor-version) -ge 1 ]]) \
+ && ! (tc-is-clang && [[ $(clang-major-version) -ge 15 ]]); then
+ die "Hyprland requires >=sys-devel/gcc-12.1.0 or >=sys-devel/clang-15.0.0 to build"
+ fi
+
+ local emesonargs=(
+ $(meson_feature X xwayland)
+ $(meson_feature systemd)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install --skip-subprojects wlroots
+
+ use grimblast && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/grimblast" install
+ use shellevents && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/shellevents" install
+}
diff --git a/gui-wm/hyprland/metadata.xml b/gui-wm/hyprland/metadata.xml
new file mode 100644
index 000000000..151d36f31
--- /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">
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</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>
+ <remote-id type="github">hyprwm/hyprland-protocols</remote-id>
+ <remote-id type="github">hyprwm/contrib</remote-id>
+ <remote-id type="freedesktop-gitlab">wlroots/wlroots</remote-id>
+ </upstream>
+ <use>
+ <flag name="grimblast">Install 'grimblast': a Hyprland version of the sway script for taking screenshots</flag>
+ <flag name="shellevents">Install 'shellevents': Invoke shell functions in response to Hyprland socket2 events.</flag>
+ </use>
+</pkgmetadata>