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

pythonPackages: new and updates #29017

Closed
wants to merge 6 commits into from
Closed

Conversation

oxij
Copy link
Member

@oxij oxij commented Sep 5, 2017

Motivation for this change

"Because YouTube gone complete JavaScript"

lz4: unrelated update, but I'm too lazy to make a separate PR for that.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • 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 nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@oxij oxij requested a review from FRidh as a code owner September 5, 2017 11:35
@FRidh FRidh self-assigned this Sep 5, 2017
Copy link
Member

@FRidh FRidh left a comment

Choose a reason for hiding this comment

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

Can you move the expressions into their own files (see the header of python-packages.nix) and use fetchPypi where possible.

@FRidh
Copy link
Member

FRidh commented Sep 5, 2017

I will eventually add your PR to #29009.

@oxij
Copy link
Member Author

oxij commented Sep 5, 2017 via email

@@ -1730,6 +1730,8 @@ in {
};
};

comp = callPackage ../applications/video/comp { };
Copy link
Member

Choose a reason for hiding this comment

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

This is an application and should therefore be called directly from all-packages.nix, and not via python-packages.nix.

@@ -23813,6 +23782,8 @@ EOF

wheel = callPackage ../development/python-modules/wheel { };

whitey = callPackage ../applications/video/whitey { };
Copy link
Member

Choose a reason for hiding this comment

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

This is an application and should therefore be called directly from all-packages.nix, and not via python-packages.nix.

maintainers = with maintainers; [ odi ];
};
};
mps-youtube = callPackage ../applications/video/mps-youtube { };
Copy link
Member

Choose a reason for hiding this comment

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

This is an application and should therefore be called directly from all-packages.nix, and not via python-packages.nix.

@oxij
Copy link
Member Author

oxij commented Sep 6, 2017 via email

@FRidh
Copy link
Member

FRidh commented Sep 6, 2017

I respectfully disagree with that policy. I think things that use
language-specific build system should live near said language-specific
build system.

Where do packages live that are written in multiple languages?

Especially when autogeneration of those package
expressions is possible (and it clearly is possible for most Python
packages present in PyPi, it's just nobody got to implementing it yet).

Unfortunately it is not possible with Python because:

  1. dependencies are not declarative;
  2. there is no curated list of packages that are known/solved to work together.

pypi2nix is a nice attempt, circumventing 1) by simply building everything. Distutils discussed creating a solver for PyPI, but that won't happen anytime soon. Furthermore, as long as its not possible to query PyPI at a certain state there is no way to create package sets that "match" for the different interpreter version/platform combinations that we have.

To be perfectly honest, I would prefer Python packages to live in a
single file sorted by attribute name, but technical arguments for that
get less and less valid with better SSDs and bigger RAM (unless the
included files are so tiny that open(2) costs much more than read(2)
followed by parsing).

That's how it was, and how I liked it as well, but we're moving away from that because its problematic, e.g. due to merge conflicts. If we could have autogenerated data, then having a single file with overrides would be nice. But that's not going to happen anytime soon.

@oxij
Copy link
Member Author

oxij commented Feb 11, 2018

Note that while this PR bitrotted much of the exactly the original changes from this PR were merged into master without any discussion on "policy". Doesn't that look hypocritical to you?

@7c6f434c
Copy link
Member

Where do packages live that are written in multiple languages?

They don't use the stereotypical package-constructing function of any original languagePackages anyway.

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

5 participants