Created
August 7, 2012 20:10
-
-
Save jtomschroeder/3288942 to your computer and use it in GitHub Desktop.
Script for installing Etoile on Ubuntu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# From http://svn.gna.org/viewcvs/*checkout*/etoile/trunk/Etoile/LiveCD/Subscripts/ubuntu-install-etoile.sh?content-type=text%2Fplain | |
# Date: Aug 7, 2012 | |
# Initialize option variables with default values | |
BUILD_DIR=$PWD/build | |
PREFIX_DIR=/ | |
ETOILE_VERSION=trunk | |
# Create a build directory if none exists | |
if [ ! -d $BUILD_DIR ]; then | |
mkdir $BUILD_DIR | |
else | |
echo "Found existing build directory" | |
fi | |
cd $BUILD_DIR | |
# Install Etoile and GNUstep dependencies for Ubuntu 9.04 (copied from INSTALL.Ubuntu) | |
# Universe repository needs to be enabled in /etc/apt/sources.list for libonig-dev to show up | |
#sudo aptitude install gobjc-4.3 libxml2-dev libxslt1-dev libffi-dev libssl-dev libjpeg62-dev libtiff4-dev libpng12-dev libgif-dev libfreetype6-dev libx11-dev libcairo2-dev libxft-dev libxmu-dev dbus libdbus-1-dev hal libstartup-notification0-dev libxcursor-dev libxss-dev xscreensaver g++ libpoppler-dev libonig-dev lemon libgmp3-dev postgresql libpq-dev libavcodec-dev libavformat-dev libtagc0-dev libmp4v2-dev | |
# sudo apt-get install gobjc \ | |
# libxml2-dev \ | |
# libxslt1-dev \ | |
# libffi-dev \ | |
# libssl-dev \ | |
# libgnutls-dev \ | |
# libicu-dev \ | |
# libjpeg62-dev \ | |
# libtiff4-dev \ | |
# libpng12-dev \ | |
# libgif-dev \ | |
# libfreetype6-dev \ | |
# libx11-dev \ | |
# libcairo2-dev \ | |
# libxft-dev \ | |
# libxmu-dev \ | |
# dbus \ | |
# libdbus-1-dev \ | |
# hal \ | |
# libstartup-notification0-dev \ | |
# libxcursor-dev \ | |
# libxss-dev \ | |
# xscreensaver \ | |
# g++ \ | |
# libpoppler-dev \ | |
# libonig-dev \ | |
# lemon \ | |
# libgmp3-dev \ | |
# postgresql \ | |
# libpq-dev \ | |
# libavcodec-dev \ | |
# libavformat-dev \ | |
# libtagc0-dev \ | |
# libmp4v2-dev \ # (multiverse) | |
# libgraphviz-dev | |
sudo apt-get install -y \ | |
g++ \ | |
libffi-dev \ | |
libxml2-dev \ | |
libgnutls-dev \ | |
libicu-dev \ | |
libxslt1-dev \ | |
libssl-dev \ | |
libjpeg-dev \ | |
libtiff-dev \ | |
libpng-dev \ | |
libx11-dev \ | |
libxt-dev \ | |
libcairo-dev \ | |
libgmp-dev \ | |
libonig-dev \ | |
libpoppler-dev | |
# Install Subversion to be able to check out Etoile | |
sudo apt-get install -y subversion | |
# Check out, build, and install llvm & clang | |
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm | |
cd llvm/tools | |
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang | |
cd .. # llvm/ | |
./configure --enable-optimized && make -j4 && sudo -E make install | |
cd .. # build/ | |
export CC=clang | |
# Check out and build the latest GNUstep release | |
svn co http://svn.gna.org/svn/gnustep/modules/core | |
svn co http://svn.gna.org/svn/gnustep/libs/libobjc2/trunk libobjc2 | |
# Build & Install GNUstep | |
cd core/make | |
./configure --enable-debug-by-default --with-layout=gnustep --prefix=$PREFIX_DIR | |
make && sudo -E make install | |
# . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh | |
# Or . /System/Library/Makefiles/GNUstep.sh if --prefix=/ was passed | |
cd ../.. # build/ | |
# Source the GNUstep shell script, and add it to the user's bashrc | |
. ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh | |
echo ". ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh" >> ~/.bashrc | |
# Build libobjc2 | |
cd libobjc2 | |
make debug=no && sudo -E make strip=yes install | |
cd .. | |
# Install GNUstep Make a second time so it can detect the new ObjC runtime just installed: | |
cd core/make | |
./configure --enable-debug-by-default --enable-objc-nonfragile-abi --with-layout=gnustep --prefix=$PREFIX_DIR | |
make && sudo -E make install | |
cd ../base | |
# For Linux (e.g. Ubuntu), --with-ffi-include is usually required | |
./configure --disable-mixedabi --disable-unicodeconstants --with-ffi-include=/usr/include/`gcc -dumpmachine` | |
make && sudo -E make install | |
cd ../gui | |
./configure && make && sudo -E make install | |
cd ../back | |
./configure # --enable-graphics=cairo | |
make && sudo -E make install | |
cd ../.. # build/ | |
# Download latest Gorm release over FTP, uncompress and build it | |
# wget -nc ftp://ftp.gnustep.org/pub/gnustep/dev-apps/$GSGORM.tar.gz | |
# tar -xzf $GSGORM.tar.gz | |
# cd $GSGORM | |
# make && sudo -E make install | |
# cd .. | |
# Check out and build the requested Etoile version | |
if [ $ETOILE_VERSION = stable ]; then | |
ETOILE_REP_PATH=stable | |
elif [ $ETOILE_VERSION = trunk ]; then | |
ETOILE_REP_PATH=trunk/Etoile | |
fi | |
svn co http://svn.gna.org/svn/etoile/$ETOILE_REP_PATH Etoile | |
cd Etoile | |
make && sudo -E make install | |
./setup.sh | |
echo | |
echo "Installation Complete!" | |
echo | |
echo "Log out, choose Etoile session in GDM, and log in to start Etoile." | |
echo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment