diff -r 95c490397619 -r b380dc74b590 virtualenv/res/lib/lib_create_env.py --- a/virtualenv/res/lib/lib_create_env.py Thu May 26 17:17:04 2011 +0200 +++ b/virtualenv/res/lib/lib_create_env.py Fri May 27 18:20:22 2011 +0200 @@ -29,14 +29,16 @@ '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"}, '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"}, '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"}, - '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"} + '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"}, + 'PYYAML' : { 'setup': 'PyYAML', 'url': 'http://pyyaml.org/download/pyyaml/PyYAML-3.09.win32-py2.6.exe', 'local': 'PyYAML-3.09.win32-py2.6.exe'}, }) else: URLS.update({ 'PSYCOPG2': {'setup': 'psycopg2','url': 'http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.tar.gz', 'local':"psycopg2-2.4.tar.gz"}, '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"}, 'PIL': {'setup': 'pil', 'url': 'http://effbot.org/downloads/Imaging-1.1.7.tar.gz', 'local':"Imaging-1.1.7.tar.gz"}, - 'LXML': {'setup': 'lxml', 'url':"lxml-2.3.tar.bz2", 'local':"lxml-2.3.tar.bz2"} + 'LXML': {'setup': 'lxml', 'url':"lxml-2.3.tar.bz2", 'local':"lxml-2.3.tar.bz2"}, + 'PYYAML' : { 'setup': 'PyYAML', 'url': 'http://pyyaml.org/download/pyyaml/PyYAML-3.09.tar.gz', 'local': 'PyYAML-3.09.tar.gz'}, }) @@ -197,6 +199,41 @@ shutil.copytree(os.path.join(psycopg2_src_path, 'psycopg2'), os.path.abspath(os.path.join(home_dir, 'Lib/site-packages', 'psycopg2'))) 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'))) +#TO DO does not work in virtual env +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): + logger.notify("Get libyaml from %s " % res_env.URLS['LIBYAML'][res_source_key]) + libyaml_src = os.path.join(src_dir,"libyaml.tar.gz") + if res_source_key == 'local': + shutil.copy(res_env.URLS['LIBYAML'][res_source_key], libyaml_src) + else: + urllib.urlretrieve(res_env.URLS['LIBYAML'][res_source_key], libyaml_src) + tf = tarfile.open(pylucene_src,'r:gz') + libyaml_base_path = os.path.join(src_dir,"libyaml") + logger.notify("Extract libyaml to %s " % libyaml_base_path) + tf.extractall(libyaml_base_path) + tf.close() + + libyaml_src_path = os.path.join(libyaml_base_path, os.listdir(libyaml_base_path)[0]) + + logger.notify("libyaml configure") + call_subprocess(['configure'], + cwd=os.path.abspath(libyaml_src_path), + filter_stdout=filter_python_develop, + show_stdout=True) + + logger.notify("libyaml make") + call_subprocess(['make'], + cwd=os.path.abspath(libyaml_src_path), + filter_stdout=filter_python_develop, + show_stdout=True) + + logger.notify("libyaml make install") + call_subprocess(['make', 'install'], + cwd=os.path.abspath(libyaml_src_path), + filter_stdout=filter_python_develop, + show_stdout=True) + + def lib_generate_install_methods(path_locations, src_base, Logger, call_subprocess, normal_installs, urls=None):