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

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

Fixes ticket #18 (opened in 2010!)

Conflicts:

	NEWS
This commit is contained in:
Daniele Varrazzo 2014-04-04 17:30:10 +01:00
parent df148f733d
commit 26349bf8d3
2 changed files with 11 additions and 0 deletions

2
NEWS
View File

@ -1,6 +1,8 @@
What's new in psycopg 2.4.7 What's new in psycopg 2.4.7
--------------------------- ---------------------------
- Work around `pip issue #1630 <https://github.com/pypa/pip/issues/1630>`__
making installation via ``pip -e git+url`` impossible (:ticket:`#18`).
- Properly cleanup memory of broken connections (ticket #142). - Properly cleanup memory of broken connections (ticket #142).
- Fixed build on Solaris 10 and 11 where the round() function is already - Fixed build on Solaris 10 and 11 where the round() function is already
declared (:ticket:`#146`). declared (:ticket:`#146`).

View File

@ -500,9 +500,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:
@ -523,6 +525,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]