git: 0ce6146f9b68 - main - x11-wm/picom: Update to 12.1

From: Zsolt Udvari <uzsolt_at_FreeBSD.org>
Date: Wed, 02 Oct 2024 17:31:05 UTC
The branch main has been updated by uzsolt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0ce6146f9b684a8a4f59ce4366f4ecaa30cc7686

commit 0ce6146f9b684a8a4f59ce4366f4ecaa30cc7686
Author:     José Maldonado <yukiteruamano@volfread.xyz>
AuthorDate: 2024-10-02 17:23:48 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2024-10-02 17:30:13 +0000

    x11-wm/picom: Update to 12.1
    
    Add patch for meson build, which disables git detection while building.
    Submitter takes maintainership.
    Pet portclippy, portlint, portfmt.
    
    Changelog: https://github.com/yshui/picom/blob/next/CHANGELOG.md
    
    PR:             281767
    Approved by:    submitter is maintainer
---
 x11-wm/picom/Makefile                | 55 ++++++++++++-----------
 x11-wm/picom/distinfo                |  6 +--
 x11-wm/picom/files/patch-meson.build | 39 ++++++++++++++++
 x11-wm/picom/files/patch-rtprio      | 87 ------------------------------------
 4 files changed, 72 insertions(+), 115 deletions(-)

diff --git a/x11-wm/picom/Makefile b/x11-wm/picom/Makefile
index ed9c4098c168..7fb80301e60f 100644
--- a/x11-wm/picom/Makefile
+++ b/x11-wm/picom/Makefile
@@ -1,9 +1,9 @@
 PORTNAME=	picom
 DISTVERSIONPREFIX=	v
-DISTVERSION=	11.2
+DISTVERSION=	12.1
 CATEGORIES=	x11-wm
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	yukiteruamano@volfread.xyz
 COMMENT=	Lightweight X11 compositor
 WWW=		https://github.com/yshui/picom
 
@@ -14,55 +14,60 @@ LICENSE_FILE_MIT=	${WRKSRC}/LICENSES/MIT
 BUILD_DEPENDS=	${LOCALBASE}/include/uthash.h:devel/uthash
 LIB_DEPENDS=	libev.so:devel/libev \
 		libxcb-image.so:x11/xcb-util-image \
-		libxcb-render-util.so:x11/xcb-util-renderutil
+		libxcb-render-util.so:x11/xcb-util-renderutil \
+		libxcb-util.so:x11/xcb-util
 RUN_DEPENDS=	xprop:x11/xprop \
 		xwininfo:x11/xwininfo
 
-USES=		compiler:c11 meson localbase pkgconfig xorg
+USES=		compiler:c11 desktop-file-utils localbase meson pkgconfig xorg
+
 USE_GITHUB=	yes
-USE_XORG=	x11 xcb xext pixman
 GH_ACCOUNT=	yshui
+GH_PROJECT=	picom
+
+USE_XORG=	pixman x11 xcb xext
+
 MESON_ARGS=	-Dcompton=false -Dunittest=true
 TEST_TARGET=	test
 PLIST_FILES=	bin/${PORTNAME} \
+		bin/${PORTNAME}-inspect \
 		bin/${PORTNAME}-trans \
-		etc/xdg/autostart/${PORTNAME}.desktop \
 		"@sample etc/xdg/${PORTNAME}.conf.sample" \
+		etc/xdg/autostart/${PORTNAME}.desktop \
+		libdata/pkgconfig/${PORTNAME}-api.pc \
 		share/applications/${PORTNAME}.desktop
 
-OPTIONS_DEFINE=	CONFIG DBUS DOCS DRM OPENGL PCRE
-OPTIONS_DEFAULT=CONFIG DBUS OPENGL PCRE
+OPTIONS_DEFINE=		CONFIG DBUS DOCS DRM OPENGL PCRE
+OPTIONS_DEFAULT=	CONFIG DBUS OPENGL PCRE
+
+CONFIG_DESC=	Configuration file parsing support
+DRM_DESC=	DRM VSync fallback (deprecated)
 
-CONFIG_DESC=		Configuration file parsing support
 CONFIG_LIB_DEPENDS=	libconfig.so:devel/libconfig
-CONFIG_MESON_TRUE=	config_file
 
-PCRE_LIB_DEPENDS=	libpcre2-8.so:devel/pcre2
-PCRE_MESON_TRUE=	regex
+DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus
+DBUS_MESON_TRUE=	dbus
+
+DOCS_BUILD_DEPENDS=	a2x:textproc/asciidoc \
+			asciidoctor:textproc/rubygem-asciidoctor
+DOCS_MESON_TRUE=	with_docs
+DOCS_PLIST_FILES=	share/man/man1/${PORTNAME}-inspect.1.gz \
+			share/man/man1/${PORTNAME}-trans.1.gz \
+			share/man/man1/${PORTNAME}.1.gz
 
-DRM_DESC=		DRM VSync fallback (deprecated)
 DRM_LIB_DEPENDS=	libdrm.so:graphics/libdrm
 DRM_MESON_TRUE=		vsync_drm
 
 OPENGL_LIB_DEPENDS=	libepoxy.so:graphics/libepoxy
 OPENGL_MESON_TRUE=	opengl
 
-DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus
-DBUS_MESON_TRUE=	dbus
-
-DOCS_BUILD_DEPENDS=	a2x:textproc/asciidoc
-DOCS_MESON_TRUE=	with_docs
-DOCS_PLIST_FILES=	share/man/man1/${PORTNAME}.1.gz \
-			share/man/man1/${PORTNAME}-trans.1.gz
+PCRE_LIB_DEPENDS=	libpcre2-8.so:devel/pcre2
+PCRE_MESON_TRUE=	regex
 
 post-patch:
 	@${REINPLACE_CMD} -e 's,/etc,${PREFIX}&,' \
-		${WRKSRC}/man/${PORTNAME}.1.asciidoc \
+		${WRKSRC}/man/${PORTNAME}.1.adoc \
 		${WRKSRC}/src/config.c
-# Extract (snapshot) version from the port instead of meson.build
-	@${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \
-		-e "/project_version/s/=.*/= '${DISTVERSIONFULL}'/" \
-		${WRKSRC}/meson.build
 
 post-install:
 	${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg
diff --git a/x11-wm/picom/distinfo b/x11-wm/picom/distinfo
index 9339fad45321..73806133d558 100644
--- a/x11-wm/picom/distinfo
+++ b/x11-wm/picom/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1707820562
-SHA256 (yshui-picom-v11.2_GH0.tar.gz) = 1c1063936faf09ed9bba726e7737a562564b7a5f8cdef79d48fcdaf3669a4df4
-SIZE (yshui-picom-v11.2_GH0.tar.gz) = 308679
+TIMESTAMP = 1727632550
+SHA256 (yshui-picom-v12.1_GH0.tar.gz) = d1aab4277e3a123c41621fa57c1ed66cc4a6553174a69e259d3027cf984c452c
+SIZE (yshui-picom-v12.1_GH0.tar.gz) = 672958
diff --git a/x11-wm/picom/files/patch-meson.build b/x11-wm/picom/files/patch-meson.build
new file mode 100644
index 000000000000..ad737789a858
--- /dev/null
+++ b/x11-wm/picom/files/patch-meson.build
@@ -0,0 +1,39 @@
+# Configure PICOM_VERSION and PICOM_FULL_VERSION
+--- meson.build.orig	2024-09-28 23:22:13 UTC
++++ meson.build
+@@ -3,33 +3,8 @@ cc = meson.get_compiler('c')
+ 
+ cc = meson.get_compiler('c')
+ 
+-# use git describe if that's available
+-git = find_program('git', required: false)
+-if git.found()
+-	gitv = run_command('git', 'rev-parse', '--short=7', 'HEAD', check: false)
+-	if gitv.returncode() == 0
+-		commit_hash_short = gitv.stdout().strip()
+-	endif
+-	git_upstream = run_command('git', 'rev-parse', '--abbrev-ref', '--symbolic-full-name', '@{upstream}', check: false)
+-	if git_upstream.returncode() == 0
+-		remote = git_upstream.stdout().strip().split('/')[0]
+-	else
+-		remote = 'origin'
+-	endif
+-	git_repository = run_command('git', 'remote', 'get-url', remote, check: false)
+-	if git_repository.returncode() == 0
+-		repository = git_repository.stdout().strip()
+-	endif
+-endif
+-
+-add_global_arguments('-DPICOM_VERSION="v'+meson.project_version()+'"', language: 'c')
+-if is_variable('repository')
+-	add_global_arguments('-DPICOM_FULL_VERSION="v'+meson.project_version()+' ('+repository+' revision '+commit_hash_short+')"', language: 'c')
+-elif is_variable('commit_hash_short')
+-	add_global_arguments('-DPICOM_FULL_VERSION="v'+meson.project_version()+' (revision '+commit_hash_short+')"', language: 'c')
+-else
+-	add_global_arguments('-DPICOM_FULL_VERSION="v'+meson.project_version()+'"', language: 'c')
+-endif
++add_global_arguments('-DPICOM_VERSION="v12.1"', language: 'c')
++add_global_arguments('-DPICOM_FULL_VERSION="v12.1"', language: 'c')
+ 
+ if get_option('buildtype') == 'release'
+ 	add_global_arguments('-DNDEBUG', language: 'c')
diff --git a/x11-wm/picom/files/patch-rtprio b/x11-wm/picom/files/patch-rtprio
deleted file mode 100644
index 4cf46a51d618..000000000000
--- a/x11-wm/picom/files/patch-rtprio
+++ /dev/null
@@ -1,87 +0,0 @@
-https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276962
-https://github.com/yshui/picom/commit/dff77aae27cf
-
---- src/meson.build.orig	2024-02-13 10:36:02 UTC
-+++ src/meson.build
-@@ -23,7 +23,7 @@ required_packages = [
- # Some XCB packages are here because their versioning differs (see check below).
- required_packages = [
- 	'pixman-1', 'x11', 'x11-xcb', 'xcb-image', 'xcb-renderutil', 'xcb-util',
--	'xext'
-+	'xext', 'threads',
- ]
- 
- foreach i : required_packages
-@@ -59,7 +59,7 @@ if get_option('opengl')
- 
- if get_option('opengl')
- 	cflags += ['-DCONFIG_OPENGL']
--	deps += [dependency('epoxy', required: true), dependency('threads', required:true)]
-+	deps += [dependency('epoxy', required: true)]
- 	srcs += [ 'opengl.c' ]
- endif
- 
-@@ -84,10 +84,6 @@ elif (host_system == 'freebsd' or host_system == 'netb
- elif (host_system == 'freebsd' or host_system == 'netbsd' or
-       host_system == 'dragonfly' or host_system == 'openbsd')
- 	cflags += ['-DHAS_KQUEUE']
--endif
--
--if host_system == 'openbsd'
--	deps += [dependency('threads', required: true)]
- endif
- 
- subdir('backend')
---- src/picom.c.orig	2024-02-13 10:36:02 UTC
-+++ src/picom.c
-@@ -17,6 +17,7 @@
- #include <fcntl.h>
- #include <inttypes.h>
- #include <math.h>
-+#include <pthread.h>
- #include <sched.h>
- #include <stddef.h>
- #include <stdio.h>
-@@ -33,9 +34,6 @@
- #include <xcb/render.h>
- #include <xcb/sync.h>
- #include <xcb/xfixes.h>
--#ifdef __OpenBSD__
--#include <pthread.h>
--#endif
- 
- #include <ev.h>
- #include <test.h>
-@@ -2606,14 +2604,8 @@ void set_rr_scheduling(void) {
- 
- 	int ret;
- 	struct sched_param param;
--
--#ifndef __OpenBSD__
--	ret = sched_getparam(0, &param);
--#else
- 	int old_policy;
- 	ret = pthread_getschedparam(pthread_self(), &old_policy, &param);
--#endif
--
- 	if (ret != 0) {
- 		log_debug("Failed to get old scheduling priority");
- 		return;
-@@ -2621,16 +2613,12 @@ void set_rr_scheduling(void) {
- 
- 	param.sched_priority = priority;
- 
--#ifndef __OpenBSD__
--	ret = sched_setscheduler(0, SCHED_RR, &param);
--#else
- 	ret = pthread_setschedparam(pthread_self(), SCHED_RR, &param);
--#endif
--
- 	if (ret != 0) {
- 		log_info("Failed to set real-time scheduling priority to %d.", priority);
- 		return;
- 	}
-+
- 	log_info("Set real-time scheduling priority to %d", priority);
- }
-