{ stdenv, buildPythonPackage, buildPythonApplication, fetchFromGitHub , autoreconfHook, pkg-config, fftw, libsamplerate , cmake, rtl-sdr, soapysdr-with-plugins, alsa-lib , setuptools }: let csdr = stdenv.mkDerivation rec { pname = "csdr"; version = "0.17.1"; src = fetchFromGitHub { owner = "jketterl"; repo = pname; rev = version; sha256 = "1vip5a3xgskcwba3xi66zfr986xrsch9na7my818cm8vw345y57b"; }; patchPhase = '' substituteInPlace configure.ac \ --replace -Wformat=0 "" ''; nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ (fftw.overrideAttrs (oa: { configureFlags = oa.configureFlags ++ [ "--enable-float" ]; })) libsamplerate ]; }; js8py = buildPythonPackage rec { pname = "js8py"; version = "0.1.1"; src = fetchFromGitHub { owner = "jketterl"; repo = pname; rev = version; sha256 = "1j80zclg1cl5clqd00qqa16prz7cyc32bvxqz2mh540cirygq24w"; }; }; owrx_connector = stdenv.mkDerivation rec { pname = "owrx_connector"; version = "0.5.0"; src = fetchFromGitHub { owner = "jketterl"; repo = pname; rev = version; sha256 = "0gz4nf2frrkx1mpjfjpz2j919fkc99g5lxd8lhva3lgqyisvf4yj"; }; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ rtl-sdr soapysdr-with-plugins ]; }; direwolf = stdenv.mkDerivation rec { pname = "direwolf"; version = "1.6"; src = fetchFromGitHub { owner = "wb2osz"; repo = pname; rev = version; sha256 = "0xmz64m02knbrpasfij4rrq53ksxna5idxwgabcw4n2b1ig7pyx5"; }; patchPhase = '' substituteInPlace conf/CMakeLists.txt \ --replace /etc/udev/ $out/etc/udev/ ''; nativeBuildInputs = [ cmake ]; buildInputs = [ alsa-lib ]; }; in buildPythonApplication rec { pname = "openwebrx"; version = "1.1.0"; src = fetchFromGitHub { owner = "jketterl"; repo = pname; rev = version; sha256 = "0maxs07yx235xknvkbmhi2zds3vfkd66l6wz6kspz3jzl4c0v1f9"; }; propagatedBuildInputs = [ setuptools csdr js8py soapysdr-with-plugins owrx_connector direwolf ]; passthru = { inherit csdr js8py owrx_connector direwolf; }; }