SHA256
1
0
forked from pool/ldc
ldc/ldc.spec

306 lines
9.2 KiB
RPMSpec
Raw Normal View History

#
# spec file for package ldc
#
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
# 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
# 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.
Accepting request 644172 from home:Guillaume_G:branches:devel:languages:D - Update to 1.12.0: * Big news - Frontend, druntime and Phobos are at version 2.082.1. (#2818, #2837, #2858, #2873) (new) Significant performance improvements for some transcendental std.math functions in single and double precision, at least for x86. (dlang/phobos#6272 (comment)) - Support for LLVM 7, which is used for the prebuilt packages. Due to an LLVM 7.0.0 regression, the prebuilt x86[_64] LDC binaries require a CPU with SSSE3, and so will your optimized binaries (unless compiling with -mattr=-ssse3). (#2850) - JIT compilation: new ldc.dynamic_compile.bind function with interface similar to C++ std::bind, allowing to generate efficient specialized versions of functions (much like Easy::jit for C++). (#2726) - LTO now working for Win64 too; the prebuilt package includes the required external LLD linker and the optional LTO default libs. Enable as usual with -flto=<thin|full> [-defaultlib=druntime-ldc-lto,phobos2-ldc-lto]. (#2774) - Config file: new lib-dirs array for directories to be searched for libraries, incl. LLVM compiler-rt libraries. (#2790) * Platform support - Supports LLVM 3.7 - 7.0. - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017. - Alpine linux/x64: built against Musl libc to support Docker images based on the Alpine distro, requires the llvm5-libs, musl-dev, and gcc packages to build and link D apps and the tzdata and libcurl packages for certain stdlib modules. - Android/ARM: This release slightly changes the way emulated TLS is interfaced, but is missing a patch for 32-bit ARM. See the wiki for instructions on patching that file manually before cross-compiling the runtime libraries for 32-bit Android/ARM. * Bug fixes - Fix IR-based PGO on Windows (requires our LLVM fork). (#2539) - Fix C++ class construction with D new on Posix. (#2801) - Android: No more text relocations in Phobos zlib, required for API level 23+. (#2822, #2835) - Declare extern const/immutable globals as IR constants. (#2849, #2852) - Fix issue when emitting both object and textual assembly files at once (-output-o -output-s). (#2847) - Support address of struct member as key/value in AA literal. (#2859, #2860) - Fix ICE when computing addresses relative to functions/labels. (#2865, #2867) (new) - beta2 regression wrt. cross-compiling to Android. (#2863) (new) - Fix so_version to 82 OBS-URL: https://build.opensuse.org/request/show/644172 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=23
2018-10-24 09:29:43 +02:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Accepting request 859085 from home:elimat:branches:devel:languages:D - Update to 1.24.0: Big news * Frontend, druntime and Phobos are at version 2.094.1+, incl. new command-line options -cov=ctfe, -vtemplates=list-instances and -HC=<silent|verbose> . (#3560, #3582, #3588, #3593) * Support for LLVM 11. The prebuilt packages use v11.0.0; x86 packages newly include the LLVM backend for AMD GPUs. (#3546, #3586) * Experimental support for macOS on 64-bit ARM, thanks Guillaume! All druntime/Phobos unit tests pass. The macOS package includes prebuilt druntime/Phobos; adapt the SDK path in etc/ldc2.conf and then use -mtriple=arm64-apple-macos to cross-compile. If you know how to work around the countless linker warnings, please let us know. (dlang/druntime#3226, #3583) Platform support * Supports LLVM 6.0 - 11.0. Bug fixes * Fix potentially wrong context pointers when calling delegate literals. (#3553, #3554) * Fix alignment issue when casting vector rvalue to static array. (c8889a9) * Make sure lambdas in pragma(inline, true) functions are emitted into each referencing compilation unit. (#3570) * Fix -Xcc=-Wl,... by dropping support for comma-separated list of cc options. (c61b135) * Fix ThreadSanitizer support by not detaching main thread upon program termination. (#3572) * Traverse full chain of nested aggregates when resolving a nested variable. (#3556, #3558) Internals * CI: Linux AArch64 is now also tested by a Travis job, because Shippable has sadly become unreliable. (#3469) * Building LDC with an LDC host compiler might be somewhat faster now (requires -DLDC_LINK_MANUALLY=OFF in the CMake command-line on non-Windows hosts). (#3575) Known issues * 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/859085 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=45
2021-01-04 11:06:30 +01:00
%define so_ver 94
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%define lname_jit libldc-jit
%define lname_runtime libdruntime-%{name}
%define lname_phobos libphobos2-%{name}
%define _bashcompletionsdir %{_datadir}/bash-completion/completions
Accepting request 714253 from home:Guillaume_G:branches:openSUSE:Factory:ARM - Switch to llvm7 for Tumbleweed as llvm8 is not able to build bootstrap version 0.17.6 See https://github.com/ldc-developers/ldc/issues/3109 - Disable -flto=4 option as llvm does not recognize this option - Update to 1.16.0: * Big news - Frontend, druntime and Phobos are at version 2.086.1, incl. a DIP1008 fix. (#3062, #3076, #3091) (new) - Non-Windows x86: Faster real versions of std.math.{tan,expi}. (#2855) - dcompute: New __traits(getTargetInfo, "dcomputeTargets"). (#3090) (new) * Platform support - Supports LLVM 3.9 - 8.0 (incl. 7.1). * Bug fixes - Make pragma(LDC_no_typeinfo) actually elide TypeInfo emission for structs, classes and interfaces. (#3068) - Windows: Fix DLL entry point in MinGW-based libs. (ldc-developers/mingw-w64-libs@8d930c1) - WebAssembly: Use --export-dynamic when linking with LLD 8+. (#3023, #3072) - Fix corrupt this in functions nested in in/out contracts. (45460a1) - Fix identity comparisons of integral vectors. (a44c78f) - Improved handling of unsupported vector ops. (a44c78f) - uClibc: Fix C assert calls. (#3078, #3082) (new) - Improved error message on global variable collision. (#3080, #3081) (new) * Known issues - Buggy older ld.bfd linker versions may wrongly strip out required symbols, e.g., ModuleInfos (so that e.g. no module OBS-URL: https://build.opensuse.org/request/show/714253 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=34
2019-07-10 08:23:46 +02:00
# llvm7 does not support -flto=4 flag
%define _lto_cflags %{nil}
# Do bootstrap (even in Tumbleweed, and Leap 15+), otherwise LDC will build
# against old installed .so instead of new built one
%bcond_without ldc_bootstrap
%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
%else
%bcond_with 1_12_0_intermediate
%endif
%bcond_with ldc_tests
Name: ldc
Accepting request 859085 from home:elimat:branches:devel:languages:D - Update to 1.24.0: Big news * Frontend, druntime and Phobos are at version 2.094.1+, incl. new command-line options -cov=ctfe, -vtemplates=list-instances and -HC=<silent|verbose> . (#3560, #3582, #3588, #3593) * Support for LLVM 11. The prebuilt packages use v11.0.0; x86 packages newly include the LLVM backend for AMD GPUs. (#3546, #3586) * Experimental support for macOS on 64-bit ARM, thanks Guillaume! All druntime/Phobos unit tests pass. The macOS package includes prebuilt druntime/Phobos; adapt the SDK path in etc/ldc2.conf and then use -mtriple=arm64-apple-macos to cross-compile. If you know how to work around the countless linker warnings, please let us know. (dlang/druntime#3226, #3583) Platform support * Supports LLVM 6.0 - 11.0. Bug fixes * Fix potentially wrong context pointers when calling delegate literals. (#3553, #3554) * Fix alignment issue when casting vector rvalue to static array. (c8889a9) * Make sure lambdas in pragma(inline, true) functions are emitted into each referencing compilation unit. (#3570) * Fix -Xcc=-Wl,... by dropping support for comma-separated list of cc options. (c61b135) * Fix ThreadSanitizer support by not detaching main thread upon program termination. (#3572) * Traverse full chain of nested aggregates when resolving a nested variable. (#3556, #3558) Internals * CI: Linux AArch64 is now also tested by a Travis job, because Shippable has sadly become unreliable. (#3469) * Building LDC with an LDC host compiler might be somewhat faster now (requires -DLDC_LINK_MANUALLY=OFF in the CMake command-line on non-Windows hosts). (#3575) Known issues * 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/859085 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=45
2021-01-04 11:06:30 +01:00
Version: 1.24.0
Release: 0
Summary: The LLVM D Compiler
License: BSD-3-Clause AND Artistic-1.0
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
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
BuildRequires: cmake
BuildRequires: help2man
BuildRequires: libconfig++-devel
BuildRequires: libcurl-devel
BuildRequires: libstdc++-devel
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200
Accepting request 714253 from home:Guillaume_G:branches:openSUSE:Factory:ARM - Switch to llvm7 for Tumbleweed as llvm8 is not able to build bootstrap version 0.17.6 See https://github.com/ldc-developers/ldc/issues/3109 - Disable -flto=4 option as llvm does not recognize this option - Update to 1.16.0: * Big news - Frontend, druntime and Phobos are at version 2.086.1, incl. a DIP1008 fix. (#3062, #3076, #3091) (new) - Non-Windows x86: Faster real versions of std.math.{tan,expi}. (#2855) - dcompute: New __traits(getTargetInfo, "dcomputeTargets"). (#3090) (new) * Platform support - Supports LLVM 3.9 - 8.0 (incl. 7.1). * Bug fixes - Make pragma(LDC_no_typeinfo) actually elide TypeInfo emission for structs, classes and interfaces. (#3068) - Windows: Fix DLL entry point in MinGW-based libs. (ldc-developers/mingw-w64-libs@8d930c1) - WebAssembly: Use --export-dynamic when linking with LLD 8+. (#3023, #3072) - Fix corrupt this in functions nested in in/out contracts. (45460a1) - Fix identity comparisons of integral vectors. (a44c78f) - Improved handling of unsupported vector ops. (a44c78f) - uClibc: Fix C assert calls. (#3078, #3082) (new) - Improved error message on global variable collision. (#3080, #3081) (new) * Known issues - Buggy older ld.bfd linker versions may wrongly strip out required symbols, e.g., ModuleInfos (so that e.g. no module OBS-URL: https://build.opensuse.org/request/show/714253 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=34
2019-07-10 08:23:46 +02:00
# Use clang7/llvm7 on Tumbleweed due to https://github.com/ldc-developers/ldc/issues/3109
BuildRequires: clang7
BuildRequires: llvm7-devel
%else
BuildRequires: llvm-clang
BuildRequires: llvm-devel >= 3.9
Accepting request 714253 from home:Guillaume_G:branches:openSUSE:Factory:ARM - Switch to llvm7 for Tumbleweed as llvm8 is not able to build bootstrap version 0.17.6 See https://github.com/ldc-developers/ldc/issues/3109 - Disable -flto=4 option as llvm does not recognize this option - Update to 1.16.0: * Big news - Frontend, druntime and Phobos are at version 2.086.1, incl. a DIP1008 fix. (#3062, #3076, #3091) (new) - Non-Windows x86: Faster real versions of std.math.{tan,expi}. (#2855) - dcompute: New __traits(getTargetInfo, "dcomputeTargets"). (#3090) (new) * Platform support - Supports LLVM 3.9 - 8.0 (incl. 7.1). * Bug fixes - Make pragma(LDC_no_typeinfo) actually elide TypeInfo emission for structs, classes and interfaces. (#3068) - Windows: Fix DLL entry point in MinGW-based libs. (ldc-developers/mingw-w64-libs@8d930c1) - WebAssembly: Use --export-dynamic when linking with LLD 8+. (#3023, #3072) - Fix corrupt this in functions nested in in/out contracts. (45460a1) - Fix identity comparisons of integral vectors. (a44c78f) - Improved handling of unsupported vector ops. (a44c78f) - uClibc: Fix C assert calls. (#3078, #3082) (new) - Improved error message on global variable collision. (#3080, #3081) (new) * Known issues - Buggy older ld.bfd linker versions may wrongly strip out required symbols, e.g., ModuleInfos (so that e.g. no module OBS-URL: https://build.opensuse.org/request/show/714253 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=34
2019-07-10 08:23:46 +02:00
%endif
BuildRequires: ncurses-devel
BuildRequires: sqlite3-devel
BuildRequires: zlib-devel
BuildRequires: pkgconfig(bash-completion)
# Should be installed, at least runtime
Recommends: ldc-phobos-devel = %{version}
Recommends: ldc-runtime-devel = %{version}
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
Recommends: ldc-jit-devel = %{version}
Recommends: %{name}-bash-completion
# Since version 1.13.0, ldc uses ld.gold by default
Requires: binutils-gold
%if %{with ldc_bootstrap}
Accepting request 631387 from home:Guillaume_G:branches:devel:languages:D - Update to 1.11.0: * Big news: - Frontend, druntime and Phobos are at version 2.081.2. (#2752, #2772, #2776, #2791, #2815) (new) - Add some support for classes without TypeInfos, for -betterC and/or a minimal (d)runtime. (#2765) - LLVM for prebuilt packages upgraded to v6.0.1. The x86_64 packages feature some more LLVM targets for cross-compilation (experiments): MIPS, MSP430, RISC-V and WebAssembly. (#2760) - Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page for how to get started. (#2766, #2779, #2785) - AArch64 (64-bit ARM) now mostly working on Linux/glibc and Android. Current ltsmaster is able to bootstrap v1.11, which can also bootstrap itself; most tests pass. (Preliminary) CI has been set up. (#2802, #2817, #2813) (new) - LDC on Windows now uses 80-bit compile-time reals. This allows for seamless cross-compilation to other x86(_64) targets, e.g., without real.min underflowing to 0 and real.max overflowing to infinity. (#2752) - New @naked UDA in ldc.attributes & enhanced functionality for @llvmAttr("<name>"). (#2773) * Platform support: - Supports LLVM 3.7 - 6.0. - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017. - Alpine linux/x64: built against Musl libc to support Docker images based on the Alpine distro, requires the llvm5-libs, musl-dev, and gcc packages to build and link D apps and the tzdata and libcurl packages for certain stdlib modules. * Bug fixes: - extern(C++) on Posix: Pass non-PODs indirectly by value. (#2728) - extern(C++) on Windows/MSVC: Methods return all structs via hidden sret pointer. (#2720, #1935) - Make GC2Stack IR optimization pass work as intended. (#2750) - Work around inline assembly regression with LLVM 6 on Win32. The prebuilt Win32 package is now using LLVM 6.0.1 too. (#2629, #2770) - Fix overzealous check for multiple main() functions. (#2778) (new) - Fix corrupt prefix in integrated LLD's console output. (#2781) (new) - No context ptr for nested non-extern(D) functions. (#2808, #2809) (new) * Known issues: - 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. - Update bootstrap version to 0.17.6: * Added support for LLVM 6.0 and 7.0. (#2600, #2825) * Backported AArch64 fixes from master; most tests passing on Linux/glibc and Android * Fix generation of debug info. (#2594) * Added support for bootstrapping on DragonFly BSD * Fixed missing definition in std.datetime on Solaris * Fixed std.datetime unittest failure. (ldc-developers/phobos#59) * Fixed tests for PowerPC. (#2634, #2635) * Improvements for MIPS. * Make core.stdc.stdarg.va_* functions nothrow to enable compiling the 2.082 frontend. (#2821) * CI updates. - Remove upstreamed patches: * ldc-0.17.5-add_missing_include.patch * ldc-0.17.5-add_support_to_LLVM6.patch * ldc-0.17.5-backport_pr_2315.patch * ldc-0.17.5-default-to-pic.patch - Enable aarch64 since it can be boostrapped with ldc 0.17.6 - Fix x86_64 build by adding '-fPIC' to C_FLAGS of bootstrap OBS-URL: https://build.opensuse.org/request/show/631387 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=20
2018-08-24 16:13:58 +02:00
# 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}
# 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
%endif
%endif
%if %{with ldc_tests}
BuildRequires: gcc-c++
BuildRequires: gdb
%endif
%if %{without ldc_bootstrap}
BuildRequires: binutils-gold
BuildRequires: ldc
BuildRequires: ldc-phobos-devel
BuildRequires: ldc-runtime-devel
%endif
%if %{with ldc_tests}
BuildRequires: python
%endif
%if %{with ldc_tests}
BuildRequires: timezone
BuildRequires: unzip
%endif
# ppc64 is disabled due to boo#1113531
ExclusiveArch: %{ix86} x86_64 %arm aarch64
%description
LDC is an LLVM based compiler for the D programming language. It uses the
frontend of the reference compiler (DMD), thereby supporting the same language
features, but profits from LLVM's superior optimizing and code generation
capabilities.
%package -n %{lname_runtime}%{so_ver}
Summary: Minimal D runtime library
%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
Requires: %{lname_runtime}%{so_ver} = %{version}
Recommends: ldc-phobos-devel = %{version}
%description runtime-devel
This package contains the druntime development files necessary for developing
with LDC.
%package -n %{lname_phobos}%{so_ver}
Summary: The D standard library
%description -n %{lname_phobos}%{so_ver}
This package includes ldc's phobos library - The D standard library.
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%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
Requires: %{lname_phobos}%{so_ver} = %{version}
Requires: %{name}-runtime-devel = %{version}
%description phobos-devel
This package contains the Phobos development files necessary for developing
with LDC.
%package bash-completion
Summary: LDC Bash completion
Requires: bash-completion
%description bash-completion
Optional dependency offering bash completion for ldc2
%prep
%setup -q -n ldc-%{version}-src
%patch0 -p1
%if %{with ldc_bootstrap}
tar xf %{SOURCE10}
Accepting request 631387 from home:Guillaume_G:branches:devel:languages:D - Update to 1.11.0: * Big news: - Frontend, druntime and Phobos are at version 2.081.2. (#2752, #2772, #2776, #2791, #2815) (new) - Add some support for classes without TypeInfos, for -betterC and/or a minimal (d)runtime. (#2765) - LLVM for prebuilt packages upgraded to v6.0.1. The x86_64 packages feature some more LLVM targets for cross-compilation (experiments): MIPS, MSP430, RISC-V and WebAssembly. (#2760) - Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page for how to get started. (#2766, #2779, #2785) - AArch64 (64-bit ARM) now mostly working on Linux/glibc and Android. Current ltsmaster is able to bootstrap v1.11, which can also bootstrap itself; most tests pass. (Preliminary) CI has been set up. (#2802, #2817, #2813) (new) - LDC on Windows now uses 80-bit compile-time reals. This allows for seamless cross-compilation to other x86(_64) targets, e.g., without real.min underflowing to 0 and real.max overflowing to infinity. (#2752) - New @naked UDA in ldc.attributes & enhanced functionality for @llvmAttr("<name>"). (#2773) * Platform support: - Supports LLVM 3.7 - 6.0. - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017. - Alpine linux/x64: built against Musl libc to support Docker images based on the Alpine distro, requires the llvm5-libs, musl-dev, and gcc packages to build and link D apps and the tzdata and libcurl packages for certain stdlib modules. * Bug fixes: - extern(C++) on Posix: Pass non-PODs indirectly by value. (#2728) - extern(C++) on Windows/MSVC: Methods return all structs via hidden sret pointer. (#2720, #1935) - Make GC2Stack IR optimization pass work as intended. (#2750) - Work around inline assembly regression with LLVM 6 on Win32. The prebuilt Win32 package is now using LLVM 6.0.1 too. (#2629, #2770) - Fix overzealous check for multiple main() functions. (#2778) (new) - Fix corrupt prefix in integrated LLD's console output. (#2781) (new) - No context ptr for nested non-extern(D) functions. (#2808, #2809) (new) * Known issues: - 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. - Update bootstrap version to 0.17.6: * Added support for LLVM 6.0 and 7.0. (#2600, #2825) * Backported AArch64 fixes from master; most tests passing on Linux/glibc and Android * Fix generation of debug info. (#2594) * Added support for bootstrapping on DragonFly BSD * Fixed missing definition in std.datetime on Solaris * Fixed std.datetime unittest failure. (ldc-developers/phobos#59) * Fixed tests for PowerPC. (#2634, #2635) * Improvements for MIPS. * Make core.stdc.stdarg.va_* functions nothrow to enable compiling the 2.082 frontend. (#2821) * CI updates. - Remove upstreamed patches: * ldc-0.17.5-add_missing_include.patch * ldc-0.17.5-add_support_to_LLVM6.patch * ldc-0.17.5-backport_pr_2315.patch * ldc-0.17.5-default-to-pic.patch - Enable aarch64 since it can be boostrapped with ldc 0.17.6 - Fix x86_64 build by adding '-fPIC' to C_FLAGS of bootstrap OBS-URL: https://build.opensuse.org/request/show/631387 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=20
2018-08-24 16:13:58 +02:00
pushd ldc-0.17.6-src
popd
%if %{with 1_12_0_intermediate}
tar xf %{SOURCE11}
pushd ldc-1.12.0-src
%patch0 -p1
popd
%endif
%endif
%build
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200
%ifarch aarch64
# llvm7 does not support '-mbranch-protection=standard' option
export CFLAGS=`echo "%{optflags}" |sed 's/-mbranch-protection=standard//'`
export CXXFLAGS=`echo "%{optflags}" |sed 's/-mbranch-protection=standard//'`
%endif
%endif
%if %{with ldc_bootstrap}
Accepting request 631387 from home:Guillaume_G:branches:devel:languages:D - Update to 1.11.0: * Big news: - Frontend, druntime and Phobos are at version 2.081.2. (#2752, #2772, #2776, #2791, #2815) (new) - Add some support for classes without TypeInfos, for -betterC and/or a minimal (d)runtime. (#2765) - LLVM for prebuilt packages upgraded to v6.0.1. The x86_64 packages feature some more LLVM targets for cross-compilation (experiments): MIPS, MSP430, RISC-V and WebAssembly. (#2760) - Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page for how to get started. (#2766, #2779, #2785) - AArch64 (64-bit ARM) now mostly working on Linux/glibc and Android. Current ltsmaster is able to bootstrap v1.11, which can also bootstrap itself; most tests pass. (Preliminary) CI has been set up. (#2802, #2817, #2813) (new) - LDC on Windows now uses 80-bit compile-time reals. This allows for seamless cross-compilation to other x86(_64) targets, e.g., without real.min underflowing to 0 and real.max overflowing to infinity. (#2752) - New @naked UDA in ldc.attributes & enhanced functionality for @llvmAttr("<name>"). (#2773) * Platform support: - Supports LLVM 3.7 - 6.0. - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017. - Alpine linux/x64: built against Musl libc to support Docker images based on the Alpine distro, requires the llvm5-libs, musl-dev, and gcc packages to build and link D apps and the tzdata and libcurl packages for certain stdlib modules. * Bug fixes: - extern(C++) on Posix: Pass non-PODs indirectly by value. (#2728) - extern(C++) on Windows/MSVC: Methods return all structs via hidden sret pointer. (#2720, #1935) - Make GC2Stack IR optimization pass work as intended. (#2750) - Work around inline assembly regression with LLVM 6 on Win32. The prebuilt Win32 package is now using LLVM 6.0.1 too. (#2629, #2770) - Fix overzealous check for multiple main() functions. (#2778) (new) - Fix corrupt prefix in integrated LLD's console output. (#2781) (new) - No context ptr for nested non-extern(D) functions. (#2808, #2809) (new) * Known issues: - 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. - Update bootstrap version to 0.17.6: * Added support for LLVM 6.0 and 7.0. (#2600, #2825) * Backported AArch64 fixes from master; most tests passing on Linux/glibc and Android * Fix generation of debug info. (#2594) * Added support for bootstrapping on DragonFly BSD * Fixed missing definition in std.datetime on Solaris * Fixed std.datetime unittest failure. (ldc-developers/phobos#59) * Fixed tests for PowerPC. (#2634, #2635) * Improvements for MIPS. * Make core.stdc.stdarg.va_* functions nothrow to enable compiling the 2.082 frontend. (#2821) * CI updates. - Remove upstreamed patches: * ldc-0.17.5-add_missing_include.patch * ldc-0.17.5-add_support_to_LLVM6.patch * ldc-0.17.5-backport_pr_2315.patch * ldc-0.17.5-default-to-pic.patch - Enable aarch64 since it can be boostrapped with ldc 0.17.6 - Fix x86_64 build by adding '-fPIC' to C_FLAGS of bootstrap OBS-URL: https://build.opensuse.org/request/show/631387 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=20
2018-08-24 16:13:58 +02:00
pushd ldc-0.17.6-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 \
-DCMAKE_CXX_FLAGS="-std=c++11" \
Accepting request 631387 from home:Guillaume_G:branches:devel:languages:D - Update to 1.11.0: * Big news: - Frontend, druntime and Phobos are at version 2.081.2. (#2752, #2772, #2776, #2791, #2815) (new) - Add some support for classes without TypeInfos, for -betterC and/or a minimal (d)runtime. (#2765) - LLVM for prebuilt packages upgraded to v6.0.1. The x86_64 packages feature some more LLVM targets for cross-compilation (experiments): MIPS, MSP430, RISC-V and WebAssembly. (#2760) - Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page for how to get started. (#2766, #2779, #2785) - AArch64 (64-bit ARM) now mostly working on Linux/glibc and Android. Current ltsmaster is able to bootstrap v1.11, which can also bootstrap itself; most tests pass. (Preliminary) CI has been set up. (#2802, #2817, #2813) (new) - LDC on Windows now uses 80-bit compile-time reals. This allows for seamless cross-compilation to other x86(_64) targets, e.g., without real.min underflowing to 0 and real.max overflowing to infinity. (#2752) - New @naked UDA in ldc.attributes & enhanced functionality for @llvmAttr("<name>"). (#2773) * Platform support: - Supports LLVM 3.7 - 6.0. - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017. - Alpine linux/x64: built against Musl libc to support Docker images based on the Alpine distro, requires the llvm5-libs, musl-dev, and gcc packages to build and link D apps and the tzdata and libcurl packages for certain stdlib modules. * Bug fixes: - extern(C++) on Posix: Pass non-PODs indirectly by value. (#2728) - extern(C++) on Windows/MSVC: Methods return all structs via hidden sret pointer. (#2720, #1935) - Make GC2Stack IR optimization pass work as intended. (#2750) - Work around inline assembly regression with LLVM 6 on Win32. The prebuilt Win32 package is now using LLVM 6.0.1 too. (#2629, #2770) - Fix overzealous check for multiple main() functions. (#2778) (new) - Fix corrupt prefix in integrated LLD's console output. (#2781) (new) - No context ptr for nested non-extern(D) functions. (#2808, #2809) (new) * Known issues: - 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. - Update bootstrap version to 0.17.6: * Added support for LLVM 6.0 and 7.0. (#2600, #2825) * Backported AArch64 fixes from master; most tests passing on Linux/glibc and Android * Fix generation of debug info. (#2594) * Added support for bootstrapping on DragonFly BSD * Fixed missing definition in std.datetime on Solaris * Fixed std.datetime unittest failure. (ldc-developers/phobos#59) * Fixed tests for PowerPC. (#2634, #2635) * Improvements for MIPS. * Make core.stdc.stdarg.va_* functions nothrow to enable compiling the 2.082 frontend. (#2821) * CI updates. - Remove upstreamed patches: * ldc-0.17.5-add_missing_include.patch * ldc-0.17.5-add_support_to_LLVM6.patch * ldc-0.17.5-backport_pr_2315.patch * ldc-0.17.5-default-to-pic.patch - Enable aarch64 since it can be boostrapped with ldc 0.17.6 - Fix x86_64 build by adding '-fPIC' to C_FLAGS of bootstrap OBS-URL: https://build.opensuse.org/request/show/631387 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=20
2018-08-24 16:13:58 +02:00
-DCMAKE_C_FLAGS="-fPIC" \
..
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%make_build
popd
popd
%if %{with 1_12_0_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
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-0.17.6-src/build/bin/ldmd2 \
-DCMAKE_CXX_FLAGS="-std=c++11" \
-DCMAKE_C_FLAGS="-fPIC" \
..
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%make_build
popd
popd
%endif
%endif
#Needs to be compiled with clang, but opensuse_rules.cmake forces gcc so disable rule
touch no-suse-rules
%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 \
%if %{with ldc_bootstrap}
%if %{with 1_12_0_intermediate}
-DD_COMPILER:PATH=`pwd`/../ldc-1.12.0-src/build/bin/ldmd2 \
%else
Accepting request 631387 from home:Guillaume_G:branches:devel:languages:D - Update to 1.11.0: * Big news: - Frontend, druntime and Phobos are at version 2.081.2. (#2752, #2772, #2776, #2791, #2815) (new) - Add some support for classes without TypeInfos, for -betterC and/or a minimal (d)runtime. (#2765) - LLVM for prebuilt packages upgraded to v6.0.1. The x86_64 packages feature some more LLVM targets for cross-compilation (experiments): MIPS, MSP430, RISC-V and WebAssembly. (#2760) - Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page for how to get started. (#2766, #2779, #2785) - AArch64 (64-bit ARM) now mostly working on Linux/glibc and Android. Current ltsmaster is able to bootstrap v1.11, which can also bootstrap itself; most tests pass. (Preliminary) CI has been set up. (#2802, #2817, #2813) (new) - LDC on Windows now uses 80-bit compile-time reals. This allows for seamless cross-compilation to other x86(_64) targets, e.g., without real.min underflowing to 0 and real.max overflowing to infinity. (#2752) - New @naked UDA in ldc.attributes & enhanced functionality for @llvmAttr("<name>"). (#2773) * Platform support: - Supports LLVM 3.7 - 6.0. - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017. - Alpine linux/x64: built against Musl libc to support Docker images based on the Alpine distro, requires the llvm5-libs, musl-dev, and gcc packages to build and link D apps and the tzdata and libcurl packages for certain stdlib modules. * Bug fixes: - extern(C++) on Posix: Pass non-PODs indirectly by value. (#2728) - extern(C++) on Windows/MSVC: Methods return all structs via hidden sret pointer. (#2720, #1935) - Make GC2Stack IR optimization pass work as intended. (#2750) - Work around inline assembly regression with LLVM 6 on Win32. The prebuilt Win32 package is now using LLVM 6.0.1 too. (#2629, #2770) - Fix overzealous check for multiple main() functions. (#2778) (new) - Fix corrupt prefix in integrated LLD's console output. (#2781) (new) - No context ptr for nested non-extern(D) functions. (#2808, #2809) (new) * Known issues: - 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. - Update bootstrap version to 0.17.6: * Added support for LLVM 6.0 and 7.0. (#2600, #2825) * Backported AArch64 fixes from master; most tests passing on Linux/glibc and Android * Fix generation of debug info. (#2594) * Added support for bootstrapping on DragonFly BSD * Fixed missing definition in std.datetime on Solaris * Fixed std.datetime unittest failure. (ldc-developers/phobos#59) * Fixed tests for PowerPC. (#2634, #2635) * Improvements for MIPS. * Make core.stdc.stdarg.va_* functions nothrow to enable compiling the 2.082 frontend. (#2821) * CI updates. - Remove upstreamed patches: * ldc-0.17.5-add_missing_include.patch * ldc-0.17.5-add_support_to_LLVM6.patch * ldc-0.17.5-backport_pr_2315.patch * ldc-0.17.5-default-to-pic.patch - Enable aarch64 since it can be boostrapped with ldc 0.17.6 - Fix x86_64 build by adding '-fPIC' to C_FLAGS of bootstrap OBS-URL: https://build.opensuse.org/request/show/631387 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=20
2018-08-24 16:13:58 +02:00
-DD_COMPILER:PATH=`pwd`/../ldc-0.17.6-src/build/bin/ldmd2 \
%endif
%endif
-DCMAKE_CXX_FLAGS="-std=c++11"
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%make_build
%if %{with ldc_tests}
%check
pushd build/
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%make_build test
popd
%endif
%install
%cmake_install
# Install bash completion in the right folder
install -d %{buildroot}%{_bashcompletionsdir}
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
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
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
rm -rf %{buildroot}%{_prefix}/lib/debug
%post -n %{lname_runtime}%{so_ver} -p /sbin/ldconfig
%post -n %{lname_phobos}%{so_ver} -p /sbin/ldconfig
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%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
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%postun -n %{lname_jit}%{so_ver} -p /sbin/ldconfig
%files
%license LICENSE
%doc README.md
%{_mandir}/man1/*.1%{?ext_man}
%config %{_sysconfdir}/ldc2.conf
%{_bindir}/ldc*
%{_bindir}/ldmd2
%files -n %{lname_runtime}%{so_ver}
%{_libdir}/%{lname_runtime}-shared.so.*
%{_libdir}/%{lname_runtime}-debug-shared.so.*
%files runtime-devel
%{_libdir}/%{lname_runtime}-shared.so
%{_libdir}/%{lname_runtime}-debug-shared.so
%dir %{_includedir}/d
%{_includedir}/d/core
%{_includedir}/d/ldc
%{_includedir}/d/object.d
%files -n %{lname_phobos}%{so_ver}
%{_libdir}/%{lname_phobos}-shared.so.*
%{_libdir}/%{lname_phobos}-debug-shared.so.*
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%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
Accepting request 808560 from home:elimat:branches:devel:languages:D - 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
2020-05-26 13:37:19 +02:00
%{_includedir}/d%{_sysconfdir}
%{_includedir}/d/std
%files bash-completion
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_bashcompletionsdir}/ldc2
%changelog