Skip to content

[x264] [package list]

x264/20231019-cpeGNU-24.03 (x264-20231019-cpeGNU-24.03.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider x264/20231019-cpeGNU-24.03.

EasyConfig:

easyblock = 'ConfigureMake'

local_x264_commit =          'baee400f'      # Just follow EasyBuild as the distribution is currently a mess
local_x264_version =         '20231019'      # Just follow EasyBuild as the distribution is currently a mess

name =    'x264'
version = local_x264_version

homepage = 'http://www.videolan.org/developers/x264.html'

whatis = [
    "Description: x264 is a free library and application for H.264/MPEG-4 AVC encoding, made by the VideoLAN organization",
    "This module provides both the command line tool and static and shared libraries"
]

description = """
x264 is a free software library and application for encoding video streams
into the H.264/MPEG-4 AVC compression format, and is released under the
terms of the GNU GPL. It is developed by the VideoLAN organization.

This module provides the encodign tool x264 and static and shared libraries.
"""

examples = """
This package does not come with much integrated documentation. It is however
possible to get some help information for the x264 command line tool using
the --help option, which includes a few examples.
"""

toolchain = {'name': 'cpeGNU', 'version': '24.03'}
toolchainopts = {'pic': True}

source_urls = [f'https://code.videolan.org/videolan/x264/-/archive/{local_x264_commit}/']
sources =     [{'download_filename': f'x264-{local_x264_commit}.tar.gz', 'filename': SOURCE_TAR_GZ}]
checksums =   ['f32bdcd8edaae7686f5aba9d4421d07c1d01e5c3c10c2a87c8f3131bddb59905']

builddependencies = [ # Create a reproducible build environment.
    ('buildtools', '%(toolchain_version)s', '', True), # USes NASM
]

# Doesn't need MPI, ROCm or BLAS, and module unload never fails so this is safe.
preconfigopts = 'module unload cray-libsci cray-mpich rocm xpmem && '
prebuildopts = preconfigopts

configopts = " --enable-shared --enable-static"

installopts  = ' && cp -r doc %(installdir)s'
installopts += ' && mkdir -p %(installdir)s/share/licenses/%(name)s'
installopts += ' && cp AUTHORS COPYING %(installdir)s/share/licenses/%(name)s'

sanity_check_paths = {
    'files': ['bin/x264', 'include/x264_config.h', 'include/x264.h',
              'lib/libx264.a', 'lib/libx264.%s' % SHLIB_EXT],
    'dirs':  [],
}

sanity_check_commands = [
    'x264 --version',
    'pkg-config --libs x264',
]

moduleclass = 'vis'

[x264] [package list]