pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/geography/proj geography/proj: Update to 6.3.1



details:   https://anonhg.NetBSD.org/pkgsrc/rev/abd9a3b43441
branches:  trunk
changeset: 412637:abd9a3b43441
user:      gdt <gdt%pkgsrc.org@localhost>
date:      Tue Mar 10 16:17:38 2020 +0000

description:
geography/proj: Update to 6.3.1

This is a signficant update from 5.2.0; proj has withdrawn one API and
deprecated another.  Packages that have a healthy upstream and are up
to date should be ok, but some will need remedial attention.  I have
held off on this update for quite a long time, but it seems we have
arrived at the problems from some packages' failure to cope with proj
6 being less serious than holding back well-maintained packages from
the improvements.

Add an option "proj-grids", default on, to include the optional grid
files.  These are large, but necessary for many datum transformations.
Upstream's tests fail with them installed, because the test vectors
are computed without them, so tests are forced to fail if grids are
included.

Upstream NEWS, projected to standard NEWS content follows.  (NB: The
6.0.0 content is the most critical to understand.)


6.3.1 Release Notes
-------------------

 Updates
 -------

 o Update the EPSG database to version 9.8.6

 o Database: add mapping for gg10_smv2.mnt and gg10_sbv2.mnt French grids

 o Database: add mapping for TOR27CSv1.GSB


6.3.0 Release Notes
-------------------

 Updates
 -------

 o Database: tune accuracy of Canadian NTv1 file w.r.t NTv2 (#1812)

 o Modify verbosity level of some debug/trace messages (#1811)

 o projinfo: no longer call createBoundCRSToWGS84IfPossible() for WKT1:GDAL
   (#1810)

 o proj_trans: add retry logic to select other transformation if the best one
   fails. (#1809)

 o BoundCRS::identify(): improvements to discard CRS that aren't relevant
   (#1802)

 o Database: update to IGNF v3.1.0 (#1785)

 o Build: Only export symbols if building DLL (#1773)

 o Database: update ESRI entries with ArcGIS Desktop version 10.8.0 database
   (#1762)

 o createOperations(): chain operations whose middle CRSs are not identical but
   have the same datum (#1734)

 o import/export PROJJSON: support a interpolation_crs key to geoid_model
   (#1732)

 o Database: update to EPSG v9.8.4 (#1725)

 o Build: require SQLite 3.11 (#1721)

 o Add support for GEOIDMODEL (#1710)

 o Better filtering based on extent and performance improvements (#1709)


6.2.1 Release Notes
-------------------

 Updates
 -------

 o Update the EPSG database to version 9.8.2


6.2.0 Release Notes
-------------------

 Updates
 -------

 o Introduced PROJJSON, a JSON encoding of WKT2 (#1547)

 o Support CRS instantiation of OGC URN's (#1505)

 o Expose scope and remarks of database objects (#1537)

 o EPSG Database updated to version 9.7.0 (#1558)

 o Added C API function proj_grid_get_info_from_database() (#1494)

 o Added C API function
   proj_operation_factory_context_set_discard_superseded() (#1534)

 o Added C API function proj_context_set_autoclose_database() (#1566)

 o Added C API function proj_create_crs_to_crs_from_pj() (#1567)

 o Added C API function proj_cleanup() (#1569)


6.1.1 Release Notes
-------------------

 Updates
 -------

 o Update EPSG registry to version 9.6.3 (1485)


6.1.0 Release Notes
-------------------

 Updates
 -------

 o Include custom ellipsoid definitions from QGIS (#1337)

 o Add "-k ellipsoid" option to projinfo (#1338)

 o Make cs2cs support 4D coordinates (#1355)

 o WKT2 parser: update to OGC 18-010r6 (#1360 #1366)

 o Update internal version of googletest to v1.8.1 (#1361)

 o Database update: EPSG v9.6.2 (#1462), IGNF v3.0.3, ESRI 10.7.0
   and add operation_version column (#1368)

 o Add proj_normalize_for_visualization() that attempts to apply axis
   ordering as used by most GIS applications and PROJ <6 (#1387)

 o Added noop operation (#1391)

 o Paths set by user take priority over PROJ_LIB for search paths (#1398)

 o Reduced database size (#1438)

 o add support for compoundCRS and concatenatedOperation named from
   their components (#1441)


6.0.0 Release Notes
-------------------

PROJ 6 has undergone extensive changes to increase its functional scope from a
cartographic projection engine with so-called "early-binding" geodetic datum
transformation capabilities to a more complete library supporting coordinate
transformations and coordinate reference systems.

As a foundation for other enhancements, PROJ now includes a C++ implementation
of the modelisation propopsed by the ISO-19111:2019 standard / OGC Abstract
Specification Topic 2: "Referencing By Coordinates", for geodetic reference
frames (datums), coordinate reference systems and coordinate operations.
Construction and query of those geodetic objects is available through a new C++
API, and also accessible for the most part from bindings in the C API.

Those geodetic objects can be imported and exported from and into the OGC
Well-Known Text format (WKT) in its different variants: ESRI WKT, GDAL WKT 1,
WKT2:2015 (ISO 19162:2015) and WKT2:2018 (ISO 19162:2018). Import and export of
CRS objects from and into PROJ strings is also supported. This functionality
was previously available in the GDAL software library (except WKT2 support
which is a new feature), and is now an integral part of PROJ.

A unified database of geodetic objects, coordinate reference systems and their
metadata, and coordinate operations between those CRS is now available in a
SQLite3 database file, proj.db. This includes definitions imported from the
IOGP EPSG dataset (v9.6.0 release), the IGNF (French national mapping agency)
geodetic registry and the ESRI projection engine database. PROJ is now the
reference software in the "OSGeo C stack" for this CRS and coordinate operation
database, whereas previously this functionality was spread over PROJ, GDAL and
libgeotiff, and used CSV or other adhoc text-based formats.

Late-binding coordinate operation capabilities, that takes  metadata such as
area of use and accuracy into account, has been added. This can avoid in a
number of situations the past requirement of using WGS84 as a pivot system,
which could cause unneeded accuracy loss, or was not doable at all sometimes
when transformation to WGS84 was not available. Those late-binding capabilities
are now used by the proj_create_crs_to_crs() function and the cs2cs utility.

A new command line utility, projinfo, has been added to query information about
a geodetic object of the database, import and export geodetic objects from/into
WKT and PROJ strings, and display coordinate operations available between two
CRSs.

 UPDATES
 -------

 o Removed projects.h as a public interface (#835)

 o Deprecated the proj_api.h interface. The header file is still available
   but will be removed with the next major version release of PROJ. It is
   now required to define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H before the
   interface can be used (#836)

 o Removed support for the nmake build system (#838)

 o Removed support for the proj_def.dat defaults file (#201)

 o C++11 required for building PROJ (#1203)

 o Added build dependency on SQLite 3.7 (#1175)

 o Added projinfo command line application (#1189)

 o Added many functions to proj.h for handling ISO19111 functionality (#1175)

 o Added C++ API exposing ISO19111 functionality (#1175)

 o Updated cs2cs to use late-binding features (#1182)

 o Removed the nad2bin application. Now available in the proj-datumgrid
   git repository (#1236)

 o Removed support for Chebyshev polynomials in proj (#1226)

 o Removed proj_geocentric_latitude from proj.h API (#1170)

 o Changed behaviour of proj: Now only allow initialization of
   projections (#1162)

 o Changed behaviour of tmerc: Now default to the Extended Transverse
   Mercator algorithm (etmerc). Old implementation available by adding
   +approx (#404)

 o Chaged behaviour: Default ellipsoid now set to GRS80 (was WGS84) (#1210)

 o Allow multiple directories in PROJ_LIB environment variable (#1281)

 o Added Lambert Conic Conformal (2SP Michigan) projection (#1142)

 o Added Bertin1953 projection (#1133)

 o Added Tobler-Mercator projection (#1153)

 o Added Molodensky-Badekas transform (#1160)

 o Added push and pop coordinate operations (#1250)

 o Removed +t_obs parameter from helmert and deformation (#1264)

 o Added +dt parameter to deformation as replacement for
   removed +t_obs (#1264)

diffstat:

 geography/proj/Makefile                       |   47 +++-
 geography/proj/PLIST                          |  270 ++++++++++++++++++++++---
 geography/proj/distinfo                       |   39 ++-
 geography/proj/options.mk                     |   21 ++
 geography/proj/patches/patch-data_Makefile.in |   20 +
 5 files changed, 326 insertions(+), 71 deletions(-)

diffs (truncated from 485 to 300 lines):

diff -r 07c1ba0b1786 -r abd9a3b43441 geography/proj/Makefile
--- a/geography/proj/Makefile   Tue Mar 10 16:05:08 2020 +0000
+++ b/geography/proj/Makefile   Tue Mar 10 16:17:38 2020 +0000
@@ -1,46 +1,65 @@
-# $NetBSD: Makefile,v 1.18 2020/01/26 17:31:19 rillig Exp $
+# $NetBSD: Makefile,v 1.19 2020/03/10 16:17:38 gdt Exp $
 
-# I have an update to 6 ready, but it is on hold pending an assessment
-# of projects.h removal fallout - gdt.
-VERSION_BASE=  5.2.0
+# An update to 7 is on hold because I have not yet assessed how much
+# trouble it will cause.  -gdt
+VERSION_BASE=  6.3.1
 VERSION_RC=
 VERSION=       ${VERSION_BASE}${VERSION_RC}
-PKGREVISION=   3
+#PKGREVISION=  0
 # proj RCs have names like 5.1.0RC1 but unpack to 5.1.0
 WRKFINAL=      proj-${VERSION_BASE}
 WRKSRC=                ${WRKDIR}/${WRKFINAL}
 DISTNAME=      proj-${VERSION}
 CATEGORIES=    geography
 MASTER_SITES=  https://download.osgeo.org/proj/
-DISTFILES=     ${DISTNAME}${EXTRACT_SUFX} \
-               proj-datumgrid-1.8${EXTRACT_SUFX} \
-               proj-datumgrid-europe-1.1${EXTRACT_SUFX} \
-               proj-datumgrid-north-america-1.1${EXTRACT_SUFX} \
-               proj-datumgrid-oceania-1.0${EXTRACT_SUFX}
+DISTFILES=     ${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=    gdt%NetBSD.org@localhost
 HOMEPAGE=      https://proj4.org/
 COMMENT=       Cartographic projection software
 
+# \todo: Add pdf manual.
+
 # Grid files also have the following "cc-by ish" licenses:
 # cc-by, 2-clause-bsd,  License Ouverte, cc0 (eu)
 # open-government, cc-by, public-domain (na)
 # cc-by (oceania)
 LICENSE=       mit
 
+.include "options.mk"
+
 PREV_PKGPATH=          misc/proj
 
 USE_LANGUAGES=         c99 c++11
 USE_LIBTOOL=           yes
-USE_TOOLS+=            gmake
+USE_TOOLS+=            gmake pkg-config
 GNU_CONFIGURE=         yes
 
-TEST_TARGET=           check
+# \todo Debug this.
+# Tests fail if proj relies on NetBSD 8's C99 math, vs proj's
+# replacement functions.
+.if ${OPSYS} == "NetBSD"
+CFLAGS+=               -DHAVE_C99_MATH=0
+.endif
 
-# \todo Ideally, the files would be unpacked directly in nad.
+.if !empty(PKG_OPTIONS:Mproj-grids)
+# Ideally, upstream would have an approach which enables testing with
+# the grids that users ought to have.  Until then, fail if test
+# preconditions are not met.
+do-test:
+       ${ECHO} "Tests assume extra grids are not installed."
+       ${FALSE}
+.else
+TEST_TARGET=           check
+.endif
+
+# \todo Ideally, the files would be unpacked directly in data.
 # Assume that all of the stray files in ${WRKDIR} came from datumgrids.
+# \todo Some files in the grid tarballs do not get installed by the
+# base Makefile.  Consider an alternate approach.
 post-extract:
-       cd ${WRKDIR} && for f in *; do if [ $$f != ${WRKFINAL} ]; then mv $$f ${WRKFINAL}/nad; fi; done
+       cd ${WRKDIR} && for f in *; do if [ $$f != ${WRKFINAL} ]; then mv $$f ${WRKFINAL}/data; fi; done
 
+.include "../../databases/sqlite3/buildlink3.mk"
 .include "../../mk/pthread.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 07c1ba0b1786 -r abd9a3b43441 geography/proj/PLIST
--- a/geography/proj/PLIST      Tue Mar 10 16:05:08 2020 +0000
+++ b/geography/proj/PLIST      Tue Mar 10 16:17:38 2020 +0000
@@ -1,17 +1,28 @@
-@comment $NetBSD: PLIST,v 1.8 2019/02/21 00:55:04 gdt Exp $
+@comment $NetBSD: PLIST,v 1.9 2020/03/10 16:17:38 gdt Exp $
 bin/cct
 bin/cs2cs
 bin/geod
 bin/gie
 bin/invgeod
 bin/invproj
-bin/nad2bin
 bin/proj
+bin/projinfo
 include/geodesic.h
 include/org_proj4_PJ.h
 include/proj.h
+include/proj/common.hpp
+include/proj/coordinateoperation.hpp
+include/proj/coordinatesystem.hpp
+include/proj/crs.hpp
+include/proj/datum.hpp
+include/proj/io.hpp
+include/proj/metadata.hpp
+include/proj/nn.hpp
+include/proj/util.hpp
 include/proj_api.h
-include/projects.h
+include/proj_constants.h
+include/proj_experimental.h
+include/proj_symbol_rename.h
 lib/libproj.la
 lib/pkgconfig/proj.pc
 man/man1/cct.1
@@ -19,53 +30,232 @@
 man/man1/geod.1
 man/man1/gie.1
 man/man1/proj.1
+man/man1/projinfo.1
 man/man3/geodesic.3
 man/man3/pj_init.3
-share/proj/A66_National_13_09_01.gsb
-share/proj/BETA2007.gsb
+${PLIST.grids}share/proj/100800401.gsb
+${PLIST.grids}share/proj/A66_National_13_09_01.gsb
+${PLIST.grids}share/proj/AT_GIS_GRID.gsb
+${PLIST.grids}share/proj/AUSGeoid09_V1.01.gtx
+${PLIST.grids}share/proj/AUSGeoid2020_20180201.gtx
+${PLIST.grids}share/proj/AUSGeoid98.gtx
+${PLIST.grids}share/proj/BETA2007.gsb
+${PLIST.grids}share/proj/BWTA2017.gsb
+${PLIST.grids}share/proj/CGG2013ai08.gtx
+${PLIST.grids}share/proj/CGG2013an83.gtx
+${PLIST.grids}share/proj/CGG2013i08.gtx
+${PLIST.grids}share/proj/CGG2013n83.gtx
+${PLIST.grids}share/proj/CGVD2013RGSPM06.gtx
 share/proj/CH
-share/proj/FL
-share/proj/GDA94_GDA2020_conformal.gsb
-share/proj/GDA94_GDA2020_conformal_and_distortion.gsb
+${PLIST.grids}share/proj/CHENyx06_ETRS.gsb
+${PLIST.grids}share/proj/CHENyx06a.gsb
+${PLIST.grids}share/proj/D73_ETRS89_geo.gsb
+${PLIST.grids}share/proj/DLx_ETRS89_geo.gsb
+${PLIST.grids}share/proj/FL
+${PLIST.grids}share/proj/GDA94_GDA2020_conformal.gsb
+${PLIST.grids}share/proj/GDA94_GDA2020_conformal_and_distortion.gsb
+${PLIST.grids}share/proj/GDA94_GDA2020_conformal_christmas_island.gsb
+${PLIST.grids}share/proj/GDA94_GDA2020_conformal_cocos_island.gsb
 share/proj/GL27
-share/proj/IGNF
+${PLIST.grids}share/proj/HT2_2010v70.gtx
+${PLIST.grids}share/proj/ISN2004_ISN2016.gsb
+${PLIST.grids}share/proj/ISN2004_ISN2016.gtx
+${PLIST.grids}share/proj/ISN93_ISN2016.gsb
+${PLIST.grids}share/proj/ISN93_ISN2016.gtx
+${PLIST.grids}share/proj/ISN_vel_beta.gtx
 share/proj/ITRF2000
 share/proj/ITRF2008
 share/proj/ITRF2014
-share/proj/MD
-share/proj/National_84_02_07_01.gsb
-share/proj/OSGM15_Belfast.gtx
-share/proj/OSGM15_Malin.gtx
-share/proj/TN
-share/proj/WI
-share/proj/WO
-share/proj/alaska
-share/proj/conus
-share/proj/dnn.gtx
-share/proj/dvr90.gtx
-share/proj/egm96_15.gtx
-share/proj/epsg
-share/proj/esri
-share/proj/esri.extra
-share/proj/fvr09.gtx
-share/proj/gvr2000.gtx
-share/proj/gvr2016.gtx
-share/proj/hawaii
+${PLIST.grids}share/proj/Icegeoid_ISN2004.gtx
+${PLIST.grids}share/proj/Icegeoid_ISN2016.gtx
+${PLIST.grids}share/proj/Icegeoid_ISN93.gtx
+${PLIST.grids}share/proj/MAY76V20.gsb
+${PLIST.grids}share/proj/MD
+${PLIST.grids}share/proj/NTv2_SN.gsb
+${PLIST.grids}share/proj/National_84_02_07_01.gsb
+${PLIST.grids}share/proj/OSGM15_Belfast.gtx
+${PLIST.grids}share/proj/OSGM15_Malin.gtx
+${PLIST.grids}share/proj/OSTN15_NTv2_OSGBtoETRS.gsb
+${PLIST.grids}share/proj/RAC09.gtx
+${PLIST.grids}share/proj/RAF09.gtx
+${PLIST.grids}share/proj/RAF18.gtx
+${PLIST.grids}share/proj/RAGTBT2016.gtx
+${PLIST.grids}share/proj/RALD2016.gtx
+${PLIST.grids}share/proj/RALDW842016.gtx
+${PLIST.grids}share/proj/RALS2016.gtx
+${PLIST.grids}share/proj/RAMART2016.gtx
+${PLIST.grids}share/proj/RAMG2016.gtx
+${PLIST.grids}share/proj/RAR07_bl.gtx
+${PLIST.grids}share/proj/RASPM2018.gtx
+${PLIST.grids}share/proj/SWEN17_RH2000.gtx
+${PLIST.grids}share/proj/SeTa2016.gsb
+${PLIST.grids}share/proj/TN
+${PLIST.grids}share/proj/WI
+${PLIST.grids}share/proj/WO
+${PLIST.grids}share/proj/alaska
+${PLIST.grids}share/proj/alhpgn.gsb
+${PLIST.grids}share/proj/arhpgn.gsb
+${PLIST.grids}share/proj/auckht1946-nzvd2016.gtx
+${PLIST.grids}share/proj/azhpgn.gsb
+${PLIST.grids}share/proj/bd72lb72_etrs89lb08.gsb
+${PLIST.grids}share/proj/blufht1955-nzvd2016.gtx
+${PLIST.grids}share/proj/c1hpgn.gsb
+${PLIST.grids}share/proj/c2hpgn.gsb
+${PLIST.grids}share/proj/cnhpgn.gsb
+${PLIST.grids}share/proj/cohpgn.gsb
+${PLIST.grids}share/proj/conus
+${PLIST.grids}share/proj/cq77na83.gsb
+${PLIST.grids}share/proj/cshpgn.gsb
+${PLIST.grids}share/proj/dnn.gtx
+${PLIST.grids}share/proj/dublht1960-nzvd2016.gtx
+${PLIST.grids}share/proj/duneht1958-nzvd2016.gtx
+${PLIST.grids}share/proj/dvr90.gtx
+${PLIST.grids}share/proj/egm08_25.gtx
+${PLIST.grids}share/proj/egm96_15.gtx
+${PLIST.grids}share/proj/emhpgn.gsb
+${PLIST.grids}share/proj/eshpgn.gsb
+${PLIST.grids}share/proj/ethpgn.gsb
+${PLIST.grids}share/proj/flhpgn.gsb
+${PLIST.grids}share/proj/fvr09.gtx
+${PLIST.grids}share/proj/g1999a01.gtx
+${PLIST.grids}share/proj/g1999a02.gtx
+${PLIST.grids}share/proj/g1999a03.gtx
+${PLIST.grids}share/proj/g1999a04.gtx
+${PLIST.grids}share/proj/g1999h01.gtx
+${PLIST.grids}share/proj/g1999p01.gtx
+${PLIST.grids}share/proj/g1999u01.gtx
+${PLIST.grids}share/proj/g1999u02.gtx
+${PLIST.grids}share/proj/g1999u03.gtx
+${PLIST.grids}share/proj/g1999u04.gtx
+${PLIST.grids}share/proj/g1999u05.gtx
+${PLIST.grids}share/proj/g1999u06.gtx
+${PLIST.grids}share/proj/g1999u07.gtx
+${PLIST.grids}share/proj/g1999u08.gtx
+${PLIST.grids}share/proj/g2003a01.gtx
+${PLIST.grids}share/proj/g2003a02.gtx
+${PLIST.grids}share/proj/g2003a03.gtx
+${PLIST.grids}share/proj/g2003a04.gtx
+${PLIST.grids}share/proj/g2003h01.gtx
+${PLIST.grids}share/proj/g2003p01.gtx
+${PLIST.grids}share/proj/g2009g01.gtx
+${PLIST.grids}share/proj/g2009h01.gtx
+${PLIST.grids}share/proj/g2009p01.gtx
+${PLIST.grids}share/proj/g2009s01.gtx
+${PLIST.grids}share/proj/g2012ba0.gtx
+${PLIST.grids}share/proj/g2012bg0.gtx
+${PLIST.grids}share/proj/g2012bh0.gtx
+${PLIST.grids}share/proj/g2012bp0.gtx
+${PLIST.grids}share/proj/g2012bs0.gtx
+${PLIST.grids}share/proj/g2012bu0.gtx
+${PLIST.grids}share/proj/g2018p0.gtx
+${PLIST.grids}share/proj/g2018u0.gtx
+${PLIST.grids}share/proj/gahpgn.gsb
+${PLIST.grids}share/proj/geoid03_conus.gtx
+${PLIST.grids}share/proj/geoid06_ak.gtx
+${PLIST.grids}share/proj/geoid09_ak.gtx
+${PLIST.grids}share/proj/geoid09_conus.gtx
+${PLIST.grids}share/proj/gg10_sbv2.gtx
+${PLIST.grids}share/proj/gg10_smv2.gtx
+${PLIST.grids}share/proj/ggg00_lsv2.gtx
+${PLIST.grids}share/proj/ggg00_mgv2.gtx
+${PLIST.grids}share/proj/ggg00_sbv2.gtx
+${PLIST.grids}share/proj/ggg00_smv2.gtx
+${PLIST.grids}share/proj/ggg00v2.gtx
+${PLIST.grids}share/proj/ggguy15.gtx
+${PLIST.grids}share/proj/ggker08v2.gtx
+${PLIST.grids}share/proj/ggm00v2.gtx
+${PLIST.grids}share/proj/ggm04v1.gtx
+${PLIST.grids}share/proj/ggpf02-Bora.gtx
+${PLIST.grids}share/proj/ggpf02-Huahine.gtx
+${PLIST.grids}share/proj/ggpf02-Maiao.gtx
+${PLIST.grids}share/proj/ggpf02-Maupiti.gtx
+${PLIST.grids}share/proj/ggpf02-Raiatea.gtx
+${PLIST.grids}share/proj/ggpf02-Tahaa.gtx
+${PLIST.grids}share/proj/ggpf02-Tupai.gtx
+${PLIST.grids}share/proj/ggpf05-HivaOa.gtx
+${PLIST.grids}share/proj/ggpf05-Nuku.gtx
+${PLIST.grids}share/proj/ggpf08-Fakarava.gtx
+${PLIST.grids}share/proj/ggpf08-Gambier.gtx
+${PLIST.grids}share/proj/ggpf08-Hao.gtx
+${PLIST.grids}share/proj/ggpf08-Mataiva.gtx
+${PLIST.grids}share/proj/ggpf08-Raivavae.gtx
+${PLIST.grids}share/proj/ggpf08-Reao.gtx
+${PLIST.grids}share/proj/ggpf08-Rurutu.gtx
+${PLIST.grids}share/proj/ggpf08-Tikehau.gtx
+${PLIST.grids}share/proj/ggpf08-Tubuai.gtx



Home | Main Index | Thread Index | Old Index