virtualenv/res/lib/lib_create_env.py
changeset 2 b380dc74b590
parent 0 896db0083b76
child 10 9ea5f8ba8e71
equal deleted inserted replaced
1:95c490397619 2:b380dc74b590
    27     URLS.update({
    27     URLS.update({
    28         'PSYCOPG2': {'setup': 'psycopg2','url': 'psycopg2-2.0.14.win32-py2.6-pg8.4.3-release.zip', 'local':"psycopg2-2.0.14.win32-py2.6-pg8.4.3-release.zip"},
    28         'PSYCOPG2': {'setup': 'psycopg2','url': 'psycopg2-2.0.14.win32-py2.6-pg8.4.3-release.zip', 'local':"psycopg2-2.0.14.win32-py2.6-pg8.4.3-release.zip"},
    29         'JCC': {'setup': 'jcc', 'url': 'http://pylucene-win32-binary.googlecode.com/files/JCC-2.6-py2.6-win32.egg', 'local':"JCC-2.6-py2.6-win32.egg"},
    29         'JCC': {'setup': 'jcc', 'url': 'http://pylucene-win32-binary.googlecode.com/files/JCC-2.6-py2.6-win32.egg', 'local':"JCC-2.6-py2.6-win32.egg"},
    30         'PYLUCENE': {'setup': 'pylucene', 'url': 'http://pylucene-win32-binary.googlecode.com/files/lucene-3.0.2-py2.6-win32.egg', 'local':"lucene-3.0.2-py2.6-win32.egg"},
    30         'PYLUCENE': {'setup': 'pylucene', 'url': 'http://pylucene-win32-binary.googlecode.com/files/lucene-3.0.2-py2.6-win32.egg', 'local':"lucene-3.0.2-py2.6-win32.egg"},
    31         'PIL': {'setup': 'pil', 'url': 'http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.6.exe', 'local':"PIL-1.1.7.win32-py2.6.exe"},
    31         'PIL': {'setup': 'pil', 'url': 'http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.6.exe', 'local':"PIL-1.1.7.win32-py2.6.exe"},
    32         'LXML': {'setup': 'lxml', 'url': 'http://pypi.python.org/packages/2.6/l/lxml/lxml-2.2.2-py2.6-win32.egg', 'local':"lxml-2.2.2-py2.6-win32.egg"}
    32         'LXML': {'setup': 'lxml', 'url': 'http://pypi.python.org/packages/2.6/l/lxml/lxml-2.2.2-py2.6-win32.egg', 'local':"lxml-2.2.2-py2.6-win32.egg"},
       
    33         'PYYAML' : { 'setup': 'PyYAML', 'url': 'http://pyyaml.org/download/pyyaml/PyYAML-3.09.win32-py2.6.exe', 'local': 'PyYAML-3.09.win32-py2.6.exe'},
    33     })
    34     })
    34 else:
    35 else:
    35     URLS.update({
    36     URLS.update({
    36         'PSYCOPG2': {'setup': 'psycopg2','url': 'http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.tar.gz', 'local':"psycopg2-2.4.tar.gz"},
    37         'PSYCOPG2': {'setup': 'psycopg2','url': 'http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.tar.gz', 'local':"psycopg2-2.4.tar.gz"},
    37         'PYLUCENE': {'setup': 'pylucene', 'url': 'http://apache.crihan.fr/dist//lucene/pylucene/pylucene-3.1.0-1-src.tar.gz', 'local':"pylucene-3.1.0-1-src.tar.gz"},
    38         'PYLUCENE': {'setup': 'pylucene', 'url': 'http://apache.crihan.fr/dist//lucene/pylucene/pylucene-3.1.0-1-src.tar.gz', 'local':"pylucene-3.1.0-1-src.tar.gz"},
    38         'PIL': {'setup': 'pil', 'url': 'http://effbot.org/downloads/Imaging-1.1.7.tar.gz', 'local':"Imaging-1.1.7.tar.gz"},
    39         'PIL': {'setup': 'pil', 'url': 'http://effbot.org/downloads/Imaging-1.1.7.tar.gz', 'local':"Imaging-1.1.7.tar.gz"},
    39         'LXML': {'setup': 'lxml', 'url':"lxml-2.3.tar.bz2", 'local':"lxml-2.3.tar.bz2"}
    40         'LXML': {'setup': 'lxml', 'url':"lxml-2.3.tar.bz2", 'local':"lxml-2.3.tar.bz2"},
       
    41         'PYYAML' : { 'setup': 'PyYAML', 'url': 'http://pyyaml.org/download/pyyaml/PyYAML-3.09.tar.gz', 'local': 'PyYAML-3.09.tar.gz'},
    40     })
    42     })
    41 
    43 
    42 
    44 
    43 
    45 
    44 class ResourcesEnv(object):
    46 class ResourcesEnv(object):
   195     
   197     
   196     psycopg2_src_path = os.path.join(psycopg2_base_path, os.listdir(psycopg2_base_path)[0])
   198     psycopg2_src_path = os.path.join(psycopg2_base_path, os.listdir(psycopg2_base_path)[0])
   197     shutil.copytree(os.path.join(psycopg2_src_path, 'psycopg2'), os.path.abspath(os.path.join(home_dir, 'Lib/site-packages', 'psycopg2')))
   199     shutil.copytree(os.path.join(psycopg2_src_path, 'psycopg2'), os.path.abspath(os.path.join(home_dir, 'Lib/site-packages', 'psycopg2')))
   198     shutil.copy(os.path.join(psycopg2_src_path, 'psycopg2-2.0.14-py2.6.egg-info'), os.path.abspath(os.path.join(home_dir, 'Lib/site-packages', 'site-packages')))
   200     shutil.copy(os.path.join(psycopg2_src_path, 'psycopg2-2.0.14-py2.6.egg-info'), os.path.abspath(os.path.join(home_dir, 'Lib/site-packages', 'site-packages')))
   199 
   201 
       
   202 #TO DO does not work in virtual env
       
   203 def install_libyaml(option_str, extra_env, res_source_key, home_dir, lib_dir, tmp_dir, src_dir, res_env, logger, call_subprocess, filter_python_develop):
       
   204     logger.notify("Get libyaml from %s " % res_env.URLS['LIBYAML'][res_source_key])
       
   205     libyaml_src = os.path.join(src_dir,"libyaml.tar.gz")
       
   206     if res_source_key == 'local':
       
   207         shutil.copy(res_env.URLS['LIBYAML'][res_source_key], libyaml_src)
       
   208     else:
       
   209         urllib.urlretrieve(res_env.URLS['LIBYAML'][res_source_key], libyaml_src)
       
   210     tf = tarfile.open(pylucene_src,'r:gz')
       
   211     libyaml_base_path = os.path.join(src_dir,"libyaml") 
       
   212     logger.notify("Extract libyaml to %s " % libyaml_base_path)
       
   213     tf.extractall(libyaml_base_path)
       
   214     tf.close()
       
   215     
       
   216     libyaml_src_path = os.path.join(libyaml_base_path, os.listdir(libyaml_base_path)[0])
       
   217     
       
   218     logger.notify("libyaml configure")
       
   219     call_subprocess(['configure'],
       
   220                     cwd=os.path.abspath(libyaml_src_path),
       
   221                     filter_stdout=filter_python_develop,
       
   222                     show_stdout=True)
       
   223 
       
   224     logger.notify("libyaml make")
       
   225     call_subprocess(['make'],
       
   226                     cwd=os.path.abspath(libyaml_src_path),
       
   227                     filter_stdout=filter_python_develop,
       
   228                     show_stdout=True)
       
   229 
       
   230     logger.notify("libyaml make install")
       
   231     call_subprocess(['make', 'install'],
       
   232                     cwd=os.path.abspath(libyaml_src_path),
       
   233                     filter_stdout=filter_python_develop,
       
   234                     show_stdout=True)
       
   235     
       
   236 
   200 
   237 
   201 
   238 
   202 def lib_generate_install_methods(path_locations, src_base, Logger, call_subprocess, normal_installs, urls=None):
   239 def lib_generate_install_methods(path_locations, src_base, Logger, call_subprocess, normal_installs, urls=None):
   203     
   240     
   204     all_urls = URLS.copy()
   241     all_urls = URLS.copy()