aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui-wm/hyprland/Manifest2
-rw-r--r--gui-wm/hyprland/hyprland-0.25.0.ebuild98
-rw-r--r--gui-wm/hyprland/metadata.xml1
3 files changed, 101 insertions, 0 deletions
diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
index 64df7ee82..16040e60f 100644
--- a/gui-wm/hyprland/Manifest
+++ b/gui-wm/hyprland/Manifest
@@ -1,2 +1,4 @@
DIST contrib-0.24.1.tar.gz 12262 BLAKE2B dcb971c345ada8bef50719fdd3ce081641c1eb92d19ced174f0a6a961d68785a130ff1b0c4cca1685983b02a6af3bfafa3e6a03567ce7280fa0bbc1e57802b3b SHA512 266d5e1dd258b1a0e1487794f06a8480a65c161c829ac59cc99632f0488dbc261390816a06a574a694c76be4374ac59bdcce8f473be80481c47ff52347956ba2
+DIST contrib-0.25.0.tar.gz 13692 BLAKE2B 6e9f9d474b4b88a6ae230fd9e10f775b581817110b81dee8d454ce337b04528664c2be93bd9a88f6e3b34a608e3a310b9450f0ae86da445cccc1befa72ca812c SHA512 6857398bfcfdfb4d46479a4a6a27c7b5581aa10d810ff8edb2f54d949989038774d94fe121e80c353fe82599f48e5804bcccee3969f72cf8e2a4292433fb7250
DIST hyprland-0.24.1-r1.gh.tar.gz 1502909 BLAKE2B ddc2ed026c921061427799836a957efb35fb68f3628f0cf5cb3d4d3ec2c876f62275bf8c580cbb8fb480b0b0fc6f1bff690da3ce0459c2af170e4e0add8e898c SHA512 d6d232f597a5790818345b43c329c4fa225a0d2f5e5bbddef88fa8ca59a6ff1d867dfea208ea215dbd37049c301a45aa292ff133c6fdf5e4b73918396c57f6f2
+DIST hyprland-0.25.0.gh.tar.gz 1510798 BLAKE2B c146c57e5142666ff76188e870ea4d2dd9613e25a1d2c3320dc222fbe62651975a40fffffe9cc936ced0e86f919534d7a6c94a8b1596f912c3ad9750a35e4f13 SHA512 84d12ef7bfb25e69c4a707a8ffc99ca23eb58e73630e3df1f134cb610c6206e42917f76b54db0cc6d10e7b929514cbac06dfc99feba8ff81aea0dc7fcb340450
diff --git a/gui-wm/hyprland/hyprland-0.25.0.ebuild b/gui-wm/hyprland/hyprland-0.25.0.ebuild
new file mode 100644
index 000000000..07e6cfa72
--- /dev/null
+++ b/gui-wm/hyprland/hyprland-0.25.0.ebuild
@@ -0,0 +1,98 @@
+# 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"
+
+CONTRIBCOMMIT=a5792efdb113e9e971dc6fe5114fee814afbfb81
+SRC_URI="https://github.com/hyprwm/${PN^}/releases/download/v${PV}/source-v${PV}.tar.gz -> ${PF}.gh.tar.gz
+ https://github.com/hyprwm/contrib/archive/${CONTRIBCOMMIT}.tar.gz \
+ -> contrib-${PV}.tar.gz
+"
+S="${WORKDIR}/${PN}-source"
+
+KEYWORDS="~amd64"
+LICENSE="BSD"
+SLOT="0"
+IUSE="X grimblast hyprprop legacy-renderer scratchpad shellevents systemd"
+
+RDEPEND="
+ app-misc/jq
+ dev-libs/libevdev
+ dev-libs/libinput
+ dev-libs/wayland
+ dev-libs/wayland-protocols
+ dev-util/glslang
+ dev-util/vulkan-headers
+ gui-libs/gtk-layer-shell
+ media-libs/libdisplay-info
+ 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
+ x11-misc/xkeyboard-config
+ virtual/libudev
+ grimblast? (
+ gui-apps/grim
+ gui-apps/slurp
+ gui-apps/wl-clipboard
+ x11-libs/libnotify
+ )
+ hyprprop? ( gui-apps/slurp )
+ X? (
+ gui-libs/wlroots[x11-backend]
+ x11-base/xwayland
+ x11-libs/libxcb
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-libs/hyprland-protocols
+ dev-libs/libliftoff
+ >=dev-libs/wayland-1.22.0
+ dev-vcs/git
+ >=gui-libs/wlroots-0.16.0[X?]
+ grimblast? ( app-text/scdoc )
+ hyprprop? ( app-text/scdoc )
+ shellevents? ( app-text/scdoc )
+"
+
+src_prepare() {
+ 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
+
+ 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
+
+ use grimblast && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/grimblast" install
+ use hyprprop && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/hyprprop" install
+ use scratchpad && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/scratchpad" 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
index 5acac2587..37ec2f62b 100644
--- a/gui-wm/hyprland/metadata.xml
+++ b/gui-wm/hyprland/metadata.xml
@@ -16,6 +16,7 @@
</upstream>
<use>
<flag name="grimblast">Install 'grimblast': a Hyprland version of the sway script for taking screenshots</flag>
+ <flag name="hyprprop">Install hyprprop: a xprop replacement for hyprland</flag>
<flag name="legacy-renderer">Enable legacy renderer</flag>
<flag name="scratchpad">Install 'scratchpad': a Bash script that sends focused window to a special workspace</flag>
<flag name="shellevents">Install 'shellevents': Invoke shell functions in response to Hyprland socket2 events.</flag>