Install this version:
emerge -a =dev-db/soci-4.1.4
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-db/soci-4.1.4
Or alternatively:
emerge --autounmask-write -a =dev-db/soci-4.1.4
# 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:=
>=dev-libs/libfmt-12.1.0:=
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
}
Manage flags for this package:
euse -i <flag> -p dev-db/soci |
euse -E <flag> -p dev-db/soci |
euse -D <flag> -p dev-db/soci
>=dev-libs/boost-1.85.0-r1:= >=dev-libs/libfmt-12.1.0:= 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:= >=dev-libs/libfmt-12.1.0:= 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
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | soci-4.1.4.tar.gz | 5104924 bytes | https://sourceforge.net/projects/soci/files/soci/soci-4.1.4/soci-4.1.4.tar.gz/download |