Merge updates from master

This commit is contained in:
Repository mirror & CI
2026-08-07 00:00:48 +00:00
2 changed files with 81 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST soci-4.1.2.tar.gz 4380345 BLAKE2B 9c2036fcf8a5021a4906384fceb4b9b0e7284a0daff6392d919a80c9d28d9bacb94346c0d5dffad571c8cb5da60d7e479dd4bc5cadcdd7a88e3918a714a35b45 SHA512 45fe481809abd9c22c609dd9488bf4c2d3fd9df20e5973be7898647061f52dbff260940f218337c351c2d33d1bcd10b811436bae4cbd03bcab827b76e41ac566
DIST soci-4.1.4.tar.gz 5104924 BLAKE2B 1267294e006a96199b344d285cab50fe3d27ebed58b71e5bd71b66a7094ea6dc8b196acee082ccaa028144e42abbcf0b568a269ca47956ac50e7925b0ee7e456 SHA512 56ec9b3643f34419c2adc0a0ad013426a32bcb42f4a86187c0d22a2cf63a8bebc432e877e6a8993b327b192ec7237e536ccbcfab72f4e6b5a2d8eb55400f74c5

View File

@@ -0,0 +1,80 @@
# 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
}