diff --git a/nixos/modules/services/web-apps/openwebrx.nix b/nixos/modules/services/web-apps/openwebrx.nix index 9e90c01e0bb..c530a07610f 100644 --- a/nixos/modules/services/web-apps/openwebrx.nix +++ b/nixos/modules/services/web-apps/openwebrx.nix @@ -19,6 +19,7 @@ in wantedBy = [ "multi-user.target" ]; path = with pkgs; [ csdr + digiham alsaUtils netcat ]; diff --git a/pkgs/applications/audio/codecserver/default.nix b/pkgs/applications/audio/codecserver/default.nix new file mode 100644 index 00000000000..8a5c3d842d4 --- /dev/null +++ b/pkgs/applications/audio/codecserver/default.nix @@ -0,0 +1,34 @@ +{ stdenv, lib, fetchFromGitHub +, cmake, pkg-config, udev, protobuf +}: + +stdenv.mkDerivation rec { + pname = "codecserver"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "jketterl"; + repo = pname; + rev = version; + sha256 = "sha256-JzaVBFl3JsFNDm4gy1qOKA9uAjUjNeMiI39l5gfH0aE="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + udev + ]; + + propagatedBuildInputs = [ protobuf ]; + + meta = with lib; { + homepage = "https://github.com/jketterl/codecserver"; + description = "Modular audio codec server"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = teams.c3d2.members; + }; +} diff --git a/pkgs/applications/radio/csdr/default.nix b/pkgs/applications/radio/csdr/default.nix index ed1a5227694..db4efe4b1ef 100644 --- a/pkgs/applications/radio/csdr/default.nix +++ b/pkgs/applications/radio/csdr/default.nix @@ -1,29 +1,24 @@ { stdenv, lib, fetchFromGitHub -, autoreconfHook, pkg-config, fftwFloat, libsamplerate +, cmake, pkg-config, fftwFloat, libsamplerate }: stdenv.mkDerivation rec { pname = "csdr"; - version = "0.17.1"; + version = "0.18.0"; src = fetchFromGitHub { owner = "jketterl"; repo = pname; rev = version; - sha256 = "1vip5a3xgskcwba3xi66zfr986xrsch9na7my818cm8vw345y57b"; + sha256 = "sha256-4XO3QYF0yaMNFjBHulrlZvO0/A1fFscD98QxnC6Itmk="; }; - patchPhase = '' - substituteInPlace configure.ac \ - --replace -Wformat=0 "" - ''; - nativeBuildInputs = [ - autoreconfHook + cmake pkg-config ]; - buildInputs = [ + propagatedBuildInputs = [ fftwFloat libsamplerate ]; @@ -34,6 +29,6 @@ stdenv.mkDerivation rec { description = "A simple DSP library and command-line tool for Software Defined Radio"; license = licenses.gpl3Only; platforms = platforms.unix; - maintainers = with maintainers; [ astro ]; + maintainers = teams.c3d2.members; }; } diff --git a/pkgs/applications/radio/digiham/default.nix b/pkgs/applications/radio/digiham/default.nix new file mode 100644 index 00000000000..652c6c63cf5 --- /dev/null +++ b/pkgs/applications/radio/digiham/default.nix @@ -0,0 +1,34 @@ +{ stdenv, lib, fetchFromGitHub +, cmake, pkg-config, protobuf, icu, csdr, codecserver +}: + +stdenv.mkDerivation rec { + pname = "digiham"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "jketterl"; + repo = pname; + rev = version; + sha256 = "sha256-nKNA5xAhM/lyyvFJnajWwY0hwVZhLApbDkXoUYFjlt0="; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + codecserver + protobuf + csdr + icu + ]; + + meta = with lib; { + homepage = "https://github.com/jketterl/digiham"; + description = "tools for decoding digital ham communication"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = teams.c3d2.members; + }; +} diff --git a/pkgs/applications/radio/openwebrx/default.nix b/pkgs/applications/radio/openwebrx/default.nix index 928bc4168eb..4ca4d369d79 100644 --- a/pkgs/applications/radio/openwebrx/default.nix +++ b/pkgs/applications/radio/openwebrx/default.nix @@ -1,6 +1,7 @@ { stdenv, lib, buildPythonPackage, buildPythonApplication, fetchFromGitHub , pkg-config, cmake, setuptools -, rtl-sdr, soapysdr-with-plugins, csdr, direwolf +, libsamplerate, fftwFloat +, rtl-sdr, soapysdr-with-plugins, csdr, pycsdr, pydigiham, direwolf, sox, wsjtx, codecserver }: let @@ -22,19 +23,19 @@ let homepage = "https://github.com/jketterl/js8py"; description = "A library to decode the output of the js8 binary of JS8Call"; license = licenses.gpl3Only; - maintainers = with maintainers; [ astro ]; + maintainers = teams.c3d2.members; }; }; owrx_connector = stdenv.mkDerivation rec { pname = "owrx_connector"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "jketterl"; repo = pname; rev = version; - sha256 = "0gz4nf2frrkx1mpjfjpz2j919fkc99g5lxd8lhva3lgqyisvf4yj"; + sha256 = "sha256-1H0TJ8QN3b6Lof5TWvyokhCeN+dN7ITwzRvEo2X8OWc="; }; nativeBuildInputs = [ @@ -43,6 +44,8 @@ let ]; buildInputs = [ + libsamplerate fftwFloat + csdr rtl-sdr soapysdr-with-plugins ]; @@ -52,29 +55,34 @@ let description = "A set of connectors that are used by OpenWebRX to interface with SDR hardware"; license = licenses.gpl3Only; platforms = platforms.unix; - maintainers = with maintainers; [ astro ]; + maintainers = teams.c3d2.members; }; }; in buildPythonApplication rec { pname = "openwebrx"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "jketterl"; repo = pname; rev = version; - sha256 = "0maxs07yx235xknvkbmhi2zds3vfkd66l6wz6kspz3jzl4c0v1f9"; + sha256 = "sha256-7gcgwa9vQT2u8PQusuXKted2Hk0K+Zk6ornSG1K/D4c="; }; propagatedBuildInputs = [ setuptools csdr + pycsdr + pydigiham js8py soapysdr-with-plugins owrx_connector direwolf + sox + wsjtx + codecserver ]; pythonImportsCheck = [ "csdr" "owrx" "test" ]; @@ -87,6 +95,6 @@ buildPythonApplication rec { homepage = "https://github.com/jketterl/openwebrx"; description = "A simple DSP library and command-line tool for Software Defined Radio"; license = licenses.gpl3Only; - maintainers = with maintainers; [ astro ]; + maintainers = teams.c3d2.members; }; } diff --git a/pkgs/development/python-modules/pycsdr/default.nix b/pkgs/development/python-modules/pycsdr/default.nix new file mode 100644 index 00000000000..14958299c31 --- /dev/null +++ b/pkgs/development/python-modules/pycsdr/default.nix @@ -0,0 +1,26 @@ +{ lib, buildPythonPackage, fetchFromGitHub, csdr }: + +buildPythonPackage rec { + pname = "pycsdr"; + version = "0.18.0"; + + src = fetchFromGitHub { + owner = "jketterl"; + repo = "pycsdr"; + rev = version; + sha256 = "sha256-OyfcXCcbvOOhBUkbAba3ayPzpH5z2nJWHbR6GcrCMy8="; + }; + + propagatedBuildInputs = [ csdr ]; + + # has no tests + doCheck = false; + pythonImportsCheck = [ "pycsdr" ]; + + meta = { + homepage = "https://github.com/jketterl/pycsdr"; + description = "bindings for the csdr library"; + license = lib.licenses.gpl3Only; + maintainers = lib.teams.c3d2.members; + }; +} diff --git a/pkgs/development/python-modules/pydigiham/default.nix b/pkgs/development/python-modules/pydigiham/default.nix new file mode 100644 index 00000000000..da8056e8a2e --- /dev/null +++ b/pkgs/development/python-modules/pydigiham/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchFromGitHub, python, digiham, csdr, pycsdr, codecserver }: + +buildPythonPackage rec { + pname = "pydigiham"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "jketterl"; + repo = "pydigiham"; + rev = version; + sha256 = "sha256-kiEvQl3SuDnHI4Fh97AarsszHGFt7tbWBvBRW84Qv18="; + }; + + propagatedBuildInputs = [ digiham ]; + buildInputs = [ codecserver pycsdr ]; + # make pycsdr header files available + preBuild = '' + ln -s ${pycsdr}/include/${python.libPrefix}/pycsdr src/pycsdr + ''; + + # has no tests + doCheck = false; + pythonImportsCheck = [ "digiham" ]; + + meta = { + homepage = "https://github.com/jketterl/pydigiham"; + description = "bindings for the csdr library"; + license = lib.licenses.gpl3Only; + maintainers = lib.teams.c3d2.members; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 28b76e010dd..cba00674997 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17067,6 +17067,8 @@ with pkgs; cmrt = callPackage ../development/libraries/cmrt { }; + codecserver = callPackage ../applications/audio/codecserver { }; + coeurl = callPackage ../development/libraries/coeurl { }; cogl = callPackage ../development/libraries/cogl { }; @@ -17196,6 +17198,8 @@ with pkgs; dclib = callPackage ../development/libraries/dclib { }; + digiham = callPackage ../applications/radio/digiham { }; + dillo = callPackage ../applications/networking/browsers/dillo { fltk = fltk13; }; @@ -20199,7 +20203,7 @@ with pkgs; openwebrx = callPackage ../applications/radio/openwebrx { inherit (python3Packages) - buildPythonPackage buildPythonApplication setuptools; + buildPythonPackage buildPythonApplication setuptools pycsdr pydigiham; }; optparse-bash = callPackage ../development/libraries/optparse-bash { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 59cdb70f68d..74bae0b47f0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7206,6 +7206,8 @@ in { pycryptodomex = callPackage ../development/python-modules/pycryptodomex { }; + pycsdr = callPackage ../development/python-modules/pycsdr { }; + pyct = callPackage ../development/python-modules/pyct { }; pyctr = callPackage ../development/python-modules/pyctr { }; @@ -7254,6 +7256,8 @@ in { pydicom = callPackage ../development/python-modules/pydicom { }; + pydigiham = callPackage ../development/python-modules/pydigiham { }; + pydispatcher = callPackage ../development/python-modules/pydispatcher { }; pydmd = callPackage ../development/python-modules/pydmd { };