From f9442744af6dc59f110973490e765e0d66dd603d Mon Sep 17 00:00:00 2001 From: Colin 't Hart <colin@bandicoot.favoptic.com> Date: Mon, 4 May 2020 18:59:37 +0000 Subject: [PATCH 1/2] Fixed search of mxDateTime headers - Find mxDateTime.h automatically on path directories. - Prefer mxDateTime.h found in venv over one found in /usr/include. --- setup.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 6768cb54..fb745d03 100644 --- a/setup.py +++ b/setup.py @@ -525,19 +525,21 @@ parser = configparser.ConfigParser() parser.read('setup.cfg') # check for mx package -have_mxdatetime = False mxincludedir = '' if parser.has_option('build_ext', 'mx_include_dir'): mxincludedir = parser.get('build_ext', 'mx_include_dir') if not mxincludedir: - mxincludedir = os.path.join(get_python_inc(plat_specific=1), "mx") + # look for mxDateTime.h; prefer one located in venv + candidate_dirs = [os.path.join(d, 'mx', 'DateTime', 'mxDateTime') for d in sys.path] \ + + [os.path.join(get_python_inc(plat_specific=1), "mx")] + candidate_dirs = [d for d in candidate_dirs if os.path.exists(os.path.join(d, 'mxDateTime.h'))] or [''] + mxincludedir = candidate_dirs[0] if mxincludedir.strip() and os.path.exists(mxincludedir): # Build the support for mx: we will check at runtime if it can be imported include_dirs.append(mxincludedir) define_macros.append(('HAVE_MXDATETIME', '1')) sources.append('adapter_mxdatetime.c') depends.extend(['adapter_mxdatetime.h', 'typecast_mxdatetime.c']) - have_mxdatetime = True version_flags.append('mx') # generate a nice version string to avoid confusion when users report bugs From a75afe4d83f7d1921db8ef58c6e4e679159f2c23 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo <daniele.varrazzo@gmail.com> Date: Wed, 6 May 2020 14:46:58 +1200 Subject: [PATCH 2/2] Mention fixing mx search in news file Close #996. --- NEWS | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS b/NEWS index 08146516..485b8db3 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,7 @@ What's new in psycopg 2.8.6 - Fixed memory leak changing connection encoding to the current one (:ticket:`#1101`). +- Fixed search of mxDateTime headers in virtualenvs (:ticket:`#996`). What's new in psycopg 2.8.5