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-srchabilitados los repositorios de código fuente (aka ), puede usar:
sudo apt-get build-dep unity
1. Preparando el medio ambiente
Reemplace SOURCEy PREFIXcon 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 Nuxpara 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 makecomando 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 -j4para 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 nuxy unity, ejecute bzr pull, reconstruya y reinstale.
Sugiero eliminar y volver a crear el builddirectorio en el unitydirectorio, para asegurarse de que no haya archivos antiguos que interfieran con su construcción.
5. Eliminar la unidad
Retire los tres directorios $SOURCE, $PREFIXy ~/.compiz-1.
Enlace útil:
sharedptrpero 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.shy lo ejecuto cada vez que quiero construir Unity. Básicamente,chmod +x unity.shy luego./unity.shcuando 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~/.compizy 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 unitylas dependencias para construirlasudo apt-get build-dep unityy 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