libabigail: support source install (#26807)

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
Vanessasaurus 2021-10-21 01:22:22 -06:00 committed by GitHub
parent b65937e193
commit 3fe1785d33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 34 deletions

View File

@ -1,27 +0,0 @@
From ba5e2b5dc9de106635c12ebe9260e2fc0212ff91 Mon Sep 17 00:00:00 2001
From: @vsoch <vsoch@noreply.users.github.com>
Date: Fri, 15 Oct 2021 05:17:47 +0000
Subject: [PATCH] fixing incorrect symbol
Signed-off-by: @vsoch <vsoch@noreply.users.github.com>
---
src/abg-dwarf-reader.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 1d6ad24c..8dd86c5a 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -11053,7 +11053,7 @@ dwarf_language_to_tu_language(size_t l)
return translation_unit::LANG_Ada95;
case DW_LANG_Fortran95:
return translation_unit::LANG_Fortran95;
- case DW_LANG_PL1:
+ case DW_LANG_PLI:
return translation_unit::LANG_PL1;
case DW_LANG_ObjC:
return translation_unit::LANG_ObjC;
--
2.17.1

View File

@ -13,30 +13,39 @@ class Libabigail(AutotoolsPackage):
url = "https://mirrors.kernel.org/sourceware/libabigail/libabigail-2.0.tar.gz" url = "https://mirrors.kernel.org/sourceware/libabigail/libabigail-2.0.tar.gz"
git = "https://sourceware.org/git/libabigail.git" git = "https://sourceware.org/git/libabigail.git"
version('master') version('master', branch='master')
version('2.0', sha256='3704ae97a56bf076ca08fb5dea6b21db998fbbf14c4f9de12824b78db53b6fda') version('2.0', sha256='3704ae97a56bf076ca08fb5dea6b21db998fbbf14c4f9de12824b78db53b6fda')
version('1.8', sha256='1cbf260b894ccafc61b2673ba30c020c3f67dbba9dfa88dca3935dff661d665c') version('1.8', sha256='1cbf260b894ccafc61b2673ba30c020c3f67dbba9dfa88dca3935dff661d665c')
variant('docs', default=False, description='build documentation') variant('docs', default=False, description='build documentation')
# version 2.0 will error because of using an old symbol, this error
# libdw: dwarf.h corrected the DW_LANG_PLI constant name (was DW_LANG_PL1).
depends_on('elfutils', type=('build', 'link')) depends_on('elfutils', type=('build', 'link'))
depends_on('libxml2', type=("build", "link"))
depends_on('libdwarf') depends_on('autoconf', type='build', when="@master")
depends_on('libxml2') depends_on('automake', type='build', when="@master")
depends_on('libtool', type='build', when="@master")
# Libabigail won't generate it's bin without Python # Libabigail won't generate it's bin without Python
depends_on('python@3.8:') depends_on('python@3.8:')
# Will not find libxml without this
depends_on('pkgconf')
# Documentation dependencies # Documentation dependencies
depends_on('doxygen', type="build", when="+docs") depends_on('doxygen', type="build", when="+docs")
depends_on('py-sphinx', type='build', when="+docs") depends_on('py-sphinx', type='build', when="+docs")
# The symbol PL1 needs to be renamed to PLI def configure_args(self):
patch("0001-plt.patch") spec = self.spec
config_args = ['CPPFLAGS=-I{0}/include'.format(spec['libxml2'].prefix)]
config_args.append('LDFLAGS=-L{0} -Wl,-rpath,{0}'.format(
spec['libxml2'].libs.directories[0]))
return config_args
def autoreconf(self, spec, prefix): def autoreconf(self, spec, prefix):
autoreconf = which('autoreconf') autoreconf = which('autoreconf')
with working_dir(self.configure_directory): with working_dir(self.configure_directory):
# We need force (f) because without it, looks for RedHat library
autoreconf('-ivf') autoreconf('-ivf')