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.
This provides the JACK server and libraries, example clients and tools are
distributed separately now.
===> The following configuration options are available for jackit-1.9.22_3:
ALSA=off: ALSA audio architecture support
DBUS=on: D-Bus IPC system support
OPUS=on: Opus audio codec support
PROFILING=off: Build with profiling information
SOSSO=off: Build new OSS driver backend (sosso library)
===> Use 'make config' to modify these settings
The new JACK server comes with a DBUS control interface:
$ jack_control help
$ jack_control ds oss
$ jack_control dp
$ jack_control dps rate 48000
$ jack_control dps wordlength 16
$ jack_control dps capture /dev/dsp0
$ jack_control dps playback /dev/dsp0
$ jack_control eps realtime False
$ jack_control start
To use real-time priority for JACK server and clients, load the mac_priority(4)
module and add the JACK user to the realtime group.
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_args="--no-realtime -doss -r48000 -p1024 -w16 \
--capture /dev/dsp0 --playback /dev/dsp0"
Official JACK example clients and tools are available as jack-example-tools.
JACK 1.9.22 introduces a latency correction fix.
Latency correction parameters have to be measured again after an update.
audio/jack: Option for new OSS driver backend
Add a non-default option to build the new OSS driver backend coming in
the next JACK release. The backend is a complete rewrite based on the
sosso library, with improved stability and low latency capabilities. Let
users preview and test the new backend before it becomes default.
Builds with default options are not affected, thus no PORTREVISION bump.
While here, cleanup two checks in the RC service script, one of them
deprecated, the other was ineffective by mistake.
PR: 280611
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
audio/jack: Update to 1.9.22 release.
ChangeLog: https://github.com/jackaudio/jack2/releases/tag/v1.9.22
* The waf autooption --example-tools has been removed.
* The example clients and tools are no longer part of the jack2 project.
* Drop dependencies that were only used for example clients and tools
(readline, sndfile and zita libs)
* Fix build with python3.11+
* Fix compatibility with macOS 12+
* Fix ringbuffer thread safety on ARM
PR: 269413
Reported by: dev@submerge.ch (maintainer)
audio/jack: unbreak build with Python 3.11 (+)
'U' is default and deprecated since python-3.3, becomes a failure in 3.11.
See also: https://github.com/jackaudio/jack2/issues/898
Obtained from: Gentoo
Approved by: portmgr blanket (trivial fix build)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
audio/jack: Fix alignas() on non-packed architectures
Unbreak the build with Clang on architectures where JACK uses non-packed
data structures, like arm64 or powerpc. The alignment errors are exposed
there because:
* The non-packed data structures require 8 byte alignment.
* alignas() is not allowed to weaken alignment requirements to 4 bytes.
* Clang enforces this according to standard, GCC ignores it.
Use an additional alignas() specifier to let the compiler choose between
minimum alignment (packed) and "natural" alignment (non-packed). This is
both standard c++11 and compatible with older GCC, which does not
propagate alignment requirements of packed substructures properly.
PR: 261508
Submitted by: Florian Walpen <dev@submerge.ch>
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)
audio/jack: Update to Jack2: 0.125.0 -> 1.9.16
Big thank you to Florian Walpen <dev@submerge.ch> and
Goran Mekić <meka@tilda.center> for working on Jack2.
PR: 251125
Submitted by: Florian Walpen <dev@submerge.ch> (original version)
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
audio/jack: libuuid is completely unused after r440260
libuuid was used for a some time between 0.121.3 and 0.124 releases
but didn't propagate into any except for stray <uuid/uuid.h> include.
PR: 221314
Submitted by: tobik
Reviewed by: hselasky
Enable COOKEDMODE for more versatile soundcard support; use GitHub
Detailed log:
* Add COOKEDMODE option that turns on SNDCTL_DSP_COOKEDMODE.
Without the cooked mode Jack's OSS driver currently fails for some
soundcards (it chooses wrong sample rate). It's better to have
COOKEDMODE=on by default since it often appears broken otherwise.
Professionals probably want COOKEDMODE=off, after they make sure their
soundcard works with jack.
* Switch to github for fetching the sources.
* Include the merged upstream pull request #60 to enable the realtime
mode (-R).
* Add USES=autoreconf (github source doesn't include a configure script)
* Install more manpages.
PR: 220785
Submitted by: yuri@rawbw.com
MFH: 2017Q3
audio/jack: properly specify readline dep (detected by Synth)
No portrevision bump necessary as this change does not alter the
package contents. It just fixes the deps specification.
Convert ports to use the options helpers in categories [abc]*, and minor fixes.
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3412?
Remove UNIQUENAME and LATEST_LINK.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
Remove dependency on portaudio
This drops a circular dependency between portaudio and jack. Given jack supports
OSS there is no real point in using portaudio as a backend
Allow jack to be upgraded when already installed. [1]
Move doxygen depend and docs out of DOCS option. [2]
PR: 195533 [1], 195573 [2]
Submitted by: Mikhail T. <mi@ALDAN.algebra.com> [1], amdmi3@ [2]
Replace USES=libtool:oldver with USES=libtool or USES=libtool:keepla in
the 32 ports that still use it. Bump PORTREVISION on their dependent
ports except the ones that depend on these:
audio/libogg
audio/libvorbis
devel/pcre
ftp/curl
graphics/jpeg
graphics/libart_lgpl
graphics/tiff
textproc/expat2
textproc/libxslt
In these cases the same trick as in the recent gettext update is used.
(Only the first 15 lines of the commit message are shown above )
Support LIBS like LDFLAGS.
- Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV.
- Add an option helper for LIBS.
- Adjust all ports that already use LIBS. Also remove references to
PTHREAD_CFLAGS and PTHREAD_LIBS while here.
- Some ports did not support having a LIBS environment variable and
required additional patches.
Somewhat simplified a linker command line looks like:
${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS}
where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and
LIBS can be controlled by us. If possible -L and -l flags need to be
(Only the first 15 lines of the commit message are shown above )
- Trim Makefile header per new guidelines
- Tighten COMMENT text
- Drop shlib ABI versions from LIB_DEPENDS
- Rename DOCS option to DOXYGEN to reflect its evil nature, and disable
it by default (of course)
- Clean up Makefile while here, reformat port description
- Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)
- Fix all ports that add {CPP,LD}FLAGS to *_ENV to modify flags instead
PR: 157936
Submitted by: myself
Exp-runs by: pav
Approved by: pav
- Update to 0.121.2 .
- Cleanup flags handling and make docs building an OPTION. [1]
- Update WWW.
Submitted by: "b. f." <bf1783@googlemail.com> on -multimedia@ [1]
Approved by: multimedia (kwm, via irc)
Remove USE_GNOME=gnometarget from ports. It has been a empty keyword since
mid 2008.
PR: ports/159624
Submitted by: Ruslan Mahmatkhanov <cvs-src@yandex.ru>
Fix plist. The source tarball is strange - it comes with HTML documentation,
but it refuses to install it if there is no doxygen installed. If there is
Doxygen installed, it regenerates the docs.
While here, remove that weird DOCS handling and make it respect NOPORTDOCS.
Tested by: itetcu@
Mark broken, the port installs reference/html/*source.html both as
_source.html and -source.html; I doubt they both should be installed so I'll
let the maintainer fix this.
Submitted by: QAT
- Set --mandir and --infodir in CONFIGURE_ARGS if the configure script
supports them. This is determined by running ``configure --help'' in
do-configure target and set the shell variable _LATE_CONFIGURE_ARGS
which is then passed to CONFIGURE_ARGS.
- Remove --mandir and --infodir in ports' Makefile where applicable
Few ports use REINPLACE_CMD to achieve the same effect, remove them too.
- Correct some manual pages location from PREFIX/man to MANPREFIX/man
- Define INFO_PATH where necessary
- Document that .info files are installed in a subdirectory relative to
PREFIX/INFO_PATH and slightly change add-plist-info to use INFO_PATH and
subdirectory detection.
PR: ports/111470
Approved by: portmgr
Discussed with: stas (Mk/*), gerald (info related stuffs)
Tested by: pointyhat exp run
Update to 0.102.28.20061216, a SVN version. A new port, ghostess, needs this
SVN version.
PR: ports/108114
Submitted by: trasz <trasz@pin.if.uz.zgora.pl>