texlive-20230313-GCC-13.3.0.eb 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # Based off the 2017 version by John Dey jfdey@fredhutch.org
  2. # https://github.com/easybuilders/easybuild-easyconfigs/pull/5085
  3. easyblock = 'Tarball'
  4. name = 'texlive'
  5. version = '20230313'
  6. local_ver_year = version[:4]
  7. homepage = 'https://tug.org'
  8. description = """TeX is a typesetting language. Instead of visually formatting your text, you enter your manuscript
  9. text intertwined with TeX commands in a plain text file. You then run TeX to produce formatted output, such as a
  10. PDF file. Thus, in contrast to standard word processors, your document is a separate file that does not pretend to
  11. be a representation of the final typeset output, and so can be easily edited and manipulated."""
  12. toolchain = {'name': 'GCC', 'version': '13.3.0'}
  13. source_urls = [
  14. 'ftp://tug.org/texlive/historic/%s/' % local_ver_year,
  15. 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/' % local_ver_year,
  16. ]
  17. sources = [
  18. {
  19. 'download_filename': 'install-tl-unx.tar.gz',
  20. 'filename': 'install-tl-unx-%(version)s.tar.gz'
  21. }
  22. ]
  23. checksums = ['d97bdb3b1903428e56373e70861b24db448243d74d950cdff96f4e888f008605']
  24. dependencies = [
  25. ('X11', '20240607'),
  26. ('libpng', '1.6.43'),
  27. ('libGLU', '9.0.3'),
  28. ('Perl', '5.38.2'),
  29. ('HarfBuzz', '9.0.0'),
  30. ('poppler', '25.03.0'),
  31. ('cairo', '1.18.0'),
  32. ('fontconfig', '2.15.0'),
  33. ('zlib', '1.3.1'),
  34. ('graphite2', '1.3.14'),
  35. ]
  36. # For the latest release, the tlnet-final repository isn't available yet, so we use the default
  37. # But, the default can _not_ be used for the historic releases. The only way to write an EasyConfig
  38. # that will work today and in the future, is to try one by one.
  39. # Similarly, ftp is not available on all HPC systems, hence providing fallback to https
  40. # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17871
  41. local_install_tl = "%%(builddir)s/install-tl-%%(version)s/install-tl -profile %%(installdir)s/texlive.profile %s"
  42. local_ftp = '-repository ftp://ftp.math.utah.edu/pub/tex/historic/systems/textlive/%s/tlnet-final' % local_ver_year
  43. local_https = '-repository https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/tlnet-final' % local_ver_year
  44. local_install_tl_or = (
  45. ' || '.join([
  46. local_install_tl % '',
  47. local_install_tl % local_ftp,
  48. local_install_tl % local_https,
  49. ])
  50. )
  51. postinstallcmds = [
  52. 'echo "TEXDIR %%(installdir)s/" > %%(installdir)s/texlive.profile && '
  53. 'echo "TEXMFLOCAL %%(installdir)s/texmf-local" >> %%(installdir)s/texlive.profile && '
  54. 'echo "TEXMFSYSCONFIG %%(installdir)s/texmf-config" >> %%(installdir)s/texlive.profile && '
  55. 'echo "TEXMFSYSVAR %%(installdir)s/texmf-var" >> %%(installdir)s/texlive.profile && '
  56. '%s' % local_install_tl_or
  57. ]
  58. sanity_check_paths = {
  59. 'files': ['bin/%(arch)s-linux/tex', 'bin/%(arch)s-linux/latex'],
  60. 'dirs': ['bin/%(arch)s-linux', 'texmf-dist'],
  61. }
  62. modextrapaths = {
  63. 'INFOPATH': 'texmf-dist/doc/info',
  64. 'MANPATH': 'texmf-dist/doc/man',
  65. 'PATH': 'bin/%(arch)s-linux',
  66. }
  67. modextravars = {'TEXMFHOME': '%(installdir)s/texmf-dist'}
  68. moduleclass = 'devel'