Skip to content
Snippets Groups Projects
Select Git revision
  • 7a331b10b820f9b4378b62dbf8d3dda24e584612
  • master default protected
  • hsh_v4.5
  • hsh_v4-4
  • hsh_v4.4
  • hsh_v4.3
  • hsh_v4.1.x
  • hsh_v4.2
  • hsh_v4.1
  • hsh_v3.11
  • hsh_3.10
  • v3.11-r2-hsh
  • v3.11-r2
  • v3.11-r1
  • v3.10-r1
  • v3.9-r1
  • v3.8-r2
  • v3.8-r1
  • v3.7-r1
19 results

view.php

Blame
  • buildscript.sh 1.54 KiB
    #!/bin/sh
    # This script build SBCL and Maxima from source.
    # It also compiles maxima_fork.c.
    
    set -e
    echo ${MAXIMA_VERSION?Error \$MAXIMA_VERSION is not defined} \
         ${SBCL_VERSION?Error \$SBCL_VERSION is not defined}
    
    SBCL_ARCH=$(dpkg --print-architecture)
    if [ $SBCL_ARCH = amd64 ]; then
    	SBCL_ARCH=x86-64
    fi
    
    apt-get update
    apt-get install -y bzip2 make wget python3 gcc texinfo curl
    
    mkdir -p ${SRC}
    wget https://sourceforge.net/projects/maxima/files/Maxima-source/${MAXIMA_VERSION}-source/maxima-${MAXIMA_VERSION}.tar.gz -O ${SRC}/maxima-${MAXIMA_VERSION}.tar.gz
    wget https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-${SBCL_ARCH}-linux-binary.tar.bz2 -O ${SRC}/sbcl-${SBCL_VERSION}-${SBCL_ARCH}-linux.tar.bz2
    
    # Compile sbcl
    cd ${SRC}
    bzip2 -d sbcl-${SBCL_VERSION}-${SBCL_ARCH}-linux.tar.bz2
    tar -xf sbcl-${SBCL_VERSION}-${SBCL_ARCH}-linux.tar
    rm sbcl-${SBCL_VERSION}-${SBCL_ARCH}-linux.tar
    ls
    cd sbcl-${SBCL_VERSION}-${SBCL_ARCH}-linux
    ./install.sh
    
    # Compile maxima
    cd ${SRC}
    tar -xf maxima-${MAXIMA_VERSION}.tar.gz
    rm maxima-${MAXIMA_VERSION}.tar.gz
    cd maxima-${MAXIMA_VERSION}
    ./configure
    make
    make install
    make clean
    
    # runtime dependencies
    apt-get install -y gnuplot-nox gettext-base libbsd-dev tini
    
    cd /
    test -n "$MAX_USER" || MAX_USER=32
    gcc -shared maxima_fork.c -lbsd -fPIC -Wall -Wextra -DN_SLOT="${MAX_USER}" -o libmaximafork.so
    mv libmaximafork.so /usr/lib
    rm -r ${SRC} /maxima_fork.c
    mkdir -p ${LIB} ${LOG} ${TMP} ${PLOT} ${ASSETS} ${BIN}
    apt-get purge -y bzip2 make wget python3 gcc texinfo
    apt-get autoremove -y