git: 35d43ff4812c - main - x11-wm/wlmaker: add new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 16 Jan 2024 18:25:57 UTC
The branch main has been updated by jbeich: URL: https://cgit.FreeBSD.org/ports/commit/?id=35d43ff4812cfa9142deb358e7a8a4c7849bee20 commit 35d43ff4812cfa9142deb358e7a8a4c7849bee20 Author: Jan Beich <jbeich@FreeBSD.org> AuthorDate: 2024-01-14 14:29:59 +0000 Commit: Jan Beich <jbeich@FreeBSD.org> CommitDate: 2024-01-16 18:25:40 +0000 x11-wm/wlmaker: add new port 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 --- x11-wm/Makefile | 1 + x11-wm/wlmaker/Makefile | 49 ++++++++++++++++++++++++++ x11-wm/wlmaker/distinfo | 11 ++++++ x11-wm/wlmaker/files/patch-apps-CMakeLists.txt | 9 +++++ x11-wm/wlmaker/files/patch-libbase | 33 +++++++++++++++++ x11-wm/wlmaker/pkg-descr | 12 +++++++ 6 files changed, 115 insertions(+) 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