diff --git a/lld.spec b/lld.spec index 76fbda7..7e18c40 100644 --- a/lld.spec +++ b/lld.spec @@ -13,9 +13,9 @@ %bcond_without check %bcond_with compat_build -%global maj_ver 17 -%global min_ver 0 -%global patch_ver 6 +%global maj_ver 18 +%global min_ver 1 +%global patch_ver 2 #global rc_ver 4 %if %{with snapshot_build} @@ -35,12 +35,14 @@ %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 %bcond_with ld_alternative @@ -61,8 +63,6 @@ Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve Source2: release-keys.asc %endif -ExcludeArch: s390x - # Bundle libunwind header need during build for MachO support Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch @@ -109,6 +109,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} # 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 @@ -127,15 +128,6 @@ Shared libraries for LLD. %autosetup -n %{lld_srcdir} -p2 -%if %{with compat_build} -# For compat builds, we don't want to build the actual lld binary. While there is an -# LLD_BUILD_TOOLS cmake option, it is incomplete in various ways (e.g. still leaves install -# targets and symlinks), so instead skip the tools/lld build entirely. -# We can't simply delete the binaries after the fact, because this would leave checks for -# their existence in the cmake exports. -sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt -%endif - %build %undefine __cmake_in_source_build @@ -149,17 +141,16 @@ sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DPYTHON_EXECUTABLE=%{__python3} \ -%if %{with compat_build} - -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \ - -DLLVM_INCLUDE_TESTS=OFF \ -%else +%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 snapshot_build} - -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \ -%endif +%if %{with compat_build} + -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \ +%else %if 0%{?__isa_bits} == 64 -DLLVM_LIBDIR_SUFFIX=64 \ %else @@ -178,13 +169,22 @@ sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt # 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 + install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1 +%endif %if %{with ld_alternative} # Required when using update-alternatives: # https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ touch %{buildroot}%{_bindir}/ld - %post %{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1 @@ -196,25 +196,28 @@ fi %check -%if %{without compat_build} %if %{with check} +export LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %cmake_build --target check-lld %endif +%if %{without compat_build} %ldconfig_scriptlets libs %endif -%if %{without compat_build} %files %license LICENSE.TXT %if %{with ld_alternative} %ghost %{_bindir}/ld %endif -%{_bindir}/lld* -%{_bindir}/ld.lld -%{_bindir}/ld64.lld -%{_bindir}/wasm-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 @@ -226,6 +229,29 @@ fi %{install_libdir}/liblld*.so.* %changelog +* Thu Mar 21 2024 Tom Stellard - 18.1.2-1 +- 18.1.2 Release + +* Tue Mar 12 2024 Tom Stellard - 18.1.1-1 +- 18.1.1 Release + +* 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 Nikita Popov - 17.0.6-1 - Update to LLVM 17.0.6 diff --git a/sources b/sources index 981761d..f5db6ba 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (lld-17.0.6.src.tar.xz) = 55955fc24b3fb87012486618cf227a1640ad9a6d607c898d890337aa8c28f3e6a9ed48a52bd0ed57f365f0dc5081a6b3a037cb65da9a9f2cbc53a1527cb8db60 -SHA512 (lld-17.0.6.src.tar.xz.sig) = e0b39e9ea4a1b27679c2c657dd31cda2f7536ee552d353010900f7c68ba5de598114a70a6edb3641c501cd5bc78327f5152748a3a8c8fea5eb4c900e1717bde2 +SHA512 (lld-18.1.2.src.tar.xz) = e9706fcad44f84d2021194988ae017dda5035bc0d449db54951d0058f572f958b2d52d7640d0f453332d405bd5d3e4b15c40e0afbc7990ca0f51cced5a093320 +SHA512 (lld-18.1.2.src.tar.xz.sig) = 3a60324d034e66ef5399f05bfe3a06520f7f7b83802a7b164dbbdd63023ad4fd5cf8dc3cdf7c33df7e2f5d5a3901fc9fe97c501e2125236fa1cb9235906ab143