Commit graph

833 commits

Author SHA1 Message Date
Nikita Popov
10f88a7d35 Only disable rpath during installation
We currently disable rpath during both build and install. Instead,
we use LD_LIBRARY_PATH to allow the built clang to find the
libLLVM.so etc objects.

However, this does not work well if the system clang and the
clang being built have the same version. During the build, we
use both the system clang and the just-built clang, and they
need to use the system and just-built shared objects respectively.
However, use of LD_LIBRARY_PATH causes us to always use the
just-built objects as long as the versions match.

This is a problem in two scenarios: When building compat packages
for the current system LLVM version, we mix system clang with
compat libraries, which assume different paths. And when building
release candidates, a build using a previous rc of a newer rc
may use ABI-incompatible objects, because we don't version sonames
on rc versions.

Fix this by keeping the rpath during the build and only stripping
it on installation using the CMAKE_SKIP_INSTALL_RPATH option.
For manually installed binaries, we need to also manually strip
the rpath using chrpath.

This way system clang will use system libraries, and just-built
clang will use just-built libraries.
2024-10-08 16:30:46 +02:00
Konrad Kleine
4f254e51b9 Add "Cleanup CMake arguments" commit to blame ignore list 2024-10-07 20:10:45 +00:00
Konrad Kleine
485e5ec719 Cleanup CMake arguments
Before we had a very long list of CMake arguments.

There was no room for annotation through comments. Now we have a new
global called `%cmake_config_args` that one can append to.

I've created these `#regions` to group the options for each sub-project:

```
  #region clang options
  #region compiler-rt options
  #region docs options
  #region lldb options
  #region llvm options
  #region openmp options
  #region test options
  #region misc options
```
2024-10-07 20:10:45 +00:00
Maxwell G
a11e4ffa4e Add 'Provides: clangd' to the clang-tools-extra subpackage 2024-10-07 14:51:54 -03:00
Nikita Popov
b7ae7ced72 Add tasking/issue-69733.c to flaky test list
This spurious failure has been observed both on aarch64 in fedora
rawhide koji and on ppc64le in c10s koji.

I've filed an upstream issue to track this here:
https://github.com/llvm/llvm-project/issues/111140
2024-10-04 14:27:27 +02:00
Nikita Popov
836ee0844f Add provides for libomp(major) and libomp-devel(major)
Forward-port from
https://src.fedoraproject.org/rpms/libomp18/pull-request/1.
2024-10-04 09:50:27 +02:00
Konrad Kleine
4251de274b Add #region #endregion comments
Each `#region XY` now has an `#endregion XY` instead of just
`#endregion`. This is optional and `XY` does not have to be repeated for
the "system" to work but it makes working with regions a bit more
convenient.

```
  #region globals...

  #region packages...

  #region prep...

  #region build...

  #region install...

  #region check...

  #region misc...

  #region files...

  #region changelog...
```
2024-10-02 13:28:19 +00:00
Konrad Kleine
031f5fb3e8 Add changelog entry for 19.1.0 update 2024-10-02 13:14:36 +00:00
Konrad Kleine
f5ae12659d Copy over %changelog from b6b17b013e 2024-10-02 13:03:46 +00:00
Konrad Kleine
6da4543be7 Remove %llvm_snapshot_changelog_entry 2024-10-02 13:03:46 +00:00
Konrad Kleine
ffcc9eb8ec Add .git-blame-ignore-revs
When merging the `*.spec.inc` files into `llvm.spec` this became
necessary to preserve git history on llvm.spec.
2024-10-02 11:28:12 +00:00
Konrad Kleine
9984e82c50 Merge *.spec.inc files into llvm.spec
This commit should be listed in .git-blame-ignore-revs because it moved
the content of the files untouched into llvm.spec.
2024-10-02 11:27:32 +00:00
Nikita Popov
3b5b15045a Pass --with=snapshot_build in copr Makefile
We now no longer default to this in the spec file, so pass it
explicitly on copr.
2024-09-30 08:38:00 +00:00
Konrad Kleine
630d2eb2b0 Disable snapshots by default
Since https://github.com/fedora-llvm-team/llvm-snapshots/pull/754 all
build chroots on Copr that are used for snapshot building will have
`--with=snapshot_build` set.

This addresses the concern [1] that Copr specific conditionals are
discouraged if not forbidden in spec files.

[1]: https://src.fedoraproject.org/rpms/llvm/pull-request/301#comment-221782
2024-09-30 08:37:45 +00:00
Nikita Popov
870cda1c16 Rebase RHEL myst_parser patch 2024-09-30 08:37:29 +00:00
Nikita Popov
388a193671 Remove clang-pseudo
Removed in https://github.com/llvm/llvm-project/pull/109154.
2024-09-24 09:19:20 +00:00
Nikita Popov
3cc5391899 Remove clang-rename
Removed in https://github.com/llvm/llvm-project/pull/108988.
2024-09-20 09:53:54 +00:00
Nikita Popov
6a1cad7583 Make rawhide compatible with snapshot builds 2024-09-20 09:53:42 +00:00
Timm Bäder
044ebc813c Update to 19.1.0 2024-09-19 08:12:14 +02:00
Jesus Checa Hidalgo
67a3a59abb Require rpmdeplint gating test only in rawhide
The test is run by CI only in rawhide. Requiring it in
all fedora branches will cause that all bodhi updates get
stuck due to the required test being absent.
2024-09-12 14:14:47 +00:00
Timm Bäder
b7d0012532 Add parallel/bug631976.c to XFAIL
This tests spuriously fails on various arches.
2024-09-11 17:00:16 +02:00
Timm Bäder
59804f548d Merge branch 'big-merge-merge' into rawhide 2024-09-10 11:49:34 +02:00
Nikita Popov
8acb0895c6 Remove distribution cmake files
These files are unused, presumably left over from a previous
experiment.
2024-09-10 11:47:26 +02:00
Timm Bäder
53aa1f8750 Update to rc4 2024-09-05 08:51:24 +02:00
Nikita Popov
a4d77d580f Fix libscanbuild/libear location
https://github.com/llvm/llvm-project/pull/106612 moved these
from lib64 to lib, so look for them there.
2024-09-04 11:56:20 +02:00
Nikita Popov
ad9f519879 Add support for bundle_compat_lib 2024-09-03 08:20:41 +02:00
Nikita Popov
5218c9a2fb Add compiler-rt patch for RHEL 8 page sizes
RHEL 8 uses different page sizes, and we need to patch the CFI
implementation to use those.
2024-09-03 08:20:32 +02:00
Nikita Popov
3f9db5634a Disable LLVM_UNREACHABLE_OPTIMIZE
This was needed at some point to prevent an assertion failure,
but shouldn't be relevant anymore.
2024-09-03 08:19:57 +02:00
Nikita Popov
4866c39eb7 Remove unnecessary Requires on python3-six
python3.12-six is not available on RHEL 8, so this breaks installation
of the package.

The dependency is no longer needed since:
5ed6d99a83
2024-09-03 08:19:47 +02:00
Nikita Popov
05f7af9c0d Add python-lit, remove patch, change obsoletes version 2024-09-03 08:19:37 +02:00
Nikita Popov
a20000fbc7 Build against Python 3.12 on RHEL 8
The minimum Python version has been raised to 3.8 in LLVM 19.
2024-09-03 08:19:05 +02:00
Nikita Popov
823d6b3e92 Fix binary lists for compat builds
Explicitly list the lld binaries instead of packaging everything.

Also add missing versioned binaries for llvm-test.
2024-09-03 08:16:47 +02:00
Nikita Popov
7b14d8acaa Move manpage logic to the right place
This was not supposed to be inside a compat build conditional.
2024-09-03 08:16:40 +02:00
Nikita Popov
bf12d461f1 Remove static lldb library removal
It doesn't seem like this is necessary. The static libraries do
not get installed.
2024-09-03 08:16:35 +02:00
Nikita Popov
468da93677 Remove six removal
This is already gone upstream since:
5ed6d99a83
2024-09-03 08:16:25 +02:00
Nikita Popov
ee476f9583 Move post/postun out of install.spec
These start new sections and the following code is no longer
executed as part of %install.
2024-09-03 08:16:16 +02:00
Nikita Popov
082429fcd5 There is also an unprefixed llvm-config in the prefixed dir 2024-09-03 08:15:36 +02:00
Nikita Popov
4abb11c7c7 More manpage fixes 2024-09-03 08:15:28 +02:00
Nikita Popov
640fcf8070 Fix some removals 2024-09-03 08:15:20 +02:00
Nikita Popov
4d9f2d0c22 Remove incorrect compiler-rt conditional 2024-09-03 08:15:13 +02:00
Nikita Popov
396ce413c4 Fix libomp libdir 2024-09-03 08:15:08 +02:00
Nikita Popov
fb09e28335 Move llvm-config handling 2024-09-03 08:15:00 +02:00
Nikita Popov
b99883cb6f Fix binary symlinks 2024-09-03 08:14:54 +02:00
Nikita Popov
e481d54052 Fix name of macros file 2024-09-03 08:14:48 +02:00
Nikita Popov
1fc607d3b7 Fix inverted resource dir condition 2024-09-03 08:14:43 +02:00
Nikita Popov
a9bfa39083 Avoid duplicate llvm-config files 2024-09-03 08:14:34 +02:00
Nikita Popov
f18108da40 Fix manpages 2024-09-03 08:14:29 +02:00
Nikita Popov
8fe6e008ba Fix prep 2024-09-03 08:14:23 +02:00
Nikita Popov
1434c4a0c2 Fix some paths 2024-09-03 08:14:12 +02:00
Nikita Popov
1ad15a1548 Don't try to create versioned symlinks multiple times 2024-09-03 08:14:05 +02:00