commit: 53ceca710a84129a56230a88b055b102b8a6cbef Author: Marco Leise <marco.leise <AT> gmx <DOT> de> AuthorDate: Sat Dec 21 18:16:28 2019 +0000 Commit: Marco Leise <marco.leise <AT> gmx <DOT> de> CommitDate: Mon Dec 23 16:50:11 2019 +0000 URL: https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=53ceca71
ldc2-0.19.0 Signed-off-by: Marco Leise <marco.leise <AT> gmx.de> dev-lang/ldc2/Manifest | 1 + dev-lang/ldc2/ldc2-1.19.0.ebuild | 84 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) diff --git a/dev-lang/ldc2/Manifest b/dev-lang/ldc2/Manifest index ecc2989..84690f5 100644 --- a/dev-lang/ldc2/Manifest +++ b/dev-lang/ldc2/Manifest @@ -5,3 +5,4 @@ DIST ldc-1.15.0-src.tar.gz 6949021 BLAKE2B ba2488c0ce247c1f00cd4ac6206605221d9a0 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.19.0-src.tar.gz 7222182 BLAKE2B 28a2256aad57f5304644126da63d88a9f0e4266402a537b7864605dd5ce97009b87d6767906b4271dd0ec9621bb1fb193531229c4799c66d0b47e6dad91c0766 SHA512 ffd1b085c7c8fe76162051234cc73e92f08a391cebac3f405c9dc6d03fcbf459d5e99295066ab4b0bd931bdce84dce53e23c33c1bc8ad35327f1b283f8e8f10a diff --git a/dev-lang/ldc2/ldc2-1.19.0.ebuild b/dev-lang/ldc2/ldc2-1.19.0.ebuild new file mode 100644 index 0000000..eabd185 --- /dev/null +++ b/dev-lang/ldc2/ldc2-1.19.0.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build cmake-utils 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-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=( + -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() { + cmake-utils_src_make +} + +d_src_install() { + cmake-utils_src_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 +}