[packages/libsoci] - updated to 4.1.2 (new sonames); added -db2* packages on ibmdb2 bcond
qboosh
qboosh at pld-linux.org
Mon May 19 20:01:33 CEST 2025
commit 3efc45bc752510327011fb2a6bcfbb48a2a926e6
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon May 19 19:46:50 2025 +0200
- updated to 4.1.2 (new sonames); added -db2* packages on ibmdb2 bcond
libsoci.spec | 146 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 118 insertions(+), 28 deletions(-)
---
diff --git a/libsoci.spec b/libsoci.spec
index 80c4dc5..f95a693 100644
--- a/libsoci.spec
+++ b/libsoci.spec
@@ -1,7 +1,8 @@
-# TODO: db2
#
# Conditional build:
+%bcond_without static_libs # static libraries
%bcond_without firebird # Firebird backend
+%bcond_with ibmdb2 # IBM DB2 backend
%bcond_without mysql # MySQL backend
%bcond_without odbc # ODBC backend
%bcond_with oci # Oracle backend
@@ -12,17 +13,18 @@
Summary: The C++ Database Access Library
Summary(pl.UTF-8): Biblioteka obsługi baz danych dla C++
Name: libsoci
-Version: 4.0.3
+Version: 4.1.2
Release: 1
License: Boost Software License
Group: Libraries
-Source0: http://downloads.sourceforge.net/soci/soci-%{version}.tar.gz
-# Source0-md5: 7c6d5147ce10871e6a015a437c27de5c
-URL: http://soci.sourceforge.net/
+Source0: https://downloads.sourceforge.net/soci/soci-%{version}.tar.gz
+# Source0-md5: cb237328ff116834f0adcf87847121c1
+URL: https://soci.sourceforge.net/
%{?with_firebird:BuildRequires: Firebird-devel}
BuildRequires: boost-devel
-BuildRequires: cmake >= 2.8.0
-BuildRequires: libstdc++-devel >= 1:4.7
+BuildRequires: cmake >= 3.23
+%{?with_ibmdb2:BuildRequires: ibm-db2-clidriver-devel}
+BuildRequires: libstdc++-devel >= 1:5
%{?with_mysql:BuildRequires: mysql-devel}
%{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel >= 10}}
%{?with_pgsql:BuildRequires: postgresql-devel >= 7}
@@ -42,7 +44,7 @@ Summary: Header files for soci library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki soci
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: libstdc++-devel
+Requires: libstdc++-devel >= 6:5
%description devel
Header files for soci library.
@@ -62,6 +64,45 @@ Static soci library.
%description static -l pl.UTF-8
Statyczna biblioteka soci.
+%package db2
+Summary: IBM DB2 backend for soci
+Summary(pl.UTF-8): Backend IBM DB2 dla soci
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description db2
+This package contains library with the IBM DB2 binding for soci.
+
+%description db2 -l pl.UTF-8
+Ten pakiet zawiera bibliotekę do połączenia bazy IBM DB2 z soci.
+
+%package db2-devel
+Summary: Header files for soci IBM DB2 backend
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki soci IBM DB2
+Group: Development/Libraries
+Requires: %{name}-db2 = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+
+%description db2-devel
+Header files for soci IBM DB2 backend.
+
+%description db2-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki soci IBM DB2.
+
+%package db2-static
+Summary: IBM DB2 backend for soci (static version)
+Summary(pl.UTF-8): Backend IBM DB2 dla soci (wersja statyczna)
+Group: Development/Libraries
+Requires: %{name}-db2-devel = %{version}-%{release}
+
+%description db2-static
+This package contains static library with the IBM DB2 binding for
+soci.
+
+%description db2-static -l pl.UTF-8
+Ten pakiet zawiera statyczną bibliotekę do połączenia bazy IBM DB2 z
+soci.
+
%package firebird
Summary: Firebird backend for soci
Summary(pl.UTF-8): Backend Firebird-a dla soci
@@ -309,14 +350,13 @@ Dokumentacja biblioteki SOCI.
%setup -q -n soci-%{version}
%build
-install -d build
-cd build
%{?with_oci:%{?with_instantclient:export ORACLE_HOME=%{_libdir}}}
-%cmake .. \
- -DLIBDIR:PATH=%{_lib} \
+for build in shared %{?with_static_libs:static} ; do
+%cmake -B build-${build} \
+ %{?with_ibmdb2:-DDB2_INCLUDE_DIRS=%{_libdir}/clidriver/include} \
%{?with_instantclient:-DORACLE_INCLUDE_DIR=/usr/include/oracle/client} \
- -DSOCI_CXX11=ON \
- -DWITH_DB2=OFF \
+ $([ "$build" = "static" ] && echo -DSOCI_STATIC=ON) \
+ %{!?with_ibmdb2:-DWITH_DB2=OFF} \
%{!?with_firebird:-DWITH_FIREBIRD=OFF} \
%{!?with_mysql:-DWITH_MYSQL=OFF} \
%{!?with_odbc:-DWITH_ODBC=OFF} \
@@ -324,16 +364,16 @@ cd build
%{!?with_pgsql:-DWITH_POSTGRESQL=OFF} \
%{!?with_sqlite3:-DWITH_SQLITE3=OFF}
-%{__make}
+%{__make} -C build-${build}
+done
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} -C build install \
+for build in shared %{?with_static_libs:static} ; do
+%{__make} -C build-${build} install \
DESTDIR=$RPM_BUILD_ROOT
-
-# disable completeness check incompatible with split packaging
-%{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d; /^unset(_IMPORT_CHECK_TARGETS)/d' $RPM_BUILD_ROOT%{_libdir}/cmake/SOCI/SOCITargets.cmake
+done
%clean
rm -rf $RPM_BUILD_ROOT
@@ -341,6 +381,9 @@ rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post db2 -p /sbin/ldconfig
+%postun db2 -p /sbin/ldconfig
+
%post firebird -p /sbin/ldconfig
%postun firebird -p /sbin/ldconfig
@@ -363,9 +406,9 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc AUTHORS CHANGES LICENSE_1_0.txt README.md
%attr(755,root,root) %{_libdir}/libsoci_core.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_core.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_core.so.4
%attr(755,root,root) %{_libdir}/libsoci_empty.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_empty.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_empty.so.4
%files devel
%defattr(644,root,root,755)
@@ -374,108 +417,155 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_includedir}/soci
%{_includedir}/soci/*.h
%{_includedir}/soci/empty
-%{_libdir}/cmake/SOCI
+%dir %{_libdir}/cmake/soci-%{version}
+%dir %{_libdir}/cmake/soci-%{version}/find_package_files
+%{_libdir}/cmake/soci-%{version}/SOCICoreTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/SOCIEmptyTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/soci-config*.cmake
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libsoci_core.a
%{_libdir}/libsoci_empty.a
+%endif
+
+%if %{with ibmdb2}
+%files db2
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsoci_db2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsoci_db2.so.4
+
+%files db2-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsoci_db2.so
+%{_includedir}/soci/db2
+%{_libdir}/cmake/soci-%{version}/SOCIDB2Targets*.cmake
+%{_libdir}/cmake/soci-%{version}/find_package_files/FindDB2.cmake
+
+%if %{with static_libs}
+%files db2-static
+%defattr(644,root,root,755)
+%{_libdir}/libsoci_db2.a
+%endif
+%endif
%if %{with firebird}
%files firebird
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_firebird.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_firebird.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_firebird.so.4
%files firebird-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_firebird.so
%{_includedir}/soci/firebird
+%{_libdir}/cmake/soci-%{version}/SOCIFirebirdTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/find_package_files/FindFirebird.cmake
+%if %{with static_libs}
%files firebird-static
%defattr(644,root,root,755)
%{_libdir}/libsoci_firebird.a
%endif
+%endif
%if %{with mysql}
%files mysql
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_mysql.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_mysql.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_mysql.so.4
%files mysql-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_mysql.so
%{_includedir}/soci/mysql
+%{_libdir}/cmake/soci-%{version}/SOCIMySQLTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/find_package_files/FindMySQL.cmake
+%if %{with static_libs}
%files mysql-static
%defattr(644,root,root,755)
%{_libdir}/libsoci_mysql.a
%endif
+%endif
%if %{with odbc}
%files odbc
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_odbc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_odbc.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_odbc.so.4
%files odbc-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_odbc.so
%{_includedir}/soci/odbc
+%{_libdir}/cmake/soci-%{version}/SOCIODBCTargets*.cmake
+%if %{with static_libs}
%files odbc-static
%defattr(644,root,root,755)
%{_libdir}/libsoci_odbc.a
%endif
+%endif
%if %{with oci}
%files oracle
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_oracle.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_oracle.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_oracle.so.4
%files oracle-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_oracle.so
%{_includedir}/soci/oracle
+%{_libdir}/cmake/soci-%{version}/SOCIOracleTargets*.cmake
+%{_libdir}/cmake/soci-%{version}/find_package_files/FindOracle.cmake
+%if %{with static_libs}
%files oracle-static
%defattr(644,root,root,755)
%{_libdir}/libsoci_oracle.a
%endif
+%endif
%if %{with pgsql}
%files postgresql
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_postgresql.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_postgresql.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_postgresql.so.4
%files postgresql-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_postgresql.so
%{_includedir}/soci/postgresql
+%{_libdir}/cmake/soci-%{version}/SOCIPostgreSQLTargets*.cmake
+%if %{with static_libs}
%files postgresql-static
%defattr(644,root,root,755)
%{_libdir}/libsoci_postgresql.a
%endif
+%endif
%if %{with sqlite3}
%files sqlite3
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_sqlite3.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsoci_sqlite3.so.4.0
+%attr(755,root,root) %ghost %{_libdir}/libsoci_sqlite3.so.4
%files sqlite3-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsoci_sqlite3.so
%{_includedir}/soci/sqlite3
+%{_libdir}/cmake/soci-%{version}/SOCISQLite3Targets*.cmake
+%if %{with static_libs}
%files sqlite3-static
%defattr(644,root,root,755)
%{_libdir}/libsoci_sqlite3.a
%endif
+%endif
%files apidocs
%defattr(644,root,root,755)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/libsoci.git/commitdiff/3efc45bc752510327011fb2a6bcfbb48a2a926e6
More information about the pld-cvs-commit
mailing list