diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2018-05-26 10:37:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-26 10:37:48 -0500 |
commit | 5490190b716d310dcb8e088efb513d5a96fefcad (patch) | |
tree | 01f136e13b28780af616771d51c6aa3dedc028f0 | |
parent | 1549ee76e563399dec69ed2cb16c5d10b2d7c138 (diff) | |
download | spack-5490190b716d310dcb8e088efb513d5a96fefcad.tar.gz spack-5490190b716d310dcb8e088efb513d5a96fefcad.tar.bz2 spack-5490190b716d310dcb8e088efb513d5a96fefcad.tar.xz spack-5490190b716d310dcb8e088efb513d5a96fefcad.zip |
Add JasPer 2.0.14 (#8207)
* Add JasPer 2.0.14
* Remove no longer necessary patch
* Explicitly disable generation of documentation
* Re-add support for JasPer 1.900.1, add GDAL patch
* Remove GDAL patch
-rw-r--r-- | var/spack/repos/builtin/packages/jasper/package.py | 91 |
1 files changed, 77 insertions, 14 deletions
diff --git a/var/spack/repos/builtin/packages/jasper/package.py b/var/spack/repos/builtin/packages/jasper/package.py index 2ae1234903..3e4bbeb8a5 100644 --- a/var/spack/repos/builtin/packages/jasper/package.py +++ b/var/spack/repos/builtin/packages/jasper/package.py @@ -25,34 +25,97 @@ from spack import * -class Jasper(AutotoolsPackage): +class Jasper(Package): """Library for manipulating JPEG-2000 images""" homepage = "https://www.ece.uvic.ca/~frodo/jasper/" - url = "https://www.ece.uvic.ca/~frodo/jasper/software/jasper-1.900.1.zip" + url = "https://www.ece.uvic.ca/~frodo/jasper/software/jasper-2.0.14.tar.gz" + list_url = homepage - version('1.900.1', 'a342b2b4495b3e1394e161eb5d85d754') + version('2.0.14', '23561b51da8eb5d0dc85b91eff3d9a7f', + url="https://www.ece.uvic.ca/~frodo/jasper/software/jasper-2.0.14.tar.gz") + version('1.900.1', 'a342b2b4495b3e1394e161eb5d85d754', + url="https://www.ece.uvic.ca/~frodo/jasper/software/jasper-1.900.1.zip") - variant('shared', default=True, - description='Builds shared versions of the libraries') - variant('debug', default=False, - description='Builds debug versions of the libraries') + variant('jpeg', default=True, description='Enable the use of the JPEG library') + variant('opengl', default=False, description='Enable the use of the OpenGL and GLUT libraries') + variant('shared', default=True, description='Enable the building of shared libraries') + variant('build_type', default='Release', description='CMake build type', values=('Debug', 'Release')) - depends_on('jpeg') + depends_on('cmake@2.8.11:', type='build', when='@2:') + depends_on('jpeg', when='+jpeg') + depends_on('gl', when='+opengl') - # Fixes a bug (still in upstream as of v.1.900.1) where an assertion fails - # when certain JPEG-2000 files with an alpha channel are processed - # see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786 - patch('fix_alpha_channel_assert_fail.patch') + # Fixes a bug where an assertion fails when certain JPEG-2000 + # files with an alpha channel are processed. + # See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786 + patch('fix_alpha_channel_assert_fail.patch', when='@1.900.1') + + def cmake_args(self): + spec = self.spec + args = std_cmake_args + args.append('-DJAS_ENABLE_DOC=false') + + if '+jpeg' in spec: + args.append('-DJAS_ENABLE_LIBJPEG=true') + else: + args.append('-DJAS_ENABLE_LIBJPEG=false') + + if '+opengl' in spec: + args.append('-DJAS_ENABLE_OPENGL=true') + else: + args.append('-DJAS_ENABLE_OPENGL=false') + + if '+shared' in spec: + args.append('-DJAS_ENABLE_SHARED=true') + else: + args.append('-DJAS_ENABLE_SHARED=false') + + return args def configure_args(self): spec = self.spec - args = ['--mandir={0}'.format(spec.prefix.man)] + args = [ + '--prefix={0}'.format(self.prefix) + ] + + if '+jpeg' in spec: + args.append('--enable-libjpeg') + else: + args.append('--disable-libjpeg') + + if '+opengl' in spec: + args.append('--enable-opengl') + else: + args.append('--disable-opengl') if '+shared' in spec: args.append('--enable-shared') + else: + args.append('--disable-shared') - if '+debug' not in spec: + if 'build_type=Debug' in spec: + args.append('--enable-debug') + else: args.append('--disable-debug') return args + + @when('@2:') + def install(self, spec, prefix): + with working_dir('spack-build', create=True): + cmake('..', *self.cmake_args()) + make() + if self.run_tests: + make('test') + make('install') + + @when('@:1') + def install(self, spec, prefix): + configure(*self.configure_args()) + make() + if self.run_tests: + make('check') + make('install') + if self.run_tests: + make('installcheck') |