The LDC project provides a portable D programming language compiler with modern optimization and code generation capabilities. The compiler uses the official DMD frontend to support the latest version of D2, and relies on the LLVM Core libraries for code generation.
clang :yes
libsplit :no
patterns :
-/usr/include/*
-/usr/lib64/*
builddeps :
-pkgconfig(libconfig)
setup :|
git checkout ltsmaster
git submodule update
mkdir bootstrap && pushd bootstrap
cmake -G Ninja \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_INSTALL_PREFIX=$workdir/ldc-ltsmaster \
..
ninja install %JOBS%
popd
build :|
git reset --hard
git checkout tags/v${version}-beta2
git submodule update
export LDFLAGS="$LDFLAGS -fuse-ld=ld"
%cmake_ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLIB_SUFFIX=64 \
-DBUILD_SHARED_LIBS=ON \
-DINCLUDE_INSTALL_DIR=/usr/include/dlang/ldc \
-DLDC_WITH_LLD=OFF \
-DD_COMPILER=$workdir/ldc-ltsmaster/bin/ldmd2
%ninja_build
install :|
%ninja_install
check :|
# We seem to have missing symbols very similar
# to this bug: https://github.com/NixOS/nixpkgs/issues/28896