aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Leise <marco.leise@gmx.de>2017-01-05 18:13:31 +0100
committerMarco Leise <marco.leise@gmx.de>2017-01-05 18:13:31 +0100
commit18bdb786adc2ca4f1081f9897f79fc38639e0d9a (patch)
tree9f1aeb7463fe99db9cee24fb1930d112c9b87fd6
parentAdded new gdc release (gcc 4.9.4 + front-end 2.068.2) (diff)
downloaddlang-18bdb786adc2ca4f1081f9897f79fc38639e0d9a.tar.gz
dlang-18bdb786adc2ca4f1081f9897f79fc38639e0d9a.tar.bz2
dlang-18bdb786adc2ca4f1081f9897f79fc38639e0d9a.zip
Raise dlang.eclass EAPI to 6; allows bash 4.2 features (associative arrays)
-rw-r--r--dev-lang/dmd/Manifest5
-rw-r--r--dev-lang/dmd/dmd-2.063.2.ebuild194
-rw-r--r--dev-lang/dmd/dmd-2.064.2.ebuild177
-rw-r--r--dev-lang/dmd/dmd-2.065.0.ebuild172
-rw-r--r--dev-lang/dmd/dmd-2.066.1.ebuild194
-rw-r--r--dev-lang/dmd/dmd-2.067.1-r1.ebuild193
-rw-r--r--dev-lang/dmd/dmd-2.068.2-r2.ebuild200
-rw-r--r--dev-lang/dmd/dmd-2.069.1-r1.ebuild200
-rw-r--r--dev-libs/gtkd/gtkd-2.4.2.ebuild4
-rw-r--r--dev-libs/gtkd/gtkd-3.3.0.ebuild4
-rw-r--r--dev-util/dcd/dcd-0.8.0.ebuild6
-rw-r--r--dev-util/dfmt/dfmt-0.4.5.ebuild6
-rw-r--r--eclass/dlang.eclass5
-rw-r--r--eclass/dmd.eclass4
14 files changed, 16 insertions, 1348 deletions
diff --git a/dev-lang/dmd/Manifest b/dev-lang/dmd/Manifest
index 9d08e01..c26e554 100644
--- a/dev-lang/dmd/Manifest
+++ b/dev-lang/dmd/Manifest
@@ -1,14 +1,9 @@
DIST dmd.2.063.2.zip 33144090 SHA256 ddb8fc86377fbfc15509801664ecbbc66fd6386ff5c0f415c2b9993add1bea75 SHA512 8b7a0b308a92e7adbccb05a7e2ec87e287f66ba42e9f856e19aae78127b13c50bad5cb56dd79f49d3237248fd3fe0f430bdef012dda1f38ab875a664c43308ae WHIRLPOOL 1a4b649628a6d627e8ae84bf1acbc3151635ffcf3d0a6552b30f620abb20504d425f0eda9f27126e4488cc0627278a7f86adbffef1af2e452d73d2456eb0efcb
DIST dmd.2.064.2.zip 33349115 SHA256 f51a10a137e0be6fb8ef32e3ff475aa377af1461400ec2cef2dcb917976f12c4 SHA512 4ec199c86c717273cf7c3c256ce56bc7144a453d3030a62de2c7e435e52ee5d2414c7bd9bb7c643b4734897e9621a31dff7b7fe3742f5b5785cb1e5eafb1bede WHIRLPOOL 688d98990b6558b3f1bdb0644ccf391d4a08526767427e7d99683473409a2821f2e5a04859b2b10767d4c7b9156a28ffc89a89348ba71b32420925a0e6c4e765
DIST dmd.2.065.0.linux.zip 22231025 SHA256 c0d04938df023532cb5e3433da72062ac6859db14d9e3e1c892a5b5eea378a98 SHA512 f351de772fff7d14fbd269701c557d2fc889ba0cc85c3b57f62fa6dc86295d1a151ad1d0b8928d9dc775251672933bff7d70fb22b4da732fae90f8840ec0571d WHIRLPOOL 86cb9fd562f52412689336b13cbfadf945a55ce9eb5ac75a7cbd638f12222ad3af1d8b00c06a65e23b01bce6947108754321c372ab52a30ae67210bcd52a228d
-DIST dmd.2.065.0.zip 50532001 SHA256 f3f4c8f6c2e5cdd0ac335e56613663bee075a1e797ffbb55035d6c767d7bc585 SHA512 fbba69551f636146bd1242cb78bc0f6baace8c1beed668d4561ba47364e2164507e12070afb27d0222e25218fc0a4bde39def6f12e997bfcf7137d90a1454d30 WHIRLPOOL 3190ca824de2099ea33b1766c74ef5a7f7f61e17e8c901ac3e27fc4d79f939ad610e4d91b7d008ed473624ca24373c3a2ec49907b004b4c9fbfdd158e61305d3
DIST dmd.2.066.1.linux.zip 23238330 SHA256 8ddabceddb7884ae4279e7d41bbc01bb49699063b79ae0b0d281b25678e13db4 SHA512 2baeaeba99b02dd286c550056716c74e5e83f3da03aa1be2632cc63e47716d96610ce40828e3f548a6be300566a09974c8e1c1b2de9c39f38fd862f4ec4f4a76 WHIRLPOOL cfc1b19b1997c62c5315474c7ef66524d0238f5ef5664f118fa38048d43499738a7b593d32c6ce2af728a5f748984fc41b3f2d070db8c66f1d55f3c39c63ada5
-DIST dmd.2.066.1.zip 52987265 SHA256 c6b0bf73e9c7d24dd6c827ec9fe4f1da8156569da3b36df517434043f3e32ee2 SHA512 a1fb946227c9f03d2d6044238284cbae129caab6ace04685a01da1e5eff285ec635b75fa349bf2e52135b5508512e63c26cf2cfcb666c511c6c29b8d848b1d43 WHIRLPOOL c960fb4ff0fb12fd85b441c79d1f2127d4eec50fc518f6b16fa795a26d52a74833e45d3d01260f323537761e40de25992f289850483b8901e622228b287ceaac
DIST dmd.2.067.1.linux.zip 24657895 SHA256 a5014886773853b4a42df19ee9591774cf281d33fbc511b265df30ba832926cd SHA512 783ee78b5e86bb33de4aae0af3275f5ab570f8f1acf4340ebfc765aeeab63979de9a801fe8a7ba96b853398761bf2651184c8c5251e27fe851856321b97c1385 WHIRLPOOL 16f8d73df42fcba7308f13a1475f670636735e788d6ddbe5cf88531be0ca7e0770e8d47670f931a06352069dcda2ab34c7c9e19e2c8e380eec14ea492685786b
-DIST dmd.2.067.1.zip 56083735 SHA256 24fd32d3b1401309187a3fcd235014e38c651beb3af29b0e656f6f4add4ec95b SHA512 e6e166987d6d50b8525a4c8583601bae96a4e83ed6de6e2ecf481b11afd0b459da752de653363137745755c9174c05b953774d84b50570c3cba4d6f34b9d6f2e WHIRLPOOL 90ba54f2655411a5dc2bff0d106d7fa78f67225ccf0eb7df0d692c577d8c0a9220b5726d1d67392b4317a6cbffee233ed3db516275f60e0167e4a3532e0214e1
DIST dmd.2.068.2.linux.tar.xz 13767952 SHA256 a8e6d504b5e5efea0668e2fa43fe9a7378e0eed08ac85c3392c754985c5492a9 SHA512 ddfc7258b48fae15172cf6b54867d7ef62afa551c84f3985503a1c43804bbf53de271933dff19338c1e3ea9ed04ee2d033f31e0f4a7beb6c1073f40ec8add279 WHIRLPOOL f56607ec27d5976d2191e4b16c8d48fc05ffbc2a5d6a968bf518cd1f111750d1e184c02dc236f71620f49d0241eb3c95aa3c15b131c4e01fa7350636a7e449f5
-DIST dmd.2.068.2.zip 61226769 SHA256 bf3182f767ddb8953bc7814cc6cf867bafa811f94f2a98fef788ae60cb6fe1db SHA512 197cbb841b53b2a82a1b1e90e0a59cf7144ffe5823d618d52cdbdfc6759fd02205983e6362efa4659eb4b36778d05fddc0fe0c59610146e3e1ca1efa05757daf WHIRLPOOL be1215f71f0dd228612ba91fe4a8d5afa99a09de323a09967d63b2c839f160d352b8ea6e133a0af8be9a623841251b00aae42ea312ab2b7af6e7632d0636681f
-DIST dmd.2.069.1.zip 76383062 SHA256 8c73f29fccce71bea02bdfa2521a945178e11c804e72e768fe96a1fb8d733abc SHA512 ba0b5ff40b1b2083213536382477824a78d363129abd7a17d59bfc76eefad1a5d262272072999289601992bf19366ade49193ab7d18e37afc5ead8d2b48d5b19 WHIRLPOOL 95e09cffb5775f78cd5e0c6f5a25c55f705b6f08caa66f9d1a25f5dd17949fcb1b302b91fb3f1fe9eeb720fc32529c2472f54ada811bc08a178c3e9a796ac78f
DIST dmd.2.069.2.linux.tar.xz 14525732 SHA256 764164534a31b8ed841d3e431ef4e103eec5140500d6296ed52fc8216cbe67aa SHA512 c2894585dd62a8392a455aa8c8b0d2819c2c605b62c9d1df3a210332421f573af7aed55708ac834a5ff9651dabe0adef2a8603632a21199afc7dbd4bd695e45f WHIRLPOOL 2861abd65c23332abef3cd9bc7678101430d6e9175e76802c21d4b82efda3c463a302641a86c3ee82c5fb6244ba5ee50dfc737e2bac41c20623f75a7a80db86d
DIST dmd.2.070.2.linux.tar.xz 15506616 SHA256 18fb121a096fc8efde0aeb21006bb60ae79976506a736146cd57963821a50ca7 SHA512 5abf29c781747c2956b0cbff68b499d6b06f08b0bc7510e61012889ef326396db469eaebccdf3c29bee347c887b6a79bdfb34a51fe0fd36f7cbdd6738ba6c669 WHIRLPOOL 5578a40fdb3d88dd426d7ff55e447f5263a20ded9e519e105810d2bf7ca2268e1ef9dd8f2f087759faa58e3d7c416bba89f13be963ba268a46524f7845a53102
DIST dmd.2.071.2.linux.tar.xz 16270412 SHA256 bab3343083af3aa7a88ac669af9a92f5e7aee1a19882a0a5f21538d90d3aa48c SHA512 2e9cf7990e4ca44b50e978b016a1cb5ded8690f67d0848c3c51f90967215d7b159822029a755405a0ee3aa67cc526ad492407eb3d245325957379ad975c786c8 WHIRLPOOL b0ec674325722704cb4363419f57d6784dfcb55756fa5f5e7dd11f0c1037cfd21f8a21c2431d9dfddc65e717831a003243499b9225b60894acf192a7b2f20271
diff --git a/dev-lang/dmd/dmd-2.063.2.ebuild b/dev-lang/dmd/dmd-2.063.2.ebuild
deleted file mode 100644
index e58c326..0000000
--- a/dev-lang/dmd/dmd-2.063.2.ebuild
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils versionator
-
-DESCRIPTION="Reference compiler for the D programming language"
-HOMEPAGE="http://dlang.org/"
-SRC_URI="mirror://aws/2013/${PN}.${PV}.zip"
-
-# License doesn't allow redistribution
-LICENSE="DMD"
-RESTRICT="mirror"
-
-# DMD supports amd64/x86 exclusively
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-KEYWORDS="-* amd64 x86"
-SLOT="$(get_version_component_range 1-2)"
-IUSE="doc examples"
-
-inherit multilib-build
-
-COMMON_DEPEND="
- net-misc/curl[${MULTILIB_USEDEP}]
- >=app-eselect/eselect-dlang-20140709
- "
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/unzip
- "
-RDEPEND="
- ${COMMON_DEPEND}
- !dev-lang/dmd-bin
- "
-
-S="${WORKDIR}/dmd2"
-PREFIX="opt/${PN}-${SLOT}"
-IMPORT_DIR="/${PREFIX}/import"
-
-src_prepare() {
- # Remove precompiled binaries and non-essential files
- rm -r README.TXT windows osx linux || die "Failed to remove included binaries."
-
- # Convert line-endings of file-types that start as cr-lf and are patched or installed later on
- for file in $( find . -name "*.txt" -o -name "*.html" -o -name "*.d" -o -name "*.di" -o -name "*.ddoc" -type f ); do
- edos2unix $file || die "Failed to convert DOS line-endings to Unix."
- done
-
- # patch: copy VERSION file into dmd directory
- cp src/VERSION src/dmd/VERSION || die "Failed to copy VERSION file into dmd directory."
-
- # Rename man pages to reflect slot number.
- mkdir man/man5 || die "Failed to create man/man5."
- mv man/man1/dmd.conf.5 man/man5/dmd.conf.5
-
- # Write a simple dmd.conf to bootstrap druntime and phobos
- cat > src/dmd/dmd.conf << EOF
-[Environment]
-DFLAGS=-L--export-dynamic
-EOF
-
- # Copy missing LICENSE_1_0.txt
- cp "${FILESDIR}/LICENSE_1_0.txt" src/phobos/ || die "Couldn't copy LICENSE_1_0.txt"
-
- epatch_user
-}
-
-abi_to_model() {
- [[ "${ABI:0:5}" == "amd64" ]] && echo 64 || echo 32
-}
-
-dmd_foreach_abi() {
- for ABI in $(multilib_get_enabled_abis); do
- local MODEL=$(abi_to_model)
- einfo "Executing ${1} in ${MODEL}-bit ..."
- "${@}"
- done
-}
-
-src_compile() {
- #Need to set PIC if GCC is hardened, otherwise users will be unable to link Phobos
- if [[ $(gcc --version | grep -o Hardened) ]]; then
- einfo "Hardened GCC detected - setting PIC"
- PIC="PIC=1"
- fi
-
- # A native build of dmd is used to compile the runtimes for both x86 and amd64
- # We cannot use multilib-minimal yet, as we have to be sure dmd for amd64
- # always gets build first.
- einfo "Building ${PN}..."
- emake -C src/dmd -f posix.mak TARGET_CPU=X86 RELEASE=1
-
- compile_libraries() {
- einfo 'Building druntime...'
- emake -C src/druntime -f posix.mak MODEL=${MODEL} DMD=../dmd/dmd ${PIC}
-
- einfo 'Building Phobos 2...'
- emake -C src/phobos -f posix.mak MODEL=${MODEL} DMD=../dmd/dmd ${PIC}
- }
-
- dmd_foreach_abi compile_libraries
-}
-
-src_test() {
- test_hello_world() {
- src/dmd/dmd -m${MODEL} -Isrc/phobos -Isrc/druntime/import -L-Lsrc/phobos/generated/linux/release/${MODEL} samples/d/hello.d || die "Failed to build hello.d (${MODEL}-bit)"
- ./hello ${MODEL}-bit || die "Failed to run test sample (${MODEL}-bit)"
- rm hello.o hello
- }
-
- dmd_foreach_abi test_hello_world
-}
-
-src_install() {
- # Prepeare and install config file.
- if has_multilib_profile; then
- cat > src/dmd/dmd.conf.default << EOF
-[Environment32]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib32 -L-rpath -L/${PREFIX}/lib32 -L--export-dynamic
-[Environment64]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib64 -L-rpath -L/${PREFIX}/lib64 -L--export-dynamic
-EOF
- else
- cat > src/dmd/dmd.conf.default << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib -L-rpath -L/${PREFIX}/lib -L--export-dynamic
-EOF
- fi
- einfo "Installing ${PN}..."
- into ${PREFIX}
- dobin src/dmd/dmd
- insinto ${PREFIX}/bin
- newins src/dmd/dmd.conf.default dmd.conf
- insinto ${PREFIX}
- newins src/dmd/backendlicense.txt dmd-backendlicense.txt
- newins src/dmd/artistic.txt dmd-artistic.txt
-
- einfo 'Installing druntime...'
- install_druntime() {
- into ${PREFIX}
- dolib.a src/druntime/lib/libdruntime-linux${MODEL}.a
- dolib.a src/druntime/lib/libdruntime-linux${MODEL}so.a
- dolib src/druntime/lib/libdruntime-linux${MODEL}so.o
- }
- dmd_foreach_abi install_druntime
- newins src/druntime/LICENSE druntime-LICENSE.txt
- insinto ${PREFIX}/import
- doins -r src/druntime/import/*
-
- einfo 'Installing Phobos 2...'
- install_library() {
- into ${PREFIX}
- dolib.a src/phobos/generated/linux/release/${MODEL}/libphobos2.a
- dolib.so src/phobos/generated/linux/release/${MODEL}/libphobos2.so.0.2.0
- dosym libphobos2.so.0.2.0 ${PREFIX}/$(get_libdir)/libphobos2.so.0.2
- dosym libphobos2.so.0.2.0 ${PREFIX}/$(get_libdir)/libphobos2.so
- }
- dmd_foreach_abi install_library
- insinto ${PREFIX}/import
- doins -r src/phobos/std
- doins -r src/phobos/etc
- doins src/phobos/crc32.d
- insinto ${PREFIX}
- newins src/phobos/LICENSE_1_0.txt phobos-LICENSE.txt
-
- # man pages, docs and samples
- insinto ${PREFIX}/man/man1
- doins man/man1/dmd.1
- insinto ${PREFIX}/man/man5
- doins man/man5/dmd.conf.5
- insinto ${PREFIX}
- use doc && doins -r html
- if use examples; then
- docompress -x ${PREFIX}/samples/
- insinto ${PREFIX}/samples
- doins -r samples/d/*
- fi
-}
-
-pkg_postinst() {
- # Update active dmd
- "${ROOT}"/usr/bin/eselect dlang update dmd
-
- elog "License files are in: /${PREFIX}"
- use examples && elog "Examples can be found in: /${PREFIX}/samples"
- use doc && elog "HTML documentation is in: /${PREFIX}/html"
-}
-
-pkg_postrm() {
- "${ROOT}"/usr/bin/eselect dlang update dmd
-}
diff --git a/dev-lang/dmd/dmd-2.064.2.ebuild b/dev-lang/dmd/dmd-2.064.2.ebuild
deleted file mode 100644
index 28b843e..0000000
--- a/dev-lang/dmd/dmd-2.064.2.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-DESCRIPTION="Reference compiler for the D programming language"
-HOMEPAGE="http://dlang.org/"
-SRC_URI="mirror://aws/2013/${PN}.${PV}.zip"
-
-# License doesn't allow redistribution
-LICENSE="DMD"
-RESTRICT="mirror"
-
-# DMD supports amd64/x86 exclusively
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-KEYWORDS="-* amd64 x86"
-SLOT="2.064"
-IUSE="doc examples"
-
-inherit eutils multilib-build
-
-COMMON_DEPEND="
- net-misc/curl[${MULTILIB_USEDEP}]
- >=app-eselect/eselect-dlang-20140709
- "
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/unzip
- "
-RDEPEND="
- ${COMMON_DEPEND}
- !dev-lang/dmd-bin
- "
-
-S="${WORKDIR}/dmd2"
-PREFIX="opt/${PN}-${SLOT}"
-IMPORT_DIR="/${PREFIX}/import"
-
-src_prepare() {
- # Remove precompiled binaries and non-essential files
- rm -r README.TXT windows osx linux || die "Failed to remove included binaries."
-
- # Convert line-endings of file-types that start as cr-lf and are patched or installed later on
- for file in $( find . -name "*.txt" -o -name "*.html" -o -name "*.d" -o -name "*.di" -o -name "*.ddoc" -type f ); do
- edos2unix $file || die "Failed to convert DOS line-endings to Unix."
- done
-
- # patch: copy VERSION file into dmd directory
- cp src/VERSION src/dmd/VERSION || die "Failed to copy VERSION file into dmd directory."
-
- # Rename man pages to reflect slot number.
- mkdir man/man5 || die "Failed to create man/man5."
- mv man/man1/dmd.conf.5 man/man5/dmd.conf.5
-
- # Write a simple dmd.conf to bootstrap druntime and phobos
- cat > src/dmd/dmd.conf << EOF
-[Environment]
-DFLAGS=-L--export-dynamic
-EOF
-
- # Copy missing LICENSE_1_0.txt
- cp "${FILESDIR}/LICENSE_1_0.txt" src/phobos/ || die "Couldn't copy LICENSE_1_0.txt"
-
- # Allow installation into lib32/lib64
- epatch "${FILESDIR}/${SLOT}-makefile-multilib.patch"
- epatch_user
-}
-
-abi_to_model() {
- [[ "${ABI:0:5}" == "amd64" ]] && echo 64 || echo 32
-}
-
-dmd_foreach_abi() {
- for ABI in $(multilib_get_enabled_abis); do
- local MODEL=$(abi_to_model)
- einfo "Executing ${1} in ${MODEL}-bit ..."
- "${@}"
- done
-}
-
-src_compile() {
- #Need to set PIC if GCC is hardened, otherwise users will be unable to link Phobos
- if [[ $(gcc --version | grep -o Hardened) ]]; then
- einfo "Hardened GCC detected - setting PIC"
- PIC="PIC=1"
- fi
-
- # A native build of dmd is used to compile the runtimes for both x86 and amd64
- # We cannot use multilib-minimal yet, as we have to be sure dmd for amd64
- # always gets build first.
- einfo "Building ${PN}..."
- emake -C src/dmd -f posix.mak TARGET_CPU=X86 RELEASE=1
-
- compile_libraries() {
- einfo 'Building druntime...'
- emake -C src/druntime -f posix.mak MODEL=${MODEL} DMD=../dmd/dmd ${PIC}
-
- einfo 'Building Phobos 2...'
- emake -C src/phobos -f posix.mak MODEL=${MODEL} DMD=../dmd/dmd ${PIC}
- }
-
- dmd_foreach_abi compile_libraries
-}
-
-src_test() {
- test_hello_world() {
- src/dmd/dmd -m${MODEL} -Isrc/phobos -Isrc/druntime/import -L-Lsrc/phobos/generated/linux/release/${MODEL} samples/d/hello.d || die "Failed to build hello.d (${MODEL}-bit)"
- ./hello ${MODEL}-bit || die "Failed to run test sample (${MODEL}-bit)"
- rm hello.o hello
- }
-
- dmd_foreach_abi test_hello_world
-}
-
-src_install() {
- # Prepeare and install config file.
- if has_multilib_profile; then
- cat > src/dmd/dmd.conf.default << EOF
-[Environment32]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib32 -L-rpath -L/${PREFIX}/lib32 -L--export-dynamic
-[Environment64]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib64 -L-rpath -L/${PREFIX}/lib64 -L--export-dynamic
-EOF
- else
- cat > src/dmd/dmd.conf.default << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib -L-rpath -L/${PREFIX}/lib -L--export-dynamic
-EOF
- fi
- einfo "Installing ${PN}..."
- emake -C src/dmd -f posix.mak TARGET_CPU=X86 RELEASE=1 INSTALL_DIR="${D}${PREFIX}" install
-
- einfo 'Installing druntime...'
- install_druntime() {
- emake -C src/druntime -f posix.mak INSTALL_DIR="${D}${PREFIX}" LIB_DIR="$(get_libdir)" MODEL=$(abi_to_model) install ${PIC}
- rm -r "${D}${PREFIX}/html" || die "Couldn't remove duplicate HTML documentation."
- }
- dmd_foreach_abi install_druntime
-
- einfo 'Installing Phobos 2...'
- into ${PREFIX}
- install_library() {
- emake -C src/phobos -f posix.mak INSTALL_DIR="${D}${PREFIX}" LIB_DIR="$(get_libdir)" MODEL=$(abi_to_model) install ${PIC}
- dolib.so src/phobos/generated/linux/release/${MODEL}/libphobos2.so.0.64.0
- dosym libphobos2.so.0.64.0 ${PREFIX}/$(get_libdir)/libphobos2.so.0.64
- dosym libphobos2.so.0.64.0 ${PREFIX}/$(get_libdir)/libphobos2.so
- }
- dmd_foreach_abi install_library
-
- # man pages, docs and samples
- insinto ${PREFIX}/man/man1
- doins man/man1/dmd.1
- insinto ${PREFIX}/man/man5
- doins man/man5/dmd.conf.5
- insinto ${PREFIX}
- use doc && doins -r html
- if use examples; then
- docompress -x ${PREFIX}/samples/
- insinto ${PREFIX}/samples
- doins -r samples/d/*
- fi
-}
-
-pkg_postinst() {
- # Update active dmd
- "${ROOT}"/usr/bin/eselect dlang update dmd
-
- elog "License files are in: /${PREFIX}"
- use examples && elog "Examples can be found in: /${PREFIX}/samples"
- use doc && elog "HTML documentation is in: /${PREFIX}/html"
-}
-
-pkg_postrm() {
- "${ROOT}"/usr/bin/eselect dlang update dmd
-}
diff --git a/dev-lang/dmd/dmd-2.065.0.ebuild b/dev-lang/dmd/dmd-2.065.0.ebuild
deleted file mode 100644
index d9b816d..0000000
--- a/dev-lang/dmd/dmd-2.065.0.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils versionator
-
-DESCRIPTION="Reference compiler for the D programming language"
-HOMEPAGE="http://dlang.org/"
-SRC_URI="mirror://aws/2014/${PN}.${PV}.zip"
-
-# License doesn't allow redistribution
-LICENSE="DMD"
-RESTRICT="mirror"
-
-# DMD supports amd64/x86 exclusively
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-KEYWORDS="-* amd64 x86"
-SLOT="$(get_version_component_range 1-2)"
-IUSE="doc examples"
-
-inherit multilib-build
-
-COMMON_DEPEND="
- net-misc/curl[${MULTILIB_USEDEP}]
- >=app-eselect/eselect-dlang-20140709
- "
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/unzip
- "
-RDEPEND="
- ${COMMON_DEPEND}
- !dev-lang/dmd-bin
- "
-
-S="${WORKDIR}/dmd2"
-PREFIX="opt/${PN}-${SLOT}"
-IMPORT_DIR="/${PREFIX}/import"
-
-src_prepare() {
- # Remove precompiled binaries and non-essential files
- rm -r README.TXT windows osx freebsd linux || die "Failed to remove included binaries."
-
- # Convert line-endings of file-types that start as cr-lf and are patched or installed later on
- for file in $( find . -name "*.txt" -o -name "*.html" -o -name "*.d" -o -name "*.di" -o -name "*.ddoc" -type f ); do
- edos2unix $file || die "Failed to convert DOS line-endings to Unix."
- done
-
- # patch: copy VERSION file into dmd directory
- cp src/VERSION src/dmd/VERSION || die "Failed to copy VERSION file into dmd directory."
-
- # Write a simple dmd.conf to bootstrap druntime and phobos
- cat > src/dmd/dmd.conf << EOF
-[Environment]
-DFLAGS=-L--export-dynamic
-EOF
-
- # Allow installation into lib32/lib64
- epatch "${FILESDIR}/${SLOT}-makefile-multilib.patch"
- epatch_user
-}
-
-abi_to_model() {
- [[ "${ABI:0:5}" == "amd64" ]] && echo 64 || echo 32
-}
-
-dmd_foreach_abi() {
- for ABI in $(multilib_get_enabled_abis); do
- local MODEL=$(abi_to_model)
- einfo "Executing ${1} in ${MODEL}-bit ..."
- "${@}"
- done
-}
-
-src_compile() {
- #Need to set PIC if GCC is hardened, otherwise users will be unable to link Phobos
- if [[ $(gcc --version | grep -o Hardened) ]]; then
- einfo "Hardened GCC detected - setting PIC"
- PIC="PIC=1"
- fi
-
- # A native build of dmd is used to compile the runtimes for both x86 and amd64
- # We cannot use multilib-minimal yet, as we have to be sure dmd for amd64
- # always gets build first.
- einfo "Building ${PN}..."
- emake -C src/dmd -f posix.mak TARGET_CPU=X86 RELEASE=1
-
- compile_libraries() {
- einfo 'Building druntime...'
- emake -C src/druntime -f posix.mak MODEL=${MODEL} DMD=../dmd/dmd ${PIC}
-
- einfo 'Building Phobos 2...'
- emake -C src/phobos -f posix.mak MODEL=${MODEL} DMD=../dmd/dmd ${PIC}
- }
-
- dmd_foreach_abi compile_libraries
-}
-
-src_test() {
- test_hello_world() {
- src/dmd/dmd -m${MODEL} -Isrc/phobos -Isrc/druntime/import -L-Lsrc/phobos/generated/linux/release/${MODEL} samples/d/hello.d || die "Failed to build hello.d (${MODEL}-bit)"
- ./hello ${MODEL}-bit || die "Failed to run test sample (${MODEL}-bit)"
- rm hello.o hello
- }
-
- dmd_foreach_abi test_hello_world
-}
-
-src_install() {
- # Prepeare and install config file.
- if has_multilib_profile; then
- cat > src/dmd/dmd.conf.default << EOF
-[Environment32]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib32 -L-rpath -L/${PREFIX}/lib32 -L--export-dynamic
-[Environment64]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib64 -L-rpath -L/${PREFIX}/lib64 -L--export-dynamic
-EOF
- else
- cat > src/dmd/dmd.conf.default << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L-L/${PREFIX}/lib -L-rpath -L/${PREFIX}/lib -L--export-dynamic
-EOF
- fi
- einfo "Installing ${PN}..."
- emake -C src/dmd -f posix.mak TARGET_CPU=X86 RELEASE=1 INSTALL_DIR="${D}${PREFIX}" install ${PIC}
-
- einfo 'Installing druntime...'
- install_druntime() {
- emake -C src/druntime -f posix.mak INSTALL_DIR="${D}${PREFIX}" LIB_DIR="$(get_libdir)" MODEL=$(abi_to_model) install ${PIC}
- rm -r "${D}${PREFIX}/html" || die "Couldn't remove duplicate HTML documentation."
- }
- dmd_foreach_abi install_druntime
-
- einfo 'Installing Phobos 2...'
- into ${PREFIX}
- install_library() {
- emake -C src/phobos -f posix.mak INSTALL_DIR="${D}${PREFIX}" LIB_DIR="$(get_libdir)" MODEL=$(abi_to_model) install ${PIC}
- dolib.so src/phobos/generated/linux/release/${MODEL}/libphobos2.so.0.65.0
- dosym libphobos2.so.0.65.0 ${PREFIX}/$(get_libdir)/libphobos2.so.0.65
- dosym libphobos2.so.0.65.0 ${PREFIX}/$(get_libdir)/libphobos2.so
- }
- dmd_foreach_abi install_library
-
- # man pages, docs and samples
- insinto ${PREFIX}/man/man1
- doins man/man1/dmd.1
- insinto ${PREFIX}/man/man5
- doins man/man5/dmd.conf.5
- insinto ${PREFIX}
- use doc && doins -r html
- if use examples; then
- docompress -x ${PREFIX}/samples/
- insinto ${PREFIX}/samples
- doins -r samples/d/*
- fi
-}
-
-pkg_postinst() {
- # Update active dmd
- "${ROOT}"/usr/bin/eselect dlang update dmd
-
- elog "License files are in: /${PREFIX}"
- use examples && elog "Examples can be found in: /${PREFIX}/samples"
- use doc && elog "HTML documentation is in: /${PREFIX}/html"
-}
-
-pkg_postrm() {
- "${ROOT}"/usr/bin/eselect dlang update dmd
-}
diff --git a/dev-lang/dmd/dmd-2.066.1.ebuild b/dev-lang/dmd/dmd-2.066.1.ebuild
deleted file mode 100644
index 90b835e..0000000
--- a/dev-lang/dmd/dmd-2.066.1.ebuild
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils versionator
-
-DESCRIPTION="Reference compiler for the D programming language"
-HOMEPAGE="http://dlang.org/"
-SRC_URI="mirror://aws/2014/${PN}.${PV}.zip"
-
-# License doesn't allow redistribution
-LICENSE="DMD"
-RESTRICT="mirror"
-
-# DMD supports amd64/x86 exclusively
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-KEYWORDS="-* amd64 x86"
-SLOT="$(get_version_component_range 1-2)"
-IUSE="doc examples tools"
-
-inherit multilib-build
-
-COMMON_DEPEND="
- net-misc/curl[${MULTILIB_USEDEP}]
- >=app-eselect/eselect-dlang-20140709
- "
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/unzip
- "
-RDEPEND="
- ${COMMON_DEPEND}
- !dev-lang/dmd-bin
- "
-PDEPEND="tools? ( >=dev-util/dlang-tools-${PV} )"
-
-S="${WORKDIR}/dmd2"
-PREFIX="opt/${PN}-${SLOT}"
-IMPORT_DIR="/${PREFIX}/import"
-
-src_prepare() {
- # Remove precompiled binaries and non-essential files
- rm -r README.TXT windows osx freebsd linux || die "Failed to remove included binaries."
-
- # Convert line-endings of file-types that start as cr-lf and are installed later on
- for file in $( find . -name "*.txt" -o -name "*.html" -o -name "*.d" -o -name "*.di" -o -name "*.ddoc" -type f ); do
- edos2unix $file || die "Failed to convert DOS line-endings to Unix."
- done
-
- # Fix the messy directory layout so the three make files can cooperate
- mv src/druntime druntime
- mv src/phobos phobos
- mv src dmd
- mv dmd/dmd dmd/src
-
- # Write a simple dmd.conf to bootstrap druntime and phobos
- cat > dmd/src/dmd.conf << EOF
-[Environment]
-DFLAGS=-L--export-dynamic
-EOF
-
- # Temporary fix for recompilation of Phobos during installation
- epatch "${FILESDIR}/${PV}-phobos-makefile.patch"
- epatch_user
-}
-
-abi_to_model() {
- [[ "${ABI:0:5}" == "amd64" ]] && echo 64 || echo 32
-}
-
-dmd_foreach_abi() {
- for ABI in $(multilib_get_enabled_abis); do
- local MODEL=$(abi_to_model)
- einfo "Executing ${1} in ${MODEL}-bit ..."
- "${@}"
- done
-}
-
-src_compile() {
- #Need to set PIC if GCC is hardened, otherwise users will be unable to link Phobos
- if [[ $(gcc --version | grep -o Hardened) ]]; then
- einfo "Hardened GCC detected - setting PIC"
- PIC="PIC=1"
- fi
-
- # A native build of dmd is used to compile the runtimes for both x86 and amd64
- # We cannot use multilib-minimal yet, as we have to be sure dmd for amd64
- # always gets build first.
- einfo "Building ${PN}..."
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 RELEASE=1
-
- compile_libraries() {
- einfo 'Building druntime...'
- emake -C druntime -f posix.mak MODEL=${MODEL} ${PIC}
-
- einfo 'Building Phobos 2...'
- emake -C phobos -f posix.mak MODEL=${MODEL} ${PIC}
- }
-
- dmd_foreach_abi compile_libraries
-}
-
-src_test() {
- test_hello_world() {
- dmd/src/dmd -m${MODEL} -Iphobos -Idruntime/import -L-Lphobos/generated/linux/release/${MODEL} samples/d/hello.d || die "Failed to build hello.d (${MODEL}-bit)"
- ./hello ${MODEL}-bit || die "Failed to run test sample (${MODEL}-bit)"
- rm hello.o hello
- }
-
- dmd_foreach_abi test_hello_world
-}
-
-src_install() {
- local MODEL=$(abi_to_model)
-
- # Prepeare dmd.conf
- mkdir -p dmd/ini/linux/bin${MODEL} || die "Failed to create directory: dmd/ini/linux/bin${MODEL}"
- if has_multilib_profile; then
- cat > dmd/ini/linux/bin${MODEL}/dmd.conf << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L--export-dynamic -defaultlib=phobos2
-[Environment32]
-DFLAGS=%DFLAGS% -L-L/${PREFIX}/lib32 -L-rpath -L/${PREFIX}/lib32
-[Environment64]
-DFLAGS=%DFLAGS% -L-L/${PREFIX}/lib64 -L-rpath -L/${PREFIX}/lib64
-EOF
- else
- cat > dmd/ini/linux/bin${MODEL}/dmd.conf << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L--export-dynamic -defaultlib=phobos2 -L-L/${PREFIX}/lib -L-rpath -L/${PREFIX}/lib
-EOF
- fi
-
- # DMD
- einfo "Installing ${PN}..."
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 RELEASE=1 install
- into ${PREFIX}
- dobin install/linux/bin${MODEL}/dmd
- insinto ${PREFIX}/bin
- doins install/linux/bin${MODEL}/dmd.conf
- insinto ${PREFIX}
- doins install/{dmd-artistic,dmd-backendlicense}.txt
-
- einfo 'Installing druntime...'
- install_druntime() {
- emake -C druntime -f posix.mak LIB_DIR="$(get_libdir)" MODEL=${MODEL} install
- }
- dmd_foreach_abi install_druntime
- doins -r install/import
- doins install/druntime-LICENSE.txt
-
- einfo 'Installing Phobos 2...'
- install_library() {
- emake -C phobos -f posix.mak LIB_DIR="$(get_libdir)" MODEL=${MODEL} install
- dolib.a install/linux/lib${MODEL}/libphobos2.a
- dolib.so install/linux/lib${MODEL}/libphobos2.so.0.66.1
- dolib.so install/linux/lib${MODEL}/libphobos2.so
- dosym libphobos2.so.0.66.1 ${PREFIX}/$(get_libdir)/libphobos2.so.0.66
- }
- dmd_foreach_abi install_library
- insinto ${PREFIX}/import
- doins -r install/src/phobos/*
- insinto ${PREFIX}
- doins install/phobos-LICENSE.txt
-
- # man pages, docs and samples
- insinto ${PREFIX}/man/man1
- doins man/man1/dmd.1
- insinto ${PREFIX}/man/man5
- doins man/man5/dmd.conf.5
- insinto ${PREFIX}
- use doc && doins -r html
- if use examples; then
- docompress -x ${PREFIX}/samples/
- insinto ${PREFIX}/samples
- doins -r samples/d/*
- fi
-}
-
-pkg_postinst() {
- # Update active dmd
- "${ROOT}"/usr/bin/eselect dlang update dmd
-
- elog "License files are in: /${PREFIX}"
- use examples && elog "Examples can be found in: /${PREFIX}/samples"
- use doc && elog "HTML documentation is in: /${PREFIX}/html"
-}
-
-pkg_postrm() {
- "${ROOT}"/usr/bin/eselect dlang update dmd
-}
diff --git a/dev-lang/dmd/dmd-2.067.1-r1.ebuild b/dev-lang/dmd/dmd-2.067.1-r1.ebuild
deleted file mode 100644
index 3d13dd4..0000000
--- a/dev-lang/dmd/dmd-2.067.1-r1.ebuild
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils versionator
-
-DESCRIPTION="Reference compiler for the D programming language"
-HOMEPAGE="http://dlang.org/"
-SRC_URI="mirror://aws/2015/${PN}.${PV}.zip"
-
-# License doesn't allow redistribution
-LICENSE="DMD"
-RESTRICT="mirror"
-
-# DMD supports amd64/x86 exclusively
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-KEYWORDS="-* amd64 x86"
-SLOT="$(get_version_component_range 1-2)"
-IUSE="doc examples tools"
-
-inherit multilib-build
-
-COMMON_DEPEND="
- net-misc/curl[${MULTILIB_USEDEP}]
- >=app-eselect/eselect-dlang-20140709
- "
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/unzip
- "
-RDEPEND="
- ${COMMON_DEPEND}
- !dev-lang/dmd-bin
- "
-PDEPEND="tools? ( >=dev-util/dlang-tools-${PV} )"
-
-S="${WORKDIR}/dmd2"
-PREFIX="opt/${PN}-${SLOT}"
-IMPORT_DIR="/${PREFIX}/import"
-
-src_prepare() {
- # Remove precompiled binaries and non-essential files
- rm -r README.TXT windows osx freebsd linux || die "Failed to remove included binaries."
-
- # Convert line-endings of file-types that start as cr-lf and are installed later on
- for file in $( find . -name "*.txt" -o -name "*.html" -o -name "*.d" -o -name "*.di" -o -name "*.ddoc" -type f ); do
- edos2unix $file || die "Failed to convert DOS line-endings to Unix."
- done
-
- # Fix the messy directory layout so the three make files can cooperate
- mv src/druntime druntime || die
- mv src/phobos phobos || die
- mv src dmd || die
- mv dmd/dmd dmd/src || die
-
- # Write a simple dmd.conf to bootstrap druntime and phobos
- cat > dmd/src/dmd.conf << EOF
-[Environment]
-DFLAGS=-L--export-dynamic
-EOF
-
- # User patches
- epatch_user
-}
-
-abi_to_model() {
- [[ "${ABI:0:5}" == "amd64" ]] && echo 64 || echo 32
-}
-
-dmd_foreach_abi() {
- for ABI in $(multilib_get_enabled_abis); do
- local MODEL=$(abi_to_model)
- einfo "Executing ${1} in ${MODEL}-bit ..."
- "${@}"
- done
-}
-
-src_compile() {
- #Need to set PIC if GCC is hardened, otherwise users will be unable to link Phobos
- if [[ $(gcc --version | grep -o Hardened) ]]; then
- einfo "Hardened GCC detected - setting PIC"
- PIC="PIC=1"
- fi
-
- # A native build of dmd is used to compile the runtimes for both x86 and amd64
- # We cannot use multilib-minimal yet, as we have to be sure dmd for amd64
- # always gets build first.
- einfo "Building ${PN}..."
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 RELEASE=1
-
- compile_libraries() {
- einfo 'Building druntime...'
- emake -C druntime -f posix.mak MODEL=${MODEL} ${PIC}
-
- einfo 'Building Phobos 2...'
- emake -C phobos -f posix.mak MODEL=${MODEL} ${PIC}
- }
-
- dmd_foreach_abi compile_libraries
-}
-
-src_test() {
- test_hello_world() {
- dmd/src/dmd -m${MODEL} -Iphobos -Idruntime/import -L-Lphobos/generated/linux/release/${MODEL} samples/d/hello.d || die "Failed to build hello.d (${MODEL}-bit)"
- ./hello ${MODEL}-bit || die "Failed to run test sample (${MODEL}-bit)"
- rm hello.o hello || die
- }
-
- dmd_foreach_abi test_hello_world
-}
-
-src_install() {
- local MODEL=$(abi_to_model)
-
- # Prepeare dmd.conf
- mkdir -p dmd/ini/linux/bin${MODEL} || die "Failed to create directory: dmd/ini/linux/bin${MODEL}"
- if has_multilib_profile; then
- cat > dmd/ini/linux/bin${MODEL}/dmd.conf << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L--export-dynamic -defaultlib=phobos2
-[Environment32]
-DFLAGS=%DFLAGS% -L-L/${PREFIX}/lib32 -L-rpath -L/${PREFIX}/lib32
-[Environment64]
-DFLAGS=%DFLAGS% -L-L/${PREFIX}/lib64 -L-rpath -L/${PREFIX}/lib64
-EOF
- else
- cat > dmd/ini/linux/bin${MODEL}/dmd.conf << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L--export-dynamic -defaultlib=phobos2 -L-L/${PREFIX}/lib${MODEL} -L-rpath -L/${PREFIX}/lib${MODEL}
-EOF
- fi
-
- # DMD
- einfo "Installing ${PN}..."
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 RELEASE=1 install
- into ${PREFIX}
- dobin install/linux/bin${MODEL}/dmd
- insinto ${PREFIX}/bin
- doins install/linux/bin${MODEL}/dmd.conf
- insinto ${PREFIX}
- doins install/{dmd-boostlicense,dmd-backendlicense}.txt
-
- einfo 'Installing druntime...'
- install_druntime() {
- emake -C druntime -f posix.mak LIB_DIR="$(get_libdir)" MODEL=${MODEL} install
- }
- dmd_foreach_abi install_druntime
- doins -r install/src/druntime/import
- doins install/druntime-LICENSE.txt
-
- einfo 'Installing Phobos 2...'
- install_library() {
- emake -C phobos -f posix.mak LIB_DIR="$(get_libdir)" MODEL=${MODEL} install
- dolib.a install/linux/lib${MODEL}/libphobos2.a
- dolib.so install/linux/lib${MODEL}/libphobos2.so.0.67.1
- dolib.so install/linux/lib${MODEL}/libphobos2.so
- dosym libphobos2.so.0.67.1 ${PREFIX}/$(get_libdir)/libphobos2.so.0.67
- }
- dmd_foreach_abi install_library
- insinto ${PREFIX}/import
- doins -r install/src/phobos/*
- insinto ${PREFIX}
- doins install/phobos-LICENSE.txt
-
- # man pages, docs and samples
- insinto ${PREFIX}/man/man1
- doins man/man1/dmd.1
- insinto ${PREFIX}/man/man5
- doins man/man5/dmd.conf.5
- insinto ${PREFIX}
- use doc && doins -r html
- if use examples; then
- docompress -x ${PREFIX}/samples/
- insinto ${PREFIX}/samples
- doins -r samples/d/*
- fi
-}
-
-pkg_postinst() {
- # Update active dmd
- "${ROOT}"/usr/bin/eselect dlang update dmd
-
- elog "License files are in: /${PREFIX}"
- use examples && elog "Examples can be found in: /${PREFIX}/samples"
- use doc && elog "HTML documentation is in: /${PREFIX}/html"
-}
-
-pkg_postrm() {
- "${ROOT}"/usr/bin/eselect dlang update dmd
-}
diff --git a/dev-lang/dmd/dmd-2.068.2-r2.ebuild b/dev-lang/dmd/dmd-2.068.2-r2.ebuild
deleted file mode 100644
index f1acafd..0000000
--- a/dev-lang/dmd/dmd-2.068.2-r2.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-DESCRIPTION="Reference compiler for the D programming language"
-HOMEPAGE="http://dlang.org/"
-
-# License doesn't allow redistribution
-LICENSE="DMD"
-RESTRICT="mirror"
-
-# DMD supports amd64/x86 exclusively
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-KEYWORDS="-* amd64 x86"
-IUSE="doc examples tools"
-
-DLANG_VERSION_RANGE="2.063-"
-DLANG_PACKAGE_TYPE="single"
-
-inherit eutils dlang versionator multilib-build
-
-SLOT="$(get_version_component_range 1-2)"
-MAJOR="$(get_major_version)"
-MINOR="$((10#$(get_version_component_range 2)))"
-PATCH="$(get_version_component_range 3)"
-VERSION="$(get_version_component_range 1-3)"
-BETA="$(echo $(get_version_component_range 4) | cut -c 5-)"
-
-if [[ -n "${BETA}" ]]; then
- SRC_URI="http://downloads.dlang.org/pre-releases/${MAJOR}.x/${VERSION}/${PN}.${VERSION}-b${BETA}.linux.tar.xz"
-else
- SRC_URI="mirror://aws/2015/${PN}.${PV}.zip"
-fi
-
-COMMON_DEPEND="
- net-misc/curl[${MULTILIB_USEDEP}]
- >=app-eselect/eselect-dlang-20140709
- "
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/unzip
- "
-RDEPEND="
- ${COMMON_DEPEND}
- !dev-lang/dmd-bin
- "
-PDEPEND="tools? ( >=dev-util/dlang-tools-${PV} )"
-
-S="${WORKDIR}/dmd2"
-PREFIX="opt/${PN}-${SLOT}"
-IMPORT_DIR="/${PREFIX}/import"
-
-src_prepare() {
- # Remove precompiled binaries and non-essential files
- rm -r README.TXT windows osx freebsd linux || die "Failed to remove included binaries."
-
- # Convert line-endings of file-types that start as cr-lf and are installed later on
- for file in $( find . -name "*.txt" -o -name "*.html" -o -name "*.d" -o -name "*.di" -o -name "*.ddoc" -type f ); do
- edos2unix $file || die "Failed to convert DOS line-endings to Unix."
- done
-
- # Fix the messy directory layout so the three make files can cooperate
- mv src/druntime druntime || die
- mv src/phobos phobos || die
- mv src dmd || die
- mv dmd/dmd dmd/src || die
-
- # User patches
- epatch_user
-}
-
-abi_to_model() {
- [[ "${ABI:0:5}" == "amd64" ]] && echo 64 || echo 32
-}
-
-dmd_foreach_abi() {
- for ABI in $(multilib_get_enabled_abis); do
- local MODEL=$(abi_to_model)
- einfo "Executing ${1} in ${MODEL}-bit ..."
- "${@}"
- done
-}
-
-src_compile() {
- #Need to set PIC if GCC is hardened, otherwise users will be unable to link Phobos
- if [[ $(gcc --version | grep -o Hardened) ]]; then
- einfo "Hardened GCC detected - setting PIC"
- PIC="PIC=1"
- fi
-
- # A native build of dmd is used to compile the runtimes for both x86 and amd64
- # We cannot use multilib-minimal yet, as we have to be sure dmd for amd64
- # always gets build first.
- einfo "Building ${PN}..."
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 HOST_DC="${DMD}" RELEASE=1
-
- compile_libraries() {
- einfo 'Building druntime...'
- emake -C druntime -f posix.mak MODEL=${MODEL} ${PIC}
-
- einfo 'Building Phobos 2...'
- emake -C phobos -f posix.mak MODEL=${MODEL} ${PIC}
- }
-
- dmd_foreach_abi compile_libraries
-}
-
-src_test() {
- test_hello_world() {
- dmd/src/dmd -m${MODEL} -Iphobos -Idruntime/import -L-Lphobos/generated/linux/release/${MODEL} samples/d/hello.d || die "Failed to build hello.d (${MODEL}-bit)"
- ./hello ${MODEL}-bit || die "Failed to run test sample (${MODEL}-bit)"
- rm hello.o hello || die
- }
-
- dmd_foreach_abi test_hello_world
-}
-
-src_install() {
- local MODEL=$(abi_to_model)
-
- # Prepeare dmd.conf
- mkdir -p dmd/ini/linux/bin${MODEL} || die "Failed to create directory: dmd/ini/linux/bin${MODEL}"
- if has_multilib_profile; then
- cat > dmd/ini/linux/bin${MODEL}/dmd.conf << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L--export-dynamic -defaultlib=phobos2
-[Environment32]
-DFLAGS=%DFLAGS% -L-L/${PREFIX}/lib32 -L-rpath -L/${PREFIX}/lib32
-[Environment64]
-DFLAGS=%DFLAGS% -L-L/${PREFIX}/lib64 -L-rpath -L/${PREFIX}/lib64
-EOF
- else
- cat > dmd/ini/linux/bin${MODEL}/dmd.conf << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L--export-dynamic -defaultlib=phobos2 -L-L/${PREFIX}/lib${MODEL} -L-rpath -L/${PREFIX}/lib${MODEL}
-EOF
- fi
-
- # DMD
- einfo "Installing ${PN}..."
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 HOST_DC="${DMD}" RELEASE=1 install
- into ${PREFIX}
- dobin install/linux/bin${MODEL}/dmd
- insinto ${PREFIX}/bin
- doins install/linux/bin${MODEL}/dmd.conf
- insinto ${PREFIX}
- doins install/{dmd-boostlicense,dmd-backendlicense}.txt
- dosym "/${PREFIX}/bin/dmd" "${ROOT}/usr/bin/dmd-${SLOT}"
-
- einfo 'Installing druntime...'
- install_druntime() {
- emake -C druntime -f posix.mak LIB_DIR="$(get_libdir)" MODEL=${MODEL} install
- }
- dmd_foreach_abi install_druntime
- doins -r install/src/druntime/import
- doins install/druntime-LICENSE.txt
-
- einfo 'Installing Phobos 2...'
- install_library() {
- emake -C phobos -f posix.mak LIB_DIR="$(get_libdir)" MODEL=${MODEL} install
- dolib.a install/linux/lib${MODEL}/libphobos2.a
- dolib.so install/linux/lib${MODEL}/libphobos2.so.0.${MINOR}.${PATCH}
- dolib.so install/linux/lib${MODEL}/libphobos2.so
- dosym libphobos2.so.0.${MINOR}.${PATCH} ${PREFIX}/$(get_libdir)/libphobos2.so.0.${MINOR}
- }
- dmd_foreach_abi install_library
- insinto ${PREFIX}/import
- doins -r install/src/phobos/*
- insinto ${PREFIX}
- doins install/phobos-LICENSE.txt
-
- # man pages, docs and samples
- insinto ${PREFIX}/man/man1
- doins man/man1/dmd.1
- insinto ${PREFIX}/man/man5
- doins man/man5/dmd.conf.5
- insinto ${PREFIX}
- use doc && doins -r html
- if use examples; then
- docompress -x ${PREFIX}/samples/
- insinto ${PREFIX}/samples
- doins -r samples/d/*
- fi
-}
-
-pkg_postinst() {
- # Update active dmd
- "${ROOT}"/usr/bin/eselect dlang update dmd
-
- elog "License files are in: /${PREFIX}"
- use examples && elog "Examples can be found in: /${PREFIX}/samples"
- use doc && elog "HTML documentation is in: /${PREFIX}/html"
-}
-
-pkg_postrm() {
- "${ROOT}"/usr/bin/eselect dlang update dmd
-}
diff --git a/dev-lang/dmd/dmd-2.069.1-r1.ebuild b/dev-lang/dmd/dmd-2.069.1-r1.ebuild
deleted file mode 100644
index a8d6570..0000000
--- a/dev-lang/dmd/dmd-2.069.1-r1.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-DESCRIPTION="Reference compiler for the D programming language"
-HOMEPAGE="http://dlang.org/"
-
-# License doesn't allow redistribution
-LICENSE="DMD"
-RESTRICT="mirror"
-
-# DMD supports amd64/x86 exclusively
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-KEYWORDS="-* amd64 x86"
-IUSE="doc examples tools"
-
-DLANG_VERSION_RANGE="2.067-"
-DLANG_PACKAGE_TYPE="single"
-
-inherit eutils dlang versionator multilib-build
-
-SLOT="$(get_version_component_range 1-2)"
-MAJOR="$(get_major_version)"
-MINOR="$((10#$(get_version_component_range 2)))"
-PATCH="$(get_version_component_range 3)"
-VERSION="$(get_version_component_range 1-3)"
-BETA="$(echo $(get_version_component_range 4) | cut -c 5-)"
-
-if [[ -n "${BETA}" ]]; then
- SRC_URI="http://downloads.dlang.org/pre-releases/${MAJOR}.x/${VERSION}/${PN}.${VERSION}-b${BETA}.linux.tar.xz"
-else
- SRC_URI="mirror://aws/2015/${PN}.${PV}.zip"
-fi
-
-COMMON_DEPEND="
- net-misc/curl[${MULTILIB_USEDEP}]
- >=app-eselect/eselect-dlang-20140709
- "
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/unzip
- "
-RDEPEND="
- ${COMMON_DEPEND}
- !dev-lang/dmd-bin
- "
-PDEPEND="tools? ( >=dev-util/dlang-tools-${PV} )"
-
-S="${WORKDIR}/dmd2"
-PREFIX="opt/${PN}-${SLOT}"
-IMPORT_DIR="/${PREFIX}/import"
-
-src_prepare() {
- # Remove precompiled binaries and non-essential files
- rm -r README.TXT windows osx freebsd linux || die "Failed to remove included binaries."
-
- # Convert line-endings of file-types that start as cr-lf and are installed later on
- for file in $( find . -name "*.txt" -o -name "*.html" -o -name "*.d" -o -name "*.di" -o -name "*.ddoc" -type f ); do
- edos2unix $file || die "Failed to convert DOS line-endings to Unix."
- done
-
- # Fix the messy directory layout so the three make files can cooperate
- mv src/druntime druntime || die
- mv src/phobos phobos || die
- mv src dmd || die
- mv dmd/dmd dmd/src || die
-
- # User patches
- epatch_user
-}
-
-abi_to_model() {
- [[ "${ABI:0:5}" == "amd64" ]] && echo 64 || echo 32
-}
-
-dmd_foreach_abi() {
- for ABI in $(multilib_get_enabled_abis); do
- local MODEL=$(abi_to_model)
- einfo "Executing ${1} in ${MODEL}-bit ..."
- "${@}"
- done
-}
-
-src_compile() {
- #Need to set PIC if GCC is hardened, otherwise users will be unable to link Phobos
- if [[ $(gcc --version | grep -o Hardened) ]]; then
- einfo "Hardened GCC detected - setting PIC"
- PIC="PIC=1"
- fi
-
- # A native build of dmd is used to compile the runtimes for both x86 and amd64
- # We cannot use multilib-minimal yet, as we have to be sure dmd for amd64
- # always gets build first.
- einfo "Building ${PN}..."
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 HOST_DMD="${DMD}" RELEASE=1
-
- compile_libraries() {
- einfo 'Building druntime...'
- emake -C druntime -f posix.mak MODEL=${MODEL} ${PIC}
-
- einfo 'Building Phobos 2...'
- emake -C phobos -f posix.mak MODEL=${MODEL} ${PIC}
- }
-
- dmd_foreach_abi compile_libraries
-}
-
-src_test() {
- test_hello_world() {
- dmd/src/dmd -m${MODEL} -Iphobos -Idruntime/import -L-Lphobos/generated/linux/release/${MODEL} samples/d/hello.d || die "Failed to build hello.d (${MODEL}-bit)"
- ./hello ${MODEL}-bit || die "Failed to run test sample (${MODEL}-bit)"
- rm hello.o hello || die
- }
-
- dmd_foreach_abi test_hello_world
-}
-
-src_install() {
- local MODEL=$(abi_to_model)
-
- # Prepeare dmd.conf
- mkdir -p dmd/ini/linux/bin${MODEL} || die "Failed to create directory: dmd/ini/linux/bin${MODEL}"
- if has_multilib_profile; then
- cat > dmd/ini/linux/bin${MODEL}/dmd.conf << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L--export-dynamic -defaultlib=phobos2
-[Environment32]
-DFLAGS=%DFLAGS% -L-L/${PREFIX}/lib32 -L-rpath -L/${PREFIX}/lib32
-[Environment64]
-DFLAGS=%DFLAGS% -L-L/${PREFIX}/lib64 -L-rpath -L/${PREFIX}/lib64
-EOF
- else
- cat > dmd/ini/linux/bin${MODEL}/dmd.conf << EOF
-[Environment]
-DFLAGS=-I${IMPORT_DIR} -L--export-dynamic -defaultlib=phobos2 -L-L/${PREFIX}/lib${MODEL} -L-rpath -L/${PREFIX}/lib${MODEL}
-EOF
- fi
-
- # DMD
- einfo "Installing ${PN}..."
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 HOST_DMD="${DMD}" RELEASE=1 install
- into ${PREFIX}
- dobin install/linux/bin${MODEL}/dmd
- insinto ${PREFIX}/bin
- doins install/linux/bin${MODEL}/dmd.conf
- insinto ${PREFIX}
- doins install/{dmd-boostlicense,dmd-backendlicense}.txt
- dosym "/${PREFIX}/bin/dmd" "${ROOT}/usr/bin/dmd-${SLOT}"
-
- einfo 'Installing druntime...'
- install_druntime() {
- emake -C druntime -f posix.mak LIB_DIR="$(get_libdir)" MODEL=${MODEL} install
- }
- dmd_foreach_abi install_druntime
- doins -r install/src/druntime/import
- doins install/druntime-LICENSE.txt
-
- einfo 'Installing Phobos 2...'
- install_library() {
- emake -C phobos -f posix.mak LIB_DIR="$(get_libdir)" MODEL=${MODEL} install
- dolib.a install/linux/lib${MODEL}/libphobos2.a
- dolib.so install/linux/lib${MODEL}/libphobos2.so.0.${MINOR}.${PATCH}
- dolib.so install/linux/lib${MODEL}/libphobos2.so
- dosym libphobos2.so.0.${MINOR}.${PATCH} ${PREFIX}/$(get_libdir)/libphobos2.so.0.${MINOR}
- }
- dmd_foreach_abi install_library
- insinto ${PREFIX}/import
- doins -r install/src/phobos/*
- insinto ${PREFIX}
- doins install/phobos-LICENSE.txt
-
- # man pages, docs and samples
- insinto ${PREFIX}/man/man1
- doins man/man1/dmd.1
- insinto ${PREFIX}/man/man5
- doins man/man5/dmd.conf.5
- insinto ${PREFIX}
- use doc && doins -r html
- if use examples; then
- docompress -x ${PREFIX}/samples/
- insinto ${PREFIX}/samples
- doins -r samples/d/*
- fi
-}
-
-pkg_postinst() {
- # Update active dmd
- "${ROOT}"/usr/bin/eselect dlang update dmd
-
- elog "License files are in: /${PREFIX}"
- use examples && elog "Examples can be found in: /${PREFIX}/samples"
- use doc && elog "HTML documentation is in: /${PREFIX}/html"
-}
-
-pkg_postrm() {
- "${ROOT}"/usr/bin/eselect dlang update dmd
-}
diff --git a/dev-libs/gtkd/gtkd-2.4.2.ebuild b/dev-libs/gtkd/gtkd-2.4.2.ebuild
index a0e3a75..19fd05c 100644
--- a/dev-libs/gtkd/gtkd-2.4.2.ebuild
+++ b/dev-libs/gtkd/gtkd-2.4.2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
DESCRIPTION="D binding and OO wrapper of GTK+ and is released on the LGPL license"
HOMEPAGE="http://gtkd.org/"
diff --git a/dev-libs/gtkd/gtkd-3.3.0.ebuild b/dev-libs/gtkd/gtkd-3.3.0.ebuild
index af6a104..844af7f 100644
--- a/dev-libs/gtkd/gtkd-3.3.0.ebuild
+++ b/dev-libs/gtkd/gtkd-3.3.0.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
DESCRIPTION="D binding and OO wrapper of GTK+ and is released on the LGPL license"
HOMEPAGE="http://gtkd.org/"
diff --git a/dev-util/dcd/dcd-0.8.0.ebuild b/dev-util/dcd/dcd-0.8.0.ebuild
index db6c088..73acb05 100644
--- a/dev-util/dcd/dcd-0.8.0.ebuild
+++ b/dev-util/dcd/dcd-0.8.0.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
DESCRIPTION="Auto-complete program for the D programming language"
HOMEPAGE="https://github.com/Hackerpilot/DCD"
@@ -43,6 +43,8 @@ src_prepare() {
touch githash || die "Could not generate githash"
# Phobos 2.069 comes with allocators and would result in conflicting modules when linked as shared library.
dlang_phobos_level 2.069 && rm -rf containers/experimental_allocator
+ # Apply patches
+ dlang_src_prepare
}
d_src_compile() {
diff --git a/dev-util/dfmt/dfmt-0.4.5.ebuild b/dev-util/dfmt/dfmt-0.4.5.ebuild
index 6301319..3a05535 100644
--- a/dev-util/dfmt/dfmt-0.4.5.ebuild
+++ b/dev-util/dfmt/dfmt-0.4.5.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
DESCRIPTION="Dfmt is a formatter for D source code"
HOMEPAGE="https://github.com/Hackerpilot/dfmt"
@@ -29,6 +29,8 @@ src_prepare() {
mv -T "../experimental_allocator-${ALLOCATOR}" libdparse/experimental_allocator || die
# Phobos 2.069 comes with allocators and would result in conflicting modules when linked as shared library.
dlang_phobos_level 2.069 && rm -rf libdparse/experimental_allocator
+ # Apply patches
+ dlang_src_prepare
}
d_src_compile() {
diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass
index 6af86ce..67d0c6c 100644
--- a/eclass/dlang.eclass
+++ b/eclass/dlang.eclass
@@ -9,8 +9,8 @@
if [[ ${___ECLASS_ONCE_DLANG} != "recur -_+^+_- spank" ]] ; then
___ECLASS_ONCE_DLANG="recur -_+^+_- spank"
-if has ${EAPI:-0} 0 1 2 3; then
- die "EAPI must be >= 4 for dlang packages."
+if has ${EAPI:-0} 0 1 2 3 4 5; then
+ die "EAPI must be >= 6 for dlang packages."
fi
inherit flag-o-matic versionator dlang-compilers
@@ -484,7 +484,6 @@ __dlang_use_build_vars() {
"ldc") export DLANG_VENDOR="LDC" ;;
esac
export DLANG_VERSION="$(__dlang_compiler_to_dlang_version ${DC} ${DC_VERSION})"
- echo $DLANG_VERSION
case "${ABI}" in
"default") ;;
"x86"*) export MODEL=32 ;;
diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass
index 0750428..867d1c8 100644
--- a/eclass/dmd.eclass
+++ b/eclass/dmd.eclass
@@ -9,8 +9,8 @@
if [[ ${___ECLASS_ONCE_DMD} != "recur -_+^+_- spank" ]] ; then
___ECLASS_ONCE_DMD="recur -_+^+_- spank"
-if has ${EAPI:-0} 0 1 2 3 4; then
- die "EAPI must be >= 5 for dmd packages."
+if has ${EAPI:-0} 0 1 2 3 4 5; then
+ die "EAPI must be >= 6 for dmd packages."
fi
DESCRIPTION="Reference compiler for the D programming language"