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:
Massimiliano Culpo 2020-10-12 16:35:52 +02:00 committed by GitHub
parent 2d9f692d6c
commit 2399c2e78d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 9 deletions

View File

@ -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

View File

@ -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')