diff --git a/easybuild/easyconfigs/c/COLMAP/COLMAP-3.8-foss-2022b.eb b/easybuild/easyconfigs/c/COLMAP/COLMAP-3.8-foss-2022b.eb new file mode 100644 index 00000000000..1da3b634c94 --- /dev/null +++ b/easybuild/easyconfigs/c/COLMAP/COLMAP-3.8-foss-2022b.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeNinja' + +name = 'COLMAP' +version = '3.8' + +homepage = 'https://colmap.github.io' +description = """COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline +with a graphical and command-line interface""" + +source_urls = ['https://github.com/colmap/colmap/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['02288f8f61692fe38049d65608ed832b31246e7792692376afb712fa4cef8775'] + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('Eigen', '3.4.0'), + ('googletest', '1.12.1'), +] + +dependencies = [ + ('Boost', '1.81.0'), + ('Qt5', '5.15.7'), + ('FLANN', '1.9.2'), + ('FreeImage', '3.18.0'), + ('METIS', '5.1.0'), + ('glog', '0.6.0'), + ('SQLite', '3.39.4'), + ('glew', '2.2.0', '-egl'), + ('CGAL', '5.5.2'), + ('Ceres-Solver', '2.2.0'), +] + +configopts = "-DCMAKE_CXX_STANDARD=17" + +sanity_check_paths = { + 'files': ['bin/colmap', 'lib/colmap/libcolmap.a', 'lib/colmap/libpba.a', 'lib/colmap/libvlfeat.a'], + 'dirs': ['include/colmap'], +} + +sanity_check_commands = ["colmap -h"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/Ceres-Solver/Ceres-Solver-2.2.0-foss-2022b.eb b/easybuild/easyconfigs/c/Ceres-Solver/Ceres-Solver-2.2.0-foss-2022b.eb new file mode 100644 index 00000000000..e0adc9dd257 --- /dev/null +++ b/easybuild/easyconfigs/c/Ceres-Solver/Ceres-Solver-2.2.0-foss-2022b.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Ceres-Solver' +version = '2.2.0' + +homepage = 'http://ceres-solver.org' +description = """Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization +problems""" + +source_urls = ['http://ceres-solver.org/'] +sources = ['ceres-solver-%(version)s.tar.gz'] +checksums = ['48b2302a7986ece172898477c3bcd6deb8fb5cf19b3327bc49969aad4cede82d'] + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('glog', '0.6.0'), + ('gflags', '2.2.2'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), +] + +sanity_check_paths = { + 'files': ['lib/libceres.a'], + 'dirs': ['include/ceres', 'lib/cmake/Ceres'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.9.2-foss-2022b.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.2-foss-2022b.eb new file mode 100644 index 00000000000..ce4946fff26 --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.2-foss-2022b.eb @@ -0,0 +1,42 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'FLANN' +version = '1.9.2' + +homepage = 'https://github.com/mariusmuja/flann/' +description = "FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces." + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/mariusmuja/flann/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e26829bb0017f317d9cc45ab83ddcb8b16d75ada1ae07157006c1e7d601c8824'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('lz4', '1.9.4'), +] + +configopts = "-DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" + +modextrapaths = {'PYTHONPATH': ['share/flann/python']} + +sanity_check_paths = { + 'files': ['lib/libflann_cpp_s.a', 'lib/libflann_s.a', + 'lib/libflann_cpp.%s' % SHLIB_EXT, 'lib/libflann.%s' % SHLIB_EXT], + 'dirs': ['include/flann', 'lib/pkgconfig', 'share/flann/python'], +} + +sanity_check_commands = ["python -c 'import pyflann'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..042dd4fdbf0 --- /dev/null +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'gflags' +version = '2.2.2' + +homepage = 'https://github.com/gflags/gflags' +description = """ +The gflags package contains a C++ library that implements commandline flags +processing. It includes built-in support for standard types such as string +and the ability to define flags in the source file in which they are used. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' + +sanity_check_paths = { + 'files': ['bin/gflags_completions.sh'] + + ['lib/%s' % x for x in ['libgflags.%s' % SHLIB_EXT, 'libgflags_nothreads.%s' % SHLIB_EXT, + 'libgflags.a', 'libgflags_nothreads.a']] + + ['include/gflags/gflags_completions.h'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.2.0-egl.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.2.0-egl.eb new file mode 100644 index 00000000000..7babe095c23 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.2.0-egl.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-egl' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Mesa', '22.2.4'), + ('X11', '20221110'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glog/glog-0.6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/glog/glog-0.6.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e3742d09ea3 --- /dev/null +++ b/easybuild/easyconfigs/g/glog/glog-0.6.0-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'glog' +version = '0.6.0' + +homepage = 'https://github.com/google/glog' +description = "A C++ implementation of the Google logging module." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/google/glog/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('gflags', '2.2.2'), + ('libunwind', '1.6.2'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['include/glog/logging.h', 'include/glog/raw_logging.h', 'lib/libglog.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel'