nixpkgs/pkgs/applications/radio/qradiolink/default.nix
Michal Sojka b1cb42d3b7 cppzmq: make zeromq propagatedBuildInput
cppzmq is a header-only library. As such, it is not much useful
without zeromq, whose headers it includes. By having zeromq in
propagatedBuildInputs, we can simplify dependent expressions.

This change is motivated by
https://github.com/lopsided98/nix-ros-overlay/issues/255#issuecomment-1487590226.
The expressions in nix-ros-overlay are automatically generated and
since packages in other distributions where ROS runs need not to
explicitly depend on zeromq, the Nix expression should behave the
same. This way, nix-ros-overlay will not to have manually
patch/overlay the automatically generated expressions.
2023-03-31 18:58:56 +02:00

88 lines
1.7 KiB
Nix

{ lib
, fetchFromGitHub
, libpulseaudio
, libconfig
# Needs a gnuradio built with qt gui support
, gnuradio3_8
, thrift
# Not gnuradioPackages'
, codec2
, gmp
, gsm
, libopus
, libjpeg
, libsndfile
, libftdi
, limesuite
, soapysdr-with-plugins
, protobuf
, speex
, speexdsp
, cppzmq
}:
gnuradio3_8.pkgs.mkDerivation rec {
pname = "qradiolink";
version = "0.8.9-1";
src = fetchFromGitHub {
owner = "qradiolink";
repo = "qradiolink";
rev = version;
sha256 = "sha256-yY9sdLFaG0fX/4obImxVAyJk13RklYjX99Ch9hgzTe8=";
};
preBuild = ''
cd src/ext
protoc --cpp_out=. Mumble.proto
protoc --cpp_out=. QRadioLink.proto
cd ../..
qmake
'';
installPhase = ''
install -D qradiolink $out/bin/qradiolink
install -Dm644 src/res/icon.png $out/share/pixmaps/qradiolink.png
install -Dm644 qradiolink.desktop $out/share/applications/qradiolink.desktop
'';
buildInputs = [
gnuradio3_8.unwrapped.boost
codec2
gnuradio3_8.unwrapped.log4cpp
gmp
libpulseaudio
libconfig
gsm
gnuradio3_8.pkgs.osmosdr
libopus
libjpeg
limesuite
soapysdr-with-plugins
speex
speexdsp
gnuradio3_8.qt.qtbase
gnuradio3_8.qt.qtmultimedia
libftdi
libsndfile
cppzmq
gnuradio3_8.qwt
] ++ lib.optionals (gnuradio3_8.hasFeature "gr-ctrlport") [
thrift
gnuradio3_8.unwrapped.python.pkgs.thrift
];
nativeBuildInputs = [
protobuf
gnuradio3_8.qt.qmake
gnuradio3_8.qt.wrapQtAppsHook
];
meta = with lib; {
description = "SDR transceiver application for analog and digital modes";
homepage = "http://qradiolink.org/";
license = licenses.agpl3;
maintainers = [ maintainers.markuskowa ];
platforms = platforms.linux;
};
}