64 lines
1.8 KiB
Text
64 lines
1.8 KiB
Text
https://github.com/drbild/json2yaml.gitBootstrap: library
|
|
From: ubuntu:20.04
|
|
|
|
%post
|
|
|
|
# Dependencies
|
|
apt -y update
|
|
apt -y install software-properties-common
|
|
add-apt-repository universe
|
|
apt -y update
|
|
apt -y dist-upgrade
|
|
apt -y install git clang-9 cmake make libeigen3-dev
|
|
apt clean
|
|
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-9 90
|
|
update-alternatives --set c++ /usr/bin/clang++-9
|
|
|
|
# Temporary directory where we are going to build everything.
|
|
tmpdir=$(mktemp -d)
|
|
mkdir -p ${tmpdir}/fastga/
|
|
|
|
# Build IOH
|
|
cd ${tmpdir}/fastga/
|
|
git clone --branch feat+EAF --single-branch --recurse-submodules https://github.com/jdreo/IOHexperimenter.git
|
|
cd IOHexperimenter
|
|
mkdir -p release
|
|
cd release
|
|
cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTS=OFF -D BUILD_EXAMPLE=OFF -D BUILD_GMOCK=OFF ..
|
|
make
|
|
|
|
# Build Paradiseo
|
|
cd ${tmpdir}/fastga/
|
|
git clone --branch feat+num_foundry --single-branch https://github.com/jdreo/paradiseo.git
|
|
cd paradiseo
|
|
touch LICENSE
|
|
mkdir -p release
|
|
cd release
|
|
cmake -D CMAKE_BUILD_TYPE=Release -EDO=ON -EDO_USE_LIB=Eigen3 ..
|
|
make
|
|
|
|
# Build FastGA
|
|
cd ${tmpdir}/fastga/paradiseo/eo/contrib/irace/
|
|
mkdir -p release
|
|
cd release
|
|
cmake -D CMAKE_BUILD_TYPE=Release -D IOH_ROOT=${tmpdir}/fastga/IOHexperimenter/ -D PARADISEO_ROOT=${tmpdir}/fastga/paradiseo/ -D PARADISEO_BUILD=${tmpdir}/fastga/paradiseo/release/ ..
|
|
make
|
|
|
|
# Install FastGA
|
|
cp fastga /usr/local/bin/
|
|
|
|
# Clean-up
|
|
rm -rf ${tmpdir}
|
|
apt -y purge software-properties-common git clang-9 cmake make libeigen3-dev
|
|
apt -y --purge autoremove
|
|
apt -y autoclean
|
|
apt clean
|
|
|
|
%environment
|
|
|
|
%runscript
|
|
/usr/local/bin/fastga $*
|
|
|
|
%labels
|
|
Author Quentin Renau
|
|
Author Johann Dreo
|