[[Vorlage(Archiviert)]]
[[Vorlage(Fremd, Software, "Dieser Artikel beschreibt das Kompilieren und die manuelle Installation eines Programms und seiner Abhängigkeiten. Dies ist der Paketverwaltung ''fremd'', was dem Anwender bewusst sein sollte.")]]

{{{#!vorlage Wissen
[:Pakete installieren: Installation von Programmen]
[:Packprogramme: Archive entpacken]
[:Archiv/Subversion:Subversion] optional
[:Programme kompilieren: Pakete aus dem Quellcode erstellen]
}}}

[[Inhaltsverzeichnis(1)]]

Um eine neu erschienene Version von [:Ario:] zu benutzen oder die grundlegende Konfiguration des Programms zu verändern, muss das Programm selbst kompiliert werden.

Zuerst kann man überprüfen welche Version in den {*} [http://packages.ubuntu.com/search?keywords=ario&searchon=names&exact=1&suite=all&section=all Paketquellen] und auf der [http://ario-player.sourceforge.net/ Projektseite] {en} angeboten werden. Auf der Projektseite findet man auch weitere Informationen zu neuen Versionen.

= Voraussetzungen =
== Abhängigkeiten ==
Die folgenden Pakete[1] werden neben den üblichen Programmen zum Kompilieren[2] benötigt. Dabei kann man entsprechend der eigenen [#Konfiguration Konfiguration] ggf. einzelne Pakete weglassen (oder muss zusätzliche hinzufügen).
{{{#!vorlage Paketinstallation
automake1.9
intltool
libgtk2.0-dev 
libglib2.0-dev 
libunique-dev
libxml2-dev 
libcurl4-gnutls-dev 
libsoup2.4-dev 
libavahi-client-dev 
libavahi-glib-dev 
libdbus-glib-1-dev 
libnotify-dev 
libtagc0-dev 
libmpdclient-dev, universe
}}}

== Quellcode ==
Der Quellcode von Ario kann von der [sourceforge:/ario-player/files/:Projektseite] als Archiv geladen werden [2]. Alternativ kann man dazu Subversion [3] nutzen:

{{{#!vorlage Befehl
svn co https://ario-player.svn.sourceforge.net/svnroot/ario-player/trunk ario
}}}

= Konfiguration =
Dem `./autogen.sh`-Aufruf können Parameter übergeben werden, um verschiedene Eigenschaften von Ario zu nutzen oder nicht.[4]

||<-4 rowclass="titel"> Einstellungen des configure-Skriptes ||
||<rowclass="kopf"> Unterstützung für      || Standard   || Parameter zum Ändern       || Zusätzliche Abhängigkeiten   ||
|| Debug Informationen (Fehlersuche)       || `DISABLED` || `--enable-debug`           || ||
|| XMMS2 (experimentell)                   || `DISABLED` || `--enable-xmms2`           || '''libxmmsclient-glib-dev''' ||
|| [:Python:] Plugins (experimentell)      || `DISABLED` || `--enable-python`          || '''python-gtk2'''||
|| Suchmaske                               || `ENABLED`  || `--disable-search`         || ||
|| [:Avahi:]                               || `ENABLED`  || `--disable-avahi`          || '''libavahi-client-dev''', '''libavahi-glib-dev'''||
|| [:D-Bus:]                               || `ENABLED`  || `--disable-dbus`           || '''libdbus-glib-1-dev'''     ||
|| Libnotify (Benachrichtigungsfeld)       || `ENABLED`  || `--disable-notify`         || '''libnotify-dev'''          ||
|| Abspiellisten                           || `ENABLED`  || `--disable-playlists`      || ||
|| Audioscrobbler ([:LastFM:])             || `ENABLED`  || `--disable-audioscrobbler` || ||
|| [:MPD:] "idle-Mode"                     || `ENABLED`  || `--disable-mpdidle`        || ||
|| Taglib - ID-Tags auslesen               || `ENABLED`  || `--disable-taglib`         || '''libtagc0-dev'''           ||
|| libmpdclient2 (neues Backend ab V. 1.4) || `ENABLED`  || `--disable-libmpdclient2`  || '''libmpdclient-dev'''       ||

= Installation =
Mit der passenden Konfiguration kann der Quellcode nun übersetzt und das Programm installiert werden[2].

Bei der Installation mittels checkinstall können die Abhängigkeiten des Paketes angegeben werden. Wurde der Quellcode aus Subversion bezogen, kann man die Revisionsnummer (hier 779) in der Releasenummer des Paketes unterbringen. Der vollständige Aufruf sieht dann beispielsweise wie folgt aus:
{{{#!vorlage Befehl
sudo checkinstall --requires "libavahi-client3, libavahi-common3, libavahi-glib1, libc6, libcurl3-gnutls, libdbus-glib-1-2, libgcrypt11, libgdk-pixbuf2.0-0, libglib2.0-0, libgtk2.0-0, libmpdclient2, libnotify4, libpango1.0-0, libsoup2.4-1, libtagc0, libunique-1.0-0, libxml2, dbus" --pkgversion "1.5.1" --pkgrelease "1.779.1"
}}}

#tag: Audioplayer