View | Details | Raw Unified | Return to bug 261256 | Differences between
and this patch

Collapse All | Expand All

(-)b/audio/jack-example-tools/Makefile (+49 lines)
Added Link Here
1
PORTNAME=	jack-example-tools
2
DISTVERSION=	1
3
CATEGORIES=	audio
4
5
MAINTAINER=	dev@submerge.ch
6
COMMENT=	Low latency audio server
7
8
LICENSE=	GPLv2 GPLv3+
9
LICENSE_COMB=	multi
10
11
LIB_DEPENDS=	libjack.so:audio/jack \
12
		libsndfile.so:audio/libsndfile \
13
		libsamplerate.so:audio/libsamplerate \
14
		libsysinfo.so:devel/libsysinfo
15
16
USES=		compiler:c11 pkgconfig meson localbase:ldflags
17
18
USE_GITHUB=	yes
19
GH_ACCOUNT=	jackaudio
20
21
CFLAGS+=	-fPIC
22
CPPFLAGS+=	-I${LOCALBASE}/include
23
24
CONFIGURE_ARGS=	-Djack_net=enabled -Djack_netsource=enabled -Djack_rec=enabled
25
26
OPTIONS_DEFINE=		ALSA READLINE OPUS
27
OPTIONS_DEFAULT=	READLINE OPUS
28
OPTIONS_SUB=		yes
29
30
ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib \
31
			libzita-alsa-pcmi.so:audio/zita-alsa-pcmi \
32
			libzita-resampler.so:audio/zita-resampler
33
ALSA_MESON_ENABLED=	alsa_in_out zalsa
34
35
READLINE_USES=		readline
36
READLINE_MESON_ENABLED=	readline_support
37
READLINE_LDFLAGS=	-lreadline
38
39
OPUS_LIB_DEPENDS=	libopus.so:audio/opus
40
OPUS_MESON_ENABLED=	opus_support
41
42
.include <bsd.port.pre.mk>
43
44
# The alloca.h header is not available on FreeBSD. Upstream knows:
45
# https://github.com/jackaudio/jack-example-tools/pull/56
46
post-extract:
47
	@${TOUCH} ${WRKSRC}/tools/alloca.h
48
49
.include <bsd.port.post.mk>
(-)b/audio/jack-example-tools/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1642267725
2
SHA256 (jackaudio-jack-example-tools-1_GH0.tar.gz) = dd4fc199b1cfe73ca31890b2427e935321a4e9934be4b80fa8a159afe75bd446
3
SIZE (jackaudio-jack-example-tools-1_GH0.tar.gz) = 124188
(-)b/audio/jack-example-tools/pkg-descr (+8 lines)
Added Link Here
1
JACK Audio Connection Kit (or JACK) is a professional sound server API and pair
2
of daemon implementations to provide real-time, low-latency connections for
3
both audio and MIDI data between applications.
4
5
These are the official JACK example clients and tools that are now distributed
6
separately from the JACK server package.
7
8
WWW: https://jackaudio.org/
(-)b/audio/jack-example-tools/pkg-plist (+65 lines)
Added Link Here
1
%%ALSA%%bin/alsa_in
2
%%ALSA%%bin/alsa_out
3
bin/jack_alias
4
bin/jack_bufsize
5
bin/jack_connect
6
bin/jack_control_client
7
bin/jack_cpu_load
8
bin/jack_disconnect
9
bin/jack_evmon
10
bin/jack_freewheel
11
bin/jack_impulse_grabber
12
bin/jack_iodelay
13
bin/jack_latent_client
14
bin/jack_load
15
bin/jack_load_test
16
bin/jack_lsp
17
bin/jack_metro
18
bin/jack_midi_dump
19
bin/jack_midi_latency_test
20
bin/jack_midiseq
21
bin/jack_midisine
22
bin/jack_monitor_client
23
bin/jack_net_master
24
bin/jack_net_slave
25
bin/jack_netsource
26
bin/jack_property
27
bin/jack_rec
28
bin/jack_samplerate
29
bin/jack_server_control
30
bin/jack_showtime
31
bin/jack_simdtests
32
bin/jack_simple_client
33
bin/jack_thru_client
34
bin/jack_transport
35
bin/jack_transport_client
36
bin/jack_tw
37
bin/jack_unload
38
bin/jack_wait
39
bin/jack_zombie
40
lib/jack/jack_inprocess.so
41
lib/jack/jack_internal_metro.so
42
lib/jack/jack_intime.so
43
%%ALSA%%lib/jack/zalsa_in.so
44
%%ALSA%%lib/jack/zalsa_out.so
45
%%ALSA%%man/man1/alsa_in.1.gz
46
%%ALSA%%man/man1/alsa_out.1.gz
47
man/man1/jack_bufsize.1.gz
48
man/man1/jack_connect.1.gz
49
man/man1/jack_disconnect.1.gz
50
man/man1/jack_freewheel.1.gz
51
man/man1/jack_impulse_grabber.1.gz
52
man/man1/jack_iodelay.1.gz
53
man/man1/jack_load.1.gz
54
man/man1/jack_lsp.1.gz
55
man/man1/jack_metro.1.gz
56
man/man1/jack_monitor_client.1.gz
57
man/man1/jack_netsource.1.gz
58
man/man1/jack_property.1.gz
59
man/man1/jack_rec.1.gz
60
man/man1/jack_samplerate.1.gz
61
man/man1/jack_showtime.1.gz
62
man/man1/jack_simple_client.1.gz
63
man/man1/jack_transport.1.gz
64
man/man1/jack_unload.1.gz
65
man/man1/jack_wait.1.gz
(-)b/audio/jack/Makefile (-23 / +11 lines)
Lines 1-78 Link Here
1
# Created by: Tilman Linneweh <arved@FreeBSD.org>
2
3
PORTNAME=	jackit
1
PORTNAME=	jackit
4
DISTVERSIONPREFIX=	v
2
DISTVERSIONPREFIX=	v
5
DISTVERSION=	1.9.16
3
DISTVERSION=	1.9.20
6
PORTREVISION=	1
7
CATEGORIES=	audio
4
CATEGORIES=	audio
8
5
9
MAINTAINER=	multimedia@FreeBSD.org
6
MAINTAINER=	dev@submerge.ch
10
COMMENT=	Low latency audio server
7
COMMENT=	Low latency audio server
11
8
12
LICENSE=	GPLv2 LGPL21
9
LICENSE=	GPLv2 LGPL21
13
LICENSE_COMB=	multi
10
LICENSE_COMB=	multi
14
11
15
LIB_DEPENDS=	libsndfile.so:audio/libsndfile \
12
LIB_DEPENDS=	libsamplerate.so:audio/libsamplerate \
16
		libsamplerate.so:audio/libsamplerate \
17
		libsysinfo.so:devel/libsysinfo
13
		libsysinfo.so:devel/libsysinfo
18
14
19
USES=		compiler:c11 pkgconfig python:3.4+ shebangfix waf
15
USES=		compiler:c11 pkgconfig python:3.4+ shebangfix waf
20
USE_LDCONFIG=	yes
16
USE_LDCONFIG=	yes
21
USE_RC_SUBR=	jackd
17
USE_RC_SUBR=	jackd
22
18
23
USE_GITHUB=	yes
19
USE_GITHUB=	yes
24
GH_ACCOUNT=	0EVSG
20
GH_ACCOUNT=	jackaudio
25
GH_PROJECT=	jack2
21
GH_PROJECT=	jack2
26
GH_TAGNAME=	eaedec353489f26617221d66f80fd2503953c663
27
22
28
CFLAGS+=	-fPIC
23
CFLAGS+=	-fPIC
29
CPPFLAGS+=	-I${LOCALBASE}/include
24
CPPFLAGS+=	-I${LOCALBASE}/include
30
25
31
SHEBANG_FILES=	tools/jack_control
26
SHEBANG_FILES=	dbus/jack_control
32
SHEBANG_LANG=	python3
27
SHEBANG_LANG=	python3
33
28
34
CONFIGURE_ARGS=	--celt=no --sndfile=yes --samplerate=yes
29
CONFIGURE_ARGS=	--celt=no --sndfile=no --samplerate=yes \
30
		--readline=no --example-tools=no
35
31
36
OPTIONS_DEFINE=		ALSA DBUS READLINE OPUS PROFILING
32
OPTIONS_DEFINE=		ALSA DBUS OPUS PROFILING
37
OPTIONS_DEFAULT=	DBUS READLINE OPUS
33
OPTIONS_DEFAULT=	DBUS OPUS
38
OPTIONS_SUB=		yes
34
OPTIONS_SUB=		yes
39
35
40
ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
36
ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
41
ALSA_CONFIGURE_OFF=	--alsa=no
37
ALSA_CONFIGURE_OFF=	--alsa=no
42
ALSA_CONFIGURE_ON=	--alsa=yes
38
ALSA_CONFIGURE_ON=	--alsa=yes
43
39
44
DBUS_CONFIGURE_ON=	--dbus --classic --autostart=dbus
40
DBUS_CONFIGURE_ON=	--dbus --classic --autostart=dbus
45
DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus \
41
DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus \
46
			libexpat.so:textproc/expat2
42
			libexpat.so:textproc/expat2
47
DBUS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dbus>0:devel/py-dbus@${PY_FLAVOR}
43
DBUS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dbus>0:devel/py-dbus@${PY_FLAVOR}
48
44
49
READLINE_USES=		readline
45
OPUS_LIB_DEPENDS=	libopus.so:audio/opus
50
READLINE_CONFIGURE_ON=	--readline=yes
51
READLINE_CONFIGURE_OFF=	--readline=no
52
READLINE_LDFLAGS=	-lreadline
53
54
OPUS_LIB_DEPENDS=	 libopus.so:audio/opus
55
OPUS_CONFIGURE_ON=	--opus=yes
46
OPUS_CONFIGURE_ON=	--opus=yes
56
OPUS_CONFIGURE_OFF=	--opus=no
47
OPUS_CONFIGURE_OFF=	--opus=no
57
48
58
PROFILING_DESC=		Build with profiling information
49
PROFILING_DESC=		Build with profiling information
59
PROFILING_CONFIGURE_ON=	--profile
50
PROFILING_CONFIGURE_ON=	--profile
60
51
61
.include <bsd.port.pre.mk>
52
.include <bsd.port.pre.mk>
62
53
63
.if ${PORT_OPTIONS:MDBUS}
54
.if ${PORT_OPTIONS:MDBUS}
64
PLIST_SUB+=	CLASSIC="@comment "
55
PLIST_SUB+=	CLASSIC="@comment "
65
.else
56
.else
66
PLIST_SUB+=	CLASSIC=""
57
PLIST_SUB+=	CLASSIC=""
67
.endif
58
.endif
68
59
69
post-extract:
70
	@echo '#define SVN_VERSION "${GH_TAGNAME}"' > ${WRKSRC}/svnversion.h
71
72
post-install:
60
post-install:
73
	@cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} \
61
	@cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} \
74
		lib/libjack*.so \
62
		lib/libjack*.so \
75
		lib/jack/*.so \
63
		lib/jack/*.so \
76
		$$(ls bin/* | grep -v jack_control)
64
		$$(ls bin/* | ${GREP} -v jack_control)
77
65
78
.include <bsd.port.post.mk>
66
.include <bsd.port.post.mk>
(-)b/audio/jack/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1626106682
1
TIMESTAMP = 1642267444
2
SHA256 (0EVSG-jack2-v1.9.16-eaedec353489f26617221d66f80fd2503953c663_GH0.tar.gz) = 7720a65408ec7bcb2468fd090e3bbd0fcf7fc37408e116a7011c2469ba304e01
2
SHA256 (jackaudio-jack2-v1.9.20_GH0.tar.gz) = 915ad2900992159bdb729b9fc4ea134b962ce32b2df0b384fee40a2c5808835d
3
SIZE (0EVSG-jack2-v1.9.16-eaedec353489f26617221d66f80fd2503953c663_GH0.tar.gz) = 989685
3
SIZE (jackaudio-jack2-v1.9.20_GH0.tar.gz) = 1005000
(-)b/audio/jack/files/patch-common_JackError.cpp (+10 lines)
Added Link Here
1
--- common/JackError.cpp.orig	2022-01-15 18:51:10 UTC
2
+++ common/JackError.cpp
3
@@ -133,5 +133,5 @@ SERVER_EXPORT void silent_jack_error_callback(const ch
4
 SERVER_EXPORT void silent_jack_info_callback(const char *desc)
5
 {}
6
 
7
-SERVER_EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback;
8
-SERVER_EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback;
9
+LIB_EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback;
10
+LIB_EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback;
(-)b/audio/jack/files/patch-common_JackError.h (+13 lines)
Added Link Here
1
--- common/JackError.h.orig	2022-01-15 18:51:23 UTC
2
+++ common/JackError.h
3
@@ -35,8 +35,8 @@ extern "C"
4
     SERVER_EXPORT void jack_info(const char *fmt, ...);
5
     SERVER_EXPORT void jack_log(const char *fmt, ...);
6
 
7
-    SERVER_EXPORT extern void (*jack_error_callback)(const char *desc);
8
-    SERVER_EXPORT extern void (*jack_info_callback)(const char *desc);
9
+    LIB_EXPORT extern void (*jack_error_callback)(const char *desc);
10
+    LIB_EXPORT extern void (*jack_info_callback)(const char *desc);
11
 
12
     SERVER_EXPORT extern void default_jack_error_callback(const char *desc);
13
     SERVER_EXPORT extern void default_jack_info_callback(const char *desc);
(-)b/audio/jack/pkg-descr (-8 / +5 lines)
Lines 1-11 Link Here
1
JACK is a low latency audio server, written for POSIX-conformant operating
1
JACK Audio Connection Kit (or JACK) is a professional sound server API and pair
2
systems.  It can connect a number of different applications to an audio
2
of daemon implementations to provide real-time, low-latency connections for
3
device, as well as allowing them to share audio between themselves.  Its
3
both audio and MIDI data between applications.
4
clients can run in their own processes (i.e. as normal applications), or
5
can they can run within the JACK server (i.e. as a "plugin").
6
4
7
JACK was designed from the ground up for professional audio work, and its
5
This provides the JACK server and libraries, example clients and tools are
8
design focuses on two key areas: synchronous execution of all clients, and
6
distributed separately now.
9
low latency operation.
10
7
11
WWW: https://jackaudio.org/
8
WWW: https://jackaudio.org/
(-)b/audio/jack/pkg-message (-34 / +15 lines)
Lines 1-45 Link Here
1
[
1
The new JACK server comes with a DBUS control interface:
2
{
3
	message: <<EOD
4
======================================================================
5
It is recommended to run Jack with real-time priority. As FreeBSD doesn't
6
allow unprivileged users to set real-time priority, you should do it manually
7
with rtprio(1). As this port comes with jackd and jackdbus executables, note
8
that only one can be used.
9
2
10
Configure backend options using jack_control:
3
$ jack_control help
11
$ jack_control ds oss
4
$ jack_control ds oss
5
$ jack_control dp
12
$ jack_control eps realtime False
6
$ jack_control eps realtime False
13
$ jack_control eps sync True
7
$ jack_control start
14
8
15
Configure memory locking editing either /etc/login.conf or ~/.login_conf with:
9
Only root can grant real-time priority to processes for now, using rtprio(1).
16
:memorylocked=unlimited:
10
Upcoming FreeBSD releases will have a MAC policy with a realtime user group.
17
11
18
After every change to login.conf, you should execute:
12
Memory locking has to be allowed in /etc/login.conf or ~/.login_conf. Set the
19
cap_mkdb /etc/login.conf
13
resource limit ":memorylocked=unlimited:" and don't forget to run
20
14
21
There are two ways to start jack:
15
# cap_mkdb /etc/login.conf
22
* via dbus (new executable: jackdbus)
23
* as rc service (classic executable: jackd)
24
16
25
- Starting via DBUS:
17
It's still possible to start JACK server as an RC service for a dedicated user.
26
$ jack_control start
18
Note that only one JACK server can be run at a time. An /etc/rc.conf example:
27
19
28
- Starting as RC service:
29
add the following lines to /etc/rc.conf:
30
jackd_enable="YES"
20
jackd_enable="YES"
31
jackd_user="{your-jack-user}"
21
jackd_user="joe"
32
jackd_rtprio="YES"
22
jackd_rtprio="YES"
33
jackd_args="-R -doss -r{sample-rate} -p1024 -n3 -w16 \
23
jackd_args="-R -doss -r48000 -p1024 -n1 -w16 \
34
            --capture /dev/dsp{N} --playback /dev/dsp{N}"
24
            --capture /dev/dsp0 --playback /dev/dsp0"
35
25
36
Where:
26
Official JACK example clients and tools are available as jack-example-tools.
37
- your-jack-user: is the user who is going to use jack; currently
38
                  only one user is supported
39
- sample-rate: can be 44100, 48000, etc.
40
- /dev/dsp{N}: your OSS devices, usually /dev/dsp0
41
======================================================================
42
EOD,
43
	type: install
44
}
45
]
(-)b/audio/jack/pkg-plist (-60 / +1 lines)
Lines 1-102 Link Here
1
bin/jack_alias
2
bin/jack_bufsize
3
bin/jack_connect
4
bin/jack_control
5
bin/jack_cpu
6
bin/jack_cpu_load
7
bin/jack_disconnect
8
bin/jack_evmon
9
bin/jack_freewheel
10
bin/jack_iodelay
11
bin/jack_latent_client
12
bin/jack_load
13
bin/jack_lsp
14
bin/jack_metro
15
bin/jack_midi_dump
16
bin/jack_midi_latency_test
17
bin/jack_midiseq
18
bin/jack_midisine
19
bin/jack_monitor_client
20
bin/jack_multiple_metro
21
bin/jack_net_master
22
bin/jack_net_slave
23
bin/jack_property
24
bin/jack_rec
25
bin/jack_samplerate
26
bin/jack_server_control
27
bin/jack_session_notify
28
bin/jack_showtime
29
bin/jack_simdtests
30
bin/jack_simple_client
31
bin/jack_simple_session_client
32
bin/jack_test
33
bin/jack_thru
34
%%READLINE%%bin/jack_transport
35
bin/jack_unload
36
bin/jack_wait
37
bin/jack_zombie
38
bin/jackd
1
bin/jackd
2
%%DBUS%%bin/jack_control
39
%%DBUS%%bin/jackdbus
3
%%DBUS%%bin/jackdbus
40
include/jack/control.h
4
include/jack/control.h
41
include/jack/intclient.h
5
include/jack/intclient.h
42
include/jack/jack.h
6
include/jack/jack.h
43
include/jack/jslist.h
7
include/jack/jslist.h
44
include/jack/metadata.h
8
include/jack/metadata.h
45
include/jack/midiport.h
9
include/jack/midiport.h
46
include/jack/net.h
10
include/jack/net.h
47
include/jack/ringbuffer.h
11
include/jack/ringbuffer.h
48
include/jack/session.h
12
include/jack/session.h
49
include/jack/statistics.h
13
include/jack/statistics.h
50
include/jack/systemdeps.h
14
include/jack/systemdeps.h
51
include/jack/thread.h
15
include/jack/thread.h
52
include/jack/transport.h
16
include/jack/transport.h
53
include/jack/types.h
17
include/jack/types.h
54
include/jack/uuid.h
18
include/jack/uuid.h
55
include/jack/weakjack.h
19
include/jack/weakjack.h
56
include/jack/weakmacros.h
20
include/jack/weakmacros.h
57
lib/jack/audioadapter.so
21
lib/jack/audioadapter.so
58
lib/jack/inprocess.so
59
%%ALSA%%lib/jack/jack_alsa.so
22
%%ALSA%%lib/jack/jack_alsa.so
60
%%ALSA%%lib/jack/jack_alsarawmidi.so
23
%%ALSA%%lib/jack/jack_alsarawmidi.so
61
lib/jack/jack_dummy.so
24
lib/jack/jack_dummy.so
62
lib/jack/jack_loopback.so
25
lib/jack/jack_loopback.so
63
lib/jack/jack_net.so
26
lib/jack/jack_net.so
64
lib/jack/jack_netone.so
27
lib/jack/jack_netone.so
65
lib/jack/jack_oss.so
28
lib/jack/jack_oss.so
66
lib/jack/jack_proxy.so
29
lib/jack/jack_proxy.so
67
lib/jack/netadapter.so
30
lib/jack/netadapter.so
68
lib/jack/netmanager.so
31
lib/jack/netmanager.so
69
lib/jack/profiler.so
32
lib/jack/profiler.so
70
lib/libjack.so
33
lib/libjack.so
71
lib/libjack.so.0
34
lib/libjack.so.0
72
lib/libjack.so.0.1.0
35
lib/libjack.so.0.1.0
73
lib/libjacknet.so
36
lib/libjacknet.so
74
lib/libjacknet.so.0
37
lib/libjacknet.so.0
75
lib/libjacknet.so.0.1.0
38
lib/libjacknet.so.0.1.0
76
lib/libjackserver.so
39
lib/libjackserver.so
77
lib/libjackserver.so.0
40
lib/libjackserver.so.0
78
lib/libjackserver.so.0.1.0
41
lib/libjackserver.so.0.1.0
79
libdata/pkgconfig/jack.pc
42
libdata/pkgconfig/jack.pc
80
%%DBUS%%share/dbus-1/services/org.jackaudio.service
43
%%DBUS%%share/dbus-1/services/org.jackaudio.service
81
share/man/man1/alsa_in.1.gz
82
share/man/man1/alsa_out.1.gz
83
share/man/man1/jack_bufsize.1.gz
84
share/man/man1/jack_connect.1.gz
85
share/man/man1/jack_disconnect.1.gz
86
share/man/man1/jack_freewheel.1.gz
87
share/man/man1/jack_impulse_grabber.1.gz
88
share/man/man1/jack_iodelay.1.gz
89
share/man/man1/jack_load.1.gz
90
share/man/man1/jack_lsp.1.gz
91
share/man/man1/jack_metro.1.gz
92
share/man/man1/jack_monitor_client.1.gz
93
share/man/man1/jack_netsource.1.gz
94
share/man/man1/jack_property.1.gz
95
share/man/man1/jack_samplerate.1.gz
96
share/man/man1/jack_showtime.1.gz
97
share/man/man1/jack_simple_client.1.gz
98
share/man/man1/jack_transport.1.gz
99
share/man/man1/jack_unload.1.gz
100
share/man/man1/jack_wait.1.gz
101
share/man/man1/jackd.1.gz
44
share/man/man1/jackd.1.gz
102
share/man/man1/jackrec.1.gz
103
- 

Return to bug 261256