Skip to content

[git] [package list]

git/2.33.1 (git-2.33.1.eb)

This software is archived in the LUMI-SoftwareStack GitHub repository as easybuild/easyconfigs/__archive__/g/git/git-2.33.1.eb. The corresponding module would be git/2.33.1.

##
# Author:    Robert Mijakovic <robert.mijakovic@lxp.lu>
# Reworked by Kurt Lust (kurt.lust@uantwerpen.be) for LUMI.
##
easyblock = 'ConfigureMake'

name =    'git'
version = '2.33.1'
#versionsuffix = '-nodocs'

homepage = 'https://git-scm.com/'

whatis = [
    'Description: Git is a free and open source distributed version control system',
    'NOTE: Docs are still missing from this module'
]

description = """
Git is a free and open source distributed version control system designed
to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance.
It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with
features like cheap local branching, convenient staging areas, and multiple
workflows.

Note that git in this module comes without manpages due to difficulties in
generating those pages in the software management frameworks typically used on
HPC systems. Any manual page you may see for git is for a system-installed version
of git and not necessarily for this module.
"""

docurls = [
    'Web-based documentation for git at https://git-scm.com/doc',
]

toolchain = SYSTEM

sources = {
    'download_filename': 'v%(version)s.tar.gz',
    'filename':          SOURCELOWER_TAR_GZ,
    'source_urls':       ['https://github.com/git/git/archive']
}
checksums =   ['fa459f95153a2c51af149c062f614018c027caf75a8dd92b3f64defe0a78f42f']

builddependencies = [
    ('buildtools', '21.08'),
    ('syslibs',    '15.1.1', '-static'), # for zlib, expat and PCRE2.
]

dependencies = [
]

osdependencies = [
    ('glibc-headers-x86', 'glibc-devel'),                # libintl.h, iconv.h
#    ('zlib-devel'),                                      # zlib.h
#    ('libexpat-devel'),                                  # exoat.h, not yet available on LUMI.
    ('libcurl-devel'),                                   # curl.h
    ('openssl-devel', 'libssl-dev', 'libopenssl-devel'),
]

preconfigopts = 'make configure && CFLAGS="-O2 -march=znver1" CXXFLAGS="-O2 -march=znver1" '
# Work around git build system bug.  If LIBS contains -lpthread, then configure
# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS.
configopts = "--with-openssl --with-libpcre2 --without-tcltk --with-curl --with-expat --enable-pthreads='-lpthread'"
# Other options to specify paths: --with-perl --with-python --with-zlib

#
# The system by default does not contain the tools needed to build the documentation for git.
#
#buildopts = 'all doc info'
#installopts = 'install install-doc install-info'

sanity_check_paths = {
    'files': ['bin/git'],
    'dirs':  ['libexec/git-core', 'share'],
}

sanity_check_commands = [
    'git --version',
    'git-cvsserver --version',
    'git --version',
    'git --version',
    'git --version',
]

moduleclass = 'tools'

[git] [package list]