87 lines
2 KiB
Nix
87 lines
2 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
perl,
|
|
swig,
|
|
gd,
|
|
ncurses,
|
|
python311,
|
|
libxml2,
|
|
tcl,
|
|
libusb-compat-0_1,
|
|
pkg-config,
|
|
boost,
|
|
libtool,
|
|
pythonBindings ? true,
|
|
tclBindings ? true,
|
|
perlBindings ? stdenv.buildPlatform == stdenv.hostPlatform,
|
|
buildPackages,
|
|
}:
|
|
let
|
|
python3 = python311; # needs distutils and imp
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "hamlib";
|
|
version = "3.3";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
|
|
sha256 = "10788mgrhbc57zpzakcxv5aqnr2819pcshml6fbh8zvnkja562y9";
|
|
};
|
|
|
|
strictDeps = true;
|
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
|
nativeBuildInputs =
|
|
[
|
|
swig
|
|
pkg-config
|
|
libtool
|
|
]
|
|
++ lib.optionals pythonBindings [ python3 ]
|
|
++ lib.optionals tclBindings [ tcl ]
|
|
++ lib.optionals perlBindings [ perl ];
|
|
|
|
buildInputs =
|
|
[
|
|
gd
|
|
libxml2
|
|
libusb-compat-0_1
|
|
boost
|
|
]
|
|
++ lib.optionals pythonBindings [
|
|
python3
|
|
ncurses
|
|
]
|
|
++ lib.optionals tclBindings [ tcl ];
|
|
|
|
configureFlags =
|
|
[
|
|
"CC_FOR_BUILD=${stdenv.cc.targetPrefix}cc"
|
|
]
|
|
++ lib.optionals perlBindings [ "--with-perl-binding" ]
|
|
++ lib.optionals tclBindings [
|
|
"--with-tcl-binding"
|
|
"--with-tcl=${tcl}/lib/"
|
|
]
|
|
++ lib.optionals pythonBindings [ "--with-python-binding" ];
|
|
|
|
meta = with lib; {
|
|
description = "Runtime library to control radio transceivers and receivers";
|
|
longDescription = ''
|
|
Hamlib provides a standardized programming interface that applications
|
|
can use to send the appropriate commands to a radio.
|
|
|
|
Also included in the package is a simple radio control program 'rigctl',
|
|
which lets one control a radio transceiver or receiver, either from
|
|
command line interface or in a text-oriented interactive interface.
|
|
'';
|
|
license = with licenses; [
|
|
gpl2Plus
|
|
lgpl2Plus
|
|
];
|
|
homepage = "https://hamlib.sourceforge.net";
|
|
maintainers = with maintainers; [ relrod ];
|
|
platforms = with platforms; unix;
|
|
};
|
|
}
|