summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/Makefile1
-rw-r--r--x11-wm/wlmaker/Makefile49
-rw-r--r--x11-wm/wlmaker/distinfo11
-rw-r--r--x11-wm/wlmaker/files/patch-apps-CMakeLists.txt9
-rw-r--r--x11-wm/wlmaker/files/patch-libbase33
-rw-r--r--x11-wm/wlmaker/pkg-descr12
6 files changed, 115 insertions, 0 deletions
diff --git a/x11-wm/Makefile b/x11-wm/Makefile
index db5cb8ef7ed2..2d950f039134 100644
--- a/x11-wm/Makefile
+++ b/x11-wm/Makefile
@@ -122,6 +122,7 @@
SUBDIR += wayfire
SUBDIR += wayfire-plugins-extra
SUBDIR += windowmaker
+ SUBDIR += wlmaker
SUBDIR += wm2
SUBDIR += wmakerconf
SUBDIR += wmanager
diff --git a/x11-wm/wlmaker/Makefile b/x11-wm/wlmaker/Makefile
new file mode 100644
index 000000000000..2b0ef48f8752
--- /dev/null
+++ b/x11-wm/wlmaker/Makefile
@@ -0,0 +1,49 @@
+PORTNAME= wlmaker
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.1-430
+DISTVERSIONSUFFIX= -ged7a302
+CATEGORIES= x11-wm wayland
+
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= 486758619471.patch:-p1 # https://github.com/phkaeser/wlmaker/pull/11
+PATCHFILES+= 3a64446b128a.patch:-p1 # https://github.com/phkaeser/wlmaker/pull/11
+PATCHFILES+= 2a7108e964e0.patch:-p1 # https://github.com/phkaeser/wlmaker/pull/11
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Wayland compositor inspired by Window Maker
+WWW= https://github.com/phkaeser/wlmaker
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
+ wayland-protocols>=1.31:graphics/wayland-protocols
+LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \
+ libwayland-server.so:graphics/wayland \
+ libwlroots.so:x11-toolkits/wlroots \
+ libxkbcommon.so:x11/libxkbcommon
+
+USES= cmake compiler:c11 gnome pkgconfig
+USE_GITHUB= yes
+USE_GNOME= cairo
+GH_ACCOUNT= phkaeser
+GH_TUPLE= phkaeser:libbase:c215f7d:libbase/submodules/libbase
+LDFLAGS+= -Wl,--as-needed # https://github.com/phkaeser/wlmaker/issues/12
+PLIST_FILES= bin/${PORTNAME} \
+ bin/wlmclock \
+ share/icons/${PORTNAME}/chrome-48x48.png \
+ share/icons/${PORTNAME}/clip-48x48.png \
+ share/icons/${PORTNAME}/firefox-48x48.png \
+ share/icons/${PORTNAME}/terminal-48x48.png \
+ ${NULL}
+
+post-patch:
+# Drop dependency on unreleased version of libwayland
+ @${REINPLACE_CMD} -e 's/1\.22\.90/1.22.0/' \
+ ${WRKSRC}/CMakeLists.txt
+# Respect LOCALBASE for apps and use open source Chrome
+ @${REINPLACE_CMD} -e 's,/usr/bin,${LOCALBASE}/bin,' \
+ -e 's/google-chrome/chrome/' \
+ ${WRKSRC}/src/dock.c \
+ ${WRKSRC}/src/${PORTNAME}.c
+
+.include <bsd.port.mk>
diff --git a/x11-wm/wlmaker/distinfo b/x11-wm/wlmaker/distinfo
new file mode 100644
index 000000000000..f8fe392d7c43
--- /dev/null
+++ b/x11-wm/wlmaker/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1705242599
+SHA256 (phkaeser-wlmaker-v0.1-430-ged7a302_GH0.tar.gz) = 468eb262a62fdf66423a318f69252d14d74e074cce4cf31daf8fcdfc9a9ea6eb
+SIZE (phkaeser-wlmaker-v0.1-430-ged7a302_GH0.tar.gz) = 249717
+SHA256 (phkaeser-libbase-c215f7d_GH0.tar.gz) = 11030b84111982bc175e23d3eced8449585a46ccaa0b2ea1c23d661592f53974
+SIZE (phkaeser-libbase-c215f7d_GH0.tar.gz) = 94029
+SHA256 (486758619471.patch) = 0226ca4162f451b5ba0ed0d98e29b9b7458500f21b4dc6033902d4beeade9189
+SIZE (486758619471.patch) = 1113
+SHA256 (3a64446b128a.patch) = 6ac2464a4f6675bdb19d144857037785c2153213786af6f330401a447a05e70d
+SIZE (3a64446b128a.patch) = 906
+SHA256 (2a7108e964e0.patch) = e32e575ef56ef9b7c24605ae58139009a83459010580244210cbade860a4945d
+SIZE (2a7108e964e0.patch) = 971
diff --git a/x11-wm/wlmaker/files/patch-apps-CMakeLists.txt b/x11-wm/wlmaker/files/patch-apps-CMakeLists.txt
new file mode 100644
index 000000000000..a7a3fa65390c
--- /dev/null
+++ b/x11-wm/wlmaker/files/patch-apps-CMakeLists.txt
@@ -0,0 +1,9 @@
+https://github.com/phkaeser/wlmaker/issues/13
+
+--- apps/CMakeLists.txt.orig 2024-01-14 14:29:59 UTC
++++ apps/CMakeLists.txt
+@@ -19,3 +19,4 @@ TARGET_LINK_LIBRARIES(wlmclock libwlclient primitives
+ ADD_EXECUTABLE(wlmclock wlmclock.c)
+ TARGET_INCLUDE_DIRECTORIES(wlmclock PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+ TARGET_LINK_LIBRARIES(wlmclock libwlclient primitives m)
++INSTALL(TARGETS wlmclock DESTINATION bin)
diff --git a/x11-wm/wlmaker/files/patch-libbase b/x11-wm/wlmaker/files/patch-libbase
new file mode 100644
index 000000000000..93b3f6c91b24
--- /dev/null
+++ b/x11-wm/wlmaker/files/patch-libbase
@@ -0,0 +1,33 @@
+https://github.com/phkaeser/libbase/pull/2
+
+--- submodules/libbase/subprocess.c.orig 2023-11-05 16:20:38 UTC
++++ submodules/libbase/subprocess.c
+@@ -27,6 +27,7 @@
+ #include <limits.h>
+ #include <errno.h>
+ #include <poll.h>
++#include <signal.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <regex.h>
+--- submodules/libbase/time.c.orig 2023-11-05 16:20:38 UTC
++++ submodules/libbase/time.c
+@@ -19,7 +19,8 @@
+ */
+
+ /// clock_gettime(2) is a POSIX extension, needs this macro.
+-#define _POSIX_C_SOURCE 199309L
++/// gettimeofday(2) is a XSI extension, needs this macro.
++#define _XOPEN_SOURCE 500
+
+ #include "log.h"
+ #include "time.h"
+@@ -30,7 +31,7 @@
+ #include <time.h>
+ #include <sys/time.h>
+
+-#undef _POSIX_C_SOURCE
++#undef _XOPEN_SOURCE
+
+ /* == Methods ============================================================== */
+
diff --git a/x11-wm/wlmaker/pkg-descr b/x11-wm/wlmaker/pkg-descr
new file mode 100644
index 000000000000..d8c0a63a2c7c
--- /dev/null
+++ b/x11-wm/wlmaker/pkg-descr
@@ -0,0 +1,12 @@
+A Wayland compositor inspired by Window Maker.
+
+Key features:
+
+* Compositor for windows in stacking mode.
+* Supports multiple workspaces.
+* Appearance inspired by Window Maker, following the look and feel of NeXTSTEP.
+* Easy to use, lightweight, low gimmicks and fast.
+* Dock and clip, to be extended for dockable apps.
+
+Wayland Maker is in early development stage. For existing and planned features
+see https://github.com/phkaeser/wlmaker/blob/main/doc/ROADMAP.md