Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mold for openSUSE:Factory checked in 
at 2026-10-07 19:32:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mold (Old)
 and      /work/SRC/openSUSE:Factory/.mold.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mold"

Wed Oct  7 19:32:08 2026 rev:65 rq:1382849 version:3.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/mold/mold.changes        2026-09-21 
12:03:08.866059597 +0200
+++ /work/SRC/openSUSE:Factory/.mold.new.3698736/mold.changes   2026-10-07 
19:32:48.783161285 +0200
@@ -1,0 +2,24 @@
+Tue Oct  6 17:29:29 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 3.0.0:
+  * Complete rewrite from C++ to Rust; 2.42.1 was the last C++
+    release. Upstream claims drop-in replacement for 2.42.1:
+    same command line, targets and output modulo the fixes
+    below (Gentoo-tested, not verified on openSUSE).
+  * Build system is now Cargo (Rust >= 1.95 plus a C compiler);
+    the oneTBB dependency is gone.
+  * Keep the previous no-mimalloc behavior via the
+    system-allocator cargo feature; link system zlib and zstd.
+  * Compatibility fixes: statically-linked executables with
+    version scripts, --gc-sections keeping --init/--fini
+    functions, common-symbol size merging, --icf on exported
+    functions, deterministic output, single-dash options parsed
+    as GNU ld reads them.
+  * Test suite moved from ctest to cargo test.
+  * Many more fixes and improvements; see upstream's release
+    notes for the full list.
+- Switch sources to a _service (tar_scm + cargo_vendor +
+  cargo_audit) shipping mold-3.0.0.tar.zst and vendor.tar.zst
+  with the mimalloc git dependency vendored for offline build.
+
+-------------------------------------------------------------------

Old:
----
  mold-2.42.1.tar.gz

New:
----
  _service
  mold-3.0.0.tar.zst
  vendor.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mold.spec ++++++
--- /var/tmp/diff_new_pack.e8mUj1/_old  2026-10-07 19:32:49.838205346 +0200
+++ /var/tmp/diff_new_pack.e8mUj1/_new  2026-10-07 19:32:49.839205388 +0200
@@ -17,31 +17,27 @@
 
 
 Name:           mold
-Version:        2.42.1
+Version:        3.0.0
 Release:        0
 Summary:        A Modern Linker (mold)
 License:        MIT
 URL:            https://github.com/rui314/mold
-Source:         
https://github.com/rui314/mold/archive/v%{version}/mold-%{version}.tar.gz
+Source0:        %{name}-%{version}.tar.zst
+Source1:        vendor.tar.zst
+BuildRequires:  cargo
 BuildRequires:  clang
-BuildRequires:  cmake
+BuildRequires:  diffutils
+BuildRequires:  gawk
 BuildRequires:  gcc-c++
-BuildRequires:  gdb
 BuildRequires:  glibc-devel-static
-BuildRequires:  libdwarf-tools
-BuildRequires:  llvm
-BuildRequires:  llvm-gold
 BuildRequires:  pkgconfig
-BuildRequires:  tbb-devel
-BuildRequires:  valgrind
+BuildRequires:  rust >= 1.95
+BuildRequires:  tar
 BuildRequires:  zstd
 BuildRequires:  pkgconfig(libzstd)
 BuildRequires:  pkgconfig(zlib)
 Suggests:       update-alternatives
 OrderWithRequires(pre): update-alternatives
-%ifarch x86_64
-BuildRequires:  gcc-32bit
-%endif
 
 %description
 mold is a faster drop-in replacement for existing Unix linkers.
@@ -51,19 +47,36 @@
 build time especially in rapid debug-edit-rebuild cycles.
 
 %prep
-%autosetup -p1
+%autosetup -p1 -a1
 
 %build
-%cmake \
-  -DMOLD_USE_MIMALLOC=OFF \
-  -DMOLD_USE_SYSTEM_TBB=ON
-%cmake_build
+# mold embeds the wrapper library dir at compile time (default
+# /usr/local/lib); openSUSE uses lib64, so export it for both
+# the build and the install below.
+export MOLD_LIBDIR=%{_libdir}
+export ZSTD_SYS_USE_PKG_CONFIG=1
+cargo build --release --offline --features system-allocator
 
 %install
-%cmake_install
+export MOLD_LIBDIR=%{_libdir}
+# install-mold.sh hardcodes PREFIX/share/doc, not the distro docdir, so install
+# the same layout by hand into the openSUSE paths.
+install -D -m 0755 target/release/mold %{buildroot}%{_bindir}/mold
+ln -sf mold %{buildroot}%{_bindir}/ld.mold
+install -D -m 0755 target/release/mold-wrapper.so 
%{buildroot}%{_libdir}/mold/mold-wrapper.so
+install -d %{buildroot}%{_libexecdir}/mold
+ln -sf ../../bin/mold %{buildroot}%{_libexecdir}/mold/ld
+install -D -m 0644 docs/mold.1 %{buildroot}%{_mandir}/man1/mold.1
+ln -sf mold.1 %{buildroot}%{_mandir}/man1/ld.mold.1
+install -D -m 0644 LICENSE %{buildroot}%{_docdir}/mold/LICENSE
 
 %check
-%ctest
+export MOLD_LIBDIR=%{_libdir}
+export ZSTD_SYS_USE_PKG_CONFIG=1
+# Full suite: unit tests plus the shell integration tests. Targets without
+# a compiler+QEMU pair in the buildroot are skipped by the runner, so this
+# exercises every native case with no cross toolchain needed.
+cargo test --release --offline --features system-allocator
 
 %pre
 if [ $1 -eq 2 ] && [ -f %{_sbindir}/update-alternatives ] && [ -f 
%{_sysconfdir}/alternatives/ld ] ; then

++++++ _service ++++++
<services>
  <service name="tar_scm" mode="manual">
    <param name="url">https://github.com/rui314/mold</param>
    <param name="scm">git</param>
    <param name="exclude">.git</param>
    <param name="revision">v3.0.0</param>
    <param name="versionformat">@PARENT_TAG@</param>
    <param name="versionrewrite-pattern">v(.*)</param>
  </service>
  <service name="set_version" mode="manual">
    <param name="basename">mold</param>
  </service>
  <service name="recompress" mode="manual">
    <param name="file">*.tar</param>
    <param name="compression">zst</param>
  </service>
  <service name="cargo_vendor" mode="manual">
    <param name="srcdir">mold</param>
    <param name="compression">zst</param>
    <param name="update">true</param>
  </service>
  <service name="cargo_audit" mode="manual">
    <param name="srcdir">mold</param>
  </service>
</services>

Reply via email to