HowTo сборка Amarok 2 из Git в Kubuntu

Изображение пользователя SeaJey.

Известно, что релиз Amarok версии 2.1.1 будет последним в ветке 2.1 и следующий выйдет уже только в ветке 2.2, которую ещё ждать и ждать. Тем временем, в 2.2 исправлено много ошибок и реализованы некоторые интересные фичи: "плавающие" док-виджеты, новый тулбар, breadcrumb-навигация, многоуровневая сортировка в плейлисте — только некоторые из них.

Конечно, существует Project Neon — сервис, предоставляющий ночные сборки Amarok и KDE для (k)ubuntu 9.04, но он имеет свойство работать нестабильно, и иногда некоторые пакеты не собираются. Попробуем скомпилировать свежайший Amarok самостоятельно в домашнюю директорию, чтобы не захламлять систему и иметь возможность быстро удалить уже ненужную сборку.
Данное руководство основано на следующих материалах:

Необходимые требования

Версия KDE не ниже 4.2, c KDE 4.3 из kubuntu backports собирается нормально. Установка производится в папку
~/myRepo/Amarok
а в оригинальном руководстве в
~kde
вы тоже можете заменить её на свой вариант.

Установка

Шаг 1:
Удалить текущую версию amarok командой
sudo apt-get remove amarok amarok-common amarok-dbg
Или с помощью графических пакетных менеджеров Synaptic/KPackageKit.

Но прежде всего, нужно забекапить файлы конфигурации и базу данных, где Amarok хранит коллекцию и собранную статистику. Это папка
~/.kde/share/apps/amarok
и файлы
~/.kde/share/config/amarok-appletsrc
~/.kde/share/config/amarok_homerc
~/.kde/share/config/amarokrc

Шаг 2:
Устанавливаем необходимые для сборки пакеты (w32codecs для 32битной архитектуры, w64codecs — для 64битной; libmysqlclient15-dev либо libmysqlclient16-dev — я собирал с 16 версией)
sudo apt-get install kubuntu-restricted-extras w32codecs build-essential kde-devel subversion git libmysqlclient15-dev libncurses5-dev libtag1-dev libstrigiqtdbusclient-dev qtscriptgenerator liblastfm-dev
Шаг 3:
Вносим поправки в файлы .bashrc и .myenv.sh

Для пользователей KDE
echo '' >> ${HOME}/.bashrc
echo 'export PATH=$HOME/myRepo/Amarok/bin:$PATH' >> ${HOME}/.bashrc
mkdir -p ${HOME}/.kde/env
echo 'export KDEDIR=$HOME/myRepo/Amarok' >> ${HOME}/.kde/env/myenv.sh
echo 'export KDEDIRS=$KDEDIR' >> ${HOME}/.kde/env/myenv.sh

Всем остальным
echo '' >> ${HOME}/.bashrc
echo 'export PATH=$HOME/myRepo/Amarok/bin:$PATH' >> ${HOME}/.bashrc
echo 'export KDEDIR=$HOME/myRepo/Amarok' >> ${HOME}/.bashrc
echo 'export KDEDIRS=$KDEDIR' >> ${HOME}/.bashrc

Визуальная проверка
cat ${HOME}/.bashrc
cat ${HOME}/.kde/env/myenv.sh

Шаг 4:
Перезагружаем .bashrc
source ${HOME}/.bashrc
Шаг 5:
Создаём необходимые папки
mkdir -p ${HOME}/myRepo/Amarok/src
mkdir -p ${HOME}/myRepo/Amarok/build/amarok

Шаг 6:
Загружаем Amarok and taglib-extras из git и SVN-репозиториев
cd ${HOME}/myRepo/Amarok/src
git clone git://gitorious.org/amarok/amarok.git
svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib-extras/
taglib-extras

Шаг 7:
Скачиваем MySQL Embedded, на текущий момент это версия 5.1.37
Если вышла более новая версия MySQL — исправьте цифры на нужные
cd ${HOME}/myRepo/Amarok/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.37.tar.gz/from/http://mirror.switch.ch/ftp/mirror/mysql/

Шаг 8:
Извлекаем MySQL из архива
tar xzvf mysql-5.1.37.tar.gz
cd mysql-5.1.37
cp -R ${HOME}/myRepo/Amarok/src/amarok/supplementary_scripts/mysqle/* .

Если вы являетесь счастливым владельцем многоядерного процессора, то можно ускорить сборку задействовав сразу все доступные ядра
export MAKEOPTS=-j5
где j5 — количество ядер (в моём случае 4) +1

Собираем MySQL
./build-mysqle.sh --prefix=${HOME}/usr
Шаг 9:
Собираем taglib-extras
cd ${HOME}/myRepo/Amarok/src/taglib-extras/
mkdir build
cd build
export LD_LIBRARY_PATH=${HOME}/myRepo/Amarok/build/taglib-extras/taglib-extras
cmake -DCMAKE_INSTALL_PREFIX=${HOME}/myRepo/Amarok ..
make
make install

Шаг 10:
Собираем сам Amarok 2
cd ${HOME}/myRepo/Amarok/src/amarok
mkdir build
cd buildl
cmake -DCMAKE_INSTALL_PREFIX=${HOME}/myRepo/Amarok -DCMAKE_BUILD_TYPE=debugfull ${HOME}/myRepo/Amarok/src/amarok
make
make install

Для обновления сборки делаем
cd ${HOME}/myRepo/Amarok/src/amarok
git pull

И снова
cmake -DCMAKE_INSTALL_PREFIX=${HOME}/myRepo/Amarok -DCMAKE_BUILD_TYPE=debugfull ${HOME}/myRepo/Amarok/src/amarok
make
make install

Шаг 11:
Обновляем конфиг KDE
kbuildsycoca4 --noincremental
Шаг 12:
Запускаем Amarok командой в консоли, предварительно перезагрузив (для верности, но возможно достаточно перелогиниться) компьютер
amarok

Также можно создать новый пункт в меню запуска приложений, либо отредактировать старый — правый клик мышью по меню запуска приложений -> Редактор меню.
В поле "Команда" вписываем ~/myRepo/Amarok/bin/amarok

Деинсталляция

1. Удалить папку, где производилась сборка, в моём случае это ~/myRepo/Amarok
2. Удалить скрипт из ~/.kde/env/myenv.sh
3. Удалить строку export PATH=$HOME/myRepo/Amarok/bin:$PATH из файла ~/.bashrc
4. Выполнить в терминале kbuildsycoca4 --noincremental
5. Перелогиниться (для верности можно и перезагрузиться)

Источник — knotes.ru

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры