diff options
author | hiramatsu <hiramatsu@pkgsrc.org> | 2013-02-12 04:35:24 +0000 |
---|---|---|
committer | hiramatsu <hiramatsu@pkgsrc.org> | 2013-02-12 04:35:24 +0000 |
commit | a5c23c4da2c88bfc55eaf10cc814fc1df569e077 (patch) | |
tree | 28d85f76f7efb54d44e3d45e23b5f43e0bb34668 /databases/libpqxx | |
parent | 3aa58351bce8799d1a7df4ac1cc5c2e4f1da0b0f (diff) | |
download | pkgsrc-a5c23c4da2c88bfc55eaf10cc814fc1df569e077.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/Makefile | 7 | ||||
-rw-r--r-- | databases/libpqxx/Makefile.common | 13 | ||||
-rw-r--r-- | databases/libpqxx/PLIST | 76 | ||||
-rw-r--r-- | databases/libpqxx/distinfo | 17 | ||||
-rw-r--r-- | databases/libpqxx/patches/patch-ab | 13 | ||||
-rw-r--r-- | databases/libpqxx/patches/patch-src_largeobject.cxx | 8 |
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> |