Skip to content

[buildtools] [package list]

buildtools/22.08-noPython (buildtools-22.08-noPython.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider buildtools/22.08-noPython.

EasyConfig:

# This easyconfig requires at least EasyBuild 3.9.4 due to a bug in the Bundle
# EasyBlock in earlier versions. Or use the patched bundle.py of
# https://github.com/easybuilders/easybuild-easyblocks/pull/1777 via --include-easyblocks
#
# NOTE: This module is developed at UAntwerp
# NOTE: meson, which is included, requires python3 with setuptools installed in the OS.
#
# It is the first module we compile when starting a new toolchain.
#
# This bundle collects a number of GNU tools useful during the building process
# and a few other tools.
#
# We do include a Flex and Bison even though they do contain libraries
# for which some packages may want to use toolchain-specific versions. These
# packages should then just assure that module is loaded after buildtools.
#
easyblock = 'Bundle'

name =          'buildtools'
version =       '22.08'
versionsuffix = '-noPython'

local_system_pyshortver = '3.6'

# Version info:
local_makeinfo_version =         '6.8'         # texinfo    20210703 - Check on https://gnu.askapache.com/texinfo/
local_Autoconf_version =         '2.71'        # Autoconf   20210128 - Check on https://ftp.gnu.org/gnu/autoconf/
local_Autoconf_archive_version = '2022.02.11'  # Autoconf-Archive 20220211 - check on https://ftp.gnu.org/gnu/autoconf-archive/
local_Automake_version =         '1.16.5'      # Automake   20211003 - Check on https://ftp.gnu.org/gnu/automake/
local_CMake_version =            '3.24.0'      # CMake      20220804 - Check on https://cmake.org/download/
local_Ninja_version =            '1.11.0'      # Ninja      20220515 - Check on https://ninja-build.org/
local_Doxygen_version =          '1.9.4'       # Doxygen    20220505 - Check on https://www.doxygen.nl/download.html
local_help2man_version =         '1.49.2'      # help2man   20220411 - Check on https://ftp.gnu.org/gnu/help2man/
local_libtool_version =          '2.4.6'       # libtool    20150215 - Check on https://ftp.gnu.org/gnu/libtool/
local_M4_version =               '1.4.19'      # M4         20210528 - Check on https://ftp.gnu.org/gnu/m4/
local_make_version =             '4.3'         # Make       20200119 - Check on https://ftp.gnu.org/gnu/make/
local_NASM_version =             '2.15.05'     # NASM       20200828 - Check on https://www.nasm.us/
local_Yasm_version =             '1.3.0'       # Yasm       20140810 - Check on https://yasm.tortall.net/Download.html
local_gperf_version =            '3.1'         # gperf      20170105 - Check on https://ftp.gnu.org/gnu/gperf/
local_sed_version =              '4.8'         # sed        20200114 - Check on https://ftp.gnu.org/gnu/sed/
local_patchelf_version =         '0.15.0'      # patchelf   20211221 - Check on https://github.com/NixOS/patchelf/releases
local_Bison_version =            '3.8.2'       # Bison      20210925 - Check on https://ftp.gnu.org/gnu/bison/
local_flex_version =             '2.6.4'       # flex       20170506 - Check on https://github.com/westes/flex/releases
local_byacc_version =            '20220128'    # byacc      20220128 - Check on https://invisible-mirror.net/archives/byacc/
local_re2c_version =             '3.0'         # re2c       20210127 - Check on https://github.com/skvadrik/re2c/releases
local_xxd_version =              '9.0.0193'    # vim        20220812 - Check on https://github.com/vim/vim/tags

homepage = 'http://www.gnu.org'

whatis = [
    "Description: A bundle of often used build tools, GNU and others"
    "Contains: åutoconf, Autoconf_archive, Automake, makeinfo, libtool, M4, make, sed, Bison, flex, Berkeley Yacc (byacc), " +
    "CMake, Ninja, NASM, Yasm, patchelf, gperf, re2c, help2man, Doxygen and xxd"
]

description = """
This bundle collects a number of standard tools that are often needed when
building software. Many of them are GNU tools.
+ GNU Autoconf %(autoconf)s               - https://www.gnu.org/software/autoconf/
+ GNU Autoconf Archive %(autoconfarchive)s - https://www.gnu.org/software/autoconf/
+ GNU Automake %(automake)s             - https://www.gnu.org/software/automake/
+ GNU makeinfo %(makeinfo)s                - https://www.gnu.org/software/texinfo/
+ GNU libtool %(libtool)s               - https://www.gnu.org/software/libtool/
+ GNU M4 %(m4)s                   - https://www.gnu.org/software/m4/
+ GNU make %(make)s                    - https://www.gnu.org/software/make/
+ GNU sed %(sed)s                     - https://www.gnu.org/software/sed/
+ GNU Bison %(bison)s                 - https://www.gnu.org/software/bison
+ GNU flex %(flex)s                  - https://www.gnu.org/software/flex/
+ byacc %(byacc)s                  - http://invisible-island.net/byacc/byacc.html
+ CMake %(cmake)s                    - http://www.cmake.org/
+ Ninja %(ninja)s                    - https://ninja-build.org/
+ NASM %(nasm)s                    - http://www.nasm.us/
+ Yasm %(yasm)s                      - http://yasm.tortall.net/
+ patchelf %(patchelf)s                 - Modify the dynamic linker and RPATH of ELF executables,
                                    http://nixos.org/patchelf.html
+ re2c %(re2c)s                        - http://re2c.org/
+ GNU gperf %(gperf)s                   - https://www.gnu.org/software/gperf/
+ GNU help2man %(help2man)s             - https://www.gnu.org/software/help2man/
+ Doxygen %(doxygen)s                   - http://www.doxygen.org/
+ xxd %(xxd)s                    - https://www.vim.org
These tools are all build against the system libraries and have been used to
build several of the %(ver)s packages.

Compared to the regular buildtools module it leaves out Meson and SCons which
are both Python-code that is not properly wrapped and can interfer with other
Python code that requires a different version of Python.

Note that makeinfo is not fully functional as there is no TeX on the system.
""" % {
    'autoconf'        : local_Autoconf_version,
    'autoconfarchive' : local_Autoconf_archive_version,
    'automake'        : local_Automake_version,
    'makeinfo'        : local_makeinfo_version,
    'libtool'         : local_libtool_version,
    'm4'              : local_M4_version,
    'make'            : local_make_version,
    'sed'             : local_sed_version,
    'bison'           : local_Bison_version,
    'flex'            : local_flex_version,
    'byacc'           : local_byacc_version,
    'cmake'           : local_CMake_version,
    'ninja'           : local_Ninja_version,
    'nasm'            : local_NASM_version,
    'yasm'            : local_Yasm_version,
    'patchelf'        : local_patchelf_version,
    're2c'            : local_re2c_version,
    'gperf'           : local_gperf_version,
    'help2man'        : local_help2man_version,
    'doxygen'         : local_Doxygen_version,
    'xxd'             : local_xxd_version,
    'ver'             : version,
}

toolchain = SYSTEM

dependencies = [ ]

builddependencies = [
    ('buildtools', version, '-minimal'),
    ('syslibs',    version, '-static'),
#    ('flex',  local_flex_version),   # For Doxygen
#    ('Bison', local_Bison_version),  # For Doxygen
]

osdependencies = [
    ('openssl-devel', 'libssl-dev', 'libopenssl-devel'), # For CMake
##    ('ncurses-devel'),                                   # For CMake - RE-enable if installed on LUMI.
    ('libcurl-devel'),                                   # For git
#    ('expat-devel'),                                     # For git
#    ('gettext-devel'),                                   # For git
#    ('pcre-devel'),                                      # For git
#    ('perl'),                                            # For git
    ('python3'),                                          # For git, Meson, SCons
]


default_easyblock = 'ConfigureMake'

components = [
#    ('git', local_git_version, { # Build of 2.22.0 fails if build after Make or certain other packages...
#        'sources':       [ { 'download_filename' : 'v%(version)s.tar.gz',
#                             'filename'          : 'git-%(version)s.tar.gz',
#                             'source_urls'       : ['https://github.com/git/git/archive'],
#                         } ],
#        'checksums':     ['2a93b9a3276464507922134bfba9be466427ab6a843e3773849050e3d05250d0'],
#        'start_dir':     '%(namelower)s-%(version)s',
#        'preconfigopts': 'make configure && ',
#        'configopts':    "--with-libpcre --with-python=/usr/bin/python --enable-pthreads='-lpthread'",
#        }),
    ('Make', local_make_version, { # Uses pkg-config
        'sources':     [SOURCELOWER_TAR_GZ], # .tar.lz not yet supported on our systems and not available as a constant in EasyBuild.
        'source_urls': [GNU_SOURCE],
        'checksums':   ['e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('byacc', local_byacc_version, {
        'sources':     [SOURCELOWER_TGZ],
        'source_urls': ['ftp://ftp.invisible-island.net/byacc//'],
        'checksums':   ['42c1805cc529314e6a76326fe1b33e80c70862a44b01474da362e2f7db2d749c'],
        'start_dir':   '%(namelower)s-%(version)s',
        'installopts': ' && mv %(installdir)s/bin/yacc %(installdir)s/bin/byacc && mv %(installdir)s/share/man/man1/yacc.1 %(installdir)s/share/man/man1/byacc.1',
        }),
    ('M4', local_M4_version, { # Uses gawk which for now we assume to be on the system
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('libtool', local_libtool_version, { # Uses M4
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('Autoconf', local_Autoconf_version, { # Uses M4
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('makeinfo', local_makeinfo_version, { # Uses the system perl
        'sources':     ['texinfo-%(version)s.tar.xz'],
        'source_urls': ['https://ftpmirror.gnu.org/gnu/texinfo'],
        'checksums':   ['8eb753ed28bca21f8f56c1a180362aed789229bd62fff58bf8368e9beb59fec4'],
        'start_dir':   'texinfo-%(version)s'
        }),
    ('Autoconf-archive', local_Autoconf_archive_version, { # Uses M4
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['78a61b611e2eeb55a89e0398e0ce387bcaf57fe2dd53c6fe427130f777ad1e8c'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('Automake', local_Automake_version, {
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['f01d58cd6d9d77fbdca9eb4bbd5ead1988228fdb73d6f7a201f5f8d6b118b469'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('help2man', local_help2man_version, {
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['9e2e0e213a7e0a36244eed6204d902b6504602a578b6ecd15268b1454deadd36'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('Bison', local_Bison_version, {
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2'],
        'start_dir':   '%(namelower)s-%(version)s',
        'buildopts':    'V=1',
        'parallel':     '1',  # Building the examples fails in some Bison version when doing a parallel
                              # build, likely due to incomplete dependencies and a file being removed
                              # while it is still needed.
        }),
    ('flex', local_flex_version, {
        'sources':       [SOURCELOWER_TAR_GZ],
        'source_urls':   ['https://github.com/westes/flex/releases/download/v' + local_flex_version + '/'],
        'checksums':     ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'],
        'start_dir':     '%(namelower)s-%(version)s',
        'preconfigopts': 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ',
        }),
    ('sed', local_sed_version, {
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('CMake', local_CMake_version, {
        'sources':     [SOURCELOWER_TAR_GZ],
        'source_urls': ['https://cmake.org/files/v%(version_major_minor)s'],
        'checksums':   ['c2b61f7cdecb1576cad25f918a8f42b8685d88a832fd4b62b9e0fa32e915a658'],
        'start_dir':   '%(namelower)s-%(version)s',
        'configopts':  '-- -DCMAKE_USE_OPENSSL=1'
        }),
    ('Ninja', local_Ninja_version, {
        'easyblock':     'CmdCp',
        'sources':       [ { 'download_filename' : 'v%(version)s.tar.gz',
                             'filename'          : SOURCELOWER_TAR_GZ,
                             'source_urls'       : ['https://github.com/ninja-build/ninja/archive'],
                         } ],
        'checksums':     ['3c6ba2e66400fe3f1ae83deb4b235faf3137ec20bd5b08c29bfc368db143e4c6'],
        'start_dir':     '%(namelower)s-%(version)s',
        'cmds_map':      [('.*', "./configure.py --bootstrap")],
        'files_to_copy': [(['ninja'], 'bin')],
    }),
    ('gperf', local_gperf_version, {
        'sources':     [SOURCELOWER_TAR_GZ],
        'source_urls': [GNU_SOURCE],
        'checksums':   ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('NASM', local_NASM_version, {
        'sources':     [SOURCELOWER_TAR_XZ],
        'source_urls': ['http://www.nasm.us/pub/nasm/releasebuilds/%(version)s'],
        'checksums':   ['3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('Yasm', local_Yasm_version, {
        # http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
        'sources':     [SOURCELOWER_TAR_GZ],
        'source_urls': ['http://www.tortall.net/projects/yasm/releases/'],
        'checksums':   ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'],
        'start_dir':   '%(namelower)s-%(version)s'
        }),
    ('patchelf', local_patchelf_version, {
        'sources':       [ { 'download_filename' : '%(version)s.tar.gz',
                             'filename'          : 'patchelf-%(version)s.tar.gz',
                             'source_urls'       : ['https://github.com/NixOS/patchelf/archive/'],
                         } ],
        'checksums':     ['5d1eda9bad4439bb9c0a87fcba198d7c0d372f361e77de41d68d6308062e5000'],
        'start_dir':     '%(namelower)s-%(version)s',
        'preconfigopts': 'sh bootstrap.sh && '
        }),
    ('re2c', local_re2c_version, {
        'sources':     [SOURCE_TAR_XZ],
        'source_urls': ['https://github.com/skvadrik/re2c/releases/download/%(version)s'],
        'checksums':   ['b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b'],
        'start_dir':   '%(name)s-%(version)s',
        }),
    ('Doxygen', local_Doxygen_version, {  # Note that the build process already requires CMake, flex and Bison
        'easyblock':     'EB_Doxygen',
        # Download as http://doxygen.nl/files/doxygen-1.8.15.src.tar.gz
        'sources':       ['%(namelower)s-%(version)s.src.tar.gz'],
        'source_urls':   ['http://doxygen.nl/files/'],
        'checksums':     ['a15e9cd8c0d02b7888bc8356eac200222ecff1defd32f3fe05257d81227b1f37'],
        'start_dir':     '%(namelower)s-%(version)s',
        }),
    ('xxd', local_xxd_version, { # Uses pkg-config
        'easyblock':   'MakeCp',
        'sources':     [ { 'download_filename' : 'v%(version)s.tar.gz',
                           'filename'          : 'xxd-%(version)s.tar.gz',
                           'source_urls'       : ['https://github.com/vim/vim/archive/refs/tags'],
                       } ],
        'checksums':   ['83905d5cc0c7c2e218ccbe21255e66b2c21177edbc296a3c8789d42f51d26872'],
        'start_dir':   'vim-%(version)s/src/xxd',
        'files_to_copy': [ (['xxd'], 'bin') ],
        }),
]
#
# Additions to consider:
# - GNU coreutils: Not only for building, but several programs are used during the build process of some codes.
#

#parallel = 1

postinstallcmds = [
    # For make
    'cd %(installdir)s/bin ; ln -s make gmake', # Some programs check for gmake first and fail if that version is too old.
    # For CMake: Remove a dead link from cmake
    'cd %(installdir)s/bin ; rm -f ccmake3',
]

sanity_check_paths = {
    'files': # Make
             ['bin/make', 'bin/gmake'] +
             # byacc
             ['bin/byacc'] +
             # M4
             ['bin/m4'] +
             # libtool
             ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT] +
             # Autoconf
             ['bin/%s' % x
              for x in ['autoconf', 'autoheader', 'autom4te', 'autoreconf',
                       'autoscan', 'autoupdate', 'ifnames']] +
             # makeinfo
             ['bin/makeinfo'] +
             # Autoconf-archive
             # Automake
             ['bin/aclocal',
              'bin/aclocal-' + '.'.join(local_Automake_version.split('.')[:2]),
              'bin/automake',
              'bin/automake-' + '.'.join(local_Automake_version.split('.')[:2])] +
             # help2man
             ['bin/help2man'] +
             # Bison
             ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')] +
             # flex
             ['bin/flex', 'bin/lex', 'bin/lex++', 'lib/libfl.a', 'lib/libfl.%s' % SHLIB_EXT] +
             # sed
             ['bin/sed'] +
             # CMake
             ['bin/cmake', 'bin/cpack', 'bin/ctest'] +
             # Ninja
             ['bin/ninja'] +
             # gperf
             ['bin/gperf'] +
             # NASM
             ['bin/nasm', 'bin/ndisasm'] +
             # Yasm
             ['bin/yasm', 'bin/vsyasm', 'bin/ytasm'] +
             # patchelf
             ['bin/patchelf'] +
             # re2c
             ['bin/re2c', 'bin/re2go', 'share/re2c/stdlib/unicode_categories.re'] +
             # Doxygen
             ['bin/doxygen'] +
             # xxd
             ['bin/xxd'],
    'dirs':  # libtool
             ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'] +
             # Autoconf
             ['share/autoconf'] +
             # Autoconf-archive
             ['share/aclocal', 'share/doc/autoconf-archive'] +
             # Automake
             ['share/aclocal',
              'share/aclocal-' +  '.'.join(local_Automake_version.split('.')[:2]),
              'share/automake-' + '.'.join(local_Automake_version.split('.')[:2])] +
             # CMake
             ['share/cmake-' + '.'.join(local_CMake_version.split('.')[:2])] +
             ['share/info'],
}

sanity_check_commands = [
    # Make
    'make --version',
    # byacc
    'byacc -V',
    # M4
    'm4 --version',
    # libtool
    'libtool --version',
    # Autoconf
    'autoconf --version',
    'autoheader --version',
    'autom4te --version',
    'autoreconf --version',
    'autoscan --version',
    'autoupdate --version',
    'ifnames --version',
    # makeinfo
    'makeinfo --version',
    # Autoconf-archive
    # Automake
    'aclocal --version',
    'aclocal-' + '.'.join(local_Automake_version.split('.')[:2]) + ' --version',
    'automake --version',
    'automake-' + '.'.join(local_Automake_version.split('.')[:2]) + ' --version',
    # help2man
    'help2man --version',
    # Bison
    'bison --version',
    'yacc --version',
    # flex
    'flex --version',
    # sed
    'sed --version',
    # CMake
    'cmake --version',
    'cpack --version',
    'ctest --version',
    # Ninja
    'ninja --version',
    # gperf
    'gperf --version',
    # NASM
    'nasm --version',
    # Yasm
    'yasm --version',
    'vsyasm --version',
    # patchelf
    'patchelf --version',
    # re2c
    're2c --version',
    're2go --version',
    # Doxygen
    'doxygen --version',
    # xxd
    'xxd -v',
]

#
# We set EBROOT and EBVERSION variables that correspond to each of the regular
# EasyBuild packages that are replaced by this bundle.
modextravars = {
    'EBROOTBYACC':                 '%(installdir)s',
    'EBVERSIONBYACC':              local_byacc_version,
    'EBROOTFLEX':                  '%(installdir)s',
    'EBVERSIONFLEX':               local_flex_version,
#    'EBROOTGIT':                   '%(installdir)s',
#    'EBVERSIONGIT':                local_git_version,
    'EBROOTAUTOCONF':              '%(installdir)s',
    'EBVERSIONAUTOCONF':           local_Autoconf_version,
    'EBROOTAUTOCONFMINARCHIVE':    '%(installdir)s',
    'EBVERSIONAUTOCONFMINARCHIVE': local_Autoconf_archive_version,
    'EBROOTAUTOMAKE':              '%(installdir)s',
    'EBVERSIONAUTOMAKE':           local_Automake_version,
    'EBROOTBISON':                 '%(installdir)s',
    'EBVERSIONBISON':              local_Bison_version,
    'EBROOTLIBTOOL':               '%(installdir)s',
    'EBVERSIONLIBTOOL':            local_libtool_version,
    'EBROOTM4':                    '%(installdir)s',
    'EBVERSIONM4':                 local_M4_version,
    'EBROOTMAKE':                  '%(installdir)s',
    'EBVERSIONMAKE':               local_make_version,
    'EBROOTMAKEINFO':              '%(installdir)s',
    'EBVERSIONMAKEINVO':           local_makeinfo_version,
    'EBROOTSED':                   '%(installdir)s',
    'EBVERSIONSED':                local_sed_version,
    'EBROOTCMAKE':                 '%(installdir)s',
    'EBVERSIONCMAKE':              local_CMake_version,
    'EBROOTNINJA':                 '%(installdir)s',
    'EBVERSIONNINJA':              local_Ninja_version,
    'EBROOTNASM':                  '%(installdir)s',
    'EBVERSIONNASM':               local_NASM_version,
    'EBROOTYASM':                  '%(installdir)s',
    'EBVERSIONYASM':               local_Yasm_version,
    'EBROOTPATCHELF':              '%(installdir)s',
    'EBVERSIONPATCHELF':           local_patchelf_version,
    'EBROOTGPERF':                 '%(installdir)s',
    'EBVERSIONGPERF':              local_gperf_version,
    'EBROOTRE2C':                  '%(installdir)s',
    'EBVERSIONRE2C':               local_re2c_version,
    'EBROOTHELP2MAN':              '%(installdir)s',
    'EBVERSIONHELP2MAN':           local_help2man_version,
    'EBROOTDOXYGEN':               '%(installdir)s',
    'EBVERSIONDOXYGEN':            local_Doxygen_version,
    'EBROOTDXXD':                  '%(installdir)s',
    'EBVERSIONXXD':                local_xxd_version,
}

moduleclass = 'devel'
modluafooter = """
extensions( "Autoconf/%(autoconf)s, Autoconf-archive/%(autoconfarchive)s, Automake/%(automake)s, " ..
            "makeinfo/%(makeinfo)s, libtool/%(libtool)s, M4/%(m4)s, make/%(make)s, sec/%(sed)s, Bison/%(bison)s, flex/%(flex)s, " ..
            "byacc/%(byacc)s, CMake/%(cmake)s, Ninja/%(ninja)s, " ..
            "NASM/%(nasm)s, Yasm/%(yasm)s, patchelf/%(patchelf)s, " ..
            "re2c/%(re2c)s, gperf/%(gperf)s, help2man/%(help2man)s, Doxygen/%(doxygen)s, xxd/%(xxd)s"
          )
"""  % {
    'autoconf'        : local_Autoconf_version,
    'autoconfarchive' : local_Autoconf_archive_version,
    'automake'        : local_Automake_version,
    'makeinfo'        : local_makeinfo_version,
    'libtool'         : local_libtool_version,
    'm4'              : local_M4_version,
    'make'            : local_make_version,
    'sed'             : local_sed_version,
    'bison'           : local_Bison_version,
    'flex'            : local_flex_version,
    'byacc'           : local_byacc_version,
    'cmake'           : local_CMake_version,
    'ninja'           : local_Ninja_version,
    'nasm'            : local_NASM_version,
    'yasm'            : local_Yasm_version,
    'patchelf'        : local_patchelf_version,
    're2c'            : local_re2c_version,
    'gperf'           : local_gperf_version,
    'help2man'        : local_help2man_version,
    'doxygen'         : local_Doxygen_version,
    'xxd'             : local_xxd_version,
}

[buildtools] [package list]