[gentoo-commits] repo/user/dlang:master commit in: eclass/, eclass/tests/

2024-05-03 Thread Horodniceanu Andrei
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/

2024-04-26 Thread Horodniceanu Andrei
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/

2024-04-26 Thread Horodniceanu Andrei
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/

2024-04-22 Thread Horodniceanu Andrei
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/

2024-04-22 Thread Horodniceanu Andrei
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/

2024-04-22 Thread Horodniceanu Andrei
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/

2024-04-13 Thread Horodniceanu Andrei
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/

2024-04-13 Thread Horodniceanu Andrei
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/

2024-04-13 Thread Horodniceanu Andrei
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/

2024-04-13 Thread Horodniceanu Andrei
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/

2024-04-13 Thread Horodniceanu Andrei
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/

2024-02-20 Thread Horodniceanu Andrei
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/

2024-02-18 Thread Horodniceanu Andrei
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/

2024-02-18 Thread Horodniceanu Andrei
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/

2024-02-18 Thread Horodniceanu Andrei
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/

2024-02-18 Thread Horodniceanu Andrei
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/

2024-01-03 Thread Horodniceanu Andrei
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/

2023-12-17 Thread Marco Leise
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/

2023-12-17 Thread Marco Leise
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/

2023-12-17 Thread Marco Leise
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/

2023-11-17 Thread Horodniceanu Andrei
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/

2023-11-17 Thread Horodniceanu Andrei
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/

2023-10-29 Thread Horodniceanu Andrei
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/

2023-10-01 Thread Horodniceanu Andrei
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/

2023-09-30 Thread Horodniceanu Andrei
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/

2023-09-27 Thread Marco Leise
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/

2023-09-27 Thread Marco Leise
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/

2023-09-27 Thread Marco Leise
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/

2023-09-04 Thread Marco Leise
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/

2023-08-14 Thread Marco Leise
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/

2023-07-22 Thread Marco Leise
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/

2023-07-22 Thread Marco Leise
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/

2023-07-22 Thread Marco Leise
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/

2022-10-13 Thread Marco Leise
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/

2022-07-23 Thread Marco Leise
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/

2022-07-23 Thread Marco Leise
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/

2022-07-14 Thread Marco Leise
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/

2022-02-08 Thread Marco Leise
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/

2022-02-08 Thread Marco Leise
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/

2022-02-06 Thread Marco Leise
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/

2022-02-06 Thread Marco Leise
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/, ...

2021-07-07 Thread Marco Leise
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/

2021-01-25 Thread Marco Leise
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/

2020-08-14 Thread Marco Leise
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/

2020-08-14 Thread Marco Leise
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/, ...

2020-04-05 Thread Marco Leise
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/

2020-04-05 Thread Marco Leise
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