mono_debian
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mono_debian [2017/12/08 21:27] – [Parrallel mono env] ssm2017 | mono_debian [2022/02/07 13:29] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== mono debian ====== | ||
| ====== wheezy ====== | ====== wheezy ====== | ||
| ===== 2.6.7 ===== | ===== 2.6.7 ===== | ||
| Line 35: | Line 36: | ||
| [[http:// | [[http:// | ||
| + | ==== Debian 8 ==== | ||
| <sxh bash> | <sxh bash> | ||
| - | apt-get install libgdiplus g++ pkg-config glib-2.0 libcairo2-dev libtiff-dev libexif.dev make gettext cmake | + | apt-get install libgdiplus g++ pkg-config glib-2.0 libcairo2-dev libtiff-dev libexif-dev libgif-dev make gettext cmake |
| </ | </ | ||
| + | |||
| + | ==== Install script ==== | ||
| + | <sxh bash> | ||
| + | # | ||
| + | |||
| + | # config | ||
| + | DEBIAN_VERSION=" | ||
| + | SOURCE_FOLDER="/ | ||
| + | DEST_FOLDER="/ | ||
| + | LOG_FILE="/ | ||
| + | |||
| + | # set text colors | ||
| + | ColRedF=$' | ||
| + | ColGreenF=$' | ||
| + | ColYellowF=$' | ||
| + | ColReset=$' | ||
| + | |||
| + | # check if root | ||
| + | if [[ $EUID -ne 0 ]]; then | ||
| + | echo -e " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # backup some env | ||
| + | OLD_DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH | ||
| + | OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH | ||
| + | OLD_PATH=$PATH | ||
| + | OLD_PS1=$PS1 | ||
| + | | ||
| + | function compile_libgdiplus { | ||
| + | cd /tmp | ||
| + | if [ ! -d / | ||
| + | mkdir / | ||
| + | fi | ||
| + | if [ -d / | ||
| + | rm -R / | ||
| + | fi | ||
| + | if [ ! -f / | ||
| + | cp / | ||
| + | fi | ||
| + | cd / | ||
| + | tar -zxf libgdiplus-4.2.tar.gz | ||
| + | cd / | ||
| + | ./configure --prefix=/ | ||
| + | make | ||
| + | make install | ||
| + | } | ||
| + | | ||
| + | function compile_mono { | ||
| + | cd / | ||
| + | ./configure --prefix=/ | ||
| + | make | ||
| + | make install | ||
| + | } | ||
| + | |||
| + | function get_sources { | ||
| + | if [ -d / | ||
| + | rm -R / | ||
| + | fi | ||
| + | mv $SOURCE_FOLDER/ | ||
| + | cd / | ||
| + | mkdir mono-$1 | ||
| + | tar -jxf mono-$1.tar.bz2 --strip 1 -C / | ||
| + | } | ||
| + | | ||
| + | function create_venv { | ||
| + | echo "# | ||
| + | MONO_VERSION=$1 | ||
| + | MONO_PREFIX=/ | ||
| + | GNOME_PREFIX=/ | ||
| + | export DYLD_FALLBACK_LIBRARY_PATH=\$MONO_PREFIX/ | ||
| + | export LD_LIBRARY_PATH=\$MONO_PREFIX/ | ||
| + | export C_INCLUDE_PATH=\$MONO_PREFIX/ | ||
| + | export ACLOCAL_PATH=\$MONO_PREFIX/ | ||
| + | export PKG_CONFIG_PATH=\$MONO_PREFIX/ | ||
| + | export PATH=\$MONO_PREFIX/ | ||
| + | PS1=\" | ||
| + | " > / | ||
| + | source / | ||
| + | } | ||
| + | |||
| + | function reset_venv { | ||
| + | export DYLD_FALLBACK_LIBRARY_PATH=$OLD_DYLD_FALLBACK_LIBRARY_PATH | ||
| + | export LD_LIBRARY_PATH=$OLD_LD_LIBRARY_PATH | ||
| + | export PATH=$OLD_PATH | ||
| + | PS1=$OLD_PS1 | ||
| + | } | ||
| + | |||
| + | function backup_file { | ||
| + | cd /opt | ||
| + | tar -zcf mono-$1-debian$DEBIAN_VERSION.tar.gz mono-$1 | ||
| + | mv mono-$1-debian$DEBIAN_VERSION.tar.gz $DEST_FOLDER | ||
| + | rm -R mono-$1 | ||
| + | rm mono-$1.tar.bz2 | ||
| + | } | ||
| + | |||
| + | function do_it { | ||
| + | VERSION=$1 | ||
| + | echo " | ||
| + | echo " | ||
| + | echo " | ||
| + | get_sources $VERSION | ||
| + | echo " | ||
| + | create_venv $VERSION | ||
| + | echo " | ||
| + | echo " | ||
| + | compile_libgdiplus $VERSION | ||
| + | echo " | ||
| + | compile_mono $VERSION | ||
| + | echo " | ||
| + | backup_file $VERSION | ||
| + | echo " | ||
| + | reset_venv | ||
| + | echo " | ||
| + | } | ||
| + | |||
| + | # get all mono versions to compile | ||
| + | cd $SOURCE_FOLDER | ||
| + | for archive in *; do | ||
| + | mono_version=$(echo $(basename $archive .tar.bz2)| cut -d' | ||
| + | do_it $mono_version | ||
| + | done | ||
| + | </ | ||
| {{tag> | {{tag> | ||
mono_debian.1512764839.txt.gz · Last modified: (external edit)
