]> git.pld-linux.org Git - packages/mold.git/commitdiff
up to 1.5.0
authorJan Palus <atler@pld-linux.org>
Tue, 27 Sep 2022 22:41:51 +0000 (00:41 +0200)
committerJan Palus <atler@pld-linux.org>
Tue, 27 Sep 2022 22:41:51 +0000 (00:41 +0200)
- use cmake, make is scheduled for removal

absolute-install-paths.patch [new file with mode: 0644]
mold.spec

diff --git a/absolute-install-paths.patch b/absolute-install-paths.patch
new file mode 100644 (file)
index 0000000..baa5a42
--- /dev/null
@@ -0,0 +1,57 @@
+From 9464a129603e79d921651f2e76e7f80264d1ed33 Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpalus@fastmail.com>
+Date: Tue, 27 Sep 2022 23:48:07 +0200
+Subject: [PATCH] cmake: use unambiguously absolute paths for install
+ directories
+
+as per https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
+CMAKE_INSTALL_<dir> can be both relative and absolute. so far mold made
+assumption these are relative only, but handle both cases by using
+CMAKE_INSTALL_FULL_<dir> instead.
+
+Signed-off-by: Jan Palus <jpalus@fastmail.com>
+---
+ CMakeLists.txt | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dcbfc2d5..80c201a9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@ endif()
+ add_executable(mold)
+ target_compile_features(mold PRIVATE cxx_std_20)
+ target_compile_definitions(mold PRIVATE
+-  "LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\"")
++  "LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\"")
+ target_link_libraries(mold PRIVATE ${CMAKE_DL_LIBS})
+ if(NOT "${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "MSVC")
+@@ -291,17 +291,17 @@ if(NOT CMAKE_SKIP_INSTALL_RULES)
+   install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
+   install(FILES docs/mold.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/)
+   install(CODE "
+-    set(DEST \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}\")
++    set(DEST \"\$ENV{DESTDIR}\")
+     file(RELATIVE_PATH RELPATH
+-       /${CMAKE_INSTALL_LIBEXECDIR}/mold /${CMAKE_INSTALL_BINDIR}/mold)
++       /${CMAKE_INSTALL_FULL_LIBEXECDIR}/mold /${CMAKE_INSTALL_FULL_BINDIR}/mold)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
+-      \${DEST}/${CMAKE_INSTALL_LIBEXECDIR}/mold)
++      \${DEST}/${CMAKE_INSTALL_FULL_LIBEXECDIR}/mold)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \${RELPATH}
+-      \${DEST}/${CMAKE_INSTALL_LIBEXECDIR}/mold/ld)
++      \${DEST}/${CMAKE_INSTALL_FULL_LIBEXECDIR}/mold/ld)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink mold
+-      \${DEST}/${CMAKE_INSTALL_BINDIR}/ld.mold)
++      \${DEST}/${CMAKE_INSTALL_FULL_BINDIR}/ld.mold)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink mold
+-      \${DEST}/${CMAKE_INSTALL_BINDIR}/ld64.mold)
++      \${DEST}/${CMAKE_INSTALL_FULL_BINDIR}/ld64.mold)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink mold.1
+-      \${DEST}/${CMAKE_INSTALL_MANDIR}/man1/ld.mold.1)")
++      \${DEST}/${CMAKE_INSTALL_FULL_MANDIR}/man1/ld.mold.1)")
+ endif()
+-- 
+2.37.3
+
index 5606b9d892770a14977407151271e64791f846f2..e57515f2391ef12b1e97c6f62290260542825ee4 100644 (file)
--- a/mold.spec
+++ b/mold.spec
@@ -4,13 +4,15 @@
 
 Summary:       mold: A Modern Linker
 Name:          mold
-Version:       1.4.2
+Version:       1.5.0
 Release:       1
 License:       GPL v3+
 Group:         Development/Libraries
 Source0:       https://github.com/rui314/mold/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 3a9891b330789fe04fbcced05b5fffe2
+# Source0-md5: bd4e4d7c8430821d82773f723454cacd
+Patch0:                absolute-install-paths.patch
 URL:           https://github.com/rui314/mold
+BuildRequires: cmake >= 3.13
 %{?with_tests:BuildRequires:   glibc-static}
 %ifarch %{armv6} riscv64
 BuildRequires: libatomic-devel
@@ -22,9 +24,10 @@ BuildRequires:       openssl-devel
 BuildRequires: rpmbuild(macros) >= 2.007
 BuildRequires: tbb-devel >= 2021.3.0
 BuildRequires: zlib-devel
+BuildRequires: zstd-devel
 Requires:      mimalloc >= 1.7
 Requires:      tbb >= 2021.3.0
-ExclusiveArch: %{ix86} %{x8664} %{arm} aarch64 riscv64
+ExclusiveArch: %{ix86} %{x8664} %{arm} aarch64 ppc64le riscv64 sparc64
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -36,47 +39,28 @@ especially in rapid debug-edit-rebuild cycles.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %{__rm} -r third-party/{mimalloc,tbb}
 
 %build
-%{__make} \
-       ARCH="%{_target_cpu}" \
-       CC="%{__cc}" \
-       CXX="%{__cxx}" \
-       CFLAGS="%{rpmcppflags} %{rpmcflags}" \
-       CXXFLAGS="%{rpmcppflags} %{rpmcxxflags}" \
-       LDFLAGS="%{rpmldflags}" \
-       SYSTEM_MIMALLOC=1 \
-       SYSTEM_TBB=1 \
-       PREFIX="%{_prefix}" \
-       BINDIR="%{_bindir}" \
-       LIBDIR="%{_libdir}" \
-       MANDIR="%{_mandir}"
+%cmake -B build \
+       %{cmake_on_off tests BUILD_TESTING} \
+       -DMOLD_USE_MIMALLOC:BOOL=ON \
+       -DMOLD_USE_SYSTEM_MIMALLOC:BOOL=ON \
+       -DMOLD_USE_SYSTEM_TBB:BOOL=ON
+
+%{__make} -C build
 
 %if %{with tests}
-%{__make} check \
-       MACHINE="%{_target_cpu}" \
-       TEST_CC="%{__cc}" \
-       TEST_GCC="%{__cc}" \
-       TEST_CXX="%{__cxx}" \
-       TEST_GXX="%{__cxx}" \
-       SYSTEM_MIMALLOC=1 \
-       SYSTEM_TBB=1
+%{__make} -C build test
 %endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
-       D=$RPM_BUILD_ROOT \
-       SYSTEM_MIMALLOC=1 \
-       SYSTEM_TBB=1 \
-       STRIP=: \
-       PREFIX="%{_prefix}" \
-       BINDIR="%{_bindir}" \
-       LIBDIR="%{_libdir}" \
-       MANDIR="%{_mandir}"
+%{__make} -C build install \
+       DESTDIR=$RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
This page took 0.283472 seconds and 4 git commands to generate.