diff options
author | Sam James <sam@gentoo.org> | 2023-12-20 03:21:35 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-12-20 03:44:08 +0000 |
commit | be3984ef50b0c59df17d6202f6bd20334f963735 (patch) | |
tree | a3218442c06bace4ee6ce4cf2310ac942d45dd87 /dev-util/build2 | |
parent | dev-cpp/libodb-sqlite: add 2.5.0_beta25 (diff) | |
download | gentoo-be3984ef50b0c59df17d6202f6bd20334f963735.tar.gz gentoo-be3984ef50b0c59df17d6202f6bd20334f963735.tar.bz2 gentoo-be3984ef50b0c59df17d6202f6bd20334f963735.zip |
dev-util/build2: add 0.16.0
Closes: https://bugs.gentoo.org/916146
Closes: https://bugs.gentoo.org/914425
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/build2')
-rw-r--r-- | dev-util/build2/Manifest | 1 | ||||
-rw-r--r-- | dev-util/build2/build2-0.16.0.ebuild | 143 |
2 files changed, 144 insertions, 0 deletions
diff --git a/dev-util/build2/Manifest b/dev-util/build2/Manifest index 6b2a52834c2d..025ba8f3b810 100644 --- a/dev-util/build2/Manifest +++ b/dev-util/build2/Manifest @@ -1,2 +1,3 @@ DIST build2-toolchain-0.13.0.tar.xz 4218940 BLAKE2B ed27290df21e5db843325b3e42c43c6934ce8f2b9b157538b921f9cfe3a7dccc3b56e261053373553cbd7fbff39e912ffe2282f812d0e6f158749ed5748d5e33 SHA512 0485872acd40beb700739b2995f76efcc9811dd52a38ee049576e45fcb5a7d7ae9c718beca8aeab9ab3f1c5e0270d3946f2335f88ec19476577c195417c2dbd4 DIST build2-toolchain-0.14.0.tar.xz 4687616 BLAKE2B 98b2ec93c18027cbb3294650b3ad5d3dc97c1f06a6580437eac2db0297d3517cf327179f3a7c6efc611bffed5d028a034382d408ca58a976311d50a26534323c SHA512 d238a4ddfce8506b51b3b775738e818e7e0b36961a09ae0912c0c8688057b8393afebd4c0a28c6e6827c2e72ad5b82bc5e1231f798a66c2bb86b2b1e4ece73ef +DIST build2-toolchain-0.16.0.tar.xz 5545392 BLAKE2B daefa8745cd342b0de7d74c3b66e3811b95fec9b8c14b29b1fd030d796a31586e0ef401b296cdae5a2d27cf9c337092b707e5fb0673356edff35800bb4be5004 SHA512 f926f3be07287ae8d0ff44e04fdee8c80982db2fa9e33012afb3fe21ee6973d771a3df33a7b976cc714c905d443020501dc96ea3546c76600760c3574e6ae625 diff --git a/dev-util/build2/build2-0.16.0.ebuild b/dev-util/build2/build2-0.16.0.ebuild new file mode 100644 index 000000000000..e823b9f35655 --- /dev/null +++ b/dev-util/build2/build2-0.16.0.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN=build2-toolchain +MY_P="${MY_PN}-${PV}" + +inherit toolchain-funcs multiprocessing + +DESCRIPTION="Cross-platform toolchain for building and packaging C++ code" +HOMEPAGE="https://build2.org" +SRC_URI="https://download.build2.org/${PV}/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + ~dev-cpp/libodb-2.5.0_beta25 + ~dev-cpp/libodb-sqlite-2.5.0_beta25 + dev-db/sqlite:3 +" +BDEPEND="virtual/pkgconfig" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-0.14.0-update-for-install.patch +) + +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() { + # Unbundle dev-cpp/libodb and dev-cpp/libodb-sqlite + 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 -i \ + -e 's:libsqlite3[/]\?::' \ + 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 -i \ + -e 's:libodb-sqlite[/]\?::' \ + -e 's:libodb[/]\?::' \ + 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.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: build2/ bpkg/ bdep/ libbuild2-kconfig/ \ + config.install.chroot="${D}" + rm -rf "${ED}"/usr/include/odb \ + "${ED}"/usr/include/pkgconf/libpkgconf \ + || die + rm -f "${ED}"/usr/include/sqlite3.h \ + "${ED}"/usr/include/sqlite3ext.h \ + "${ED}"/usr/$(get_libdir)/libodb.so \ + "${ED}"/usr/$(get_libdir)/libodb-*.so \ + "${ED}"/usr/$(get_libdir)/libodb-sqlite.so \ + "${ED}"/usr/$(get_libdir)/libodb-sqlite-*.so \ + "${ED}"/usr/$(get_libdir)/libpkgconf.so \ + "${ED}"/usr/$(get_libdir)/libsqlite3.so \ + "${ED}"/usr/$(get_libdir)/pkgconfig/libodb-sqlite.pc \ + "${ED}"/usr/$(get_libdir)/pkgconfig/libodb.shared.pc \ + "${ED}"/usr/$(get_libdir)/pkgconfig/libodb-sqlite.shared.pc \ + "${ED}"/usr/$(get_libdir)/pkgconfig/libpkgconf.pc \ + "${ED}"/usr/$(get_libdir)/pkgconfig/libodb.pc \ + || die + mkdir -p "${ED}"/usr/share/doc/${PF}/html || die + mv -f "${ED}"/usr/share/doc/${PF}/*.xhtml "${ED}"/usr/share/doc/${PF}/html || die +} |