Work around pip issue #1630 breaking 'pip -e git+url'

https://github.com/pypa/pip/issues/1630

Fixes ticket #18 (opened in 2010!)
This commit is contained in:
Daniele Varrazzo 2014-04-04 17:30:10 +01:00
parent 33f2301772
commit 81443c3a65
2 changed files with 11 additions and 0 deletions

2
NEWS
View File

@ -13,6 +13,8 @@ Bug fixes:
What's new in psycopg 2.5.3 What's new in psycopg 2.5.3
^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Work around `pip issue #1630 <https://github.com/pypa/pip/issues/1630>`__
making installation via ``pip -e git+url`` impossible (:ticket:`#18`).
- Added arbitrary but stable order to `Range` objects, thanks to - Added arbitrary but stable order to `Range` objects, thanks to
Chris Withers (:ticket:`#193`). Chris Withers (:ticket:`#193`).
- Avoid blocking async connections on connect (:ticket:`#194`). Thanks to - Avoid blocking async connections on connect (:ticket:`#194`). Thanks to

View File

@ -508,9 +508,11 @@ you probably need to install its companion -dev or -devel package."""
# generate a nice version string to avoid confusion when users report bugs # generate a nice version string to avoid confusion when users report bugs
version_flags.append('pq3') # no more a choice version_flags.append('pq3') # no more a choice
for have in parser.get('build_ext', 'define').split(','): for have in parser.get('build_ext', 'define').split(','):
if have == 'PSYCOPG_EXTENSIONS': if have == 'PSYCOPG_EXTENSIONS':
version_flags.append('ext') version_flags.append('ext')
if version_flags: if version_flags:
PSYCOPG_VERSION_EX = PSYCOPG_VERSION + " (%s)" % ' '.join(version_flags) PSYCOPG_VERSION_EX = PSYCOPG_VERSION + " (%s)" % ' '.join(version_flags)
else: else:
@ -531,6 +533,13 @@ if parser.has_option('build_ext', 'static_libpq'):
else: else:
static_libpq = 0 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 # build the extension
sources = [ os.path.join('psycopg', x) for x in sources] sources = [ os.path.join('psycopg', x) for x in sources]