From 52dade07b3df7a2ddd6a8eacd9e3b516cbb85489 Mon Sep 17 00:00:00 2001 From: Steven Kreuzer Date: Wed, 2 Oct 2013 19:08:41 +0000 Subject: [PATCH] CppDB is a SQL connectivity library that is designed to provide platform and database independent connectivity API similarly to what JDBC, ODBC and other connectivity libraries do. It supports Sqlite3, PostgreSQL, MySQL and as many RDBMSs as possible via cppdb-odbc bridge. It was written with performance, simplicity in use and locale safety as the primary goals in mind. It also provides both explicit verbose API and brief and nice syntactic sugar. WWW: http://cppcms.com/sql/cppdb/ PR: ports/180404 Submitted by: Mohammad S. Babaei --- databases/Makefile | 1 + databases/cppdb/Makefile | 105 ++++++++++++++++++++++++++++++++++++++ databases/cppdb/distinfo | 2 + databases/cppdb/pkg-descr | 10 ++++ databases/cppdb/pkg-plist | 41 +++++++++++++++ 5 files changed, 159 insertions(+) create mode 100644 databases/cppdb/Makefile create mode 100644 databases/cppdb/distinfo create mode 100644 databases/cppdb/pkg-descr create mode 100644 databases/cppdb/pkg-plist diff --git a/databases/Makefile b/databases/Makefile index 3aa79e994fd5..b5d745df4bc1 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -31,6 +31,7 @@ SUBDIR += courier-authlib-pgsql SUBDIR += courier-authlib-userdb SUBDIR += courier-authlib-usergdbm + SUBDIR += cppdb SUBDIR += credis SUBDIR += cyrus-imspd SUBDIR += dalmp diff --git a/databases/cppdb/Makefile b/databases/cppdb/Makefile new file mode 100644 index 000000000000..bab1a26cc773 --- /dev/null +++ b/databases/cppdb/Makefile @@ -0,0 +1,105 @@ +# Created by: Mohammad S. Babaei +# $FreeBSD$ + +PORTNAME= cppdb +PORTVERSION= 0.3.1 +CATEGORIES= databases +MASTER_SITES= SF/cppcms/${PORTNAME}/${PORTVERSION} + +MAINTAINER= info@babaei.net +COMMENT= Platform and database independent SQL connectivity library + +LICENSE= BSL MIT +LICENSE_COMB= dual +LICENSE_FILE= ${WRKSRC}/copyright.txt + +NO_OPTIONS_SORT= yes +OPTIONS_SINGLE= SQLITE3 PGSQL MYSQL ODBC +OPTIONS_SINGLE_MYSQL= MYSQL_DISABLE MYSQL_INTERNAL MYSQL_MODULE +OPTIONS_SINGLE_ODBC= ODBC_DISABLE ODBC_INTERNAL ODBC_MODULE +OPTIONS_SINGLE_PGSQL= PGSQL_DISABLE PGSQL_INTERNAL PGSQL_MODULE +OPTIONS_SINGLE_SQLITE3= SQLITE3_DISABLE SQLITE3_INTERNAL SQLITE3_MODULE + +OPTIONS_DEFAULT= MYSQL_DISABLE ODBC_DISABLE PGSQL_DISABLE SQLITE3_MODULE + +MYSQL_DESC= MySQL Backend +MYSQL_DISABLE_DESC= Disable MySQL backend +MYSQL_INTERNAL_DESC= Link MySQL backend into CppDB +MYSQL_MODULE_DESC= Build MySQL backend as a CppDB module +ODBC_DESC= ODBC Backend +ODBC_DISABLE_DESC= Disable ODBC backend +ODBC_INTERNAL_DESC= Link ODBC backend into CppDB +ODBC_MODULE_DESC= Build ODBC backend as a CppDB module +PGSQL_DESC= PostgreSQL Backend +PGSQL_DISABLE_DESC= Disable PostgreSQL backend +PGSQL_INTERNAL_DESC= Link PostgreSQL backend into CppDB +PGSQL_MODULE_DESC= Build PostgreSQL backend as a CppDB module +SQLITE3_DESC= SQLite 3 Backend +SQLITE3_DISABLE_DESC= Disable SQLite 3 backend +SQLITE3_INTERNAL_DESC= Link SQLite 3 backend into CppDB +SQLITE3_MODULE_DESC= Build SQLite 3 backend as a CppDB module + +USE_BZIP2= yes +USE_LDCONFIG= yes +USES= cmake +MAKE_JOBS_SAFE= yes + +.include + +.if ${PORT_OPTIONS:MMYSQL_DISABLE} +CMAKE_ARGS+= -DDISABLE_MYSQL:BOOL=ON +PLIST_SUB+= MYSQL="@comment " +.else +USE_MYSQL= yes +CMAKE_ARGS+= -DDISABLE_MYSQL:BOOL=OFF +.if ${PORT_OPTIONS:MMYSQL_INTERNAL} +CMAKE_ARGS+= -DMYSQL_BACKEND_INTERNAL:BOOL=ON +.else +CMAKE_ARGS+= -DMYSQL_BACKEND_INTERNAL:BOOL=OFF +.endif +PLIST_SUB+= MYSQL="" +.endif + +.if ${PORT_OPTIONS:MODBC_DISABLE} +CMAKE_ARGS+= -DDISABLE_ODBC:BOOL=ON +PLIST_SUB+= ODBC="@comment " +.else +LIB_DEPENDS+= odbc:${PORTSDIR}/databases/unixODBC +CMAKE_ARGS+= -DDISABLE_ODBC:BOOL=OFF +.if ${PORT_OPTIONS:MODBC_INTERNAL} +CMAKE_ARGS+= -DODBC_BACKEND_INTERNAL:BOOL=ON +.else +CMAKE_ARGS+= -DODBC_BACKEND_INTERNAL:BOOL=OFF +.endif +PLIST_SUB+= ODBC="" +.endif + +.if ${PORT_OPTIONS:MPGSQL_DISABLE} +CMAKE_ARGS+= -DDISABLE_PQ:BOOL=ON +PLIST_SUB+= PGSQL="@comment " +.else +USE_PGSQL= yes +CMAKE_ARGS+= -DDISABLE_PQ:BOOL=OFF +.if ${PORT_OPTIONS:MPGSQL_INTERNAL} +CMAKE_ARGS+= -DPQ_BACKEND_INTERNAL:BOOL=ON +.else +CMAKE_ARGS+= -DPQ_BACKEND_INTERNAL:BOOL=OFF +.endif +PLIST_SUB+= PGSQL="" +.endif + +.if ${PORT_OPTIONS:MSQLITE3_DISABLE} +CMAKE_ARGS+= -DDISABLE_SQLITE:BOOL=ON +PLIST_SUB+= SQLITE3="@comment " +.else +USE_SQLITE= 3 +CMAKE_ARGS+= -DDISABLE_SQLITE:BOOL=OFF +.if ${PORT_OPTIONS:MSQLITE3_INTERNAL} +CMAKE_ARGS+= -DSQLITE_BACKEND_INTERNAL:BOOL=ON +.else +CMAKE_ARGS+= -DSQLITE_BACKEND_INTERNAL:BOOL=OFF +.endif +PLIST_SUB+= SQLITE3="" +.endif + +.include diff --git a/databases/cppdb/distinfo b/databases/cppdb/distinfo new file mode 100644 index 000000000000..6a8509771619 --- /dev/null +++ b/databases/cppdb/distinfo @@ -0,0 +1,2 @@ +SHA256 (cppdb-0.3.1.tar.bz2) = d60eef5a732d8f84ef5e4a2845a8cefc543a6c75bf3782589c2cf6aa150b992e +SIZE (cppdb-0.3.1.tar.bz2) = 251449 diff --git a/databases/cppdb/pkg-descr b/databases/cppdb/pkg-descr new file mode 100644 index 000000000000..c09407e00974 --- /dev/null +++ b/databases/cppdb/pkg-descr @@ -0,0 +1,10 @@ +CppDB is a SQL connectivity library that is designed to provide platform and +database independent connectivity API similarly to what JDBC, ODBC and other +connectivity libraries do. It supports Sqlite3, PostgreSQL, MySQL and as many +RDBMSs as possible via cppdb-odbc bridge. + +It was written with performance, simplicity in use and locale safety as the +primary goals in mind. It also provides both explicit verbose API and brief +and nice syntactic sugar. + +WWW: http://cppcms.com/sql/cppdb/ diff --git a/databases/cppdb/pkg-plist b/databases/cppdb/pkg-plist new file mode 100644 index 000000000000..c5030edf76f3 --- /dev/null +++ b/databases/cppdb/pkg-plist @@ -0,0 +1,41 @@ +include/cppdb/atomic_counter.h +include/cppdb/backend.h +include/cppdb/conn_manager.h +include/cppdb/connection_specific.h +include/cppdb/defs.h +include/cppdb/driver_manager.h +include/cppdb/errors.h +include/cppdb/frontend.h +include/cppdb/mutex.h +include/cppdb/numeric_util.h +include/cppdb/pool.h +include/cppdb/ref_ptr.h +include/cppdb/shared_object.h +include/cppdb/utils.h +lib/libcppdb.a +lib/libcppdb.so +lib/libcppdb.so.0 +lib/libcppdb.so.0.3.1 +%%MYSQL%%lib/libcppdb_mysql.a +%%MYSQL%%lib/libcppdb_mysql.so +%%MYSQL%%lib/libcppdb_mysql.so.0 +%%MYSQL%%lib/libcppdb_mysql.so.0.3.1 +%%ODBC%%lib/libcppdb_odbc.a +%%ODBC%%lib/libcppdb_odbc.so +%%ODBC%%lib/libcppdb_odbc.so.0 +%%ODBC%%lib/libcppdb_odbc.so.0.3.1 +%%PGSQL%%lib/libcppdb_postgresql.a +%%PGSQL%%lib/libcppdb_postgresql.so +%%PGSQL%%lib/libcppdb_postgresql.so.0 +%%PGSQL%%lib/libcppdb_postgresql.so.0.3.1 +%%SQLITE3%%lib/libcppdb_sqlite3.a +%%SQLITE3%%lib/libcppdb_sqlite3.so +%%SQLITE3%%lib/libcppdb_sqlite3.so.0 +%%SQLITE3%%lib/libcppdb_sqlite3.so.0.3.1 +share/licenses/cppdb-0.3.1/BSL +share/licenses/cppdb-0.3.1/LICENSE +share/licenses/cppdb-0.3.1/MIT +share/licenses/cppdb-0.3.1/catalog.mk +@dirrm share/licenses/cppdb-0.3.1 +@dirrm share/licenses +@dirrm include/cppdb