[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Haskore non-Haskell dependencies



Greetings.

Once haskell-midi hits Sid I'll be able to package the "standard"
Haskore library [1]. There are several questions regarding packaging
that I would like to share and have feedback before proceeding.

Haskore has several functions to actually play the music performance: a
couple of them are for Windows and the remaining ones for Unix/Linux
environment.

Should I patch out the obviously unusable Windows functions?

The Unix/Linux usable functions are based on external programs, i.e.
playLinux attempts to use 'playmidi', playAlsa attempts to use 'pmidi'
whereas playTimidity and playTimidityJack attempt to use timidity with
different flags. The invocation of external programas does _not_ use an
absolute path, should I patch that so they use /usr/bin/playmidi et.
al.?

Should I make the library Depend on the _three_ utilities or on any one
of them? Or should they be Suggests/Recommends plus some README to
explain what's going on?

Haskore also uses CSound, and this one is easier since it's a single
dependency but again raises the issue of using absolute paths for
external program invocation.

There are a couple of binaries that come along with Haskore that could
become a part of a haskore-bin package. In my first test of the package,
these binaries were NOT built by default. Haskore ships with a standard
Makefile which effectively builds them. What's the proper incantation in
debian/rules to that effect?

Finally, all the library is a Literate Haskell Source with LaTeX markup
comprising the beautiful Haskore guide. The code does not have Haddock
tags so libghc6-haskore-doc will only have the API stubs listed; I
wonder what's the proper way to generate the PDF from the .lhs source so
the package can ship really useful documentation for the end user (a
musician/programmer or the other way around :-). I've never had to build
PDF documentation in a Debian package before.

Thanks!

[1] There are special purpose Haskore libraries that use SuperCollider
(not in Debian, yet) and Unix-specific audio synthesis. I'll eventually
attempt packaging them.
-- 
Ernesto Hernández-Novich - Linux 2.6.28 i686 - Unix: Live free or die!
Geek by nature, Linux by choice, Debian of course.
If you can't aptitude it, it isn't useful or doesn't exist.
GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3



Reply to: