diff --git a/NEWS b/NEWS index ba659940..e553b89e 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,8 @@ Current release What's new in psycopg 2.5.3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +- Work around `pip issue #1630 `__ + making installation via ``pip -e git+url`` impossible (:ticket:`#18`). - Added arbitrary but stable order to `Range` objects, thanks to Chris Withers (:ticket:`#193`). - Avoid blocking async connections on connect (:ticket:`#194`). Thanks to diff --git a/setup.py b/setup.py index afc042ea..022253ce 100644 --- a/setup.py +++ b/setup.py @@ -507,9 +507,11 @@ you probably need to install its companion -dev or -devel package.""" # generate a nice version string to avoid confusion when users report bugs version_flags.append('pq3') # no more a choice + for have in parser.get('build_ext', 'define').split(','): if have == 'PSYCOPG_EXTENSIONS': version_flags.append('ext') + if version_flags: PSYCOPG_VERSION_EX = PSYCOPG_VERSION + " (%s)" % ' '.join(version_flags) else: @@ -530,6 +532,13 @@ if parser.has_option('build_ext', 'static_libpq'): else: static_libpq = 0 +# And now... explicitly add the defines from the .cfg files. +# Looks like setuptools or some other cog doesn't add them to the command line +# when called e.g. with "pip -e git+url'. This results in declarations +# duplicate on the commandline, which I hope is not a problem. +for define in parser.get('build_ext', 'define').split(','): + define_macros.append((define, '1')) + # build the extension sources = [ os.path.join('psycopg', x) for x in sources]