]> SALOME platform Git repositories - tools/sat_salome.git/commitdiff
Salome HOME
bos #41189 - support embedded Python 3.9 for both Linux and Windows
authorNabil Ghodbane <nabil.ghodbane@cea.fr>
Fri, 12 Apr 2024 10:57:38 +0000 (12:57 +0200)
committerGuytri KASTANE <guytri.kastane@cea.fr>
Mon, 22 Apr 2024 09:25:57 +0000 (11:25 +0200)
86 files changed:
applications/SALOME-master-windows.pyconf
applications/SALOME-master.pyconf
products/Cython.pyconf
products/ParaView.pyconf
products/PyFMI.pyconf
products/Pygments.pyconf
products/Python.pyconf
products/Sphinx.pyconf
products/charset_normalizer.pyconf [new file with mode: 0644]
products/compil_scripts/CAS_7.5.bat
products/compil_scripts/PyFMI-2.6.bat
products/compil_scripts/Python-3.9.bat [new file with mode: 0644]
products/compil_scripts/cython-0.29.12.bat [new file with mode: 0755]
products/compil_scripts/cython-0.29.37.bat [new file with mode: 0644]
products/compil_scripts/matplotlib.sh
products/compil_scripts/mpi4py-3.0.3.sh [new file with mode: 0755]
products/compil_scripts/mpi4py-3.1.0.sh [new file with mode: 0755]
products/compil_scripts/numpy-1.26.4.bat [new file with mode: 0644]
products/compil_scripts/openturns-1.21.bat
products/compil_scripts/openturns-1.21.sh
products/compil_scripts/pandas-1.5.3.bat [new file with mode: 0644]
products/compil_scripts/psutil-5.9.8.bat [new file with mode: 0644]
products/compil_scripts/pybind11.bat [new file with mode: 0644]
products/compil_scripts/scipy-1.6.2.bat [new file with mode: 0644]
products/compil_scripts/sip-5.5.0.bat
products/compil_scripts/sip-5.5.0.sh
products/compil_scripts/sphinxintl-2.0.0.bat [new file with mode: 0755]
products/contourpy.pyconf [new file with mode: 0644]
products/dateutil.pyconf
products/decorator.pyconf [new file with mode: 0644]
products/env_scripts/charset_normalizer.py [new file with mode: 0644]
products/env_scripts/contourpy.py [new file with mode: 0644]
products/env_scripts/decorator.py [new file with mode: 0644]
products/env_scripts/fonttools.py [new file with mode: 0644]
products/env_scripts/importlib_metadata.py [new file with mode: 0644]
products/env_scripts/importlib_resources.py [new file with mode: 0644]
products/env_scripts/joblib.py [new file with mode: 0644]
products/env_scripts/omniORB.py
products/env_scripts/scikit_learn.py [new file with mode: 0644]
products/env_scripts/sphinxcontrib_jquery.py [new file with mode: 0644]
products/env_scripts/tabulate.py [new file with mode: 0644]
products/env_scripts/threadpoolctl.py [new file with mode: 0644]
products/env_scripts/tomli.py [new file with mode: 0644]
products/env_scripts/zipp.py [new file with mode: 0644]
products/fonttools.pyconf [new file with mode: 0644]
products/gdal.pyconf
products/importlib_metadata.pyconf [new file with mode: 0644]
products/importlib_resources.pyconf [new file with mode: 0644]
products/joblib.pyconf [new file with mode: 0644]
products/matplotlib.pyconf
products/mpi4py.pyconf
products/numpy.pyconf
products/numpydoc.pyconf
products/opencv.pyconf
products/openturns.pyconf
products/pandas.pyconf
products/patches/PyFMI-2.6-importlogger.patch [new file with mode: 0644]
products/patches/gdal.0003-ignore_use2to3.patch [new file with mode: 0644]
products/patches/mpi4py_3_1_0_setup_py.patch [new file with mode: 0644]
products/patches/paraview-5.11.0.p0011-add_dll_directory.patch [new file with mode: 0644]
products/patches/python-3.9.14.01-ctype-init.patch [new file with mode: 0644]
products/patches/python-3.9.14.02-os.py.patch [new file with mode: 0644]
products/patches/python-3.9.14.03-getpath.patch [new file with mode: 0644]
products/patches/python-3.9.14.04-dynload_win.patch [new file with mode: 0644]
products/psutil.pyconf
products/pyreadline.pyconf
products/pytz.pyconf
products/requests.pyconf
products/scikit_learn.pyconf [new file with mode: 0644]
products/scipy.pyconf
products/sip.pyconf
products/sphinx_rtd_theme.pyconf
products/sphinxcontrib_applehelp.pyconf
products/sphinxcontrib_devhelp.pyconf
products/sphinxcontrib_htmlhelp.pyconf
products/sphinxcontrib_jquery.pyconf [new file with mode: 0644]
products/sphinxcontrib_jsmath.pyconf
products/sphinxcontrib_qthelp.pyconf
products/sphinxcontrib_serializinghtml.pyconf
products/sphinxcontrib_websupport.pyconf
products/sphinxintl.pyconf
products/statsmodels.pyconf
products/tabulate.pyconf [new file with mode: 0644]
products/threadpoolctl.pyconf [new file with mode: 0644]
products/tomli.pyconf [new file with mode: 0644]
products/zipp.pyconf [new file with mode: 0644]

index d996341103275edc6e1991b273fe934ca42ed582..03510770ea92a03965593415916ae439824b488b 100644 (file)
@@ -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
   }
 ]
index bad3414296a584cb5c2c9f3b42c213ec1b9a90b4..ae57723fc33e0387b5ad2dfcf8b6e5d608889cfc 100644 (file)
@@ -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']"
index f2aead40826dd0c6ff966ac448c45fcca92c82da..9c25d8dd3c7f905e5682c2cd18630ecafd9280b6 100755 (executable)
@@ -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:
     {
index e82f5946777c043d09d86b999dd500685237803c..3ac69abb9ea5682b19685cd951fa390f0970973c 100755 (executable)
@@ -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'
               ]
 }
 
index c22857a58e823865b31c7af59050e0fe45d08ced..e32fa4e822a8f19c9b39168a4c9ae012b7dec0ec 100644 (file)
@@ -43,6 +43,7 @@ version_2_6 :
 
 version_2_6_win :
 {
+    patches: ["PyFMI-2.6-importlogger.patch"]
     compil_script : "PyFMI-2.6.bat"
     properties:
     {
index f3a89176a05f996f26d5eb24e07fbdc8700aa4b2..4fd2a0f7f7a24400aa0d5829460f97f615faafdd 100644 (file)
@@ -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"]
index 6391bc45ecae8eb4d27d37c9a5279a6ef42aa010..5dba14ddccdf2edad05d3855a02a6d2d575f25a0 100755 (executable)
@@ -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']
 }
  
index b6c9bbff756120260c014a9a1368e111cef912c7..d428b6d3f621bab721d3ccbafe140f3b16c08cb2 100644 (file)
@@ -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 (file)
index 0000000..207154e
--- /dev/null
@@ -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"
+    }
+}
index c5d8f14898643515c1f4f079be695df3845e6a71..879ea1d8ba952cf785c00db5e4a9a2ebb3f0457d 100644 (file)
@@ -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.
index fff844156d509ebdaca3c1b7e5633ec30ddde9d7..2d815fb58a54de2cf5b1584a22d177f0ec9b0839 100644 (file)
@@ -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 (file)
index 0000000..1bab858
--- /dev/null
@@ -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 (executable)
index 0000000..240d6a7
--- /dev/null
@@ -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 (file)
index 0000000..3dc3209
--- /dev/null
@@ -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
index 27caae6cfb418a342d27b8fb9bf0ed773422c371..0fc299dacb9fc62031d2c85051418826581c1645 100755 (executable)
@@ -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 (executable)
index 0000000..0f02d9b
--- /dev/null
@@ -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 (executable)
index 0000000..0f02d9b
--- /dev/null
@@ -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 (file)
index 0000000..97dd410
--- /dev/null
@@ -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
index 93547b5014bffbb333fb98fed4d2041ffe97cc0e..b030b447cbb2a2f605877e59928df8468cfced55 100644 (file)
@@ -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 ##########################################################################
index 078a97ab6b02c1d8612753ec75b4035ad16a7ad8..497b4b8be21837f06f0185e43f28dd08eb562946 100755 (executable)
@@ -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 (file)
index 0000000..054b352
--- /dev/null
@@ -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 (file)
index 0000000..ddd2ad1
--- /dev/null
@@ -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 (file)
index 0000000..292ed24
--- /dev/null
@@ -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 (file)
index 0000000..564fd6d
--- /dev/null
@@ -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
index 1ac425eefd2c5a3085b5664bd400a6fc9eb821fe..84db1d064fe178fea72dc36b58d2fc63cb8873f7 100644 (file)
@@ -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
 )
 
index 584d90dc1817eaea2f5ead9307c94c5d5b7a78ad..3460a80661519fe461531a99fecccdd0db9285e4 100755 (executable)
@@ -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 (executable)
index 0000000..f712aa2
--- /dev/null
@@ -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 (file)
index 0000000..62e9bd2
--- /dev/null
@@ -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"
+    }
+}
index dcc5764a9029eeee17eb294a61a7ba18b6f6c085..5b4f4bd2a1dcdca2134f7193ce918d2d71a7a9bf 100644 (file)
@@ -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 (file)
index 0000000..acba5c0
--- /dev/null
@@ -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 (file)
index 0000000..d98ea02
--- /dev/null
@@ -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 (file)
index 0000000..1fcaa44
--- /dev/null
@@ -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 (file)
index 0000000..eeebe59
--- /dev/null
@@ -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 (file)
index 0000000..47ba7fc
--- /dev/null
@@ -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 (file)
index 0000000..da816ad
--- /dev/null
@@ -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 (file)
index 0000000..c608910
--- /dev/null
@@ -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 (file)
index 0000000..dfe1935
--- /dev/null
@@ -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
index 78356b6b8509a7d3ef3a7dd473a3c9dcb6b38ac4..02bee4760ba9489926c0d601fba695f99f692ec7 100644 (file)
@@ -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 (file)
index 0000000..10cabad
--- /dev/null
@@ -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 (file)
index 0000000..403a6d4
--- /dev/null
@@ -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 (file)
index 0000000..3d56844
--- /dev/null
@@ -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 (file)
index 0000000..2684828
--- /dev/null
@@ -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 (file)
index 0000000..2b90a1f
--- /dev/null
@@ -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 (file)
index 0000000..e14509a
--- /dev/null
@@ -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 (file)
index 0000000..e120405
--- /dev/null
@@ -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"
+    }
+}
index bd324f5e386079efc3d3927e463eb82aa253d7c3..0a47291cbd9a117ed5c912313352a3d552c6b18e 100644 (file)
@@ -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 (file)
index 0000000..9508595
--- /dev/null
@@ -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 (file)
index 0000000..9a92fa6
--- /dev/null
@@ -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 (file)
index 0000000..706cf1d
--- /dev/null
@@ -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"
+   }
+}
index 279b5b31d4635830572b6e26435cce8a7bfffede..2626027250ca6a3f5fb0a084767d392fdaeebc91 100755 (executable)
@@ -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:
index 4997605295317f6336e1595b10992a0a7b07dcf7..61161f50256d9bdcedac7af2c8bb2a7702de1b7d 100644 (file)
@@ -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"
+    }
+}
index 66bf12d445a12a4eed89f9ef6e4aede3d6da8b05..d8d9a08945acf8bc454b19dacb3c063edc220e9a 100755 (executable)
@@ -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"
index 430a24ec39c855f863cd6641a620c14eb19fbbab..7fb9022b9074a0dfe2bdebca5ebe8061dc220cd9 100644 (file)
@@ -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'
index 6e4bdbbd6aef1c5cf69595fbaea6a406b37c3905..efbb1751cd1542ccb987b54468bcc3013f91242e 100644 (file)
@@ -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 :
index 6f0820c4f12da521dbfece51aff6494bc84bf3dc..5bd80e95804c42fc6adf41f7b5589ae99a070bef 100644 (file)
@@ -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
index 5c6a225595741102da66d5191ebf6442824d2483..1073b8692667ba2bb2e18348e6c8d64b75bddc4a 100644 (file)
@@ -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 (file)
index 0000000..38a3d7a
--- /dev/null
@@ -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:
+         (<FMUModelBase>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:
+         (<FMUModelBase2>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:
+     (<list>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 (file)
index 0000000..6d8cb74
--- /dev/null
@@ -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 (file)
index 0000000..0cbb097
--- /dev/null
@@ -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 (file)
index 0000000..48ccd3b
--- /dev/null
@@ -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 (file)
index 0000000..37a56f3
--- /dev/null
@@ -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 (file)
index 0000000..202a787
--- /dev/null
@@ -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 (file)
index 0000000..11d818e
--- /dev/null
@@ -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 (file)
index 0000000..db09543
--- /dev/null
@@ -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 */
index 691640cf5f7956d682029cf3ee4b25e1b525b6d0..3fa843b0d4697f73072e67c202ab14c680253fe4 100755 (executable)
@@ -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:
 {
index e666780bc9a6e15fd88a388df3c8e00499ca5a40..79d0147f44b00edb709d22030613c4c24ad02352 100755 (executable)
@@ -37,3 +37,16 @@ default_win :
      pip : "yes"
    }
 }
+
+version_3_4_1 :
+{
+}
+
+version_3_4_1_win :
+{
+  name : "pyreadline3"
+  environ :
+  {
+       env_script : "pyreadline.py"
+  }
+}
index c78b30dbf1149777b0f4cb81a634680b9995c818..7aa88f1406a39a13e9a07bb5ec8f7838dd73239b 100644 (file)
@@ -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"}
+}
index 3ef8074ba170d6280a0c4d492e6f07dff02d817b..9fb7a7b298f5ce0da8c0baef43f45f99fc0416b4 100755 (executable)
@@ -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 (file)
index 0000000..05f7c6a
--- /dev/null
@@ -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"
+   }
+}
index 35c4d02c3a83618542bd4e9e7deb5a1be22a5db7..07c0a0a5bb88778d1cb7eba4c30ae5a1f7872001 100755 (executable)
@@ -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"
index d5dfda957229931b99c59e59231dd1390c83bd5a..4da50ed62d636a4bada22a3eb54c715f074bfc20 100644 (file)
@@ -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 :
index f46ec834a461cb53561bd715fc781f1b63e51ab6..c80674ab5b1f9ee9714b13d62fb1a8c9b658f81d 100644 (file)
@@ -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
index f42048be5677f411f4ee3d28d62d1540d5defe32..07fa19e02cc6c80cad591dc8dfce9ab443cb5ea9 100644 (file)
@@ -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"
index b7d6d87abecbc136f3ae79cf98b79dc713436ef3..04728edf2c8aa781ea51f35b57076fc20f0d9474 100644 (file)
@@ -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"
index fe20a34b2ac5ca68ab21371c18c34ff085d98674..cf70c1ee94b66d413f0023ad9968fe06ef70b855 100644 (file)
@@ -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 (file)
index 0000000..561fd53
--- /dev/null
@@ -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"
+    }
+}
index caac1c98f1fff18c1b84eb88cff4603bfa862d3f..3e921314afb61aea1b375eea765827de3d7be760 100644 (file)
@@ -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"
index c782b103916bc93ac8146eb7d14fbd770faddf21..5a1d27afa61e2c206eb629bd57474a406b467f11 100644 (file)
@@ -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"
index eecbb995c9a21c33c1097b600bd2959bee91b52f..31e051726f8ab62d03fd577b6e7dc200fc6e0cf7 100644 (file)
@@ -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"
index 0e0cc8ca6900302e435aaa10509d00d826f53cf9..5870156003def93c2f551d8ae11d57badac8668c 100755 (executable)
@@ -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 : []
+}
+
index db66f48c8c1bff63e7dcfe25cbcd1fa9fb66cc02..e87df9b12a080b0cb4bc6d45a3054308c5365c13 100644 (file)
@@ -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 :
index 90685565d6b5bf262af3bee2a6519fbda4fb3ba4..b022a545e1f1d5a44ee6fb67b5a3f0ebb7b78aa7 100644 (file)
@@ -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 (file)
index 0000000..ee68be0
--- /dev/null
@@ -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 (file)
index 0000000..813e678
--- /dev/null
@@ -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 (file)
index 0000000..f51c02b
--- /dev/null
@@ -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 (file)
index 0000000..bb4db50
--- /dev/null
@@ -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"
+    }
+}