mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
94 lines
2.0 KiB
Nix
94 lines
2.0 KiB
Nix
{
|
|
lib,
|
|
mkDerivation,
|
|
fetchgit,
|
|
gnuradio,
|
|
cmake,
|
|
pkg-config,
|
|
logLib,
|
|
mpir,
|
|
gmp,
|
|
boost,
|
|
libGL,
|
|
opencl-headers,
|
|
ocl-icd,
|
|
freetype,
|
|
fftwFloat,
|
|
qt5,
|
|
python,
|
|
enableGLFW ? true,
|
|
glfw3,
|
|
enablePNG ? true,
|
|
libpng,
|
|
gnuradioOlder,
|
|
gnuradioAtLeast,
|
|
}:
|
|
|
|
mkDerivation {
|
|
pname = "gr-fosphor";
|
|
version = "unstable-2024-03-23";
|
|
|
|
# It is a gitea instance, but its archive service doesn't work very well so
|
|
# we can't use it.
|
|
src = fetchgit {
|
|
url = "https://gitea.osmocom.org/sdr/gr-fosphor.git";
|
|
rev = "74d54fc0b3ec9aeb7033686526c5e766f36eaf24";
|
|
hash = "sha256-FBmH4DmKATl0FPFU7T30OrYYmxlSTTLm1SZpt0o1qkw=";
|
|
};
|
|
disabled = gnuradioOlder "3.9" || gnuradioAtLeast "3.11";
|
|
|
|
nativeBuildInputs =
|
|
[
|
|
cmake
|
|
pkg-config
|
|
]
|
|
++ lib.optionals (gnuradio.hasFeature "gr-qtgui") [
|
|
qt5.wrapQtAppsHook
|
|
];
|
|
|
|
buildInputs =
|
|
[
|
|
logLib
|
|
mpir
|
|
gmp
|
|
boost
|
|
libGL
|
|
opencl-headers
|
|
ocl-icd
|
|
freetype
|
|
fftwFloat
|
|
]
|
|
++ lib.optionals (gnuradio.hasFeature "gr-qtgui") [
|
|
qt5.qtbase
|
|
]
|
|
++ lib.optionals (gnuradio.hasFeature "python-support") [
|
|
python.pkgs.pybind11
|
|
python.pkgs.numpy
|
|
]
|
|
++ lib.optionals enableGLFW [
|
|
glfw3
|
|
]
|
|
++ lib.optionals enablePNG [
|
|
libpng
|
|
];
|
|
|
|
cmakeFlags = [
|
|
(lib.cmakeBool "ENABLE_QT" (gnuradio.hasFeature "gr-qtgui"))
|
|
(lib.cmakeBool "ENABLE_PYTHON" (gnuradio.hasFeature "python-support"))
|
|
(lib.cmakeBool "ENABLE_GLFW" enableGLFW)
|
|
(lib.cmakeBool "ENABLE_PNG" enablePNG)
|
|
];
|
|
|
|
meta = {
|
|
description = "GNU Radio block for RTSA-like spectrum visualization using OpenCL and OpenGL acceleration";
|
|
longDescription = ''
|
|
You'll need to install an OpenCL ICD for it to work.
|
|
See https://nixos.org/manual/nixos/stable/#sec-gpu-accel-opencl
|
|
'';
|
|
homepage = "https://projects.osmocom.org/projects/sdr/wiki/Fosphor";
|
|
license = lib.licenses.gpl3Plus;
|
|
maintainers = with lib.maintainers; [ chuangzhu ];
|
|
platforms = lib.platforms.linux;
|
|
};
|
|
}
|