Merge pull request #108570 from ymarkus/soundmodem

soundmodem: init at 0.20

authored by Sandro and committed by GitHub d0b8b872 7cd9d714

+49
+36
pkgs/applications/radio/soundmodem/default.nix
··· 1 + { stdenv, fetchurl, pkg-config, alsaLib, audiofile, gtk2, libxml2 }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "soundmodem"; 5 + version = "0.20"; 6 + 7 + src = fetchurl { 8 + url = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz"; 9 + sha256 = "156l3wjnh5rcisxb42kcmlf74swf679v4xnj09zy5j74rd4h721z"; 10 + }; 11 + 12 + nativeBuildInputs = [ pkg-config ]; 13 + buildInputs = [ alsaLib audiofile gtk2 libxml2 ]; 14 + 15 + patches = [ ./matFix.patch ]; 16 + 17 + doCheck = true; 18 + 19 + meta = with stdenv.lib; { 20 + description = "Audio based modem for ham radio supporting ax.25"; 21 + longDescription = '' 22 + This software allows a standard PC soundcard to be used as a packet radio "modem". The whole processing is done on the main processor CPU. 23 + Unlike previous packet radio modem software, this new release offers several new benefits: 24 + - Now uses standard operating system sound drivers (OSS/Free under Linux, /dev/audio under Solaris and DirectSound under Windows), thus runs on all soundcards for which drivers for the desired operating system are available. 25 + - No fixed relationship between bitrate, sampling rate, and modem parameters. Modems may be parametrized, and multiple modems may even run on the same audio channel! 26 + - Usermode solution allows the use of MMX, VIS, Floating point and other media instruction sets to speed up computation. 27 + - Cross platform builds from a single source code provides ubiquitous availability. 28 + ''; 29 + #homepage = "http://gna.org/projects/soundmodem"; # official, but "Connection refused" 30 + homepage = "http://soundmodem.vk4msl.id.au/"; 31 + downloadPage = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz"; 32 + license = licenses.gpl2Only; 33 + maintainers = with maintainers; [ ymarkus ]; 34 + platforms = platforms.all; 35 + }; 36 + }
+11
pkgs/applications/radio/soundmodem/matFix.patch
··· 1 + --- a/matlib/mat.hh 2003-01-06 23:47:26.000000000 +0100 2 + +++ b/matlib/mat.copy.hh 2021-01-06 10:05:34.332415179 +0100 3 + @@ -91,7 +91,7 @@ 4 + memcpy(c, r, d1 * d3 * sizeof(c[0])); 5 + } 6 + 7 + -template<typename T> void mdet(const T *c, unsigned int d) 8 + +template<typename T> int mdet(const T *c, unsigned int d) 9 + { 10 + T *c2; 11 + unsigned int i, j, k, l;
+2
pkgs/top-level/all-packages.nix
··· 28667 28667 28668 28668 snscrape = with python3Packages; toPythonApplication snscrape; 28669 28669 28670 + soundmodem = callPackage ../applications/radio/soundmodem {}; 28671 + 28670 28672 soundOfSorting = callPackage ../misc/sound-of-sorting { }; 28671 28673 28672 28674 sourceAndTags = callPackage ../misc/source-and-tags {