From 316c5488a7cf7153be77cb37dd855e5a69a0fddd Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Fri, 3 May 2024 13:12:47 +0200 Subject: [PATCH] Integrate lld.spec into spec files --- build.spec.inc | 13 +- check.spec.inc | 10 +- files.spec.inc | 25 ++ globals.spec.inc | 7 + install.spec.inc | 30 +++ lld.spec | 656 ---------------------------------------------- packages.spec.inc | 51 ++++ patches.spec.inc | 4 + sources.spec.inc | 2 - 9 files changed, 138 insertions(+), 660 deletions(-) delete mode 100644 lld.spec diff --git a/build.spec.inc b/build.spec.inc index 802a020..5de6ae1 100644 --- a/build.spec.inc +++ b/build.spec.inc @@ -156,7 +156,7 @@ cd llvm %else -DLLVM_INSTALL_GTEST:BOOL=ON \ %endif - -DLLVM_LIT_ARGS=-vv \ + -DLLVM_LIT_ARGS="-vv --path %{_libdir}/llvm" \ \ -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \ -DLLVM_BUILD_EXAMPLES:BOOL=OFF \ @@ -193,6 +193,17 @@ cd llvm -DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \ -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \ -DLLVM_INCLUDE_BENCHMARKS=OFF \ + \ + \ + -DLLVM_DYLIB_COMPONENTS="all" \ + -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \ + -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ +%if %{with compat_build} + -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \ +%endif + -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \ + \ + \ %ifarch x86_64 -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error" \ %endif diff --git a/check.spec.inc b/check.spec.inc index 32c753b..7e5c8ba 100644 --- a/check.spec.inc +++ b/check.spec.inc @@ -213,8 +213,16 @@ export LIT_OPTS="-vv" export LD_LIBRARY_PATH="%{buildroot}/%{install_libdir}:%{buildroot}/%{_libdir}"; cd llvm -%cmake_build --target check-llvm check-clang +%cmake_build --target check-llvm check-clang check-lld %endif +#region LLD + +%if %{without compat_build} +%ldconfig_scriptlets libs +%endif + +#endregion + %endif diff --git a/files.spec.inc b/files.spec.inc index 9576722..e0e5b05 100644 --- a/files.spec.inc +++ b/files.spec.inc @@ -335,3 +335,28 @@ %endif #endregion + +#region LLD files + +%files -n %{pkg_name_lld} +%license LICENSE.TXT +%ghost %{_bindir}/ld +%{install_bindir}/lld* +%{install_bindir}/ld.lld +%{install_bindir}/ld64.lld +%{install_bindir}/wasm-ld +%if %{without compat_build} +%{_mandir}/man1/ld.lld.1* +%else +%{_bindir}/*-%{maj_ver} +%endif + +%files -n %{pkg_name_lld}-devel +%{install_includedir}/lld +%{install_libdir}/liblld*.so +%{install_libdir}/cmake/lld/ + +%files -n %{pkg_name_lld}-libs +%{install_libdir}/liblld*.so.* + +#endregion diff --git a/globals.spec.inc b/globals.spec.inc index 1fa667a..c67a273 100644 --- a/globals.spec.inc +++ b/globals.spec.inc @@ -140,3 +140,10 @@ %endif #endregion +#region LLD globals +%if %{with compat_build} +%global pkg_name_lld lld%{maj_ver} +%else +%global pkg_name_lld lld +%endif +#endregion \ No newline at end of file diff --git a/install.spec.inc b/install.spec.inc index 2ac3d00..36c1b59 100644 --- a/install.spec.inc +++ b/install.spec.inc @@ -229,3 +229,33 @@ rm -rf %{buildroot}/%{_datarootdir}/gdb %endif #endregion + +#region LLD installation + +# This is generated by Patch1 during build and (probably) must be removed afterward +rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h + +%if %{with compat_build} +# Add version suffix to binaries +mkdir -p %{buildroot}%{_bindir} +for f in %{buildroot}/%{install_bindir}/*; do + filename=`basename $f` + ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename-%{maj_ver} +done +%else +# Required when using update-alternatives: +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ +touch %{buildroot}%{_bindir}/ld + +install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1 + +%post -n %{pkg_name_lld} +%{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1 + +%postun -n %{pkg_name_lld} +if [ $1 -eq 0 ] ; then + %{_sbindir}/update-alternatives --remove ld %{_bindir}/ld.lld +fi +%endif + +#endregion \ No newline at end of file diff --git a/lld.spec b/lld.spec deleted file mode 100644 index 2776081..0000000 --- a/lld.spec +++ /dev/null @@ -1,656 +0,0 @@ -%bcond_without snapshot_build - -%if %{with snapshot_build} -# Unlock LLVM Snapshot LUA functions -%{llvm_sb_verbose} -%{llvm_sb} -%endif - -%global toolchain clang - -# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer -# https://bugzilla.redhat.com/show_bug.cgi?id=2158587 -%undefine _include_frame_pointers - -%bcond_without check -%bcond_with compat_build - -%global maj_ver 18 -%global min_ver 1 -%global patch_ver 0 -%global rc_ver 4 - -%if %{with snapshot_build} -%undefine rc_ver -%global maj_ver %{llvm_snapshot_version_major} -%global min_ver %{llvm_snapshot_version_minor} -%global patch_ver %{llvm_snapshot_version_patch} -%endif - -%global lld_version %{maj_ver}.%{min_ver}.%{patch_ver} - -%global lld_srcdir lld-%{lld_version}%{?rc_ver:rc%{rc_ver}}.src - -%if %{with compat_build} -%global pkg_name lld%{maj_ver} -%global install_prefix %{_libdir}/llvm%{maj_ver} -%global install_includedir %{install_prefix}/include -%global install_libdir %{install_prefix}/lib -%global install_datadir %{install_prefix}/share -%global install_bindir %{install_prefix}/bin -%else -%global pkg_name lld -%global install_prefix /usr -%global install_includedir %{_includedir} -%global install_libdir %{_libdir} -%global install_datadir %{_datadir} -%global install_bindir %{_bindir} -%endif - -Name: %{pkg_name} -Version: %{lld_version}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}} -Release: 2%{?dist} -Summary: The LLVM Linker - -License: Apache-2.0 WITH LLVM-exception OR NCSA -URL: http://llvm.org -%if %{with snapshot_build} -Source0: %{llvm_snapshot_source_prefix}lld-%{llvm_snapshot_yyyymmdd}.src.tar.xz -%{llvm_snapshot_extra_source_tags} -%else -Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{lld_srcdir}.tar.xz -Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{lld_srcdir}.tar.xz.sig -Source2: release-keys.asc -%endif - -# Bundle libunwind header need during build for MachO support -Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch - -BuildRequires: clang -BuildRequires: cmake -BuildRequires: ninja-build -%if %{with compat_build} -BuildRequires: llvm%{maj_ver}-devel = %{version} -BuildRequires: llvm%{maj_ver}-cmake-utils = %{version} -%else -BuildRequires: llvm-devel = %{version} -BuildRequires: llvm-cmake-utils = %{version} -BuildRequires: llvm-test = %{version} -BuildRequires: llvm-googletest = %{version} -%endif -BuildRequires: ncurses-devel -BuildRequires: zlib-devel - -# For make check: -BuildRequires: python3-rpm-macros -BuildRequires: python3-lit - -# For gpg source verification -BuildRequires: gnupg2 - -Requires(post): %{_sbindir}/update-alternatives -Requires(preun): %{_sbindir}/update-alternatives - -Requires: %{name}-libs = %{version}-%{release} - -%description -The LLVM project linker. - -%package devel -Summary: Libraries and header files for LLD -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -%if %{without compat_build} -# lld tools are referenced in the cmake files, so we need to add lld as a -# dependency. -Requires: %{name}%{?_isa} = %{version}-%{release} -%endif -Provides: %{name}-devel(major) = %{maj_ver} - -%description devel -This package contains library and header files needed to develop new native -programs that use the LLD infrastructure. - -%package libs -Summary: LLD shared libraries - -%description libs -Shared libraries for LLD. - -%prep -%if %{without snapshot_build} -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%endif - -%autosetup -n %{lld_srcdir} -p2 - -%build - -%cmake \ - -GNinja \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ - -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ - -DLLVM_DYLIB_COMPONENTS="all" \ - -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \ - -DCMAKE_SKIP_RPATH:BOOL=ON \ - -DPYTHON_EXECUTABLE=%{__python3} \ -%if %{with snapshot_build} - -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \ -%endif - -DLLVM_INCLUDE_TESTS=ON \ - -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ - -DLLVM_LIT_ARGS="-sv \ - --path %{_libdir}/llvm" \ -%if %{with compat_build} - -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \ -%else -%if 0%{?__isa_bits} == 64 - -DLLVM_LIBDIR_SUFFIX=64 \ -%else - -DLLVM_LIBDIR_SUFFIX= \ -%endif -%endif - -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src - -%cmake_build - -%install - -# Install libraries and binaries -%cmake_install - -# This is generated by Patch1 during build and (probably) must be removed afterward -rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h - -%if %{with compat_build} -# Add version suffix to binaries -mkdir -p %{buildroot}%{_bindir} -for f in %{buildroot}/%{install_bindir}/*; do - filename=`basename $f` - ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename-%{maj_ver} -done -%else -# Required when using update-alternatives: -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ -touch %{buildroot}%{_bindir}/ld - -install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1 - - -%post -%{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1 - -%postun -if [ $1 -eq 0 ] ; then - %{_sbindir}/update-alternatives --remove ld %{_bindir}/ld.lld -fi -%endif - -%check - -%if %{with check} -export LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} -%cmake_build --target check-lld -%endif - -%if %{without compat_build} -%ldconfig_scriptlets libs -%endif - -%files -%license LICENSE.TXT -%ghost %{_bindir}/ld -%{install_bindir}/lld* -%{install_bindir}/ld.lld -%{install_bindir}/ld64.lld -%{install_bindir}/wasm-ld -%if %{without compat_build} -%{_mandir}/man1/ld.lld.1* -%else -%{_bindir}/*-%{maj_ver} -%endif - -%files devel -%{install_includedir}/lld -%{install_libdir}/liblld*.so -%{install_libdir}/cmake/lld/ - -%files libs -%{install_libdir}/liblld*.so.* - -%changelog -* Sat Mar 02 2024 Tom Stellard - 18.1.0~rc4-2 -- Enable s390x arch - -* Wed Feb 28 2024 Tom Stellard - 18.1.0~rc4-1 -- 18.1.0-rc4 Release - -* Thu Jan 25 2024 Fedora Release Engineering - 17.0.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 17.0.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -%{?llvm_snapshot_changelog_entry} - -* Mon Dec 18 2023 Jeremy Newton - 17.0.6-2 -- Add lld-devel(major) provides - -* Wed Nov 29 2023 Tulio Magno Quites Machado Filho - 17.0.6-1 -- Update to LLVM 17.0.6 - -* Wed Nov 22 2023 Tulio Magno Quites Machado Filho - 17.0.5-1 -- Update to LLVM 17.0.5 - -* Wed Nov 01 2023 Tulio Magno Quites Machado Filho - 17.0.4-1 -- Update to LLVM 17.0.4 - -* Wed Oct 18 2023 Tulio Magno Quites Machado Filho - 17.0.3-1 -- Update to LLVM 17.0.3 - -* Wed Oct 04 2023 Tulio Magno Quites Machado Filho - 17.0.2-1 -- Update to LLVM 17.0.2 - -* Mon Sep 25 2023 Tulio Magno Quites Machado Filho - 17.0.1-1 -- Update to LLVM 17.0.1 - -* Mon Sep 11 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc4-1 -- Update to LLVM 17.0.0 RC4 - -* Fri Aug 25 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc3-1 -- Update to LLVM 17.0.0 RC3 - -* Wed Aug 23 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc2-1 -- Update to LLVM 17.0.0 RC2 - -* Wed Aug 02 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc1-1 -- Update to LLVM 17.0.0 RC1 - -* Thu Jul 20 2023 Fedora Release Engineering - 16.0.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Mon Jul 10 2023 Tulio Magno Quites Machado Filho - 16.0.6-1 -- Update to LLVM 16.0.6 - -* Tue Jun 13 2023 Nikita Popov - 16.0.5-2 -- Use llvm-cmake-utils package - -* Tue Jun 06 2023 Tulio Magno Quites Machado Filho - 16.0.5-1 -- Update to LLVM 16.0.5 - -* Fri May 19 2023 Tulio Magno Quites Machado Filho - 16.0.4-1 -- Update to LLVM 16.0.4 - -* Thu May 11 2023 Tulio Magno Quites Machado Filho - 16.0.3-2 -- Distribute the manpage. Fix rhbz#2203231 - -* Wed May 10 2023 Tulio Magno Quites Machado Filho - 16.0.3-1 -- Update to LLVM 16.0.3 - -* Wed Apr 26 2023 Tulio Magno Quites Machado Filho - 16.0.2-1 -- Update to LLVM 16.0.2 - -* Thu Apr 13 2023 Tulio Magno Quites Machado Filho - 16.0.1-1 -- Update to LLVM 16.0.1 - -* Fri Mar 24 2023 Tulio Magno Quites Machado Filho - 16.0.0-2 -- Use installed llvm_gtest - -* Tue Mar 21 2023 Tulio Magno Quites Machado Filho - 16.0.0-1 -- Update to LLVM 16.0.0 - -* Wed Mar 15 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc4-1 -- Update to LLVM 16.0.0 RC4 - -* Thu Feb 23 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc3-1 -- Update to LLVM 16.0.0 RC3 - -* Tue Feb 14 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc1-1 -- Update to LLVM 16.0.0 RC1 - -* Thu Jan 19 2023 Tulio Magno Quites Machado Filho - 15.0.7-3 -- Update license to SPDX identifiers. -- Include the Apache license adopted in 2019. - -* Thu Jan 19 2023 Fedora Release Engineering - 15.0.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jan 13 2023 Nikita Popov - 15.0.7-1 -- Update to LLVM 15.0.7 - -* Mon Jan 09 2023 Tom Stellard - 15.0.6-2 -- Omit frame pointers when building - -* Tue Dec 06 2022 Nikita Popov - 15.0.6-1 -- Update to LLVM 15.0.6 - -* Mon Nov 14 2022 Tulio Magno Quites Machado Filho - 15.0.4-2 -- Enable LTO. - -* Mon Nov 07 2022 Nikita Popov - 15.0.4-1 -- Update to LLVM 15.0.4 - -* Tue Oct 11 2022 Nikita Popov - 15.0.0-2 -- Remove lld-test package - -* Tue Sep 06 2022 Nikita Popov - 15.0.0-1 -- Update to LLVM 15.0.0 - -* Tue Aug 09 2022 Nikita Popov - 14.0.5-4 -- Backport --package-metadata flag - -* Thu Jul 21 2022 Fedora Release Engineering - 14.0.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jul 11 2022 Konrad Kleine - 14.0.5-2 -- Set build type to RelWithDebInfo - -* Fri Jun 17 2022 Timm Bäder - 14.0.5-1 -- Update to 14.0.5 - -* Thu Mar 31 2022 Tom Stellard - 14.0.0-2 -- Fix CI test failure: gcc-compat-basic - -* Mon Feb 28 2022 Timm Bäder - 14.0.0~rc1-1 -- Update to 14.0.0rc1 - -* Thu Feb 03 2022 Nikita Popov - 13.0.1-1 -- Update to LLVM 13.0.1 final - -* Tue Feb 01 2022 Nikita Popov - 13.0.1~rc3-1 -- Update to LLVM 13.0.1 rc3 - -* Thu Jan 20 2022 Fedora Release Engineering - 13.0.1~rc2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jan 14 2022 Nikita Popov - 13.0.1~rc2-1 -- Update to LLVM 13.0.1rc2 - -* Wed Jan 12 2022 Nikita Popov - 13.0.1~rc1-1 -- Update to LLVM 13.0.1rc1 - -* Wed Oct 06 2021 Tom Stellard - 13.0.0-2 -- Rebuild for llvm soname bump - -* Fri Oct 01 2021 Tom Stellard - 13.0.0-1 -- 13.0.0 Release - -* Thu Sep 30 2021 Tom Stellard - 13.0.0~rc4-1 -- 13.0.0-rc4 Release - -* Mon Sep 20 2021 Tom Stellard - 13.0.0~rc1-3 -- 13.0.0-rc3 Release - -* Tue Sep 14 2021 Konrad Kleine - 13.0.0~rc1-2 -- Add --without=check option - -* Fri Aug 06 2021 Tom Stellard - 13.0.0~rc1-1 -- 13.0.0-rc1 Release - -* Thu Jul 22 2021 Fedora Release Engineering - 12.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jul 13 2021 Tom Stellard - 12.0.1-1 -- 12.0.1 Release - -* Wed Jun 30 2021 Tom Stellard - 12.0.1~rc3-1 -- 12.0.1-rc3 Release - -* Tue Jun 01 2021 Tom Stellard - 12.0.1~rc1-1 -- 12.0.1-rc1 Release - -* Fri Apr 16 2021 Tom Stellard - 12.0.0-1 -- 12.0.0 Release - -* Thu Apr 08 2021 sguelton@redhat.com - 12.0.0-0.8.rc5 -- New upstream release candidate - -* Wed Apr 07 2021 Tom Stellard - 12.0.0-0.7.rc4 -- Set executable permissions on run-lit-tests - -* Fri Apr 02 2021 sguelton@redhat.com - 12.0.0-0.6.rc4 -- New upstream release candidate - -* Wed Mar 31 2021 Jonathan Wakely - 12.0.0-0.5.rc3 -- Rebuilt for removed libstdc++ symbols (#1937698) - -* Thu Mar 11 2021 sguelton@redhat.com - 12.0.0-0.4.rc3 -- LLVM 12.0.0 rc3 - -* Wed Mar 10 2021 sguelton@redhat.com - 12.0.0-0.3.rc2 -- rebuilt - -* Wed Feb 24 2021 sguelton@redhat.com - 12.0.0-0.2.rc2 -- llvm 12.0.0-rc2 release - -* Tue Feb 16 2021 sguelton@redhat.com - 12.0.0-0.1.rc1 -- llvm 12.0.0-rc1 release - -* Tue Jan 26 2021 Fedora Release Engineering - 11.1.0-0.3.rc2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jan 22 2021 Serge Guelton - 11.1.0-0.2.rc2 -- llvm 11.1.0-rc2 release - -* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1 -- 11.1.0-rc1 release - -* Wed Jan 06 2021 Serge Guelton - 11.0.1-3 -- LLVM 11.0.1 final - -* Tue Dec 22 2020 sguelton@redhat.com - 11.0.1-2.rc2 -- llvm 11.0.1-rc2 - -* Tue Dec 01 2020 sguelton@redhat.com - 11.0.1-1.rc1 -- llvm 11.0.1-rc1 - -* Thu Nov 12 2020 sguelton@redhat.com - 11.0.0-3 -- Exclude s390x, unsupported upstream - -* Mon Oct 19 2020 sguelton@redhat.com - 11.0.0-2 -- Rebuilt with all gating tests on - -* Thu Oct 15 2020 sguelton@redhat.com - 11.0.0-1 -- Fix NVR - -* Mon Oct 12 2020 sguelton@redhat.com - 11.0.0-0.6 -- llvm 11.0.0 - final release - -* Thu Oct 08 2020 sguelton@redhat.com - 11.0.0-0.5.rc6 -- 11.0.0-rc6 - -* Wed Oct 07 2020 sguelton@redhat.com - 11.0.0-0.4.rc5 -- Update CI tests - -* Fri Oct 02 2020 sguelton@redhat.com - 11.0.0-0.3.rc5 -- 11.0.0-rc5 Release - -* Sun Sep 27 2020 sguelton@redhat.com - 11.0.0-0.2.rc3 -- Fix NVR - -* Thu Sep 24 2020 sguelton@redhat.com - 11.0.0-0.1.rc3 -- 11.0.0-rc3 Release - -* Tue Sep 01 2020 sguelton@redhat.com - 11.0.0-0.1.rc2 -- 11.0.0-rc2 Release - -* Mon Aug 10 2020 Tom Stellard - 11.0.0-0.1.rc1 -- 11.0.0-rc1 Release - -* Mon Aug 10 2020 sguelton@redhat.com - 10.0.0-7 -- use %%license macro - -* Mon Aug 10 2020 Tom Stellard - 10.0.0-6 -- Disable LTO - -* Sat Aug 01 2020 Fedora Release Engineering - 10.0.0-5 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 10.0.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 20 2020 sguelton@redhat.com - 10.0.0-3 -- Use generic cmake macros -- Use Ninja as build system -- Remove chrpath dependency - -* Fri Jul 17 2020 sguelton@redhat.com - 10.0.0-2 -- Make test archive arch-independent - -* Mon Mar 30 2020 sguelton@redhat.com - 10.0.0-1 -- 10.0.0 final - -* Wed Mar 25 2020 sguelton@redhat.com - 10.0.0-0.6.rc6 -- 10.0.0 rc6 - -* Fri Mar 20 2020 sguelton@redhat.com - 10.0.0-0.5.rc5 -- 10.0.0 rc5 - -* Sun Mar 15 2020 sguelton@redhat.com - 10.0.0-0.4.rc4 -- 10.0.0 rc4 - -* Thu Mar 05 2020 sguelton@redhat.com - 10.0.0-0.3.rc3 -- 10.0.0 rc3 - -* Fri Feb 14 2020 sguelton@redhat.com - 10.0.0-0.2.rc2 -- 10.0.0 rc2 - -* Fri Jan 31 2020 sguelton@redhat.com - 10.0.0-0.1.rc1 -- 10.0.0 rc1 - -* Wed Jan 29 2020 Fedora Release Engineering - 9.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Dec 19 2019 Tom Stellard -9.0.1-1 -- 9.0.1 Release - -* Sat Dec 14 2019 Tom Stellard - 9.0.0-6 -- Fix some rpmdiff errors - -* Fri Dec 13 2019 Tom Stellard - 9.0.0-5 -- Remove build artifacts installed with unittests - -* Thu Dec 05 2019 Tom Stellard - 9.0.0-4 -- Enable GPG-based source file verification - -* Thu Dec 05 2019 Tom Stellard - 9.0.0-3 -- Add lld-test package - -* Thu Nov 14 2019 Tom Stellard - 9.0.0-2 -- Add explicit lld-libs requires to fix rpmdiff errors - -* Thu Sep 19 2019 Tom Stellard -9.0.0-1 -- 9.0.0 Release - -* Thu Aug 22 2019 Tom Stellard - 9.0.0-0.1.rc3 -- 9.0.0-rc3 Release - -* Tue Aug 20 2019 Tom Stellard - 8.0.0-3 -- touch /usr/bin/ld as required by the packaging guidelines for - update-alternatives - -* Tue Aug 13 2019 Tom Stellard - 8.0.0-2 -- Add update-alternative for ld - -* Thu Jul 25 2019 Fedora Release Engineering - 8.0.0-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Mar 20 2019 sguelton@redhat.com - 8.0.0-1 -- 8.0.0 final - -* Tue Mar 12 2019 sguelton@redhat.com - 8.0.0-0.4.rc4 -- 8.0.0 Release candidate 4 - -* Tue Mar 5 2019 sguelton@redhat.com - 8.0.0-0.4.rc3 -- Cleanup specfile after llvm specfile update - -* Mon Mar 4 2019 sguelton@redhat.com - 8.0.0-0.3.rc3 -- 8.0.0 Release candidate 3 - -* Fri Feb 22 2019 sguelton@redhat.com - 8.0.0-0.2.rc2 -- 8.0.0 Release candidate 2 - -* Mon Feb 11 2019 sguelton@redhat.com - 8.0.0-0.1.rc1 -- 8.0.0 Release candidate 1 - -* Fri Feb 01 2019 Fedora Release Engineering - 7.0.1-3.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 14 2019 sguelton@redhat.com - 7.0.1-3 -- Fix lld + annobin integration & Setup basic CI tests - -* Mon Dec 17 2018 sguelton@redhat.com - 7.0.1-2 -- Update lit dependency - -* Mon Dec 17 2018 sguelton@redhat.com - 7.0.1-1 -- 7.0.1 Release - -* Tue Dec 04 2018 sguelton@redhat.com - 7.0.0-2 -- Ensure rpmlint passes on specfile - -* Mon Sep 24 2018 Tom Stellard - 7.0.0-1 -- 7.0.1 Release - -* Tue Sep 11 2018 Tom Stellard - 7.0.0-0.4.rc3 -- 7.0.0-rc3 Release - -* Fri Aug 31 2018 Tom Stellard - 7.0.0-0.3.rc2 -- 7.0.0-rc2 Release - -* Thu Aug 30 2018 Tom Stellard - 7.0.0-0.2.rc1 -- Enable make check - -* Mon Aug 13 2018 Tom Stellard - 7.0.0-0.1.rc1 -- 7.0.0-rc1 Release - -* Fri Jul 13 2018 Fedora Release Engineering - 6.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Jun 27 2018 Tom Stellard - 6.0.1-1 -- 6.0.1 Release - -* Fri May 11 2018 Tom Stellard - 6.0.1-0.1.rc1 -- 6.0.1-rc1 Release - -* Thu Mar 08 2018 Tom Stellard - 6.0.0-1 -- 6.0.0 Release - -* Tue Feb 13 2018 Tom Stellard - 6.0.0-0.3.rc2 -- 6.0.0-rc2 Release - -* Thu Feb 08 2018 Fedora Release Engineering - 6.0.0-0.2.rc1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Jan 25 2018 Tom Stellard - 6.0.0-0.1.rc1 -- 6.0.0-rc1 Release - -* Thu Dec 21 2017 Tom Stellard - 5.0.1-1 -- 5.0.1 Release - -* Mon Sep 11 2017 Tom Stellard - 5.0.0-1 -- 5.0.0 Release - -* Thu Aug 03 2017 Fedora Release Engineering - 4.0.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 4.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Thu Jul 06 2017 Tom Stellard - 4.0.1-2 -- Backport r307092 - -* Tue Jul 04 2017 Tom Stellard - 4.0.1-1 -- 4.0.1 Release - -* Tue Jul 04 2017 Tom Stellard - 4.0.0-4 -- Fix build without llvm-static - -* Wed May 31 2017 Tom Stellard - 4.0.0-3 -- Remove llvm-static dependency - -* Mon May 15 2017 Fedora Release Engineering - 4.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild - -* Tue Mar 14 2017 Tom Stellard - 4.0.0-1 -- lld 4.0.0 Final Release diff --git a/packages.spec.inc b/packages.spec.inc index 1945015..16dc840 100644 --- a/packages.spec.inc +++ b/packages.spec.inc @@ -294,3 +294,54 @@ OpenMP header files. %endif #endregion + +#region LLD packages + +%package -n %{pkg_name_lld} +Summary: The LLVM Linker + +License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT +URL: http://llvm.org + +BuildRequires: clang +BuildRequires: cmake +BuildRequires: ninja-build +BuildRequires: ncurses-devel +BuildRequires: zlib-devel + +# For make check: +BuildRequires: python3-rpm-macros +BuildRequires: python3-lit + +# For gpg source verification +BuildRequires: gnupg2 + +Requires(post): %{_sbindir}/update-alternatives +Requires(preun): %{_sbindir}/update-alternatives + +Requires: %{pkg_name_lld}-libs = %{version}-%{release} + +%description -n %{pkg_name_lld} +The LLVM project linker. + +%package -n %{pkg_name_lld}-devel +Summary: Libraries and header files for LLD +Requires: %{pkg_name_lld}-libs%{?_isa} = %{version}-%{release} +%if %{without compat_build} +# lld tools are referenced in the cmake files, so we need to add lld as a +# dependency. +Requires: %{pkg_name_lld}%{?_isa} = %{version}-%{release} +%endif +Provides: %{pkg_name_lld}-devel(major) = %{maj_ver} + +%description -n %{pkg_name_lld}-devel +This package contains library and header files needed to develop new native +programs that use the LLD infrastructure. + +%package -n %{pkg_name_lld}-libs +Summary: LLD shared libraries + +%description -n %{pkg_name_lld}-libs +Shared libraries for LLD. + +#endregion diff --git a/patches.spec.inc b/patches.spec.inc index 8e9df1e..8a72d09 100644 --- a/patches.spec.inc +++ b/patches.spec.inc @@ -7,6 +7,10 @@ Patch2002: 0003-PATCH-clang-Don-t-install-static-libraries.patch # More info is available here: https://reviews.llvm.org/D159115#4641826 Patch2005: 0001-Workaround-a-bug-in-ORC-on-ppc64le.patch +#region LLD patches +Patch4001: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch +#endregion + # # Drop the following patch after debugedit adds support to DWARF-5: # # https://sourceware.org/bugzilla/show_bug.cgi?id=28728 # Source2006: 0001-Produce-DWARF4-by-default.patch diff --git a/sources.spec.inc b/sources.spec.inc index 8354718..77ebefc 100644 --- a/sources.spec.inc +++ b/sources.spec.inc @@ -11,8 +11,6 @@ Source2005: macros.%{pkg_name_clang} %endif Source2006: clang.cfg -Source2006: clang.cfg - # Sources we use to split up the main spec file in sections so that we can more # easily see what specfile sections are touched by a patch. Source1000: version.spec.inc