Создание единства из источника
В этом руководстве вы создадите отдельную версию ствола Unity (локально установленную в вашем домашнем каталоге), так что вам не нужно беспокоиться о повреждении версии из репозиториев Ubuntu, и вам также не нужно будет получать права root для всех пользователей. весь процесс (кроме установки зависимостей сборки).
0. Установка зависимостей сборки
Вам нужно будет выполнить это один раз, чтобы установить все необходимые зависимости сборки:
sudo apt-get install bzr cmake compiz-dev gnome-common libbamf3-dev libboost-dev \
libboost-serialization-dev libgconf2-dev libgdu-dev libglewmx1.6-dev \
libgnome-desktop-3-dev libibus-1.0-dev libindicator3-dev libjson-glib-dev \
libnotify-dev libnux-2.0-dev libpci-dev libsigc++-2.0-dev libunity-dev \
libunity-misc-dev libutouch-geis-dev libxxf86vm-dev libzeitgeist-dev xsltproc
Если у вас deb-src
включены репозитории исходного кода (aka ), вы можете вместо этого использовать:
sudo apt-get build-dep unity
1. Подготовка окружающей среды
Замените SOURCE
и PREFIX
на каталоги, которые вы хотите, чтобы исходный код и файлы сборки были отправлены В этом примере я поместил оба в мой домашний каталог:
export SOURCE=$HOME/source/unity
export PREFIX=$HOME/build/unity
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH"
export LD_RUN_PATH="$PREFIX/lib:$LD_RUN_PATH"
export XDG_DATA_DIRS="$PREFIX/share:$XDG_DATA_DIRS"
mkdir -p "$PREFIX"
mkdir -p "$SOURCE"
cd "$SOURCE"
2. Сборка Nux
Вам, вероятно, понадобится взять последнюю версию, Nux
чтобы заставить транслировать Unity:
bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..
Совет : большинство современных настольных компьютеров и ноутбуков имеют несколько ядер. Вы можете значительно ускорить компиляцию, воспользовавшись этим. Для этой make
команды предусмотрена встроенная поддержка, которую вы можете активировать с помощью ключа -jN, где N - это количество заданий, которые должны выполняться параллельно. Хорошее практическое правило - запускать в два раза больше ядер на вашем процессоре. Таким образом, на обычном двухъядерном компьютере вы должны запустить, make -j4
чтобы минимизировать время компиляции.
3. Создание Единства
Теперь возьмите последний код Unity и соберите его:
bzr branch lp:unity
cd unity
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=local -DGSETTINGS_LOCALINSTALL=ON -DCMAKE_INSTALL_PREFIX="$PREFIX"
make -j4
make install
Вот и все, выйдите и снова войдите в систему, и вы должны запустить последнюю версию Unity. Кроме того , вы можете запустить
setsid $PREFIX/bin/unity
4. Обновление
Обязательно подготовьте среду, как описано в шаге 1, затем просто введите оба каталога верхнего уровня, nux
а затем unity
запустите bzr pull
, пересоберите и переустановите.
Я предлагаю удалить и воссоздать build
каталог в unity
каталоге, чтобы убедиться, что старые файлы не мешают вашей сборке.
5. Удаление Единства
Удалите три каталога $SOURCE
, $PREFIX
и ~/.compiz-1
.
Полезная ссылка:
sharedptr
но кажется, что gcc на 12.04 не поддержка, или нужно добавить флаг в файлы make. Итак, клонирование точной версии, подходящей для моей системы, очень важно.Я создал сценарий на основе сценария сборки Wayland и этих инструкций для автоматизации установки необходимых компонентов, клонирования, обновления, настройки и сборки Unity.
https://github.com/bitshifter/Unity-Build/raw/master/build-unity.sh
источник
Сборка в вашем домашнем каталоге
Иногда по причинам тестирования полезно собирать Unity и nux в вашем домашнем каталоге, чтобы вы могли попытаться проверить, не зафиксировано ли что-либо в транке, без перебора пакетов и / или PPA. Я спросил Джейсона Смита (Unity Dev), как он строит Unity, и он объяснил мне свой метод:
Убедитесь, что у вас есть все зависимости от этого ответа.
Сначала создайте в своем доме каталог под названием «staging», именно здесь мы и создадим Unity. Создайте небольшой скрипт, который подготовит среду сборки, замените домашний каталог своим собственным:
Я называю это
unity.sh
и запускаю каждый раз, когда хочу построить Unity. Так в принципеchmod +x unity.sh
и то./unity.sh
когда хочешь строить.Сборка NUX:
Build Unity:
ПРИМЕЧАНИЕ: это создает nux и unity в вашем домашнем каталоге, здесь нет необходимости в sudo или чем-то подобном.
~/.compiz
~/.compiz
и войдите снова.источник
Исходный код для среды по умолчанию (Unity) можно найти в пакете
unity
. Установите исходный код сapt-get source unity
, зависимости, чтобы построить егоsudo apt-get build-dep unity
и взломать.Это позволит вам расположить панель запуска справа, снизу, сверху и т. Д.
источник
Здесь есть отличная официальная документация - Развивающееся Единство .
Вот выдержка из него по сборке Unity - установка из исходного кода и компиляция
источник
В последнее время установка стала более сложной: в Compiz был добавлен новый модуль с именем GTK Load (или он потерпит крах в XInternAtom). Нам нужно активировать этот модуль, чтобы использовать 4.0.1, но активация его приведет к сбою единицы 3.8.
Становится трудно держать их обоих. Я сделал это так:
источник