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).
This commit is contained in:
Seth R. Johnson 2020-02-26 14:27:12 -05:00 committed by GitHub
parent 6c445a2c0f
commit 578e8031ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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')