Update distutils for openmp and new version of pip
This commit is contained in:
0
distutils.ext/obidistutils/__init__.py
Executable file → Normal file
0
distutils.ext/obidistutils/__init__.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/__init__.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/__init__.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_cexe.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_cexe.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_ctools.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_ctools.py
Executable file → Normal file
21
distutils.ext/obidistutils/command/build_exe.py
Executable file → Normal file
21
distutils.ext/obidistutils/command/build_exe.py
Executable file → Normal file
@ -6,12 +6,28 @@ Created on 20 oct. 2012
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
from distutils import sysconfig
|
||||||
from distutils.core import Command
|
from distutils.core import Command
|
||||||
from distutils.sysconfig import customize_compiler
|
from distutils.sysconfig import customize_compiler as customize_compiler_ori
|
||||||
from distutils.errors import DistutilsSetupError
|
from distutils.errors import DistutilsSetupError
|
||||||
from distutils import log
|
from distutils import log
|
||||||
from distutils.ccompiler import show_compilers
|
from distutils.ccompiler import show_compilers
|
||||||
|
|
||||||
|
def customize_compiler(compiler):
|
||||||
|
customize_compiler_ori(compiler)
|
||||||
|
compilername = compiler.compiler[0]
|
||||||
|
if ("gcc" in compilername or "g++" in compilername):
|
||||||
|
cc_cmd = ' '.join(compiler.compiler + ['-fopenmp'])
|
||||||
|
ccshared= ' '.join(x for x in sysconfig.get_config_vars("ccshared") if x is not None)
|
||||||
|
|
||||||
|
compiler.set_executables(
|
||||||
|
compiler=cc_cmd,
|
||||||
|
compiler_so=cc_cmd + ' ' + ccshared
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class build_exe(Command):
|
class build_exe(Command):
|
||||||
|
|
||||||
description = "build an executable -- Abstract command "
|
description = "build an executable -- Abstract command "
|
||||||
@ -80,6 +96,7 @@ class build_exe(Command):
|
|||||||
else:
|
else:
|
||||||
self.extra_compile_args.append('-m%s' % self.sse)
|
self.extra_compile_args.append('-m%s' % self.sse)
|
||||||
|
|
||||||
|
|
||||||
# XXX same as for build_ext -- what about 'self.define' and
|
# XXX same as for build_ext -- what about 'self.define' and
|
||||||
# 'self.undef' ?
|
# 'self.undef' ?
|
||||||
|
|
||||||
@ -96,7 +113,7 @@ class build_exe(Command):
|
|||||||
dry_run=self.dry_run,
|
dry_run=self.dry_run,
|
||||||
force=self.force)
|
force=self.force)
|
||||||
customize_compiler(self.compiler)
|
customize_compiler(self.compiler)
|
||||||
|
|
||||||
if self.include_dirs is not None:
|
if self.include_dirs is not None:
|
||||||
self.compiler.set_include_dirs(self.include_dirs)
|
self.compiler.set_include_dirs(self.include_dirs)
|
||||||
if self.define is not None:
|
if self.define is not None:
|
||||||
|
28
distutils.ext/obidistutils/command/build_ext.py
Executable file → Normal file
28
distutils.ext/obidistutils/command/build_ext.py
Executable file → Normal file
@ -7,9 +7,21 @@ Created on 13 fevr. 2014
|
|||||||
from distutils import log
|
from distutils import log
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
from distutils import sysconfig
|
||||||
from distutils.errors import DistutilsSetupError
|
from distutils.errors import DistutilsSetupError
|
||||||
|
|
||||||
|
def _customize_compiler(compiler):
|
||||||
|
compilername = compiler.compiler[0]
|
||||||
|
if ("gcc" in compilername or "g++" in compilername):
|
||||||
|
cc_cmd = ' '.join(compiler.compiler + ['-fopenmp'])
|
||||||
|
ccshared= ' '.join(x for x in sysconfig.get_config_vars("ccshared") if x is not None)
|
||||||
|
|
||||||
|
compiler.set_executables(
|
||||||
|
compiler=cc_cmd,
|
||||||
|
compiler_so=cc_cmd + ' ' + ccshared
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from Cython.Distutils import build_ext as ori_build_ext # @UnresolvedImport
|
from Cython.Distutils import build_ext as ori_build_ext # @UnresolvedImport
|
||||||
from Cython.Compiler import Options as cython_options # @UnresolvedImport
|
from Cython.Compiler import Options as cython_options # @UnresolvedImport
|
||||||
@ -28,7 +40,8 @@ try:
|
|||||||
|
|
||||||
|
|
||||||
def finalize_options(self):
|
def finalize_options(self):
|
||||||
ori_build_ext.finalize_options(self) # @UndefinedVariable
|
super(build_ext, self).finalize_options()
|
||||||
|
|
||||||
|
|
||||||
self.set_undefined_options('littlebigman',
|
self.set_undefined_options('littlebigman',
|
||||||
('littlebigman', 'littlebigman'))
|
('littlebigman', 'littlebigman'))
|
||||||
@ -85,6 +98,14 @@ try:
|
|||||||
ext.sources = self.cython_sources(ext.sources, ext)
|
ext.sources = self.cython_sources(ext.sources, ext)
|
||||||
self.build_extension(ext)
|
self.build_extension(ext)
|
||||||
|
|
||||||
|
def build_extensions(self):
|
||||||
|
if hasattr(self, 'compiler'):
|
||||||
|
_customize_compiler(self.compiler)
|
||||||
|
if hasattr(self, 'shlib_compiler'):
|
||||||
|
_customize_compiler(self.shlib_compiler)
|
||||||
|
|
||||||
|
ori_build_ext.build_extensions(self)
|
||||||
|
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.modifyDocScripts()
|
self.modifyDocScripts()
|
||||||
@ -104,8 +125,7 @@ try:
|
|||||||
|
|
||||||
sub_commands = [('build_files',has_files),
|
sub_commands = [('build_files',has_files),
|
||||||
('build_cexe', has_executables)
|
('build_cexe', has_executables)
|
||||||
] + \
|
] + ori_build_ext.sub_commands
|
||||||
ori_build_ext.sub_commands
|
|
||||||
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
from distutils.command import build_ext # @UnusedImport
|
from distutils.command import build_ext # @UnusedImport
|
||||||
|
0
distutils.ext/obidistutils/command/build_files.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_files.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_scripts.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_scripts.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_sphinx.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/build_sphinx.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/install.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/install.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/install_scripts.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/install_scripts.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/install_sphinx.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/install_sphinx.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/littlebigman.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/littlebigman.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/pidname.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/pidname.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/sdist.py
Executable file → Normal file
0
distutils.ext/obidistutils/command/sdist.py
Executable file → Normal file
16
distutils.ext/obidistutils/core.py
Executable file → Normal file
16
distutils.ext/obidistutils/core.py
Executable file → Normal file
@ -9,12 +9,12 @@ import os.path
|
|||||||
import glob
|
import glob
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# try:
|
try:
|
||||||
# from setuptools.extension import Extension
|
from setuptools.extension import Extension
|
||||||
# except ImportError:
|
except ImportError:
|
||||||
# from distutils.extension import Extension
|
from distutils.extension import Extension
|
||||||
|
|
||||||
from distutils.extension import Extension
|
# from distutils.extension import Extension
|
||||||
|
|
||||||
from obidistutils.serenity.checkpackage import install_requirements,\
|
from obidistutils.serenity.checkpackage import install_requirements,\
|
||||||
check_requirements, \
|
check_requirements, \
|
||||||
@ -40,7 +40,6 @@ def findPackage(root,base=None):
|
|||||||
|
|
||||||
def findCython(root,base=None,pyrexs=None):
|
def findCython(root,base=None,pyrexs=None):
|
||||||
setupdir = os.path.dirname(sys.argv[0])
|
setupdir = os.path.dirname(sys.argv[0])
|
||||||
csourcedir = os.path.join(setupdir,"src")
|
|
||||||
pyrexs=[]
|
pyrexs=[]
|
||||||
|
|
||||||
if base is None:
|
if base is None:
|
||||||
@ -54,7 +53,6 @@ def findCython(root,base=None,pyrexs=None):
|
|||||||
[pyrex]
|
[pyrex]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
pyrexs[-1].include_dirs.append(csourcedir)
|
|
||||||
try:
|
try:
|
||||||
cfiles = os.path.splitext(pyrex)[0]+".cfiles"
|
cfiles = os.path.splitext(pyrex)[0]+".cfiles"
|
||||||
cfilesdir = os.path.dirname(cfiles)
|
cfilesdir = os.path.dirname(cfiles)
|
||||||
@ -72,7 +70,7 @@ def findCython(root,base=None,pyrexs=None):
|
|||||||
'-Wno-unused-function',
|
'-Wno-unused-function',
|
||||||
'-Wmissing-braces',
|
'-Wmissing-braces',
|
||||||
'-Wchar-subscripts'])
|
'-Wchar-subscripts'])
|
||||||
|
|
||||||
except IOError:
|
except IOError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -225,4 +223,4 @@ def setup(**attrs):
|
|||||||
|
|
||||||
from distutils.core import setup as ori_setup
|
from distutils.core import setup as ori_setup
|
||||||
|
|
||||||
ori_setup(**attrs)
|
return ori_setup(**attrs)
|
||||||
|
10
distutils.ext/obidistutils/dist.py
Executable file → Normal file
10
distutils.ext/obidistutils/dist.py
Executable file → Normal file
@ -4,12 +4,12 @@ Created on 20 oct. 2012
|
|||||||
@author: coissac
|
@author: coissac
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# try:
|
try:
|
||||||
# from setuptools.dist import Distribution as ori_Distribution
|
from setuptools.dist import Distribution as ori_Distribution
|
||||||
# except ImportError:
|
except ImportError:
|
||||||
# from distutils.dist import Distribution as ori_Distribution
|
from distutils.dist import Distribution as ori_Distribution
|
||||||
|
|
||||||
from distutils.dist import Distribution as ori_Distribution
|
# from distutils.dist import Distribution as ori_Distribution
|
||||||
|
|
||||||
class Distribution(ori_Distribution):
|
class Distribution(ori_Distribution):
|
||||||
|
|
||||||
|
8
distutils.ext/obidistutils/serenity/__init__.py
Executable file → Normal file
8
distutils.ext/obidistutils/serenity/__init__.py
Executable file → Normal file
@ -81,9 +81,15 @@ def serenity_mode(package,version):
|
|||||||
argparser.add_argument('--serenity',
|
argparser.add_argument('--serenity',
|
||||||
dest='serenity',
|
dest='serenity',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
default=False,
|
default=True,
|
||||||
help='Switch the installer in serenity mode. Everythings are installed in a virtualenv')
|
help='Switch the installer in serenity mode. Everythings are installed in a virtualenv')
|
||||||
|
|
||||||
|
argparser.add_argument('--no-serenity',
|
||||||
|
dest='serenity',
|
||||||
|
action='store_false',
|
||||||
|
default=True,
|
||||||
|
help='Switch the installer in the no serenity mode.')
|
||||||
|
|
||||||
argparser.add_argument('--virtualenv',
|
argparser.add_argument('--virtualenv',
|
||||||
dest='virtual',
|
dest='virtual',
|
||||||
type=str,
|
type=str,
|
||||||
|
0
distutils.ext/obidistutils/serenity/bootstrappip.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/bootstrappip.py
Executable file → Normal file
54
distutils.ext/obidistutils/serenity/checkpackage.py
Executable file → Normal file
54
distutils.ext/obidistutils/serenity/checkpackage.py
Executable file → Normal file
@ -5,32 +5,35 @@ Created on 2 oct. 2014
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import os
|
|
||||||
|
|
||||||
try:
|
|
||||||
import pip # @UnresolvedImport
|
|
||||||
from pip.utils import get_installed_distributions # @UnresolvedImport
|
|
||||||
except ImportError:
|
|
||||||
from .bootstrappip import bootstrap
|
|
||||||
bootstrap()
|
|
||||||
|
|
||||||
from distutils.version import StrictVersion # @UnusedImport
|
from distutils.version import StrictVersion # @UnusedImport
|
||||||
from distutils.errors import DistutilsError
|
from distutils.errors import DistutilsError
|
||||||
from distutils import log
|
from distutils import log
|
||||||
|
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
class RequirementError(Exception):
|
class RequirementError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def is_installed(requirement):
|
def is_installed(requirement):
|
||||||
|
pipcommand = os.path.join(os.path.dirname(sys.executable),'pip')
|
||||||
|
pipjson = subprocess.run([pipcommand,"list","--format=json"],
|
||||||
|
capture_output=True).stdout
|
||||||
|
packages = eval(pipjson)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
requirement_project,requirement_relation,requirement_version = parse_package_requirement(requirement)
|
requirement_project,requirement_relation,requirement_version = parse_package_requirement(requirement)
|
||||||
|
|
||||||
package = [x for x in get_installed_distributions() if x.project_name==requirement_project]
|
package = [x for x in packages if x["name"]==requirement_project]
|
||||||
|
|
||||||
if len(package)==1:
|
if len(package)==1:
|
||||||
if requirement_version is not None and requirement_relation is not None:
|
if ( requirement_version is not None
|
||||||
rep = (len(package)==1) and eval("StrictVersion('%s') %s StrictVersion('%s')" % (package[0].version,
|
and requirement_relation is not None):
|
||||||
|
rep = (len(package)==1) and eval("StrictVersion('%s') %s StrictVersion('%s')" % (package[0]["version"],
|
||||||
requirement_relation,
|
requirement_relation,
|
||||||
requirement_version)
|
requirement_version)
|
||||||
)
|
)
|
||||||
@ -44,20 +47,23 @@ def is_installed(requirement):
|
|||||||
log.info("Look for package %s (%s%s) : ok version %s installed" % (requirement_project,
|
log.info("Look for package %s (%s%s) : ok version %s installed" % (requirement_project,
|
||||||
requirement_relation,
|
requirement_relation,
|
||||||
requirement_version,
|
requirement_version,
|
||||||
package[0].version))
|
package[0]["version"]))
|
||||||
else:
|
else:
|
||||||
log.info("Look for package %s : ok version %s installed" % (requirement_project,
|
log.info("Look for package %s : ok version %s installed" % (requirement_project,
|
||||||
package[0].version))
|
package[0]["version"]))
|
||||||
else:
|
else:
|
||||||
if len(package)!=1:
|
if len(package)!=1:
|
||||||
log.info("Look for package %s (%s%s) : not installed" % (requirement_project,
|
if requirement_version is not None and requirement_relation is not None:
|
||||||
requirement_relation,
|
log.info("Look for package %s (%s%s) : not installed" % (requirement_project,
|
||||||
requirement_version))
|
requirement_relation,
|
||||||
|
requirement_version))
|
||||||
|
else:
|
||||||
|
log.info("Look for package %s : not installed" % requirement_project)
|
||||||
else:
|
else:
|
||||||
log.info("Look for package %s (%s%s) : failed only version %s installed" % (requirement_project,
|
log.info("Look for package %s (%s%s) : failed only version %s installed" % (requirement_project,
|
||||||
requirement_relation,
|
requirement_relation,
|
||||||
requirement_version,
|
requirement_version,
|
||||||
package[0].version))
|
package[0]["version"]))
|
||||||
|
|
||||||
return rep
|
return rep
|
||||||
|
|
||||||
@ -86,7 +92,7 @@ def install_requirements(requirementfile='requirements.txt'):
|
|||||||
ok = is_installed(x)
|
ok = is_installed(x)
|
||||||
if not ok:
|
if not ok:
|
||||||
log.info(" Installing requirement : %s" % x)
|
log.info(" Installing requirement : %s" % x)
|
||||||
pip_install_package(x)
|
pip_install_package(x,requirement=requirementfile)
|
||||||
install_something=True
|
install_something=True
|
||||||
if x[0:3]=='pip':
|
if x[0:3]=='pip':
|
||||||
return True
|
return True
|
||||||
@ -139,8 +145,9 @@ def get_package_requirement(package,requirementfile='requirements.txt'):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def pip_install_package(package,directory=None,upgrade=True):
|
def pip_install_package(package,directory=None,requirement=None):
|
||||||
|
|
||||||
|
pipcommand = os.path.join(os.path.dirname(sys.executable),'pip')
|
||||||
if directory is not None:
|
if directory is not None:
|
||||||
log.info(' installing %s in directory %s' % (package,str(directory)))
|
log.info(' installing %s in directory %s' % (package,str(directory)))
|
||||||
|
|
||||||
@ -150,8 +157,9 @@ def pip_install_package(package,directory=None,upgrade=True):
|
|||||||
|
|
||||||
args = ['install']
|
args = ['install']
|
||||||
|
|
||||||
if upgrade:
|
if requirement:
|
||||||
args.append('--upgrade')
|
args.append('--requirement')
|
||||||
|
args.append(requirement)
|
||||||
|
|
||||||
if 'https_proxy' in os.environ:
|
if 'https_proxy' in os.environ:
|
||||||
args.append('--proxy=%s' % os.environ['https_proxy'])
|
args.append('--proxy=%s' % os.environ['https_proxy'])
|
||||||
@ -161,5 +169,7 @@ def pip_install_package(package,directory=None,upgrade=True):
|
|||||||
|
|
||||||
args.append(package)
|
args.append(package)
|
||||||
|
|
||||||
return pip.main(args)
|
pip = subprocess.run([pipcommand] + args)
|
||||||
|
|
||||||
|
return pip
|
||||||
|
|
||||||
|
0
distutils.ext/obidistutils/serenity/checkpython.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/checkpython.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/checksystem.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/checksystem.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/globals.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/globals.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/rerun.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/rerun.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/snake.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/snake.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/util.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/util.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/virtual.py
Executable file → Normal file
0
distutils.ext/obidistutils/serenity/virtual.py
Executable file → Normal file
2
distutils.ext/src/littlebigman.c
Executable file → Normal file
2
distutils.ext/src/littlebigman.c
Executable file → Normal file
@ -5,7 +5,7 @@
|
|||||||
* Author: coissac
|
* Author: coissac
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include<stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
0
distutils.ext/src/pidname.c
Executable file → Normal file
0
distutils.ext/src/pidname.c
Executable file → Normal file
19
setup.py
19
setup.py
@ -33,6 +33,25 @@ sys.path.append(SRC)
|
|||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
print("----------------")
|
||||||
|
print(" ".join(sys.argv))
|
||||||
|
print("----------------")
|
||||||
|
|
||||||
|
#
|
||||||
|
# Horrible hack
|
||||||
|
#
|
||||||
|
|
||||||
|
if sys.argv[0]=="-c":
|
||||||
|
sys.argv[0]="setup.py"
|
||||||
|
|
||||||
|
#
|
||||||
|
# End of the horrible hack
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from obitools3 import version
|
from obitools3 import version
|
||||||
VERSION = version.version
|
VERSION = version.version
|
||||||
|
Reference in New Issue
Block a user