예제 #1
0
파일: fabfile.py 프로젝트: chunhk/fabs
def snappy(snappy_url=SNAPPY_URL, install=False):
  if util.dir_exists("$HOME/lib/snappy"):
    print "snappy already exists in $HOME/lib/snappy"
    return

  with settings(warn_only=True):
    run("mkdir $HOME/lib")

  basename = os.path.basename(snappy_url).replace(".tar.gz", "")
  dest_path = "$HOME/lib/" + basename
  util.remote_archive(snappy_url, dest_path)
  with cd(dest_path):
    run("./configure")
    run("make")
    if install:
      sudo("make install")

  with cd("$HOME/lib"):
    run("ln -s -f %s snappy" % basename)

  with cd("$HOME/lib/%s" % basename):
    run("./snappy_unittest")

  print "headers: $HOME/lib/snappy"
  print "libs: $HOME/lib/snappy/.lib"
예제 #2
0
파일: fabfile.py 프로젝트: chunhk/fabs
def install_ghc_from_source(ghc_url=GHC_URL, ghc_version=GHC_VERSION):
  apt.apt_install("libgmp3c2 libgmp3-dev")

  if not util.dir_exists("$HOME/builds"):
    util.mkdir("$HOME/builds")

  build_dir = "$HOME/builds/" + ghc_version
  util.remote_archive(ghc_url, build_dir)
  with cd(build_dir):
    run("./configure --prefix=/usr/local")
    sudo("make install")
예제 #3
0
파일: fabfile.py 프로젝트: chunhk/fabs
def install_maven(maven_url=MAVEN_URL):
  with settings(warn_only=True):
    run("mkdir $HOME/software")

  basename = os.path.basename(maven_url).replace("-bin.tar.gz", "")
  remote_name = "$HOME/software/" + basename
  util.remote_archive(maven_url, remote_name)

  with cd("$HOME/software"):
    run("ln -s %s apache-maven" % basename)

  with cd("$HOME/bin"):
    run("ln -s -f $HOME/software/apache-maven/bin/mvn .")
예제 #4
0
파일: fabfile.py 프로젝트: chunhk/fabs
def install_scala(scala_url=SCALA_URL, tmp_dir="/tmp", \
    install_path="/usr/local/lib", setup_path=True):
  basename = os.path.basename(scala_url).replace(".tgz", "")
  remote_name = install_path + "/" + basename
  scala_path = install_path + "/scala"
  util.remote_archive(scala_url, remote_name, use_sudo=True, \
      hash_file=False, owner="root", group="root")

  with cd(install_path):
    sudo("ln -s -f %s scala" % remote_name)

  if setup_path:
    run('echo "export PATH=$PATH:%s/bin" >> $HOME/.profile' % scala_path)
예제 #5
0
파일: fabfile.py 프로젝트: chunhk/fabs
def install_golang(golang_url=GOLANG_URL):
  install_folder = "$HOME/software/go"

  with settings(warn_only=True):
    run("mkdir $HOME/software")

  util.remote_archive(golang_url, install_folder)

  # add to path
  run("echo '' >> $HOME/.bashrc" )
  run("echo '# automatically added by install_golang' >> $HOME/.bashrc" )
  run("echo 'export GOROOT=%s' >> $HOME/.bashrc" % install_folder)
  run("echo 'export PATH=$PATH:$GOROOT/bin' >> $HOME/.bashrc")
  run("echo '# end' >> $HOME/.bashrc" )
예제 #6
0
파일: fabfile.py 프로젝트: chunhk/fabs
def install_vertx(vertx_url=VERTX_URL):
  with settings(warn_only=True):
    run("mkdir $HOME/software")
    run("mkdir $HOME/bin")

  basename = os.path.basename(vertx_url).replace(".tar.gz", "")
  install_folder = "$HOME/software/%s" % basename
  util.remote_archive(vertx_url, install_folder)

  with cd("$HOME/software"):
    run("ln -s %s %s" % (basename, "vertx"))

  with cd("$HOME/bin"):
    run("ln -s %s ." % "$HOME/software/vertx/bin/vertx")
예제 #7
0
파일: fabfile.py 프로젝트: chunhk/fabs
def install_haskell_platform_from_source( \
    platform_url=HASKELL_PLATFORM_URL, \
    platform_version=HASKELL_PLATFORM_VERSION):

  apt.apt_install("mesa-common-dev freeglut3-dev")

  if not util.dir_exists("$HOME/builds"):
    util.mkdir("$HOME/builds")

  build_dir = "$HOME/builds/" + platform_version
  util.remote_archive(platform_url, build_dir)
  with cd(build_dir):
    run("./configure --prefix=/usr/local")
    run("make")
    sudo("make install")
예제 #8
0
파일: fabfile.py 프로젝트: chunhk/fabs
def install_akka(akka_url=AKKA_URL):
  with settings(warn_only=True):
    run("mkdir $HOME/software")
    run("mkdir $HOME/bin")

  basename = os.path.basename(akka_url).replace(".tgz", "")
  install_folder = "$HOME/software/%s" % basename
  akka_bin = "%s/bin/akka" % install_folder
  util.remote_archive(akka_url, install_folder)

  # set AKKA HOME to install directory
  run("sed -i 's/^declare AKKA_HOME/#declare AKKA_HOME/g' %s" % \
      akka_bin)
  run("sed -i '/^#declare AKKA_HOME/ a\\AKKA_HOME=%s' %s" % \
      ("$HOME/software/akka", akka_bin))
  
  with cd("$HOME/software"):
    run("ln -s %s %s" % (basename, "akka"))

  with cd("$HOME/bin"):
    run("ln -s %s ." % "$HOME/software/akka/bin/akka")
예제 #9
0
파일: fabfile.py 프로젝트: chunhk/fabs
def leveldb(leveldb_url=LEVELDB_URL, use_snappy=True):
  snappy()

  if util.dir_exists("$HOME/lib/leveldb"):
    print "leveldb already exists in $HOME/lib/leveldb"
    return

  with settings(warn_only=True):
    run("mkdir $HOME/lib")

  basename = os.path.basename(leveldb_url).replace(".tar.gz", "")
  dest_path = "$HOME/lib/" + basename
  util.remote_archive(leveldb_url, dest_path)
  with cd(dest_path):
    if use_snappy:
      run("CXXFLAGS=\"-I ~/lib/snappy -L ~/lib/snappy/.libs/\" make all")
    else:
      run("make all")

  with cd("$HOME/lib"):
    run("ln -s -f %s leveldb" % basename)

  print "headers: $HOME/lib/leveldb/include/leveldb"
  print "libs: $HOME/lib/leveldb"