git: 254231223bab - main - x11/swaylock-plugin: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 05 Dec 2023 02:19:27 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=254231223bab2e21505ab5ef5a122694de2a792f

commit 254231223bab2e21505ab5ef5a122694de2a792f
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-11-28 02:58:28 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-12-05 02:19:02 +0000

    x11/swaylock-plugin: add new port
    
    This is a fork of swaylock, a screen locking utility for Wayland
    compositors. With swaylock-plugin, you can for your lockscreen
    background display the animated output from any wallpaper program that
    implements the wlr-layer-shell-unstable-v1 protocol. All you have to
    do is run "swaylock-plugin --command 'my-wallpaper ...'", where
    "my-wallpaper ..." is replaced by your desired program. Examples:
    
    * swaybg, which displays regular background images
    * mpvpaper, which lets you play videos
    * shaderbg, renders OpenGL shaders
    * rwalkbg, a very slow animation
    * wscreensaver, an experiment in porting a few xscreensaver hacks to Wayland
    
    https://github.com/mstoeckl/swaylock-plugin
---
 x11/Makefile                  |  1 +
 x11/swaylock-plugin/Makefile  | 39 +++++++++++++++++++++++++++++++++++++++
 x11/swaylock-plugin/distinfo  |  3 +++
 x11/swaylock-plugin/pkg-descr | 12 ++++++++++++
 4 files changed, 55 insertions(+)

diff --git a/x11/Makefile b/x11/Makefile
index 8dde5373f0e6..78b8550914d3 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -410,6 +410,7 @@
     SUBDIR += swayimg
     SUBDIR += swaylock
     SUBDIR += swaylock-effects
+    SUBDIR += swaylock-plugin
     SUBDIR += swaync
     SUBDIR += swayr
     SUBDIR += swayrbar
diff --git a/x11/swaylock-plugin/Makefile b/x11/swaylock-plugin/Makefile
new file mode 100644
index 000000000000..6e5a15724e43
--- /dev/null
+++ b/x11/swaylock-plugin/Makefile
@@ -0,0 +1,39 @@
+DISTVERSIONPREFIX=	# empty
+DISTVERSION=	s20231127
+DISTVERSIONSUFFIX=	-0-g3b8da48
+PORTREVISION=	0
+PKGNAMESUFFIX=	-plugin
+
+COMMENT=	Screen locker for Wayland with background plugin support
+WWW=		https://github.com/mstoeckl/swaylock-plugin
+
+MASTERDIR=	${.CURDIR}/../swaylock
+DESCR=		${.CURDIR}/pkg-descr
+DISTINFO_FILE=	${.CURDIR}/distinfo
+
+GH_ACCOUNT=	mstoeckl
+GH_PROJECT=	${PORTNAME}${PKGNAMESUFFIX}
+
+pre-patch:
+# Compat to apply patch-pam_swaylock "as is"
+	${MV} ${WRKSRC}/pam/${PKGBASE} ${WRKSRC}/pam/${PORTNAME}
+
+post-patch:	slave-post-patch
+slave-post-patch:
+# Compat to apply patch-pam_swaylock "as is"
+	-@${MV} ${WRKSRC}/pam/${PORTNAME}.orig ${WRKSRC}/pam/${PKGBASE}.orig
+	@${MV} ${WRKSRC}/pam/${PORTNAME} ${WRKSRC}/pam/${PKGBASE}
+# Avoid subdirs to match regular swaylock
+	@${REINPLACE_CMD} "s,\(rename: \['\)[^/]*/,\1," \
+		${WRKSRC}/completions/meson.build
+# Respect renamed PAM config to unlock without regular swaylock installed
+	@${REINPLACE_CMD} '/pam_start/s/${PORTNAME}"/${PKGBASE}"/' \
+		${WRKSRC}/pam.c
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275328
+	@${REINPLACE_CMD} -e 's/_POSIX_C_SOURCE 200809L/_XOPEN_SOURCE 700/' \
+		${WRKSRC}/main.c
+
+post-install:
+	@${REINPLACE_CMD} '/licenses/!s/${PORTNAME}/${PKGBASE}/' ${TMPPLIST}
+
+.include "${MASTERDIR}/Makefile"
diff --git a/x11/swaylock-plugin/distinfo b/x11/swaylock-plugin/distinfo
new file mode 100644
index 000000000000..eeaef2edc72f
--- /dev/null
+++ b/x11/swaylock-plugin/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1701140308
+SHA256 (mstoeckl-swaylock-plugin-s20231127-0-g3b8da48_GH0.tar.gz) = 4a70006438cbc2e8ebf86913f11b3167061acb5319d7fadadf29697458a7f39d
+SIZE (mstoeckl-swaylock-plugin-s20231127-0-g3b8da48_GH0.tar.gz) = 55127
diff --git a/x11/swaylock-plugin/pkg-descr b/x11/swaylock-plugin/pkg-descr
new file mode 100644
index 000000000000..6a11e447a8e4
--- /dev/null
+++ b/x11/swaylock-plugin/pkg-descr
@@ -0,0 +1,12 @@
+This is a fork of swaylock, a screen locking utility for Wayland
+compositors. With swaylock-plugin, you can for your lockscreen
+background display the animated output from any wallpaper program that
+implements the wlr-layer-shell-unstable-v1 protocol. All you have to
+do is run "swaylock-plugin --command 'my-wallpaper ...'", where
+"my-wallpaper ..." is replaced by your desired program. Examples:
+
+* swaybg, which displays regular background images
+* mpvpaper, which lets you play videos
+* shaderbg, renders OpenGL shaders
+* rwalkbg, a very slow animation
+* wscreensaver, an experiment in porting a few xscreensaver hacks to Wayland