blob: 6047e84446c2d1f12e1a5eabb554e9e31c8d4949 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Swiss-army knife for D source code"
HOMEPAGE="https://github.com/dlang-community/D-Scanner"
LICENSE="Boost-1.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug"
CONTAINERS="f4e79375539554b3793adf1c557361a64a073524"
DSYMBOL="b8920c2a4593e24d1ced91f8f0bce9e50f598e4d"
INIFILED="cecaff8037a60db2a51c9bded4802c87d938a44e"
LIBDDOC="9cf851e4476bdadccd96f3589e16ab9f9881c76d"
LIBDPARSE="6f0893f6b07ec561d382f26c81e74f7788056828"
ALLOCATOR="d6e6ce4a838e0dad43ef13f050f96627339cdccd"
GITHUB_URI="https://codeload.github.com"
SRC_URI="
${GITHUB_URI}/dlang-community/${PN}/tar.gz/v${PV} -> ${P}.tar.gz
${GITHUB_URI}/dlang-community/containers/tar.gz/${CONTAINERS} -> containers-${CONTAINERS}.tar.gz
${GITHUB_URI}/dlang-community/dsymbol/tar.gz/${DSYMBOL} -> dsymbol-${DSYMBOL}.tar.gz
${GITHUB_URI}/burner/inifiled/tar.gz/${INIFILED} -> inifiled-${INIFILED}.tar.gz
${GITHUB_URI}/economicmodeling/libddoc/tar.gz/${LIBDDOC} -> libddoc-${LIBDDOC}.tar.gz
${GITHUB_URI}/dlang-community/libdparse/tar.gz/${LIBDPARSE} -> libdparse-${LIBDPARSE}.tar.gz
${GITHUB_URI}/dlang-community/stdx-allocator/tar.gz/${ALLOCATOR} -> stdx-allocator-${ALLOCATOR}.tar.gz
"
S="${WORKDIR}/D-Scanner-${PV}"
DLANG_VERSION_RANGE="2.075-"
DLANG_PACKAGE_TYPE="single"
inherit dlang
src_prepare() {
mkdir bin || die "Failed to create 'bin' directory."
# Stop makefile from executing git to write an unused githash.txt
echo "v${PV}" > githash.txt || die "Could not generate githash"
touch githash || die "Could not generate githash"
# Apply patches
dlang_src_prepare
}
compile_dscanner() {
local container_src="../containers-${CONTAINERS}/src"
local dsymbol_src="../dsymbol-${DSYMBOL}/src"
local inifiled_src="../inifiled-${INIFILED}/source"
local libddoc_src="../libddoc-${LIBDDOC}/src"
local libdparse_src="../libdparse-${LIBDPARSE}/src"
local allocator_src="../stdx-allocator-${ALLOCATOR}/source"
local imports="src ${container_src} ${dsymbol_src} ${inifiled_src} ${libddoc_src} ${libdparse_src} ${allocator_src}"
local string_imports="."
local versions="StdLoggerDisableWarning"
use debug && versions="${versions} dparse_verbose"
local src=`find src -name "*.d" -printf "%p "`
local lib_src=`find ${container_src} ${dsymbol_src} ${inifiled_src} ${libddoc_src} ${libdparse_src} ${allocator_src} -name "*.d" -printf "%p "`
if [ "$1" == "unittest" ]; then
dlang_compile_lib_a bin/dscanner-unittest-lib.a "${lib_src}"
DCFLAGS="${DCFLAGS} ${DLANG_UNITTEST_FLAG}" dlang_compile_bin bin/dscanner-unittest bin/dscanner-unittest-lib.a "${src}"
else
dlang_compile_bin bin/dscanner "${src} ${lib_src}"
fi
}
d_src_compile() {
compile_dscanner
}
d_src_test() {
compile_dscanner unittest
bin/dscanner-unittest || die
}
d_src_install() {
dobin bin/dscanner
dodoc README.md LICENSE_1_0.txt
}
|