diff --git a/cstdint.patch b/cstdint.patch new file mode 100644 index 0000000..272e11c --- /dev/null +++ b/cstdint.patch @@ -0,0 +1,44 @@ +diff -ruN llvm18-18.1.8-build.orig/llvm-18.1.8.src/include/llvm/ADT/SmallVector.h llvm18-18.1.8-build/llvm-18.1.8.src/include/llvm/ADT/SmallVector.h +--- llvm18-18.1.8-build.orig/llvm-18.1.8.src/include/llvm/ADT/SmallVector.h 2024-06-15 19:21:32.000000000 +0200 ++++ llvm18-18.1.8-build/llvm-18.1.8.src/include/llvm/ADT/SmallVector.h 2025-01-20 11:16:51.376050420 +0100 +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff -ruN llvm18-18.1.8-build.orig/llvm-18.1.8.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h llvm18-18.1.8-build/llvm-18.1.8.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h +--- llvm18-18.1.8-build.orig/llvm-18.1.8.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h 2024-06-15 19:21:32.000000000 +0200 ++++ llvm18-18.1.8-build/llvm-18.1.8.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h 2025-01-20 13:59:46.883931619 +0100 +@@ -16,6 +16,7 @@ + #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H + + #include ++#include + + namespace llvm { + class Target; +diff -ruN llvm18-18.1.8-build.orig/llvm-18.1.8.src/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h llvm18-18.1.8-build/llvm-18.1.8.src/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h +--- llvm18-18.1.8-build.orig/llvm-18.1.8.src/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h 2024-06-15 19:21:32.000000000 +0200 ++++ llvm18-18.1.8-build/llvm-18.1.8.src/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h 2025-01-20 13:27:17.844538342 +0100 +@@ -15,6 +15,7 @@ + + #include + #include ++#include + + namespace llvm { + class formatted_raw_ostream; +diff -ruN llvm18-18.1.8-build.orig/llvm-18.1.8.src/utils/TableGen/RegisterInfoEmitter.cpp llvm18-18.1.8-build/llvm-18.1.8.src/utils/TableGen/RegisterInfoEmitter.cpp +--- llvm18-18.1.8-build.orig/llvm-18.1.8.src/utils/TableGen/RegisterInfoEmitter.cpp 2024-06-15 19:21:32.000000000 +0200 ++++ llvm18-18.1.8-build/llvm-18.1.8.src/utils/TableGen/RegisterInfoEmitter.cpp 2025-01-20 14:38:02.042933335 +0100 +@@ -115,6 +115,7 @@ + OS << "\n#ifdef GET_REGINFO_ENUM\n"; + OS << "#undef GET_REGINFO_ENUM\n\n"; + ++ OS << "#include \n"; + OS << "namespace llvm {\n\n"; + + OS << "class MCRegisterClass;\n" diff --git a/llvm15.spec b/llvm15.spec index 3e8e0ce..2c6b5b0 100644 --- a/llvm15.spec +++ b/llvm15.spec @@ -6,6 +6,9 @@ # https://bugzilla.redhat.com/show_bug.cgi?id=2158587 %undefine _include_frame_pointers +# Resolves clang15 linking issues +%global _lto_cflags %nil + # Components enabled if supported by target architecture: %define gold_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x %ifarch %{gold_arches} @@ -23,7 +26,7 @@ %global patch_ver 7 %global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src %global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src -%global _lto_cflags -flto=thin +#%%global _lto_cflags -flto=thin %if %{with compat_build} %global pkg_name llvm%{maj_ver} @@ -74,7 +77,7 @@ Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}} -Release: 4%{?dist} +Release: 14%{?dist} Summary: The Low Level Virtual Machine License: Apache-2.0 WITH LLVM-exception OR NCSA @@ -85,6 +88,8 @@ Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig Source4: release-keys.asc +Patch1: tests-Python-3.13-compat.patch + %if %{without compat_build} Source5: run-lit-tests Source6: lit.fedora.cfg.py @@ -96,6 +101,9 @@ Patch2: 0003-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch # TODO: Can be dropped for LLVM 16, see https://reviews.llvm.org/D131282. Patch3: 0001-Install-clang-tblgen.patch +# Missing cstdint includes +Patch4: cstdint.patch + BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: clang @@ -154,8 +162,8 @@ Requires: %{name}-test%{?_isa} = %{version}-%{release} %endif -Requires(post): %{_sbindir}/alternatives -Requires(postun): %{_sbindir}/alternatives +Requires(post): /usr/sbin/alternatives +Requires(postun): /usr/sbin/alternatives Provides: llvm-devel(major) = %{maj_ver} @@ -177,6 +185,9 @@ Summary: LLVM shared libraries %description libs Shared libraries for the LLVM compiler infrastructure. +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + %package static Summary: LLVM static libraries Conflicts: %{name}-devel < 8 @@ -297,7 +308,7 @@ export ASMFLAGS=$CFLAGS -DSPHINX_WARNINGS_AS_ERRORS=OFF \ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ -DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \ - -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \ + -DSPHINX_EXECUTABLE=/usr/bin/sphinx-build-3 \ -DLLVM_INCLUDE_BENCHMARKS=OFF # Build libLLVM.so first. This ensures that when libLLVM.so is linking, there @@ -372,8 +383,8 @@ ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm- %multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h # Create ld.so.conf.d entry -mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d -cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf << EOF +mkdir -p %{buildroot}/etc/ld.so.conf.d +cat >> %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf << EOF %{pkg_libdir} EOF @@ -451,19 +462,26 @@ LD_LIBRARY_PATH=%{buildroot}/%{pkg_libdir} \ %endif -%ldconfig_scriptlets libs +%if %{with compat_build} +# Packages that install files in /etc/ld.so.conf have to manually run +# ldconfig. +# See https://bugzilla.redhat.com/show_bug.cgi?id=2001328 and +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_linker_configuration_files +%post -p /sbin/ldconfig libs +%postun -p /sbin/ldconfig libs +%endif %post devel -%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits} +/usr/sbin/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits} %if %{without compat_build} -%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits} +/usr/sbin/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits} %endif %postun devel if [ $1 -eq 0 ]; then - %{_sbindir}/update-alternatives --remove llvm-config%{exec_suffix} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} + /usr/sbin/update-alternatives --remove llvm-config%{exec_suffix} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %if %{without compat_build} - %{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} + /usr/sbin/update-alternatives --remove llvm-config-%{maj_ver} %{pkg_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %endif fi @@ -501,7 +519,7 @@ fi %{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so %{_libdir}/libLTO.so* %else -%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf +%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf %if %{with gold} %{_libdir}/%{name}/lib/LLVMgold.so %endif @@ -567,6 +585,36 @@ fi %endif %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 15.0.7-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 30 2025 František Zatloukal - 15.0.7-13 +- Missing cstdint includes (RHBZ#2340791) + +* Fri Jan 17 2025 Fedora Release Engineering - 15.0.7-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Sep 05 2024 František Zatloukal - 15.0.7-11 +- Disable LTO to resolve clang15 linking issues + +* Thu Jul 18 2024 Fedora Release Engineering - 15.0.7-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jul 16 2024 František Zatloukal - 15.0.7-9 +- Fix tests on Python 3.13 + +* Tue Mar 05 2024 Tulio Magno Quites Machado Filho - 15.0.7-8 +- Force ldconfig execution in compat packages. Fixes rhbz#2001328. + +* Thu Jan 25 2024 Fedora Release Engineering - 15.0.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 15.0.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Sep 15 2023 Yaakov Selkowitz - 15.0.7-5 +- Fix flatpak build + * Thu Jul 20 2023 Fedora Release Engineering - 15.0.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/tests-Python-3.13-compat.patch b/tests-Python-3.13-compat.patch new file mode 100644 index 0000000..d49c4d7 --- /dev/null +++ b/tests-Python-3.13-compat.patch @@ -0,0 +1,31 @@ +From 9506d5e88780a68ae66a7960ca6a37e8b3451277 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= +Date: Tue, 16 Jul 2024 09:11:08 +0200 +Subject: [PATCH] tests: Python 3.13 compat + +--- + llvm/test/Bindings/Go/lit.local.cfg | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/llvm/test/Bindings/Go/lit.local.cfg b/llvm/test/Bindings/Go/lit.local.cfg +index 91a0ad8..4da83a1 100644 +--- a/llvm/test/Bindings/Go/lit.local.cfg ++++ b/llvm/test/Bindings/Go/lit.local.cfg +@@ -1,5 +1,4 @@ + import os +-import pipes + import shlex + import sys + +@@ -56,7 +55,7 @@ def fixup_compiler_path(compiler): + except (AttributeError, OSError): + pass + +- return ' '.join([pipes.quote(arg) for arg in args]) ++ return ' '.join([shlex.quote(arg) for arg in args]) + + config.environment['CC'] = fixup_compiler_path(config.host_cc) + config.environment['CXX'] = fixup_compiler_path(config.host_cxx) +-- +2.45.2 +