From b99527ccadcd4dea0cb43bd48cd7a0ad85abb554 Mon Sep 17 00:00:00 2001 From: Nabil Ghodbane Date: Wed, 28 Feb 2024 16:07:52 +0100 Subject: [PATCH] spns #40695: add windows scripts Python 3.9.X compliant --- applications/SALOME-master-windows.pyconf | 29 +-- products/Cython.pyconf | 5 + products/PyFMI.pyconf | 1 + products/compil_scripts/PyFMI-2.6.bat | 18 +- products/compil_scripts/Python-3.9.bat | 230 ++++++++++++++++++ products/compil_scripts/cython-0.29.37.bat | 62 +++++ products/compil_scripts/numpy-1.26.4.bat | 63 +++++ products/compil_scripts/openturns-1.21.bat | 78 ++++-- products/compil_scripts/pandas-1.5.3.bat | 59 +++++ products/compil_scripts/pybind11.bat | 59 +++++ products/compil_scripts/scipy-1.6.2.bat | 59 +++++ products/compil_scripts/sip-5.5.0.bat | 14 +- products/decorator.pyconf | 38 +++ products/env_scripts/decorator.py | 10 + products/env_scripts/joblib.py | 10 + products/env_scripts/scikit_learn.py | 10 + products/env_scripts/threadpoolctl.py | 10 + products/joblib.pyconf | 38 +++ products/matplotlib.pyconf | 2 +- products/openturns.pyconf | 4 +- products/pandas.pyconf | 14 ++ products/patches/PyFMI-2.6-importlogger.patch | 24 ++ products/pyreadline.pyconf | 13 + products/scikit_learn.pyconf | 38 +++ products/scipy.pyconf | 17 ++ products/threadpoolctl.pyconf | 38 +++ 26 files changed, 891 insertions(+), 52 deletions(-) create mode 100644 products/compil_scripts/Python-3.9.bat create mode 100644 products/compil_scripts/cython-0.29.37.bat create mode 100644 products/compil_scripts/numpy-1.26.4.bat create mode 100644 products/compil_scripts/pandas-1.5.3.bat create mode 100644 products/compil_scripts/pybind11.bat create mode 100644 products/compil_scripts/scipy-1.6.2.bat create mode 100644 products/decorator.pyconf create mode 100644 products/env_scripts/decorator.py create mode 100644 products/env_scripts/joblib.py create mode 100644 products/env_scripts/scikit_learn.py create mode 100644 products/env_scripts/threadpoolctl.py create mode 100644 products/joblib.pyconf create mode 100644 products/patches/PyFMI-2.6-importlogger.patch create mode 100644 products/scikit_learn.pyconf create mode 100644 products/threadpoolctl.pyconf diff --git a/applications/SALOME-master-windows.pyconf b/applications/SALOME-master-windows.pyconf index d996341..f016bc7 100644 --- a/applications/SALOME-master-windows.pyconf +++ b/applications/SALOME-master-windows.pyconf @@ -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' diff --git a/products/Cython.pyconf b/products/Cython.pyconf index f2aead4..b972d7f 100755 --- a/products/Cython.pyconf +++ b/products/Cython.pyconf @@ -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" diff --git a/products/PyFMI.pyconf b/products/PyFMI.pyconf index c22857a..e32fa4e 100644 --- a/products/PyFMI.pyconf +++ b/products/PyFMI.pyconf @@ -43,6 +43,7 @@ version_2_6 : version_2_6_win : { + patches: ["PyFMI-2.6-importlogger.patch"] compil_script : "PyFMI-2.6.bat" properties: { diff --git a/products/compil_scripts/PyFMI-2.6.bat b/products/compil_scripts/PyFMI-2.6.bat index fff8441..4a78670 100644 --- a/products/compil_scripts/PyFMI-2.6.bat +++ b/products/compil_scripts/PyFMI-2.6.bat @@ -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 index 0000000..b2ff5c4 --- /dev/null +++ b/products/compil_scripts/Python-3.9.bat @@ -0,0 +1,230 @@ +@echo off + +echo ########################################################################## +echo Python %VERSION% +echo ########################################################################## + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +SET PRODUCT_BUILD_TYPE=Release +if %SAT_DEBUG% == 1 ( + set PRODUCT_BUILD_TYPE=Debug +) + +set PLATFORM_TARGET=x64 +if "%SALOME_APPLICATION_NAME%" == "URANIE" ( + set PLATFORM_TARGET=Win32 +) + +SET LIB_TAG= +if %SAT_DEBUG% == 1 ( + set LIB_TAG=_d +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +if NOT exist "%PRODUCT_INSTALL%\libs" mkdir %PRODUCT_INSTALL%\libs +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% +xcopy * %BUILD_DIR% /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 1 +) + +SET MSBUILDDISABLENODEREUSE=1 + +cd %BUILD_DIR%\PCbuild + +REM Upgrade to current version of MSVC +echo. +echo *** devenv pcbuild.sln /upgrade +devenv pcbuild.sln /upgrade +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on devenv + exit 1 +) + +echo. + +cd PCBuild + +echo. +echo Extracting bzip2... +if exist "%BUILD_DIR%\externals\cpython-source-deps-bzip2-1.0.8" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-bzip2-1.0.8" +if exist "%BUILD_DIR%\externals\bzip2-1.0.8" rmdir /Q /S "%BUILD_DIR%\externals\bzip2-1.0.8" +7z x -y %BUILD_DIR%\externals\zips\bzip2-1.0.8.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-bzip2-1.0.8 %BUILD_DIR%\externals\bzip2-1.0.8 + +echo. +echo Extracting ffi... +if exist "%BUILD_DIR%\externals\cpython-bin-deps-libffi-3.3.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-bin-deps-libffi-3.3.0" +7z x -y %BUILD_DIR%\externals\zips\libffi-3.3.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-libffi-3.3.0 %BUILD_DIR%\externals\libffi-3.3.0 + +echo. +echo Extracting nasm... +if exist "%BUILD_DIR%\externals\cpython-bin-deps-nasm-2.11.06" rmdir /Q /S "%BUILD_DIR%\externals\cpython-bin-deps-nasm-2.11.06" +if exist "%BUILD_DIR%\externals\nasm-2.11.06" rmdir /Q /S "%BUILD_DIR%\externals\nasm-2.11.06" +7z x -y %BUILD_DIR%\externals\zips\nasm-2.11.06.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-nasm-2.11.06 %BUILD_DIR%\externals\nasm-2.11.06 + +echo. +echo Extracting openssl... +if exist "%BUILD_DIR%\externals\cpython-source-deps-openssl-1.1.1n" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-openssl-1.1.1n" +if exist "%BUILD_DIR%\externals\openssl-1.1.1n" rmdir /Q /S "%BUILD_DIR%\externals\openssl-1.1.1n" +7z x -y %BUILD_DIR%\externals\zips\openssl-1.1.1n.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-openssl-1.1.1n %BUILD_DIR%\externals\openssl-1.1.1n + +if exist "%BUILD_DIR%\externals\cpython-bin-deps-openssl-bin-1.1.1n" rmdir /Q /S "%BUILD_DIR%\externals\cpython-bin-deps-openssl-bin-1.1.1n" +if exist "%BUILD_DIR%\externals\openssl-bin-1.1.1n" rmdir /Q /S "%BUILD_DIR%\externals\openssl-bin-1.1.1n" +7z x -y %BUILD_DIR%\externals\zips\openssl-bin-1.1.1n.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-openssl-bin-1.1.1n %BUILD_DIR%\externals\openssl-bin-1.1.1n + +echo. +echo Extracting sqlite... +if exist "%BUILD_DIR%\externals\cpython-source-deps-sqlite-3.37.2.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-sqlite-3.37.2.0" +if exist "%BUILD_DIR%\externals\sqlite-3.37.2.0" rmdir /Q /S "%BUILD_DIR%\externals\sqlite-3.37.2.0" +7z x -y %BUILD_DIR%\externals\zips\sqlite-3.37.2.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-sqlite-3.37.2.0 %BUILD_DIR%\externals\sqlite-3.37.2.0 + +echo. +echo Extracting tkinter/tcl +if exist "%BUILD_DIR%\externals\cpython-source-deps-tcl-core-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-tcl-core-8.6.12.0" +if exist "%BUILD_DIR%\externals\tcl-core-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\tcl-core-8.6.12.0" +7z x -y %BUILD_DIR%\externals\zips\tcl-core-8.6.12.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-tcl-core-8.6.12.0 %BUILD_DIR%\externals\tcl-core-8.6.12.0 + +echo. +echo Extracting tkinter/tcltk +if exist "%BUILD_DIR%\externals\cpython-bin-deps-tcltk-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-bin-deps-tcltk-8.6.12.0" +if exist "%BUILD_DIR%\externals\tcltk-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\tcltk-8.6.12.0" +7z x -y %BUILD_DIR%\externals\zips\tcltk-8.6.12.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-tcltk-8.6.12.0 %BUILD_DIR%\externals\tcltk-8.6.12.0 + +echo. +echo Extracting tix +if exist "%BUILD_DIR%\externals\cpython-source-deps-tix-8.4.3.6" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-tix-8.4.3.6" +if exist "%BUILD_DIR%\externals\tix-8.4.3.6" rmdir /Q /S "%BUILD_DIR%\externals\tix-8.4.3.6" +7z x -y %BUILD_DIR%\externals\zips\tix-8.4.3.6.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-tix-8.4.3.6 %BUILD_DIR%\externals\tix-8.4.3.6 + +echo. +echo Extracting tkinter/tk +if exist "%BUILD_DIR%\externals\cpython-source-deps-tk-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-tk-8.6.12.0" +if exist "%BUILD_DIR%\externals\tk-8.6.12.0" rmdir /Q /S "%BUILD_DIR%\externals\tk-8.6.12.0" +7z x -y %BUILD_DIR%\externals\zips\tk-8.6.12.0.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-bin-deps-tk-8.6.12.0 %BUILD_DIR%\externals\tk-8.6.12.0 + +echo. +echo Extracting xz... +if exist "%BUILD_DIR%\externals\cpython-source-deps-xz-5.2.5" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-xz-5.2.5" +if exist "%BUILD_DIR%\externals\xz-5.2.5" rmdir /Q /S "%BUILD_DIR%\externals\xz-5.2.5" +7z x -y %BUILD_DIR%\externals\zips\xz-5.2.5.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-xz-5.2.5 %BUILD_DIR%\externals\xz-5.2.5 + +echo. +echo Extracting zlib... +if exist "%BUILD_DIR%\externals\cpython-source-deps-zlib-1.2.12" rmdir /Q /S "%BUILD_DIR%\externals\cpython-source-deps-zlib-1.2.12" +if exist "%BUILD_DIR%\externals\zlib-1.2.12" rmdir /Q /S "%BUILD_DIR%\externals\zlib-1.2.12" +7z x -y %BUILD_DIR%\externals\zips\zlib-1.2.12.zip -o%BUILD_DIR%\externals +mv %BUILD_DIR%\externals\cpython-source-deps-zlib-1.2.12 %BUILD_DIR%\externals\zlib-1.2.12 + +echo Extracting pip... +if exist "%BUILD_DIR%\externals\pip-24.0" rmdir /Q /S "%BUILD_DIR%\externals\pip-24.0" +7z x -y %BUILD_DIR%\externals\zips\pip-24.0.zip -o%BUILD_DIR%\externals + +REM Compilation + +cd %BUILD_DIR% +echo. + +REM Upgrade to current version of MSVC +echo. +echo *** devenv pcbuild.sln /upgrade +devenv pcbuild.sln /upgrade +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on devenv + exit 1 +) + +echo *** msbuild %BUILD_DIR%\PCBuild\pcbuild.sln /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=%PLATFORM_TARGET% /p:BuildProjectReferences=false /p:OutDir=%PRODUCT_INSTALL%\ +msbuild %BUILD_DIR%\PCBuild\pcbuild.sln /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=%PLATFORM_TARGET% /p:OutDir=%PRODUCT_INSTALL%\ +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild + exit 2 +) + +REM Installation of additional files +echo. +echo *** Installation of additional files +cd .. +xcopy /Y /I /E %BUILD_DIR%\include %PRODUCT_INSTALL%\include +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy include + exit 3 +) + +copy /Y %BUILD_DIR%\PC\pyconfig.h %PRODUCT_INSTALL%\include +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on copy PC\pyconfig.h + exit 4 +) + +xcopy /Y /I /E %BUILD_DIR%\lib %PRODUCT_INSTALL%\lib +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy lib + exit 5 +) + +REM some prequistes if compiled in Debug mode require the lib to be in folder libs +REM other ones require these static lib to be in the root directory +REM on purpose we don't use mklink, since this requires the user to have his node set in developer mode. +xcopy /Y %PRODUCT_INSTALL%\*.lib %PRODUCT_INSTALL%\libs\ +if NOT %ERRORLEVEL% == 0 ( + echo ERROR could not copy static libraries + exit 6 +) + +REM on purpose, we don't use mklink - requires admin rights... +copy /Y /B %PRODUCT_INSTALL%\python%LIB_TAG%.exe %PRODUCT_INSTALL%\python3.exe +if %SAT_DEBUG% == 1 ( + copy /Y /B %PRODUCT_INSTALL%\python_d.exe %PRODUCT_INSTALL%\python.exe + REM otherwise OmniORB does not compile... + copy /Y /B %PRODUCT_INSTALL%\libs\python39_d.lib %PRODUCT_INSTALL%\libs\python39.lib + copy /Y /B %PRODUCT_INSTALL%\libs\python_d.lib %PRODUCT_INSTALL%\libs\python.lib +) + +cd %PRODUCT_INSTALL%\ + +REM Add PIP support +set PYTHONHOME=%PRODUCT_INSTALL% +set PYTHON_ROOT_DIR=%PRODUCT_INSTALL% +set PYTHON_VERSION=3.9 +set PATH=%PRODUCT_INSTALL%;%PATH% +set PATH=%PRODUCT_INSTALL%\lib;%PATH% +set PYTHON_INCLUDE=%PRODUCT_INSTALL%\include +set PYTHONPATH=%PRODUCT_INSTALL%\lib;%PYTHONPATH% +set PYTHONPATH=%PRODUCT_INSTALL%\lib\site-packages;%PYTHONPATH% +set PYTHONBIN=%PRODUCT_INSTALL%\python.exe +set PATH=%PRODUCT_INSTALL%\Scripts;%PATH% + +%PRODUCT_INSTALL%\python.exe %BUILD_DIR%\externals\pip-24.0\get-pip.py --force-reinstall --no-setuptools --no-wheel --no-index --find-links=%BUILD_DIR%\externals\pip-24.0 + +REM In debug mode, we need to rename all _d.pyd to .pyd... don't ask why. Seems like a known bug in OmniORB. +if %SAT_DEBUG% == 1 ( + cd %PRODUCT_INSTALL% + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" + cd %PRODUCT_INSTALL%\lib\site-packages + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" +) + + +taskkill /F /IM "mspdbsrv.exe" + +echo. +echo ########## END diff --git a/products/compil_scripts/cython-0.29.37.bat b/products/compil_scripts/cython-0.29.37.bat new file mode 100644 index 0000000..b1105ba --- /dev/null +++ b/products/compil_scripts/cython-0.29.37.bat @@ -0,0 +1,62 @@ +@echo off + +echo ########################################################################## +echo Cython %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% + +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo *** Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +REM not built by OCCT - see spns #20292 attached Excel document +REM if %SAT_DEBUG% == 1 ( +REM set BUILD_OPT=--debug +REM) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + + +echo. +echo -------------------------------------------------------------------------- +echo *** Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) +if NOT %ERRORLEVEL% == 0 ( + echo "ERROR on setup install" + exit 3 +) + +REM In debug mode, we need to rename all .pyd to _d.pyd... don't ask why. Seems like a known bug in OmniORB. +if %SAT_DEBUG% == 1 ( + cd %PYTHON_ROOT_DIR%\lib\site-packages\Cython-0.29.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 index 0000000..97dd410 --- /dev/null +++ b/products/compil_scripts/numpy-1.26.4.bat @@ -0,0 +1,63 @@ +@echo off + +echo ########################################################################## +echo numpy %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% +cd %SOURCE_DIR% +xcopy * %BUILD_DIR% /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 1 +) + +cd %BUILD_DIR% + +set BLAS=None +set ATLAS=None +set LAPACK=None + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/openturns-1.21.bat b/products/compil_scripts/openturns-1.21.bat index 93547b5..3b97a30 100644 --- a/products/compil_scripts/openturns-1.21.bat +++ b/products/compil_scripts/openturns-1.21.bat @@ -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 index 0000000..054b352 --- /dev/null +++ b/products/compil_scripts/pandas-1.5.3.bat @@ -0,0 +1,59 @@ +@echo off + +echo ########################################################################## +echo pandas %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% +cd %SOURCE_DIR% +xcopy * %BUILD_DIR% /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 1 +) + +cd %BUILD_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/pybind11.bat b/products/compil_scripts/pybind11.bat new file mode 100644 index 0000000..292ed24 --- /dev/null +++ b/products/compil_scripts/pybind11.bat @@ -0,0 +1,59 @@ +@echo off + +echo ########################################################################## +echo pybind11 %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% +cd %SOURCE_DIR% +xcopy * %BUILD_DIR% /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 1 +) + +cd %BUILD_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/scipy-1.6.2.bat b/products/compil_scripts/scipy-1.6.2.bat new file mode 100644 index 0000000..564fd6d --- /dev/null +++ b/products/compil_scripts/scipy-1.6.2.bat @@ -0,0 +1,59 @@ +@echo off + +echo ########################################################################## +echo scipy %VERSION% +echo ########################################################################## + +REM install in python directly +SET INSTALL_CENTRALLY=1 + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% + +set BLAS=None +set ATLAS=None +set LAPACK=None + +cd %SOURCE_DIR% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py build" +echo -------------------------------------------------------------------------- +set BUILD_OPT= +if %SAT_DEBUG% == 1 ( + set BUILD_OPT=--debug +) + +%PYTHON_ROOT_DIR%\python.exe setup.py build %BUILD_OPT% + +echo. +echo -------------------------------------------------------------------------- +echo Launching "python.exe setup.py install" +echo -------------------------------------------------------------------------- + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --old-and-unmanageable +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --single-version-externally-managed --root=/ --prefix=%PRODUCT_INSTALL% --install-lib=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages --old-and-unmanageable +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 3 +) + +echo. +echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt +echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt + +echo. +echo ########## END diff --git a/products/compil_scripts/sip-5.5.0.bat b/products/compil_scripts/sip-5.5.0.bat index 1ac425e..84db1d0 100644 --- a/products/compil_scripts/sip-5.5.0.bat +++ b/products/compil_scripts/sip-5.5.0.bat @@ -26,15 +26,21 @@ set PYTHONPATH=%PYTHONPATH%;%PRODUCT_INSTALL%\Lib\site-packages echo. echo *** -%PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% + +SET SETUP_EXTRA_OPTIONS=--old-and-unmanageable +if %PYTHON_VERSION% == 3.6 ( + SET SETUP_EXTRA_OPTIONS= +) + +%PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% if NOT %ERRORLEVEL% == 0 ( - echo ERROR on SIP running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% + echo ERROR on SIP running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% exit 1 ) cd %BUILD_DIR%\PyQt5_sip-12.8.1 -%PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% +%PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% if NOT %ERRORLEVEL% == 0 ( - echo ERROR on PYQT_SIP running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% + echo ERROR on PYQT_SIP running %PYTHONBIN% setup.py build %BUILD_OPT% install --prefix=%PRODUCT_INSTALL% %SETUP_EXTRA_OPTIONS% exit 2 ) diff --git a/products/decorator.pyconf b/products/decorator.pyconf new file mode 100644 index 0000000..acba5c0 --- /dev/null +++ b/products/decorator.pyconf @@ -0,0 +1,38 @@ +default : +{ + name : "decorator" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-decorator"] + rpm_dev : [] + apt : ["python3-decorator"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "no" + } +} + +default_win : +{ + compil_script : 'pip_install_whl' + $VARS.scriptExtension + depend : ["Python","setuptools"] + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/env_scripts/decorator.py b/products/env_scripts/decorator.py new file mode 100644 index 0000000..eeebe59 --- /dev/null +++ b/products/env_scripts/decorator.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform +def set_env(env, prereq_dir, version): + env.set("DECORATOR_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/joblib.py b/products/env_scripts/joblib.py new file mode 100644 index 0000000..dfe1935 --- /dev/null +++ b/products/env_scripts/joblib.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform +def set_env(env, prereq_dir, version): + env.set("JOBLIB_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/scikit_learn.py b/products/env_scripts/scikit_learn.py new file mode 100644 index 0000000..10cabad --- /dev/null +++ b/products/env_scripts/scikit_learn.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform +def set_env(env, prereq_dir, version): + env.set("SCIKITLEARN_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/env_scripts/threadpoolctl.py b/products/env_scripts/threadpoolctl.py new file mode 100644 index 0000000..2684828 --- /dev/null +++ b/products/env_scripts/threadpoolctl.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform +def set_env(env, prereq_dir, version): + env.set("THREADPOOLCTL_ROOT_DIR",prereq_dir) + +def set_nativ_env(env): + pass diff --git a/products/joblib.pyconf b/products/joblib.pyconf new file mode 100644 index 0000000..706cf1d --- /dev/null +++ b/products/joblib.pyconf @@ -0,0 +1,38 @@ +default : +{ + name : "joblib" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-joblib"] + rpm_dev : [] + apt : ["python3-joblib"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "no" + } +} + +default_win : +{ + compil_script : 'pip_install_whl' + $VARS.scriptExtension + depend : ["Python","setuptools", "threadpoolctl"] + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/matplotlib.pyconf b/products/matplotlib.pyconf index 279b5b3..e060669 100755 --- a/products/matplotlib.pyconf +++ b/products/matplotlib.pyconf @@ -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" diff --git a/products/openturns.pyconf b/products/openturns.pyconf index 6f0820c..83f4d51 100644 --- a/products/openturns.pyconf +++ b/products/openturns.pyconf @@ -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 : { diff --git a/products/pandas.pyconf b/products/pandas.pyconf index 2b4c212..bb662b3 100644 --- a/products/pandas.pyconf +++ b/products/pandas.pyconf @@ -26,6 +26,20 @@ default : } } +version_1_5_3 : +{} + +version_1_5_3_win: +{ + compil_script: "pandas-1.5.3.bat" + archive_info : {archive_name : "pandas-1.5.3.tar.gz"} + properties: + { + incremental : "yes" + pip : "no" + } +} + version_1_1_5_no_pip : { compil_script : "pandas-1.1.5.sh" diff --git a/products/patches/PyFMI-2.6-importlogger.patch b/products/patches/PyFMI-2.6-importlogger.patch new file mode 100644 index 0000000..38a3d7a --- /dev/null +++ b/products/patches/PyFMI-2.6-importlogger.patch @@ -0,0 +1,24 @@ +diff -Naur PyFMI/src/pyfmi/fmi.pyx PyFMI_dev/src/pyfmi/fmi.pyx +--- PyFMI/src/pyfmi/fmi.pyx 2020-03-04 22:13:53.000000000 +0100 ++++ PyFMI_dev/src/pyfmi/fmi.pyx 2024-02-14 15:24:51.801418608 +0100 +@@ -151,17 +151,17 @@ + FMI_OUTPUTS = 2 + + #CALLBACKS +-cdef void importlogger(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message): ++cdef void importlogger(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message) noexcept: + if c.context != NULL: + (c.context)._logger(module,log_level,message) + + #CALLBACKS +-cdef void importlogger2(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message): ++cdef void importlogger2(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message) noexcept: + if c.context != NULL: + (c.context)._logger(module, log_level, message) + + #CALLBACKS +-cdef void importlogger_load_fmu(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message): ++cdef void importlogger_load_fmu(FMIL.jm_callbacks* c, FMIL.jm_string module, FMIL.jm_log_level_enu_t log_level, FMIL.jm_string message) noexcept: + (c.context).append("FMIL: module = %s, log level = %d: %s"%(module, log_level, message)) + + cdef class ModelBase: diff --git a/products/pyreadline.pyconf b/products/pyreadline.pyconf index e666780..79d0147 100755 --- a/products/pyreadline.pyconf +++ b/products/pyreadline.pyconf @@ -37,3 +37,16 @@ default_win : pip : "yes" } } + +version_3_4_1 : +{ +} + +version_3_4_1_win : +{ + name : "pyreadline3" + environ : + { + env_script : "pyreadline.py" + } +} diff --git a/products/scikit_learn.pyconf b/products/scikit_learn.pyconf new file mode 100644 index 0000000..05f7c6a --- /dev/null +++ b/products/scikit_learn.pyconf @@ -0,0 +1,38 @@ +default : +{ + name : "scikit_learn" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-scikit-learn"] + rpm_dev : [] + apt : ["python3-scikit-learn"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python', 'scipy'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "no" + } +} + +default_win : +{ + compil_script : 'pip_install_whl' + $VARS.scriptExtension + depend : ["Python","setuptools", "scipy", "joblib"] + properties: + { + incremental : "yes" + pip : "yes" + } +} diff --git a/products/scipy.pyconf b/products/scipy.pyconf index 35c4d02..07c0a0a 100755 --- a/products/scipy.pyconf +++ b/products/scipy.pyconf @@ -33,6 +33,23 @@ default_win : archive_info : {archive_name : "scipy-" + $APPLICATION.products.scipy + "_windows.tar.gz"} } +version_1_6_2: +{ +} + +version_1_6_2_win: +{ + compil_script : "scipy-1.6.2.bat" + properties : + { + incremental : "yes" + pip : "yes" + } + archive_info : {archive_name : "scipy-1.6.2.tar.gz"} + depend : ['numpy','lapack', 'openblas'] + opt_depend : ['pybind11'] +} + version_1_5_2_no_pip : { compil_script : "scipy-1.5.2.sh" diff --git a/products/threadpoolctl.pyconf b/products/threadpoolctl.pyconf new file mode 100644 index 0000000..813e678 --- /dev/null +++ b/products/threadpoolctl.pyconf @@ -0,0 +1,38 @@ +default : +{ + name : "threadpoolctl" + build_source : "script" + compil_script : "pip_install" + $VARS.scriptExtension + get_source : "archive" + system_info : + { + rpm : ["python3-threadpoolctl"] + rpm_dev : [] + apt : ["python3-threadpoolctl"] + apt_dev : [] + } + environ : + { + env_script : $name + ".py" + } + depend : ['Python'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' + properties: + { + incremental : "yes" + pip : "no" + } +} + +default_win : +{ + compil_script : 'pip_install_whl' + $VARS.scriptExtension + depend : ["Python","setuptools", "scipy", "decorator"] + properties: + { + incremental : "yes" + pip : "yes" + } +} -- 2.39.2