]> SALOME platform Git repositories - tools/sat_salome.git/commitdiff
Salome HOME
spns #40695: add windows scripts Python 3.9.X compliant
authorNabil Ghodbane <nabil.ghodbane@cea.fr>
Wed, 28 Feb 2024 15:07:52 +0000 (16:07 +0100)
committerNabil Ghodbane <nabil.ghodbane@cea.fr>
Wed, 28 Feb 2024 15:07:52 +0000 (16:07 +0100)
26 files changed:
applications/SALOME-master-windows.pyconf
products/Cython.pyconf
products/PyFMI.pyconf
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.37.bat [new file with mode: 0644]
products/compil_scripts/numpy-1.26.4.bat [new file with mode: 0644]
products/compil_scripts/openturns-1.21.bat
products/compil_scripts/pandas-1.5.3.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/decorator.pyconf [new file with mode: 0644]
products/env_scripts/decorator.py [new file with mode: 0644]
products/env_scripts/joblib.py [new file with mode: 0644]
products/env_scripts/scikit_learn.py [new file with mode: 0644]
products/env_scripts/threadpoolctl.py [new file with mode: 0644]
products/joblib.pyconf [new file with mode: 0644]
products/matplotlib.pyconf
products/openturns.pyconf
products/pandas.pyconf
products/patches/PyFMI-2.6-importlogger.patch [new file with mode: 0644]
products/pyreadline.pyconf
products/scikit_learn.pyconf [new file with mode: 0644]
products/scipy.pyconf
products/threadpoolctl.pyconf [new file with mode: 0644]

index d996341103275edc6e1991b273fe934ca42ed582..f016bc7ce65ba98cf7c1845f6084a036922d2c02 100644 (file)
@@ -37,7 +37,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,7 +50,7 @@ APPLICATION :
         colorama: '0.4.1'
         cppunit : '1.13.2'
         cycler : '0.10.0'
-        Cython : '0.29.12'
+        Cython : '0.29.37'
         dateutil : '2.8.0'
         dill : '0.3.4'
         docutils : '0.14'
@@ -70,14 +70,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 +87,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,32 +96,33 @@ 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'
+        pyreadline : '3.4.1'
+        Python : '3.9.14'
         pytz : '2019.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'
+        snowballstemmer : '2.2.0'
         Sphinx : '2.1.2'
         sphinxcontrib_applehelp : '1.0.1'
         sphinxcontrib_devhelp : '1.0.1'
@@ -132,7 +133,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'
index f2aead40826dd0c6ff966ac448c45fcca92c82da..b972d7f67c8cf4456c821e3e97e6c6829215f650 100755 (executable)
@@ -32,6 +32,11 @@ 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_12_win_dbg :
 {
     name : "Cython"
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 fff844156d509ebdaca3c1b7e5633ec30ddde9d7..4a786703f0420da491405f47f64acf544c89ca44 100644 (file)
@@ -15,16 +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%
+del /Q /S %BUILD_DIR%\src\pyfmi\*.c
 set INSTALL_LIB=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages
 if NOT exist "%INSTALL_LIB%" mkdir %INSTALL_LIB%
 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 +36,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..b2ff5c4
--- /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.37.bat b/products/compil_scripts/cython-0.29.37.bat
new file mode 100644 (file)
index 0000000..b1105ba
--- /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.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/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..3b97a3052811e20c5f1f83b7e304ef0aa90acb63 100644 (file)
@@ -180,40 +180,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 +256,47 @@ 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
+)
+
+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 ##########################################################################
@@ -316,5 +337,12 @@ if NOT %ERRORLEVEL% == 0 (
     exit 3
 )
 
+if %PYTHON_VERSION% == 3.9 (
+  copy /Y /B %PRODUCT_INSTALL%\bin\OT.dll %PRODUCT_INSTALL%\lib\site_packages\openturns\OT.dll
+  copy /Y /B %PRODUCT_INSTALL%\bin\otmoris.dll %PRODUCT_INSTALL%\lib\site_packages\openturns\otmoris.dll
+  copy /Y /B %PRODUCT_INSTALL%\bin\otrobopt.dll %PRODUCT_INSTALL%\lib\site_packages\openturns\otrobopt.dll
+  copy /Y /B %PRODUCT_INSTALL%\bin\otfftw.dll %PRODUCT_INSTALL%\lib\site_packages\openturns\otfftw.dll
+  copy /Y /B %PRODUCT_INSTALL%\bin\otsubsetinverse.dll %PRODUCT_INSTALL%\lib\site_packages\openturns\otsubsetinverse.dll
+)
 echo
 echo "########## END"
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/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
 )
 
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/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/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
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/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/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..e06066907393e1672c967b18f46a6098ae684209 100755 (executable)
@@ -33,7 +33,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"
index 6f0820c4f12da521dbfece51aff6494bc84bf3dc..83f4d51ff1edaf2866a6fd9437289c14da6563f6 100644 (file)
@@ -50,8 +50,8 @@ version_1_21_win :
     compil_script :  "openturns-1.21.bat"
     source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + 'openturns'
     build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name
-    depend : ['Python', 'openblas', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'fftw']
-    opt_depend : ['pandas', 'statsmodels', 'patsy']
+    depend : ['Python', 'openblas', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'fftw']  
+    opt_depend : ['pandas', 'statsmodels', 'patsy', 'scikit_learn']
     patches : ['openturns-1.21.0003.patch', 'openturns-1.21.0004.patch']
     properties :
     {
index 2b4c2124fc3b8e4900df98f3b2da09ca7187a57e..bb662b38d7ee05874a8566d6f936543cbab6e8be 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:
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"
+  }
+}
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"
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"
+   }
+}