Commit ac5f925c authored by Chuang Zhu's avatar Chuang Zhu Committed by Doron Behar
Browse files

gnuradioPackages.fosphor: init at unstable-2024-03-23

parent f93401ee
Loading
Loading
Loading
Loading
+93 −0
Original line number Diff line number Diff line
{
  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;
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ in {

  ais = callPackage ../development/gnuradio-modules/ais/default.nix { };

  fosphor = callPackage ../development/gnuradio-modules/fosphor/default.nix { };

  grnet = callPackage ../development/gnuradio-modules/grnet/default.nix { };

  gsm = callPackage ../development/gnuradio-modules/gsm/default.nix { };