From 578e8031ce80b9dc66c197495be6ffe764868702 Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Wed, 26 Feb 2020 14:27:12 -0500 Subject: Default to +termlib for ncurses for LLVM (#15039) LLVM is the only package that explicitly sets the "termlib" variant of ncurses and it specifies +termlib. ncurses defaults to ~termlib; if a package depends on LLVM and ncurses, there is a concretizer bug that incorrectly detects a constraint conflict (see #267). Setting +termlib as the default is a stopgap measure to avoid this conflict. If other packages were to explicitly request ~termlib in the future, the same issue would come up again (and could not be resolved by adjusting the default of "termlib"). Setting +termlib on ncurses moves some symbols into a separate "libtinfo". Not all packages may be able to detect libtinfo properly so may require an update; vim, samtools, and libedit have been updated to use ncurses+termlib (in the case of libedit, the only necessary action was to add a newer version where the build system was updated to check libtinfo). --- var/spack/repos/builtin/packages/ncurses/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/ncurses/package.py b/var/spack/repos/builtin/packages/ncurses/package.py index 7b9b67b939..bee4fd655c 100644 --- a/var/spack/repos/builtin/packages/ncurses/package.py +++ b/var/spack/repos/builtin/packages/ncurses/package.py @@ -26,7 +26,7 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage): variant('symlinks', default=False, description='Enables symlinks. Needed on AFS filesystem.') - variant('termlib', default=False, + variant('termlib', default=True, description='Enables termlib needs for gnutls in emacs.') depends_on('pkgconfig', type='build') -- cgit v1.2.3-70-g09d2