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
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
easyblock = 'PythonBundle'

name = 'SciPy-bundle'
version = '2019.03'

homepage = 'http://python.org/'
description = "Bundle of Python packages for scientific software"

toolchain = {'name': 'intel', 'version': '2019a'}
toolchainopts = {'pic': True}

multi_deps = {'Python': ['3.7.2', '2.7.15']}

use_pip = True

# required because we're building Python packages using Intel compilers on top of Python built with GCC
check_ldshared = True

# order is important!
# package versions updated Mar 15th 2019
exts_list = [
('numpy', '1.16.2', {
'source_urls': ['https://pypi.python.org/packages/source/n/numpy/'],
'source_tmpl': '%(name)s-%(version)s.zip',
'patches': [
'numpy-1.12.0-mkl.patch',
'numpy-1.16.1_fix-ifort-V-stderr.patch',
],
'checksums': [
'6c692e3879dde0b67a9dc78f9bfb6f61c666b4562fd8619632d7043fb5b691b0', # numpy-1.16.2.zip
'f212296ed289eb1b4e3f703997499dee8a2cdd0af78b55e017477487b6377ca4', # numpy-1.12.0-mkl.patch
'fc7f0c4b910bf3706d43661b94696f07b6e317bfeac062c2c78b3926fde713a7', # numpy-1.16.1_fix-ifort-V-stderr.patch
],
}),
('scipy', '1.2.1', {
'source_urls': ['https://pypi.python.org/packages/source/s/scipy/'],
'checksums': ['e085d1babcb419bbe58e2e805ac61924dac4ca45a07c9fa081144739e500aa3c'],
}),
('mpi4py', '3.0.1', {
'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'],
'checksums': ['6549a5b81931303baf6600fa2e3bc04d8bd1d5c82f3c21379d0d64a9abcca851'],
}),
('pandas', '0.24.2', {
'source_urls': ['https://pypi.python.org/packages/source/p/pandas/'],
'checksums': ['4f919f409c433577a501e023943e582c57355d50a724c589e78bc1d551a535a2'],
}),
('mpmath', '1.1.0', {
'source_urls': ['https://pypi.python.org/packages/source/m/mpmath/'],
'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'],
}),
]

moduleclass = 'lang'
55 changes: 55 additions & 0 deletions easybuild/easyconfigs/s/SciPy-bundle/numpy-1.12.0-mkl.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
fix issues in numpy distutils pkg w.r.t. detecting BLAS/LAPACK libraries
by Kenneth Hoste (HPC-UGent)
diff -ru numpy-1.12.0.orig/numpy/distutils/fcompiler/__init__.py numpy-1.12.0/numpy/distutils/fcompiler/__init__.py
--- numpy-1.12.0.orig/numpy/distutils/fcompiler/__init__.py 2017-01-15 11:39:18.000000000 +0100
+++ numpy-1.12.0/numpy/distutils/fcompiler/__init__.py 2017-03-06 17:19:07.262810683 +0100
@@ -628,7 +628,10 @@
return options

def library_option(self, lib):
- return "-l" + lib
+ if lib[0]=='-':
+ return lib
+ else:
+ return "-l" + lib
def library_dir_option(self, dir):
return "-L" + dir

diff -ru numpy-1.12.0.orig/numpy/distutils/system_info.py numpy-1.12.0/numpy/distutils/system_info.py
--- numpy-1.12.0.orig/numpy/distutils/system_info.py 2017-01-15 11:39:18.000000000 +0100
+++ numpy-1.12.0/numpy/distutils/system_info.py 2017-03-06 17:25:38.778143748 +0100
@@ -675,7 +675,7 @@
if is_string(default):
return [default]
return default
- return [b for b in [a.strip() for a in libs.split(',')] if b]
+ return [b for b in [a.strip().replace(':',',') for a in libs.split(',')] if b]

def get_libraries(self, key='libraries'):
if hasattr(self, '_lib_names'):
@@ -756,6 +756,9 @@
# make sure we preserve the order of libs, as it can be important
found_dirs, found_libs = [], []
for lib in libs:
+ if lib[0] == '-':
+ found_libs.append(lib)
+ continue
for lib_dir in lib_dirs:
found_lib = self._find_lib(lib_dir, lib, exts)
if found_lib:
diff -ru numpy-1.12.0.orig/numpy/distutils/unixccompiler.py numpy-1.12.0/numpy/distutils/unixccompiler.py
--- numpy-1.12.0.orig/numpy/distutils/unixccompiler.py 2016-12-21 16:46:24.000000000 +0100
+++ numpy-1.12.0/numpy/distutils/unixccompiler.py 2017-03-06 17:19:07.262810683 +0100
@@ -123,3 +123,12 @@

replace_method(UnixCCompiler, 'create_static_lib',
UnixCCompiler_create_static_lib)
+
+def UnixCCompiler_library_option(self, lib):
+ if lib[0]=='-':
+ return lib
+ else:
+ return "-l" + lib
+
+replace_method(UnixCCompiler, 'library_option',
+ UnixCCompiler_library_option)
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
catch stderr output of 'ifort -V'
see https://github.com/numpy/numpy/issues/10569 and https://github.com/numpy/numpy/pull/12831
diff --git a/numpy/distutils/ccompiler.py b/numpy/distutils/ccompiler.py
index 100d0d06995..552b9566f77 100644
--- a/numpy/distutils/ccompiler.py
+++ b/numpy/distutils/ccompiler.py
@@ -639,7 +639,7 @@ def matcher(version_string):
return version

try:
- output = subprocess.check_output(version_cmd)
+ output = subprocess.check_output(version_cmd, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as exc:
output = exc.output
status = exc.returncode