commit cc0292599ee8ea5779617f16eb8e64d9be2fd9f8
parent c01e8e7966c476d7553f749ce0bd29c0817c5323
Author: awy <awy@awy.one>
Date: Sun, 21 Dec 2025 15:31:02 +0300
update
Diffstat:
10 files changed, 230 insertions(+), 16 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -14,3 +14,5 @@ icecat/pkg/extensions/*
!icecat/README.md
!icecat/mozconfig
!icecat/allow-ubo-private-mode.patch
+!sway/*.conf
+!sway/*.install
diff --git a/dwlb/PKGBUILD b/dwlb/PKGBUILD
@@ -17,20 +17,20 @@ provides=("$pkgname")
conflicts=("$pkgname")
pkgver() {
- cd $srcdir/$_pkgname
- git_ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)")
- echo "$git_ver"
+ cd $srcdir/$_pkgname
+ git_ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)")
+ echo "$git_ver"
}
build() {
- cd "$srcdir/$_pkgname"
- make PREFIX=/usr
+ cd "$srcdir/$_pkgname"
+ make PREFIX=/usr
}
package() {
- cd "$srcdir/$_pkgname"
+ cd "$srcdir/$_pkgname"
- install -Dm755 dwlb "$pkgdir/usr/bin/dwlb"
- install -Dm644 dwlb.1 "$pkgdir/usr/share/man/man1/dwlb.1"
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm755 dwlb "$pkgdir/usr/bin/dwlb"
+ install -Dm644 dwlb.1 "$pkgdir/usr/share/man/man1/dwlb.1"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/everforest-cursors/PKGBUILD b/everforest-cursors/PKGBUILD
@@ -9,11 +9,11 @@ source=('everforest-cursors-variants.tar.bz2')
sha256sums=('SKIP')
package() {
- # cd "$srcdir/$pkgbase"
- # sed -i icons/*/index.theme -e 's/oomox-//'
- # sed -i icons/Everforest-Light/index.theme -e 's/[Ee]verforest_[Ll]ight/Everforest-Light/g'
- mkdir -p "$pkgdir/usr/share/icons"
- # cp -r icons/Everforest-Dark "$pkgdir/usr/share/icons/"
- # cp -r icons/Everforest-Light "$pkgdir/usr/share/icons/"
- cp -r "$srcdir/everforest-cursors" "$pkgdir/usr/share/icons/"
+ # cd "$srcdir/$pkgbase"
+ # sed -i icons/*/index.theme -e 's/oomox-//'
+ # sed -i icons/Everforest-Light/index.theme -e 's/[Ee]verforest_[Ll]ight/Everforest-Light/g'
+ mkdir -p "$pkgdir/usr/share/icons"
+ # cp -r icons/Everforest-Dark "$pkgdir/usr/share/icons/"
+ # cp -r icons/Everforest-Light "$pkgdir/usr/share/icons/"
+ cp -r "$srcdir/everforest-cursors" "$pkgdir/usr/share/icons/"
}
diff --git a/sway/50-systemd-user.conf b/sway/50-systemd-user.conf
@@ -0,0 +1,16 @@
+# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment
+# See FS#63021
+# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal.
+
+# Upstream refuses to set XDG_CURRENT_DESKTOP so we have to.
+exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway
+exec systemctl --user import-environment DISPLAY \
+ SWAYSOCK \
+ WAYLAND_DISPLAY \
+ XDG_CURRENT_DESKTOP
+
+exec hash dbus-update-activation-environment 2>/dev/null && \
+ dbus-update-activation-environment --systemd DISPLAY \
+ SWAYSOCK \
+ XDG_CURRENT_DESKTOP=sway \
+ WAYLAND_DISPLAY
diff --git a/sway/PKGBUILD b/sway/PKGBUILD
@@ -0,0 +1,83 @@
+# Maintainer: GreyXor <greyxor@protonmail.com>
+# Contributor: Drew DeVault <sir@cmpwn.com>
+pkgname=sway-git
+pkgver=1.12.r7633.c17c6e4
+pkgrel=1
+pkgdesc='Tiling Wayland compositor and replacement for the i3 window manager (git development version)'
+arch=('x86_64')
+url="https://git.awy.one/sway"
+license=("MIT")
+depends=(
+ "cairo"
+ "gdk-pixbuf2"
+ "json-c"
+ "libdrm"
+ "libevdev"
+ "libinput"
+ "libxcb"
+ "libxkbcommon"
+ "pango"
+ "pcre2"
+ "pixman"
+ "wayland"
+ "wlroots-git"
+ "xcb-util-wm"
+)
+makedepends=(
+ "git"
+ "libcap"
+ "meson"
+ "scdoc"
+ "wayland-protocols"
+)
+optdepends=(
+ 'wmenu: Application launcher used in default configuration'
+ 'foot: Terminal emulator used in default configuration'
+ 'polkit: System privilege control. Required if not using seatd service'
+ 'swaybg: Wallpaper tool for sway'
+ 'swayidle: Idle management daemon'
+ 'swaylock: Screen locker'
+ 'xdg-desktop-portal-gtk: Portal used for default file picking'
+ 'xdg-desktop-portal-wlr: Portal used for screen sharing'
+)
+provides=("${pkgname%-git}" "wayland-compositor")
+conflicts=("${pkgname%-git}")
+install="${pkgname}.install"
+source=("${pkgname}::git+${url}.git#branch=tray-patch"
+ "50-systemd-user.conf"
+ "sway-portals.conf")
+b2sums=('SKIP'
+ 'SKIP'
+ 'SKIP')
+
+_meson_setup() {
+ arch-meson "$pkgname" "$1" -D sd-bus-provider=libelogind
+}
+
+prepare() {
+ _meson_setup build-pkgver
+}
+
+pkgver() {
+ (
+ set -o pipefail
+ meson introspect --projectinfo build-pkgver | sed -n 's/.*"version": "\([^"]*\)".*/\1/;s/-\(dev\|rc[0-9]\+\)//p' | tr -d '\n'
+ )
+ cd "$pkgname"
+ printf ".r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
+}
+
+build() {
+ _meson_setup build
+ meson compile -C build
+}
+
+package() {
+ meson install -C build --destdir "$pkgdir"
+
+ install -Dm644 "${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm644 "${pkgname}/README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"
+
+ install -Dm644 50-systemd-user.conf -t "$pkgdir/etc/sway/config.d/"
+ install -Dm644 sway-portals.conf -t "$pkgdir/usr/share/xdg-desktop-portal/"
+}
diff --git a/sway/build.sh b/sway/build.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+makepkg --sign -f -s -r -c
diff --git a/sway/sway-git.install b/sway/sway-git.install
@@ -0,0 +1,23 @@
+upgrade_wlroots_message() {
+ cat <<END
+
+Please make sure your wlroots-git is up-to-date before compiling sway-git.
+
+END
+}
+
+pre_install() {
+ upgrade_wlroots_message
+}
+
+pre_upgrade() {
+ upgrade_wlroots_message
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_upgrade() {
+ setcap cap_sys_nice+ep usr/bin/sway
+}
diff --git a/sway/sway-portals.conf b/sway/sway-portals.conf
@@ -0,0 +1,5 @@
+[preferred]
+default=gtk
+org.freedesktop.impl.portal.ScreenCast=wlr
+org.freedesktop.impl.portal.Screenshot=wlr
+org.freedesktop.impl.portal.Inhibit=none
diff --git a/wlroots/PKGBUILD b/wlroots/PKGBUILD
@@ -0,0 +1,79 @@
+# Maintainer: Adrian Perez de Castro <aperez@igalia.com>
+# Maintainer: GreyXor <greyxor@protonmail.com>
+# Maintainer: Antonin Décimo <antonin dot decimo at gmail dot com>
+pkgname=wlroots-git
+pkgver=0.20.0.r7679.16cb509a
+pkgrel=1
+pkgdesc='Modular Wayland compositor library (git development version)'
+arch=(x86_64)
+url=https://gitlab.freedesktop.org/wlroots/wlroots
+license=(MIT)
+options=(debug)
+depends=(
+ glibc
+ libdrm
+ libinput
+ libliftoff
+ libxcb
+ libglvnd
+ lcms2
+ libxkbcommon
+ systemd-libs
+ opengl-driver
+ pixman
+ wayland
+ xcb-util-errors
+ xcb-util-renderutil
+ xcb-util-wm
+ seatd
+ glslang
+ vulkan-icd-loader
+ libdisplay-info)
+makedepends=(
+ git
+ meson
+ vulkan-headers
+ wayland-protocols
+ xorgproto
+ xorg-xwayland
+)
+optdepends=(
+ 'xorg-xwayland: enable X11 support'
+)
+provides=("lib${pkgname%-git}-${pkgver%.*.*.*}.so")
+source=("${pkgname}::git+${url}.git")
+b2sums=('SKIP')
+_builddir="build"
+_builddir_pkgver="build-pkgver"
+
+_meson_setup() {
+ arch-meson \
+ --buildtype=debug \
+ -Dwerror=false \
+ -Dexamples=false \
+ "${pkgname}" "$1"
+}
+
+prepare() {
+ _meson_setup "${_builddir_pkgver}"
+}
+
+pkgver() {
+ (
+ set -o pipefail
+ meson introspect --projectinfo "${_builddir_pkgver}" |
+ awk 'match($0, /"version":\s*"([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+)-(dev|rc[[:digit:]]+)"/, ret) {printf "%s",ret[1]}'
+ )
+ cd "${pkgname}"
+ printf ".r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ _meson_setup "${_builddir}"
+ meson compile -C "${_builddir}"
+}
+
+package() {
+ meson install -C "${_builddir}" --destdir="${pkgdir}"
+ install -Dm644 "${pkgname}/"LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/wlroots/build.sh b/wlroots/build.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+makepkg --sign -f -s -r -c