gpgme/lang/python
Daniel Kahn Gillmor 9de1c96ac3 python: do not export HAVE_CXX11 definition
* lang/python/gpgme.i: ignore HAVE_CXX11 in SWIG interface

--

If there are two distinct builds (a) and (b) of gpgme which both build
python bindings, and build (a) also happens to build the C++ bindings,
then the generated gpg/gpgme.py file from build (a) will not be usable
with the .so generated in build (b), despite them being exactly the
same, and having nothing to do with C++.

In particular, it will fail with:

-----------
  File "…/gpg/__init__.py", line 99, in <module>
    from . import core
  File "…/gpg/core.py", line 10, in <module>
    from . import gpgme
  File "…/gpg/gpgme.py", line 152, in <module>
    HAVE_CXX11 = _gpgme.HAVE_CXX11
AttributeError: module 'gpg._gpgme' has no attribute 'HAVE_CXX11'
-----------

By asking SWIG to ignore this definition, we stabilize the generated
.py and the .so, ensuring that they are more cleanly interoperable.
2018-10-18 00:30:32 -04:00
..
doc doc: convert more http:// links to https:// 2018-10-18 00:28:51 -04:00
examples doc: use https:// for www.gnu.org 2018-10-18 00:28:51 -04:00
src doc: use https:// for www.gnu.org 2018-10-18 00:28:51 -04:00
tests doc: convert more http:// links to https:// 2018-10-18 00:28:51 -04:00
gpgme.i python: do not export HAVE_CXX11 definition 2018-10-18 00:30:32 -04:00
helpers.c python: Fix passphrase callback wrapping. 2017-02-16 14:49:27 +01:00
helpers.h python: Rename Python module from PyME to gpg. 2016-10-31 15:42:27 +01:00
Makefile.am doc: use https:// for www.gnu.org 2018-10-18 00:28:51 -04:00
MANIFEST.in python: makefiles 2018-10-04 21:10:46 +10:00
private.h doc: use https:// for www.gnu.org 2018-10-18 00:28:51 -04:00
README doc: convert more http:// links to https:// 2018-10-18 00:28:51 -04:00
README.org doc: convert more http:// links to https:// 2018-10-18 00:28:51 -04:00
setup.py.in doc: convert more http:// links to https:// 2018-10-18 00:28:51 -04:00
version.py.in Python bindings setup: Near PEP8 compliance 2018-08-18 18:19:16 +10:00

                   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                    GPG - GPGME BINDINGS FOR PYTHON
                   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Table of Contents
─────────────────

1 Mailing List
2 Bugs
3 Authors
4 History


The "gpg" module is a python interface to the GPGME library:
<https://www.gnupg.org/software/gpgme/>

"gpg" offers two interfaces, one is a high-level, curated, and idiomatic
interface that is implemented as a shim on top of the low-level
interface automatically created using SWIG.

This way we make simple things easy, while still providing the entire
functionality of the underlying library.


1 Mailing List
══════════════

  For general discussion and help see the gnupg-users mailing list:
  <https://lists.gnupg.org/mailman/listinfo/gnupg-users>

  For development see the gnupg-devel mailing list:
  <https://lists.gnupg.org/mailman/listinfo/gnupg-devel>


2 Bugs
══════

  Please report bugs using our bug tracker <https://bugs.gnupg.org> with
  tag (aka project) 'gpgme'.


3 Authors
═════════

  PyME was created by John Goerzen, and maintained, developed, and
  cherished by Igor Belyi, Martin Albrecht, Ben McGinnes, Justus
  Winter, and everyone who contributed to it in any way.

  In 2016 we merged a port of PyME to into the GPGME repository, and
  development will continue there.  Please see the VCS history for the
  list of contributors, and if you do find bugs, or want to contribute,
  please get in touch and help maintain the python gpg bindings.

  Please see the section 'History' further down this document for
  references to previous versions.


4 History
═════════

  • The python bindings were renamed from PyME to "gpg" in 2016.

  • The bindings have been merged into the GPGME repository in 2016.

  • The latest version of PyME for Python 3.2 and above (as of May,
    2015) is v0.9.1.  <https://git.gnupg.org/gpgme.git/lang/py3-pyme>

  • The latest version of PyME for Python 2.6 and 2.7 (as of this
    writing) is v0.9.0.  <https://bitbucket.org/malb/pyme>

  • A previous version of PyME v0.8.0 can be found on sourceforge:
    <http://pyme.sourceforge.net/>

  • A previous version of PyME v0.5.1 which works with GPGME v0.3.15 can
    be found on John Goerzen's PyME page: <http://quux.org/devel/pyme/>
    <https://www.complete.org/JohnGoerzen>