Hello fellow Finkers,
sometime ago I made an updated package for the jack audio connection kit
[1,2]. This was for Jack1. There is also Jack2, which is a
multiprocessor-capable backwards-compatible reimplementation [3]. Having
jack2 packaged is quite important because from my observations jack1
does not work on 10.6.
I believe it would not be possible to package jack2 for fink, as it
installs stuff into /Library/Frameworks and (more importantly) the
Jack.Router into /Library/Audio/Plug-Ins/HAL/. The rest is put into
/usr/local.
Am I right in assuming that it is not feasible to wrap such a program
into a fink package?
Anyway, I thought this would be a good idea to provide a system-jack
package [Attackment] that just looks for the existence of jackd
installed in /usr/local. However, I have got a few questions with this
approach:
- Apparently
> Provides: jack, jack-shlibs, jack-dev
is not sufficient to peacefully co-exist with the exisiting
Jack1 jack.info. Fink still insists on installing jack1 to satisfy
a dependency on jack*. Would this be solved by renaming the old
jack package to e.g. 'jack1*' that also just "Provides" jack* ?
- This approach works well when freshly compiling programs from source,
but for a binary distribution, wouldn't it be necessary to have two
versions of each program, one linked against jack and one against
system-jack? How is this usually handled by other fink packages?
One solution would be to create different versions of each program
depending on jack, like with kde-x11 and kde-mac, but this seems like
unecessary duplication of work. What's best practice in this case?
thanks,
Adrian
[1] http://jackaudio.org/
[2] http://pdb.finkproject.org/pdb/package.php/jack
[3] http://www.jackosx.com/
Package: system-jack
Version: 0.84
Revision: 1
Provides: jack, jack-shlibs, jack-dev
Conflicts: jack, jack-shlibs, jack-dev
Replaces: jack, jack-shlibs, jack-dev
Source: none
Description: Fink support for Jack OS X
Depends:
PreInstScript: <<
if [ ! -e /usr/local/bin/jackd ]; then
echo "It seems that jackd is not installed in /usr/local/bin"
echo "Please install it from http://www.jackosx.com/"
exit 1
fi
if /usr/local/bin/jackd --version |grep "jackdmp 1.9.4"
then
echo Version ok.
else
cat <<TOONEW
/usr/local/bin/jackd appears to be newer than your %n package.
Please run "fink reinstall %n" to recompile any installed %n packages
for the new version.
TOONEW
exit 1
fi
<<
CompileScript: echo nothing to compile
InstallScript: <<
mkdir -p %i/lib/pkgconfig/
cp /usr/local/lib/pkgconfig/jack.pc %i/lib/pkgconfig
perl -pi -e 's/-framework /-Wl,-framework,/g' %i/lib/pkgconfig/jack.pc
<<
DescDetail: <<
This package allows you to use fink jack packages with the Jack OS X
package that can be obtained from http://www.jackosx.com/.
Jack (the Jack Audio Connection Kit) is a low-latency audio server,
written originally for the GNU/Linux operating system, and now with
Mac OS X support. It can connect any number of different applications
to a single hardware audio device; it also allows applications to send
and receive audio to and from each other.
Jack is different from other audio server efforts in that it has been
designed from the ground up to be suitable for professional audio
work. This means that it focuses on two key areas: synchronous
execution of all clients, and low latency operation.
What's Jack OS X?
Jack OS X is an OS X implementation of Jack, and it installs
everything necessary to take full advantage of Jack on OS X. This
includes:
The Jack server - The infrastructure you need in place to use Jack
The JackRouter - The JackRouter is a CoreAudio "user space" driver
that allows any OS X CoreAudio application to become a Jack client.
The Jack audio plugins - Both AU and VST "Jack-aware" audio plugins
are provided, which can further expand the limitless audio routing
possibilities when using Jack.
The JackPilot application - JackPilot offers an easy to use GUI
interface that allows you to control the Jack server, and manage the
audio connections between applications and/or plugins.
But how do I use it?
Basically, 3 steps:
Start up the JackPilot application, and click one button to start the
Jack server. "Jack-enable" the applications you want to connect -
this usually means selecting the JackRouter driver in the Audio
preferences menu of your applications, or by using the Jack AU or VST
plugins. "Connect" the applications you want to share audio between
in the Connections window of JackPilot. That's it! There's much more
detail to help you in the full documentation, which is included in the
download package.
<<
License: GPL
Homepage: http://www.jackos.com//
Maintainer: Adrian Prantl <[email protected]>
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Fink-devel mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel