Commit 715c797d authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

simplify Install.py for voronoi

parent fd6e11f8
Loading
Loading
Loading
Loading

lib/voronoi/.gitignore

0 → 100644
+4 −0
Original line number Diff line number Diff line
# files to ignore
/liblink
/includelink
/voro++-*
+37 −39
Original line number Diff line number Diff line
@@ -10,27 +10,23 @@ except: from urllib import urlretrieve as geturl
# help message

help = """
Syntax from src dir: make lib-voronoi args="-v version -h hpath hdir -g -b -l"
Syntax from lib dir: python Install.py -v version -h hpath hdir -g -b -l
Syntax from src dir: make lib-voronoi
                 or: make lib-voronoi args="-p /usr/local/voro++-0.4.6"
                 or: make lib-voronoi args="-v voro++-0.4.6 -b"
Syntax from lib dir: python Install.py -v voro++-0.4.6 -b
                 or: python Install.py
                 or: python Install.py -p /usr/local/voro++-0.4.6

specify one or more options, order does not matter

  -b = download and build the Voro++ library (default)
  -p = specify folder of existing Voro++ installation 
  -v = version of Voro++ to download and build
       default version = voro++-0.4.6 (current as of Jan 2015)
  -h = set home dir of Voro++ to be hpath/hdir
       hpath can be full path, contain '~' or '.' chars
       default hpath = . = lib/voronoi
       default hdir = voro++-0.4.6 = what tarball unpacks to
  -g = grab (download) tarball from math.lbl.gov/voro++ website
       unpack it to hpath/hdir
       hpath must already exist
       if hdir already exists, it will be deleted before unpack
  -b = build Voro++ library in its src dir
  -l = create 2 softlinks (includelink,liblink) in lib/voronoi to Voro++ src dir

Example:

make lib-voronoi args="-g -b -l"   # download/build in lib/voronoi/voro++-0.4.6
make lib-voronoi args="-b"   # download/build in lib/voronoi/voro++-0.4.6
"""

# settings
@@ -60,9 +56,10 @@ if nargs == 0: error()
homepath = "."
homedir = version

grabflag = False
buildflag = False
linkflag = False
grabflag = True
buildflag = True
pathflag = False
linkflag = True

iarg = 0
while iarg < nargs:
@@ -70,25 +67,26 @@ while iarg < nargs:
    if iarg+2 > nargs: error()
    version = args[iarg+1]
    iarg += 2
  elif args[iarg] == "-h":
    if iarg+3 > nargs: error()
    homepath = args[iarg+1]
    homedir = args[iarg+2]
    iarg += 3
  elif args[iarg] == "-g":
    grabflag = True
    iarg += 1
  elif args[iarg] == "-p":
    if iarg+2 > nargs: error()
    voropath = fullpath(args[iarg+1])
    pathflag = True
    buildflag = False
    iarg += 2
  elif args[iarg] == "-b":
    buildflag = True
    iarg += 1
  elif args[iarg] == "-l":
    linkflag = True
    iarg += 1
  else: error()

homepath = fullpath(homepath)
if not os.path.isdir(homepath): error("Voro++ path does not exist")
homedir = "%s/%s" % (homepath,homedir)
homedir = "%s/%s" % (homepath,version)

if (pathflag):
    if not os.path.isdir(voropath): error("Voro++ path does not exist")
    homedir = voropath

if (buildflag and pathflag):
    error("Cannot use -b and -p flag at the same time")

# download and unpack Voro++ tarball

@@ -99,13 +97,13 @@ if grabflag:
  print("Unpacking Voro++ tarball ...")
  if os.path.exists("%s/%s" % (homepath,version)):
    cmd = 'rm -rf "%s/%s"' % (homepath,version)
    subprocess.check_output(cmd,shell=True)
    subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
  cmd = 'cd "%s"; tar -xzvf %s.tar.gz' % (homepath,version)
  subprocess.check_output(cmd,shell=True)
  subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
  if os.path.basename(homedir) != version:
    if os.path.exists(homedir):
      cmd = 'rm -rf "%s"' % homedir
      subprocess.check_output(cmd,shell=True)
      subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
    os.rename("%s/%s" % (homepath,version),homedir)

# build Voro++
@@ -113,8 +111,8 @@ if grabflag:
if buildflag:
  print("Building Voro++ ...")
  cmd = 'cd "%s"; make' % homedir
  txt = subprocess.check_output(cmd,shell=True)
  print(txt)
  txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
  print(txt.decode('UTF-8'))

# create 2 links in lib/voronoi to Voro++ src dir

@@ -125,6 +123,6 @@ if linkflag:
  if os.path.isfile("liblink") or os.path.islink("liblink"):
    os.remove("liblink")
  cmd = ['ln -s "%s/src" includelink' % homedir, 'includelink']
  subprocess.check_output(cmd,shell=True)
  subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
  cmd = ['ln -s "%s/src" liblink' % homedir]
  subprocess.check_output(cmd,shell=True)
  subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
+1 −1

File changed.

Contains only whitespace changes.