From 872f049b30cef3395900f57cd98575b8cacfbb36 Mon Sep 17 00:00:00 2001 From: Dhanannjay Deo Date: Tue, 29 Mar 2016 22:27:16 -0400 Subject: [PATCH 1/9] create visit package --- .../repos/builtin/packages/visit/package.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 var/spack/repos/builtin/packages/visit/package.py diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py new file mode 100644 index 00000000000..ff80815ae60 --- /dev/null +++ b/var/spack/repos/builtin/packages/visit/package.py @@ -0,0 +1,40 @@ +# FIXME: +# This is a template package file for Spack. We've conveniently +# put "FIXME" labels next to all the things you'll want to change. +# +# Once you've edited all the FIXME's, delete this whole message, +# save this file, and test out your package like this: +# +# spack install visit +# +# You can always get back here to change things with: +# +# spack edit visit +# +# See the spack documentation for more information on building +# packages. +# +from spack import * + + +class Visit(Package): + """VisIt is an Open Source, interactive, scalable, visualization, animation and analysis tool.""" + homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/" + url = "http://portal.nersc.gov/project/visit/releases/2.10.1/visit2.10.1.tar.gz" + + version('2.10.1', '3cbca162fdb0249f17c4456605c4211e') + + depends_on("vtk@7.0") + depends_on("qt@4.8.6") + # FIXME: Add dependencies if this package requires them. + + def install(self, spec, prefix): + # FIXME: Modify the configure line to suit your build system here. + # FIXME: Spack couldn't guess one, so here are some options: + # configure('--prefix=%s' % prefix) + std_cmake_args = [] + cmake('.', *std_cmake_args) + + # FIXME: Add logic to build and install here + make() + make("install") From 2e05830eb1078778eddcd702a9a50fd3d2b775d5 Mon Sep 17 00:00:00 2001 From: Dhanannjay Deo Date: Thu, 31 Mar 2016 14:55:35 -0400 Subject: [PATCH 2/9] Constrain to vtk6.1 qt4.8.6 and opengl1 rendering backend --- .../repos/builtin/packages/visit/package.py | 36 +++++++------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py index ff80815ae60..ade86631cf3 100644 --- a/var/spack/repos/builtin/packages/visit/package.py +++ b/var/spack/repos/builtin/packages/visit/package.py @@ -1,19 +1,3 @@ -# FIXME: -# This is a template package file for Spack. We've conveniently -# put "FIXME" labels next to all the things you'll want to change. -# -# Once you've edited all the FIXME's, delete this whole message, -# save this file, and test out your package like this: -# -# spack install visit -# -# You can always get back here to change things with: -# -# spack edit visit -# -# See the spack documentation for more information on building -# packages. -# from spack import * @@ -24,17 +8,21 @@ class Visit(Package): version('2.10.1', '3cbca162fdb0249f17c4456605c4211e') - depends_on("vtk@7.0") + depends_on("vtk@6.1.0~opengl2") depends_on("qt@4.8.6") - # FIXME: Add dependencies if this package requires them. + depends_on("python") + # TODO: Other package dependencies from spack def install(self, spec, prefix): - # FIXME: Modify the configure line to suit your build system here. - # FIXME: Spack couldn't guess one, so here are some options: - # configure('--prefix=%s' % prefix) - std_cmake_args = [] - cmake('.', *std_cmake_args) - # FIXME: Add logic to build and install here + feature_args = std_cmake_args[:] + feature_args = ["-DVTK_MAJOR_VERSION=6", + "-DVTK_MINOR_VERSION=1", + "-DCMAKE_INSTALL_PREFIX:PATH=%s" % spec.prefix, + "-DVISIT_LOC_QMAKE_EXE:FILEPATH=%s/qmake-qt4" % spec['qt'].prefix.bin, + "-DPYTHON_EXECUTABLE:FILEPATH=%s/python" % spec['python'].prefix.bin] + + cmake('./src', *feature_args) + make() make("install") From c3c70cf704be1e174391e2d64d5491db72289a57 Mon Sep 17 00:00:00 2001 From: Dhanannjay Deo Date: Tue, 5 Apr 2016 14:35:33 -0400 Subject: [PATCH 3/9] Install lite pdb headers --- var/spack/repos/builtin/packages/silo/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py index b7894e4d2bd..245acc09733 100644 --- a/var/spack/repos/builtin/packages/silo/package.py +++ b/var/spack/repos/builtin/packages/silo/package.py @@ -1,5 +1,6 @@ from spack import * + class Silo(Package): """Silo is a library for reading and writing a wide variety of scientific data to binary, disk files.""" @@ -30,6 +31,7 @@ def install(self, spec, prefix): '--prefix=%s' % prefix, '--with-hdf5=%s,%s' % (spec['hdf5'].prefix.include, spec['hdf5'].prefix.lib), '--with-zlib=%s,%s' % (spec['zlib'].prefix.include, spec['zlib'].prefix.lib), + '--enable-install-lite-headers', *config_args) make() From f221f645091bb0175185e8c20fe19be2cc42639a Mon Sep 17 00:00:00 2001 From: Dhanannjay Deo Date: Tue, 5 Apr 2016 22:31:08 -0400 Subject: [PATCH 4/9] Add variant for shared library --- var/spack/repos/builtin/packages/silo/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py index 245acc09733..638a894b7b3 100644 --- a/var/spack/repos/builtin/packages/silo/package.py +++ b/var/spack/repos/builtin/packages/silo/package.py @@ -13,6 +13,7 @@ class Silo(Package): version('4.8', 'b1cbc0e7ec435eb656dc4b53a23663c9') variant('fortran', default=True, description='Enable Fortran support') + variant('shared', default=True, description='Build shared libraries') variant('silex', default=False, description='Builds Silex, a GUI for viewing Silo files') depends_on('hdf5') @@ -22,6 +23,8 @@ def install(self, spec, prefix): config_args = [ '--enable-fortran' if '+fortran' in spec else '--disable-fortran', '--enable-silex' if '+silex' in spec else '--disable-silex', + '--enable-shared' if '+shared' in spec else '--disable-shared', + '--disable-static' if '+shared' in spec else '--enable-static', ] if '+silex' in spec: From 071548a62f8dd13d09915c1ed985063e6e372d74 Mon Sep 17 00:00:00 2001 From: Dhanannjay 'Djay' Deo Date: Tue, 5 Apr 2016 23:16:57 -0400 Subject: [PATCH 5/9] Building VisIt with silo --- .../repos/builtin/packages/visit/package.py | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py index ade86631cf3..9b21370fa3a 100644 --- a/var/spack/repos/builtin/packages/visit/package.py +++ b/var/spack/repos/builtin/packages/visit/package.py @@ -11,18 +11,22 @@ class Visit(Package): depends_on("vtk@6.1.0~opengl2") depends_on("qt@4.8.6") depends_on("python") - # TODO: Other package dependencies from spack + depends_on("hdf5") # silo seems to need it + depends_on("silo+shared") def install(self, spec, prefix): + with working_dir('spack-build', create=True): - feature_args = std_cmake_args[:] - feature_args = ["-DVTK_MAJOR_VERSION=6", - "-DVTK_MINOR_VERSION=1", - "-DCMAKE_INSTALL_PREFIX:PATH=%s" % spec.prefix, - "-DVISIT_LOC_QMAKE_EXE:FILEPATH=%s/qmake-qt4" % spec['qt'].prefix.bin, - "-DPYTHON_EXECUTABLE:FILEPATH=%s/python" % spec['python'].prefix.bin] + feature_args = std_cmake_args[:] + feature_args = ["-DVTK_MAJOR_VERSION=6", + "-DVTK_MINOR_VERSION=1", + "-DCMAKE_INSTALL_PREFIX:PATH=%s" % spec.prefix, + "-DVISIT_LOC_QMAKE_EXE:FILEPATH=%s/qmake-qt4" % spec['qt'].prefix.bin, + "-DPYTHON_EXECUTABLE:FILEPATH=%s/python" % spec['python'].prefix.bin, + "-DVISIT_SILO_DIR:PATH=%s" % spec['silo'].prefix, + "-DVISIT_HDF5_DIR:PATH=%s" % spec['hdf5'].prefix] - cmake('./src', *feature_args) + cmake('../src', *feature_args) - make() - make("install") + make() + make("install") From 32f7b06a36e99e2fbfc56147b3c4803fa2946838 Mon Sep 17 00:00:00 2001 From: Dhanannjay 'Djay' Deo Date: Wed, 4 May 2016 18:14:38 -0400 Subject: [PATCH 6/9] Add version 2.10.2 --- var/spack/repos/builtin/packages/visit/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py index 9b21370fa3a..716cd2c1017 100644 --- a/var/spack/repos/builtin/packages/visit/package.py +++ b/var/spack/repos/builtin/packages/visit/package.py @@ -7,6 +7,7 @@ class Visit(Package): url = "http://portal.nersc.gov/project/visit/releases/2.10.1/visit2.10.1.tar.gz" version('2.10.1', '3cbca162fdb0249f17c4456605c4211e') + version('2.10.2', '253de0837a9d69fb689befc98ea4d068') depends_on("vtk@6.1.0~opengl2") depends_on("qt@4.8.6") From 1785de0f3152a7d853425f07c236faf60eb91e0e Mon Sep 17 00:00:00 2001 From: Dhanannjay 'Djay' Deo Date: Wed, 4 May 2016 22:08:01 -0400 Subject: [PATCH 7/9] remove hdf5 which is silo actually a silo dependency --- var/spack/repos/builtin/packages/visit/package.py | 1 - 1 file changed, 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py index 716cd2c1017..91ffd4c0452 100644 --- a/var/spack/repos/builtin/packages/visit/package.py +++ b/var/spack/repos/builtin/packages/visit/package.py @@ -12,7 +12,6 @@ class Visit(Package): depends_on("vtk@6.1.0~opengl2") depends_on("qt@4.8.6") depends_on("python") - depends_on("hdf5") # silo seems to need it depends_on("silo+shared") def install(self, spec, prefix): From 45e77e7739e3e96b776eb0691daa5cfaaa9e26ce Mon Sep 17 00:00:00 2001 From: Dhanannjay 'Djay' Deo Date: Wed, 4 May 2016 22:49:47 -0400 Subject: [PATCH 8/9] Correctly extend std_cmake_args --- var/spack/repos/builtin/packages/visit/package.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py index 91ffd4c0452..14e3b6a0c16 100644 --- a/var/spack/repos/builtin/packages/visit/package.py +++ b/var/spack/repos/builtin/packages/visit/package.py @@ -18,13 +18,12 @@ def install(self, spec, prefix): with working_dir('spack-build', create=True): feature_args = std_cmake_args[:] - feature_args = ["-DVTK_MAJOR_VERSION=6", - "-DVTK_MINOR_VERSION=1", - "-DCMAKE_INSTALL_PREFIX:PATH=%s" % spec.prefix, - "-DVISIT_LOC_QMAKE_EXE:FILEPATH=%s/qmake-qt4" % spec['qt'].prefix.bin, - "-DPYTHON_EXECUTABLE:FILEPATH=%s/python" % spec['python'].prefix.bin, - "-DVISIT_SILO_DIR:PATH=%s" % spec['silo'].prefix, - "-DVISIT_HDF5_DIR:PATH=%s" % spec['hdf5'].prefix] + feature_args.extend(["-DVTK_MAJOR_VERSION=6", + "-DVTK_MINOR_VERSION=1", + "-DVISIT_LOC_QMAKE_EXE:FILEPATH=%s/qmake-qt4" % spec['qt'].prefix.bin, + "-DPYTHON_EXECUTABLE:FILEPATH=%s/python" % spec['python'].prefix.bin, + "-DVISIT_SILO_DIR:PATH=%s" % spec['silo'].prefix, + "-DVISIT_HDF5_DIR:PATH=%s" % spec['hdf5'].prefix]) cmake('../src', *feature_args) From ef202fbe0ca1f23ca7f0ea271d45cee8a0623e4e Mon Sep 17 00:00:00 2001 From: Dhanannjay 'Djay' Deo Date: Wed, 4 May 2016 22:50:15 -0400 Subject: [PATCH 9/9] Build static and shared libraries for silo --- var/spack/repos/builtin/packages/silo/package.py | 1 - 1 file changed, 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py index 638a894b7b3..7e68663c6ed 100644 --- a/var/spack/repos/builtin/packages/silo/package.py +++ b/var/spack/repos/builtin/packages/silo/package.py @@ -24,7 +24,6 @@ def install(self, spec, prefix): '--enable-fortran' if '+fortran' in spec else '--disable-fortran', '--enable-silex' if '+silex' in spec else '--disable-silex', '--enable-shared' if '+shared' in spec else '--disable-shared', - '--disable-static' if '+shared' in spec else '--enable-static', ] if '+silex' in spec: