#!/bin/bash
if [ "$EUID" -ne 0 ]
- then echo "Please run as root"
+ then echo "Please run as root using 'sudo bash'"
exit
fi
-mount -t proc proc /proc
-mount -t sysfs sysfs /sys
-mount -t devpts -o rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 devpts /dev/pts
-
apt-get update -y
-apt-get install -y python3 python3-dev clang cmake libboost-dev libboost-filesystem-dev libboost-thread-dev libboost-program-options-dev libboost-iostreams-dev openocd libeigen3-dev
+apt-get install -y python3 python3-dev clang cmake libboost-dev \
+ libboost-filesystem-dev libboost-thread-dev \
+ libboost-program-options-dev libboost-iostreams-dev \
+ openocd libeigen3-dev
-cd /home
-mkdir nextpnr
-cd nextpnr
+# change into $SUDO_USER home directory
+cd /home/$SUDO_USER
+mkdir -p src/nextpnr
+cd src/nextpnr
-git clone --recursive https://github.com/YosysHQ/prjtrellis
+git clone --recursive -b 1.2.1 https://github.com/YosysHQ/prjtrellis
git clone --recursive https://github.com/YosysHQ/nextpnr
+# prjtrellis
cd prjtrellis
cd libtrellis
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/libtrellis .
-make
+make -j$(nproc)
make install
cd ../..
+# nextpnr, use a specific version for now
cd nextpnr
-cmake -DCMAKE_INSTALL_PREFIX=/usr/local/nextpnr-ecp5 -DARCH=ecp5 -DTRELLIS_INSTALL_PREFIX=/usr/local/libtrellis .
-make
+git checkout e069b3bc
+cmake -DCMAKE_INSTALL_PREFIX=/usr/local/nextpnr-ecp5 \
+ -DBUILD_PYTHON=OFF \
+ -DBUILD_GUI=OFF \
+ -DARCH=ecp5 \
+ -DTRELLIS_INSTALL_PREFIX=/usr/local/libtrellis .
+make -j$(nproc)
make install
-umount /dev/pts
-umount /sys
-umount /proc
+cd /home/$SUDO_USER/src/nextpnr
+chown -R $SUDO_USER .
+chgrp -R $SUDO_USER .