[PATCH gnupgpy 0/5] Modernize python build for gpgmepy

Lucas Hoffmann via Gnupg-devel <[email protected]>
Newsgroups gmane.comp.encryption.gpg.devel
Message-ID <174277003465.373069.17602536947672357293@yoga>
These patches modernize the build process for the gpgmepy repository.
This was suggested in message 2807036.QOukoFCf94@daneel
(https://lists.gnupg.org/pipermail/gnupg-devel/2025-March/035822.html).

Please note that this is my first contribution to any gnupg project. You
can find my DCO attached to this message.

Some notes about the individual patches:

- I tried to move as much metadata from the setup.py(.in) file to the
  pyproject.toml file because it is static in two senses:  It is not
  touched by configure and friends and it can be parsed without
  executing it.  I consider both of these advantages for project
  metadata.

- I specified the minimum python version as 3.6.  From the message of
  1a7b204dedaf99efa08915ee561523997175380c it seems that 3.6 was kept
  because it is supported by some Linux distros.  Otherwise a good list
  of versions to support would be the versions supported upstream:
  https://devguide.python.org/versions/ Is there some spelled out policy
  which python versions should be supported?  Should the project have
  one?

- I do not know the m4 macro language and just made the commit "Remove
  distutils related code from configure macros" based on my knowledge of
  shell and python.  I tested the change by running configure on my
  machine.

I tried to search for related issues and patches on the bug tracker but
only found https://dev.gnupg.org/D545 which seems to be partially
applied by a7cfdab46f853397794575307a817982cdd06880.  Did I miss any
important issues or patches that could be incorporated into this series?

I tested my changes on my machine by running `make distclean &&
./configure --enable-maintainer-mode && make check`.  All but one tests
pass; the test t-verify.py is reported twice as failure.  This is the
same on master and with these patches.  Is there some kind of CI or
defined testing environment (docker container, VM, etc) that I can use?
Is this test known to fail or is this a problem with my setup (I am on
nixos if it matters)?

Please reply with your feedback, I am happy to fix problems that these
patches might have.

Best regards,
Lucas

PS: Overview of the patches:

Lucas Hoffmann (5):
  build: Migrate project metadata to pyproject.toml
  build: Specify minimum required python version
  build: Drop distutils from setup.py
  build: Move long description from to pyproject.toml
  build: Remove distutils related code from configure macros

 m4/ax_python_devel.m4 | 66 ++++++++++++-------------------------------
 m4/python.m4          | 42 ++++++---------------------
 pyproject.toml        | 63 +++++++++++++++++++++++++++++++++++++++++
 setup.py.in           | 59 ++------------------------------------
 4 files changed, 92 insertions(+), 138 deletions(-)
 create mode 100644 pyproject.toml

--
2.48.1

_______________________________________________
Gnupg-devel mailing list
[email protected]
https://lists.gnupg.org/mailman/listinfo/gnupg-devel
DCO (text/plain, 1.3 KB)
GPGME Python Bindings Developer's Certificate of Origin.  Version 1.0
=====================================================================

By making a contribution to the GPGME Python Bindings project, I
certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the free software license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the
    best of my knowledge, is covered under an appropriate free
    software license and I have the right under that license to
    submit that work with modifications, whether created in whole
    or in part by me, under the same free software license
    (unless I am permitted to submit under a different license),
    as indicated in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including
    all personal information I submit with it, including my
    sign-off) is maintained indefinitely and may be redistributed
    consistent with this project or the free software license(s)
    involved.

Signed-off-by: Lucas Hoffmann <[email protected]>
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQRZKi+BmaQnxh7D1LR4esDdEzEAtgUCZ+CPZwAKCRB4esDdEzEA
tiXhAP9rniwt8Y1K01FmYWC2ivPQHwB8w1T9+cBHp2KMbBHGuQEA3xJ74yjWodxO
DHY8G96wLwUPYLiDVF8L5ywF6e1GyQ8=
=g2yO
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.