diff options
author | 2017-01-05 18:13:31 +0100 | |
---|---|---|
committer | 2017-01-05 18:13:31 +0100 | |
commit | 18bdb786adc2ca4f1081f9897f79fc38639e0d9a (patch) | |
tree | 9f1aeb7463fe99db9cee24fb1930d112c9b87fd6 | |
parent | Added new gdc release (gcc 4.9.4 + front-end 2.068.2) (diff) | |
download | dlang-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/Manifest | 5 | ||||
-rw-r--r-- | dev-lang/dmd/dmd-2.063.2.ebuild | 194 | ||||
-rw-r--r-- | dev-lang/dmd/dmd-2.064.2.ebuild | 177 | ||||
-rw-r--r-- | dev-lang/dmd/dmd-2.065.0.ebuild | 172 | ||||
-rw-r--r-- | dev-lang/dmd/dmd-2.066.1.ebuild | 194 | ||||
-rw-r--r-- | dev-lang/dmd/dmd-2.067.1-r1.ebuild | 193 | ||||
-rw-r--r-- | dev-lang/dmd/dmd-2.068.2-r2.ebuild | 200 | ||||
-rw-r--r-- | dev-lang/dmd/dmd-2.069.1-r1.ebuild | 200 | ||||
-rw-r--r-- | dev-libs/gtkd/gtkd-2.4.2.ebuild | 4 | ||||
-rw-r--r-- | dev-libs/gtkd/gtkd-3.3.0.ebuild | 4 | ||||
-rw-r--r-- | dev-util/dcd/dcd-0.8.0.ebuild | 6 | ||||
-rw-r--r-- | dev-util/dfmt/dfmt-0.4.5.ebuild | 6 | ||||
-rw-r--r-- | eclass/dlang.eclass | 5 | ||||
-rw-r--r-- | eclass/dmd.eclass | 4 |
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" |