autotools: refactor search paths for aclocal in its own method (#19258)
This commit refactors the computation of the search path for aclocal in its own method, so that it's easier to reuse for packages that need to have a custom autoreconf phase. Co-authored-by: Toyohisa Kameyama <kameyama@riken.jp>
This commit is contained in:
parent
2d9f692d6c
commit
2399c2e78d
@ -266,14 +266,19 @@ def autoreconf(self, spec, prefix):
|
||||
# This line is what is needed most of the time
|
||||
# --install, --verbose, --force
|
||||
autoreconf_args = ['-ivf']
|
||||
for dep in spec.dependencies(deptype='build'):
|
||||
if os.path.exists(dep.prefix.share.aclocal):
|
||||
autoreconf_args.extend([
|
||||
'-I', dep.prefix.share.aclocal
|
||||
])
|
||||
autoreconf_args += self.autoreconf_search_path_args
|
||||
autoreconf_args += self.autoreconf_extra_args
|
||||
m.autoreconf(*autoreconf_args)
|
||||
|
||||
@property
|
||||
def autoreconf_search_path_args(self):
|
||||
"""Arguments to autoreconf to modify the search paths"""
|
||||
search_path_args = []
|
||||
for dep in self.spec.dependencies(deptype='build'):
|
||||
if os.path.exists(dep.prefix.share.aclocal):
|
||||
search_path_args.extend(['-I', dep.prefix.share.aclocal])
|
||||
return search_path_args
|
||||
|
||||
@run_after('autoreconf')
|
||||
def set_configure_or_die(self):
|
||||
"""Checks the presence of a ``configure`` file after the
|
||||
|
@ -2,10 +2,6 @@
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Audacious(AutotoolsPackage):
|
||||
"""A lightweight and versatile audio player."""
|
||||
|
||||
@ -27,6 +23,11 @@ class Audacious(AutotoolsPackage):
|
||||
depends_on('glib')
|
||||
depends_on('qt')
|
||||
|
||||
def patch(self):
|
||||
search_path_args = ' '.join(self.autoreconf_search_path_args)
|
||||
search_path_str = '-I m4 {0}'.format(search_path_args)
|
||||
filter_file('-I m4', search_path_str, 'autogen.sh')
|
||||
|
||||
def autoreconf(self, spec, prefix):
|
||||
bash = which('bash')
|
||||
bash('./autogen.sh')
|
||||
|
Loading…
Reference in New Issue
Block a user