summaryrefslogtreecommitdiff
path: root/pkgs/development/interpreters/python/wrap.sh
AgeCommit message (Collapse)Author
2019-12-30python.pkgs.wrapPython: get rid of warningJan Tojnar
When `makeWrapperArgs` variable is not set, `declare -p makeWrapperArgs` will return with 1 and print an error message to stderr. I did not handle the non-existence case in b0633406cb70e0e4ae3470a6b49e32b38d99ac16 because I thought `mk-python-derivation` will always define `makeWrapperArgs` but `wrapProgram` can be called independently. And even with `mk-python-derivation`, `makeWrappers` will not be set unless explicitly declared in the derivation because of https://github.com/NixOS/nix/issues/1461. I was lead to believe that because the builds were succeeding and I confirmed that the mechanism fails when the variable is not defined and `-o nounset` is enabled. It appears that `wrapPython` setup hook is not running under `-o nounset`, though, invaldating the assumption. Now we are checking that the variable exists before checking its type, which will get rid of the warning and also prevent future error when `-o nounset` is enabled in the setup hook. For more information, see the discussion at https://github.com/NixOS/nixpkgs/commit/a6bb2ede232940a96150da7207a3ecd15eb6328
2019-12-28python.pkgs.wrapPython: fix string makeWrapperArgsJan Tojnar
Bash takes an assignment of a string to an array variable: local -a user_args user_args="(foo bar)" to mean appending the string to the array, not parsing the string into an array as is the case when on the same line as the declaration: local -a user_args="(foo bar)" b0633406cb70e0e4ae3470a6b49e32b38d99ac16 extracted the declaration before the newly branched code block, causing string makeWrapperArgs being added to the array verbatim. Since local is function scoped, it does not matter if we move it inside each of the branches so we fix it this way.
2019-12-26Merge pull request #76283 from jtojnar/python-mwaworldofpeace
python.pkgs.wrapPython: fix makeWrapperArgs
2019-12-23python.pkgs.wrapPython: fix makeWrapperArgsJan Tojnar
When `makeWrapperArgs` is a Bash array, we only passed the first item to `wrapProgram`. We need to use `"${makeWrapperArgs[@]}"` to extract all the items. But that breaks the common string case so we need to handle that case separately.
2019-05-13Add flag to disable PYTHONNOUSERSITE for wrapped binaries in python environmentsTom McLaughlin
2019-05-13Add flag to disable PYTHONNOUSERSITE for wrapped python binariesTom McLaughlin
2019-01-04Python: improve cross-compilationFrederik Rietdijk
This changeset allows for cross-compilation of Python packages. Packages built with buildPythonPackage are not allowed to refer to the build machine. Executables that have shebangs will refer to the host.
2018-12-20wrap-python: fix pypy site-packages pathJörg Thalheim
2017-11-21stdenv setup: Always use both propagated filesJohn Ericson
This continues #23374, which always kept around both attributes, by always including both propagated files: `propgated-native-build-inputs` and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still defined as before, however, so this change should only barely observable. This is an incremental step to fully keeping the dependencies separate in all cases.
2017-07-31Python: disable user site-packages for programs and environments.Frederik Rietdijk
Python by default checks a `site-packages` folder in the user's home folder. We do not want such an impurity and therefore disable it. Fixes #26846.
2017-05-27Python: wrapPythonPrograms: only wrap in $out/binFrederik Rietdijk
Thus far all executables in a derivation were wrapped. This commit only wraps executables in $out/bin. If other scripts need to be wrapped as well, then one can use wrapPythonProgramsIn.
2017-02-19pythonPackages.wrapPython: fix for paths with spacesNikolay Amiantov
2016-09-01Python: move python-modules/generic to interpreter folderFrederik Rietdijk