forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-cpp/libodb: Add for dev-util/build2
Package-Manager: Portage-3.0.0, Repoman-2.3.23 Signed-off-by: Mark Wright <[email protected]>
- Loading branch information
1 parent
228d69b
commit 696d1bb
Showing
4 changed files
with
185 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
DIST build2-toolchain-0.13.0.tar.xz 4218940 BLAKE2B ed27290df21e5db843325b3e42c43c6934ce8f2b9b157538b921f9cfe3a7dccc3b56e261053373553cbd7fbff39e912ffe2282f812d0e6f158749ed5748d5e33 SHA512 0485872acd40beb700739b2995f76efcc9811dd52a38ee049576e45fcb5a7d7ae9c718beca8aeab9ab3f1c5e0270d3946f2335f88ec19476577c195417c2dbd4 | ||
DIST libodb-2.5.0-b.19.tar.gz 101239 BLAKE2B d6c32e4e5bbacafbecf9e992f91604dac4bb50359d41709b81116f09ce805cd2a3388cf14b47acc60d9b5a52867de0725c1dbbc7603dda8ffaf64589b3057ecb SHA512 0a3e70afd2c2ba573676e1a2630986215b4c8e57a004f7d2f2227f301b6c58f739397a0efc8877902baf88b93aff83c9b67c9f5b5e87cc570d64bb76b7b8f66b |
52 changes: 52 additions & 0 deletions
52
dev-cpp/libodb/files/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- build2-toolchain-e135a3112b15c88f0601583ca068f8adea7b605d-orig/build2/libbuild2/cc/module.cxx 2020-07-10 20:12:57.000000000 +1000 | ||
+++ build2-toolchain-e135a3112b15c88f0601583ca068f8adea7b605d/build2/libbuild2/cc/module.cxx 2020-07-14 14:33:58.939950579 +1000 | ||
@@ -323,8 +323,6 @@ | ||
|
||
#ifndef _WIN32 | ||
static const dir_path usr_inc ("/usr/include"); | ||
- static const dir_path usr_loc_lib ("/usr/local/lib"); | ||
- static const dir_path usr_loc_inc ("/usr/local/include"); | ||
# ifdef __APPLE__ | ||
static const dir_path a_usr_inc ( | ||
"/Library/Developer/CommandLineTools/SDKs/MacOSX*.sdk/usr/include"); | ||
@@ -486,7 +484,6 @@ | ||
auto& ls (lib_dirs.first); | ||
|
||
bool ui (find (is.begin (), is.end (), usr_inc) != is.end ()); | ||
- bool uli (find (is.begin (), is.end (), usr_loc_inc) != is.end ()); | ||
|
||
#ifdef __APPLE__ | ||
// On Mac OS starting from 10.14 there is no longer /usr/include. | ||
@@ -509,7 +506,7 @@ | ||
// | ||
// Is Apple's /usr/include. | ||
// | ||
- if (!ui && !uli) | ||
+ if (!ui) | ||
{ | ||
for (const dir_path& d: is) | ||
{ | ||
@@ -521,22 +518,16 @@ | ||
} | ||
} | ||
#endif | ||
- if (ui || uli) | ||
+ if (ui) | ||
{ | ||
- bool ull (find (ls.begin (), ls.end (), usr_loc_lib) != ls.end ()); | ||
- | ||
// Many platforms don't search in /usr/local/lib by default (but do | ||
// for headers in /usr/local/include). So add it as the last option. | ||
// | ||
- if (!ull && exists (usr_loc_lib, true /* ignore_error */)) | ||
- ls.push_back (usr_loc_lib); | ||
|
||
// FreeBSD is at least consistent: it searches in neither. Quoting | ||
// its wiki: "FreeBSD can't even find libraries that it installed." | ||
// So let's help it a bit. | ||
// | ||
- if (!uli && exists (usr_loc_inc, true /* ignore_error */)) | ||
- is.push_back (usr_loc_inc); | ||
} | ||
} | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
MY_P="${PN}-$(ver_cut 1-3)-b.$(ver_cut 5)" | ||
|
||
BUILD2_PN=build2-toolchain | ||
BUILD2_PV="0.13.0" | ||
BUILD2_P="${BUILD2_PN}-${BUILD2_PV}" | ||
|
||
inherit toolchain-funcs multiprocessing | ||
SRC_URI="https://pkg.cppget.org/1/beta/odb/${MY_P}.tar.gz | ||
https://download.build2.org/${BUILD2_PV}/${BUILD2_P}.tar.xz" | ||
KEYWORDS="~amd64 ~x86" | ||
DESCRIPTION="Common ODB runtime library" | ||
HOMEPAGE="https://codesynthesis.com/products/odb/" | ||
|
||
LICENSE="|| ( Code-Synthesis-ODB GPL-2 )" | ||
SLOT="0" | ||
IUSE="test" | ||
RESTRICT="!test? ( test )" | ||
|
||
DEPEND=" | ||
" | ||
BDEPEND="virtual/pkgconfig" | ||
RDEPEND="${DEPEND} | ||
!<dev-util/build2-0.13.0 | ||
" | ||
|
||
BS="${WORKDIR}/${BUILD2_P}" | ||
S="${WORKDIR}/${MY_P}" | ||
|
||
b() { | ||
local myargs=( | ||
--jobs $(makeopts_jobs) | ||
--verbose 3 | ||
) | ||
export LD_LIBRARY_PATH="${BS}/libbutl/libbutl:${BS}/build2/libbuild2:${BS}/build2/libbuild2/bash:${BS}/build2/libbuild2/in:${BS}/build2/libbuild2/bin:${BS}/build2/libbuild2/c:${BS}/build2/libbuild2/cc:${BS}/build2/libbuild2/cxx:${BS}/build2/libbuild2/version:${BS}/libpkgconf/libpkgconf:${LD_LIBRARY_PATH}" | ||
set -- "${BS}"/build2/build2/b-boot "${@}" "${myargs[@]}" | ||
echo "${@}" | ||
"${@}" || die "${@} failed" | ||
} | ||
|
||
src_prepare() { | ||
pushd "${BS}" || die | ||
eapply "${FILESDIR}"/build2-0.13.0_alpha0_pre20200710-nousrlocal.patch | ||
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 | ||
|
||
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 | ||
popd || die | ||
|
||
default | ||
} | ||
|
||
src_configure() { | ||
pushd "${BS}" || die | ||
emake -C build2 -f bootstrap.gmake \ | ||
CXX=$(tc-getCXX) \ | ||
CXXFLAGS="${CXXFLAGS}" \ | ||
LDFLAGS="${LDFLAGS}" | ||
popd || die | ||
|
||
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 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> | ||
<pkgmetadata> | ||
<maintainer type="person"> | ||
<email>[email protected]</email> | ||
<name>Mark Wright</name> | ||
</maintainer> | ||
<longdescription lang="en"> | ||
ODB is an open-source, cross-platform, and cross-database | ||
object-relational mapping (ORM) system for C++. It allows you | ||
to persist C++ objects to a relational database without having | ||
to deal with tables, columns, or SQL and without manually | ||
writing any mapping code. ODB supports MySQL, SQLite, | ||
PostgreSQL, Oracle, and Microsoft SQL Server relational | ||
databases as well as C++98/03 and C++11 language standards. It | ||
also comes with optional profiles for Boost and Qt which allow | ||
you to seamlessly use value types, containers, and smart | ||
pointers from these libraries in your persistent C++ classes. | ||
</longdescription> | ||
</pkgmetadata> |