diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/php/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/php/package.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/php/package.py b/var/spack/repos/builtin/packages/php/package.py index 714bfb0e8f..d5da45eb94 100644 --- a/var/spack/repos/builtin/packages/php/package.py +++ b/var/spack/repos/builtin/packages/php/package.py @@ -5,6 +5,8 @@ from spack import * +import spack.hooks.sbang as sbang + class Php(AutotoolsPackage): """ @@ -36,6 +38,27 @@ class Php(AutotoolsPackage): depends_on('libxml2') depends_on('sqlite') + patch('sbang.patch') + + def patch(self): + """ + phar sbang is added before build phase. + Because phar is php script with binary data + (Not UTF-8 text file) And phar is embeded own sha1 checksum. + """ + shebang_limit = 127 + + if len(self.prefix.bin.php) + 2 <= shebang_limit: + return + + new_sbang_line = '#!/bin/bash %s' % sbang.sbang_install_path() + original_bang = '-b "$(PHP_PHARCMD_BANG)"' + makefile = join_path('ext', 'phar', 'Makefile.frag') + filter_file( + original_bang, + original_bang + ' -z "{0}"'.format(new_sbang_line), + makefile, string=True) + def autoreconf(self, spec, prefix): bash = which('bash') bash('./buildconf', '--force') |