~ salmonella-environment-setup (master) 882bfca098221cbe0a5066369cbaf30ba1305f99
commit 882bfca098221cbe0a5066369cbaf30ba1305f99 Author: Mario Domenech Goulart <mario@parenteses.org> AuthorDate: Sat Nov 27 16:34:18 2021 +0100 Commit: Mario Domenech Goulart <mario@parenteses.org> CommitDate: Sat Nov 27 16:34:23 2021 +0100 debian-bullseye.sh: refactor installation of egg dependencies Add "installers" directory and debian-common.sh as an attempt to reduce code duplication diff --git a/system-setup/debian-bullseye.sh b/system-setup/debian-bullseye.sh index b07ec07..d547d2c 100755 --- a/system-setup/debian-bullseye.sh +++ b/system-setup/debian-bullseye.sh @@ -4,271 +4,28 @@ set -ex -SALMONELLA_USER=chicken -SALMONELLA_GROUP=chicken - -# BITS=32 # 32bit system -BITS=64 # 64bit system - -## Disable Install-Suggests and Install-Recommends to save some space -sudo sh -c "echo 'APT::Install-Suggests \"0\";' > /etc/apt/apt.conf.d/20no-extra-packages" -sudo sh -c "echo 'APT::Install-Recommends \"0\";' >> /etc/apt/apt.conf.d/20no-extra-packages" -sudo apt-get update - - -## Packages -sudo apt-get install \ - build-essential \ - clang \ - git \ - cmake \ - flex \ - subversion \ - automake \ - libf2c2-dev \ - libalut-dev \ - libtool \ - libgsl-dev \ - r-base-core \ - libfcgi-dev \ - libimlib2-dev \ - libg2-dev \ - libexif-dev \ - libfann-dev \ - libgts-dev \ - libglpk-dev \ - libaugeas-dev \ - libtokyocabinet-dev \ - libossp-uuid-dev \ - libatlas-base-dev \ - libsundials-dev \ - liblapack-dev \ - libsdl-net1.2-dev \ - libffi-dev \ - libsoil-dev \ - gfortran \ - libplot-dev \ - libxosd-dev \ - libreadline-dev \ - libncurses5-dev \ - libssl-dev \ - libopenmpi-dev \ - default-libmysqlclient-dev \ - libopenal-dev \ - python3-dev \ - libsqlite3-dev \ - libgdbm-dev \ - freetds-dev \ - libstemmer-dev \ - zlib1g-dev \ - libsvn-dev \ - libfltk1.3-dev \ - libzmq3-dev \ - libmpfi-dev \ - libphysfs-dev \ - tk8.6 \ - freeglut3-dev \ - libglfw3-dev \ - libsdl1.2-dev \ - libsdl-mixer1.2-dev \ - libsdl-sound1.2-dev \ - libsdl-ttf2.0-dev \ - libsdl-gfx1.2-dev \ - libsdl-image1.2-dev \ - libwebkit2gtk-4.0-dev \ - openmpi-bin \ - libglm-dev \ - libusb-1.0-0-dev \ - libffcall1-dev \ - libdb-dev \ - openjdk-11-jdk \ - openjdk-11-dbg \ - ant \ - libdb5.3-dev \ - libavcodec-dev \ - libavformat-dev \ - libswscale-dev \ - graphviz \ - time \ - libmagic-dev \ - libfuse-dev \ - units \ - postgresql-server-dev-all \ - libmarkdown2-dev \ - xorg-dev \ - libglu1-mesa-dev \ - libglew-dev \ - libleveldb-dev \ - libyaml-dev \ - libudev-dev \ - liblmdb-dev \ - libola-dev \ - libprotobuf-dev \ - libnanomsg-dev \ - libsass-dev \ - libsndfile1-dev \ - liblzma-dev \ - libsdl2-dev \ - libleptonica-dev \ - libsvm-dev \ - libsdl2-ttf-dev \ - libsdl2-image-dev \ - liblink-grammar-dev \ - liballegro5-dev \ - liballegro-image5-dev \ - liballegro-acodec5-dev \ - liballegro-dialog5-dev \ - liballegro-audio5-dev \ - liballegro-physfs5-dev \ - liballegro-image5-dev \ - liballegro-ttf5-dev\ - libstfl-dev \ - libblosc-dev \ - libgumbo-dev \ - haveged \ - gnuplot \ - libtag1-dev \ - libespeak-ng-dev \ - librocksdb-dev \ - -## -## Things that are not packaged for Debian -## - -tmpdir=`mktemp -d` -echo "### Using $tmpdir as temporary directory" - - -### epeg - -cd $tmpdir -wget http://www.call-with-current-continuation.org/tarballs/epeg-cvs-20070219.tar.gz -tar xzvf epeg-cvs-20070219.tar.gz -cd epeg -./autogen.sh -./configure --prefix=/usr/local -sudo make install - - -### proccpuinfo - -cd $tmpdir -wget http://download.savannah.gnu.org/releases/proccpuinfo/libproccpuinfo-0.0.8.tar.bz2 -tar xjvf libproccpuinfo-0.0.8.tar.bz2 -cd libproccpuinfo-0.0.8/ -cmake -D CMAKE_INSTALL_PREFIX=/usr/local . -make -make test -sudo make install - - -### bvspis - -sudo mkdir -p /usr/local/bvspis -sudo chown ${SALMONELLA_USER}:${SALMONELLA_GROUP} /usr/local/bvspis -cd /usr/local/bvspis -sudo wget http://www.netlib.org/toms/770.gz -sudo gzip -d 770.gz -sudo sh -c "awk 'NR>4' 770 > bvspis.sh" -sudo rm 770 -sudo sh ./bvspis.sh -sudo rm ./bvspis.sh - -# use "BVSPIS_PATH=/usr/local/bvspis/ salmonella bvsp-spline" - - -### libgit2 - -cd $tmpdir -git clone git://github.com/libgit2/libgit2.git -cd libgit2 -git checkout v0.25.0 -mkdir build && cd build -cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -sudo cmake --build . --target install - - -### iup - -mkdir -p $tmpdir/iup -cd $tmpdir/iup -tarball= -if [ "$BITS" = "32" ]; then - tarball=iup-3.8_Linux32_lib.tar.gz -else - tarball=iup-3.8_Linux32_64_lib.tar.gz -fi -wget "http://sourceforge.net/projects/iup/files/3.8/Linux%2520Libraries/$tarball" -tar xzvf $tarball -sudo bash install_dev - - -### canvas draw - -# Doesn't really work on wheezy. Linking against canvas draw -# libraries gives errors like "/usr/bin/ld: skipping incompatible ..." - -mkdir -p $tmpdir/cd -cd $tmpdir/cd -if [ "$BITS" = "32" ]; then - tarball=cd-5.6.1_Linux32_lib.tar.gz -else - tarball=cd-5.6.1_Linux32_64_lib.tar.gz -fi -wget "http://ufpr.dl.sourceforge.net/project/canvasdraw/5.6.1/Linux%20Libraries/$tarball" -tar xzvf $tarball -sudo bash install_dev - - -### cryptlib - -mkdir -p $tmpdir/cryptlib -cd $tmpdir/cryptlib -wget https://cryptlib-release.s3-ap-southeast-1.amazonaws.com/cryptlib345.zip -unzip -a cryptlib345.zip -make -make shared -sudo cp libcl.a libcl.so.3.* /usr/local/lib/ -sudo cp *.h /usr/local/include/ - - -### agar - -mkdir -p $tmpdir/agar -cd $tmpdir/agar -wget http://stable.hypertriton.com/agar/agar-1.5.0.tar.gz -tar xzvf agar-1.5.0.tar.gz -cd agar-1.5.0/ -./configure --without-freetype -make depend all -sudo make install - - -### cmark - -mkdir -p $tmpdir/cmark -cd $tmpdir/cmark -git clone https://github.com/commonmark/cmark.git -cd cmark -mkdir build -cd build -cmake .. -make -sudo make install - - -### KiWi - -mkdir -p $tmpdir/KiWi -cd $tmpdir/KiWi -git clone https://github.com/mobius3/KiWi.git -cd KiWi -git checkout 77ec0de71a0f365163676a752bc85477be5fae2f -mkdir build -cd build -cmake .. -make -sudo make install +anchor=$(readlink -f $(dirname "$0")) +. "$anchor/debian-common.sh" + +to_install="\ + packages/debian-bullseye.sh \ + agar.sh \ + bvspis.sh \ + cmark.sh \ + cryptlib.sh \ + epeg.sh \ + iup.sh \ + canvas_draw.sh \ + kiwi.sh \ + libgit2.sh \ + proccpuinfo \ + tcc.sh \ +" + +for script in $to_install; do + cd "$tmpdir" + . "$installers_dir/$script" +done ### Finishing diff --git a/system-setup/debian-common.sh b/system-setup/debian-common.sh new file mode 100644 index 0000000..8791184 --- /dev/null +++ b/system-setup/debian-common.sh @@ -0,0 +1,15 @@ +export SALMONELLA_USER=chicken +export SALMONELLA_GROUP=chicken + +# export BITS=32 # 32bit system +export BITS=64 # 64bit system + +## Disable Install-Suggests and Install-Recommends to save some space +sudo sh -c "echo 'APT::Install-Suggests \"0\";' > /etc/apt/apt.conf.d/20no-extra-packages" +sudo sh -c "echo 'APT::Install-Recommends \"0\";' >> /etc/apt/apt.conf.d/20no-extra-packages" +sudo apt-get update + +installers_dir=$anchor/installers + +tmpdir=`mktemp -d` +echo "### Using $tmpdir as temporary directory" diff --git a/system-setup/installers/agar.sh b/system-setup/installers/agar.sh new file mode 100644 index 0000000..0b0bdad --- /dev/null +++ b/system-setup/installers/agar.sh @@ -0,0 +1,8 @@ +mkdir agar +cd agar +wget http://stable.hypertriton.com/agar/agar-1.5.0.tar.gz +tar xzvf agar-1.5.0.tar.gz +cd agar-1.5.0/ +./configure --without-freetype +make depend all +sudo make install diff --git a/system-setup/installers/bvspis.sh b/system-setup/installers/bvspis.sh new file mode 100644 index 0000000..7c0af46 --- /dev/null +++ b/system-setup/installers/bvspis.sh @@ -0,0 +1,11 @@ +sudo mkdir -p /usr/local/bvspis +sudo chown ${SALMONELLA_USER}:${SALMONELLA_GROUP} /usr/local/bvspis +cd /usr/local/bvspis +sudo wget http://www.netlib.org/toms/770.gz +sudo gzip -d 770.gz +sudo sh -c "awk 'NR>4' 770 > bvspis.sh" +sudo rm 770 +sudo sh ./bvspis.sh +sudo rm ./bvspis.sh + +# use "BVSPIS_PATH=/usr/local/bvspis/ salmonella bvsp-spline" diff --git a/system-setup/installers/canvas_draw.sh b/system-setup/installers/canvas_draw.sh new file mode 100644 index 0000000..3d0fc9d --- /dev/null +++ b/system-setup/installers/canvas_draw.sh @@ -0,0 +1,10 @@ +mkdir canvas_draw +cd canvas_draw +if [ "$BITS" = "32" ]; then + tarball=cd-5.6.1_Linux32_lib.tar.gz +else + tarball=cd-5.6.1_Linux32_64_lib.tar.gz +fi +wget "http://ufpr.dl.sourceforge.net/project/canvasdraw/5.6.1/Linux%20Libraries/$tarball" +tar xzvf $tarball +sudo bash install_dev diff --git a/system-setup/installers/cmark.sh b/system-setup/installers/cmark.sh new file mode 100644 index 0000000..c2d2a9f --- /dev/null +++ b/system-setup/installers/cmark.sh @@ -0,0 +1,9 @@ +mkdir cmark +cd cmark +git clone https://github.com/commonmark/cmark.git +cd cmark +mkdir build +cd build +cmake .. +make +sudo make install diff --git a/system-setup/installers/cryptlib.sh b/system-setup/installers/cryptlib.sh new file mode 100644 index 0000000..a1d4970 --- /dev/null +++ b/system-setup/installers/cryptlib.sh @@ -0,0 +1,8 @@ +mkdir cryptlib +cd cryptlib +wget https://cryptlib-release.s3-ap-southeast-1.amazonaws.com/cryptlib345.zip +unzip -a cryptlib345.zip +make +make shared +sudo cp libcl.a libcl.so.3.* /usr/local/lib/ +sudo cp *.h /usr/local/include/ diff --git a/system-setup/installers/epeg.sh b/system-setup/installers/epeg.sh new file mode 100644 index 0000000..c63a021 --- /dev/null +++ b/system-setup/installers/epeg.sh @@ -0,0 +1,6 @@ +wget http://www.call-with-current-continuation.org/tarballs/epeg-cvs-20070219.tar.gz +tar xzvf epeg-cvs-20070219.tar.gz +cd epeg +./autogen.sh +./configure --prefix=/usr/local +sudo make install diff --git a/system-setup/installers/iup.sh b/system-setup/installers/iup.sh new file mode 100644 index 0000000..5d93d8d --- /dev/null +++ b/system-setup/installers/iup.sh @@ -0,0 +1,11 @@ +mkdir iup +cd iup +tarball= +if [ "$BITS" = "32" ]; then + tarball=iup-3.8_Linux32_lib.tar.gz +else + tarball=iup-3.8_Linux32_64_lib.tar.gz +fi +wget "http://sourceforge.net/projects/iup/files/3.8/Linux%2520Libraries/$tarball" +tar xzvf $tarball +sudo bash install_dev diff --git a/system-setup/installers/kiwi.sh b/system-setup/installers/kiwi.sh new file mode 100644 index 0000000..ea7941f --- /dev/null +++ b/system-setup/installers/kiwi.sh @@ -0,0 +1,10 @@ +mkdir kiwi +cd kiwi +git clone https://github.com/mobius3/KiWi.git +cd KiWi +git checkout 77ec0de71a0f365163676a752bc85477be5fae2f +mkdir build +cd build +cmake .. +make +sudo make install diff --git a/system-setup/installers/libgit2.sh b/system-setup/installers/libgit2.sh new file mode 100644 index 0000000..da3deba --- /dev/null +++ b/system-setup/installers/libgit2.sh @@ -0,0 +1,6 @@ +git clone git://github.com/libgit2/libgit2.git +cd libgit2 +git checkout v0.25.0 +mkdir build && cd build +cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local +sudo cmake --build . --target install diff --git a/system-setup/installers/packages/debian-bullseye.sh b/system-setup/installers/packages/debian-bullseye.sh new file mode 100644 index 0000000..c81c38e --- /dev/null +++ b/system-setup/installers/packages/debian-bullseye.sh @@ -0,0 +1,113 @@ +sudo apt-get install \ + build-essential \ + clang \ + git \ + cmake \ + flex \ + subversion \ + automake \ + libf2c2-dev \ + libalut-dev \ + libtool \ + libgsl-dev \ + r-base-core \ + libfcgi-dev \ + libimlib2-dev \ + libg2-dev \ + libexif-dev \ + libfann-dev \ + libgts-dev \ + libglpk-dev \ + libaugeas-dev \ + libtokyocabinet-dev \ + libossp-uuid-dev \ + libatlas-base-dev \ + libsundials-dev \ + liblapack-dev \ + libsdl-net1.2-dev \ + libffi-dev \ + libsoil-dev \ + gfortran \ + libplot-dev \ + libxosd-dev \ + libreadline-dev \ + libncurses5-dev \ + libssl-dev \ + libopenmpi-dev \ + default-libmysqlclient-dev \ + libopenal-dev \ + python3-dev \ + libsqlite3-dev \ + libgdbm-dev \ + freetds-dev \ + libstemmer-dev \ + zlib1g-dev \ + libsvn-dev \ + libfltk1.3-dev \ + libzmq3-dev \ + libmpfi-dev \ + libphysfs-dev \ + tk8.6 \ + freeglut3-dev \ + libglfw3-dev \ + libsdl1.2-dev \ + libsdl-mixer1.2-dev \ + libsdl-sound1.2-dev \ + libsdl-ttf2.0-dev \ + libsdl-gfx1.2-dev \ + libsdl-image1.2-dev \ + libwebkit2gtk-4.0-dev \ + openmpi-bin \ + libglm-dev \ + libusb-1.0-0-dev \ + libffcall1-dev \ + libdb-dev \ + openjdk-11-jdk \ + openjdk-11-dbg \ + ant \ + libdb5.3-dev \ + libavcodec-dev \ + libavformat-dev \ + libswscale-dev \ + graphviz \ + time \ + libmagic-dev \ + libfuse-dev \ + units \ + postgresql-server-dev-all \ + libmarkdown2-dev \ + xorg-dev \ + libglu1-mesa-dev \ + libglew-dev \ + libleveldb-dev \ + libyaml-dev \ + libudev-dev \ + liblmdb-dev \ + libola-dev \ + libprotobuf-dev \ + libnanomsg-dev \ + libsass-dev \ + libsndfile1-dev \ + liblzma-dev \ + libsdl2-dev \ + libleptonica-dev \ + libsvm-dev \ + libsdl2-ttf-dev \ + libsdl2-image-dev \ + liblink-grammar-dev \ + liballegro5-dev \ + liballegro-image5-dev \ + liballegro-acodec5-dev \ + liballegro-dialog5-dev \ + liballegro-audio5-dev \ + liballegro-physfs5-dev \ + liballegro-image5-dev \ + liballegro-ttf5-dev\ + libstfl-dev \ + libblosc-dev \ + libgumbo-dev \ + haveged \ + gnuplot \ + libtag1-dev \ + libespeak-ng-dev \ + librocksdb-dev \ diff --git a/system-setup/installers/proccpuinfo.sh b/system-setup/installers/proccpuinfo.sh new file mode 100644 index 0000000..93e9730 --- /dev/null +++ b/system-setup/installers/proccpuinfo.sh @@ -0,0 +1,7 @@ +wget http://download.savannah.gnu.org/releases/proccpuinfo/libproccpuinfo-0.0.8.tar.bz2 +tar xjvf libproccpuinfo-0.0.8.tar.bz2 +cd libproccpuinfo-0.0.8/ +cmake -D CMAKE_INSTALL_PREFIX=/usr/local . +make +make test +sudo make install diff --git a/system-setup/installers/tcc.sh b/system-setup/installers/tcc.sh new file mode 100644 index 0000000..8f5ee91 --- /dev/null +++ b/system-setup/installers/tcc.sh @@ -0,0 +1,12 @@ +version=0.9.27 + +wget -c "http://download.savannah.gnu.org/releases/tinycc/tcc-$version.tar.bz2" +rm -rf "tcc-$version" +tar xjf "tcc-$version.tar.bz2" +cd "tcc-$version" + +# To compile some eggs we need a larger VSTACK_SIZE +sed -i tcc.h -e 's/#define VSTACK_SIZE 256/#define VSTACK_SIZE 1024/' +./configure +make +sudo make installTrap