# 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 }