Implement review requests

- use two empty lines before `class`
- change version numbering scheme for packages, use `url_for_version` to make things work
- specify dependency types
- add comment about temporarily moved download location
- update two packages to newer versions
This commit is contained in:
Erik Schnetter 2016-08-23 13:52:28 -04:00
parent a2692e4ef5
commit 73cae8d9c4
9 changed files with 50 additions and 18 deletions

View File

@ -25,6 +25,7 @@
from spack import *
class Bliss(Package):
"""bliss: A Tool for Computing Automorphism Groups and Canonical
Labelings of Graphs"""
@ -37,7 +38,7 @@ class Bliss(Package):
# Note: Bliss can also be built without gmp, but we don't support this yet
depends_on("gmp")
depends_on("libtool")
depends_on("libtool", type='build')
patch("Makefile.spack.patch")

View File

@ -25,6 +25,7 @@
from spack import *
class Cdd(Package):
"""The program cdd+ (cdd, respectively) is a C++ (ANSI C)
implementation of the Double Description Method [MRTT53] for
@ -34,9 +35,13 @@ class Cdd(Package):
homepage = "https://www.inf.ethz.ch/personal/fukudak/cdd_home/cdd.html"
url = "ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cdd-061a.tar.gz"
version('061a', '22c24a7a9349dd7ec0e24531925a02d9')
def url_for_version(self, version):
return ("ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cdd-%s.tar.gz" %
str(version.dotted()).replace('.', ''))
depends_on("libtool")
version('0.61a', '22c24a7a9349dd7ec0e24531925a02d9')
depends_on("libtool", type="build")
patch("Makefile.spack.patch")

View File

@ -25,21 +25,32 @@
from spack import *
class Cddlib(Package):
"""The C-library cddlib is a C implementation of the Double Description
"""The C-library cddlib is a C implementation of the Double Description
Method of Motzkin et al. for generating all vertices (i.e. extreme points)
and extreme rays of a general convex polyhedron in R^d given by a system
of linear inequalities"""
homepage = "https://www.inf.ethz.ch/personal/fukudak/cdd_home/"
# This is the original download url. It is currently down [2016-08-23],
# but should be reinstated or updated once the issue is resolved.
# url = "ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-094h.tar.gz"
url = "http://pkgs.fedoraproject.org/lookaside/pkgs/cddlib/cddlib-094h.tar.gz/1467d270860bbcb26d3ebae424690e7c/cddlib-094h.tar.gz"
version('094h', '1467d270860bbcb26d3ebae424690e7c')
def url_for_version(self, version):
# Since the commit id is part of the version, we can't
# auto-generate the string, and we need to explicitly list all
# known versions here. Currently, there is only one version.
if str(version) == '0.94h':
return "http://pkgs.fedoraproject.org/lookaside/pkgs/cddlib/cddlib-094h.tar.gz/1467d270860bbcb26d3ebae424690e7c/cddlib-094h.tar.gz"
raise InstallError("Unsupported version %s" % str(version))
version('0.94h', '1467d270860bbcb26d3ebae424690e7c')
# Note: It should be possible to build cddlib also without gmp
depends_on("gmp")
depends_on("libtool")
depends_on("libtool", type="build")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)

View File

@ -25,24 +25,28 @@
from spack import *
class Lrslib(Package):
"""lrslib Ver 6.2 is a self-contained ANSI C implementation of the
reverse search algorithm for vertex enumeration/convex hull
problems and comes with a choice of three arithmetic packages"""
homepage = "http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
url = "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-062.tar.gz"
def url_for_version(self, version):
return ("http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-%s.tar.gz" %
('0' + str(version).replace('.', '')))
version('062', 'be5da7b3b90cc2be628dcade90c5d1b9')
version('061', '0b3687c8693cd7d1f234a3f65e147551')
version('060', 'd600a2e62969ad03f7ab2f85f1b3709c')
version('051', 'cca323eee8bf76f598a13d7bf67cc13d')
version('043', '86dd9a45d20a3a0069f77e61be5b46ad')
version('6.2', 'be5da7b3b90cc2be628dcade90c5d1b9')
version('6.1', '0b3687c8693cd7d1f234a3f65e147551')
version('6.0', 'd600a2e62969ad03f7ab2f85f1b3709c')
version('5.1', 'cca323eee8bf76f598a13d7bf67cc13d')
version('4.3', '86dd9a45d20a3a0069f77e61be5b46ad')
# Note: lrslib can also be built with Boost, and probably without gmp
# depends_on("boost")
depends_on("gmp")
depends_on("libtool")
depends_on("libtool", type="build")
patch("Makefile.spack.patch")

View File

@ -26,14 +26,20 @@
import shutil
from spack import *
class Nauty(Package):
"""nauty and Traces are programs for computing automorphism groups of
graphsq and digraphs"""
homepage = "http://pallini.di.uniroma1.it/index.html"
url = "http://pallini.di.uniroma1.it/nauty26r5.tar.gz"
url = "http://pallini.di.uniroma1.it/nauty26r7.tar.gz"
version('26r5', '91b03a7b069962e94fc9aac8831ce8d2')
version('25r9', 'e8ecd08b0892a1fb13329c147f08de6d')
def url_for_version(self, version):
return ("http://pallini.di.uniroma1.it/nauty%s.tar.gz" %
str(version).replace('.', ''))
version('2.6r7', 'b2b18e03ea7698db3fbe06c5d76ad8fe')
version('2.6r5', '91b03a7b069962e94fc9aac8831ce8d2')
version('2.5r9', 'e8ecd08b0892a1fb13329c147f08de6d')
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)

View File

@ -25,16 +25,17 @@
from spack import *
class Panda(Package):
"""PANDA: Parallel AdjaceNcy Decomposition Algorithm"""
homepage = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/index.html"
url = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/downloads/current_panda.tar"
version('panda', 'b06dc312ee56e13eefea9c915b70fcef')
version('current', 'b06dc312ee56e13eefea9c915b70fcef')
# Note: Panda can also be built without MPI support
depends_on("cmake")
depends_on("cmake", type="build")
depends_on("mpi")
def install(self, spec, prefix):

View File

@ -25,11 +25,13 @@
from spack import *
class Polymake(Package):
"""polymake is open source software for research in polyhedral geometry"""
homepage = "https://polymake.org/doku.php"
url = "https://polymake.org/lib/exe/fetch.php/download/polymake-3.0r1.tar.bz2"
version('3.0r2', '08584547589f052ea50e2148109202ab')
version('3.0r1', '63ecbecf9697c6826724d8a041d2cac0')
# Note: Could also be built with nauty instead of bliss

View File

@ -25,6 +25,7 @@
from spack import *
class Porta(Package):
"""PORTA is a collection of routines for analyzing polytopes and
polyhedra"""
@ -33,7 +34,7 @@ class Porta(Package):
version('1.4.1', '585179bf19d214ed364663a5d17bd5fc')
depends_on("libtool")
depends_on("libtool", type="build")
patch("Makefile.spack.patch")

View File

@ -25,6 +25,7 @@
from spack import *
class Sympol(Package):
"""SymPol is a C++ tool to work with symmetric polyhedra"""
homepage = "http://www.math.uni-rostock.de/~rehn/software/sympol.html"