Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37566979
en ru br
ALT Linux repos
S:1.1.11-alt1.1

Group :: System/Libraries
RPM: mysql-connector-c++

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# see https://bugzilla.altlinux.org/show_bug.cgi?id=10382
%define _localstatedir %_var
%define major 7
%define libname libmysqlcppconn%major
%define develname libmysqlcppconn-devel

Summary: A MySQL database connector for C++
Name: mysql-connector-c++
Version: 1.1.11
Release: alt1.1
Group: System/Libraries
License: GPLv2
Url: http://dev.mysql.com/downloads/connector/cpp/
Source0: http://cdn.mysql.com/Downloads/Connector-C++/%name-%version.tar.gz
## patches from arch-linux
Patch0: mysql_cxx_linkage.patch
Patch1: mariadb_api.patch
Patch10: mysql-alt-cmake-remove-extra-libraries.patch
Source44: import.info

# Automatically added by buildreq on Sat Feb 03 2018

# optimized out: cmake-modules glibc-kernheaders-generic glibc-kernheaders-x86 libstdc++-devel python-base python-modules python3 python3-base
BuildRequires: boost-devel-headers cmake gcc-c++ libmysqlclient-devel python3-dev

%description
MySQL Connector/C++ is a MySQL database connector for C++ development. The
MySQL driver for C++ can be used to connect to MySQL from C++ applications. The
driver mimics the JDBC 4.0 API. It implements a significant subset of JDBC 4.0.

The Driver for C++ is designed to work best with MySQL 5.1 or later. Note - its
full functionality is not available when connecting to MySQL 5.0. You cannot
connect to MySQL 4.1 or earlier.

Using MySQL Connector/C++ instead of the MySQL C API (MySQL Client Library)
offers the following advantages for C++ users:

   * Convenience of pure C++ - no C function calls
   * Support of a well designed API - JDBC 4.0
   * Support of a commonly known and well documented API - JDBC 4.0
   * Support of the object oriented programming paradigma
   * Shorter development times

%package -n %libname
Summary: The shared mysql-connector-cpp library
Group: System/Libraries
Provides: %name = %version-%release

%description -n %libname
MySQL Connector/C++ is a MySQL database connector for C++ development. The
MySQL driver for C++ can be used to connect to MySQL from C++ applications. The
driver mimics the JDBC 4.0 API. It implements a significant subset of JDBC 4.0.

The Driver for C++ is designed to work best with MySQL 5.1 or later. Note - its
full functionality is not available when connecting to MySQL 5.0. You cannot
connect to MySQL 4.1 or earlier.

Using MySQL Connector/C++ instead of the MySQL C API (MySQL Client Library)
offers the following advantages for C++ users:

   * Convenience of pure C++ - no C function calls
   * Support of a well designed API - JDBC 4.0
   * Support of a commonly known and well documented API - JDBC 4.0
   * Support of the object oriented programming paradigma
   * Shorter development times

%package -n %develname
Summary: Development library and header files for development with mysql-connector-cpp
Group: Development/C++
Requires: %libname = %version
Provides: %name-devel = %version-%release

%description -n %develname
MySQL Connector/C++ is a MySQL database connector for C++ development. The
MySQL driver for C++ can be used to connect to MySQL from C++ applications. The
driver mimics the JDBC 4.0 API. It implements a significant subset of JDBC 4.0.

The Driver for C++ is designed to work best with MySQL 5.1 or later. Note - its
full functionality is not available when connecting to MySQL 5.0. You cannot
connect to MySQL 4.1 or earlier.

Using MySQL Connector/C++ instead of the MySQL C API (MySQL Client Library)
offers the following advantages for C++ users:

   * Convenience of pure C++ - no C function calls
   * Support of a well designed API - JDBC 4.0
   * Support of a commonly known and well documented API - JDBC 4.0
   * Support of the object oriented programming paradigma
   * Shorter development times

%prep
%setup
%patch0 -p1 -b .linkage
%patch1 -p1 -b .mariadb
%patch10 -p2
chmod -x examples/*.cpp examples/*.txt

# Save examples to keep directory clean (for doc)

mkdir _doc_examples
cp -pr examples _doc_examples

%build
%cmake \
-DMYSQL_INCLUDE_DIR=%_includedir/mysql \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=%_libdir \
-DMYSQLCPPCONN_BUILD_EXAMPLES=OFF \
-DMYSQL_LIB=%_libdir/libmysqlclient.so
%cmake_build

%install
cp %_cmake__builddir/cppconn/config.h  cppconn/config.h

%cmake_install
rm -fr %buildroot%prefix/BUILDINFO
rm -fr %buildroot%prefix/LICENSE
rm -fr %buildroot%prefix/INSTALL
rm -fr %buildroot%prefix/README
rm -fr %buildroot%prefix/ANNOUNCEMENT
rm -fr %buildroot%prefix/Licenses_for_Third-Party_Components.txt
rm -f %buildroot%_libdir/libmysqlcppconn-static.a

%files -n %libname
%_libdir/*.so.*

%files -n %develname
%doc README LICENSE examples
%dir %_includedir/cppconn
%_includedir/*.h
%_includedir/cppconn/*.h
%_libdir/*.so

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin