Page 1 of 1

MX 15 Repository: The Aqualung Thread

Posted: Sun Aug 21, 2016 3:20 pm
by Stevo
We now have the current stable 1.0 release of the Aqualung music player and manager in the test repo.
Aqualung is an advanced music player originally targeted at the GNU/Linux operating system, today also running on FreeBSD and OpenBSD, with native ports to Mac OS X and even Microsoft Windows. It plays audio CDs, internet radio streams and podcasts as well as soundfiles in just about any audio format and has the feature of inserting no gaps between adjacent tracks.

It's designed from the ground up to provide continuous, absolutely transparent, gap-free playback across a variety of input formats and a wide range of sample rates thereby allowing for enjoying quality music: concert recordings and "non-best-of" albums containing gapless transitions between some tracks. (Multiple movements long compositions are often broken into separate but gaplessly flowing tracks when mastered to CD.) Obvious examples are The Song Remains The Same (Led Zeppelin), The Dark Side Of The Moon (Pink Floyd), and Yessongs (Yes). Besides the ability to play the music from these records without a defect, Aqualung provides high quality sample rate conversion, a feature that is essential when building large digital music archives containing input sources conforming to various standards. Aqualung passed our test – and it will pass yours, too.
Please let us know how it installs and performs on MX 15 if you give it a try.

Re: MX 15 Repository: The Aqualung Thread

Posted: Sun Aug 21, 2016 3:47 pm
by Stevo
h2-1 wrote:tested the 64 bit aqualung on stretch, too many updated dependency package names. But I'm glad you guys are aware of the missing aqualung and are helping fix that, debian really screwed up dropping that package.

Too bad, stretch/testing has bumped up those badly named dependency packages by 1.libavformat56 is now libavformat57 and so on.

I really wish debian/ubuntu would stop putting the version number into the package name, or at least offer a metapackage, 10 to 1 aqualung works fine with the current stretch versions. That would let the package determine which version numbers were required, not the dependent packages.

I guess I'll have to learn how to package it, or at least pull apart the dependency file and update it with stretch versions, it probably works just fine.

I would have stuck with jesse on this box, but there were just too many systemd, desktop issues in my experience with jesse to use it, but I probably should have anyway to avoid these types of issues.
From my test, Aqualung will not build or work with those ffmpeg 3.X libav packages in Stretch. Debian and every other distro is forced to have separately numbered versions of those libraries because the ffmpeg and its libav fork developers don't maintain backwards compatibility with new releases, so if you just upgraded ffmpeg and its libraries to a major new version, all your multimedia that depend on those libraries would break. Having numbered versions allows us to have both older and newer runtime libraries installed at the same time, so applications built on the older version won't break.

Anyway, one solution to having Aqualung on Stretch would be to rebuild the Jessie libav fork packages on Stretch, then build Aqualung against those libav*-dev packages. You could install those -dev packages manually after building them--if I was making a repo version, I'd also force Aqualung not to use the newer 3.X packages with this build-depends in debian/control:

Code: Select all

libavcodec-dev (<< 6:12.0),  
libavutil-dev (<< 6:12.0),  
So in MX 15, that would force it to build against Jessie's 6:11.7 version of those libraries, even though we have newer versions available. Ordinarily, we'd have a minimum required version in the first two entries, but I can't find it anywhere, and the file doesn't have one either.

Another possibility is that there are patches somewhere that allow Aqualung to build against a newer ffmpeg, but that'll take some searching, even if they exist. Edit: I can see that it can build against the "real" ffmpeg 2.8.X in Ubuntu 16.04, but Stretch doesn't have that any longer.

Re: MX 15 Repository: The Aqualung Thread

Posted: Sun Aug 21, 2016 6:43 pm
by Stevo
I found a small patch online that fixed the build for ffmpeg 3.X, and built aqualung in my little multimedia repo. The dependencies end up as

libasound2 (>= 1.0.16),
libatk1.0-0 (>= 1.12.4),
libavcodec57 (>= 7:3.0) | libavcodec-extra57 (>= 7:3.0),
libavformat57 (>= 7:3.0),
libavutil55 (>= 7:3.0),
libc6 (>= 2.15),
libcairo2 (>= 1.2.4),
libcdio-cdda1 (>= 0.83),
libcdio-paranoia1 (>= 0.83),
libcdio13 (>= 0.83),
libflac8 (>= 1.3.0),
libfontconfig1 (>= 2.11),
libfreetype6 (>= 2.2.1),
libgdk-pixbuf2.0-0 (>= 2.22.0),
libglib2.0-0 (>= 2.37.3),
libgtk2.0-0 (>= 2.18.0),
libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack-0.116,
libmad0 (>= 0.15.1b-3),
libmpcdec6 (>= 1:0.1~r435),
libogg0 (>= 1.0rc3),
liboggz2 (>= 1.1.0),
libpango-1.0-0 (>= 1.14.0),
libpangocairo-1.0-0 (>= 1.14.0),
libpangoft2-1.0-0 (>= 1.14.0),
libpulse0 (>= 0.99.1),
libsamplerate0 (>= 0.1.7),
libsndfile1 (>= 1.0.20),
libspeex1 (>= 1.2~beta3-1),
libusb-0.1-4 (>= 2:0.1.12),
libvorbis0a (>= 1.1.2),
libvorbisenc2 (>= 1.1.2),
libvorbisfile3 (>= 1.1.2),
libwavpack1 (>= 4.40.0),
libxml2 (>= 2.7.4),
zlib1g (>= 1:1.1.4)

So I don't know if the rest are available in Stretch, but at least you should be able to rebuild the packages from the source files in Stretch now. The OBS repo is here: ... ebian_8.0/

You will have to get the finished deb files from the amd64 or i386 folders.

Re: MX 15 Repository: The Aqualung Thread

Posted: Mon Aug 22, 2016 7:30 pm
by h2-1
Stevo, I can't thank you enough, this aqualung version installed fine on debian stretch current. Dependencies resolved, no issues, playing now.

If you ever need an inxi or smxi related favor, just let me know and I'll get it done. Packaging is just an area I couldn't master, too much other stuff I have to do for work etc.

By the way, this was a crossgrade from 32 to 64 bits, following that method, which is supposedly for stable crossgrades, but I figured, let's try it on stretch! which actually sort of worked, I skipped a few steps by accident, and made a few mistakes, but that actually is now a not reinstalled debian 64 bit which started life as a 32 bit system, ie, no reinstall, lol. Since that machine is a music player box primarily, losing aqualung was a disaster since nothing else does what it does as far as I know.

Re: MX 15 Repository: The Aqualung Thread

Posted: Mon Aug 22, 2016 8:05 pm
by Stevo
Hey, no problem. Scripting is mostly a mystery to me!

Packaging, if you're lucky, consist of just a few magic commands. It can get tricky where you have to hunt down a patch and adapt it to what you've got to fix a bug. I adapted the patch from the git version of aqualung, so the latest git pull of it should also build on Stretch.

Re: MX 15 Repository: The Aqualung Thread

Posted: Wed May 16, 2018 4:11 pm
by h2-1
Hi steve, just updating this thread.

Moving to Debian Buster, I've found the following changes to the dependencies, it looks like it might be fairly simple to add support for both Stretch and Buster:

libcdio-cdda1 is now libcdio-cdda2
libcdio-paranoia1 is now libcdio-paranoia2
libcdio13 is now libcdio18

These are the only dpkg -i aqualung dependencies that break the install, the others are still all fine.

If I were to guess, I'd guess that if the dependencies were made conditional, that is, libcdio-cdda1 OR libcdio-cdda2 it might work to install on current Buster, which would also take you to the next stable for MX.

I double checked on a Stretch system, and the core dependencies and versions haven't changed, so in terms of your actual users, the package should be fine, but for Buster it's not currently installable, though I think maybe I'll try to dig up those 3 packages from backports, but I thought I'd let you know. Your packaging is always appreciated, thanks.

I downloaded the 3 dependencies, and just installed them all at the same time, and that worked fine, so far anyway. ... c/libcdio/

Code: Select all

dpkg -i aqualung_1.0-1jessie1_amd64.deb  libcdio-cdda1_0.83-4.3+b1_amd64.deb
libcdio13_0.83-4.3+b1_amd64.deb  libcdio-paranoia1_0.83-4.3+b1_amd64.deb
so this all works for now, the 3 dependencies not in stretch installed fine without any further dependency issues.

Re: MX 15 Repository: The Aqualung Thread

Posted: Wed May 16, 2018 4:49 pm
by Stevo
Thanks for the update--I'll take a look at it.

Re: MX 15 Repository: The Aqualung Thread

Posted: Wed May 16, 2018 8:34 pm
by Stevo
The OBS is having trouble with installing libavcodec57 to build aqualung on Buster right now, so i went to plan B and just built it in Buster pbuilder environments on my own machine: ... qgWRuvdQu4

Re: MX 15 Repository: The Aqualung Thread

Posted: Thu May 17, 2018 9:18 pm
by h2-1
I'll give that a spin on another Buster install and see how it works.