Merge pull request #142058 from sikmir/sdrpp
commit
fc31e2b96f
|
@ -0,0 +1,25 @@
|
||||||
|
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libusb1 }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "airspyhf";
|
||||||
|
version = "1.6.8";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "airspy";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-RKTMEDPeKcerJZtXTn8eAShxDcZUMgeQg/+7pEpMyVg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
|
||||||
|
buildInputs = [ libusb1 ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "User mode driver for Airspy HF+";
|
||||||
|
homepage = "https://github.com/airspy/airspyhf";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ sikmir ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,107 @@
|
||||||
|
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
|
||||||
|
, libX11, glfw, glew, fftwFloat, volk
|
||||||
|
# Sources
|
||||||
|
, airspy_source ? true, airspy
|
||||||
|
, airspyhf_source ? true, airspyhf
|
||||||
|
, bladerf_source ? false, libbladeRF
|
||||||
|
, file_source ? true
|
||||||
|
, hackrf_source ? true, hackrf
|
||||||
|
, limesdr_source ? false, limesuite
|
||||||
|
, sddc_source ? false
|
||||||
|
, rtl_sdr_source ? true, librtlsdr, libusb1
|
||||||
|
, rtl_tcp_source ? true
|
||||||
|
, sdrplay_source ? false, sdrplay
|
||||||
|
, soapy_source ? true, soapysdr
|
||||||
|
, spyserver_source ? true
|
||||||
|
, plutosdr_source ? true, libiio, libad9361
|
||||||
|
# Sinks
|
||||||
|
, audio_sink ? true, rtaudio
|
||||||
|
, portaudio_sink ? false, portaudio
|
||||||
|
, network_sink ? true
|
||||||
|
# Decoders
|
||||||
|
, falcon9_decoder ? false
|
||||||
|
, m17_decoder ? false, codec2
|
||||||
|
, meteor_demodulator ? true
|
||||||
|
, radio ? true
|
||||||
|
, weather_sat_decoder ? true
|
||||||
|
# Misc
|
||||||
|
, discord_presence ? true
|
||||||
|
, frequency_manager ? true
|
||||||
|
, recorder ? true
|
||||||
|
, rigctl_server ? true
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "sdrpp";
|
||||||
|
version = "1.0.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "AlexandreRouma";
|
||||||
|
repo = "SDRPlusPlus";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-g9tpWvVRMXRhPfgvOeJhX6IMouF9+tLUr9wo5r35i/c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace CMakeLists.txt \
|
||||||
|
--replace "/usr" $out
|
||||||
|
substituteInPlace decoder_modules/m17_decoder/src/m17dsp.h \
|
||||||
|
--replace "codec2.h" "codec2/codec2.h"
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
|
||||||
|
buildInputs = [ glfw glew fftwFloat volk ]
|
||||||
|
++ lib.optional stdenv.isLinux libX11
|
||||||
|
++ lib.optional airspy_source airspy
|
||||||
|
++ lib.optional airspyhf_source airspyhf
|
||||||
|
++ lib.optional bladerf_source libbladeRF
|
||||||
|
++ lib.optional hackrf_source hackrf
|
||||||
|
++ lib.optional limesdr_source limesuite
|
||||||
|
++ lib.optionals rtl_sdr_source [ librtlsdr libusb1 ]
|
||||||
|
++ lib.optional sdrplay_source sdrplay
|
||||||
|
++ lib.optional soapy_source soapysdr
|
||||||
|
++ lib.optionals plutosdr_source [ libiio libad9361 ]
|
||||||
|
++ lib.optional audio_sink rtaudio
|
||||||
|
++ lib.optional portaudio_sink portaudio
|
||||||
|
++ lib.optional m17_decoder codec2;
|
||||||
|
|
||||||
|
cmakeFlags = lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
|
||||||
|
OPT_BUILD_AIRSPY_SOURCE = airspy_source;
|
||||||
|
OPT_BUILD_AIRSPYHF_SOURCE = airspyhf_source;
|
||||||
|
OPT_BUILD_BLADERF_SOURCE = bladerf_source;
|
||||||
|
OPT_BUILD_FILE_SOURCE = file_source;
|
||||||
|
OPT_BUILD_HACKRF_SOURCE = hackrf_source;
|
||||||
|
OPT_BUILD_LIMESDR_SOURCE = limesdr_source;
|
||||||
|
OPT_BUILD_SDDC_SOURCE = sddc_source;
|
||||||
|
OPT_BUILD_RTL_SDR_SOURCE = rtl_sdr_source;
|
||||||
|
OPT_BUILD_RTL_TCP_SOURCE = rtl_tcp_source;
|
||||||
|
OPT_BUILD_SDRPLAY_SOURCE = sdrplay_source;
|
||||||
|
OPT_BUILD_SOAPY_SOURCE = soapy_source;
|
||||||
|
OPT_BUILD_SPYSERVER_SOURCE = spyserver_source;
|
||||||
|
OPT_BUILD_PLUTOSDR_SOURCE = plutosdr_source;
|
||||||
|
OPT_BUILD_AUDIO_SINK = audio_sink;
|
||||||
|
OPT_BUILD_PORTAUDIO_SINK = portaudio_sink;
|
||||||
|
OPT_BUILD_NETWORK_SINK = network_sink;
|
||||||
|
OPT_BUILD_NEW_PORTAUDIO_SINK = portaudio_sink;
|
||||||
|
OPT_BUILD_FALCON9_DECODER = falcon9_decoder;
|
||||||
|
OPT_BUILD_M17_DECODER = m17_decoder;
|
||||||
|
OPT_BUILD_METEOR_DEMODULATOR = meteor_demodulator;
|
||||||
|
OPT_BUILD_RADIO = radio;
|
||||||
|
OPT_BUILD_WEATHER_SAT_DECODER = weather_sat_decoder;
|
||||||
|
OPT_BUILD_DISCORD_PRESENCE = discord_presence;
|
||||||
|
OPT_BUILD_FREQUENCY_MANAGER = frequency_manager;
|
||||||
|
OPT_BUILD_RECORDER = recorder;
|
||||||
|
OPT_BUILD_RIGCTL_SERVER = rigctl_server;
|
||||||
|
};
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = "-fpermissive";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Cross-Platform SDR Software";
|
||||||
|
homepage = "https://github.com/AlexandreRouma/SDRPlusPlus";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ sikmir ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
{ lib, stdenv, fetchFromGitHub, cmake, libiio }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "libad9361";
|
||||||
|
version = "0.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "analogdevicesinc";
|
||||||
|
repo = "libad9361-iio";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-dYoFWRnREvlOC514ZpmmvoS37DmIkVqfq7JPpTXqXd8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
buildInputs = [ libiio ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "IIO AD9361 library for filter design and handling, multi-chip sync, etc";
|
||||||
|
homepage = "http://analogdevicesinc.github.io/libad9361-iio/";
|
||||||
|
license = licenses.lgpl21Plus;
|
||||||
|
maintainers = with maintainers; [ sikmir ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -904,6 +904,8 @@ with pkgs;
|
||||||
|
|
||||||
airspy = callPackage ../applications/radio/airspy { };
|
airspy = callPackage ../applications/radio/airspy { };
|
||||||
|
|
||||||
|
airspyhf = callPackage ../applications/radio/airspyhf { };
|
||||||
|
|
||||||
airtame = callPackage ../applications/misc/airtame { };
|
airtame = callPackage ../applications/misc/airtame { };
|
||||||
|
|
||||||
aj-snapshot = callPackage ../applications/audio/aj-snapshot { };
|
aj-snapshot = callPackage ../applications/audio/aj-snapshot { };
|
||||||
|
@ -17001,6 +17003,8 @@ with pkgs;
|
||||||
inherit (darwin.apple_sdk.frameworks) IOKit;
|
inherit (darwin.apple_sdk.frameworks) IOKit;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
libad9361 = callPackage ../development/libraries/libad9361 { };
|
||||||
|
|
||||||
libadwaita = callPackage ../development/libraries/libadwaita { };
|
libadwaita = callPackage ../development/libraries/libadwaita { };
|
||||||
|
|
||||||
libaec = callPackage ../development/libraries/libaec { };
|
libaec = callPackage ../development/libraries/libaec { };
|
||||||
|
@ -19249,6 +19253,8 @@ with pkgs;
|
||||||
|
|
||||||
sdrplay = callPackage ../applications/radio/sdrplay {};
|
sdrplay = callPackage ../applications/radio/sdrplay {};
|
||||||
|
|
||||||
|
sdrpp = callPackage ../applications/radio/sdrpp { };
|
||||||
|
|
||||||
sblim-sfcc = callPackage ../development/libraries/sblim-sfcc {};
|
sblim-sfcc = callPackage ../development/libraries/sblim-sfcc {};
|
||||||
|
|
||||||
selinux-sandbox = callPackage ../os-specific/linux/selinux-sandbox { };
|
selinux-sandbox = callPackage ../os-specific/linux/selinux-sandbox { };
|
||||||
|
|
Loading…
Reference in New Issue