Skip to content

Commit

Permalink
Merge pull request #20483 from PetrKralCZ/20240506154324_new_pr_LinBo…
Browse files Browse the repository at this point in the history
…x170

{math}[gfbf/2023b] LinBox v1.7.0, IML v1.0.5, FFLAS-FFPACK v2.5.0, ...
  • Loading branch information
smoors committed May 14, 2024
2 parents de21f98 + 1bbc151 commit 316e1ec
Show file tree
Hide file tree
Showing 4 changed files with 162 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
##
# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright (c) 2016 Riccardo Murri <riccardo.murri@gmail.com>
# Authors:: Riccardo Murri <riccardo.murri@gmail.com>
# License:: GPL
#
# Update: Petr Král (INUITS)
#
##

easyblock = 'ConfigureMake'

name = 'FFLAS-FFPACK'
version = '2.5.0'

homepage = 'https://linbox-team.github.io/fflas-ffpack/'
description = "Finite Field Linear Algebra Subroutines / Package"

toolchain = {'name': 'gfbf', 'version': '2023b'}

source_urls = ['https://github.com/linbox-team/fflas-ffpack/releases/download/v%(version)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['dafb4c0835824d28e4f823748579be6e4c8889c9570c6ce9cce1e186c3ebbb23']

dependencies = [
('GMP', '6.3.0'),
('Givaro', '4.2.0'),
]

configopts = '--with-blas-libs="$LIBBLAS_MT" --with-blas-cflags="-I$BLAS_INC_DIR" '
configopts += '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO --enable-openmp'

buildopts = " && make autotune "

sanity_check_paths = {
'files': ['bin/fflas-ffpack-config', 'include/fflas-ffpack/fflas-ffpack.h'],
'dirs': ['bin', 'include', 'lib'],
}

sanity_check_commands = ["fflas-ffpack-config --help"]

moduleclass = 'math'
48 changes: 48 additions & 0 deletions easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
##
# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright (c) 2016 Riccardo Murri <riccardo.murri@gmail.com>
# Authors:: Riccardo Murri <riccardo.murri@gmail.com>
# License:: GPL
#
# Update: Petr Král (INUITS)
#
##

easyblock = 'ConfigureMake'

name = 'Givaro'
version = '4.2.0'

homepage = 'https://github.com/linbox-team/givaro'
description = "C++ library for arithmetic and algebraic computations"

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

source_urls = ['https://github.com/linbox-team/givaro/archive']
sources = ['v%(version)s.zip']
checksums = ['bf51b47ac9a02be233fc39ac78d959d13630bcc78997007ffec410d940ed4c64']

builddependencies = [
('Autotools', '20220317'),
('binutils', '2.40'),
]

dependencies = [
('GMP', '6.3.0'),
]

preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && "
configopts = "--with-gmp=$EBROOTGMP --enable-inline"

prebuildopts = "sed -i 's/#include <iostream>/#include <iostream>\\n"
prebuildopts += "#include <cstdint>/g' src/library/poly1/givdegree.h && "

sanity_check_paths = {
'files': ['bin/givaro-config', 'include/givaro-config.h'],
'dirs': ['bin', 'include', 'lib'],
}

sanity_check_commands = ["givaro-config --help"]

moduleclass = 'math'
25 changes: 25 additions & 0 deletions easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
easyblock = 'ConfigureMake'

name = 'IML'
version = '1.0.5'

homepage = 'https://cs.uwaterloo.ca/~astorjoh/iml.html'
description = """IML is a free library of C source code which implements algorithms for computing
exact solutions to dense systems of linear equations over the integers."""

toolchain = {'name': 'gfbf', 'version': '2023b'}

source_urls = ['http://www.cs.uwaterloo.ca/~astorjoh']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['1dad666850895a5709b00b97422e2273f293cfadea7697a9f90b90953e847c2a']

dependencies = [('GMP', '6.3.0')]

configopts = '--with-cblas="$LIBBLAS" --with-gmp-include=$EBROOTGMP/include --with-gmp-lib=$EBROOTGMP/lib '

sanity_check_paths = {
'files': ['include/iml.h', 'lib/libiml.a'],
'dirs': ['share'],
}

moduleclass = 'math'
46 changes: 46 additions & 0 deletions easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
##
# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright (c) 2016 Riccardo Murri <riccardo.murri@gmail.com>
# Authors:: Riccardo Murri <riccardo.murri@gmail.com>
# License:: GPL
#
# Update: Petr Král (INUITS)
#
##

easyblock = 'ConfigureMake'

name = 'LinBox'
version = '1.7.0'

homepage = 'https://linalg.org/'
description = "C++ library for exact, high-performance linear algebra"

toolchain = {'name': 'gfbf', 'version': '2023b'}

source_urls = ['https://github.com/linbox-team/linbox/releases/download/v%(version)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['6d2159fd395be0298362dd37f6c696676237bc8e2757341fbc46520e3b466bcc']

dependencies = [
('FFLAS-FFPACK', '2.5.0'),
('FLINT', '3.1.1'),
('Givaro', '4.2.0'),
('IML', '1.0.5'),
('NTL', '11.5.1'),
]

configopts = "--with-fflas-ffpack=$EBROOTFFLASMINFFPACK --with-flint=$EBROOTFLINT "
configopts += "--with-givaro=$EBROOTGIVARO --with-iml=$EBROOTIML --with-ntl=$EBROOTNTL "
configopts += "--enable-openmp --enable-shared "

sanity_check_paths = {
'files': ['bin/linbox-config', 'include/linbox/linbox-config.h'] +
['lib/liblinbox.%s' % e for e in ['a', SHLIB_EXT]],
'dirs': ['bin', 'include', 'lib'],
}

sanity_check_commands = ["linbox-config --help"]

moduleclass = 'math'

0 comments on commit 316e1ec

Please sign in to comment.