Changeset 5444


Ignore:
Timestamp:
01/07/09 16:00:22 (10 years ago)
Author:
spascoe
Message:

Appears to do the complete build.

Location:
isenes/mpl_buildout/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • isenes/mpl_buildout/trunk/buildout.cfg

    r5440 r5444  
    1515  numpy 
    1616  matplotlib 
     17  basemap 
    1718interpreter = python 
  • isenes/mpl_buildout/trunk/recipes/numpy_venv.py

    r5440 r5444  
    88import pkg_resources 
    99import subprocess 
     10from glob import glob 
     11import shutil 
    1012 
    1113from recipe import BaseRecipe 
     
    6567         
    6668        install(['matplotlib'], self.options['eggs-directory'], 
    67                 links=self.options['download-cache'], 
     69                links=[self.options['download-cache']], 
    6870                executable = venv_python) 
    6971 
     
    8991        assert(dist==None) 
    9092 
    91         #!TODO: remove basemap source tree if present. 
     93        basemap_dist_dir = os.path.join(venv, 'basemap')  
     94        if os.path.exists(basemap_dist_dir): 
     95            #!TODO: check version 
     96            pass 
     97        else: 
     98            # Unpack into the venv 
     99            status = subprocess.call([venv_easy_install, '-eb', venv, 
     100                                  '-f', avail.location, 'basemap']) 
     101            if status != 0: 
     102                raise zc.buildout.UserError('Failed to unpack basemap distribution') 
     103        geos_install = self.install_geos() 
     104        os.environ['GEOS_DIR'] = geos_install 
    92105 
    93         # Unpack into the venv 
    94         subprocess.call([venv_easy_install, '-eb', venv, 
    95                          '-f', avail.location, 'basemap']) 
     106        install(['basemap'], self.options['eggs-directory'], 
     107                links=[basemap_dist_dir], 
     108                executable = venv_python) 
     109 
     110    def install_geos(self): 
     111        venv = self.options['virtualenv'] 
     112        venv_python = os.path.join(venv, 'bin', 'python') 
     113 
     114        geos_dir = glob(os.path.join(self.options['virtualenv'], 'basemap', 'geos-*'))[0] 
     115        geos_install = os.path.join(self.options['virtualenv'], 'geos') 
     116        status = subprocess.call(['cd %s ; ./configure --prefix=%s ; make install' % (geos_dir, geos_install)], shell=True) 
     117        if status != 0: 
     118            raise zc.buildout.UserError('GEOS install failed') 
     119 
     120        return geos_install 
    96121     
    97122    def update(self): 
Note: See TracChangeset for help on using the changeset viewer.