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
%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