[MacPorts] #60737: gdal-grass: Update to 3.1.1
MacPorts
noreply at macports.org
Mon Jun 29 19:19:10 UTC 2020
#60737: gdal-grass: Update to 3.1.1
-------------------------+----------------------
Reporter: ryandesign | Owner: Veence
Type: update | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: gdal-grass |
-------------------------+----------------------
Comment (by ryandesign):
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 [browser:macports-
ports/graphics/netpbm/Portfile netpbm] (libnetpbm subport), [browser
:macports-ports/lang/llvm-9.0/Portfile llvm-9.0] (clang-9.0 and lldb-9.0
subports), and [browser:macports-ports/graphics/graphviz/Portfile
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 [browser:macports-
ports/graphics/synfig/Portfile 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 [browser:macports-
ports/graphics/ImageMagick/Portfile ImageMagick] and [browser:macports-
ports/perl/p5-perlmagick/Portfile p5-perlmagick], or [browser:macports-
ports/sysutils/libvirt/Portfile libvirt] and [browser:macports-
ports/python/py-libvirt/Portfile py-libvirt].
--
Ticket URL: <https://trac.macports.org/ticket/60737#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list