diff --git a/easybuild/easyconfigs/i/Imath/Imath-3.1.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/Imath/Imath-3.1.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..36142e014532 --- /dev/null +++ b/easybuild/easyconfigs/i/Imath/Imath-3.1.5-GCCcore-11.3.0.eb @@ -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' diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..0c0b2fbef392 --- /dev/null +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb @@ -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' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-contrib.eb new file mode 100644 index 000000000000..b957c01b7d4c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-contrib.eb @@ -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' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d85c1503e248 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-11.3.0.eb @@ -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' diff --git a/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..a3ccd969fc73 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-11.3.0.eb @@ -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'