Gentoo Archives: gentoo-commits

From: Mark Wright <gienah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/build2/, dev-util/build2/files/
Date: Sun, 27 Mar 2022 00:59:31
Message-Id: 1648342763.2e83b5676703ca96a2b15eb5ff65695d26fed92e.gienah@gentoo
1 commit: 2e83b5676703ca96a2b15eb5ff65695d26fed92e
2 Author: Mark Wright <gienah <AT> gentoo <DOT> org>
3 AuthorDate: Sun Mar 27 00:58:41 2022 +0000
4 Commit: Mark Wright <gienah <AT> gentoo <DOT> org>
5 CommitDate: Sun Mar 27 00:59:23 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e83b567
7
8 dev-util/build2: Bump to 0.14.0
9
10 Package-Manager: Portage-3.0.30, Repoman-3.0.3
11 Signed-off-by: Mark Wright <gienah <AT> gentoo.org>
12
13 dev-util/build2/Manifest | 1 +
14 dev-util/build2/build2-0.14.0.ebuild | 144 +++++++++++++++++++++
15 .../files/build2-0.14.0-update-for-install.patch | 12 ++
16 3 files changed, 157 insertions(+)
17
18 diff --git a/dev-util/build2/Manifest b/dev-util/build2/Manifest
19 index b147c4c33705..6b2a52834c2d 100644
20 --- a/dev-util/build2/Manifest
21 +++ b/dev-util/build2/Manifest
22 @@ -1 +1,2 @@
23 DIST build2-toolchain-0.13.0.tar.xz 4218940 BLAKE2B ed27290df21e5db843325b3e42c43c6934ce8f2b9b157538b921f9cfe3a7dccc3b56e261053373553cbd7fbff39e912ffe2282f812d0e6f158749ed5748d5e33 SHA512 0485872acd40beb700739b2995f76efcc9811dd52a38ee049576e45fcb5a7d7ae9c718beca8aeab9ab3f1c5e0270d3946f2335f88ec19476577c195417c2dbd4
24 +DIST build2-toolchain-0.14.0.tar.xz 4687616 BLAKE2B 98b2ec93c18027cbb3294650b3ad5d3dc97c1f06a6580437eac2db0297d3517cf327179f3a7c6efc611bffed5d028a034382d408ca58a976311d50a26534323c SHA512 d238a4ddfce8506b51b3b775738e818e7e0b36961a09ae0912c0c8688057b8393afebd4c0a28c6e6827c2e72ad5b82bc5e1231f798a66c2bb86b2b1e4ece73ef
25
26 diff --git a/dev-util/build2/build2-0.14.0.ebuild b/dev-util/build2/build2-0.14.0.ebuild
27 new file mode 100644
28 index 000000000000..7382fef53347
29 --- /dev/null
30 +++ b/dev-util/build2/build2-0.14.0.ebuild
31 @@ -0,0 +1,144 @@
32 +# Copyright 1999-2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
36 +
37 +MY_PN=build2-toolchain
38 +MY_P="${MY_PN}-${PV}"
39 +
40 +inherit toolchain-funcs multiprocessing
41 +SRC_URI="https://download.build2.org/${PV}/${MY_P}.tar.xz"
42 +KEYWORDS="~amd64 ~x86"
43 +DESCRIPTION="cross-platform toolchain for building and packaging C++ code"
44 +HOMEPAGE="https://build2.org"
45 +
46 +LICENSE="MIT"
47 +SLOT="0"
48 +IUSE="test"
49 +RESTRICT="!test? ( test )"
50 +
51 +RDEPEND="
52 + ~dev-cpp/libodb-2.5.0_beta21
53 + ~dev-cpp/libodb-sqlite-2.5.0_beta21
54 + dev-db/sqlite:3
55 +"
56 +BDEPEND="virtual/pkgconfig"
57 +DEPEND="${RDEPEND}"
58 +
59 +PATCHES=(
60 + "${FILESDIR}"/${PN}-0.13.0_alpha0_pre20200710-nousrlocal.patch
61 + "${FILESDIR}"/${PN}-0.14.0-update-for-install.patch
62 +)
63 +
64 +S="${WORKDIR}/${MY_P}"
65 +
66 +b() {
67 + local myargs=(
68 + --jobs $(makeopts_jobs)
69 + --verbose 3
70 + )
71 + 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}"
72 + set -- "${S}"/build2/build2/b-boot "${@}" "${myargs[@]}"
73 + echo "${@}"
74 + "${@}" || die "${@} failed"
75 +}
76 +
77 +src_prepare() {
78 + printf 'cxx.libs += %s\ncxx.poptions += %s\n' \
79 + "-L${EPREFIX}/usr/$(get_libdir) $($(tc-getPKG_CONFIG) sqlite3 --libs)" \
80 + "$($(tc-getPKG_CONFIG) sqlite3 --cflags)" >> \
81 + libodb-sqlite/buildfile \
82 + || die
83 + sed \
84 + -e 's:libsqlite3[/]\?::' \
85 + -i buildfile build/bootstrap.build \
86 + || die
87 +
88 + for i in build2/build2/buildfile build2/libbuild2/buildfile; do
89 + printf 'cxx.libs += %s\ncxx.poptions += %s\n' \
90 + "$($(tc-getPKG_CONFIG) libodb --libs)" \
91 + "$($(tc-getPKG_CONFIG) libodb --cflags)" >> \
92 + "${i}" \
93 + || die
94 + printf 'cxx.libs += %s\ncxx.poptions += %s\n' \
95 + "$($(tc-getPKG_CONFIG) libodb-sqlite --libs)" \
96 + "$($(tc-getPKG_CONFIG) libodb-sqlite --cflags)" >> \
97 + "${i}" \
98 + || die
99 + done
100 + sed \
101 + -e 's:libodb[/]\?::' \
102 + -e 's:libodb-sqlite[/]\?::' \
103 + -i buildfile build/bootstrap.build \
104 + || die
105 +
106 + if has_version dev-util/pkgconf; then
107 + for i in build2/build2/buildfile build2/libbuild2/buildfile; do
108 + printf 'cxx.libs += %s\ncxx.poptions += %s\n' \
109 + "$($(tc-getPKG_CONFIG) libpkgconf --libs)" \
110 + "$($(tc-getPKG_CONFIG) libpkgconf --cflags)" >> \
111 + "${i}" \
112 + || die
113 + done
114 + sed \
115 + -e 's:libpkgconf[/]\?::' \
116 + -i buildfile build/bootstrap.build \
117 + || die
118 + fi
119 +
120 + default
121 +}
122 +
123 +src_configure() {
124 + emake -C build2 -f bootstrap.gmake \
125 + CXX=$(tc-getCXX) \
126 + CXXFLAGS="${CXXFLAGS}" \
127 + LDFLAGS="${LDFLAGS}"
128 +
129 + b configure \
130 + config.cxx="$(tc-getCXX)" \
131 + config.cxx.coptions="${CXXFLAGS}" \
132 + config.cxx.loptions="${LDFLAGS}" \
133 + config.c="$(tc-getCC)" \
134 + config.cc.coptions="${CFLAGS}" \
135 + config.cc.loptions="${LDFLAGS}" \
136 + config.bin.ar="$(tc-getAR)" \
137 + config.bin.ranlib="$(tc-getRANLIB)" \
138 + config.bin.lib=shared \
139 + config.install.root="${EPREFIX}"/usr \
140 + config.install.lib="${EPREFIX}"/usr/$(get_libdir) \
141 + config.install.doc="${EPREFIX}"/usr/share/doc/${PF}
142 +}
143 +
144 +src_compile() {
145 + b update-for-install
146 + use test && b update-for-test
147 +}
148 +
149 +src_test() {
150 + b test
151 +}
152 +
153 +src_install() {
154 + b install: build2/ bpkg/ bdep/ libbuild2-kconfig/ \
155 + config.install.chroot="${D}"
156 + rm -rf "${ED}"/usr/include/odb \
157 + "${ED}"/usr/include/pkgconf/libpkgconf \
158 + || die
159 + rm -f "${ED}"/usr/include/sqlite3.h \
160 + "${ED}"/usr/include/sqlite3ext.h \
161 + "${ED}"/usr/$(get_libdir)/libodb.so \
162 + "${ED}"/usr/$(get_libdir)/libodb-*.so \
163 + "${ED}"/usr/$(get_libdir)/libodb-sqlite.so \
164 + "${ED}"/usr/$(get_libdir)/libodb-sqlite-*.so \
165 + "${ED}"/usr/$(get_libdir)/libpkgconf.so \
166 + "${ED}"/usr/$(get_libdir)/libsqlite3.so \
167 + "${ED}"/usr/$(get_libdir)/pkgconfig/libodb-sqlite.pc \
168 + "${ED}"/usr/$(get_libdir)/pkgconfig/libodb.shared.pc \
169 + "${ED}"/usr/$(get_libdir)/pkgconfig/libodb-sqlite.shared.pc \
170 + "${ED}"/usr/$(get_libdir)/pkgconfig/libpkgconf.pc \
171 + "${ED}"/usr/$(get_libdir)/pkgconfig/libodb.pc \
172 + || die
173 + mkdir -p "${ED}"/usr/share/doc/${PF}/html || die
174 + mv -f "${ED}"/usr/share/doc/${PF}/*.xhtml "${ED}"/usr/share/doc/${PF}/html || die
175 +}
176
177 diff --git a/dev-util/build2/files/build2-0.14.0-update-for-install.patch b/dev-util/build2/files/build2-0.14.0-update-for-install.patch
178 new file mode 100644
179 index 000000000000..28467f67dc24
180 --- /dev/null
181 +++ b/dev-util/build2/files/build2-0.14.0-update-for-install.patch
182 @@ -0,0 +1,12 @@
183 +--- build2-toolchain-0.14.0-orig/buildfile 2021-10-19 20:44:33.000000000 +1100
184 ++++ build2-toolchain-0.14.0/buildfile 2022-03-26 20:47:10.191006537 +1100
185 +@@ -6,9 +6,6 @@
186 + # installation instructions in the BOOTSTRAP-* file corresponding to
187 + # your platform/compiler.
188 + #
189 +-assert ($build.meta_operation == 'dist' || \
190 +- $build.meta_operation == 'configure' || \
191 +- $build.meta_operation == 'disfigure') 'only dist and configure supported'
192 +
193 + # Package repository URL (or path).
194 + #