From d97727b3623b769c59629b92ab33515f9bb24c1797c48bc24612976f11571de9 Mon Sep 17 00:00:00 2001 From: Guillaume GARDET Date: Wed, 19 May 2021 07:56:26 +0000 Subject: [PATCH] Accepting request 894138 from home:susnux:branches:devel:languages:D - Update to 1.26.0: OBS-URL: https://build.opensuse.org/request/show/894138 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=47 --- ldc-1.24.0-src.tar.gz | 3 --- ldc-1.25.1-src.tar.gz | 3 +++ ldc-1.26.0-src.tar.gz | 3 +++ ldc.changes | 39 ++++++++++++++++++++++++++++++++++ ldc.spec | 49 +++++++++++++++++++++++++++++++------------ 5 files changed, 81 insertions(+), 16 deletions(-) delete mode 100644 ldc-1.24.0-src.tar.gz create mode 100644 ldc-1.25.1-src.tar.gz create mode 100644 ldc-1.26.0-src.tar.gz diff --git a/ldc-1.24.0-src.tar.gz b/ldc-1.24.0-src.tar.gz deleted file mode 100644 index 8ba1b12..0000000 --- a/ldc-1.24.0-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd9561ade916e9279bdcc166cf0e4836449c24e695ab4470297882588adbba3c -size 7522065 diff --git a/ldc-1.25.1-src.tar.gz b/ldc-1.25.1-src.tar.gz new file mode 100644 index 0000000..d4111a9 --- /dev/null +++ b/ldc-1.25.1-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e3716fe9927be91264d1fde5c41071026f6c44262735e9ebda538089b612d40 +size 7625687 diff --git a/ldc-1.26.0-src.tar.gz b/ldc-1.26.0-src.tar.gz new file mode 100644 index 0000000..47e5dec --- /dev/null +++ b/ldc-1.26.0-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c18f4c76869f0196b459dcd6196c7eaea1b097cc422cf3771de394f6c0ef7474 +size 7650063 diff --git a/ldc.changes b/ldc.changes index cf78321..79d7f8e 100644 --- a/ldc.changes +++ b/ldc.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Mon May 17 13:49:15 UTC 2021 - Ferdinand Thiessen + +- Update to 1.26.0: + * Frontend, druntime and Phobos are at version 2.096.1+ + incl. new ldmd2 command-line option -gdwarf= + * Supports LLVM 6.0 - 12.0 + * LDC invocations can now be nicely profiled via --ftime-trace. + * Struct TypeInfos are emitted into referencing object files only, + and special TypeInfo member functions into the owning object + file only. + * Bug fixes: + * TypeInfo for interface gives invalid string for name. + * dcompute: Don’t reject CUDA versions 7.x - 8.0.0. + * Don’t enforce the frame pointer for functions with GCC-style + inline asm. + * Fix some cases of insufficient alignment for arguments and + parameters. + * Fix a few issues with LLVM 12. + * Add source location information for TypeInfo diagnostics + with -betterC. + * Keep init symbols of built-in TypeInfo classes mutable just + like any other TypeInfo, so that e.g. synchronized() can be + used on the implicit monitor. + * Predefine version FreeStanding when targeting bare-metal. + * druntime: Define rt.aaA.AA as naked pointer, no struct wrapper + * Misc. fixes and improvements for the CMake scripts, + incl. new defaults for LDC_INSTALL_{LTOPLUGIN,LLVM_RUNTIME_LIBS} + * -cleanup-obj: Put object files into unique temporary directory + by default. + * druntime: Add missing core.atomic.atomicFetch{Add,Sub}. + * Fix regression wrt. non-deleted temporary -run executable. + * Breaking ABI changes: + * extern(D): Pass non-PODs by ref to temporary. + * -linkonce-templates comes with a new experimental template + emission scheme and is now suited for projects consisting of + multiple object files too. +- 1.13+ is now required for 1.26+ on 32bit + ------------------------------------------------------------------- Mon Dec 28 18:33:03 UTC 2020 - Matthias Eliasson diff --git a/ldc.spec b/ldc.spec index 8ba2ee4..f46667f 100644 --- a/ldc.spec +++ b/ldc.spec @@ -1,7 +1,7 @@ # # spec file for package ldc # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,7 +16,7 @@ # -%define so_ver 94 +%define so_ver 96 %define lname_jit libldc-jit %define lname_runtime libdruntime-%{name} %define lname_phobos libphobos2-%{name} @@ -31,15 +31,16 @@ %ifarch %{ix86} %arm # 32-bit needs 1.12.0 intermediate build due to: https://github.com/ldc-developers/ldc/issues/2947 -%bcond_without 1_12_0_intermediate +# And 1.26+ needs a more recent intermediate compiler: https://github.com/ldc-developers/ldc/issues/3729 +%bcond_without ldc_intermediate %else -%bcond_with 1_12_0_intermediate +%bcond_with ldc_intermediate %endif %bcond_with ldc_tests Name: ldc -Version: 1.24.0 +Version: 1.26.0 Release: 0 Summary: The LLVM D Compiler License: BSD-3-Clause AND Artistic-1.0 @@ -57,13 +58,14 @@ BuildRequires: libstdc++-devel BuildRequires: clang7 BuildRequires: llvm7-devel %else -BuildRequires: llvm-clang -BuildRequires: llvm-devel >= 3.9 +BuildRequires: llvm-clang >= 6.0 +BuildRequires: llvm-devel >= 6.0 %endif BuildRequires: ncurses-devel BuildRequires: sqlite3-devel BuildRequires: zlib-devel BuildRequires: pkgconfig(bash-completion) +BuildRequires: binutils-gold # Should be installed, at least runtime Recommends: ldc-phobos-devel = %{version} Recommends: ldc-runtime-devel = %{version} @@ -74,9 +76,10 @@ Requires: binutils-gold %if %{with ldc_bootstrap} # v0.17.6 is the last version buildable with a C++ compiler, so use it for bootstrapping Source10: https://github.com/ldc-developers/ldc/releases/download/v0.17.6/ldc-0.17.6-src.tar.gz -%if %{with 1_12_0_intermediate} +%if %{with ldc_intermediate} # 1.12.0 is needed to build on 32-bit: https://github.com/ldc-developers/ldc/issues/2947 Source11: https://github.com/ldc-developers/ldc/releases/download/v1.12.0/ldc-1.12.0-src.tar.gz +Source12: https://github.com/ldc-developers/ldc/releases/download/v1.25.1/ldc-1.25.1-src.tar.gz %endif %endif %if %{with ldc_tests} @@ -84,7 +87,6 @@ BuildRequires: gcc-c++ BuildRequires: gdb %endif %if %{without ldc_bootstrap} -BuildRequires: binutils-gold BuildRequires: ldc BuildRequires: ldc-phobos-devel BuildRequires: ldc-runtime-devel @@ -163,11 +165,15 @@ Optional dependency offering bash completion for ldc2 tar xf %{SOURCE10} pushd ldc-0.17.6-src popd -%if %{with 1_12_0_intermediate} +%if %{with ldc_intermediate} tar xf %{SOURCE11} pushd ldc-1.12.0-src %patch0 -p1 popd +tar xf %{SOURCE12} +pushd ldc-1.25.1-src +%patch0 -p1 +popd %endif %endif @@ -196,7 +202,7 @@ cmake \ %make_build popd popd -%if %{with 1_12_0_intermediate} +%if %{with ldc_intermediate} pushd ldc-1.12.0-src #Needs to be compiled with clang, but opensuse_rules.cmake forces gcc so disable rule touch ./no-suse-rules @@ -214,6 +220,23 @@ cmake \ %make_build popd popd +pushd ldc-1.25.1-src +#Needs to be compiled with clang, but opensuse_rules.cmake forces gcc so disable rule +touch ./no-suse-rules +mkdir build && pushd build +# FIXME: you should use %%cmake macros +cmake \ + -DCMAKE_USER_MAKE_RULES_OVERRIDE=./no-suse-rules \ + -DCMAKE_C_COMPILER="%{_bindir}/clang" \ + -DCMAKE_CXX_COMPILER="%{_bindir}/clang++" \ + -DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d \ + -DD_COMPILER:PATH=`pwd`/../../ldc-1.12.0-src/build/bin/ldmd2 \ + -DCMAKE_CXX_FLAGS="-std=c++11" \ + -DCMAKE_C_FLAGS="-fPIC" \ + .. +%make_build +popd +popd %endif %endif #Needs to be compiled with clang, but opensuse_rules.cmake forces gcc so disable rule @@ -224,8 +247,8 @@ touch no-suse-rules -DCMAKE_CXX_COMPILER="%{_bindir}/clang++" \ -DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d \ %if %{with ldc_bootstrap} -%if %{with 1_12_0_intermediate} - -DD_COMPILER:PATH=`pwd`/../ldc-1.12.0-src/build/bin/ldmd2 \ +%if %{with ldc_intermediate} + -DD_COMPILER:PATH=`pwd`/../ldc-1.25.1-src/build/bin/ldmd2 \ %else -DD_COMPILER:PATH=`pwd`/../ldc-0.17.6-src/build/bin/ldmd2 \ %endif