diff options
author | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2016-11-29 19:06:27 +0100 |
---|---|---|
committer | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2016-11-29 19:06:27 +0100 |
commit | 03e856ddf5d28bc61144effb1a393b73cb4a2d9f (patch) | |
tree | f477e079cbdb4b274130e4fcb6c6a5acb781eedf /doc/guix.texi | |
parent | 072f1e22cc6b1708fddedd1ac7ab12827284a785 (diff) | |
parent | 80983df357856fe4e65e384a655e466164e049a1 (diff) | |
download | guix-03e856ddf5d28bc61144effb1a393b73cb4a2d9f.tar.gz |
Merge branch 'python-build-system'.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r-- | doc/guix.texi | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 4677e5cf79..125e5f0d62 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3220,6 +3220,11 @@ the @code{#:python} parameter. This is a useful way to force a package to be built for a specific version of the Python interpreter, which might be necessary if the package is only compatible with a single interpreter version. + +By default guix calls @code{setup.py} under control of +@code{setuptools}, much like @command{pip} does. Some packages are not +compatible with setuptools (and pip), thus you can disable this by +setting the @code{#:use-setuptools} parameter to @code{#f}. @end defvr @defvr {Scheme Variable} perl-build-system @@ -13806,7 +13811,6 @@ for instance, the module python-dateutil is packaged under the names starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as described above. - @subsubsection Specifying Dependencies @cindex inputs, for Python packages @@ -13823,6 +13827,12 @@ following check list to determine which dependency goes where. @itemize @item +We currently package Python 2 with @code{setuptools} and @code{pip} +installed like Python 3.4 has per default. Thus you don't need to +specify either of these as an input. @command{guix lint} will warn you +if you do. + +@item Python dependencies required at run time go into @code{propagated-inputs}. They are typically defined with the @code{install_requires} keyword in @file{setup.py}, or in the @@ -13836,8 +13846,7 @@ testing---e.g., those in @code{tests_require}---go into propagated because they are not needed at run time, and (2) in a cross-compilation context, it's the ``native'' input that we'd want. -Examples are @code{setuptools}, which is usually needed only at build -time, or the @code{pytest}, @code{mock}, and @code{nose} test +Examples are the @code{pytest}, @code{mock}, and @code{nose} test frameworks. Of course if any of these packages is also required at run-time, it needs to go to @code{propagated-inputs}. |