2015-02-23 11:15:18 +01:00
|
|
|
#
|
2015-12-07 20:41:40 +01:00
|
|
|
# spec file for package ldc
|
2015-02-23 11:15:18 +01:00
|
|
|
#
|
2022-04-25 14:56:21 +02:00
|
|
|
# Copyright (c) 2022 SUSE LLC
|
2015-02-23 11:15:18 +01:00
|
|
|
#
|
|
|
|
# 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/
|
2015-02-23 11:15:18 +01:00
|
|
|
#
|
|
|
|
|
2018-07-30 13:15:55 +02:00
|
|
|
|
2022-04-25 14:56:21 +02:00
|
|
|
%define so_ver 99
|
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
|
2018-07-30 13:15:55 +02:00
|
|
|
%define lname_runtime libdruntime-%{name}
|
|
|
|
%define lname_phobos libphobos2-%{name}
|
2018-12-18 16:16:32 +01:00
|
|
|
%define _bashcompletionsdir %{_datadir}/bash-completion/completions
|
2019-01-21 14:43:13 +01:00
|
|
|
|
2022-05-12 15:57:58 +02:00
|
|
|
# With bootstrap enabled (the default), gdc is used (through the gdmd wrapper)
|
|
|
|
# to build ldc (and shared runtime), then the built ldc is used to build ldc
|
|
|
|
# itself again. The final ldc with shared runtime is then installed.
|
|
|
|
# With bootstrap disabled, ldc from the ldc package is used directly to build
|
|
|
|
# the new ldc. Note that the resulting ldc is linked against the old ldc's
|
|
|
|
# runtime, which might not be compatible with the newly built one!
|
2018-06-06 12:24:25 +02:00
|
|
|
%bcond_without ldc_bootstrap
|
2019-01-21 14:43:13 +01:00
|
|
|
|
2022-05-12 15:57:58 +02:00
|
|
|
%bcond_with ldc_tests
|
|
|
|
|
|
|
|
# Dynamic compiling is not supported with LLVM >= 12
|
2022-10-14 10:51:50 +02:00
|
|
|
%if 0%{?suse_version} > 1550
|
|
|
|
# We force llvm14 on TW
|
|
|
|
%global jit_support 0
|
|
|
|
%else
|
2022-05-12 15:57:58 +02:00
|
|
|
%if %{pkg_vcmp llvm-devel >= 12}
|
|
|
|
%global jit_support 0
|
2019-01-21 14:43:13 +01:00
|
|
|
%else
|
2022-05-12 15:57:58 +02:00
|
|
|
%global jit_support 1
|
2018-12-18 16:16:32 +01:00
|
|
|
%endif
|
2022-10-14 10:51:50 +02:00
|
|
|
%endif
|
2019-01-21 14:43:13 +01:00
|
|
|
|
2022-05-12 15:57:58 +02:00
|
|
|
# LLVM LTO is too much for 32bit ARM
|
|
|
|
%ifarch %arm
|
|
|
|
%define _lto_cflags %nil
|
|
|
|
%endif
|
2019-01-21 14:43:13 +01:00
|
|
|
|
2015-02-23 11:15:18 +01:00
|
|
|
Name: ldc
|
2022-04-25 14:56:21 +02:00
|
|
|
Version: 1.29.0
|
2015-12-07 20:41:40 +01:00
|
|
|
Release: 0
|
|
|
|
Summary: The LLVM D Compiler
|
2022-04-25 14:56:21 +02:00
|
|
|
License: Artistic-1.0 AND BSD-3-Clause
|
|
|
|
Group: Development/Languages/Other
|
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
|
2017-05-29 21:58:23 +02:00
|
|
|
Source0: https://github.com/ldc-developers/ldc/releases/download/v%{version}/ldc-%{version}-src.tar.gz
|
2015-12-07 20:41:40 +01:00
|
|
|
Source1: %{name}-rpmlintrc
|
2018-06-06 12:24:25 +02:00
|
|
|
Patch0: ldc-1.9.0-fix_arm_build.patch
|
2018-07-30 13:15:55 +02:00
|
|
|
BuildRequires: cmake
|
|
|
|
BuildRequires: help2man
|
|
|
|
BuildRequires: libconfig++-devel
|
|
|
|
BuildRequires: libcurl-devel
|
|
|
|
BuildRequires: libstdc++-devel
|
2022-10-14 10:51:50 +02:00
|
|
|
%if 0%{?suse_version} > 1550
|
|
|
|
# Cannot build with llvm15, so stick with llvm14 for now
|
|
|
|
BuildRequires: clang14
|
|
|
|
BuildRequires: llvm14-devel
|
|
|
|
%else
|
2021-05-19 09:56:26 +02:00
|
|
|
BuildRequires: llvm-clang >= 6.0
|
|
|
|
BuildRequires: llvm-devel >= 6.0
|
2022-10-14 10:51:50 +02:00
|
|
|
%endif
|
2018-07-30 13:15:55 +02:00
|
|
|
BuildRequires: ncurses-devel
|
|
|
|
BuildRequires: sqlite3-devel
|
|
|
|
BuildRequires: zlib-devel
|
2018-12-18 16:16:32 +01:00
|
|
|
BuildRequires: pkgconfig(bash-completion)
|
2018-07-30 13:15:55 +02:00
|
|
|
# Should be installed, at least runtime
|
|
|
|
Recommends: ldc-phobos-devel = %{version}
|
2022-04-25 14:56:21 +02:00
|
|
|
Recommends: ldc-jit-devel = %{version}
|
|
|
|
Recommends: ldc-runtime-devel = %{version}
|
2018-06-06 12:24:25 +02:00
|
|
|
%if %{with ldc_bootstrap}
|
2022-05-12 15:57:58 +02:00
|
|
|
# Use GDC 10, available on 15.3+
|
|
|
|
%if 0%{?suse_version} < 1550
|
|
|
|
%global gdc_version 10
|
|
|
|
%global gdc_suffix -%{gdc_version}
|
2019-01-21 14:43:13 +01:00
|
|
|
%endif
|
2022-05-12 15:57:58 +02:00
|
|
|
# Clang uses the newest gcc to find headers and libs
|
|
|
|
BuildRequires: gcc%{?gdc_version}-c++
|
|
|
|
BuildRequires: gdmd%{?gdc_suffix}
|
|
|
|
%else
|
2018-06-06 12:24:25 +02:00
|
|
|
BuildRequires: ldc
|
|
|
|
BuildRequires: ldc-phobos-devel
|
|
|
|
BuildRequires: ldc-runtime-devel
|
|
|
|
%endif
|
2018-06-07 15:05:36 +02:00
|
|
|
%if %{with ldc_tests}
|
2022-05-12 15:57:58 +02:00
|
|
|
BuildRequires: gcc-c++
|
|
|
|
BuildRequires: gdb
|
2018-06-07 15:05:36 +02:00
|
|
|
BuildRequires: python
|
|
|
|
BuildRequires: timezone
|
|
|
|
BuildRequires: unzip
|
|
|
|
%endif
|
2018-12-18 16:16:32 +01:00
|
|
|
# ppc64 is disabled due to boo#1113531
|
|
|
|
ExclusiveArch: %{ix86} x86_64 %arm aarch64
|
2015-02-23 11:15:18 +01:00
|
|
|
|
|
|
|
%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.
|
|
|
|
|
2015-12-07 20:41:40 +01:00
|
|
|
%package -n %{lname_runtime}%{so_ver}
|
|
|
|
Summary: Minimal D runtime library
|
2022-04-25 14:56:21 +02:00
|
|
|
Group: System/Libraries
|
2015-12-07 20:41:40 +01:00
|
|
|
|
|
|
|
%description -n %{lname_runtime}%{so_ver}
|
|
|
|
The minimal runtime library required to support the D programming language.
|
|
|
|
|
2015-02-23 11:15:18 +01:00
|
|
|
%package runtime-devel
|
2015-12-07 20:41:40 +01:00
|
|
|
Summary: Development files for the D runtime library
|
2022-04-25 14:56:21 +02:00
|
|
|
Group: Development/Libraries/Other
|
2015-12-07 20:41:40 +01:00
|
|
|
Requires: %{lname_runtime}%{so_ver} = %{version}
|
2018-07-30 13:15:55 +02:00
|
|
|
Recommends: ldc-phobos-devel = %{version}
|
2015-02-23 11:15:18 +01:00
|
|
|
|
|
|
|
%description runtime-devel
|
|
|
|
This package contains the druntime development files necessary for developing
|
|
|
|
with LDC.
|
|
|
|
|
2015-12-07 20:41:40 +01:00
|
|
|
%package -n %{lname_phobos}%{so_ver}
|
|
|
|
Summary: The D standard library
|
2022-04-25 14:56:21 +02:00
|
|
|
Group: System/Libraries
|
2015-12-07 20:41:40 +01:00
|
|
|
|
|
|
|
%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
|
2022-04-25 14:56:21 +02:00
|
|
|
Group: System/Libraries
|
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
|
|
|
|
|
|
|
%description -n %{lname_jit}%{so_ver}
|
|
|
|
This package includes ldc's jit library.
|
|
|
|
|
|
|
|
%package jit-devel
|
|
|
|
Summary: Development files for the D standard library
|
2022-04-25 14:56:21 +02:00
|
|
|
Group: Development/Libraries/Other
|
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
|
|
|
Requires: %{lname_jit}%{so_ver} = %{version}
|
|
|
|
|
|
|
|
%description jit-devel
|
|
|
|
This package contains the LDC jit development files.
|
|
|
|
|
2015-02-23 11:15:18 +01:00
|
|
|
%package phobos-devel
|
2015-12-07 20:41:40 +01:00
|
|
|
Summary: Development files for the D standard library
|
2022-04-25 14:56:21 +02:00
|
|
|
Group: Development/Libraries/Other
|
2015-12-07 20:41:40 +01:00
|
|
|
Requires: %{lname_phobos}%{so_ver} = %{version}
|
2018-07-30 13:15:55 +02:00
|
|
|
Requires: %{name}-runtime-devel = %{version}
|
2015-02-23 11:15:18 +01:00
|
|
|
|
|
|
|
%description phobos-devel
|
|
|
|
This package contains the Phobos development files necessary for developing
|
|
|
|
with LDC.
|
|
|
|
|
2018-12-18 16:16:32 +01:00
|
|
|
%package bash-completion
|
|
|
|
Summary: LDC Bash completion
|
2022-11-21 16:13:37 +01:00
|
|
|
Requires: %{name}
|
2018-12-18 16:16:32 +01:00
|
|
|
Requires: bash-completion
|
2022-11-21 16:13:37 +01:00
|
|
|
Supplements: (%{name} and bash-completion)
|
2018-12-18 16:16:32 +01:00
|
|
|
|
|
|
|
%description bash-completion
|
|
|
|
Optional dependency offering bash completion for ldc2
|
|
|
|
|
2015-02-23 11:15:18 +01:00
|
|
|
%prep
|
2022-05-12 15:57:58 +02:00
|
|
|
%autosetup -p1 -n ldc-%{version}-src
|
2015-02-23 11:15:18 +01:00
|
|
|
|
|
|
|
%build
|
2018-06-06 12:24:25 +02:00
|
|
|
%if %{with ldc_bootstrap}
|
2022-05-12 15:57:58 +02:00
|
|
|
# Work around gdc bug with stdin (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105544)
|
|
|
|
echo "pragma(msg, int(__VERSION__));" > feVer.d
|
|
|
|
sed -i "s# - -o-# \"$PWD/feVer.d\" -o-#" cmake/Modules/FindDCompiler.cmake
|
|
|
|
|
|
|
|
%define __builddir build-bootstrap
|
|
|
|
|
2021-05-19 09:56:26 +02:00
|
|
|
#Needs to be compiled with clang, but opensuse_rules.cmake forces gcc so disable rule
|
2022-05-12 15:57:58 +02:00
|
|
|
touch no-suse-rules
|
|
|
|
%cmake \
|
2021-05-19 09:56:26 +02:00
|
|
|
-DCMAKE_USER_MAKE_RULES_OVERRIDE=./no-suse-rules \
|
2022-10-14 10:51:50 +02:00
|
|
|
%if 0%{?suse_version} > 1550
|
|
|
|
-DCMAKE_C_COMPILER="%{_bindir}/clang-14" \
|
|
|
|
-DCMAKE_CXX_COMPILER="%{_bindir}/clang++-14" \
|
|
|
|
%else
|
2021-05-19 09:56:26 +02:00
|
|
|
-DCMAKE_C_COMPILER="%{_bindir}/clang" \
|
|
|
|
-DCMAKE_CXX_COMPILER="%{_bindir}/clang++" \
|
2022-10-14 10:51:50 +02:00
|
|
|
%endif
|
2021-05-19 09:56:26 +02:00
|
|
|
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d \
|
2022-05-12 15:57:58 +02:00
|
|
|
-DD_COMPILER:PATH=%{_bindir}/gdmd%{?gdc_suffix} \
|
|
|
|
-DCMAKE_CXX_FLAGS="-std=c++11"
|
2021-05-19 09:56:26 +02:00
|
|
|
%make_build
|
2022-05-12 15:57:58 +02:00
|
|
|
# The bootstrap compiler is used in-place instead of installed and will
|
|
|
|
# thus set an rpath on generated executables. The next/final stage will be
|
|
|
|
# installed and should use its own libs, so explicitly disable the rpath.
|
|
|
|
sed -i '/rpath/d' bin/ldc2.conf
|
|
|
|
export LD_LIBRARY_PATH="$PWD/%_lib"
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
%define __builddir build
|
2018-06-06 12:24:25 +02:00
|
|
|
%endif
|
2022-05-12 15:57:58 +02:00
|
|
|
|
2015-12-07 20:41:40 +01:00
|
|
|
#Needs to be compiled with clang, but opensuse_rules.cmake forces gcc so disable rule
|
|
|
|
touch no-suse-rules
|
|
|
|
%cmake \
|
2017-05-29 21:58:23 +02:00
|
|
|
-DCMAKE_USER_MAKE_RULES_OVERRIDE=./no-suse-rules \
|
2022-10-14 10:51:50 +02:00
|
|
|
%if 0%{?suse_version} > 1550
|
|
|
|
-DCMAKE_C_COMPILER="%{_bindir}/clang-14" \
|
|
|
|
-DCMAKE_CXX_COMPILER="%{_bindir}/clang++-14" \
|
|
|
|
%else
|
2015-12-07 20:41:40 +01:00
|
|
|
-DCMAKE_C_COMPILER="%{_bindir}/clang" \
|
2018-06-06 12:24:25 +02:00
|
|
|
-DCMAKE_CXX_COMPILER="%{_bindir}/clang++" \
|
2022-10-14 10:51:50 +02:00
|
|
|
%endif
|
2015-12-07 20:41:40 +01:00
|
|
|
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir}/d \
|
2018-06-06 12:24:25 +02:00
|
|
|
%if %{with ldc_bootstrap}
|
2022-05-12 15:57:58 +02:00
|
|
|
-DD_COMPILER:PATH=$PWD/../build-bootstrap/bin/ldmd2 \
|
2018-06-06 12:24:25 +02:00
|
|
|
%endif
|
2018-07-30 13:15:55 +02:00
|
|
|
-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
|
2015-02-23 11:15:18 +01:00
|
|
|
|
2018-06-07 15:05:36 +02:00
|
|
|
%if %{with ldc_tests}
|
|
|
|
%check
|
|
|
|
pushd build/
|
2022-05-12 15:57:58 +02:00
|
|
|
# Make sure it can find its own libs
|
|
|
|
export LD_LIBRARY_PATH="$PWD/%_lib"
|
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
|
2018-06-07 15:05:36 +02:00
|
|
|
popd
|
|
|
|
%endif
|
|
|
|
|
2015-02-23 11:15:18 +01:00
|
|
|
%install
|
2015-12-07 20:41:40 +01:00
|
|
|
%cmake_install
|
2018-12-18 16:16:32 +01:00
|
|
|
# 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/
|
2022-05-12 15:57:58 +02:00
|
|
|
# Make sure it can find its own libs (help2man runs the binaries)
|
|
|
|
export LD_LIBRARY_PATH="$PWD/build/%_lib"
|
2015-12-07 20:41:40 +01:00
|
|
|
# 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
|
2015-12-07 20:41:40 +01:00
|
|
|
|
|
|
|
%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
|
2015-12-07 20:41:40 +01:00
|
|
|
%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
|
2015-02-23 11:15:18 +01:00
|
|
|
|
|
|
|
%files
|
2018-07-30 13:15:55 +02:00
|
|
|
%license LICENSE
|
|
|
|
%doc README.md
|
|
|
|
%{_mandir}/man1/*.1%{?ext_man}
|
2015-02-23 11:15:18 +01:00
|
|
|
%config %{_sysconfdir}/ldc2.conf
|
2018-06-06 12:24:25 +02:00
|
|
|
%{_bindir}/ldc*
|
2015-02-23 11:15:18 +01:00
|
|
|
%{_bindir}/ldmd2
|
|
|
|
|
2015-12-07 20:41:40 +01:00
|
|
|
%files -n %{lname_runtime}%{so_ver}
|
2022-05-12 15:57:58 +02:00
|
|
|
%{_libdir}/%{lname_runtime}-shared.so.%{so_ver}
|
2018-06-06 12:24:25 +02:00
|
|
|
%{_libdir}/%{lname_runtime}-shared.so.*
|
2022-05-12 15:57:58 +02:00
|
|
|
%{_libdir}/%{lname_runtime}-debug-shared.so.%{so_ver}
|
2018-06-06 12:24:25 +02:00
|
|
|
%{_libdir}/%{lname_runtime}-debug-shared.so.*
|
2022-04-25 14:56:21 +02:00
|
|
|
%{_libdir}/ldc_rt.dso.o
|
2015-12-07 20:41:40 +01:00
|
|
|
|
2015-02-23 11:15:18 +01:00
|
|
|
%files runtime-devel
|
2018-06-06 12:24:25 +02:00
|
|
|
%{_libdir}/%{lname_runtime}-shared.so
|
|
|
|
%{_libdir}/%{lname_runtime}-debug-shared.so
|
2015-12-07 20:41:40 +01:00
|
|
|
%dir %{_includedir}/d
|
|
|
|
%{_includedir}/d/core
|
2018-12-18 16:16:32 +01:00
|
|
|
%{_includedir}/d/ldc
|
2022-04-25 14:56:21 +02:00
|
|
|
%{_includedir}/d/__builtins.di
|
|
|
|
%{_includedir}/d/importc.h
|
2018-12-18 16:16:32 +01:00
|
|
|
%{_includedir}/d/object.d
|
2015-12-07 20:41:40 +01:00
|
|
|
|
|
|
|
%files -n %{lname_phobos}%{so_ver}
|
2022-05-12 15:57:58 +02:00
|
|
|
%{_libdir}/%{lname_phobos}-shared.so.%{so_ver}
|
2018-06-06 12:24:25 +02:00
|
|
|
%{_libdir}/%{lname_phobos}-shared.so.*
|
2022-05-12 15:57:58 +02:00
|
|
|
%{_libdir}/%{lname_phobos}-debug-shared.so.%{so_ver}
|
2018-06-06 12:24:25 +02:00
|
|
|
%{_libdir}/%{lname_phobos}-debug-shared.so.*
|
2015-02-23 11:15:18 +01:00
|
|
|
|
2022-05-12 15:57:58 +02:00
|
|
|
%if %jit_support
|
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}
|
2022-05-12 15:57:58 +02:00
|
|
|
%{_libdir}/%{lname_jit}.so.%{so_ver}
|
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
|
|
|
%{_libdir}/%{lname_jit}.so.*
|
|
|
|
|
|
|
|
%files jit-devel
|
|
|
|
%{_libdir}/%{lname_jit}-rt.a
|
|
|
|
%{_libdir}/%{lname_jit}.so
|
2022-05-12 15:57:58 +02:00
|
|
|
%endif
|
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
|
|
|
|
2015-02-23 11:15:18 +01:00
|
|
|
%files phobos-devel
|
2018-06-06 12:24:25 +02:00
|
|
|
%{_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}
|
2018-12-18 16:16:32 +01:00
|
|
|
%{_includedir}/d/std
|
|
|
|
|
|
|
|
%files bash-completion
|
|
|
|
%dir %{_datadir}/bash-completion
|
|
|
|
%dir %{_datadir}/bash-completion/completions
|
|
|
|
%{_bashcompletionsdir}/ldc2
|
2015-02-23 11:15:18 +01:00
|
|
|
|
|
|
|
%changelog
|