49 lines
2.1 KiB
Nix
49 lines
2.1 KiB
Nix
{ lib, stdenv, fetchurl, pkg-config, alsa-lib, audiofile, gtk2, libxml2, copyDesktopItems, makeDesktopItem }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "soundmodem";
|
|
version = "0.20";
|
|
|
|
src = fetchurl {
|
|
url = "https://archive.org/download/soundmodem-${version}/soundmodem-${version}.tar.gz";
|
|
sha256 = "156l3wjnh5rcisxb42kcmlf74swf679v4xnj09zy5j74rd4h721z";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
copyDesktopItems
|
|
];
|
|
buildInputs = [ alsa-lib audiofile gtk2 libxml2 ];
|
|
|
|
patches = [ ./matFix.patch ];
|
|
|
|
doCheck = true;
|
|
|
|
desktopItems = [
|
|
(makeDesktopItem {
|
|
name = "SoundmodemConfig";
|
|
exec = "soundmodemconfig";
|
|
desktopName = "SoundModemConfig";
|
|
comment = "Audio based modem for ham radio supporting ax.25";
|
|
categories = [ "Audio" ];
|
|
})
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Audio based modem for ham radio supporting ax.25";
|
|
longDescription = ''
|
|
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.
|
|
Unlike previous packet radio modem software, this new release offers several new benefits:
|
|
- 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.
|
|
- 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!
|
|
- Usermode solution allows the use of MMX, VIS, Floating point and other media instruction sets to speed up computation.
|
|
- Cross platform builds from a single source code provides ubiquitous availability.
|
|
'';
|
|
#homepage = "http://gna.org/projects/soundmodem"; # official, but "Connection refused"
|
|
homepage = "http://soundmodem.vk4msl.id.au/";
|
|
downloadPage = "https://archive.org/download/${pname}-${version}/${pname}-${version}.tar.gz";
|
|
license = licenses.gpl2Only;
|
|
maintainers = with maintainers; [ ymarkus ];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|