From c6dcc6541cf90cd1f44eb850aa3756b966336326 Mon Sep 17 00:00:00 2001 From: Nabil Ghodbane Date: Fri, 12 Apr 2024 12:57:38 +0200 Subject: [PATCH] bos #41189 - support embedded Python 3.9 for both Linux and Windows --- applications/SALOME-master-windows.pyconf | 103 +++++-- applications/SALOME-master.pyconf | 251 +++++++++++++++--- products/Cython.pyconf | 32 ++- products/ParaView.pyconf | 3 +- products/PyFMI.pyconf | 1 + products/Pygments.pyconf | 1 + products/Python.pyconf | 6 +- products/Sphinx.pyconf | 12 +- products/charset_normalizer.pyconf | 21 ++ products/compil_scripts/CAS_7.5.bat | 2 +- products/compil_scripts/PyFMI-2.6.bat | 24 +- products/compil_scripts/Python-3.9.bat | 230 ++++++++++++++++ products/compil_scripts/cython-0.29.12.bat | 62 +++++ products/compil_scripts/cython-0.29.37.bat | 62 +++++ products/compil_scripts/matplotlib.sh | 6 +- products/compil_scripts/mpi4py-3.0.3.sh | 26 ++ products/compil_scripts/mpi4py-3.1.0.sh | 26 ++ products/compil_scripts/numpy-1.26.4.bat | 63 +++++ products/compil_scripts/openturns-1.21.bat | 79 ++++-- products/compil_scripts/openturns-1.21.sh | 26 +- products/compil_scripts/pandas-1.5.3.bat | 59 ++++ products/compil_scripts/psutil-5.9.8.bat | 46 ++++ products/compil_scripts/pybind11.bat | 59 ++++ products/compil_scripts/scipy-1.6.2.bat | 59 ++++ products/compil_scripts/sip-5.5.0.bat | 14 +- products/compil_scripts/sip-5.5.0.sh | 6 +- products/compil_scripts/sphinxintl-2.0.0.bat | 61 +++++ products/contourpy.pyconf | 20 ++ products/dateutil.pyconf | 5 + products/decorator.pyconf | 38 +++ products/env_scripts/charset_normalizer.py | 10 + products/env_scripts/contourpy.py | 9 + products/env_scripts/decorator.py | 10 + products/env_scripts/fonttools.py | 10 + products/env_scripts/importlib_metadata.py | 10 + products/env_scripts/importlib_resources.py | 10 + products/env_scripts/joblib.py | 10 + products/env_scripts/omniORB.py | 2 + products/env_scripts/scikit_learn.py | 10 + products/env_scripts/sphinxcontrib_jquery.py | 10 + products/env_scripts/tabulate.py | 10 + products/env_scripts/threadpoolctl.py | 10 + products/env_scripts/tomli.py | 10 + products/env_scripts/zipp.py | 10 + products/fonttools.pyconf | 20 ++ products/gdal.pyconf | 1 + products/importlib_metadata.pyconf | 21 ++ products/importlib_resources.pyconf | 21 ++ products/joblib.pyconf | 38 +++ products/matplotlib.pyconf | 29 +- products/mpi4py.pyconf | 21 ++ products/numpy.pyconf | 24 ++ products/numpydoc.pyconf | 1 + products/opencv.pyconf | 10 +- products/openturns.pyconf | 2 +- products/pandas.pyconf | 14 + products/patches/PyFMI-2.6-importlogger.patch | 24 ++ .../patches/gdal.0003-ignore_use2to3.patch | 19 ++ products/patches/mpi4py_3_1_0_setup_py.patch | 12 + ...aview-5.11.0.p0011-add_dll_directory.patch | 36 +++ .../patches/python-3.9.14.01-ctype-init.patch | 18 ++ products/patches/python-3.9.14.02-os.py.patch | 11 + .../patches/python-3.9.14.03-getpath.patch | 29 ++ .../python-3.9.14.04-dynload_win.patch | 13 + products/psutil.pyconf | 9 + products/pyreadline.pyconf | 13 + products/pytz.pyconf | 5 + products/requests.pyconf | 1 + products/scikit_learn.pyconf | 38 +++ products/scipy.pyconf | 17 ++ products/sip.pyconf | 4 +- products/sphinx_rtd_theme.pyconf | 1 + products/sphinxcontrib_applehelp.pyconf | 1 + products/sphinxcontrib_devhelp.pyconf | 1 + products/sphinxcontrib_htmlhelp.pyconf | 1 + products/sphinxcontrib_jquery.pyconf | 21 ++ products/sphinxcontrib_jsmath.pyconf | 1 + products/sphinxcontrib_qthelp.pyconf | 1 + products/sphinxcontrib_serializinghtml.pyconf | 1 + products/sphinxcontrib_websupport.pyconf | 12 +- products/sphinxintl.pyconf | 2 +- products/statsmodels.pyconf | 2 +- products/tabulate.pyconf | 20 ++ products/threadpoolctl.pyconf | 38 +++ products/tomli.pyconf | 20 ++ products/zipp.pyconf | 20 ++ 86 files changed, 1996 insertions(+), 131 deletions(-) create mode 100644 products/charset_normalizer.pyconf create mode 100644 products/compil_scripts/Python-3.9.bat create mode 100755 products/compil_scripts/cython-0.29.12.bat create mode 100644 products/compil_scripts/cython-0.29.37.bat create mode 100755 products/compil_scripts/mpi4py-3.0.3.sh create mode 100755 products/compil_scripts/mpi4py-3.1.0.sh create mode 100644 products/compil_scripts/numpy-1.26.4.bat create mode 100644 products/compil_scripts/pandas-1.5.3.bat create mode 100644 products/compil_scripts/psutil-5.9.8.bat create mode 100644 products/compil_scripts/pybind11.bat create mode 100644 products/compil_scripts/scipy-1.6.2.bat create mode 100755 products/compil_scripts/sphinxintl-2.0.0.bat create mode 100644 products/contourpy.pyconf create mode 100644 products/decorator.pyconf create mode 100644 products/env_scripts/charset_normalizer.py create mode 100644 products/env_scripts/contourpy.py create mode 100644 products/env_scripts/decorator.py create mode 100644 products/env_scripts/fonttools.py create mode 100644 products/env_scripts/importlib_metadata.py create mode 100644 products/env_scripts/importlib_resources.py create mode 100644 products/env_scripts/joblib.py create mode 100644 products/env_scripts/scikit_learn.py create mode 100644 products/env_scripts/sphinxcontrib_jquery.py create mode 100644 products/env_scripts/tabulate.py create mode 100644 products/env_scripts/threadpoolctl.py create mode 100644 products/env_scripts/tomli.py create mode 100644 products/env_scripts/zipp.py create mode 100644 products/fonttools.pyconf create mode 100644 products/importlib_metadata.pyconf create mode 100644 products/importlib_resources.pyconf create mode 100644 products/joblib.pyconf create mode 100644 products/patches/PyFMI-2.6-importlogger.patch create mode 100644 products/patches/gdal.0003-ignore_use2to3.patch create mode 100644 products/patches/mpi4py_3_1_0_setup_py.patch create mode 100644 products/patches/paraview-5.11.0.p0011-add_dll_directory.patch create mode 100644 products/patches/python-3.9.14.01-ctype-init.patch create mode 100644 products/patches/python-3.9.14.02-os.py.patch create mode 100644 products/patches/python-3.9.14.03-getpath.patch create mode 100644 products/patches/python-3.9.14.04-dynload_win.patch create mode 100644 products/scikit_learn.pyconf create mode 100644 products/sphinxcontrib_jquery.pyconf create mode 100644 products/tabulate.pyconf create mode 100644 products/threadpoolctl.pyconf create mode 100644 products/tomli.pyconf create mode 100644 products/zipp.pyconf diff --git a/applications/SALOME-master-windows.pyconf b/applications/SALOME-master-windows.pyconf index d996341..0351077 100644 --- a/applications/SALOME-master-windows.pyconf +++ b/applications/SALOME-master-windows.pyconf @@ -12,6 +12,7 @@ APPLICATION : debug : 'no' base : 'no' python3 : 'yes' + pyver : '3.9' environ : { build : @@ -29,6 +30,7 @@ APPLICATION : SALOME_MODULES_ORDER:"SHAPER:SHAPERSTUDY:GEOM:SMESH", SALOME_ON_DEMAND: "HIDE" } + SALOME_APPLICATION_NAME : $APPLICATION.name SALOME_trace : "local" # local/file:.../with_logger SALOME_MODULES : "SHAPER,SHAPERSTUDY,GEOM,SMESH,PARAVIS,YACS,JOBMANAGER" # specify the first modules to display in gui SALOME_TMP_DIR : "%appdata%" @@ -37,7 +39,7 @@ APPLICATION : products : { # PREREQUISITES : - alabaster : '0.7.6' + alabaster : '0.7.16' Babel : '2.7.0' boost : '1.67.0' CAS : {tag : 'V7_5_3p5', section: 'version_CR753_SALOME_PATCH_win', base: 'no'} @@ -50,8 +52,8 @@ APPLICATION : colorama: '0.4.1' cppunit : '1.13.2' cycler : '0.10.0' - Cython : '0.29.12' - dateutil : '2.8.0' + Cython : '0.29.37' + dateutil : '2.8.2' dill : '0.3.4' docutils : '0.14' doxygen : '1.8.3.1' @@ -70,14 +72,14 @@ APPLICATION : imagesize : '1.1.0' ispc : '1.15.0' Jinja2 : '2.10.1' - kiwisolver : '1.1.0' + kiwisolver : '1.4.5' lapack : '3.8.0' libjpeg: '9c' libpng: '1.5.10' libxml2 : '2.9.1' llvm : '8.0.1-clang-win' markupsafe : '1.1.1' - matplotlib : '3.1.0' + matplotlib : '3.3.4' medfile : '4.1.1' mesa : '19.2.3' MeshGems : '2.15-1' @@ -87,7 +89,7 @@ APPLICATION : # comment out line above and uncomment the line below to use Netgen 6. #netgen : '6.2.2101' nlopt : '2.5.0' - numpy : '1.16.4' + numpy : '1.21.6' omniORB : '4.2.3' omniORBpy : '4.2.3' openblas : '0.3.23' @@ -96,33 +98,34 @@ APPLICATION : openturns: '1.21' ospray : '2.4.0' packaging : '19.0' - pandas : '0.25.2' + pandas : '1.5.3' patsy : '0.5.2' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0'} PERSALYS: 'v14.1' perl : '5.28.1.1' - Pillow : '7.1.1' + Pillow : '10.2.0' planegcs : '0.18-3cb6890' - psutil : '5.7.2' + psutil : '5.9.8' pthreads : '2.9.1' PyFMI : '2.6' Pygments : '2.4.2' pyparsing : '2.4.0' PyQt : '5.15.3' - pyreadline : '2.1' - Python : '3.6.5' - pytz : '2019.1' + pyreadline : '3.4.1' + Python : '3.9.14' + pytz : '2020.1' qt : '5.12.10' qwt : '6.1.2' requests : '2.22.0' rkCommon : '1.5.1' ruby : '2.5.5-1' - scipy : '1.4.1' - setuptools : '41.0.1' + #scikit_learn: '1.3.2' + scipy : '1.6.2' + setuptools : '69.0.3' sip : '5.5.0' six : '1.12.0' - snowballstemmer : '1.9.0' - Sphinx : '2.1.2' + snowballstemmer : '2.2.0' + Sphinx : '3.5.4' sphinxcontrib_applehelp : '1.0.1' sphinxcontrib_devhelp : '1.0.1' sphinxcontrib_jsmath : '1.0.1' @@ -132,7 +135,7 @@ APPLICATION : sphinxcontrib_websupport : '1.1.2' sphinx_rtd_theme : '0.4.3' sphinxintl: '2.0.0' - statsmodels: '0.9.0' + statsmodels: '0.12.2' swig : '4.0.2' tbb : '2019_U8_win' toml : '0.10.2' @@ -141,7 +144,7 @@ APPLICATION : zlib : '1.2.5' # SALOME MODULES : - 'CONFIGURATION' + 'CONFIGURATION' : 'bos/41189' 'SALOME' 'SHAPER' 'SHAPERSTUDY' @@ -149,11 +152,11 @@ APPLICATION : 'LIBBATCH' : {tag :'V2_5_0'} 'KERNEL' 'MEDCOUPLING' : 'master' - 'GUI' - 'GEOM' + 'GUI' : 'bos/41189' + 'GEOM' : 'bos/41189' 'SMESH' 'NETGENPLUGIN' - 'BLSURFPLUGIN' + 'BLSURFPLUGIN' : 'bos/41189' 'GHS3DPLUGIN' 'HYBRIDPLUGIN' 'HexoticPLUGIN' @@ -207,10 +210,58 @@ APPLICATION : __overwrite__ : [ { - __condition__ : "APPLICATION.debug == 'yes'" - 'APPLICATION.rm_products' : ['matplotlib', 'openturns', 'scipy', 'Pillow', 'PERSALYS', 'OPENTURNS_SALOME', 'cminpack', 'openblas', 'FMILibrary', 'PyFMI', 'fftw', 'statsmodel'] - # TODO: cmake 3.24 screws things up by adding _d suffix to debug libraries to KERNEL - 'APPLICATION.products.cmake' : {tag: '3.12.1', base: 'no', section : 'version_3_12_1' } + __condition__ : "APPLICATION.pyver == '3.6' and APPLICATION.debug == 'no'" + 'APPLICATION.products.alabaster' : '0.7.6' + 'APPLICATION.products.Cython' : '0.29.12' + 'APPLICATION.products.dateutil' : '2.8.0' + 'APPLICATION.products.kiwisolver' : '1.1.0' + 'APPLICATION.products.matplotlib' : '3.1.0' + 'APPLICATION.products.numpy' : '1.16.4' + 'APPLICATION.products.pandas' : '0.25.2' + 'APPLICATION.products.Pillow' : '7.1.1' + 'APPLICATION.products.psutil' : '5.7.2' + 'APPLICATION.products.pyreadline' : '2.1' + 'APPLICATION.products.Python' : '3.6.5' + 'APPLICATION.products.pytz' : '2019.1' + 'APPLICATION.products.scipy' : '1.4.1' + 'APPLICATION.products.setuptools' : '41.0.1' + 'APPLICATION.products.snowballstemmer' : '1.9.0' + 'APPLICATION.products.Sphinx' : '2.1.2' + 'APPLICATION.products.statsmodels' : '0.9.0' + 'APPLICATION.products.GUI' : 'master' + 'APPLICATION.products.GEOM' : 'master' + 'APPLICATION.products.BLSURFPLUGIN' : 'master' + } + { + __condition__ : "APPLICATION.debug == 'yes' and APPLICATION.pyver == '3.9'" + 'APPLICATION.rm_products' : ['matplotlib', 'openturns', 'scipy', 'Pillow', 'PERSALYS', 'OPENTURNS_SALOME', 'cminpack', 'openblas', 'FMILibrary', 'PyFMI', 'fftw', 'statsmodels', 'YDEFX', 'pandas'] + 'APPLICATION.products.numpy' : {tag: '1.21.6', base: 'no', section : 'version_1_21_6_win_dbg' } + 'APPLICATION.products.Cython' : {tag: '0.29.37', base: 'no', section : 'version_0_29_37_win_dbg' } + 'APPLICATION.products.sphinxintl' : {tag: '2.0.0', base: 'no', section : 'version_2_0_0_win_dbg' } + 'APPLICATION.products.llvm' : {tag: '8.0.1', base: 'no', section : 'version_8_0_1_clang_win_dbg'} + 'APPLICATION.products.tbb' : {tag: '2019_U8', base: 'no', section : 'version_2019_U8_win_dbg' } + 'APPLICATION.products.omniORB' : {tag: '4.2.3', base: 'no', section : 'version_4_2_3_win_dbg' } + 'APPLICATION.products.psutil' : {tag: '5.9.8', base: 'no', section : 'version_5_9_8_win_dbg' } + 'APPLICATION.products.ParaView' : {tag: '5.11.0', base: 'no', section : 'version_5_11_0_win_dbg' } + 'APPLICATION.products.zlib' : {tag: '1.2.5', base: 'no', section : 'version_1_2_5_win_dbg' } + 'APPLICATION.products.gmsh' : {tag: '4.10.3', base: 'no', section : 'version_4_10_3_win_dbg' } + 'APPLICATION.products.cmake' : '3.12.1' # until CMP0078 and - cmake 3.24 fixed shows a serious issue about import which needs to be addressed + } + { + __condition__ : "APPLICATION.debug == 'yes' and APPLICATION.pyver == '3.6'" + 'APPLICATION.rm_products' : ['matplotlib', 'openturns', 'scipy', 'Pillow', 'PERSALYS', 'OPENTURNS_SALOME', 'cminpack', 'openblas', 'FMILibrary', 'PyFMI', 'fftw', 'statsmodels', 'YDEFX', 'pandas'] + 'APPLICATION.products.alabaster' : '0.7.6' + 'APPLICATION.products.dateutil' : '2.8.0' + 'APPLICATION.products.kiwisolver' : '1.1.0' + 'APPLICATION.products.pyreadline' : '2.1' + 'APPLICATION.products.Python' : '3.6.5' + 'APPLICATION.products.pytz' : '2019.1' + 'APPLICATION.products.setuptools' : '41.0.1' + 'APPLICATION.products.snowballstemmer' : '1.9.0' + 'APPLICATION.products.Sphinx' : '2.1.2' + 'APPLICATION.products.GUI' : 'master' + 'APPLICATION.products.GEOM' : 'master' + 'APPLICATION.products.BLSURFPLUGIN' : 'master' 'APPLICATION.products.numpy' : {tag: '1.16.4', base: 'no', section : 'version_1_16_4_win_dbg' } 'APPLICATION.products.Cython' : {tag: '0.29.12', base: 'no', section : 'version_0_29_12_win_dbg' } 'APPLICATION.products.sphinxintl' : {tag: '2.0.0', base: 'no', section : 'version_2_0_0_win_dbg' } @@ -221,5 +272,7 @@ __overwrite__ : 'APPLICATION.products.ParaView' : {tag: '5.11.0', base: 'no', section : 'version_5_11_0_win_dbg' } 'APPLICATION.products.zlib' : {tag: '1.2.5', base: 'no', section : 'version_1_2_5_win_dbg' } 'APPLICATION.products.gmsh' : {tag: '4.10.3', base: 'no', section : 'version_4_10_3_win_dbg' } + 'APPLICATION.products.swig' : '3.0.12' + 'APPLICATION.products.cmake' : '3.12.1' # until CMP0078 and - cmake 3.24 fixed shows a serious issue about import which needs to be addressed } ] diff --git a/applications/SALOME-master.pyconf b/applications/SALOME-master.pyconf index bad3414..ae57723 100644 --- a/applications/SALOME-master.pyconf +++ b/applications/SALOME-master.pyconf @@ -3,16 +3,17 @@ APPLICATION : { - name : 'SALOME-master' - workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist - tag : 'master' - dev : 'no' - verbose :'no' - debug : 'no' - base : 'no' - python3 : 'yes' + name : 'SALOME-master' + workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist + tag : 'master' + dev : 'no' + verbose : 'no' + debug : 'no' + base : 'no' + python3 : 'yes' + pyver : '3.9' platform : ['CO7', 'CO8', 'DB09'] - environ : + environ : { build : { @@ -36,7 +37,7 @@ APPLICATION : { # PREREQUISITES : alabaster : '0.7.6' - Babel : '2.7.0' + Babel : '2.14.0' boost : '1.71.0' CAS : {tag : 'V7_5_3p5', section: 'version_CR753_SALOME_PATCH', base: 'no'} catalyst: '2.0' @@ -44,19 +45,21 @@ APPLICATION : certifi : '2018.8.24' cgns : '4.2.0' chardet : '3.0.4' + charset_normalizer : '3.3.2' click : '6.7' cmake : '3.25.2' cminpack: '1.3.6' + contourpy : '1.2.0' cppunit : '1.13.2' cycler : '0.10.0' - Cython : '0.29.12' - dateutil : '2.6.1' - docutils : '0.12' + Cython : '0.29.37' + dateutil : '2.7.3' + docutils : '0.20.1' doxygen : '1.8.14' eigen : '3.3.4' embree : '3.12.2' FMILibrary : '2.0.3' - fftw : {tag : '3.3.10', section: 'version_3_3_10', base: 'no'} + fonttools : '4.48.1' freeimage : '3.16.0' freetype : '2.9.1' gcc : '8.5.0' @@ -68,19 +71,21 @@ APPLICATION : graphviz : '2.38.0' hdf5 : '1.10.3' idna : '2.7' - imagesize : '1.0.0' + imagesize : '1.4.1' + importlib_metadata : '7.0.1' + importlib_resources: '6.1.1' ispc : '1.15.0' - Jinja2 : '2.7.3' - kiwisolver : '1.0.1' + Jinja2 : '3.1.3' + kiwisolver : '1.3.1' lapack : '3.8.0' - libxml2 : '2.9.1' + libxml2 : '2.9.12' llvm : '8.0.1-clang' - markupsafe : '0.23' - matplotlib : '3.3.4' + markupsafe : '2.1.5' + matplotlib : '3.8.2' medfile : '4.1.1' mesa : '19.0.8' MeshGems : '2.15-1' - mpi4py: '3.0.3' + mpi4py: {tag: '3.1.0', base: 'no', section : 'version_3_1_0_no_pip'} metis : '5.1.0' netgen : '5.3.1_with_CAS_7.2' # comment out line above and uncomment the line below to use Netgen 6. @@ -88,8 +93,8 @@ APPLICATION : netcdf : '4.6.2' nlopt : '2.5.0' nose: '1.3.7' - numpy : '1.16.4' - numpydoc : '0.9.0' + numpy : '1.21.1' + numpydoc : '1.6.0' omniORB : '4.2.5' omniORBpy : '4.2.5' opencv : '3.2.0' @@ -97,48 +102,58 @@ APPLICATION : openturns: '1.21' openVKL: '0.11.0' ospray : '2.4.0' - packaging : '17.1' + packaging : '23.2' packagespy : '74152cd' - pandas : '0.25.2' - patsy : '0.5.2' + pandas : '1.1.5' + patsy : '0.5.4' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0_MPI', hpc: 'yes'} PERSALYS: 'v14.1' petsc : {tag : '3.16.0', base: 'no', section: 'version_3_16_0', hpc: 'yes'} Pillow : '8.4.0' planegcs : '0.18-3cb6890' - psutil : '5.7.2' + psutil : '5.9.8' PyFMI : {tag: '2.6', base: 'no', section: 'version_2_6_no_pip'} - Pygments : '2.0.2' - pyparsing : '2.0.3' + Pygments : '2.17.2' + pyparsing : '3.1.1' PyQt : '5.15.3' pyreadline : '2.0' - Python : '3.6.5' + Python : '3.9.14' pytz : '2017.2' qt : '5.12.10' qwt : '6.1.2' - requests : '2.19.1' + requests : '2.31.0' rkCommon : '1.5.1' root: '6.22.02' salome_system : 'native' - scipy : '1.4.1' + scipy : '1.6.2' scotch : {tag: '6.1.2', section: 'version_6_1_2_MPI', hpc: 'yes', base: 'no'} - setuptools : '38.4.0' + setuptools : '69.0.3' sip : '5.5.0' six : '1.10.0' - snowballstemmer : '1.2.1' - Sphinx : '1.7.6' - sphinxcontrib_websupport : '1.1.0' - sphinx_rtd_theme : '0.4.3' - sphinxintl: '0.9.10' - statsmodels: '0.8.0' + snowballstemmer : '2.2.0' + Sphinx : '7.2.6' + sphinxcontrib_applehelp : '1.0.8' + sphinxcontrib_devhelp : '1.0.6' + sphinxcontrib_jsmath : '1.0.1' + sphinxcontrib_jquery : '4.1' + sphinxcontrib_qthelp : '1.0.7' + sphinxcontrib_htmlhelp : '2.0.5' + sphinxcontrib_serializinghtml : '1.1.10' + sphinxcontrib_websupport : '1.2.7' + sphinx_rtd_theme : '2.0.0' + sphinxintl: '2.1.0' + statsmodels: '0.14.1' swig : '4.0.2' + tabulate : '0.9.0' tbb : '2019_U8' tcl : '8.6.0' tk : '8.6.0' toml: '0.10.2' + tomli : '2.0.1' TTK : 'f8dafde2d7' urllib3 : '1.23' zeromq: '4.3.1' + zipp : '3.17.0' URANIE : '4.7.0' # SALOME MODULES : @@ -210,6 +225,157 @@ APPLICATION : } __overwrite__ : [ + { + __condition__ : "VARS.dist in ['CO7'] and APPLICATION.pyver == '3.6'" + 'APPLICATION.rm_products' : [ + 'gcc', 'gmp', 'mpc', 'mpfr', + 'charset_normalizer', + 'contourpy', + 'fonttools', + 'tabulate', + 'tomli', + 'zipp', + 'importlib_metadata', + 'importlib_resources', + 'sphinxcontrib_applehelp', + 'sphinxcontrib_devhelp', + 'sphinxcontrib_jsmath', + 'sphinxcontrib_jquery', + 'sphinxcontrib_qthelp', + 'sphinxcontrib_htmlhelp', + 'sphinxcontrib_serializinghtml' + ] + 'APPLICATION.products.Babel' : '2.7.0' + 'APPLICATION.products.Cython': '0.29.12' + 'APPLICATION.products.dateutil' : '2.6.1' + 'APPLICATION.products.docutils' : '0.12' + 'APPLICATION.products.imagesize' : '1.0.0' + 'APPLICATION.products.Jinja2' : '2.7.3' + 'APPLICATION.products.kiwisolver' : '1.0.1' + 'APPLICATION.products.libxml2' : '2.9.1' + 'APPLICATION.products.markupsafe' : '0.23' + 'APPLICATION.products.matplotlib' : '3.3.4' + 'APPLICATION.products.mpi4py' : '3.0.3' + 'APPLICATION.products.numpy' : '1.16.4' + 'APPLICATION.products.numpydoc' : '0.9.0' + 'APPLICATION.products.packaging' : '17.1' + 'APPLICATION.products.pandas' : '0.25.2' + 'APPLICATION.products.patsy' : '0.5.2' + 'APPLICATION.products.psutil' : '5.7.2' + 'APPLICATION.products.Pygments' : '2.0.2' + 'APPLICATION.products.pyparsing' : '2.0.3' + 'APPLICATION.products.Python' : '3.6.5' + 'APPLICATION.products.requests' : '2.19.1' + 'APPLICATION.products.scipy' : '1.4.1' + 'APPLICATION.products.setuptools' : '38.4.0' + 'APPLICATION.products.snowballstemmer' : '1.2.1' + 'APPLICATION.products.sphinx_rtd_theme' : '0.4.3' + 'APPLICATION.products.sphinxintl' : '0.9.10' + 'APPLICATION.products.statsmodels' : '0.8.0' + 'APPLICATION.products.sphinxcontrib_websupport' : '1.1.0' + 'APPLICATION.products.Sphinx' : '1.7.6' + 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_CO7' } + } + + { + __condition__ : "VARS.dist in ['CO8'] and APPLICATION.pyver == '3.6'" + 'APPLICATION.rm_products' : [ + 'gcc', 'gmp', 'mpc', 'mpfr','zeromq', + 'charset_normalizer', + 'contourpy', + 'fonttools', + 'importlib_metadata', + 'importlib_resources', + 'sphinxcontrib_applehelp', + 'sphinxcontrib_devhelp', + 'sphinxcontrib_jsmath', + 'sphinxcontrib_jquery', + 'sphinxcontrib_qthelp', + 'sphinxcontrib_htmlhelp', + 'sphinxcontrib_serializinghtml' + ] + 'APPLICATION.products.Babel' : '2.7.0' + 'APPLICATION.products.Cython': '0.29.12' + 'APPLICATION.products.dateutil' : '2.6.1' + 'APPLICATION.products.docutils' : '0.12' + 'APPLICATION.products.imagesize' : '1.0.0' + 'APPLICATION.products.Jinja2' : '2.7.3' + 'APPLICATION.products.kiwisolver' : '1.0.1' + 'APPLICATION.products.libxml2' : '2.9.1' + 'APPLICATION.products.markupsafe' : '0.23' + 'APPLICATION.products.matplotlib' : '3.3.4' + 'APPLICATION.products.mpi4py' : '3.0.3' + 'APPLICATION.products.numpy' : '1.16.4' + 'APPLICATION.products.numpydoc' : '0.9.0' + 'APPLICATION.products.packaging' : '17.1' + 'APPLICATION.products.pandas' : '0.25.2' + 'APPLICATION.products.patsy' : '0.5.2' + 'APPLICATION.products.psutil' : '5.7.2' + 'APPLICATION.products.Pygments' : '2.0.2' + 'APPLICATION.products.pyparsing' : '2.0.3' + 'APPLICATION.products.Python' : '3.6.5' + 'APPLICATION.products.requests' : '2.19.1' + 'APPLICATION.products.scipy' : '1.4.1' + 'APPLICATION.products.setuptools' : '38.4.0' + 'APPLICATION.products.snowballstemmer' : '1.2.1' + 'APPLICATION.products.Sphinx' : '1.7.6' + 'APPLICATION.products.sphinxcontrib_websupport' : '1.1.0' + 'APPLICATION.products.sphinx_rtd_theme' : '0.4.3' + 'APPLICATION.products.sphinxintl' : '0.9.10' + 'APPLICATION.products.statsmodels' : '0.8.0' + 'APPLICATION.products.gdal' : {tag:'2.4.0', base: 'no', section: 'version_2_4_0_CO8' } # spns #29324 + 'APPLICATION.products.ParaView' : {tag: '5.11.0', base: 'no', section: 'version_5_11_0_MPI_CO8', hpc: 'yes'} + 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_CO8' } + } + + { + __condition__ : "VARS.dist in ['DB09'] and APPLICATION.pyver == '3.6'" + 'APPLICATION.rm_products' : [ + 'charset_normalizer', + 'contourpy', + 'fonttools', + 'importlib_metadata', + 'importlib_resources', + 'sphinxcontrib_applehelp', + 'sphinxcontrib_devhelp', + 'sphinxcontrib_jsmath', + 'sphinxcontrib_jquery', + 'sphinxcontrib_qthelp', + 'sphinxcontrib_htmlhelp', + 'sphinxcontrib_serializinghtml' + ] + 'APPLICATION.products.Babel' : '2.7.0' + 'APPLICATION.products.Cython': '0.29.12' + 'APPLICATION.products.dateutil' : '2.6.1' + 'APPLICATION.products.docutils' : '0.12' + 'APPLICATION.products.imagesize' : '1.0.0' + 'APPLICATION.products.Jinja2' : '2.7.3' + 'APPLICATION.products.kiwisolver' : '1.0.1' + 'APPLICATION.products.libxml2' : '2.9.1' + 'APPLICATION.products.markupsafe' : '0.23' + 'APPLICATION.products.matplotlib' : '3.3.4' + 'APPLICATION.products.mpi4py' : '3.0.3' + 'APPLICATION.products.numpy' : '1.16.4' + 'APPLICATION.products.numpydoc' : '0.9.0' + 'APPLICATION.products.packaging' : '17.1' + 'APPLICATION.products.pandas' : '0.25.2' + 'APPLICATION.products.patsy' : '0.5.2' + 'APPLICATION.products.psutil' : '5.7.2' + 'APPLICATION.products.Pygments' : '2.0.2' + 'APPLICATION.products.pyparsing' : '2.0.3' + 'APPLICATION.products.Python' : '3.6.5' + 'APPLICATION.products.requests' : '2.19.1' + 'APPLICATION.products.scipy' : '1.4.1' + 'APPLICATION.products.setuptools' : '38.4.0' + 'APPLICATION.products.snowballstemmer' : '1.2.1' + 'APPLICATION.products.Sphinx' : '1.7.6' + 'APPLICATION.products.sphinxcontrib_websupport' : '1.1.0' + 'APPLICATION.products.sphinx_rtd_theme' : '0.4.3' + 'APPLICATION.products.sphinxintl' : '0.9.10' + 'APPLICATION.products.statsmodels' : '0.8.0' + 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_DB09' } + 'APPLICATION.products.MEDCOUPLING' : {tag:'master', base: 'no', section: 'default_MPI', hpc: 'yes'} + } { __condition__ : "VARS.dist in ['FD30']" 'APPLICATION.products.gcc' : '9.3.0' @@ -222,12 +388,12 @@ __overwrite__ : 'APPLICATION.products.gdal': {tag:'2.4.0', base: 'no', section: 'version_2_4_0_FD32'} # spns #29324 } { - __condition__ : "VARS.dist in ['CO7']" + __condition__ : "VARS.dist in ['CO7'] and APPLICATION.pyver != '3.6'" 'APPLICATION.rm_products' : ['gcc', 'gmp', 'mpc', 'mpfr'] 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_CO7' } } { - __condition__ : "VARS.dist in ['CO8']" + __condition__ : "VARS.dist in ['CO8'] and APPLICATION.pyver != '3.6'" 'APPLICATION.rm_products' : ['gcc', 'gmp', 'mpc', 'mpfr', 'zeromq'] 'APPLICATION.products.gdal' : {tag:'2.4.0', base: 'no', section: 'version_2_4_0_CO8' } # spns #29324 'APPLICATION.products.ParaView' : {tag: '5.11.0', base: 'no', section: 'version_5_11_0_MPI_CO8', hpc: 'yes'} @@ -239,14 +405,13 @@ __overwrite__ : 'APPLICATION.products.gdal': {tag:'2.4.0', base: 'no', section: 'version_2_4_0_DB10'} # spns #29324 } { - __condition__ : "VARS.dist in ['DB09']" + __condition__ : "VARS.dist in ['DB09'] and APPLICATION.pyver != '3.6'" 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_DB09' } 'APPLICATION.products.MEDCOUPLING' : {tag:'master', base: 'no', section: 'default_MPI', hpc: 'yes'} } { __condition__ : "VARS.dist in ['UB18.04']" 'APPLICATION.rm_products' : ['gcc', 'gmp', 'mpc', 'mpfr'] - 'APPLICATION.products.pandas' : '0.25.3' } { __condition__ : "VARS.dist in ['UB20.04']" diff --git a/products/Cython.pyconf b/products/Cython.pyconf index f2aead4..9c25d8d 100755 --- a/products/Cython.pyconf +++ b/products/Cython.pyconf @@ -32,11 +32,41 @@ default_win : archive_info : {archive_name : "Cython-" + $APPLICATION.products.Cython + "_windows.tar.gz"} } +version_0_29_37: +{ + archive_info : {archive_name : "Cython-0.29.37.tar.gz"} +} + +version_0_29_37_win_dbg : +{ + name : "Cython" + build_source : "script" + compil_script : 'cython-0.29.37.bat' + get_source : "archive" + archive_info: + { + archive_name : "Cython-0.29.37.tar.gz" + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python', 'setuptools', 'sip'] # in debug mode + opt_depend: ['psutil'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + properties: + { + incremental : "yes" + pip : "no" + } +} + version_0_29_12_win_dbg : { name : "Cython" build_source : "script" - compil_script : 'cython.bat' + compil_script : 'cython-0.29.12.bat' get_source : "archive" archive_info: { diff --git a/products/ParaView.pyconf b/products/ParaView.pyconf index e82f594..3ac69ab 100755 --- a/products/ParaView.pyconf +++ b/products/ParaView.pyconf @@ -335,7 +335,8 @@ version_5_11_0_win : 'paraview-5.11.0.p002-FindMPI.patch', 'paraview-5.11.0.p004-vtkUniformHyperTreeGrid.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p0011-add_dll_directory.patch' ] } diff --git a/products/PyFMI.pyconf b/products/PyFMI.pyconf index c22857a..e32fa4e 100644 --- a/products/PyFMI.pyconf +++ b/products/PyFMI.pyconf @@ -43,6 +43,7 @@ version_2_6 : version_2_6_win : { + patches: ["PyFMI-2.6-importlogger.patch"] compil_script : "PyFMI-2.6.bat" properties: { diff --git a/products/Pygments.pyconf b/products/Pygments.pyconf index f3a8917..4fd2a0f 100644 --- a/products/Pygments.pyconf +++ b/products/Pygments.pyconf @@ -4,6 +4,7 @@ default : build_source : "script" compil_script : "pip_install" + $VARS.scriptExtension get_source : "archive" + archive_info : {archive_prefix : "pygments"} system_info : { rpm : ["python3-pygments"] diff --git a/products/Python.pyconf b/products/Python.pyconf index 6391bc4..5dba14d 100755 --- a/products/Python.pyconf +++ b/products/Python.pyconf @@ -144,7 +144,11 @@ version_3_9_14 : version_3_9_14_win : { compil_script : "Python-3.9.bat" - patches : [] + patches : ['python-3.9.14.01-ctype-init.patch', + 'python-3.9.14.02-os.py.patch', + 'python-3.9.14.03-getpath.patch', + 'python-3.9.14.04-dynload_win.patch' + ] build_depend : ['perl'] } diff --git a/products/Sphinx.pyconf b/products/Sphinx.pyconf index b6c9bbf..d428b6d 100644 --- a/products/Sphinx.pyconf +++ b/products/Sphinx.pyconf @@ -4,6 +4,7 @@ default : build_source : "script" compil_script : 'pip_install' + $VARS.scriptExtension get_source : "archive" + archive_info : {archive_prefix : "sphinx"} system_info : { rpm : ["python3-sphinx"] @@ -15,7 +16,11 @@ default : { env_script : $name + ".py" } - depend : ["Python", "setuptools", "six", "Pygments", "Jinja2", "docutils", "sphinxcontrib_websupport", "packaging", "requests", "imagesize", "alabaster", "Babel", "snowballstemmer"] + depend : ["Python", "setuptools", "six", "Pygments", "Jinja2", "docutils", "packaging", "requests", "imagesize", "alabaster", "Babel", "snowballstemmer"] + opt_depend : ["importlib_metadata", "sphinxcontrib_applehelp", "sphinxcontrib_devhelp", + "sphinxcontrib_htmlhelp", "sphinxcontrib_jsmath", "sphinxcontrib_qthelp", + "sphinxcontrib_serializinghtml" + ] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name install_dir : 'base' @@ -44,6 +49,11 @@ version_2_1_2: depend : ["Python", "setuptools", "Pygments", "Jinja2", "docutils", "sphinxcontrib_applehelp", "sphinxcontrib_serializinghtml","sphinxcontrib_websupport", "sphinxcontrib_htmlhelp", "sphinxcontrib_qthelp", "sphinxcontrib_devhelp", "sphinxcontrib_jsmath", "packaging", "requests", "imagesize", "alabaster", "Babel", "snowballstemmer", "markupsafe", "colorama"] } +version_1_7_6: +{ + depend : ["Python", "setuptools", "six", "Pygments", "Jinja2", "docutils", "sphinxcontrib_websupport", "packaging", "requests", "imagesize", "alabaster", "Babel", "snowballstemmer"] + opt_depend : [] +} version_1_7_6_no_pip: { diff --git a/products/charset_normalizer.pyconf b/products/charset_normalizer.pyconf new file mode 100644 index 0000000..207154e --- /dev/null +++ b/products/charset_normalizer.pyconf @@ -0,0 +1,21 @@ +default : +{ + name : "charset-normalizer" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + archive_info : {archive_prefix : "charset_normalizer"} + environ : + { + env_script : "charset_normalizer.py" + } + depend : ['Python','setuptools'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "charset_normalizer" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "charset_normalizer" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/compil_scripts/CAS_7.5.bat b/products/compil_scripts/CAS_7.5.bat index c5d8f14..879ea1d 100644 --- a/products/compil_scripts/CAS_7.5.bat +++ b/products/compil_scripts/CAS_7.5.bat @@ -100,7 +100,7 @@ taskkill /F /IM "mspdbsrv.exe" if %SAT_DEBUG% == 1 ( xcopy %PRODUCT_INSTALL%\win64\vc14\bind %PRODUCT_INSTALL%\win64\vc14\bin /E /I /Q - xcopy %PRODUCT_INSTALL%\win64\vc14\lib %PRODUCT_INSTALL%\win64\vc14\lib /E /I /Q + xcopy %PRODUCT_INSTALL%\win64\vc14\libd %PRODUCT_INSTALL%\win64\vc14\lib /E /I /Q ) echo. diff --git a/products/compil_scripts/PyFMI-2.6.bat b/products/compil_scripts/PyFMI-2.6.bat index fff8441..2d815fb 100644 --- a/products/compil_scripts/PyFMI-2.6.bat +++ b/products/compil_scripts/PyFMI-2.6.bat @@ -15,8 +15,17 @@ if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% REM clean BUILD directory if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% mkdir %BUILD_DIR% - cd %SOURCE_DIR% +xcopy * %BUILD_DIR%\ /E /I /Q +cd %BUILD_DIR% + +if NOT %PYTHON_VERSION% == 3.6 ( + del /Q /S %BUILD_DIR%\src\pyfmi\*.c +) + +if %PYTHON_VERSION% == 3.6 ( + COPY /Y %BUILD_DIR%\src\pyfmi\fmi.pyx.3.6.5 %BUILD_DIR%\src\pyfmi\fmi.pyx +) set INSTALL_LIB=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages if NOT exist "%INSTALL_LIB%" mkdir %INSTALL_LIB% @@ -24,7 +33,7 @@ set PYTHONPATH=%INSTALL_LIB%;%PYTHONPATH% echo. echo ########################################################################## -echo *** Launching "python.exe setup.py build" +echo *** Launching python.exe setup.py build echo ########################################################################## %PYTHON_ROOT_DIR%\python.exe setup.py build --build-base %BUILD_DIR% --build-temp %BUILD_DIR% @@ -35,13 +44,18 @@ if NOT %ERRORLEVEL% == 0 ( echo. echo ########################################################################## -echo *** Launching "python.exe setup.py install" +echo *** Launching python.exe setup.py install echo ########################################################################## +SET SETUP_EXTRA_OPTIONS=--old-and-unmanageable +if %PYTHON_VERSION% == 3.6 ( + SET SETUP_EXTRA_OPTIONS= +) + if %INSTALL_CENTRALLY% == 1 ( - %PYTHON_ROOT_DIR%\python.exe setup.py install + %PYTHON_ROOT_DIR%\python.exe setup.py install %SETUP_EXTRA_OPTIONS% ) else ( - %PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% --install-lib=%INSTALL_LIB% + %PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% --install-lib=%INSTALL_LIB% %SETUP_EXTRA_OPTIONS% ) if NOT %ERRORLEVEL% == 0 ( diff --git a/products/compil_scripts/Python-3.9.bat b/products/compil_scripts/Python-3.9.bat new file mode 100644 index 0000000..1bab858 --- /dev/null +++ b/products/compil_scripts/Python-3.9.bat @@ -0,0 +1,230 @@ +@echo off + +echo ########################################################################## +echo Python %VERSION% +echo ########################################################################## + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +SET PRODUCT_BUILD_TYPE=Release +if %SAT_DEBUG% == 1 ( + set PRODUCT_BUILD_TYPE=Debug +) + +set PLATFORM_TARGET=x64 +if "%SALOME_APPLICATION_NAME%" == "URANIE" ( + set PLATFORM_TARGET=Win32 +) + +SET LIB_TAG= +if %SAT_DEBUG% == 1 ( + set LIB_TAG=_d +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +if NOT exist "%PRODUCT_INSTALL%\libs" mkdir %PRODUCT_INSTALL%\libs +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% +xcopy * %BUILD_DIR% /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 1 +) + +SET MSBUILDDISABLENODEREUSE=1 + +cd %BUILD_DIR%\PCbuild + +REM Upgrade to current version of MSVC +echo. +echo *** devenv pcbuild.sln /upgrade +devenv pcbuild.sln /upgrade +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on devenv + exit 1 +) + +echo. + +cd PCBuild + +echo. +echo Extracting bzip2... +if exist "%BUILD_DIR%\externals\cpython-source-deps-bzip2-1.0.8" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-bzip2-1.0.8" +if exist "%BUILD_DIR%\externals\bzip2-1.0.8" rmdir /Q /S "%BUILD_DIR%\externals\bzip2-1.0.8" +7z x -y %BUILD_DIR%\externals\zips\bzip2-1.0.8.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-bzip2-1.0.8 %BUILD_DIR%\externals\bzip2-1.0.8 + +echo. +echo Extracting ffi... +if exist "%BUILD_DIR%\externals\cpython-bin-deps-libffi-3.3.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-bin-deps-libffi-3.3.0" +7z x -y %BUILD_DIR%\externals\zips\libffi-3.3.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-libffi-3.3.0 %BUILD_DIR%\externals\libffi-3.3.0 + +echo. +echo Extracting nasm... +if exist "%BUILD_DIR%\externals\cpython-bin-deps-nasm-2.11.06" rmdir /Q /S "%BUILD_DIR%\externals\cpython-bin-deps-nasm-2.11.06" +if exist "%BUILD_DIR%\externals\nasm-2.11.06" rmdir /Q /S "%BUILD_DIR%\externals\nasm-2.11.06" +7z x -y %BUILD_DIR%\externals\zips\nasm-2.11.06.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-nasm-2.11.06 %BUILD_DIR%\externals\nasm-2.11.06 + +echo. +echo Extracting openssl... +if exist "%BUILD_DIR%\externals\cpython-source-deps-openssl-1.1.1n" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-openssl-1.1.1n" +if exist "%BUILD_DIR%\externals\openssl-1.1.1n" rmdir /Q /S "%BUILD_DIR%\externals\openssl-1.1.1n" +7z x -y %BUILD_DIR%\externals\zips\openssl-1.1.1n.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-openssl-1.1.1n %BUILD_DIR%\externals\openssl-1.1.1n + +if exist "%BUILD_DIR%\externals\cpython-bin-deps-openssl-bin-1.1.1n" rmdir /Q /S "%BUILD_DIR%\externals\cpython-bin-deps-openssl-bin-1.1.1n" +if exist "%BUILD_DIR%\externals\openssl-bin-1.1.1n" rmdir /Q /S "%BUILD_DIR%\externals\openssl-bin-1.1.1n" +7z x -y %BUILD_DIR%\externals\zips\openssl-bin-1.1.1n.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-openssl-bin-1.1.1n %BUILD_DIR%\externals\openssl-bin-1.1.1n + +echo. +echo Extracting sqlite... +if exist "%BUILD_DIR%\externals\cpython-source-deps-sqlite-3.37.2.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-sqlite-3.37.2.0" +if exist "%BUILD_DIR%\externals\sqlite-3.37.2.0" rmdir /Q /S "%BUILD_DIR%\externals\sqlite-3.37.2.0" +7z x -y %BUILD_DIR%\externals\zips\sqlite-3.37.2.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-sqlite-3.37.2.0 %BUILD_DIR%\externals\sqlite-3.37.2.0 + +echo. +echo Extracting tkinter/tcl +if exist "%BUILD_DIR%\externals\cpython-source-deps-tcl-core-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-tcl-core-8.6.12.0" +if exist "%BUILD_DIR%\externals\tcl-core-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\tcl-core-8.6.12.0" +7z x -y %BUILD_DIR%\externals\zips\tcl-core-8.6.12.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-tcl-core-8.6.12.0 %BUILD_DIR%\externals\tcl-core-8.6.12.0 + +echo. +echo Extracting tkinter/tcltk +if exist "%BUILD_DIR%\externals\cpython-bin-deps-tcltk-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-bin-deps-tcltk-8.6.12.0" +if exist "%BUILD_DIR%\externals\tcltk-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\tcltk-8.6.12.0" +7z x -y %BUILD_DIR%\externals\zips\tcltk-8.6.12.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-tcltk-8.6.12.0 %BUILD_DIR%\externals\tcltk-8.6.12.0 + +echo. +echo Extracting tix +if exist "%BUILD_DIR%\externals\cpython-source-deps-tix-8.4.3.6" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-tix-8.4.3.6" +if exist "%BUILD_DIR%\externals\tix-8.4.3.6" rmdir /Q /S "%BUILD_DIR%\externals\tix-8.4.3.6" +7z x -y %BUILD_DIR%\externals\zips\tix-8.4.3.6.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-tix-8.4.3.6 %BUILD_DIR%\externals\tix-8.4.3.6 + +echo. +echo Extracting tkinter/tk +if exist "%BUILD_DIR%\externals\cpython-source-deps-tk-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-tk-8.6.12.0" +if exist "%BUILD_DIR%\externals\tk-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\tk-8.6.12.0" +7z x -y %BUILD_DIR%\externals\zips\tk-8.6.12.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-tk-8.6.12.0 %BUILD_DIR%\externals\tk-8.6.12.0 + +echo. +echo Extracting xz... +if exist "%BUILD_DIR%\externals\cpython-source-deps-xz-5.2.5" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-xz-5.2.5" +if exist "%BUILD_DIR%\externals\xz-5.2.5" rmdir /Q /S "%BUILD_DIR%\externals\xz-5.2.5" +7z x -y %BUILD_DIR%\externals\zips\xz-5.2.5.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-xz-5.2.5 %BUILD_DIR%\externals\xz-5.2.5 + +echo. +echo Extracting zlib... +if exist "%BUILD_DIR%\externals\cpython-source-deps-zlib-1.2.12" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-zlib-1.2.12" +if exist "%BUILD_DIR%\externals\zlib-1.2.12" rmdir /Q /S "%BUILD_DIR%\externals\zlib-1.2.12" +7z x -y %BUILD_DIR%\externals\zips\zlib-1.2.12.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-zlib-1.2.12 %BUILD_DIR%\externals\zlib-1.2.12 + +echo Extracting pip... +if exist "%BUILD_DIR%\externals\pip-24.0" rmdir /Q /S "%BUILD_DIR%\externals\pip-24.0" +7z x -y %BUILD_DIR%\externals\zips\pip-24.0.zip -o%BUILD_DIR%\externals + +REM Compilation + +cd %BUILD_DIR% +echo. + +REM Upgrade to current version of MSVC +echo. +echo *** devenv pcbuild.sln /upgrade +devenv pcbuild.sln /upgrade +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on devenv + exit 1 +) + +echo *** msbuild %BUILD_DIR%\PCBuild\pcbuild.sln /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=%PLATFORM_TARGET% /p:BuildProjectReferences=false /p:OutDir=%PRODUCT_INSTALL%\ +msbuild %BUILD_DIR%\PCBuild\pcbuild.sln /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=%PLATFORM_TARGET% /p:OutDir=%PRODUCT_INSTALL%\ +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild + exit 2 +) + +REM Installation of additional files +echo. +echo *** Installation of additional files +cd .. +xcopy /Y /I /E %BUILD_DIR%\include %PRODUCT_INSTALL%\include +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy include + exit 3 +) + +copy /Y %BUILD_DIR%\PC\pyconfig.h %PRODUCT_INSTALL%\include +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on copy PC\pyconfig.h + exit 4 +) + +xcopy /Y /I /E %BUILD_DIR%\lib %PRODUCT_INSTALL%\lib +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy lib + exit 5 +) + +REM some prequistes if compiled in Debug mode require the lib to be in folder libs +REM other ones require these static lib to be in the root directory +REM on purpose we don't use mklink, since this requires the user to have his node set in developer mode. +xcopy /Y %PRODUCT_INSTALL%\*.lib %PRODUCT_INSTALL%\libs\ +if NOT %ERRORLEVEL% == 0 ( + echo ERROR could not copy static libraries + exit 6 +) + +REM on purpose, we don't use mklink - requires admin rights... +copy /Y /B %PRODUCT_INSTALL%\python%LIB_TAG%.exe %PRODUCT_INSTALL%\python3.exe +if %SAT_DEBUG% == 1 ( + copy /Y /B %PRODUCT_INSTALL%\python_d.exe %PRODUCT_INSTALL%\python.exe + REM otherwise OmniORB does not compile... + copy /Y /B %PRODUCT_INSTALL%\libs\python39_d.lib %PRODUCT_INSTALL%\libs\python39.lib + copy /Y /B %PRODUCT_INSTALL%\libs\python_d.lib %PRODUCT_INSTALL%\libs\python.lib +) + +cd %PRODUCT_INSTALL%\ + +REM Add PIP support +set PYTHONHOME=%PRODUCT_INSTALL% +set PYTHON_ROOT_DIR=%PRODUCT_INSTALL% +set PYTHON_VERSION=3.9 +set PATH=%PRODUCT_INSTALL%;%PATH% +set PATH=%PRODUCT_INSTALL%\lib;%PATH% +set PYTHON_INCLUDE=%PRODUCT_INSTALL%\include +set PYTHONPATH=%PRODUCT_INSTALL%\lib;%PYTHONPATH% +set PYTHONPATH=%PRODUCT_INSTALL%\lib\site-packages;%PYTHONPATH% +set PYTHONBIN=%PRODUCT_INSTALL%\python.exe +set PATH=%PRODUCT_INSTALL%\Scripts;%PATH% + +%PRODUCT_INSTALL%\python.exe %BUILD_DIR%\externals\pip-24.0\get-pip.py --force-reinstall --no-setuptools --no-wheel --no-index --find-links=%BUILD_DIR%\externals\pip-24.0 + +REM In debug mode, we need to rename all _d.pyd to .pyd... don't ask why. Seems like a known bug in OmniORB. +if %SAT_DEBUG% == 1 ( + cd %PRODUCT_INSTALL% + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" + cd %PRODUCT_INSTALL%\lib\site-packages + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" +) + + +taskkill /F /IM "mspdbsrv.exe" + +echo. +echo ########## END diff --git a/products/compil_scripts/cython-0.29.12.bat b/products/compil_scripts/cython-0.29.12.bat new file mode 100755 index 0000000..240d6a7 --- /dev/null +++ b/products/compil_scripts/cython-0.29.12.bat @@ -0,0 +1,62 @@ +@echo off + +echo ########################################################################## +echo Cython %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% + +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo *** Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +REM not built by OCCT - see spns #20292 attached Excel document +REM if %SAT_DEBUG% == 1 ( +REM set BUILD_OPT=--debug +REM) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + + +echo. +echo -------------------------------------------------------------------------- +echo *** Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages +) +if NOT %ERRORLEVEL% == 0 ( + echo "ERROR on setup install" + exit 3 +) + +REM In debug mode, we need to rename all .pyd to _d.pyd... don't ask why. Seems like a known bug in OmniORB. +if %SAT_DEBUG% == 1 ( + cd %PYTHON_ROOT_DIR%\lib\site-packages\Cython-0.29.12-py3.6-win-amd64.egg + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" + cd %PYTHON_ROOT_DIR%lib\site-packages\Cython-0.29.12-py3.6-win-amd64.egg\Cython\Runtime + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/cython-0.29.37.bat b/products/compil_scripts/cython-0.29.37.bat new file mode 100644 index 0000000..3dc3209 --- /dev/null +++ b/products/compil_scripts/cython-0.29.37.bat @@ -0,0 +1,62 @@ +@echo off + +echo ########################################################################## +echo Cython %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% + +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo *** Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +REM not built by OCCT - see spns #20292 attached Excel document +REM if %SAT_DEBUG% == 1 ( +REM set BUILD_OPT=--debug +REM) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + + +echo. +echo -------------------------------------------------------------------------- +echo *** Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) +if NOT %ERRORLEVEL% == 0 ( + echo "ERROR on setup install" + exit 3 +) + +REM In debug mode, we need to rename all .pyd to _d.pyd... don't ask why. Seems like a known bug in OmniORB. +if %SAT_DEBUG% == 1 ( + cd %PYTHON_ROOT_DIR%\lib\site-packages\Cython-0.29.37-py3.9-win-amd64.egg + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" + cd %PYTHON_ROOT_DIR%lib\site-packages\Cython-0.29.37-py3.9-win-amd64.egg\Cython\Runtime + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/matplotlib.sh b/products/compil_scripts/matplotlib.sh index 27caae6..0fc299d 100755 --- a/products/compil_scripts/matplotlib.sh +++ b/products/compil_scripts/matplotlib.sh @@ -7,17 +7,17 @@ echo "########################################################################## echo "*** build in SOURCE directory" -cd $SOURCE_DIR +cd $BUILD_DIR +cp -R $SOURCE_DIR/* . # we don't install in python directory -> modify environment as described in INSTALL file -mkdir -p $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages export PATH=$(pwd)/bin:$PATH export PYTHONPATH=$(pwd):$PYTHONPATH export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH echo echo "*** build and install with $PYTHONBIN" -$PYTHONBIN setup.py install --prefix=$PRODUCT_INSTALL +$PYTHONBIN -m pip install --cache-dir=$BUILD_DIR/cache/pip . --no-deps --prefix=$PRODUCT_INSTALL if [ $? -ne 0 ] then echo "ERROR on build/install" diff --git a/products/compil_scripts/mpi4py-3.0.3.sh b/products/compil_scripts/mpi4py-3.0.3.sh new file mode 100755 index 0000000..0f02d9b --- /dev/null +++ b/products/compil_scripts/mpi4py-3.0.3.sh @@ -0,0 +1,26 @@ + +#!/bin/bash + +echo "##########################################################################" +echo "mpi4py" $VERSION +echo "##########################################################################" + +echo "*** build in SOURCE directory" +cd $BUILD_DIR +cp -R $SOURCE_DIR/* . + +export PATH=$(pwd)/bin:$PATH +export PYTHONPATH=$(pwd):$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH + +echo +echo "*** build and install with $PYTHONBIN" +#$PYTHONBIN setup.py install --prefix=$PRODUCT_INSTALL +$PYTHONBIN -m pip install --ignore-installed --cache-dir=$BUILD_DIR/cache/pip . --no-deps --prefix=$PRODUCT_INSTALL +if [ $? -ne 0 ]; then + echo "ERROR on build/install" + exit 3 +fi + +echo +echo "########## END" diff --git a/products/compil_scripts/mpi4py-3.1.0.sh b/products/compil_scripts/mpi4py-3.1.0.sh new file mode 100755 index 0000000..0f02d9b --- /dev/null +++ b/products/compil_scripts/mpi4py-3.1.0.sh @@ -0,0 +1,26 @@ + +#!/bin/bash + +echo "##########################################################################" +echo "mpi4py" $VERSION +echo "##########################################################################" + +echo "*** build in SOURCE directory" +cd $BUILD_DIR +cp -R $SOURCE_DIR/* . + +export PATH=$(pwd)/bin:$PATH +export PYTHONPATH=$(pwd):$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH + +echo +echo "*** build and install with $PYTHONBIN" +#$PYTHONBIN setup.py install --prefix=$PRODUCT_INSTALL +$PYTHONBIN -m pip install --ignore-installed --cache-dir=$BUILD_DIR/cache/pip . --no-deps --prefix=$PRODUCT_INSTALL +if [ $? -ne 0 ]; then + echo "ERROR on build/install" + exit 3 +fi + +echo +echo "########## END" diff --git a/products/compil_scripts/numpy-1.26.4.bat b/products/compil_scripts/numpy-1.26.4.bat new file mode 100644 index 0000000..97dd410 --- /dev/null +++ b/products/compil_scripts/numpy-1.26.4.bat @@ -0,0 +1,63 @@ +@echo off + +echo ########################################################################## +echo numpy %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% +cd %SOURCE_DIR% +xcopy * %BUILD_DIR% /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 1 +) + +cd %BUILD_DIR% + +set BLAS=None +set ATLAS=None +set LAPACK=None + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/openturns-1.21.bat b/products/compil_scripts/openturns-1.21.bat index 93547b5..b030b44 100644 --- a/products/compil_scripts/openturns-1.21.bat +++ b/products/compil_scripts/openturns-1.21.bat @@ -19,9 +19,6 @@ if %SAT_DEBUG% == 1 ( ) if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% -REM clean BUILD directory -if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% -mkdir %BUILD_DIR% REM clean BUILD directory if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% @@ -180,40 +177,20 @@ echo ########################################################################## SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_DOC=OFF CALL:MODULE_BUILDER otsvm "%SOURCE_DIR%\otsvm-0.12" "%BUILD_DIR%\otsvm" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" -echo ########################################################################## -echo otfmi 0.15 -echo ########################################################################## -cd %BUILD_DIR% -mkdir otfmi - -set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% -cd %BUILD_DIR%\otfmi -xcopy %SOURCE_DIR%\otfmi-0.15\* %BUILD_DIR%\otfmi /E /I /Q -if NOT %ERRORLEVEL% == 0 ( - echo ERROR on xcopy - exit 3 -) - -%PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% -if NOT %ERRORLEVEL% == 0 ( - echo ERROR on python setup.py - exit 3 -) - echo echo ########################################################################## -echo scikit-learn 0.24.2 +echo dill 5.1.0 echo ########################################################################## cd %BUILD_DIR% -mkdir scikit-learn -cd %BUILD_DIR%\scikit-learn -xcopy %SOURCE_DIR%\scikit-learn-0.24.2\* %BUILD_DIR%\scikit-learn /E /I /Q +mkdir dill +cd %BUILD_DIR%\dill +xcopy %SOURCE_DIR%\dill-0.3.4\* %BUILD_DIR%\dill /E /I /Q if NOT %ERRORLEVEL% == 0 ( echo ERROR on xcopy exit 3 ) -%PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% scikit-learn-0.24.2.tar.gz --no-deps --no-use-pep517 +%PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% dill-0.3.4-py2.py3-none-any.whl --no-deps if NOT %ERRORLEVEL% == 0 ( echo ERROR on python setup.py exit 3 @@ -276,6 +253,52 @@ if NOT %ERRORLEVEL% == 0 ( exit 3 ) +echo +echo ########################################################################## +echo scikit-learn 0.24.2 +echo ########################################################################## +cd %BUILD_DIR% +mkdir scikit-learn +cd %BUILD_DIR%\scikit-learn +xcopy %SOURCE_DIR%\scikit-learn-0.24.2\* %BUILD_DIR%\scikit-learn /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +if %PYTHON_VERSION% == 3.6 ( + %PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% scikit-learn-0.24.2.tar.gz --no-deps --no-use-pep517 +) else ( + tar zxf scikit-learn-0.24.2.tar.gz + cd scikit-learn-0.24.2 + %PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo ########################################################################## +echo otfmi 0.15 +echo ########################################################################## +cd %BUILD_DIR% +mkdir otfmi + +set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% +cd %BUILD_DIR%\otfmi +xcopy %SOURCE_DIR%\otfmi-0.15\* %BUILD_DIR%\otfmi /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + echo ########################################################################## echo otpod 0.6.10 echo ########################################################################## diff --git a/products/compil_scripts/openturns-1.21.sh b/products/compil_scripts/openturns-1.21.sh index 078a97a..497b4b8 100755 --- a/products/compil_scripts/openturns-1.21.sh +++ b/products/compil_scripts/openturns-1.21.sh @@ -378,13 +378,25 @@ if [[ -d "$SOURCE_DIR/otfftw-0.13" ]]; then echo "FATAL: could not install decorator-5.1.0" exit 6 fi - echo "INFO: install scikit-learn-0.24.2" - ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps - if [ $? -ne 0 ] + if [ "${PYTHON_VERSION}" == "3.6" ] then - echo "FATAL: could not install scikit-0.24.2" - exit 6 + echo "INFO: install scikit-learn-0.24.2" + ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps + if [ $? -ne 0 ] + then + echo "FATAL: could not install scikit-0.24.2" + exit 6 + fi + else + echo "INFO: install scikit-learn-1.2.2" + ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/scikit-learn-1.2.2/scikit-learn-1.2.2.tar.gz --no-deps + if [ $? -ne 0 ] + then + echo "FATAL: could not install scikit-1.2.2" + exit 6 + fi fi + fi fi @@ -485,8 +497,10 @@ if [[ -d "$SOURCE_DIR/otfftw-0.13" ]]; then fi elif [ -f ${PYTHON_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/setuptools/site-patch.py ]; then cp ${PYTHON_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/setuptools/site-patch.py ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages/site.py + elif [ -f ${PYTHON_ROOT_DIR}/lib/python${PYTHON_VERSION}/site.py ]; then + cp ${PYTHON_ROOT_DIR}/lib/python${PYTHON_VERSION}/site.py ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages/site.py else - echo "ERROR: could not find site-patch.py" + echo "ERROR: could not find site-patch.py nor site.py" exit 7 fi fi diff --git a/products/compil_scripts/pandas-1.5.3.bat b/products/compil_scripts/pandas-1.5.3.bat new file mode 100644 index 0000000..054b352 --- /dev/null +++ b/products/compil_scripts/pandas-1.5.3.bat @@ -0,0 +1,59 @@ +@echo off + +echo ########################################################################## +echo pandas %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% +cd %SOURCE_DIR% +xcopy * %BUILD_DIR% /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 1 +) + +cd %BUILD_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/psutil-5.9.8.bat b/products/compil_scripts/psutil-5.9.8.bat new file mode 100644 index 0000000..ddd2ad1 --- /dev/null +++ b/products/compil_scripts/psutil-5.9.8.bat @@ -0,0 +1,46 @@ +@echo off + +echo ########################################################################## +echo psutil %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% +cd %SOURCE_DIR% +xcopy * %BUILD_DIR%\ /E /I /Q +cd %BUILD_DIR% +mkdir %PRODUCT_INSTALL%\Lib\site-packages +set PATH=%CWD%\bin;%PATH% +set PYTHONPATH=%PYTHONPATH%;%PRODUCT_INSTALL%\Lib\site-packages + +echo. +echo *** +if %INSTALL_CENTRALLY% == 1 ( + %PYTHONBIN% setup.py build %BUILD_OPT% install --old-and-unmanageable +) else ( + %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% --old-and-unmanageable +) +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on psutil running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% --old-and-unmanageable + exit 1 +) +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/pybind11.bat b/products/compil_scripts/pybind11.bat new file mode 100644 index 0000000..292ed24 --- /dev/null +++ b/products/compil_scripts/pybind11.bat @@ -0,0 +1,59 @@ +@echo off + +echo ########################################################################## +echo pybind11 %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% +cd %SOURCE_DIR% +xcopy * %BUILD_DIR% /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 1 +) + +cd %BUILD_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/scipy-1.6.2.bat b/products/compil_scripts/scipy-1.6.2.bat new file mode 100644 index 0000000..564fd6d --- /dev/null +++ b/products/compil_scripts/scipy-1.6.2.bat @@ -0,0 +1,59 @@ +@echo off + +echo ########################################################################## +echo scipy %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% + +set BLAS=None +set ATLAS=None +set LAPACK=None + +cd %SOURCE_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/sip-5.5.0.bat b/products/compil_scripts/sip-5.5.0.bat index 1ac425e..84db1d0 100644 --- a/products/compil_scripts/sip-5.5.0.bat +++ b/products/compil_scripts/sip-5.5.0.bat @@ -26,15 +26,21 @@ set PYTHONPATH=%PYTHONPATH%;%PRODUCT_INSTALL%\Lib\site-packages echo. echo *** -%PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% + +SET SETUP_EXTRA_OPTIONS=--old-and-unmanageable +if %PYTHON_VERSION% == 3.6 ( + SET SETUP_EXTRA_OPTIONS= +) + +%PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% if NOT %ERRORLEVEL% == 0 ( - echo ERROR on SIP running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% + echo ERROR on SIP running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% exit 1 ) cd %BUILD_DIR%\PyQt5_sip-12.8.1 -%PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% +%PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% if NOT %ERRORLEVEL% == 0 ( - echo ERROR on PYQT_SIP running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% + echo ERROR on PYQT_SIP running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% exit 2 ) diff --git a/products/compil_scripts/sip-5.5.0.sh b/products/compil_scripts/sip-5.5.0.sh index 584d90d..3460a80 100755 --- a/products/compil_scripts/sip-5.5.0.sh +++ b/products/compil_scripts/sip-5.5.0.sh @@ -12,7 +12,11 @@ cd $BUILD_DIR cp -r $SOURCE_DIR/sip-5.5.0 $BUILD_DIR/sip-5.5.0 cd $BUILD_DIR/sip-5.5.0 -USE_SETUP=true +USE_SETUP=false +if [[ "$PYTHON_VERSION" == "3.6" ]]; then + USE_SETUP=true +fi + case $LINUX_DISTRIBUTION in CO9) USE_SETUP=false diff --git a/products/compil_scripts/sphinxintl-2.0.0.bat b/products/compil_scripts/sphinxintl-2.0.0.bat new file mode 100755 index 0000000..f712aa2 --- /dev/null +++ b/products/compil_scripts/sphinxintl-2.0.0.bat @@ -0,0 +1,61 @@ +@echo off + +echo ########################################################################## +echo sphinxintl %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- +SET SETUP_EXTRA_OPTIONS=--old-and-unmanageable +if %PYTHON_VERSION% == 3.6 ( + SET SETUP_EXTRA_OPTIONS= +) + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHONBIN% setup.py build %BUILD_OPT% install %SETUP_EXTRA_OPTIONS% +) else ( + %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% +) +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on sphinxintl + exit 1 +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/contourpy.pyconf b/products/contourpy.pyconf new file mode 100644 index 0000000..62e9bd2 --- /dev/null +++ b/products/contourpy.pyconf @@ -0,0 +1,20 @@ +default : +{ + name : "contourpy" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + environ : + { + env_script : "contourpy.py" + } + depend : ['Python','setuptools','numpy'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "contourpy" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "contourpy" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/dateutil.pyconf b/products/dateutil.pyconf index dcc5764..5b4f4bd 100644 --- a/products/dateutil.pyconf +++ b/products/dateutil.pyconf @@ -31,3 +31,8 @@ default_win : compil_script : 'pip_install_whl' + $VARS.scriptExtension archive_info : {archive_name : "dateutil-" + $APPLICATION.products.dateutil + "_windows.tar.gz"} } + +version_2_8_2: +{ + archive_info : {archive_name : "dateutil-2.8.2.tar.gz"} +} diff --git a/products/decorator.pyconf b/products/decorator.pyconf new file mode 100644 index 0000000..acba5c0 --- /dev/null +++ b/products/decorator.pyconf @@ -0,0 +1,38 @@ +default : +{ + name : "decorator" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-decorator"] + rpm_dev : [] + apt : ["python3-decorator"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python'] + 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 : "no" + } +} + +default_win : +{ + compil_script : 'pip_install_whl' + $VARS.scriptExtension + depend : ["Python","setuptools"] + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/env_scripts/charset_normalizer.py b/products/env_scripts/charset_normalizer.py new file mode 100644 index 0000000..d98ea02 --- /dev/null +++ b/products/env_scripts/charset_normalizer.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("CHARSET_NORMALIZER_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/contourpy.py b/products/env_scripts/contourpy.py new file mode 100644 index 0000000..1fcaa44 --- /dev/null +++ b/products/env_scripts/contourpy.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + pass +def set_nativ_env(env): + pass diff --git a/products/env_scripts/decorator.py b/products/env_scripts/decorator.py new file mode 100644 index 0000000..eeebe59 --- /dev/null +++ b/products/env_scripts/decorator.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform +def set_env(env, prereq_dir, version): + env.set("DECORATOR_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/fonttools.py b/products/env_scripts/fonttools.py new file mode 100644 index 0000000..47ba7fc --- /dev/null +++ b/products/env_scripts/fonttools.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("FONTTOOLS_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/importlib_metadata.py b/products/env_scripts/importlib_metadata.py new file mode 100644 index 0000000..da816ad --- /dev/null +++ b/products/env_scripts/importlib_metadata.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("IMPORTLIB_METADATA_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/importlib_resources.py b/products/env_scripts/importlib_resources.py new file mode 100644 index 0000000..c608910 --- /dev/null +++ b/products/env_scripts/importlib_resources.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("IMPORTLIB_RESOURCES_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/joblib.py b/products/env_scripts/joblib.py new file mode 100644 index 0000000..dfe1935 --- /dev/null +++ b/products/env_scripts/joblib.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform +def set_env(env, prereq_dir, version): + env.set("JOBLIB_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/omniORB.py b/products/env_scripts/omniORB.py index 78356b6..02bee47 100644 --- a/products/env_scripts/omniORB.py +++ b/products/env_scripts/omniORB.py @@ -12,6 +12,8 @@ def set_env(env, prereq_dir, version): env.prepend('PATH',os.path.join(prereq_dir, 'lib', 'x86_win32')) env.prepend( 'PYTHONPATH', os.path.join(prereq_dir, 'lib', 'python')) env.prepend( 'PYTHONPATH', os.path.join(prereq_dir, 'lib', 'x86_win32')) + env.set('OMNIORB_LIB_DIR',os.path.join(prereq_dir, 'lib', 'x86_win32')) + env.set('OMNIORB_BIN_DIR',os.path.join(prereq_dir, 'bin', 'x86_win32')) env.set("OMNIORB_USER_PATH", "%APPDATA%") else: env.prepend('PATH', os.path.join(prereq_dir, 'bin')) diff --git a/products/env_scripts/scikit_learn.py b/products/env_scripts/scikit_learn.py new file mode 100644 index 0000000..10cabad --- /dev/null +++ b/products/env_scripts/scikit_learn.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform +def set_env(env, prereq_dir, version): + env.set("SCIKITLEARN_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/sphinxcontrib_jquery.py b/products/env_scripts/sphinxcontrib_jquery.py new file mode 100644 index 0000000..403a6d4 --- /dev/null +++ b/products/env_scripts/sphinxcontrib_jquery.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("SPHINXCONTRIB_JQUERY_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/tabulate.py b/products/env_scripts/tabulate.py new file mode 100644 index 0000000..3d56844 --- /dev/null +++ b/products/env_scripts/tabulate.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("TABULATE_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/threadpoolctl.py b/products/env_scripts/threadpoolctl.py new file mode 100644 index 0000000..2684828 --- /dev/null +++ b/products/env_scripts/threadpoolctl.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform +def set_env(env, prereq_dir, version): + env.set("THREADPOOLCTL_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/tomli.py b/products/env_scripts/tomli.py new file mode 100644 index 0000000..2b90a1f --- /dev/null +++ b/products/env_scripts/tomli.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("TOMLI_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/zipp.py b/products/env_scripts/zipp.py new file mode 100644 index 0000000..e14509a --- /dev/null +++ b/products/env_scripts/zipp.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("ZIPP_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/fonttools.pyconf b/products/fonttools.pyconf new file mode 100644 index 0000000..e120405 --- /dev/null +++ b/products/fonttools.pyconf @@ -0,0 +1,20 @@ +default : +{ + name : "fonttools" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + environ : + { + env_script : "fonttools.py" + } + depend : ['Python','setuptools'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "fonttools" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "fonttools" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/gdal.pyconf b/products/gdal.pyconf index bd324f5..0a47291 100644 --- a/products/gdal.pyconf +++ b/products/gdal.pyconf @@ -40,6 +40,7 @@ version_2_4_4: version_2_4_0: { compil_script : 'gdal-2.4.0' + $VARS.scriptExtension + patches : ["gdal.0003-ignore_use2to3.patch"] } version_2_4_0_FD34: diff --git a/products/importlib_metadata.pyconf b/products/importlib_metadata.pyconf new file mode 100644 index 0000000..9508595 --- /dev/null +++ b/products/importlib_metadata.pyconf @@ -0,0 +1,21 @@ +default : +{ + name : "importlib-metadata" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + archive_info : {archive_prefix : "importlib_metadata"} + environ : + { + env_script : "importlib_metadata.py" + } + depend : ['Python','setuptools','zipp'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "importlib_metadata" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "importlib_metadata" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/importlib_resources.pyconf b/products/importlib_resources.pyconf new file mode 100644 index 0000000..9a92fa6 --- /dev/null +++ b/products/importlib_resources.pyconf @@ -0,0 +1,21 @@ +default : +{ + name : "importlib-resources" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + archive_info : {archive_prefix : "importlib_resources"} + environ : + { + env_script : "importlib_resources.py" + } + depend : ['Python','setuptools','zipp'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "importlib_resources" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "importlib_resources" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/joblib.pyconf b/products/joblib.pyconf new file mode 100644 index 0000000..706cf1d --- /dev/null +++ b/products/joblib.pyconf @@ -0,0 +1,38 @@ +default : +{ + name : "joblib" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-joblib"] + rpm_dev : [] + apt : ["python3-joblib"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python'] + 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 : "no" + } +} + +default_win : +{ + compil_script : 'pip_install_whl' + $VARS.scriptExtension + depend : ["Python","setuptools", "threadpoolctl"] + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/matplotlib.pyconf b/products/matplotlib.pyconf index 279b5b3..2626027 100755 --- a/products/matplotlib.pyconf +++ b/products/matplotlib.pyconf @@ -17,13 +17,15 @@ default : } # OP distribute is not useful anymore depend : ['Python', 'setuptools', 'PyQt', 'numpy', 'freetype', 'six', 'pytz', 'pyparsing', 'dateutil', 'cycler'] - opt_depend : ['kiwisolver', 'Pillow'] + opt_depend : ['contourpy', 'fonttools', 'importlib_resources', + 'kiwisolver', 'packaging', 'Pillow' + ] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name install_dir : 'base' properties: { - pip : "no" # whl prerequisites do not correspond! backports.functools_lru_cache-1.5 and subprocess32-3.5.4 are missing + pip : "yes" incremental : "yes" } } @@ -33,7 +35,7 @@ default_win : compil_script : 'pip_install_whl' + $VARS.scriptExtension archive_info : {archive_name : "matplotlib-" + $APPLICATION.products.matplotlib + "_windows.tar.gz"} depend : ['Python', 'PyQt', 'numpy', 'freetype', 'six', 'pytz', 'pyparsing', 'dateutil', 'setuptools', 'cycler'] - opt_depend : ['kiwisolver'] + opt_depend : ['kiwisolver', 'Pillow'] properties: { incremental : "yes" @@ -41,6 +43,27 @@ default_win : } } +version_3_3_4 : +{ + opt_depend : ['kiwisolver', 'packaging', 'Pillow'] + properties: + { + incremental : "yes" + pip : "no" + } +} + +version_3_3_4_win : +{ + opt_depend : ['kiwisolver', 'packaging', 'Pillow'] + archive_info : {archive_name : "matplotlib-3.3.4.tar.gz"} + properties: + { + pip : "yes" + incremental : "yes" + } +} + version_2_2_2 : { properties: diff --git a/products/mpi4py.pyconf b/products/mpi4py.pyconf index 4997605..61161f5 100644 --- a/products/mpi4py.pyconf +++ b/products/mpi4py.pyconf @@ -25,3 +25,24 @@ default : pip : "yes" } } + +version_3_1_0_no_pip : +{ + compil_script : "mpi4py-3.1.0.sh" + patches: ["mpi4py_3_1_0_setup_py.patch"] + properties: + { + incremental : "yes" + pip : "no" + } +} + +version_3_0_3_no_pip : +{ + compil_script : "mpi4py-3.0.3.sh" + properties: + { + incremental : "yes" + pip : "no" + } +} diff --git a/products/numpy.pyconf b/products/numpy.pyconf index 66bf12d..d8d9a08 100755 --- a/products/numpy.pyconf +++ b/products/numpy.pyconf @@ -48,6 +48,30 @@ version_1_22_2: patches: ['SPNS-29988-numpy-1.22.patch'] } +version_1_21_6_win_dbg: +{ + name : "numpy" + build_source : "script" + compil_script : $name + $VARS.scriptExtension + get_source : "archive" + archive_info: + { + archive_name : "numpy-1.21.6.tar.gz" + } + depend : [ 'Python', 'setuptools', 'Cython'] + environ : + { + env_script : $name + ".py" + } + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + properties: + { + incremental : "yes" + pip : "no" + } +} + version_1_16_4_win_dbg: { name : "numpy" diff --git a/products/numpydoc.pyconf b/products/numpydoc.pyconf index 430a24e..7fb9022 100644 --- a/products/numpydoc.pyconf +++ b/products/numpydoc.pyconf @@ -20,6 +20,7 @@ default : env_script : $name + ".py" } depend : ['Python', 'six', 'setuptools', 'numpy'] + opt_depend : ['Jinja2', 'Sphinx', 'tabulate', 'tomli'] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name install_dir : 'base' diff --git a/products/opencv.pyconf b/products/opencv.pyconf index 6e4bdbb..efbb175 100644 --- a/products/opencv.pyconf +++ b/products/opencv.pyconf @@ -38,7 +38,10 @@ default_win: version_3_2_0 : { - patches : ["opencv-3.2.0-ccache.patch", "SPNS-29988-opencv-3.2.0-persistence.patch", "opencv-3.2.0-python2-cmake.patch"] + patches : ["opencv-3.2.0-ccache.patch", + "SPNS-29988-opencv-3.2.0-persistence.patch", + "opencv-3.2.0-python2-cmake.patch", + "SPNS-29988-opencv-3.2.0-cv2.patch"] } version_3_2_0_FD38 : @@ -66,7 +69,10 @@ version_3_2_0_DB12 : version_3_2_0_win : { - patches : ["opencv-3.2.0-ccache.patch","opencv-3.2.0_windows.patch"] + patches : ["opencv-3.2.0-ccache.patch", + "opencv-3.2.0_windows.patch", + "SPNS-29988-opencv-3.2.0-cv2.patch" + ] } version_3_2_0_with_ffmpeg : diff --git a/products/openturns.pyconf b/products/openturns.pyconf index 6f0820c..5bd80e9 100644 --- a/products/openturns.pyconf +++ b/products/openturns.pyconf @@ -10,7 +10,7 @@ default : } depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib'] build_depend : ["cmake", "swig"] - opt_depend : ['openmpi'] + opt_depend : ['openmpi','psutil','numpy','scipy','statsmodels'] patches : [] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name diff --git a/products/pandas.pyconf b/products/pandas.pyconf index 5c6a225..1073b86 100644 --- a/products/pandas.pyconf +++ b/products/pandas.pyconf @@ -26,6 +26,20 @@ default : } } +version_1_5_3 : +{} + +version_1_5_3_win: +{ + compil_script: "pandas-1.5.3.bat" + archive_info : {archive_name : "pandas-1.5.3.tar.gz"} + properties: + { + incremental : "yes" + pip : "no" + } +} + version_1_1_5_no_pip : { compil_script : "pandas-1.1.5.sh" diff --git a/products/patches/PyFMI-2.6-importlogger.patch b/products/patches/PyFMI-2.6-importlogger.patch new file mode 100644 index 0000000..38a3d7a --- /dev/null +++ b/products/patches/PyFMI-2.6-importlogger.patch @@ -0,0 +1,24 @@ +diff -Naur PyFMI/src/pyfmi/fmi.pyx PyFMI_dev/src/pyfmi/fmi.pyx +--- PyFMI/src/pyfmi/fmi.pyx 2020-03-04 22:13:53.000000000 +0100 ++++ PyFMI_dev/src/pyfmi/fmi.pyx 2024-02-14 15:24:51.801418608 +0100 +@@ -151,17 +151,17 @@ + FMI_OUTPUTS = 2 + + #CALLBACKS +-cdef void importlogger(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message): ++cdef void importlogger(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message) noexcept: + if c.context != NULL: + (c.context)._logger(module,log_level,message) + + #CALLBACKS +-cdef void importlogger2(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message): ++cdef void importlogger2(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message) noexcept: + if c.context != NULL: + (c.context)._logger(module, log_level, message) + + #CALLBACKS +-cdef void importlogger_load_fmu(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message): ++cdef void importlogger_load_fmu(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message) noexcept: + (c.context).append("FMIL: module = %s, log level = %d: %s"%(module, log_level, message)) + + cdef class ModelBase: diff --git a/products/patches/gdal.0003-ignore_use2to3.patch b/products/patches/gdal.0003-ignore_use2to3.patch new file mode 100644 index 0000000..6d8cb74 --- /dev/null +++ b/products/patches/gdal.0003-ignore_use2to3.patch @@ -0,0 +1,19 @@ +diff -Naur gdal/gdal/swig/python/setup.py gdal_dev/gdal/swig/python/setup.py +--- gdal/gdal/swig/python/setup.py 2022-01-10 20:49:08.000000000 +0000 ++++ gdal_dev/gdal/swig/python/setup.py 2024-03-13 08:29:24.760605976 +0000 +@@ -128,11 +128,10 @@ + + all_fixers = set(get_fixers_from_package('lib2to3.fixes')) + exclude_fixers = sorted(all_fixers.difference(fixer_names)) +- +- extra['use_2to3'] = True +- extra['use_2to3_fixers'] = [] +- extra['use_2to3_exclude_fixers'] = exclude_fixers +- ++ if sys.version_info < (3, 9): ++ extra['use_2to3'] = True ++ extra['use_2to3_fixers'] = [] ++ extra['use_2to3_exclude_fixers'] = exclude_fixers + + class gdal_config_error(Exception): + pass diff --git a/products/patches/mpi4py_3_1_0_setup_py.patch b/products/patches/mpi4py_3_1_0_setup_py.patch new file mode 100644 index 0000000..0cbb097 --- /dev/null +++ b/products/patches/mpi4py_3_1_0_setup_py.patch @@ -0,0 +1,12 @@ +diff -Naur -x '*.o' -x '*.so' -x '*.git' ./mpi4py/setup.py ./mpi4py_dev/setup.py +--- mpi4py/setup.py 2021-08-12 09:23:36.000000000 +0200 ++++ mpi4py_dev/setup.py 2024-02-12 11:01:39.249765537 +0100 +@@ -470,7 +470,7 @@ + setup_args['zip_safe'] = False + setup_args['setup_requires'] = [] + setup_args['python_requires'] = """ +- >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*' ++ >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* + """.strip() + if setuptools and pyver < (3, 0): + setup_args['setup_requires'] += ['3to2'] diff --git a/products/patches/paraview-5.11.0.p0011-add_dll_directory.patch b/products/patches/paraview-5.11.0.p0011-add_dll_directory.patch new file mode 100644 index 0000000..48ccd3b --- /dev/null +++ b/products/patches/paraview-5.11.0.p0011-add_dll_directory.patch @@ -0,0 +1,36 @@ +--- ParaView-5.11.0_ref/VTK/Utilities/PythonInterpreter/vtkPythonInterpreter.cxx 2022-11-18 15:26:55.000000000 +0100 ++++ ParaView-5.11.0_new/VTK/Utilities/PythonInterpreter/vtkPythonInterpreter.cxx 2024-04-18 14:25:32.000000000 +0200 +@@ -830,25 +830,6 @@ + // the issue. + if (!vtkdir.empty()) + { +-#if PY_VERSION_HEX >= 0x03080000 +- vtkPythonScopeGilEnsurer gilEnsurer(false, true); +- CloseDLLDirectoryCookie(); +- PyObject* os = PyImport_ImportModule("os"); +- if (os) +- { +- PyObject* add_dll_directory = PyObject_GetAttrString(os, "add_dll_directory"); +- if (add_dll_directory && PyCallable_Check(add_dll_directory)) +- { +- PyObject* newpath = PyUnicode_FromString(vtkdir.c_str()); +- DLLDirectoryCookie = PyObject_CallFunctionObjArgs(add_dll_directory, newpath, nullptr); +- Py_XDECREF(newpath); +- } +- +- Py_XDECREF(add_dll_directory); +- } +- +- Py_XDECREF(os); +-#else + std::string env_path; + if (systools::GetEnv("PATH", env_path)) + { +@@ -859,7 +840,6 @@ + env_path = vtkdir; + } + systools::PutEnv(std::string("PATH=") + env_path); +-#endif + } + #endif + diff --git a/products/patches/python-3.9.14.01-ctype-init.patch b/products/patches/python-3.9.14.01-ctype-init.patch new file mode 100644 index 0000000..37a56f3 --- /dev/null +++ b/products/patches/python-3.9.14.01-ctype-init.patch @@ -0,0 +1,18 @@ +--- Python-3.9.14-ref/Lib/ctypes/__init__.py 2022-09-06 19:26:16.000000000 +0200 ++++ Python-3.9.14-new/Lib/ctypes/__init__.py 2024-04-03 17:34:16.000000000 +0200 +@@ -364,7 +364,14 @@ + if '/' in name or '\\' in name: + self._name = nt._getfullpathname(self._name) + mode |= nt._LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR +- ++ # PATH is how DLL lookup has always worked in the past ++ # in Python on Windows. IMHO both the above mode flags ++ # are not wanted and cause many serious regressions within ++ # the conda ecosystem on Windows. We should however ++ # propagate any PATH changes that have happened to Python ++ # library and that is not yet implemented. ++ LOAD_WITH_ALTERED_SEARCH_PATH = 0x00000008 ++ mode = LOAD_WITH_ALTERED_SEARCH_PATH + class _FuncPtr(_CFuncPtr): + _flags_ = flags + _restype_ = self._func_restype_ diff --git a/products/patches/python-3.9.14.02-os.py.patch b/products/patches/python-3.9.14.02-os.py.patch new file mode 100644 index 0000000..202a787 --- /dev/null +++ b/products/patches/python-3.9.14.02-os.py.patch @@ -0,0 +1,11 @@ +--- Python-3.9.14-ref/Lib/os.py 2022-09-06 19:26:16.000000000 +0200 ++++ Python-3.9.14-new/Lib/os.py 2024-04-03 16:58:24.000000000 +0200 +@@ -1107,6 +1107,8 @@ + Remove the directory by calling close() on the returned object or + using it in a with statement. + """ ++ #FIXME SALOME ++ return + import nt + cookie = nt._add_dll_directory(path) + return _AddedDllDirectory( diff --git a/products/patches/python-3.9.14.03-getpath.patch b/products/patches/python-3.9.14.03-getpath.patch new file mode 100644 index 0000000..11d818e --- /dev/null +++ b/products/patches/python-3.9.14.03-getpath.patch @@ -0,0 +1,29 @@ +--- Python-3.9.14-ref/PC/getpathp.c 2022-09-06 19:26:16.000000000 +0200 ++++ Python-3.9.14-new/PC/getpathp.c 2024-04-03 17:13:22.000000000 +0200 +@@ -1116,7 +1116,7 @@ + if (!get_dllpath(py3path)) { + reduce(py3path); + join(py3path, PY3_DLLNAME); +- hPython3 = LoadLibraryExW(py3path, NULL, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS); ++ hPython3 = LoadLibraryExW(py3path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); + if (hPython3 != NULL) { + return 1; + } +@@ -1124,7 +1124,7 @@ + + /* If we can locate python3.dll in our application dir, + use that DLL */ +- hPython3 = LoadLibraryExW(PY3_DLLNAME, NULL, LOAD_LIBRARY_SEARCH_APPLICATION_DIR); ++ hPython3 = LoadLibraryExW(PY3_DLLNAME, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); + if (hPython3 != NULL) { + return 1; + } +@@ -1134,7 +1134,7 @@ + wcscpy(py3path, Py_GetPrefix()); + if (py3path[0]) { + join(py3path, L"DLLs\\" PY3_DLLNAME); +- hPython3 = LoadLibraryExW(py3path, NULL, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS); ++ hPython3 = LoadLibraryExW(py3path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); + } + return hPython3 != NULL; + } diff --git a/products/patches/python-3.9.14.04-dynload_win.patch b/products/patches/python-3.9.14.04-dynload_win.patch new file mode 100644 index 0000000..db09543 --- /dev/null +++ b/products/patches/python-3.9.14.04-dynload_win.patch @@ -0,0 +1,13 @@ +--- Python-3.9.14-ref/Python/dynload_win.c 2022-09-06 19:26:16.000000000 +0200 ++++ Python-3.9.14-new/Python/dynload_win.c 2024-04-03 17:08:02.000000000 +0200 +@@ -191,9 +191,7 @@ + AddDllDirectory function. We add SEARCH_DLL_LOAD_DIR to + ensure DLLs adjacent to the PYD are preferred. */ + Py_BEGIN_ALLOW_THREADS +- hDLL = LoadLibraryExW(wpathname, NULL, +- LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | +- LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); ++ hDLL = LoadLibraryExW(wpathname, NULL,LOAD_WITH_ALTERED_SEARCH_PATH); + Py_END_ALLOW_THREADS + + /* restore old error mode settings */ diff --git a/products/psutil.pyconf b/products/psutil.pyconf index 691640c..3fa843b 100755 --- a/products/psutil.pyconf +++ b/products/psutil.pyconf @@ -26,6 +26,15 @@ default : } } +version_5_9_8_win_dbg: +{ + compil_script: "psutil-5.9.8.bat" + properties: + { + incremental : "yes" + pip : "no" + } +} version_5_7_2_win_dbg: { diff --git a/products/pyreadline.pyconf b/products/pyreadline.pyconf index e666780..79d0147 100755 --- a/products/pyreadline.pyconf +++ b/products/pyreadline.pyconf @@ -37,3 +37,16 @@ default_win : pip : "yes" } } + +version_3_4_1 : +{ +} + +version_3_4_1_win : +{ + name : "pyreadline3" + environ : + { + env_script : "pyreadline.py" + } +} diff --git a/products/pytz.pyconf b/products/pytz.pyconf index c78b30d..7aa88f1 100644 --- a/products/pytz.pyconf +++ b/products/pytz.pyconf @@ -31,3 +31,8 @@ default_win : compil_script : 'pip_install_whl' + $VARS.scriptExtension archive_info : {archive_name : "pytz-" + $APPLICATION.products.pytz + "_windows.tar.gz"} } + +version_2020_1 : +{ + archive_info : {archive_name : "pytz-2020.1.tar.gz"} +} diff --git a/products/requests.pyconf b/products/requests.pyconf index 3ef8074..9fb7a7b 100755 --- a/products/requests.pyconf +++ b/products/requests.pyconf @@ -16,6 +16,7 @@ default : env_script : $name + ".py" } depend : ['Python', 'setuptools', 'certifi', 'urllib3', 'idna', 'chardet'] + opt_depend : ['charset_normalizer'] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name install_dir : 'base' diff --git a/products/scikit_learn.pyconf b/products/scikit_learn.pyconf new file mode 100644 index 0000000..05f7c6a --- /dev/null +++ b/products/scikit_learn.pyconf @@ -0,0 +1,38 @@ +default : +{ + name : "scikit_learn" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-scikit-learn"] + rpm_dev : [] + apt : ["python3-scikit-learn"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python', 'scipy'] + 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 : "no" + } +} + +default_win : +{ + compil_script : 'pip_install_whl' + $VARS.scriptExtension + depend : ["Python","setuptools", "scipy", "joblib"] + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/scipy.pyconf b/products/scipy.pyconf index 35c4d02..07c0a0a 100755 --- a/products/scipy.pyconf +++ b/products/scipy.pyconf @@ -33,6 +33,23 @@ default_win : archive_info : {archive_name : "scipy-" + $APPLICATION.products.scipy + "_windows.tar.gz"} } +version_1_6_2: +{ +} + +version_1_6_2_win: +{ + compil_script : "scipy-1.6.2.bat" + properties : + { + incremental : "yes" + pip : "yes" + } + archive_info : {archive_name : "scipy-1.6.2.tar.gz"} + depend : ['numpy','lapack', 'openblas'] + opt_depend : ['pybind11'] +} + version_1_5_2_no_pip : { compil_script : "scipy-1.5.2.sh" diff --git a/products/sip.pyconf b/products/sip.pyconf index d5dfda9..4da50ed 100644 --- a/products/sip.pyconf +++ b/products/sip.pyconf @@ -32,7 +32,7 @@ version_6_6_2 : archive_info : {archive_name : "sip-6.6.2-PyQt5_sip-12.11.0.tar.gz"} patches : [] depend : ['Python', 'qt'] - opt_depend: ['toml'] + opt_depend: ['toml', 'packaging'] } version_5_5_0 : @@ -41,7 +41,7 @@ version_5_5_0 : archive_info : {archive_name : "sip-5.5.0-PyQt5_sip-12.8.1.tar.gz"} patches : ['sip-5.5.0-sipSetBool.patch'] depend : ['Python', 'qt'] - opt_depend: ['toml'] + opt_depend: ['toml', 'packaging'] } version_4_19_24 : diff --git a/products/sphinx_rtd_theme.pyconf b/products/sphinx_rtd_theme.pyconf index f46ec83..c80674a 100644 --- a/products/sphinx_rtd_theme.pyconf +++ b/products/sphinx_rtd_theme.pyconf @@ -16,6 +16,7 @@ default : env_script : $name + ".py" } depend : ['Python', 'Sphinx'] + opt_depend : ['docutils', 'sphinxcontrib_jquery'] patches : [] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name diff --git a/products/sphinxcontrib_applehelp.pyconf b/products/sphinxcontrib_applehelp.pyconf index f42048b..07fa19e 100644 --- a/products/sphinxcontrib_applehelp.pyconf +++ b/products/sphinxcontrib_applehelp.pyconf @@ -4,6 +4,7 @@ default : build_source : "script" compil_script : 'pip_install' + $VARS.scriptExtension get_source : "archive" + archive_info : {archive_prefix : "sphinxcontrib_applehelp"} environ : { env_script : "sphinxcontrib_applehelp.py" diff --git a/products/sphinxcontrib_devhelp.pyconf b/products/sphinxcontrib_devhelp.pyconf index b7d6d87..04728ed 100644 --- a/products/sphinxcontrib_devhelp.pyconf +++ b/products/sphinxcontrib_devhelp.pyconf @@ -4,6 +4,7 @@ default : build_source : "script" compil_script : 'pip_install' + $VARS.scriptExtension get_source : "archive" + archive_info : {archive_prefix : "sphinxcontrib_devhelp"} environ : { env_script : "sphinxcontrib_devhelp.py" diff --git a/products/sphinxcontrib_htmlhelp.pyconf b/products/sphinxcontrib_htmlhelp.pyconf index fe20a34..cf70c1e 100644 --- a/products/sphinxcontrib_htmlhelp.pyconf +++ b/products/sphinxcontrib_htmlhelp.pyconf @@ -4,6 +4,7 @@ default : build_source : "script" compil_script : 'pip_install' + $VARS.scriptExtension get_source : "archive" + archive_info : {archive_prefix : "sphinxcontrib_htmlhelp"} environ : { env_script : "sphinxcontrib_htmlhelp.py" diff --git a/products/sphinxcontrib_jquery.pyconf b/products/sphinxcontrib_jquery.pyconf new file mode 100644 index 0000000..561fd53 --- /dev/null +++ b/products/sphinxcontrib_jquery.pyconf @@ -0,0 +1,21 @@ +default : +{ + name : "sphinxcontrib-jquery" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + archive_info : {archive_prefix : "sphinxcontrib_jquery"} + environ : + { + env_script : "sphinxcontrib_jquery.py" + } + depend : ['Python','setuptools','Sphinx'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "sphinxcontrib_jquery" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "sphinxcontrib_jquery" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/sphinxcontrib_jsmath.pyconf b/products/sphinxcontrib_jsmath.pyconf index caac1c9..3e92131 100644 --- a/products/sphinxcontrib_jsmath.pyconf +++ b/products/sphinxcontrib_jsmath.pyconf @@ -4,6 +4,7 @@ default : build_source : "script" compil_script : 'pip_install' + $VARS.scriptExtension get_source : "archive" + archive_info : {archive_prefix : "sphinxcontrib_jsmath"} environ : { env_script : "sphinxcontrib_jsmath.py" diff --git a/products/sphinxcontrib_qthelp.pyconf b/products/sphinxcontrib_qthelp.pyconf index c782b10..5a1d27a 100644 --- a/products/sphinxcontrib_qthelp.pyconf +++ b/products/sphinxcontrib_qthelp.pyconf @@ -4,6 +4,7 @@ default : build_source : "script" compil_script : 'pip_install' + $VARS.scriptExtension get_source : "archive" + archive_info : {archive_prefix : "sphinxcontrib_qthelp"} environ : { env_script : "sphinxcontrib_qthelp.py" diff --git a/products/sphinxcontrib_serializinghtml.pyconf b/products/sphinxcontrib_serializinghtml.pyconf index eecbb99..31e0517 100644 --- a/products/sphinxcontrib_serializinghtml.pyconf +++ b/products/sphinxcontrib_serializinghtml.pyconf @@ -4,6 +4,7 @@ default : build_source : "script" compil_script : 'pip_install' + $VARS.scriptExtension get_source : "archive" + archive_info : {archive_prefix : "sphinxcontrib_serializinghtml"} environ : { env_script : "sphinxcontrib_serializinghtml.py" diff --git a/products/sphinxcontrib_websupport.pyconf b/products/sphinxcontrib_websupport.pyconf index 0e0cc8c..5870156 100755 --- a/products/sphinxcontrib_websupport.pyconf +++ b/products/sphinxcontrib_websupport.pyconf @@ -15,7 +15,8 @@ default : { env_script : $name + ".py" } - depend : ['Python','setuptools'] + depend : ['Python','setuptools','Jinja2','Sphinx'] + opt_dep : ['sphinxcontrib_serializinghtml'] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name install_dir : 'base' @@ -29,6 +30,15 @@ default : default_win : { + depend : ['Python','setuptools'] + opt_dep : [] compil_script : 'pip_install_whl' + $VARS.scriptExtension archive_info : {archive_name : "sphinxcontrib_websupport-" + $APPLICATION.products.sphinxcontrib_websupport + "_windows.tar.gz"} } + +version_1_1_0: +{ + depend : ['Python','setuptools'] + opt_dep : [] +} + diff --git a/products/sphinxintl.pyconf b/products/sphinxintl.pyconf index db66f48..e87df9b 100644 --- a/products/sphinxintl.pyconf +++ b/products/sphinxintl.pyconf @@ -38,7 +38,7 @@ version_2_0_0_win_dbg : { name : "sphinx_intl" build_source : "script" - compil_script : 'sphinxintl.bat' + compil_script : 'sphinxintl-2.0.0.bat' archive_info : {archive_name : "sphinxintl-2.0.0.tar.gz"} get_source : "archive" environ : diff --git a/products/statsmodels.pyconf b/products/statsmodels.pyconf index 9068556..b022a54 100644 --- a/products/statsmodels.pyconf +++ b/products/statsmodels.pyconf @@ -15,7 +15,7 @@ default : { } - depend : ["Python", "setuptools","PyFMI", "numpy", "scipy", "matplotlib"] + depend : ["Python", "setuptools","PyFMI", "numpy", "scipy", "matplotlib", "packaging"] opt_depend : ['pandas', 'patsy', 'Pillow'] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name diff --git a/products/tabulate.pyconf b/products/tabulate.pyconf new file mode 100644 index 0000000..ee68be0 --- /dev/null +++ b/products/tabulate.pyconf @@ -0,0 +1,20 @@ +default : +{ + name : "tabulate" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + environ : + { + env_script : "tabulate.py" + } + depend : ['Python','setuptools'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "tabulate" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "tabulate" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/threadpoolctl.pyconf b/products/threadpoolctl.pyconf new file mode 100644 index 0000000..813e678 --- /dev/null +++ b/products/threadpoolctl.pyconf @@ -0,0 +1,38 @@ +default : +{ + name : "threadpoolctl" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-threadpoolctl"] + rpm_dev : [] + apt : ["python3-threadpoolctl"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python'] + 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 : "no" + } +} + +default_win : +{ + compil_script : 'pip_install_whl' + $VARS.scriptExtension + depend : ["Python","setuptools", "scipy", "decorator"] + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/tomli.pyconf b/products/tomli.pyconf new file mode 100644 index 0000000..f51c02b --- /dev/null +++ b/products/tomli.pyconf @@ -0,0 +1,20 @@ +default : +{ + name : "tomli" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + environ : + { + env_script : "tomli.py" + } + depend : ['Python','setuptools'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "tomli" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "tomli" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/zipp.pyconf b/products/zipp.pyconf new file mode 100644 index 0000000..bb4db50 --- /dev/null +++ b/products/zipp.pyconf @@ -0,0 +1,20 @@ +default : +{ + name : "zipp" + build_source : "script" + compil_script : 'pip_install' + $VARS.scriptExtension + get_source : "archive" + environ : + { + env_script : "zipp.py" + } + depend : ['Python','setuptools'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "zipp" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + "zipp" + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "yes" + } +} -- 2.39.2