commit: a582c3d4ead53f5e8a921e06cc95505a205af342 Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me> AuthorDate: Sat Mar 9 17:05:03 2024 +0000 Commit: Horodniceanu Andrei <a.horodniceanu <AT> proton <DOT> me> CommitDate: Sat Apr 13 22:47:31 2024 +0000 URL: https://gitweb.gentoo.org/repo/user/dlang.git/commit/?id=a582c3d4
dev-util/dfmt: port to dlang-single.eclass Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me> dev-util/dfmt/dfmt-0.15.1-r1.ebuild | 69 +++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/dev-util/dfmt/dfmt-0.15.1-r1.ebuild b/dev-util/dfmt/dfmt-0.15.1-r1.ebuild new file mode 100644 index 0000000..323b33f --- /dev/null +++ b/dev-util/dfmt/dfmt-0.15.1-r1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Dfmt is a formatter for D source code" +HOMEPAGE="https://github.com/dlang-community/dfmt" +LICENSE="Boost-1.0" + +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +LIBDPARSE="fe6d1e38fb4fc04323170389cfec67ed7fd4e24a" +ALLOCATOR="ae237cabd1843774cc78aad0729c914a3dd579db" +SRC_URI=" + https://github.com/dlang-community/dfmt/archive/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz + https://github.com/dlang-community/libdparse/archive/${LIBDPARSE}.tar.gz -> libdparse-${LIBDPARSE}.tar.gz + https://github.com/dlang-community/stdx-allocator/archive/${ALLOCATOR}.tar.gz -> stdx-allocator-${ALLOCATOR}.tar.gz + " + +DLANG_COMPAT=( dmd-2_{106..107} gdc-13 ldc2-1_{35..36} ) + +inherit dlang-single bash-completion-r1 + +REQUIRED_USE=${DLANG_REQUIRED_USE} +DEPEND=${DLANG_DEPS} +BDEPEND=${DLANG_DEPS} +RDEPEND=${DLANG_DEPS} + +src_prepare() { + default + + mkdir bin || die "Failed to create 'bin' directory." + cat > bin/githash.txt << EOF +v${PV} +EOF +} + +src_compile() { + local libdparse_src="../libdparse-${LIBDPARSE}/src" + local allocator_src="../stdx-allocator-${ALLOCATOR}/source" + local imports="src ${libdparse_src} ${allocator_src}" + local string_imports="bin" + local srcDirectories=( + "${S}/src" + "${S}/${libdparse_src}" + "${S}/${allocator_src}" + ) + local sourceFile sourceFiles=() + while read -r -d '' sourceFile; do + sourceFiles+=("${sourceFile}") + done < <(find "${srcDirectories[@]}" -name '*.d' -print0) + + dlang_compile_bin bin/dfmt "${sourceFiles[@]}" +} + +src_test() { + cd tests || die + + dlang_compile_bin "run_tests" "test.d" + ./run_tests || die "Tests failed" + # Note, we're missing the unittests in the main binary. + # See make target bin/dfmt-test. +} + +src_install() { + dobin bin/dfmt + dodoc README.md LICENSE.txt + dobashcomp bash-completion/completions/dfmt +}
