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

python uvloop libary: updating, 0.12.2 to 0.13.0 #67735

Merged
merged 1 commit into from Sep 2, 2019

Conversation

d-goldin
Copy link
Contributor

@d-goldin d-goldin commented Aug 30, 2019

Motivation for this change

As mentioned in #67492
the build is currently broken after an update of openssl versions.

The updated version fixes the issue but requires an additional
patch adding a flake8 file as its needed by a test-case but is not
shipped in released versions.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • 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 nix-review --run "nix-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.
Notify maintainers

cc @costrouc

@disassembler
Copy link
Member

@GrahamcOfBorg build python3Packages.uvloop

};

buildInputs = [ libuv ];

# The flake8 config file is not bundled with the pypi release, but
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use a github release https://github.com/MagicStack/uvloop/releases?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was initially considering it, but then I thought it might be preferable to minimize the changes to the derivation. What do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if tests are missing it is fine to make the switch and use the GitHUb release. Note, however, that flake8 tests are not interesting for us. It's just linting and style.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'm also a bit torn. I was kinda just trying to keep the changes as minimal as possible and stay close to upstream, since I'm not the maintainer. Would you prefer us to try and blacklist this test?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unit tests we should try to keep, but these linting/style tests can indeed be blacklisted.

cc @costrouc

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, so for now I just plainly switched to removing this particular test-file.

Regarding using the github release, I briefly tried it out, but aside from requiring more changes to the derivation, there are some issues with one of the setuptools build_ext stages like error: don't know how to compile C/C++ code on platform 'posix' with '<distutils.unixccompiler.UnixCCompiler object at 0x7ffff71a8a90>' compiler) - which is odd, as some native compilation steps seem to work just fine. Maybe somebody else knows. (cc @worldofpeace)

So, maybe it's fine to just leave it using fetchPypi and ditch the file.

@disassembler
Copy link
Member

disassembler commented Aug 31, 2019

you need to add CoreServices, ApplicationServices to the attribute set at the top passed in and stdenv.lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ]; to buildInputs

@d-goldin
Copy link
Contributor Author

@disassembler: Could you please briefly explain to me why this would be required? I have not seen this being used in python modules derivations yet and also don't run darwin, so I don't really understand what it would do in this case.

@disassembler
Copy link
Member

because apple, lol. See the file not found errors at https://logs.nix.ci/?key=nixos/nixpkgs.67735&attempt_id=d3a6510b-d8f4-458b-94ed-a424b4ea4c53

@d-goldin
Copy link
Contributor Author

@disassembler: Oh, thanks. I assume that this issue must have happened before as well. I will try to include it a bit later.

@d-goldin
Copy link
Contributor Author

@GrahamcOfBorg build python3Packages.uvloop

1 similar comment
@disassembler
Copy link
Member

@GrahamcOfBorg build python3Packages.uvloop

@worldofpeace
Copy link
Contributor

We need to correct the commit msg to

pythonPackages.uvloop: 0.12.2 -> 0.13.0
``

@d-goldin
Copy link
Contributor Author

d-goldin commented Sep 1, 2019

Can you do this when squashing before merge, or should I squash and force push?

@worldofpeace
Copy link
Contributor

Can you do this when squashing before merge, or should I squash and force push?

Squash/fixup and force push should be fine. Be sure to document the actual changes for the update in the body.

@d-goldin
Copy link
Contributor Author

d-goldin commented Sep 1, 2019

@disassembler: Hm, the darwin build timed out running the tests. Should we just give it another go?

@worldofpeace
Copy link
Contributor

worldofpeace commented Sep 1, 2019

@GrahamcOfBorg build python3Packages.uvloop

* As mentioned in NixOS#67492
the build was broken after an update of openssl versions.

* Fixes a flake8 unit-test case that requires a flake8 config
which is not shipped with the distribution.

* Fixes build on darwin.
@disassembler disassembler merged commit a88976d into NixOS:master Sep 2, 2019
@d-goldin d-goldin deleted the d-goldin/bump_uvloop branch September 2, 2019 10:19
@arcnmx arcnmx mentioned this pull request Sep 3, 2019
10 tasks
dtzWill pushed a commit to dtzWill/nixpkgs that referenced this pull request Jan 21, 2020
* As mentioned in NixOS#67492
the build was broken after an update of openssl versions.

* Fixes a flake8 unit-test case that requires a flake8 config
which is not shipped with the distribution.

* Fixes build on darwin.

(cherry picked from commit a88976d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants