#!/bin/bash
set -e

echo "🧹 Régi könyvtárak törlése..."
rm -rf rtl-sdr SoapySDR SoapyRTLSDR CubicSDR

echo "🔧 Előfeltételek telepítése..."
sudo apt update
sudo apt install -y git cmake build-essential libtool autoconf \
                    libusb-1.0-0 libusb-1.0-0-dev pkg-config \
                    libwxgtk3.2-dev wx3.2-headers wx-common

echo "📡 rtl-sdr forrás letöltése..."
git clone https://github.com/osmocom/rtl-sdr.git
cd rtl-sdr

echo "🧠 CMake konfiguráció javítása (src/CMakeLists.txt)..."
sed -i '1i\
find_package(PkgConfig REQUIRED)\n\
pkg_check_modules(LIBUSB REQUIRED libusb-1.0)\n\
include_directories(${LIBUSB_INCLUDE_DIRS})\n\
link_directories(${LIBUSB_LIBRARY_DIRS})' src/CMakeLists.txt

echo "⚙️ rtl-sdr fordítás és telepítés..."
mkdir -p build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make -j$(nproc)
sudo make install
sudo ldconfig

echo "🔐 Udev szabályok aktiválása..."
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

echo "🧼 DVB modul eltávolítása (ha betöltődött)..."
sudo rmmod dvb_usb_rtl2832u || echo "Nem volt betöltve."

cd ../..

echo "🧠 SoapySDR telepítése..."
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
sudo ldconfig
cd ../..

echo "📦 SoapyRTLSDR modul telepítése..."
git clone https://github.com/pothosware/SoapyRTLSDR.git
cd SoapyRTLSDR
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
sudo ldconfig
cd ../..

echo "🖥️ CubicSDR telepítése..."
git clone https://github.com/cjcliffe/CubicSDR.git
cd CubicSDR
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
sudo ldconfig

echo "✅ Telepítés kész! CubicSDR futtatásához gépeld be: CubicSDR"

