#!/bin/bash

SRCDIR="/var/local/src"
PKGSDIR="/var/local/pkgs"



SEPARATOR="##############################################################################"



echo
echo
echo $SEPARATOR
echo "# Getting base packages"
echo

sudo apt-get update

sudo apt-get install cmake build-essential python-pip libusb-1.0-0-dev python-numpy git git-core pandoc



echo
echo
echo $SEPARATOR
echo "# Building RTL-SDR"
echo

read -p "Install Base RTLSDR?  " install_rtlsdr

if [[ "$install_rtlsdr" == "y" ]]; then

   cd $SRCDIR

   git clone git://git.osmocom.org/rtl-sdr.git
   
   cd rtl-sdr
   
   mkdir build
   
   cd build
   
   #cmake ../ -DINSTALL_UDEV_RULES=ON   # Pi
   cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
   
      # Note that faster execution can be had on more recent Raspberry Pi 
      # models (B+, 3) by using four processors. The command becomes:
      # make -j5
   make
   
   sudo make install
   
   sudo ldconfig
      # if it was successful you should see no return on the previous command.
   
   #sudo cp ../rtl-sdr.rules /etc/udev/rules.d/01-rtl-sdr.rules   # Pi
   sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
   
   #  blacklist and unload kernel modules
      cat > /etc/modprobe.d/no-dvb.conf << EOF
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
EOF
   
   # maybe for Pi
   ## rmmod dvb_usb_rtl28xxu 
   ## rmmod rtl2830
   ## rmmod rtl2832
   
else

   echo -e "...skipping\n\n"

fi





echo
echo
echo $SEPARATOR
echo "# pyRTLSDR"
echo

read -p "Install pyRTLSDR?  " install_pyrtlsdr

if [[ "$install_pyrtlsdr" == "y" ]]; then

   echo -e "\nInstalling pyRTLSDR\n"

   sudo pip install pyrtlsdr


else

   echo -e "...skipping\n\n"

fi





echo
echo
echo $SEPARATOR
echo "# FreqShow"
echo

read -p "Install FreqShow?  " install_freqshow

if [[ "$install_freqshow" == "y" ]]; then

   echo -e "\nInstalling FreqShow\n"

   git clone https://github.com/adafruit/FreqShow.git


else

   echo -e "...skipping\n\n"

fi





echo
echo
echo $SEPARATOR
echo "# SoapySDR"
echo

read -p "Install SoapySDR?  " install_soapysdr

if [[ "$install_soapysdr" == "y" ]]; then

   #
   # SoapySDR
   #

   cd $SRCDIR
   
   git clone https://github.com/pothosware/SoapySDR.git
   cd SoapySDR/
   mkdir build
   cd build
   cmake ..
   make -j4
   sudo make install
   sudo ldconfig 

   #
   # SoapyRTLSDR
   #

   cd $SRCDIR

   git clone https://github.com/pothosware/SoapyRTLSDR.git
   cd SoapyRTLSDR/
   mkdir build
   cd build/
   cmake ..
   make 
   sudo make install

   SoapySDRUtil --probe="driver=rtlsdr"

   #
   # SoapyRemote
   #

   cd $SRCDIR

   git clone http://github.com/pothosware/SoapyRemote.git
   cd SoapyRemote/
   mkdir build
   cd build/
   cmake ..
   make
   sudo make install
   
   echo
   echo "To run the Soapy business, just type:"
   echo "> SoapySDRServer --bind"
   echo

else

   echo -e "...skipping\n\n"

fi





echo
echo
echo $SEPARATOR
echo "# OP25"
echo

read -p "Install OP25?  " install_op25

if [[ "$install_op25" == "y" ]]; then

cd $SRCDIR

git clone https://git.osmocom.org/op25

cd op25

./install.sh

else

   echo -e "...skipping\n\n"

fi





