[gentoo-commits] repo/user/dlang:master commit in: eclass/, eclass/tests/
commit: 1b5df51e2e9f98aa237b539ca44d7b25c96b6525 Author: Andrei Horodniceanu proton me> AuthorDate: Fri May 3 08:19:45 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Fri May 3 08:19:45 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=1b5df51e dlang-utils.eclass: add dlang_get_debug_flag Signed-off-by: Andrei Horodniceanu proton.me> eclass/dlang-utils.eclass | 19 +++ eclass/tests/dlang-utils.sh | 4 2 files changed, 23 insertions(+) diff --git a/eclass/dlang-utils.eclass b/eclass/dlang-utils.eclass index 60eee53..3c634d6 100644 --- a/eclass/dlang-utils.eclass +++ b/eclass/dlang-utils.eclass @@ -277,6 +277,19 @@ dlang_get_be_version() { echo "${DLANG_BE_VERSION}" } +# @FUNCTION: dlang_get_debug_flag +# @USAGE: [] +# @DESCRIPTION: +# Obtain and print the compiler debug flag for the given +# implementation. If no implementation is provided, ${EDC} will be +# used. +dlang_get_debug_flag() { + debug-print-function ${FUNCNAME} "${@}" + + _dlang_export "${@}" DLANG_DEBUG_FLAG + echo "${DLANG_DEBUG_FLAG}" +} + # @FUNCTION: dlang_get_linker_flag # @USAGE: [] # @DESCRIPTION: @@ -984,6 +997,12 @@ _dlang_export() { export DLANG_DMDW_LDFLAGS=${DLANG_LDFLAGS} debug-print "${FUNCNAME}: DLANG_DMDW_LDFLAGS = ${DLANG_DMDW_LDFLAGS}" ;; + DLANG_DEBUG_FLAG) + export DLANG_DEBUG_FLAG=$( + _dlang_echo_implementation_string \ + "${impl}" "-debug" "-fdebug" "-d-debug") + debug-print "${FUNCNAME}: DLANG_DEBUG_FLAG = ${DLANG_DEBUG_FLAG}" + ;; DLANG_LINKER_FLAG) export DLANG_LINKER_FLAG=$( _dlang_echo_implementation_string \ diff --git a/eclass/tests/dlang-utils.sh b/eclass/tests/dlang-utils.sh index 0f4b6da..28d10d9 100755 --- a/eclass/tests/dlang-utils.sh +++ b/eclass/tests/dlang-utils.sh @@ -95,6 +95,10 @@ test_var DLANG_DMDW_LDFLAGS dmd-2.106 "-L-O1 -L--as-needed -garbage" test_var DLANG_DMDW_LDFLAGS gdc-13 "-L-O1 -L--as-needed -garbage -q,-shared-libphobos" test_var DLANG_DMDW_LDFLAGS ldc2-1_35 "-L-O1 -L--as-needed -garbage" +test_var DLANG_DEBUG_FLAG dmd-2.102 "-debug" +test_var DLANG_DEBUG_FLAG gdc-13 "-fdebug" +test_var DLANG_DEBUG_FLAG ldc2-1_36 "-d-debug" + test_var DLANG_LINKER_FLAG dmd-2.102 "-L" test_var DLANG_LINKER_FLAG gdc-13 "-Wl," test_var DLANG_LINKER_FLAG ldc2-1_36 "-L"
[gentoo-commits] repo/user/dlang:master commit in: eclass/, eclass/tests/
commit: 0618e9ecab3234a0fb7f0bb2c358c37630bb1427 Author: Andrei Horodniceanu proton me> AuthorDate: Fri Apr 26 18:31:35 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Fri Apr 26 18:34:15 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=0618e9ec dlang-utils.eclass: add dlang_get_abi_bits Signed-off-by: Andrei Horodniceanu proton.me> eclass/dlang-utils.eclass | 31 --- eclass/tests/dlang-utils.sh | 7 +++ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/eclass/dlang-utils.eclass b/eclass/dlang-utils.eclass index b759435..60eee53 100644 --- a/eclass/dlang-utils.eclass +++ b/eclass/dlang-utils.eclass @@ -699,6 +699,20 @@ dlang-filter-dflags() { return 0 } +# @FUNCTION: dlang_get_abi_bits +# @USAGE: [] +# @DESCRIPTION: +# Echo the bits of the given abi. When unspecified take the value from +# $ABI. +# +# If the abi is x86, echo 32, if amd64 echo 64, otherwise do nothing. +dlang_get_abi_bits() { + case "${1:-${ABI}}" in + amd64*) echo 64 ;; + x86*) echo 32 ;; + esac +} + # @FUNCTION: _dlang_export # @USAGE: [] ... # @INTERNAL @@ -816,12 +830,9 @@ _dlang_export() { # The logic is controlled by us so the calculation # is found in dlang.eclass. Just copy it here, mostly. # Simplify the ABI usage a little. - local model - case "${ABI}" in - x86*) model=32 ;; - amd64*) model=64 ;; - *) die "Unknown ABI ${ABI} for dmd implementation." ;; - esac + [[ ${ABI} == @(x86|amd64) ]] || + die "Unknown ABI ${ABI} for dmd implementation." + local model=$(dlang_get_abi_bits) if has_multilib_profile || [[ ${model} == 64 ]]; then libdirname=lib${model} @@ -850,11 +861,9 @@ _dlang_export() { DLANG_MODEL_FLAG) if has_multilib_profile; then # Only x86/amd64 multilib is supported - case "${ABI}" in - x86*) DLANG_MODEL_FLAG=-m32 ;; - amd64*) DLANG_MODEL_FLAG=-m64 ;; - *) die "ABI ${ABI} is not supported in a multilib configuration." - esac + [[ ${ABI} == @(x86|amd64) ]] || + die "ABI ${ABI} is not supported in a multilib configuration." + DLANG_MODEL_FLAG=-m$(dlang_get_abi_bits) else DLANG_MODEL_FLAG= fi diff --git a/eclass/tests/dlang-utils.sh b/eclass/tests/dlang-utils.sh index 70915c3..0f4b6da 100755 --- a/eclass/tests/dlang-utils.sh +++ b/eclass/tests/dlang-utils.sh @@ -277,3 +277,10 @@ dlang-filter-dflags "gdc*" "-march=native" [[ "${DCFLAGS}" == "-O2 -pipe" ]] && [[ "${DMDW_DCFLAGS}" == "-q,-O2 -q,-pipe" ]] tend $? + +tbegin "dlang_get_abi_bits" +assert_eq $(dlang_get_abi_bits x86) 32 +assert_eq $(dlang_get_abi_bits amd64) 64 +assert_eq $(dlang_get_abi_bits aarch64) "" +assert_eq $(ABI=x86 dlang_get_abi_bits) 32 +tend
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 1d835dc4a882768383667cb17d450be48b9a7637 Author: Andrei Horodniceanu proton me> AuthorDate: Fri Apr 26 18:34:24 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Fri Apr 26 18:34:24 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=1d835dc4 dmd-r1.eclass: use dlang_get_abi_bits instead of _get_abi_bits Signed-off-by: Andrei Horodniceanu proton.me> eclass/dmd-r1.eclass | 22 -- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/eclass/dmd-r1.eclass b/eclass/dmd-r1.eclass index 19a6224..e16c056 100644 --- a/eclass/dmd-r1.eclass +++ b/eclass/dmd-r1.eclass @@ -97,7 +97,7 @@ dmd-r1_pkg_setup() { dmd-r1_src_unpack() { # Here because pkgdev complains about it being in pkg_setup if use selfhost; then - export DC=${WORKDIR}/dmd2/linux/bin$(_get_abi_bits)/dmd + export DC=${WORKDIR}/dmd2/linux/bin$(dlang_get_abi_bits)/dmd export DMDW=${DC} fi @@ -149,7 +149,7 @@ dmd-r1_src_compile() { "${cmd[@]}" || die "Failed to build dmd" # The release here is from ENABLE_RELEASE, keep them in sync. - export GENERATED_DMD=${S}/dmd/generated/linux/release/$(_get_abi_bits)/dmd + export GENERATED_DMD=${S}/dmd/generated/linux/release/$(dlang_get_abi_bits)/dmd compile_libraries() { local commonMakeArgs=( @@ -229,7 +229,7 @@ dmd-r1_src_compile() { # ${GENERATED_DMD} is not yet fully functional as we didn't # create a good dmd.conf. But instead of doing that we're going # to specify our flags here. - DFLAGS="-defaultlib=phobos2 -L-rpath=${S}/phobos/generated/linux/release/$(_get_abi_bits)" + DFLAGS="-defaultlib=phobos2 -L-rpath=${S}/phobos/generated/linux/release/$(dlang_get_abi_bits)" ) echo "${cmd[@]}" "${cmd[@]}" || die "Could not generate man pages" @@ -383,20 +383,6 @@ EOF fi } -# @FUNCTION: _get_abi_bits -# @USAGE: [] -# @INTERNAL -# @DESCRIPTION: -# Echo the bits of abi, 64 for amd64 and 32 for x86. If unspecified, the -# value is taken from $ABI. -_get_abi_bits() { - case "${1:-${ABI}}" in - amd64*) echo 64 ;; - x86*) echo 32 ;; - *) die "Unknown ABI: ${ABI}." ;; - esac -} - # @FUNCTION: _dmd_foreach_abi # @USAGE: [...] # @INTERNAL @@ -409,7 +395,7 @@ _dmd_foreach_abi() { local ABI for ABI in $(multilib_get_enabled_abis); do - local MODEL=$(_get_abi_bits) + local MODEL=$(dlang_get_abi_bits) einfo "Executing ${1} in ${MODEL}-bit" "${@}" done
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: c1bdf245f2a8f82cd24512f18f72eee1f5052b61 Author: Andrei Horodniceanu proton me> AuthorDate: Sat Apr 20 19:33:27 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sat Apr 20 19:33:27 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=c1bdf245 dmd-r1.eclass: Fix paths in pkg_postinst elog messages Signed-off-by: Andrei Horodniceanu proton.me> eclass/dmd-r1.eclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eclass/dmd-r1.eclass b/eclass/dmd-r1.eclass index 802e820..90459c2 100644 --- a/eclass/dmd-r1.eclass +++ b/eclass/dmd-r1.eclass @@ -331,8 +331,9 @@ dmd-r1_src_install() { dmd-r1_pkg_postinst() { "${EROOT}"/usr/bin/eselect dlang update dmd - use examples && elog "Examples can be found in: ${dmd_prefix}/samples" - use doc && elog "HTML documentation is in: /usr/share/doc/${PF}/html" + use examples && + elog "Examples can be found in: ${EPREFIX}/usr/lib/${PN}/${SLOT}/samples" + use doc && elog "HTML documentation is in: ${EPREFIX}/usr/share/doc/${PF}/html" optfeature "additional D development tools" "dev-util/dlang-tools" }
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-lang/ldc2/, profiles/
commit: 1cf8dcdfefdc82f93090358ca989c725ff388039 Author: Andrei Horodniceanu proton me> AuthorDate: Sun Apr 21 16:52:27 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sun Apr 21 17:01:54 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=1cf8dcdf dev-lang/ldc2: add 1.37.0 Signed-off-by: Andrei Horodniceanu proton.me> dev-lang/ldc2/Manifest | 1 + dev-lang/ldc2/ldc2-1.37.0.ebuild | 195 +++ eclass/dlang-compilers-r1.eclass | 1 + profiles/use.desc| 2 + 4 files changed, 199 insertions(+) diff --git a/dev-lang/ldc2/Manifest b/dev-lang/ldc2/Manifest index 77ede1e..4ae4b26 100644 --- a/dev-lang/ldc2/Manifest +++ b/dev-lang/ldc2/Manifest @@ -3,3 +3,4 @@ DIST ldc-1.33.0-src.tar.gz 8139266 BLAKE2B 6c2efd0765307815563bc7bd775f1faef3f5e DIST ldc-1.34.0-src.tar.gz 8176200 BLAKE2B 048975a3142da860540ba5378be5214884eb44e2f4492e95aa124a669ccf53bbcf9ccce24f12946948265af5a0de1f5771d21f196052ab53275aa8bb7d0dfb2e SHA512 c4ceda1d448b91f706719cdea141cb705f9996ea3f86c107620f13e2f50f6a29724a69b5e3b01c51e13dd4e50ba29a280785ce0789188641c90738d774300a06 DIST ldc-1.35.0-src.tar.gz 8241960 BLAKE2B fb531841e57225f82cddf5135d0b0da98624d33aba76a1d39d98b13deb319556eaad3599ba1461f9f509c6b7b535632b85805de2433bae4ccf50c691c116da3f SHA512 f85871832455a8e3208f7f905b04ac249a988f8ea2cfe81ed2a67b56404d11a08653b13b6019f45d9dbcf6fbd60086e6aabb13307908d1bbf6d86bd91462dfaa DIST ldc-1.36.0-src.tar.gz 8551871 BLAKE2B b0f09128ab37e332f2eebab3288cac687f91b696ba758d9ecd6fc4d98dc70d13e6fc4e02878028ac530cc9d9449d1148c8c3ed052fecfb18c95bd76437537467 SHA512 e8060ae30ddf659c51b2e57989b14f1d94c58537a3aa0c5afd3cf2906503d66421598014c33fdeb063a5aaea00034b4b11769a2c07cc2dabd7644840241183b4 +DIST ldc-1.37.0-src.tar.gz 8555980 BLAKE2B ac93c903f9dbeec5b69e94c7cdf851ae3fa3168752dceccbd1262fbdae5cdda43e53b82bd7c8b24b0bb2dc06fb00f3b1c74a278a851ea68b948dc7e618460227 SHA512 488451dba58262cf533760f471f707f984d66edeb5c7dfff5a512efa0111742cead4ff23ed5ace39ea4d07e9bac290a846d0df3de49fd3fc276241a771aff0ed diff --git a/dev-lang/ldc2/ldc2-1.37.0.ebuild b/dev-lang/ldc2/ldc2-1.37.0.ebuild new file mode 100644 index 000..1367abe --- /dev/null +++ b/dev-lang/ldc2/ldc2-1.37.0.ebuild @@ -0,0 +1,195 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Upstream supports LLVM 11.0 through 17.0. +LLVM_COMPAT=( {15..17} ) +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake llvm-r1 multilib-build multiprocessing python-any-r1 toolchain-funcs + +DESCRIPTION="LLVM D Compiler" +HOMEPAGE="https://github.com/ldc-developers/ldc; +MY_PV="${PV//_/-}" +MY_P="ldc-${MY_PV}-src" +SRC_URI="https://github.com/ldc-developers/ldc/releases/download/v${MY_PV}/${MY_P}.tar.gz; +S=${WORKDIR}/${MY_P} +LICENSE="BSD" + +# Only increase subslot in case of ABI breakage +SLOT="$(ver_cut 1-2)/0" +KEYWORDS="~amd64 ~arm64 ~x86" + +IUSE="static-libs test" +RESTRICT="!test? ( test )" + +DLANG_COMPAT=( dmd-2_{106..108} gdc-13 ldc2-1_{35..37} ) + +inherit dlang-single + +REQUIRED_USE=${DLANG_REQUIRED_USE} +DEPEND=" + ${DLANG_DEPS} + $(llvm_gen_dep ' + sys-devel/llvm:${LLVM_SLOT}= + ') + net-misc/curl[${MULTILIB_USEDEP}] +" +IDEPEND=">=app-eselect/eselect-dlang-20140709" +RDEPEND=" + ${DEPEND} + ${IDEPEND} +" +BDEPEND=" + ${DLANG_DEPS} + test? ( + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + ) +" + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +PATCHES=( + "${FILESDIR}"/ldc2-1.15.0-link-defaultlib-shared.patch + "${FILESDIR}/${PN}"-1.36.0-disable-compiler-rt-sanitizers-tests.patch + "${FILESDIR}/${PN}"-1.36.0-lit-cfg-disable-gdb.patch + + # https://github.com/dlang/phobos/pull/8956 + "${FILESDIR}/${PN}"-1.36.0-fix-phobos-OS-dependent-test-string.patch + # https://github.com/ldc-developers/ldc/pull/4612 + "${FILESDIR}/${PN}"-1.36.0-tests-dshell-remove--m-switch.patch + # https://github.com/ldc-developers/ldc/issues/4614#issuecomment-2034169152 + "${FILESDIR}/${PN}"-remove-dmd-common-int128-unittest.patch +) + +pkg_setup() { + dlang_setup + llvm-r1_pkg_setup + use test && python_setup +} + +src_prepare(){ + # Disable GDB tests by passing GDB_FLAGS=OFF + # Put this here to avoid trigerring reconfigurations later on. + sed -i 's/\(GDB_FLAGS=\)\S\+/\1OFF/' "${S}"/tests/dmd/CMakeLists.txt + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DD_VERSION=2 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr/lib/ldc2/$(ver_cut 1-2) + -DD_COMPILER="$(dlang_get_dmdw) $(dlang_get_dmdw_dcflags)" + -DLDC_WITH_LLD=OFF +
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-lang/dmd/, profiles/
commit: 1af3dddeab4ad92d190f0d9df601b706f2485cb8 Author: Andrei Horodniceanu proton me> AuthorDate: Sat Apr 20 19:34:42 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sat Apr 20 20:25:58 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=1af3ddde dev-lang/dmd: add 2.108.0 Signed-off-by: Andrei Horodniceanu proton.me> dev-lang/dmd/Manifest| 3 +++ dev-lang/dmd/dmd-2.108.0.ebuild | 13 + eclass/dlang-compilers-r1.eclass | 1 + eclass/dmd-r1.eclass | 6 ++ profiles/use.desc| 2 ++ 5 files changed, 25 insertions(+) diff --git a/dev-lang/dmd/Manifest b/dev-lang/dmd/Manifest index 214b07d..5bb998c 100644 --- a/dev-lang/dmd/Manifest +++ b/dev-lang/dmd/Manifest @@ -1,4 +1,5 @@ DIST dmd-2.107.0.tar.gz 5947524 BLAKE2B 11f7d5f75842b1a2657a8687f69e7bf442aff55f1fef01c96f5cfa27c2b9952196692b6e520bb8eaa156b76d298291d8c514bcbb1d632cd42224ab4d7fb5840c SHA512 2d4392d2c423773dfb4a38a0b8e58de26770d148a5a0a31eecc0623276eacd0e4b3cac3e0d3b20ac444cd2676f44ff623268db8cfc41590db2bc546762d973dc +DIST dmd-2.108.0.tar.gz 5984336 BLAKE2B 46bddb4bd0555c0db0f2ee242cc97bde8b673ddf07f11562f5459ee600939661715925fe9c93cf8b8c6b65668d5fecbb83486a92c99ff38efaebd3b09b78a3f0 SHA512 760fab5538a1d2f91c9900a121ca196264f56625c609a9bb23f778448f29731ecd6b3fcbfd1fc7facf401e9a6b2acb21dceed7404690b3014bf00395fc43 DIST dmd.2.101.2.linux.tar.xz 22666828 BLAKE2B 8233d9f375291d73530a677cd5180153bc758076fd135c420cbb088bf84147fa1f0dc1cd563e94737e781823db26e4e0250af31d68819c3375224a92e53876b6 SHA512 7e1ce980fce7a2a995af92b2e05acdfcb2d8abc14780e11d8234792b80edead68c455e644e1830d360651bdacefa1aace963ce652fbfd3b0951dd9002fcfb87f DIST dmd.2.102.2.linux.tar.xz 22699620 BLAKE2B b0a8fc0650bfe5df4a40ccf20d160765a8ed7804915a1049366ff8b4044d7036ca7f27c8bc71146dc33bf60bf03bc09a9bd8758b9850b020480774f130325abd SHA512 a2dab6efe46176bed0dca98fcf590c6823be9e4d5ca89bce0ff088e7c59a63f8eb4bb3742df1975cc90b5efd78c11377e682b0083fe44c394a73161cbb2b3aa3 DIST dmd.2.103.1.linux.tar.xz 22747324 BLAKE2B b00f41b4ab48be9c5467342314995e69332d4c8bff86083474a940431721d179d5e5ef64734f355df2d96637983de2262d45516594434ad3ad6c4d57a0d7a54c SHA512 854cf08d715506bd36d791c1471f2dd1d834f439bdf4489b4addf0cc5abdecbefceb966baeb764eb5ca816a5830ac7374818ba6fbcad24668d011d56a32a1f15 @@ -6,4 +7,6 @@ DIST dmd.2.104.2.linux.tar.xz 22478264 BLAKE2B 6af63d7a5c976ae251bb16d4b48fc354d DIST dmd.2.105.3.linux.tar.xz 22582468 BLAKE2B bbff951452a3fa0ba8fd30ad4a24720ee2df9538abf123931366f4c596e2a224d2a3792e9d03370f3a285bf3b4f29b126b49a88874da912ea862da8eaf0d5d73 SHA512 6dc46d1d84cac5964eb0027cdae656525601e4e16ecaba8540f7f403182696300c2293e3971886fff6ad966bd440243acd5a1824a66638c8a09f584476b825a8 DIST dmd.2.106.1.linux.tar.xz 22778396 BLAKE2B 66ff621beed21ef4fada3562380fe000d57aa7ca962c53b0b4c18520a47a76a9c405fe7074d17e2882e03313cdef47c67e6f690442e8f6ada8baf8e1589a4579 SHA512 2f287c1774196ad35d48288eef0ab87670b3b470ebd4b4707388197fc79ccbc9af0c6e839b9ffd3d2f3f06624fabbedb9bf4fc1c0a670a2131f700be572a244f DIST dmd.2.107.0.linux.tar.xz 22438472 BLAKE2B 551b2a723256b61b4c07fe44ace55c91c92f796fbd67aa5012c0efa9cb8c79010c1dcd9039dd85a19cb3c09163221792c1eb2200ecc6c1c9d74019df717f6fd1 SHA512 888369938fbf6dbcaf0c534ed899ffe055cef363e47282374fd45a3a702d97f96a7c7ce9a55a199915e5cc86e4b78ff86fccbd6334c4a4f1a940be5fa2872d11 +DIST dmd.2.108.0.linux.tar.xz 22553348 BLAKE2B 6011e3175c2813b2e515d554780f9a2f1688bd8b887a9038becc4fcb8f9139493972ca62b1835b1dae2586002cc1ad8d3f05f97a425a53d4b45db5e1ca35e9c8 SHA512 4d24969289df08216fa98d4fa211e585f811d76da24a216c35bf80bb1368300b594de7ede4ebdbad348e209d71dd749d28285c6571fd85bfd124b72b1391 DIST phobos-2.107.0.tar.gz 2756892 BLAKE2B 604d19254e453f0a04e6659e46de187837f5ab82278f8a52ae9714b91d3554e3cc166086860ca32e39d722847c4e962762e26e8226ce685064d5dcc10d3a708b SHA512 4002878851673bc4deaec66dd35d2dc3cfe5f72b7050e2b454bf53aeaa8b4a68fc425d248eab4fbea89f251298b66c726166c41666a69a5508092fd30a9903d5 +DIST phobos-2.108.0.tar.gz 2749686 BLAKE2B 7b57005d40b3e27bddbdafdb7054cbecde4b6ad3c8a886d5c3b9fb1e92560b7221b3693f79f1b6aea3a6a155f15236c5e4b9e1698a84921dc5bad8b89a61c0e6 SHA512 072ba8e97bf79cf6adca0bfd8ff40f6947ff1797676d7a9bfc299a0618694e3eafa2568ef10b01a84bb6d095e72341001072c7ef25f426b3442c6553d2dfb601 diff --git a/dev-lang/dmd/dmd-2.108.0.ebuild b/dev-lang/dmd/dmd-2.108.0.ebuild new file mode 100644 index 000..183cba0 --- /dev/null +++ b/dev-lang/dmd/dmd-2.108.0.ebuild @@ -0,0 +1,13 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KEYWORDS="-* ~amd64 ~x86" +DLANG_COMPAT=( dmd-2_{106..108} gdc-13 ldc2-1_{35..36} ) + +inherit dmd-r1 + +PATCHES=( + "${FILESDIR}/2.107-dmd-r1-link-32-bit-shared-lib-with-ld.bfd.patch" +) diff --git a/eclass/dlang-compilers-r1.eclass b/eclass/dlang-compilers-r1.eclass index 933b05a..5cd8836 100644 ---
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 02e60ee7974e31d94d7210bfc566c1427d4df6df Author: Andrei Horodniceanu proton me> AuthorDate: Sat Mar 2 17:56:22 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sat Apr 13 22:47:30 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=02e60ee7 dmd-r1.eclass: new eclass Signed-off-by: Andrei Horodniceanu proton.me> eclass/dmd-r1.eclass | 414 +++ 1 file changed, 414 insertions(+) diff --git a/eclass/dmd-r1.eclass b/eclass/dmd-r1.eclass new file mode 100644 index 000..802e820 --- /dev/null +++ b/eclass/dmd-r1.eclass @@ -0,0 +1,414 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: dmd-r1.eclass +# @MAINTAINER: +# Andrei Horodniceanu +# @AUTHOR: +# Andrei Horodniceanu +# Based on dmd.eclass by Marco Leise . +# @BUGREPORTS: +# Please report bugs via https://github.com/gentoo/dlang/issues +# @VCSURL: https://github.com/gentoo/dlang +# @SUPPORTED_EAPIS: 8 +# @BLURB: Captures most of the logic for building and installing DMD +# @DESCRIPTION: +# Helps with the maintenance of the various DMD versions by capturing common +# logic. + +if [[ ! ${_ECLASS_ONCE_DMD_R1} ]] ; then +_ECLASS_ONCE_DMD_R1=1 + +case ${EAPI:-0} in + 8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +DESCRIPTION="Reference compiler for the D programming language" +HOMEPAGE="https://dlang.org/; + +# DMD supports amd64/x86 exclusively +# @ECLASS_VARIABLE: MULTILIB_COMPAT +# @DESCRIPTION: +# A list of multilib ABIs supported by $PN. It only supports +# abi_x86_{32,64}. See the multilib-build.eclass documentation for this +# variable for more information. +MULTILIB_COMPAT=( abi_x86_{32,64} ) + +inherit desktop edos2unix dlang-single multilib-build multiprocessing optfeature + +LICENSE=Boost-1.0 +SLOT=$(ver_cut 1-2) +readonly MAJOR=$(ver_cut 1) +readonly MINOR=$(ver_cut 2) +readonly PATCH=$(ver_cut 3) +readonly VERSION=$(ver_cut 1-3) +readonly BETA=$(ver_cut 4-) + +# For prereleases, 2.097.0_rc1 -> 2.097.0-rc.1 +MY_VER=$(ver_rs 3 - 4 .) + +DLANG_ORG=https://downloads.dlang.org/${BETA:+pre-}releases/2.x/${VERSION} +SRC_URI=" + https://github.com/dlang/${PN}/archive/refs/tags/v${MY_VER}.tar.gz -> ${PN}-${MY_VER}.tar.gz + https://github.com/dlang/phobos/archive/refs/tags/v${MY_VER}.tar.gz -> phobos-${MY_VER}.tar.gz + selfhost? ( ${DLANG_ORG}/dmd.${MY_VER}.linux.tar.xz ) + doc? ( ${DLANG_ORG}/dmd.${MY_VER}.linux.tar.xz ) +" + +IUSE="doc examples +selfhost static-libs" +REQUIRED_USE="^^ ( selfhost ${DLANG_REQUIRED_USE} )" +IDEPEND=">=app-eselect/eselect-dlang-20140709" +BDEPEND="!selfhost? ( ${DLANG_DEPS} )" +# We don't need anything in DEPEND, curl is dl-opened +# so it belongs in RDEPEND. +#DEPEND= +# Since 2.107.0, dmd links the standard library of the host +# compiler. Since this eclass is only used by >=dmd-2.107.0-r1 the +# dependency is added unconditionally. +RDEPEND=" + ${IDEPEND} + net-misc/curl[${MULTILIB_USEDEP}] + !selfhost? ( ${DLANG_DEPS} ) +" + +dmd-r1_pkg_setup() { + if use !selfhost; then + dlang-single_pkg_setup + # set by dlang-single.eclass: + # $EDC, $DC, $DLANG_LDFLAGS, $DCFLAGS + + # Now let's build our environment + export DMDW=$(dlang_get_dmdw) + export DMDW_DCFLAGS=$(dlang_get_dmdw_dcflags) + export DMDW_LDFLAGS=$(dlang_get_dmdw_ldflags) + else + # Setup up similar variables to the above + export EDC=dmd-${SLOT} + #export DC= # is set inside src_unpack + #export DMDW= # is set inside src_unpack + export DLANG_LDFLAGS=$(dlang_get_ldflags) + # Should we put user DMDFLAGS here? + export DMDW_DCFLAGS= DCFLAGS= + export DMDW_LDFLAGS=$(dlang_get_dmdw_ldflags) + fi +} + +dmd-r1_src_unpack() { + # Here because pkgdev complains about it being in pkg_setup + if use selfhost; then + export DC=${WORKDIR}/dmd2/linux/bin$(_get_abi_bits)/dmd + export DMDW=${DC} + fi + + default + + # $S may collide with $PN-$MY_VER + mv "${PN}-${MY_VER}" tmp || die + mkdir "${S}" || die + mv -T tmp "${S}/${PN}" || die + mv -T "phobos-${MY_VER}" "${S}/phobos" || die +} + +dmd-r1_src_prepare() { + einfo "Removing dos-style line endings." + local file + while read -rd '' file; do + edos2unix "${file}" + done < <( find "${WORKDIR}" \( -name '*.txt' -o -name '*.html' -o -name '*.d' \ + -o -name '*.di' -o -name '*.ddoc' -type f \) \ + -print0 ) + + default +} + +dmd-r1_src_compile() { + einfo "Building dmd build script" + dlang_compile_bin dmd/compiler/src/build{,.d} +
[gentoo-commits] repo/user/dlang:master commit in: eclass/, eclass/tests/
commit: 647a7f67006cbc49f7712ed714fa61ab7553d997 Author: Andrei Horodniceanu proton me> AuthorDate: Sat Mar 2 16:11:51 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sat Apr 13 22:47:30 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=647a7f67 dlang-utils.eclass: new eclass Signed-off-by: Andrei Horodniceanu proton.me> eclass/dlang-utils.eclass | 1312 +++ eclass/tests/dlang-utils.sh | 279 + 2 files changed, 1591 insertions(+) diff --git a/eclass/dlang-utils.eclass b/eclass/dlang-utils.eclass new file mode 100644 index 000..b759435 --- /dev/null +++ b/eclass/dlang-utils.eclass @@ -0,0 +1,1312 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: dlang-utils.eclass +# @MAINTAINER: +# Andrei Horodniceanu +# @AUTHOR: +# Andrei Horodniceanu +# Based on python-utils-r1.eclass by Michał Górny et al +# with logic taken from dlang.eclass by Marco Leise . +# @BUGREPORTS: +# Please report bugs via https://github.com/gentoo/dlang/issues +# @VCSURL: https://github.com/gentoo/dlang +# @SUPPORTED_EAPIS: 8 +# @PROVIDES: dlang-compilers-r1 +# @BLURB: Utility functions for packages with Dlang parts. +# @DESCRIPTION: +# A utility eclass providing functions to query Dlang implementations +# and install Dlang libraries. +# +# This eclass does not set any metadata variables nor export any phase +# functions. It can be inherited safely. + +case ${EAPI} in + 8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ ! ${_DLANG_UTILS_R1_ECLASS} ]]; then +_DLANG_UTILS_R1_ECLASS=1 + +inherit dlang-compilers-r1 multilib toolchain-funcs + +# @ECLASS_VARIABLE: DMDFLAGS +# @USER_VARIABLE +# @DESCRIPTION: +# Flags that will be passed to dmd implementations during compilation. +# +# Example value: +# @CODE +# -O -release -mcpu=native +# @CODE + +# @ECLASS_VARIABLE: GDCFLAGS +# @USER_VARIABLE +# @DESCRIPTION: +# Flags that will be passed to gdc implementations during compilation. +# +# Example value: +# @CODE +# -O2 -pipe -march=native -frelease +# @CODE + +# @ECLASS_VARIABLE: LDCFLAGS +# @USER_VARIABLE +# @DESCRIPTION: +# Flags that will be passed to ldc2 implementations during compilation. +# +# Example value: +# @CODE +# -O2 -release -mcpu=native +# @CODE + +# @FUNCTION: _dlang_set_impls +# @INTERNAL +# @DESCRIPTION: +# Set two global variables based on DLANG_COMPAT +# +# - _DLANG_SUPPORTED_IMPLS containing valid implementations supported +# by the ebuild (DLANG_COMPAT - dead implementations), +# +# - and _DLANG_UNSUPPORTED_IMPLS containing valid implementations that +# are not supported by the ebuild. +# +# Implementations in both variables are ordered using the pre-defined +# eclass implementation ordering. +# +# This function must be called once in global scope by an eclass +# utilizing DLANG_COMPAT. +_dlang_set_impls() { + if ! declare -p DLANG_COMPAT &>/dev/null; then + die 'DLANG_COMPAT not declared.' + fi + if [[ ${DLANG_COMPAT@a} != *a* ]]; then + die 'DLANG_COMPAT must be an array' + fi + + local supp=() unsupp=() + + local i + for i in "${_DLANG_ALL_IMPLS[@]}"; do + if has "${i}" "${DLANG_COMPAT[@]}"; then + supp+=( "${i}" ) + else + unsupp+=( "${i}" ) + fi + done + + if [[ ! ${supp[@]} ]]; then + die "No supported implementation in DLANG_COMPAT." + fi + + if [[ ${_DLANG_SUPPORTED_IMPLS[@]} ]]; then + # set once already, verify integrity + if [[ ${_DLANG_SUPPORTED_IMPLS[@]} != ${supp[@]} ]]; then + eerror "Supported impls (DLANG_COMPAT) changed between inherits!" + eerror "Before: ${_DLANG_SUPPORTED_IMPLS[*]}" + eerror "Now : ${supp[*]}" + die "_DLANG_SUPPORTED_IMPLS integrity check failed" + fi + if [[ ${_DLANG_UNSUPPORTED_IMPLS[@]} != ${unsupp[@]} ]]; then + eerror "Unsupported impls changed between inherits!" + eerror "Before: ${_DLANG_UNSUPPORTED_IMPLS[*]}" + eerror "Now : ${unsupp[*]}" + die "_DLANG_UNSUPPORTED_IMPLS integrity check failed" + fi + else + _DLANG_SUPPORTED_IMPLS=( "${supp[@]}" ) + _DLANG_UNSUPPORTED_IMPLS=( "${unsupp[@]}" ) + readonly _DLANG_SUPPORTED_IMPLS _DLANG_UNSUPPORTED_IMPLS + fi +} + +# @ECLASS_VARIABLE: DC +# @DEFAULT_UNSET +# @DESCRIPTION: +# The absolute path to the current Dlang compiler. +# +# Example values (each line is a possible value): +# @CODE +# /usr/lib/ldc2/1.36/bin/ldc2 +# /usr/lib/dmd/2.106/bin/dmd +# /usr/x86_64-pc-linux-gnu/gcc-bin/12/gdc +# @CODE + +# @ECLASS_VARIABLE:
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 8c87f32d55db8c0f99374d6e42758f539a49d344 Author: Andrei Horodniceanu proton me> AuthorDate: Sat Mar 2 17:09:48 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sat Apr 13 22:47:30 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=8c87f32d dlang-r1.eclass: new eclass Signed-off-by: Andrei Horodniceanu proton.me> eclass/dlang-r1.eclass | 391 + 1 file changed, 391 insertions(+) diff --git a/eclass/dlang-r1.eclass b/eclass/dlang-r1.eclass new file mode 100644 index 000..3ec24fe --- /dev/null +++ b/eclass/dlang-r1.eclass @@ -0,0 +1,391 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: dlang-r1.eclass +# @MAINTAINER: +# Andrei Horodniceanu +# @AUTHOR: +# Andrei Horodniceanu +# Based on python-r1.eclass by Michał Górny et al +# with logic taken from dlang.eclass by Marco Leise . +# @BUGREPORTS: +# Please report bugs via https://github.com/gentoo/dlang/issues +# @VCSURL: https://github.com/gentoo/dlang +# @SUPPORTED_EAPIS: 8 +# @PROVIDES: dlang-utils +# @BLURB: A common eclass for Dlang packages. +# @DESCRIPTION: +# A common eclass providing helper functions to build and install +# packages supporting being installed for multiple Dlang implementations. +# +# This eclass sets correct IUSE. Modification of REQUIRED_USE has to +# be done by the author of the ebuild (but DLANG_REQUIRED_USE is +# provided for convenience, see below). dlang-r1 exports DLANG_DEPS +# and DLANG_USEDEP so you can create correct dependencies for your +# package easily. It also provides methods to easily run a command for +# each enabled Dlang implementation and duplicate the sources for them. +# +# Please note that dlang-r1 will always inherit dlang-utils as +# well. Thus, all the functions defined there can be used +# in the packages using dlang-r1, and there is no need ever to inherit +# both. +# +# There is one more particularity about the eclass. In order to provide +# correct DLANG_DEPS and DLANG_REQUIRED_USE the contents of KEYWORDS +# need to be set before the inherit, see the example below. +# +# @EXAMPLE: +# @CODE +# EAPI=8 +# DLANG_COMPAT=( dmd-2_{101..106} gdc-12 gdc-13 ldc2-1_{32..36} ) +# KEYWORDS="amd64 x86" +# +# inherit dlang-r1 +# +# REQUIRED_USE=${DLANG_REQUIRED_USE} +# DEPEND="${DLANG_DEPS} dev-libs/gtkd[${DLANG_USEDEP}]" +# RDEPEND=${DEPEND} +# BDEPEND=${DLANG_DEPS} +# +# dlang_src_compile() { +# emake DC_FLAGS="${DCFLAGS}" LD_FLAGS="${DLANG_LDFLAGS}" +# } +# +# src_compile() { +# dlang_foreach_impl dlang_src_compile +# } +# @CODE + +case ${EAPI} in + 8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ -z ${_DLANG_R1_ECLASS} ]]; then +_DLANG_R1_ECLASS=1 + +if [[ ${_DLANG_SINGLE_ECLASS} ]]; then + die 'dlang-r1.eclass cannot be used with dlang-single.eclass.' +fi + +inherit multibuild dlang-utils + +# @ECLASS_VARIABLE: DLANG_COMPAT +# @REQUIRED +# @PRE_INHERIT +# @DESCRIPTION: +# This variable contains a list of Dlang implementations the package +# supports. It must be set before the `inherit' call. It has to be an +# array. +# +# Example: +# @CODE +# DLANG_COMPAT=( gdc-12 ldc2-1_36 dmd-2_102 dmd-2_103 ) +# @CODE +# +# Please note that you can also use bash brace expansion if you like: +# @CODE +# DLANG_COMPAT=( gdc-1{2..3} ldc2-1_{29..36} dmd-2_10{5,6} ) +# @CODE + +# @ECLASS_VARIABLE: DLANG_COMPAT_OVERRIDE +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# This variable can be used when working with ebuilds to override the +# in-ebuild DLANG_COMPAT. It is a string listing all the implementations +# which package will be built for. It needs to be specified in the +# calling environment, and not in ebuilds. +# +# It should be noted that in order to preserve metadata immutability, +# DLANG_COMPAT_OVERRIDE does not affect IUSE nor dependencies. +# The state of DLANG_TARGETS is ignored, and all the implementations +# in DLANG_COMPAT_OVERRIDE are built. Dependencies need to be satisfied +# manually. +# +# Example: +# @CODE +# DLANG_COMPAT_OVERRIDE='gdc-13 dmd-2_106' emerge -1v dev-libs/foo +# @CODE + +# @ECLASS_VARIABLE: DLANG_REQ_USE +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# An associative array of Dlang implementations and USE-dependencies +# strings. The keys are implementation names, so: "dmd" "ldc2" or "gdc"; +# and the values are the aforementioned USE-dependency strings. +# +# This should be set before calling `inherit'. +# +# Example: +# @CODE +# declare -A DLANG_REQ_USE=( +# [dmd]="static-libs(-)?" +# [gdc]="another_flag" +# [ldc2]="static-libs(-)?" +# ) +# @CODE +# +# It will cause the Dlang dependencies to look like: +# @CODE +# dlang_targets_ldc2-X_Y? ( dev-lang/ldc2:X.Y=[static-libs(-)?] ) +# dlang_targets_gdc-X? ( sys-devel/gcc[d,another_flag]:X dev-util/gdmd:X ) +# dlang_targets_dmd-X_Y? ( dev-lang/dmd:X.Y=[static-libs(-)?] ) +# @CODE + +#
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 88e2ca3511032435742bd8d7d1c01d8a29588ba3 Author: Andrei Horodniceanu proton me> AuthorDate: Sat Mar 2 14:27:21 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sat Apr 13 22:47:25 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=88e2ca35 dlang-compilers-r1.eclass: new eclass Signed-off-by: Andrei Horodniceanu proton.me> eclass/dlang-compilers-r1.eclass | 293 +++ 1 file changed, 293 insertions(+) diff --git a/eclass/dlang-compilers-r1.eclass b/eclass/dlang-compilers-r1.eclass new file mode 100644 index 000..933b05a --- /dev/null +++ b/eclass/dlang-compilers-r1.eclass @@ -0,0 +1,293 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: dlang-compilers-r1.eclass +# @MAINTAINER: +# Andrei Horodniceanu +# @AUTHOR: +# Andrei Horodniceanu +# Based on dlang-compilers.eclass by Marco Leise . +# @BUGREPORTS: +# Please report bugs via https://github.com/gentoo/dlang/issues +# @VCSURL: https://github.com/gentoo/dlang +# @BLURB: Support data for dlang-utils.eclass +# @DESCRIPTION: +# Contains the available D compiler versions with their stable +# architectures and the language version they support. + +if [[ ! ${_DLANG_COMPILERS_R1_ECLASS} ]] ; then +_DLANG_COMPILERS_R1_ECLASS=1 + +# @ECLASS_VARIABLE: _DLANG_DMD_FRONTENDS +# @INTERNAL +# @DESCRIPTION: +# A list of dmd implementations with their dlang frontend version (which +# happens to coincide with the implementation version) and the +# architectures they support as a list of keywords. Only stable and +# unstable keywords will appear. +# +# The elements are ordered, the higher implementation version has the +# higher index. +# +# Example value for an element: +# @CODE +# "2.102 2.102 ~amd64 x86" +# @CODE +# Where the first 2.102 represents the implementation version, +# the second one represents the D language version the implementation +# supports and, lastly, there are two keywords. +readonly _DLANG_DMD_FRONTENDS=( + "2.101 2.101 ~amd64 ~x86" + "2.102 2.102 ~amd64 ~x86" + "2.103 2.103 ~amd64 ~x86" + "2.104 2.104 ~amd64 ~x86" + "2.105 2.105 ~amd64 ~x86" + "2.106 2.106 ~amd64 ~x86" + "2.107 2.107 ~amd64 ~x86" +) + +# @ECLASS_VARIABLE: _DLANG_GDC_FRONTENDS +# @INTERNAL +# @DESCRIPTION: +# A list of gdc implementations with their dlang frontend version and +# the architectures they support as a list of keywords. Only stable and +# unstable keywords will appear. +# +# The elements are ordered, the higher implementation version has the +# higher index. +# +# Example value for an element: +# @CODE +# "13 2.103 amd64 ~arm64 x86" +# @CODE +# Where 13 represents the implementation version, 2.103 represents the D +# language version the implementation supports and, lastly, there are +# three keywords. +readonly _DLANG_GDC_FRONTENDS=( + "12 2.100 ~amd64 ~arm64 ~x86" + "13 2.103 ~amd64 ~arm64 ~x86" +) + +# @ECLASS_VARIABLE: _DLANG_LDC2_FRONTENDS +# @INTERNAL +# @DESCRIPTION: +# A list of ldc2 implementations with their dlang frontend version and +# the architectures they support as a list of keywords. Only stable and +# unstable keywords will appear. +# +# The elements are ordered, the higher implementation version has the +# higher index. +# +# Example value for an element: +# @CODE +# 1.34 2.104 ~amd64 ~arm64 +# @CODE +# Where 1.34 represents the implementation version, 2.104 represents the +# D language version the implementation supports and, lastly, there are +# two keywords. +readonly _DLANG_LDC2_FRONTENDS=( + "1.32 2.102 ~amd64 ~arm64 ~x86" + "1.33 2.103 ~amd64 ~arm64 ~x86" + "1.34 2.104 ~amd64 ~arm64 ~x86" + "1.35 2.105 ~amd64 ~arm64 ~x86" + "1.36 2.106 ~amd64 ~arm64 ~x86" +) + +# @FUNCTION: _dlang_accumulate_implementations +# @INTERNAL +# @DESCRIPTION: +# Set the global variable _DLANG_ALL_IMPLS based on the three arrays: +# _DLANG_(DMD|LDC2|GDC)_FRONTENDS. This function should be called once, +# in global scope. +_dlang_accumulate_implementations() { + local line result=() + for line in "${_DLANG_DMD_FRONTENDS[@]/#/dmd-}" \ + "${_DLANG_GDC_FRONTENDS[@]/#/gdc-}" \ + "${_DLANG_LDC2_FRONTENDS[@]/#/ldc2-}" + do + line=( ${line} ) + # We only need the first component (name + version) + local impl=${line[0]/\./_} + result+=( "${impl}" ) + done + + if [[ ${_DLANG_ALL_IMPLS+1} ]]; then + if [[ ${_DLANG_ALL_IMPLS[@]} != ${result[@]} ]]; then + eerror "_DLANG_ALL_IMPLS has changed between inherits!" + eerror "Before: ${_DLANG_ALL_IMPLS[*]}" + eerror "Now : ${result[*]}" + die "_DLANG_ALL_IMPLS integrity check failed!" + fi + else +
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: e76ec139c6db2b0ab1d83bd61088d6903f2febff Author: Andrei Horodniceanu proton me> AuthorDate: Sat Mar 2 17:28:49 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sat Apr 13 22:47:30 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=e76ec139 dlang-single.eclass: new eclass Signed-off-by: Andrei Horodniceanu proton.me> eclass/dlang-single.eclass | 409 + 1 file changed, 409 insertions(+) diff --git a/eclass/dlang-single.eclass b/eclass/dlang-single.eclass new file mode 100644 index 000..a94bc80 --- /dev/null +++ b/eclass/dlang-single.eclass @@ -0,0 +1,409 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: dlang-single.eclass +# @MAINTAINER: +# Andrei Horodniceanu +# @AUTHOR: +# Andrei Horodniceanu +# Based on python-utils-r1.eclass by Michał Górny et al +# with logic taken from dlang.eclass by Marco Leise . +# @BUGREPORTS: +# Please report bugs via https://github.com/gentoo/dlang/issues +# @VCSURL: https://github.com/gentoo/dlang +# @SUPPORTED_EAPIS: 8 +# @PROVIDES: dlang-utils +# @BLURB: An eclass for Dlang packages not installed for multiple implementations. +# @DESCRIPTION: +# An extension of the dlang-r1 eclass suite for packages which don't +# support being installed for multiple Dlang implementations. +# +# This eclass sets correct IUSE. It also provides DLANG_DEPS and +# DLANG_REQUIRED_USE that need to be added to appropriate ebuild +# metadata variables. +# +# The eclass exports DLANG_SINGLE_USEDEP that is suitable for depending +# on other packages using the eclass. Dependencies on packages using +# dlang-r1 should be created via dlang_gen_cond_dep() function, using +# DLANG_USEDEP placeholder. +# +# Please note that packages which support multiple Dlang implementations +# (using dlang-r1 eclass) can not depend on packages not supporting them +# (using this eclass). +# +# Please note that dlang-single will always inherit dlang-utils as +# well. Thus, all the functions defined there can be used in the +# packages using dlang-single, and there is no need ever to inherit +# both. +# +# Same as dlang-r1.eclass, the contents of $KEYWORDS need to be set +# before the inherit. +# +# @EXAMPLE: +# @CODE +# EAPI=8 +# DLANG_COMPAT=( dmd-2_{101..106} gdc-12 gdc-13 ldc2-1_{32..36} ) +# KEYWORDS="amd64 x86" +# +# inherit dlang-single +# +# REQUIRED_USE=${DLANG_REQUIRED_USE} +# DEPEND="${DLANG_DEPS} $(dlang_gen_cond_dep ' +# dev-libs/gtkd[${DLANG_USEDEP}] +# ')" +# RDEPEND=${DEPEND} +# BDEPEND=${DLANG_DEPS} +# +# src_compile() { +# emake DMD="$(dlang_get_dmdw)" DFLAGS="$(dlang_get_dmdw_dcflags)" +# } +# @CODE + +case ${EAPI} in + 8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ -z ${_DLANG_SINGLE_ECLASS} ]]; then +_DLANG_SINGLE_ECLASS=1 + +if [[ ${_DLANG_R1_ECLASS} ]]; then + die 'dlang-single.eclass cannot be used with dlang-r1.eclass.' +fi + +inherit dlang-utils + +# @ECLASS_VARIABLE: DLANG_COMPAT +# @REQUIRED +# @PRE_INHERIT +# @DESCRIPTION: +# This variable contains a list of Dlang implementations the package +# supports. It must be set before the `inherit' call. It has to be an +# array. +# +# Example: +# @CODE +# DLANG_COMPAT=( gdc-12 ldc2-1_36 dmd-2_102 dmd-2_103 ) +# @CODE +# +# Please note that you can also use bash brace expansion if you like: +# @CODE +# DLANG_COMPAT=( gdc-1{2..3} ldc2-1_{29..36} dmd-2_10{5,6} ) +# @CODE + +# @ECLASS_VARIABLE: DLANG_COMPAT_OVERRIDE +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# This variable can be used when working with ebuilds to override the +# in-ebuild DLANG_COMPAT. It is a string naming the implementation which +# package will be built for. It needs to be specified in the calling +# environment, and not in ebuilds. +# +# It should be noted that in order to preserve metadata immutability, +# DLANG_COMPAT_OVERRIDE does not affect IUSE nor dependencies. The state +# of DLANG_TARGETS is ignored, and all the implementations in +# DLANG_COMPAT_OVERRIDE are built. Dependencies need to be satisfied +# manually. +# +# Example: +# @CODE +# DLANG_COMPAT_OVERRIDE='gdc-13' emerge -1v dev-libs/foo +# @CODE + +# @ECLASS_VARIABLE: DLANG_REQ_USE +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# An associative array of Dlang implementations and USE-dependencies +# strings. The keys are implementation names, so: "dmd" "ldc2" or "gdc"; +# and the values are the aforementioned USE-dependency strings. +# +# This should be set before calling `inherit'. +# +# Example: +# @CODE +# declare -A DLANG_REQ_USE=( +# [dmd]="static-libs(-)?" +# [gdc]="another_flag" +# [ldc2]="static-libs(-)?" +# ) +# @CODE +# +# It will cause the Dlang dependencies to look like: +# @CODE +# dlang_targets_ldc2-X_Y? ( dev-lang/ldc2:X.Y=[static-libs(-)?] ) +# dlang_targets_gdc-X? ( sys-devel/gcc[d,another_flag]:X dev-util/gdmd:X ) +#
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 967f6d8dbaf9b73e9e0911b7f6ab397c99dc42b9 Author: Horodniceanu Andrei proton me> AuthorDate: Tue Feb 20 17:32:31 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Tue Feb 20 17:36:15 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=967f6d8d dmd.eclass: Fix overwriting instead of appending to array. Signed-off-by: Horodniceanu Andrei proton.me> eclass/dmd.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index fb57d19..9b4554a 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -231,7 +231,7 @@ dmd_src_compile() { # shared+static libraries with !static-libs. Do this only for # >=2.107, if it's useful backport the improvements later. if dmd_ge 2.107; then - phobosMakeArgs=( $(usex static-libs 'lib dll' 'dll') ) + phobosMakeArgs+=( $(usex static-libs 'lib dll' 'dll') ) # druntime's notion of a shared library is a static archive # that is embedded into the phobos shared library. # @@ -239,7 +239,7 @@ dmd_src_compile() { # so file but who's gonna use it? Perhaps if phobos would # not incorporate druntime we could install them as separate # libraries (like ldc2 and gdc). - druntimeMakeArgs=( $(usex static-libs 'lib dll' 'dll') ) + druntimeMakeArgs+=( $(usex static-libs 'lib dll' 'dll') ) # Either way, now we no longer build static-libs # indiscriminately. fi
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: d5063fd94813514c29539b5bd9baddfa3954b2f6 Author: Horodniceanu Andrei proton me> AuthorDate: Sun Feb 18 14:22:48 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sun Feb 18 14:22:48 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=d5063fd9 dmd.eclass: explicitly specify arguments to dmd in tests Refactor the test code a little for better readability and prevent linking by default to libphosbos2.a, which happens to work only because the build wrongfully generates both shared and static libraries regardless of USE=static-libs. Pass the same options to dmd as the ones in the installed dmd.conf to get a closer setup to what the user will have installed on their system. Signed-off-by: Horodniceanu Andrei proton.me> eclass/dmd.eclass | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 1e49af7..52e4209 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -233,7 +233,22 @@ dmd_src_compile() { dmd_src_test() { test_hello_world() { - "$(dmd_gen_exe_dir)/dmd" -m${MODEL} -fPIC -Iphobos -Idruntime/import -L-Lphobos/generated/linux/release/${MODEL} samples/d/hello.d || die "Failed to build hello.d (${MODEL}-bit)" + local phobosDir=phobos/generated/linux/release/"${MODEL}" + local commandArgs=( + # Copied from below, where dmd.conf is generated + -L--export-dynamic + -defaultlib=phobos2 # If unspecified, defaults to libphobos2.a + -fPIC + -L-L"${phobosDir}" + -L-rpath="${phobosDir}" + + -conf= # Don't use dmd.conf + -m"${MODEL}" + -Iphobos + -Idruntime/import + ) + "$(dmd_gen_exe_dir)/dmd" "${commandArgs[@]}" 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 "Could not remove temporary files" }
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-lang/dmd/
commit: 6108161b5be271ba462444394fcca298126e0960 Author: Andrei Horodniceanu proton me> AuthorDate: Sun Feb 4 13:06:16 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sun Feb 4 13:06:16 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=6108161b dev-lang/dmd: stabilize 2.106.1 for amd64, x86 Signed-off-by: Andrei Horodniceanu proton.me> dev-lang/dmd/dmd-2.106.1.ebuild | 2 +- eclass/dlang-compilers.eclass | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-lang/dmd/dmd-2.106.1.ebuild b/dev-lang/dmd/dmd-2.106.1.ebuild index 01ac05b..fee0669 100644 --- a/dev-lang/dmd/dmd-2.106.1.ebuild +++ b/dev-lang/dmd/dmd-2.106.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -KEYWORDS="-* ~amd64 ~x86" +KEYWORDS="-* amd64 x86" YEAR=2024 DLANG_VERSION_RANGE="2.100-2.106" diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index 4c35ef4..cfe18f8 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -29,7 +29,7 @@ dlang-compilers_declare_versions() { ["2.103"]="2.103 x86 amd64" ["2.104"]="2.104 x86 amd64" ["2.105"]="2.105 x86 amd64" - ["2.106"]="2.106 ~x86 ~amd64" + ["2.106"]="2.106 x86 amd64" ) # GDC (hppa, sparc: masked "d" USE-flag)
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 47b6ed5f3ffb4aa24afdca634f1b430da78dbfc2 Author: Horodniceanu Andrei proton me> AuthorDate: Thu Jan 4 11:45:41 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sun Feb 4 11:53:33 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=47b6ed5f dmd.eclass: add optfeature for dev-util/dlang-tools Signed-off-by: Horodniceanu Andrei proton.me> eclass/dmd.eclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index d19bdd1..1e49af7 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -35,7 +35,7 @@ HTML_DOCS="html/*" # DMD supports amd64/x86 exclusively MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit desktop edos2unix multilib-build toolchain-funcs +inherit desktop edos2unix multilib-build optfeature toolchain-funcs # @FUNCTION: dmd_eq # @DESCRIPTION: @@ -354,6 +354,8 @@ dmd_pkg_postinst() { use examples && elog "Examples can be found in: /${PREFIX}/samples" use doc && elog "HTML documentation is in: /usr/share/doc/${PF}/html" + + optfeature "additional D development tools" "dev-util/dlang-tools" } dmd_pkg_postrm() {
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-lang/dmd/
commit: 8b7593b86d2d4e01e5443e338060b71bd1c6bd13 Author: Andrei Horodniceanu proton me> AuthorDate: Sun Feb 4 13:01:23 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Sun Feb 4 13:01:23 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=8b7593b8 dev-lang/dmd: stabilize 2.105.3 for amd64, x86 Signed-off-by: Andrei Horodniceanu proton.me> dev-lang/dmd/dmd-2.105.3.ebuild | 4 ++-- eclass/dlang-compilers.eclass | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dev-lang/dmd/dmd-2.105.3.ebuild b/dev-lang/dmd/dmd-2.105.3.ebuild index 8f34439..b3de0e7 100644 --- a/dev-lang/dmd/dmd-2.105.3.ebuild +++ b/dev-lang/dmd/dmd-2.105.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -KEYWORDS="-* ~amd64 ~x86" +KEYWORDS="-* amd64 x86" YEAR=2023 DLANG_VERSION_RANGE="2.076-2.080 2.082 2.084-2.105" diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index 73155e2..4c35ef4 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -28,7 +28,7 @@ dlang-compilers_declare_versions() { ["2.102"]="2.102 x86 amd64" ["2.103"]="2.103 x86 amd64" ["2.104"]="2.104 x86 amd64" - ["2.105"]="2.105 ~x86 ~amd64" + ["2.105"]="2.105 x86 amd64" ["2.106"]="2.106 ~x86 ~amd64" )
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-lang/ldc2/, profiles/
commit: f6d04f66592285cfeac3e9014821b824627ff392 Author: Horodniceanu Andrei proton me> AuthorDate: Mon Jan 1 23:17:12 2024 + Commit: Horodniceanu Andrei proton me> CommitDate: Mon Jan 1 23:17:12 2024 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=f6d04f66 dev-lang/ldc2: remove llvm:14 dependent versions Signed-off-by: Horodniceanu Andrei proton.me> dev-lang/ldc2/Manifest | 3 -- dev-lang/ldc2/ldc2-1.29.0-r2.ebuild | 77 dev-lang/ldc2/ldc2-1.30.0-r1.ebuild | 78 - dev-lang/ldc2/ldc2-1.31.0.ebuild| 77 eclass/dlang-compilers.eclass | 3 -- profiles/use.desc | 3 -- 6 files changed, 241 deletions(-) diff --git a/dev-lang/ldc2/Manifest b/dev-lang/ldc2/Manifest index af4b6bc..49e6954 100644 --- a/dev-lang/ldc2/Manifest +++ b/dev-lang/ldc2/Manifest @@ -1,6 +1,3 @@ -DIST ldc-1.29.0-src.tar.gz 8080420 BLAKE2B 37890b283f8097e6d845d6d849b9c04e64bdca5654f483bd83e0d387f0bc4d1cacdef023ccab67dd140a57615e0e7ba9f92acffb18f49211ca130a503f8307e8 SHA512 f8a1e23150b84ef31d3616b9be8ca4c1a64df2b3f26fbedb1119a7d2d3dacad10cd86b6b9bf79728c8c725213f8f7ae88acdeb7a0d9e2f3f5068857f97c39a7e -DIST ldc-1.30.0-src.tar.gz 8292548 BLAKE2B e2e9846b055837bd2fbeb4b17481f0dd1a49978d8794ee380ad2c14b9713065e98486c62c76a02e9ac2deead8664191409d768da99c7cf447bc5c1d3c77c SHA512 6da36e70cdb7e298b103642d40465fad7a08f05e5424ca9205783c9db867a2e75058d4d3b0124fe305ac69d853cd3dae41e179f80c5359d771f206b76a8b7e80 -DIST ldc-1.31.0-src.tar.gz 8042077 BLAKE2B 6840b3d591b644eca5e7f3f00a39ae477981e1778dc6c0e17ba4425488af1417802935b7c40b914263c7990ab321b8a6a27bd90a18ccf88eb5a36c3b47559b7c SHA512 6fb98ff646f347f04fbaf2d0467b5334bae2f9938dcdffb402ac010283aa62a767e5bc6845aeeb13ce743ebb6aa390bcd761cc0e7b58085813b8cdb310a68858 DIST ldc-1.32.2-src.tar.gz 8116363 BLAKE2B 2fb0c2c01bc6257dcaeca75318e241ebdb9b6212a5a368ba9e2337a143ed2c7ddc932ffb1c70587142ab755f7d36f8f27a94148de32c60fef440f15cc3e9cdec SHA512 1494c7e3905851dbb679b8c7a651f21b57fa58a6bfbf5bd83661829b69158cbd1c963db463fd6dbd60c1be1c739396b761376fc2978dd71dee968aaae3629e2b DIST ldc-1.33.0-src.tar.gz 8139266 BLAKE2B 6c2efd0765307815563bc7bd775f1faef3f5e19c82e4aee038f668dd00a2521fa58bd32f6a45d2bc5a3854f31a2d7bd47b1be255aeafc0a4206f72d663b0021f SHA512 ef5a42934e24caf947b63ef29a62205b07b539a59292266877f2d5f5ecf06272e1fc3ca83772d02eda203e4b166fbcea788b804740b8780b07a4643e4b51bf70 DIST ldc-1.34.0-src.tar.gz 8176200 BLAKE2B 048975a3142da860540ba5378be5214884eb44e2f4492e95aa124a669ccf53bbcf9ccce24f12946948265af5a0de1f5771d21f196052ab53275aa8bb7d0dfb2e SHA512 c4ceda1d448b91f706719cdea141cb705f9996ea3f86c107620f13e2f50f6a29724a69b5e3b01c51e13dd4e50ba29a280785ce0789188641c90738d774300a06 diff --git a/dev-lang/ldc2/ldc2-1.29.0-r2.ebuild b/dev-lang/ldc2/ldc2-1.29.0-r2.ebuild deleted file mode 100644 index cb01cfe..000 --- a/dev-lang/ldc2/ldc2-1.29.0-r2.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib-build cmake llvm - -MY_PV="${PV//_/-}" -MY_P="ldc-${MY_PV}-src" -SRC_URI="https://github.com/ldc-developers/ldc/releases/download/v${MY_PV}/${MY_P}.tar.gz; -S=${WORKDIR}/${MY_P} - -DESCRIPTION="LLVM D Compiler" -HOMEPAGE="https://github.com/ldc-developers/ldc; -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" -LICENSE="BSD" -SLOT="$(ver_cut 1-2)/$(ver_cut 3)" - -IUSE="static-libs" - -# We support LLVM 6.0 through 14. -RDEPEND="dev-util/ninja - || ( - sys-devel/llvm:13 - sys-devel/llvm:14 - ) - =app-eselect/eselect-dlang-20140709" -DEPEND="${RDEPEND}" -LLVM_MAX_SLOT=14 -PATCHES="${FILESDIR}/ldc2-1.15.0-link-defaultlib-shared.patch" - -# For now, we support amd64 multilib. Anyone is free to add more support here. -MULTILIB_COMPAT=( abi_x86_{32,64} ) - -DLANG_VERSION_RANGE="2.075-" -DLANG_PACKAGE_TYPE="single" - -inherit dlang - -src_prepare() { - cmake_src_prepare -} - -d_src_configure() { - # Make sure libphobos2 is installed into ldc2's directory. - export LIBDIR_${ABI}="${LIBDIR_HOST}" - local mycmakeargs=( - -DD_VERSION=2 - -DCMAKE_INSTALL_PREFIX=/usr/lib/ldc2/$(ver_cut 1-2) - -DD_COMPILER="${DMD} $(dlang_dmdw_dcflags)" - -DLDC_WITH_LLD=OFF - ) - use static-libs && mycmakeargs+=( -DBUILD_SHARED_LIBS=BOTH ) || mycmakeargs+=( -DBUILD_SHARED_LIBS=ON ) - use abi_x86_32 && use abi_x86_64 && mycmakeargs+=( -DMULTILIB=ON ) - cmake_src_configure -} - -d_src_compile() -{ - cmake_src_compile -} - -d_src_install() { - cmake_src_install - - rm -rf "${ED}"/usr/share/bash-completion -} - -pkg_postinst() { - # Update active ldc2 - "${ROOT}"/usr/bin/eselect dlang update ldc2 -} - -pkg_postrm() { -
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: c6ab2690ead707fa368813014edd75509b07727b Author: Horodniceanu Andrei proton me> AuthorDate: Thu Nov 30 13:34:14 2023 + Commit: Marco Leise gmx de> CommitDate: Sat Dec 9 18:13:15 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=c6ab2690 dlang.eclass: Properly set LIBDIR_$ABI for single type packages Previously, only packages that set DLANG_PACKAGE_TYPE to multi received a valid value in LIBDIR_$ABI, the path to the compiler specific directory for libraries, in order to know where to install their libraries. Now, both types of packages will have this value set properly, alowing single type packages to know the exact path to the compiler library directory for easy access to auxiliary files like pkg-config files. Signed-off-by: Horodniceanu Andrei proton.me> eclass/dlang.eclass | 11 --- eclass/dmd.eclass | 18 ++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index 385a458..2817779 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -584,7 +584,7 @@ _dlang_build_configurations() { variants="${variants} ${abi}-${version_component}" done else - variants="default-${version_component}" + variants="${DEFAULT_ABI:-default}-${version_component}" fi ;; selfhost) @@ -647,10 +647,15 @@ _dlang_use_build_vars() { # gcc's SLOT is its major version component. export DC="/usr/${CHOST_default}/gcc-bin/${DC_VERSION}/${CHOST_default}-gdc" export DMD="/usr/${CHOST_default}/gcc-bin/${DC_VERSION}/gdmd" - if [[ "${DLANG_PACKAGE_TYPE}" == "multi" ]] && multilib_is_native_abi; then + if [[ ${DLANG_PACKAGE_TYPE} != multi ]]; then + # Both single and dmd enter this branch export LIBDIR_${ABI}="lib/gcc/${CHOST_default}/${DC_VERSION}" else - export LIBDIR_${ABI}="lib/gcc/${CHOST_default}/${DC_VERSION}/${MODEL}" + if multilib_is_native_abi; then + export LIBDIR_${ABI}="lib/gcc/${CHOST_default}/${DC_VERSION}" + else + export LIBDIR_${ABI}="lib/gcc/${CHOST_default}/${DC_VERSION}/${MODEL}" + fi fi export DCFLAGS="${GDCFLAGS} -shared-libphobos" export DLANG_LINKER_FLAG="-Xlinker " diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 7d9e1f5..2292e12 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -295,8 +295,26 @@ EOF fi # Install shared lib. + # dlang.eclass will set LIBDIR_$ABI to the path of the host compiler + # library direcory (if not selfhosting). We don't care about that + # location, however, and we instead want to have it point + # to the path where this package is supposed to install the libraries + # to, i.e. the system library directory. We can use $LIBDIR_HOST + # to restore that value to the correct one but only if the ABI + # this function is running into is the same as the one set + # by dlang.eclass. Since dlang.eclass treats dmd as a 'single' + # type package, it will only treat the case where $ABI is the + # native one. + if ! use selfhost && multilib_is_native_abi; then + # We aren't going to use LIBDIR_$ABI for this ABI anymore + # so just overwrite it, don't bother saving it. + export LIBDIR_${ABI}="${LIBDIR_HOST}" + fi + + # We are installing the real file into the system libdir. dolib.so phobos/generated/linux/release/${MODEL}/"${SONAME}" dosym "${SONAME}" /usr/"$(get_libdir)"/"${SONAME_SYM}" + # We create an additional symlink in this package's specific libdir. dosym ../../../../../usr/"$(get_libdir)"/"${SONAME}" /usr/"${libdir}"/libphobos2.so # Install static lib if requested.
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 8c977f9dc9d15ebcf73032411eed7acf033782fb Author: Horodniceanu Andrei proton me> AuthorDate: Thu Nov 30 19:32:20 2023 + Commit: Marco Leise gmx de> CommitDate: Sun Dec 10 21:53:54 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=8c977f9d dlang.eclass: Support DLANG_COMPILER_DISABLED_BACKENDS Add support for filtering out possible compilers by their backend, on top of the frontend version filtering already implemented. This allows packages that do not support a particular compiler backend not to advertise USE flags that will fail to build. Signed-off-by: Horodniceanu Andrei proton.me> eclass/dlang.eclass | 91 +++-- 1 file changed, 60 insertions(+), 31 deletions(-) diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index ab41b18..5c7d3f9 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -30,6 +30,14 @@ # @DESCRIPTION: # The path that is used to install include files. A sub-directory specific to the package should be used. +# @ECLASS_VARIABLE: DLANG_COMPILER_DISABLED_BACKENDS +# @PRE_INHERIT +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optional list of D compiler backends to disable as a Bash array. +# Possible values include dmd, ldc2, and gdc. +# Set before inheritting the eclass. + if [[ ${_ECLASS_ONCE_DLANG} != "recur -_+^+_- spank" ]] ; then _ECLASS_ONCE_DLANG="recur -_+^+_- spank" @@ -402,39 +410,45 @@ _dlang_compiler_masked_archs_for_version_range() { _dlang_filter_compilers() { local dc_version mapping iuse depend - # filter for DMD (hardcoding support for x86 and amd64 only) - for dc_version in "${!_dlang_dmd_frontend[@]}"; do - mapping="${_dlang_dmd_frontend[${dc_version}]}" - iuse="dmd-$(ver_rs 1- _ $dc_version)" - if [ "${DLANG_PACKAGE_TYPE}" == "multi" ]; then - depend="[${MULTILIB_USEDEP}]" - else - depend="" - fi - depend="dev-lang/dmd:$dc_version=$depend" - _dlang_compiler_masked_archs_for_version_range "$iuse" "$depend" "$mapping" "$1" "$2" - done + if _dlang_compiler_backend_is_enabled "dmd"; then + # filter for DMD (hardcoding support for x86 and amd64 only) + for dc_version in "${!_dlang_dmd_frontend[@]}"; do + mapping="${_dlang_dmd_frontend[${dc_version}]}" + iuse="dmd-$(ver_rs 1- _ $dc_version)" + if [ "${DLANG_PACKAGE_TYPE}" == "multi" ]; then + depend="[${MULTILIB_USEDEP}]" + else + depend="" + fi + depend="dev-lang/dmd:$dc_version=$depend" + _dlang_compiler_masked_archs_for_version_range "$iuse" "$depend" "$mapping" "$1" "$2" + done + fi - # GDC (doesn't support sub-slots, to stay compatible with upstream GCC) - for dc_version in "${!_dlang_gdc_frontend[@]}"; do - mapping="${_dlang_gdc_frontend[${dc_version}]}" - iuse="gdc-${dc_version}" - depend="sys-devel/gcc:$dc_version[d,-d-bootstrap(-)]" - _dlang_compiler_masked_archs_for_version_range "$iuse" "$depend" "$mapping" "$1" "$2" - done + if _dlang_compiler_backend_is_enabled "gdc"; then + # GDC (doesn't support sub-slots, to stay compatible with upstream GCC) + for dc_version in "${!_dlang_gdc_frontend[@]}"; do + mapping="${_dlang_gdc_frontend[${dc_version}]}" + iuse="gdc-${dc_version}" + depend="sys-devel/gcc:$dc_version[d,-d-bootstrap(-)]" + _dlang_compiler_masked_archs_for_version_range "$iuse" "$depend" "$mapping" "$1" "$2" + done + fi - # filter for LDC2 - for dc_version in "${!_dlang_ldc2_frontend[@]}"; do - mapping="${_dlang_ldc2_frontend[${dc_version}]}" - iuse=ldc2-$(ver_rs 1- _ $dc_version) - if [ "${DLANG_PACKAGE_TYPE}" == "multi" ]; then - depend="[${MULTILIB_USEDEP}]" - else - depend="" - fi - depend="dev-lang/ldc2:$dc_version=$depend" - _dlang_compiler_masked_archs_for_version_range "$iuse" "$depend" "$mapping" "$1" "$2" - done + if _dlang_compiler_backend_is_enabled "ldc2"; then + # filter for LDC2 + for dc_version in "${!_dlang_ldc2_frontend[@]}"; do + mapping="${_dlang_ldc2_frontend[${dc_version}]}" + iuse=ldc2-$(ver_rs 1- _ $dc_version) + if [ "${DLANG_PACKAGE_TYPE}" == "multi" ]; then + depend="[${MULTILIB_USEDEP}]" + else +
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 1bb2eb6ab240eec201a15cb78ed0fed2d7c6f9c3 Author: Horodniceanu Andrei proton me> AuthorDate: Thu Nov 30 19:13:46 2023 + Commit: Marco Leise gmx de> CommitDate: Sun Dec 10 21:53:34 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=1bb2eb6a dlang.eclass: export PKG_CONFIG_* in phase functions PKG_CONFIG_LIBDIR and PKG_CONFIG_PATH will now be set to a list of the the system pkg-config directories and the compiler specific one, allowing packages that use build systems to easily find both their C and D dependencies. Signed-off-by: Horodniceanu Andrei proton.me> eclass/dlang.eclass | 18 ++ 1 file changed, 18 insertions(+) diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index 2817779..ab41b18 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -610,6 +610,17 @@ _dlang_use_build_vars() { # The original value is exported as LIBDIR_HOST. local libdir_var="LIBDIR_${ABI}" export LIBDIR_HOST="${!libdir_var}" + # Save the default pkgconfig path + if [[ ! -v DLANG_SAVE_PKG_CONFIG_PATH ]]; then + # Copy the logic from meson.eclass for setting PKG_CONFIG_PATH + export DLANG_SAVE_PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}/usr/share/pkgconfig" + fi + if [[ ! -v DLANG_SAVE_PKG_CONFIG_LIBDIR ]]; then + # either save the value or provide a sane default lest other eclasses get confused. + # e.g. meson.eclass will set PKG_CONFIG_LIBDIR using $(get_libdir) which won't + # work properly since we will overwrite $LIBDIR_$ABI + export DLANG_SAVE_PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR:-/usr/$(get_libdir)/pkgconfig}" + fi export ABI="$(echo ${MULTIBUILD_VARIANT} | cut -d- -f1)" export DC="$(echo ${MULTIBUILD_VARIANT} | cut -d- -f2)" export DC_VERSION="$(echo ${MULTIBUILD_VARIANT} | cut -d- -f3)" @@ -699,6 +710,13 @@ _dlang_use_build_vars() { filter-ldflags -f{no-,}use-linker-plugin -f{no-,}lto -flto=* fi export LDFLAGS=`dlang_convert_ldflags` + + # Add the compiler specific pkgconfig paths. + export PKG_CONFIG_PATH="${DLANG_SAVE_PKG_CONFIG_PATH}:/usr/$(get_libdir)/pkgconfig" + # Technically, this value will stay the same so it's enough to export it once + # but it's cleaner to keep these 2 variables close together. + export PKG_CONFIG_LIBDIR="${DLANG_SAVE_PKG_CONFIG_LIBDIR}" + "${@}" }
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: c606e7a45cdf790f9bf3947c97b1d78f545d829d Author: Horodniceanu Andrei proton me> AuthorDate: Wed Oct 11 11:40:06 2023 + Commit: Horodniceanu Andrei proton me> CommitDate: Fri Nov 17 20:54:08 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=c606e7a4 dlang.eclass: explicitly support EAPI 6, 7 and 8 Signed-off-by: Horodniceanu Andrei proton.me> eclass/dlang.eclass | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index dc8d56e..385a458 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -1,6 +1,7 @@ # @ECLASS: dlang.eclass # @MAINTAINER: # Marco Leise +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: install D libraries in multiple locations for each D version and compiler # @DESCRIPTION: # The dlang eclass faciliates creating dependiencies on D libraries for use @@ -32,12 +33,13 @@ if [[ ${_ECLASS_ONCE_DLANG} != "recur -_+^+_- spank" ]] ; then _ECLASS_ONCE_DLANG="recur -_+^+_- spank" -if has ${EAPI:-0} 0 1 2 3 4 5; then - die "EAPI must be >= 6 for dlang packages." -fi +case ${EAPI:-0} in + 6) inherit eapi7-ver ;; + 7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac inherit flag-o-matic dlang-compilers -test ${EAPI:-0} -lt 7 && inherit eapi7-ver if [[ "${DLANG_PACKAGE_TYPE}" == "multi" ]]; then # We handle a multi instance package. inherit multilib-minimal
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: aa4dca9af20224f56c25937f9f979ddba7ca8dac Author: Horodniceanu Andrei proton me> AuthorDate: Wed Oct 11 10:05:12 2023 + Commit: Horodniceanu Andrei proton me> CommitDate: Fri Nov 17 20:54:03 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=aa4dca9a dmd.eclass: support EAPI 7 and 8 Signed-off-by: Horodniceanu Andrei proton.me> eclass/dmd.eclass | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 0555f47..7d9e1f5 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -1,6 +1,7 @@ # @ECLASS: dmd.eclass # @MAINTAINER: # Marco Leise +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Captures most of the logic for installing DMD # @DESCRIPTION: # Helps with the maintenance of the various DMD versions by capturing common @@ -21,9 +22,11 @@ if [[ ${_ECLASS_ONCE_DMD} != "recur -_+^+_- spank" ]] ; then _ECLASS_ONCE_DMD="recur -_+^+_- spank" -if has ${EAPI:-0} 0 1 2 3 4 5; then - die "EAPI must be >= 6 for dmd packages." -fi +case ${EAPI:-0} in + 6) inherit eapi7-ver ;; + 7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac DESCRIPTION="Reference compiler for the D programming language" HOMEPAGE="http://dlang.org/; @@ -32,7 +35,7 @@ HTML_DOCS="html/*" # DMD supports amd64/x86 exclusively MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit multilib-build eapi7-ver toolchain-funcs +inherit desktop edos2unix multilib-build toolchain-funcs # @FUNCTION: dmd_eq # @DESCRIPTION: @@ -271,7 +274,7 @@ EOF einfo "Installing ${PN}..." # From version 2.066 on, dmd will find dmd.conf in the executable directory, if we # call it through a symlink in /usr/bin - dmd_ge 2.066 && dosym "../../${PREFIX}/bin/dmd" "${ROOT}/usr/bin/dmd-${SLOT}" + dmd_ge 2.066 && dosym "../../${PREFIX}/bin/dmd" "/usr/bin/dmd-${SLOT}" into ${PREFIX} dobin "$(dmd_gen_exe_dir)/dmd" @@ -319,7 +322,7 @@ EOF einstalldocs insinto "/usr/share/doc/${PF}/html" doins "${FILESDIR}/dmd-doc.png" - make_desktop_entry "xdg-open ${ROOT}usr/share/doc/${PF}/html/d/index.html" "DMD ${PV}" "${ROOT}usr/share/doc/${PF}/html/dmd-doc.png" "Development" + make_desktop_entry "xdg-open ${EPREFIX}/usr/share/doc/${PF}/html/d/index.html" "DMD ${PV}" "${EPREFIX}/usr/share/doc/${PF}/html/dmd-doc.png" "Development" fi if use examples; then insinto ${PREFIX}/samples @@ -330,14 +333,14 @@ EOF dmd_pkg_postinst() { # Update active dmd - "${ROOT}"/usr/bin/eselect dlang update dmd + "${ROOT%/}"/usr/bin/eselect dlang update dmd use examples && elog "Examples can be found in: /${PREFIX}/samples" use doc && elog "HTML documentation is in: /usr/share/doc/${PF}/html" } dmd_pkg_postrm() { - "${ROOT}"/usr/bin/eselect dlang update dmd + "${ROOT%/}"/usr/bin/eselect dlang update dmd } dmd_foreach_abi() {
[gentoo-commits] repo/user/dlang:master commit in: eclass/, profiles/, dev-util/gdmd/
commit: 55d8c7fdfbf7402c778cbbe14613a6d226781933 Author: Horodniceanu Andrei proton me> AuthorDate: Mon Oct 16 19:28:12 2023 + Commit: Horodniceanu Andrei proton me> CommitDate: Sun Oct 29 09:57:33 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=55d8c7fd dlang.eclass: move to gdc-SLOT like USE flags Since gcc will keep ABI compatibility on a given stabilized branch, it is enough to depend only on a gcc branch (slot), rather than a full version. This simplifies gdc USE flags a lot and maintaining them becomes easier. Suggested-by: Arsen Arsenović gentoo.org> Signed-off-by: Horodniceanu Andrei proton.me> dev-util/gdmd/gdmd-13.ebuild | 2 +- eclass/dlang-compilers.eclass | 11 +++ eclass/dlang.eclass | 28 profiles/use.desc | 11 +++ 4 files changed, 19 insertions(+), 33 deletions(-) diff --git a/dev-util/gdmd/gdmd-13.ebuild b/dev-util/gdmd/gdmd-13.ebuild index 1e36f20..630df46 100644 --- a/dev-util/gdmd/gdmd-13.ebuild +++ b/dev-util/gdmd/gdmd-13.ebuild @@ -8,7 +8,7 @@ HOMEPAGE="https://www.gdcproject.org/; LICENSE="GPL-3+" SLOT="${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 x86" RDEPEND="sys-devel/gcc:${PV}[d]" RELEASE="0.1.0" SRC_URI="https://codeload.github.com/D-Programming-GDC/gdmd/tar.gz/script-${RELEASE} -> gdmd-${RELEASE}.tar.gz" diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index 611fce7..497d456 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -70,14 +70,9 @@ dlang-compilers_declare_versions() { # GDC (hppa, sparc: masked "d" USE-flag) _dlang_gdc_frontend=( - ["11.3.1_p20230427"]="2.076 ~alpha amd64 arm arm64 ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 x86" - ["11.4.0"]="2.076 ~alpha ~amd64 ~arm ~arm64 ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" - ["11.4.1_p20230622"]="2.076 ~alpha ~amd64 ~arm ~arm64 ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 x86" - ["12.2.1_p20230428"]="2.100 ~alpha amd64 arm arm64 ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 x86" - ["12.3.1_p20230526"]="2.100 ~alpha amd64 arm arm64 ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 x86" - ["12.3.1_p20230623"]="2.100 ~alpha ~amd64 ~arm ~arm64 ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" - ["13.1.1_p20230527"]="2.103 ~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" - ["13.2.0"]="2.103 ~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" + ["11"]="2.076 ~alpha amd64 arm arm64 ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 x86" + ["12"]="2.100 ~alpha amd64 arm arm64 ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 x86" + ["13"]="2.103 ~alpha amd64 arm arm64 ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 x86" ) # LDC diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index b86f3bc..dc8d56e 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -45,7 +45,6 @@ fi EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install - # Definition of know compilers and supported front-end versions from dlang-compilers.eclass dlang-compilers_declare_versions @@ -57,11 +56,11 @@ dlang-compilers_declare_versions # MODEL: This is either 32 or 64. # DLANG_VENDOR: Either DigitalMars, GNU or LDC. # DC: D compiler command. E.g. -# /usr/x86_64-pc-linux-gnu/gcc-bin/9.1.1/x86_64-pc-linux-gnu-gdc, +# /usr/x86_64-pc-linux-gnu/gcc-bin/12/x86_64-pc-linux-gnu-gdc, # /usr/lib/dmd/2.067/bin/dmd, or # /usr/lib/ldc2/0.17/bin/ldc2 # DMD: DMD compiler command. E.g. -# /usr/x86_64-pc-linux-gnu/gcc-bin/9.1.1/x86_64-pc-linux-gnu-gdmd, +# /usr/x86_64-pc-linux-gnu/gcc-bin/12/x86_64-pc-linux-gnu-gdmd, # /usr/lib/dmd/2.086/bin/dmd, or # /usr/lib/ldc2/0.17/bin/ldmd2 # DC_VERSION: Release version of the compiler. This is the version excluding any @@ -146,7 +145,6 @@ dlang_src_install() { _dlang_phase_wrapper install } - # @FUNCTION: dlang_exec # @DESCRIPTION: # Run and print a shell command. Aborts the ebuild on error using "die". @@ -274,7 +272,6 @@ dlang_dmdw_dcflags() { fi } - # @FUNCTION: dlang_system_imports # @DESCRIPTION: # Returns a list of standard system import paths (one per line) for the current @@ -285,7 +282,7 @@ dlang_system_imports() { echo "/usr/lib/dmd/${DC_VERSION}/import" elif [[ "${DLANG_VENDOR}" == "GNU" ]]; then # gcc's SLOT is its major version component. - echo "/usr/lib/gcc/${CHOST_default}/$(ver_cut 1 ${DC_VERSION})/include/d" + echo "/usr/lib/gcc/${CHOST_default}/${DC_VERSION}/include/d" elif [[
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 0ab16629adb5c8c8e4c19ebabcbb6368c78b985a Author: Horodniceanu Andrei proton me> AuthorDate: Sat Sep 30 06:42:31 2023 + Commit: Horodniceanu Andrei proton me> CommitDate: Sun Oct 1 09:24:13 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=0ab16629 dmd.eclass: Support >=dmd-2.101 Since dmd-2.101 the dmd and druntime upstream repositories have merged and paths need to be adjusted. The download link needs to be changed as well as new releases are no longer uploaded to aws. Signed-off-by: Horodniceanu Andrei proton.me> eclass/dmd.eclass | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 0333a2b..0555f47 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -53,7 +53,9 @@ dmd_ge() { # Returns the relative directory that the compiler executable will be found in. This directory is used both for # installing the binary as well as setting the compiler during compilation of druntime and Phobos. dmd_gen_exe_dir() { - if dmd_ge 2.074; then + if dmd_ge 2.101; then + echo generated/linux/release/$(dmd_arch_to_model) + elif dmd_ge 2.074; then echo dmd/generated/linux/release/$(dmd_arch_to_model) else echo dmd/src @@ -95,7 +97,12 @@ if [[ -n "${BETA}" ]]; then # We want to convert a Gentoo version string to an upstream one: 2.097.0_rc1 -> 2.097.0-rc.1 SRC_URI="http://downloads.dlang.org/pre-releases/${MAJOR}.x/${VERSION}/${PN}.$(ver_rs 3 "-" 4 ".").${ARCHIVE}" else - SRC_URI="mirror://aws/${YEAR}/${PN}.${PV}.${ARCHIVE}" + # the aws mirrors work for <=dmd-2.100.2 + if dmd_ge 2.101; then + SRC_URI="https://downloads.dlang.org/releases/${YEAR}/${PN}.${PV}.${ARCHIVE}; + else + SRC_URI="mirror://aws/${YEAR}/${PN}.${PV}.${ARCHIVE}" + fi fi COMMON_DEPEND=" @@ -121,6 +128,9 @@ dmd_src_prepare() { mkdir dmd || die "Failed to create directories 'dmd', 'druntime' and 'phobos'" mv src/dmd dmd/src || die "Failed to move 'src/dmd' to 'dmd/src'" mv src/VERSION dmd/VERSION || die "Failed to move 'src/VERSION' to 'dmd/VERSION'" + # >=dmd-2.101 expects the version file to be in the same directory as the dmd + # folder. i.e. VERSION should be in ${S} not in ${S}/dmd + ln -s dmd/VERSION VERSION || die "Failed to symlink 'src/VERSION' to 'VERSION'" mv src/druntime druntime|| die "Failed to move 'src/druntime' to 'druntime'" mv src/phobos phobos || die "Failed to move 'src/phobos' to 'phobos'" # Symlinks used by dmd in the selfhosting case @@ -203,13 +213,14 @@ dmd_src_compile() { MODEL="${MODEL}" PIC=1 CC="$(tc-getCC)" + DMD_DIR=../dmd ) einfo 'Building druntime...' emake -C druntime -f posix.mak "${mymakeargs[@]}" MANIFEST= einfo 'Building Phobos 2...' - emake -C phobos -f posix.mak "${mymakeargs[@]}" CUSTOM_DRUNTIME=1 + emake -C phobos -f posix.mak "${mymakeargs[@]}" CUSTOM_DRUNTIME=1 DRUNTIME_PATH=../druntime } dmd_foreach_abi compile_libraries
[gentoo-commits] repo/user/dlang:master commit in: eclass/, profiles/, dev-lang/dmd/, dev-util/dlang-tools/
commit: c69d6d851f2d0c3d44658db2d7bf9933e3f9cddc Author: Horodniceanu Andrei protonmail com> AuthorDate: Fri Sep 1 07:20:40 2023 + Commit: Horodniceanu Andrei proton me> CommitDate: Sat Sep 30 06:20:40 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=c69d6d85 dev-lang/dmd: add 2.100.2 Signed-off-by: Horodniceanu Andrei proton.me> dev-lang/dmd/Manifest | 1 + dev-lang/dmd/dmd-2.100.2.ebuild | 14 ++ dev-util/dlang-tools/Manifest | 1 + dev-util/dlang-tools/dlang-tools-2.100.2.ebuild | 63 + eclass/dlang-compilers.eclass | 1 + profiles/use.desc | 1 + 6 files changed, 81 insertions(+) diff --git a/dev-lang/dmd/Manifest b/dev-lang/dmd/Manifest index 12596ca..b1562b7 100644 --- a/dev-lang/dmd/Manifest +++ b/dev-lang/dmd/Manifest @@ -34,3 +34,4 @@ DIST dmd.2.096.1.linux.tar.xz 22825496 BLAKE2B 2a7973aaa9c713bfd29e783b459c97f6b DIST dmd.2.097.2.linux.tar.xz 23260840 BLAKE2B 9f19a396ca468806bde4c4af855f233b259fbb07f4b0172526aca4da1a22e6581f709b3c193d9cce237661d54d9f80932b5b6d3e2d0de650f05185fcd04befaf SHA512 743c3cec56e596941e9e9c5f13e1e9001fd4e447dc2ca5c8e0be825db6dc6465b939dd02fbd1826201a9039f262d667087e6b58a8e3fe82d584aec90988a411c DIST dmd.2.098.1.linux.tar.xz 23790368 BLAKE2B 12edf0e14af17bae1ca728bad47b9858eaf0c94e74b3fdd5158e9e083bad22c4241573ec07163bc70f7f7c2c735635b1d4779425b65401124d1d2200d2a27b02 SHA512 7f4838d2c82284c595c6f7cd3919e6c696862e6dc8b84ec6ac76ea06e11d449f6f80e9821fcb3df7184368fc905dbe473b276eb31438a84da0bf220beb1340be DIST dmd.2.099.1.linux.tar.xz 21846416 BLAKE2B e5c3baa981af46ce980c80c42729a2db99a44d3f8f464a711c299c0d7c2354c6ba8d607b57a7f6d79d7a99793cd727f1f7e9fd33c49517ea5c9783efcda00518 SHA512 20fbf33dae8e79d07993ca2b1032e86db40dd21e06dcca2ed3f7cfa8921ba25799e0dc534f989ca535d274f2984f7873a186227854d54c21aadfdd671febc43d +DIST dmd.2.100.2.linux.tar.xz 22013684 BLAKE2B e7e10ebc91a4baeda917b91e40b7b5d271caa0fee23d9c98f53c8239a0666c388d45a7290e338054b7b59dae6dbca9e5b1f03511783f59f92cc398a81e225390 SHA512 fd1615aa962b72f0f6e4c6d1276b101b8aa234206eb7162690267f674c9c788a5743fe42cf7415ff8d54514cd08b8844be1bca59ceafca753d1bac488e7e1661 diff --git a/dev-lang/dmd/dmd-2.100.2.ebuild b/dev-lang/dmd/dmd-2.100.2.ebuild new file mode 100644 index 000..744b993 --- /dev/null +++ b/dev-lang/dmd/dmd-2.100.2.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +KEYWORDS="-* ~amd64 ~x86" +YEAR=2022 +DLANG_VERSION_RANGE="2.076-2.080 2.082 2.084-2.102" + +inherit dmd + +PATCHES=( + "${FILESDIR}/2.097-link-32-bit-shared-lib-with-ld.bfd.patch" +) diff --git a/dev-util/dlang-tools/Manifest b/dev-util/dlang-tools/Manifest index 50a5a28..41290d0 100644 --- a/dev-util/dlang-tools/Manifest +++ b/dev-util/dlang-tools/Manifest @@ -34,6 +34,7 @@ DIST dlang-tools-2.096.1.tar.gz 129294 BLAKE2B 830dc185db7176fef179831214195901c DIST dlang-tools-2.097.2.tar.gz 129531 BLAKE2B ac1ad83e2e0f8fe715acd78eb13a7562533aea1792ec667c14ace3cf9cf4cc88b549d995671061d211b5d6c2137f6e563ec937222e964ca73764512a67b19607 SHA512 c4a237acee21db38b0dc22cb51afd893ebf102ff8e190eb52e2e0cee5b85cfa0644e7d4547d950f55044deca8651c261e84a4629ac6958b9a4b4b47343ee38d1 DIST dlang-tools-2.098.1.tar.gz 129699 BLAKE2B b7902b2cdcb6f9bbf6e71356cfdaaf8e3cbd05125818b13b10357226745065034cccf20618307f4a9a57ad5a35f4ba170ce7c184967e8c795546b8030bbe4f26 SHA512 a7e96cb38c95d910307c0fefa3840f8315799d4713e6c7ec591bd37863683962aede4359c7114b715a760b438df540dfc42e8da8394b1f4c892384e21fe7575e DIST dlang-tools-2.099.1.tar.gz 129867 BLAKE2B 6f37d08921a1532a7d5875df99e4037fb52a5ac59585bbc98d09d225afd2ce564963cc30f1ebaad093238ca758d7db2a874f9aa357fe23dce6a9a6c9ebcb6d21 SHA512 68cde8853bac2f3c92a2fbbe3f658e29b475bea2aeb5f5ffb96f2b3e85aca693b1d14c8fa248bad882461e55957c1de5cba9ac7a02b3a28be070e4869b6a4171 +DIST dlang-tools-2.100.2.tar.gz 129438 BLAKE2B 16784d5ec33cbc31dfefad2b3a5a4f776f65aa61f83392de08944651bf06f15325e8be0a6a006aed0dfac9aa4b4307c60b317a1c9cb6b2eb4ec04e59373f2009 SHA512 1a42e4c9d871debcdd8a6342770d92da3de42e9e80dfc4f62ac3610bfa2903fc28964fde820512233fe22d86045191ef08e3fa82a51f63bc023f8c404b6b349b DIST dlang.org-2.064.2.tar.gz 963131 BLAKE2B a7cf0d43a1cd531722bda717882a34e01c0186f0832a12064bf0600aede0a0913190724011f0b13c76cf794434e1c82490f48e9fda66409aa2820adc7c8a40f9 SHA512 a1284955764385539dcd8949cd851100af9be47908e85d8cfd897d6409903763919dc082fc0ca88fbaaf49647168357656aee82717a375ed45407eb15ccd44cf DIST dlang.org-2.065.0.tar.gz 1005429 BLAKE2B 01fc8ec0c5148f910e2923be556208c08a18f00453ffa1f1a22d6725db6489b6f9022cd170caa3a05078baddde353ee819984da5efa53547e78006d2f0a97b9c SHA512 0fb185603766b54c3b9dc57824b18ec7ea9f37281610729860543630f4546591f9523bff48eee5414235d2ee656201c444e6d2efc44ba66a052b98a0d9b4729e DIST
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: e003cbcab41e39e82bfcf6bd3bb055c1a2bf2986 Author: Horodniceanu Andrei protonmail com> AuthorDate: Mon Sep 4 17:10:24 2023 + Commit: Marco Leise gmx de> CommitDate: Mon Sep 4 17:13:40 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=e003cbca dmd.eclass: respect CC Signed-off-by: Horodniceanu Andrei protonmail.com> eclass/dmd.eclass | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index ad99b43..16f926a 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -194,11 +194,18 @@ dmd_src_compile() { fi compile_libraries() { + local mymakeargs=( + DMD="../$(dmd_gen_exe_dir)/dmd" + MODEL="${MODEL}" + PIC=1 + CC="$(tc-getCC)" + ) + einfo 'Building druntime...' - emake -C druntime -f posix.mak DMD="../$(dmd_gen_exe_dir)/dmd" MODEL=${MODEL} PIC=1 MANIFEST= + emake -C druntime -f posix.mak "${mymakeargs[@]}" MANIFEST= einfo 'Building Phobos 2...' - emake -C phobos -f posix.mak DMD="../$(dmd_gen_exe_dir)/dmd" MODEL=${MODEL} PIC=1 CUSTOM_DRUNTIME=1 + emake -C phobos -f posix.mak "${mymakeargs[@]}" CUSTOM_DRUNTIME=1 } dmd_foreach_abi compile_libraries
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 52fbe825e5cd9252ce80e3297aebc9805ec5f57d Author: Horodniceanu Andrei protonmail com> AuthorDate: Tue Jan 24 13:47:52 2023 + Commit: Marco Leise gmx de> CommitDate: Fri Sep 1 21:12:51 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=52fbe825 dmd.eclass: die if the build script fails Signed-off-by: Horodniceanu Andrei protonmail.com> eclass/dmd.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 008cbbf..ad99b43 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -181,7 +181,7 @@ dmd_src_compile() { einfo "Building dmd build script..." DC="${DMD}" dlang_compile_bin dmd/generated/build dmd/src/build.d einfo "Building dmd..." - env VERBOSE=1 ${HOST_DMD}="${DMD}" CXX="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO} dmd/generated/build DFLAGS="$(dlang_dmdw_dcflags)" dmd + env VERBOSE=1 ${HOST_DMD}="${DMD}" CXX="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO} dmd/generated/build DFLAGS="$(dlang_dmdw_dcflags)" dmd || die else einfo "Building dmd..." emake -C dmd/src -f posix.mak TARGET_CPU=X86 ${HOST_DMD}="${DMD}" ${HOST_CXX}="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO}
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: c4612259e75b37bc013ce7adba21df5c86516a50 Author: Horodniceanu Andrei protonmail com> AuthorDate: Tue Jan 24 13:39:55 2023 + Commit: Marco Leise gmx de> CommitDate: Fri Sep 1 21:12:42 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=c4612259 dmd.eclass: Fix SRC_URI for beta and rc versions Signed-off-by: Horodniceanu Andrei protonmail.com> eclass/dmd.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 47fc51a..008cbbf 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -92,7 +92,8 @@ fi EXPORT_FUNCTIONS src_prepare src_compile src_test src_install pkg_postinst pkg_postrm if [[ -n "${BETA}" ]]; then - SRC_URI="http://downloads.dlang.org/pre-releases/${MAJOR}.x/${VERSION}/${PN}.${VERSION}-b${BETA:4}.${ARCHIVE}; + # We want to convert a Gentoo version string to an upstream one: 2.097.0_rc1 -> 2.097.0-rc.1 + SRC_URI="http://downloads.dlang.org/pre-releases/${MAJOR}.x/${VERSION}/${PN}.$(ver_rs 3 "-" 4 ".").${ARCHIVE}" else SRC_URI="mirror://aws/${YEAR}/${PN}.${PV}.${ARCHIVE}" fi
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: a1be7a24454f9e4985157de636f3fe61f29197b6 Author: Horodniceanu Andrei protonmail com> AuthorDate: Mon Aug 21 13:33:07 2023 + Commit: Marco Leise gmx de> CommitDate: Thu Aug 31 21:07:01 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=a1be7a24 dmd.eclass: Properly assign DC when not selfhosting Signed-off-by: Horodniceanu Andrei protonmail.com> eclass/dmd.eclass | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 47fc51a..e5129e8 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -159,7 +159,7 @@ dmd_src_compile() { dmd_ge 2.081 && ENABLE_RELEASE="ENABLE_RELEASE" || ENABLE_RELEASE="RELEASE" # Special case for self-hosting (i.e. no compiler USE flag selected). - local kernel model + local kernel model actual_compiler if [ "${DC_VERSION}" == "selfhost" ]; then case "${KERNEL}" in "linux") kernel="linux";; @@ -175,10 +175,14 @@ dmd_src_compile() { if ! dmd_ge 2.094; then export DMD="../../${DMD}" fi + actual_compiler="${S}/${DMD}" + else + # Not selfhosting, leave the compiler variable unchanged + actual_compiler="${DC}" fi if dmd_ge 2.094; then einfo "Building dmd build script..." - DC="${DMD}" dlang_compile_bin dmd/generated/build dmd/src/build.d + DC="${actual_compiler}" dlang_compile_bin dmd/generated/build dmd/src/build.d einfo "Building dmd..." env VERBOSE=1 ${HOST_DMD}="${DMD}" CXX="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO} dmd/generated/build DFLAGS="$(dlang_dmdw_dcflags)" dmd else
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 2adabe76d14583809ed58fceec03bdee9d4a194a Author: Horodniceanu Andrei protonmail com> AuthorDate: Thu Aug 10 06:13:24 2023 + Commit: Marco Leise gmx de> CommitDate: Thu Aug 10 06:16:13 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=2adabe76 dmd.eclass: specify compiler path when selfhosting Signed-off-by: Horodniceanu Andrei protonmail.com> eclass/dmd.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index f972961..47fc51a 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -178,7 +178,7 @@ dmd_src_compile() { fi if dmd_ge 2.094; then einfo "Building dmd build script..." - dlang_compile_bin dmd/generated/build dmd/src/build.d + DC="${DMD}" dlang_compile_bin dmd/generated/build dmd/src/build.d einfo "Building dmd..." env VERBOSE=1 ${HOST_DMD}="${DMD}" CXX="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO} dmd/generated/build DFLAGS="$(dlang_dmdw_dcflags)" dmd else
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 9e1a32ae03e9dd8798a95c6aab5953cd74646bdc Author: Marco Leise gmx de> AuthorDate: Sat Jul 22 14:09:43 2023 + Commit: Marco Leise gmx de> CommitDate: Sat Jul 22 14:09:43 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=9e1a32ae Fixed pkgcheck documentation errors. Signed-off-by: Marco Leise gmx.de> eclass/dlang-compilers.eclass | 9 eclass/dlang.eclass | 111 +- eclass/dmd.eclass | 22 + 3 files changed, 107 insertions(+), 35 deletions(-) diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index 5d1c924..59ace86 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -8,6 +8,15 @@ if [[ ${_ECLASS_ONCE_DLANG_COMPILERS} != "recur -_+^+_- spank" ]] ; then _ECLASS_ONCE_DLANG_COMPILERS="recur -_+^+_- spank" +# @FUNCTION: dlang-compilers_declare_versions +# @DESCRIPTION: +# Exports an associative array of all available Dlang compiler versions and their corresponding language support as well +# as the list of stable and unstable keywords. The language support is basically the DMD front-end version that the +# compiler is based on. For DMD it will be the same as the compiler version, while for GDC and LDC2 it will differ. +# The keywords are required, because we offer many compilers to be used for Dlang packages and pull them in as build +# time dependencies. A stable package cannot depend on an unstable package though, so short of manually looking for +# KEYWORDS in compiler ebuilds we just keep them up-to-date here. GDC in particular needs constant attention as +# architectures get markes stable all the time. dlang-compilers_declare_versions() { declare -gA _dlang_dmd_frontend declare -gA _dlang_gdc_frontend diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index 751dde4..b86f3bc 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -20,6 +20,15 @@ # and RDEPEND for Dlang compilers based on above variables. The ebuild is responsible # for providing them as required by the function it uses from this eclass. +# @ECLASS_VARIABLE: DLANG_COMPILER_USE +# @DESCRIPTION: +# Holds the active Dlang compiler for an application as a USE flag to be passed on to depencencies (libraries). +# Using this variable one can ensure that all required libraries must be compiled with the same compiler. + +# @ECLASS_VARIABLE: DLANG_IMPORT_DIR +# @DESCRIPTION: +# The path that is used to install include files. A sub-directory specific to the package should be used. + if [[ ${_ECLASS_ONCE_DLANG} != "recur -_+^+_- spank" ]] ; then _ECLASS_ONCE_DLANG="recur -_+^+_- spank" @@ -66,8 +75,6 @@ dlang-compilers_declare_versions # as a prefix for a single argument that should be passed to the linker. # dmd: -L, gdc: -Xlinker, ldc: -L= # DLANG_LIB_DIR: The compiler and compiler version specific library directory. -# DLANG_IMPORT_DIR: This is actually set globally. Place includes in a -# sub-directory. dlang_foreach_config() { debug-print-function ${FUNCNAME} "${@}" @@ -96,8 +103,9 @@ dlang_foreach_config() { multibuild_foreach_variant multibuild_wrapper "${@}" } -export DLANG_IMPORT_DIR="usr/include/dlang" - +# @FUNCTION: dlang_single_config +# @DESCRIPTION: +# Wrapper for build phases when only a single build configuraion is used. See `dlang_foreach_config()` for more details. dlang_single_config() { debug-print-function ${FUNCNAME} "${@}" @@ -106,6 +114,7 @@ dlang_single_config() { _dlang_use_build_vars "${@}" } +export DLANG_IMPORT_DIR="usr/include/dlang" # @FUNCTION: dlang_src_prepare # @DESCRIPTION: @@ -306,24 +315,25 @@ declare -a _dlang_compiler_iuse declare -a _dlang_compiler_iuse_mask declare -a _dlang_depends +# @FUNCTION: _dlang_compiler_masked_archs_for_version_range +# @DESCRIPTION: +# Given a Dlang compiler represented through an IUSE flag (e.g. "ldc2-1_1") +# and DEPEND atom (e.g. "dev-lang/ldc2:1.1="), this function tests if the +# current ebuild can depend and thus be compiled with that compiler on +# one or more architectures. +# A compiler that is less stable than the current ebuild for all +# architectures, is dropped completely. A compiler that disqualifies +# for only some, but not all architectures, on the other hand, is disabled +# though REQUIRED_USE (e.g. "!amd64? ( ldc2-1_1? ( dev-lang/ldc2:1.1= ) )"). +# Available compilers are accumulated in the _dlang_compiler_iuse array, +# which is later turned into the IUSE variable. +# Partially available compilers are additionally masked out for particular +# architectures by adding them to the _dlang_compiler_iuse_mask array, +# which is later appended to REQUIRED_USE. +# Finally, the _dlang_depends array receives the USE-flag enabled +# dependencies on Dlang compilers, which is later turned into DEPEND and +# RDEPEND. _dlang_compiler_masked_archs_for_version_range() { - #
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 1d86b0bbaccf420383f7e38fba23b82bc07334ff Author: Marco Leise gmx de> AuthorDate: Sat Jul 22 12:39:43 2023 + Commit: Marco Leise gmx de> CommitDate: Sat Jul 22 12:47:42 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=1d86b0bb Fixed pkgcheck EclassReservedName errors, mostly symbols starting with two underscores. Signed-off-by: Marco Leise gmx.de> eclass/dlang-compilers.eclass | 16 ++--- eclass/dlang.eclass | 136 +- eclass/dmd.eclass | 4 +- 3 files changed, 78 insertions(+), 78 deletions(-) diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index a42496b..5d1c924 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -5,16 +5,16 @@ # @DESCRIPTION: # Contains the available D compiler versions with their stable archs. -if [[ ${___ECLASS_ONCE_DLANG_COMPILERS} != "recur -_+^+_- spank" ]] ; then -___ECLASS_ONCE_DLANG_COMPILERS="recur -_+^+_- spank" +if [[ ${_ECLASS_ONCE_DLANG_COMPILERS} != "recur -_+^+_- spank" ]] ; then +_ECLASS_ONCE_DLANG_COMPILERS="recur -_+^+_- spank" dlang-compilers_declare_versions() { - declare -gA __dlang_dmd_frontend - declare -gA __dlang_gdc_frontend - declare -gA __dlang_ldc2_frontend + declare -gA _dlang_dmd_frontend + declare -gA _dlang_gdc_frontend + declare -gA _dlang_ldc2_frontend # DMD - __dlang_dmd_frontend=( + _dlang_dmd_frontend=( ["2.064"]="2.064 x86 amd64" ["2.065"]="2.065 x86 amd64" ["2.066"]="2.066 x86 amd64" @@ -54,7 +54,7 @@ dlang-compilers_declare_versions() { ) # GDC (hppa, sparc: masked "d" USE-flag) - __dlang_gdc_frontend=( + _dlang_gdc_frontend=( ["11.3.1_p20221209"]="2.076 ~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" ["11.3.1_p20230120"]="2.076 ~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" ["11.3.1_p20230303"]="2.076 ~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" @@ -63,7 +63,7 @@ dlang-compilers_declare_versions() { ) # LDC - __dlang_ldc2_frontend=( + _dlang_ldc2_frontend=( ["1.29"]="2.099 amd64 ~arm ~arm64 ~ppc64 x86" ["1.30"]="2.100 ~amd64 ~arm ~arm64 ~ppc64 ~x86" ) diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index f9f8072..751dde4 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -20,8 +20,8 @@ # and RDEPEND for Dlang compilers based on above variables. The ebuild is responsible # for providing them as required by the function it uses from this eclass. -if [[ ${___ECLASS_ONCE_DLANG} != "recur -_+^+_- spank" ]] ; then -___ECLASS_ONCE_DLANG="recur -_+^+_- spank" +if [[ ${_ECLASS_ONCE_DLANG} != "recur -_+^+_- spank" ]] ; then +_ECLASS_ONCE_DLANG="recur -_+^+_- spank" if has ${EAPI:-0} 0 1 2 3 4 5; then die "EAPI must be >= 6 for dlang packages." @@ -71,7 +71,7 @@ dlang-compilers_declare_versions dlang_foreach_config() { debug-print-function ${FUNCNAME} "${@}" - local MULTIBUILD_VARIANTS=($(__dlang_build_configurations)) + local MULTIBUILD_VARIANTS=($(_dlang_build_configurations)) multibuild_wrapper() { debug-print-function ${FUNCNAME} "${@}" @@ -79,17 +79,17 @@ dlang_foreach_config() { # We need to reset CC, else when dmd calls it, the result is: # "x86_64-pc-linux-gnu-gcc -m32": No such file or directory if [[ -v CC ]]; then - local __ORIGINAL_CC="${CC}" + local _ORIGINAL_CC="${CC}" fi multilib_toolchain_setup "${ABI}" - if [[ -v __ORIGINAL_CC ]]; then - CC="${__ORIGINAL_CC}" + if [[ -v _ORIGINAL_CC ]]; then + CC="${_ORIGINAL_CC}" else unset CC fi mkdir -p "${BUILD_DIR}" || die pushd "${BUILD_DIR}" >/dev/null || die - __dlang_use_build_vars "${@}" + _dlang_use_build_vars "${@}" popd >/dev/null || die } @@ -101,9 +101,9 @@ export DLANG_IMPORT_DIR="usr/include/dlang" dlang_single_config() { debug-print-function ${FUNCNAME} "${@}" - local MULTIBUILD_VARIANT=$(__dlang_build_configurations) + local MULTIBUILD_VARIANT=$(_dlang_build_configurations) - __dlang_use_build_vars "${@}" + _dlang_use_build_vars "${@}" } @@ -116,25 +116,25 @@ dlang_src_prepare() { default_src_prepare if [[ "${DLANG_PACKAGE_TYPE}" == "multi" ]]; then - local MULTIBUILD_VARIANTS=($(__dlang_build_configurations)) + local
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 140bf7a1cb7eae744bc7a12485e89304548b2e00 Author: Marco Leise gmx de> AuthorDate: Sat Jul 22 11:35:13 2023 + Commit: Marco Leise gmx de> CommitDate: Sat Jul 22 11:35:13 2023 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=140bf7a1 pkgcheck: Fixed @MAINTAINER paragraphs formatting. Signed-off-by: Marco Leise gmx.de> eclass/dlang-compilers.eclass | 3 ++- eclass/dlang.eclass | 3 ++- eclass/dmd.eclass | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index a872872..6882c16 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -1,5 +1,6 @@ # @ECLASS: dlang-compilers.eclass -# @MAINTAINER: marco.le...@gmx.de +# @MAINTAINER: +# Marco Leise # @BLURB: Support data for dlang.eclass # @DESCRIPTION: # Contains the available D compiler versions with their stable archs. diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index 5c86088..0d313db 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -1,5 +1,6 @@ # @ECLASS: dlang.eclass -# @MAINTAINER: marco.le...@gmx.de +# @MAINTAINER: +# Marco Leise # @BLURB: install D libraries in multiple locations for each D version and compiler # @DESCRIPTION: # The dlang eclass faciliates creating dependiencies on D libraries for use diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 55f62e8..c9b3adf 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -1,5 +1,6 @@ # @ECLASS: dmd.eclass -# @MAINTAINER: marco.le...@gmx.de +# @MAINTAINER: +# Marco Leise # @BLURB: Captures most of the logic for installing DMD # @DESCRIPTION: # Helps with the maintenance of the various DMD versions by capturing common
[gentoo-commits] repo/user/dlang:master commit in: eclass/, profiles/
commit: 655270085d33b7b3b166df4d5ef5086121cab380 Author: Horodniceanu Andrei protonmail com> AuthorDate: Sun Oct 9 15:56:46 2022 + Commit: Marco Leise gmx de> CommitDate: Sun Oct 9 15:56:46 2022 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=65527008 Fix dlang-compilers.eclass keyword mismatch, remove obsolete dmd-2_063 reference. Signed-off-by: Horodniceanu Andrei protonmail.com> eclass/dlang-compilers.eclass | 6 +++--- profiles/use.desc | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index 7ae7285..a872872 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -47,9 +47,9 @@ dlang-compilers_declare_versions() { ["2.094"]="2.094 x86 amd64" ["2.095"]="2.095 x86 amd64" ["2.096"]="2.096 x86 amd64" - ["2.097"]="2.097 ~x86 ~amd64" - ["2.098"]="2.098 ~x86 ~amd64" - ["2.099"]="2.099 ~x86 ~amd64" + ["2.097"]="2.097 x86 amd64" + ["2.098"]="2.098 x86 amd64" + ["2.099"]="2.099 x86 amd64" ) # GDC (hppa, sparc: masked "d" USE-flag) diff --git a/profiles/use.desc b/profiles/use.desc index d9c78c3..f8d195d 100644 --- a/profiles/use.desc +++ b/profiles/use.desc @@ -1,4 +1,3 @@ -dmd-2_063 - Build for DMD 2.063 dmd-2_064 - Build for DMD 2.064 dmd-2_065 - Build for DMD 2.065 dmd-2_066 - Build for DMD 2.066
[gentoo-commits] repo/user/dlang:master commit in: eclass/, profiles/, dev-util/gdmd/
commit: 72ca12b107ee7021e18a382617520205d2ba1211 Author: Horodniceanu Andrei protonmail com> AuthorDate: Mon Jul 18 16:27:56 2022 + Commit: Marco Leise gmx de> CommitDate: Mon Jul 18 16:44:17 2022 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=72ca12b1 Add gdc.11.3.0 Signed-off-by: Horodniceanu Andrei protonmail.com> dev-util/gdmd/gdmd-11.3.0.ebuild | 27 +++ eclass/dlang-compilers.eclass| 1 + profiles/use.desc| 1 + 3 files changed, 29 insertions(+) diff --git a/dev-util/gdmd/gdmd-11.3.0.ebuild b/dev-util/gdmd/gdmd-11.3.0.ebuild new file mode 100644 index 000..0d5b47f --- /dev/null +++ b/dev-util/gdmd/gdmd-11.3.0.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Wrapper script for gdc that emulates the dmd command" +HOMEPAGE="https://www.gdcproject.org/; +LICENSE="GPL-3+" + +SLOT="${PV}" +KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 x86" +RDEPEND="=sys-devel/gcc-${PV}*[d]" +RELEASE="0.1.0" +SRC_URI="https://codeload.github.com/D-Programming-GDC/gdmd/tar.gz/script-${RELEASE} -> gdmd-${RELEASE}.tar.gz" +PATCHES="${FILESDIR}/${PN}-no-dmd-conf.patch" +S="${WORKDIR}/gdmd-script-${RELEASE}" + +src_compile() { + : +} + +src_install() { + local binPath="usr/${CHOST}/gcc-bin/${PV}" + exeinto "${binPath}" + newexe dmd-script "${CHOST}-gdmd" + ln -f "${D}/${binPath}/${CHOST}-gdmd" "${D}/${binPath}/gdmd" || die "Could not create 'gdmd' hardlink" +} diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index 1fa07bf..53eac98 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -55,6 +55,7 @@ dlang-compilers_declare_versions() { # GDC (hppa, sparc: masked "d" USE-flag) __dlang_gdc_frontend=( ["11.2.1"]="2.076 amd64 arm arm64 ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 x86" + ["11.3.0"]="2.076 ~alpha amd64 arm arm64 ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 x86" ) # LDC diff --git a/profiles/use.desc b/profiles/use.desc index d4da5ed..20b3a65 100644 --- a/profiles/use.desc +++ b/profiles/use.desc @@ -36,6 +36,7 @@ dmd-2_097 - Build for DMD 2.097 dmd-2_098 - Build for DMD 2.098 dmd-2_099 - Build for DMD 2.099 gdc-11_2_1 - Build for GCC 11.2.1 +gdc-11_3_0 - Build for GCC 11.3.0 ldc2-1_25 - Build for ldc2 1.25 ldc2-1_26 - Build for ldc2 1.26 ldc2-1_27 - Build for ldc2 1.27
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: 675421df42f5689e496af2b54dd2b20c2804af3a Author: Horodniceanu Andrei protonmail com> AuthorDate: Fri Jul 22 11:20:23 2022 + Commit: Marco Leise gmx de> CommitDate: Fri Jul 22 11:20:23 2022 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=675421df Improve dmd.eclass support for gdc Signed-off-by: Horodniceanu Andrei protonmail.com> eclass/dlang.eclass | 31 +++ eclass/dmd.eclass | 6 -- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index 80dea3a..5c86088 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -234,6 +234,37 @@ dlang_convert_ldflags() { fi } +# @FUNCTION: dlang_dmdw_dcflags +# @DESCRIPTION: +# Convertes compiler specific $DCFLAGS to something that can be passed to the +# dmd wrapper of said compiler. Calls `die` if the flags could not be +# converted. +dlang_dmdw_dcflags() { + if [[ "${DLANG_VENDOR}" == "DigitalMars" ]]; then + # There's no translation that needs to be done. + echo "${DCFLAGS}" + elif [[ "${DLANG_VENDOR}" == "LDC" ]]; then + # ldmd2 passes all the arguments that it doesn't understand to ldc2. + echo "${DCFLAGS}" + elif [[ "${DLANG_VENDOR}" == "GNU" ]]; then + # From `gdmd --help`: -q,arg1,...pass arg1, arg2, etc. to gdc + if [[ "${DCFLAGS}" =~ .*,.* ]]; then + eerror "DCFLAGS (${DCFLAGS}) contain a comma and can not be passed to gdmd." + eerror "Please remove the comma, use a different compiler, or call gdc directly." + die "DCFLAGS contain an unconvertable comma." + fi + + local set flags=() + for set in ${DCFLAGS}; do + flags+=("-q,${set}") + done + echo "${flags[@]}" + else + die "Set DLANG_VENDOR to DigitalMars, LDC or GNU prior to calling ${FUNCNAME}()." + fi +} + + # @FUNCTION: dlang_system_imports # @DESCRIPTION: # Returns a list of standard system import paths (one per line) for the current diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass index 3215f00..55f62e8 100644 --- a/eclass/dmd.eclass +++ b/eclass/dmd.eclass @@ -103,6 +103,8 @@ dmd_src_prepare() { ln -s ../druntime src/druntime || die "Failed to symlink 'druntime' to 'src/druntime'" ln -s ../phobos src/phobos || die "Failed to symlink 'phobos' to 'src/phobos'" + mkdir dmd/generated || die "Could not create output directory" + # 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." @@ -153,9 +155,9 @@ dmd_src_compile() { fi if dmd_ge 2.094; then einfo "Building dmd build script..." - DC="${DMD}" dlang_compile_bin dmd/generated/build dmd/src/build.d + dlang_compile_bin dmd/generated/build dmd/src/build.d einfo "Building dmd..." - env VERBOSE=1 ${HOST_DMD}="${DMD}" CXX="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO} dmd/generated/build dmd + env VERBOSE=1 ${HOST_DMD}="${DMD}" CXX="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO} dmd/generated/build DFLAGS="$(dlang_dmdw_dcflags)" dmd else einfo "Building dmd..." emake -C dmd/src -f posix.mak TARGET_CPU=X86 ${HOST_DMD}="${DMD}" ${HOST_CXX}="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO}
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-util/dlang-tools/, profiles/, dev-lang/dmd/
commit: 683d126c2089cedd0beddb50eda0473ef1babd03 Author: Horodniceanu Andrei protonmail com> AuthorDate: Mon Jun 20 12:24:56 2022 + Commit: Marco Leise gmx de> CommitDate: Mon Jun 20 12:24:56 2022 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=683d126c dmd-2.098.1 Signed-off-by: Horodniceanu Andrei protonmail.com> dev-lang/dmd/Manifest | 1 + dev-lang/dmd/dmd-2.098.1.ebuild | 14 +++ dev-util/dlang-tools/Manifest | 1 + dev-util/dlang-tools/dlang-tools-2.098.1.ebuild | 54 + eclass/dlang-compilers.eclass | 1 + profiles/use.desc | 1 + 6 files changed, 72 insertions(+) diff --git a/dev-lang/dmd/Manifest b/dev-lang/dmd/Manifest index 18578bb..12596ca 100644 --- a/dev-lang/dmd/Manifest +++ b/dev-lang/dmd/Manifest @@ -32,4 +32,5 @@ DIST dmd.2.094.2.linux.tar.xz 22232888 BLAKE2B ba3116f3a9fd9516cd1ac792f950d4ba6 DIST dmd.2.095.1.linux.tar.xz 22602160 BLAKE2B 874f28ab25b486c68707c4b8723ace3be5507162ce36a6c69550b3202b7deeab448bcc5b72e7492a20f9dd01648ed174506baf7460a26cf572db710e62cbf892 SHA512 5bb25551d6e2e9456225d00d9c082db1464e2ebf238f5781abb18daf29d42e62591603b0a044d9f63ddd0407e908f86c370806610d427c5cd7a100f8fbc74cee DIST dmd.2.096.1.linux.tar.xz 22825496 BLAKE2B 2a7973aaa9c713bfd29e783b459c97f6b6a68e2ce5d0674477997236f15b623ce45517c0ff59e33252e69aa3a70862ca0ec5cb7d077a050dddffef26fda02106 SHA512 de6d291f0abdd9a504522d0094a8d20beb94f6a8bd2c2b92d90267b5494ccd11f8df436b7c4ecc00d56cea0bdbb09d02376c8453e08c636ca92af38ca8fa0dbe DIST dmd.2.097.2.linux.tar.xz 23260840 BLAKE2B 9f19a396ca468806bde4c4af855f233b259fbb07f4b0172526aca4da1a22e6581f709b3c193d9cce237661d54d9f80932b5b6d3e2d0de650f05185fcd04befaf SHA512 743c3cec56e596941e9e9c5f13e1e9001fd4e447dc2ca5c8e0be825db6dc6465b939dd02fbd1826201a9039f262d667087e6b58a8e3fe82d584aec90988a411c +DIST dmd.2.098.1.linux.tar.xz 23790368 BLAKE2B 12edf0e14af17bae1ca728bad47b9858eaf0c94e74b3fdd5158e9e083bad22c4241573ec07163bc70f7f7c2c735635b1d4779425b65401124d1d2200d2a27b02 SHA512 7f4838d2c82284c595c6f7cd3919e6c696862e6dc8b84ec6ac76ea06e11d449f6f80e9821fcb3df7184368fc905dbe473b276eb31438a84da0bf220beb1340be DIST dmd.2.099.1.linux.tar.xz 21846416 BLAKE2B e5c3baa981af46ce980c80c42729a2db99a44d3f8f464a711c299c0d7c2354c6ba8d607b57a7f6d79d7a99793cd727f1f7e9fd33c49517ea5c9783efcda00518 SHA512 20fbf33dae8e79d07993ca2b1032e86db40dd21e06dcca2ed3f7cfa8921ba25799e0dc534f989ca535d274f2984f7873a186227854d54c21aadfdd671febc43d diff --git a/dev-lang/dmd/dmd-2.098.1.ebuild b/dev-lang/dmd/dmd-2.098.1.ebuild new file mode 100644 index 000..8ba1c00 --- /dev/null +++ b/dev-lang/dmd/dmd-2.098.1.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +KEYWORDS="-* ~amd64 ~x86" +YEAR=2021 +DLANG_VERSION_RANGE="2.076-2.080 2.082 2.084-2.098" + +inherit dmd + +PATCHES=( + "${FILESDIR}/2.097-link-32-bit-shared-lib-with-ld.bfd.patch" +) diff --git a/dev-util/dlang-tools/Manifest b/dev-util/dlang-tools/Manifest index 52c4f3b..50a5a28 100644 --- a/dev-util/dlang-tools/Manifest +++ b/dev-util/dlang-tools/Manifest @@ -32,6 +32,7 @@ DIST dlang-tools-2.094.2.tar.gz 118427 BLAKE2B a590f5e5490e3f51b55a9bd4018d38ea0 DIST dlang-tools-2.095.1.tar.gz 129274 BLAKE2B fd1fa3615d676f8f6b05892871d1e8786f9bac160eab799b01b7740db59a89cc14ad229125de04d7878935a8c6c5166c0d7711feba3d1096b6e03b73361ae1f4 SHA512 176d55bcdc99fc56c236f44c7a32d75dd2ca8a7ea3dc635ebe949f64d1fc4a6f7e4e61c342e94ff0d3431df9cc4c16b73133a40d013774e1d6406b4e51b19567 DIST dlang-tools-2.096.1.tar.gz 129294 BLAKE2B 830dc185db7176fef179831214195901c5324cc3ae4ccb7f4b60d1f303b688acf13075bf810874272ccb72ea9b19f02805baccf7ec1cd4ff4c5080264bd8697c SHA512 b25a9180faab99d31cc9a2909d699bbcfb1aa9be0f393f7c691977932d09e84d3b162a385df7318aab41dc2e671f1c38fe746c77654a8042cdbae515b273f5c6 DIST dlang-tools-2.097.2.tar.gz 129531 BLAKE2B ac1ad83e2e0f8fe715acd78eb13a7562533aea1792ec667c14ace3cf9cf4cc88b549d995671061d211b5d6c2137f6e563ec937222e964ca73764512a67b19607 SHA512 c4a237acee21db38b0dc22cb51afd893ebf102ff8e190eb52e2e0cee5b85cfa0644e7d4547d950f55044deca8651c261e84a4629ac6958b9a4b4b47343ee38d1 +DIST dlang-tools-2.098.1.tar.gz 129699 BLAKE2B b7902b2cdcb6f9bbf6e71356cfdaaf8e3cbd05125818b13b10357226745065034cccf20618307f4a9a57ad5a35f4ba170ce7c184967e8c795546b8030bbe4f26 SHA512 a7e96cb38c95d910307c0fefa3840f8315799d4713e6c7ec591bd37863683962aede4359c7114b715a760b438df540dfc42e8da8394b1f4c892384e21fe7575e DIST dlang-tools-2.099.1.tar.gz 129867 BLAKE2B 6f37d08921a1532a7d5875df99e4037fb52a5ac59585bbc98d09d225afd2ce564963cc30f1ebaad093238ca758d7db2a874f9aa357fe23dce6a9a6c9ebcb6d21 SHA512 68cde8853bac2f3c92a2fbbe3f658e29b475bea2aeb5f5ffb96f2b3e85aca693b1d14c8fa248bad882461e55957c1de5cba9ac7a02b3a28be070e4869b6a4171 DIST dlang.org-2.064.2.tar.gz 963131
[gentoo-commits] repo/user/dlang:master commit in: eclass/, profiles/, dev-lang/ldc2/
commit: 3d8947b7b7dbbd4687300c8c0834571089042c85 Author: Niko Böckerman protonmail com> AuthorDate: Thu Feb 3 20:54:45 2022 + Commit: Marco Leise gmx de> CommitDate: Mon Feb 7 18:24:58 2022 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=3d8947b7 ldc2-1.27.1 Signed-off-by: Niko Böckerman protonmail.com> dev-lang/ldc2/Manifest | 1 + dev-lang/ldc2/ldc2-1.27.1.ebuild | 82 eclass/dlang-compilers.eclass| 1 + profiles/use.desc| 1 + 4 files changed, 85 insertions(+) diff --git a/dev-lang/ldc2/Manifest b/dev-lang/ldc2/Manifest index 4767a40..d087c64 100644 --- a/dev-lang/ldc2/Manifest +++ b/dev-lang/ldc2/Manifest @@ -1,3 +1,4 @@ DIST ldc-1.24.0-src.tar.gz 7522065 BLAKE2B 65069835528466c4a39ebf08245fa7fcc9348ee620bab933d23157af0702c0ac4f5b3c1692b1eff83ba81ba2b8be6f086935527585c55e1ecb4ea42f965befe6 SHA512 c6f06d80617e5f7789f9e0e349a21e380d0bb6898983f0c2e2aaaec32e23ea0f69c039b6f0c03b8015782b837c890a6ff1051bfa332a6af7c79fc3479446dfb1 DIST ldc-1.25.1-src.tar.gz 7625687 BLAKE2B 02eacb06c334608d4b649d8fdffdef03cd1645a2d237063c888728c840a8c939df1c1ff9aefe3efab395358a7757dd287d1efa7a704b37f0b2661c8c1b5faaca SHA512 a087f48ec8f559eea17f88f9c00893c84db17bfcb10590011f43d6d1573a30286067207133ad6d249897fe51cb22829c2ddf00bf23210f01aa059b1f87790fae DIST ldc-1.26.0-src.tar.gz 7650063 BLAKE2B d132dc842e27a93fc76810e17db1d67f856530ca7e6948c795ec5f943e4be32513b4a956aa9217df4acd45806bc81ff855ebab757aa3f6a1943fa7c394b3e3ce SHA512 7bb2aa464f5ba834c07f67743f4af01db6588d56611d6c9e250a6908ebe93a0dcd9d3a79f8f252fc92eeb4826bfa62de6c51c4db03ff80e60a8d993e4451f573 +DIST ldc-1.27.1-src.tar.gz 7742031 BLAKE2B d459d70e6745930aca1293cf17ec186526393ce3ff3888c0aad3781f215ed53d6a44a08e3a1bc69e91ba0b039c443e277a0b526e7054e18445e074be1de12e87 SHA512 d10118c9c52a26510f3f9d8d93b38f89144aca7b861ef663e807df0bcf1bb3bc12d1410e6617891e58a3f2cfe160e31bb8478bb1f39f79d026c97ce7e72a9f65 diff --git a/dev-lang/ldc2/ldc2-1.27.1.ebuild b/dev-lang/ldc2/ldc2-1.27.1.ebuild new file mode 100644 index 000..a68973a --- /dev/null +++ b/dev-lang/ldc2/ldc2-1.27.1.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build cmake llvm + +MY_PV="${PV//_/-}" +MY_P="ldc-${MY_PV}-src" +SRC_URI="https://github.com/ldc-developers/ldc/releases/download/v${MY_PV}/${MY_P}.tar.gz; +S=${WORKDIR}/${MY_P} + +DESCRIPTION="LLVM D Compiler" +HOMEPAGE="https://github.com/ldc-developers/ldc; +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +LICENSE="BSD" +SLOT="$(ver_cut 1-2)/$(ver_cut 3)" + +IUSE="static-libs" + +# We support LLVM 6.0 through 10. +RDEPEND="dev-util/ninja + || ( + sys-devel/llvm:11 + sys-devel/llvm:12 + ) + =app-eselect/eselect-dlang-20140709" +DEPEND="${RDEPEND}" +LLVM_MAX_SLOT=12 +PATCHES="${FILESDIR}/ldc2-1.15.0-link-defaultlib-shared.patch" + +# For now, we support amd64 multilib. Anyone is free to add more support here. +MULTILIB_COMPAT=( abi_x86_{32,64} ) + +DLANG_VERSION_RANGE="2.075-" +DLANG_PACKAGE_TYPE="single" + +inherit dlang + +detect_hardened() { + gcc --version | grep -o Hardened +} + +src_prepare() { + cmake_src_prepare +} + +d_src_configure() { + # Make sure libphobos2 is installed into ldc2's directory. + export LIBDIR_${ABI}="${LIBDIR_HOST}" + local mycmakeargs=( + -DD_VERSION=2 + -DCMAKE_INSTALL_PREFIX=/usr/lib/ldc2/$(ver_cut 1-2) + -DD_COMPILER="${DMD}" + -DLDC_WITH_LLD=OFF + ) + use static-libs && mycmakeargs+=( -DBUILD_SHARED_LIBS=BOTH ) || mycmakeargs+=( -DBUILD_SHARED_LIBS=ON ) + use abi_x86_32 && use abi_x86_64 && mycmakeargs+=( -DMULTILIB=ON ) + detect_hardened && mycmakeargs+=( -DADDITIONAL_DEFAULT_LDC_SWITCHES=' "-relocation-model=pic",' ) + cmake_src_configure +} + +d_src_compile() +{ + cmake_src_compile +} + +d_src_install() { + cmake_src_install + + rm -rf "${ED}"/usr/share/bash-completion +} + +pkg_postinst() { + # Update active ldc2 + "${ROOT}"/usr/bin/eselect dlang update ldc2 +} + +pkg_postrm() { + "${ROOT}"/usr/bin/eselect dlang update ldc2 +} diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index 8810153..ade019f 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -60,6 +60,7 @@ dlang-compilers_declare_versions() { ["1.24"]="2.094 amd64 ~arm ~arm64 ~ppc64 x86" ["1.25"]="2.095 ~amd64 ~arm ~arm64 ~ppc64 ~x86" ["1.26"]="2.096 ~amd64 ~arm ~arm64 ~ppc64 ~x86" + ["1.27"]="2.097 ~amd64 ~arm ~arm64 ~ppc64 ~x86" ) } diff --git a/profiles/use.desc b/profiles/use.desc index 94d41a5..6ae0f28 100644 --- a/profiles/use.desc +++ b/profiles/use.desc @@ -36,3 +36,4 @@ gdc-9_3_0 -
[gentoo-commits] repo/user/dlang:master commit in: eclass/, profiles/, dev-lang/ldc2/
commit: f737b97e9208279f490438dac51d22c4da7bb07b Author: Niko Böckerman protonmail com> AuthorDate: Thu Feb 3 20:55:04 2022 + Commit: Marco Leise gmx de> CommitDate: Mon Feb 7 18:26:41 2022 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=f737b97e ldc2-1.28.0 Signed-off-by: Niko Böckerman protonmail.com> dev-lang/ldc2/Manifest | 1 + dev-lang/ldc2/ldc2-1.28.0.ebuild | 82 eclass/dlang-compilers.eclass| 1 + profiles/use.desc| 1 + 4 files changed, 85 insertions(+) diff --git a/dev-lang/ldc2/Manifest b/dev-lang/ldc2/Manifest index d087c64..a8f2072 100644 --- a/dev-lang/ldc2/Manifest +++ b/dev-lang/ldc2/Manifest @@ -2,3 +2,4 @@ DIST ldc-1.24.0-src.tar.gz 7522065 BLAKE2B 65069835528466c4a39ebf08245fa7fcc9348 DIST ldc-1.25.1-src.tar.gz 7625687 BLAKE2B 02eacb06c334608d4b649d8fdffdef03cd1645a2d237063c888728c840a8c939df1c1ff9aefe3efab395358a7757dd287d1efa7a704b37f0b2661c8c1b5faaca SHA512 a087f48ec8f559eea17f88f9c00893c84db17bfcb10590011f43d6d1573a30286067207133ad6d249897fe51cb22829c2ddf00bf23210f01aa059b1f87790fae DIST ldc-1.26.0-src.tar.gz 7650063 BLAKE2B d132dc842e27a93fc76810e17db1d67f856530ca7e6948c795ec5f943e4be32513b4a956aa9217df4acd45806bc81ff855ebab757aa3f6a1943fa7c394b3e3ce SHA512 7bb2aa464f5ba834c07f67743f4af01db6588d56611d6c9e250a6908ebe93a0dcd9d3a79f8f252fc92eeb4826bfa62de6c51c4db03ff80e60a8d993e4451f573 DIST ldc-1.27.1-src.tar.gz 7742031 BLAKE2B d459d70e6745930aca1293cf17ec186526393ce3ff3888c0aad3781f215ed53d6a44a08e3a1bc69e91ba0b039c443e277a0b526e7054e18445e074be1de12e87 SHA512 d10118c9c52a26510f3f9d8d93b38f89144aca7b861ef663e807df0bcf1bb3bc12d1410e6617891e58a3f2cfe160e31bb8478bb1f39f79d026c97ce7e72a9f65 +DIST ldc-1.28.0-src.tar.gz 7923347 BLAKE2B 5381eab19ad66bfa91e27ed9085b11e6a7e202704dcd8ea6141d16fc8580c464c88fba895e1248568781059bf77c396c56e0669ca36125df948e32eaef98c9bd SHA512 3e566282175d65eb075c9c076bcf0475658c747238ed91efd350a7834d6d54760310ac5249fb74db3812c07058efbca8d726427ef39055d77b3f9a6940bf4188 diff --git a/dev-lang/ldc2/ldc2-1.28.0.ebuild b/dev-lang/ldc2/ldc2-1.28.0.ebuild new file mode 100644 index 000..a68973a --- /dev/null +++ b/dev-lang/ldc2/ldc2-1.28.0.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build cmake llvm + +MY_PV="${PV//_/-}" +MY_P="ldc-${MY_PV}-src" +SRC_URI="https://github.com/ldc-developers/ldc/releases/download/v${MY_PV}/${MY_P}.tar.gz; +S=${WORKDIR}/${MY_P} + +DESCRIPTION="LLVM D Compiler" +HOMEPAGE="https://github.com/ldc-developers/ldc; +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +LICENSE="BSD" +SLOT="$(ver_cut 1-2)/$(ver_cut 3)" + +IUSE="static-libs" + +# We support LLVM 6.0 through 10. +RDEPEND="dev-util/ninja + || ( + sys-devel/llvm:11 + sys-devel/llvm:12 + ) + =app-eselect/eselect-dlang-20140709" +DEPEND="${RDEPEND}" +LLVM_MAX_SLOT=12 +PATCHES="${FILESDIR}/ldc2-1.15.0-link-defaultlib-shared.patch" + +# For now, we support amd64 multilib. Anyone is free to add more support here. +MULTILIB_COMPAT=( abi_x86_{32,64} ) + +DLANG_VERSION_RANGE="2.075-" +DLANG_PACKAGE_TYPE="single" + +inherit dlang + +detect_hardened() { + gcc --version | grep -o Hardened +} + +src_prepare() { + cmake_src_prepare +} + +d_src_configure() { + # Make sure libphobos2 is installed into ldc2's directory. + export LIBDIR_${ABI}="${LIBDIR_HOST}" + local mycmakeargs=( + -DD_VERSION=2 + -DCMAKE_INSTALL_PREFIX=/usr/lib/ldc2/$(ver_cut 1-2) + -DD_COMPILER="${DMD}" + -DLDC_WITH_LLD=OFF + ) + use static-libs && mycmakeargs+=( -DBUILD_SHARED_LIBS=BOTH ) || mycmakeargs+=( -DBUILD_SHARED_LIBS=ON ) + use abi_x86_32 && use abi_x86_64 && mycmakeargs+=( -DMULTILIB=ON ) + detect_hardened && mycmakeargs+=( -DADDITIONAL_DEFAULT_LDC_SWITCHES=' "-relocation-model=pic",' ) + cmake_src_configure +} + +d_src_compile() +{ + cmake_src_compile +} + +d_src_install() { + cmake_src_install + + rm -rf "${ED}"/usr/share/bash-completion +} + +pkg_postinst() { + # Update active ldc2 + "${ROOT}"/usr/bin/eselect dlang update ldc2 +} + +pkg_postrm() { + "${ROOT}"/usr/bin/eselect dlang update ldc2 +} diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index ade019f..be7001b 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -61,6 +61,7 @@ dlang-compilers_declare_versions() { ["1.25"]="2.095 ~amd64 ~arm ~arm64 ~ppc64 ~x86" ["1.26"]="2.096 ~amd64 ~arm ~arm64 ~ppc64 ~x86" ["1.27"]="2.097 ~amd64 ~arm ~arm64 ~ppc64 ~x86" + ["1.28"]="2.098 ~amd64 ~arm ~arm64 ~ppc64 ~x86" ) } diff --git a/profiles/use.desc b/profiles/use.desc index 6ae0f28..218024e
[gentoo-commits] repo/user/dlang:master commit in: eclass/, profiles/
commit: e7cac6f2e7069b79de6b0120097fc2f2e1e700a1 Author: Niko Böckerman protonmail com> AuthorDate: Thu Feb 3 19:29:06 2022 + Commit: Marco Leise gmx de> CommitDate: Thu Feb 3 19:36:26 2022 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=e7cac6f2 Add ldc2 1.25 and 1.26 as possible compilers Signed-off-by: Niko Böckerman protonmail.com> eclass/dlang-compilers.eclass | 2 ++ profiles/use.desc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/eclass/dlang-compilers.eclass b/eclass/dlang-compilers.eclass index 22b3d66..f74b9a4 100644 --- a/eclass/dlang-compilers.eclass +++ b/eclass/dlang-compilers.eclass @@ -62,6 +62,8 @@ dlang-compilers_declare_versions() { ["1.22"]="2.092 amd64 ~arm ~arm64 ~ppc64 x86" ["1.23"]="2.093 amd64 ~arm ~arm64 ~ppc64 x86" ["1.24"]="2.094 amd64 ~arm ~arm64 ~ppc64 x86" + ["1.25"]="2.095 ~amd64 ~arm ~arm64 ~ppc64 ~x86" + ["1.26"]="2.096 ~amd64 ~arm ~arm64 ~ppc64 ~x86" ) } diff --git a/profiles/use.desc b/profiles/use.desc index 7aa58d7..6141d18 100644 --- a/profiles/use.desc +++ b/profiles/use.desc @@ -40,3 +40,5 @@ ldc2-1_21 - Build for ldc2 1.21 ldc2-1_22 - Build for ldc2 1.22 ldc2-1_23 - Build for ldc2 1.23 ldc2-1_24 - Build for ldc2 1.24 +ldc2-1_25 - Build for ldc2 1.25 +ldc2-1_26 - Build for ldc2 1.26
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-lang/ldc2/
commit: b4fe786e4168fdc2a4367d1f7014e446df6e9ef3 Author: Niko Böckerman protonmail com> AuthorDate: Thu Feb 3 19:30:13 2022 + Commit: Marco Leise gmx de> CommitDate: Thu Feb 3 19:36:52 2022 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=b4fe786e Remove old ldc2 versions after llvm:10 removal All versions of LLVM in slot 10 have been removed from Gentoo tree. Remove all ldc2 versions that don't support older LLVM versions. And remove llvm:10 slot support from remaining ldc2 ebuilds. Signed-off-by: Niko Böckerman protonmail.com> dev-lang/ldc2/Manifest | 4 -- dev-lang/ldc2/ldc2-1.20.1-r1.ebuild | 75 -- dev-lang/ldc2/ldc2-1.20.1-r2.ebuild | 81 - dev-lang/ldc2/ldc2-1.21.0-r1.ebuild | 75 -- dev-lang/ldc2/ldc2-1.21.0-r2.ebuild | 81 - dev-lang/ldc2/ldc2-1.22.0-r1.ebuild | 81 - dev-lang/ldc2/ldc2-1.22.0.ebuild| 75 -- dev-lang/ldc2/ldc2-1.23.0-r1.ebuild | 81 - dev-lang/ldc2/ldc2-1.23.0.ebuild| 75 -- dev-lang/ldc2/ldc2-1.24.0-r1.ebuild | 81 - dev-lang/ldc2/ldc2-1.24.0-r2.ebuild | 1 - dev-lang/ldc2/ldc2-1.24.0.ebuild| 75 -- dev-lang/ldc2/ldc2-1.25.1-r1.ebuild | 1 - dev-lang/ldc2/ldc2-1.25.1.ebuild| 81 - dev-lang/ldc2/ldc2-1.26.0-r1.ebuild | 1 - dev-lang/ldc2/ldc2-1.26.0.ebuild| 81 - eclass/dlang-compilers.eclass | 4 -- 17 files changed, 953 deletions(-) diff --git a/dev-lang/ldc2/Manifest b/dev-lang/ldc2/Manifest index 2a2a28f..4767a40 100644 --- a/dev-lang/ldc2/Manifest +++ b/dev-lang/ldc2/Manifest @@ -1,7 +1,3 @@ -DIST ldc-1.20.1-src.tar.gz 7283975 BLAKE2B ceb75e767562936606a5fc8383dd089a8daefd04e6fbcd8c6b360fccad50ecb7c6656d60c5351b11a3580d01bdb45101ed50ff6c7a9791af1fd25be160e9a037 SHA512 bb69a69de1773a10998c653b5a1b0bce30e39cfcee0e19b036378b28519b3118ac369b341cfd305a8a9bd904564e83f720a62ab4f2c1942c2e26bb53 -DIST ldc-1.21.0-src.tar.gz 7355981 BLAKE2B 46f3289e3e39d8c3b2a4985e1de4b5ef0e218188af5095cb2007bb83eec2bdaf6c590786d7b655a1f886c7f46703db2c049cf054c0fac438f943a702d3ac7a3b SHA512 5759cb0ad04d2e62a075748b40efb30261c1ebefbc129024cddccf60ab59c211f20b87a0fe22b0a714a0435f53d54a79cd8ad4ede7bfbf492809f23c679a -DIST ldc-1.22.0-src.tar.gz 7434646 BLAKE2B 317c9ebb3f75e495c939fadd24abbbea4baa2f9bf547894067d373adc48dfefd47c5bcc2136ac67ecd2bbbe2bf0cf879cfc9b978d9ff75d68ede7b0686dbfee9 SHA512 81c59e96b181fbe4a499d84a816ee4fbdbc8b6170fe87dc42e8a315e72d0be4a7f42b939084e5a529572987bcdc495926d83ca517aff8a7e5632767cf46d67d8 -DIST ldc-1.23.0-src.tar.gz 7438736 BLAKE2B 42cad99be83ce6c8d08819e6e2c6aca161f1243a239da1e692551e7b140069aacb12bbf38b4dc727eab4814bba9d8dafbb16ea2c938ea49db907275c2149b2bd SHA512 dbade9a120bb30d0c691f5c4c6c7e06be0cf3575b9bd63a921e9a768a22aef10293cc4058c7da348707856e1d363419c91e38a893d13408e9b5be4ae85544bb0 DIST ldc-1.24.0-src.tar.gz 7522065 BLAKE2B 65069835528466c4a39ebf08245fa7fcc9348ee620bab933d23157af0702c0ac4f5b3c1692b1eff83ba81ba2b8be6f086935527585c55e1ecb4ea42f965befe6 SHA512 c6f06d80617e5f7789f9e0e349a21e380d0bb6898983f0c2e2aaaec32e23ea0f69c039b6f0c03b8015782b837c890a6ff1051bfa332a6af7c79fc3479446dfb1 DIST ldc-1.25.1-src.tar.gz 7625687 BLAKE2B 02eacb06c334608d4b649d8fdffdef03cd1645a2d237063c888728c840a8c939df1c1ff9aefe3efab395358a7757dd287d1efa7a704b37f0b2661c8c1b5faaca SHA512 a087f48ec8f559eea17f88f9c00893c84db17bfcb10590011f43d6d1573a30286067207133ad6d249897fe51cb22829c2ddf00bf23210f01aa059b1f87790fae DIST ldc-1.26.0-src.tar.gz 7650063 BLAKE2B d132dc842e27a93fc76810e17db1d67f856530ca7e6948c795ec5f943e4be32513b4a956aa9217df4acd45806bc81ff855ebab757aa3f6a1943fa7c394b3e3ce SHA512 7bb2aa464f5ba834c07f67743f4af01db6588d56611d6c9e250a6908ebe93a0dcd9d3a79f8f252fc92eeb4826bfa62de6c51c4db03ff80e60a8d993e4451f573 diff --git a/dev-lang/ldc2/ldc2-1.20.1-r1.ebuild b/dev-lang/ldc2/ldc2-1.20.1-r1.ebuild deleted file mode 100644 index e79765a..000 --- a/dev-lang/ldc2/ldc2-1.20.1-r1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib-build cmake llvm - -MY_PV="${PV//_/-}" -MY_P="ldc-${MY_PV}-src" -SRC_URI="https://github.com/ldc-developers/ldc/releases/download/v${MY_PV}/${MY_P}.tar.gz; -S=${WORKDIR}/${MY_P} - -DESCRIPTION="LLVM D Compiler" -HOMEPAGE="https://github.com/ldc-developers/ldc; -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" -LICENSE="BSD" -SLOT="$(ver_cut 1-2)/$(ver_cut 3)" - -IUSE="static-libs" - -# We support LLVM 3.9 through 10. -RDEPEND="|| ( - sys-devel/llvm:10 - ) -
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-libs/gtkd/, dev-util/dlang-tools/, dev-lang/dmd/, profiles/, ...
commit: d179ef723ebd25d392c4baee73a89e1d4c56394c Author: Marco Leise gmx de> AuthorDate: Wed Jul 7 14:12:03 2021 + Commit: Marco Leise gmx de> CommitDate: Wed Jul 7 14:12:03 2021 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=d179ef72 stabilization sweep Signed-off-by: Marco Leise gmx.de> dev-lang/dmd/dmd-2.095.1.ebuild| 2 +- dev-lang/dmd/dmd-2.096.1.ebuild| 2 +- dev-libs/gtkd/Manifest | 1 - dev-libs/gtkd/gtkd-3.8.5-r1.ebuild | 119 - dev-libs/gtkd/gtkd-3.9.0.ebuild| 2 +- dev-util/dlang-tools/dlang-tools-2.095.1.ebuild| 2 +- dev-util/dlang-tools/dlang-tools-2.096.1.ebuild| 2 +- dev-util/dub/Manifest | 1 - dev-util/dub/dub-1.24.0.ebuild | 39 --- dev-util/dub/dub-1.25.0.ebuild | 2 +- .../dub/files/dub-1.24.0-gdc-dmd-pathfix.patch | 16 --- eclass/dlang-compilers.eclass | 2 + profiles/use.desc | 2 + 13 files changed, 10 insertions(+), 182 deletions(-) diff --git a/dev-lang/dmd/dmd-2.095.1.ebuild b/dev-lang/dmd/dmd-2.095.1.ebuild index 1701d93..58f7f8c 100644 --- a/dev-lang/dmd/dmd-2.095.1.ebuild +++ b/dev-lang/dmd/dmd-2.095.1.ebuild @@ -3,7 +3,7 @@ EAPI=6 -KEYWORDS="-* ~amd64 ~x86" +KEYWORDS="-* amd64 x86" YEAR=2021 DLANG_VERSION_RANGE="2.076-" diff --git a/dev-lang/dmd/dmd-2.096.1.ebuild b/dev-lang/dmd/dmd-2.096.1.ebuild index 1701d93..58f7f8c 100644 --- a/dev-lang/dmd/dmd-2.096.1.ebuild +++ b/dev-lang/dmd/dmd-2.096.1.ebuild @@ -3,7 +3,7 @@ EAPI=6 -KEYWORDS="-* ~amd64 ~x86" +KEYWORDS="-* amd64 x86" YEAR=2021 DLANG_VERSION_RANGE="2.076-" diff --git a/dev-libs/gtkd/Manifest b/dev-libs/gtkd/Manifest index 5161ad5..0834ad3 100644 --- a/dev-libs/gtkd/Manifest +++ b/dev-libs/gtkd/Manifest @@ -1,3 +1,2 @@ DIST GtkD-2.4.2.zip 4190939 BLAKE2B 90a47d0882cb57f94b75a155cb949e4272669764abefcc65b4c0cdece05409e669d87076d094bf8f5f7c342c9be506006f78314341a8291b858d787599a29efa SHA512 2d936c9ab69f8ea6fbd91696c91f04820f579e3cdb85914cda6611ac675dadd0d6e8d792ffced640097797f6851016474fadf964e2fc5032262c0945b875cd46 -DIST GtkD-3.8.5.zip 4513387 BLAKE2B eb2bf2a5103e14300dee6c3f9abb567b35af272a479c7a4b8dadd4bb480b5aec996a9e54c7fc3a319cbff30bf9dcec71167a05e1440b501b0f91e5ebae79f191 SHA512 efd43a72a514b0b8de9f1db982f2304c264e3a68915da849fe1d6a5c24b8abe2a072526bba3f1c1e3bea81c162de33cd8c570092438c016087d94e875c9a32a5 DIST GtkD-3.9.0.zip 4576099 BLAKE2B 50d0bda16f3026f1c068f7b65049005b86367ee1ced581bb2f941c202e0038f1bc6be350bd4bcb30f69ec0696ae0e7bbf4336546153bda389683d44c87d58eac SHA512 f8b8a7b83a23af990abb77f16e4bddf2f72bb65ad210ff8f138b0d4ff66fb5fb2a73a3cbe868a8d2ecf3abf98ece5af771af63068dc2fbf8668e46039320cf0f diff --git a/dev-libs/gtkd/gtkd-3.8.5-r1.ebuild b/dev-libs/gtkd/gtkd-3.8.5-r1.ebuild deleted file mode 100644 index 841f0a9..000 --- a/dev-libs/gtkd/gtkd-3.8.5-r1.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="GtkD is a D binding and OO wrapper of GTK+" -HOMEPAGE="http://gtkd.org/; -LICENSE="LGPL-3" - -SLOT="3" -KEYWORDS="amd64 x86" -SRC_URI="https://gtkd.org/Downloads/sources/GtkD-${PV}.zip; - -DLANG_VERSION_RANGE="2.074-" -DLANG_PACKAGE_TYPE="multi" - -inherit eutils dlang - -DEPEND="app-arch/unzip" -RDEPEND=" - >=x11-libs/gtk+-3.22:3[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.56:2[${MULTILIB_USEDEP}] - >=x11-libs/pango-1.42[${MULTILIB_USEDEP}] - >=dev-libs/atk-2.28[${MULTILIB_USEDEP}] - >=x11-libs/gdk-pixbuf-2.36:2[${MULTILIB_USEDEP}] - >=x11-libs/cairo-1.12.2[${MULTILIB_USEDEP}] - sourceview? ( >=x11-libs/gtksourceview-3.24:3.0 ) - gstreamer? ( >=media-libs/gstreamer-1.14:1.0[${MULTILIB_USEDEP}] ) - vte? ( >=x11-libs/vte-0.52:2.91 ) - peas? ( >=dev-libs/libpeas-1.20 ) -" - -GTKD_USE_FLAGS=(gtk opengl sourceview gstreamer vte peas) -GTKD_LIB_NAMES=(gtkd gtkdgl gtkdsv gstreamerd vted peasd) -GTKD_SRC_DIRS=( gtkd gtkdgl sourceview gstreamer vte peas) -IUSE="${GTKD_USE_FLAGS[@]:1} static-libs" - -MAJOR=$(ver_cut 1) -MINOR=$(ver_cut 2-) - -src_unpack() { - unzip -q "${DISTDIR}/${A}" -d "${S}" -} - -d_src_compile() { - compile_libs() { - # Build the shared library version of the component - # The test phase expects no version extension on the .so - local sources=generated/${SRC_DIR}/*/*.d - if [ ${LIB_NAME} != gtkdgl ]; then - sources+=" "generated/${SRC_DIR}/*/c/*.d - fi - if [ ${LIB_NAME} == gstreamerd ]; then - sources+=" "generated/gstreamer/gst/*/*.d" "generated/gstreamer/gst/*/c/*.d - fi -
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-lang/dmd/, dev-util/dlang-tools/
commit: 7988b41505fc29433890ea1bf4a9822bec339f3d Author: Marco Leise gmx de> AuthorDate: Mon Jan 25 16:27:15 2021 + Commit: Marco Leise gmx de> CommitDate: Mon Jan 25 16:49:37 2021 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=7988b415 dmd-2.094.2 Signed-off-by: Marco Leise gmx.de> dev-lang/dmd/Manifest | 2 +- dev-lang/dmd/{dmd-2.094.1.ebuild => dmd-2.094.2.ebuild} | 0 dev-util/dlang-tools/Manifest | 2 +- ...{dlang-tools-2.094.1.ebuild => dlang-tools-2.094.2.ebuild} | 0 eclass/dmd.eclass | 11 +-- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/dev-lang/dmd/Manifest b/dev-lang/dmd/Manifest index 95055ba..36f5a3a 100644 --- a/dev-lang/dmd/Manifest +++ b/dev-lang/dmd/Manifest @@ -29,4 +29,4 @@ DIST dmd.2.090.1.linux.tar.xz 25595804 BLAKE2B addd21fc482aa90d816593312aa649094 DIST dmd.2.091.1.linux.tar.xz 23977732 BLAKE2B 4db4c1733ecfdaa79a396039b8be735c217841deefd41b91b72a25e075e0f064892aa07497d840ef738021f66b58071d3d8c228573110614c43036ad51d7f701 SHA512 94db61b8cabd6229b404ce34e1618a710d6780bd7ce6db4ac666221b9bef616046ab9e4e793651e4e976fb4dd0eeedd5445abc9169ca27be753ff5611001e6bb DIST dmd.2.092.1.linux.tar.xz 24354760 BLAKE2B dd342c7cbb22f081720719a9aa2af40adb6bd9b6f25257eb85dc1e8b977dc80de87475b7fd9652c0c1cbba0e5115febd69969dce1f883e1a87e0f2a45b105d82 SHA512 df02256148a06bdab1427bed4428230b804da45e5241e6289f72fbc2bbf64020fe63a84b7aa91c36acb60ea8fb048933dc5a8c31f954df2637fd44a2964da0a3 DIST dmd.2.093.1.linux.tar.xz 24506488 BLAKE2B 101edbe659ddb3ce6ed0d66762a0d476d839c9baf3de8aa9e0bfbe67345c6a35412313070a77169e20bfe1b7a1dced2aade1d0f67f9a866ca0037dee425d3fab SHA512 47b366c5f3ebfc52324706d79a595daf61bc9a95d8a12237ff2920795dea165daccce659a30cd89dfd221ebfae43f9ce6234a37bd10af63c20222fe9e4482c5d -DIST dmd.2.094.1.linux.tar.xz 22232788 BLAKE2B 90021cbf8f9febcb6bc51d40008aa509b43915c05fa906ece98022d21ca0c44e1fb714516704e6a2305e20467906824b069f9760076c057144594d57b027597c SHA512 1cbf445ca9ffc38a899cbfcdf826cdff98342a62f7a34e41f22f17e777215636e6eb0c480b5c64b1773d58276a3df567f41beaf65a94bfbf3efc071f6d30397a +DIST dmd.2.094.2.linux.tar.xz 22232888 BLAKE2B ba3116f3a9fd9516cd1ac792f950d4ba6c27a51631e2f48698f92506daa77b0cb45e238292b0200a85def5013e5272a9d2725f74b85e5cbe1cfabf8fcdb568eb SHA512 a880928aeb6f16dc1dea7ac406cca2f8dfa75030725e5cefc9a48c1cc3e5c884800367efc293d7f9eaceb3c6c6cae2e3baea781786ccb438231c0734267ad0f0 diff --git a/dev-lang/dmd/dmd-2.094.1.ebuild b/dev-lang/dmd/dmd-2.094.2.ebuild similarity index 100% rename from dev-lang/dmd/dmd-2.094.1.ebuild rename to dev-lang/dmd/dmd-2.094.2.ebuild diff --git a/dev-util/dlang-tools/Manifest b/dev-util/dlang-tools/Manifest index f4207a6..637f34f 100644 --- a/dev-util/dlang-tools/Manifest +++ b/dev-util/dlang-tools/Manifest @@ -28,7 +28,7 @@ DIST dlang-tools-2.090.1.tar.gz 117709 BLAKE2B 8a714a5bd6860bf4a856fbbde2a7188b4 DIST dlang-tools-2.091.1.tar.gz 117714 BLAKE2B bd0957f0e70401b1ededf29be7f942da1445c66e3ea4b47f31b136413b506c3dd03faa4cb1962a10ae51edd0cb18b282da072b0ba63f0f0d7e2cd3e460924e3a SHA512 b8fb4f4c1e9aed1e2134644152a32a7c6073d801458bf0a45a23e86cd761a19c4b517365112edc7af73fbef3c26b4106fa0ee7478a78fa41c531a060c25e3955 DIST dlang-tools-2.092.1.tar.gz 119015 BLAKE2B 35121ccda680297d686b6133b80f27d04c133d3d6add4a335294c203a58475326563b5f81cd90a3d1b261c7799b244b739924ec32a6bbf887a98dcad486b64b4 SHA512 84d69e2b5e073bc038f438304060a490bc41c740eba14599b911aa66cc40b0f4ba1fa55536c77f01c6964210025283a3c6d32768493e9ca1e021eadaaa38f8b2 DIST dlang-tools-2.093.1.tar.gz 118852 BLAKE2B d797d8eb5de2e8a8a404b0b77cff3fb8812bddf6e0b796396971fe0b409a11f882d1d5e54bbda0c477e710cdfe3e63578da0e8b6fc3929be7b062a01673d31f8 SHA512 db6de62436b10c5e52516b96ee695c2ed5952a8a4fc3fdc27b31596c02f5674afb0b5e40833b32f633fb5ac58cbafc934c0cdacb7826d0a1ca1658bd7301ddcf -DIST dlang-tools-2.094.1.tar.gz 118431 BLAKE2B c493152178914026929aa0bc323908c5ccf29199b9d19431acaae0a70acd9b27bba00b054d2fa4efa5a1ddf7ff6705b1a9d6922ea609db38d34011cc2f2351ad SHA512 7ca5641951c31e345b0965d52d4086eb6eb981ae9bf6e0db4489633c2c165e3b5d9c88b96c22578ab77641b52ab6005f12d65c1d7444a17880165fab4cf5bc69 +DIST dlang-tools-2.094.2.tar.gz 118427 BLAKE2B a590f5e5490e3f51b55a9bd4018d38ea0ee84865af52869666ca9afbec1041ce4463dab707997b1d927a0c6284cbf82f248999582ea4c0fbc72fa7fffc4df1c4 SHA512 8fc9d95e77317afd0c73c8e2b85b01175d4d3494116ec6550f8c9d99d5ecfde9e8e4ff1aa8eb7477e4974faf6b66fb0dbc32bcb7d2facf7cec6cfadd8ea9ad81 DIST dlang.org-2.064.2.tar.gz 963131 BLAKE2B a7cf0d43a1cd531722bda717882a34e01c0186f0832a12064bf0600aede0a0913190724011f0b13c76cf794434e1c82490f48e9fda66409aa2820adc7c8a40f9 SHA512 a1284955764385539dcd8949cd851100af9be47908e85d8cfd897d6409903763919dc082fc0ca88fbaaf49647168357656aee82717a375ed45407eb15ccd44cf DIST dlang.org-2.065.0.tar.gz 1005429 BLAKE2B
[gentoo-commits] repo/user/dlang:master commit in: eclass/, profiles/, dev-lang/ldc2/
commit: 5019cbe38d24423e9e514a320df8a4ce5c7f4518 Author: Marco Leise gmx de> AuthorDate: Fri Aug 14 21:18:08 2020 + Commit: Marco Leise gmx de> CommitDate: Sat Aug 15 01:15:55 2020 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=5019cbe3 Removed ldc2 builds that depeneded on the removed LLVM 8. Signed-off-by: Marco Leise gmx.de> dev-lang/ldc2/Manifest | 3 -- dev-lang/ldc2/ldc2-1.15.0-r2.ebuild | 81 - dev-lang/ldc2/ldc2-1.16.0.ebuild| 81 - dev-lang/ldc2/ldc2-1.17.0.ebuild| 81 - dev-lang/ldc2/ldc2-1.18.0.ebuild| 1 - dev-lang/ldc2/ldc2-1.19.0.ebuild| 1 - dev-lang/ldc2/ldc2-1.20.1.ebuild| 1 - dev-lang/ldc2/ldc2-1.21.0.ebuild| 1 - eclass/dlang-compilers.eclass | 3 -- profiles/use.desc | 3 -- 10 files changed, 256 deletions(-) diff --git a/dev-lang/ldc2/Manifest b/dev-lang/ldc2/Manifest index 4abf228..e3f040c 100644 --- a/dev-lang/ldc2/Manifest +++ b/dev-lang/ldc2/Manifest @@ -1,6 +1,3 @@ -DIST ldc-1.15.0-src.tar.gz 6949021 BLAKE2B ba2488c0ce247c1f00cd4ac6206605221d9a0eed8bb637fa661676034709efd5aa6ce1cb2d314d1472d5a78a382e622bd9170653c2e3fac40f2d644aa08fdc3d SHA512 acc180d0f01f2ff261a131de74b5630568da4b16acbe4c557ba36f3ca5606edeb9c7af8c8733927f174f4512812aabaa95cf2bff340c991c17ca4b50d7e3da87 -DIST ldc-1.16.0-src.tar.gz 6995348 BLAKE2B 3437d2c1f64e17793c1564c19fdd41d5a881f1c3274a0e265b10b66a59b752436222395811354e9fea58dae0573c873f64f3c5de88c1681e4e78c74e618f9892 SHA512 afd9675ce0929a8acb1084becb47d2d30d40fcd3836a55713a9ac128d12764b7eefb5e04c2eae432c4e138aa64c3d8d248745dcfeb2fa134f66fb11ddc30743e -DIST ldc-1.17.0-src.tar.gz 7084805 BLAKE2B 1379ad77c0e489fea43b646a5d6cf5aa54e76b2cefe00686c69bb1c9b0caf42da7a0e24fb6d0f08c10fab9fd32e3ccb01b6702319ea73c782e3dca0a51bf6c08 SHA512 72a50b16cef63b30863b41571d14aad30b5fc25ea7859014d596c41360693da46dcf3f208195d9319fc2f4ef472ac3c86a0c552b19222cc05e491cb8cbcee38c DIST ldc-1.18.0-src.tar.gz 7183351 BLAKE2B 0affd49dda5f7c3df64e8d89fe66f2fce4c3a18c4bc5e4147e2e906d10f0b27316c8c460f5b9d767f3f50e5e909448b9f44cb17e156766d5488e237a71dd5009 SHA512 fe7529c33d0e43dfb71f474dfa381b88ee476b70933c8f80fc063d9a015df24a75e2b607a7242cc4b9cd4b6ac7559aec8f2883016bf7252342742322fcccbd4d DIST ldc-1.19.0-src.tar.gz 7222182 BLAKE2B 28a2256aad57f5304644126da63d88a9f0e4266402a537b7864605dd5ce97009b87d6767906b4271dd0ec9621bb1fb193531229c4799c66d0b47e6dad91c0766 SHA512 ffd1b085c7c8fe76162051234cc73e92f08a391cebac3f405c9dc6d03fcbf459d5e99295066ab4b0bd931bdce84dce53e23c33c1bc8ad35327f1b283f8e8f10a DIST ldc-1.20.1-src.tar.gz 7283975 BLAKE2B ceb75e767562936606a5fc8383dd089a8daefd04e6fbcd8c6b360fccad50ecb7c6656d60c5351b11a3580d01bdb45101ed50ff6c7a9791af1fd25be160e9a037 SHA512 bb69a69de1773a10998c653b5a1b0bce30e39cfcee0e19b036378b28519b3118ac369b341cfd305a8a9bd904564e83f720a62ab4f2c1942c2e26bb53 diff --git a/dev-lang/ldc2/ldc2-1.15.0-r2.ebuild b/dev-lang/ldc2/ldc2-1.15.0-r2.ebuild deleted file mode 100644 index 54ffbec..000 --- a/dev-lang/ldc2/ldc2-1.15.0-r2.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit multilib-build cmake-utils eapi7-ver llvm - -MY_PV="${PV//_/-}" -MY_P="ldc-${MY_PV}-src" -SRC_URI="https://github.com/ldc-developers/ldc/releases/download/v${MY_PV}/${MY_P}.tar.gz; -S=${WORKDIR}/${MY_P} - -DESCRIPTION="LLVM D Compiler" -HOMEPAGE="https://ldc-developers.github.com/ldc; -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" -LICENSE="BSD" -SLOT="$(ver_cut 1-2)/$(ver_cut 3)" - -IUSE="static-libs" - -# We support LLVM 3.9 through 8. -RDEPEND="|| ( - sys-devel/llvm:8 - ) - =app-eselect/eselect-dlang-20140709" -DEPEND=">=dev-util/cmake-2.8 - ${RDEPEND}" -LLVM_MAX_SLOT=8 -PATCHES="${FILESDIR}/ldc2-1.15.0-link-defaultlib-shared.patch" - -# For now, we support amd64 multilib. Anyone is free to add more support here. -MULTILIB_COMPAT=( abi_x86_{32,64} ) - -DLANG_VERSION_RANGE="2.068 2.071-" -DLANG_PACKAGE_TYPE="single" - -inherit dlang - -detect_hardened() { - gcc --version | grep -o Hardened -} - -src_prepare() { - cmake-utils_src_prepare -} - -d_src_configure() { - # Make sure libphobos2 is installed into ldc2's directory. - export LIBDIR_${ABI}="${LIBDIR_HOST}" - local mycmakeargs=( - -DD_VERSION=2 - -DCMAKE_INSTALL_PREFIX=/usr/lib/ldc2/$(ver_cut 1-2) - -DD_COMPILER="${DMD}" - -DD_COMPILER_DMD_COMPAT=1 - -DLDC_WITH_LLD=OFF - ) - use static-libs && mycmakeargs+=( -DBUILD_SHARED_LIBS=BOTH ) || mycmakeargs+=( -DBUILD_SHARED_LIBS=ON ) - use abi_x86_32 && use abi_x86_64 && mycmakeargs+=( -DMULTILIB=ON ) - detect_hardened && mycmakeargs+=( -DADDITIONAL_DEFAULT_LDC_SWITCHES=',
[gentoo-commits] repo/user/dlang:master commit in: eclass/
commit: be92bd625289f6c2167917761dd4690cc62986d0 Author: Marco Leise gmx de> AuthorDate: Fri Aug 14 19:59:19 2020 + Commit: Marco Leise gmx de> CommitDate: Sat Aug 15 01:34:45 2020 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=be92bd62 Fixed an issue where ldc2 would not build with dmd, because "-Wl,--icf=safe" wasn't correctly filtered out of LDFLAGS if set. Signed-off-by: Marco Leise gmx.de> eclass/dlang.eclass | 37 ++--- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index a8a4ace..80dea3a 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -207,25 +207,6 @@ dlang_compile_lib_so() { # Makes linker flags meant for GCC understandable for the current D compiler. # Basically it replaces -L with what the D compiler uses as linker prefix. dlang_convert_ldflags() { - if [[ "${DLANG_VENDOR}" == "DigitalMars" ]]; then - # gc-sections breaks executables for some versions of D - # It works with the gold linker on the other hand - # See: https://issues.dlang.org/show_bug.cgi?id=879 - [[ "${DLANG_PACKAGE_TYPE}" == "dmd" ]] && local dlang_version=$SLOT || local dlang_version=$DLANG_VERSION - if ver_test $dlang_version -lt 2.072; then - if ! ld -v | grep -q "^GNU gold"; then - filter-ldflags {-L,-Xlinker,-Wl,}--gc-sections - fi - fi - # Filter ld.gold ICF flag. (https://issues.dlang.org/show_bug.cgi?id=17515) - filter-ldflags {-L,-Xlinker,-Wl,}--icf={none,all,safe} - fi - - if [[ "${DLANG_VENDOR}" == "DigitalMars" ]] || [[ "${DLANG_VENDOR}" == "GNU" ]]; then - # DMD and GDC don't undestand/work with LTO flags - filter-ldflags -f{no-,}use-linker-plugin -f{no-,}lto -flto=* - fi - if [[ "${DLANG_VENDOR}" == "DigitalMars" ]] || [[ "${DLANG_VENDOR}" == "LDC" ]]; then local set prefix flags=() if [[ is_dmd ]]; then @@ -613,6 +594,24 @@ __dlang_use_build_vars() { die "Could not detect D compiler vendor!" fi # We need to convert the LDFLAGS, so they are understood by DMD and LDC. + if [[ "${DLANG_VENDOR}" == "DigitalMars" ]]; then + # gc-sections breaks executables for some versions of D + # It works with the gold linker on the other hand + # See: https://issues.dlang.org/show_bug.cgi?id=879 + [[ "${DLANG_PACKAGE_TYPE}" == "dmd" ]] && local dlang_version=$SLOT || local dlang_version=$DLANG_VERSION + if ver_test $dlang_version -lt 2.072; then + if ! ld -v | grep -q "^GNU gold"; then + filter-flags {-L,-Xlinker,-Wl\,}--gc-sections + fi + fi + # Filter ld.gold ICF flag. (https://issues.dlang.org/show_bug.cgi?id=17515) + filter-flags {-L,-Xlinker,-Wl\,}--icf={none,all,safe} + fi + + if [[ "${DLANG_VENDOR}" == "DigitalMars" ]] || [[ "${DLANG_VENDOR}" == "GNU" ]]; then + # DMD and GDC don't undestand/work with LTO flags + filter-ldflags -f{no-,}use-linker-plugin -f{no-,}lto -flto=* + fi export LDFLAGS=`dlang_convert_ldflags` "${@}" }
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-util/dlang-tools/, dev-lang/dmd/, dev-util/dub/, ...
commit: d2fd5250b3f515d43ecd6cfeeef88c47753d8df3 Author: Marco Leise gmx de> AuthorDate: Mon Mar 9 15:38:02 2020 + Commit: Marco Leise gmx de> CommitDate: Mon Mar 9 15:38:02 2020 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=d2fd5250 dmd-2.091.0 & dub-1.20.0 Signed-off-by: Marco Leise gmx.de> dev-lang/dmd/Manifest | 1 + dev-lang/dmd/dmd-2.091.0.ebuild| 20 dev-util/dlang-tools/Manifest | 1 + dev-util/dlang-tools/dlang-tools-2.091.0.ebuild| 54 ++ dev-util/dub/Manifest | 1 + dev-util/dub/dub-1.20.0.ebuild | 39 .../dub/files/dub-1.20.0-gdc-dmd-pathfix.patch | 16 +++ eclass/dmd.eclass | 2 +- 8 files changed, 133 insertions(+), 1 deletion(-) diff --git a/dev-lang/dmd/Manifest b/dev-lang/dmd/Manifest index 59563b3..0e27663 100644 --- a/dev-lang/dmd/Manifest +++ b/dev-lang/dmd/Manifest @@ -27,3 +27,4 @@ DIST dmd.2.088.1.linux.tar.xz 25122116 BLAKE2B e573a97cf9f547a3017a0b904523f4877 DIST dmd.2.089.1.linux.tar.xz 25877024 BLAKE2B 38fdbac595a6d9ea7548ee331aacefec530594be750a1b3dbfad7af8a5e310d6fb5e774106adfaa0d0c33cfec8e94c7a29f4c3c5c3088cc827f6ccd8a3472e56 SHA512 8a5343060d7f28394be81d8732997d96a23522c87912f2c8d0979375297467068d093ab4ef2b92b0ce8be941b5c65061660eef8d1e9252c626197014ac4331a9 DIST dmd.2.090.0.linux.tar.xz 25586392 BLAKE2B ca07a292dd27766b6ce08423bf3f943b177cae7393f3d5e3f5322b694fb40852b4deb6fbc90c68506f52a2be6b39a2bc1003da186247dcbdd9f80f066091fd19 SHA512 bdfa7a9b6c41aad1555e36469746bf1d5c567ec59b291ea5c8d03597677bcbb3d0fa7f3649242494fd6021681343601418ccbbe4be0667ab87b58ee77a903468 DIST dmd.2.090.1.linux.tar.xz 25595804 BLAKE2B addd21fc482aa90d816593312aa6490949e54c3f8f36989eec193e9b09412022afe5d1f7006153f9b258a2c96fed9266ef5a9a94ca9c999cbc3ec1230937dec8 SHA512 ebc769d9c4c784b7e59730606e57bbde8dbfaea07be2492a0e475e0818f0ef4aaf3cb2bc8b1be066cc14479d9a3dd0d9655e0b0025c79383dbbbe9b2f2caf04f +DIST dmd.2.091.0.linux.tar.xz 24161356 BLAKE2B 4604b9398afd5648fbee3ee26a6c48b1219cc24ee27f601e42820f83956ee7577c178487e4c71721b6730f1ae802c290f8887e416112ae974af56951d7e920d3 SHA512 2ac90f267f58a561553abfd7ddb9214f743b846758fcb0cb1439aea790da2a6dcb2ead7b5d2c2c7012c516bae92b0183596ba52aa070e89a5ef1a2c1d597982c diff --git a/dev-lang/dmd/dmd-2.091.0.ebuild b/dev-lang/dmd/dmd-2.091.0.ebuild new file mode 100644 index 000..6b582a8 --- /dev/null +++ b/dev-lang/dmd/dmd-2.091.0.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +KEYWORDS="-* ~amd64 ~x86" +YEAR=2020 +DLANG_VERSION_RANGE="2.076-" + +inherit dmd + +PATCHES=( + "${FILESDIR}/2.083-link-32-bit-shared-lib-with-ld.bfd.patch" +) + +dmd_src_prepare_extra() { + # Copy default DDOC theme file into resource directory + mkdir "dmd/res" || die "Failed to create 'dmd/res' directory" + cp "${FILESDIR}/2.086-default_ddoc_theme.ddoc" "dmd/res/default_ddoc_theme.ddoc" || die "Failed to copy 'default_ddoc_theme.ddoc' file into 'src/res' directory." +} diff --git a/dev-util/dlang-tools/Manifest b/dev-util/dlang-tools/Manifest index b430718..8a0b8b7 100644 --- a/dev-util/dlang-tools/Manifest +++ b/dev-util/dlang-tools/Manifest @@ -26,6 +26,7 @@ DIST dlang-tools-2.088.1.tar.gz 117104 BLAKE2B 2920cb8950fb0e921665bab161584c35a DIST dlang-tools-2.089.1.tar.gz 117693 BLAKE2B 6e499fd01bda7a58036b08f30319549ca2c786ea348ac93d045019fde745a3b30179af0d7c3999af8bd09f15d86876e43927cf069a70dc5120ebc08eb82a84c3 SHA512 ffc1eb9d42f167d2a519a052fdc87fb3db576d9b549dac80c993859f597dfbc492e783129b9c94dc664e33817bacf09b040d0cb2efbc679971ba768163eb4e42 DIST dlang-tools-2.090.0.tar.gz 117713 BLAKE2B efe720acfa306f6dc29e42ff13d23c3298aeed00429913b962b246143c688b4d839936e859c07d4d624430a5043c69205aef363face14875292ee52d968f6006 SHA512 b861fc11fe7ed105439984c79001fdef63da4d03fe751f0b43eb478a38afeab3599ffb41f39451faea71e4bb44e3d871a9ce41d45d8e19f4e59d5565efd6264e DIST dlang-tools-2.090.1.tar.gz 117709 BLAKE2B 8a714a5bd6860bf4a856fbbde2a7188b404b819e11f9ed815688b9acb5fa6e95a95c0fb4aa407495da89a0e3b19dba584be1d90f3c60c2af95090d6e81f221d6 SHA512 82f6d3fd4a7f6fd013425894ec5f817c960764479649c97139a019802fc5c2a83671102f1b2a9427e88446055e5a1a4fa884a4b86400a84107b2d5ca322b7a32 +DIST dlang-tools-2.091.0.tar.gz 117712 BLAKE2B af1ccb162f5e2a9c95bf5e5b879ff670cadd1ac8fd4320c168745f40c1d57c5711348dbfda4a6a6cacede1c332b9878a46b6d1ac565792395181a01f727550b8 SHA512 b484074e22b7f7a6a6f1cc3cd184d5373474808eba1b195c275858905273335d033ed02b7b1fc993ecc6ef42d91fc1b3f2fc1ee32d5d2497ed7c992b46d13100 DIST dlang.org-2.064.2.tar.gz 963131 BLAKE2B a7cf0d43a1cd531722bda717882a34e01c0186f0832a12064bf0600aede0a0913190724011f0b13c76cf794434e1c82490f48e9fda66409aa2820adc7c8a40f9 SHA512
[gentoo-commits] repo/user/dlang:master commit in: eclass/, dev-libs/gtkd/
commit: 7720bff56f66425783d5a4e9b0ddad16dcc42e50 Author: Marco Leise gmx de> AuthorDate: Mon Mar 9 19:01:57 2020 + Commit: Marco Leise gmx de> CommitDate: Mon Mar 9 19:01:57 2020 + URL:https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=7720bff5 removed dlang_has_shared_lib_support() function as all offered compilers support shared libs now Signed-off-by: Marco Leise gmx.de> dev-libs/gtkd/gtkd-2.4.2-r1.ebuild | 21 +++-- dev-libs/gtkd/gtkd-3.8.5-r1.ebuild | 12 +--- eclass/dlang.eclass| 17 + 3 files changed, 13 insertions(+), 37 deletions(-) diff --git a/dev-libs/gtkd/gtkd-2.4.2-r1.ebuild b/dev-libs/gtkd/gtkd-2.4.2-r1.ebuild index c98a3aa..ad07352 100644 --- a/dev-libs/gtkd/gtkd-2.4.2-r1.ebuild +++ b/dev-libs/gtkd/gtkd-2.4.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -41,13 +41,8 @@ d_src_compile() { compile_libs() { # Build the shared library version of the component # The test phase expects no version extension on the .so - if dlang_has_shared_lib_support; then - dlang_compile_lib_so lib${LIB_NAME}-${MAJOR}.so \ - lib${LIB_NAME}-${MAJOR}.so.0 -Isrc ${GTKD_SRC_DIRS[$i]}/*/*.d - else - ewarn "${DC} does not have shared library support." - ewarn "Only static ${LIB_NAME} will be compiled if selected through the static-libs USE flag." - fi + dlang_compile_lib_so lib${LIB_NAME}-${MAJOR}.so \ + lib${LIB_NAME}-${MAJOR}.so.0 -Isrc ${GTKD_SRC_DIRS[$i]}/*/*.d # Build the static library version if use static-libs; then @@ -76,12 +71,10 @@ d_src_test() { d_src_install() { install_libs() { # Install the shared library version of the component - if dlang_has_shared_lib_support; then - local libfile="lib${LIB_NAME}-${MAJOR}.so" - ln -s "${libfile}" "${libfile}.0" - ln -s "${libfile}" "${libfile}.0.${MINOR}" - dolib.so "${libfile}.0.${MINOR}" "${libfile}.0" "${libfile}" - fi + local libfile="lib${LIB_NAME}-${MAJOR}.so" + ln -s "${libfile}" "${libfile}.0" + ln -s "${libfile}" "${libfile}.0.${MINOR}" + dolib.so "${libfile}.0.${MINOR}" "${libfile}.0" "${libfile}" # Install the static library version if use static-libs; then diff --git a/dev-libs/gtkd/gtkd-3.8.5-r1.ebuild b/dev-libs/gtkd/gtkd-3.8.5-r1.ebuild index acfe068..841f0a9 100644 --- a/dev-libs/gtkd/gtkd-3.8.5-r1.ebuild +++ b/dev-libs/gtkd/gtkd-3.8.5-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -81,12 +81,10 @@ d_src_test() { d_src_install() { install_libs() { # Install the shared library version of the component - if dlang_has_shared_lib_support; then - local libfile="lib${LIB_NAME}-${MAJOR}.so" - ln -sf "${libfile}" "${libfile}.0" - ln -sf "${libfile}" "${libfile}.0.${MINOR}" - dolib.so "${libfile}.0.${MINOR}" "${libfile}.0" "${libfile}" - fi + local libfile="lib${LIB_NAME}-${MAJOR}.so" + ln -sf "${libfile}" "${libfile}.0" + ln -sf "${libfile}" "${libfile}.0.${MINOR}" + dolib.so "${libfile}.0.${MINOR}" "${libfile}.0" "${libfile}" # Install the static library version if use static-libs; then diff --git a/eclass/dlang.eclass b/eclass/dlang.eclass index 5373cc8..a8a4ace 100644 --- a/eclass/dlang.eclass +++ b/eclass/dlang.eclass @@ -105,18 +105,6 @@ dlang_single_config() { __dlang_use_build_vars "${@}" } -dlang_has_shared_lib_support() { - if [[ "${DLANG_VENDOR}" == "DigitalMars" ]]; then - [[ $(ver_cut 1 ${DLANG_VERSION}) -eq 2 ]] && [[ $((10#$(ver_cut 2 ${DLANG_VERSION}))) -ge 63 ]] - elif [[ "${DLANG_VENDOR}" == "GNU" ]]; then - true - elif [[ "${DLANG_VENDOR}" == "LDC" ]]; then - [[ $(ver_cut 1 ${DLANG_VERSION}) -eq 2 ]] && [[ $((10#$(ver_cut 2 ${DLANG_VERSION}))) -ge 73 ]] - else - die "Could not detect D compiler vendor!" - fi -} - # @FUNCTION: dlang_src_prepare # @DESCRIPTION: @@ -602,10 +590,7 @@ __dlang_use_build_vars() { else export LIBDIR_${ABI}="lib/gcc/${CHOST_default}/${DC_VERSION}/${MODEL}" fi - export