<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/lang/python/setup.py.in, branch gpgme-1.24.0</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.24.0</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.24.0'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2024-09-02T13:33:25Z</updated>
<entry>
<title>build,python: Fix build with setuptools 72.2.0+</title>
<updated>2024-09-02T13:33:25Z</updated>
<author>
<name>Ingo Klöcker</name>
<email>dev@ingo-kloecker.de</email>
</author>
<published>2024-09-02T13:33:25Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=ecd0c86d62351d267bdc9566286c532a394c711b'/>
<id>urn:sha1:ecd0c86d62351d267bdc9566286c532a394c711b</id>
<content type='text'>
* lang/python/setup.py.in (BuildExtFirstHack.run): Extend members of the
extension instead of lists that were passed to the extension.
--

setuptools 72.2.0 integrated changes in distutils which included
"Support for Pathlike objects in data files and extensions". With this
change the extensions now take a copy of the sources list passed to the
constructor instead of keeping a reference to the passed list. Hence,
modifying the sources list that was passed to the extension didn't
change the sources list of the extension anymore. This is fixed by
modifying the sources list of the extension directly. For consistency
we do the same for the swig_opts list.

GnuPG-bug-id: 7281
</content>
</entry>
<entry>
<title>build,python: Build Python bindings without distutils</title>
<updated>2024-05-29T15:04:10Z</updated>
<author>
<name>Ben Greiner</name>
<email>code@bnavigator.de</email>
</author>
<published>2024-05-29T13:17:58Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=5844d9e700239ad10a5956cd7789bd02360bb0fa'/>
<id>urn:sha1:5844d9e700239ad10a5956cd7789bd02360bb0fa</id>
<content type='text'>
* m4/python.m4: Add python3.12 and 3.11 as valid interpreters, remove
EOL 3.4, 3.5, 3.7 (keep 3.6 because some distributions still ship and
maintain it).
* lang/python/Makefile.am (clean-local): Remove dist and gpg.egg-info
created by Python 3.9+ on make install.
* lang/python/setup.py.in: switch from distutils to setuptools where
possible, remove obsolete and deprecated -py3 option of swig, add
classifiers up to 3.12, remove 3.4, 3.5, 3.7.
* lang/python/doc/src/gpgme-python-howto.org: replace distutils with
setuptools
* lang/python/examples/howto/advanced/cython/setup.py: replace distutils
with setuptools
--

This fixes building the Python bindings for Python 3.12 where distutils
has been removed.

Based on D545
</content>
</entry>
<entry>
<title>python: Fix configure generating setup.py.</title>
<updated>2022-10-26T02:02:36Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2022-10-26T02:02:36Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=f1802682c3c8794edaca37966405bd1f070f5e01'/>
<id>urn:sha1:f1802682c3c8794edaca37966405bd1f070f5e01</id>
<content type='text'>
* lang/python/setup.py.in: Handle the case, when substitutions
may be empty.

--

Reported-by: Andreas Metzler
Fixes-commit: ae9258fbf3b9d434495ef11fc184a91fe7c4ca57
GnuPG-bug-id: 6204
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>build:python: Don't use gpg-error-config/gpgme-config.</title>
<updated>2022-09-15T04:46:23Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2022-09-15T04:46:23Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=ae9258fbf3b9d434495ef11fc184a91fe7c4ca57'/>
<id>urn:sha1:ae9258fbf3b9d434495ef11fc184a91fe7c4ca57</id>
<content type='text'>
* lang/python/setup.py.in: Use @prefix@, @GPGME_CONFIG_LIBS@,
@GPGME_CONFIG_CFLAGS@, and @GPG_ERROR_CFLAGS@ of configure.

--

GnuPG-bug-id: 6204
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>python: documentation</title>
<updated>2018-11-30T20:45:50Z</updated>
<author>
<name>Ben McGinnes</name>
<email>ben@adversary.org</email>
</author>
<published>2018-11-30T20:45:50Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3b056a01a252bb72df5744409ba494e1a6e54d31'/>
<id>urn:sha1:3b056a01a252bb72df5744409ba494e1a6e54d31</id>
<content type='text'>
* Added long description to setup.py.in.
* Added maintenance mode details with clarification for what type of
  things would be a bug as far as MM is concerned and what wouldn't
  be.
** Includes a not too subtle hint directed towards the donations page.
* Miscellaneous tightening of documentation.

Signed-off-by: Ben McGinnes &lt;ben@adversary.org&gt;
</content>
</entry>
<entry>
<title>doc: convert more http:// links to https://</title>
<updated>2018-10-18T04:28:51Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2018-10-18T04:10:19Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=a81534fed8ff34b67a2726d333d9725454663c82'/>
<id>urn:sha1:a81534fed8ff34b67a2726d333d9725454663c82</id>
<content type='text'>
--

Signed-off-by: Daniel Kahn Gillmor &lt;dkg@fifthhorseman.net&gt;
</content>
</entry>
<entry>
<title>Python bindings setup file</title>
<updated>2018-08-18T14:21:47Z</updated>
<author>
<name>Ben McGinnes</name>
<email>ben@adversary.org</email>
</author>
<published>2018-08-18T14:21:47Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=03b899dbe14a3c32fd018c20c7d5156366fdcc3d'/>
<id>urn:sha1:03b899dbe14a3c32fd018c20c7d5156366fdcc3d</id>
<content type='text'>
* Moved the build import back up where it belongs.
* Included comments indicating how to build and install for multiple
  Python versions beyond the first 2 on the same system.
</content>
</entry>
<entry>
<title>Python bindings setup: Near PEP8 compliance</title>
<updated>2018-08-18T08:19:16Z</updated>
<author>
<name>Ben McGinnes</name>
<email>ben@adversary.org</email>
</author>
<published>2018-08-18T08:19:16Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=fc55caccfc87253e1703df66b21917cc399fba62'/>
<id>urn:sha1:fc55caccfc87253e1703df66b21917cc399fba62</id>
<content type='text'>
* lang/python/version.py.in: Fixed most things, but there's still an
  issue near the build portion with the existing Python bugs referenced.
* lang/python/setup.py.in: Now PEP8 compliant.
</content>
</entry>
<entry>
<title>python bindings: python 3.7</title>
<updated>2018-06-29T04:26:30Z</updated>
<author>
<name>Ben McGinnes</name>
<email>ben@adversary.org</email>
</author>
<published>2018-06-29T04:26:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=43a2b5754571292b25402e20cd044ebda9316c77'/>
<id>urn:sha1:43a2b5754571292b25402e20cd044ebda9316c77</id>
<content type='text'>
* Bindings confirmed to work with the newly released 3.7.0.
* Updated M4 file to reflect this change and correct the Python binary
  search order (3.7 is not yet given priority, but will still be found
  first via the more generic python3 executable).
* Updated setup.py.in, bindings documentation and README to reflect this.
</content>
</entry>
<entry>
<title>python: Fix crash by leaving struct members intact</title>
<updated>2018-04-17T08:20:12Z</updated>
<author>
<name>Tobias Mueller</name>
<email>muelli@cryptobitch.de</email>
</author>
<published>2018-02-20T16:34:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=bbfa7c42337bb619e6af20bf051fe0755ed5a9fd'/>
<id>urn:sha1:bbfa7c42337bb619e6af20bf051fe0755ed5a9fd</id>
<content type='text'>
* lang/python/setup.py.in: Copy gpgme.h instead of parsing it.
--
The python bindings tried to parse deprecated functions
out of gpgme.h. This fails for the current gpgme.h in
that it removes an entire field in the key sig struct (_obsolete_class).
Hence, the fields were off by an int and the bindings accessed struct
members via the wrong offset. That caused python program to crash.
At least on 32bit platforms, the crash can be easily triggered by
accessing key.uids[0].signatures. On 64bit platforms the compiler
probably aligns the struct so that the missing 4 bytes are not noticed.

With this change, the python bindings will expose all functions
that gpgme exposes, including the deprecated ones.

Credits go to Justus Winter for debugging and identying the issue.

Signed-off-by: Tobias Mueller &lt;muelli@cryptobitch.de&gt;
GnuPG-bug-id: 3892
</content>
</entry>
</feed>
