commit: e0d1724997a9306df3ec4f24af575c0fcf1b9e3a
Author: Marco Leise <marco.leise <AT> gmx <DOT> de>
AuthorDate: Sat Nov 30 11:44:36 2019 +0000
Commit: Marco Leise <marco.leise <AT> gmx <DOT> de>
CommitDate: Sat Nov 30 11:44:36 2019 +0000
URL: https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=e0d17249
ldc2-1.18
Signed-off-by: Marco Leise <marco.leise <AT> gmx.de>
dev-lang/ldc2/Manifest | 1 +
dev-lang/ldc2/ldc2-1.18.0.ebuild | 86 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 87 insertions(+)
diff --git a/dev-lang/ldc2/Manifest b/dev-lang/ldc2/Manifest
index 055ece3..f566506 100644
--- a/dev-lang/ldc2/Manifest
+++ b/dev-lang/ldc2/Manifest
@@ -7,4 +7,5 @@ DIST ldc-1.14.0-src.tar.gz 6841607 BLAKE2B
3e1024f76b8646a4951029a9c867ae763085e
DIST ldc-1.15.0-src.tar.gz 6949021 BLAKE2B
ba2488c0ce247c1f00cd4ac6206605221d9a0eed8bb637fa661676034709efd5aa6ce1cb2d314d1472d5a78a382e622bd9170653c2e3fac40f2d644aa08fdc3d
SHA512
acc180d0f01f2ff261a131de74b5630568da4b16acbe4c557ba36f3ca5606edeb9c7af8c8733927f174f4512812aabaa95cf2bff340c991c17ca4b50d7e3da87
DIST ldc-1.16.0-src.tar.gz 6995348 BLAKE2B
3437d2c1f64e17793c1564c19fdd41d5a881f1c3274a0e265b10b66a59b752436222395811354e9fea58dae0573c873f64f3c5de88c1681e4e78c74e618f9892
SHA512
afd9675ce0929a8acb1084becb47d2d30d40fcd3836a55713a9ac128d12764b7eefb5e04c2eae432c4e138aa64c3d8d248745dcfeb2fa134f66fb11ddc30743e
DIST ldc-1.17.0-src.tar.gz 7084805 BLAKE2B
1379ad77c0e489fea43b646a5d6cf5aa54e76b2cefe00686c69bb1c9b0caf42da7a0e24fb6d0f08c10fab9fd32e3ccb01b6702319ea73c782e3dca0a51bf6c08
SHA512
72a50b16cef63b30863b41571d14aad30b5fc25ea7859014d596c41360693da46dcf3f208195d9319fc2f4ef472ac3c86a0c552b19222cc05e491cb8cbcee38c
+DIST ldc-1.18.0-src.tar.gz 7183351 BLAKE2B
0affd49dda5f7c3df64e8d89fe66f2fce4c3a18c4bc5e4147e2e906d10f0b27316c8c460f5b9d767f3f50e5e909448b9f44cb17e156766d5488e237a71dd5009
SHA512
fe7529c33d0e43dfb71f474dfa381b88ee476b70933c8f80fc063d9a015df24a75e2b607a7242cc4b9cd4b6ac7559aec8f2883016bf7252342742322fcccbd4d
DIST ldc-1.9.0-src.tar.gz 6560330 BLAKE2B
4ffb8f3aa6af1ce1b5e9bfa9b4f5b22e0f88e7e1f097251c6a7a3fbdcfc94638ba89aa8fb5f84862e20049d35e3065323cef758675505641b5247a50a1c4c351
SHA512
a036097c6db72b925b1292994b27b5777fd5f29a529f2d918caede3bb7c5ae0c10e1069e7640a6b8ae0f5b37ac96eff669c3faf1661034f627ce829ca7681474
diff --git a/dev-lang/ldc2/ldc2-1.18.0.ebuild b/dev-lang/ldc2/ldc2-1.18.0.ebuild
new file mode 100644
index 0000000..0c75a56
--- /dev/null
+++ b/dev-lang/ldc2/ldc2-1.18.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib-build cmake-utils ninja-utils eapi7-ver llvm
+
+MY_PV="${PV//_/-}"
+MY_P="ldc-${MY_PV}-src"
+SRC_URI="https://github.com/ldc-developers/ldc/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="LLVM D Compiler"
+HOMEPAGE="https://ldc-developers.github.com/ldc"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+LICENSE="BSD"
+SLOT="$(ver_cut 1-2)/$(ver_cut 3)"
+
+IUSE="static-libs"
+
+# We support LLVM 3.9 through 9.
+RDEPEND="|| (
+ sys-devel/llvm:9
+ sys-devel/llvm:8
+ sys-devel/llvm:7
+ sys-devel/llvm:6
+ )
+ <sys-devel/llvm-10:=
+ >=app-eselect/eselect-dlang-20140709"
+DEPEND=">=dev-util/cmake-3.8
+ dev-util/ninja
+ ${RDEPEND}"
+LLVM_MAX_SLOT=9
+PATCHES="${FILESDIR}/ldc2-1.12.0-link-defaultlib-shared.patch
+ ${FILESDIR}/ldc2-1.13.0-llvm-7.1.0-compatibility.patch"
+
+# For now, we support amd64 multilib. Anyone is free to add more support here.
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+
+DLANG_VERSION_RANGE="2.068 2.071-"
+DLANG_PACKAGE_TYPE="single"
+
+inherit dlang
+
+detect_hardened() {
+ gcc --version | grep -o Hardened
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+}
+
+d_src_configure() {
+ # Make sure libphobos2 is installed into ldc2's directory.
+ export LIBDIR_${ABI}="${LIBDIR_HOST}"
+ local mycmakeargs=(
+ -G Ninja
+ -DD_VERSION=2
+ -DCMAKE_INSTALL_PREFIX=/usr/lib/ldc2/$(ver_cut 1-2)
+ -DD_COMPILER="${DMD}"
+ -DLDC_WITH_LLD=OFF
+ )
+ use static-libs && mycmakeargs+=( -DBUILD_SHARED_LIBS=BOTH ) ||
mycmakeargs+=( -DBUILD_SHARED_LIBS=ON )
+ use abi_x86_32 && use abi_x86_64 && mycmakeargs+=( -DMULTILIB=ON )
+ detect_hardened && mycmakeargs+=( -DADDITIONAL_DEFAULT_LDC_SWITCHES=',
"-relocation-model=pic"' )
+ cmake-utils_src_configure
+}
+
+d_src_compile() {
+ eninja -C "${BUILD_DIR}"
+}
+
+d_src_install() {
+ eninja -C "${BUILD_DIR}" install
+
+ rm -rf "${ED}"/usr/share/bash-completion
+}
+
+pkg_postinst() {
+ # Update active ldc2
+ "${ROOT}"/usr/bin/eselect dlang update ldc2
+}
+
+pkg_postrm() {
+ "${ROOT}"/usr/bin/eselect dlang update ldc2
+}