dmd.snap:2.076

Last commit made on 2017-10-16
Get this branch:
git clone -b 2.076 https://git.launchpad.net/dmd.snap

Branch merges

Branch information

Name:
2.076
Repository:
lp:dmd.snap

Recent commits

2bde3af... by Joseph Wakeling

Update to 2.076.1 stable release

790c657... by Joseph Wakeling

Update to 2.076.0 stable release

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.)

3683478... by Joseph Wakeling

Update to 2.075.1 stable release

2dccdc5... by Joseph Wakeling

Update to 2.075.0 final release

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.

8b62193... by Joseph Wakeling

Update to 2.075.0-b4 development release

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.

76514e6... by Joseph Wakeling

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.

c8b207c... by Joseph Wakeling

Update to 2.074.1 stable release

This point release fixes several regressions, as well as removing the
outdated backend license file. For a list of all fixes, see:
https://dlang.org/changelog/2.074.1.html

2d2b99c... by Petar Kirov

Fix issues with PIC on distros where it is mandatory

By default programs use the static phobos library which when not fully
compiled with -fPIC leads to problems on some distros. Using the shared
phobos library workarounds this because it is fully compiled with PIC.

The problem was simply that the static druntime library was not compiled
with PIC. Before this commit, on distros where PIC is mandatory
snapcraft manages to build dmd, druntime and phobos successfully, but not
the tools repo. Now this is fixed.

Additionally, the 'PIC=1' parameter is noop on the tools repo, becuase
it is not handled by posix.mak. It is actually unnecessary because
the tools makefile allows dmd to pickup the dmd.conf file (not the
case for druntime and phobos build) which already has PIC enabled.

b82fb60... by Joseph Wakeling

Use PIC=1 when building druntime and phobos

The previous patch used the `PIC` variable wrongly; this should fix
things.

3ba2dbd... by Joseph Wakeling

Use PIC=-fPIC when building druntime and phobos

This should ensure that these libraries work on systems such as Ubuntu
16.10 or later, which expect position-independent code.