From Amarok Wiki

Deutsch | English

Contents

Configuring

For Amarok packages we suggest you build:

  • ./configure --disable-debug

Special note: We don't support the --enable-final tag, so please don't use it.

Unless you are packaging a beta, in which case we request you compile with debug:

  • ./configure --enable-debug=full

Please compile betas with debug, and don't strip the binaries! It's the only way we can release stable point-O releases. Thanks :-)

There is a special option for packagers who wish to use the version of sqlite that is distributed with their operating system:

  • ./configure --without-included-sqlite

However, the sqlite you ship MUST be threadsafe! Also Amarok will take longer to start with this option since sqlite is not statically linked into the amarok binary. The Amarok binary will be approximately 200kB smaller.

It is also possible to build Amarok to use MySQL as the database backend. Using MySQL makes the Amarok collection faster. We suggest not building sqlite into Amarok if you plan to ship Amarok with a MySQL dependency.

We suggest compiling -Os, there is no particular part of Amarok that would benefit from optimization, so the smallest binary is probably the best route. A theory I have is that compiled -Os with -finline will produce the smallest binary. Amarok's codebase has many small functions that should inline to produce a smaller binary (and a faster one). I've yet to try this however.

Packages

In order to limit the dependencies the Amarok package demands we suggest splitting Amarok into the following packages:

  1. amarok (with a dependency on one engine package)
  2. amarok-xine
  3. amarok-helix
  4. amarok-xmmswrapper + amarok-libvisual

Amarok is modular and will be fully functional as long as one of 2 or 3 is also installed. Hence we suggest Amarok with a hard dependency on one backend. Feel free to include the other engines if you can satisfy their dependencies.

Amarok ships with two binaries: amarok and amarokapp. The amarok binary is a wrapper designed to speed up command line argument passing. amarokapp is the real Amarok.

If you make packages for Amarok please edit the Download page and add your link.

MP3 Support

In case your distribution has to ship multimedia backends without MP3 support (for example due to patent issues) you can add a script to install the needed packages to enable MP3 support.

For xine you can enable this feature by:

  • adding src/engine/xine/amarok_xine-mp3_install.desktop to it's directories Makefile.am
  • edit the Exec argument of the desktop file to how the script to install MP3 support should be executed.

If amarok_xine-mp3_install.desktop is installed Amarok will show a pop-up telling the user that MP3 support is missing, and that he can install it by just clicking a button (which will execute the exec agrument), as soon as he tries to play a MP3 file.

lastfm:// protocol for Firefox

The last.fm site has links using the lastfm:// protocol that Amarok 1.4.1 and later can support. Firefox has no way for an outside application to add a protocol. However, Firefox will ask Gnome what helper app to use if its been compiled to do so. Gnome itself has no equivalent to the '.protocol' file that Amarok installs to register the lastfm:// protocol for Konqueror. Instead the following three commands must be run (its OK to run them if they've been run before), we suggest at package installation time:

gconftool-2 --type string --set /desktop/gnome/url-handlers/lastfm/command 'amarok "%s"'
gconftool-2 --type bool --set /desktop/gnome/url-handlers/lastfm/needs_terminal false
gconftool-2 --type bool --set /desktop/gnome/url-handlers/lastfm/enabled true


This page will be reworked to suit for Amarok 1.4

Please visit us in #amarok at irc.freenode.net if you're interested in helping us.