Commit graph

62 commits

Author SHA1 Message Date
Nikita Popov
6bae4bb194 Add python-lit, remove patch, change obsoletes version 2024-08-06 09:00:55 +00:00
Nikita Popov
7528637fbe Build against Python 3.12 on RHEL 8
The minimum Python version has been raised to 3.8 in LLVM 19.
2024-08-06 09:00:55 +00:00
Nikita Popov
1bc26ec22c Fix binary lists for compat builds
Explicitly list the lld binaries instead of packaging everything.

Also add missing versioned binaries for llvm-test.
2024-08-06 07:35:18 +00:00
Nikita Popov
494fc9050d There is also an unprefixed llvm-config in the prefixed dir 2024-08-01 15:17:00 +00:00
Nikita Popov
18a2915295 More manpage fixes 2024-08-01 15:17:00 +00:00
Nikita Popov
d8d29f05f2 Remove incorrect compiler-rt conditional 2024-08-01 15:17:00 +00:00
Nikita Popov
6bbd0d3904 Avoid duplicate llvm-config files 2024-08-01 15:17:00 +00:00
Nikita Popov
da4426fa79 Fix manpages 2024-08-01 15:17:00 +00:00
Nikita Popov
ad4939ffd0 Fix some paths 2024-08-01 15:17:00 +00:00
Nikita Popov
4b52059c16 Add libomp compat package support
This is not part of current rawhide sources, but based on libomp17
instead.
2024-08-01 15:17:00 +00:00
Nikita Popov
2d1a77d42a Add versioned macros
From: 1382930328
2024-08-01 15:17:00 +00:00
Nikita Popov
56b99b7123 Port clang changes
From: bec3936967
2024-08-01 15:17:00 +00:00
Nikita Popov
72591dcbcb Disable python-lit and lldb for compat builds 2024-07-30 16:14:11 +00:00
Nikita Popov
26a4e937ba Add llvm-ctxprof-util to file list
Added in https://github.com/llvm/llvm-project/pull/100379.
2024-07-29 09:30:27 +02:00
Nikita Popov
17f99832d1 Ship hwasan_symbolize on riscv64
From: 19722bfcff
2024-07-25 10:52:55 +00:00
Nikita Popov
f330f929b6 Add clang-nvlink-wrapper to file list
Introduced in https://github.com/llvm/llvm-project/pull/96561.

I've added the file to clang-tools-extra, as we also put many
similar binaries like clang-linker-wrapper in there.
2024-07-24 09:26:56 +02:00
Nikita Popov
22b081016d Add python3-lit to big-merge 2024-07-24 07:17:50 +00:00
Nikita Popov
ad51683670 Explicitly list lld libraries
Otherwise we end up shipping liblldb.so and liblldbIntelFeatures.so
as part of lld-libs/lld-devel.
2024-07-19 16:35:15 +00:00
Nikita Popov
d271547ac2 Don't use wildcard for lld binaries
Otherwise we'll also ship lldb. Instead explicitly list lld and
lld-link.
2024-07-17 14:24:59 +02:00
Nikita Popov
4a3b0b3b90 Only ship libclang* in clang-libs
Previously we were also shipping libLLVM* and libLLD*.
2024-07-08 11:19:40 +02:00
Tulio Magno Quites Machado Filho
9070ddbbbb Add subpackage llvm-toolset
Related: RHEL-45729
2024-07-03 09:28:39 -03:00
Konrad Kleine
26fc541eba Merge #234 DRAFT: Add lldb to big-merge 2024-07-03 11:06:19 +00:00
Nikita Popov
3f1eb51952 Only put libLLVM*.a into llvm-static
Currently we also accidentally ship libomptarget.devicertl.a.
2024-07-03 11:30:09 +02:00
Konrad Kleine
393325cce1 Include liblldb*.so in %files
See
https://src.fedoraproject.org/rpms/llvm/pull-request/234#comment-206914
2024-07-02 21:29:41 +00:00
Konrad Kleine
f7fcef719f Add lldb to big-merge
See https://github.com/fedora-llvm-team/llvm-snapshots/issues/573
2024-07-02 16:45:48 +02:00
Tom Stellard
f6b64e7c77 Add directory ownership for libomp cmake dir 2024-06-25 10:37:36 +00:00
Nikita Popov
c5be72cd34 Ship .ninja_log in llvm-build-stats package
This should make it easier to analyze which parts of the build
are slow. The new package is only available in snapshot builds,
we don't want to ship it in production.
2024-05-31 16:41:44 +02:00
Nikita Popov
c1ee2896c0 Remove 32-bit arm related conditionals
32-bit ARM hasn't been supported for quite a while, remove the
related conditions. This has already happened for the non-big-merge
branches.
2024-05-30 10:23:13 +02:00
Nikita Popov
13cd3ecc2e Add new reduce-chunk-list binary
Added in https://github.com/llvm/llvm-project/pull/89470.
2024-05-29 11:24:03 +02:00
Nikita Popov
3e8f8bf09f Exclude hwasan_symbolize on i686 2024-05-28 16:01:28 +02:00
Nikita Popov
4f3c9f6743 Add i686 -> i386 compiler-rt symlink
This ports the change from https://src.fedoraproject.org/rpms/compiler-rt/pull-request/67
to big-merge, which is a bit more complicated here due to the
explicit file lists.

By default compiler_rt_triple is the same as llvm_triple. For x86
it is i386-redhat-linux-gnu instead, with a symlink to the
llvm_triple i686-redhat-linux-gnu.

And then the file list also needs to ship that symlink.
2024-05-28 15:57:25 +02:00
Nikita Popov
076286ee98 Remove fedora 38 related workarounds
This chroot is no longer supported on copr.
2024-05-28 08:36:49 +02:00
Nikita Popov
bdef5bb591 More fixes for file lists
Fix these errors on s390x by excluding the files on that arch:

    File not found: /builddir/build/BUILDROOT/llvm-19.0.0~pre20240526.gc87a7b3bdb6737-1.fc41.s390x/usr/lib/clang/19/lib/s390x-redhat-linux-gnu/clang_rt.crtbegin.o
    File not found: /builddir/build/BUILDROOT/llvm-19.0.0~pre20240526.gc87a7b3bdb6737-1.fc41.s390x/usr/lib/clang/19/lib/s390x-redhat-linux-gnu/clang_rt.crtend.o
    File not found: /builddir/build/BUILDROOT/llvm-19.0.0~pre20240526.gc87a7b3bdb6737-1.fc41.s390x/usr/lib/clang/19/lib/s390x-redhat-linux-gnu/liborc_rt.a

Fix this error on i686 by explicitly creating the directory.
This matches what the implementation did pre-big-merge. I think
we do want to keep this directory structure consistent across all
arches.

    Directory not found: /builddir/build/BUILDROOT/llvm-19.0.0~pre20240526.gc87a7b3bdb6737-1.fc41.i386/usr/lib/clang/19/bin
2024-05-27 09:05:05 +02:00
Nikita Popov
e0a9a93370 Use wildcard for sanitizer ignore/abi lists
The list of supported sanitizers differs per target, and depending
on that some of these files may or may not be present. Use a
wildcard rather than explicitly listing this out.
2024-05-22 09:23:29 +02:00
Nikita Popov
18588fefc1 Use wildcard for libclang_rt libraries
https://github.com/llvm/llvm-project/pull/92456 added a new
libclang_rt.ctx_profile.a library.

Given that these all have a fixed prefix, I think it's fine to
use a wildcard for them instead of explicitly listing them.
2024-05-20 06:49:48 +02:00
Konrad Kleine
e2c0dad901 Fixup File listed twice warning:
This is a fixup for 66fec669b9.

This fixes these RPM build warnings about cmake files being listed twice.

```
RPM build warnings:
    File listed twice: /usr/lib64/cmake/clang/AddClang.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangConfig.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangConfigVersion.cmake
    File listed twice:
/usr/lib64/cmake/clang/ClangTargets-relwithdebinfo.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangTargets.cmake
/usr/share/clang/clang-format-ddiff.py
    File listed twice: /usr/lib64/cmake/clang/AddClang.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangConfig.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangConfigVersion.cmake
    File listed twice:
/usr/lib64/cmake/clang/ClangTargets-relwithdebinfo.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangTargets.cmake
/usr/share/clang/clang-format-diff.py
```
2024-05-17 08:46:08 +00:00
Konrad Kleine
66fec669b9 Avoid listing files twice
This should solve this warning:

```
RPM build warnings:
    File listed twice: /usr/lib64/cmake/clang/AddClang.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangConfig.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangConfigVersion.cmake
    File listed twice:
/usr/lib64/cmake/clang/ClangTargets-relwithdebinfo.cmake
    File listed twice: /usr/lib64/cmake/clang/ClangTargets.cmake
    absolute symlink: /usr/bin/clang-format-diff ->
/usr/share/clang/clang-format-diff.py
    File listed twice:
/usr/lib/clang/19/include/fuzzer/FuzzedDataProvider.h
    File listed twice: /usr/lib/clang/19/include/orc/c_api.h
    File listed twice:
/usr/lib/clang/19/include/profile/InstrProfData.inc
    File listed twice:
/usr/lib/clang/19/include/profile/instr_prof_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/allocator_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/asan_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/common_interface_defs.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/coverage_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/dfsan_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/hwasan_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/linux_syscall_hooks.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/lsan_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/memprof_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/msan_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/netbsd_syscall_hooks.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/scudo_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/tsan_interface.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/tsan_interface_atomic.h
    File listed twice:
/usr/lib/clang/19/include/sanitizer/ubsan_interface.h
    File listed twice: /usr/lib/clang/19/include/xray/xray_interface.h
    File listed twice:
/usr/lib/clang/19/include/xray/xray_log_interface.h
    File listed twice: /usr/lib/clang/19/include/xray/xray_records.h
    File listed twice: /usr/lib/clang/19/share/asan_ignorelist.txt
    File listed twice: /usr/lib/clang/19/share/cfi_ignorelist.txt
```
2024-05-16 14:03:39 +00:00
Konrad Kleine
25d4d7c570 List compiler-rt files
Before I've used `%ifnarch` in the `<FILE>` included with `%files -f <FILE>`.
This produced this error:

```
RPM build errors:
    File must begin with "/": %ifnarch
    File must begin with "/": i386
    File must begin with "/": i486
    File must begin with "/": i586
    File must begin with "/": i686
    File must begin with "/": pentium3
    File must begin with "/": pentium4
    File must begin with "/": athlon
    File must begin with "/": geode
    File must begin with "/": %endif
```

We can optimize this at any point in time later.
2024-05-15 14:44:58 +00:00
Konrad Kleine
169d5a1490 Add triple prefix to clang config files
See https://src.fedoraproject.org/rpms/clang/pull-request/240
2024-05-15 13:02:24 +00:00
Konrad Kleine
e49125cc6b Remove OMP SOs
The SOs are no longer installed since this commit:
fa9e90f5d2
2024-05-15 11:41:32 +00:00
Konrad Kleine
7c6032138e Fix path to files.compiler-rt.spec.inc 2024-05-13 16:35:09 +00:00
Konrad Kleine
384964f66e Remove package libomp-tools
We don't want to package it for RHEL, so we remove it here as well.
2024-05-13 13:05:51 +00:00
Konrad Kleine
2cced93770 Leave note for lld compat packaging 2024-05-13 12:51:15 +00:00
Konrad Kleine
867ae19009 Manually associate files with compiler-rt 2024-05-13 12:41:51 +00:00
Konrad Kleine
fcda275cab Add cmake files explicitly to clang-devel 2024-05-10 12:31:45 +00:00
Konrad Kleine
9b0d37e0c6 Add *.so libraries explicitly for clang-devel
We had too many `*.so` libraries added to the `clang-devel` package.

Before we've added these implicitly by accident:

```
/usr/lib64/libLLVM.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/libLTO.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/libRemarks.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/libclang-cpp.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/libclang.so.19.0.0pre20240509.g943617d12ccbd3
/usr/lib64/libclang.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/liblldCOFF.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/liblldCommon.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/liblldELF.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/liblldMachO.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/liblldMinGW.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/liblldWasm.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/libomptarget.rtl.amdgpu.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/libomptarget.rtl.cuda.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/libomptarget.rtl.host.so.19.0pre20240509.g943617d12ccbd3
/usr/lib64/libomptarget.so.19.0pre20240509.g943617d12ccbd3
```

And now we're adding just these because these are the ones that used to
exist within the clang-devel package when it was still being built in
standalone mode:

```
/usr/lib64/libclang-cpp.so
/usr/lib64/libclang.so
```
2024-05-10 10:38:37 +00:00
Konrad Kleine
0997a36a3a Add /usr/share/man/man1/extraclangtools.1.gz to clang-tools-extra 2024-05-10 06:08:45 +00:00
Konrad Kleine
8eb23462f5 List %license for each sub-package 2024-05-10 06:05:31 +00:00
Konrad Kleine
3072120e09 Add libomp-tools package
This is to host these files which were installed but previously went
unpackaged:

```
/usr/bin/llvm-omp-device-info
/usr/bin/llvm-omp-kernel-replay
```
2024-05-10 05:56:15 +00:00
Konrad Kleine
53956c69e3 Manually list binaries and manpages files for the llvm package 2024-05-08 13:26:40 +00:00