Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Marcus7070/spyder #80084

Closed
wants to merge 11 commits into from
Closed

Marcus7070/spyder #80084

wants to merge 11 commits into from

Conversation

@marcus7070
Copy link
Contributor

marcus7070 commented Feb 14, 2020

Motivation for this change

#80083
Summary: Spyder version was bumped in a batch process, but dependencies were not updated.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

I'm working through the giant web of associated packages that need version bumps and changes to satisfy spyder's setup.py.

Commits will be tidied up before finalising this PR.

@marcus7070

This comment has been minimized.

Copy link
Contributor Author

marcus7070 commented Feb 14, 2020

So Spyder wants a later version of python-language-server (PLS). PLS now wants numpy, pandas, matplotlib, and pyqt5 for testing. Is there any concern with adding huge attributes to checkInputs, like there would be for closure size if they were added to buildInputs?

@marcus7070

This comment has been minimized.

Copy link
Contributor Author

marcus7070 commented Feb 14, 2020

Builds but needs more checking.

Still to do (notes to myself):

  • double check setup.pys etc. to make sure I haven't missed any dependencies or put test deps in buildInputs
  • test each changed attribute with all python versions
  • update meta.broken, some of these have discontinued python 2
  • grep for other packages that use these and test them too
  • cq-editor (which uses spyder) complains from spyder.widgets.sourcecode.codeeditor import CodeEditor\ ModuleNotFoundError: No module named 'spyder.widgets.sourcecode'
@ofborg ofborg bot requested a review from costrouc Feb 15, 2020
@marcus7070

This comment has been minimized.

Copy link
Contributor Author

marcus7070 commented Feb 15, 2020

I've tried enabling the tests on Jedi, 786 failed, 1904 passed. I'm not sure what's wrong with it, I've tried adding in numpydoc, sphinx and coverage like tox.ini indicates but that makes no difference. I read a few of those 786 failure logs and can't see any useful information in there.

On the plus side, master's version of jedi produces similar numbers of fails and passes, so I guess I haven't made anything worse?

@ofborg ofborg bot added the 8.has: clean-up label Feb 15, 2020
@marcus7070

This comment has been minimized.

Copy link
Contributor Author

marcus7070 commented Feb 16, 2020

Todo:

  • Add qdarkstyle <2.7 for electron-cash and electrum

Almost there, but I'm getting test failures with python27Packages.python-language-server, specifically test_flake8_no_checked_file and test_flake8_lint both fail during a subprocess call with OSError: [Errno 2] No such file or directory.

pyls version 29.1 was the previous nixpkgs version and it still builds successfully. In 29.2 pyls started using subprocess. palantir/python-language-server@5850ac0#diff-12a2d0e8313818662c49cc658cd8e8ae

I don't think I know enough to fix this one. @Mic92 (the maintainer), do you have any suggestions?

@marcus7070 marcus7070 closed this Feb 19, 2020
@Mic92

This comment has been minimized.

Copy link
Contributor

Mic92 commented Feb 19, 2020

Was flake8 in the $PATH during check phase?

@marcus7070

This comment has been minimized.

Copy link
Contributor Author

marcus7070 commented Feb 21, 2020

Thanks @Mic92, I had previously put flake8 into checkInputs and then accidentally reverted it. Fixed now, and pyls builds for 2.7, 3.6, 3.7 and 3.8.

But Spyder in nixpkgs has been reverted to 3.3, so I no longer need to bump pyls' version.

Since I've got it done, should I submit a new PR for python-language-server: 29.1 -> 31.8? Or should we leave nixpkgs at 29.1 until someone actually needs a later version?

@Mic92

This comment has been minimized.

Copy link
Contributor

Mic92 commented Feb 21, 2020

Since you put some effort in finding out how to upgrade pyls it might be beneficial if that information does not get lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.