ncurses-6.3.eb 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. easyblock = 'ConfigureMake'
  2. name = 'ncurses'
  3. version = '6.3'
  4. homepage = 'https://www.gnu.org/software/ncurses/'
  5. description = """
  6. The Ncurses (new curses) library is a free software emulation of curses in
  7. System V Release 4.0, and more. It uses Terminfo format, supports pads and
  8. color and multiple highlights and forms characters and function-key mapping,
  9. and has all the other SYSV-curses enhancements over BSD Curses.
  10. """
  11. toolchain = SYSTEM
  12. source_urls = [GNU_SOURCE]
  13. sources = [SOURCE_TAR_GZ]
  14. checksums = ['97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059']
  15. local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms "
  16. configopts = [
  17. # build ncurses: serial build in default paths with shared libraries
  18. local_common_configopts,
  19. # build ncursesw: serial with UTF-8
  20. local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/",
  21. ]
  22. # need to take care of $CFLAGS ourselves with dummy toolchain
  23. # we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC)
  24. buildopts = 'CFLAGS="-O2 -fPIC"'
  25. # Symlink libtinfo to libncurses
  26. # libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically
  27. postinstallcmds = ['cd %(installdir)s/lib64 && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done']
  28. _target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw
  29. _lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]]
  30. _lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo']
  31. sanity_check_paths = {
  32. 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config",
  33. "reset", "tabs", "tic", "toe", "tput", "tset"]] +
  34. ['lib64/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] +
  35. ['lib64/libncurses++%s.a' % x for x in _target_suffix],
  36. 'dirs': ['include', 'include/ncursesw'],
  37. }
  38. moduleclass = 'devel'