From c1baf807e81d7df1e46247990e073da54e7db675 Mon Sep 17 00:00:00 2001 From: theverygaming Date: Sun, 18 May 2025 12:18:12 +0200 Subject: [PATCH] satdump: init at 1.2.2 --- pkgs/by-name/sa/satdump/package.nix | 111 ++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 pkgs/by-name/sa/satdump/package.nix diff --git a/pkgs/by-name/sa/satdump/package.nix b/pkgs/by-name/sa/satdump/package.nix new file mode 100644 index 000000000000..3da37757f09f --- /dev/null +++ b/pkgs/by-name/sa/satdump/package.nix @@ -0,0 +1,111 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + cmake, + pkg-config, + # required dependencies + fftwFloat, + libpng, + libtiff, + jemalloc, + volk, + nng, + curl, + # Optional dependencies + withZIQRecordingCompression ? true, + zstd, + withGUI ? true, + glfw, + zenity, + withAudio ? true, + portaudio, + withOfficialProductSupport ? true, + hdf5, + withOpenCL ? true, + opencl-headers, + ocl-icd, + withSourceRtlsdr ? true, + rtl-sdr-librtlsdr, + withSourceHackRF ? true, + hackrf, + withSourceAirspy ? true, + airspy, + withSourceAirspyHF ? true, + airspyhf, + withSourceAD9361 ? true, + libad9361, + libiio, + withSourceBladeRF ? true, + libbladeRF, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "satdump"; + version = "1.2.2"; + + src = fetchFromGitHub { + owner = "SatDump"; + repo = "SatDump"; + tag = finalAttrs.version; + hash = "sha256-+Sne+NMwnIAs3ff64fBHAIE4/iDExIC64sXtO0LJwI0="; + }; + + postPatch = '' + substituteInPlace src-core/CMakeLists.txt \ + --replace-fail '$'{CMAKE_INSTALL_PREFIX}/'$'{CMAKE_INSTALL_LIBDIR} '$'{CMAKE_INSTALL_FULL_LIBDIR} + ''; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = + [ + fftwFloat + libpng + libtiff + jemalloc + volk + nng + curl + ] + ++ lib.optionals withZIQRecordingCompression [ zstd ] + ++ lib.optionals withGUI [ + glfw + zenity + ] + ++ lib.optionals withAudio [ portaudio ] + ++ lib.optionals withOfficialProductSupport [ hdf5 ] + ++ lib.optionals withOpenCL [ + opencl-headers + ocl-icd + ] + ++ lib.optionals withSourceRtlsdr [ rtl-sdr-librtlsdr ] + ++ lib.optionals withSourceHackRF [ hackrf ] + ++ lib.optionals withSourceAirspy [ airspy ] + ++ lib.optionals withSourceAirspyHF [ airspyhf ] + ++ lib.optionals withSourceAD9361 [ + libad9361 + libiio + ] + ++ lib.optionals withSourceBladeRF [ libbladeRF ]; + + cmakeFlags = [ (lib.cmakeBool "BUILD_GUI" withGUI) ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "A generic satellite data processing software"; + homepage = "https://www.satdump.org/"; + changelog = "https://github.com/SatDump/SatDump/releases/tag/${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + theverygaming + ]; + mainProgram = "satdump"; + }; +})