libdwarf: remove use of hide_files()

- This was a nasty workaround due to the way our compiler wrappers used
  to work.  We don't want to have to modify our elfutils installation to
  install libdwarf.

- Since cd9691de5, we no longer need this because the package will always
  come before dependencies in our include order.
This commit is contained in:
Todd Gamblin 2018-08-01 20:59:07 -07:00
parent 1ec06e6111
commit 43c77ac3cb
2 changed files with 55 additions and 76 deletions

View File

@ -60,7 +60,6 @@
'fix_darwin_install_name', 'fix_darwin_install_name',
'force_remove', 'force_remove',
'force_symlink', 'force_symlink',
'hide_files',
'install', 'install',
'install_tree', 'install_tree',
'is_exe', 'is_exe',
@ -392,18 +391,6 @@ def replace_directory_transaction(directory_name, tmp_root=None):
tty.debug('TEMPORARY DIRECTORY DELETED [{0}]'.format(tmp_dir)) tty.debug('TEMPORARY DIRECTORY DELETED [{0}]'.format(tmp_dir))
@contextmanager
def hide_files(*file_list):
try:
baks = ['%s.bak' % f for f in file_list]
for f, bak in zip(file_list, baks):
shutil.move(f, bak)
yield
finally:
for f, bak in zip(file_list, baks):
shutil.move(bak, f)
def hash_directory(directory): def hash_directory(directory):
"""Hashes recursively the content of a directory. """Hashes recursively the content of a directory.

View File

@ -61,14 +61,6 @@ def patch(self):
filter_file(r'^typedef struct Elf Elf;$', '', 'libdwarf/libdwarf.h.in') filter_file(r'^typedef struct Elf Elf;$', '', 'libdwarf/libdwarf.h.in')
def install(self, spec, prefix): def install(self, spec, prefix):
# elfutils contains a dwarf.h that conflicts with libdwarf's
# TODO: we should remove this when we can modify the include order
hide_list = []
if spec.satisfies('^elfutils'):
dwarf_h = join_path(spec['elfutils'].prefix, 'include/dwarf.h')
hide_list.append(dwarf_h)
with hide_files(*hide_list):
# dwarf build does not set arguments for ar properly # dwarf build does not set arguments for ar properly
make.add_default_arg('ARFLAGS=rcs') make.add_default_arg('ARFLAGS=rcs')