flex: use 2.6.3. by default (#8154)

Fixes #8152

Flex 2.6.4 doesn't build with gcc@7:. This sets Flex 2.6.3 as the
preferred version. The flex package had a conflict directive for
this but originally the recorded conflict was specific to ubuntu;
this appears to be an issue on multiple operating systems so this
also updates the conflict to be more general and adds a comment
which links to the relevant issues.
This commit is contained in:
Denis Davydov 2018-05-17 22:58:29 +02:00 committed by scheibelp
parent a46f2b8e42
commit d579231967

View File

@ -33,7 +33,10 @@ class Flex(AutotoolsPackage):
url = "https://github.com/westes/flex/releases/download/v2.6.1/flex-2.6.1.tar.gz"
version('2.6.4', '2882e3179748cc9f9c23ec593d6adc8d')
version('2.6.3', 'a5f65570cd9107ec8a8ec88f17b31bb1')
# 2.6.4 fails to compile with gcc@7.2:
# see https://github.com/spack/spack/issues/8152 and
# https://github.com/spack/spack/issues/6942
version('2.6.3', 'a5f65570cd9107ec8a8ec88f17b31bb1', preferred=True)
# Avoid flex '2.6.2' (major bug)
# See issue #2554; https://github.com/westes/flex/issues/113
version('2.6.1', '05bcd8fb629e0ae130311e8a6106fa82')
@ -53,9 +56,9 @@ class Flex(AutotoolsPackage):
depends_on('automake', type='build', when='@:2.6.0')
depends_on('libtool', type='build', when='@:2.6.0')
# Build issue for v2.6.4 when gcc 7.2.0 is used on Ubuntu 17.10.
# Build issue for v2.6.4 when gcc@7.2.0: is used
# See issue #219; https://github.com/westes/flex/issues/219
conflicts('%gcc@7.2.0: os=ubuntu17.10', when='@2.6.4')
conflicts('%gcc@7.2.0:', when='@2.6.4')
def url_for_version(self, version):
url = "https://github.com/westes/flex"