nix-config/overlay/openwebrx.nix

118 lines
2.3 KiB
Nix

{ 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;
};
}