image: debian:10 cache: when: always paths: - ccache build: stage: build before_script: - apt-get update # one package per line to simplify sorting, git diff, etc. - >- apt-get -y install autoconf bison build-essential ccache clang cmake curl flex gawk git gperf libboost-program-options-dev libffi-dev libftdi-dev libgmp-dev libmpfr-dev libreadline-dev mercurial pkg-config python python3 python3-dev python3-keyring python3-pip python3-setuptools python3-wheel tcl-dev - export PATH="$HOME/.local/bin:/usr/lib/ccache:$PATH" - export CCACHE_BASEDIR="$PWD" - export CCACHE_DIR="$PWD/ccache" - export CCACHE_COMPILERCHECK=content - ccache --zero-stats || true - ccache --show-stats || true - python3 -m pip install --user pytest-xdist twine cython script: - IEEE754FPU_PATH="$(pwd)" - git clone --depth 1 --recursive https://github.com/billzorn/sfpy.git sfpy - git rev-parse HEAD - pushd sfpy - pushd berkeley-softfloat-3 - git apply "$IEEE754FPU_PATH"/berkeley-softfloat.patch - popd - pushd SoftPosit - git apply ../softposit_sfpy_build.patch - git apply "$IEEE754FPU_PATH"/SoftPosit.patch - popd - ln -s `which python3` ~/.local/bin/python - make lib -j$(nproc) - make cython -j$(nproc) - make wheel -j$(nproc) - rm ~/.local/bin/python - python3 -m pip install --user dist/sfpy*.whl - popd - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys - pushd yosys - git rev-parse HEAD - make config-gcc - make -j$(nproc) - make install - popd - yosys -V - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys - pushd SymbiYosys - git rev-parse HEAD - make install - popd - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2 - pushd yices2 - git rev-parse HEAD - autoconf - ./configure - make -j$(nproc) - make install - popd - git clone --depth 1 https://github.com/Z3Prover/z3.git z3 - pushd z3 - git rev-parse HEAD - python scripts/mk_make.py - cd build - make -j$(nproc) - make install - popd - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen - pushd nmigen - git rev-parse HEAD - python3 setup.py develop - popd - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil - pushd nmutil - git rev-parse HEAD - python3 setup.py develop - popd - python3 setup.py develop - pytest -n auto src/ieee754