{ lib, python3Packages, fetchPypi, procps, qt5, nix-update-script, }: python3Packages.buildPythonApplication rec { pname = "flent"; version = "2.2.0"; src = fetchPypi { inherit pname version; hash = "sha256-BPwh3oWIY1YEI+ecgi9AUiX4Ka/Y5dYikwmfvvNB+eg="; }; build-system = [ python3Packages.sphinx ]; nativeBuildInputs = [ qt5.wrapQtAppsHook ]; dependencies = with python3Packages; [ matplotlib pyqt5 qtpy ]; nativeCheckInputs = [ python3Packages.unittestCheckHook ]; preCheck = '' # we want the gui tests to always run sed -i 's|self.skip|pass; #&|' unittests/test_gui.py # Dummy qt setup for gui tests export QT_PLUGIN_PATH="${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}" export QT_QPA_PLATFORM=offscreen ''; preFixup = '' makeWrapperArgs+=( "''${qtWrapperArgs[@]}" --prefix PATH : ${lib.makeBinPath [ procps ]} ) ''; passthru.updateScript = nix-update-script { }; meta = { description = "FLExible Network Tester"; homepage = "https://flent.org"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ mmlb ]; mainProgram = "flent"; badPlatforms = lib.platforms.darwin; }; }