Opened 11 days ago

Last modified 11 days ago

#60737 assigned update

gdal-grass: Update to 3.1.1

Reported by: ryandesign (Ryan Schmidt) Owned by: Veence (Vincent)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: gdal-grass


gdal-grass should probably be updated to 3.1.1 to match the recent update of gdal. Might want to add a comment to the gdal and gdal-grass portfiles to remind developers to update them at the same time. Or one way to ensure that would be to make gdal-grass a subport of gdal, since they appear to be released from the same place.

The gdal-grass port's livecheck is not set up correctly and should be fixed.

Its path to grass7 is probably wrong; it references grass-7.4.0 but the grass7 port's version is 7.8.3.

Change History (2)

comment:1 Changed 11 days ago by Veence (Vincent)

You’re right Ryan, this port should be somehow overhauled. I’m unfamiliar so far with the writing of sub-ports, so that might be a good opportunity to catch up. I’ll try and take care of this tomorrow.

comment:2 Changed 11 days ago by ryandesign (Ryan Schmidt)

The convenience of subports is that as many lines of a portfile as you want can be shared amongst multiple ports. This helps reduce code duplication and helps prevent errors from creeping in when a developer makes a change to one file without realizing that they should make the same change in other files. In the case of gdal and gdal-grass you'd be sharing the version and livecheck at least, and just having both ports in the same file would probably lead to remembering to update them both at once. But if the ports don't otherwise have many lines in common, maybe subports aren't the right choice.

Subports are great when there are several ports that you want to create out of a single distfile because then you're sharing the distname and checksums too. Examples are netpbm (libnetpbm subport), llvm-9.0 (clang-9.0 and lldb-9.0 subports), and graphviz (graphviz-gui and gvedit subports). But with gdal-grass, which has a different distfile from gdal, you'd still have to remember to update the subport's checksums. An example of that is synfig (synfigstudio and ETL subports). Using subports can also ironically make the portfile more complex, since you have to wrap some parts of it in an if {${subport} eq ${name}} {...} block.

So using a subport is not necessarily the best choice, I just wanted to point it out as an option. Just adding a comment at the top of related ports advising people to keep them updated together is also a perfectly viable option; I use that for example in ImageMagick and p5-perlmagick, or libvirt and py-libvirt.

Note: See TracTickets for help on using tickets.