For reasons I don't understand, without static libs present the
ldc bootstrap sequence fails on EPEL 8 with an ldc segfault when
compiling object files for the shared runtime.
Use binaries from ldc-1.8.0-1.fc29, llvm4.0-4.0.1-6.fc29 and
libffi-3.1-18.fc29 builds to re-bootstrap ldc on the ppc64le
architecture.
Bootstrap Exception: https://pagure.io/packaging-committee/issue/1209
Instead, use -wi (treat warnings as informational) for distro builds so
that new warnings don't break package builds.
While at this, also sync _d_optflags with Debian's DFLAGS and drop
unused _d_libdir definition.
ltsmaster doesn't support recent LLVM versions so we can't really use it
any more. If we need to bring up a new arch in the future we'll likely
need to use cross-compiling instead.
Starting with F35, rpmbuild now fails the build if standard RPATH is
detected (https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild).
This commit drops the previous chrpath hack and instead patches ldc to
drop rpath from ldc2.conf, which should prevent the rpath from being set
in the first place.
This matches with what Debian does, and is what the gcc maintainers
suggest.
The idea is to have ldc internal headers (those that cannot be used by
gdc and cause conflicts) in /usr/lib/ldc/%{_target_platform}/include/d/,
and keep library header files (those that both ldc and gdc can use) in
/usr/include/d/.
https://bugzilla.redhat.com/show_bug.cgi?id=1781685
ldc is a compiler and as such is already a development package, so
it doesn't make sense to split out separate -devel subpackages. The
development headers are only useful together with ldc, and ldc already
hard-depended on the split-out subpackages.
This commit drops the separate subpackages to make things simpler.