dmd.snap:2.075

Last commit made on 2017-09-12
Get this branch:
git clone -b 2.075 https://git.launchpad.net/dmd.snap

Branch merges

Branch information

Name:
2.075
Repository:
lp:dmd.snap

Recent commits

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.

a21f411... by Joseph Wakeling

Add -O3 to the CFLAGS used to build druntime and phobos

This patch manually restores the -O3 flag lost due to the changes made
in commit966f523452610181b8fcc1ab5ff18fb657b749c9, which adds explicit
`CFLAGS` for the druntime and phobos `make-parameters`. For the reasons
behind this change, see https://github.com/dlang-snaps/dmd.snap/pull/3.

Normally, `posix.mak` starts with a default set of `CFLAGS` which are
then extended with `-g` or `-O3` depending on whether we are making a
debug or release build. However, if we explicitly specify `CFLAGS` when
invoking the makefile, `posix.mak` takes this as a hard override and no
longer adds in the `-O3` option. We therefore need to manually include
it in our custom `CFLAGS`.

966f523... by Joseph Wakeling

Add -Wa,-mrelax-relocations=no to CFLAGS for druntime and phobos

This should address the finnicky binutils issues observed when the snap
package is installed on Ubuntu 14.04. See:
https://bugs.launchpad.net/snapcraft/+bug/1668424
https://github.com/ldc-developers/ldc2.snap/issues/17
https://github.com/ldc-developers/ldc2.snap/pull/20

... for discussion of a similar issue encountered with the LDC snap
package.

This should fix https://github.com/dlang-snaps/dmd.snap/issues/2.