- Patch exported clang/ClangTargets-relwithdebinfo.cmake to refer

to libclang only by soname, because the installed library might
  be newer than the one originally build with the package.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm13?expand=0&rev=17
This commit is contained in:
Aaron Puchert 2022-04-05 00:23:09 +00:00 committed by Git OBS Bridge
parent 359a8abca9
commit 873759c6e8
2 changed files with 8 additions and 0 deletions

View File

@ -7,6 +7,9 @@ Sun Apr 3 13:42:27 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
can't have multiple LLVM versions generate the same package, we can't have multiple LLVM versions generate the same package, we
prefix it for the non-default LLVM with a mechanism inspired by prefix it for the non-default LLVM with a mechanism inspired by
the GCC packaging. the GCC packaging.
- Patch exported clang/ClangTargets-relwithdebinfo.cmake to refer
to libclang only by soname, because the installed library might
be newer than the one originally build with the package.
- Use the same mechanism to for libc++ and package Clang scripts - Use the same mechanism to for libc++ and package Clang scripts
only for the default version. This means we'll no longer have to only for the default version. This means we'll no longer have to
touch the package when a new major version comes out. touch the package when a new major version comes out.

View File

@ -1067,6 +1067,11 @@ sed -i "$(
done done
)" %{buildroot}%{_libdir}/cmake/{llvm/LLVMExports,clang/ClangTargets}-relwithdebinfo.cmake )" %{buildroot}%{_libdir}/cmake/{llvm/LLVMExports,clang/ClangTargets}-relwithdebinfo.cmake
# For libclang, have the CMake export list refer to the library via soname.
# The original library might not be available. (We might have a newer version.)
sed -i "s|\"\${_IMPORT_PREFIX}/%{_lib}/libclang.so.%{_relver}\"|\"\${_IMPORT_PREFIX}/%{_lib}/libclang.so.%{_soclang}\"|g" \
%{buildroot}%{_libdir}/cmake/clang/ClangTargets-relwithdebinfo.cmake
# rpm macro for version checking # rpm macro for version checking
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/ mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/
cat > %{buildroot}%{_rpmconfigdir}/macros.d/macros.llvm <<EOF cat > %{buildroot}%{_rpmconfigdir}/macros.d/macros.llvm <<EOF