summaryrefslogtreecommitdiff
path: root/geography
diff options
context:
space:
mode:
authorgdt <gdt@pkgsrc.org>2020-03-10 16:17:38 +0000
committergdt <gdt@pkgsrc.org>2020-03-10 16:17:38 +0000
commit8ebf14be63727d32f38dceace09db91733f8332e (patch)
treeeb712d559ba6f8b34f6a38c185a262ac219c8b18 /geography
parentefe2760700a801469535782cf55c43aab1750200 (diff)
downloadpkgsrc-8ebf14be63727d32f38dceace09db91733f8332e.tar.gz
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 (limited to 'geography')
-rw-r--r--geography/proj/Makefile45
-rw-r--r--geography/proj/PLIST270
-rw-r--r--geography/proj/distinfo39
-rw-r--r--geography/proj/options.mk21
-rw-r--r--geography/proj/patches/patch-data_Makefile.in20
5 files changed, 325 insertions, 70 deletions
diff --git a/geography/proj/Makefile b/geography/proj/Makefile
index 568d41f30c5..38d5dac5a68 100644
--- a/geography/proj/Makefile
+++ b/geography/proj/Makefile
@@ -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
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
+# \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
+
+.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 nad.
+# \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 --git a/geography/proj/PLIST b/geography/proj/PLIST
index b51374cc4c6..32acd0ac55d 100644
--- a/geography/proj/PLIST
+++ b/geography/proj/PLIST
@@ -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/cs2cs.1
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
+${PLIST.grids}share/proj/ggpf10-Moorea.gtx
+${PLIST.grids}share/proj/ggpf10-Tahiti.gtx
+${PLIST.grids}share/proj/ggspm06v1.gtx
+${PLIST.grids}share/proj/gisbht1926-nzvd2016.gtx
+${PLIST.grids}share/proj/guhpgn.gsb
+${PLIST.grids}share/proj/gvr2000.gtx
+${PLIST.grids}share/proj/gvr2016.gtx
+${PLIST.grids}share/proj/hawaii
+${PLIST.grids}share/proj/hihpgn.gsb
+${PLIST.grids}share/proj/iahpgn.gsb
+${PLIST.grids}share/proj/ilhpgn.gsb
+${PLIST.grids}share/proj/inhpgn.gsb
+${PLIST.grids}share/proj/kshpgn.gsb
+${PLIST.grids}share/proj/kyhpgn.gsb
+${PLIST.grids}share/proj/lahpgn.gsb
+${PLIST.grids}share/proj/lyttht1937-nzvd2016.gtx
+${PLIST.grids}share/proj/mdhpgn.gsb
+${PLIST.grids}share/proj/mehpgn.gsb
+${PLIST.grids}share/proj/mihpgn.gsb
+${PLIST.grids}share/proj/mnhpgn.gsb
+${PLIST.grids}share/proj/mohpgn.gsb
+${PLIST.grids}share/proj/motuht1953-nzvd2016.gtx
+${PLIST.grids}share/proj/mshpgn.gsb
+${PLIST.grids}share/proj/na27na83.gsb
share/proj/nad.lst
share/proj/nad27
share/proj/nad83
-share/proj/nkgrf03vel_realigned_z.gtx
-share/proj/ntf_r93.gsb
-share/proj/ntv1_can.dat
+${PLIST.grids}share/proj/napiht1962-nzvd2016.gtx
+${PLIST.grids}share/proj/nbhpgn.gsb
+${PLIST.grids}share/proj/nchpgn.gsb
+${PLIST.grids}share/proj/ndhpgn.gsb
+${PLIST.grids}share/proj/nehpgn.gsb
+${PLIST.grids}share/proj/nelsht1955-nzvd2016.gtx
+${PLIST.grids}share/proj/njhpgn.gsb
+${PLIST.grids}share/proj/nkgrf03vel_realigned_z.gtx
+${PLIST.grids}share/proj/nmhpgn.gsb
+${PLIST.grids}share/proj/ntf_r93.gsb
+${PLIST.grids}share/proj/ntv1_can.dat
+${PLIST.grids}share/proj/ntv2_0.gsb
share/proj/null
-share/proj/nzgd2kgrid0005.gsb
+${PLIST.grids}share/proj/nvhpgn.gsb
+${PLIST.grids}share/proj/nyhpgn.gsb
+${PLIST.grids}share/proj/nzgd2kgrid0005.gsb
+${PLIST.grids}share/proj/nzgeoid2009.gtx
+${PLIST.grids}share/proj/nzgeoid2016.gtx
+${PLIST.grids}share/proj/ohhpgn.gsb
+${PLIST.grids}share/proj/okhpgn.gsb
+${PLIST.grids}share/proj/ontpht1964-nzvd2016.gtx
share/proj/other.extra
-share/proj/proj_def.dat
-share/proj/prvi
-share/proj/stgeorge
-share/proj/stlrnc
-share/proj/stpaul
-share/proj/vertconc.gtx
-share/proj/vertcone.gtx
-share/proj/vertconw.gtx
+${PLIST.grids}share/proj/pahpgn.gsb
+share/proj/proj.db
+share/proj/projjson.schema.json
+${PLIST.grids}share/proj/prvi
+${PLIST.grids}share/proj/pvhpgn.gsb
+${PLIST.grids}share/proj/schpgn.gsb
+${PLIST.grids}share/proj/sdhpgn.gsb
+${PLIST.grids}share/proj/stgeorge
+${PLIST.grids}share/proj/stisht1977-nzvd2016.gtx
+${PLIST.grids}share/proj/stlrnc
+${PLIST.grids}share/proj/stpaul
+${PLIST.grids}share/proj/taraht1970-nzvd2016.gtx
+${PLIST.grids}share/proj/tnhpgn.gsb
+${PLIST.grids}share/proj/uthpgn.gsb
+${PLIST.grids}share/proj/vahpgn.gsb
+${PLIST.grids}share/proj/vertconc.gtx
+${PLIST.grids}share/proj/vertcone.gtx
+${PLIST.grids}share/proj/vertconw.gtx
+${PLIST.grids}share/proj/wellht1953-nzvd2016.gtx
+${PLIST.grids}share/proj/wihpgn.gsb
+${PLIST.grids}share/proj/wmhpgn.gsb
+${PLIST.grids}share/proj/wohpgn.gsb
share/proj/world
+${PLIST.grids}share/proj/wshpgn.gsb
+${PLIST.grids}share/proj/wthpgn.gsb
+${PLIST.grids}share/proj/wvhpgn.gsb
+${PLIST.grids}share/proj/wyhpgn.gsb
diff --git a/geography/proj/distinfo b/geography/proj/distinfo
index 34ce40bc328..efba90fbc4a 100644
--- a/geography/proj/distinfo
+++ b/geography/proj/distinfo
@@ -1,22 +1,27 @@
-$NetBSD: distinfo,v 1.13 2019/02/21 00:55:04 gdt Exp $
+$NetBSD: distinfo,v 1.14 2020/03/10 16:17:38 gdt Exp $
-SHA1 (proj-5.2.0.tar.gz) = 09cb68377e9901c0e1b817b58e820118ccb741e6
-RMD160 (proj-5.2.0.tar.gz) = d99eccff181bb002dd0e398a69fb26cbf57fc4d6
-SHA512 (proj-5.2.0.tar.gz) = f773117d22309d4ee8dbedc2a7b6ba27e8cd032e1bd0af3c98f270bf7b7ab3353be0b04d91202a1f137fc45164c8e8a52712bb06281948008160d08f9f9074ba
-Size (proj-5.2.0.tar.gz) = 1398188 bytes
+SHA1 (proj-6.3.1.tar.gz) = bc6baa7c494bc30992aaa5e3bd4dc4f443ece635
+RMD160 (proj-6.3.1.tar.gz) = 67394c6fc3382449de61fc7a4dba29e3508deb84
+SHA512 (proj-6.3.1.tar.gz) = 669b752f491bd99e320b0750c7129251a562a303e008e3d89c8e71baefd7f6d4ccb08234b3039c03694e2cc93b8dde81771cd7ffd981ff8045d855240a480a5e
+Size (proj-6.3.1.tar.gz) = 2823891 bytes
SHA1 (proj-datumgrid-1.8.tar.gz) = ede1c255adebb903f9ec33c5760ecb0df7b3b03c
RMD160 (proj-datumgrid-1.8.tar.gz) = 074fcfba2e41cbe81e5be45eddc0e38683d891ef
SHA512 (proj-datumgrid-1.8.tar.gz) = 23153f5b57d210e37cd6e9e0fced23bdabb1c67476e9fb50eb83a68ae066a5c3675822472f5d558d10ddf36ac1d73d538b75304d112a1bfcd8d0bbd26c6481a5
Size (proj-datumgrid-1.8.tar.gz) = 6604329 bytes
-SHA1 (proj-datumgrid-europe-1.1.tar.gz) = 51ef06d68cae5055f060d03e7c3deeda5bf81b46
-RMD160 (proj-datumgrid-europe-1.1.tar.gz) = 508676e5e059ed7a0315ab30ff961ee918d39bce
-SHA512 (proj-datumgrid-europe-1.1.tar.gz) = 954672b13ae9311721e40826e9a64225cc362a41dc7871f3fe8e62b70ce9ca1110368f99fd7d52bc2f5a5f426b7bb4cac5cb9e44183100ff4a32b61d1f65fcce
-Size (proj-datumgrid-europe-1.1.tar.gz) = 9237058 bytes
-SHA1 (proj-datumgrid-north-america-1.1.tar.gz) = 721bf278aa2b012dfdabcb05cb5c25433f5b1a66
-RMD160 (proj-datumgrid-north-america-1.1.tar.gz) = eb4c5fe0c10bd27864d8336eeea02ed4dc4ce6dd
-SHA512 (proj-datumgrid-north-america-1.1.tar.gz) = c532f3c54e2e8dc465ff0777d53a8bc39bdba10d2517b1621156727acf0adee5f726b0d245d757993169613d30b82d4efd59c0e4ed558e53cf99429b698bef89
-Size (proj-datumgrid-north-america-1.1.tar.gz) = 19143459 bytes
-SHA1 (proj-datumgrid-oceania-1.0.tar.gz) = 42970835b4932e5e96a630759c28b75502f4b382
-RMD160 (proj-datumgrid-oceania-1.0.tar.gz) = fcafe24982a1cd40c97137d42f2438fc48938c27
-SHA512 (proj-datumgrid-oceania-1.0.tar.gz) = a079fdb0ab22e591e55efa003ecd0ca1d65ce84ac0eb1b74456c1d3d62e601e3639b551aab1a0c2e77ca580d0c96cf69284e6591b80cffd18efdaada47d13e64
-Size (proj-datumgrid-oceania-1.0.tar.gz) = 96908713 bytes
+SHA1 (proj-datumgrid-europe-1.5.tar.gz) = 96556de773628a1fd312d49211a687b5f2299e39
+RMD160 (proj-datumgrid-europe-1.5.tar.gz) = d48f3599ae8881022203316d9ad4ae43921282f0
+SHA512 (proj-datumgrid-europe-1.5.tar.gz) = 456a8c27dad7ef8fc1790ef822e7e8dcbc69b79e0a28df8c6b58d24b0ef4a3221cebd8e911a0d84b7f00694247b0fb8f4361a38d7369f921da000c838812f389
+Size (proj-datumgrid-europe-1.5.tar.gz) = 187195036 bytes
+SHA1 (proj-datumgrid-north-america-1.3.tar.gz) = 386a7043a1ed786d0b766b9766daaa7d1c18d658
+RMD160 (proj-datumgrid-north-america-1.3.tar.gz) = 5db05ceebed69f732119a6c047c036c742308fc5
+SHA512 (proj-datumgrid-north-america-1.3.tar.gz) = d79b44b2a20aef4ef41ba4d2f91146b54fa94978ef9b7512931ee78bdd373bbbe2c89a6748cef77c3b0e912a5b937ddecb31fd7a9e9fe04e36b9907184830a19
+Size (proj-datumgrid-north-america-1.3.tar.gz) = 452401850 bytes
+SHA1 (proj-datumgrid-oceania-1.1.tar.gz) = a45190c74e7e89828582c304a9d7bc7c63882f29
+RMD160 (proj-datumgrid-oceania-1.1.tar.gz) = 73c802e8438b8a79cf1667b40f6b1baf44bdea58
+SHA512 (proj-datumgrid-oceania-1.1.tar.gz) = 8ecd31470305c1433b3ce5e26f44e0a1e2131c6d8a76b2318c1a1cf9241a4f70ca6e8638ff64315d1061e2aa3046a4ca8c4f4336ad682ce18362ee2c956aed6b
+Size (proj-datumgrid-oceania-1.1.tar.gz) = 144248108 bytes
+SHA1 (proj-datumgrid-world-1.0.tar.gz) = b66863826b2387f28c860abf2c6ee2366b967088
+RMD160 (proj-datumgrid-world-1.0.tar.gz) = a21a6320eb7da3bbf72b7ad685a08255b8f9663d
+SHA512 (proj-datumgrid-world-1.0.tar.gz) = 9f79f4c24f1a4a472f2747e4bb147c7140a92f3043b283f2a0326775393ebb39f634f2715a4d085dc33eabbbed4c3fb1871753ecf6c238c179ac0bbe83b9ca3e
+Size (proj-datumgrid-world-1.0.tar.gz) = 134373680 bytes
+SHA1 (patch-data_Makefile.in) = 41d5e2a9abbe1fef5036a427c45c4b838c4c373a
diff --git a/geography/proj/options.mk b/geography/proj/options.mk
new file mode 100644
index 00000000000..99f809f963d
--- /dev/null
+++ b/geography/proj/options.mk
@@ -0,0 +1,21 @@
+# $NetBSD: options.mk,v 1.1 2020/03/10 16:17:38 gdt Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.proj
+
+PKG_SUPPORTED_OPTIONS= proj-grids
+PKG_SUGGESTED_OPTIONS= proj-grids
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= grids
+
+.if !empty(PKG_OPTIONS:Mproj-grids)
+DISTFILES+= proj-datumgrid-1.8${EXTRACT_SUFX}
+DISTFILES+= proj-datumgrid-europe-1.5${EXTRACT_SUFX}
+DISTFILES+= proj-datumgrid-north-america-1.3${EXTRACT_SUFX}
+DISTFILES+= proj-datumgrid-oceania-1.1${EXTRACT_SUFX}
+DISTFILES+= proj-datumgrid-world-1.0${EXTRACT_SUFX}
+
+PLIST.grids= yes
+.else
+.endif
diff --git a/geography/proj/patches/patch-data_Makefile.in b/geography/proj/patches/patch-data_Makefile.in
new file mode 100644
index 00000000000..cfbe25010e1
--- /dev/null
+++ b/geography/proj/patches/patch-data_Makefile.in
@@ -0,0 +1,20 @@
+$NetBSD: patch-data_Makefile.in,v 1.1 2020/03/10 16:17:38 gdt Exp $
+
+Remediate bashism.
+
+Posted about on mailing list 20200310.
+\todo File bug and pull request to fix.
+\todo File pull request to adjust upstream standards.
+\todo File bug that CI doesn't detect bashisms.
+
+--- data/Makefile.in.orig 2020-02-10 10:16:34.000000000 +0000
++++ data/Makefile.in
+@@ -594,7 +594,7 @@ proj.db: $(DATAPATH)/sql/*.sql
+ echo "" | head -c1; \
+ if [ $$? -eq 0 ] ; then \
+ echo "Running foreign_key_check"; \
+- if [[ $$(echo "pragma foreign_key_check;" | sqlite3 proj.db | head -c1 | wc -c) -ne 0 ]]; then \
++ if [ $$(echo "pragma foreign_key_check;" | sqlite3 proj.db | head -c1 | wc -c) -ne 0 ]; then \
+ echo "Foreign key check failed"; \
+ $(RM) proj.db; \
+ exit 1; \