diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2019.03-intel-2019a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2019.03-intel-2019a.eb new file mode 100644 index 00000000000..d4eeb11b53d --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2019.03-intel-2019a.eb @@ -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' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.12.0-mkl.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.12.0-mkl.patch new file mode 100644 index 00000000000..3d09924f966 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.12.0-mkl.patch @@ -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) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.1_fix-ifort-V-stderr.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.1_fix-ifort-V-stderr.patch new file mode 100644 index 00000000000..b781c2577b7 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.1_fix-ifort-V-stderr.patch @@ -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