The changes against 1.13.0 are rather small:
a fix for a crash happening when mixing different gcc versions
and demangling fails (fdo#52539)
using portable way to include header for free (fdo#52536)
New in CppUnit 1.13.0:
----------------------
* Portability:
- Added support for macro CPPUNIT_UNIQUE_COUNTER to config-*.h. It
should expands to a unique number per translation unit. Default
to __LINE__ if not defined. Use __COUNTER__ on MSVS 7.0+.
(Bug #2031696)
* Compilation
- destructor of Message causes segfault when testing (rhbz#641350)
- use correct CPPUNIT_VERSION value (sf#2983798)
- allow -Werror builds
(various Libreoffice patches)
- finite in "ieeefp.h" instead of math.h on Solaris (sf#2912590)
- Fixed compilation issue with Microsoft Visual Studio.Net 2005/2008 and
added Visual Studio 2005/2010 projects (.vcproj/.vcxproj)
- Changes to build without warnings using gcc -Wall -W -ansi
(patch #1898225 contributed by dpkatz)
- Libraries flags such as "-ldl" are now in LDADD instead of LIBADD_DL
( patch #2807259 contributed by Jan Echternach).
- Fixed detection of cxxabi.h with gcc 4.3 in configure (bug #2796543).
- made TestCaseDecorator copy c'tor and operator= private (fdo#51317)
* Documentation
- Updated several false documentation entries (sf#2185407, sf#2186611)
* Test Plug-in Runner:
- fixed memory leak in TestPlugInRunnerDlg (#1721408)
The compiler generates an implicit destructor but in certain circonstances this leads to crashes.
More information is available in this bug report on Red Hat's tracker:
https://bugzilla.redhat.com/show_bug.cgi?id=641350
From Francois Tigeot in PR 45104.
Bump PKGREVISION.
New in CppUnit 1.12.1:
----------------------
* Assertion:
- CPPUNIT_ASSERT_DOUBLES_EQUAL() now properly handles non-finite
values, specifically NaN, +Inf, and -Inf.
* Portability:
- Fixed some compilation issue for QtTestRunner.
- Code should build on Windows in UNICODE mode.
New in CppUnit 1.12.0:
----------------------
* Portability:
- autogen.sh can now be run on Mac OS X (patch #1449380
contributed by Sander Temme).
* MFC Test runner:
- fixed bug #1498175: double click on failure would sometime
not goto failed assertion in visual studio.
* Documentation:
- now generated with doxygen 1.4.7 new 'tabs' style.
New in CppUnit 1.11.4:
----------------------
* Portability:
- Support for Embedded Visual C++ 4 added. For this purpose, CppUnit now
provides a very simple stream implementation if none is provided.
This should also help porting on other platforms which have STL but
no stream support. Just make sure that CPPUNIT_NO_STREAM is defined
to 1 in your config header.
* Assertion:
- Added missing _MESSAGE variants for the following assertions:
CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE
CPPUNIT_ASSERT_THROW_MESSAGE
CPPUNIT_ASSERT_NO_THROW_MESSAGE
CPPUNIT_ASSERT_ASSERTION_FAIL_MESSAGE
CPPUNIT_ASSERT_ASSERTION_PASS_MESSAGE
Notes: change made to CPPUNIT_ASSERT_THROW may cause compilation error
if you're expecting std::exception as it would be caught twice. Contact us
if it is an issue (we don't see much use for such a test).
Some assertions failure message are now more detailed (exception,
expression).
Thanks to Neil Ferguson who contributed this patch.
- Assertion on real number now output expected and actual value using the
maximum available precision instead of the previous strategy of rounding
to 6 digits.
Thanks to Neil Ferguson who contributed this patch.
* Outputter:
- XML Ouputter: patch #997006 contributed by Akos Maroy makes the
'stand-alone' attribute of the XML header optional.
See XmlOutputter::setStandalone() & XmlDocument::setStandalone().
- Better integration of compiler output for gcc on Mac OS X with Xcode
(contributed by Claus Broch).
* MFC Test Runner
- Integration with VC++ 7.0 & 7.1. Double clicking on a failure will now
to the failure location in the open IDE (no add-in necessary).
This was contributed by Max Quatember and Andreas Pfaffenbichler.
- Progress bar: now use system color to draw border
(patch from bug #1165875 contributed by Pieter Van Dyck).
* QT Test Runner
- Fixed display of multi-line messages (patch contributed by Karol Szkudlarek).
* Compilation:
- The standard pkg-config file is now generated on unix (contributed by
Robert Leight).
- MinGW: patch #1024428 contributed by astar, fixed compilation issue in
Win32DynamicLibraryManager.cpp.
- MinGW, cygwin: enable build of shared library when using libtool.
patch #1194394 contributed by St
- autotool: applied patch #1076398 contributed by Henner Sudek. Quote:
"This patch allows AM_PATH_CPPUNIT to accept version
numbers without minor and micro version.
Now you can do:
AM_PATH_CPPUNIT(1.9)
instead of
AM_PATH_CPPUNIT(1.9.0)"
- Visual Studio 2005: removed deprecated warning.
* Documentation:
- Corrected many typos in cookbook and money example. Thanks to all
those who helped !
* Bug Fix:
- cppunit.m4: patch #946302, AM_PATH_CPPUNIT doesn't report result
if CppUnit is missing.
- Message/SourceLine: copy constructor have been specifically implemented
to ensure they are thread-safe even if std::string copy constructor
is not (usually on reference count based implementation).
- TestResultCollector: fixed memory leak occuring when calling reset().
* Contrib:
- added XSLT for compatibility with Ant junit xml formatter.
Patch #1112053 contributed by Norbert Barbosa.
See xml-xsl/cppunit2junit.xsl and cppunit2junit.txt for details.
- xml-xsl/report.xsl has been fixed to work with current xml output.
* (Possible) Compatiblity break:
- All text output is now done on cout() instead of sometime cerr &
sometime cout depending on the component.
- OStringStream definition has been removed from Portability.h. This
means that <sstream> is no longer included, and that ostringstream and
string might not be defined. In practice this should have no impact
since those includes have been moved to other CppUnit headers.
* Notes:
- CppUnit now uses the alias OStream when refering to std::ostream for
portability.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
since they always need a C compiler, even when the source code is
completely in C++.
For some other packages, stated in the comment that a C compiler is
really not needed.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).