Ok, here is what I did
1. Easy part
install the following packages which are missing from squeezecenter package
dependencies (sudo apt-get install):
libcompress-zlib-perl
libtemplate-perl
libyaml-syck-perl
libjson-xs-perl
APT will pull couple more packages because of the dependencies, which is
perfectly fine (that's actually what we want).
2. Slightly more difficult part
We still need libencode-detect-perl which somehow never got included into
official Debian repo (RFP is pending for almost a year I think).
Since I could not wait any longer I did a quick search. Best alternative is
to use debian port by pkg-perl team (
http://pkg-perl.alioth.debian.org/).
so just
mkdir -p debs/build
cd debs/build
svn co svn://svn.debian.org/pkg-perl/trunk/libencode-detect-perl libencode-detect-perl
cd libencode-detect-perl
dpkg-buildpackage
most probably it will complain that build requires libdata-dump-perl,
so let's temporary install it
sudo apt-get install libdata-dump-perl
And then try to build package again (and install it):
dpkg-buildpackage
cd ../
sudo dpkg -i libencode-detect-perl_1.00-1_i386.deb
And then (optionally) remove libdata-dump-perl which we do not need anymore:
sudo dpkg --purge libdata-dump-perl
3. Hackish part
We need to remove all the stuff from squeezecenter package which conflicts
with the modules we've just installed. Since I'm lazy enough I've just
manually renamed files/dirs, but really I could have setup diversions so
I do not have to do it each time I'm updating squeezecenter package
(man dpkg-divert)
XXX@YYY:/usr/share/squeezecenter/CPAN$ find . -name '*.bak' | xargs ls -ld
drwxr-xr-x 2 root root 72 May 7 21:22 ./Compress.bak
drwxr-xr-x 3 root root 128 May 7 21:22 ./DBD.bak
drwxr-xr-x 7 root root 352 May 7 21:22 ./DBI.bak
-rw-r--r-- 1 root root 274450 May 7 09:01 ./DBI.pm.bak
drwxr-xr-x 2 root root 296 May 7 21:22 ./HTML.bak
drwxr-xr-x 3 root root 96 May 7 21:22 ./JSON.bak
drwxr-xr-x 5 root root 672 May 7 21:22 ./Template.bak
-rw-r--r-- 1 root root 24781 May 7 09:01 ./Template.pm.bak
drwxr-xr-x 2 root root 152 May 7 21:22 ./Time.bak
drwxr-xr-x 5 root root 304 May 7 21:22 ./XML.bak
drwxr-xr-x 4 root root 144 May 7 21:22 ./YAML.bak
And (obviously) I've removed everything from CPAN/arch directory
(modules built for 5.8.x are not going to work anyway)
After that squeezecenter should run just fine
(assuming it was working with perl-5.8)
=================
Now, just to clarify things: solution does not pretend to be perfect and
rather belongs to "let's see if we can make it work" world. I certainly
hope that slimdevice guys will take care of things eventually so for less
tech-savvy people stuff will work out of the box.
Here are the things I would consider "let's play nice with the customers"
slimdevices people can do:
a) fix dependencies (a lot of stuff is missing currently)
My list does not pretend to be complete. It consist of the packages
which were missing on _my_ system. There might be others that just
happened to be installed due to other app/libs requiring them.
Ideally one would have to try it on pristine Debian installation...
b) pack libencode-detect-perl as described above and publish it on
slimdevices.com (same repo as being used to publish squeezecenter.deb)
This have to be done just once (not every time squeezecenter.deb is
being packaged).
c) stop including _any_ CPAN perl modules which require compilation
into squeezecenter.deb. Ideally everything should be handled by
setting dependencies right.