add missing packages
[soc.git] / .gitlab-ci.yml
1 image: debian:10
2
3 cache:
4 paths:
5 - ccache
6
7 build:
8 stage: build
9 before_script:
10 - apt-get update
11 - >-
12 apt-get -y install
13 build-essential git python3-dev python3-pip
14 python3-setuptools python3-wheel pkg-config tcl-dev
15 libreadline-dev bison flex libffi-dev ccache python3-venv
16 binutils-powerpc64-linux-gnu binutils-powerpc64le-linux-gnu
17 autoconf gperf libgmp-dev
18 - export PATH="/usr/lib/ccache:$PATH"
19 - export CCACHE_BASEDIR="$PWD"
20 - export CCACHE_DIR="$PWD/ccache"
21 - export CCACHE_COMPILERCHECK=content
22 - ccache --zero-stats || true
23 - ccache --show-stats || true
24 after_script:
25 - export CCACHE_DIR="$PWD/ccache"
26 - ccache --show-stats
27 script:
28 - python3 -m venv .env
29 - . .env/bin/activate
30 - pip install nose
31
32 - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2
33 - pushd yices2
34 - autoconf
35 - ./configure
36 - make -j$(nproc)
37 - make install
38 - popd
39
40 - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
41 - pushd yosys
42 - make config-gcc
43 - make -j$(nproc)
44 - make install
45 - popd
46 - yosys -V
47
48 - git clone --depth 1 https://github.com/nmigen/nmigen.git nmigen
49 - pushd nmigen
50 - python setup.py develop
51 - popd
52
53 - git clone --depth 1 git://git.libre-riscv.org/nmutil.git nmutil
54 - pushd nmutil
55 - python setup.py develop
56 - popd
57
58 - git clone --depth 1 git://git.libre-riscv.org/ieee754fpu.git ieee754fpu
59 - pushd ieee754fpu
60 - python setup.py develop
61 - popd
62
63 - IEEE754FPU_PATH="$(pwd)"/ieee754fpu
64 - git clone --depth 1 --recursive https://github.com/billzorn/sfpy.git sfpy
65 - pushd sfpy
66 - pushd berkeley-softfloat-3
67 - git apply "$IEEE754FPU_PATH"/berkeley-softfloat.patch
68 - popd
69 - pushd SoftPosit
70 - git apply ../softposit_sfpy_build.patch
71 - git apply "$IEEE754FPU_PATH"/SoftPosit.patch
72 - popd
73 - pip install --upgrade -r requirements.txt
74 - make lib -j$(nproc)
75 - make cython -j$(nproc)
76 - make wheel -j$(nproc)
77 - pip install dist/sfpy*.whl
78 - popd
79
80 - python setup.py develop
81 - python src/soc/decoder/pseudo/pywriter.py
82 - nosetests -v --processes=-1