Accepting request 810748 from devel:languages:D

OBS-URL: https://build.opensuse.org/request/show/810748
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ldc?expand=0&rev=10
This commit is contained in:
Dominique Leuenberger 2020-06-03 18:31:12 +00:00 committed by Git OBS Bridge
commit c56e3a8d49
4 changed files with 106 additions and 22 deletions

View File

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

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

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

View File

@ -1,3 +1,69 @@
-------------------------------------------------------------------
Mon Jun 1 09:09:31 UTC 2020 - Max Lin <mlin@suse.com>
- Switch to llvm7 explicity on Leap 15.2 as the default llvm in Leap 15.2
isn't llvm7
-------------------------------------------------------------------
Sun May 24 22:00:42 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Remove groups from specfile since they are not used anymore
- Add ldc-jit lib and devel packages
- Update to 1.21.0:
* Big news
- Frontend, druntime and Phobos are at version 2.091.1+, incl. new CLI
switches -verror-style and -HC, -HCd, -HCf. (#3333, #3399)
- LLVM for prebuilt packages upgraded to v10.0.0. Android NDK version
bumped to r21. (#3307, #3387, #3398)
- Initial support for GCC/GDC-style inline assembly syntax, besides
DMD-style inline asm and LDC-specific __asm, enabling to write inline
asm that is portable across GDC/LDC and corresponds to the GCC syntax
in C. See ldc-developers/druntime#171 for examples wrt. how to
transition from __asm to similar GCC-style asm. (#3304)
- Inline assembly diagnostics have been extended by the D source
location. (#3339)
* Platform support
- Supports LLVM 3.9 - 10.0.
* Bug fixes
- Fixed tail calls in thunks, affecting AArch64 (the debug libraries now work)
and possibly other architectures. (#3329, #3332)
- Windows: Do not emit any column infos for CodeView by default
(like clang) & add -gcolumn-info. (#3102, #3388)
- Windows: Do not leak MSVC-environment-setup into -run child processes.
A new LDC_VSDIR_FORCE environment variable can be used to enforce MSVC
toolchain setup. (#3340, #3341)
- Windows: Fix memory leak when throwing exceptions in threads.
(#3369, ldc-developers/druntime#181)
- Try to use memcmp for (in)equality of non-mutable static arrays and
mutable slices. (#3400, #3401)
- ldc.gccbuiltins_*: Lift 256-bit vector limit, adding 174 AVX512
builtins for x86; 512-bit vector aliases have been added to core.simd.
(#3405, #3406)
* Internals
- core.bitop.{bts,btr,btc} are now CTFE-able. (ldc-developers/druntime#182)
- Do not fallback to host for critical section size of unknown targets.
(#3389)
- Linux: Possibility to avoid passing -fuse-ld to cc via -linker=.
(#3382)
- WebAssembly: Switch from legacy linked-list ModuleInfo registry to
__minfo section. (#3348)
- Windows: Bundled libcurl upgraded to v7.69.1, incl. the option to link
it statically. (#3378)
- Windows: Switch to wide wmain C entry point in druntime. (#3351)
- druntime unittests are now compiled with -checkaction=context.
* Known issues
- NEW: When building LDC, old LDC 0.17.*/ltsmaster host compilers
miscompile LDC ≥ 1.21, leading to potential segfaults of the built LDC.
Ltsmaster can still be used to bootstrap a first compiler and then let
that compiler compile itself. (#3354)
- Buggy older ld.bfd linker versions may wrongly strip out required
symbols, e.g., ModuleInfos (so that e.g. no module ctors/dtors are run).
LDC defaults to ld.gold on Linux.
- LDC does not zero the padding area of a real variable. This may lead to
wrong results if the padding area is also considered. See #770. Does
not apply to real members inside structs etc.
-------------------------------------------------------------------
Tue Jul 9 14:48:29 UTC 2019 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -1,7 +1,7 @@
#
# spec file for package ldc
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2020 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,8 @@
#
%define so_ver 86
%define so_ver 91
%define lname_jit libldc-jit
%define lname_runtime libdruntime-%{name}
%define lname_phobos libphobos2-%{name}
%define _bashcompletionsdir %{_datadir}/bash-completion/completions
@ -38,12 +39,11 @@
%bcond_with ldc_tests
Name: ldc
Version: 1.16.0
Version: 1.21.0
Release: 0
Summary: The LLVM D Compiler
License: BSD-3-Clause AND Artistic-1.0
Group: Development/Languages/Other
Url: https://wiki.dlang.org/LDC
URL: https://wiki.dlang.org/LDC
Source0: https://github.com/ldc-developers/ldc/releases/download/v%{version}/ldc-%{version}-src.tar.gz
Source1: %{name}-rpmlintrc
Patch0: ldc-1.9.0-fix_arm_build.patch
@ -52,7 +52,7 @@ BuildRequires: help2man
BuildRequires: libconfig++-devel
BuildRequires: libcurl-devel
BuildRequires: libstdc++-devel
%if 0%{?suse_version} >= 1550
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200
# Use clang7/llvm7 on Tumbleweed due to https://github.com/ldc-developers/ldc/issues/3109
BuildRequires: clang7
BuildRequires: llvm7-devel
@ -67,6 +67,7 @@ BuildRequires: pkgconfig(bash-completion)
# Should be installed, at least runtime
Recommends: ldc-phobos-devel = %{version}
Recommends: ldc-runtime-devel = %{version}
Recommends: ldc-jit-devel = %{version}
Recommends: %{name}-bash-completion
# Since version 1.13.0, ldc uses ld.gold by default
Requires: binutils-gold
@ -106,14 +107,12 @@ capabilities.
%package -n %{lname_runtime}%{so_ver}
Summary: Minimal D runtime library
Group: System/Libraries
%description -n %{lname_runtime}%{so_ver}
The minimal runtime library required to support the D programming language.
%package runtime-devel
Summary: Development files for the D runtime library
Group: Development/Libraries/Other
Requires: %{lname_runtime}%{so_ver} = %{version}
Recommends: ldc-phobos-devel = %{version}
@ -123,14 +122,25 @@ with LDC.
%package -n %{lname_phobos}%{so_ver}
Summary: The D standard library
Group: System/Libraries
%description -n %{lname_phobos}%{so_ver}
This package includes ldc's phobos library - The D standard library.
%package -n %{lname_jit}%{so_ver}
Summary: The LDC jit library
%description -n %{lname_jit}%{so_ver}
This package includes ldc's jit library.
%package jit-devel
Summary: Development files for the D standard library
Requires: %{lname_jit}%{so_ver} = %{version}
%description jit-devel
This package contains the LDC jit development files.
%package phobos-devel
Summary: Development files for the D standard library
Group: Development/Libraries/Other
Requires: %{lname_phobos}%{so_ver} = %{version}
Requires: %{name}-runtime-devel = %{version}
@ -140,7 +150,6 @@ with LDC.
%package bash-completion
Summary: LDC Bash completion
Group: System/Shells
Requires: bash-completion
%description bash-completion
@ -177,7 +186,7 @@ cmake \
-DCMAKE_CXX_FLAGS="-std=c++11" \
-DCMAKE_C_FLAGS="-fPIC" \
..
make %{?_smp_mflags}
%make_build
popd
popd
%if %{with 1_12_0_intermediate}
@ -195,7 +204,7 @@ cmake \
-DCMAKE_CXX_FLAGS="-std=c++11" \
-DCMAKE_C_FLAGS="-fPIC" \
..
make %{?_smp_mflags}
%make_build
popd
popd
%endif
@ -215,12 +224,12 @@ touch no-suse-rules
%endif
%endif
-DCMAKE_CXX_FLAGS="-std=c++11"
make %{?_smp_mflags}
%make_build
%if %{with ldc_tests}
%check
pushd build/
make %{?_smp_mflags} test
%make_build test
popd
%endif
@ -228,19 +237,21 @@ popd
%cmake_install
# Install bash completion in the right folder
install -d %{buildroot}%{_bashcompletionsdir}
mv %{buildroot}/etc/bash_completion.d/ldc2 %{buildroot}%{_bashcompletionsdir}
rmdir %{buildroot}/etc/bash_completion.d/
mv %{buildroot}%{_sysconfdir}/bash_completion.d/ldc2 %{buildroot}%{_bashcompletionsdir}
rmdir %{buildroot}%{_sysconfdir}/bash_completion.d/
# Build man pages
help2man %{buildroot}%{_bindir}/ldc2 > ldc2.1 && gzip ldc2.1
help2man %{buildroot}%{_bindir}/ldmd2 > ldmd2.1 && gzip ldmd2.1
install -d %{buildroot}%{_mandir}/man1
install -m 644 -t %{buildroot}%{_mandir}/man1/ ldmd2.1.gz ldc2.1.gz
rm -rf %{buildroot}%{_libexecdir}/debug
rm -rf %{buildroot}%{_prefix}/lib/debug
%post -n %{lname_runtime}%{so_ver} -p /sbin/ldconfig
%post -n %{lname_phobos}%{so_ver} -p /sbin/ldconfig
%post -n %{lname_jit}%{so_ver} -p /sbin/ldconfig
%postun -n %{lname_runtime}%{so_ver} -p /sbin/ldconfig
%postun -n %{lname_phobos}%{so_ver} -p /sbin/ldconfig
%postun -n %{lname_jit}%{so_ver} -p /sbin/ldconfig
%files
%license LICENSE
@ -266,10 +277,17 @@ rm -rf %{buildroot}%{_libexecdir}/debug
%{_libdir}/%{lname_phobos}-shared.so.*
%{_libdir}/%{lname_phobos}-debug-shared.so.*
%files -n %{lname_jit}%{so_ver}
%{_libdir}/%{lname_jit}.so.*
%files jit-devel
%{_libdir}/%{lname_jit}-rt.a
%{_libdir}/%{lname_jit}.so
%files phobos-devel
%{_libdir}/%{lname_phobos}-shared.so
%{_libdir}/%{lname_phobos}-debug-shared.so
%{_includedir}/d/etc
%{_includedir}/d%{_sysconfdir}
%{_includedir}/d/std
%files bash-completion