summaryrefslogtreecommitdiff
path: root/gui-wm
diff options
context:
space:
mode:
authorMartin Väth <martin@mvath.de>2023-01-31 03:43:14 +0100
committerMartin Väth <martin@mvath.de>2023-01-31 03:43:14 +0100
commitf35c64deca844d359971a56fd2907680267a2880 (patch)
tree4e4752ddab1288a9459876dc25a1a02d026159ff /gui-wm
parentapp-portage/eix, app-arch/archwrap: Version bumps (diff)
downloadmv-f35c64deca844d359971a56fd2907680267a2880.tar.gz
mv-f35c64deca844d359971a56fd2907680267a2880.tar.bz2
mv-f35c64deca844d359971a56fd2907680267a2880.zip
gui-wm/wayfire: Add 0.7.5 to bump for gui-libs/wlroots:0/16
Signed-off-by: Martin Väth <martin@mvath.de>
Diffstat (limited to 'gui-wm')
-rw-r--r--gui-wm/wayfire/Manifest1
-rw-r--r--gui-wm/wayfire/files/wayfire-session17
-rw-r--r--gui-wm/wayfire/files/wayfire-session.desktop7
-rw-r--r--gui-wm/wayfire/metadata.xml18
-rw-r--r--gui-wm/wayfire/wayfire-0.7.5.ebuild106
5 files changed, 149 insertions, 0 deletions
diff --git a/gui-wm/wayfire/Manifest b/gui-wm/wayfire/Manifest
new file mode 100644
index 00000000..1901df5c
--- /dev/null
+++ b/gui-wm/wayfire/Manifest
@@ -0,0 +1 @@
+DIST wayfire-0.7.5.tar.xz 781952 BLAKE2B 10f4927d793ad2f8047ab5608db72bb5988fbb4df805dc65a87b011453729109ca0b3a92cf89e867266fae52268e1e2ac452bbd6efcc81e8f1a0c0640008adc1 SHA512 fce6d4c81fa3675df1e656f8bf504f7fc9d1b7104687bcc6d669950582f46bd0ad084c6a487434077df029438243cd91cf6ec60dc7d584b40bfd7a4c8d069f53
diff --git a/gui-wm/wayfire/files/wayfire-session b/gui-wm/wayfire/files/wayfire-session
new file mode 100644
index 00000000..8267ea0e
--- /dev/null
+++ b/gui-wm/wayfire/files/wayfire-session
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# output to syslog and stderr
+# with PID and syslog identity 'wayfire'
+exec 1> >(logger --id=$$ --stderr --tag wayfire) 2>&1
+
+# if undefined, or empty, set to freedesktop specification defaults
+[ -z "$XDG_DATA_DIRS" ] && export XDG_DATA_DIRS="/usr/local/share:/usr/share"
+
+# freedesktop specifications mandate that the definition
+# of XDG_SESSION_TYPE should be respected
+export XDG_SESSION_TYPE=wayland
+export GDK_BACKEND=wayland
+export QT_QPA_PLATFORM=wayland
+export MOZ_ENABLE_WAYLAND=1
+
+exec @EPREFIX@/usr/bin/wayfire "$@"
diff --git a/gui-wm/wayfire/files/wayfire-session.desktop b/gui-wm/wayfire/files/wayfire-session.desktop
new file mode 100644
index 00000000..1088c4e0
--- /dev/null
+++ b/gui-wm/wayfire/files/wayfire-session.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=Wayfire Session
+Comment=wayfire session with proper env vars
+Exec=@EPREFIX@/usr/bin/wayfire-session $*
+TryExec=@EPREFIX@/usr/bin/wayfire-session
+Type=Application
+DesktopNames=Wayfire
diff --git a/gui-wm/wayfire/metadata.xml b/gui-wm/wayfire/metadata.xml
new file mode 100644
index 00000000..b7ebd852
--- /dev/null
+++ b/gui-wm/wayfire/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>
+ 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.
+ </longdescription>
+ <use>
+ <flag name="gles">use libglvnd to do animations more efficiently</flag>
+ <flag name="system-wfconfig">use the system-wide wf-config, else build it as a submodule. DO NOT DISABLE UNLESS YOU KNOW WHAT YOU ARE DOING.</flag>
+ <flag name="system-wlroots">use the system wide wlroots, else build it as a submodule. DO NOT DISABLE UNLESS YOU KNOW WHAT YOU ARE DOING.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">WayfireWM/wayfire</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/gui-wm/wayfire/wayfire-0.7.5.ebuild b/gui-wm/wayfire/wayfire-0.7.5.ebuild
new file mode 100644
index 00000000..0a7b2d25
--- /dev/null
+++ b/gui-wm/wayfire/wayfire-0.7.5.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+RESTRICT="mirror"
+
+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"
+else
+ SRC_URI="https://github.com/WayfireWM/${PN}/releases/download/v${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="debug +gles +system-wfconfig +system-wlroots X"
+
+DEPEND="
+ dev-libs/libinput:=
+ dev-libs/wayland
+ gui-libs/gtk-layer-shell
+ media-libs/glm
+ media-libs/mesa:=[gles2,wayland,X?]
+ media-libs/libglvnd[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/pango
+ x11-libs/pixman
+ X? (
+ x11-base/xwayland
+ x11-libs/libxcb
+ )
+ 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[X?]
+ )
+ !system-wlroots? ( !gui-libs/wlroots )
+"
+
+RDEPEND="
+ ${DEPEND}
+ x11-misc/xkeyboard-config
+"
+
+BDEPEND="
+ dev-libs/wayland-protocols
+ virtual/pkgconfig
+"
+
+src_configure() {
+ 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
+ local emesonargs=(
+ $(meson_feature system-wfconfig use_system_wfconfig)
+ $(meson_feature system-wlroots use_system_wlroots)
+ $(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
+}