summary refs log tree commit diff
path: root/pkgs/applications/networking/flent/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/flent/default.nix')
-rw-r--r--pkgs/applications/networking/flent/default.nix41
1 files changed, 25 insertions, 16 deletions
diff --git a/pkgs/applications/networking/flent/default.nix b/pkgs/applications/networking/flent/default.nix
index bc0a519a0ee..bbd9a7601ac 100644
--- a/pkgs/applications/networking/flent/default.nix
+++ b/pkgs/applications/networking/flent/default.nix
@@ -1,30 +1,39 @@
-{ stdenv, buildPythonApplication, fetchFromGitHub, matplotlib, procps, pyqt5
-, sphinx
-}:
+{ stdenv, buildPythonApplication, fetchPypi, matplotlib, procps, pyqt5, python
+, pythonPackages, qt5, sphinx, xvfb_run }:
 
 buildPythonApplication rec {
   pname = "flent";
-  version = "1.2.2";
-  src = fetchFromGitHub {
-    owner = "tohojo";
-    repo = "flent";
-    rev = "v${version}";
-    sha256 = "1llcdakk0nk9xlpjjz7mv4a80yq4sjnbqhaqvyj9m6lbcxgssh2r";
+  version = "1.3.0";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "099779i0ghjd9ikq77z6m6scnlmk946lw9issrgz8zm7babiw4d7";
   };
 
   buildInputs = [ sphinx ];
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
+  propagatedBuildInputs = [ matplotlib procps pyqt5 ];
+  checkInputs = [ procps pythonPackages.mock pyqt5 xvfb_run ];
 
-  checkInputs = [ procps ];
+  checkPhase = ''
+    cat >test-runner <<EOF
+    #!/bin/sh
 
-  propagatedBuildInputs = [
-    matplotlib
-    procps
-    pyqt5
-  ];
+    ${python.pythonForBuild.interpreter} nix_run_setup test
+    EOF
+    chmod +x test-runner
+    wrapQtApp test-runner --prefix PYTHONPATH : $PYTHONPATH
+    xvfb-run -s '-screen 0 800x600x24' ./test-runner
+  '';
+
+  postInstall = ''
+    for program in $out/bin/*; do
+      wrapQtApp $program --prefix PYTHONPATH : $PYTHONPATH
+    done
+  '';
 
   meta = with stdenv.lib; {
     description = "The FLExible Network Tester";
-    homepage = https://flent.org;
+    homepage = "https://flent.org";
     license = licenses.gpl3;
 
     maintainers = [ maintainers.mmlb ];