head 1.7; access; symbols pkgsrc-2020Q4:1.6.0.8 pkgsrc-2020Q4-base:1.6 pkgsrc-2020Q3:1.6.0.6 pkgsrc-2020Q3-base:1.6 pkgsrc-2020Q2:1.6.0.4 pkgsrc-2020Q2-base:1.6 pkgsrc-2020Q1:1.6.0.2 pkgsrc-2020Q1-base:1.6 pkgsrc-2019Q4:1.2.0.14 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.10 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.8 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.6 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.4 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.2 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.1.0.26 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.24 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.22 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.20 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.16 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.14 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.12 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.10 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.8 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.6 pkgsrc-2016Q1-base:1.1 pkgsrc-2015Q4:1.1.0.4 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.2 pkgsrc-2015Q3-base:1.1; locks; strict; comment @// @; 1.7 date 2021.01.03.01.27.29; author gdt; state dead; branches; next 1.6; commitid 7OpNSDQZD8giEdCC; 1.6 date 2020.03.11.23.09.09; author gdt; state Exp; branches; next 1.5; commitid JEwIZjmCdGFEq20C; 1.5 date 2020.03.11.22.55.48; author gdt; state Exp; branches; next 1.4; commitid ZDwKGV1nFkT5m20C; 1.4 date 2020.03.11.22.15.16; author gdt; state Exp; branches; next 1.3; commitid brmuKaP82Zha820C; 1.3 date 2020.03.11.12.52.07; author gdt; state Exp; branches; next 1.2; commitid GIzX17o9zt9H0ZZB; 1.2 date 2018.09.11.16.13.29; author gdt; state Exp; branches; next 1.1; commitid BUHrD4QkxlOdHHRA; 1.1 date 2015.09.08.18.48.04; author joerg; state Exp; branches; next ; commitid tbaWuGA0YAUgTtAy; desc @@ 1.7 log @geogrpahy/geos: Update to 3.9.0 Upstream NEWS: Changes in 3.9.0beta1 2020-11-27 - New things: - MaximumInscribedCircle and LargestEmptyCircle (JTS-530, Paul Ramsey) - CAPI: Fixed precision overlay operations (Sandro Santilli, Paul Ramsey) - CAPI: GEOSPreparedNearestPoints (#1007, Sandro Santilli) - CAPI: GEOSPreparedDistance (#1066, Sandro Santilli) - SimpleSTRTree spatial index implementation (Paul Ramsey) - Add support for pkg-config for GEOS C API (#1073, Mike Taves) - Improvements: - Stack allocate segments in OverlapUnion (Paul Ramsey) - Improve performance of GEOSisValid (Dan Baston) - Update geos-config tool for consistency and escape paths (https://git.osgeo.org/gitea/geos/geos/pulls/99) changes mostly affect CMake MSVC builds (#1015, Mike Taves) - Testing on Rasberry Pi 32-bit (berrie) (#1017, Bruce Rindahl, Regina Obe) - Replace ttmath with JTS DD double-double implementation (Paul Ramsey) - Fix bug in DistanceOp for geometries with empty components (#1026, Paul Ramsey) - Remove undefined behaviour in CAPI (#1021, Greg Troxel) - Fix buffering issue (#1022, JTS-525, Paul Ramsey) - MinimumBoundingCircle.getMaximumDiameter fix (JTS-533, Paul Ramsey) - Changes: - Drop SWIG bindings, including for Ruby and Python (#1076, Mike Taves) @ text @$NetBSD: patch-capi_geos__ts__c.cpp,v 1.6 2020/03/11 23:09:09 gdt Exp $ The geos code passes an object of type std::string to variadic functions NOTICE_MESSAGE and ERROR_MESSAGE, which then pass them to va_start. Use of non-POD types with varargs is "conditionally supported", which without a fixed compiler becomes UB. To avoid this, change the functions to take const char * rather than std::string (and adjust the use of the variables in the functions). https://trac.osgeo.org/geos/ticket/1021 --- capi/geos_ts_c.cpp.orig 2020-03-10 17:19:40.000000000 +0000 +++ capi/geos_ts_c.cpp @@@@ -233,7 +233,7 @@@@ typedef struct GEOSContextHandle_HS { } void - NOTICE_MESSAGE(string fmt, ...) + NOTICE_MESSAGE(const char *fmt, ...) { if(NULL == noticeMessageOld && NULL == noticeMessageNew) { return; @@@@ -241,7 +241,7 @@@@ typedef struct GEOSContextHandle_HS { va_list args; va_start(args, fmt); - int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt.c_str(), args); + int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt, args); va_end(args); if(result > 0) { @@@@ -255,7 +255,7 @@@@ typedef struct GEOSContextHandle_HS { } void - ERROR_MESSAGE(string fmt, ...) + ERROR_MESSAGE(const char *fmt, ...) { if(NULL == errorMessageOld && NULL == errorMessageNew) { return; @@@@ -263,7 +263,7 @@@@ typedef struct GEOSContextHandle_HS { va_list args; va_start(args, fmt); - int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt.c_str(), args); + int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt, args); va_end(args); if(result > 0) { @ 1.6 log @geography/geos: Add upstream bug URL to patch @ text @d1 1 a1 1 $NetBSD: patch-capi_geos__ts__c.cpp,v 1.5 2020/03/11 22:55:48 gdt Exp $ @ 1.5 log @geography/geos: Improve patch comment @ text @d1 1 a1 1 $NetBSD: patch-capi_geos__ts__c.cpp,v 1.4 2020/03/11 22:15:16 gdt Exp $ a3 1 d10 2 a11 2 \TODO File a bug upstream @ 1.4 log @geography/geos: Adjust patch comment text @ text @d1 1 a1 1 $NetBSD: patch-capi_geos__ts__c.cpp,v 1.3 2020/03/11 12:52:07 gdt Exp $ d4 4 a7 1 NOTICE_MESSAGE and ERROR_MESSAGE. Passing non-POD types is UB. @ 1.3 log @geography/geos: Update to 3.8.1 Changes in 3.8.1 2020-xx-xx - Bug fixes / improvements - Stack allocate line segments in OverlapUnion (Paul Ramsey) - Avoid returning non-empty CoordinateSequence from empty Point (#1001, Dan Baston) - Avoid assertion failure with MSVC 2017 / 2019 (#1002, Dan Baston) - Remove whitespace from end of GEOSversion() output (azhi) - Improve performance of GEOSisValid (#1008, Dan Baston) - Avoid changing MultiLineString component order in GEOSReverse (#1013, Dan Baston) - Fix missing vtable for LineString and CoordinateArraySequenceFactory (#299 and #1016, Evgen Bodunov) - Reduce performance regression in GEOSBuffer (#1020) Changes in 3.8.0 2019-10-10 - New things: - CAPI: GEOSBuildArea (#952, Even Rouault) - CAPI: GEOSMakeValid (#952, Even Rouault) - CAPI: GEOSPolygonize_valid (#727, Dan Baston) - CAPI: GEOSCoverageUnion (Dan Baston) - CAPI: GEOSCoordSeq_setXY, GEOSCoordSeq_setXYZ, GEOSCoordSeq_getXY, GEOSCoordSeq_getXYZ (Dan Baston) - CAPI: GEOSMinimumBoundingCircle (#735) - CAPI: GEOSGeom_createPointFromXY (Dan Baston) - Improvements: - Improve overall performance by reducing of heap allocations (Dan Baston) - Improve performance and robustness of GEOSPointOnSurface (Martin Davis) - Improve performance of GEOSPolygonize for cases with many potential holes (#748, Dan Baston) - Support extended precision calculations (ttmath) and port JTS improvements related to extended precision (Paul Ramsey, Mateusz Loskot) - Improve performance of GEOSPolygonize for cases with many or complex shells (Dan Baston, Martin Davis) - Improve performance of Delaunay triangulations / Voronoi Diagrams (Dan Baston) - Improve performance of prepared geometry operations (Dan Baston) - Improve robustness of Delaunay triangulations (Paul Ramsey, Martin Davis) - Improve performance of unary union for lines (Dan Baston) - Improve general predicate, overlay, and buffer performance (Dan Baston, Paul Ramsey) - Improve cascaded union performance (Paul Ramsey, Martin Davis) - Allocate default GeometryFactory singleton on the stack (Sandro Mani) - Harmonize XML tests with JTS and harmonize cmake/autoconf test running (Paul Ramsey) - CMake modernization (Mateusz Loskot, Paul Ramsey, Dan Baston) - Return unique_ptr from most methods that produce a new geometry (Dan Baston) - Changes: - Constructive geometry functions in CAPI now preserve SRID of input arguments in output (#896) @ text @d1 1 a1 1 $NetBSD: patch-capi_geos__ts__c.cpp,v 1.2 2018/09/11 16:13:29 gdt Exp $ d3 5 a7 3 Passing non-POD types like std::string to variadic functions is UB. To avoid this, change functions to take const char * rather than std::string. d9 1 a9 1 \todo File a bug upstream @ 1.2 log @Update to 3.7.0: pkgsrc changes: revise comments about geos C vs C++ library linking in light of unexpected libtool behavior (which defeats geos's scheme) Upstream NEWS: 3.7.0 changes 2018-09-10 - New things: - CAPI: GEOSDistanceIndexed (#795, Dan Baston) - CAPI: GEOSCoordSeq_isCCW (#870, Dan Baston) - CAPI: GEOSGeom_getXMin, GEOSGeom_getXMax, GEOSGeom_getYMin, GEOSGeom_getYMax (#871, Dan Baston) - CAPI: GEOSFrechetDistance (#797, Shinichi SUGIYAMA) - CAPI: GEOSReverse (#872, Dan Baston) - CAPI: GEOSGeomGetZ (#581, J Smith) - Improvements - Interruptible snap operation (Paul Ramsey) - Numerous packaging, doc, and build changes (Debian group: Bas Couwenberg, Francesco Paolo Lovergine) (NetBSD: Greg Troxel) - Allow static library with C API for CMake builds (#878, Dakota Hawkins) - C++ API changes: - Require defining USE_UNSTABLE_GEOS_CPP_API for use without warnings. - Make C++11 required (Mateusz Loskot) - Use C++11 unique_ptr, nullptr, and override constructs (Mateusz Loskot) - C++11 standard delete on noncopyable (#851, Vicky Vergara) - Fix CommonBits::getBit to correctly handle i >= 32 (#834, Kurt Schwehr) @ text @d1 1 a1 1 $NetBSD: patch-capi_geos__ts__c.cpp,v 1.1 2015/09/08 18:48:04 joerg Exp $ d3 5 a7 2 \todo Document this patch. It appears to be that passing non-POD types to variadic functions is UB. d9 1 a9 3 \todo File a bug upstream, if appropriate. --- capi/geos_ts_c.cpp.orig 2015-09-08 16:31:02.000000000 +0000 d11 1 a11 1 @@@@ -214,7 +214,7 @@@@ typedef struct GEOSContextHandle_HS d18 9 a26 9 if (NULL == noticeMessageOld && NULL == noticeMessageNew) { return; @@@@ -222,7 +222,7 @@@@ typedef struct GEOSContextHandle_HS va_list args; va_start(args, fmt); - int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt.c_str(), args); + int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt, args); va_end(args); d28 2 a29 2 if (result > 0) { @@@@ -235,7 +235,7 @@@@ typedef struct GEOSContextHandle_HS d36 9 a44 9 if (NULL == errorMessageOld && NULL == errorMessageNew) { return; @@@@ -243,7 +243,7 @@@@ typedef struct GEOSContextHandle_HS va_list args; va_start(args, fmt); - int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt.c_str(), args); + int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt, args); va_end(args); d46 1 a46 1 if (result > 0) { @ 1.1 log @Passing non-POD types like std::string to variadic functions is UB. In this case, it is just plainly wasteful as well, so don't do that. @ text @d1 6 a6 1 $NetBSD$ @