diff --git a/x11-wm/Makefile b/x11-wm/Makefile index db5cb8ef7ed2..2d950f039134 100644 --- a/x11-wm/Makefile +++ b/x11-wm/Makefile @@ -1,144 +1,145 @@ COMMENT = X11 window managers SUBDIR += afterstep SUBDIR += afterstep-stable SUBDIR += amiwm SUBDIR += antiwm SUBDIR += aphelia SUBDIR += awesome SUBDIR += awesome-vicious SUBDIR += bbkeys SUBDIR += bbpager SUBDIR += berry SUBDIR += blackbox SUBDIR += bspwm SUBDIR += bspwm-devel SUBDIR += cage SUBDIR += cagebreak SUBDIR += chamfer SUBDIR += compiz SUBDIR += compiz-plugins-extra SUBDIR += compiz-plugins-main SUBDIR += compiz-plugins-unsupported SUBDIR += compton SUBDIR += ctwm SUBDIR += cwm SUBDIR += deforaos-panel SUBDIR += devilspie SUBDIR += devilspie2 SUBDIR += durden SUBDIR += dwl SUBDIR += dwm SUBDIR += e16 SUBDIR += e16-docs SUBDIR += echinus SUBDIR += emerald SUBDIR += emwm SUBDIR += emwm-utils SUBDIR += enlightenment SUBDIR += epplets SUBDIR += euclid-wm SUBDIR += evilwm SUBDIR += fbcmd SUBDIR += fluxbox SUBDIR += fluxter SUBDIR += flwm SUBDIR += fswm SUBDIR += fvwm2 SUBDIR += fvwm3 SUBDIR += gamescope SUBDIR += herbstluftwm SUBDIR += hikari SUBDIR += hs-xmonad SUBDIR += hyprland SUBDIR += i3 SUBDIR += icewm SUBDIR += ittywm SUBDIR += jewel SUBDIR += jwm SUBDIR += kickshaw SUBDIR += korgwm SUBDIR += kwinft SUBDIR += labwc SUBDIR += larswm SUBDIR += leftwm SUBDIR += libcompizconfig SUBDIR += libdockapp SUBDIR += libwraster SUBDIR += lwm SUBDIR += lxappearance-obconf SUBDIR += lxqt SUBDIR += lxqt-panel SUBDIR += lxqt-session SUBDIR += lxsession SUBDIR += magpie SUBDIR += marco SUBDIR += mcwm SUBDIR += metacity SUBDIR += muffin SUBDIR += mutter SUBDIR += niri SUBDIR += nscde SUBDIR += obconf SUBDIR += obconf-qt SUBDIR += obpager SUBDIR += openbox SUBDIR += oroborus SUBDIR += peksystray SUBDIR += pekwm SUBDIR += phluid SUBDIR += phoc SUBDIR += picom SUBDIR += piewm SUBDIR += plasma5-kdecoration SUBDIR += plasma5-kwin SUBDIR += plasma6-kdecoration SUBDIR += plasma6-kwin SUBDIR += pwm SUBDIR += qtile SUBDIR += ratmen SUBDIR += ratpoison SUBDIR += river SUBDIR += rubygem-uh-layout SUBDIR += rubygem-uh-wm SUBDIR += sawfish SUBDIR += sawfish-pager SUBDIR += sdorfehs SUBDIR += selectwm SUBDIR += skippy-xd SUBDIR += spectrwm SUBDIR += stumpwm SUBDIR += subtle SUBDIR += sway SUBDIR += sway-devel SUBDIR += swayfx SUBDIR += tinywm SUBDIR += transset SUBDIR += treewm SUBDIR += tvtwm SUBDIR += twm SUBDIR += vtwm SUBDIR += w9wm SUBDIR += wayfire SUBDIR += wayfire-plugins-extra SUBDIR += windowmaker + SUBDIR += wlmaker SUBDIR += wm2 SUBDIR += wmakerconf SUBDIR += wmanager SUBDIR += wmanager-addons SUBDIR += wmconfig SUBDIR += wmii SUBDIR += wmii-devel SUBDIR += wmname SUBDIR += wmx SUBDIR += xcompmgr SUBDIR += xdgmenumaker SUBDIR += xfce4 SUBDIR += xfce4-desktop SUBDIR += xfce4-panel SUBDIR += xfce4-panel-profiles SUBDIR += xfce4-session SUBDIR += xfce4-wm SUBDIR += yeahwm .include 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 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 + #include + #include ++#include + #include + #include + #include +--- 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 + #include + +-#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