From 32bc98db4549e3c7790030282fafab4b606c27def05d2405fe0fd64c5484a026 Mon Sep 17 00:00:00 2001 From: Guillaume GARDET Date: Tue, 26 May 2020 11:37:19 +0000 Subject: [PATCH 1/2] Accepting request 808560 from home:elimat:branches:devel:languages:D MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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. OBS-URL: https://build.opensuse.org/request/show/808560 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=36 --- ldc-1.16.0-src.tar.gz | 3 --- ldc-1.21.0-src.tar.gz | 3 +++ ldc.changes | 60 +++++++++++++++++++++++++++++++++++++++++++ ldc.spec | 54 +++++++++++++++++++++++++------------- 4 files changed, 99 insertions(+), 21 deletions(-) delete mode 100644 ldc-1.16.0-src.tar.gz create mode 100644 ldc-1.21.0-src.tar.gz diff --git a/ldc-1.16.0-src.tar.gz b/ldc-1.16.0-src.tar.gz deleted file mode 100644 index de2c4e5..0000000 --- a/ldc-1.16.0-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:426d9d0dc65b7d3d739809c9c8bf022177aeaa8e65999be7145e052be3357302 -size 6995348 diff --git a/ldc-1.21.0-src.tar.gz b/ldc-1.21.0-src.tar.gz new file mode 100644 index 0000000..be3a4ea --- /dev/null +++ b/ldc-1.21.0-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50b7f929bf6b285c5b6618dd32162838daa2788298f25e669570df3fdc0716d8 +size 7355981 diff --git a/ldc.changes b/ldc.changes index bc9a3df..2c3a436 100644 --- a/ldc.changes +++ b/ldc.changes @@ -1,3 +1,63 @@ +------------------------------------------------------------------- +Sun May 24 22:00:42 UTC 2020 - Matthias Eliasson + +- 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 diff --git a/ldc.spec b/ldc.spec index 9f6b887..57f4d2e 100644 --- a/ldc.spec +++ b/ldc.spec @@ -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 @@ -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 From 73d9c4743ea2f66c9967cbf19872ed248aab9d344826ab3348b2e295a1d20775 Mon Sep 17 00:00:00 2001 From: Guillaume GARDET Date: Tue, 2 Jun 2020 08:32:26 +0000 Subject: [PATCH 2/2] Accepting request 810584 from home:mlin7442:rebuild_152 Leap 15.2 the default llvm switched to llvm9, lets force compile with llvm7 OBS-URL: https://build.opensuse.org/request/show/810584 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=37 --- ldc.changes | 6 ++++++ ldc.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ldc.changes b/ldc.changes index 2c3a436..512f142 100644 --- a/ldc.changes +++ b/ldc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jun 1 09:09:31 UTC 2020 - Max Lin + +- 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 diff --git a/ldc.spec b/ldc.spec index 57f4d2e..ff1814e 100644 --- a/ldc.spec +++ b/ldc.spec @@ -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