commit:     b80e6a855ec9c0d2b96782ad8b72555295f85340
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Thu Jan 25 16:06:09 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 30 11:32:39 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b80e6a85

gui-wm/wayfire: fix duplicate manpage

Closes: https://bugs.gentoo.org/922898
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35009
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../wayfire-0.8.0-fix-duplicate-manpage.patch      |  21 +++
 gui-wm/wayfire/wayfire-0.8.0-r1.ebuild             | 162 +++++++++++++++++++++
 2 files changed, 183 insertions(+)

diff --git a/gui-wm/wayfire/files/wayfire-0.8.0-fix-duplicate-manpage.patch 
b/gui-wm/wayfire/files/wayfire-0.8.0-fix-duplicate-manpage.patch
new file mode 100644
index 000000000000..393de41d0ccb
--- /dev/null
+++ b/gui-wm/wayfire/files/wayfire-0.8.0-fix-duplicate-manpage.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/922898
+https://github.com/WayfireWM/wayfire/issues/1942
+https://github.com/WayfireWM/wayfire/pull/1943
+https://github.com/WayfireWM/wayfire/commit/564b75a45d7c844b61b510e68fa527109fce4a75
+
+From 564b75a45d7c844b61b510e68fa527109fce4a75 Mon Sep 17 00:00:00 2001
+From: alice <al...@ayaya.dev>
+Date: Sat, 7 Oct 2023 22:51:35 +0200
+Subject: [PATCH] meson: fix duplicate installation of manpage (#1943)
+
+closes #1942
+--- a/man/meson.build
++++ b/man/meson.build
+@@ -1,7 +1,5 @@
+ configure_file(input: 'wayfire.1.in',
+                output: 'wayfire.1',
+-               install: true,
+-               install_dir: 'man',
+                configuration: conf_data)
+ 
+ install_man(join_paths(meson.project_build_root(), 'man', 'wayfire.1'))

diff --git a/gui-wm/wayfire/wayfire-0.8.0-r1.ebuild 
b/gui-wm/wayfire/wayfire-0.8.0-r1.ebuild
new file mode 100644
index 000000000000..1fb2416c2bd8
--- /dev/null
+++ b/gui-wm/wayfire/wayfire-0.8.0-r1.ebuild
@@ -0,0 +1,162 @@
+# Copyright 2019-2024 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} )
+"
+
+PATCHES=(
+       "${FILESDIR}/wayfire-0.8.0-fix-duplicate-manpage.patch"
+)
+
+src_prepare() {
+       default
+
+       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
+}

Reply via email to