diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix index 6dbc75e9c062..0952b61551e3 100644 --- a/pkgs/applications/science/spyder/default.nix +++ b/pkgs/applications/science/spyder/default.nix @@ -1,25 +1,27 @@ -{ stdenv, fetchurl, unzip, buildPythonApplication, makeDesktopItem +{ stdenv, fetchPypi, unzip, buildPythonApplication, makeDesktopItem # mandatory -, pyside -# recommended -, pyflakes ? null, rope ? null, sphinx ? null, numpy ? null, scipy ? null, matplotlib ? null +, qtpy, numpydoc, qtconsole, qtawesome, jedi, pycodestyle, psutil +, pyflakes, rope, sphinx, nbconvert, mccabe # optional -, ipython ? null, pylint ? null, pep8 ? null +, numpy ? null, scipy ? null, matplotlib ? null +# optional +, pylint ? null }: buildPythonApplication rec { - name = "spyder-${version}"; - version = "2.3.8"; + pname = "spyder"; + version = "3.2.4"; namePrefix = ""; - src = fetchurl { - url = "mirror://pypi/s/spyder/${name}.zip"; - sha256 = "99fdae2cea325c0f2842c77bd67dd22db19fef3d9c0dde1545b1a2650eae517e"; + src = fetchPypi { + inherit pname version; + sha256 = "028hg71gfq2yrplwhhl7hl4rbwji1l0zxzghblwmb0i443ki10v3"; }; - # NOTE: sphinx makes the build fail with: ValueError: ZIP does not support timestamps before 1980 - propagatedBuildInputs = - [ pyside pyflakes rope numpy scipy matplotlib ipython pylint pep8 ]; + propagatedBuildInputs = [ + jedi pycodestyle psutil qtpy pyflakes rope numpy scipy matplotlib pylint + numpydoc qtconsole qtawesome nbconvert mccabe + ]; # There is no test for spyder doCheck = false; @@ -36,9 +38,9 @@ buildPythonApplication rec { # Create desktop item postInstall = '' - mkdir -p $out/share/{applications,icons} - cp $desktopItem/share/applications/* $out/share/applications/ - cp spyderlib/images/spyder.svg $out/share/icons/ + mkdir -p $out/share/icons + cp spyder/images/spyder.svg $out/share/icons + cp -r $desktopItem/share/applications/ $out/share ''; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/qtawesome/default.nix b/pkgs/development/python-modules/qtawesome/default.nix new file mode 100644 index 000000000000..016266dd8544 --- /dev/null +++ b/pkgs/development/python-modules/qtawesome/default.nix @@ -0,0 +1,19 @@ +{ stdenv, buildPythonPackage, fetchPypi, qtpy, six, pyside }: + +buildPythonPackage rec { + pname = "QtAwesome"; + version = "0.4.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "12l71wh9fcd79d6c7qfzp029iph6gv4daxpg2ddpzr9lrvcw3yah"; + }; + + propagatedBuildInputs = [ qtpy six pyside ]; + + meta = with stdenv.lib; { + description = "Iconic fonts in PyQt and PySide applications"; + homepage = https://github.com/spyder-ide/qtawesome; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/qtpy/default.nix b/pkgs/development/python-modules/qtpy/default.nix new file mode 100644 index 000000000000..035ea32b3989 --- /dev/null +++ b/pkgs/development/python-modules/qtpy/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildPythonPackage, fetchPypi, pyside, pytest }: + +buildPythonPackage rec { + pname = "QtPy"; + version = "1.3.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "04skhjb2dbbhvpq0x71nnz2h68805fkxfpkdjhwvd7lzsljjbbq8"; + }; + + # no concrete propagatedBuildInputs as multiple backends are supposed + checkInputs = [ pyside pytest ]; + + doCheck = false; # require X + checkPhase = '' + py.test qtpy/tests + ''; + + meta = with stdenv.lib; { + description = "Abstraction layer for PyQt5/PyQt4/PySide2/PySide"; + homepage = https://github.com/spyder-ide/qtpy; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/rope/default.nix b/pkgs/development/python-modules/rope/default.nix new file mode 100644 index 000000000000..db08ad2a5c03 --- /dev/null +++ b/pkgs/development/python-modules/rope/default.nix @@ -0,0 +1,18 @@ +{ stdenv, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "rope"; + version = "0.10.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "1lc01pjn0yr6yqcpbf6kk170zg8zhnyzj8kqlsch1mag0g9dz7m0"; + }; + + meta = with stdenv.lib; { + description = "Python refactoring library"; + homepage = https://github.com/python-rope/rope; + maintainers = with maintainers; [ goibhniu ]; + license = licenses.gpl2; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8f88c7e17ee2..30433a509f4b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17122,8 +17122,12 @@ in { }; }; + qtawesome = callPackage ../development/python-modules/qtawesome { }; + qtconsole = callPackage ../development/python-modules/qtconsole { }; + qtpy = callPackage ../development/python-modules/qtpy { }; + quantities = buildPythonPackage rec { name = "quantities-0.10.1"; @@ -17490,24 +17494,7 @@ in { rootpy = callPackage ../development/python-modules/rootpy { }; - rope = buildPythonPackage rec { - version = "0.10.2"; - name = "rope-${version}"; - - disabled = isPy3k; - - src = pkgs.fetchurl { - url = "mirror://pypi/r/rope/${name}.tar.gz"; - sha256 = "0rdlvp8h74qs49wz1hx6qy8mgp2ddwlfs7z13h9139ynq04a3z7z"; - }; - - meta = { - description = "Python refactoring library"; - homepage = http://rope.sf.net; - maintainers = with maintainers; [ goibhniu ]; - license = licenses.gpl2; - }; - }; + rope = callPackage ../development/python-modules/rope { }; ropper = callPackage ../development/python-modules/ropper { }; @@ -19041,9 +19028,7 @@ in { }; }); - spyder = callPackage ../applications/science/spyder { - rope = if isPy3k then null else self.rope; - }; + spyder = callPackage ../applications/science/spyder { }; sqlalchemy = callPackage ../development/python-modules/sqlalchemy { };