From 72607ad00acb19416f8173803aa3767b4b4aeb62 Mon Sep 17 00:00:00 2001 From: Aisha Tammy Date: Fri, 15 May 2020 11:52:55 -0400 Subject: gui-wm/wayfire: compiz like 3d wayland manager Closes: https://bugs.gentoo.org/686854 compiz like eye-candy 3D wayland, with low memory footprint. Aims to bring desktop features such as 3D cube, fire burn, fisheye, wrot and all other desktop effects to wayland. Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Aisha Tammy Signed-off-by: Aaron Bauman --- gui-wm/wayfire/Manifest | 1 + gui-wm/wayfire/metadata.xml | 23 +++++++++ gui-wm/wayfire/wayfire-0.4.0.ebuild | 97 +++++++++++++++++++++++++++++++++++++ gui-wm/wayfire/wayfire-9999.ebuild | 97 +++++++++++++++++++++++++++++++++++++ 4 files changed, 218 insertions(+) create mode 100644 gui-wm/wayfire/Manifest create mode 100644 gui-wm/wayfire/metadata.xml create mode 100644 gui-wm/wayfire/wayfire-0.4.0.ebuild create mode 100644 gui-wm/wayfire/wayfire-9999.ebuild (limited to 'gui-wm') diff --git a/gui-wm/wayfire/Manifest b/gui-wm/wayfire/Manifest new file mode 100644 index 000000000000..f03e463761b8 --- /dev/null +++ b/gui-wm/wayfire/Manifest @@ -0,0 +1 @@ +DIST wayfire-0.4.0.tar.xz 588904 BLAKE2B b720297b3ffb868761ea61615b4d0fefc2687f8a2060208f8cc002ff7adaf7622da906ad98e25664c3e72c04de2fb74741d0a417cce4826483407bdf10d63b43 SHA512 e96cdb90ce36c005476e08608683983aa167e58aea80fcfd3b24ab0836ec4aa50fb5a7eeb0872a1b1014e3073ed826e1c83d3146b39d3cdb2a8b3a0895155649 diff --git a/gui-wm/wayfire/metadata.xml b/gui-wm/wayfire/metadata.xml new file mode 100644 index 000000000000..c61941f4b35f --- /dev/null +++ b/gui-wm/wayfire/metadata.xml @@ -0,0 +1,23 @@ + + + + + compiz like eye-candy 3D wayland, with low memory footprint. + Aims to bring desktop features such as 3D cube, fire burn, + fisheye, wrot and all other desktop effects to wayland. + + + gentoo@aisha.cc + Aisha Tammy + + + proxy-maint@gentoo.org + Proxy Maintainers + + + use libglvnd to do animations more efficiently + use the system-wide wf-config, else build it as a submodule. DO NOT DISABLE UNLESS YOU KNOW WHAT YOU ARE DOING. + use the system wide wlroots, else build it as a submodule. DO NOT DISABLE UNLESS YOU KNOW WHAT YOU ARE DOING. + add debugging symbols for error reporting. DISABLE ALL SYSTEM USE FLAGS BEFORE REPORTING BUGS. + + diff --git a/gui-wm/wayfire/wayfire-0.4.0.ebuild b/gui-wm/wayfire/wayfire-0.4.0.ebuild new file mode 100644 index 000000000000..96c6375e2b05 --- /dev/null +++ b/gui-wm/wayfire/wayfire-0.4.0.ebuild @@ -0,0 +1,97 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson + +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" +else + SRC_URI="https://github.com/WayfireWM/${PN}/releases/download/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="+gles2 +system-wfconfig +system-wlroots elogind systemd debug" +REQUIRED_USE="?? ( elogind systemd )" + +DEPEND=" + dev-libs/libevdev + dev-libs/libinput + gui-libs/gtk-layer-shell + media-libs/glm + media-libs/mesa:=[gles2,wayland,X] + media-libs/libjpeg-turbo + media-libs/libpng + media-libs/freetype:=[X] + x11-libs/libdrm + x11-libs/gtk+:3=[wayland,X] + x11-libs/cairo:=[X,svg] + x11-libs/libxkbcommon:=[X] + x11-libs/pixman + gles2? ( media-libs/libglvnd[X] ) + system-wfconfig? ( ~gui-libs/wf-config-${PV}[debug=] ) + !system-wfconfig? ( !gui-libs/wf-config ) + system-wlroots? ( >=gui-libs/wlroots-0.10.0[elogind=,systemd=,X] ) + !system-wlroots? ( !gui-libs/wlroots ) +" + +RDEPEND=" + ${DEPEND} + elogind? ( sys-auth/elogind ) + systemd? ( sys-apps/systemd ) + x11-misc/xkeyboard-config +" + +BDEPEND=" + ${DEPEND} + virtual/pkgconfig + >=dev-libs/wayland-protocols-1.18 +" + +src_compile(){ + local emesonargs=( + $(meson_feature system-wfconfig use_system_wfconfig) + $(meson_feature system-wlroots use_system_wlroots) + $(meson_use gles2 enable_gles32) + ) + if use debug; then + emesonargs+=( + "-Db_sanitize=address,undefined" + ) + fi + meson_src_compile +} + +src_install() { + default + meson_src_install + einstalldocs + + insinto "/usr/share/wayland-sessions/" + insopts -m644 + doins wayfire.desktop + + dodoc wayfire.ini + + if ! use systemd && ! use elogind; then + fowners root:0 /usr/bin/wayfire + fperms 4511 /usr/bin/wayfire + fi +} + +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/doc/${P}/wayfire.ini.bz2\"" + elog "To install the file execute" + elog "\$ mkdir -p ~/.config && bzcat /usr/share/doc/${P}/wayfire.ini.bz2 > ~/.config/wayfire.ini" + fi +} diff --git a/gui-wm/wayfire/wayfire-9999.ebuild b/gui-wm/wayfire/wayfire-9999.ebuild new file mode 100644 index 000000000000..96c6375e2b05 --- /dev/null +++ b/gui-wm/wayfire/wayfire-9999.ebuild @@ -0,0 +1,97 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson + +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" +else + SRC_URI="https://github.com/WayfireWM/${PN}/releases/download/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="+gles2 +system-wfconfig +system-wlroots elogind systemd debug" +REQUIRED_USE="?? ( elogind systemd )" + +DEPEND=" + dev-libs/libevdev + dev-libs/libinput + gui-libs/gtk-layer-shell + media-libs/glm + media-libs/mesa:=[gles2,wayland,X] + media-libs/libjpeg-turbo + media-libs/libpng + media-libs/freetype:=[X] + x11-libs/libdrm + x11-libs/gtk+:3=[wayland,X] + x11-libs/cairo:=[X,svg] + x11-libs/libxkbcommon:=[X] + x11-libs/pixman + gles2? ( media-libs/libglvnd[X] ) + system-wfconfig? ( ~gui-libs/wf-config-${PV}[debug=] ) + !system-wfconfig? ( !gui-libs/wf-config ) + system-wlroots? ( >=gui-libs/wlroots-0.10.0[elogind=,systemd=,X] ) + !system-wlroots? ( !gui-libs/wlroots ) +" + +RDEPEND=" + ${DEPEND} + elogind? ( sys-auth/elogind ) + systemd? ( sys-apps/systemd ) + x11-misc/xkeyboard-config +" + +BDEPEND=" + ${DEPEND} + virtual/pkgconfig + >=dev-libs/wayland-protocols-1.18 +" + +src_compile(){ + local emesonargs=( + $(meson_feature system-wfconfig use_system_wfconfig) + $(meson_feature system-wlroots use_system_wlroots) + $(meson_use gles2 enable_gles32) + ) + if use debug; then + emesonargs+=( + "-Db_sanitize=address,undefined" + ) + fi + meson_src_compile +} + +src_install() { + default + meson_src_install + einstalldocs + + insinto "/usr/share/wayland-sessions/" + insopts -m644 + doins wayfire.desktop + + dodoc wayfire.ini + + if ! use systemd && ! use elogind; then + fowners root:0 /usr/bin/wayfire + fperms 4511 /usr/bin/wayfire + fi +} + +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/doc/${P}/wayfire.ini.bz2\"" + elog "To install the file execute" + elog "\$ mkdir -p ~/.config && bzcat /usr/share/doc/${P}/wayfire.ini.bz2 > ~/.config/wayfire.ini" + fi +} -- cgit v1.2.3-65-gdbad