Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
111 lines
2.3 KiB
Nix
111 lines
2.3 KiB
Nix
{
|
|
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 = "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";
|
|
};
|
|
})
|