SHA256
1
0
forked from pool/ldc

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
This commit is contained in:
Guillaume GARDET 2021-05-19 07:56:26 +00:00 committed by Git OBS Bridge
parent d13feb7c10
commit d97727b362
5 changed files with 81 additions and 16 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fd9561ade916e9279bdcc166cf0e4836449c24e695ab4470297882588adbba3c
size 7522065

3
ldc-1.25.1-src.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0e3716fe9927be91264d1fde5c41071026f6c44262735e9ebda538089b612d40
size 7625687

3
ldc-1.26.0-src.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c18f4c76869f0196b459dcd6196c7eaea1b097cc422cf3771de394f6c0ef7474
size 7650063

View File

@ -1,3 +1,42 @@
-------------------------------------------------------------------
Mon May 17 13:49:15 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to 1.26.0:
* Frontend, druntime and Phobos are at version 2.096.1+
incl. new ldmd2 command-line option -gdwarf=<version>
* 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: Dont reject CUDA versions 7.x - 8.0.0.
* Dont 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 <elimat@opensuse.org>

View File

@ -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