Construyendo Unidad desde la Fuente
En esta guía, creará una versión separada del tronco de Unity (instalada localmente en su directorio de inicio), por lo que no necesita preocuparse por corromper la versión de los repositorios de Ubuntu y tampoco necesitará obtener permisos de root en todo el proceso completo (excepto para instalar las dependencias de compilación).
0. Instalar dependencias de compilación
Deberá ejecutar esto una vez para instalar todas las dependencias de compilación necesarias:
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
Si tiene deb-src
habilitados los repositorios de código fuente (aka ), puede usar:
sudo apt-get build-dep unity
1. Preparando el medio ambiente
Reemplace SOURCE
y PREFIX
con los directorios a los que le gustaría ir los archivos de origen y compilación. En este ejemplo, pongo ambos en mi directorio de inicio:
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. Construyendo Nux
Probablemente necesitará obtener la última versión de Nux
para que Unity trunk compile:
bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..
Consejo : la mayoría de las computadoras de escritorio y portátiles modernos tienen varios núcleos. Puede acelerar enormemente la compilación aprovechando esto. El make
comando tiene soporte incorporado para esto que puede activar utilizando el modificador -jN donde N es el número de trabajos que se ejecutarán en paralelo. Una buena regla general es ejecutar 2 veces la cantidad de núcleos en su procesador. Por lo tanto, en una computadora de doble núcleo normal, debe ejecutar make -j4
para minimizar el tiempo de compilación.
3. Construyendo unidad
Ahora tome el último código de Unity y compílelo:
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
Eso es todo, cierre la sesión y vuelva a iniciarla y debería estar ejecutando la última Unidad. Alternativamente , puedes correr
setsid $PREFIX/bin/unity
4. Actualización
Asegúrese de preparar el entorno como se describe en el paso 1, luego simplemente ingrese los directorios de nivel superior nux
y unity
, ejecute bzr pull
, reconstruya y reinstale.
Sugiero eliminar y volver a crear el build
directorio en el unity
directorio, para asegurarse de que no haya archivos antiguos que interfieran con su construcción.
5. Eliminar la unidad
Retire los tres directorios $SOURCE
, $PREFIX
y ~/.compiz-1
.
Enlace útil:
sharedptr
pero parece que el gcc en 12.04 no soporte, o necesita alguna bandera para agregar a los archivos de creación. Entonces, clonar la versión exacta adecuada con mi sistema es muy importante.He creado un script basado en el script de compilación de Wayland y estas instrucciones para automatizar los requisitos previos de instalación, clonación, actualización, configuración y creación de Unity.
https://github.com/bitshifter/Unity-Build/raw/master/build-unity.sh
fuente
Construyendo en su directorio de inicio
A veces, por razones de prueba, es útil construir Unity y Nux en su directorio de inicio para que pueda intentar ver si algo está arreglado en el tronco sin tener que buscar entre paquetes y / o PPA. Le pregunté a Jason Smith (Unity Dev) cómo construye Unity y él me explicó su método:
Asegúrese de tener todas las dependencias de compilación de esta respuesta.
Primero haga un directorio en su hogar llamado "puesta en escena", aquí es donde construiremos Unity. Cree un pequeño script que preparará el entorno de compilación, reemplace el directorio de inicio con el suyo propio:
Llamo a esto
unity.sh
y lo ejecuto cada vez que quiero construir Unity. Básicamente,chmod +x unity.sh
y luego./unity.sh
cuando quieres construir.Construir nux:
Construir unidad:
NOTA: Esto crea nux y unidad en su directorio de inicio, no hay necesidad de sudo aquí ni nada de eso.
~/.compiz
~/.compiz
y vuelva a iniciar sesión.fuente
El código fuente para el entorno predeterminado (Unity) se puede encontrar en el paquete
unity
. Instale la fuente conapt-get source unity
las dependencias para construirlasudo apt-get build-dep unity
y hackearla.Esto le permitirá colocar el lanzador a la derecha, abajo, arriba, etc.
fuente
Aquí hay una excelente documentación oficial: Unity en desarrollo .
Aquí hay un extracto de él sobre la construcción de Unity: instalación desde la fuente y compilación
fuente
La instalación se volvió más complicada recientemente: se ha agregado un nuevo módulo a compiz llamado GTK Load (o se bloqueará en XInternAtom). Necesitamos activar este módulo para usar 4.0.1, pero al activarlo se bloqueará la unidad 3.8.
Se está haciendo difícil mantenerlos a ambos. La forma en que lo hice fue:
fuente