This patch brings the packaged dmd, druntime, phobos and tools up to
date with the latest stable release.
The v2.076.0 release includes some changes to how the library and tools
makefiles select the DMD with which to build: instead of the old `DMD`
variable pointing to the compiler executable, a new `DMD_DIR` variable
pointing to the compiler location is expected/preferred. The affected
parts' `make-parameters` have been updated accordingly, including the
addition of correct `DRUNTIME_PATH` and `PHOBOS_PATH` values for the
`tools` part.
The `dmd` part's `prepare:` script has also been removed: `git describe`
output is now preferred over the contents of the `VERSION` file, so the
latter no longer needs to be overwritten. (The latter is now checked to
be correct by the D release process, so should itself also be reliable.)
Besides the version update, the package has been returned to a `stable`
grade, meaning it is possible in principle to promote this version to
the `candidate` and `stable` channels of the snap store.
Besides the version update, the package has been switched to `devel`
grade, meaning it will only be available in the `edge` and `beta`
channels of the snap store.
Add prepare: scriptlet to ensure dmd VERSION file is correct
The VERSION file in the dmd source is used to set version information in
the compiler itself (i.e. the output of the `dmd --version` command) but
cannot be relied upon to match the actual git tag. See: https://issues.dlang.org/show_bug.cgi?id=15910
The `prepare:` scriptlet introduced in this patch overwrites the default
VERSION file in the dmd source with the results of `git describe`, with
the `v` prefix removed. This should ensure that the version reported by
the packaged compiler always matches the git tag. Note that this should
also make it easier to identify problems if the choice of git source is
incorrect in any way.
Besides being generally useful in terms of guaranteeing correct version
information for the compiler, this fixes the particular issue that the
VERSION file for dmd v2.074.1 source continues to contain `2.074.0` and
not the correct compiler version.