Clean up PROJ mess

Nicklas Larsson n_larsson at yahoo.com
Thu Jun 8 19:54:03 UTC 2023


Hello all,


I'd like to propose to simplify the maintainance of the PROJ ports, which has
become unnecessary cumbersome and in many cases leading to installments of
multiple versions only because different ports are out-of-sync in respect to
default proj variant.

The PROJ ports available now:

port    version
---------------
proj4   4.9.3
proj    5.2.0
proj6   6.3.2
proj7   7.2.1
proj8   8.2.1
proj9   9.2.1


It would be better to use the port name 'proj' for the latest version available
(independent of major version), which now is version 9.2.1. The present port
'proj', which is version 5.2.0, should be renamed to 'proj5'. Like this:

port    version
---------------
proj4   4.9.3
proj5   5.2.0
proj6   6.3.2
proj7   7.2.1
proj8   8.2.1
proj    9.2.1


The day when there is a new major version, e.g. 10.0.0, the 'proj' port will be
updated accordingly and 'proj9' will keep the 9.x.y version:

port    version
---------------
proj4   4.9.3
proj5   5.2.0
proj6   6.3.2
proj7   7.2.1
proj8   8.2.1
proj9   9.2.1
proj    10.0.0


The ports with 'proj' dependency, which are actively updated and maintained,
will in this way be kept in sync with less risk of installing multiple versions.
Ports, which do not support later versions of PROJ, can keep the pinned version.


List of ports with proj[x] dependency:

R/R-lwgeom                  path:lib/proj5/lib/pkgconfig/proj.pc:proj
R/R-proj4                   path:lib/proj5/lib/pkgconfig/proj.pc:proj
R/R-reproj                  path:lib/proj5/lib/pkgconfig/proj.pc:proj
R/R-rgdal                   path:lib/proj5/lib/pkgconfig/proj.pc:proj
R/R-sf                      path:lib/proj5/lib/pkgconfig/proj.pc:proj
R/R-terra                   path:lib/proj5/lib/pkgconfig/proj.pc:proj
R/R-vapour                  path:lib/proj5/lib/pkgconfig/proj.pc:proj
databases/mysql55-lib_mysqludf_fproj4   port:proj4
databases/postgis                       port:proj4
databases/postgis2                      port:proj6
databases/postgis3                      port:proj[6-9]
databases/spatialite-tools              port:proj[6-9]
databases/spatialite                    port:proj[6-9]
gis/gdal                                port:proj[6-9]
gis/grass                               port:proj[6-9]
gis/grass7                              port:proj[6-9]
gis/liblas                              port:proj[6-9]
gis/libosmium                           port:proj4
gis/mapnik                              port:proj4
gis/mapserver                           port:proj[6-9]
gis/mod_tile                            port:proj4
gis/osm2pgsql                           port:proj8
gis/qgis3                               port:proj[6-9]
gis/qlandkarte                          port:proj4
gis/qlandkartegt                        port:proj[4-7]
gis/saga                                port:proj8
graphics/libgeotiff                     port:proj[7-9]
octave/octave-octproj                   port:proj8
perl/p5-alien-proj                      port:proj[6-9]
perl/p5-alien-proj4                     port:proj4
python/py-cartopy                       port:proj8
python/py-pyproj                        port:proj8
python/py-spatialite                    port:proj4
science/cdo                             port:proj8
science/gerris                          port:proj
science/magicspp                        port:proj6
science/metview                         port:proj6
science/ncarg                           port:proj
science/relax3d                         port:proj7
science/sumo                            port:proj4
science/vapor                           port:proj4
science/wgrib2                          port:proj8
science/xastir                          port:proj4



What do you think, could this be a good way to go forward?
Suggestions, opinions?


Best regards,
Nicklas



More information about the macports-dev mailing list