Commit 847ce20a authored by PJ Eby's avatar PJ Eby

Backport 'module' fixes to 0.6

--HG--
branch : setuptools-0.6
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4045696
parent 3f6ffbc7
...@@ -12,6 +12,13 @@ from pkg_resources import get_build_platform, Distribution ...@@ -12,6 +12,13 @@ from pkg_resources import get_build_platform, Distribution
from types import CodeType from types import CodeType
from setuptools.extension import Library from setuptools.extension import Library
def strip_module(filename):
if '.' in filename:
filename = os.path.splitext(filename)[0]
if filename.endswith('module'):
filename = filename[:-6]
return filename
def write_stub(resource, pyfile): def write_stub(resource, pyfile):
f = open(pyfile,'w') f = open(pyfile,'w')
f.write('\n'.join([ f.write('\n'.join([
...@@ -32,13 +39,6 @@ NS_PKG_STUB = '__import__("pkg_resources").declare_namespace(__name__)' ...@@ -32,13 +39,6 @@ NS_PKG_STUB = '__import__("pkg_resources").declare_namespace(__name__)'
class bdist_egg(Command): class bdist_egg(Command):
description = "create an \"egg\" distribution" description = "create an \"egg\" distribution"
...@@ -179,7 +179,7 @@ class bdist_egg(Command): ...@@ -179,7 +179,7 @@ class bdist_egg(Command):
to_compile = [] to_compile = []
for (p,ext_name) in enumerate(ext_outputs): for (p,ext_name) in enumerate(ext_outputs):
filename,ext = os.path.splitext(ext_name) filename,ext = os.path.splitext(ext_name)
pyfile = os.path.join(self.bdist_dir, filename + '.py') pyfile = os.path.join(self.bdist_dir, strip_module(filename)+'.py')
self.stubs.append(pyfile) self.stubs.append(pyfile)
log.info("creating stub loader for %s" % ext_name) log.info("creating stub loader for %s" % ext_name)
if not self.dry_run: if not self.dry_run:
......
...@@ -745,7 +745,6 @@ Please make the appropriate changes for your system and try again. ...@@ -745,7 +745,6 @@ Please make the appropriate changes for your system and try again.
to_compile = [] to_compile = []
native_libs = [] native_libs = []
top_level = {} top_level = {}
def process(src,dst): def process(src,dst):
for old,new in prefixes: for old,new in prefixes:
if src.startswith(old): if src.startswith(old):
...@@ -754,6 +753,7 @@ Please make the appropriate changes for your system and try again. ...@@ -754,6 +753,7 @@ Please make the appropriate changes for your system and try again.
dst = os.path.join(egg_tmp, *parts) dst = os.path.join(egg_tmp, *parts)
dl = dst.lower() dl = dst.lower()
if dl.endswith('.pyd') or dl.endswith('.dll'): if dl.endswith('.pyd') or dl.endswith('.dll'):
parts[-1] = bdist_egg.strip_module(parts[-1])
top_level[os.path.splitext(parts[0])[0]] = 1 top_level[os.path.splitext(parts[0])[0]] = 1
native_libs.append(src) native_libs.append(src)
elif dl.endswith('.py') and old!='SCRIPTS/': elif dl.endswith('.py') and old!='SCRIPTS/':
...@@ -770,11 +770,11 @@ Please make the appropriate changes for your system and try again. ...@@ -770,11 +770,11 @@ Please make the appropriate changes for your system and try again.
for res in native_libs: for res in native_libs:
if res.lower().endswith('.pyd'): # create stubs for .pyd's if res.lower().endswith('.pyd'): # create stubs for .pyd's
parts = res.split('/') parts = res.split('/')
resource, parts[-1] = parts[-1], parts[-1][:-1] resource = parts[-1]
parts[-1] = bdist_egg.strip_module(parts[-1])+'.py'
pyfile = os.path.join(egg_tmp, *parts) pyfile = os.path.join(egg_tmp, *parts)
to_compile.append(pyfile); stubs.append(pyfile) to_compile.append(pyfile); stubs.append(pyfile)
bdist_egg.write_stub(resource, pyfile) bdist_egg.write_stub(resource, pyfile)
self.byte_compile(to_compile) # compile .py's self.byte_compile(to_compile) # compile .py's
bdist_egg.write_safety_flag(os.path.join(egg_tmp,'EGG-INFO'), bdist_egg.write_safety_flag(os.path.join(egg_tmp,'EGG-INFO'),
bdist_egg.analyze_egg(egg_tmp, stubs)) # write zip-safety flag bdist_egg.analyze_egg(egg_tmp, stubs)) # write zip-safety flag
......
...@@ -624,10 +624,12 @@ class Distribution(_Distribution): ...@@ -624,10 +624,12 @@ class Distribution(_Distribution):
for ext in self.ext_modules or (): for ext in self.ext_modules or ():
if isinstance(ext,tuple): if isinstance(ext,tuple):
name,buildinfo = ext name, buildinfo = ext
yield name
else: else:
yield ext.name name = ext.name
if name.endswith('module'):
name = name[:-6]
yield name
# Install it throughout the distutils # Install it throughout the distutils
for module in distutils.dist, distutils.core, distutils.cmd: for module in distutils.dist, distutils.core, distutils.cmd:
...@@ -650,8 +652,6 @@ for module in distutils.dist, distutils.core, distutils.cmd: ...@@ -650,8 +652,6 @@ for module in distutils.dist, distutils.core, distutils.cmd:
class Feature: class Feature:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment