Compare commits

...

No commits in common. "devel" and "devel" have entirely different histories.
devel ... devel

2 changed files with 69 additions and 11 deletions

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Tue Sep 3 13:30:40 UTC 2024 - Martin Liška <martin.liska@hey.com>
- Enable zstd compression support again.
-------------------------------------------------------------------
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>

View File

@ -440,6 +440,7 @@ BuildRequires: pkgconfig
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
BuildRequires: python3-base BuildRequires: python3-base
BuildRequires: pkgconfig(libedit) BuildRequires: pkgconfig(libedit)
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zlib)
Requires(post): update-alternatives Requires(post): update-alternatives
Requires(postun): update-alternatives Requires(postun): update-alternatives
@ -531,6 +532,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 +545,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++
@ -770,6 +781,7 @@ BuildRequires: pkgconfig
BuildRequires: pkgconfig(libedit) BuildRequires: pkgconfig(libedit)
BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(panel) BuildRequires: pkgconfig(panel)
BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(python3)
@ -1009,7 +1021,6 @@ avail_mem=$(awk '/MemAvailable/ { print $2 }' /proc/meminfo)
-DLLVM_BUILD_UTILS:BOOL=OFF \ -DLLVM_BUILD_UTILS:BOOL=OFF \
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \ -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
-DLLVM_BUILD_RUNTIME:BOOL=OFF \ -DLLVM_BUILD_RUNTIME:BOOL=OFF \
-DLLVM_ENABLE_ZSTD:BOOL=OFF \
-DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD:BOOL=OFF \ -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD:BOOL=OFF \
-DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF \ -DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF \
-DLLVM_INCLUDE_TESTS:BOOL=OFF \ -DLLVM_INCLUDE_TESTS:BOOL=OFF \
@ -1103,7 +1114,6 @@ export LD_LIBRARY_PATH=%{sourcedir}/build/%{_lib}
-DLLVM_ENABLE_PIC=ON \ -DLLVM_ENABLE_PIC=ON \
-DLLVM_BINUTILS_INCDIR=%{_includedir} \ -DLLVM_BINUTILS_INCDIR=%{_includedir} \
-DPython3_EXECUTABLE=%{_bindir}/python3 \ -DPython3_EXECUTABLE=%{_bindir}/python3 \
-DLLVM_ENABLE_ZSTD:BOOL=OFF \
-DLLVM_TARGETS_TO_BUILD=%{llvm_targets} \ -DLLVM_TARGETS_TO_BUILD=%{llvm_targets} \
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=%{llvm_experimental_targets} \ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=%{llvm_experimental_targets} \
-DLLVM_TOOL_LLVM_EXEGESIS_BUILD:BOOL=OFF \ -DLLVM_TOOL_LLVM_EXEGESIS_BUILD:BOOL=OFF \
@ -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