Re: [geos-devel] GEOS 3.8.0 RC3

2019-10-09 Thread Greg Troxel
rc3 seems to be in good order from the pkgsrc viewpoint.

* a digression about 3.7.3

I updated pkgsrc belatedly from 3.7.1 to 3.7.3 and tests passed on
netbsd-8/amd64.

There is a C++ ABI break from 3.7.1 to 3.7.3, which was unexpected.  Due
to libtool adding in dependency libs from the .la file, gdal links to
geos-3.7.3.so, even though it ought to just link to geos_c.  This is
arguably a libtool bug (and perhaps only on pkgsrc, but I think bigger),
so this ABI break is notabable, even if there are really zero direct
users, and even if the 3.7.3 library has the same ABI as the 3.7.1
library.  While I expect ABI breaks across major versions, I don't
expect them on micro releases and this surprised me.

* report on 3.8.0rc3

With 3.8.0rc3, on netbsd-8/amd64, it built and passed geos's own test suite.

a few very minor things, probably not worth the risk of changing other
than perhaps adjusting NEWS:

  There are header files removed from the set of installed files.  I
  don't see these presumed API withdrawals in NEWS.  (I am not saying
  this is wrong, just that I don't understand.)

  NEWS doesn't mention if there is an ABI break of the C++ API.  In
  pkgsrc, there are no known users of this now.  But, libtool adds
  dependency_libs to the link lines of depending packages, so even
  things that don't use the C++ API end up linked against the lib
  (arguably a bug, unknown extent of where this happens), and have to be
  recompiled, so an API break is noteworthy.

  I have a stray patch to geos-config.in, to add in @LDFLAGS@ to the
  --ldflags command.  I am really unclear if anyone ever sent it
  upstream from pkgsrc.  Also, there are --libs arguments that also
  include -Llibdir, which seems wrong.  Best to talk about this post
  release I think -- not new or urgent.

  I have a stray patch to capi/geos_ts_c.cpp, which uses const char *
  instead of str in NOTICE_MESSAGE and ERROR_MESSAGE.  I am unclear on
  the origin of this patch, but it claims that non-POD types in variadic
  functions are UB.   Also seems best to defer to post release -- also
  not new or urgent.

Removed header files:
  include/geos/algorithm/CGAlgorithms.h
  include/geos/algorithm/CentroidArea.h
  include/geos/algorithm/CentroidLine.h
  include/geos/algorithm/CentroidPoint.h
  include/geos/algorithm/MCPointInRing.h
  include/geos/algorithm/PointInRing.h
  include/geos/algorithm/SIRtreePointInRing.h
  include/geos/algorithm/SimplePointInRing.h
  include/geos/geom/Lineal.h
  include/geos/geom/Polygonal.h
  include/geos/geom/Puntal.h
  include/geos/noding/SingleInteriorIntersectionFinder.h
  include/geos/platform.h
  include/geos/timeval.h


$NetBSD: patch-ae,v 1.6 2018/09/11 16:13:29 gdt Exp $

TODO: explain what's in LDFLAGS.
TODO: explain why --libs has -L in the first place (vs --ldflags).
TODO: report upstream.

--- tools/geos-config.in.orig   2018-08-19 10:49:14.0 +
+++ tools/geos-config.in
@@ -58,7 +58,7 @@ case $1 in
   echo -L${libdir} -lgeos -lm
   ;;
 --ldflags)
-  echo -L${libdir}
+  echo -L${libdir} @LDFLAGS@
   ;;
 --includes)
   echo ${prefix}/include

$NetBSD: patch-capi_geos__ts__c.cpp,v 1.2 2018/09/11 16:13:29 gdt Exp $

\todo Document this patch.   It appears to be that passing non-POD types
to variadic functions is UB.

\todo File a bug upstream, if appropriate.

--- capi/geos_ts_c.cpp.orig 2015-09-08 16:31:02.0 +
+++ capi/geos_ts_c.cpp
@@ -214,7 +214,7 @@ typedef struct GEOSContextHandle_HS
 }
 
 void
-NOTICE_MESSAGE(string fmt, ...)
+NOTICE_MESSAGE(const char *fmt, ...)
 {
   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);
 
   if (result > 0) {
@@ -235,7 +235,7 @@ typedef struct GEOSContextHandle_HS
 }
 
 void
-ERROR_MESSAGE(string fmt, ...)
+ERROR_MESSAGE(const char *fmt, ...)
 {
   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);
 
   if (result > 0) {

___
geos-devel mailing list
geos-devel@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/geos-devel

Re: [geos-devel] GEOS 3.8.0 RC3

2019-10-08 Thread Paul Ramsey
This all seems like good fodder for 3.8.1

P

> On Oct 8, 2019, at 11:15 AM, rmrodrig...@carto.com wrote:
> 
> Hi,
> 
> I've run scan-build against the project and it shows ~30 issues,
> some minor and some important.
> 
> I've created a PR addressing them (https://github.com/libgeos/geos/pull/238)
> but there is still 12 more in case someone wants to have a look before
> me (I'll try
> to finish with them tomorrow).
> 
> On Tue, Oct 8, 2019 at 7:42 PM Paul Ramsey  wrote:
>> 
>> Hi all GEOS people,
>> 
>> *Especially packagers...* (This package fixes one last regression
>> noticed in QGIS.)
>> 
>> 3.8.0 will be released in 48 hours if no blockers are raised.
>> 
>> In support of that we would like
>> your help testing out the final project. You’ll find that there are
>> lots of performance improvements, we hope, and improved reliability in
>> common operations.
>> 
>> http://download.osgeo.org/geos/geos-3.8.0rc2.tar.bz2
>> 
>> Please report any issues you find in building or running tests on the
>> GEOS ticket tracker https://trac.osgeo.org/geos/ or to this list.
>> 
>> - 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)
>> ___
>> geos-devel mailing list
>> geos-devel@lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/geos-devel
> 
> 
> 
> -- 
> Raúl Marín Rodríguez
> carto.com
> ___
> geos-devel mailing list
> geos-devel@lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/geos-devel

___
geos-devel mailing list
geos-devel@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/geos-devel

Re: [geos-devel] GEOS 3.8.0 RC3

2019-10-08 Thread Regina Obe
Shouldn't this be linking to:

http://download.osgeo.org/geos/geos-3.8.0rc3.tar.bz2

-Original Message-
From: geos-devel [mailto:geos-devel-boun...@lists.osgeo.org] On Behalf Of Paul 
Ramsey
Sent: Tuesday, October 8, 2019 1:42 PM
To: GEOS Development List 
Subject: [geos-devel] GEOS 3.8.0 RC3

Hi all GEOS people,

*Especially packagers...* (This package fixes one last regression noticed in 
QGIS.)

3.8.0 will be released in 48 hours if no blockers are raised.

In support of that we would like
your help testing out the final project. You ll find that there are lots of 
performance improvements, we hope, and improved reliability in common 
operations.

http://download.osgeo.org/geos/geos-3.8.0rc2.tar.bz2

Please report any issues you find in building or running tests on the GEOS 
ticket tracker https://trac.osgeo.org/geos/ or to this list.

- 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)
___
geos-devel mailing list
geos-devel@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/geos-devel

___
geos-devel mailing list
geos-devel@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/geos-devel

Re: [geos-devel] GEOS 3.8.0 RC3

2019-10-08 Thread rmrodriguez
Hi,

I've run scan-build against the project and it shows ~30 issues,
some minor and some important.

I've created a PR addressing them (https://github.com/libgeos/geos/pull/238)
but there is still 12 more in case someone wants to have a look before
me (I'll try
to finish with them tomorrow).

On Tue, Oct 8, 2019 at 7:42 PM Paul Ramsey  wrote:
>
> Hi all GEOS people,
>
> *Especially packagers...* (This package fixes one last regression
> noticed in QGIS.)
>
> 3.8.0 will be released in 48 hours if no blockers are raised.
>
> In support of that we would like
> your help testing out the final project. You’ll find that there are
> lots of performance improvements, we hope, and improved reliability in
> common operations.
>
> http://download.osgeo.org/geos/geos-3.8.0rc2.tar.bz2
>
> Please report any issues you find in building or running tests on the
> GEOS ticket tracker https://trac.osgeo.org/geos/ or to this list.
>
> - 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)
> ___
> geos-devel mailing list
> geos-devel@lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/geos-devel



-- 
Raúl Marín Rodríguez
carto.com
___
geos-devel mailing list
geos-devel@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/geos-devel