Project:Sound/The How and Why of XMMS Removal

From Gentoo Wiki
< Project:Sound(Redirected from Project:Sound/Xmms)
Jump to:navigation Jump to:search

Why remove XMMS?

There has been a lot of fuss last week following the hardmasking of XMMS and the packages depending on it for a future removal from the tree. A lot of flames went on Gentoo's bugzilla and forums, with conspiracy theories, shameful insults etc. The truth is the decision of removing it from the tree was taken after a lot of debate between Gentoo developers and users and it is for the better, despite the fact that a lot of us liked XMMS.

XMMS has been around for a very long time and was used by a lot of people. Unfortunately, upstream developement stopped a long time ago and it became broken over time. Gentoo developers had to maintain it and deal with the bad design. As of late, nobody took care of it and bugs began to accumulate, topping over 30 unresolved bugs. Furthermore, it depended on GTK+ version 1 which is old, broken with no support of UTF-8 and isn't supported anymore by upstream either.

Metalgod, the current maintainer, decided to step down as XMMS was beyond repair down and since nobody wanted to undertake the massive work, it was decided that support will be dropped in the main Portage tree since Gentoo obviously can't afford to offer unmaintained packages.

Alternatives

  • Audacious is a XMMS look-alike written in GTK 2. It supports XMMS skins but does not behave exactly like XMMS. Several plugins are available like audacious-docklet that displays an icon in the systemtray, audtty that allows you to control audacious in the command line, audacious-crossfade that allows continuous output and crossfading and a lot more to come or already available. There is a thread on the forums where you can request plugin ports.
  • MPD: Music Player Daemon is another good player which uses a client/server architecture. You can even launch it at start-up and have music playing before you get on your desktop. It has a lot of clients and obviously, there are some that don't require X, like ncmpc which is ncurses-based.
  • Amarok: the well-known full-featured player, considered by many as the best player available. Amarok was initially designed for KDE and does almost everything, except dishes.
  • Rhythmbox: Rhythmbox plays in the same category as Amarok but is designed for Gnome. Both are comparable to iTunes.
  • Banshee: Banshee is also in the category of heavyweight audio players. There are lots of plugins available and under development. It uses Mono.
  • Muine: A simple music player for Gnome that runs upon mono framework. It has a simple interface and supports plugins.
  • Listen: Listen is promising audio player, also heavyweight. It is also designed for Gnome. It doesn't do dishes either.
  • mpg123: Another category here. mpg123 is a CLI player for those of you that do not like graphical interfaces or do not have access to it at the moment.
  • Quod Libet: A GTK+2 based music player written in python. It is full featured and even has built-in tag editing. There are a number of plugins available to add additional functionality.

If you really can't part from XMMS, you can still keep the ebuilds in an overlay.

Removing XMMS

To cleanly remove XMMS from your system, follow this procedure:

  • Check in /etc/make.conf and /etc/portage/package.use that the xmms USE isn't enabled. If it is, remove it. The command grep xmms /etc/make.conf /etc/portage/package.use shouldn't return anything.
  • Sync your portage tree with emerge --sync
  • Unmerge xmms and all plugins. To get a list, you can for instance use equery -qc list xmms -i. You can then check this list against what grep xmms /usr/portage/profiles/package.mask says.
  • Rebuild your tree without the xmms USE flag : emerge -auvDN world

Developers views

Here are links to some developers' blogs which are relevant:

Farewell

After years of using xmms, now it is time to return the goodbye issued on the xmms homepage - thanks to the xmms team for bringing a nice piece of software, and goodbye old sailor. :-)