Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c65d481
adding easyconfigs: OpenEXR-3.1.5-GCCcore-11.3.0.eb, libwebp-1.2.4-GC…
robogast Sep 21, 2022
d9fbc97
injected checksums, removed OpenCV CPU_BASELINE configopt
robogast Sep 21, 2022
184d5dd
Downgraded OpenCV deps FFMpeg, HDF5, Java
robogast Sep 21, 2022
0d386aa
Re-pinned OpenCV FFmpeg to v5.0.1
robogast Sep 21, 2022
2f0c9a0
Added exception for FFmpeg versions for Paraview and OpenFOAM
casparvl Sep 21, 2022
ad6224a
re-added some nice templates from OpenCV/2021b easyconfig
robogast Sep 23, 2022
a873082
re-added templates to OpenEXR, libwebp ec's
robogast Sep 23, 2022
97b52ba
fixed ec for python2.7 syntax
robogast Sep 26, 2022
228df40
moved temp variables to single letters again
robogast Sep 26, 2022
8e905ed
W503 fix
robogast Sep 26, 2022
3e4ecf1
OpenEXR updated: Imath detached, zlib added
robogast Sep 29, 2022
459784b
OpenEXR updated: removed stray configopt
robogast Sep 29, 2022
48ef1a4
Revert "Added exception for FFmpeg versions for Paraview and OpenFOAM"
robogast Oct 4, 2022
9063cfb
OpenCV FFMpeg back to 4.4.2
robogast Oct 4, 2022
0bb76f4
Added Imath checksum
robogast Oct 6, 2022
e6c1118
Added OpenJPEG dep to OpenCV
robogast Oct 6, 2022
f5cd89f
Actually added OpenJPEG dep to OpenCV
robogast Oct 6, 2022
986e407
Removed OpenJPEG header comment
robogast Oct 6, 2022
0d40c7e
Added download link to the tarbal instead of clone. Also, updated the…
Oct 14, 2022
fd422dd
Replace True by System for the system toolchain
Oct 14, 2022
8b779b2
Now also change True to SYSTEM for ant...
Oct 14, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions easybuild/easyconfigs/i/Imath/Imath-3.1.5-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
easyblock = 'CMakeMake'

name = 'Imath'
version = '3.1.5'

homepage = 'https://imath.readthedocs.io/en/latest/'
description = """
Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics
"""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/AcademySoftwareFoundation/%(namelower)s/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['1e9c7c94797cf7b7e61908aed1f80a331088cc7d8873318f70376e4aed5f25fb']

builddependencies = [
('binutils', '2.38'),
('CMake', '3.23.1'),
]

sanity_check_paths = {
'files': ['lib/libImath.%s' % SHLIB_EXT],
'dirs': ['include/Imath'],
}

moduleclass = 'lib'
44 changes: 44 additions & 0 deletions easybuild/easyconfigs/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
easyblock = 'ConfigureMake'

name = 'libwebp'
version = '1.2.4'

homepage = 'https://developers.google.com/speed/webp/'
description = """WebP is a modern image format that provides superior
lossless and lossy compression for images on the web. Using WebP,
webmasters and web developers can create smaller, richer images that
make the web faster."""

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

source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df']

builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('libjpeg-turbo', '2.1.3'),
('libpng', '1.6.37'),
('LibTIFF', '4.3.0'),
('giflib', '5.2.1'),
]

configopts = '--enable-libwebpmux'

local_headers, local_libs = (
['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'],
['webp', 'webpdemux', 'webpmux']
)

sanity_check_paths = {
'files': (
['include/webp/%s' % h for h in local_headers] +
['lib/lib%s.a' % s for s in local_libs] +
['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs]
),
'dirs': ['lib/']
}

moduleclass = 'lib'
95 changes: 95 additions & 0 deletions easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-contrib.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name = 'OpenCV'
version = '4.6.0'
versionsuffix = '-contrib'

# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake
local_ippicv_hash = 'a56b6ac6f030c312b2dce17430eef13aed9af274'

homepage = 'https://opencv.org/'
description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision
and machine learning software library. OpenCV was built to provide
a common infrastructure for computer vision applications and to accelerate
the use of machine perception in the commercial products.
Includes extra modules for OpenCV from the contrib repository."""

toolchain = {'name': 'foss', 'version': '2022a'}

sources = [
{
'source_urls': ['https://github.com/%(namelower)s/%(namelower)s/archive/'],
'download_filename': '%(version)s.zip',
'filename': SOURCELOWER_ZIP
},
{
'source_urls': ['https://github.com/%(namelower)s/opencv_contrib/archive/'],
'download_filename': '%(version)s.zip',
'filename': '%(namelower)s_contrib-%(version)s.zip'
},
{
'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash],
'filename': 'ippicv_2020_lnx_intel64_20191018_general.tgz',
'extract_cmd': 'cp %s %(builddir)s'
},
]
checksums = [
'158db5813a891c7eda8644259fc1dbd76b21bd1ffb9854a8b4b8115a4ceec359', # opencv-4.6.0.zip
'588ca44e3c88ccf8e3ff7f46e966e26ff63d72607968ace83b91628d3440f8a3', # opencv_contrib-4.6.0.zip
'08627fa5660d52d59309a572dd7db5b9c8aea234cfa5aee0942a1dd903554246', # ippicv_2020_lnx_intel64_20191018_general.tgz
]

builddependencies = [
('CMake', '3.23.1'),
]
dependencies = [
('Python', '3.10.4'),
('SciPy-bundle', '2022.05'),
('zlib', '1.2.12'),
('FFmpeg', '4.4.2'),
('freetype', '2.12.1'),
('HarfBuzz', '4.2.1'),
('libjpeg-turbo', '2.1.3'),
('OpenJPEG', '2.5.0'),
('libpng', '1.6.37'),
('LibTIFF', '4.3.0'),
('libwebp', '1.2.4'),
('OpenEXR', '3.1.5'),
('JasPer', '2.0.33'),
('Java', '11', '', SYSTEM),
('ant', '1.10.12', '-Java-%(javaver)s', SYSTEM),
('GLib', '2.72.1'),
('GTK4', '4.7.0'),
('HDF5', '1.12.2'),
]

# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz
# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861
configopts = " ".join([
"-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules",
"-DFREETYPE_FOUND=ON",
"-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/",
"-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so",
"-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so",
"-DFREETYPE_LINK_LIBRARIES_XXXXX=ON",
"-DHARFBUZZ_FOUND=ON",
"-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz",
"-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so",
"-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so",
"-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON",
"-DBUILD_opencv_python2=OFF",
])

enhance_sanity_check = True

local_contrib_libs = [
'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype',
'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg',
'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking',
'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto'
]

sanity_check_paths = {
'files': ['lib64/libopencv_%s.%s' % (s, SHLIB_EXT) for s in local_contrib_libs],
'dirs': [],
}

moduleclass = 'vis'
38 changes: 38 additions & 0 deletions easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
easyblock = 'CMakeMake'

name = 'OpenEXR'
version = '3.1.5'

homepage = 'https://www.openexr.com/'
description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic
for use in computer imaging applications"""

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

source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec']

builddependencies = [
('binutils', '2.38'),
('CMake', '3.23.1'),
]
dependencies = [
('Imath', '3.1.5'),
('zlib', '1.2.12')
]

local_libs, local_bins = [
['Iex', 'IlmThread', 'OpenEXR', 'OpenEXRUtil'],
['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr']
]

sanity_check_paths = {
'files': (
['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] +
['bin/exr%s' % b for b in local_bins]
),
'dirs': ['include/%(name)s', 'share'],
}

moduleclass = 'vis'
42 changes: 42 additions & 0 deletions easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
easyblock = 'CMakeMake'

name = 'OpenJPEG'
version = '2.5.0'

homepage = 'https://www.openjpeg.org/'
description = """OpenJPEG is an open-source JPEG 2000 codec written in
C language. It has been developed in order to promote the use of JPEG 2000,
a still-image compression standard from the Joint Photographic Experts Group
(JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as
a JPEG 2000 Reference Software."""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/uclouvain/%(namelower)s/archive']
sources = ['v%(version)s.tar.gz']
checksums = ['0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a']

builddependencies = [
('binutils', '2.38'),
('CMake', '3.23.1'),
]
# for running the binary of openjpeg like opj_compress you need the libraries like zlib etc.
dependencies = [
('zlib', '1.2.12'),
('libpng', '1.6.37'),
('LibTIFF', '4.3.0'),
]

sanity_check_paths = {
'files': [
'bin/opj_compress',
'bin/opj_decompress',
'bin/opj_dump',
'include/openjpeg-%(version_major)s.%(version_minor)s/openjpeg.h',
'lib/libopenjp2.%s' % SHLIB_EXT
],
'dirs': ['bin', 'include', 'lib'],
}

moduleclass = 'lib'