summaryrefslogtreecommitdiff
path: root/databases/libpqxx
diff options
context:
space:
mode:
authorhiramatsu <hiramatsu@pkgsrc.org>2013-02-12 04:35:24 +0000
committerhiramatsu <hiramatsu@pkgsrc.org>2013-02-12 04:35:24 +0000
commitf94f84ebf1bc47d5fac72f13b51e120726bd3a4b (patch)
tree28d85f76f7efb54d44e3d45e23b5f43e0bb34668 /databases/libpqxx
parentd7e654082c07e764c6c8c6a4c4f850b9dc80e712 (diff)
downloadpkgsrc-f94f84ebf1bc47d5fac72f13b51e120726bd3a4b.tar.gz
Update libpqxx from 2.5.5 to 4.0.1.
Changes from previous ===================== 4.0.1 - Support for REPEATABLE READ isolation level. - Build fix for OS X. - Build fixes for clang++ 3.2. - Build fixes for clang++ 3.0. - Build fix for MinGW. - Build fix for BSD (and possibly other grep flavours). - Compatibility typedefs: pqxx::result::tuple & pqxx::result::field. - Supports C++11. - Fixed failure to detect some integer overflows during conversion. 4.0 - API change: noticers are gone! Use errorhandlers to capture error output. - API change: tablereaders and tablewriters are gone; they weren't safe. - API change: prepared statements are now weakly-typed, and much simpler. - API change: fields and tuples are now stand-alone classes in ::pqxx. - API change: thread-safety field have_strerror_r is now have_safe_strerror. - API change: notify_listener has been replaced with notification_receiver. - notification_receiver takes a payload parameter. - Easier Visual C++ setup. - Absolutely requires a libpq version with PQescapeStringConn. - Absolutely requires libpq 8.0 or better. - Changes for C++0x. - Supports clang++. - Visual C++ makefiles now support new-style unit tests. - Sample headers for more recent Visual Studio versions. - Fixes binary-data escaping problems with postgres 9.0. - Fixes problems with binary-string handling and escaping. - Fixes compatibility problems between 9.x libpq and 7.x backend. - quote_name to escape SQL identifiers for use in queries. - syntax_error reports error's approximate location in the query. - On Windows, now uses ws2_32 instead of wsock32. - Various Windows build fixes. - Updated for gcc 4.6.0. - configure script supports --enable-documentation/--disable-documentation. - Streamlined test/release toolchain. 3.1 - Shared libraries are now versioned by ABI: 3.1 instead of 3.1.0 etc. - Threading behaviour is now documented, and can be queried. - Version information available at compile time. - Supports parameterized statements. - Result tuples now support slicing. - Configure with --with-tr1=boost to use BOOST shared_ptr. - String conversion now has its own header file. - Supports read-only transactions. - Fixed breakage with Solaris "make". - Uses shared_ptr if available. - binarystring::str() is no longer cached; no longer returns reference. - Fixed problems in Visual C++ Makefile for test suite. - Fixed problems with RPM packaging. - Fixed build problem on RedHat/CentOS 5. - Lets you check whether a prepared statement has been defined. - "Varargs" prepared statements. - Unnamed prepared statements now supported. - Results have iterator as well as const_iterator. - Rewrite of robusttransaction logic; may actually do its job now. - Connections support async query cancel from signal handler or thread. - More documentation for performance features. 3.0 - Website is now at http://pqxx.org/ (no redirects) - Completely replaced cursor classes - More helpful error messages on failed connections - More detailed hierarchy of constraint-violation exception classes - trigger is now called notify_listener, trigger header is now notify-listen - New mixin base class pqxx_exception distinguishes libpqxx exception types - Quoting is back! transaction_base::quote() & connection_base::quote() - Several build & documentation problems with Visual C++ fixed - Compile fixes for gcc 4.2, 4.3 - Compile fixes for Sun Studio Express 5.9 - Uses strlcpy() where available, instead of strncpy() - Keeps better track of applicable text encodings - Fixed bug with prepared statement parameters in separate C++ statements - robusttransaction now works for multiple users - Pipeline lets you cancel ongoing queries, e.g. because they run for too long - Fixed broken escaping of binary values in tablewriter - Floating-point types now represented with full precision - Proper unit tests for new functionality - New traits-based system for adding data types - Floating-point infinities now supported - Flushing/completing a pipeline now frees up the transaction for other use - Completely reworked test suite, builds and runs much faster - tablewriter supports writing of raw lines 2.6.9 - Removed old 1.x API (that means all identifiers with capital letters!) - Tested with all current libpq versions and oldest/newest supported backends - No longer have old OnCommit()/OnAbort()/OnDoubt() callbacks in transactor! - Fixes failure when closing cursors with upper-case letters in their names - Fixes bug when adding triggers to connections that aren't open yet - Fixes bug when removing triggers - Fixes small memory leak when preparing statements - Fixes many problems with older backends - Fixes bug in result::swap(): protocol versions were not swapped - Some errors went undetected when using certain libpq versions - Fixes prepared statements on new libpq versions talking to old backends - Can estimate server version if libpq does not know how to obtain it - Greatly reduced memory usage while escaping strings - With Visual C++, creates lib/ directory if not already present - Useful error messages when preparing statements - Allows prepared statements to be registered explicitly - Support for "long long" types; enable with PQXX_ALLOW_LONG_LONG macro - Compilation errors for older libpq versions fixed - Some new small utility classes for disabling notice processing etc. - Result sets remember the queries that yielded them - New test script, pqxx-fulltest, tests against all current postgres versions - Connections can simulate failure - Adds password encryption function 2.6.8 - Fixes bug: binary parameters to prepared statements truncated at nul bytes - New, more specific exception types to distinguish errors from server - Resolved serious problems with generated reference documentation - Automatically detect Windows socket library with MinGW - Windows "make" fixed to run from main directory, not win32 - Fixes "mktemp" problems on some BSD-based platforms - pqxx-config is deprecated; use pkg-config instead - On GNU/Linux, uses poll() instead of select() to avoid file descriptor limit - Will provide server and protocol version information where available - New cursor class, absolute_cursor 2.6.7 - New escape functions for binary data: transaction_base::esc_raw() - Improved detection of socket libraries, especially for MinGW - Works around bug in some versions of GNU grep 2.5.1 - Fixes problem with configuration headers - Fixes PQprepare() detection - Fixes incomplete Visual C++ Makefile - Fixes compile error in workaround for older libpq versions - Removes "rpath" link option 2.6.6 - New, encoding-safe string-escaping functions - Upper-case letters now allowed in prepared-statement names - Fixes crash in test005 - More Visual C++ improvements - Removed collaboration diagrams from reference docs - New templating system for generating Windows Makefiles etc. 2.6.5 - Visual C++ users: copy win32/common-sample to win32/common before editing it - Should fix problems finding socket library on MinGW - Even more work on Visual C++ problems - Updated documentation for Visual C++ users - Fixed bug in prepared statements (mostly visible on Visual C++) - Nested transactions work harder to detect backend support 2.6.4 - Massively improved compatibility with Windows and Visual C++ - Fixed late initialization of "direct" connection state - Fixed problem with initialization of connection capabilities - Fixed configuration bug for libpq in nonstandard locations - Sample configuration header for libpq found in PostgreSQL 8.1 2.6.3 - Radical rework of prepared statements; INCOMPATIBLE INTERFACE CHANGE! - Dropped support for g++ 2.95 - Emulate prepared statements support on old libpq or old backend - Bug fix: missing tutorial (release script now tests for this) - Automatically links in socket library on Windows or Solaris, if needed - Bug fix: check for std namespace didn't work - Fixes for Cygwin/MSYS/MinGW 2.6.2 - Bug fix: connection state was not set up properly in some common cases - Bug fix: headers were installed in "include" instead of "include/pqxx" - Bug fix: sqlesc(string) broke with multibyte or multiple encodings - namedclass is now used as a virtual base; affects all subclass constructors - Initial implementation of subtransactions - Detect more connection capabilities - Standard library namespace can be set from configure script's command line - Completely reworked connection hierarchy, with separate policy objects - Clients can now define their own connection policies - Paved the way for client-defined thread synchronization - Now lives at http://thaiopensource.org/development/libpqxx/ 2.6.1 - Hugely improved recognition of different strerror_r() versions - Resolved link problems with gcc 4.0 and shared library 2.6.0 - New macro PQXX_SHARED defines whether to use/build libpqxx as shared library - Robusttransaction compatible with PostgreSQL 8.1 - Infrastructure for querying connection/backend capabilities at runtime - Greatly improved cursor support - Connection reactivation can be inhibited explicitly - Tries even harder to make sense of conflicting strerror_r() definitions - Detects connection failures that libpq glosses over - Reference documentation grouped into more coherent sections - Assumes strerror() is threadsafe on systems that have no strerror_r() - Now allows connection's socket number to be queried - New internal_error class for libpqxx-internal errors - With Visual C++, doesn't redefine NOMINMAX if it is defined already - Several compatibility improvements for Visual C++ - Fixes and workarounds for HP-UX and HP aCC compiler - Phased old cursor interface out of test suite; tests ported to new interface - Added documentation on thread safety - New thread safety model - Large objects have functions to tell current position - Minor updates to tutorial (somebody pay me and I'll do more :) - No longer needs libpq-fs.h header - Meaningful error messages for ambiguous string conversions fixed 2.5.6 - Support null parameters to prepared statements (use C-style char pointers)
Diffstat (limited to 'databases/libpqxx')
-rw-r--r--databases/libpqxx/Makefile7
-rw-r--r--databases/libpqxx/Makefile.common13
-rw-r--r--databases/libpqxx/PLIST76
-rw-r--r--databases/libpqxx/distinfo17
-rw-r--r--databases/libpqxx/patches/patch-ab13
-rw-r--r--databases/libpqxx/patches/patch-src_largeobject.cxx8
6 files changed, 81 insertions, 53 deletions
diff --git a/databases/libpqxx/Makefile b/databases/libpqxx/Makefile
index 8126b20c279..1c0fd0a55db 100644
--- a/databases/libpqxx/Makefile
+++ b/databases/libpqxx/Makefile
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.25 2012/10/02 21:25:21 asau Exp $
+# $NetBSD: Makefile,v 1.26 2013/02/12 04:35:24 hiramatsu Exp $
#
.include "../../databases/libpqxx/Makefile.common"
COMMENT= C++ interface to postgresql-lib
-PKGREVISION= 4
NOT_FOR_PLATFORM= NetBSD-*-pc532
@@ -20,5 +19,9 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --disable-thread-safety
.endif
+PYTHON_FOR_BUILD_ONLY= yes
+REPLACE_PYTHON+= tools/splitconfig
+
+.include "../../lang/python/application.mk"
.include "../../mk/pgsql.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/databases/libpqxx/Makefile.common b/databases/libpqxx/Makefile.common
index 28eaeed97ae..ad71f078c9f 100644
--- a/databases/libpqxx/Makefile.common
+++ b/databases/libpqxx/Makefile.common
@@ -1,13 +1,16 @@
-# $NetBSD: Makefile.common,v 1.5 2007/02/22 19:26:18 wiz Exp $
-#
+# $NetBSD: Makefile.common,v 1.6 2013/02/12 04:35:24 hiramatsu Exp $
-LIBPQXX_VERSION= 2.5.5
+# used by databases/libpqxx/Makefile
+# used by databases/libpqxx-doc/Makefile
+
+LIBPQXX_VERSION= 4.0.1
DISTNAME= libpqxx-${LIBPQXX_VERSION}
CATEGORIES= databases
-MASTER_SITES= ftp://gborg.postgresql.org/pub/libpqxx/stable/
+MASTER_SITES= http://pqxx.org/download/software/libpqxx/
MAINTAINER= is@NetBSD.org
-HOMEPAGE= http://thaiopensource.org/development/
+HOMEPAGE= http://pqxx.org/development/libpqxx/
+LICENSE= modified-bsd
DISTINFO_FILE= ${.CURDIR}/../../databases/libpqxx/distinfo
PATCHDIR= ${.CURDIR}/../../databases/libpqxx/patches
diff --git a/databases/libpqxx/PLIST b/databases/libpqxx/PLIST
index 8248bdd84de..d9f093551d1 100644
--- a/databases/libpqxx/PLIST
+++ b/databases/libpqxx/PLIST
@@ -1,70 +1,96 @@
-@comment $NetBSD: PLIST,v 1.4 2009/06/14 17:43:18 joerg Exp $
+@comment $NetBSD: PLIST,v 1.5 2013/02/12 04:35:24 hiramatsu Exp $
bin/pqxx-config
-include/pqxx/all.h
+include/pqxx/basic_connection
+include/pqxx/basic_connection.hxx
include/pqxx/binarystring
include/pqxx/binarystring.hxx
-include/pqxx/cachedresult.h
+include/pqxx/compiler-internal-post.hxx
+include/pqxx/compiler-internal-pre.hxx
+include/pqxx/compiler-public.hxx
include/pqxx/config-public-compiler.h
include/pqxx/connection
-include/pqxx/connection.h
include/pqxx/connection.hxx
include/pqxx/connection_base
-include/pqxx/connection_base.h
include/pqxx/connection_base.hxx
-include/pqxx/connectionitf.h
+include/pqxx/connectionpolicy
+include/pqxx/connectionpolicy.hxx
include/pqxx/cursor
-include/pqxx/cursor.h
include/pqxx/cursor.hxx
include/pqxx/dbtransaction
-include/pqxx/dbtransaction.h
include/pqxx/dbtransaction.hxx
+include/pqxx/errorhandler
+include/pqxx/errorhandler.hxx
include/pqxx/except
-include/pqxx/except.h
include/pqxx/except.hxx
+include/pqxx/field
+include/pqxx/field.hxx
+include/pqxx/internal/callgate.hxx
+include/pqxx/internal/gates/connection-dbtransaction.hxx
+include/pqxx/internal/gates/connection-errorhandler.hxx
+include/pqxx/internal/gates/connection-largeobject.hxx
+include/pqxx/internal/gates/connection-notification_receiver.hxx
+include/pqxx/internal/gates/connection-parameterized_invocation.hxx
+include/pqxx/internal/gates/connection-pipeline.hxx
+include/pqxx/internal/gates/connection-prepare-invocation.hxx
+include/pqxx/internal/gates/connection-reactivation_avoidance_exemption.hxx
+include/pqxx/internal/gates/connection-sql_cursor.hxx
+include/pqxx/internal/gates/connection-transaction.hxx
+include/pqxx/internal/gates/errorhandler-connection.hxx
+include/pqxx/internal/gates/icursor_iterator-icursorstream.hxx
+include/pqxx/internal/gates/icursorstream-icursor_iterator.hxx
+include/pqxx/internal/gates/result-connection.hxx
+include/pqxx/internal/gates/result-creation.hxx
+include/pqxx/internal/gates/result-sql_cursor.hxx
+include/pqxx/internal/gates/transaction-subtransaction.hxx
+include/pqxx/internal/gates/transaction-tablereader.hxx
+include/pqxx/internal/gates/transaction-tablewriter.hxx
+include/pqxx/internal/gates/transaction-transactionfocus.hxx
+include/pqxx/internal/libpq-forward.hxx
+include/pqxx/internal/result_data.hxx
+include/pqxx/internal/statement_parameters.hxx
include/pqxx/isolation
-include/pqxx/isolation.h
include/pqxx/isolation.hxx
include/pqxx/largeobject
-include/pqxx/largeobject.h
include/pqxx/largeobject.hxx
-include/pqxx/libcompiler.h
-include/pqxx/libpq-forward.hxx
include/pqxx/nontransaction
-include/pqxx/nontransaction.h
include/pqxx/nontransaction.hxx
+include/pqxx/notification
+include/pqxx/notification.hxx
+include/pqxx/notify-listen
+include/pqxx/notify-listen.hxx
+include/pqxx/performance.hxx
include/pqxx/pipeline
include/pqxx/pipeline.hxx
include/pqxx/pqxx
+include/pqxx/prepared_statement
+include/pqxx/prepared_statement.hxx
include/pqxx/result
-include/pqxx/result.h
include/pqxx/result.hxx
include/pqxx/robusttransaction
-include/pqxx/robusttransaction.h
include/pqxx/robusttransaction.hxx
+include/pqxx/strconv
+include/pqxx/strconv.hxx
+include/pqxx/subtransaction
+include/pqxx/subtransaction.hxx
include/pqxx/tablereader
-include/pqxx/tablereader.h
include/pqxx/tablereader.hxx
include/pqxx/tablestream
-include/pqxx/tablestream.h
include/pqxx/tablestream.hxx
include/pqxx/tablewriter
-include/pqxx/tablewriter.h
include/pqxx/tablewriter.hxx
include/pqxx/transaction
-include/pqxx/transaction.h
include/pqxx/transaction.hxx
include/pqxx/transaction_base
-include/pqxx/transaction_base.h
include/pqxx/transaction_base.hxx
-include/pqxx/transactionitf.h
include/pqxx/transactor
-include/pqxx/transactor.h
include/pqxx/transactor.hxx
include/pqxx/trigger
-include/pqxx/trigger.h
include/pqxx/trigger.hxx
+include/pqxx/tuple
+include/pqxx/tuple.hxx
include/pqxx/util
-include/pqxx/util.h
include/pqxx/util.hxx
+include/pqxx/version
+include/pqxx/version.hxx
lib/libpqxx.la
lib/pkgconfig/libpqxx.pc
diff --git a/databases/libpqxx/distinfo b/databases/libpqxx/distinfo
index 0447467346e..20a63a97fb5 100644
--- a/databases/libpqxx/distinfo
+++ b/databases/libpqxx/distinfo
@@ -1,12 +1,7 @@
-$NetBSD: distinfo,v 1.7 2012/11/16 00:41:33 joerg Exp $
+$NetBSD: distinfo,v 1.8 2013/02/12 04:35:24 hiramatsu Exp $
-SHA1 (libpqxx-2.5.5.tar.gz) = e7ee3d9ea5acfccf2779bf39fe29d0228bd6479a
-RMD160 (libpqxx-2.5.5.tar.gz) = 28d05558982f0c1b2df9eac3ca01a47b5bdee832
-Size (libpqxx-2.5.5.tar.gz) = 1566887 bytes
-SHA1 (patch-aa) = 86858f7c14317d44c1242e8010e8d16a2ff40734
-SHA1 (patch-ab) = 22dbd7aa70f082cf20fd99843a5a2811505722f8
-SHA1 (patch-include_pqxx_largeobject.hxx) = a070410b8ed7e714a91b9b2d33dabb2396b283e7
-SHA1 (patch-src_binarystring.cxx) = 98b46c3bf806fd0689126729a211c71b132969bd
-SHA1 (patch-src_largeobject.cxx) = d293ece542785cdcca20eda1722392cd2d8bacc8
-SHA1 (patch-src_result.cxx) = 698f74c603d8c3ffb066f16755ee8de6da6fae39
-SHA1 (patch-src_util.cxx) = 70a78a8db2e78842b6aa5cb4d23eb73f4bd87c55
+SHA1 (libpqxx-4.0.1.tar.gz) = 4748835bd1a90fb34e6e577788006a416c2acb60
+RMD160 (libpqxx-4.0.1.tar.gz) = 7fae516d6aa59dac0d2403c6a979c5c3d9fb3fce
+Size (libpqxx-4.0.1.tar.gz) = 1582532 bytes
+SHA1 (patch-ab) = ec82ac6e1a6cd3fbb3b9e0e4f4296b73b4efde5e
+SHA1 (patch-src_largeobject.cxx) = f34e2a7d7e20bb155f8629327243d48021757a40
diff --git a/databases/libpqxx/patches/patch-ab b/databases/libpqxx/patches/patch-ab
index a7abf3315a2..80ef0a77ba6 100644
--- a/databases/libpqxx/patches/patch-ab
+++ b/databases/libpqxx/patches/patch-ab
@@ -1,12 +1,11 @@
-$NetBSD: patch-ab,v 1.2 2011/11/24 14:14:58 joerg Exp $
+$NetBSD: patch-ab,v 1.3 2013/02/12 04:35:24 hiramatsu Exp $
---- src/connection_base.cxx.orig 2005-06-28 08:53:14.000000000 +0000
+Include sys/time.h to get struct timeval in all cases.
+
+--- src/connection_base.cxx.orig 2013-02-11 10:35:50.000000000 +0000
+++ src/connection_base.cxx
-@@ -19,8 +19,10 @@
-
- #include <algorithm>
- #include <cstdio>
-+#include <cstring>
+@@ -24,6 +24,7 @@
+ #include <cstring>
#include <ctime>
#include <stdexcept>
+#include <sys/time.h>
diff --git a/databases/libpqxx/patches/patch-src_largeobject.cxx b/databases/libpqxx/patches/patch-src_largeobject.cxx
index 30a0f795012..759a7435f3c 100644
--- a/databases/libpqxx/patches/patch-src_largeobject.cxx
+++ b/databases/libpqxx/patches/patch-src_largeobject.cxx
@@ -1,9 +1,11 @@
-$NetBSD: patch-src_largeobject.cxx,v 1.1 2011/11/24 14:14:58 joerg Exp $
+$NetBSD: patch-src_largeobject.cxx,v 1.2 2013/02/12 04:35:24 hiramatsu Exp $
---- src/largeobject.cxx.orig 2011-11-24 00:12:56.000000000 +0000
+Fix build with modern GCC.
+
+--- src/largeobject.cxx.orig 2013-02-11 10:36:16.000000000 +0000
+++ src/largeobject.cxx
@@ -18,6 +18,7 @@
- #include "pqxx/compiler.h"
+ #include "pqxx/compiler-internal.hxx"
#include <cerrno>
+#include <cstring>