56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  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;
 | 
						|
  };
 | 
						|
}
 |