Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 30 additions & 0 deletions easybuild/easyconfigs/c/CTPL/CTPL-0.0.2-GCC-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
easyblock = 'CmdCp'

name = 'CTPL'
version = '0.0.2'

homepage = 'https://github.com/vit-vit/CTPL.git'

description = "Modern and efficient C++ Thread Pool Library"

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

github_account = 'vit-vit'
source_urls = [GITHUB_SOURCE]
sources = ['%(namelower)s_v.%(version)s.tar.gz']
checksums = ['8c1cec7c570d6d84be1d29283af5039ea27c3e69703bd446d396424bf619816e']

dependencies = [
('Boost', '1.79.0'),
]

cmds_map = [('.*', "echo Nothing to build")]

files_to_copy = [(['ctpl.h', 'ctpl_stl.h'], 'include/CTPL'), 'LICENSE', 'example.cpp']

sanity_check_paths = {
'files': ['include/CTPL/%s' % x for x in ['ctpl.h', 'ctpl_stl.h']],
'dirs': []
}

moduleclass = 'devel'
37 changes: 37 additions & 0 deletions easybuild/easyconfigs/s/SCons/SCons-4.4.0-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
easyblock = 'PythonBundle'

name = 'SCons'
version = '4.4.0'

homepage = 'https://www.scons.org/'
description = "SCons is a software construction tool."

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

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

dependencies = [('Python', '3.10.4')]

use_pip = True
sanity_pip_check = True

exts_list = [
(name, version, {
'modulename': False,
'patches': ['SCons-4.4.0_install_man_pages_correctly.patch'],
'checksums': [
{'SCons-4.4.0.tar.gz': '7703c4e9d2200b4854a31800c1dbd4587e1fa86e75f58795c740bcfa7eca7eaa'},
{'SCons-4.4.0_install_man_pages_correctly.patch':
'9d216c2ea8e152ae1531593b17adc4042eb88f1d9524d7f3b08ace5137d6d5e7'},
],
}),
]

sanity_check_paths = {
'files': ['bin/scons', 'bin/sconsign'],
'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'],
}

sanity_check_commands = ["scons --help"]

moduleclass = 'devel'
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Install the man pages in the correct directory.

Åke Sandgren, 2022-10-27
diff -ru SCons-4.4.0.orig/setup.cfg SCons-4.4.0/setup.cfg
--- SCons-4.4.0.orig/setup.cfg 2022-07-30 23:16:02.000000000 +0200
+++ SCons-4.4.0/setup.cfg 2022-10-27 11:55:33.457877253 +0200
@@ -58,7 +58,7 @@
SCons.Tool.docbook = *.*

[options.data_files]
-. = scons.1
+man/man1 = scons.1
scons-time.1
sconsign.1

87 changes: 87 additions & 0 deletions easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name = 'Xmipp'
version = '3.22.07-Helios'

homepage = 'https://github.com/I2PC/scipion/wiki'
description = """Scipion is an image processing framework to obtain 3D
models of macromolecular complexes using Electron Microscopy (3DEM). It
integrates several software packages and presents an unified interface
for both biologists and developers. Scipion allows to execute workflows
combining different software tools, while taking care of formats and
conversions. Additionally, all steps are tracked and can be reproduced
later on.
"""

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

sources = [
{
'source_urls': ['https://github.com/I2PC/xmipp/archive/'],
'download_filename': 'v%(version)s.tar.gz',
'filename': '%(namelower)s-v%(version)s.tar.gz',
},
{
'source_urls': ['https://github.com/I2PC/xmippCore/archive/'],
'download_filename': 'v%(version)s.tar.gz',
'filename': 'xmippCore-v%(version)s.tar.gz',
'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src',
},
{
'source_urls': ['https://github.com/I2PC/xmippViz/archive/'],
'download_filename': 'v%(version)s.tar.gz',
'filename': 'xmippViz-v%(version)s.tar.gz',
'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src',
},
]
patches = [
'%(name)s-%(version)s_fix_scons_Environent_calls.patch',
'%(name)s-%(version)s_drop_useless_CXXFLAGS_setting.patch',
'%(name)s-%(version)s_correct_order_of_cu_includes.patch',
'%(name)s-%(version)s_dont_add_useless_libs.patch',
'%(name)s-%(version)s_dont_change_EB_build_flags.patch',
('XmippCore-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippCore'),
('XmippCore-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippCore'),
('XmippViz-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippViz'),
('XmippViz-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippViz'),
]
checksums = [
{'xmipp-v3.22.07-Helios.tar.gz': 'f62e2729130b63d18e518930dd96a7a5250219e40c155abb78942a0642237ecf'},
{'xmippCore-v3.22.07-Helios.tar.gz': '58e1143626cf807655a4756b165c21578d6f1b1777b43d363a2845d92d0bab8f'},
{'xmippViz-v3.22.07-Helios.tar.gz': 'e1ce2cbbd57d3307d38538b29194a0190d633e5e062685387a6baf0329ad05b3'},
{'Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch':
'5b59babad5a445ec7315a809509704d2d07232d2a5d180bfb78ebc8007bd0c95'},
{'Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch':
'34ed0cb591e1e2788acd3e58696b1f45ce9210836d14ed1c99de1e574e4824e6'},
{'Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch':
'2b0b2ddf349003be4112f4dca623586a03235214d6e64d232deb26468b52f0e3'},
{'Xmipp-3.22.07-Helios_dont_add_useless_libs.patch':
'284b8ec1e514fb84b7680c8b3f59b3d5931b564beb444d3301504e3170e9a49e'},
{'Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch':
'1514eaa5de35b38b5a10e949edf5c94ba95bbd05e0b9fbf70db2ea98967394e3'},
{'XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch':
'8dcf0f3648f4b3438374ba629a9efa2e5c08eb25ae76ed420513664d21e2246b'},
{'XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch':
'd86b0d3ecc339b81c9aa7a33d2b44b428643aa7e2e686529b4bb6b16d36805c2'},
{'XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch':
'7724fc3953d9c4c308a5755f54229259425fdbad5a909153bd173292434407b9'},
{'XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch':
'a8bea23c243174fb27a140a34a064a622cc96f0e7231fd31caf20f90c7ba9555'},
]

builddependencies = [
('SCons', '4.4.0'),
('CTPL', '0.0.2'),
]

dependencies = [
('Python', '3.10.4'),
('SciPy-bundle', '2022.05'),
('Java', '11', '', SYSTEM),
('OpenCV', '4.6.0', '-contrib'),
('SQLite', '3.38.3'),
('HDF5', '1.12.2'),
('LibTIFF', '4.3.0'),
('libjpeg-turbo', '2.1.3'),
('LIBSVM', '3.30'),
]

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
commit baac03018283296f90c08366e0e092c95d25173b
Author: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Date: Tue Oct 18 14:34:34 2022 +0200

cuda_gpu_multidim_array.cu is just an include file containing templates.
Needs to be before cuda_gpu_geo_transformer.cu

diff --git xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp
index f7e5178c..8ccbefd3 100644
--- xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp
+++ xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp
@@ -31,6 +31,6 @@
*/

#include "cuda_gpu_bilib.cu"
+#include "cuda_gpu_multidim_array.cu"
#include "cuda_gpu_geo_transformer.cu"
#include "cuda_gpu_iirconvolve.cu"
-#include "cuda_gpu_multidim_array.cu"
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
commit 4c1e2d678c5a33eae2ddb9f0558523d6d697e2b6
Author: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Date: Thu Oct 27 08:04:04 2022 +0200

Don't add useless libraries to XmippInterfaceCuda and XmippParallelCuda

diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct
index e70ea2cd..077541e8 100644
--- xmipp-3.22.07-Helios/src/xmipp/SConstruct
+++ xmipp-3.22.07-Helios/src/xmipp/SConstruct
@@ -209,9 +209,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte
"""
_libs = list(libs)
_libpath = list(libpath)+external_libdirs
- if name == "XmippInterfaceCuda":
- _libs.append("XmippCuda")
- if "Cuda" in name:
+ if name == "XmippCuda":
_libs.append("cudart")
#_libs.append("cuda")
_libs.append("cufft")
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
commit e53881505ae212fa913fc536e60869e9b8e7f73c
Author: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Date: Thu Oct 27 09:45:11 2022 +0200

Don't change flags from what EasyBuild has decided to use.

diff --git xmipp-3.22.07-Helios/scripts/config.py xmipp-3.22.07-Helios/scripts/config.py
index 0f58cbe3..b442a035 100644
--- xmipp-3.22.07-Helios/scripts/config.py
+++ xmipp-3.22.07-Helios/scripts/config.py
@@ -293,7 +293,7 @@ class Config:
self.configDict["CCFLAGS"] += " -std=c99"
if 'g++' in self.get(Config.KEY_CXX):
# optimize for current machine
- self.configDict["CXXFLAGS"] += " -mtune=native -march=native -flto"
+ #self.configDict["CXXFLAGS"] += " -mtune=native -march=native -flto"
if "-std=c99" not in self.configDict["CXXFLAGS"]:
self.configDict["CXXFLAGS"] += " -std=c++17"
if isCIBuild():
@@ -301,8 +301,8 @@ class Config:
self.configDict["CXXFLAGS"] += " -Werror"
# don't optimize, as it slows down the build
self.configDict["CXXFLAGS"] += " -O0"
- else:
- self.configDict["CXXFLAGS"] += " -O3"
+ #else:
+ # self.configDict["CXXFLAGS"] += " -O3"
if self.is_true("DEBUG"):
self.configDict["CXXFLAGS"] += " -g"

@@ -315,8 +315,8 @@ class Config:
if self.configDict["LIBDIRFLAGS"] == "":
# /usr/local/lib or /path/to/virtEnv/lib
localLib = "%s/lib" % info['data']
- self.configDict["LIBDIRFLAGS"] = "-L%s" % localLib
- self.environment.update(LD_LIBRARY_PATH=localLib)
+ #self.configDict["LIBDIRFLAGS"] = "-L%s" % localLib
+ #self.environment.update(LD_LIBRARY_PATH=localLib)

# extra libs
hdf5InLocalLib = findFileInDirList("libhdf5*", localLib)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
commit f647cd54c8fa2b0894f347cbf7f13aacc0b8c785
Author: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Date: Tue Oct 18 14:30:08 2022 +0200

Drop redundant setting of env var CXXFLAGS to what it already is.

diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct
index c921c3c5..e70ea2cd 100644
--- xmipp-3.22.07-Helios/src/xmipp/SConstruct
+++ xmipp-3.22.07-Helios/src/xmipp/SConstruct
@@ -148,7 +148,6 @@ env['LINKERFORPROGRAMS'] = os.environ.get('LINKERFORPROGRAMS')
env['CCFLAGS'] = os.environ.get('CCFLAGS', '').split()
cxxFlags = os.environ.get('CXXFLAGS', '')
env['CXXFLAGS'] = cxxFlags.split()
-os.environ['CXXFLAGS'] = cxxFlags # FIXME use only env or os.environ in the rest of the code
env['LINKFLAGS'] = os.environ.get('LINKFLAGS', '').split()


Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
commit 8ff0a1295743fae1eb069fe8242e524f348f5937
Author: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Date: Tue Oct 18 14:28:47 2022 +0200

Make sure SCons sees the complete environment from EasyBuild.

diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct
index 22ea72cf..c921c3c5 100644
--- xmipp-3.22.07-Helios/src/xmipp/SConstruct
+++ xmipp-3.22.07-Helios/src/xmipp/SConstruct
@@ -236,7 +236,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte
# the reason is a compilation error for CUDA, which results in a multiple symbol detection
# when the order is different. This has to be fixed in the future by changing the CUDA
# build system FIXME David Strelak
- env2 = Environment()
+ env2 = Environment(ENV=os.environ)
env2['ENV']['PATH'] = env['ENV']['PATH']
env2['CXXFLAGS']=list(env['CXXFLAGS']) # list(.) causes a true copy and not just a pointer
env2['LINKFLAGS']=list(env['LINKFLAGS'])
@@ -425,7 +425,7 @@ def addProgram(env, name, src=None, pattern=None, installDir=None,
ldLibraryPathCopy = [env['LIBPATH']]
appendUnique(libPathsCopy, external_libdirs) # This order is important, because if we should use Scipion libs, these will be before the system libs
appendUnique(libPathsCopy, env.get('LIBPATH', '').split(os.pathsep))
- env2 = Environment()
+ env2 = Environment(ENV=os.environ)
env2['ENV']['LD_LIBRARY_PATH'] = env['ENV'].get('LD_LIBRARY_PATH', '')
env2['ENV']['PATH'] = env['ENV']['PATH']

@@ -486,7 +486,7 @@ def compilerConfig(env):

def libraryTest(env, name, lang='c'):
"""Check the existence of a concrete C/C++ library."""
- env2 = Environment(LIBS=env.get('LIBS',''))
+ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS',''))
conf = Configure(env2)
conf.CheckLib(name, language=lang)
env2 = conf.Finish()
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
commit 901b41d324b351995b9256d7ee6b370276274497
Author: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Date: Tue Oct 18 14:21:03 2022 +0200

Make sure SCons sees the complete environment from EasyBuild.

diff --git xmippCore-3.22.07-Helios/SConstruct xmippCore-3.22.07-Helios/SConstruct
index 1c5fec3..40ed01f 100644
--- xmippCore-3.22.07-Helios/SConstruct
+++ xmippCore-3.22.07-Helios/SConstruct
@@ -207,7 +207,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte
if not sources and env.TargetInBuild(name):
Exit('No sources found for Library: %s. Exiting!!!' % name)

- env2 = Environment()
+ env2 = Environment(ENV=os.environ)
env2['ENV']['PATH'] = env['ENV']['PATH']
env2['CXX'] = env['CXX']

@@ -363,7 +363,7 @@ def compilerConfig(env):

def libraryTest(env, name, lang='c'):
"""Check the existence of a concrete C/C++ library."""
- env2 = Environment(LIBS=env.get('LIBS',''))
+ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS',''))
conf = Configure(env2)
conf.CheckLib(name, language=lang)
env2 = conf.Finish()
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
commit 36ca78858e442f1df23f5cb6b87c877a864eff44
Author: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Date: Tue Oct 18 14:23:16 2022 +0200

Only use CXXFLAGS from EasyBuild.

diff --git xmippCore-3.22.07-Helios/SConstruct xmippCore-3.22.07-Helios/SConstruct
index 40ed01f..277443d 100644
--- xmippCore-3.22.07-Helios/SConstruct
+++ xmippCore-3.22.07-Helios/SConstruct
@@ -136,13 +136,7 @@ env['CXX'] = os.environ.get('CXX')
env['LINKERFORPROGRAMS'] = os.environ.get('LINKERFORPROGRAMS')
env['CCFLAGS'] = os.environ.get('CCFLAGS', '').split()
cxxFlags = os.environ.get('CXXFLAGS', '')
-if os.environ.get('DEBUG', '0') == 'True': #FIXME, use 1, true, yes...
- cxxFlags += ' -g'
-else:
- if cxxFlags.find("-O")==-1:
- cxxFlags += (" -O3" if 'TRAVIS' not in os.environ else " -O0") #don't optimize on Travis, as it slows down the build
env['CXXFLAGS'] = cxxFlags.split()
-os.environ['CXXFLAGS'] = cxxFlags # FIXME use only env or os.environ in the rest of the code
env['LINKFLAGS'] = os.environ.get('LINKFLAGS', '').split()


Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
commit 0e749b55db29360c9804f8c5e07094b7a5bf0597
Author: Ake Sandgren <ake.sandgren@hpc2n.umu.se>
Date: Tue Oct 18 14:25:17 2022 +0200

Make sure scons sees the complete environment from EasyBuild.

diff --git xmippViz-3.22.07-Helios/SConstruct xmippViz-3.22.07-Helios/SConstruct
index dc0a809..32c75be 100644
--- xmippViz-3.22.07-Helios/SConstruct
+++ xmippViz-3.22.07-Helios/SConstruct
@@ -237,7 +237,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte
if not sources and env.TargetInBuild(name):
Exit('No sources found for Library: %s. Exiting!!!' % name)

- env2 = Environment()
+ env2 = Environment(ENV=os.environ)
env2['ENV']['PATH'] = env['ENV']['PATH']

mpiArgs = {}
@@ -474,7 +474,7 @@ def compilerConfig(env):

def libraryTest(env, name, lang='c'):
"""Check the existence of a concrete C/C++ library."""
- env2 = Environment(LIBS=env.get('LIBS', ''))
+ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS', ''))
conf = Configure(env2)
conf.CheckLib(name, language=lang)
env2 = conf.Finish()
Loading