From 421cee66d55cf7aac2c0a2cf93bea8d70bab309b47352183b0e94b39f17187ec Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 21 Dec 2021 18:39:05 +0000 Subject: [PATCH] Accepting request 941885 from devel:gcc Add new Modern Linker (mold) package. OBS-URL: https://build.opensuse.org/request/show/941885 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mold?expand=0&rev=1 --- .gitattributes | 23 ++++++++++++++ .gitignore | 1 + mold.changes | 4 +++ mold.spec | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++ v1.0.0.tar.gz | 3 ++ 5 files changed, 114 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 mold.changes create mode 100644 mold.spec create mode 100644 v1.0.0.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/mold.changes b/mold.changes new file mode 100644 index 0000000..4560d7c --- /dev/null +++ b/mold.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Tue Dec 21 15:03:07 UTC 2021 - Mark Nefedov + +- Start with version 1.0.0. diff --git a/mold.spec b/mold.spec new file mode 100644 index 0000000..dc05cde --- /dev/null +++ b/mold.spec @@ -0,0 +1,83 @@ +# +# spec file for package mold +# +# Copyright (c) 2021 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: mold +Version: 1.0.0 +Release: 0 +Summary: A Modern Linker (mold) +License: AGPL-3.0-or-later +Url: https://github.com/rui314/mold +Source: https://github.com/rui314/mold/archive/refs/tags/v%{version}.tar.gz +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: openssl-devel +BuildRequires: xxhash-devel +BuildRequires: zlib-devel +PreReq: update-alternatives + +%description +mold is a faster drop-in replacement for existing Unix linkers. +It is several times faster than LLVM lld linker, the second-fastest +open-source linker. +mold is created for increasing developer productivity by reducing +build time especially in rapid debug-edit-rebuild cycles. + +%prep +%autosetup -p1 -n mold-%{version} + +%build +export CC=gcc +export CXX=g++ +export CFLAGS="%{optflags}" +export CXXFLAGS="${CFLAGS}" + +export MANDIR=%{_mandir} +export LIBDIR=%{_libdir} +export BINDIR=%{_bindir} +%make_build + +%install +export MANDIR=%{_mandir} +export LIBDIR=%{_libdir} +export BINDIR=%{_bindir} +%make_install + +%post +"%_sbindir/update-alternatives" --install \ + "%_bindir/ld" ld "%_bindir/ld.mold" 1 + +%pre +if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] ; then + "%_sbindir/update-alternatives" --remove ld "%_bindir/ld.mold"; +fi; + +%postun +if [ ! -f %{_bindir}/lld ] ; then + "%{_sbindir}/update-alternatives" --remove ld "%{_bindir}/ld.mold" +fi + +%files +%ghost %_sysconfdir/alternatives/ld +%{_bindir}/mold +%{_bindir}/ld.mold +%{_bindir}/ld64.mold +%dir %{_libdir}/mold +%{_libdir}/mold/mold-wrapper.so +%{_mandir}/man1/mold.1.gz + +%changelog diff --git a/v1.0.0.tar.gz b/v1.0.0.tar.gz new file mode 100644 index 0000000..04570cf --- /dev/null +++ b/v1.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7cf170b57a3767d944c80c7468215fa9f8fa176f94f411a5b62b3f56cf07400 +size 3482927