11 PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
12 GIT_SUBMODULE_STRATEGY: recursive
19 - apt-get -o dir::cache::archives="$(pwd)/apt-cache" update
21 apt-get -o dir::cache::archives="$(pwd)/apt-cache" -y install
22 build-essential git python3-dev python3-pip
23 python3-setuptools python3-wheel pkg-config tcl-dev
24 libreadline-dev bison flex libffi-dev ccache python3-venv
25 binutils-powerpc64-linux-gnu binutils-powerpc64le-linux-gnu
26 autoconf gperf libgmp-dev libmpfr-dev libssl-dev curl
27 - export PATH="/usr/lib/ccache:$PATH"
28 - export CCACHE_BASEDIR="$PWD"
29 - export CCACHE_DIR="$PWD/ccache"
30 - export CCACHE_COMPILERCHECK=content
31 - ccache --zero-stats || true
32 - ccache --show-stats || true
33 - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
34 - source $HOME/.cargo/env
36 - export CCACHE_DIR="$PWD/ccache"
39 - python3 -m venv .env
43 - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2
47 - make -j$(nproc) > /dev/null
51 - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
54 - make -j$(nproc) > /dev/null
59 - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
61 - make install > /dev/null
64 - git clone --depth 1 https://github.com/nmigen/nmigen.git nmigen
66 - python setup.py develop
69 - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil
71 - python setup.py develop
74 - git clone --depth 1 https://git.libre-soc.org/git/nmigen-soc.git nmigen-soc
76 - git tag | xargs git tag -d
77 - python setup.py develop
80 - git clone --depth 1 https://git.libre-soc.org/git/ieee754fpu.git ieee754fpu
82 - python setup.py develop
85 - git clone --depth 1 https://git.libre-soc.org/git/openpower-isa.git openpower-isa
87 - python3 setup.py develop
88 - make -j$(nproc) svanalysis > /dev/null
89 - make -j$(nproc) pyfnwriter > /dev/null 2>&1
90 - make -j$(nproc) pywriter > /dev/null 2>&1
93 - git clone --depth 1 https://git.libre-soc.org/git/c4m-jtag.git c4m-jtag
95 - python setup.py develop
98 - IEEE754FPU_PATH="$(pwd)"/ieee754fpu
99 - git clone --depth 1 --recursive https://github.com/billzorn/sfpy.git sfpy
101 - pushd berkeley-softfloat-3
102 - git apply "$IEEE754FPU_PATH"/berkeley-softfloat.patch
105 - git apply ../softposit_sfpy_build.patch
106 - git apply "$IEEE754FPU_PATH"/SoftPosit.patch
108 - pip install --upgrade -r requirements.txt
109 - make lib -j$(nproc)
110 - make cython -j$(nproc)
111 - make wheel -j$(nproc)
112 - pip install dist/sfpy*.whl
115 - cargo install maturin
116 - git clone --depth 1 https://git.libre-soc.org/git/power-instruction-analyzer.git pia
118 - maturin build --cargo-extra-args=--features=python-extension
119 - python3 -m pip install target/wheels/*.whl
122 - python setup.py develop
123 - nosetests -v --processes=-1 --process-timeout=120 -w src/