Ensure the versioned llvm-config alternative gets removed during major
upgrades of the non-compat package.
Also add code that removes the versioned llvm-config alternatives of
the previous 3 LLVM versions. These versions didn't remove their own
versioned llvm-config alternative, leading to broken output, e.g.
llvm-config-16 points to llvm-config-64 from LLVM 17.
* %check: export LD_LIBRARY_PATH because runtimes use external cmake projects that wouldn't find libclang++.so
* %check: use LLVM's LIT_XFAIL to mark tests that are expected to fail and don't just delete them
* clang: bring over *.patch files
* clang: remove build requires tags from clang package that are already defined by main llvm package
* clang: remove duplicates found in llvm globals and use %{pkg_datadir} instead of %{install_datadir}
* clang: rename and use pkg_name -> pkg_name_clang
* clang: use %{pkg_name_clang} instead of %{name}
* compiler-rt and libomp: wrap in %if %{without compat_build}
* libomp: also build libomp for s390x (See https://github.com/llvm/llvm-project/pull/66081)
* libomp: exclude libomp-devel on s390x just like libomp itself
* libomp: introduce pkg_name_libomp and cleanup the globals
* libomp: remove gdb-plugin (NEED TO CONFIRM IF THIS IS REALLY TRUE)
* libomp: filter out flaky libomp test: ompt/teams/distribute_dispatch.c
* llvm: add BuildRequires: graphviz to llvm-doc
* llvm: use %{pkg_name_llvm} instead of %{name}
* make: added temporary Makefile so I can more easily run srpm or rpm builds locally
* make: Added local-tmt-vm target (not really useful yet)
* rpm: for non-RHEL add prefix like "Jan 05 16:17:06" to every log line This should help in finding out how long things take to build/install/...
* rpm: fully specify %files for top-level packages
* rpm: make all packages fully qualified
* rpm: obsolete llvm-snapshot-builder
* rpm: remove BuildRequires: python3-lit because we have it in-tree
* rpm: remove BuildRequires: tags for clang and llvm specifics as we're building in-tree
* rpm: rename %llvm_srcdir -> %srcdir_llvm
* rpm: rename %pkg_name -> %pkg_name_llvm
* rpm: use full qualified name in %description
* rpm: use region comments in spec file to group by package. This allows editors to fold text to get a better overview
* rpmlint: update rc file to reflect clang and compiler-rt (libomp has no rpmlint rc file)
* use python-lit from within tree
Increase verbosity for %autosetup
Modified patch so it cleanly applies
Renaming man pages is no longer needed
Fix this error:
mv /builddir/build/BUILDROOT/llvm-13.0.0~pre20210427.gd122d80b3d1c3f-1.fc35.x86_64/usr/share/man/man1/clang-tblgen.1 /builddir/build/BUILDROOT/llvm-13.0.0~pre20210427.gd122d80b3d1c3f-1.fc35.x86_64/usr/share/man/man1/lldb-tblgen.1 /builddir/build/BUILDROOT/llvm-13.0.0~pre20210427.gd122d80b3d1c3f-1.fc35.x86_64/usr/share/man/man1/llvm-tblgen.1 /builddir/build/BUILDROOT/llvm-13.0.0~pre20210427.gd122d80b3d1c3f-1.fc35.x86_64/usr/share/man/man1/mlir-tblgen.1 /builddir/build/BUILDROOT/llvm-13.0.0~pre20210427.gd122d80b3d1c3f-1.fc35.x86_64/usr/share/man/man1/tblgen.1 /builddir/build/BUILDROOT/llvm-13.0.0~pre20210427.gd122d80b3d1c3f-1.fc35.x86_64/usr/share/man/man1/llvm-tblgen.1
mv: target '/builddir/build/BUILDROOT/llvm-13.0.0~pre20210427.gd122d80b3d1c3f-1.fc35.x86_64/usr/share/man/man1/llvm-tblgen.1' is not a directory
Add entry for changelog when building a snapshot
Reset 0001-PATCH-llvm-Make-source-interleave-prefix-test-case-c.patch because it is not applicable to LLVM 12
Moved BuildRequires: python3-psutil out in PR
See https://src.fedoraproject.org/rpms/llvm/pull-request/91
Make download path for snapshot sources-easily adjustable
Added cmake subpackage with shared cmake files
Install cmake files into /usr/lib64/cmake/llvm with the llvm-devel pkg
to address following error:
```
error: %changelog not in descending chronological order
```
when preparing the rpm, rpm warns at seeing the changelog entry not
in descending chronological order. so "fix" it.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Installation path macros cannot be used to reference the location of
dependencies. In the case of flatpak builds, this breaks because
alternatives is part of the runtime and python3-sphinx is from the
buildroot and both therefore remains in /usr, even as llvmNN is built
in /app.
Ensure the versioned llvm-config alternative gets removed during major
upgrades of the non-compat package.
Also add code that removes the versioned llvm-config alternatives of
the previous 3 LLVM versions. These versions didn't remove their own
versioned llvm-config alternative, leading to broken output, e.g.
llvm-config-16 points to llvm-config-64 from LLVM 17.
This location is hard-coded by glibc and is not prefix-variable. This
fixes flatpak app RPM builds of clang15 and packages dependent thereon
(e.g. openshadinglanguage). Flatpaks using these packages will still
need to define LD_LIBRARY_PATH.
This is needed if the compat build is produced for an rc version,
which I'm currently trying to do to fix snapshot builds.
I don't see a reason why this bit should be omitted for snapshot
builds.
This is also a squashed merge commit from upstream-snapshot (commit ID
340b9e8ea3) into rawhide whose most important commits from
upstream-snapshot are:
Konrad Kleine (50):
Prepare for snapshot build
Fix RPM build errors: File not found: /builddir/build/BUILDROOT/llvm-14.0.0~pre20211103.g1febf42f03f664-1.fc34.x86_64/usr/lib64/libLLVM-14.so
Added back patch file
Rebased with new patches from rawhide that weren't yet in the streamline branch
Fix RPM build errors: File not found: /builddir/build/BUILDROOT/llvm-14.0.0~pre20211103.g1febf42f03f664-1.fc34.x86_64/usr/lib64/libLLVM-14.so
Disable LTO for anything older than Fedora 34
Use llvm_snapshot_version_suffix
Remove patch for https://reviews.llvm.org/D108332 which is already upstream
Only package cmake-devel when building a snapshot package and when NOT building in compat mode
Fix RPM build
Fix Macro expanded in comment on line 586: %{_libdir}/libLLVM-%{maj_ver}
Fix rpm build warning/error: absolute symlink
Default to DWARF4
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Rebased patched on pagure/streamline
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Added 0004-PATCH-clang-Revert-cmake-Don-t-install-plugins-used-.patch
Revert "Added 0004-PATCH-clang-Revert-cmake-Don-t-install-plugins-used-.patch"
Workaround linker error: memory exhausted
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Added pgo_instrumented_build cmake args
Fix /usr/bin/ld: cannot find /usr/lib64/clang/13.0.0/lib/linux/libclang_rt.profile-x86_64.a: No such file or directory
Move bcond in cmake down in case we want to override stuff
Make llvm use the llvm-snapshot-builder as well
Use %{llvm_snapshot_extra_source_tags} macro
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Patch renewal from rebased llvm-project pagure/streamline branch
Try to lock llvm* and clang* packages so that we don't install LLVM from a previous copr build
Revert "Try to lock llvm* and clang* packages so that we don't install LLVM from a previous copr build"
Rebase onto pagure/main
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
use llvm+cmake tarballs instead of big llvm-project and close unclosed %if
Fixup: clang->cmake
Move globals down for them to be expanded correctly
Fix merge issue with patch
Test without some patches
Compiles and installs again
Adapt to standalone third-party dir
bring back files to llvm-googletest package
fixing path to unittest
Manually add https://reviews.llvm.org/D137890
Add missing patch files
Apply patchfiles independently for llvm and third-party dir
List third-party gmock/gtest files in install
Merge remote-tracking branch 'origin/rawhide' into upstream-snapshot
Re-enable patches for gtest
Disable LTO to speed up builds
Added libLLVMTestingAnnotations.a to googletest subpackage
Merge remote-tracking branch 'origin/rawhide' into upstream-snapshot
Nikita Popov (1):
Sync with rawhide
Tom Stellard (13):
Add patch to fix some lit test failures
Revert "Add patch to fix some lit test failures"
Add a patch from main branch to fix some lit tests
Revert "Add a patch from main branch to fix some lit tests"
Remove patch applied upstream
Remove another upstreamed patch
Add llvm-googletest dependency to llvm-devel
Add JITLink patch to fix clang failures on aarch64 with libgcc-13
Revert "Add JITLink patch to fix clang failures on aarch64 with libgcc-13"
Fix a test failure on s390x
Revert "Fix a test failure on s390x"
copr: Install llvm-snapshot-builder from the local COPR project
Sync with rawhide
sergesanspaille (1):
Rebase downstream patches
While the current implementation works on Fedora, on c9s/rhel
the CFLAGS haven't been set at this point yet, so we are missing
the -fcfprotection flag in ASMFLAGS. Using build_cflags avoids
this ordering problem.
Additionally, add -Wl,-z,cet-report=error to the libLLVM.so linker
flags, so we can detect such issues earlier in the future.
We currently spend a lot of time performing LTO on unit tests,
which is largely wasted effort. We can't disable LTO entirely,
because we don't have fat objects, but at least we can disable
post-link optimization.
For my local build, this reduces time in %build by about 30%.
Backport a patch from LLVM 17 that improves error messages from the
Clang assembler on s390x.
Also, disable LLVM_UNREACHABLE_OPTIMIZE in order to improve error
messages when llvm_unreachable() is called. There are many cases where
llvm_unreachable() is used as a error reporting function instead of the
recommended replacement for assert().
Fixes rhbz#2216906.