FROM custom/sdr-apps:latest

ENV DEBIAN_FRONTEND=noninteractive

USER root

RUN apt update


################################################################################

RUN apt install -y gnuradio-dev \
                   libvolk-dev \
                   pybind11-dev \
                   libsndfile1-dev

RUN cd && \
   git clone https://github.com/muccc/gr-iridium.git && \
   cd gr-iridium && \
   git checkout f90bc7d && \
   mkdir build && \
   cd build && \
   cmake -DCMAKE_INSTALL_PREFIX=/usr .. && \
   make clean && \
   make -j8 install

################################################################################

# https://github.com/bastibl/gr-ieee802-15-4.git
RUN cd && \
   git clone https://github.com/bastibl/gr-ieee802-15-4.git && \
   cd gr-ieee802-15-4 && \
   git checkout maint-3.10 && \
   mkdir build && \
   cd build && \
   cmake -DCMAKE_INSTALL_PREFIX=/usr .. && \
   make clean && \
   make -j8 install

################################################################################
RUN apt install -y libboost-dev \
      libitpp-dev \
      libboost-date-time-dev \
      libboost-filesystem-dev \
      libboost-program-options-dev \
      libboost-system-dev \
      libboost-thread-dev \
      libboost-regex-dev \
      libboost-test-dev \
      swig \
      cmake \
      build-essential \
      pkg-config \
      gnuradio-dev \
      libconfig++-dev \
      libgmp-dev \
      liborc-0.4-0 \
      liborc-0.4-dev \
      liborc-0.4-dev-bin \
      nlohmann-json3-dev \
      libpng++-dev \
      libvorbis-dev \
      git \
      libhamlib-dev \
      libhamlib++-dev \
      libgsl-dev


RUN cd && \
   git clone https://gitlab.com/librespacefoundation/satnogs/gr-satnogs.git && \
   cd gr-satnogs && \
   git checkout gnuradio-3.10 && \
   git submodule init && \
   git submodule update && \
   mkdir build && \
   cd build && \
   cmake -DCMAKE_INSTALL_PREFIX=/usr .. && \
   make clean && \
   make -j8 install

################################################################################
RUN cd && \
   git clone https://github.com/DIFI-Consortium/gr-difi.git && \
   cd gr-difi && \
   mkdir build && \
   cd build && \
   cmake -DCMAKE_INSTALL_PREFIX=/usr .. && \
   make clean && \
   make -j8 install

################################################################################
RUN cd && \
   git clone https://github.com/radioconda/gr-inspector.git && \
   cd gr-inspector && \
   mkdir build && \
   cd build && \
   cmake -DCMAKE_INSTALL_PREFIX=/usr .. && \
   make clean && \
   make -j8 install

################################################################################
RUN cd && \
    git clone https://github.com/tapparelj/gr-lora_sdr.git && \
    cd gr-lora_sdr && \
    mkdir build && cd build && \
    cmake -DCMAKE_INSTALL_PREFIX=/usr .. && \
    make clean && \
    make -j8 install

################################################################################
RUN cd && \
   git clone https://github.com/daniestevez/gr-satellites.git && \
   cd gr-satellites && \
   git checkout maint-3.10 && \
   mkdir build && \
   cd build && \
   cmake -DCMAKE_INSTALL_PREFIX=/usr .. && \
   make clean && \
   make -j8 install

################################################################################
RUN cd && \
   git clone https://github.com/karel/gr-adapt.git && \
   cd gr-adapt && \
   mkdir build && \
   cd build && \
   cmake -DCMAKE_INSTALL_PREFIX=/usr .. && \
   make clean && \
   make -j8 install
################################################################################

RUN userdel -r ubuntu
RUN mkdir /home/gnuradio
RUN useradd --uid 1000 -m gnuradio -d /home/gnuradio
RUN chown -R gnuradio /home/gnuradio

RUN apt-get clean

USER gnuradio

