unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Hartmut Goebel <h.goebel@crazy-compilers.com>
To: Lars-Dominik Braun <lars@6xq.net>
Cc: guix-devel@gnu.org, 46848@debbugs.gnu.org
Subject: Re: Questions regarding Python packaging
Date: Tue, 22 Jun 2021 09:00:54 +0200	[thread overview]
Message-ID: <520a5492-6467-bbfc-3252-f17a5cc5d16f@crazy-compilers.com> (raw)
In-Reply-To: <YL0loaz6X4+Kp69t@noor.fritz.box>

[-- Attachment #1: Type: text/plain, Size: 3927 bytes --]

Hi Lars,

sorry for being late for commenting on this (the time I can spend on 
guix is rather limited atm).

Here are some general remarks on this patch-set (in order of appearance):

  *

    Not installing pip by default might break some user's environments.
    Anyhow, since using pip in guix is not such a good idea anyway, this
    should be okay.

  *

    "use-setuptools" is gone. There are still about 10 packages with
    "#:use-setuptools #f" - which means they are (expected to be)
    incompatible with setuptools for some reason. You might want to
    check whether these packages actually still can't be packages with
    setuptools.

  *

    setuptools-shim has been removed. I don't think this is a good idea,
    since this peace of code enforces packages to be actually build with
    setuptools instead of old distutils. This code is still in current
    pip, so I assume it is still required.

    (This shim ensures setuptools is used, even if setup.py only imports
    distutils. And setuptools is required for some options like
    ""--single-version-externally-managed" - as the comment for the shim
    says.)

  *

    set-SOURCE-DATE-EPOCH: Please keep the verbose rational. It's much
    more helpful than the new one-line comment.

  *

    set-SOURCE-DATE-EPOCH: This implementation makes the code depend on
    wheel and wheel being used for installation.

  *

    Why has rename-pth-file been removed? Are you sure .pth-files are
    never created anymore nowerdays?

  *

    python-hashbang: Isn't this done already by the normal
    "patch-shebangs" phase after install in  gnu-build-system? (BTW:
    these are called *she*bangs).

  *

    I suggest to have phase compile-bytecode still honor older versions
    of python


> 1) Validate the general idea of using pypa-build is viable and
>     sustainable in the long run – ideally through review by someone else
>     than me. We can’t touch python-build-system every week to solve
>     structural issues, so it needs to be bullet-proof.

pypa bulld is where the PyPA is pushing towards. Anyhow, as of today, as 
far as I can see, adoption is low.

> 2) Figure out how to run testing code. Currently python-build-system
>     just picks pytest, if available – not sure this is the best option we
>     have. How do we deal with other test systems? How do we pass options?

AFAIK fhere is no standard way for running tests in python. pytest seems 
to be the most modern test-system. Anyhow packages still use nose or tox 
(which again might run pytest or nose, with parameters fetched from 
tox.ini). So I'm afraid, there is no general rule.

Did the PyPA publish some recommendations or PEP on this?

> 4) Iron out minor details like including pip in the python package or
>     create a new python-toolchain package? What do we include in that
>     meta-package? pip? virtualenv? …?

As I Python developer I nowerdays would expect pip and venv (which is 
part of the std-lib - but not the virualenv, which is a separate module) 
to be availalbe when installing "python". Anyhow I could live with pip 
being a separate package.

"python-toolchain" sounds oversized for me. Would this include the 
C-compiler, too (which one? maybe I want to build cross). I'd rather not 
have such a package.

> 5) Fix my awkward Scheme code, especially regarding unpacking of the
>     built wheels. Should we be using Python’s unzip module or can be
>     assumed unzip is available in the build environment? (Should we add
>     it?)
The gnu-build-system already provides the "unzip" binary (used in phase 
"unpack"). So we could simply use this. Otherwise I recommend using the 
Python zip module, as this is what is used for creating the zip-archives 
:-)

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |


[-- Attachment #2: Type: text/html, Size: 5886 bytes --]

  parent reply	other threads:[~2021-06-22  7:01 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-08 14:27 Questions regarding Python packaging Tanguy Le Carrour
2020-11-08 17:05 ` Leo Famulari
2020-11-10  8:35   ` Tanguy Le Carrour
2020-11-08 20:43 ` Michael Rohleder
2020-11-10  8:30   ` Tanguy Le Carrour
2020-11-09 16:54 ` Hartmut Goebel
2020-11-10  8:47   ` Tanguy Le Carrour
2020-11-10  8:53     ` Hartmut Goebel
2021-01-05 10:25 ` Lars-Dominik Braun
2021-01-06 15:32   ` Tanguy LE CARROUR
2021-01-22  8:38     ` Tanguy LE CARROUR
2021-01-23 12:34       ` Lars-Dominik Braun
2021-01-24 13:30         ` Tanguy LE CARROUR
2021-01-24 20:54         ` Ryan Prior
2021-01-25 11:47           ` Lars-Dominik Braun
2021-01-25 16:57             ` Ryan Prior
2021-02-05 10:40         ` Hartmut Goebel
2021-05-17  6:24         ` Lars-Dominik Braun
2021-06-06 16:44           ` Tanguy LE CARROUR
2021-06-06 19:44             ` Lars-Dominik Braun
2021-06-22  6:53               ` Removal of Python 2? Hartmut Goebel
2021-06-22 12:41                 ` Konrad Hinsen
2021-06-23 15:26                   ` Ludovic Courtès
2021-06-23 15:34                     ` zimoun
2021-06-23 18:32                     ` Konrad Hinsen
2021-06-22 18:02                 ` Ryan Prior
2021-06-25  6:37                   ` Konrad Hinsen
2021-06-22  7:00               ` Hartmut Goebel [this message]
2021-06-28 11:59                 ` Questions regarding Python packaging Lars-Dominik Braun
2021-06-28 20:37                   ` Hartmut Goebel
2021-06-29  7:20                     ` Lars-Dominik Braun
2021-07-06 12:16                       ` [bug#46848] " Lars-Dominik Braun
2021-07-07 15:01                       ` Hartmut Goebel
2021-01-26  7:21       ` Tanguy LE CARROUR
2021-01-27  3:43         ` Maxim Cournoyer
2021-01-06 15:37   ` Tanguy LE CARROUR

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=520a5492-6467-bbfc-3252-f17a5cc5d16f@crazy-compilers.com \
    --to=h.goebel@crazy-compilers.com \
    --cc=46848@debbugs.gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=lars@6xq.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).