Compare commits

..

No commits in common. '7a86293b170aa9c1fcff5f25f27b5aff2049ffd5' and 'db0810cb9d08697fc7ca3b0d4069c8065d887cd1' have entirely different histories.

@ -1,6 +1,6 @@
pkgbase = sway pkgbase = sway
pkgdesc = Tiling Wayland compositor and replacement for the i3 window manager pkgdesc = Tiling Wayland compositor and replacement for the i3 window manager
pkgver = 1.9 pkgver = 1.8.1
pkgrel = 4 pkgrel = 4
epoch = 1 epoch = 1
url = https://swaywm.org/ url = https://swaywm.org/
@ -17,42 +17,40 @@ pkgbase = sway
depends = libevdev.so depends = libevdev.so
depends = libinput depends = libinput
depends = libjson-c.so depends = libjson-c.so
depends = libpixman-1.so
depends = libudev.so depends = libudev.so
depends = libwayland-server.so depends = libwayland-server.so
depends = libwlroots.so depends = libwlroots.so=11
depends = libxcb depends = libxcb
depends = libxkbcommon.so depends = libxkbcommon.so
depends = pango depends = pango
depends = pcre2 depends = pcre2
depends = ttf-font depends = ttf-font
depends = xcb-util-wm optdepends = bemenu: Wayland-native alternative to dmenu
optdepends = dmenu: dmenu_path support (used alongside wmenu in default $menu) optdepends = dmenu: Application launcher used in default config
optdepends = foot: Terminal emulator used in the default configuration optdepends = foot: Terminal emulator used in the default configuration
optdepends = i3status: Status line generation optdepends = i3status: Status line generation
optdepends = mako: Lightweight notification daemon optdepends = mako: Lightweight notification daemon
optdepends = polkit: System privilege control. Required if not using seatd service optdepends = polkit: System privilege control. Required if not using seatd service
optdepends = swaybg: Wallpaper tool for sway optdepends = swaybg: Wallpaper tool for sway
optdepends = sway-contrib: Collection of user-contributed scripts for sway
optdepends = swayidle: Idle management daemon optdepends = swayidle: Idle management daemon
optdepends = swaylock: Screen locker optdepends = swaylock: Screen locker
optdepends = waybar: Highly customizable bar optdepends = waybar: Highly customizable bar
optdepends = wmenu: Application launcher used in default config
optdepends = xorg-xwayland: X11 support optdepends = xorg-xwayland: X11 support
optdepends = xdg-desktop-portal-gtk: Default xdg-desktop-portal for file picking optdepends = xdg-desktop-portal-gtk: Default xdg-desktop-portal for file picking
optdepends = xdg-desktop-portal-wlr: xdg-desktop-portal backend optdepends = xdg-desktop-portal-wlr: xdg-desktop-portal backend
provides = wayland-compositor
backup = etc/sway/config backup = etc/sway/config
backup = etc/sway/config.d/50-systemd-user.conf backup = etc/sway/config.d/50-systemd-user.conf
source = https://github.com/swaywm/sway/releases/download/1.9/sway-1.9.tar.gz source = https://github.com/swaywm/sway/releases/download/1.8.1/sway-1.8.1.tar.gz
source = https://github.com/swaywm/sway/releases/download/1.9/sway-1.9.tar.gz.sig source = https://github.com/swaywm/sway/releases/download/1.8.1/sway-1.8.1.tar.gz.sig
source = 50-systemd-user.conf source = 50-systemd-user.conf
source = sys_nice_user_xkb_configs.patch
source = sway-portals.conf source = sway-portals.conf
validpgpkeys = 34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48 validpgpkeys = 34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48
validpgpkeys = 9DDA3B9FA5D58DD5392C78E652CB6609B22DA89A validpgpkeys = 9DDA3B9FA5D58DD5392C78E652CB6609B22DA89A
sha512sums = 1d2a47bb8b838573a32f3719a7329fd744119c2c7efc5e5a4168b2bacfb09a3901a569177e5e10c129141fafe00e823ab78c04b76b502d23caa7621bbccd5919 sha512sums = 1504312a199608532e22336c5031e8f4749f5102ab321d13d97a1f93d49c8ec435e9097af729d8f7dfa81e2e96cee7de91cf4c04b6a7b7151ea740a1e43eb086
sha512sums = SKIP sha512sums = SKIP
sha512sums = d5f9aadbb4bbef067c31d4c8c14dad220eb6f3e559e9157e20e1e3d47faf2f77b9a15e52519c3ffc53dc8a5202cb28757b81a4b3b0cc5dd50a4ddc49e03fe06e sha512sums = d5f9aadbb4bbef067c31d4c8c14dad220eb6f3e559e9157e20e1e3d47faf2f77b9a15e52519c3ffc53dc8a5202cb28757b81a4b3b0cc5dd50a4ddc49e03fe06e
sha512sums = 4f9576b7218aef8152eb60e646985e96b13540b7a4fd34ba68fdc490199cf7a7b46bbee85587e41bffe81fc730222cf408d5712e6251edc85a0a0b0408c1a2df sha512sums = 156719e93d0213d1b54ce6e3a9b2dcc9246da5689dd2d3281546f9c042cbc69072f99b087e112fe777dcd786d2b9d1be1e1c9200feddffb5e2d16f8dfb27515d
sha512sums = 091a205bca875b6a78150b5b14ffaca996b7c7c3d6f68910e5891e5409ca070d27b3307e8c4916c1562a998d5bcb94406e961bf376d86e64c8ddf5afe5b41f76
pkgname = sway pkgname = sway

@ -3,7 +3,7 @@
# Contributor: Alexander F. Rødseth <xyproto@archlinux.org> # Contributor: Alexander F. Rødseth <xyproto@archlinux.org>
pkgname=sway pkgname=sway
pkgver=1.9 pkgver=1.8.1
epoch=1 epoch=1
pkgrel=4 pkgrel=4
pkgdesc='Tiling Wayland compositor and replacement for the i3 window manager' pkgdesc='Tiling Wayland compositor and replacement for the i3 window manager'
@ -16,35 +16,31 @@ depends=(
'libevdev.so' 'libevdev.so'
'libinput' 'libinput'
'libjson-c.so' 'libjson-c.so'
'libpixman-1.so'
'libudev.so' 'libudev.so'
'libwayland-server.so' 'libwayland-server.so'
'libwlroots.so' 'libwlroots.so=11'
'libxcb' 'libxcb'
'libxkbcommon.so' 'libxkbcommon.so'
'pango' 'pango'
'pcre2' 'pcre2'
'ttf-font' 'ttf-font'
'xcb-util-wm'
) )
makedepends=(meson ninja scdoc setconf wayland-protocols) makedepends=(meson ninja scdoc setconf wayland-protocols)
provides=('wayland-compositor')
backup=( backup=(
etc/sway/config etc/sway/config
etc/sway/config.d/50-systemd-user.conf etc/sway/config.d/50-systemd-user.conf
) )
optdepends=( optdepends=(
'dmenu: dmenu_path support (used alongside wmenu in default $menu)' 'bemenu: Wayland-native alternative to dmenu'
'dmenu: Application launcher used in default config'
'foot: Terminal emulator used in the default configuration' 'foot: Terminal emulator used in the default configuration'
'i3status: Status line generation' 'i3status: Status line generation'
'mako: Lightweight notification daemon' 'mako: Lightweight notification daemon'
'polkit: System privilege control. Required if not using seatd service' 'polkit: System privilege control. Required if not using seatd service'
'swaybg: Wallpaper tool for sway' 'swaybg: Wallpaper tool for sway'
'sway-contrib: Collection of user-contributed scripts for sway'
'swayidle: Idle management daemon' 'swayidle: Idle management daemon'
'swaylock: Screen locker' 'swaylock: Screen locker'
'waybar: Highly customizable bar' 'waybar: Highly customizable bar'
'wmenu: Application launcher used in default config'
'xorg-xwayland: X11 support' 'xorg-xwayland: X11 support'
'xdg-desktop-portal-gtk: Default xdg-desktop-portal for file picking' 'xdg-desktop-portal-gtk: Default xdg-desktop-portal for file picking'
'xdg-desktop-portal-wlr: xdg-desktop-portal backend' 'xdg-desktop-portal-wlr: xdg-desktop-portal backend'
@ -52,26 +48,35 @@ optdepends=(
source=("https://github.com/swaywm/sway/releases/download/$pkgver/sway-$pkgver.tar.gz" source=("https://github.com/swaywm/sway/releases/download/$pkgver/sway-$pkgver.tar.gz"
"https://github.com/swaywm/sway/releases/download/$pkgver/sway-$pkgver.tar.gz.sig" "https://github.com/swaywm/sway/releases/download/$pkgver/sway-$pkgver.tar.gz.sig"
"50-systemd-user.conf" "50-systemd-user.conf"
"sway-portals.conf" "sys_nice_user_xkb_configs.patch"
"fix-includes.patch" "sway-portals.conf")
)
install=sway.install install=sway.install
sha512sums=('1d2a47bb8b838573a32f3719a7329fd744119c2c7efc5e5a4168b2bacfb09a3901a569177e5e10c129141fafe00e823ab78c04b76b502d23caa7621bbccd5919' sha512sums=('1504312a199608532e22336c5031e8f4749f5102ab321d13d97a1f93d49c8ec435e9097af729d8f7dfa81e2e96cee7de91cf4c04b6a7b7151ea740a1e43eb086'
'SKIP' 'SKIP'
'd5f9aadbb4bbef067c31d4c8c14dad220eb6f3e559e9157e20e1e3d47faf2f77b9a15e52519c3ffc53dc8a5202cb28757b81a4b3b0cc5dd50a4ddc49e03fe06e' 'd5f9aadbb4bbef067c31d4c8c14dad220eb6f3e559e9157e20e1e3d47faf2f77b9a15e52519c3ffc53dc8a5202cb28757b81a4b3b0cc5dd50a4ddc49e03fe06e'
'e4695434af029a445ed7ab43de68eb76e7df9b9f61c37ca95b4e695ef7a3fc54ac941e1b2b6143bfab8a0f1cef50f6884d8df61d10dd7cf44ae8a91742d82f0a' '156719e93d0213d1b54ce6e3a9b2dcc9246da5689dd2d3281546f9c042cbc69072f99b087e112fe777dcd786d2b9d1be1e1c9200feddffb5e2d16f8dfb27515d'
'9ed8957779922cdc99869ea9ce34821c1eb1cac20e3a8cc52369fbbf3237f6a8e754ccdd445f48624c23d7bf599538083405cec599787addc423e47d28dcf6ca') '091a205bca875b6a78150b5b14ffaca996b7c7c3d6f68910e5891e5409ca070d27b3307e8c4916c1562a998d5bcb94406e961bf376d86e64c8ddf5afe5b41f76')
validpgpkeys=('34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48' # Simon Ser validpgpkeys=('34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48' # Simon Ser
'9DDA3B9FA5D58DD5392C78E652CB6609B22DA89A') # Drew DeVault '9DDA3B9FA5D58DD5392C78E652CB6609B22DA89A') # Drew DeVault
prepare() { prepare() {
cd "$pkgname-$pkgver" cd "$pkgname-$pkgver"
# Enable user xkb configs with cap_sys_nice - otherwise user xkb configs will
# break.
#
# This patch was originally at
# https://github.com/swaywm/sway/commit/2f2cdd60def006f6d3cbe318f9edd7d68fcb239a.patch
# but failed to apply correctly to meson.build. We don't need that part of
# the patch so just drop it.
patch -p1 < ../sys_nice_user_xkb_configs.patch
# Set the version information to 'Arch Linux' instead of 'makepkg' # Set the version information to 'Arch Linux' instead of 'makepkg'
sed -i "s/branch \\\'@1@\\\'/Arch Linux/g" meson.build sed -i "s/branch \\\'@1@\\\'/Arch Linux/g" meson.build
patch -p1 < ../fix-includes.patch
} }
build() { build() {
export PKG_CONFIG_PATH='/usr/lib/wlroots0.16/pkgconfig'
mkdir -p build mkdir -p build
arch-meson build "$pkgname-$pkgver" -D sd-bus-provider=libsystemd -D werror=false -D b_ndebug=true arch-meson build "$pkgname-$pkgver" -D sd-bus-provider=libsystemd -D werror=false -D b_ndebug=true
ninja -C build ninja -C build
@ -82,6 +87,11 @@ package() {
install -Dm644 "$pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" install -Dm644 "$pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 50-systemd-user.conf -t "$pkgdir/etc/sway/config.d/" install -Dm644 50-systemd-user.conf -t "$pkgdir/etc/sway/config.d/"
install -Dm644 sway-portals.conf "$pkgdir/usr/share/xdg-desktop-portal/sway-portals.conf" install -Dm644 sway-portals.conf "$pkgdir/usr/share/xdg-desktop-portal/sway-portals.conf"
for util in autoname-workspaces.py inactive-windows-transparency.py grimshot; do
install -Dm755 "$pkgname-$pkgver/contrib/$util" -t \
"$pkgdir/usr/share/$pkgname/scripts"
done
} }
# vim: ts=2 sw=2 et # vim: ts=2 sw=2 et

@ -1,45 +0,0 @@
diff --git a/sway/config.c b/sway/config.c
index f9131e0f..a7784f13 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -593,28 +593,12 @@ bool load_main_config(const char *file, bool is_active, bool validating) {
return success;
}
-static bool load_include_config(const char *path, const char *parent_dir,
- struct sway_config *config, struct swaynag_instance *swaynag) {
+static bool load_include_config(const char *path, struct sway_config *config,
+ struct swaynag_instance *swaynag) {
// save parent config
const char *parent_config = config->current_config_path;
- char *full_path;
- int len = strlen(path);
- if (len >= 1 && path[0] != '/') {
- len = len + strlen(parent_dir) + 2;
- full_path = malloc(len * sizeof(char));
- if (!full_path) {
- sway_log(SWAY_ERROR,
- "Unable to allocate full path to included config");
- return false;
- }
- snprintf(full_path, len, "%s/%s", parent_dir, path);
- } else {
- full_path = strdup(path);
- }
-
- char *real_path = realpath(full_path, NULL);
- free(full_path);
+ char *real_path = realpath(path, NULL);
if (real_path == NULL) {
sway_log(SWAY_DEBUG, "%s not found.", path);
@@ -666,7 +650,7 @@ void load_include_configs(const char *path, struct sway_config *config,
char **w = p.we_wordv;
size_t i;
for (i = 0; i < p.we_wordc; ++i) {
- load_include_config(w[i], parent_dir, config, swaynag);
+ load_include_config(w[i], config, swaynag);
}
wordfree(&p);
}

@ -1,2 +1,4 @@
[preferred] [preferred]
default=none default=gtk
org.freedesktop.impl.portal.Screencast=wlr
org.freedesktop.impl.portal.Screenshot=wlr

@ -0,0 +1,27 @@
diff --git a/sway/config.c b/sway/config.c
index 1f2bb68604..f5efa98a8e 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -37,7 +37,7 @@ struct sway_config *config = NULL;
static struct xkb_state *keysym_translation_state_create(
struct xkb_rule_names rules) {
- struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS);
+ struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_SECURE_GETENV);
struct xkb_keymap *xkb_keymap = xkb_keymap_new_from_names(
context,
&rules,
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c
index 3f4a7289b9..45a588ecbf 100644
--- a/sway/input/keyboard.c
+++ b/sway/input/keyboard.c
@@ -754,7 +754,7 @@ static void handle_xkb_context_log(struct xkb_context *context,
struct xkb_keymap *sway_keyboard_compile_keymap(struct input_config *ic,
char **error) {
- struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS);
+ struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_SECURE_GETENV);
if (!sway_assert(context, "cannot create XKB context")) {
return NULL;
}
Loading…
Cancel
Save