virtualenv/res/lib/lib_create_env.py
changeset 501 5b198be85d50
parent 253 e961589fc0a7
child 558 0696566c7dc4
--- a/virtualenv/res/lib/lib_create_env.py	Mon Jan 30 17:21:13 2012 +0100
+++ b/virtualenv/res/lib/lib_create_env.py	Thu Feb 02 12:36:05 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):