Page MenuHomeFreeBSD

D58427.id182569.diff
No OneTemporary

D58427.id182569.diff

diff --git a/x11-wm/Makefile b/x11-wm/Makefile
--- a/x11-wm/Makefile
+++ b/x11-wm/Makefile
@@ -12,6 +12,7 @@
SUBDIR += blackbox
SUBDIR += bspwm
SUBDIR += bspwm-devel
+ SUBDIR += bvwm
SUBDIR += cage
SUBDIR += cagebreak
SUBDIR += chamfer
diff --git a/x11-wm/bvwm/Makefile b/x11-wm/bvwm/Makefile
new file mode 100644
--- /dev/null
+++ b/x11-wm/bvwm/Makefile
@@ -0,0 +1,65 @@
+PORTNAME= bvwm
+DISTVERSION= 1.1.5.1
+CATEGORIES= x11-wm
+
+MAINTAINER= dteske@FreeBSD.org
+COMMENT= B? Virtual Window Manager (fvwm3 fork)
+WWW= https://github.com/FrauBSD/bvwm
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libevent.so:devel/libevent \
+ libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libxkbcommon.so:x11/libxkbcommon
+# Modules, share/fvwm3, and man pages come from stock fvwm3. Pin to a
+# compatible release — moduledir is versioned (libexec/fvwm3/1.1.5/).
+RUN_DEPENDS= fvwm3>=1.1.5:x11-wm/fvwm3
+
+USES= compiler:c11 localbase:ldflags meson perl5 pkgconfig \
+ python shebangfix xorg
+USE_GITHUB= yes
+GH_ACCOUNT= FrauBSD
+GH_TAGNAME= 1.1.5-bvwm.1
+USE_XORG= ice sm x11 xext xft xrandr xrender xt xtrans
+SHEBANG_FILES= bin/FvwmCommand.in bin/fvwm-menu-desktop.in
+python_OLD_CMD= @PYTHON@
+
+BINARY_ALIAS= python3=${PYTHON_CMD}
+
+# Thin package: stage only the renamed core binary. Disable Go modules and
+# man pages at build time — stock fvwm3 owns those artifacts.
+MESON_ARGS= -Dgolang=disabled -Dmandoc=false
+
+OPTIONS_DEFINE= FRIBIDI ICONV NLS PNG SVG XCURSOR XPM
+OPTIONS_DEFAULT= FRIBIDI ICONV PNG XCURSOR
+
+FRIBIDI_LIB_DEPENDS= libfribidi.so:converters/fribidi
+FRIBIDI_MESON_ENABLED= bidi
+
+ICONV_USES= iconv:translit
+ICONV_MESON_ENABLED= iconv
+
+NLS_USES= gettext
+NLS_MESON_ENABLED= nls
+
+PNG_LIB_DEPENDS= libpng.so:graphics/png
+PNG_MESON_ENABLED= png
+
+SVG_USES= gnome
+SVG_USE= GNOME=librsvg2
+SVG_MESON_ENABLED= svg
+
+XCURSOR_USE= XORG=xcursor,xfixes
+XCURSOR_MESON_ENABLED= xcursor xfixes
+
+XPM_USE= XORG=xpm
+XPM_MESON_ENABLED= xpm
+
+# Meson still builds project name "fvwm3"; rename on install.
+do-install:
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/fvwm3 \
+ ${STAGEDIR}${PREFIX}/bin/bvwm
+
+.include <bsd.port.mk>
diff --git a/x11-wm/bvwm/distinfo b/x11-wm/bvwm/distinfo
new file mode 100644
--- /dev/null
+++ b/x11-wm/bvwm/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1784851240
+SHA256 (FrauBSD-bvwm-1.1.5.1-1.1.5-bvwm.1_GH0.tar.gz) = b013bd5f4635308a4cdf90a9ef89b77f1b641f2c396fbac2848354cade48df37
+SIZE (FrauBSD-bvwm-1.1.5.1-1.1.5-bvwm.1_GH0.tar.gz) = 4253363
diff --git a/x11-wm/bvwm/files/patch-meson.build b/x11-wm/bvwm/files/patch-meson.build
new file mode 100644
--- /dev/null
+++ b/x11-wm/bvwm/files/patch-meson.build
@@ -0,0 +1,11 @@
+--- meson.build.orig 2026-07-24 00:01:43 UTC
++++ meson.build
+@@ -74,7 +74,7 @@ conf.set_quoted('PACKAGE', meson.project_name())
+ conf.set_quoted('VERSION', meson.project_version())
+ conf.set_quoted('VERSIONINFO', fvwm_vcs_versioninfo)
+ conf.set_quoted('PACKAGE', meson.project_name())
+-/* BVWM: keep stock fvwm3 on .fvwm2rc — our decor extras are not valid there. */
++# BVWM: keep stock fvwm3 on .fvwm2rc — our decor extras are not valid there.
+ conf.set_quoted('FVWM2RC', '.bvwmrc')
+ conf.set_quoted('FVWM_CONFIG', 'config')
+ conf.set_quoted(
diff --git a/x11-wm/bvwm/pkg-descr b/x11-wm/bvwm/pkg-descr
new file mode 100644
--- /dev/null
+++ b/x11-wm/bvwm/pkg-descr
@@ -0,0 +1,8 @@
+BVWM (B? Virtual Window Manager) is a fork of fvwm3. This port installs a thin
+bvwm binary with core window-manager enhancements (ButtonStyle hover states and
+TitleStyle ButtonWidth) and depends on the stock fvwm3 package for modules,
+share files, helpers, and man pages.
+
+Configs keep the Fvwm module vocabulary (Module FvwmButtons, and so on). BVWM
+defaults to ~/.bvwm and .bvwmrc so stock fvwm3 is not asked to parse BVWM-only
+decor syntax.
diff --git a/x11-wm/bvwm/pkg-plist b/x11-wm/bvwm/pkg-plist
new file mode 100644
--- /dev/null
+++ b/x11-wm/bvwm/pkg-plist
@@ -0,0 +1 @@
+bin/bvwm

File Metadata

Mime Type
text/plain
Expires
Mon, Sep 7, 12:16 PM (9 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38420371
Default Alt Text
D58427.id182569.diff (3 KB)

Event Timeline