diff options
-rw-r--r-- | var/spack/repos/builtin/packages/zziplib/package.py | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/zziplib/package.py b/var/spack/repos/builtin/packages/zziplib/package.py index d98a57259c..8e7ecaea51 100644 --- a/var/spack/repos/builtin/packages/zziplib/package.py +++ b/var/spack/repos/builtin/packages/zziplib/package.py @@ -15,15 +15,48 @@ class Zziplib(AutotoolsPackage): homepage = "https://github.com/gdraheim/zziplib" url = "https://github.com/gdraheim/zziplib/archive/v0.13.69.tar.gz" + # Switch to CMake from 0.13.70, first working release is 0.13.71 + version('0.13.72', sha256='93ef44bf1f1ea24fc66080426a469df82fa631d13ca3b2e4abaeab89538518dc') version('0.13.69', sha256='846246d7cdeee405d8d21e2922c6e97f55f24ecbe3b6dcf5778073a88f120544') - patch('python2to3.patch') + patch('python2to3.patch', when='@:0.13.69') build_directory = 'spack-build' + depends_on('python@3.5:', type='build', when='@0.13.71:') + depends_on('cmake', type='build', when='@0.13.71:') depends_on('python', type='build') depends_on('zlib') + # see zzip/CMakeLists.txt + depends_on('coreutils', type='build', when='@0.13.71:') + depends_on('pkgconfig', type='build', when='@0.13.71:') + + @when('@0.13.71:') + def autoreconf(self, spec, prefix): + touch('configure') + + @when('@0.13.71:') + def _cmake_args(self): + spec = self.spec + args = [] + zlib = spec['zlib'] + # Do not use self.define('VAR', path) unless a CMakePackage + args.extend([ + '-DZLIB_LIBRARY:FILEPATH={0}'.format(zlib.libs[0]), + '-DZLIB_INCLUDE_DIR:FILEPATH={0}'.format(zlib.headers.directories[0]) + ]) + args.append('-DPYTHON_EXECUTABLE:FILEPATH={0}'.format( + spec['python'].command.path)) + args.append('-DCMAKE_INSTALL_PREFIX:PATH={0}'.format(spec.prefix)) + + return args def configure_args(self): args = ['--with-zlib={0}'.format(self.spec['zlib'].prefix)] return args + + @when('@0.13.71:') + def configure(self, spec, prefix): + with working_dir('spack-build', create=True): + cmake_args = self._cmake_args() + cmake('..', *cmake_args) |