From: SALOME support Date: Thu, 9 Sep 2021 08:33:17 +0000 (+0200) Subject: Merge branch 'spns/20216' of https://codev-tuleap.cea.fr/plugins/git/salome/sat_salom... X-Git-Tag: V9_8_0~99 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fspns%2F20216;hp=dc1a479a1df39203fe04f79391f018b112952009;p=tools%2Fsat_salome.git Merge branch 'spns/20216' of https://codev-tuleap.cea.fr/plugins/git/salome/sat_salome into spns/20216 Conflicts: products/CONFIGURATION.pyconf --- diff --git a/applications/MEDCOUPLING-9.7.0-MPI-int32.pyconf b/applications/MEDCOUPLING-9.7.0-MPI-int32.pyconf new file mode 100644 index 0000000..6d0e8e9 --- /dev/null +++ b/applications/MEDCOUPLING-9.7.0-MPI-int32.pyconf @@ -0,0 +1,86 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +APPLICATION : +{ + name : 'MEDCOUPLING-9.7.0-MPI-int32' + workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist + tag : 'V9_7_0' + base : 'no' + debug : 'no' + python3 : 'yes' + environ : + { + build : {CONFIGURATION_ROOT_DIR : $workdir + $VARS.sep + "SOURCES" + $VARS.sep + "CONFIGURATION"} + launch : {PYTHONIOENCODING:"UTF_8"} + } + products : + { + # PREREQUISITES : + alabaster : '0.7.6' + Babel : '2.7.0' + boost : '1.58.0' + certifi : '2018.8.24' + click : '6.7' + cmake : '3.12.1' + cppunit : '1.13.2' + chardet : '3.0.4' + Cython : '0.25.2' + docutils : '0.12' + doxygen : '1.8.14' + graphviz : '2.38.0' + hdf5 : {tag : '1.10.3', hpc : 'yes'} + idna : '2.7' + imagesize : '1.0.0' + Jinja2 : '2.7.3' + lapack : '3.8.0' + libxml2 : '2.9.1' + markupsafe : '0.23' + medfile : {tag : '4.1.0', hpc : 'yes', section : 'default_Autotools' } + mpi4py: '3.0.3' + numpy : '1.15.1' + openmpi : '3.1.6' + ParMetis : '3.1.1' + pockets : '0.6.2' + Pygments : '2.0.2' + pyparsing : '2.0.3' + Python : '3.6.5' + pytz : '2015.7' + requests : '2.19.1' + scipy : '0.19.1' + scotch : '6.0.4' + setuptools : '38.4.0' + six : '1.10.0' + snowballstemmer : '1.2.1' + Sphinx : '1.7.6' + sphinxcontrib_napoleon : '0.6.1' + sphinxcontrib_websupport : '1.1.0' + sphinxintl: '0.9.10' + swig : '3.0.12' + packaging : '17.1' + urllib3 : '1.23' + + # SALOME MODULES : + 'CONFIGURATION' + 'MEDCOUPLING' : {section : 'default_32BIT_IDS_MPI'} + } + test_base : + { + name : "SALOME" + tag : "SalomeV9" + } + properties : + { + repo_dev : "yes" + pip : 'yes' + pip_install_dir : 'python' + single_install_dir : "no" + } +} +__overwrite__ : +[ + { + __condition__ : "VARS.dist in ['FD32']" + 'APPLICATION.products.scipy' : '1.5.2' # gcc https://github.com/scipy/scipy/issues/11611 - either patch numpy to include -fallow-argument-mismatch or move to that version + } +] diff --git a/products/FMILibrary.pyconf b/products/FMILibrary.pyconf new file mode 100644 index 0000000..1ac79b5 --- /dev/null +++ b/products/FMILibrary.pyconf @@ -0,0 +1,41 @@ +default : +{ + name : "FMILibrary" + build_source : "cmake" + cmake_options : " -DFMILIB_GENERATE_DOXYGEN_DOC=OFF" + get_source : "archive" + environ : + { + env_script : $name + ".py" + } + depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib'] + build_depend : ["cmake", "swig"] + opt_depend : ['openmpi'] + patches : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' + properties : + { + single_install_dir : "no" + incremental : "yes" + } +} + +default_win : +{ + compil_script : 'pip_install' + $VARS.scriptExtension + properties : + { + single_install_dir : "yes" + incremental : "yes" + pip : "yes" + } + depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'pthreads'] + opt_depend : [] +} + +version_2_0_3 : +{ + patches : ['FMILibrary-2.0.3-installdir.patch'] +} \ No newline at end of file diff --git a/products/MEDCOUPLING.pyconf b/products/MEDCOUPLING.pyconf index bac0606..e6e6b5c 100644 --- a/products/MEDCOUPLING.pyconf +++ b/products/MEDCOUPLING.pyconf @@ -101,6 +101,32 @@ default_32BIT_IDS_win: cmake_options : ' -DMEDCOUPLING_ENABLE_PYTHON=ON -DMEDCOUPLING_ENABLE_PARTITIONER=OFF -DMEDCOUPLING_ENABLE_RENUMBER=ON -DMEDCOUPLING_PARTITIONER_METIS=ON -DMEDCOUPLING_PARTITIONER_SCOTCH=OFF -DMEDCOUPLING_PARTITIONER_PARMETIS=OFF -DMEDCOUPLING_MICROMED=OFF -DMEDCOUPLING_USE_MPI=OFF ' } +default_32BIT_IDS_MPI : +{ + cmake_options : "-DMEDCOUPLING_ENABLE_PYTHON=ON -DMEDCOUPLING_ENABLE_PARTITIONER=OFF -DMEDCOUPLING_ENABLE_RENUMBER=ON -DMEDCOUPLING_PARTITIONER_METIS=OFF -DMEDCOUPLING_PARTITIONER_SCOTCH=ON -DMEDCOUPLING_PARTITIONER_PARMETIS=ON -DMEDCOUPLING_MICROMED=OFF -DMEDCOUPLING_USE_MPI=ON -DSALOME_USE_MPI=ON -DMEDCOUPLING_USE_64BIT_IDS=OFF -DCMAKE_CXX_COMPILER=${MPI_ROOT_DIR}/bin/mpicxx -DCMAKE_CC_COMPILER=${MPI_ROOT_DIR}/bin/mpicc" + depend : [ + "boost", + "cppunit", + "Python", + "hdf5", + "medfile", + "scotch", + "ParMetis", + "docutils", + "libxml2", + "Sphinx", + "sphinxintl", + "setuptools", + "six", + "pytz", + "numpy", + "scipy", + "lapack", + "CONFIGURATION", + "openmpi" + ] +} + version_V9_5_0 : { cmake_options : "-DMEDCOUPLING_ENABLE_PYTHON=ON -DMEDCOUPLING_ENABLE_PARTITIONER=ON -DMEDCOUPLING_ENABLE_RENUMBER=ON -DMEDCOUPLING_PARTITIONER_METIS=ON -DMEDCOUPLING_PARTITIONER_SCOTCH=ON -DMEDCOUPLING_PARTITIONER_PARMETIS=OFF -DMEDCOUPLING_MICROMED=OFF -DMEDCOUPLING_USE_MPI=OFF" diff --git a/products/PyFMI.pyconf b/products/PyFMI.pyconf new file mode 100644 index 0000000..d0ecc76 --- /dev/null +++ b/products/PyFMI.pyconf @@ -0,0 +1,27 @@ +default : +{ + name : "PyFMI" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : [] + rpm_dev : [] + apt : [] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ["Python", "setuptools", "FMILibrary"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/cminpack.pyconf b/products/cminpack.pyconf new file mode 100644 index 0000000..2fbca76 --- /dev/null +++ b/products/cminpack.pyconf @@ -0,0 +1,29 @@ +default : +{ + name : "cminpack" + build_source : "cmake" + cmake_options : " -DUSE_BLAS=ON -DUSE_FPIC=ON -DBUILD_SHARED_LIBS=ON" + compil_script : $name + $VARS.scriptExtension + get_source : "archive" + environ : + { + env_script : $name + ".py" + } + depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib'] + build_depend : ["cmake", "swig"] + opt_depend : ['openmpi'] + patches : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' + properties : + { + single_install_dir : "no" + incremental : "yes" + } +} + +version_1_3_6 : +{ + patches : ['cminpack-1.3.6-cblas.patch'] +} \ No newline at end of file diff --git a/products/env_scripts/FMILibrary.py b/products/env_scripts/FMILibrary.py new file mode 100644 index 0000000..a999de9 --- /dev/null +++ b/products/env_scripts/FMILibrary.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +import os.path + +def set_env(env, prereq_dir, version): + env.set('FMILIBRARY_ROOT_DIR', prereq_dir) + env.set('FMIL_HOME',prereq_dir) + env.prepend('PATH', os.path.join(prereq_dir,'bin')) + env.prepend('LD_LIBRARY_PATH',os.path.join(prereq_dir, 'lib')) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/PyFMI.py b/products/env_scripts/PyFMI.py new file mode 100644 index 0000000..7e83f24 --- /dev/null +++ b/products/env_scripts/PyFMI.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('PYFMI_ROOT_DIR', prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/cminpack.py b/products/env_scripts/cminpack.py new file mode 100644 index 0000000..a27bbce --- /dev/null +++ b/products/env_scripts/cminpack.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +import os.path + +def set_env(env, prereq_dir, version): + env.set('CMINPACK_ROOT_DIR', prereq_dir) + env.prepend('PATH', os.path.join(prereq_dir,'bin')) + env.prepend('LD_LIBRARY_PATH',os.path.join(prereq_dir, 'lib')) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/openturns.py b/products/env_scripts/openturns.py index 4870814..3527208 100644 --- a/products/env_scripts/openturns.py +++ b/products/env_scripts/openturns.py @@ -2,7 +2,7 @@ import os.path def set_env(env, prereq_dir, version): - env.set('OPENTURN_ROOT_DIR', prereq_dir) + env.set('OPENTURNS_ROOT_DIR', prereq_dir) env.prepend('PATH', os.path.join(prereq_dir,'bin')) env.prepend('LD_LIBRARY_PATH',os.path.join(prereq_dir, 'lib')) pyver = 'python' + env.get('PYTHON_VERSION') diff --git a/products/env_scripts/pandas.py b/products/env_scripts/pandas.py new file mode 100644 index 0000000..2dd744a --- /dev/null +++ b/products/env_scripts/pandas.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path, platform + +def set_env(env, prereq_dir, version): + env.set("PANDAS_ROOT_DIR",prereq_dir) + versionPython = env.get('PYTHON_VERSION') + if platform.system() == "Windows" : + pass + else : + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'lib', 'python' + versionPython, 'site-packages')) + +def set_nativ_env(env): + pass + diff --git a/products/hdf5.pyconf b/products/hdf5.pyconf index f341792..443bbde 100755 --- a/products/hdf5.pyconf +++ b/products/hdf5.pyconf @@ -4,6 +4,13 @@ default : build_source : "script" compil_script : $name + "CMake.sh" get_source : "archive" + system_info : + { + rpm : [] + rpm_dev : ["hdf5-devel"] + apt : [] + apt_dev : ["libhdf5-dev"] + } environ : { env_script : $name + ".py" diff --git a/products/pandas.pyconf b/products/pandas.pyconf new file mode 100644 index 0000000..67a7b8a --- /dev/null +++ b/products/pandas.pyconf @@ -0,0 +1,27 @@ +default : +{ + name : "pandas" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-pandas"] + rpm_dev : [] + apt : ["python3-pandas"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python', 'setuptools', 'Cython', 'dateutil'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/patches/FMILibrary-2.0.3-installdir.patch b/products/patches/FMILibrary-2.0.3-installdir.patch new file mode 100644 index 0000000..d113967 --- /dev/null +++ b/products/patches/FMILibrary-2.0.3-installdir.patch @@ -0,0 +1,12 @@ +diff -Naur FMILibrary-2.0.3_ref/CMakeLists.txt FMILibrary-2.0.3_new/CMakeLists.txt +--- FMILibrary-2.0.3_ref/CMakeLists.txt 2017-09-13 08:13:54.000000000 +0200 ++++ FMILibrary-2.0.3_new/CMakeLists.txt 2021-08-30 14:32:32.100995247 +0200 +@@ -26,7 +26,7 @@ + set(FMILIBRARYBUILD ${FMILibrary_BINARY_DIR}) + + # User configuration options and parameters +-SET(FMILIB_INSTALL_PREFIX ${FMILibrary_BINARY_DIR}/../install CACHE PATH "Prefix prepended to install directories") ++SET(FMILIB_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Prefix prepended to install directories") + set(FMILIB_THIRDPARTYLIBS ${FMILibrary_SOURCE_DIR}/ThirdParty CACHE PATH "Path to the ThirdParty library dir" ) + set(FMILIB_FMI_STANDARD_HEADERS ${FMILIB_THIRDPARTYLIBS}/FMI/default CACHE PATH "Path to the FMI standard headers dir" ) + diff --git a/products/patches/cminpack-1.3.6-cblas.patch b/products/patches/cminpack-1.3.6-cblas.patch new file mode 100644 index 0000000..fcf0913 --- /dev/null +++ b/products/patches/cminpack-1.3.6-cblas.patch @@ -0,0 +1,28 @@ +diff -Naur cminpack-1.3.6_ref/CMakeLists.txt cminpack-1.3.6_dev/CMakeLists.txt +--- cminpack-1.3.6_ref/CMakeLists.txt 2017-02-24 16:09:31.000000000 +0100 ++++ cminpack-1.3.6_dev/CMakeLists.txt 2021-08-30 14:02:27.425683737 +0200 +@@ -69,12 +69,23 @@ + + # Link with a BLAS library if requested + if (USE_BLAS) ++ SET(LAPACK_ROOT_DIR $ENV{LAPACK_ROOT_DIR} CACHE PATH "Path to the LAPACK.") ++ IF(LAPACK_ROOT_DIR) ++ LIST(APPEND CMAKE_PREFIX_PATH "${LAPACK_ROOT_DIR}") ++ ENDIF(LAPACK_ROOT_DIR) + if (NOT BUILD_SHARED_LIBS) + set(BLA_STATIC True) + endif() + find_package(BLAS) + if (BLAS_FOUND) +- target_link_libraries(cminpack PUBLIC ${BLAS_LIBRARIES}) ++ MESSAGE(STATUS "Searching for C-BLAS library...") ++ FIND_LIBRARY(CBLAS_LIBRARIES NAMES cblas ++ HINTS ${LAPACK_ROOT_DIR} ++ PATH_SUFFIXES lib ++ PATHS ${LAPACK_ROOT_DIR} ++ ) ++ ++ target_link_libraries(cminpack PUBLIC ${BLAS_LIBRARIES} ${CBLAS_LIBRARIES}) + set_target_properties(cminpack PROPERTIES LINK_FLAGS "${BLAS_LINKER_FLAGS}") + target_compile_definitions(cminpack PUBLIC -DUSE_CBLAS) + endif() diff --git a/salome.pyconf b/salome.pyconf index d78e4c6..d5fe06f 100644 --- a/salome.pyconf +++ b/salome.pyconf @@ -4,7 +4,7 @@ project_path : $PWD # Where to search the archives of the products -ARCHIVEPATH : "/home/salome/prerequis/archives" +ARCHIVEPATH : "/home/salome/prerequis/archives:/home/salome-public/prerequis/archives" ARCHIVEFTP : "ftp.cea.fr/pub/salome/prerequisites" # Where to search the pyconf of the applications APPLICATIONPATH : $project_path + "/applications/"