about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/web-apps/openwebrx.nix1
-rw-r--r--pkgs/applications/audio/codecserver/default.nix34
-rw-r--r--pkgs/applications/radio/csdr/default.nix17
-rw-r--r--pkgs/applications/radio/digiham/default.nix34
-rw-r--r--pkgs/applications/radio/openwebrx/default.nix24
-rw-r--r--pkgs/development/python-modules/pycsdr/default.nix26
-rw-r--r--pkgs/development/python-modules/pydigiham/default.nix31
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix4
9 files changed, 157 insertions, 20 deletions
diff --git a/nixos/modules/services/web-apps/openwebrx.nix b/nixos/modules/services/web-apps/openwebrx.nix
index 9e90c01e0bbb0..c530a07610f9b 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 0000000000000..8a5c3d842d4dc
--- /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 ed1a52276948a..db4efe4b1ef8d 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 0000000000000..652c6c63cf597
--- /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 928bc4168ebd0..4ca4d369d79c9 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 0000000000000..14958299c31b6
--- /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 0000000000000..da8056e8a2e0f
--- /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 28b76e010dd6e..cba0067499795 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 59cdb70f68dde..74bae0b47f044 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 { };