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.nipype: 0.10.0 -> 0.14.0 #33916

Closed
wants to merge 16 commits into from

Conversation

ashgillman
Copy link
Contributor

Motivation for this change

Many new nipype features in interim, including py3 support

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
    • 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 nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@@ -6196,6 +6196,26 @@ in {
};
};

prov = buildPythonPackage rec {
Copy link
Member

@Mic92 Mic92 Jan 16, 2018

Choose a reason for hiding this comment

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

Please do not add new packages directly to this file, but store them in python-modules and only reference them here as described in the header of this file.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks, can do

pydotplus
rdflib
];
doCheck = false; # takes forever!
Copy link
Member

@Mic92 Mic92 Jan 16, 2018

Choose a reason for hiding this comment

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

Please also add a meta attributes here.


meta = {
homepage = https://code.google.com/p/pydot/;
description = "An improved version of the old pydot project that provides a Python Interface to Graphviz’s Dot language";
Copy link
Member

Choose a reason for hiding this comment

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

License is missing; do you want to maintain this package?

};

# Tests fail due to getcwd returning ENOENT???
# Fails in testing, "no such file or directory: which"
Copy link
Member

Choose a reason for hiding this comment

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

Have you tried adding the which package?

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 didn't realise which was a command :s
which which gives which: built in shell command

Adding which actually does help, but still fails :(

Copy link
Member

Choose a reason for hiding this comment

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

in zsh it is a builtin.

@@ -11316,17 +11320,18 @@ in {
});

nibabel = buildPythonPackage rec {
Copy link
Member

Choose a reason for hiding this comment

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

We are moving Python expressions out of pkgs/top-level/python-packages.nix into pkgs/development/python-modules/<module>/default.nix.

Please move the expression there, and call it from pkgs/top-level/python-packages.nix using callPackage ../development/python-modules/<package> { };.

@@ -11387,34 +11392,42 @@ in {
};

nipype = buildPythonPackage rec {
Copy link
Member

Choose a reason for hiding this comment

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

We are moving Python expressions out of pkgs/top-level/python-packages.nix into pkgs/development/python-modules/<module>/default.nix.

Please move the expression there, and call it from pkgs/top-level/python-packages.nix using callPackage ../development/python-modules/<package> { };.

@@ -15606,11 +15619,11 @@ in {


rdflib = buildPythonPackage (rec {
Copy link
Member

Choose a reason for hiding this comment

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

We are moving Python expressions out of pkgs/top-level/python-packages.nix into pkgs/development/python-modules/<module>/default.nix.

Please move the expression there, and call it from pkgs/top-level/python-packages.nix using callPackage ../development/python-modules/<package> { };.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@@ -17851,11 +17864,11 @@ in {

traits = buildPythonPackage rec {
Copy link
Member

Choose a reason for hiding this comment

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

We are moving Python expressions out of pkgs/top-level/python-packages.nix into pkgs/development/python-modules/<module>/default.nix.

Please move the expression there, and call it from pkgs/top-level/python-packages.nix using callPackage ../development/python-modules/<package> { };.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

}:

buildPythonPackage rec {
name = "${pname}-${version}";
Copy link
Member

Choose a reason for hiding this comment

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

no name

}:

buildPythonPackage rec {
name = "${pname}-${version}";
Copy link
Member

Choose a reason for hiding this comment

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

no name

}:

buildPythonPackage rec {
name = "${pname}-${version}";
Copy link
Member

Choose a reason for hiding this comment

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

no name

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not sure what you mean sorry. There should be no name attr? https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/python.md recommends this

Copy link
Member

Choose a reason for hiding this comment

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

That example should indeed be updated. buildPython* functions fill in name when given pname and version.

pydotplus
rdflib
];
doCheck = false; # takes forever!
Copy link
Member

Choose a reason for hiding this comment

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

What is "forever"? Test suites of most scientific python packages take some time.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Looking into this now (I wrote some of these expressions a number of months ago).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ran 956 tests in 3594.012s

FAILED (failures=22, expected failures=17)
Test failed: <unittest.runner.TextTestResult run=956 errors=0 failures=22>

So about an hour (total build time was about an hour and 10).

I am investigating whether the errors are present in 1.5.1 before reporting upstream. (NB: Nipype currently requires exactly 1.5.0, this is being dealt with)

}:

buildPythonPackage rec {
name = "${pname}-${version}";
Copy link
Member

Choose a reason for hiding this comment

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

no name


doCheck = false; # fails with TypeError: None is not callable
checkInputs = [ which ];
buildInputs = [ pytest mock ];
Copy link
Member

Choose a reason for hiding this comment

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

checkInputs

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 should move which back to buildInputs?

Sorry, I am not aware of a few of these conventions. Are they documented somewhere?

Copy link
Member

Choose a reason for hiding this comment

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

no, he was asking you to move pytest and mock to checkInputs. checkInputs is a buildPythonPackage specific attribute that contains dependencies only needed during testing. Does this make things clear?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, I see. However, the build fails in installPhase without pytest and mock so these are needed as buildInputs. I will add a comment

}:

buildPythonPackage rec {
name = "${pname}-${version}";
Copy link
Member

Choose a reason for hiding this comment

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

That example should indeed be updated. buildPython* functions fill in name when given pname and version.

@ashgillman
Copy link
Contributor Author

I believe all changes have been made

@ashgillman
Copy link
Contributor Author

NB: prov still has testing disabled due to errors that were fixed in 5.0.1. Also these tests take an hour to run. Nipype requires 5.0.0.

@FRidh FRidh self-assigned this Jan 17, 2018
@FRidh FRidh mentioned this pull request Jan 20, 2018
8 tasks
@FRidh
Copy link
Member

FRidh commented Jan 20, 2018

These changes have landed in staging through #34077.

@FRidh FRidh closed this Jan 20, 2018
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