commit 586fe7e2715496dec90238a4732399846822f0f1
Author: Goran Mekić <meka@tilda.center>
Date:   Tue Nov 24 11:00:37 2020 +0100

    Switch to jack2

diff --git a/audio/jack/Makefile b/audio/jack/Makefile
index e45e60cc3183..f70e3f5b3d16 100644
--- a/audio/jack/Makefile
+++ b/audio/jack/Makefile
@@ -2,8 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	jackit
-PORTVERSION=	0.125.0
-PORTREVISION=	11
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.9.14-6
+DISTVERSIONSUFFIX=	-gaec2c2d5
 CATEGORIES=	audio
 
 MAINTAINER=	multimedia@FreeBSD.org
@@ -12,67 +13,55 @@ COMMENT=	Low latency audio server
 LICENSE=	GPLv2 LGPL21
 LICENSE_COMB=	multi
 
-BROKEN_mips=		fails to link: undefined reference to '__sync_add_and_fetch_4'
-BROKEN_mips64=		fails to link: undefined reference to '__sync_add_and_fetch_4'
-
 LIB_DEPENDS=	libsndfile.so:audio/libsndfile \
 		libsamplerate.so:audio/libsamplerate \
 		libcelt0.so:audio/celt
 
-USES=		autoreconf compiler:c11 gmake pathfix pkgconfig libtool localbase bdb
+USES=		waf compiler:c11 pkgconfig shebangfix python:3.4+,build
 USE_GITHUB=	yes
-
-GH_ACCOUNT=	jackaudio
-GH_PROJECT=	jack1
-GH_TAGNAME=	90f9dd3
-GH_TUPLE=	jackaudio:headers:07f1ecf:h/jack
-GH_TUPLE+=	jackaudio:tools:8d13c31:t/tools
-GH_TUPLE+=	jackaudio:example-clients:7fa0890:e/example-clients
+GH_ACCOUNT=	myfreeweb
+GH_PROJECT=	jack2
 USE_LDCONFIG=	yes
-GNU_CONFIGURE=	yes
-USE_RC_SUBR=	jackd
-
-CONFIGURE_ARGS=	--disable-portaudio \
-		--enable-optimize \
-		--enable-force-install \
-		--with-default-tmpdir=/tmp
-
-CFLAGS+=		-I${BDB_INCLUDE_DIR}
-LIBS+=			-L${BDB_LIB_DIR}
-INSTALL_TARGET=		install-strip
-
-OPTIONS_DEFINE=		ALSA DOXYGEN READLINE SNDIO COOKEDMODE
-OPTIONS_DEFINE_i386=	DYNSIMD
-OPTIONS_DEFINE_amd64=	DYNSIMD
-OPTIONS_DEFAULT=	READLINE COOKEDMODE
-OPTIONS_DEFAULT_i386=	DYNSIMD
-OPTIONS_DEFAULT_amd64=	DYNSIMD
-OPTIONS_SUB=		yes
-COOKEDMODE_DESC=	Use OSS COOKEDMODE (OSS driver is broken without it)
-DYNSIMD_DESC=		Use dynamic SIMD selection (only i386/amd64)
 
-ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
-ALSA_CONFIGURE_ENABLE=	alsa
+CFLAGS+=	-fPIC
+CXXFLAGS+=	-fPIC
 
-READLINE_USES=		readline
+SHEBANG_FILES=	example-clients/jack_control
+SHEBANG_LANG=	python3
 
-DOXYGEN_BUILD_DEPENDS=	doxygen:devel/doxygen
-DOXYGEN_CONFIGURE_ENV_OFF=	ac_cv_prog_HAVE_DOXYGEN="false"
+CONFIGURE_ARGS+=	--celt=yes --sndfile=yes --samplerate=yes
 
-READLINE_CONFIGURE_ENV_OFF=	ac_cv_lib_readline_readline=no \
-		ac_cv_header_readline_chardefs_h=no
+OPTIONS_DEFINE=		ALSA READLINE OPUS DBUS
+OPTIONS_DEFAULT=	READLINE OPUS DBUS
+OPTIONS_SUB=		yes
+
+ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
+ALSA_CONFIGURE_OFF=	--alsa=no
+ALSA_CONFIGURE_ON=	--alsa=yes
 
-SNDIO_LIB_DEPENDS=	libsndio.so:audio/sndio
-SNDIO_CONFIGURE_ENABLE=	sndio
+DBUS_CONFIGURE_ON=	--dbus
+DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus \
+			libsysinfo.so:devel/libsysinfo \
+			libexpat.so:textproc/expat2
+DBUS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dbus>0:devel/py-dbus@${PY_FLAVOR}
+
+READLINE_USES=		readline
+READLINE_CONFIGURE_ON=	--readline=yes
+READLINE_CONFIGURE_OFF=	--readline=no
 
-COOKEDMODE_CFLAGS=	-DOPTION_COOKEDMODE
+OPUS_LIB_DEPENDS=	 libopus.so:audio/opus
+OPUS_CONFIGURE_ON=	--opus=yes
+OPUS_CONFIGURE_OFF=	--opus=no
 
-DYNSIMD_CONFIGURE_ENABLE=dynsimd
+.include <bsd.port.pre.mk>
 
-post-patch:
-	@${RM} ${WRKSRC}/doc/reference/html/*
+.if ${PORT_OPTIONS:MDBUS}
+PLIST_SUB+=	CLASSIC="@comment "
+.else
+PLIST_SUB+=	CLASSIC=""
+.endif
 
-post-build:
-	@${RM} ${WRKSRC}/doc/reference/html/dir__2F*
+post-extract:
+	echo '#define SVN_VERSION "${GH_TAGNAME}"' > ${WRKSRC}/svnversion.h
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/audio/jack/distinfo b/audio/jack/distinfo
index ff163a3f8aee..90e550908942 100644
--- a/audio/jack/distinfo
+++ b/audio/jack/distinfo
@@ -1,9 +1,3 @@
-TIMESTAMP = 1500250305
-SHA256 (jackaudio-jack1-0.125.0-90f9dd3_GH0.tar.gz) = e0ba7dcf58fa934af51329cd329f466fe8d2bc180d07e4ab8be21ed80c60aa8a
-SIZE (jackaudio-jack1-0.125.0-90f9dd3_GH0.tar.gz) = 392822
-SHA256 (jackaudio-headers-07f1ecf_GH0.tar.gz) = 04a3bb87d278923985ba44045b7a27439c90776cc5d4a6016d062fc7a6aa5023
-SIZE (jackaudio-headers-07f1ecf_GH0.tar.gz) = 36704
-SHA256 (jackaudio-tools-8d13c31_GH0.tar.gz) = 23e6bc60c8cef4283677206f2687a408367203a725c091c923f48554ae6e8cc8
-SIZE (jackaudio-tools-8d13c31_GH0.tar.gz) = 45544
-SHA256 (jackaudio-example-clients-7fa0890_GH0.tar.gz) = 79e2ac1d38d7d77b1afb71aa97414c339e8c00613a5d9b725861232b5c995223
-SIZE (jackaudio-example-clients-7fa0890_GH0.tar.gz) = 16174
+TIMESTAMP = 1599761137
+SHA256 (myfreeweb-jack2-v1.9.14-6-gaec2c2d5_GH0.tar.gz) = 2528813f47fd00284d43fad2c1dc998589b839dac4678f5b3a00130cb88150ce
+SIZE (myfreeweb-jack2-v1.9.14-6-gaec2c2d5_GH0.tar.gz) = 6496124
diff --git a/audio/jack/files/jackd.in b/audio/jack/files/jackd.in
deleted file mode 100644
index dad627ff86af..000000000000
--- a/audio/jack/files/jackd.in
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-# PROVIDE: jackd
-# REQUIRE: LOGIN
-#
-# Add the following line to /etc/rc.conf to enable jackd:
-#
-# jackd_enable="YES"
-#
-
-: ${jackd_enable="NO"}
-: ${jackd_user="root"}
-: ${jackd_rtprio="NO"}
-: ${jackd_args="-r -doss -r44100 -p1024 -n3 -w16"}
-
-. /etc/rc.subr
-
-name=jackd
-rcvar=jackd_enable
-procname=%%PREFIX%%/bin/jackd
-start_cmd="start_jackd"
-
-start_jackd() {
-  echo "Starting ${name}."
-  if [ $jackd_rtprio = "YES" ]; then
-    local rt="rtprio 1"
-  fi
-  # log the date and parameters
-  echo -e "\n[`date`] Starting the daemon, user=$jackd_user rtprio=$jackd_rtprio args=\"$jackd_args\"" >> /var/log/${name}.log
-  # daemon(8) should be able to set the realtime priority, but it isn't
-  $rt daemon -p /var/run/${name}.pid -u "${jackd_user}" %%PREFIX%%/bin/jackd ${jackd_args}
-}
-
-load_rc_config ${name}
-run_rc_command "$1"
diff --git a/audio/jack/files/patch-configure.ac b/audio/jack/files/patch-configure.ac
deleted file mode 100644
index 963aa5328a89..000000000000
--- a/audio/jack/files/patch-configure.ac
+++ /dev/null
@@ -1,10 +0,0 @@
---- configure.ac.orig	2017-01-10 10:20:51 UTC
-+++ configure.ac
-@@ -172,6 +172,7 @@ case "${host_os}" in
-     # barrier code, this may be fixed in 5.3, stay tuned.
-     USE_BARRIER="no"
-     USE_MD5SUM=0
-+    JACK_DO_NOT_MLOCK=0
-     ;;
-   openbsd*)
-     # pthread_barrier* not implemented
diff --git a/audio/jack/files/patch-drivers_alsa_memops.c b/audio/jack/files/patch-drivers_alsa_memops.c
deleted file mode 100644
index ea2b1524440b..000000000000
--- a/audio/jack/files/patch-drivers_alsa_memops.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- drivers/alsa/memops.c.orig	2016-02-23 15:13:53 UTC
-+++ drivers/alsa/memops.c
-@@ -30,7 +30,7 @@
- #include <stdlib.h>
- #include <stdint.h>
- #include <limits.h>
--#include <endian.h>
-+#include <sys/endian.h>
- 
- #include "memops.h"
- 
diff --git a/audio/jack/files/patch-drivers_oss_oss__driver.c b/audio/jack/files/patch-drivers_oss_oss__driver.c
deleted file mode 100644
index 19e76f680df8..000000000000
--- a/audio/jack/files/patch-drivers_oss_oss__driver.c
+++ /dev/null
@@ -1,258 +0,0 @@
---- drivers/oss/oss_driver.c.orig	2017-01-10 10:20:51 UTC
-+++ drivers/oss/oss_driver.c
-@@ -23,6 +23,7 @@
- 
- #include <config.h>
- 
-+#define __BSD_VISIBLE	1
- #ifdef USE_BARRIER
- /*
-  * POSIX conformance level should be globally defined somewhere, possibly
-@@ -172,7 +173,9 @@ static void set_period_size (oss_driver_
- 		((double)driver->period_size /
- 		 (double)driver->sample_rate) * 1e6;
- 	driver->last_wait_ust = 0;
--	driver->last_periodtime = driver->engine->get_microseconds ();
-+	driver->last_periodtime = driver->engine ?
-+		driver->engine->get_microseconds() :
-+		jack_get_microseconds();
- 	driver->next_periodtime = 0;
- 	driver->iodelay = 0.0F;
- }
-@@ -180,7 +183,9 @@ static void set_period_size (oss_driver_
- 
- static inline void update_times (oss_driver_t *driver)
- {
--	driver->last_periodtime = driver->engine->get_microseconds ();
-+	driver->last_periodtime = driver->engine ?
-+		driver->engine->get_microseconds() :
-+		jack_get_microseconds();
- 	if (driver->next_periodtime > 0) {
- 		driver->iodelay = (float)
- 				  ((long double)driver->last_periodtime -
-@@ -211,6 +216,7 @@ static void copy_and_convert_in (jack_sa
- 	int dstidx;
- 	signed short *s16src = (signed short*)src;
- 	signed int *s32src = (signed int*)src;
-+	unsigned char *s24src = (unsigned char *) src;
- 	double *f64src = (double*)src;
- 	jack_sample_t scale;
- 
-@@ -225,10 +231,13 @@ static void copy_and_convert_in (jack_sa
- 		}
- 		break;
- 	case 24:
--		scale = 1.0f / 0x7fffff;
-+		scale = 1.0f / 0x7fffffff;
- 		for (dstidx = 0; dstidx < nframes; dstidx++) {
- 			dst[dstidx] = (jack_sample_t)
--				      s32src[srcidx] * scale;
-+				((signed int)(
-+					(s24src[3 * srcidx + 2] << 24) |
-+					(s24src[3 * srcidx + 1] << 16) |
-+					(s24src[3 * srcidx + 0] << 8))) * scale;
- 			srcidx += chcount;
- 		}
- 		break;
-@@ -256,6 +265,7 @@ static void copy_and_convert_out (void *
- 	int srcidx;
- 	int dstidx;
- 	signed short *s16dst = (signed short*)dst;
-+	unsigned char *s24dst = (unsigned char *) dst;
- 	signed int *s32dst = (signed int*)dst;
- 	double *f64dst = (double*)dst;
- 	jack_sample_t scale;
-@@ -273,12 +283,15 @@ static void copy_and_convert_out (void *
- 		}
- 		break;
- 	case 24:
--		scale = 0x7fffff;
-+		scale = 0x7fffffff;
- 		for (srcidx = 0; srcidx < nframes; srcidx++) {
--			s32dst[dstidx] = (signed int)
--					 (src[srcidx] >= 0.0f) ?
--					 (src[srcidx] * scale + 0.5f) :
--					 (src[srcidx] * scale - 0.5f);
-+			signed int sample =
-+				(src[srcidx] >= 0.0f) ?
-+				(src[srcidx] * scale + 0.5f) :
-+				(src[srcidx] * scale - 0.5f) ;
-+			s24dst[3*dstidx + 2] = sample >> 24;
-+			s24dst[3*dstidx + 1] = sample >> 16;
-+			s24dst[3*dstidx + 0] = sample >> 8;
- 			dstidx += chcount;
- 		}
- 		break;
-@@ -429,7 +442,11 @@ static int oss_driver_detach (oss_driver
- 
- static int oss_driver_start (oss_driver_t *driver)
- {
--	int flags = 0;
-+#if defined(OPTION_COOKEDMODE)
-+	int cookedmode = 1;
-+#else
-+	int cookedmode = 0;
-+#endif
- 	int format;
- 	int channels;
- 	int samplerate;
-@@ -441,19 +458,7 @@ static int oss_driver_start (oss_driver_
- 	const char *indev = driver->indev;
- 	const char *outdev = driver->outdev;
- 
--	switch (driver->bits) {
--	case 24:
--	case 32:
--		samplesize = sizeof(int);
--		break;
--	case 64:
--		samplesize = sizeof(double);
--		break;
--	case 16:
--	default:
--		samplesize = sizeof(short);
--		break;
--	}
-+	samplesize = driver->bits / 8;
- 	driver->trigger = 0;
- 	if (strcmp (indev, outdev) != 0) {
- 		if (driver->capture_channels > 0) {
-@@ -464,7 +469,7 @@ static int oss_driver_start (oss_driver_
- 					indev, __FILE__, __LINE__, errno);
- 			}
- #ifndef OSS_NO_COOKED_MODE
--			ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags);
-+			ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode);
- #endif
- 			fragsize = driver->period_size *
- 				   driver->capture_channels * samplesize;
-@@ -479,7 +484,7 @@ static int oss_driver_start (oss_driver_
- 					outdev, __FILE__, __LINE__, errno);
- 			}
- #ifndef OSS_NO_COOKED_MODE
--			ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &flags);
-+			ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &cookedmode);
- #endif
- 			fragsize = driver->period_size *
- 				   driver->playback_channels * samplesize;
-@@ -497,7 +502,7 @@ static int oss_driver_start (oss_driver_
- 				return -1;
- 			}
- #ifndef OSS_NO_COOKED_MODE
--			ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags);
-+			ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode);
- #endif
- 		} else if (driver->capture_channels == 0 &&
- 			   driver->playback_channels != 0) {
-@@ -510,7 +515,7 @@ static int oss_driver_start (oss_driver_
- 				return -1;
- 			}
- #ifndef OSS_NO_COOKED_MODE
--			ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &flags);
-+			ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &cookedmode);
- #endif
- 		} else {
- 			infd = outfd = open (indev, O_RDWR | O_EXCL);
-@@ -521,7 +526,7 @@ static int oss_driver_start (oss_driver_
- 				return -1;
- 			}
- #ifndef OSS_NO_COOKED_MODE
--			ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags);
-+			ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode);
- #endif
- 		}
- 		if (infd >= 0 && outfd >= 0) {
-@@ -705,7 +710,9 @@ static int oss_driver_start (oss_driver_
- 		sem_post (&driver->sem_start);
- 	}
- 
--	driver->last_periodtime = driver->engine->get_microseconds ();
-+	driver->last_periodtime = driver->engine ?
-+		driver->engine->get_microseconds() :
-+		jack_get_microseconds();
- 	driver->next_periodtime = 0;
- 	driver->iodelay = 0.0F;
- 
-@@ -1143,6 +1150,23 @@ jack_driver_t * driver_initialize (jack_
- 		pnode = jack_slist_next (pnode);
- 	}
- 
-+	switch (bits)
-+	{
-+	case 16:        /* native-endian 16-bit integer */
-+		driver->format = AFMT_S16_NE;
-+		break;
-+	case 24:        /* little-endian 24-bit integer */
-+		driver->format = AFMT_S24_LE;
-+		break;
-+	case 32:        /* native-endian 32-bit integer */
-+		driver->format = AFMT_S32_NE;
-+		break;
-+	default:
-+		free(driver);
-+		jack_error("OSS: invalid number of bits: %d",
-+			   __FILE__, __LINE__, bits);
-+		return NULL;
-+	}
- 	driver->sample_rate = sample_rate;
- 	driver->period_size = period_size;
- 	driver->nperiods = nperiods;
-@@ -1163,58 +1187,6 @@ jack_driver_t * driver_initialize (jack_
- 	}
- 	driver->infd = -1;
- 	driver->outfd = -1;
--	switch (driver->bits) {
--#               ifndef OSS_ENDIAN
--#               ifdef __GNUC__
--#               if (defined(__i386__) || defined(__alpha__) || defined(__arm__) || defined(__x86_64__) || (defined(__sh__) && !defined(__LITTLE_ENDIAN__)))
--#               define OSS_LITTLE_ENDIAN 1234
--#               define OSS_ENDIAN OSS_LITTLE_ENDIAN
--#               else
--#               define OSS_BIG_ENDIAN 4321
--#               define OSS_ENDIAN OSS_BIG_ENDIAN
--#               endif
--#               else /* __GNUC__ */
--#               if (defined(_AIX) || defined(AIX) || defined(sparc) || defined(__hppa) || defined(PPC) || defined(__powerpc__) && !defined(i386) && !defined(__i386) && !defined(__i386__))
--#               define OSS_BIG_ENDIAN 4321
--#               define OSS_ENDIAN OSS_BIG_ENDIAN
--#               else
--#               define OSS_LITTLE_ENDIAN 1234
--#               define OSS_ENDIAN OSS_LITTLE_ENDIAN
--#               endif
--#               endif   /* __GNUC__ */
--#               endif   /* OSS_ENDIAN */
--#               if (OSS_ENDIAN == 1234)
--	/* little-endian architectures */
--	case 24:                /* little-endian LSB aligned 24-bits in 32-bits  integer */
--		driver->format = 0x00008000;
--		break;
--	case 32:                /* little-endian 32-bit integer */
--		driver->format = 0x00001000;
--		break;
--	case 64:                /* native-endian 64-bit float */
--		driver->format = 0x00004000;
--		break;
--	case 16:                /* little-endian 16-bit integer */
--	default:
--		driver->format = 0x00000010;
--		break;
--		/* big-endian architectures */
--#               else
--	case 24:                /* big-endian LSB aligned 24-bits in 32-bits integer */
--		break;
--		driver->format = 0x00010000;
--	case 32:                /* big-endian 32-bit integer */
--		driver->format = 0x00002000;
--		break;
--	case 64:                /* native-endian 64-bit float */
--		driver->format = 0x00004000;
--		break;
--	case 16:                /* big-endian 16-bit integer */
--	default:
--		driver->format = 0x00000020;
--#               endif
--	}
--
- 	driver->indevbuf = driver->outdevbuf = NULL;
- 
- 	driver->capture_ports = NULL;
diff --git a/audio/jack/files/patch-jack.pc.in b/audio/jack/files/patch-jack.pc.in
deleted file mode 100644
index 24f9490d22da..000000000000
--- a/audio/jack/files/patch-jack.pc.in
+++ /dev/null
@@ -1,9 +0,0 @@
---- jack.pc.in.orig	2013-10-04 00:45:25 UTC
-+++ jack.pc.in
-@@ -6,5 +6,5 @@ includedir=@includedir@
- Name: jack
- Description: the Jack Audio Connection Kit: a low-latency synchronous callback-based media server
- Version: @JACK_VERSION@
--Libs: -L${libdir} -ljack -lpthread @OS_LDFLAGS@
-+Libs: -L${libdir} -ljack -pthread
- Cflags: -I${includedir}
diff --git a/audio/jack/files/patch-jackd_engine.c b/audio/jack/files/patch-jackd_engine.c
deleted file mode 100644
index 1eadfe3985ab..000000000000
--- a/audio/jack/files/patch-jackd_engine.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- jackd/engine.c.orig	2016-09-14 17:41:53 UTC
-+++ jackd/engine.c
-@@ -1435,7 +1435,7 @@ handle_external_client_request (jack_eng
- 	if ((r = read (client->request_fd, &req, sizeof(req)))
- 	    < (ssize_t)sizeof(req)) {
- 		if (r == 0) {
--#if defined(JACK_USE_MACH_THREADS) || defined(__OpenBSD__)
-+#if 1
- 			/* poll is implemented using
- 			   select (see the macosx/fakepoll
- 			   code). When the socket is closed
diff --git a/audio/jack/files/patch-jackd_jackd.c b/audio/jack/files/patch-jackd_jackd.c
deleted file mode 100644
index 7a21cfe41cf9..000000000000
--- a/audio/jack/files/patch-jackd_jackd.c
+++ /dev/null
@@ -1,22 +0,0 @@
---- jackd/jackd.c.orig	2017-07-17 17:10:09 UTC
-+++ jackd/jackd.c
-@@ -521,11 +521,17 @@ jack_drivers_load ()
- 
- static void copyright (FILE* file)
- {
--	fprintf (file, "jackd " VERSION "\n"
-+	fprintf (file, "jackd " VERSION " (COOKEDMODE=%s)\n"
- 		 "Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.\n"
- 		 "jackd comes with ABSOLUTELY NO WARRANTY\n"
- 		 "This is free software, and you are welcome to redistribute it\n"
--		 "under certain conditions; see the file COPYING for details\n\n");
-+		 "under certain conditions; see the file COPYING for details\n\n",
-+#if defined(OPTION_COOKEDMODE)
-+                 "on"
-+#else
-+                 "off"
-+#endif
-+                 );
- }
- 
- static void usage (FILE *file)
diff --git a/audio/jack/files/patch-libjack_client.c b/audio/jack/files/patch-libjack_client.c
deleted file mode 100644
index d6c5ffb1d3bd..000000000000
--- a/audio/jack/files/patch-libjack_client.c
+++ /dev/null
@@ -1,190 +0,0 @@
---- libjack/client.c.orig	2017-01-10 10:20:51 UTC
-+++ libjack/client.c
-@@ -68,6 +68,30 @@
- static pthread_mutex_t client_lock;
- static pthread_cond_t client_ready;
- 
-+/*
-+ * The following read/write wrappers handle the case of interruption
-+ * by system signals:
-+ */
-+static int
-+read_retry(int fd, void *dst, int size)
-+{
-+	int error;
-+	do {
-+		error = read(fd, dst, size);
-+	} while (error == -1 && errno == EINTR);
-+	return (error);
-+}
-+
-+static int
-+write_retry(int fd, const void *src, int size)
-+{
-+	int error;
-+	do {
-+		error = write(fd, src, size);
-+	} while (error == -1 && errno == EINTR);
-+	return (error);
-+}
-+
- static int
- jack_client_close_aux(jack_client_t *client);
- 
-@@ -251,7 +275,7 @@ oop_client_deliver_request (void *ptr, j
- 	int wok, rok;
- 	jack_client_t *client = (jack_client_t*)ptr;
- 
--	wok = (write (client->request_fd, req, sizeof(*req))
-+	wok = (write_retry (client->request_fd, req, sizeof(*req))
- 	       == sizeof(*req));
- 
- 	/* if necessary, add variable length key data after a PropertyChange request
-@@ -259,7 +283,7 @@ oop_client_deliver_request (void *ptr, j
- 
- 	if (req->type == PropertyChangeNotify) {
- 		if (req->x.property.keylen) {
--			if (write (client->request_fd, req->x.property.key, req->x.property.keylen) != req->x.property.keylen) {
-+			if (write_retry (client->request_fd, req->x.property.key, req->x.property.keylen) != req->x.property.keylen) {
- 				jack_error ("cannot send property key of length %d to server",
- 					    req->x.property.keylen);
- 				req->status = -1;
-@@ -268,7 +292,7 @@ oop_client_deliver_request (void *ptr, j
- 		}
- 	}
- 
--	rok = (read (client->request_fd, req, sizeof(*req))
-+	rok = (read_retry (client->request_fd, req, sizeof(*req))
- 	       == sizeof(*req));
- 
- 	if (wok && rok) {               /* everything OK? */
-@@ -837,14 +861,14 @@ server_event_connect (jack_client_t *cli
- 
- 	jack_uuid_copy (&req.client_id, client->control->uuid);
- 
--	if (write (fd, &req, sizeof(req)) != sizeof(req)) {
--		jack_error ("cannot write event connect request to server (%s)",
-+	if (write_retry (fd, &req, sizeof(req)) != sizeof(req)) {
-+		jack_error ("cannot write_retry event connect request to server (%s)",
- 			    strerror (errno));
- 		close (fd);
- 		return -1;
- 	}
- 
--	if (read (fd, &res, sizeof(res)) != sizeof(res)) {
-+	if (read_retry (fd, &res, sizeof(res)) != sizeof(res)) {
- 		jack_error ("cannot read event connect result from server (%s)",
- 			    strerror (errno));
- 		close (fd);
-@@ -1109,14 +1133,14 @@ jack_request_client (ClientType type,
- 	snprintf (req.object_data, sizeof(req.object_data),
- 		  "%s", va->load_init);
- 
--	if (write (*req_fd, &req, sizeof(req)) != sizeof(req)) {
-+	if (write_retry (*req_fd, &req, sizeof(req)) != sizeof(req)) {
- 		jack_error ("cannot send request to jack server (%s)",
- 			    strerror (errno));
- 		*status |= (JackFailure | JackServerError);
- 		goto fail;
- 	}
- 
--	if (read (*req_fd, res, sizeof(*res)) != sizeof(*res)) {
-+	if (read_retry (*req_fd, res, sizeof(*res)) != sizeof(*res)) {
- 
- 		if (errno == 0) {
- 			/* server shut the socket */
-@@ -1512,7 +1536,7 @@ jack_internal_client_close (const char *
- 		return;
- 	}
- 
--	if (write (fd, &req, sizeof(req)) != sizeof(req)) {
-+	if (write_retry (fd, &req, sizeof(req)) != sizeof(req)) {
- 		jack_error ("cannot deliver ClientUnload request to JACK "
- 			    "server.");
- 	}
-@@ -1648,7 +1672,7 @@ jack_session_notify (jack_client_t* clie
- 
- 	request.x.session.type = code;
- 
--	if ( (write (client->request_fd, &request, sizeof(request))
-+	if ( (write_retry (client->request_fd, &request, sizeof(request))
- 	      != sizeof(request)) ) {
- 		jack_error ("cannot send request type %d to server",
- 			    request.type);
-@@ -1658,7 +1682,7 @@ jack_session_notify (jack_client_t* clie
- 	while ( 1 ) {
- 		jack_uuid_t uid;
- 
--		if (read (client->request_fd, &uid, sizeof(uid)) != sizeof(uid)) {
-+		if (read_retry (client->request_fd, &uid, sizeof(uid)) != sizeof(uid)) {
- 			jack_error ("cannot read result for request type %d from"
- 				    " server (%s)", request.type, strerror (errno));
- 			goto out;
-@@ -1680,19 +1704,19 @@ jack_session_notify (jack_client_t* clie
- 			break;
- 		}
- 
--		if (read (client->request_fd, (char*)retval[num_replies - 1].client_name, JACK_CLIENT_NAME_SIZE)
-+		if (read_retry (client->request_fd, (char*)retval[num_replies - 1].client_name, JACK_CLIENT_NAME_SIZE)
- 		    != JACK_CLIENT_NAME_SIZE) {
- 			jack_error ("cannot read result for request type %d from"
- 				    " server (%s)", request.type, strerror (errno));
- 			goto out;
- 		}
--		if (read (client->request_fd, (char*)retval[num_replies - 1].command, JACK_PORT_NAME_SIZE)
-+		if (read_retry (client->request_fd, (char*)retval[num_replies - 1].command, JACK_PORT_NAME_SIZE)
- 		    != JACK_PORT_NAME_SIZE) {
- 			jack_error ("cannot read result for request type %d from"
- 				    " server (%s)", request.type, strerror (errno));
- 			goto out;
- 		}
--		if (read (client->request_fd, &retval[num_replies - 1].flags, sizeof(retval[num_replies - 1].flags) )
-+		if (read_retry (client->request_fd, &retval[num_replies - 1].flags, sizeof(retval[num_replies - 1].flags) )
- 		    != sizeof(retval[num_replies - 1].flags) ) {
- 			jack_error ("cannot read result for request type %d from"
- 				    " server (%s)", request.type, strerror (errno));
-@@ -1811,7 +1835,7 @@ jack_client_process_events (jack_client_
- 		/* server has sent us an event. process the
- 		 * event and reply */
- 
--		if (read (client->event_fd, &event, sizeof(event))
-+		if (read_retry (client->event_fd, &event, sizeof(event))
- 		    != sizeof(event)) {
- 			jack_error ("cannot read server event (%s)",
- 				    strerror (errno));
-@@ -1821,7 +1845,7 @@ jack_client_process_events (jack_client_
- 		if (event.type == PropertyChange) {
- 			if (event.y.key_size) {
- 				key = (char*)malloc (event.y.key_size);
--				if (read (client->event_fd, key, event.y.key_size) !=
-+				if (read_retry (client->event_fd, key, event.y.key_size) !=
- 				    event.y.key_size) {
- 					jack_error ("cannot read property change key (%s)",
- 						    strerror (errno));
-@@ -1940,7 +1964,7 @@ jack_client_process_events (jack_client_
- 		DEBUG ("client has dealt with the event, writing "
- 		       "response on event fd");
- 
--		if (write (client->event_fd, &status, sizeof(status))
-+		if (write_retry (client->event_fd, &status, sizeof(status))
- 		    != sizeof(status)) {
- 			jack_error ("cannot send event response to "
- 				    "engine (%s)", strerror (errno));
-@@ -1960,7 +1984,7 @@ jack_wake_next_client (jack_client_t* cl
- 	int pret = 0;
- 	char c = 0;
- 
--	if (write (client->graph_next_fd, &c, sizeof(c))
-+	if (write_retry (client->graph_next_fd, &c, sizeof(c))
- 	    != sizeof(c)) {
- 		DEBUG ("cannot write byte to fd %d", client->graph_next_fd);
- 		jack_error ("cannot continue execution of the "
-@@ -1988,7 +2012,7 @@ jack_wake_next_client (jack_client_t* cl
- 	}
- 
- 	if (pret > 0 && (pfds[0].revents & POLLIN)) {
--		if (read (client->graph_wait_fd, &c, sizeof(c))
-+		if (read_retry (client->graph_wait_fd, &c, sizeof(c))
- 		    != sizeof(c)) {
- 			jack_error ("cannot complete execution of the "
- 				    "processing graph (%s)", strerror (errno));
diff --git a/audio/jack/files/patch-libjack_port.c b/audio/jack/files/patch-libjack_port.c
deleted file mode 100644
index 67102b4c15b7..000000000000
--- a/audio/jack/files/patch-libjack_port.c
+++ /dev/null
@@ -1,26 +0,0 @@
---- libjack/port.c.orig	2019-01-02 01:51:31 UTC
-+++ libjack/port.c
-@@ -630,13 +630,22 @@ jack_port_get_buffer (jack_port_t *port, jack_nframes_
- size_t
- jack_port_type_buffer_size (jack_port_type_info_t* port_type_info, jack_nframes_t nframes)
- {
-+	size_t size;
-+
- 	if ( port_type_info->buffer_scale_factor < 0 ) {
- 		return port_type_info->buffer_size;
- 	}
- 
--	return port_type_info->buffer_scale_factor
-+	size = port_type_info->buffer_scale_factor
- 	       * sizeof(jack_default_audio_sample_t)
- 	       * nframes;
-+
-+#ifdef USE_DYNSIMD
-+	/* Round up to the next multiple of 16 bytes, align buffers for SIMD. */
-+	size = (size + 15) & (~ (size_t)0x0f);
-+#endif  /* USE_DYNSIMD */
-+
-+	return size;
- }
- 
- int
diff --git a/audio/jack/pkg-message b/audio/jack/pkg-message
index 5f1b42d29580..1e9731668606 100644
--- a/audio/jack/pkg-message
+++ b/audio/jack/pkg-message
@@ -2,30 +2,16 @@
 {
 	message: <<EOD
 ======================================================================
-It is recommended to run Jack with real-time priority (-R).
+It is recommended to run Jack with real-time priority.
 
-The recommended way to start Jack is to add the following
-lines to /etc/rc.conf:
+As FreeBSD doesn't allow unprivileged users to set real-time priority,
+you should do it manually with rtprio(1).
 
-jackd_enable="YES"
-jackd_user="{your-jack-user}"
-jackd_rtprio="YES"
-jackd_args="-R -doss -r{sample-rate} -p1024 -n3 -w16 \
-            --capture /dev/dsp{N} --playback /dev/dsp{N}"
+Configure backend options using jack_control:
 
-Where:
-- your-jack-user: is the user who is going to use jack; currently
-                  only one user is supported
-- sample-rate: can be 44100, 48000, etc.
-- /dev/dsp{N}: your OSS devices, usually /dev/dsp0
-
-Please note that the port option COOKEDMODE is "on" by default, which
-makes your system to automatically scale the sample-rate between
-Jack and audio hardware. One reason COOKEDMODE=on is because
-Jack's OSS driver doesn't support some sample-rate and hardware
-combinations when COOKEDMODE=off. To achieve the best sound quality
-please make sure your hardware natively supports the sample-rate set
-in jackd_args, and set COOKEDMODE=off.
+$ jack_control ds oss
+$ jack_control eps realtime False
+$ jack_control eps sync True
 ======================================================================
 EOD,
 	type: install
diff --git a/audio/jack/pkg-plist b/audio/jack/pkg-plist
index 174631531356..fc05e18123a5 100644
--- a/audio/jack/pkg-plist
+++ b/audio/jack/pkg-plist
@@ -1,175 +1,103 @@
-%%ALSA%%bin/alsa_in
-%%ALSA%%bin/alsa_out
 bin/jack_alias
 bin/jack_bufsize
 bin/jack_connect
+%%DBUS%%bin/jack_control
+bin/jack_cpu
+bin/jack_cpu_load
 bin/jack_disconnect
 bin/jack_evmon
 bin/jack_freewheel
-bin/jack_impulse_grabber
 bin/jack_iodelay
 bin/jack_latent_client
 bin/jack_load
-bin/jack_load_test
 bin/jack_lsp
 bin/jack_metro
+bin/jack_midi_dump
+bin/jack_midi_latency_test
 bin/jack_midiseq
 bin/jack_midisine
-bin/jack_midi_dump
 bin/jack_monitor_client
+bin/jack_multiple_metro
+bin/jack_net_master
+bin/jack_net_slave
 bin/jack_netsource
 bin/jack_property
 bin/jack_rec
 bin/jack_samplerate
-bin/jack_session_notify
 bin/jack_server_control
-bin/jack_simple_session_client
+bin/jack_session_notify
 bin/jack_showtime
+bin/jack_simdtests
 bin/jack_simple_client
-%%READLINE%%bin/jack_transport
-bin/jack_transport_client
+bin/jack_simple_session_client
+bin/jack_test
+bin/jack_thru
+bin/jack_transport
 bin/jack_unload
 bin/jack_wait
-bin/jackd
+bin/jack_zombie
+%%DBUS%%bin/jackdbus
+%%CLASSIC%%bin/jackd
 include/jack/control.h
 include/jack/intclient.h
 include/jack/jack.h
 include/jack/jslist.h
 include/jack/metadata.h
 include/jack/midiport.h
+include/jack/net.h
 include/jack/ringbuffer.h
 include/jack/session.h
 include/jack/statistics.h
+include/jack/systemdeps.h
 include/jack/thread.h
 include/jack/transport.h
 include/jack/types.h
 include/jack/uuid.h
 include/jack/weakjack.h
 include/jack/weakmacros.h
+lib/jack/audioadapter.so
 lib/jack/inprocess.so
-lib/jack/intime.so
 %%ALSA%%lib/jack/jack_alsa.so
-%%ALSA%%lib/jack/jack_alsa_midi.so
+%%ALSA%%lib/jack/jack_alsarawmidi.so
 lib/jack/jack_dummy.so
+lib/jack/jack_loopback.so
 lib/jack/jack_net.so
+lib/jack/jack_netone.so
 lib/jack/jack_oss.so
-%%SNDIO%%lib/jack/jack_sndio.so
+lib/jack/jack_proxy.so
+lib/jack/netadapter.so
+lib/jack/netmanager.so
+lib/jack/profiler.so
 lib/libjack.so
 lib/libjack.so.0
-lib/libjack.so.0.0.28
+lib/libjack.so.0.1.0
+lib/libjacknet.so
+lib/libjacknet.so.0
+lib/libjacknet.so.0.1.0
 lib/libjackserver.so
 lib/libjackserver.so.0
-lib/libjackserver.so.0.0.28
+lib/libjackserver.so.0.1.0
 libdata/pkgconfig/jack.pc
-man/man1/alsa_in.1.gz
-man/man1/alsa_out.1.gz
-man/man1/jack_bufsize.1.gz
-man/man1/jack_connect.1.gz
-man/man1/jack_disconnect.1.gz
-man/man1/jack_freewheel.1.gz
-man/man1/jack_impulse_grabber.1.gz
-man/man1/jack_iodelay.1.gz
-man/man1/jack_load.1.gz
-man/man1/jack_load_test.1.gz
-man/man1/jack_lsp.1.gz
-man/man1/jack_metro.1.gz
-man/man1/jack_monitor_client.1.gz
-man/man1/jack_netsource.1.gz
-man/man1/jack_property.1.gz
-man/man1/jack_samplerate.1.gz
-man/man1/jack_showtime.1.gz
-man/man1/jack_transport.1.gz
-man/man1/jack_unload.1.gz
-man/man1/jack_wait.1.gz
-man/man1/jackd.1.gz
-man/man1/jackrec.1.gz
-man/man1/jackstart.1.gz
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/annotated.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/classes.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/control_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/control_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/deprecated.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/dir_3e6ff996e0a05d442d13220a8cf7408f.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/dir_d611c2c1e1e252f8153c91ce21a161f9.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/doxygen.css
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/doxygen.png
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/files.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/fsm.png
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/functions.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/functions_vars.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_defs.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_e.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_enum.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_eval.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_func.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_i.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_j.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_m.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_o.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_p.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_type.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_vars.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_w.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientCallbacks.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientFunctions.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientThreads.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ControlAPI.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ErrorOutput.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__JackSessionManagerAPI.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__LatencyFunctions.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__MIDIAPI.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__Metadata.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__NonCallbackAPI.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__PortFunctions.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__PortSearching.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ServerControl.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__SessionClientFunctions.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__TimeFunctions.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__TransportControl.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__WeakLinkage.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/index.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/inprocess_8c.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/intclient_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/intclient_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/jack_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/jack_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/mainpage_8dox.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/metadata_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/metadata_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/midiport_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/midiport_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/modules.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/pages.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/porting-guide.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/porting_8dox.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/ringbuffer_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/ringbuffer_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/session_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/session_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/simple__client_8c.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/statistics_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/statistics_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__latency__range.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__midi__event.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__session__event.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__description__t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__position__t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__property__t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__ringbuffer__data__t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__ringbuffer__t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__session__command__t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__transport__info__t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structport__pair__t.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/thread_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/thread_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport-design.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8dox.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/types_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/types_8h_source.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/unionjackctl__parameter__value.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/weakjack_8h.html
-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/weakjack_8h_source.html
+%%DBUS%%share/dbus-1/services/org.jackaudio.service
+%%ALSA%%share/man/man1/alsa_in.1.gz
+%%ALSA%%share/man/man1/alsa_out.1.gz
+share/man/man1/jack_bufsize.1.gz
+share/man/man1/jack_connect.1.gz
+share/man/man1/jack_disconnect.1.gz
+share/man/man1/jack_freewheel.1.gz
+share/man/man1/jack_impulse_grabber.1.gz
+share/man/man1/jack_iodelay.1.gz
+share/man/man1/jack_load.1.gz
+share/man/man1/jack_lsp.1.gz
+share/man/man1/jack_metro.1.gz
+share/man/man1/jack_monitor_client.1.gz
+share/man/man1/jack_netsource.1.gz
+share/man/man1/jack_property.1.gz
+share/man/man1/jack_samplerate.1.gz
+share/man/man1/jack_showtime.1.gz
+share/man/man1/jack_simple_client.1.gz
+share/man/man1/jack_transport.1.gz
+share/man/man1/jack_unload.1.gz
+share/man/man1/jack_wait.1.gz
+%%CLASSIC%%share/man/man1/jackd.1.gz
+share/man/man1/jackrec.1.gz