| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http:#www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| [buildout] |
| |
| extends = |
| etc/dependencies.cfg |
| |
| unzip = true |
| |
| #develop = ./src/main/python/rcmes |
| |
| parts = |
| zlib |
| curl |
| szip |
| jpeg |
| libpng |
| freetype |
| numpy |
| numpy-build |
| scipy |
| scipy-build |
| matplotlib |
| matplotlib-build |
| hdf5 |
| netcdf |
| netcdf4 |
| netcdf4-build |
| ncl-bin |
| pynio-bin |
| pyngl-bin |
| bottle |
| requests |
| |
| [zlib] |
| recipe = hexagonit.recipe.cmmi |
| url = ${external:zlibURL} |
| md5sum = ${external:zlibMD5} |
| configure-options = |
| --prefix=/usr/local |
| --shared |
| make-target = |
| all install |
| |
| [curl] |
| recipe = hexagonit.recipe.cmmi |
| url = ${external:curlURL} |
| md5sum = ${external:curlMD5} |
| configure-options = |
| --bindir=${buildout:bin-directory} |
| --with-zlib=${zlib:location} |
| |
| [libpng] |
| recipe = hexagonit.recipe.cmmi |
| url = ${external:libpngURL} |
| md5sum = ${external:libpngMD5} |
| configure-options = |
| --prefix=/usr/local |
| --with-pic |
| make-target = |
| all install |
| |
| [freetype] |
| recipe = hexagonit.recipe.cmmi |
| url = ${external:freetypeURL} |
| md5sum = ${external:freetypeMD5} |
| configure-options = |
| --prefix=/usr/local |
| |
| [jpeg] |
| recipe = hexagonit.recipe.cmmi |
| url = ${external:jpegURL} |
| md5sum = ${external:jpegMD5} |
| configure-options = |
| --prefix=/usr/local |
| make-target = |
| all install |
| install-lib |
| install-headers |
| |
| [szip] |
| recipe = hexagonit.recipe.cmmi |
| url = ${external:szipURL} |
| md5sum = ${external:szipMD5} |
| |
| [hdf5] |
| recipe = hexagonit.recipe.cmmi |
| url = ${external:hdf5URL} |
| md5sum = ${external:hdf5MD5} |
| environment = CPPFLAGS=-D__BSD_VISIBLE |
| configure-options = |
| --bindir=${buildout:bin-directory} |
| --enable-production |
| --enable-threadsafe |
| --enable-hl |
| --enable-shared |
| --with-pthread |
| --with-szlib=${szip:location} |
| --with-zlib=${zlib:location} |
| |
| [netcdf] |
| recipe = hexagonit.recipe.cmmi |
| url = ${external:netcdfURL} |
| md5sum = ${external:netcdfMD5} |
| environment = |
| CPPFLAGS=-I${szip:location}/include -I${hdf5:location}/include -I${zlib:location}/include -I${curl:location}/include |
| LDFLAGS=-L${szip:location}/lib -L${hdf5:location}/lib -L${zlib:location}/lib -L${curl:location}/lib |
| configure-options = |
| --bindir=${buildout:bin-directory} |
| --enable-dap |
| --enable-cxx-4 |
| --enable-ncgen4 |
| --enable-shared |
| --enable-netcdf-4 |
| |
| [netcdf4] |
| recipe = hexagonit.recipe.download |
| url = ${external:netCDF4-pythonURL} |
| md5sum = ${external:netCDF4-pythonMD5} |
| |
| [netcdf4-build] |
| recipe = cp.recipe.cmd |
| shell = /bin/bash |
| install_cmd = |
| export HDF5_DIR=${hdf5:location} |
| export NETCDF4_DIR=${netcdf:location} |
| export SZIP_DIR=${szip:location} |
| cd ${netcdf4:location}/netCDF4-1.0.2 |
| python setup.py build |
| python setup.py install |
| |
| [numpy] |
| recipe = hexagonit.recipe.download |
| url = ${external:numpyURL} |
| md5sum = ${external:numpyMD5} |
| |
| [numpy-build] |
| recipe = collective.recipe.cmd |
| on_install = true |
| on_update = true |
| cmds = |
| cd ${numpy:location} |
| ${buildout:directory}/bin/buildout setup numpy-1.6.2 install |
| |
| [scipy] |
| recipe = hexagonit.recipe.download |
| url = ${external:scipyURL} |
| md5sum = ${external:scipyMD5} |
| |
| [scipy-build] |
| recipe = collective.recipe.cmd |
| on_install = true |
| on_update = true |
| cmds = |
| cd ${scipy:location} |
| ${buildout:directory}/bin/buildout setup scipy-0.11.0 install |
| |
| [matplotlib] |
| recipe = hexagonit.recipe.download |
| url = ${external:matplotlibURL} |
| md5sum = ${external:matplotlibMD5} |
| |
| [matplotlib-build] |
| recipe = collective.recipe.cmd |
| on_install = true |
| on_update = true |
| cmds = |
| cd ${matplotlib:location}/matplotlib |
| python setup.py build |
| python setup.py install |
| |
| [ncl-bin] |
| recipe = cp.recipe.cmd |
| shell = /bin/bash |
| install_cmd = |
| OS=`uname -s` |
| VER=`uname -m` |
| |
| cd ${buildout:directory}/parts |
| mkdir -p ~/NCL |
| |
| if [ "$OS" == "Darwin" ] |
| then |
| if [ "$VER" == "x86_64" ] |
| then |
| ${buildout:bin-directory}/curl ${external:nclBinURL_OSX64} -o "ncl.tar.gz" |
| else |
| ${buildout:bin-directory}/curl ${external:nclBinURL_OSX32} -o "ncl.tar.gz" |
| fi |
| elif [ "$OS" == "Linux" ] |
| then |
| if [ "$VER" == "x86_64" ] |
| then |
| ${buildout:bin-directory}/curl ${external:nclBinURL_Linux64} -o "ncl.tar.gz" |
| else |
| ${buildout:bin-directory}/curl ${external:nclBinURL_Linux32} -o "ncl.tar.gz" |
| fi |
| else |
| echo "Unable to properly detect your OS. Please report this problem." |
| echo "Cancelling installation of NCL..." |
| exit |
| fi |
| |
| if [ ! -e ${buildout:directory}/parts/ncl.tar.gz ] |
| then |
| echo "Unable to download NCL. Cancelling installation..." |
| exit 2 |
| fi |
| |
| cd ~/NCL |
| tar xzf ${buildout:directory}/parts/ncl.tar.gz |
| |
| if [ -e ~/.cshrc ] |
| then |
| echo "setenv NCARG_ROOT ~/NCL" >> ~/.cshrc |
| echo "setenv PATH \$NCARG_ROOT/bin:\$PATH" >> ~/.cshrc |
| fi |
| |
| if [ -e ~/.bashrc ] |
| then |
| echo "export NCARG_ROOT=~/NCL" >> ~/.bashrc |
| echo "export PATH=\$NCARG_ROOT/bin:\$PATH" >> ~/.bashrc |
| fi |
| update_cmd = ${ncl-bin:install_cmd} |
| |
| [pynio] |
| recipe = hexagonit.recipe.download |
| url = ${external:pynioURL} |
| md5sum = ${external:pynioMD5} |
| |
| [pynio-build] |
| recipe = collective.recipe.cmd |
| on_install = true |
| on_update = true |
| cmds = |
| cd ${pynio:location}/PyNIO-1.4.1 |
| export NCARG_ROOT=${ncl:location}/ncl_ncarg-6.0.0-patched |
| export HAS_GRIB2=1 |
| export HAS_OPENDAP=0 |
| export NETCDF_PREFIX=${netcdf:location} |
| export GRIB2_PREFIX=/usr/local |
| export F2CLIBS=gfortran |
| export F2CLIBS_PREFIX=/usr/local/Cellar/gfortran/4.7.2/gfortran/lib |
| python setup.py install |
| |
| [pynio-bin] |
| recipe = cp.recipe.cmd |
| shell = /bin/bash |
| install_cmd = |
| OS=`uname -s` |
| VER=`uname -m` |
| |
| mkdir -p ~/Downloads/PyNIO |
| cd ~/Downloads/PyNIO |
| |
| if [ "$OS" == "Darwin" ] |
| then |
| if [ "$VER" == "x86_64" -o "$VER" == "i386" ] |
| then |
| ${buildout:bin-directory}/curl ${external:pynioBinURL_OSX64} -o "PyNIO.tar.gz" |
| else |
| ${buildout:bin-directory}/curl ${external:pynioBinURL_OSX32} -o "PyNIO.tar.gz" |
| fi |
| elif [ "$OS" == "Linux" ] |
| then |
| if [ "$VER" == "x86_64" ] |
| then |
| ${buildout:bin-directory}/curl ${external:pynioBinURL_Linux64} -o "PyNIO.tar.gz" |
| else |
| ${buildout:bin-directory}/curl ${external:pynioBinURL_Linux32} -o "PyNIO.tar.gz" |
| fi |
| else |
| echo "Unable to properly detect your OS. Please report this problem." |
| echo "Cancelling installation of PyNIO..." |
| exit |
| fi |
| |
| if [ ! -e ~/Downloads/PyNIO/PyNIO.tar.gz ] |
| then |
| echo "Unable to download PyNIO. Cancelling installation..." |
| exit 2 |
| fi |
| |
| libDir=`python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"` |
| |
| if [ ! -z "$VIRTUAL_ENV" ] |
| then |
| libDir="$VIRTUAL_ENV/lib/python2.7/site-packages" |
| fi |
| |
| tar xzf PyNIO.tar.gz |
| \cp -rf lib/python2.7/site-packages/* $libDir |
| update_cmd = ${pynio-bin:install_cmd} |
| |
| # Why package your code properly? Who knows!!! So now we get to have this gem here... |
| [pyngl-bin] |
| recipe = cp.recipe.cmd |
| shell = /bin/bash |
| install_cmd = |
| OS=`uname -s` |
| VER=`uname -m` |
| |
| mkdir -p ~/Downloads/PyNGL |
| cd ~/Downloads/PyNGL |
| |
| if [ "$OS" == "Darwin" ] |
| then |
| if [ "$VER" == "x86_64" -o "$VER" == "i386" ] |
| then |
| ${buildout:bin-directory}/curl ${external:pynglBinURL_OSX64} -o "PyNGL.tar.gz" |
| else |
| ${buildout:bin-directory}/curl ${external:pynglBinURL_OSX32} -o "PyNGL.tar.gz" |
| fi |
| elif [ "$OS" == "Linux" ] |
| then |
| if [ "$VER" == "x86_64" ] |
| then |
| ${buildout:bin-directory}/curl ${external:pynglBinURL_Linux64} -o "PyNGL.tar.gz" |
| else |
| ${buildout:bin-directory}/curl ${external:pynglBinURL_Linux32} -o "PyNGL.tar.gz" |
| fi |
| else |
| echo "Unable to properly detect your OS. Please report this problem." |
| echo "Cancelling installation of PyNGL..." |
| exit |
| fi |
| |
| if [ ! -e ~/Downloads/PyNGL/PyNGL.tar.gz ] |
| then |
| echo "Unable to download PyNGL. Cancelling installation..." |
| exit 2 |
| fi |
| |
| libDir=`python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"` |
| |
| if [ ! -z "$VIRTUAL_ENV" ] |
| then |
| libDir="$VIRTUAL_ENV/lib/python2.7/site-packages" |
| fi |
| |
| tar xzf PyNGL.tar.gz |
| \cp -rf bin/* ${buildout:bin-directory} |
| \cp -rf lib/python2.7/site-packages/* $libDir |
| update_cmd = ${pyngl-bin:install_cmd} |
| |
| # This is a bit hacked around because buildout wouldn't cooperate and install the egg |
| [bottle] |
| recipe = collective.recipe.cmd |
| on_install = true |
| on_update = true |
| cmds = |
| pip install bottle |
| |
| # Simple pip installation of Requests |
| [requests] |
| recipe = collective.recipe.cmd |
| on_install = true |
| on_update = true |
| cmds = |
| pip install requests |