git: b15afc1d5d97 - main - audio/synthpod-lv2: update g20190407 → g20230521

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 30 Oct 2023 02:31:32 UTC
The branch main has been updated by yuri:

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

commit b15afc1d5d97c354b4f6df77d75796569ac0a5ce
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-10-30 02:30:12 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-10-30 02:31:24 +0000

    audio/synthpod-lv2: update g20190407 → g20230521
    
    PR:             274798
    Reported by:    Daniel Engberg <diizzy@FreeBSD.org>
---
 audio/synthpod-lv2/Makefile                        | 63 +++++++++++++---------
 audio/synthpod-lv2/distinfo                        |  6 +--
 .../files/patch-plugins_synthpod__common__d2tk.c   | 11 ++++
 .../files/patch-plugins_synthpod__placeholder.c    | 11 ++++
 audio/synthpod-lv2/files/patch-props.lv2_props.h   | 10 ++++
 .../files/patch-subprojects_d2tk_src_base__pty.c   | 30 +++++++++++
 audio/synthpod-lv2/pkg-plist                       |  7 ++-
 7 files changed, 109 insertions(+), 29 deletions(-)

diff --git a/audio/synthpod-lv2/Makefile b/audio/synthpod-lv2/Makefile
index 340d32c0520c..e3d09c954459 100644
--- a/audio/synthpod-lv2/Makefile
+++ b/audio/synthpod-lv2/Makefile
@@ -1,28 +1,28 @@
 PORTNAME=	synthpod
-PORTVERSION=	g20190407
-PORTREVISION=	3
+PORTVERSION=	g20230521
 CATEGORIES=	audio
 PKGNAMESUFFIX=	-lv2
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	Lightweight Nonlinear LV2 Plugin Container
-WWW=		https://open-music-kontrollers.ch/lv2/synthpod
+WWW=		https://git.open-music-kontrollers.ch/~hp/synthpod
 
 LICENSE=	ART20
 LICENSE_FILE=	${WRKSRC}/COPYING
 
+FETCH_DEPENDS=	git:devel/git
 BUILD_DEPENDS=	lv2>0:audio/lv2
 LIB_DEPENDS=	liblilv-0.so:audio/lilv \
 		libserd-0.so:devel/serd \
-		libsord-0.so:devel/sord \
-		libsratom-0.so:audio/sratom
+		libsratom-0.so:audio/sratom \
+		libxcb-xrm.so:x11/xcb-util-xrm
 
 USES=		meson compiler:c++11-lib pkgconfig localbase
-USE_GITHUB=	yes
-GH_ACCOUNT=	OpenMusicKontrollers
-GH_TAGNAME=	01aad91
 USE_CXXSTD=	c++11
 
+GIT_URL=	https://git.open-music-kontrollers.ch/~hp/synthpod
+GIT_TAGNAME=	8217951d21f53546c7ef7d28ed4143ae43f26d02
+
 MESON_ARGS=	-Duse-alsa=false -Duse-qt4=false
 
 OPTIONS_DEFINE=		JACK DUMMY
@@ -36,31 +36,46 @@ DUMMY_MESON_OFF=	-Duse-dummy=false
 DUMMY_LIB_DEPENDS=	libuv.so:devel/libuv
 
 GTK2_DESC=		Build GTK-2 sandbox
-GTK2_MESON_OFF=		-Duse-gtk2=false
-GTK2_LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
-			libfreetype.so:print/freetype2
-GTK2_USES=		gl gnome xorg
-GTK2_USE=		XORG=x11,xcb,xext GL=gl,glu GNOME=glib20,gtk20,gdkpixbuf2,atk,cairo,pango gettext-runtime
+GTK2_MESON_ON=		-Duse-gtk2=true
+GTK2_LIB_DEPENDS=	libxcb-icccm.so:x11/xcb-util-wm
+GTK2_USES=		gnome xorg
+GTK2_USE=		XORG=x11,xcb,xext GNOME=glib20,gtk20,gdkpixbuf2 gettext-runtime
 
 GTK3_DESC=		Build GTK-3 sandbox
-GTK3_MESON_OFF=		-Duse-gtk3=false
-GTK3_USES=		gl gnome xorg
-GTK3_USE=		XORG=x11,xcb,xext GL=glu GNOME=glib20,gtk30,gdkpixbuf2,atk,cairo,pango gettext-runtime
+GTK3_MESON_ON=		-Duse-gtk3=true
+GTK3_USES=		gnome xorg
+GTK3_USE=		XORG=x11,xcb,xext GNOME=glib20,gtk30,atk gettext-runtime
+GTK3_LIB_DEPENDS=	libxcb-icccm.so:x11/xcb-util-wm
 
 JACK_DESC=		Build JACK standalone host
-JACK_LIB_DEPENDS=	libjack.so:audio/jack \
-			libuv.so:devel/libuv
+JACK_LIB_DEPENDS=	libjack.so:audio/jack
 JACK_MESON_OFF=		-Duse-jack=false
 
 QT_DESC=		Build Qt-5 sandbox
-QT_USES=		qt:5
-QT_USE=			qt=gui,widgets,buildtools:build
-QT_MESON_OFF=		-Duse-qt5=false
+QT_MESON_ON=		-Duse-qt5=true
+QT_USES=		qt:5 xorg
+QT_USE=			qt=core,widgets,buildtools:build xorg=xcb
+QT_LIB_DEPENDS=		libxcb-icccm.so:x11/xcb-util-wm
 
 X11_DESC=		Build X11 sandbox
 X11_MESON_OFF=		-Duse-x11=false
-X11_LIB_DEPENDS=	libxcb-icccm.so:x11/xcb-util-wm
-X11_USES=		gnome xorg
-X11_USE=		XORG=xcb GNOME=cairo
+X11_LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
+			libxcb-icccm.so:x11/xcb-util-wm \
+			libvterm.so:devel/libvterm
+X11_USES=		gl gnome xorg
+X11_USE=		GL=glew,opengl XORG=xcb,x11 GNOME=cairo
+
+do-fetch:
+	@if [ "${FORCE_FETCH_ALL}" = "true" ] || ! [ -f "${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}${EXTRACT_SUFX}" ]; then \
+	  ${MKDIR} ${DISTDIR}/${DIST_SUBDIR} && \
+	  cd ${DISTDIR}/${DIST_SUBDIR} && \
+	    ${ECHO} "==> Fetching from ${GIT_URL} for tag-name=${GIT_TAGNAME}" && \
+	    git clone -q ${GIT_URL} ${PORTNAME}-${DISTVERSIONFULL} && \
+	    (cd ${PORTNAME}-${DISTVERSIONFULL} && git reset -q --hard ${GIT_TAGNAME} && ${RM} -r .git) && \
+	    ${FIND} ${PORTNAME}-${DISTVERSIONFULL} -and -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \; && \
+	    ${FIND} ${PORTNAME}-${DISTVERSIONFULL} -print0 | LC_ALL=C ${SORT} -z | \
+	        ${TAR} czf ${PORTNAME}-${DISTVERSIONFULL}${EXTRACT_SUFX} --format=bsdtar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T - && \
+	    ${RM} -r ${PORTNAME}-${DISTVERSIONFULL}; \
+	fi
 
 .include <bsd.port.mk>
diff --git a/audio/synthpod-lv2/distinfo b/audio/synthpod-lv2/distinfo
index a88ff2ba09e7..6db5b7cd89f2 100644
--- a/audio/synthpod-lv2/distinfo
+++ b/audio/synthpod-lv2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1554680643
-SHA256 (OpenMusicKontrollers-synthpod-g20190407-01aad91_GH0.tar.gz) = ce8ebecc26ba90df7b9261c8212753c1b8fcd981520d3ca8616e28a526d0d126
-SIZE (OpenMusicKontrollers-synthpod-g20190407-01aad91_GH0.tar.gz) = 2387590
+TIMESTAMP = 1698613974
+SHA256 (synthpod-g20230521.tar.gz) = b8091c32574b248ca31acdf54e9a43cf06dc8698481e23337b0d5f0d9e6c1b71
+SIZE (synthpod-g20230521.tar.gz) = 6452058
diff --git a/audio/synthpod-lv2/files/patch-plugins_synthpod__common__d2tk.c b/audio/synthpod-lv2/files/patch-plugins_synthpod__common__d2tk.c
new file mode 100644
index 000000000000..8cf5d3edcae3
--- /dev/null
+++ b/audio/synthpod-lv2/files/patch-plugins_synthpod__common__d2tk.c
@@ -0,0 +1,11 @@
+--- plugins/synthpod_common_d2tk.c.orig	2023-10-30 01:59:20 UTC
++++ plugins/synthpod_common_d2tk.c
+@@ -305,7 +305,7 @@ _plug_populate(plughandle_t *handle, const char *patte
+ 
+ 			const char *name = lilv_node_as_string(name_node);
+ 
+-			if(fnmatch(pattern, name, FNM_CASEFOLD | FNM_EXTMATCH) == 0)
++			if(fnmatch(pattern, name, FNM_CASEFOLD /*| FNM_EXTMATCH*/) == 0)
+ 			{
+ 				entry_t *entry = &handle->lplugs[handle->nplugs++];
+ 				entry->data = plug;
diff --git a/audio/synthpod-lv2/files/patch-plugins_synthpod__placeholder.c b/audio/synthpod-lv2/files/patch-plugins_synthpod__placeholder.c
new file mode 100644
index 000000000000..fd377078b4f3
--- /dev/null
+++ b/audio/synthpod-lv2/files/patch-plugins_synthpod__placeholder.c
@@ -0,0 +1,11 @@
+--- plugins/synthpod_placeholder.c.orig	2023-10-30 01:56:04 UTC
++++ plugins/synthpod_placeholder.c
+@@ -18,7 +18,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <math.h>
+-
++#include <libgen.h>
+ #include <synthpod_lv2.h>
+ 
+ #include <props.h>
diff --git a/audio/synthpod-lv2/files/patch-props.lv2_props.h b/audio/synthpod-lv2/files/patch-props.lv2_props.h
new file mode 100644
index 000000000000..c64fd05e35d0
--- /dev/null
+++ b/audio/synthpod-lv2/files/patch-props.lv2_props.h
@@ -0,0 +1,10 @@
+--- props.lv2/props.h.orig	2023-10-30 01:57:04 UTC
++++ props.lv2/props.h
+@@ -25,6 +25,7 @@ extern "C" {
+ #include <stdlib.h>
+ #include <stdatomic.h>
+ #include <stdio.h>
++#include <libgen.h>
+ 
+ #include <lv2/lv2plug.in/ns/lv2core/lv2.h>
+ #include <lv2/lv2plug.in/ns/ext/urid/urid.h>
diff --git a/audio/synthpod-lv2/files/patch-subprojects_d2tk_src_base__pty.c b/audio/synthpod-lv2/files/patch-subprojects_d2tk_src_base__pty.c
new file mode 100644
index 000000000000..c0b3df3710d6
--- /dev/null
+++ b/audio/synthpod-lv2/files/patch-subprojects_d2tk_src_base__pty.c
@@ -0,0 +1,30 @@
+--- subprojects/d2tk/src/base_pty.c.orig	1970-01-01 00:00:00 UTC
++++ subprojects/d2tk/src/base_pty.c
+@@ -9,14 +9,26 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <vterm.h>
++#ifdef __FreeBSD__
++#include <libutil.h>
++#include <sys/ioctl.h>
++#include <sys/_termios.h>
++#else
+ #include <pty.h>
+-#include <utmp.h>
++#endif
++//#include <utmp.h>
+ #include <sched.h>
+ #include <limits.h>
+ #include <sys/wait.h>
+ #include <sys/mman.h>
+ #include <pthread.h>
+ #include <stdatomic.h>
++
++#ifdef __FreeBSD__
++extern char **environ;
++
++#define execvpe(a, b, c) execvp(a, b)
++#endif
+ 
+ #include "base_internal.h"
+ 
diff --git a/audio/synthpod-lv2/pkg-plist b/audio/synthpod-lv2/pkg-plist
index fcb97c83ad8b..efc5888c74a1 100644
--- a/audio/synthpod-lv2/pkg-plist
+++ b/audio/synthpod-lv2/pkg-plist
@@ -1,3 +1,4 @@
+bin/synthpod_d2tk
 %%DUMMY%%bin/synthpod_dummy
 %%JACK%%bin/synthpod_jack
 %%X11%%bin/synthpod_sandbox_x11
@@ -7,12 +8,12 @@
 bin/synthpod_sandbox_show
 bin/synthpod_sandbox_kx
 %%X11%%bin/synthpod_ui
-%%X11%%lib/lv2/synthpod.lv2/synthpod_nk.so
-lib/lv2/synthpod.lv2/Abel-Regular.ttf
+%%X11%%lib/lv2/synthpod.lv2/Abel-Regular.ttf
 lib/lv2/synthpod.lv2/atom.png
 lib/lv2/synthpod.lv2/atom_inverted.png
 lib/lv2/synthpod.lv2/audio.png
 lib/lv2/synthpod.lv2/automaton.png
+lib/lv2/synthpod.lv2/bug.png
 lib/lv2/synthpod.lv2/cancel.png
 lib/lv2/synthpod.lv2/control.png
 lib/lv2/synthpod.lv2/cv.png
@@ -30,6 +31,8 @@ lib/lv2/synthpod.lv2/plus.png
 lib/lv2/synthpod.lv2/settings.png
 lib/lv2/synthpod.lv2/synthpod.so
 lib/lv2/synthpod.lv2/synthpod.ttl
+%%X11%%lib/lv2/synthpod.lv2/synthpod_nk.so
+%%X11%%lib/lv2/synthpod.lv2/synthpod_ui.so
 %%X11%%lib/lv2/synthpod.lv2/synthpod_ui.ttl
 lib/lv2/synthpod.lv2/time.png
 lib/lv2/synthpod.lv2/user.png