summaryrefslogtreecommitdiffstats
path: root/windowmanagers
diff options
context:
space:
mode:
Diffstat (limited to 'windowmanagers')
-rwxr-xr-xwindowmanagers/2bwm/2bwm.desktop6
-rwxr-xr-xwindowmanagers/2bwm/BUILD1
-rwxr-xr-xwindowmanagers/2bwm/DEPENDS13
-rwxr-xr-xwindowmanagers/2bwm/DETAILS27
-rw-r--r--windowmanagers/2bwm/HISTORY6
-rwxr-xr-xwindowmanagers/2bwm/INSTALL1
-rwxr-xr-xwindowmanagers/2bwm/PREPARE1
-rwxr-xr-xwindowmanagers/2bwm/start2bwm3
-rwxr-xr-xwindowmanagers/awesome/BUILD4
-rwxr-xr-xwindowmanagers/awesome/CONFIGURE1
-rwxr-xr-xwindowmanagers/awesome/DEPENDS43
-rwxr-xr-xwindowmanagers/awesome/DETAILS11
-rw-r--r--windowmanagers/awesome/HISTORY13
-rwxr-xr-xwindowmanagers/awesome/PRE_BUILD3
-rw-r--r--windowmanagers/awesome/patches/awesome-4.3-fno-common.patch191
-rwxr-xr-xwindowmanagers/berry/DEPENDS9
-rwxr-xr-xwindowmanagers/berry/DETAILS15
-rwxr-xr-xwindowmanagers/berry/FINAL4
-rw-r--r--windowmanagers/berry/HISTORY7
-rwxr-xr-xwindowmanagers/berry/PRE_BUILD3
-rwxr-xr-xwindowmanagers/berry/berry.desktop6
-rwxr-xr-xwindowmanagers/berry/startberry3
-rwxr-xr-xwindowmanagers/dwm/DETAILS14
-rw-r--r--windowmanagers/dwm/HISTORY6
-rw-r--r--windowmanagers/fluxbox/HISTORY4
-rwxr-xr-xwindowmanagers/fluxbox/PRE_BUILD5
-rwxr-xr-xwindowmanagers/hyprland/BUILD39
-rwxr-xr-xwindowmanagers/hyprland/CONFIGURE1
-rwxr-xr-xwindowmanagers/hyprland/DEPENDS56
-rwxr-xr-xwindowmanagers/hyprland/DETAILS35
-rw-r--r--windowmanagers/hyprland/HISTORY107
-rwxr-xr-xwindowmanagers/hyprland/INSTALL1
-rwxr-xr-xwindowmanagers/hyprland/PREPARE1
-rwxr-xr-xwindowmanagers/hyprland/PRE_BUILD15
-rw-r--r--windowmanagers/hyprland/patches/hyprland-system-wlroots.patch47
-rwxr-xr-xwindowmanagers/i3/DEPENDS2
-rwxr-xr-xwindowmanagers/i3/DETAILS6
-rw-r--r--windowmanagers/i3/HISTORY10
-rwxr-xr-xwindowmanagers/icewm/BUILD1
-rwxr-xr-xwindowmanagers/icewm/CONFIGURE5
-rwxr-xr-xwindowmanagers/icewm/DEPENDS5
-rwxr-xr-xwindowmanagers/icewm/DETAILS12
-rw-r--r--windowmanagers/icewm/HISTORY7
-rwxr-xr-xwindowmanagers/icewm/PREPARE1
-rw-r--r--windowmanagers/icewm/icewm-1.2.37.tar.gz.sigbin287 -> 0 bytes
-rw-r--r--windowmanagers/icewm/icewm-1.3.7.tar.gz.sigbin72 -> 0 bytes
-rwxr-xr-xwindowmanagers/jwm/DETAILS11
-rw-r--r--windowmanagers/jwm/HISTORY6
-rwxr-xr-xwindowmanagers/jwm/PRE_BUILD11
-rw-r--r--windowmanagers/jwm/separate-rootmenu.patch77
-rwxr-xr-xwindowmanagers/labwc/CONFIGURE1
-rwxr-xr-xwindowmanagers/labwc/DEPENDS19
-rwxr-xr-xwindowmanagers/labwc/DETAILS33
-rw-r--r--windowmanagers/labwc/HISTORY9
-rwxr-xr-xwindowmanagers/river/BUILD1
-rwxr-xr-xwindowmanagers/river/DEPENDS33
-rwxr-xr-xwindowmanagers/river/DETAILS28
-rw-r--r--windowmanagers/river/HISTORY3
-rwxr-xr-xwindowmanagers/river/INSTALL5
-rwxr-xr-xwindowmanagers/river/PRE_BUILD5
-rwxr-xr-xwindowmanagers/sway/DEPENDS7
-rwxr-xr-xwindowmanagers/sway/DETAILS5
-rw-r--r--windowmanagers/sway/HISTORY26
-rwxr-xr-xwindowmanagers/sway/INSTALL5
-rwxr-xr-xwindowmanagers/sway/PRE_BUILD3
-rw-r--r--windowmanagers/sway/patches/no-werror.patch13
-rwxr-xr-xwindowmanagers/wayfire/CONFIGURE1
-rwxr-xr-xwindowmanagers/wayfire/DEPENDS22
-rwxr-xr-xwindowmanagers/wayfire/DETAILS18
-rw-r--r--windowmanagers/wayfire/HISTORY14
-rwxr-xr-xwindowmanagers/wayfire/PRE_BUILD3
-rwxr-xr-xwindowmanagers/wf-config/CONFIGURE1
-rwxr-xr-xwindowmanagers/wf-config/DEPENDS5
-rwxr-xr-xwindowmanagers/wf-config/DETAILS16
-rw-r--r--windowmanagers/wf-config/HISTORY6
-rwxr-xr-xwindowmanagers/windowmaker/DETAILS6
-rw-r--r--windowmanagers/windowmaker/HISTORY3
77 files changed, 997 insertions, 150 deletions
diff --git a/windowmanagers/2bwm/2bwm.desktop b/windowmanagers/2bwm/2bwm.desktop
new file mode 100755
index 0000000000..99d05f8873
--- /dev/null
+++ b/windowmanagers/2bwm/2bwm.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=2bwm
+Comment=2bwm - Fast floating WM
+Exec=2bwm
+Type=XSession
diff --git a/windowmanagers/2bwm/BUILD b/windowmanagers/2bwm/BUILD
new file mode 100755
index 0000000000..b41533e87e
--- /dev/null
+++ b/windowmanagers/2bwm/BUILD
@@ -0,0 +1 @@
+make DESTDIR="${INSTALL_ROOT}/" PREFIX="/usr" ${OPTS}
diff --git a/windowmanagers/2bwm/DEPENDS b/windowmanagers/2bwm/DEPENDS
new file mode 100755
index 0000000000..a48bcac85d
--- /dev/null
+++ b/windowmanagers/2bwm/DEPENDS
@@ -0,0 +1,13 @@
+if [[ "$TWOBWM_BRANCH" == "scm" ]]; then
+ depends git
+fi &&
+depends PKG-CONFIG &&
+depends libx11 &&
+depends libxcb &&
+depends xcb-util-keysyms &&
+depends xcb-util-wm &&
+depends xcb-util-xrm &&
+
+suggest_depends polybar '' '' 'for a status bar' &&
+suggest_depends dmenu '' '' 'for a dmenu-based application launcher' &&
+suggest_depends rofi '' '' 'for an alternative application launcher'
diff --git a/windowmanagers/2bwm/DETAILS b/windowmanagers/2bwm/DETAILS
new file mode 100755
index 0000000000..9d1cc8af5a
--- /dev/null
+++ b/windowmanagers/2bwm/DETAILS
@@ -0,0 +1,27 @@
+. "$GRIMOIRE"/FUNCTIONS
+ SPELL=2bwm
+if [[ "$TWOBWM_BRANCH" == "scm" ]]; then
+ VERSION="$(get_scm_version)"
+ SOURCE="${SPELL}-git.tar.xz"
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-git"
+ SOURCE_URL[0]="git_http://github.com/venam/${SPELL}.git:${SPELL}-git"
+ SOURCE_IGNORE="volatile"
+ FORCE_DOWNLOAD="on"
+else
+ VERSION=0.3
+ SOURCE="${SPELL}-${VERSION}.tar.gz"
+ SOURCE_URL[0]=https://github.com/venam/${SPELL}/archive/refs/tags/v${VERSION}.tar.gz
+ SOURCE_HASH=sha256:a4889ea4b01b1a3d4a508daa034b9d86676913cbbca1f977858df692a6e2af95
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+fi
+ WEB_SITE="https://github.com/venam/2bwm"
+ LICENSE[0]=ISC
+ ENTERED=20221206
+ SHORT="A fast floating WM written over the XCB library"
+cat << EOF
+A fast floating WM, with the particularity of having 2 borders, written
+over the XCB library and derived from mcwm written by Michael Cardell.
+
+In 2bwm everything is accessible from the keyboard but a pointing
+device can be used for move, resize and raise/lower.
+EOF
diff --git a/windowmanagers/2bwm/HISTORY b/windowmanagers/2bwm/HISTORY
new file mode 100644
index 0000000000..4fd44f81f7
--- /dev/null
+++ b/windowmanagers/2bwm/HISTORY
@@ -0,0 +1,6 @@
+2022-12-06 Conner Clere <connerclere@gmail.com>
+ * DETAILS: version 0.3
+ * DEPENDS, BUILD, INSTALL: added
+ * PREPARE: added stable and scm branch
+ * 2bwm.desktop, start2bwm: wm files added
+
diff --git a/windowmanagers/2bwm/INSTALL b/windowmanagers/2bwm/INSTALL
new file mode 100755
index 0000000000..1cb90630d7
--- /dev/null
+++ b/windowmanagers/2bwm/INSTALL
@@ -0,0 +1 @@
+make install DESTDIR="${INSTALL_ROOT}/" PREFIX="/usr" ${OPTS}
diff --git a/windowmanagers/2bwm/PREPARE b/windowmanagers/2bwm/PREPARE
new file mode 100755
index 0000000000..fbaab5fafe
--- /dev/null
+++ b/windowmanagers/2bwm/PREPARE
@@ -0,0 +1 @@
+config_query_list TWOBWM_BRANCH "Which branch?" stable scm
diff --git a/windowmanagers/2bwm/start2bwm b/windowmanagers/2bwm/start2bwm
new file mode 100755
index 0000000000..9cec97587b
--- /dev/null
+++ b/windowmanagers/2bwm/start2bwm
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec 2bwm
diff --git a/windowmanagers/awesome/BUILD b/windowmanagers/awesome/BUILD
deleted file mode 100755
index f9fc648974..0000000000
--- a/windowmanagers/awesome/BUILD
+++ /dev/null
@@ -1,4 +0,0 @@
-export PATH="/sbin:/bin:/usr/bin:/usr/sbin" &&
-cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_ROOT/usr \
- -DSYSCONFDIR=$INSTALLROOT/etc . &&
-make
diff --git a/windowmanagers/awesome/CONFIGURE b/windowmanagers/awesome/CONFIGURE
new file mode 100755
index 0000000000..90942b1d59
--- /dev/null
+++ b/windowmanagers/awesome/CONFIGURE
@@ -0,0 +1 @@
+. "${GRIMOIRE}/CMAKE_CONFIGURE"
diff --git a/windowmanagers/awesome/DEPENDS b/windowmanagers/awesome/DEPENDS
index 3c995fe396..930094bc72 100755
--- a/windowmanagers/awesome/DEPENDS
+++ b/windowmanagers/awesome/DEPENDS
@@ -1,24 +1,24 @@
-depends cairo &&
-sub_depends cairo XCB &&
-depends pango &&
-depends PKG-CONFIG &&
-depends -sub XCB libx11 &&
-depends libxrandr &&
-depends libxinerama &&
-depends cmake &&
-depends lua51 &&
-depends libev &&
-depends glib2 &&
-#depends xcb &&
-depends xcb-util &&
-depends xcb-util-image &&
-depends xcb-util-keysyms &&
-depends xcb-util-wm &&
-depends gperf &&
-depends imagemagick &&
-depends startup-notification &&
-depends imlib2 &&
-depends libxdg-basedir &&
+. "${GRIMOIRE}/CMAKE_DEPENDS" &&
+depends PKG-CONFIG &&
+depends -sub XCB cairo &&
+depends pango &&
+depends -sub XCB libx11 &&
+depends libxrandr &&
+depends libxinerama &&
+depends lua51 &&
+depends libev &&
+depends glib2 &&
+depends xcb-util &&
+depends xcb-util-image &&
+depends xcb-util-keysyms &&
+depends xcb-util-wm &&
+depends xcb-util-cursor &&
+depends xcb-util-xrm &&
+depends gperf &&
+depends imagemagick &&
+depends startup-notification &&
+depends imlib2 &&
+depends libxdg-basedir &&
optional_depends dbus '' '-DWITH_DBUS=OFF' 'Make use of dbus?' &&
@@ -28,4 +28,3 @@ optional_depends asciidoc '' '' 'For manpage generation' &&
optional_depends luadoc '' '' 'For generating LUA API documentation' &&
optional_depends graphviz '' '' 'For the sourcecode reference' &&
optional_depends doxygen '' '' 'For the sourcecode reference'
-
diff --git a/windowmanagers/awesome/DETAILS b/windowmanagers/awesome/DETAILS
index 0bb21ef8b6..aafefc1bd8 100755
--- a/windowmanagers/awesome/DETAILS
+++ b/windowmanagers/awesome/DETAILS
@@ -1,12 +1,13 @@
+. "${GRIMOIRE}/CMAKE_FUNCTIONS"
SPELL=awesome
- VERSION=3.4.13
- SOURCE=$SPELL-$VERSION.tar.bz2
+ VERSION=4.3
+ SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
- SOURCE_URL[0]=http://awesome.naquadah.org/download/$SOURCE
- SOURCE_HASH=sha512:9b30667c43c7f84f5347fbec7fbe669fbd78533c863536f3c530e3eb7183e6f2f855fcb5b0ffe18f02f67c1626f6bd121e029ddb67b54272f66d59e917edaccb
+ SOURCE_URL[0]=https://github.com/${SPELL}WM/${SPELL}/archive/v${VERSION}.tar.gz
+ SOURCE_HASH=sha256:b8a509464fb964acfc0cfaa4c689beaceb0f720de3983053d54d440158c281dd
LICENSE[0]=MIT
KEYWORDS="windowmanagers"
- WEB_SITE=http://awesome.naquadah.org/
+ WEB_SITE=https://awesomewm.org/
ENTERED=20080324
SHORT='A dwm-based window manager with many layouts'
cat << EOF
diff --git a/windowmanagers/awesome/HISTORY b/windowmanagers/awesome/HISTORY
index b0194b8a0e..591e1153f6 100644
--- a/windowmanagers/awesome/HISTORY
+++ b/windowmanagers/awesome/HISTORY
@@ -1,3 +1,16 @@
+2023-07-11 Conner Clere <xenanthropy@sourcemage.org>
+ * patches/awesome-4.3-fno-common.patch: updated, patch ended up not working,
+ falling back to using patch that gentoo uses to fix awesome 4.3
+
+2023-07-10 Conner Clere <xenanthropy@sourcemage.org>
+ * DETAILS: version 4.3, updated source_url and website, add CMAKE_FUNCTIONS
+ * BUILD: deleted, no longer needed
+ * CONFIGURE: added, CMAKE_CONFIGURE
+ * DEPENDS: added CMAKE_DEPENDS, xcb-util-cursor, xcb-util-xrm,
+ cleaned up structure
+ * patches/awesome-4.3-fno-common.patch: added, fixes build with gcc
+ * PRE_BUILD: added patches line
+
2022-07-27 Vlad Glagolev <stealth@sourcemage.org>
* DEPENDS: switch to PKG-CONFIG provider (automated)
diff --git a/windowmanagers/awesome/PRE_BUILD b/windowmanagers/awesome/PRE_BUILD
index 0a1261e8af..d3e4fa8d72 100755
--- a/windowmanagers/awesome/PRE_BUILD
+++ b/windowmanagers/awesome/PRE_BUILD
@@ -1,3 +1,4 @@
default_pre_build &&
cd "${SOURCE_DIRECTORY}" &&
-sedit 's#glib/gspawn.h#glib-2.0/glib.h#' spawn.c
+sedit 's#glib/gspawn.h#glib-2.0/glib.h#' spawn.c &&
+apply_patch_dir patches
diff --git a/windowmanagers/awesome/patches/awesome-4.3-fno-common.patch b/windowmanagers/awesome/patches/awesome-4.3-fno-common.patch
new file mode 100644
index 0000000000..1c1d8acdc2
--- /dev/null
+++ b/windowmanagers/awesome/patches/awesome-4.3-fno-common.patch
@@ -0,0 +1,191 @@
+Taken from: https://github.com/awesomeWM/awesome/commit/d256d9055095f27a33696e0aeda4ee20ed4fb1a0
+Author: Reiner Herrmann <reiner@reiner-h.de>
+Rebased by Eddie Chapman <maracay@ehuk.net>
+
+=== Source Mage Notes ===========
+Origin: Gentoo repo, awesome package
+ Based on awesomewm git commit d256d9
+Signed-Off-By: Conner Clere <xenanthropy@sourcemage.org>
+
+Original awesomewm git commit message:
+Move variable declarations from header to C file to fix build with GCC 10
+
+GCC 10 builds with -fno-common by default, which causes linker errors when
+variables are declared in header files and included in multiple places.
+=================================
+
+--- a/common/lualib.c
++++ b/common/lualib.c
+@@ -20,6 +20,8 @@
+ #include "common/lualib.h"
+ #include "luaa.h"
+
++lua_CFunction lualib_dofunction_on_error;
++
+ void luaA_checkfunction(lua_State *L, int idx)
+ {
+ if(!lua_isfunction(L, idx))
+--- a/common/lualib.h
++++ b/common/lualib.h
+@@ -28,7 +28,7 @@
+ #include "common/util.h"
+
+ /** Lua function to call on dofunction() error */
+-lua_CFunction lualib_dofunction_on_error;
++extern lua_CFunction lualib_dofunction_on_error;
+
+ void luaA_checkfunction(lua_State *, int);
+ void luaA_checktable(lua_State *, int);
+--- a/luaa.c
++++ b/luaa.c
+@@ -91,6 +91,8 @@ extern const struct luaL_Reg awesome_mouse_meta[];
+ extern const struct luaL_Reg awesome_root_methods[];
+ extern const struct luaL_Reg awesome_root_meta[];
+
++signal_array_t global_signals;
++
+ /** A call into the Lua code aborted with an error.
+ *
+ * This signal is used in the example configuration, @{05-awesomerc.md},
+--- a/luaa.h
++++ b/luaa.h
+@@ -317,7 +317,7 @@ const char *luaA_find_config(xdgHandle *, const char *, luaA_config_callback *);
+ bool luaA_parserc(xdgHandle *, const char *);
+
+ /** Global signals */
+-signal_array_t global_signals;
++extern signal_array_t global_signals;
+
+ int luaA_class_index_miss_property(lua_State *, lua_object_t *);
+ int luaA_class_newindex_miss_property(lua_State *, lua_object_t *);
+--- a/objects/button.c
++++ b/objects/button.c
+@@ -35,6 +35,8 @@
+
+ #include "button.h"
+
++lua_class_t button_class;
++
+ /** Button object.
+ *
+ * @tfield int button The mouse button number, or 0 for any button.
+--- a/objects/button.h
++++ b/objects/button.h
+@@ -39,7 +39,7 @@ typedef struct button_t
+ xcb_button_t button;
+ } button_t;
+
+-lua_class_t button_class;
++extern lua_class_t button_class;
+ LUA_OBJECT_FUNCS(button_class, button_t, button)
+ ARRAY_FUNCS(button_t *, button, DO_NOTHING)
+
+--- a/objects/client.c
++++ b/objects/client.c
+@@ -108,6 +108,8 @@
+ #include <xcb/shape.h>
+ #include <cairo-xcb.h>
+
++lua_class_t client_class;
++
+ /** Client class.
+ *
+ * This table allow to add more dynamic properties to the clients. For example,
+--- a/objects/client.h
++++ b/objects/client.h
+@@ -200,7 +200,7 @@ struct client_t
+ ARRAY_FUNCS(client_t *, client, DO_NOTHING)
+
+ /** Client class */
+-lua_class_t client_class;
++extern lua_class_t client_class;
+
+ LUA_OBJECT_FUNCS(client_class, client_t, client)
+
+--- a/objects/drawin.c
++++ b/objects/drawin.c
+@@ -46,6 +46,8 @@
+ #include <cairo-xcb.h>
+ #include <xcb/shape.h>
+
++lua_class_t drawin_class;
++
+ /** Drawin object.
+ *
+ * @field border_width Border width.
+--- a/objects/drawin.h
++++ b/objects/drawin.h
+@@ -52,7 +52,7 @@ void luaA_drawin_systray_kickout(lua_State *);
+
+ void drawin_class_setup(lua_State *);
+
+-lua_class_t drawin_class;
++extern lua_class_t drawin_class;
+
+ #endif
+ // vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
+--- a/objects/key.c
++++ b/objects/key.c
+@@ -43,6 +43,8 @@
+ #include <xkbcommon/xkbcommon.h>
+ #include <glib.h>
+
++lua_class_t key_class;
++
+ /** Key object.
+ *
+ * @tfield string key The key to trigger an event.
+--- a/objects/key.h
++++ b/objects/key.h
+@@ -36,7 +36,7 @@ typedef struct keyb_t
+ xcb_keycode_t keycode;
+ } keyb_t;
+
+-lua_class_t key_class;
++extern lua_class_t key_class;
+ LUA_OBJECT_FUNCS(key_class, keyb_t, key)
+ DO_ARRAY(keyb_t *, key, DO_NOTHING)
+
+--- a/objects/tag.c
++++ b/objects/tag.c
+@@ -190,6 +190,8 @@
+ #include "ewmh.h"
+ #include "luaa.h"
+
++lua_class_t tag_class;
++
+ /**
+ * @signal request::select
+ */
+--- a/objects/tag.h
++++ b/objects/tag.h
+@@ -46,7 +46,7 @@ struct tag
+ client_array_t clients;
+ };
+
+-lua_class_t tag_class;
++extern lua_class_t tag_class;
+ LUA_OBJECT_FUNCS(tag_class, tag_t, tag)
+
+ void tag_class_setup(lua_State *);
+--- a/objects/window.c
++++ b/objects/window.c
+@@ -59,6 +59,7 @@
+ #include "property.h"
+ #include "xwindow.h"
+
++lua_class_t window_class;
+ LUA_CLASS_FUNCS(window, window_class)
+
+ static xcb_window_t
+--- a/objects/window.h
++++ b/objects/window.h
+@@ -80,7 +80,7 @@ typedef struct
+ WINDOW_OBJECT_HEADER
+ } window_t;
+
+-lua_class_t window_class;
++extern lua_class_t window_class;
+
+ void window_class_setup(lua_State *);
+
diff --git a/windowmanagers/berry/DEPENDS b/windowmanagers/berry/DEPENDS
new file mode 100755
index 0000000000..075eecdd2d
--- /dev/null
+++ b/windowmanagers/berry/DEPENDS
@@ -0,0 +1,9 @@
+depends PKG-CONFIG &&
+depends libx11 &&
+depends libxft &&
+depends libxinerama &&
+
+suggest_depends sxhkd '' '' 'Default hotkey program used by berry (recommended)' &&
+suggest_depends polybar '' '' 'for a status bar' &&
+suggest_depends dmenu '' '' 'for a dmenu-based application launcher' &&
+suggest_depends rofi '' '' 'for an alternative application launcher'
diff --git a/windowmanagers/berry/DETAILS b/windowmanagers/berry/DETAILS
new file mode 100755
index 0000000000..d8cd8f4483
--- /dev/null
+++ b/windowmanagers/berry/DETAILS
@@ -0,0 +1,15 @@
+ SPELL=berry
+ VERSION=0.1.12
+ SOURCE="${SPELL}-${VERSION}.tar.gz"
+ SOURCE_URL[0]=https://github.com/JLErvin/${SPELL}/archive/refs/tags/${VERSION}.tar.gz
+ SOURCE_HASH=sha256:d5a5099f90f0bea3fa93ead72b1f4fe8205fe0540743a8cf23f5a0c9971b4cf1
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ DOC_DIRS="examples"
+ WEB_SITE="http://berrywm.org/"
+ LICENSE[0]=MIT
+ ENTERED=20221202
+ SHORT="byte-sized window manager"
+cat << EOF
+A healthy, byte-sized window manager written in C
+over the XLib library
+EOF
diff --git a/windowmanagers/berry/FINAL b/windowmanagers/berry/FINAL
new file mode 100755
index 0000000000..f2c9a5e6fc
--- /dev/null
+++ b/windowmanagers/berry/FINAL
@@ -0,0 +1,4 @@
+message "${MESSAGE_COLOR}Default config files for both berry and sxhkd have\n" \
+ "been installed to ${YELLOW}${BOLD}/usr/share/doc/berry/examples/${MESSAGE_COLOR}\n" \
+ "copy them over to ${YELLOW}${BOLD}~/.config/berry/${MESSAGE_COLOR} and edit\n" \
+ "them to your liking${DEFAULT_COLOR}"
diff --git a/windowmanagers/berry/HISTORY b/windowmanagers/berry/HISTORY
new file mode 100644
index 0000000000..fd26568a0e
--- /dev/null
+++ b/windowmanagers/berry/HISTORY
@@ -0,0 +1,7 @@
+2022-12-02 Conner Clere <connerclere@gmail.com>
+ * DETAILS: version 0.1.12
+ * DEPENDS: added
+ * PRE_BUILD: edit autostart file to include sxhkd command
+ * FINAL: Add message about copying config files to user dir
+ * berry.desktop, startberry: wm files added
+
diff --git a/windowmanagers/berry/PRE_BUILD b/windowmanagers/berry/PRE_BUILD
new file mode 100755
index 0000000000..5d1294c76f
--- /dev/null
+++ b/windowmanagers/berry/PRE_BUILD
@@ -0,0 +1,3 @@
+default_pre_build &&
+cd ${SOURCE_DIRECTORY}/examples &&
+sed -i "2 a sxhkd -c ~/.config/berry/sxhkdrc" autostart
diff --git a/windowmanagers/berry/berry.desktop b/windowmanagers/berry/berry.desktop
new file mode 100755
index 0000000000..39a40d2705
--- /dev/null
+++ b/windowmanagers/berry/berry.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=berry
+Comment=berry - a small window manager
+Exec=berry
+Type=XSession
diff --git a/windowmanagers/berry/startberry b/windowmanagers/berry/startberry
new file mode 100755
index 0000000000..1389d3719a
--- /dev/null
+++ b/windowmanagers/berry/startberry
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec berry
diff --git a/windowmanagers/dwm/DETAILS b/windowmanagers/dwm/DETAILS
index 385773b2f4..73222d53bd 100755
--- a/windowmanagers/dwm/DETAILS
+++ b/windowmanagers/dwm/DETAILS
@@ -1,14 +1,14 @@
SPELL=dwm
- VERSION=6.2
- SOURCE_HASH=sha512:01abcab954e5b7c20d011e6fd9c28025271fea2e85610c928812f7c6a09f99d7f9e93d11ffc2d6a7aca894b3fa7e507c6c2fe5f26ff5ddcfc650a9bbaaa41e06
- SOURCE=$SPELL-$VERSION.tar.gz
- SOURCE_URL[0]=http://dl.suckless.org/dwm/${SOURCE}
-SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
- WEB_SITE=http://dwm.suckless.org/
+ VERSION=6.5
+ SOURCE=${SPELL}-${VERSION}.tar.gz
+ SOURCE_URL[0]=https://dl.suckless.org/${SPELL}/${SOURCE}
+ SOURCE_HASH=sha512:6cc3efd8d8a5e96517474fdcb1c1a6192fdf669c1bb02de6aea0a9f1a951360bf73c9576a5a0f06b00e2f839bacc304d60548d5ead0996bf46d82be4121ed248
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ WEB_SITE=https://dwm.suckless.org/
ENTERED=20060923
LICENSE[0]=MIT
KEYWORDS="windowmanagers"
- SHORT="dwm is a dynamic window manager for X."
+ SHORT="dynamic window manager for X"
cat << EOF
dwm is a dynamic window manager for X. It manages windows in tiled and
floating layouts. Either layout can be applied dynamically, optimizing
diff --git a/windowmanagers/dwm/HISTORY b/windowmanagers/dwm/HISTORY
index 6290c2a5f8..08d539333d 100644
--- a/windowmanagers/dwm/HISTORY
+++ b/windowmanagers/dwm/HISTORY
@@ -1,3 +1,9 @@
+2024-03-19 Vlad Glagolev <stealth@sourcemage.org>
+ * DETAILS: updated spell to 6.5
+
+2022-10-06 Vlad Glagolev <stealth@sourcemage.org>
+ * DETAILS: updated spell to 6.4
+
2019-02-05 Pavel Vinogradov <public@sourcemage.org>
* DETAILS: version 6.2
diff --git a/windowmanagers/fluxbox/HISTORY b/windowmanagers/fluxbox/HISTORY
index b5409ae051..bc22a3132f 100644
--- a/windowmanagers/fluxbox/HISTORY
+++ b/windowmanagers/fluxbox/HISTORY
@@ -1,3 +1,7 @@
+2023-08-09 Stephane Fontaine <esselfe16@gmail.com>
+ * PRE_BUILD: add a sed command to fix a pointer comparison
+ with zero error
+
2019-05-18 Ismael Luceno <ismael@sourcemage.org>
* DEPENDS: Update dependency; s/gettext/GETTEXT/
diff --git a/windowmanagers/fluxbox/PRE_BUILD b/windowmanagers/fluxbox/PRE_BUILD
index b179bb88d5..53ba06100e 100755
--- a/windowmanagers/fluxbox/PRE_BUILD
+++ b/windowmanagers/fluxbox/PRE_BUILD
@@ -8,4 +8,7 @@ patch -p1 < "${SPELL_DIRECTORY}/root_window.patch" &&
if is_depends_enabled $SPELL fribidi && is_version_less $(installed_version fribidi) 0.19; then
patch -p0 < "$SPELL_DIRECTORY/fribidi.patch" &&
autoreconf -fi
-fi
+fi &&
+
+# Fix pointer comparison with 0 error
+sedit 's/\(text_prop.value\) > 0/\1 != NULL/' util/fluxbox-remote.cc
diff --git a/windowmanagers/hyprland/BUILD b/windowmanagers/hyprland/BUILD
new file mode 100755
index 0000000000..5ac5f4d96c
--- /dev/null
+++ b/windowmanagers/hyprland/BUILD
@@ -0,0 +1,39 @@
+if [[ "${SYSWLROOTS}" == "y" ]]; then
+ default_build
+else
+ OPTS+=" use_system_wlroots=disabled" &&
+ local PREFIX=${PREFIX:-/usr} &&
+ local MESON_BUILD_TYPE="${MESON_BUILD_TYPE:-release}" &&
+
+ local MESON_BUILD &&
+ local MESON_OPTS &&
+ local BUILDER &&
+ local BUILDER_OPTS="-j ${MAKE_NJOBS} -C builddir/" &&
+
+ if [[ $(get_spell_provider ${SPELL} MESON-BUILD) == muon ]]; then
+ MESON_BUILD="muon setup" &&
+
+ OPTS="prefix=${INSTALL_ROOT}${PREFIX} buildtype=${MESON_BUILD_TYPE} default_library=static libdir=lib ${OPTS}"
+ else
+ MESON_BUILD="meson setup"
+ MESON_OPTS="--prefix ${INSTALL_ROOT}${PREFIX} --buildtype ${MESON_BUILD_TYPE} --default-library static --libdir lib"
+ fi &&
+
+ if ! is_depends_enabled ${SPELL} $(get_spell_provider ${SPELL} NINJA-BUILD); then
+ BUILDER="muon samu"
+ elif [[ $(get_spell_provider ${SPELL} NINJA-BUILD) == samurai ]]; then
+ BUILDER="samu"
+ else
+ BUILDER="ninja"
+ fi &&
+
+ for MO in $OPTS; do
+ MESON_OPTS+=" -D${MO}"
+ done &&
+
+ cd "${SOURCE_DIRECTORY}" &&
+
+ ${MESON_BUILD} ${MESON_OPTS} builddir/ &&
+
+ ${BUILDER} ${BUILDER_OPTS}
+fi
diff --git a/windowmanagers/hyprland/CONFIGURE b/windowmanagers/hyprland/CONFIGURE
new file mode 100755
index 0000000000..9f48d22f39
--- /dev/null
+++ b/windowmanagers/hyprland/CONFIGURE
@@ -0,0 +1 @@
+. "${GRIMOIRE}/MESON_CONFIGURE"
diff --git a/windowmanagers/hyprland/DEPENDS b/windowmanagers/hyprland/DEPENDS
new file mode 100755
index 0000000000..1166076cb1
--- /dev/null
+++ b/windowmanagers/hyprland/DEPENDS
@@ -0,0 +1,56 @@
+. "${GRIMOIRE}/MESON_DEPENDS" &&
+depends PKG-CONFIG &&
+depends jq &&
+depends git &&
+depends wayland &&
+depends wayland-protocols &&
+depends libglvnd &&
+depends libxkbcommon &&
+depends libinput &&
+depends cairo &&
+depends pixman &&
+depends OPENGL &&
+depends seatd &&
+depends tomlplusplus &&
+depends hyprcursor &&
+if [[ "${SYSWLROOTS}" == "y" ]]; then
+ depends -sub "SCM HYPRLAND" wlroots 'use_system_wlroots=enabled'
+else
+ depends DEVICE-MANAGER &&
+ optional_depends hwdata '' '' 'Enable DRM backend?' &&
+
+ if is_depends_enabled "${SPELL}" "hwdata"; then
+ depends libdisplay-info &&
+ depends libliftoff
+ fi &&
+
+ optional_depends libxcb '' '' 'enable X11 backend' &&
+
+ optional_depends vulkan-headers '' '' 'build Vulkan renderer' &&
+ if is_depends_enabled $SPELL vulkan-headers;then
+ depends vulkan-loader &&
+ depends glslang
+ fi
+fi &&
+
+optional_depends xwayland \
+ 'xwayland=enabled' \
+ 'xwayland=disabled' \
+ 'Enable x11 application support?' &&
+
+if is_depends_enabled $SPELL xwayland; then
+ depends libxcb &&
+
+ if [[ "${SYSWLROOTS}" == "n" ]]; then
+ depends xcb-util-renderutil &&
+ depends xcb-util-wm &&
+
+ optional_depends xcb-util-errors '' '' 'Improved error reporting?'
+ fi
+fi &&
+
+optional_depends systemd \
+ 'systemd=enabled' \
+ 'systemd=disabled' \
+ 'Enable systemd support?'
+
diff --git a/windowmanagers/hyprland/DETAILS b/windowmanagers/hyprland/DETAILS
new file mode 100755
index 0000000000..22cc35fba1
--- /dev/null
+++ b/windowmanagers/hyprland/DETAILS
@@ -0,0 +1,35 @@
+. "$GRIMOIRE/MESON_FUNCTIONS"
+ SPELL=hyprland
+ VERSION=0.38.1
+ SOURCE_HASH=sha512:a84c7c7e2b634032eb79d7c73efefaa99fb506f36eed7cea9dac09bfe53b46accef9145ae062b4a9fd3f8121d3abb52fe2465d176c950d498115da8ae111127e
+PROTOCOLS_COMMIT=0c2ce70625cb30aef199cb388f99e19a61a6ce03
+ UDIS86_COMMIT=5336633af70f3917760a6d441ff02d93477b0c86
+ SOURCE2_HASH=sha512:1eafa6ee8f371f2811a155b9ad6af006f39d76ec61b7144d094f79c849c90d813c8d58e34e74066a8285653bf3909b181d015cf0b4a42c593784154edee1dcdb
+ SOURCE3_HASH=sha512:64fc65b7388db25b6a8b008b51e274753e5e8b1dbd48126bdd676a3d0276ce37a4140bc5d08d6499ab5e61f51109eb8b9d1b14588bf8dc6d44d1642305403a82
+ SOURCE=Hyprland-${VERSION}.tar.gz
+ SOURCE_URL[0]=https://github.com/hyprwm/${SPELL}/archive/refs/tags/v${VERSION}.tar.gz
+# Watch: https://github.com/hyprwm/Hyprland/tags tags/v([0-9.]+)[.]tar
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/Hyprland-${VERSION}"
+ SOURCE2="hyprland-protocols-${PROTOCOLS_COMMIT}.tar.gz"
+ SOURCE2_URL[0]="https://github.com/hyprwm/${SPELL}-protocols/archive/$PROTOCOLS_COMMIT.tar.gz"
+ SOURCE3="udis86-${UDIS86_COMMIT}.tar.gz"
+ SOURCE3_URL[0]="https://github.com/canihavesomecoffee/udis86/archive/$UDIS86_COMMIT.tar.gz"
+if [[ "${SYSWLROOTS}" == "n" ]]; then
+ WLROOTS_COMMIT="50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b"
+ SOURCE4_HASH="sha512:ce09d175f12cf25021caf18c0eac56aad97d238b3e2c4bfcc071d12d1bb8a44ee5c3aceab72ce3002928ca3c2c833bb5992b4820b44e0d0985c343ae903d056e"
+ SOURCE4="wlroots-${WLROOTS_COMMIT}.tar.gz"
+ SOURCE4_URL[0]="https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/${WLROOTS_COMMIT}/${SOURCE4}.tar.gz"
+fi
+ WEB_SITE=http://www.hyprland.org/
+ ENTERED=20230123
+ LICENSE[0]=BSD
+ DOC_DIRS=""
+ KEYWORDS="windowmanagers wayland wlroots"
+ SHORT="dynamic tiling Wayland compositor"
+cat << EOF
+Hyprland is a dynamic tiling Wayland compositor based on wlroots
+that doesn't sacrifice on its looks.
+
+It supports multiple layouts, fancy effects, has a very flexible IPC
+model allowing for a lot of customization, and more.
+EOF
diff --git a/windowmanagers/hyprland/HISTORY b/windowmanagers/hyprland/HISTORY
new file mode 100644
index 0000000000..dfebf199c8
--- /dev/null
+++ b/windowmanagers/hyprland/HISTORY
@@ -0,0 +1,107 @@
+2024-04-13 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.38.1
+
+2024-04-03 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.38.0
+
+2024-03-25 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.37.1, updated wlroots commit id
+ * DEPENDS: needs hyprcursor
+
+2024-02-17 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.35.0, updated wlroots commit id
+
+2024-01-12 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS, PRE_BUILD: version 0.34.0, fixed confusion about embedded wlroots
+ * DEPENDS: needs tomlplusplus
+
+2024-01-04 Pavel Vinogradov <public@sourcemage.org>
+ * PRE_BUILD: fixed embedded wlroots unpacking
+
+2023-12-24 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.33.1, updated wlroots commit id
+
+2023-12-11 Pavel Vinogradov <public@sourcemage.org>
+ * PRE_BUILD: removed all commit ids, using SOURCEn substitutions now
+
+2023-11-28 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.32.3, updated wlroots commit id
+
+2023-10-25 Conner Clere <xenanthropy@sourcemage.org>
+ * DETAILS: version 0.31.0, updated wlroots and hyprland-protocols subprojects
+ switch sources for subprojects to commit id tarballs from github/lab
+ * PRE_BUILD: updated folder names of subprojects with commit IDS
+
+2023-10-15 Conner Clere <xenanthropy@sourcemage.org>
+ * DETAILS: version 0.30.0, changed subprojects to proper commid IDs and added
+ source hash checks
+ * patches/hyprland-system-wlroots.patch: updated patch to work with 0.30.0
+
+2023-09-16 Pavel Vinogradov <public@sorcemage.org>
+ * DETAILS: version 0.29.1
+
+2023-09-02 Pavel Vinogradov <public@sorcemage.org>
+ * DETAILS: version 0.29.0, updated wlroots commit id
+
+2023-08-06 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.28.0, updated wlroots commit id
+
+2023-08-03 Conner Clere <xenanthropy@sourcemage.org>
+ * DETAILS: add force downloads for volatile sources
+
+2023-07-20 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.27.2, updated wlroots commit id
+
+2023-06-02 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.26.0
+
+2023-05-07 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.25.0
+
+2023-04-12 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.24.1
+
+2023-04-08 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.24.0, updated source url, build directory and wlroots
+ commit id
+
+2023-03-22 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: don't install docs subdir, man pages are installed to proper path
+
+2023-03-22 Conner Clere <xenanthropy@sourcemage.org>
+ * INSTALL: added, skip installing subprojects
+
+2023-03-21 Pavel Vinogradov <public@sourcemage.org>
+ * BUILD, DEPENDS, DETAILS, PRE_BUILD, PREPARE: the ability for builtin wlroots
+ is back
+
+2023-03-20 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 0.23.0, added hyprland-protocols and udis86 as subprojects
+ to download
+ * BUILD, INSTALL: removed, not needed anymore
+ * DEPENDS: wlroots scm branch with HYPRLAND commit id is required now, removed
+ extra dependencies for builtin wlroots
+ * PRE_BUILD: removed git cloning of hyprland-protocols and wlroots,
+ unpacking and renaming subprojects directories is refactored as well
+ * patches/hyprland-system-wlroots.patch: updated
+
+2023-03-09 Conner Clere <xenanthropy@sourcemage.org>
+ * BUILD: added, modified meson_build; change to `--shared-library static`
+ (only applies if system wlroots not used)
+ * INSTALL: added, modified meson_install; add `--tags runtime,man`
+ * PRE_BUILD: update wlroots git clone to checkout appropriate wlroots commit
+ * DEPENDS: fix wlroots dep, remove hard dep line and add sub_depends to
+ wlroots optional_depends
+
+2023-03-08 Conner Clere <xenanthropy@sourcemage.org>
+ * DETAILS: version 0.22.0
+ * DEPENDS: change wlroots dep to -sub SCM HYPRLAND
+
+2023-02-01 Conner Clere <xenanthropy@sourcemage.org>
+ * DEPENDS, PRE_BUILD, HISTORY: add missing newlines at end
+ * DEPENDS, PRE_BUILD: fix is_depends_enabled statements
+
+2023-01-31 Conner Clere <xenanthropy@sourcemage.org>
+ * CONFIGURE, DEPENDS, PRE_BUILD, DETAILS: version 0.21.0, new spell
+ * patches/hyprland-system-wlroots.patch: add support for system wlroots
+
diff --git a/windowmanagers/hyprland/INSTALL b/windowmanagers/hyprland/INSTALL
new file mode 100755
index 0000000000..06135924a7
--- /dev/null
+++ b/windowmanagers/hyprland/INSTALL
@@ -0,0 +1 @@
+meson_install "--skip-subprojects"
diff --git a/windowmanagers/hyprland/PREPARE b/windowmanagers/hyprland/PREPARE
new file mode 100755
index 0000000000..1807e2d974
--- /dev/null
+++ b/windowmanagers/hyprland/PREPARE
@@ -0,0 +1 @@
+config_query SYSWLROOTS "Use system wlroots?" n
diff --git a/windowmanagers/hyprland/PRE_BUILD b/windowmanagers/hyprland/PRE_BUILD
new file mode 100755
index 0000000000..3e6df545dd
--- /dev/null
+++ b/windowmanagers/hyprland/PRE_BUILD
@@ -0,0 +1,15 @@
+default_pre_build &&
+cd "${SOURCE_DIRECTORY}" &&
+apply_patch_dir patches &&
+
+cd "${SOURCE_DIRECTORY}/subprojects" &&
+unpack_file 2 &&
+unpack_file 3 &&
+rm -rf "${SPELL}-protocols" "udis86" "wlroots" &&
+mv "${SOURCE2%.tar.gz}" "./${SPELL}-protocols" &&
+mv "${SOURCE3%.tar.gz}" "./udis86" &&
+
+if [[ "${SYSWLROOTS}" == "n" ]]; then
+ unpack_file 4 &&
+ mv "${SOURCE4%.tar.gz}" "./wlroots"
+fi
diff --git a/windowmanagers/hyprland/patches/hyprland-system-wlroots.patch b/windowmanagers/hyprland/patches/hyprland-system-wlroots.patch
new file mode 100644
index 0000000000..b61f633d26
--- /dev/null
+++ b/windowmanagers/hyprland/patches/hyprland-system-wlroots.patch
@@ -0,0 +1,47 @@
+diff -urp a/meson.build b/meson.build
+--- a/meson.build 2023-10-14 22:54:39.226371688 -0500
++++ b/meson.build 2023-10-14 23:00:28.755390834 -0500
+@@ -39,8 +39,19 @@ add_project_arguments(
+ ],
+ language: 'cpp')
+
+-wlroots = subproject('wlroots', default_options: ['examples=false', 'renderers=gles2'])
+-have_xwlr = wlroots.get_variable('features').get('xwayland')
++wlroots = dependency('wlroots', required: get_option('use_system_wlroots'))
++use_system_wlroots = not get_option('use_system_wlroots').disabled() and wlroots.found()
++if not use_system_wlroots
++ wlroots = subproject('wlroots', default_options : ['examples=false']).get_variable('wlroots')
++endif
++
++have_xwlr = false
++if use_system_wlroots
++ have_xwlr = cpp_compiler.get_define('WLR_HAS_XWAYLAND', prefix: '#include <wlr/config.h>', dependencies: wlroots) == '1'
++else
++ have_xwlr = subproject('wlroots').get_variable('features').get('xwayland')
++endif
++
+ xcb_dep = dependency('xcb', required: get_option('xwayland'))
+
+ cmake = import('cmake')
+diff -urp a/meson_options.txt b/meson_options.txt
+--- a/meson_options.txt 2023-10-14 22:52:56.346366052 -0500
++++ b/meson_options.txt 2023-10-14 22:55:23.933374136 -0500
+@@ -1,3 +1,4 @@
++option('use_system_wlroots', type: 'feature', value: 'auto', description: 'Use the system-wide installation of wlroots')
+ option('xwayland', type: 'feature', value: 'auto', description: 'Enable support for X11 applications')
+ option('systemd', type: 'feature', value: 'auto', description: 'Enable systemd integration')
+ option('legacy_renderer', type: 'feature', value: 'disabled', description: 'Enable legacy renderer')
+diff -urp a/src/meson.build b/src/meson.build
+--- a/src/meson.build 2023-10-14 22:54:39.231371688 -0500
++++ b/src/meson.build 2023-10-14 22:55:36.874374845 -0500
+@@ -7,9 +7,9 @@ executable('Hyprland', src,
+ cpp_pch: 'pch/pch.hpp',
+ dependencies: [
+ server_protos,
++ wlroots,
+ dependency('wayland-server'),
+ dependency('wayland-client'),
+- wlroots.get_variable('wlroots'),
+ dependency('cairo'),
+ dependency('libdrm'),
+ dependency('egl'),
diff --git a/windowmanagers/i3/DEPENDS b/windowmanagers/i3/DEPENDS
index dc0f9b99cf..7e35189db5 100755
--- a/windowmanagers/i3/DEPENDS
+++ b/windowmanagers/i3/DEPENDS
@@ -1,7 +1,7 @@
. "${GRIMOIRE}/MESON_DEPENDS" &&
depends xcb-util &&
-depends pcre &&
+depends pcre2 &&
depends libxcb &&
depends libxkbcommon &&
depends startup-notification &&
diff --git a/windowmanagers/i3/DETAILS b/windowmanagers/i3/DETAILS
index fce82aa878..40af9de081 100755
--- a/windowmanagers/i3/DETAILS
+++ b/windowmanagers/i3/DETAILS
@@ -1,13 +1,13 @@
+# Watch: https://i3wm.org/downloads/
source "$GRIMOIRE/MESON_FUNCTIONS"
SPELL=i3
- VERSION=4.20.1
- PATCHLEVEL=1
+ VERSION=4.22
SOURCE="${SPELL}-${VERSION}.tar.xz"
SOURCE2=$SOURCE.asc
SOURCE_URL[0]=https://i3wm.org/downloads/${SOURCE}
SOURCE2_URL[0]=${SOURCE_URL[0]}.asc
SOURCE_GPG=i3.gpg:$SOURCE2:UPSTREAM_KEY
- SOURCE2_HASH=sha512:c0f6b991d46180ca470cbb7ab4cf5492552beb9dbf2631c61c8d92d0647106885481962381682e9129f3993d70bc6e5de506da1d32c3710fca64a66d51e8c8ce
+ SOURCE2_HASH=sha512:48314e28626bea6d64d9b84f29f0ca026cdbf935b325bc8b69106d4e089734f06f61830b366cc753bd42da6b88c27407a5ce7452a891eef2f1b6bd081d92de0f
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
WEB_SITE="http://i3wm.org/"
LICENSE[0]=BSD
diff --git a/windowmanagers/i3/HISTORY b/windowmanagers/i3/HISTORY
index 8156cb670d..4610dc309f 100644
--- a/windowmanagers/i3/HISTORY
+++ b/windowmanagers/i3/HISTORY
@@ -1,3 +1,13 @@
+2023-01-02 Florian Franzmann <bwlf@bandrate.org>
+ * DETAILS: version 4.22
+
+2022-10-30 Florian Franzmann <bwlf@bandrate.org>
+ * DETAILS: version 4.21.1
+
+2022-09-24 Florian Franzmann <bwlf@bandrate.org>
+ * DETAILS: version 4.21
+ * DEPENDS: depend on pcre2
+
2022-08-08 Ismael Luceno <ismael@sourcemage.org>
* INSTALL: fixed installation of perl module
* DEPENDS: improved descriptions
diff --git a/windowmanagers/icewm/BUILD b/windowmanagers/icewm/BUILD
index ff368497a9..07a22adc63 100755
--- a/windowmanagers/icewm/BUILD
+++ b/windowmanagers/icewm/BUILD
@@ -1,3 +1,4 @@
ICE_OPTS="$ICE_DECO $ICE_SM $ICE_LT $ICE_GRADIENT $ICE_GUI_EV"
OPTS="$OPTS $ICE_OPTS"
+OPTS+=" $ICEWM_I18N" &&
default_build
diff --git a/windowmanagers/icewm/CONFIGURE b/windowmanagers/icewm/CONFIGURE
index da6de91890..219203a4fc 100755
--- a/windowmanagers/icewm/CONFIGURE
+++ b/windowmanagers/icewm/CONFIGURE
@@ -1,3 +1,7 @@
+config_query_option ICEWM_I18N \
+ "Enable translations support?" y \
+ --{enable,disable}-i18n &&
+
config_query_option ICE_SM \
"Enable session management (experimental)?" n \
"--enable-sm" "--disable-sm" &&
@@ -17,6 +21,7 @@ config_query_option ICE_GUI_EV \
config_query ICE_FRAMELESS_BUTTONS \
"Enable frameless button support (for certain themes, requires a patch)?" n &&
+persistent_remove ICEWM_TEST &&
persistent_remove ICE_OPTS &&
persistent_remove ICE_SHAPED_DECO &&
persistent_remove ICE_SESSION &&
diff --git a/windowmanagers/icewm/DEPENDS b/windowmanagers/icewm/DEPENDS
index 2b9379d39b..140511e7cf 100755
--- a/windowmanagers/icewm/DEPENDS
+++ b/windowmanagers/icewm/DEPENDS
@@ -1,5 +1,10 @@
depends xorg-libs &&
+case "$ICEWM_I18N:$HOST" in
+ (--disable-i18n:*|*-gnu) ;;
+ (*) depends libiconv EXTRA_LIBS=-liconv ;;
+esac &&
+
message "Note that you don't need gnome* support when using enthrall" &&
optional_depends gnome-libs \
"--enable-menus-gnome1" \
diff --git a/windowmanagers/icewm/DETAILS b/windowmanagers/icewm/DETAILS
index ce7a068628..46c00a983f 100755
--- a/windowmanagers/icewm/DETAILS
+++ b/windowmanagers/icewm/DETAILS
@@ -1,13 +1,9 @@
SPELL=icewm
-if [[ "${ICEWM_TEST}" = 'y' ]] ; then
- VERSION=1.3.7
-else
- VERSION=1.2.37
-fi
- SOURCE=$SPELL-$VERSION.tar.gz
+ VERSION=3.4.0
+ SOURCE=$SPELL-$VERSION.tar.lz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
- SOURCE_URL[0]=http://downloads.sourceforge.net/sourceforge/$SPELL/$SOURCE
- SOURCE_GPG=gurus.gpg:${SOURCE}.sig
+ SOURCE_URL[0]=https://github.com/ice-wm/icewm/releases/download/$VERSION/$SOURCE
+ SOURCE_HASH=sha512:37c84a3942281720942834c59d589eeb5b9ee1a4a066e7f3b88b9e567eae8a118e2370d6fb43241d02c286ac5e91c9d7b57dfe453460d4d4654d3ccf764fea31
WEB_SITE=http://www.icewm.org
ENTERED=20010922
LICENSE[0]=GPL
diff --git a/windowmanagers/icewm/HISTORY b/windowmanagers/icewm/HISTORY
index 490f521a52..f8cf592dc8 100644
--- a/windowmanagers/icewm/HISTORY
+++ b/windowmanagers/icewm/HISTORY
@@ -1,3 +1,10 @@
+2023-06-08 Ismael Luceno <ismael@sourcemage.org>
+ * CONFIGURE, DETAILS: removal of ICEWM_TEST
+ * PREPARE, icewm-1.2.37.tar.gz.sig, icewm-1.3.7.tar.gz.sig:
+ removed, no longer needed
+ * DETAILS: updated spell to 3.4.0, switched to SOURCE_HASH
+ * BUILD, CONFIGURE, DEPENDS: fixed build against musl
+
2015-05-25 Thomas Orgis <sobukus@sourcemage.org>
* DETAILS: remove SOURCEFORGE_URL usage (automated)
diff --git a/windowmanagers/icewm/PREPARE b/windowmanagers/icewm/PREPARE
deleted file mode 100755
index fe4bfe2533..0000000000
--- a/windowmanagers/icewm/PREPARE
+++ /dev/null
@@ -1 +0,0 @@
-config_query ICEWM_TEST "Do you want the test (unstable) version?" n
diff --git a/windowmanagers/icewm/icewm-1.2.37.tar.gz.sig b/windowmanagers/icewm/icewm-1.2.37.tar.gz.sig
deleted file mode 100644
index 5632af03a5..0000000000
--- a/windowmanagers/icewm/icewm-1.2.37.tar.gz.sig
+++ /dev/null
Binary files differ
diff --git a/windowmanagers/icewm/icewm-1.3.7.tar.gz.sig b/windowmanagers/icewm/icewm-1.3.7.tar.gz.sig
deleted file mode 100644
index 9db1323bf0..0000000000
--- a/windowmanagers/icewm/icewm-1.3.7.tar.gz.sig
+++ /dev/null
Binary files differ
diff --git a/windowmanagers/jwm/DETAILS b/windowmanagers/jwm/DETAILS
index 67e007c0d1..e800242c17 100755
--- a/windowmanagers/jwm/DETAILS
+++ b/windowmanagers/jwm/DETAILS
@@ -1,10 +1,11 @@
+# Watch: https://joewing.net/projects/jwm/
SPELL=jwm
- VERSION=2.0.1
- SOURCE=$SPELL-$VERSION.tar.bz2
- SOURCE_URL[0]=http://joewing.net/programs/$SPELL/releases/$SOURCE
- SOURCE_HASH=sha512:ec5124a3995fa314e8e484b9ab2fe3088df022223c3f4594202755f7baa02f28be368863ced783814463377eb2b3ce63b756f1e1720b539acade3d819d8d4a0b
+ VERSION=2.4.3
+ SOURCE=$SPELL-$VERSION.tar.xz
+ SOURCE_URL[0]=https://github.com/joewing/jwm/releases/download/v$VERSION/$SOURCE
+ SOURCE_HASH=sha512:35b8a6da9614f11881013aa77c36ee88ce9a213f056e797231b772132beb841d54094809b6a476383999bddeccf61451f72cd166309dd79c223b634cf5d1e69e
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
- WEB_SITE="http://joewing.net/programs/jwm/"
+ WEB_SITE="https://joewing.net/projects/jwm/"
LICENSE[0]=GPL2
ENTERED=20070807
SHORT="a minimalistic WM written in C"
diff --git a/windowmanagers/jwm/HISTORY b/windowmanagers/jwm/HISTORY
index 5817b61667..4f9b3e4110 100644
--- a/windowmanagers/jwm/HISTORY
+++ b/windowmanagers/jwm/HISTORY
@@ -1,3 +1,8 @@
+2023-06-03 Ismael Luceno <ismael@sourcemage.org>
+ * separate-rootmenu.patch: removed, replaced by a script
+ * PRE_BUILD: added script to split root menu programatically
+ * DETAILS: updated spell to 2.4.3
+
2010-11-03 Ladislav Hagara <hgr@vabo.cz>
* DEPENDS: jpeg -> JPEG
@@ -24,4 +29,3 @@
2007-08-07 J.P. Nimmo <capnnimmo712@gmail.com>
* DETAILS, DEPENDS, HISTORY: created spell
-
diff --git a/windowmanagers/jwm/PRE_BUILD b/windowmanagers/jwm/PRE_BUILD
index 7cd2a1634b..096feab984 100755
--- a/windowmanagers/jwm/PRE_BUILD
+++ b/windowmanagers/jwm/PRE_BUILD
@@ -1,3 +1,12 @@
default_pre_build &&
cd ${SOURCE_DIRECTORY} &&
-patch -p1 < ${SCRIPT_DIRECTORY}/separate-rootmenu.patch
+awk '
+ BEGIN { menufile = "jwmrc-menu"; print "<JWM>" > menufile }
+ END { print "</JWM>" > menufile }
+ function rootmenu_end() {
+ if (!/^ *<\/RootMenu>/) return 1
+ printf " <Include>/etc/%s</Include>\n", menufile
+ }
+ /^ *<RootMenu/, !rootmenu_end() { print > menufile; next } 1
+' example.jwmrc > example.jwmrc.$$ &&
+mv example.jwmrc.$$ example.jwmrc
diff --git a/windowmanagers/jwm/separate-rootmenu.patch b/windowmanagers/jwm/separate-rootmenu.patch
deleted file mode 100644
index b06c7de8ad..0000000000
--- a/windowmanagers/jwm/separate-rootmenu.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff -Naur ./jwm-2.0.1/example.jwmrc jwm-2.0.1-fixed/example.jwmrc
---- ./jwm-2.0.1/example.jwmrc 2007-07-05 03:56:41.000000000 +0200
-+++ jwm-2.0.1-fixed/example.jwmrc 2007-08-25 23:26:07.000000000 +0200
-@@ -1,36 +1,8 @@
- <?xml version="1.0"?>
-
- <JWM>
--
-- <!-- The root menu, if this is undefined you will not get a menu. -->
-- <!-- Additional RootMenu attributes: onroot, labeled, label -->
-- <RootMenu height="32" onroot="123">
-- <Program icon="rxvt.png" label="Terminal">rxvt</Program>
--
-- <Menu icon="folder.png" label="Applications">
-- <Program icon="audacious.png" label="Audacious">audacious</Program>
-- <Program icon="dia.png" label="Dia">dia</Program>
-- <Program icon="firefox.png" label="Firefox">firefox</Program>
-- <Program icon="pidgin.png" label="Pidgin">pidgin</Program>
-- <Program icon="gimp.png" label="Gimp">gimp</Program>
-- <Program icon="gtk-gnutella.png" label="gtk-gnutella">
-- gtk-gnutella
-- </Program>
-- <Program icon="gxine.png" label="gxine">gxine</Program>
-- <Program icon="ooffice.png" label="Open Office">ooffice</Program>
-- </Menu>
-- <Menu icon="folder.png" label="Utilities">
-- <Program icon="xcalc.png">xcalc</Program>
-- <Program icon="xfontsel.png">xfontsel</Program>
-- <Program icon="xmag.png">xmag</Program>
-- <Program icon="xprop.png" label="xprop">
-- xprop | xmessage -file -
-- </Program>
-- </Menu>
-- <Separator/>
-- <Restart label="Restart" icon="restart.png"/>
-- <Exit label="Exit" confirm="true" icon="exit.png"/>
-- </RootMenu>
-+ # include the Rootmenu
-+ <Include>/etc/jwmrc-menu</Include>
-
- <Group>
- <Class>Pidgin</Class>
-diff -Naur ./jwm-2.0.1/jwmrc-menu jwm-2.0.1-fixed/jwmrc-menu
---- ./jwm-2.0.1/jwmrc-menu 1970-01-01 01:00:00.000000000 +0100
-+++ jwm-2.0.1-fixed/jwmrc-menu 2007-08-25 23:26:27.000000000 +0200
-@@ -0,0 +1,31 @@
-+<JWM>
-+
-+<!-- The root menu, if this is undefined you will not get a menu. -->
-+<!-- Additional RootMenu attributes: onroot, labeled, label -->
-+<RootMenu height="32" onroot="123">
-+ <Program icon="rxvt.png" label="Terminal">rxvt</Program>
-+ <Menu icon="folder.png" label="Applications">
-+ <Program icon="audacious.png" label="Audacious">audacious</Program>
-+ <Program icon="dia.png" label="Dia">dia</Program>
-+ <Program icon="firefox.png" label="Firefox">firefox</Program>
-+ <Program icon="pidgin.png" label="Pidgin">pidgin</Program>
-+ <Program icon="gimp.png" label="Gimp">gimp</Program>
-+ <Program icon="gtk-gnutella.png" label="gtk-gnutella">
-+ gtk-gnutella
-+ </Program>
-+ <Program icon="gxine.png" label="gxine">gxine</Program>
-+ <Program icon="ooffice.png" label="Open Office">ooffice</Program>
-+ </Menu>
-+ <Menu icon="folder.png" label="Utilities">
-+ <Program icon="xcalc.png">xcalc</Program>
-+ <Program icon="xfontsel.png">xfontsel</Program>
-+ <Program icon="xmag.png">xmag</Program>
-+ <Program icon="xprop.png" label="xprop">
-+ xprop | xmessage -file -
-+ </Program>
-+ </Menu>
-+ <Separator/>
-+ <Restart label="Restart" icon="restart.png"/>
-+ <Exit label="Exit" confirm="true" icon="exit.png"/>
-+</RootMenu>
-+</JWM>
diff --git a/windowmanagers/labwc/CONFIGURE b/windowmanagers/labwc/CONFIGURE
new file mode 100755
index 0000000000..9f48d22f39
--- /dev/null
+++ b/windowmanagers/labwc/CONFIGURE
@@ -0,0 +1 @@
+. "${GRIMOIRE}/MESON_CONFIGURE"
diff --git a/windowmanagers/labwc/DEPENDS b/windowmanagers/labwc/DEPENDS
new file mode 100755
index 0000000000..ab663396cf
--- /dev/null
+++ b/windowmanagers/labwc/DEPENDS
@@ -0,0 +1,19 @@
+. "${GRIMOIRE}/MESON_DEPENDS" &&
+depends PKG-CONFIG &&
+depends wlroots &&
+depends wayland &&
+depends libinput &&
+depends libxkbcommon &&
+depends libxml2 &&
+depends cairo &&
+depends pango &&
+depends glib2 &&
+depends wayland-protocols &&
+
+optional_depends xwayland 'xwayland=enabled' \
+ 'xwayland=disabled' \
+ 'Enable xwayland support?' &&
+
+if is_depends_enabled $SPELL xwayland; then
+ depends libxcb
+fi
diff --git a/windowmanagers/labwc/DETAILS b/windowmanagers/labwc/DETAILS
new file mode 100755
index 0000000000..52fc1c1d2f
--- /dev/null
+++ b/windowmanagers/labwc/DETAILS
@@ -0,0 +1,33 @@
+. "${GRIMOIRE}/MESON_FUNCTIONS"
+ SPELL=labwc
+ VERSION=0.7.1
+ SOURCE=$SPELL-$VERSION.tar.gz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ SOURCE_URL[0]=https://github.com/labwc/labwc/archive/${VERSION}.tar.gz
+ SOURCE_HASH=sha256:1810ec55e287708e7a3cd44c726aa887db02480704db82b3d0bd550a6c4bfb76
+ LICENSE[0]=GPL
+ WEB_SITE=https://github.com/labwc/labwc/
+ ENTERED=20230227
+ KEYWORDS="wayland stacking compositor"
+ SHORT="lab wayland window-stacking compositor"
+cat << EOF
+Labwc stands for Lab Wayland Compositor, where lab can mean any of the following:
+
+ * sense of experimentation and treading new ground
+ * inspired by BunsenLabs and ArchLabs
+ * your favorite pet
+
+Labwc is a wlroots-based window-stacking compositor for wayland, inspired by openbox.
+
+It is light-weight and independent with a focus on simply stacking windows well
+and rendering some window decorations. It takes a no-bling/frills approach and
+says no to features such as icons (except window buttons), animations,
+decorative gradients and any other options not required to reasonably
+render common themes. It relies on clients for panels, screenshots, wallpapers
+and so on to create a full desktop environment.
+
+Labwc tries to stay in keeping with wlroots and sway in terms of general approach and coding style.
+
+Labwc has no reliance on any particular Desktop Environment, Desktop Shell or session.
+Nor does it depend on any UI toolkits such as Qt or GTK.
+EOF \ No newline at end of file
diff --git a/windowmanagers/labwc/HISTORY b/windowmanagers/labwc/HISTORY
new file mode 100644
index 0000000000..9631677d27
--- /dev/null
+++ b/windowmanagers/labwc/HISTORY
@@ -0,0 +1,9 @@
+2024-03-21 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 0.7.1
+
+2023-12-23 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 0.7.0
+
+2023-02-27 Conner Clere <xenanthropy@sourcemage.org>
+ * DETAILS, CONFIGURE, DEPENDS: version 0.6.1, new spell
+
diff --git a/windowmanagers/river/BUILD b/windowmanagers/river/BUILD
new file mode 100755
index 0000000000..e83ab0885a
--- /dev/null
+++ b/windowmanagers/river/BUILD
@@ -0,0 +1 @@
+DESTDIR="${SOURCE_DIRECTORY}/INSTALL_ROOT" zig build -Drelease-safe $OPTS --prefix /usr install
diff --git a/windowmanagers/river/DEPENDS b/windowmanagers/river/DEPENDS
new file mode 100755
index 0000000000..29844c0d1c
--- /dev/null
+++ b/windowmanagers/river/DEPENDS
@@ -0,0 +1,33 @@
+depends ZIG &&
+depends PKG-CONFIG &&
+depends wayland &&
+depends wayland-protocols &&
+depends wlroots &&
+depends libxkbcommon &&
+depends libevdev &&
+depends pixman &&
+
+optional_depends bash-completion \
+ '-Dbash-completion=true' \
+ '-Dbash-completion=false' \
+ 'Install bash completion for riverctl?' &&
+
+optional_depends zsh \
+ '-Dzsh-completion=true' \
+ '-Dzsh-completion=false' \
+ 'Install zsh completion for riverctl?' &&
+
+optional_depends fish \
+ '-Dfish-completion=true' \
+ '-Dfish-completion=false' \
+ 'Install fish completion for riverctl?' &&
+
+optional_depends xwayland \
+ '-Dxwayland=true' \
+ '-Dxwayland=false' \
+ 'Enable xwayland support?' &&
+
+optional_depends scdoc \
+ '-Dman-pages=true' \
+ '-Dman-pages=false' \
+ 'Generate and install man-pages?'
diff --git a/windowmanagers/river/DETAILS b/windowmanagers/river/DETAILS
new file mode 100755
index 0000000000..699c1a8ed8
--- /dev/null
+++ b/windowmanagers/river/DETAILS
@@ -0,0 +1,28 @@
+ SPELL=river
+ VERSION=0.2.4
+ SOURCE=$SPELL-$VERSION.tar.gz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ SOURCE_URL[0]=https://github.com/${SPELL}wm/${SPELL}/releases/download/v${VERSION}/$SOURCE
+ SOURCE_HASH=sha256:26c1c41a65ce3804069afad6988410515cf478d2b76303ebc699766d3d4dc69f
+ LICENSE[0]=GPL
+ WEB_SITE=https://github.com/riverwm/river
+ ENTERED=20230305
+ KEYWORDS="wayland wlroots compositor wm"
+ SHORT="dynamic tiling wayland compositor"
+cat << EOF
+River is a dynamic tiling Wayland compositor with flexible runtime
+configuration.
+
+Design goals
+
+ * Simple and predictable behavior, river should be easy to use
+ and have a low cognitive load.
+
+ * Window management based on a stack of views and tags.
+
+ * Dynamic layouts generated by external, user-written executables.
+ A default rivertile layout generator is provided.
+
+ * Scriptable configuration and control through a custom Wayland protocol
+ and separate riverctl binary implementing it.
+EOF
diff --git a/windowmanagers/river/HISTORY b/windowmanagers/river/HISTORY
new file mode 100644
index 0000000000..dafb17400f
--- /dev/null
+++ b/windowmanagers/river/HISTORY
@@ -0,0 +1,3 @@
+2023-03-05 Conner Clere <xenanthropy@sourcemage.org>
+ * BUILD, PRE_BUILD, INSTALL, DEPENDS, DETAILS: version 0.2.4, new spell
+
diff --git a/windowmanagers/river/INSTALL b/windowmanagers/river/INSTALL
new file mode 100755
index 0000000000..c283ce6de9
--- /dev/null
+++ b/windowmanagers/river/INSTALL
@@ -0,0 +1,5 @@
+cd "${SOURCE_DIRECTORY}/INSTALL_ROOT" &&
+find . | cpio --pass-through --make-directories --unconditional --verbose \
+ "${INSTALL_ROOT}/" &&
+
+install -D "${SOURCE_DIRECTORY}/example/init" "${INSTALL_ROOT}/usr/share/examples/river/init"
diff --git a/windowmanagers/river/PRE_BUILD b/windowmanagers/river/PRE_BUILD
new file mode 100755
index 0000000000..2cd96adef3
--- /dev/null
+++ b/windowmanagers/river/PRE_BUILD
@@ -0,0 +1,5 @@
+default_pre_build &&
+cd "${SOURCE_DIRECTORY}" &&
+
+# Create temp install directory
+mkdir "INSTALL_ROOT"
diff --git a/windowmanagers/sway/DEPENDS b/windowmanagers/sway/DEPENDS
index 7c8a9aed5d..3f0526503a 100755
--- a/windowmanagers/sway/DEPENDS
+++ b/windowmanagers/sway/DEPENDS
@@ -8,7 +8,7 @@ depends python3 &&
depends DEVICE-MANAGER &&
depends cairo &&
depends pango &&
-depends pcre &&
+depends pcre2 &&
vdepends <<!
NINJA-BUILD
json-c >= 0.13
@@ -16,9 +16,10 @@ vdepends <<!
meson >= 0.60.0
wayland >= 1.20.0
wayland-protocols >= 1.24
- wlroots >= 0.15.0
!
+depends -sub "SWAY" wlroots &&
+
optional_depends gdk-pixbuf2 \
"" \
"" \
@@ -31,5 +32,5 @@ optional_depends linux-pam \
optional_depends xwayland xwayland={en,dis}abled "X11 support" &&
-optional_depends elogind '' '' 'provide sd-bus library' &&
+optional_depends LOGIN-DAEMON '' '' 'provide sd-bus library' &&
optional_depends scdoc man-pages={en,dis}abled 'build man pages'
diff --git a/windowmanagers/sway/DETAILS b/windowmanagers/sway/DETAILS
index 6226920142..76a5eabf57 100755
--- a/windowmanagers/sway/DETAILS
+++ b/windowmanagers/sway/DETAILS
@@ -1,3 +1,4 @@
+# Watch: https://github.com/swaywm/sway/tags /tags/([0-9.]+)[.]tar
. "${GRIMOIRE}/FUNCTIONS"
. "${GRIMOIRE}/MESON_FUNCTIONS"
SPELL="sway"
@@ -5,11 +6,11 @@ if [[ "${SWAY_BRANCH}" == "scm" ]]; then
VERSION="$(get_scm_version)"
SOURCE="${SPELL}-git.tar.xz"
FORCE_DOWNLOAD="on"
- SOURCE_URL[0]="git://github.com/swaywm/${SPELL}:${SPELL}-git"
+ SOURCE_URL[0]="git_http://github.com/swaywm/${SPELL}:${SPELL}-git"
SOURCE_IGNORE="volatile"
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-git"
else
- VERSION=1.7
+ VERSION=1.9
SOURCE="${SPELL}-${VERSION}.tar.gz"
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
SOURCE_URL[0]="https://github.com/swaywm/sway/releases/download/$VERSION/$SOURCE"
diff --git a/windowmanagers/sway/HISTORY b/windowmanagers/sway/HISTORY
index 026cbdac6c..33a4d34d62 100644
--- a/windowmanagers/sway/HISTORY
+++ b/windowmanagers/sway/HISTORY
@@ -1,3 +1,29 @@
+2024-02-24 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 1.9
+
+2023-11-29 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: git:// -> git_http://
+ * DEPENDS: depends on wlroots 0.16.2 tag
+ * patches/no-werror.patch: disabled -Werror
+
+2023-02-23 Pavel Vinogradov <public@sourcemage.org>
+ * DETAILS: version 1.8.1
+
+2022-12-25 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 1.8
+
+2022-12-25 Treeve Jelbert <treeve@sourcemage.org>
+ * DEPENDS: use pcre2
+
+2022-12-13 Ismael Luceno <ismael@sourcemage.org>
+ * DETAILS, PRE_BUILD: updated spell to 1.8-rc3
+ * patches/nag.patch: removed, no longer needed
+ * INSTALL: removed, setuid mode no longer supported
+
+2022-10-12 Treeve Jelbert <treeve@sourcemage.org>
+ * DEPENDS: use LOGIN-DAEMON
+ * PRE_BUILD patches/*: added, fix build with gcc-12.2
+
2022-03-16 Ismael Luceno <ismael@sourcemage.org>
* DEPENDS: fixed missing sourcing of VDEPENDS
switched to NINJA-BUILD dep
diff --git a/windowmanagers/sway/INSTALL b/windowmanagers/sway/INSTALL
deleted file mode 100755
index 44f22a0f92..0000000000
--- a/windowmanagers/sway/INSTALL
+++ /dev/null
@@ -1,5 +0,0 @@
-default_install &&
-
-if ! spell_ok "elogind" || ! spell_ok "systemd"; then
- chmod a+s "${INSTALL_ROOT}/usr/bin/sway"
-fi
diff --git a/windowmanagers/sway/PRE_BUILD b/windowmanagers/sway/PRE_BUILD
new file mode 100755
index 0000000000..4604ffcd89
--- /dev/null
+++ b/windowmanagers/sway/PRE_BUILD
@@ -0,0 +1,3 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+apply_patch_dir patches
diff --git a/windowmanagers/sway/patches/no-werror.patch b/windowmanagers/sway/patches/no-werror.patch
new file mode 100644
index 0000000000..81ca5d6dfc
--- /dev/null
+++ b/windowmanagers/sway/patches/no-werror.patch
@@ -0,0 +1,13 @@
+diff --git a/meson.build b/meson.build
+index 7185daf..f76ea7b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -7,7 +7,7 @@ project(
+ default_options: [
+ 'c_std=c11',
+ 'warning_level=2',
+- 'werror=true',
++ 'werror=false',
+ ],
+ )
+
diff --git a/windowmanagers/wayfire/CONFIGURE b/windowmanagers/wayfire/CONFIGURE
new file mode 100755
index 0000000000..d0bac55395
--- /dev/null
+++ b/windowmanagers/wayfire/CONFIGURE
@@ -0,0 +1 @@
+source $GRIMOIRE/MESON_CONFIGURE
diff --git a/windowmanagers/wayfire/DEPENDS b/windowmanagers/wayfire/DEPENDS
new file mode 100755
index 0000000000..e32c35c838
--- /dev/null
+++ b/windowmanagers/wayfire/DEPENDS
@@ -0,0 +1,22 @@
+source $GRIMOIRE/MESON_DEPENDS &&
+depends PKG-CONFIG &&
+depends cairo &&
+depends freetype2 &&
+depends glm &&
+depends JPEG &&
+depends libdrm &&
+depends libevdev &&
+depends libinput &&
+depends libpng &&
+depends libxkbcommon &&
+depends libxml2 &&
+depends mesa &&
+depends nlohmann_json &&
+depends pango &&
+depends pixman &&
+depends seatd &&
+depends wayland &&
+depends wayland-protocols &&
+depends wlroots use_system_wlroots=enabled &&
+depends wf-config use_system_wfconfig=enabled &&
+optional_depends xwayland xwayland={en,dis}abled 'X11 support in wayland'
diff --git a/windowmanagers/wayfire/DETAILS b/windowmanagers/wayfire/DETAILS
new file mode 100755
index 0000000000..224b071fa5
--- /dev/null
+++ b/windowmanagers/wayfire/DETAILS
@@ -0,0 +1,18 @@
+. "${GRIMOIRE}/MESON_FUNCTIONS"
+ SPELL=wayfire
+ VERSION=0.8.0
+ SOURCE_HASH=sha512:fab55f6112c462312edf43d41b29f476d493449eca8f0c5cfee8f3aae73dcb98be46c589fc23d10d961f738bdf6d1fe78286b4c96e1d4444fdc8b1b898d998a9
+ SOURCE=$SPELL-$VERSION.tar.xz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ WEB_SITE=https://wayfire.org
+ SOURCE_URL=https://github.com/WayfireWM/wayfire/releases/download/v$VERSION/$SOURCE
+SOURCE_DIRECTORY=${BUILD_DIRECTORY}/${SPELL}-${VERSION}
+ LICENSE[0]=MIT
+ ENTERED=20220129
+ KEYWORDS=""
+ SHORT="compositor for wayland"
+cat << EOF
+Wayfire is a wayland compositor based on wlroots.
+It aims to create a customizable, extendable and lightweight environment
+without sacrificing its appearance.
+EOF
diff --git a/windowmanagers/wayfire/HISTORY b/windowmanagers/wayfire/HISTORY
new file mode 100644
index 0000000000..f681d9e11e
--- /dev/null
+++ b/windowmanagers/wayfire/HISTORY
@@ -0,0 +1,14 @@
+2023-12-17 Treeve Jelbert <treeve@sourcemage.org>
+ * DEPENDS: add nlohmann_json
+
+2023-12-16 Treeve Jelbert <treeve@sourcemage.org>
+ * PRE_BUILD: added, to fix build, per upstream
+
+2023-11-27 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 0.8.0
+
+2022-12-23 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 0.7.5
+
+2022-01-29 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version master
diff --git a/windowmanagers/wayfire/PRE_BUILD b/windowmanagers/wayfire/PRE_BUILD
new file mode 100755
index 0000000000..3a3422cc15
--- /dev/null
+++ b/windowmanagers/wayfire/PRE_BUILD
@@ -0,0 +1,3 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+sed -i '/check:/s/true/false/' meson.build
diff --git a/windowmanagers/wf-config/CONFIGURE b/windowmanagers/wf-config/CONFIGURE
new file mode 100755
index 0000000000..d0bac55395
--- /dev/null
+++ b/windowmanagers/wf-config/CONFIGURE
@@ -0,0 +1 @@
+source $GRIMOIRE/MESON_CONFIGURE
diff --git a/windowmanagers/wf-config/DEPENDS b/windowmanagers/wf-config/DEPENDS
new file mode 100755
index 0000000000..757115c295
--- /dev/null
+++ b/windowmanagers/wf-config/DEPENDS
@@ -0,0 +1,5 @@
+source $GRIMOIRE/MESON_DEPENDS &&
+depends glm &&
+depends libevdev &&
+depends libxml2 &&
+depends PKG-CONFIG
diff --git a/windowmanagers/wf-config/DETAILS b/windowmanagers/wf-config/DETAILS
new file mode 100755
index 0000000000..f95a9131b9
--- /dev/null
+++ b/windowmanagers/wf-config/DETAILS
@@ -0,0 +1,16 @@
+. "${GRIMOIRE}/MESON_FUNCTIONS"
+ SPELL=wf-config
+ VERSION=0.8.0
+ SOURCE_HASH=sha512:79cca2429a39ee81f853043698c57fc08025634926773253cff73fc564dcf203335b4b861d82b60a769bbab7b07be6a7e181c9ea29ad98ce930de20f9723893f
+ SOURCE=$SPELL-$VERSION.tar.xz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ WEB_SITE=https://wayfire.org
+ SOURCE_URL=https://github.com/WayfireWM/$SPELL/releases/download/v$VERSION/$SOURCE
+SOURCE_DIRECTORY=${BUILD_DIRECTORY}/${SPELL}-${VERSION}
+ LICENSE[0]=MIT
+ ENTERED=20221223
+ KEYWORDS=""
+ SHORT="configuration library for wayfire"
+cat << EOF
+A library for managing configuration files, written for wayfire
+EOF
diff --git a/windowmanagers/wf-config/HISTORY b/windowmanagers/wf-config/HISTORY
new file mode 100644
index 0000000000..748e765f47
--- /dev/null
+++ b/windowmanagers/wf-config/HISTORY
@@ -0,0 +1,6 @@
+2023-11-27 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 0.8.0
+
+2022-12-23 Treeve Jelbert <treeve@sourcemage.org>
+ * DETAILS: version 0.7.1
+ spell created
diff --git a/windowmanagers/windowmaker/DETAILS b/windowmanagers/windowmaker/DETAILS
index e7ff60ddfb..1d4d891caf 100755
--- a/windowmanagers/windowmaker/DETAILS
+++ b/windowmanagers/windowmaker/DETAILS
@@ -1,9 +1,9 @@
SPELL=windowmaker
- VERSION=0.95.9
+ VERSION=0.96.0
SOURCE=WindowMaker-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/WindowMaker-${VERSION}
- SOURCE_URL[0]=http://windowmaker.org/pub/source/release/WindowMaker-${VERSION}.tar.gz
- SOURCE_HASH=sha512:ca3ddc863f5b5b782e90f38c0019fe14d1109d6b11d0a3d5d6c728ddc1817747eea92e22e36933d445e72c70661e039ee56efa70f2654657c8980269fd5b4584
+ SOURCE_URL[0]=https://github.com/window-maker/wmaker/releases/download/wmaker-$VERSION/$SOURCE
+ SOURCE_HASH=sha512:cca1796722803922aa28ea20534f10566b594b7a69eba8c1da6bd1305654583f39ef67f10fd6a550730714e728d876f807aee50968e9392190bb9dc7ffe8409a
WEB_SITE=http://www.windowmaker.org
LICENSE[0]=GPL
LICENSE[1]=http://windowmaker.info/disclaimer.html
diff --git a/windowmanagers/windowmaker/HISTORY b/windowmanagers/windowmaker/HISTORY
index 57c4d3742f..6e3579a353 100644
--- a/windowmanagers/windowmaker/HISTORY
+++ b/windowmanagers/windowmaker/HISTORY
@@ -1,3 +1,6 @@
+2023-08-09 Ismael Luceno <ismael@sourcemage.org>
+ * DETAILS: updated spell to 0.96.0
+
2021-09-17 Ismael Luceno <ismael@sourcemage.org>
* DETAILS: updated spell to 0.95.9