commit:     45d66397fb075bb928e384dc227143dacc54145f
Author:     Jan-Espen Oversand <sigsegv <AT> radiotube <DOT> org>
AuthorDate: Fri Dec 13 23:24:40 2024 +0000
Commit:     Jan-Espen Oversand <sigsegv <AT> radiotube <DOT> org>
CommitDate: Fri Dec 13 23:24:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=45d66397

dev-db/soci: add use flags for backends and cmake flags

Signed-off-by: Jan-Espen Oversand <sigsegv <AT> radiotube.org>

 dev-db/soci/metadata.xml         |  5 ++++
 dev-db/soci/soci-4.0.3-r1.ebuild | 50 ++++++++++++++++++++++++++++++++++++++++
 dev-db/soci/soci-4.0.3.ebuild    | 28 ----------------------
 3 files changed, 55 insertions(+), 28 deletions(-)

diff --git a/dev-db/soci/metadata.xml b/dev-db/soci/metadata.xml
index e64cd5769..69b1e1d6a 100644
--- a/dev-db/soci/metadata.xml
+++ b/dev-db/soci/metadata.xml
@@ -5,6 +5,11 @@
     <email>[email protected]</email>
     <description>Jan-Espen Oversand</description>
   </maintainer>
+  <use>
+    <flag name="ubsan">Enable running with UB sanitizer</flag>
+    <flag name="shared">Enable dynamic linking with shared objects</flag>
+    <flag name="cxx11">Enable c++11 support</flag>
+  </use>
   <upstream>
     <remote-id type="sourceforge">soci</remote-id>
   </upstream>

diff --git a/dev-db/soci/soci-4.0.3-r1.ebuild b/dev-db/soci/soci-4.0.3-r1.ebuild
new file mode 100644
index 000000000..3ca7b75a7
--- /dev/null
+++ b/dev-db/soci/soci-4.0.3-r1.ebuild
@@ -0,0 +1,50 @@
+
+EAPI=8
+
+inherit cmake
+
+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"
+IUSE="odbc sqlite oracle postgres mysql +shared +static test ubsan lto cxx11"
+REQUIRED_USE="|| ( shared static )"
+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
+       odbc? ( dev-db/unixODBC )
+       sqlite? ( dev-db/sqlite )
+       oracle? ( dev-db/oracle-instantclient[sdk] )
+       postgres? ( dev-db/postgresql )
+       mysql? ( dev-db/mysql )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+       local mycmakeargs=(
+               -DSOCI_SHARED="$(usex shared)"
+               -DSOCI_STATIC="$(usex static)"
+               -DSOCI_TESTS="$(usex test)"
+               -DSOCI_UBSAN="$(usex ubsan)"
+               -DSOCI_LTO="$(usex lto)"
+               -DSOCI_CXX11="$(usex cxx11)"
+       )
+       cmake_src_configure
+}

diff --git a/dev-db/soci/soci-4.0.3.ebuild b/dev-db/soci/soci-4.0.3.ebuild
deleted file mode 100644
index dfdd6ed83..000000000
--- a/dev-db/soci/soci-4.0.3.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="SOCI - The C++ Database Access Library"
-HOMEPAGE="https://sourceforge.net/projects/soci/";
-SRC_URI="https://sourceforge.net/projects/soci/files/soci/soci-4.0.3/${P}.tar.gz/download
 -> ${P}.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-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
-)
-
-RDEPEND=">=dev-libs/boost-1.85.0-r1 >=dev-db/unixODBC-2.3.12 
>=dev-db/sqlite-3.46.1"
-DEPEND="${RDEPEND}"
-

Reply via email to