blob: e5b6999ee8008454508694c10a24b6f92c1cf810 (
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=build2-toolchain
MY_P="${MY_PN}-${PV}"
inherit toolchain-funcs multiprocessing
SRC_URI="https://download.build2.org/${PV}/${MY_P}.tar.xz"
KEYWORDS="~amd64 ~x86"
DESCRIPTION="cross-platform toolchain for building and packaging C++ code"
HOMEPAGE="https://build2.org"
LICENSE="MIT"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
~dev-cpp/libodb-2.5.0_beta19
~dev-cpp/libodb-sqlite-2.5.0_beta19
dev-db/sqlite:3
"
BDEPEND="virtual/pkgconfig"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-0.13.0_alpha0_pre20200710-nousrlocal.patch
)
S="${WORKDIR}/${MY_P}"
b() {
local myargs=(
--jobs $(makeopts_jobs)
--verbose 3
)
export LD_LIBRARY_PATH="${S}/libbutl/libbutl:${S}/build2/libbuild2:${S}/build2/libbuild2/bash:${S}/build2/libbuild2/in:${S}/build2/libbuild2/bin:${S}/build2/libbuild2/c:${S}/build2/libbuild2/cc:${S}/build2/libbuild2/cxx:${S}/build2/libbuild2/version:${S}/libpkgconf/libpkgconf:${LD_LIBRARY_PATH}"
set -- "${S}"/build2/build2/b-boot "${@}" "${myargs[@]}"
echo "${@}"
"${@}" || die "${@} failed"
}
src_prepare() {
printf 'cxx.libs += %s\ncxx.poptions += %s\n' \
"-L${EPREFIX}/usr/$(get_libdir) $($(tc-getPKG_CONFIG) sqlite3 --libs)" \
"$($(tc-getPKG_CONFIG) sqlite3 --cflags)" >> \
libodb-sqlite/buildfile \
|| die
sed \
-e 's:libsqlite3[/]\?::' \
-i buildfile build/bootstrap.build \
|| die
for i in build2/build2/buildfile build2/libbuild2/buildfile; do
printf 'cxx.libs += %s\ncxx.poptions += %s\n' \
"$($(tc-getPKG_CONFIG) libodb --libs)" \
"$($(tc-getPKG_CONFIG) libodb --cflags)" >> \
"${i}" \
|| die
printf 'cxx.libs += %s\ncxx.poptions += %s\n' \
"$($(tc-getPKG_CONFIG) libodb-sqlite --libs)" \
"$($(tc-getPKG_CONFIG) libodb-sqlite --cflags)" >> \
"${i}" \
|| die
done
sed \
-e 's:libodb[/]\?::' \
-e 's:libodb-sqlite[/]\?::' \
-i buildfile build/bootstrap.build \
|| die
if has_version dev-util/pkgconf; then
for i in build2/build2/buildfile build2/libbuild2/buildfile; do
printf 'cxx.libs += %s\ncxx.poptions += %s\n' \
"$($(tc-getPKG_CONFIG) libpkgconf --libs)" \
"$($(tc-getPKG_CONFIG) libpkgconf --cflags)" >> \
"${i}" \
|| die
done
sed \
-e 's:libpkgconf[/]\?::' \
-i buildfile build/bootstrap.build \
|| die
fi
default
}
src_configure() {
emake -C build2 -f bootstrap.gmake \
CXX=$(tc-getCXX) \
CXXFLAGS="${CXXFLAGS}" \
LDFLAGS="${LDFLAGS}"
b configure \
config.cxx="$(tc-getCXX)" \
config.cxx.coptions="${CXXFLAGS}" \
config.cxx.loptions="${LDFLAGS}" \
config.c="$(tc-getCC)" \
config.cc.coptions="${CFLAGS}" \
config.cc.loptions="${LDFLAGS}" \
config.bin.ar="$(tc-getAR)" \
config.bin.ranlib="$(tc-getRANLIB)" \
config.bin.lib=shared \
config.install.chroot="${D}" \
config.install.root="${EPREFIX}"/usr \
config.install.lib="${EPREFIX}"/usr/$(get_libdir) \
config.install.doc="${EPREFIX}"/usr/share/doc/${PF}
}
src_compile() {
b update-for-install
use test && b update-for-test
}
src_test() {
b test
}
src_install() {
b install
mkdir -p "${ED}"/usr/share/doc/${PF}/html || die
mv -f "${ED}"/usr/share/doc/${PF}/*.xhtml "${ED}"/usr/share/doc/${PF}/html || die
}
|