Accepting request 1195858 from devel:tools:compiler
- Split off clang shared runtime libraries into libclang_rtX, so that they can be used by other packages without requiring the entire compiler tool chain. This is still not ergonomical: the libraries don't sit in %{_libdir}, so an RPATH or setting LD_LIBRARY_PATH is required, and they don't have an SO version, so zypper won't know which version to is needed. (boo#1225784) - Add minor version to Python shebangs. (boo#1212476) - Remove shebang and executable bit where not needed. OBS-URL: https://build.opensuse.org/request/show/1195858 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm18?expand=0&rev=8
This commit is contained in:
commit
85220898dc
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 23 21:41:32 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
- Split off clang shared runtime libraries into libclang_rtX, so
|
||||||
|
that they can be used by other packages without requiring the
|
||||||
|
entire compiler tool chain. This is still not ergonomical: the
|
||||||
|
libraries don't sit in %{_libdir}, so an RPATH or setting
|
||||||
|
LD_LIBRARY_PATH is required, and they don't have an SO version,
|
||||||
|
so zypper won't know which version to is needed. (boo#1225784)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 20 21:20:37 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
- Add minor version to Python shebangs. (boo#1212476)
|
||||||
|
- Remove shebang and executable bit where not needed.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jun 30 17:44:44 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
Sun Jun 30 17:44:44 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
55
llvm18.spec
55
llvm18.spec
@ -531,6 +531,7 @@ This package contains documentation for the LLVM infrastructure.
|
|||||||
Summary: CLANG frontend for LLVM
|
Summary: CLANG frontend for LLVM
|
||||||
Group: Development/Languages/C and C++
|
Group: Development/Languages/C and C++
|
||||||
URL: https://clang.llvm.org/
|
URL: https://clang.llvm.org/
|
||||||
|
Requires: libclang_rt%{_sonum}
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(postun): update-alternatives
|
Requires(postun): update-alternatives
|
||||||
Recommends: clang-tools
|
Recommends: clang-tools
|
||||||
@ -543,6 +544,15 @@ Suggests: libc++-devel
|
|||||||
%description -n clang%{_sonum}
|
%description -n clang%{_sonum}
|
||||||
This package contains the clang (C language) frontend for LLVM.
|
This package contains the clang (C language) frontend for LLVM.
|
||||||
|
|
||||||
|
%package -n libclang_rt%{_sonum}
|
||||||
|
Summary: Clang shared runtime libraries
|
||||||
|
Group: System/Libraries
|
||||||
|
URL: https://compiler-rt.llvm.org/
|
||||||
|
|
||||||
|
%description -n libclang_rt%{_sonum}
|
||||||
|
The runtime libraries needed to run programs compiled with the -shared-libsan
|
||||||
|
of Clang. Also known as compiler-rt.
|
||||||
|
|
||||||
%package -n clang-tools
|
%package -n clang-tools
|
||||||
Summary: Tools for Clang
|
Summary: Tools for Clang
|
||||||
Group: Development/Languages/C and C++
|
Group: Development/Languages/C and C++
|
||||||
@ -1360,8 +1370,8 @@ cat > %{buildroot}%{_rpmconfigdir}/macros.d/macros.llvm <<EOF
|
|||||||
%_llvm_with_lldb %{with lldb}
|
%_llvm_with_lldb %{with lldb}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Don't use env in shebangs, and prefer python3. (https://www.python.org/dev/peps/pep-0394/#for-python-runtime-distributors)
|
# Don't use env in shebangs, and prefer python3.X. (https://www.python.org/dev/peps/pep-0394/#for-python-runtime-distributors)
|
||||||
for script in %{buildroot}%{_bindir}/opt-{diff,stats,viewer} \
|
sed -i -E "1s|/usr/bin/env *|/usr/bin/|; 1s|/usr/bin/python3?\$|$(realpath /usr/bin/python3)|" \
|
||||||
%if %{_plv} == %{_sonum}
|
%if %{_plv} == %{_sonum}
|
||||||
%{buildroot}%{_bindir}/{{analyze,intercept}-build,clang-{format,tidy}-diff,git-clang-format,hmaptool,run-{clang-tidy,find-all-symbols},scan-{build,build-py,view}} \
|
%{buildroot}%{_bindir}/{{analyze,intercept}-build,clang-{format,tidy}-diff,git-clang-format,hmaptool,run-{clang-tidy,find-all-symbols},scan-{build,build-py,view}} \
|
||||||
%{buildroot}%{_libexecdir}/{{analyze,intercept}-{c++,cc},{c++,ccc}-analyzer} \
|
%{buildroot}%{_libexecdir}/{{analyze,intercept}-{c++,cc},{c++,ccc}-analyzer} \
|
||||||
@ -1369,13 +1379,21 @@ for script in %{buildroot}%{_bindir}/opt-{diff,stats,viewer} \
|
|||||||
%ifarch aarch64 x86_64
|
%ifarch aarch64 x86_64
|
||||||
%{buildroot}%{_libdir}/clang/%{_sonum}/bin/hwasan_symbolize \
|
%{buildroot}%{_libdir}/clang/%{_sonum}/bin/hwasan_symbolize \
|
||||||
%endif
|
%endif
|
||||||
%{buildroot}%{python3_sitelib}/optrecord.py; do
|
%{buildroot}%{_bindir}/opt-{diff,stats,viewer}
|
||||||
sed -i '1s|/usr/bin/env *|%{_bindir}/|;1s|/usr/bin/python$|%{_bindir}/python3|' $script
|
|
||||||
done
|
# Remove shebangs where not needed.
|
||||||
|
sed -i '1{ /^#!/d }' \
|
||||||
|
%if %{_plv} == %{_sonum}
|
||||||
|
%{buildroot}%{_datadir}/scan-view/{Reporter,startfile}.py \
|
||||||
|
%endif
|
||||||
|
%if %{with lldb_python}
|
||||||
|
%{buildroot}%{python3_sitearch}/lldb/utils/{in_call_stack,symbolication}.py \
|
||||||
|
%endif
|
||||||
|
%{buildroot}%{python3_sitelib}/optrecord.py
|
||||||
|
|
||||||
# Remove executable bit where not needed.
|
# Remove executable bit where not needed.
|
||||||
chmod -x \
|
chmod -x \
|
||||||
%{buildroot}%{python3_sitelib}/optpmap.py \
|
%{buildroot}%{python3_sitelib}/opt{pmap,record}.py \
|
||||||
%{buildroot}%{_datadir}/opt-viewer/style.css \
|
%{buildroot}%{_datadir}/opt-viewer/style.css \
|
||||||
%if %{_plv} == %{_sonum}
|
%if %{_plv} == %{_sonum}
|
||||||
%{buildroot}%{_datadir}/bash-completion/completions/clang \
|
%{buildroot}%{_datadir}/bash-completion/completions/clang \
|
||||||
@ -1618,12 +1636,31 @@ fi
|
|||||||
%{lapply -p man_sonum_path %clang_manfiles}
|
%{lapply -p man_sonum_path %clang_manfiles}
|
||||||
%{lapply -p ghost_ua_man_link %clang_manfiles}
|
%{lapply -p ghost_ua_man_link %clang_manfiles}
|
||||||
|
|
||||||
%dir %{_libdir}/clang/
|
%dir %{_libdir}/clang
|
||||||
%dir %{_libdir}/clang/%{_sonum}/
|
%dir %{_libdir}/clang/%{_sonum}
|
||||||
|
%dir %{_libdir}/clang/%{_sonum}/lib
|
||||||
|
%dir %{_libdir}/clang/%{_sonum}/lib/linux
|
||||||
|
%ifnarch s390x
|
||||||
|
%{_libdir}/clang/%{_sonum}/lib/linux/clang_rt.*.o
|
||||||
|
%endif
|
||||||
|
%{_libdir}/clang/%{_sonum}/lib/linux/libclang_rt.*.a
|
||||||
|
%ifnarch %{ix86}
|
||||||
|
%{_libdir}/clang/%{_sonum}/lib/linux/libclang_rt.*.a.syms
|
||||||
|
%endif
|
||||||
|
%ifarch aarch64 %{arm} ppc64le x86_64
|
||||||
|
%{_libdir}/clang/%{_sonum}/lib/linux/liborc_rt-*.a
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files -n libclang_rt%{_sonum}
|
||||||
|
%license CREDITS.TXT LICENSE.TXT
|
||||||
|
%dir %{_libdir}/clang
|
||||||
|
%dir %{_libdir}/clang/%{_sonum}
|
||||||
%ifarch aarch64 riscv64 x86_64
|
%ifarch aarch64 riscv64 x86_64
|
||||||
%{_libdir}/clang/%{_sonum}/bin
|
%{_libdir}/clang/%{_sonum}/bin
|
||||||
%endif
|
%endif
|
||||||
%{_libdir}/clang/%{_sonum}/lib
|
%dir %{_libdir}/clang/%{_sonum}/lib
|
||||||
|
%dir %{_libdir}/clang/%{_sonum}/lib/linux
|
||||||
|
%{_libdir}/clang/%{_sonum}/lib/linux/libclang_rt.*.so
|
||||||
# The sanitizer runtime is not available for ppc.
|
# The sanitizer runtime is not available for ppc.
|
||||||
%ifnarch ppc
|
%ifnarch ppc
|
||||||
%{_libdir}/clang/%{_sonum}/share
|
%{_libdir}/clang/%{_sonum}/share
|
||||||
|
Loading…
Reference in New Issue
Block a user