| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 4.1.2-r2 | 8 | amd64 ~arm arm64 ppc64 ~x86 | 0 |
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake toolchain-funcs
DESCRIPTION="SOCI - The C++ Database Access Library"
HOMEPAGE="https://sourceforge.net/projects/soci/"
SRC_URI="https://sourceforge.net/projects/soci/files/soci/${P}/${P}.tar.gz/download -> ${P}.tar.gz"
LICENSE="Boost-1.0"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
IUSE="mariadb mysql odbc oracle postgres sqlite test"
REQUIRED_USE="?? ( mysql mariadb )"
RESTRICT="!test? ( test )"
CMAKE_SKIP_TESTS=(
soci_odbc_test_mssql
soci_odbc_test_mssql_static
soci_odbc_test_mysql
soci_odbc_test_mysql_static
soci_odbc_test_postgresql
soci_odbc_test_postgresql_static
soci_postgresql_test
soci_postgresql_test_static
soci_mysql_test
soci_mysql_test_static
)
RDEPEND="
>=dev-libs/boost-1.85.0-r1:=
mysql? ( dev-db/mysql-connector-c:0= )
mariadb? ( dev-db/mariadb-connector-c:0= )
odbc? ( dev-db/unixODBC )
oracle? ( dev-db/oracle-instantclient:=[sdk] )
postgres? ( dev-db/postgresql:= )
sqlite? ( dev-db/sqlite )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
"
src_prepare() {
cmake_src_prepare
cp "${FILESDIR}/FindMySQL.cmake" "cmake/find_modules" || die
}
src_configure() {
local mysql_backend_driver="$(usex mysql 'mysqlclient' "$(usev mariadb 'libmariadb')")"
local mysql_backend_cmake_args=(
)
if [[ -n "$mysql_backend_driver" ]]; then
local mysql_backend_include="$($(tc-getPKG_CONFIG) --cflags-only-I $mysql_backend_driver)"
local mysql_backend_libs="$($(tc-getPKG_CONFIG) --libs $mysql_backend_driver)"
if [[ -z "$mysql_backend_include" ]] || [[ -z "$mysql_backend_libs" ]]; then
die
fi
mysql_backend_cmake_args=(
-DMySQL_INCLUDE_DIRS="$(echo "$mysql_backend_include" | sed -e 's/-I//')"
-DMySQL_LIBRARIES="$mysql_backend_libs"
)
fi
local mycmakeargs=(
-DSOCI_STATIC=OFF
-DSOCI_TESTS="$(usex test)"
-DSOCI_DB2=OFF
-DSOCI_FIREBIRD=OFF
-DSOCI_MYSQL="$(usex mysql 'yes' $(usex mariadb))"
-DSOCI_ODBC="$(usex odbc)"
-DSOCI_ORACLE="$(usex oracle)"
-DSOCI_POSTGRESQL="$(usex postgres)"
-DSOCI_SQLITE3="$(usex sqlite)"
"${mysql_backend_cmake_args[@]}"
)
cmake_src_configure
}
>=dev-libs/boost-1.85.0-r1:= mysql? ( dev-db/mysql-connector-c:0= ) mariadb? ( dev-db/mariadb-connector-c:0= ) odbc? ( dev-db/unixODBC ) oracle? ( dev-db/oracle-instantclient:=[sdk] ) postgres? ( dev-db/postgresql:= ) sqlite? ( dev-db/sqlite )
>=dev-libs/boost-1.85.0-r1:= mysql? ( dev-db/mysql-connector-c:0= ) mariadb? ( dev-db/mariadb-connector-c:0= ) odbc? ( dev-db/unixODBC ) oracle? ( dev-db/oracle-instantclient:=[sdk] ) postgres? ( dev-db/postgresql:= ) sqlite? ( dev-db/sqlite )
virtual/pkgconfig