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

Reply via email to