commit:     a6da6e062fd05e637af7a70fe8644be36b3c579a
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Sat Nov 25 22:54:45 2023 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 17 19:55:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6da6e06

gui-wm/wayfire: add 0.8.0

Bug: https://bugs.gentoo.org/915795
Bug: https://bugs.gentoo.org/916431
Closes: https://bugs.gentoo.org/831959
Closes: https://bugs.gentoo.org/859256
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 gui-wm/wayfire/Manifest             |   1 +
 gui-wm/wayfire/wayfire-0.8.0.ebuild | 158 ++++++++++++++++++++++++++++++++++++
 gui-wm/wayfire/wayfire-9999.ebuild  | 118 ++++++++++++++++++---------
 3 files changed, 239 insertions(+), 38 deletions(-)

diff --git a/gui-wm/wayfire/Manifest b/gui-wm/wayfire/Manifest
index b0f036b8be78..1d54c8fd01bb 100644
--- a/gui-wm/wayfire/Manifest
+++ b/gui-wm/wayfire/Manifest
@@ -1,2 +1,3 @@
 DIST wayfire-0.7.3.tar.xz 765524 BLAKE2B 
b82c66796d7fb3d07c7bd9078755b7c38df1bd5c93daa659fc98b1182679bc0a06a24b322c6ab492d06d30c898659e2ba849c1d5944260e8775a04fd8a5bd078
 SHA512 
7bb5b8492a632a9816e847ec72def74dc234bcc30da7c320a0cd3b1d60492f5521ad8ac76a12ef967d1b114bcde9be72eb8ffc618977aed8e198d4ace1e7056e
 DIST wayfire-0.7.5.tar.xz 781952 BLAKE2B 
10f4927d793ad2f8047ab5608db72bb5988fbb4df805dc65a87b011453729109ca0b3a92cf89e867266fae52268e1e2ac452bbd6efcc81e8f1a0c0640008adc1
 SHA512 
fce6d4c81fa3675df1e656f8bf504f7fc9d1b7104687bcc6d669950582f46bd0ad084c6a487434077df029438243cd91cf6ec60dc7d584b40bfd7a4c8d069f53
+DIST wayfire-0.8.0.tar.xz 828576 BLAKE2B 
4d80a0d43061a4564d45f7c077fd97737b426c4036c12f004815dbad120f51b38b2fac9a010e2df27a6a96205cd0dcceb81864bdccbd6e337d81f6c37926e019
 SHA512 
fab55f6112c462312edf43d41b29f476d493449eca8f0c5cfee8f3aae73dcb98be46c589fc23d10d961f738bdf6d1fe78286b4c96e1d4444fdc8b1b898d998a9

diff --git a/gui-wm/wayfire/wayfire-0.8.0.ebuild 
b/gui-wm/wayfire/wayfire-0.8.0.ebuild
new file mode 100644
index 000000000000..7e1b3e3efe4b
--- /dev/null
+++ b/gui-wm/wayfire/wayfire-0.8.0.ebuild
@@ -0,0 +1,158 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson toolchain-funcs
+
+DESCRIPTION="compiz like 3D wayland compositor"
+HOMEPAGE="https://github.com/WayfireWM/wayfire";
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/WayfireWM/${PN}.git";
+       SLOT="0/9999"
+else
+       
SRC_URI="https://github.com/WayfireWM/${PN}/releases/download/v${PV}/${P}.tar.xz";
+       KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+       SLOT="0/$(ver_cut 1-2)"
+fi
+
+LICENSE="MIT"
+IUSE="debug +gles +system-wfconfig +system-wlroots test X"
+RESTRICT="!test? ( test )"
+
+# 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_CDEPEND="
+       >=dev-libs/libinput-1.14.0:=
+       >=dev-libs/wayland-1.21
+       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-image
+               x11-libs/xcb-util-renderutil
+               x11-libs/xcb-util-wm
+       )
+"
+WLROOTS_DEPEND="
+       >=dev-libs/wayland-protocols-1.28
+"
+WLROOTS_BDEPEND="
+       dev-util/glslang
+       dev-util/wayland-scanner
+"
+
+CDEPEND="
+       dev-cpp/nlohmann_json
+       dev-libs/libevdev
+       >=dev-libs/libinput-1.7.0
+       dev-libs/wayland
+       >=dev-libs/wayland-protocols-1.12
+       media-libs/glm
+       media-libs/libglvnd
+       media-libs/libjpeg-turbo:=
+       media-libs/libpng:=
+       x11-libs/cairo
+       x11-libs/libdrm:=
+       x11-libs/libxkbcommon
+       x11-libs/pango
+       x11-libs/pixman
+       system-wfconfig? ( gui-libs/wf-config:${SLOT} )
+       !system-wfconfig? ( dev-libs/libxml2 )
+       !system-wlroots? ( ${WLROOTS_CDEPEND} )
+"
+
+if [[ ${PV} == 9999 ]] ; then
+       CDEPEND+="
+               system-wlroots? ( 
gui-libs/wlroots:0/9999[drm(+),libinput(+),x11-backend,X?] )
+       "
+else
+       CDEPEND+="
+               system-wlroots? ( 
gui-libs/wlroots:0/16[drm(+),libinput(+),x11-backend,X?] )
+       "
+fi
+
+RDEPEND="
+       ${CDEPEND}
+       x11-misc/xkeyboard-config
+       !system-wfconfig? ( !gui-libs/wf-config )
+       !system-wlroots? ( !gui-libs/wlroots )
+"
+DEPEND="
+       ${CDEPEND}
+       !system-wlroots? ( ${WLROOTS_DEPEND} )
+       test? ( dev-cpp/doctest )
+"
+BDEPEND="
+       dev-util/wayland-scanner
+       virtual/pkgconfig
+       !system-wlroots? ( ${WLROOTS_BDEPEND} )
+"
+
+src_prepare() {
+       eapply_user
+
+       sed -e "s:@EPREFIX@:${EPREFIX}:" \
+               "${FILESDIR}"/wayfire-session > "${T}"/wayfire-session || die
+       sed -e "s:@EPREFIX@:${EPREFIX}:" \
+               "${FILESDIR}"/wayfire-session.desktop > 
"${T}"/wayfire-session.desktop || die
+
+       if [[ "${PV}" == 9999 ]]; then
+               # Don't run git if git is installed and its not a git dir
+               sed -i \
+                       -e "/git = find_program/ifs = import\('fs'\)" \
+                       -e "s/if git.found()/if git.found() and 
fs.is_dir('.git')/" \
+                       meson.build || die
+       fi
+
+}
+
+src_configure() {
+       local emesonargs=(
+               $(meson_feature system-wfconfig use_system_wfconfig)
+               $(meson_feature system-wlroots use_system_wlroots)
+               $(meson_feature test tests)
+               $(meson_feature X xwayland)
+               $(meson_use gles enable_gles32)
+               $(usex debug --buildtype=debug "")
+               $(usex debug -Db_sanitize=address,undefined "")
+       )
+
+       # Clang will fail to link without this
+       tc-is-clang && emesonargs+=( $(usex debug -Db_lundef=false "") )
+
+       meson_src_configure
+}
+
+src_install() {
+       meson_src_install
+       dobin "${T}"/wayfire-session
+
+       insinto "/usr/share/wayland-sessions/"
+       insopts -m644
+       doins wayfire.desktop
+       doins "${T}"/wayfire-session.desktop
+
+       insinto "/usr/share/wayfire/"
+       doins wayfire.ini
+}
+
+pkg_postinst() {
+       if [ -z "${REPLACING_VERSIONS}" ]; then
+               elog "Wayfire has been installed but the session cannot be used"
+               elog "until you install a configuration file. The default 
config"
+               elog "file is installed at \"/usr/share/wayfire/wayfire.ini\""
+               elog "To install the file execute"
+               elog "\$ cp /usr/share/wayfire/wayfire.ini 
~/.config/wayfire.ini"
+       fi
+}

diff --git a/gui-wm/wayfire/wayfire-9999.ebuild 
b/gui-wm/wayfire/wayfire-9999.ebuild
index 9ff84a6351ce..4406f3a1897f 100644
--- a/gui-wm/wayfire/wayfire-9999.ebuild
+++ b/gui-wm/wayfire/wayfire-9999.ebuild
@@ -11,76 +11,118 @@ HOMEPAGE="https://github.com/WayfireWM/wayfire";
 if [[ ${PV} == 9999 ]]; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/WayfireWM/${PN}.git";
+       SLOT="0/9999"
 else
        
SRC_URI="https://github.com/WayfireWM/${PN}/releases/download/v${PV}/${P}.tar.xz";
        KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+       SLOT="0/$(ver_cut 1-2)"
 fi
 
 LICENSE="MIT"
-SLOT="0"
-IUSE="debug +gles +system-wfconfig +system-wlroots X"
+IUSE="debug +gles +system-wfconfig +system-wlroots test X"
+RESTRICT="!test? ( test )"
+
+# 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_CDEPEND="
+       >=dev-libs/libinput-1.14.0:=
+       >=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-image
+               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
+"
 
-DEPEND="
-       dev-libs/libinput:=
+CDEPEND="
+       dev-cpp/nlohmann_json
+       dev-libs/libevdev
+       >=dev-libs/libinput-1.7.0
        dev-libs/wayland
-       gui-libs/gtk-layer-shell
+       >=dev-libs/wayland-protocols-1.12
        media-libs/glm
-       media-libs/mesa:=[gles2,wayland,X?]
-       media-libs/libglvnd[X?]
-       media-libs/libjpeg-turbo:=
-       media-libs/libpng:=
-       media-libs/freetype:=[X?]
+       media-libs/libglvnd
+       media-libs/libjpeg-turbo
+       media-libs/libpng
+       x11-libs/cairo
        x11-libs/libdrm
-       x11-libs/gtk+:3=[wayland,X?]
-       x11-libs/cairo[X?,svg(+)]
-       x11-libs/libxkbcommon[X?]
+       x11-libs/libxkbcommon
        x11-libs/pango
        x11-libs/pixman
-       X? (
-               x11-base/xwayland
-               x11-libs/libxcb
-       )
+       system-wfconfig? ( gui-libs/wf-config:${SLOT} )
+       !system-wfconfig? ( dev-libs/libxml2 )
+       !system-wlroots? ( ${WLROOTS_CDEPEND} )
 "
 
 if [[ ${PV} == 9999 ]] ; then
-       DEPEND+="
-               system-wfconfig? ( ~gui-libs/wf-config-9999:= )
-               !system-wfconfig? ( !gui-libs/wf-config )
-               system-wlroots? ( 
~gui-libs/wlroots-9999:=[drm(+),libinput(+),x11-backend,X?] )
-               !system-wlroots? ( !gui-libs/wlroots )
+       CDEPEND+="
+               system-wlroots? ( 
gui-libs/wlroots:0/9999[drm(+),libinput(+),x11-backend,X?] )
        "
 else
-       DEPEND+="
-               system-wfconfig? (
-                       >=gui-libs/wf-config-0.7.1
-                       <gui-libs/wf-config-0.8.0
-               )
-               !system-wfconfig? ( !gui-libs/wf-config )
-               system-wlroots? (
-                       
>=gui-libs/wlroots-0.16.0:0/16[drm(+),libinput(+),x11-backend,X?]
-               )
-               !system-wlroots? ( !gui-libs/wlroots )
+       CDEPEND+="
+               system-wlroots? ( 
gui-libs/wlroots:0/16[drm(+),libinput(+),x11-backend,X?] )
        "
 fi
 
 RDEPEND="
-       ${DEPEND}
+       ${CDEPEND}
        x11-misc/xkeyboard-config
+       !system-wfconfig? ( !gui-libs/wf-config )
+       !system-wlroots? ( !gui-libs/wlroots )
+"
+DEPEND="
+       ${CDEPEND}
+       !system-wlroots? ( ${WLROOTS_DEPEND} )
+       test? ( dev-cpp/doctest )
 "
-
 BDEPEND="
-       dev-libs/wayland-protocols
+       dev-util/wayland-scanner
        virtual/pkgconfig
+       !system-wlroots? ( ${WLROOTS_BDEPEND} )
 "
 
-src_configure() {
+src_prepare() {
+       eapply_user
+
        sed -e "s:@EPREFIX@:${EPREFIX}:" \
-           "${FILESDIR}"/wayfire-session > "${T}"/wayfire-session || die
+               "${FILESDIR}"/wayfire-session > "${T}"/wayfire-session || die
        sed -e "s:@EPREFIX@:${EPREFIX}:" \
-           "${FILESDIR}"/wayfire-session.desktop > 
"${T}"/wayfire-session.desktop || die
+               "${FILESDIR}"/wayfire-session.desktop > 
"${T}"/wayfire-session.desktop || die
+
+       if [[ "${PV}" == 9999 ]]; then
+               # Don't run git if git is installed and its not a git dir
+               sed -i \
+                       -e "/git = find_program/ifs = import\('fs'\)" \
+                       -e "s/if git.found()/if git.found() and 
fs.is_dir('.git')/" \
+                       meson.build || die
+       fi
+
+}
+
+src_configure() {
        local emesonargs=(
                $(meson_feature system-wfconfig use_system_wfconfig)
                $(meson_feature system-wlroots use_system_wlroots)
+               $(meson_feature test tests)
                $(meson_feature X xwayland)
                $(meson_use gles enable_gles32)
                $(usex debug --buildtype=debug "")

Reply via email to