diff -r cebc62a93563 -r 13ed4a934a72 virtualenv/res/lib/lib_create_env.py --- a/virtualenv/res/lib/lib_create_env.py Thu Feb 02 15:35:19 2012 +0100 +++ b/virtualenv/res/lib/lib_create_env.py Thu Feb 02 15:35:47 2012 +0100 @@ -31,6 +31,9 @@ 'SOCIAL_AUTH': {'setup':'social_auth', 'url':'https://github.com/omab/django-social-auth/tarball/v0.3.10', 'local':"omab-django-social-auth-v0.3.10-modified.tar.gz"}, 'SOUTH': { 'setup': 'South', 'url':'http://www.aeracode.org/releases/south/south-0.7.3.tar.gz', 'local':"south-0.7.3.tar.gz"}, 'DJANGO_GUARDIAN' : { 'setup': 'django-guardian', 'url':'http://pypi.python.org/packages/source/d/django-guardian/django-guardian-1.0.3.tar.gz', 'local':"django-guardian-1.0.3.tar.gz"}, + 'SORL_THUMBNAIL' : { 'setup': 'sorl-thumbnail', 'url':'http://pypi.python.org/packages/source/s/sorl-thumbnail/sorl-thumbnail-11.12.tar.gz', 'local':"sorl-thumbnail-v10.12.1.tar.gz"}, + 'LIBJPEG': {'setup': None, 'url':'jpegsrc.v8d.tar.gz', 'local':'jpegsrc.v8d.tar.gz'}, + 'ZLIB': {'setup': None, 'url':'zlib-1.2.6.tar.gz', 'local':'zlib-1.2.6.tar.gz'}, } if system_str == 'Windows': @@ -207,7 +210,102 @@ 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'))) +def gen_install_comp_lib(lib_name, lib_key, configure_options=[]): + + def install_lib(option_str, extra_env, res_source_key, home_dir, lib_dir, tmp_dir, src_dir, res_env, logger, call_subprocess, filter_python_develop): + lib_src = os.path.join(src_dir,lib_name+".tar.gz") + shutil.copy(res_env.URLS[lib_key][res_source_key], lib_src) + tf = tarfile.open(lib_src,'r:gz') + lib_base_path = os.path.join(src_dir, lib_name) + logger.notify("Extract %s to %s " % (lib_name,lib_base_path)) + tf.extractall(lib_base_path) + tf.close() + + lib_src_path = os.path.join(lib_base_path, os.listdir(lib_base_path)[0]) + + logger.notify("libjpeg configure") + call_subprocess(['configure', '--prefix='+os.path.abspath(home_dir)] + configure_options, + cwd=os.path.abspath(lib_src_path), + filter_stdout=filter_python_develop, + show_stdout=True) + + logger.notify("libjpeg make") + call_subprocess(['make'], + cwd=os.path.abspath(lib_src_path), + filter_stdout=filter_python_develop, + show_stdout=True) + + logger.notify("zlib make install") + call_subprocess(['make', 'install'], + cwd=os.path.abspath(lib_src_path), + filter_stdout=filter_python_develop, + show_stdout=True) + return install_lib +install_libjpeg = gen_install_comp_lib("libjpeg", "LIBJPEG", ['--enable-shared']) +install_zlib = gen_install_comp_lib("zlib", "ZLIB", []) + +#def install_libjpeg(option_str, extra_env, res_source_key, home_dir, lib_dir, tmp_dir, src_dir, res_env, logger, call_subprocess, filter_python_develop): +# libjpeg_src = os.path.join(src_dir,"jpegsrc.tar.gz") +# shutil.copy(res_env.URLS['LIBJPEG'][res_source_key], libjpeg_src) +# tf = tarfile.open(pylucene_src,'r:gz') +# libjpeg_base_path = os.path.join(src_dir,"libjpeg") +# logger.notify("Extract libjpeg to %s " % libjpeg_base_path) +# tf.extractall(libjpeg_base_path) +# tf.close() +# +# libjpeg_src_path = os.path.join(libjpeg_base_path, os.listdir(libjpeg_base_path)[0]) +# +# logger.notify("libjpeg configure") +# call_subprocess(['configure', '--enable-shared', '--prefix='+os.path.abspath(home_dir)], +# cwd=os.path.abspath(libjpeg_src_path), +# filter_stdout=filter_python_develop, +# show_stdout=True) +# +# logger.notify("libjpeg make") +# call_subprocess(['make'], +# cwd=os.path.abspath(libjpeg_src_path), +# filter_stdout=filter_python_develop, +# show_stdout=True) +# +# logger.notify("zlib make install") +# call_subprocess(['make', 'install'], +# cwd=os.path.abspath(libjpeg_src_path), +# filter_stdout=filter_python_develop, +# show_stdout=True) +# +# +#def install_zlib(option_str, extra_env, res_source_key, home_dir, lib_dir, tmp_dir, src_dir, res_env, logger, call_subprocess, filter_python_develop): +# zlib_src = os.path.join(src_dir,"zlib.tar.gz") +# shutil.copy(res_env.URLS['ZLIB'][res_source_key], libjpeg_src) +# tf = tarfile.open(pylucene_src,'r:gz') +# zlib_base_path = os.path.join(src_dir,"zlib") +# logger.notify("Extract libjpeg to %s " % zlib_base_path) +# tf.extractall(zlib_base_path) +# tf.close() +# +# zlib_src_path = os.path.join(zlib_base_path, os.listdir(zlib_base_path)[0]) +# +# logger.notify("zlib configure") +# call_subprocess(['configure', '--enable-shared', '--prefix='+os.path.abspath(home_dir)], +# cwd=os.path.abspath(zlib_src_path), +# filter_stdout=filter_python_develop, +# show_stdout=True) +# +# logger.notify("zlib make") +# call_subprocess(['make'], +# cwd=os.path.abspath(zlib_src_path), +# filter_stdout=filter_python_develop, +# show_stdout=True) +# +# logger.notify("zlib make install") +# call_subprocess(['make', 'install'], +# cwd=os.path.abspath(zlib_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):