Construindo a Unidade a partir da Fonte
Neste guia, você criará uma versão separada do tronco do Unity (instalado localmente no diretório inicial), para que você não precise se preocupar em corromper a versão dos repositórios do Ubuntu e também não precisará obter permissões de root em todo o site. processo inteiro (exceto para instalar as dependências de compilação).
0. Instalando Dependências de Construção
Você precisará executar isso uma vez para instalar todas as dependências de compilação necessárias:
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
Se você tiver repositórios de código-fonte (aka deb-src
) ativados, poderá usar:
sudo apt-get build-dep unity
1. Preparando o meio ambiente
Substitua SOURCE
e PREFIX
pelos diretórios que você deseja que a fonte e construa os arquivos. Neste exemplo, coloquei os dois no meu diretório pessoal:
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. Construindo o Nux
Você provavelmente precisará pegar a versão mais recente Nux
para obter o tronco do Unity para compilar:
bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..
Dica : A maioria dos desktops e laptops modernos possui vários núcleos. Você pode acelerar bastante a compilação aproveitando isso. O make
comando possui suporte interno para isso, que você pode ativar usando a opção -jN, em que N é o número de tarefas a serem executadas em paralelo. Uma boa regra é executar 2 vezes o número de núcleos no seu processador. Portanto, em um computador dual core normal, você deve executar make -j4
para minimizar o tempo de compilação.
3. Construindo a Unidade
Agora pegue o código Unity mais recente e construa-o:
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
É isso, saia e entre novamente e você deve estar executando o Unity mais recente. Como alternativa , você pode executar
setsid $PREFIX/bin/unity
4. Atualizando
Certifique-se de preparar o ambiente como descrito na etapa 1 e, em seguida, basta inserir os dois diretórios de nível superior nux
e unity
, executar bzr pull
, reconstruir e reinstalar.
Sugiro remover e recriar o build
diretório no unity
diretório, para garantir que nenhum arquivo antigo esteja interferindo na sua compilação.
5. Removendo a Unidade
Remova os três diretórios $SOURCE
, $PREFIX
e ~/.compiz-1
.
Link útil:
sharedptr
mas parece que o gcc no 12.04 não suporte ou precisa de algum sinalizador para ser adicionado aos arquivos make. Portanto, a clonagem da versão exata adequada ao meu sistema é muito importante.Eu criei um script baseado no script de construção de Wayland e nessas instruções para automatizar a instalação de pré-requisitos, clonagem, atualização, configuração e criação do Unity.
https://github.com/bitshifter/Unity-Build/raw/master/build-unity.sh
fonte
Construindo em seu diretório pessoal
Às vezes, por razões de teste, é útil compilar o Unity e o nux em seu diretório pessoal, para que você possa tentar ver se algo está corrigido no tronco sem mexer nos pacotes e / ou PPAs. Perguntei a Jason Smith (Unity Dev) como ele constrói o Unity e ele explicou seu método para mim:
Verifique se você possui todas as dependências de compilação desta resposta.
Primeiro, crie um diretório em sua casa chamado "teste"; é aqui que criaremos o Unity. Crie um pequeno script que prepare o ambiente de construção, substitua o diretório inicial pelo seu:
Eu chamo isso
unity.sh
e corro toda vez que quero construir o Unity. Então, basicamente,chmod +x unity.sh
e./unity.sh
quando você deseja construir.Compile o nux:
Criar unidade:
NOTA: Isso cria o nux e a unidade em seu diretório pessoal, não há necessidade de sudo aqui ou algo assim.
~/.compiz
~/.compiz
e entrar novamente.fonte
O código fonte do ambiente padrão (Unity) pode ser encontrado no pacote
unity
. Instale o código-fonte comapt-get source unity
as dependências para construí-losudo apt-get build-dep unity
e desvie-o.Isso permitirá que você posicione o iniciador à direita, inferior, superior etc.
fonte
Há uma excelente documentação oficial aqui - Developing Unity .
Aqui está um trecho dele sobre a construção do Unity - instalando a partir do código-fonte e compilando
fonte
A instalação ficou mais complicada recentemente: um novo módulo foi adicionado ao compiz chamado GTK Load (ou ele trava no XInternAtom). Precisamos ativar este módulo para usar o 4.0.1, mas ativá-lo trará a unidade 3.8.
Está ficando difícil manter os dois. O jeito que eu fiz foi:
fonte