Gentoo Archives: gentoo-commits

From: Julien Roy <julien@××××.ca>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: gui-wm/hyprland/
Date: Tue, 28 Feb 2023 00:35:16
Message-Id: 1677544495.89de392ec167decd60c73a9dd924382d0981e8a7.julien@gentoo
1 commit: 89de392ec167decd60c73a9dd924382d0981e8a7
2 Author: Julien Roy <julien <AT> jroy <DOT> ca>
3 AuthorDate: Tue Feb 28 00:34:55 2023 +0000
4 Commit: Julien Roy <julien <AT> jroy <DOT> ca>
5 CommitDate: Tue Feb 28 00:34:55 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=89de392e
7
8 gui-wm/hyprland: add 0.22.0
9
10 Signed-off-by: Julien Roy <julien <AT> jroy.ca>
11
12 gui-wm/hyprland/Manifest | 4 ++
13 gui-wm/hyprland/hyprland-0.22.0.ebuild | 109 +++++++++++++++++++++++++++++++++
14 gui-wm/hyprland/metadata.xml | 1 +
15 3 files changed, 114 insertions(+)
16
17 diff --git a/gui-wm/hyprland/Manifest b/gui-wm/hyprland/Manifest
18 index 030c8873f..f525a0101 100644
19 --- a/gui-wm/hyprland/Manifest
20 +++ b/gui-wm/hyprland/Manifest
21 @@ -1,4 +1,8 @@
22 +DIST contrib-0.22.0.tar.gz 11142 BLAKE2B 1d18956f69689eb737c079c3829ff47a47a36c05d151ad58a629621f2d6a0218368b2b41640d61dd670fb06f139c3c515ade9f4c301a8c4f82e70cf2d4a6b4e5 SHA512 655b9d98dc14205d5e42babbce2f89d63eb8f427db2a5fa7157c07d3021ea598cb3c4e5441a78f4a371b1e00bc32737263512ff137549c70bb5c09659a210b6d
23 DIST contrib.tar.gz 7408 BLAKE2B 03c3733a0b7b747f759b1b13f6fbd5342bc5cdea31f142730f69af85abf576f2c35bd7ea01e1aafba8ad7ae63505d7a9372279538ffb8cea3d61839e2bf4ea21 SHA512 671ea675b8f3de9b6ff8cce62297b5c14947b458de88ffa4bca5c51aafb66fc475782d0ed609a18e5281147f89aa531d4480ee46bb888f98651e4620f58318b4
24 DIST hyprland-0.21.0-r1.tar.gz 714570 BLAKE2B 6576765ec28e918be9aefa1252ad70019e2d77ae6f07b61161692ed1d0016d52376f1aae30b4200ae003585ca8ff907e810c635dc639d360f4f22be52d313b0d SHA512 a1fcd015be10267503d9ca529a538a0eebe8c197e91134de8377cca150efd99d0e51e7c9751ef8e81587fe04a497edff9d18b0e9dc5751a0f3eb4b3775c8ecad
25 +DIST hyprland-0.22.0.tar.gz 723020 BLAKE2B 54f682c5efd0061eb2ee1919be994c06c92e832b258ef4286086a6e0d5c5e0d6006f624103ddb05c722fd2b5db30557a489a06b8d11dd0f13bd77b1829317700 SHA512 e72ec2037ce23ba0d5d9af75d9ef2448b813a3e8862932e6780c2649e0df74cb9ff13cdaf41c5a09b06b3e51a09b48a13cbf923d73feaa5d5836ca023a7a551f
26 +DIST hyprland-protocols-0.22.0.tar.gz 4858 BLAKE2B 565532803fe6975efdba621c9ef69e4a7c18f040a65818e9f0f61d1dda15a3927f4aca25972989172554d5be5332f014d57dc8e1d0bb207ea5ba64aaec0e65f2 SHA512 03e176149fb0749f63fc58aea1175bfed92f0a30895d17e022ebdf9bb6f786e3a1018244379d0a6d205c590b25eccba0d7bea273bb389dd1031fad3d8467ef23
27 DIST hyprland-protocols.tar.gz 4858 BLAKE2B 565532803fe6975efdba621c9ef69e4a7c18f040a65818e9f0f61d1dda15a3927f4aca25972989172554d5be5332f014d57dc8e1d0bb207ea5ba64aaec0e65f2 SHA512 03e176149fb0749f63fc58aea1175bfed92f0a30895d17e022ebdf9bb6f786e3a1018244379d0a6d205c590b25eccba0d7bea273bb389dd1031fad3d8467ef23
28 +DIST wlr-0.22.0.tar.bz2 449752 BLAKE2B f28970353d0a2723543ac6cc1d1aca467d1d85ce19392156a4e569290dc886a0a917e19c5f2fea1cc7d7826563431c863ea8eb1380e471807322c60d2e21354d SHA512 656795ad0fd1e0a2955bb63f0770d476f90921a4c746a37829283b640358f74db6495b5eac9f6f0bddba9f4675e912bdf56c382d2c3df2af1007295821924b91
29 DIST wlr.tar.bz2 448534 BLAKE2B 35ff3e316ce5fa5d444e623597fdc61f143aa07440b8821faecc131aa5376b4ed691e84511ef438dfe4d429941d09fe0ab2d403414fd6a91e54a5bef890a4d68 SHA512 98af3902be681b11989f7d0c3b147ef3e4ef27dd377dd74b4e2a5151be1eeb0ff99d7738f2be4050116a7233820b0bb4f581ae0229d44043bfbd0f6af59108d4
30
31 diff --git a/gui-wm/hyprland/hyprland-0.22.0.ebuild b/gui-wm/hyprland/hyprland-0.22.0.ebuild
32 new file mode 100644
33 index 000000000..f1f1798b6
34 --- /dev/null
35 +++ b/gui-wm/hyprland/hyprland-0.22.0.ebuild
36 @@ -0,0 +1,109 @@
37 +# Copyright 2023 Gentoo Authors
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI=8
41 +
42 +inherit meson toolchain-funcs
43 +
44 +DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
45 +HOMEPAGE="https://github.com/hyprwm/Hyprland/releases"
46 +
47 +PROTOCOMMIT=301733ae466b229066ba15a53e6d8b91c5dcef5b
48 +WLRCOMMIT=677a3f2f8847ed2de49dd60868f9d9487a546f58
49 +CONTRIBCOMMIT=d5c0c94d61ac600687382b2e0959864d6fbc84b8
50 +SRC_URI="https://github.com/hyprwm/${PN^}/archive/v${PV}beta.tar.gz -> ${PF}.tar.gz
51 + https://github.com/hyprwm/hyprland-protocols/archive/${PROTOCOMMIT}.tar.gz \
52 + -> hyprland-protocols-${PV}.tar.gz
53 + https://github.com/hyprwm/contrib/archive/${CONTRIBCOMMIT}.tar.gz \
54 + -> contrib-${PV}.tar.gz
55 + https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/${WLRCOMMIT}/wlroots-${WLRCOMMIT}.tar.bz2 \
56 + -> wlr-${PV}.tar.bz2"
57 +S="${WORKDIR}/${PN^}-${PV}beta"
58 +
59 +KEYWORDS="~amd64"
60 +LICENSE="BSD"
61 +SLOT="0"
62 +IUSE="X grimblast scratchpad shellevents systemd"
63 +
64 +RDEPEND="
65 + app-misc/jq
66 + dev-libs/libevdev
67 + dev-libs/libinput
68 + dev-libs/wayland
69 + >=dev-libs/wayland-protocols-1.31
70 + dev-util/glslang
71 + dev-util/vulkan-headers
72 + gui-libs/gtk-layer-shell
73 + gui-libs/wlroots[X?]
74 + media-libs/libglvnd[X?]
75 + media-libs/mesa[gles2,wayland,X?]
76 + media-libs/vulkan-loader
77 + x11-base/xcb-proto
78 + x11-libs/cairo
79 + x11-libs/libdrm
80 + x11-libs/libxkbcommon
81 + x11-libs/pixman
82 + x11-misc/xkeyboard-config
83 + virtual/libudev
84 + grimblast? (
85 + gui-apps/grim
86 + gui-apps/slurp
87 + gui-apps/wl-clipboard
88 + x11-libs/libnotify
89 + )
90 + X? (
91 + gui-libs/wlroots[x11-backend]
92 + x11-base/xwayland
93 + x11-libs/libxcb
94 + x11-libs/xcb-util-image
95 + x11-libs/xcb-util-renderutil
96 + x11-libs/xcb-util-wm
97 + )
98 +"
99 +DEPEND="${RDEPEND}"
100 +BDEPEND="
101 + grimblast? ( app-text/scdoc )
102 + shellevents? ( app-text/scdoc )
103 +"
104 +
105 +PATCHES=(
106 + "${FILESDIR}/0.21.0-meson.patch"
107 +)
108 +
109 +src_unpack() {
110 + default
111 +
112 + rmdir "${S}/subprojects/wlroots"
113 + rmdir "${S}/subprojects/hyprland-protocols"
114 + mv "${WORKDIR}/wlroots-${WLRCOMMIT}" "${S}/subprojects/wlroots" || die
115 + mv "${WORKDIR}/hyprland-protocols-${PROTOCOMMIT}" "${S}/subprojects/hyprland-protocols" || die
116 + # Workaround for https://github.com/hyprwm/Hyprland/issues/1207
117 + cp "${S}/subprojects/hyprland-protocols/protocols/hyprland-toplevel-export-v1.xml" "${S}/protocols" || die
118 +}
119 +
120 +src_prepare() {
121 + STDLIBVER=$(echo '#include <string>' | $(tc-getCXX) -x c++ -dM -E - | \
122 + grep GLIBCXX_RELEASE | sed 's/.*\([1-9][0-9]\)/\1/')
123 + if ! [[ ${STDLIBVER} -ge 12 ]]; then
124 + die "Hyprland requires >=sys-devel/gcc-12.1.0 to build"
125 + fi
126 +
127 + default
128 +}
129 +
130 +src_configure() {
131 + local emesonargs=(
132 + $(meson_feature X xwayland)
133 + $(meson_feature systemd)
134 + )
135 +
136 + meson_src_configure
137 +}
138 +
139 +src_install() {
140 + meson_src_install --skip-subprojects
141 +
142 + use grimblast && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/grimblast" install
143 + use scratchpad && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/scratchpad" install
144 + use shellevents && emake PREFIX="${ED}/usr" -C "${WORKDIR}/contrib-${CONTRIBCOMMIT}/shellevents" install
145 +}
146
147 diff --git a/gui-wm/hyprland/metadata.xml b/gui-wm/hyprland/metadata.xml
148 index 151d36f31..d9b138f69 100644
149 --- a/gui-wm/hyprland/metadata.xml
150 +++ b/gui-wm/hyprland/metadata.xml
151 @@ -16,6 +16,7 @@
152 </upstream>
153 <use>
154 <flag name="grimblast">Install 'grimblast': a Hyprland version of the sway script for taking screenshots</flag>
155 + <flag name="scratchpad">Install 'scratchpad': a Bash script that sends focused window to a special workspace</flag>
156 <flag name="shellevents">Install 'shellevents': Invoke shell functions in response to Hyprland socket2 events.</flag>
157 </use>
158 </pkgmetadata>