summaryrefslogtreecommitdiff
path: root/gui-wm
diff options
context:
space:
mode:
authorMatthew Thode <prometheanfire@gentoo.org>2023-12-20 17:22:20 -0600
committerMatthew Thode <prometheanfire@gentoo.org>2023-12-20 17:22:20 -0600
commit903bedd11be81d905d492f6007e8820ecebcff5d (patch)
tree0de4c715e0a6e8e8a1aa06012f98e5723700c999 /gui-wm
parentdev-util/idea-community: drop 2023.3.1 (diff)
downloadgentoo-903bedd11be81d905d492f6007e8820ecebcff5d.tar.gz
gentoo-903bedd11be81d905d492f6007e8820ecebcff5d.tar.bz2
gentoo-903bedd11be81d905d492f6007e8820ecebcff5d.zip
gui-wm/sway: add sway-portals config
closes: https://bugs.gentoo.org/915703 Signed-off-by: Matthew Thode <prometheanfire@gentoo.org>
Diffstat (limited to 'gui-wm')
-rw-r--r--gui-wm/sway/files/sway-portals.conf6
-rw-r--r--gui-wm/sway/sway-1.8.1-r1.ebuild120
-rw-r--r--gui-wm/sway/sway-9999.ebuild6
3 files changed, 132 insertions, 0 deletions
diff --git a/gui-wm/sway/files/sway-portals.conf b/gui-wm/sway/files/sway-portals.conf
new file mode 100644
index 000000000000..aa046f63c4b1
--- /dev/null
+++ b/gui-wm/sway/files/sway-portals.conf
@@ -0,0 +1,6 @@
+[preferred]
+# Use xdg-desktop-portal-gtk for every portal interface...
+default=gtk
+# ... except for the ScreenCast and Screenshot
+org.freedesktop.impl.portal.ScreenCast=wlr
+org.freedesktop.impl.portal.Screenshot=wlr
diff --git a/gui-wm/sway/sway-1.8.1-r1.ebuild b/gui-wm/sway/sway-1.8.1-r1.ebuild
new file mode 100644
index 000000000000..5a6cfa95a1ec
--- /dev/null
+++ b/gui-wm/sway/sway-1.8.1-r1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson optfeature
+
+DESCRIPTION="i3-compatible Wayland window manager"
+HOMEPAGE="https://swaywm.org"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/swaywm/${PN}.git"
+else
+ MY_PV=${PV/_rc/-rc}
+ SRC_URI="https://github.com/swaywm/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="grimshot +man +swaybar +swaynag tray wallpapers X"
+
+DEPEND="
+ >=dev-libs/json-c-0.13:0=
+ >=dev-libs/libinput-1.21.0:0=
+ sys-auth/seatd:=
+ dev-libs/libpcre2
+ >=dev-libs/wayland-1.20.0
+ x11-libs/cairo
+ x11-libs/libxkbcommon
+ x11-libs/pango
+ x11-libs/pixman
+ media-libs/mesa[gles2,libglvnd(+)]
+ swaybar? ( x11-libs/gdk-pixbuf:2 )
+ tray? ( || (
+ sys-apps/systemd
+ sys-auth/elogind
+ sys-libs/basu
+ ) )
+ wallpapers? ( gui-apps/swaybg[gdk-pixbuf(+)] )
+ X? (
+ x11-libs/libxcb:0=
+ x11-libs/xcb-util-wm
+ )
+"
+# x11-libs/xcb-util-wm needed for xcb-iccm
+if [[ ${PV} == 9999 ]]; then
+ DEPEND+="~gui-libs/wlroots-9999:=[X?]"
+else
+ DEPEND+="
+ >=gui-libs/wlroots-0.16:=[X?]
+ <gui-libs/wlroots-0.17:=[X?]
+ "
+fi
+RDEPEND="
+ x11-misc/xkeyboard-config
+ grimshot? (
+ app-misc/jq
+ gui-apps/grim
+ gui-apps/slurp
+ gui-apps/wl-clipboard
+ x11-libs/libnotify
+ )
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-libs/wayland-protocols-1.24
+ >=dev-util/meson-0.60.0
+ virtual/pkgconfig
+"
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+="man? ( ~app-text/scdoc-9999 )"
+else
+ BDEPEND+="man? ( >=app-text/scdoc-1.9.3 )"
+fi
+REQUIRED_USE="tray? ( swaybar )"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature man man-pages)
+ $(meson_feature tray)
+ $(meson_feature X xwayland)
+ $(meson_feature swaybar gdk-pixbuf)
+ $(meson_use swaynag)
+ $(meson_use swaybar)
+ $(meson_use wallpapers default-wallpaper)
+ -Dfish-completions=true
+ -Dzsh-completions=true
+ -Dbash-completions=true
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use grimshot; then
+ doman contrib/grimshot.1
+ dobin contrib/grimshot
+ fi
+
+ insinto /usr/share/xdg-desktop-portal/portals
+ doins "${FILESDIR}/sway-portals.conf"
+}
+
+pkg_postinst() {
+ optfeature_header "There are several packages that may be useful with sway:"
+ optfeature "wallpaper utility" gui-apps/swaybg
+ optfeature "idle management utility" gui-apps/swayidle
+ optfeature "simple screen locker" gui-apps/swaylock
+ optfeature "lightweight notification daemon" gui-apps/mako
+ echo
+ einfo "For a list of additional addons and tools usable with sway please"
+ einfo "visit the offical wiki at:"
+ einfo "https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway"
+ einfo "Please note that some of them might not (yet) available on gentoo"
+}
diff --git a/gui-wm/sway/sway-9999.ebuild b/gui-wm/sway/sway-9999.ebuild
index 088475a36417..3e3ec1143eeb 100644
--- a/gui-wm/sway/sway-9999.ebuild
+++ b/gui-wm/sway/sway-9999.ebuild
@@ -87,6 +87,12 @@ src_configure() {
meson_src_configure
}
+src_install() {
+ meson_src_install
+ insinto /usr/share/xdg-desktop-portal/portals
+ doins "${FILESDIR}/sway-portals.conf"
+}
+
pkg_postinst() {
optfeature_header "There are several packages that may be useful with sway:"
optfeature "wallpaper utility" gui-apps/swaybg