mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-27 10:03:20 +00:00
audio/jack: Update to 1.9.20 release.
The FreeBSD specific changes have been upstreamed, we can fetch the original sources again. Development of the client examples and tools has been split from the JACK server, move them to the new port jack-example-tools. This also includes a fix for missing library symbols, see bug #257696. Take maintainership of audio/jack and audio/jack-example-tools . PR: 257696 PR: 261256 Submitted by: Florian Walpen <dev@submerge.ch> Approved by: pi (implicit)
This commit is contained in:
parent
05da06fe8b
commit
93344cda77
@ -322,6 +322,7 @@
|
||||
SUBDIR += invada-studio-plugins-lv2
|
||||
SUBDIR += ir-lv2
|
||||
SUBDIR += jack
|
||||
SUBDIR += jack-example-tools
|
||||
SUBDIR += jack-keyboard
|
||||
SUBDIR += jack-smf-utils
|
||||
SUBDIR += jack_ghero
|
||||
|
49
audio/jack-example-tools/Makefile
Normal file
49
audio/jack-example-tools/Makefile
Normal file
@ -0,0 +1,49 @@
|
||||
PORTNAME= jack-example-tools
|
||||
DISTVERSION= 1
|
||||
CATEGORIES= audio
|
||||
|
||||
MAINTAINER= dev@submerge.ch
|
||||
COMMENT= Low latency audio server
|
||||
|
||||
LICENSE= GPLv2 GPLv3+
|
||||
LICENSE_COMB= multi
|
||||
|
||||
LIB_DEPENDS= libjack.so:audio/jack \
|
||||
libsndfile.so:audio/libsndfile \
|
||||
libsamplerate.so:audio/libsamplerate \
|
||||
libsysinfo.so:devel/libsysinfo
|
||||
|
||||
USES= compiler:c11 pkgconfig meson localbase:ldflags
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= jackaudio
|
||||
|
||||
CFLAGS+= -fPIC
|
||||
CPPFLAGS+= -I${LOCALBASE}/include
|
||||
|
||||
CONFIGURE_ARGS= -Djack_net=enabled -Djack_netsource=enabled -Djack_rec=enabled
|
||||
|
||||
OPTIONS_DEFINE= ALSA READLINE OPUS
|
||||
OPTIONS_DEFAULT= READLINE OPUS
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib \
|
||||
libzita-alsa-pcmi.so:audio/zita-alsa-pcmi \
|
||||
libzita-resampler.so:audio/zita-resampler
|
||||
ALSA_MESON_ENABLED= alsa_in_out zalsa
|
||||
|
||||
READLINE_USES= readline
|
||||
READLINE_MESON_ENABLED= readline_support
|
||||
READLINE_LDFLAGS= -lreadline
|
||||
|
||||
OPUS_LIB_DEPENDS= libopus.so:audio/opus
|
||||
OPUS_MESON_ENABLED= opus_support
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
# The alloca.h header is not available on FreeBSD. Upstream knows:
|
||||
# https://github.com/jackaudio/jack-example-tools/pull/56
|
||||
post-extract:
|
||||
@${TOUCH} ${WRKSRC}/tools/alloca.h
|
||||
|
||||
.include <bsd.port.post.mk>
|
3
audio/jack-example-tools/distinfo
Normal file
3
audio/jack-example-tools/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1642267725
|
||||
SHA256 (jackaudio-jack-example-tools-1_GH0.tar.gz) = dd4fc199b1cfe73ca31890b2427e935321a4e9934be4b80fa8a159afe75bd446
|
||||
SIZE (jackaudio-jack-example-tools-1_GH0.tar.gz) = 124188
|
8
audio/jack-example-tools/pkg-descr
Normal file
8
audio/jack-example-tools/pkg-descr
Normal file
@ -0,0 +1,8 @@
|
||||
JACK Audio Connection Kit (or JACK) is a professional sound server API and pair
|
||||
of daemon implementations to provide real-time, low-latency connections for
|
||||
both audio and MIDI data between applications.
|
||||
|
||||
These are the official JACK example clients and tools that are now distributed
|
||||
separately from the JACK server package.
|
||||
|
||||
WWW: https://jackaudio.org/
|
65
audio/jack-example-tools/pkg-plist
Normal file
65
audio/jack-example-tools/pkg-plist
Normal file
@ -0,0 +1,65 @@
|
||||
%%ALSA%%bin/alsa_in
|
||||
%%ALSA%%bin/alsa_out
|
||||
bin/jack_alias
|
||||
bin/jack_bufsize
|
||||
bin/jack_connect
|
||||
bin/jack_control_client
|
||||
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_monitor_client
|
||||
bin/jack_net_master
|
||||
bin/jack_net_slave
|
||||
bin/jack_netsource
|
||||
bin/jack_property
|
||||
bin/jack_rec
|
||||
bin/jack_samplerate
|
||||
bin/jack_server_control
|
||||
bin/jack_showtime
|
||||
bin/jack_simdtests
|
||||
bin/jack_simple_client
|
||||
bin/jack_thru_client
|
||||
bin/jack_transport
|
||||
bin/jack_transport_client
|
||||
bin/jack_tw
|
||||
bin/jack_unload
|
||||
bin/jack_wait
|
||||
bin/jack_zombie
|
||||
lib/jack/jack_inprocess.so
|
||||
lib/jack/jack_internal_metro.so
|
||||
lib/jack/jack_intime.so
|
||||
%%ALSA%%lib/jack/zalsa_in.so
|
||||
%%ALSA%%lib/jack/zalsa_out.so
|
||||
%%ALSA%%man/man1/alsa_in.1.gz
|
||||
%%ALSA%%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_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_rec.1.gz
|
||||
man/man1/jack_samplerate.1.gz
|
||||
man/man1/jack_showtime.1.gz
|
||||
man/man1/jack_simple_client.1.gz
|
||||
man/man1/jack_transport.1.gz
|
||||
man/man1/jack_unload.1.gz
|
||||
man/man1/jack_wait.1.gz
|
@ -1,19 +1,15 @@
|
||||
# Created by: Tilman Linneweh <arved@FreeBSD.org>
|
||||
|
||||
PORTNAME= jackit
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 1.9.16
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 1.9.20
|
||||
CATEGORIES= audio
|
||||
|
||||
MAINTAINER= multimedia@FreeBSD.org
|
||||
MAINTAINER= dev@submerge.ch
|
||||
COMMENT= Low latency audio server
|
||||
|
||||
LICENSE= GPLv2 LGPL21
|
||||
LICENSE_COMB= multi
|
||||
|
||||
LIB_DEPENDS= libsndfile.so:audio/libsndfile \
|
||||
libsamplerate.so:audio/libsamplerate \
|
||||
LIB_DEPENDS= libsamplerate.so:audio/libsamplerate \
|
||||
libsysinfo.so:devel/libsysinfo
|
||||
|
||||
USES= compiler:c11 pkgconfig python:3.4+ shebangfix waf
|
||||
@ -21,20 +17,20 @@ USE_LDCONFIG= yes
|
||||
USE_RC_SUBR= jackd
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= 0EVSG
|
||||
GH_ACCOUNT= jackaudio
|
||||
GH_PROJECT= jack2
|
||||
GH_TAGNAME= eaedec353489f26617221d66f80fd2503953c663
|
||||
|
||||
CFLAGS+= -fPIC
|
||||
CPPFLAGS+= -I${LOCALBASE}/include
|
||||
|
||||
SHEBANG_FILES= tools/jack_control
|
||||
SHEBANG_FILES= dbus/jack_control
|
||||
SHEBANG_LANG= python3
|
||||
|
||||
CONFIGURE_ARGS= --celt=no --sndfile=yes --samplerate=yes
|
||||
CONFIGURE_ARGS= --celt=no --sndfile=no --samplerate=yes \
|
||||
--readline=no --example-tools=no
|
||||
|
||||
OPTIONS_DEFINE= ALSA DBUS READLINE OPUS PROFILING
|
||||
OPTIONS_DEFAULT= DBUS READLINE OPUS
|
||||
OPTIONS_DEFINE= ALSA DBUS OPUS PROFILING
|
||||
OPTIONS_DEFAULT= DBUS OPUS
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
|
||||
@ -46,12 +42,7 @@ DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus \
|
||||
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
|
||||
READLINE_LDFLAGS= -lreadline
|
||||
|
||||
OPUS_LIB_DEPENDS= libopus.so:audio/opus
|
||||
OPUS_LIB_DEPENDS= libopus.so:audio/opus
|
||||
OPUS_CONFIGURE_ON= --opus=yes
|
||||
OPUS_CONFIGURE_OFF= --opus=no
|
||||
|
||||
@ -66,13 +57,10 @@ PLIST_SUB+= CLASSIC="@comment "
|
||||
PLIST_SUB+= CLASSIC=""
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
@echo '#define SVN_VERSION "${GH_TAGNAME}"' > ${WRKSRC}/svnversion.h
|
||||
|
||||
post-install:
|
||||
@cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} \
|
||||
lib/libjack*.so \
|
||||
lib/jack/*.so \
|
||||
$$(ls bin/* | grep -v jack_control)
|
||||
$$(ls bin/* | ${GREP} -v jack_control)
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1626106682
|
||||
SHA256 (0EVSG-jack2-v1.9.16-eaedec353489f26617221d66f80fd2503953c663_GH0.tar.gz) = 7720a65408ec7bcb2468fd090e3bbd0fcf7fc37408e116a7011c2469ba304e01
|
||||
SIZE (0EVSG-jack2-v1.9.16-eaedec353489f26617221d66f80fd2503953c663_GH0.tar.gz) = 989685
|
||||
TIMESTAMP = 1642267444
|
||||
SHA256 (jackaudio-jack2-v1.9.20_GH0.tar.gz) = 915ad2900992159bdb729b9fc4ea134b962ce32b2df0b384fee40a2c5808835d
|
||||
SIZE (jackaudio-jack2-v1.9.20_GH0.tar.gz) = 1005000
|
||||
|
10
audio/jack/files/patch-common_JackError.cpp
Normal file
10
audio/jack/files/patch-common_JackError.cpp
Normal file
@ -0,0 +1,10 @@
|
||||
--- common/JackError.cpp.orig 2022-01-15 18:51:10 UTC
|
||||
+++ common/JackError.cpp
|
||||
@@ -133,5 +133,5 @@ SERVER_EXPORT void silent_jack_error_callback(const ch
|
||||
SERVER_EXPORT void silent_jack_info_callback(const char *desc)
|
||||
{}
|
||||
|
||||
-SERVER_EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback;
|
||||
-SERVER_EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback;
|
||||
+LIB_EXPORT void (*jack_error_callback)(const char *desc) = &default_jack_error_callback;
|
||||
+LIB_EXPORT void (*jack_info_callback)(const char *desc) = &default_jack_info_callback;
|
13
audio/jack/files/patch-common_JackError.h
Normal file
13
audio/jack/files/patch-common_JackError.h
Normal file
@ -0,0 +1,13 @@
|
||||
--- common/JackError.h.orig 2022-01-15 18:51:23 UTC
|
||||
+++ common/JackError.h
|
||||
@@ -35,8 +35,8 @@ extern "C"
|
||||
SERVER_EXPORT void jack_info(const char *fmt, ...);
|
||||
SERVER_EXPORT void jack_log(const char *fmt, ...);
|
||||
|
||||
- SERVER_EXPORT extern void (*jack_error_callback)(const char *desc);
|
||||
- SERVER_EXPORT extern void (*jack_info_callback)(const char *desc);
|
||||
+ LIB_EXPORT extern void (*jack_error_callback)(const char *desc);
|
||||
+ LIB_EXPORT extern void (*jack_info_callback)(const char *desc);
|
||||
|
||||
SERVER_EXPORT extern void default_jack_error_callback(const char *desc);
|
||||
SERVER_EXPORT extern void default_jack_info_callback(const char *desc);
|
@ -1,11 +1,8 @@
|
||||
JACK is a low latency audio server, written for POSIX-conformant operating
|
||||
systems. It can connect a number of different applications to an audio
|
||||
device, as well as allowing them to share audio between themselves. Its
|
||||
clients can run in their own processes (i.e. as normal applications), or
|
||||
can they can run within the JACK server (i.e. as a "plugin").
|
||||
JACK Audio Connection Kit (or JACK) is a professional sound server API and pair
|
||||
of daemon implementations to provide real-time, low-latency connections for
|
||||
both audio and MIDI data between applications.
|
||||
|
||||
JACK was designed from the ground up for professional audio work, and its
|
||||
design focuses on two key areas: synchronous execution of all clients, and
|
||||
low latency operation.
|
||||
This provides the JACK server and libraries, example clients and tools are
|
||||
distributed separately now.
|
||||
|
||||
WWW: https://jackaudio.org/
|
||||
|
@ -1,45 +1,26 @@
|
||||
[
|
||||
{
|
||||
message: <<EOD
|
||||
======================================================================
|
||||
It is recommended to run Jack with real-time priority. As FreeBSD doesn't
|
||||
allow unprivileged users to set real-time priority, you should do it manually
|
||||
with rtprio(1). As this port comes with jackd and jackdbus executables, note
|
||||
that only one can be used.
|
||||
The new JACK server comes with a DBUS control interface:
|
||||
|
||||
Configure backend options using jack_control:
|
||||
$ jack_control help
|
||||
$ jack_control ds oss
|
||||
$ jack_control dp
|
||||
$ jack_control eps realtime False
|
||||
$ jack_control eps sync True
|
||||
|
||||
Configure memory locking editing either /etc/login.conf or ~/.login_conf with:
|
||||
:memorylocked=unlimited:
|
||||
|
||||
After every change to login.conf, you should execute:
|
||||
cap_mkdb /etc/login.conf
|
||||
|
||||
There are two ways to start jack:
|
||||
* via dbus (new executable: jackdbus)
|
||||
* as rc service (classic executable: jackd)
|
||||
|
||||
- Starting via DBUS:
|
||||
$ jack_control start
|
||||
|
||||
- Starting as RC service:
|
||||
add the following lines to /etc/rc.conf:
|
||||
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}"
|
||||
Only root can grant real-time priority to processes for now, using rtprio(1).
|
||||
Upcoming FreeBSD releases will have a MAC policy with a realtime user group.
|
||||
|
||||
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
|
||||
======================================================================
|
||||
EOD,
|
||||
type: install
|
||||
}
|
||||
]
|
||||
Memory locking has to be allowed in /etc/login.conf or ~/.login_conf. Set the
|
||||
resource limit ":memorylocked=unlimited:" and don't forget to run
|
||||
|
||||
# cap_mkdb /etc/login.conf
|
||||
|
||||
It's still possible to start JACK server as an RC service for a dedicated user.
|
||||
Note that only one JACK server can be run at a time. An /etc/rc.conf example:
|
||||
|
||||
jackd_enable="YES"
|
||||
jackd_user="joe"
|
||||
jackd_rtprio="YES"
|
||||
jackd_args="-R -doss -r48000 -p1024 -n1 -w16 \
|
||||
--capture /dev/dsp0 --playback /dev/dsp0"
|
||||
|
||||
Official JACK example clients and tools are available as jack-example-tools.
|
||||
|
@ -1,41 +1,5 @@
|
||||
bin/jack_alias
|
||||
bin/jack_bufsize
|
||||
bin/jack_connect
|
||||
bin/jack_control
|
||||
bin/jack_cpu
|
||||
bin/jack_cpu_load
|
||||
bin/jack_disconnect
|
||||
bin/jack_evmon
|
||||
bin/jack_freewheel
|
||||
bin/jack_iodelay
|
||||
bin/jack_latent_client
|
||||
bin/jack_load
|
||||
bin/jack_lsp
|
||||
bin/jack_metro
|
||||
bin/jack_midi_dump
|
||||
bin/jack_midi_latency_test
|
||||
bin/jack_midiseq
|
||||
bin/jack_midisine
|
||||
bin/jack_monitor_client
|
||||
bin/jack_multiple_metro
|
||||
bin/jack_net_master
|
||||
bin/jack_net_slave
|
||||
bin/jack_property
|
||||
bin/jack_rec
|
||||
bin/jack_samplerate
|
||||
bin/jack_server_control
|
||||
bin/jack_session_notify
|
||||
bin/jack_showtime
|
||||
bin/jack_simdtests
|
||||
bin/jack_simple_client
|
||||
bin/jack_simple_session_client
|
||||
bin/jack_test
|
||||
bin/jack_thru
|
||||
%%READLINE%%bin/jack_transport
|
||||
bin/jack_unload
|
||||
bin/jack_wait
|
||||
bin/jack_zombie
|
||||
bin/jackd
|
||||
%%DBUS%%bin/jack_control
|
||||
%%DBUS%%bin/jackdbus
|
||||
include/jack/control.h
|
||||
include/jack/intclient.h
|
||||
@ -55,7 +19,6 @@ include/jack/uuid.h
|
||||
include/jack/weakjack.h
|
||||
include/jack/weakmacros.h
|
||||
lib/jack/audioadapter.so
|
||||
lib/jack/inprocess.so
|
||||
%%ALSA%%lib/jack/jack_alsa.so
|
||||
%%ALSA%%lib/jack/jack_alsarawmidi.so
|
||||
lib/jack/jack_dummy.so
|
||||
@ -78,25 +41,4 @@ lib/libjackserver.so.0
|
||||
lib/libjackserver.so.0.1.0
|
||||
libdata/pkgconfig/jack.pc
|
||||
%%DBUS%%share/dbus-1/services/org.jackaudio.service
|
||||
share/man/man1/alsa_in.1.gz
|
||||
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
|
||||
share/man/man1/jackd.1.gz
|
||||
share/man/man1/jackrec.1.gz
|
||||
|
Loading…
Reference in New Issue
Block a user