massive removal of aligning (since it has been added to css)

This commit is contained in:
arcan1s
2014-06-23 04:51:32 +04:00
parent cc462bc930
commit 27fce352a2
36 changed files with 707 additions and 707 deletions

View File

@ -8,27 +8,27 @@ short: building-qutim-using-qt5
description: Если кто-то не знает, <a href="http://qutim.org">Qutim</a> - мультипротокольный кросс-платформенный месседжер. Написан он на <code>CPP</code> с использованием библиотек Qt. Проект активно развивается. В этой статье речь пойдет о реализации сборки данного пакета в Archlinux с использованием библиотек Qt5 (а не Qt4, как это делают текущие пакеты в AUR).
---
<h2><a name="problems" class="anchor" href="#problems"><span class="octicon octicon-link"></span></a>Что не так?</h2>
<p align="justify">Да все так. Просто пакет использует для сборки систему <a href="http://qt-project.org/wiki/qbs">qbs</a>, которая, на мой взгляд, немного странная. Пакет, необходимый для сборки, <a href="https://aur.archlinux.org/packages/qbs-git/">находится в AUR</a> (рекомендую git-версию). Когда я спросил у Andrea Scarpino (который сопровождает все KDE и Qt пакеты в официальные репозитории) по поводу переноса этого пакета в репозитории, он ответил, что всему свое время. В принципе, я с ним согласен, так как проект, судя по всему, еще немного сыроват.</p>
<p>Да все так. Просто пакет использует для сборки систему <a href="http://qt-project.org/wiki/qbs">qbs</a>, которая, на мой взгляд, немного странная. Пакет, необходимый для сборки, <a href="https://aur.archlinux.org/packages/qbs-git/">находится в AUR</a> (рекомендую git-версию). Когда я спросил у Andrea Scarpino (который сопровождает все KDE и Qt пакеты в официальные репозитории) по поводу переноса этого пакета в репозитории, он ответил, что всему свое время. В принципе, я с ним согласен, так как проект, судя по всему, еще немного сыроват.</p>
<h2><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Подготовка</h2>
<p align="justify">Установим зависимости. Что-то может быть пропустил, зависимости сканировал с использованием <code>namcap</code>:</p>
<p>Установим зависимости. Что-то может быть пропустил, зависимости сканировал с использованием <code>namcap</code>:</p>
{% highlight bash %}
pacman -Sy --asdeps clang git libc++abi qt5-quick1 qt5-x11extras
yaourt -S --asdeps jreen-git qbs-git
{% endhighlight %}
<h3><a name="qbs" class="anchor" href="#qbs"><span class="octicon octicon-link"></span></a>Настройка qbs</h3>
<p align="justify">Желающие могут почитать документацию <a href="http://qt-project.org/wiki/qbs">по ссылке</a> или посмотреть примеры (включены в пакет). Загвоздка в том, что эта штука использует файл настроек, который, во-первых, нужно сначала сгенерировать, во-вторых, хранится в домашней директории (и только там). В теории, генерация файла настроек (<code>~/.config/QtProject/qbs.conf</code>) происходит следующим образом:</p>
<p>Желающие могут почитать документацию <a href="http://qt-project.org/wiki/qbs">по ссылке</a> или посмотреть примеры (включены в пакет). Загвоздка в том, что эта штука использует файл настроек, который, во-первых, нужно сначала сгенерировать, во-вторых, хранится в домашней директории (и только там). В теории, генерация файла настроек (<code>~/.config/QtProject/qbs.conf</code>) происходит следующим образом:</p>
{% highlight bash %}
qbs-setup-qt --detect
qbs-detect-toolchains
{% endhighlight %}
<p align="justify">Сначала находим Qt для сборки, потом находим инструментарий (компиляторы, например). Дальше вставляем инструментарий (например, нам для Qutim нужен <code>clang</code>) в Qt, например, так:</p>
<p>Сначала находим Qt для сборки, потом находим инструментарий (компиляторы, например). Дальше вставляем инструментарий (например, нам для Qutim нужен <code>clang</code>) в Qt, например, так:</p>
{% highlight bash %}
sed 's/clang\\/qt-5-2-0\\/g' -i ~/.config/QtProject/qbs.conf
{% endhighlight %}
<p align="justify">Альтернативные варианты - править файл вручную или воспользоваться <code>qbs-config-ui</code> или <code>qbs-config</code> на Ваш выбор.</p>
<p align="justify">Так или иначе, нужный файл мы сгенерировали, сохраним его в будущей директории сборки:</p>
<p>Альтернативные варианты - править файл вручную или воспользоваться <code>qbs-config-ui</code> или <code>qbs-config</code> на Ваш выбор.</p>
<p>Так или иначе, нужный файл мы сгенерировали, сохраним его в будущей директории сборки:</p>
{% highlight ini %}
[General]
@ -64,10 +64,10 @@ qutim\qbs\architecture=x86_64
qutim\qbs\endianness=little
qutim\qbs\toolchain=clang, llvm, gcc
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/qbs-qutim.conf">qbs-qutim.conf</a></p>
<p><a href="/resources/docs/qutim-qt5-git/qbs-qutim.conf">qbs-qutim.conf</a></p>
<h3><a name="patch" class="anchor" href="#patch"><span class="octicon octicon-link"></span></a>Готовим патч для исходников</h3>
<p align="justify">Первая проблема - <code>clang</code> (по крайней мере, в Archlinux):</p>
<p>Первая проблема - <code>clang</code> (по крайней мере, в Archlinux):</p>
{% highlight diff %}
diff -ruN qutim.orig/core/libqutim.qbs qutim/core/libqutim.qbs
--- qutim.orig/core/libqutim.qbs 2014-01-06 15:39:56.000000000 +0400
@ -82,7 +82,7 @@ diff -ruN qutim.orig/core/libqutim.qbs qutim/core/libqutim.qbs
}
{% endhighlight %}
<p align="justify">И пофиксить сборку библиотеки для Vk:</p>
<p>И пофиксить сборку библиотеки для Vk:</p>
{% highlight diff %}
diff -ruN qutim.orig/protocols/vkontakte/vreen/vreen.qbs qutim/protocols/vkontakte/vreen/vreen.qbs
--- qutim.orig/protocols/vkontakte/vreen/vreen.qbs 2014-01-06 15:41:42.000000000 +0400
@ -96,7 +96,7 @@ diff -ruN qutim.orig/protocols/vkontakte/vreen/vreen.qbs qutim/protocols/vkontak
property string vreen_version_major: 1
property string vreen_version_minor: 9
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/qutim-qbs-1.1.patch">qutim-qbs-1.1.patch</a></p>
<p><a href="/resources/docs/qutim-qt5-git/qutim-qbs-1.1.patch">qutim-qbs-1.1.patch</a></p>
<h3><a name="sources" class="anchor" href="#sources"><span class="octicon octicon-link"></span></a>Получаем исходники</h3>
{% highlight bash %}
@ -120,13 +120,13 @@ patch -p0 -i qutim-qbs-1.1.patch
cd qutim
HOME=$(pwd) qbs -j $(nproc) -d ../build release profile:qutim
{% endhighlight %}
<p align="justify">Я пытался сделать универсальный способ сборки пакета, поэтому такое странное переназначение домашней директории. Флаг <code>-j</code> указывает число потоков сборки, флаг <code>-d</code> директорию сборки, <code>release</code> тип сборки (debug, release), <code>profile</code> используемый профиль, описанный в файле настроек.</p>
<p>Я пытался сделать универсальный способ сборки пакета, поэтому такое странное переназначение домашней директории. Флаг <code>-j</code> указывает число потоков сборки, флаг <code>-d</code> директорию сборки, <code>release</code> тип сборки (debug, release), <code>profile</code> используемый профиль, описанный в файле настроек.</p>
<h2><a name="install" class="anchor" href="#install"><span class="octicon octicon-link"></span></a>Установка</h2>
{% highlight bash %}
HOME=$(pwd) sudo qbs install -d ../build --install-root "/usr" profile:qutim
{% endhighlight %}
<p align="justify">Из нового - указание корневого каталога (<code>--install-root</code>). Без этого пакет будет установлен в <code>/</code> (<code>/bin</code> и <code>/lib</code>).</p>
<p>Из нового - указание корневого каталога (<code>--install-root</code>). Без этого пакет будет установлен в <code>/</code> (<code>/bin</code> и <code>/lib</code>).</p>
<h2><a name="pkgbuild" class="anchor" href="#pkgbuild"><span class="octicon octicon-link"></span></a>PKGBUILD</h2>
{% highlight bash %}
@ -181,4 +181,4 @@ package() {
HOME="${srcdir}" qbs install -d ../build --install-root "${pkgdir}/usr" profile:qutim
}
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/PKGBUILD">PKGBUILD</a></p>
<p><a href="/resources/docs/qutim-qt5-git/PKGBUILD">PKGBUILD</a></p>