From ca2755d53268756f8c1c004f4f9e96f78765d8a8 Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Sun, 21 May 2017 23:33:34 +1000 Subject: flex: create variant +lex that creates symlinks for lex and libl.{a,so} (#3894) * flex: create variant +lex that creates symlinks for lex and libl.{a,so} * flex: enable variant +lex by default * flex: use dso_suffix for portability; replace repetitive code with a loop --- var/spack/repos/builtin/packages/flex/package.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/flex/package.py b/var/spack/repos/builtin/packages/flex/package.py index 8f0c46bc56..73d08d98e0 100644 --- a/var/spack/repos/builtin/packages/flex/package.py +++ b/var/spack/repos/builtin/packages/flex/package.py @@ -23,6 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## from spack import * +import os class Flex(AutotoolsPackage): @@ -39,6 +40,9 @@ class Flex(AutotoolsPackage): version('2.6.0', '760be2ee9433e822b6eb65318311c19d') version('2.5.39', '5865e76ac69c05699f476515592750d7') + variant('lex', default=True, + description="Provide symlinks for lex and libl") + depends_on('bison', type='build') depends_on('gettext@0.19:', type='build') depends_on('help2man', type='build') @@ -61,3 +65,16 @@ class Flex(AutotoolsPackage): url += "/archive/flex-{0}.tar.gz".format(version.dashed) return url + + @run_after('install') + def symlink_lex(self): + if self.spec.satisfies('+lex'): + dso = dso_suffix + for dir, flex, lex in \ + ((self.prefix.bin, 'flex', 'lex'), + (self.prefix.lib, 'libfl.a', 'libl.a'), + (self.prefix.lib, 'libfl.' + dso, 'libl.' + dso)): + with working_dir(dir): + if (os.path.isfile(flex) and not + os.path.lexists(lex)): + symlink(flex, lex) -- cgit v1.2.3-60-g2f50