cuda: add dev variant and ABI variant for ncurses (#22536)

* ncurses: add variant +abi5 for version 5 ABI
* cuda: add variant dev, which makes cuda-gdb useable

- cuda-gdb needs libncurses.so.5, which most distros doesn't have
 see also https://docs.nvidia.com/cuda/cuda-gdb/index.html#common-issues-oss
This commit is contained in:
lorddavidiii 2021-03-30 16:57:15 +02:00 committed by GitHub
parent 1bd0964ed3
commit 220c0d9cfc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

View file

@ -103,7 +103,12 @@ class Cuda(Package):
# Mojave support -- only macOS High Sierra 10.13 is supported.
conflicts('arch=darwin-mojave-x86_64')
variant('dev', default=False, description='Enable development dependencies, i.e to use cuda-gdb')
depends_on('libxml2', when='@10.1.243:')
# cuda-gdb needs libncurses.so.5
# see https://docs.nvidia.com/cuda/cuda-gdb/index.html#common-issues-oss
depends_on('ncurses abi=5', type='run', when='+dev')
provides('opencl@:1.2', when='@7:')
provides('opencl@:1.1', when='@:6')

View file

@ -31,6 +31,10 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage):
variant('termlib', default=True,
description='Enables termlib features. This is an extra '
'lib and optional internal dependency.')
# Build ncurses with ABI compaitibility.
variant('abi', default='none', description='choose abi compatibility', values=('none', '5', '6'), multi=False)
conflicts('abi=6', when='@:5.9', msg='6 is not compatible with this release')
depends_on('pkgconfig', type='build')
@ -108,6 +112,10 @@ def configure(self, spec, prefix):
'--enable-tcap-names',
'--with-versioned-syms'))
abi = self.spec.variants['abi'].value
if abi != 'none':
opts.append('--with-abi-version=' + abi)
prefix = '--prefix={0}'.format(prefix)
configure = Executable('../configure')