diff --git a/audio/jack/Makefile b/audio/jack/Makefile index b0f34b0f5572..ce432acbef53 100644 --- a/audio/jack/Makefile +++ b/audio/jack/Makefile @@ -1,69 +1,74 @@ PORTNAME= jackit DISTVERSIONPREFIX= v DISTVERSION= 1.9.22 PORTREVISION= 2 CATEGORIES= audio MAINTAINER= dev@submerge.ch COMMENT= Low latency audio server WWW= https://jackaudio.org/ LICENSE= GPLv2 LGPL21 LICENSE_COMB= multi LIB_DEPENDS= libsamplerate.so:audio/libsamplerate \ libsysinfo.so:devel/libsysinfo USES= compiler:c11 pkgconfig python shebangfix waf USE_LDCONFIG= yes USE_RC_SUBR= jackd USE_GITHUB= yes GH_ACCOUNT= jackaudio GH_PROJECT= jack2 CFLAGS+= -fPIC CPPFLAGS+= -I${LOCALBASE}/include SHEBANG_FILES= dbus/jack_control SHEBANG_LANG= python3 CONFIGURE_ARGS= --celt=no --samplerate=yes -OPTIONS_DEFINE= ALSA DBUS OPUS PROFILING -OPTIONS_DEFAULT= DBUS OPUS +OPTIONS_DEFINE= ALSA DBUS OPUS PROFILING SOSSO +OPTIONS_DEFAULT= DBUS OPUS SOSSO OPTIONS_SUB= yes ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_CONFIGURE_OFF= --alsa=no ALSA_CONFIGURE_ON= --alsa=yes DBUS_CONFIGURE_ON= --dbus --classic --autostart=dbus DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus \ libexpat.so:textproc/expat2 DBUS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dbus>0:devel/py-dbus@${PY_FLAVOR} OPUS_LIB_DEPENDS= libopus.so:audio/opus OPUS_CONFIGURE_ON= --opus=yes OPUS_CONFIGURE_OFF= --opus=no PROFILING_DESC= Build with profiling information PROFILING_CONFIGURE_ON= --profile +# Let users test the new OSS driver backend coming in 1.9.23, see +# https://github.com/jackaudio/jack2/pull/943 +SOSSO_DESC= Build new OSS driver backend (sosso library) +SOSSO_GH_TAGNAME= 0762eac06a8c327757acfa7c770e16d827610873 + TESTING_UNSAFE= No function 'test' defined in ${WRKSRC}/wscript .include .if ${PORT_OPTIONS:MDBUS} PLIST_SUB+= CLASSIC="@comment " .else PLIST_SUB+= CLASSIC="" .endif post-install: @cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} \ lib/libjack*.so \ lib/jack/*.so \ $$(ls bin/* | ${GREP} -v jack_control) .include diff --git a/audio/jack/distinfo b/audio/jack/distinfo index 4d372a443879..3b177ebf1c1e 100644 --- a/audio/jack/distinfo +++ b/audio/jack/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1675342810 +TIMESTAMP = 1722598892 SHA256 (jackaudio-jack2-v1.9.22_GH0.tar.gz) = 1e42b9fc4ad7db7befd414d45ab2f8a159c0b30fcd6eee452be662298766a849 SIZE (jackaudio-jack2-v1.9.22_GH0.tar.gz) = 933448 +SHA256 (jackaudio-jack2-v1.9.22-0762eac06a8c327757acfa7c770e16d827610873_GH0.tar.gz) = d6207cfb28f5d8e3531d5a283a80631b94b3e633b9f51edecdf5d112e979a3e3 +SIZE (jackaudio-jack2-v1.9.22-0762eac06a8c327757acfa7c770e16d827610873_GH0.tar.gz) = 967723 diff --git a/audio/jack/files/jackd.in b/audio/jack/files/jackd.in index e78285044ea7..8f8d617fe377 100644 --- a/audio/jack/files/jackd.in +++ b/audio/jack/files/jackd.in @@ -1,64 +1,62 @@ #!/bin/sh # 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_user=""} : ${jackd_args="--no-realtime -doss -r48000 -p1024 -w32"} . /etc/rc.subr name=jackd rcvar=jackd_enable procname=%%PREFIX%%/bin/jackd start_cmd="start_jackd" fail() { echo "JACK failed to start: $1" >&2 exit 1 } check_config() { # check that jackd_user is set if [ -z "$jackd_user" ]; then fail "jackd_user has to be defined" fi # detect intent to use realtime priority - if [ "$jackd_rtprio" = "YES" ] || \ - { echo "$jackd_args" | grep -q -- "oss" && \ + if { echo "$jackd_args" | grep -q -- "oss" && \ { echo "$jackd_args" | grep -qw -- "--realtime" || \ echo "$jackd_args" | grep -qw -- "-[A-Za-mo-z]*R[A-Za-z]*"; }; }; then # check that mac_priority(4) is enabled if [ "$(sysctl -qn security.mac.priority.realtime)" != "1" ]; then fail "Realtime priority requires mac_priority(4) to be loaded" fi # check that the user has realtime privileges if ! (su -m "$jackd_user" -c "rtprio 10 test -z"); then fail "User jackd_user=$jackd_user is not a member of the realtime group" fi fi } start_jackd() { echo "Starting ${name}." # check that setup is valid check_config # log the date and parameters echo -e "\n[`date`] Starting the daemon, user=$jackd_user args=\"$jackd_args\"" >> /var/log/${name}.log # start the daemon daemon -p /var/run/${name}.pid -u "$jackd_user" %%PREFIX%%/bin/jackd $jackd_args } load_rc_config ${name} run_rc_command "$1"