summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfred Wingate <parona@protonmail.com>2023-11-26 00:54:45 +0200
committerArthur Zamarin <arthurzam@gentoo.org>2023-12-17 21:55:17 +0200
commita6da6e062fd05e637af7a70fe8644be36b3c579a (patch)
tree251b4d17bf9cd54612f66a3135b4c93d3a071de2
parentgui-libs/wf-config: add 0.8.0 (diff)
downloadgentoo-a6da6e062fd05e637af7a70fe8644be36b3c579a.tar.gz
gentoo-a6da6e062fd05e637af7a70fe8644be36b3c579a.tar.bz2
gentoo-a6da6e062fd05e637af7a70fe8644be36b3c579a.zip
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@protonmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
-rw-r--r--gui-wm/wayfire/Manifest1
-rw-r--r--gui-wm/wayfire/wayfire-0.8.0.ebuild158
-rw-r--r--gui-wm/wayfire/wayfire-9999.ebuild118
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 "")