repo/gentoo:master commit in: dev-db/soci/
"Kenton Groombridge" <[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1786060105.47821905e42c6f3b3a3da858a583a4f839ced148.concord@gentoo> |
commit: 47821905e42c6f3b3a3da858a583a4f839ced148
Author: Jan-Espen Oversand <sigsegv <AT> radiotube <DOT> org>
AuthorDate: Sat Jun 20 07:06:36 2026 +0000
Commit: Kenton Groombridge <concord <AT> gentoo <DOT> org>
CommitDate: Thu Aug 6 23:48:25 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47821905
dev-db/soci: add 4.1.4
New version 4.1.4. Added new dependency on libfmt. Did not change our
FindMysql override according to changes in upstream. The upstream
version requires the mysqlclient/mariadb lib, according to my
understanding, to be passed as a path rather than -lsomething. The
upstream change will be able to take cflags from the mysqlclient
in addition to include dirs. In case any issues later surface that could
be related to this we might want to take a second look at the change
between v4.1.2 and v4.1.3.
Signed-off-by: Jan-Espen Oversand <sigsegv <AT> radiotube.org>
Part-of: https://github.com/gentoo/gentoo/pull/46446
Closes: https://github.com/gentoo/gentoo/pull/46446
Signed-off-by: Kenton Groombridge <concord <AT> gentoo.org>
dev-db/soci/Manifest | 1 +
dev-db/soci/soci-4.1.4.ebuild | 80 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 81 insertions(+)
diff --git a/dev-db/soci/Manifest b/dev-db/soci/Manifest
index 087f5d109175..c5f485eca9c1 100644
--- a/dev-db/soci/Manifest
+++ b/dev-db/soci/Manifest
@@ -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
diff --git a/dev-db/soci/soci-4.1.4.ebuild b/dev-db/soci/soci-4.1.4.ebuild
new file mode 100644
index 000000000000..802b8b7b1eab
--- /dev/null
+++ b/dev-db/soci/soci-4.1.4.ebuild
@@ -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
+}