Personal tools

Contents

Stages of port

The broad plan involves the porting of the code-base to compile by using KF5::KDELibs4Support. After this the plan involves porting Amarok away from KF5::KDELibs4Support.
We are still in the first part now i.e the current aim is to let Amarok compile by using KF5::KDELibs4Support(with LOTS and LOTS of depreciated warnings).

Restoring build on Qt5/KF5 [Out of context folder]: Port of cmake files and all code, so everything builds at least again by using KF5::KDELibs4Support. In this part the primary focus is on building it back again. DONE

Port the context folder to QML TODO

All tests should pass after the above has been done. IN PROGRESS

Porting away from KF5::KDELibs4Support. TODO

General

The commits containing the ongoing port of Amarok to Qt5/KF5 are made to the kf5 branch.

Todo overview

The inclusions of header should be reorganize to follow the rule <QXxxx>, then <KXxxx>, then "Xxxx.h" and follow the alphabetical order.

While porting to QUrl, a lot of conversion to QString are done with .path() or worse .toDisplayString(). All must be changed to .toLocalFile() if its a local path. The best thing would be to keep them as QUrl.

While porting some KUrl to QUrl, some methods were method(KUrl) and used as method(myString) with myString being a QString. It doesn't work anymore: now the method is used as method( QUrl(myString) ) which is not so nice, although it compiles.

Status

The current status of the port of the individual methods can be found here: Status page

New Dependencies

If you would like to build it then you have to install the following development packages (apart from the existing dependencies like Taglib, zlib, googlemock, etc ) containing the following components for your respective system :

Dependency

Version

Extra CMake Modules (ECM)

1.7.0

Qt5::Core

Qt5::DBus

Qt5::Widgets

Qt5::Test

Qt5::Gui

Qt5::Svg

Qt5::Xml

Qt5::Script

Qt5::Sql

Qt5::Quick

Qt5::Qml

Qt5::ScriptTools

Qt5::WebKitWidgets

Qca-Qt5

Phonon4Qt5

KF5::CoreAddons

KF5::Solid

KF5::Codecs

KF5::I18n

KF5::ThreadWeaver

KF5::KDELibs4Support

KF5::Codecs

KF5::I18n

KF5::ThreadWeaver

KF5::Plasma

KF5::PlasmaQuick

KF5::KCMUtils

KF5::NewStuff

KF5::TextEditor

KF5::GlobalAccel

KF5::KIO

KF5::NotifyConfig

KF5::Archive

KF5::DNSSD

This list has been kept dynamic to avoid pulling unwanted dependencies which means more components will be added when the need arises.