From fbb9baaff57e86ecf4bf63d05d48370414c03d7c Mon Sep 17 00:00:00 2001 From: Serge Rehbinder Date: Wed, 1 Jun 2016 15:30:24 +0200 Subject: [PATCH] Add config files and some code update for compilation of SALOME-7.8.0 --- commands/compile.py | 5 +- complete_sat.sh | 7 +- data/compil_scripts/CAS_6.7.sh | 54 + data/compil_scripts/Homard.sh | 27 + data/compil_scripts/Jinja2.sh | 28 + data/compil_scripts/MeshGems.sh | 27 + data/compil_scripts/ParMetis-3.sh | 41 + data/compil_scripts/ParaView-5.0.sh | 170 +++ data/compil_scripts/PyQt.sh | 45 + data/compil_scripts/Pygments.sh | 28 + data/compil_scripts/Sphinx.sh | 34 + data/compil_scripts/boost.sh | 40 + data/compil_scripts/cgns.sh | 49 + data/compil_scripts/cmake.sh | 38 + data/compil_scripts/cppunit.sh | 41 + data/compil_scripts/cython.sh | 33 + data/compil_scripts/dateutil.sh | 40 + data/compil_scripts/distribute.sh | 40 + data/compil_scripts/docutils.sh | 25 + data/compil_scripts/doxygen.sh | 42 + data/compil_scripts/fftw.sh | 39 + data/compil_scripts/freeimage-3.16.0.sh | 83 ++ data/compil_scripts/freetype.sh | 45 + data/compil_scripts/graphviz-2.38.0.sh | 52 + data/compil_scripts/hdf5CMake.sh | 64 + data/compil_scripts/lapack.sh | 82 ++ data/compil_scripts/libxml2_2_9_2.sh | 56 + data/compil_scripts/markupsafe.sh | 38 + data/compil_scripts/matplotlib.sh | 42 + data/compil_scripts/medCMake.sh | 54 + data/compil_scripts/metis.sh | 41 + data/compil_scripts/netgen.sh | 65 + data/compil_scripts/numpy.sh | 23 + data/compil_scripts/omniORB.sh | 52 + data/compil_scripts/omniORBpy.sh | 39 + data/compil_scripts/opencv.sh | 51 + data/compil_scripts/pyparsing.sh | 40 + data/compil_scripts/pyreadline.sh | 12 + data/compil_scripts/pytz.sh | 39 + data/compil_scripts/qt.sh | 52 + data/compil_scripts/qwt-6.1.0.sh | 53 + data/compil_scripts/scipy.sh | 34 + data/compil_scripts/scotch-5.1.12.sh | 45 + data/compil_scripts/setuptools.sh | 28 + data/compil_scripts/sip.sh | 53 + data/compil_scripts/six.sh | 40 + data/compil_scripts/swig.sh | 57 + data/compil_scripts/tcl.sh | 38 + data/compil_scripts/tk.sh | 45 + data/env_scripts/CAS.py | 41 + data/env_scripts/Cython.py | 16 + data/env_scripts/Homard.py | 12 + data/env_scripts/Jinja2.py | 19 + data/env_scripts/MeshGems.py | 34 + data/env_scripts/ParMetis.py | 16 + data/env_scripts/ParaView.py | 80 ++ data/env_scripts/PyQt.py | 28 + data/env_scripts/Pygments.py | 16 + data/env_scripts/Python.py | 46 + data/env_scripts/Sphinx.py | 18 + data/env_scripts/boost.py | 21 + data/env_scripts/cgns.py | 13 + data/env_scripts/cmake.py | 14 + data/env_scripts/cppunit.py | 23 + data/env_scripts/dateutil.py | 17 + data/env_scripts/distene_license.py | 23 + data/env_scripts/distribute.py | 20 + data/env_scripts/docutils.py | 16 + data/env_scripts/doxygen.py | 14 + data/env_scripts/fftw.py | 33 + data/env_scripts/freeimage.py | 21 + data/env_scripts/freetype.py | 15 + data/env_scripts/gl2ps.py | 17 + data/env_scripts/graphviz.py | 30 + data/env_scripts/hdf5.py | 28 + data/env_scripts/lapack.py | 27 + data/env_scripts/libxml2.py | 21 + data/env_scripts/markupsafe.py | 20 + data/env_scripts/matplotlib.py | 14 + data/env_scripts/med.py | 24 + data/env_scripts/metis.py | 11 + data/env_scripts/netgen.py | 25 + data/env_scripts/numpy.py | 15 + data/env_scripts/omniORB.py | 30 + data/env_scripts/omniORBpy.py | 11 + data/env_scripts/opencv.py | 17 + data/env_scripts/pyparsing.py | 12 + data/env_scripts/pyreadline.py | 12 + data/env_scripts/pytz.py | 17 + data/env_scripts/qt.py | 34 + data/env_scripts/qwt.py | 16 + data/env_scripts/scipy.py | 13 + data/env_scripts/scotch.py | 11 + data/env_scripts/setuptools.py | 19 + data/env_scripts/sip.py | 27 + data/env_scripts/six.py | 20 + data/env_scripts/swig.py | 21 + data/env_scripts/tcl.py | 25 + data/env_scripts/tk.py | 23 + data/patches/doxygen-1.8.3.1.patch | 65 + .../freetype-2.4.11_ft_export_FD20.patch | 12 + data/patches/gl2ps-1.3.8_link_libm_FD20.patch | 15 + .../matplotlib-1.4.3_no_auto_download.patch | 12 + ...4_3_patch_freetype_detection_for_SAT.patch | 48 + data/patches/matplotlibrc-qt4.patch | 514 ++++++++ data/patches/netgen-4.9.13_without_togl.patch | 97 ++ data/patches/netgen49ForSalome.patch | 1109 +++++++++++++++++ data/patches/patchPyQt496noPhonon.patch | 14 + ...enable-webkit-compilation-whith-gcc5.patch | 12 + data/patches/scipy-0.14.1.patch | 37 + data/products/CAS.pyconf | 19 + data/products/Cython.pyconf | 19 + data/products/GEOM.pyconf | 38 + data/products/GUI.pyconf | 37 + data/products/Homard.pyconf | 19 + data/products/Jinja2.pyconf | 19 + data/products/KERNEL.pyconf | 27 +- data/products/LIBBATCH.pyconf | 18 + data/products/MEDCOUPLING.pyconf | 57 + data/products/MeshGems.pyconf | 19 + data/products/PRODUCT_ARCHIVE.pyconf | 2 +- data/products/ParMetis.pyconf | 20 + data/products/PyQt.pyconf | 22 + data/products/Pygments.pyconf | 19 + data/products/Python.pyconf | 1 + data/products/SALOME_PROFILE.pyconf | 18 + data/products/SMESH.pyconf | 46 + data/products/Sphinx.pyconf | 19 + data/products/boost.pyconf | 20 + data/products/cgns.pyconf | 20 + data/products/cmake.pyconf | 19 + data/products/cppunit.pyconf | 19 + data/products/dateutil.pyconf | 19 + data/products/distribute.pyconf | 19 + data/products/docutils.pyconf | 19 + data/products/doxygen.pyconf | 22 + data/products/fftw.pyconf | 19 + data/products/freeimage.pyconf | 19 + data/products/freetype.pyconf | 20 + data/products/gl2ps.pyconf | 22 + data/products/graphviz.pyconf | 19 + data/products/hdf5.pyconf | 20 + data/products/lapack.pyconf | 19 + data/products/libxml2.pyconf | 19 + data/products/markupsafe.pyconf | 19 + data/products/matplotlib.pyconf | 23 + data/products/med.pyconf | 19 + data/products/metis.pyconf | 19 + data/products/netgen.pyconf | 23 + data/products/numpy.pyconf | 19 + data/products/omniORB.pyconf | 19 + data/products/omniORBpy.pyconf | 19 + data/products/opencv.pyconf | 19 + data/products/paraview.pyconf | 19 + data/products/pyparsing.pyconf | 19 + data/products/pyreadline.pyconf | 19 + data/products/pytz.pyconf | 19 + data/products/qt.pyconf | 22 + data/products/qwt.pyconf | 19 + data/products/scipy.pyconf | 20 + data/products/scotch.pyconf | 19 + data/products/setuptools.pyconf | 19 + data/products/sip.pyconf | 19 + data/products/six.pyconf | 19 + data/products/swig.pyconf | 19 + data/products/tcl.pyconf | 19 + data/products/tk.pyconf | 19 + src/compilation.py | 3 +- 168 files changed, 6381 insertions(+), 11 deletions(-) create mode 100755 data/compil_scripts/CAS_6.7.sh create mode 100755 data/compil_scripts/Homard.sh create mode 100755 data/compil_scripts/Jinja2.sh create mode 100755 data/compil_scripts/MeshGems.sh create mode 100755 data/compil_scripts/ParMetis-3.sh create mode 100755 data/compil_scripts/ParaView-5.0.sh create mode 100755 data/compil_scripts/PyQt.sh create mode 100755 data/compil_scripts/Pygments.sh create mode 100755 data/compil_scripts/Sphinx.sh create mode 100755 data/compil_scripts/boost.sh create mode 100755 data/compil_scripts/cgns.sh create mode 100755 data/compil_scripts/cmake.sh create mode 100755 data/compil_scripts/cppunit.sh create mode 100755 data/compil_scripts/cython.sh create mode 100755 data/compil_scripts/dateutil.sh create mode 100755 data/compil_scripts/distribute.sh create mode 100755 data/compil_scripts/docutils.sh create mode 100755 data/compil_scripts/doxygen.sh create mode 100755 data/compil_scripts/fftw.sh create mode 100755 data/compil_scripts/freeimage-3.16.0.sh create mode 100755 data/compil_scripts/freetype.sh create mode 100755 data/compil_scripts/graphviz-2.38.0.sh create mode 100755 data/compil_scripts/hdf5CMake.sh create mode 100755 data/compil_scripts/lapack.sh create mode 100755 data/compil_scripts/libxml2_2_9_2.sh create mode 100755 data/compil_scripts/markupsafe.sh create mode 100755 data/compil_scripts/matplotlib.sh create mode 100755 data/compil_scripts/medCMake.sh create mode 100755 data/compil_scripts/metis.sh create mode 100755 data/compil_scripts/netgen.sh create mode 100755 data/compil_scripts/numpy.sh create mode 100755 data/compil_scripts/omniORB.sh create mode 100755 data/compil_scripts/omniORBpy.sh create mode 100755 data/compil_scripts/opencv.sh create mode 100755 data/compil_scripts/pyparsing.sh create mode 100755 data/compil_scripts/pyreadline.sh create mode 100755 data/compil_scripts/pytz.sh create mode 100755 data/compil_scripts/qt.sh create mode 100755 data/compil_scripts/qwt-6.1.0.sh create mode 100755 data/compil_scripts/scipy.sh create mode 100755 data/compil_scripts/scotch-5.1.12.sh create mode 100755 data/compil_scripts/setuptools.sh create mode 100755 data/compil_scripts/sip.sh create mode 100755 data/compil_scripts/six.sh create mode 100755 data/compil_scripts/swig.sh create mode 100755 data/compil_scripts/tcl.sh create mode 100755 data/compil_scripts/tk.sh create mode 100644 data/env_scripts/CAS.py create mode 100644 data/env_scripts/Cython.py create mode 100755 data/env_scripts/Homard.py create mode 100755 data/env_scripts/Jinja2.py create mode 100644 data/env_scripts/MeshGems.py create mode 100644 data/env_scripts/ParMetis.py create mode 100644 data/env_scripts/ParaView.py create mode 100644 data/env_scripts/PyQt.py create mode 100755 data/env_scripts/Pygments.py create mode 100644 data/env_scripts/Python.py create mode 100755 data/env_scripts/Sphinx.py create mode 100755 data/env_scripts/boost.py create mode 100644 data/env_scripts/cgns.py create mode 100755 data/env_scripts/cmake.py create mode 100644 data/env_scripts/cppunit.py create mode 100644 data/env_scripts/dateutil.py create mode 100644 data/env_scripts/distene_license.py create mode 100644 data/env_scripts/distribute.py create mode 100755 data/env_scripts/docutils.py create mode 100755 data/env_scripts/doxygen.py create mode 100644 data/env_scripts/fftw.py create mode 100644 data/env_scripts/freeimage.py create mode 100644 data/env_scripts/freetype.py create mode 100755 data/env_scripts/gl2ps.py create mode 100644 data/env_scripts/graphviz.py create mode 100644 data/env_scripts/hdf5.py create mode 100644 data/env_scripts/lapack.py create mode 100644 data/env_scripts/libxml2.py create mode 100644 data/env_scripts/markupsafe.py create mode 100644 data/env_scripts/matplotlib.py create mode 100644 data/env_scripts/med.py create mode 100755 data/env_scripts/metis.py create mode 100644 data/env_scripts/netgen.py create mode 100644 data/env_scripts/numpy.py create mode 100644 data/env_scripts/omniORB.py create mode 100644 data/env_scripts/omniORBpy.py create mode 100755 data/env_scripts/opencv.py create mode 100644 data/env_scripts/pyparsing.py create mode 100755 data/env_scripts/pyreadline.py create mode 100644 data/env_scripts/pytz.py create mode 100644 data/env_scripts/qt.py create mode 100755 data/env_scripts/qwt.py create mode 100644 data/env_scripts/scipy.py create mode 100755 data/env_scripts/scotch.py create mode 100644 data/env_scripts/setuptools.py create mode 100644 data/env_scripts/sip.py create mode 100644 data/env_scripts/six.py create mode 100644 data/env_scripts/swig.py create mode 100644 data/env_scripts/tcl.py create mode 100755 data/env_scripts/tk.py create mode 100755 data/patches/doxygen-1.8.3.1.patch create mode 100644 data/patches/freetype-2.4.11_ft_export_FD20.patch create mode 100755 data/patches/gl2ps-1.3.8_link_libm_FD20.patch create mode 100644 data/patches/matplotlib-1.4.3_no_auto_download.patch create mode 100644 data/patches/matplotlib_1_4_3_patch_freetype_detection_for_SAT.patch create mode 100644 data/patches/matplotlibrc-qt4.patch create mode 100644 data/patches/netgen-4.9.13_without_togl.patch create mode 100644 data/patches/netgen49ForSalome.patch create mode 100755 data/patches/patchPyQt496noPhonon.patch create mode 100644 data/patches/qt-4.8.4-enable-webkit-compilation-whith-gcc5.patch create mode 100644 data/patches/scipy-0.14.1.patch create mode 100644 data/products/CAS.pyconf create mode 100644 data/products/Cython.pyconf create mode 100644 data/products/GEOM.pyconf create mode 100644 data/products/GUI.pyconf create mode 100644 data/products/Homard.pyconf create mode 100644 data/products/Jinja2.pyconf create mode 100644 data/products/LIBBATCH.pyconf create mode 100644 data/products/MEDCOUPLING.pyconf create mode 100644 data/products/MeshGems.pyconf create mode 100644 data/products/ParMetis.pyconf create mode 100644 data/products/PyQt.pyconf create mode 100644 data/products/Pygments.pyconf create mode 100644 data/products/SALOME_PROFILE.pyconf create mode 100644 data/products/SMESH.pyconf create mode 100644 data/products/Sphinx.pyconf create mode 100644 data/products/boost.pyconf create mode 100644 data/products/cgns.pyconf create mode 100644 data/products/cmake.pyconf create mode 100644 data/products/cppunit.pyconf create mode 100644 data/products/dateutil.pyconf create mode 100644 data/products/distribute.pyconf create mode 100644 data/products/docutils.pyconf create mode 100644 data/products/doxygen.pyconf create mode 100644 data/products/fftw.pyconf create mode 100644 data/products/freeimage.pyconf create mode 100644 data/products/freetype.pyconf create mode 100644 data/products/gl2ps.pyconf create mode 100644 data/products/graphviz.pyconf create mode 100644 data/products/hdf5.pyconf create mode 100644 data/products/lapack.pyconf create mode 100644 data/products/libxml2.pyconf create mode 100644 data/products/markupsafe.pyconf create mode 100644 data/products/matplotlib.pyconf create mode 100644 data/products/med.pyconf create mode 100644 data/products/metis.pyconf create mode 100644 data/products/netgen.pyconf create mode 100644 data/products/numpy.pyconf create mode 100644 data/products/omniORB.pyconf create mode 100644 data/products/omniORBpy.pyconf create mode 100644 data/products/opencv.pyconf create mode 100644 data/products/paraview.pyconf create mode 100644 data/products/pyparsing.pyconf create mode 100644 data/products/pyreadline.pyconf create mode 100644 data/products/pytz.pyconf create mode 100644 data/products/qt.pyconf create mode 100644 data/products/qwt.pyconf create mode 100644 data/products/scipy.pyconf create mode 100644 data/products/scotch.pyconf create mode 100644 data/products/setuptools.pyconf create mode 100644 data/products/sip.pyconf create mode 100644 data/products/six.pyconf create mode 100644 data/products/swig.pyconf create mode 100644 data/products/tcl.pyconf create mode 100644 data/products/tk.pyconf diff --git a/commands/compile.py b/commands/compile.py index b1efa73..532c880 100644 --- a/commands/compile.py +++ b/commands/compile.py @@ -492,8 +492,9 @@ def run(args, runner, logger): products_infos = sort_products(runner.cfg, products_infos) # Print some informations - logger.write(_('Executing the compile command in the build ' - 'directories of the application %s\n') % + logger.write(_('Executing the compile commands in the build ' + 'directories of the products of ' + 'the application %s\n') % src.printcolors.printcLabel(runner.cfg.VARS.application), 1) info = [ diff --git a/complete_sat.sh b/complete_sat.sh index ed6d121..b06f85f 100755 --- a/complete_sat.sh +++ b/complete_sat.sh @@ -80,7 +80,7 @@ _salomeTools_complete() # first argument => show available commands if [[ ${argc} == 1 ]] then - opts="config log testcommand source patch prepare environ clean configure make makeinstall compile launcher --help" + opts="config log testcommand source patch prepare environ clean configure make makeinstall compile launcher jobs --help" COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 fi @@ -189,6 +189,11 @@ _salomeTools_complete() COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 ;; + jobs) + opts="--jobs_config --only_jobs --list --no_label --test_connection --publish" + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; *) return 0 ;; esac diff --git a/data/compil_scripts/CAS_6.7.sh b/data/compil_scripts/CAS_6.7.sh new file mode 100755 index 0000000..7ad062a --- /dev/null +++ b/data/compil_scripts/CAS_6.7.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +echo "###############################################" +echo "CASCADE" $VERSION +echo "###############################################" + +rm -Rf $PRODUCT_INSTALL + +echo +echo "*** build_configure" +./build_configure +if [ $? -ne 0 ] +then + echo "ERROR on build_configure" + exit 1 +fi + +echo +echo "*** configure" +./configure \ + --without-tcl --without-tk --disable-draw \ + --with-freetype=$FREETYPEDIR \ + --enable-debug=no --enable-production=yes \ + --with-gl2ps=$GL2PSDIR \ + --with-freeimage=$FREEIMAGEDIR \ + --prefix=$PRODUCT_INSTALL + +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/Homard.sh b/data/compil_scripts/Homard.sh new file mode 100755 index 0000000..3ef29b9 --- /dev/null +++ b/data/compil_scripts/Homard.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Homard" $VERSION +echo "##########################################################################" + +echo +echo "*** mkdir" $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +if [ $? -ne 0 ] +then + echo "ERROR on mkdir" + exit 1 +fi + +echo +echo "*** cp -r "$SOURCE_DIR"/* " $PRODUCT_INSTALL"/homard" +cp -r $SOURCE_DIR/* $PRODUCT_INSTALL/homard +if [ $? -ne 0 ] +then + echo "ERROR on cp" + exit 2 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/Jinja2.sh b/data/compil_scripts/Jinja2.sh new file mode 100755 index 0000000..c556fa0 --- /dev/null +++ b/data/compil_scripts/Jinja2.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Jinja2" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +mkdir -p ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} + +# unset PYTHONDONTWRITEBYTECODE set by default on MD10 +PYTHONDONTWRITEBYTECODE= + +echo +echo "*** setup.py" +python setup.py install --prefix=${PRODUCT_INSTALL} --install-lib ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +if [ $? -ne 0 ] +then + echo "ERROR on setup" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/MeshGems.sh b/data/compil_scripts/MeshGems.sh new file mode 100755 index 0000000..c37e7c4 --- /dev/null +++ b/data/compil_scripts/MeshGems.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +echo "##########################################################################" +echo "MeshGems" $VERSION +echo "##########################################################################" + +echo +echo "*** mkdir" $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +if [ $? -ne 0 ] +then + echo "ERROR on mkdir" + exit 1 +fi + +echo +echo "*** cp -r "$SOURCE_DIR"/* " $PRODUCT_INSTALL +cp -r $SOURCE_DIR/* $PRODUCT_INSTALL +if [ $? -ne 0 ] +then + echo "ERROR on cp" + exit 2 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/ParMetis-3.sh b/data/compil_scripts/ParMetis-3.sh new file mode 100755 index 0000000..b277272 --- /dev/null +++ b/data/compil_scripts/ParMetis-3.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +echo "##########################################################################" +echo "ParMetis" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo +echo "*** apply sed for 64bits platforms" +sed -e 's/CC = mpicc/CC = mpicc -fPIC/g' Makefile.in > Makefile.in_new +cp Makefile.in_new Makefile.in + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +# install +echo "** install" +mkdir -p $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL"/METISLib" +mkdir -p $PRODUCT_INSTALL"/ParMETISLib" + +cp libparmetis.a $PRODUCT_INSTALL +cp libmetis.a $PRODUCT_INSTALL +cp parmetis.h $PRODUCT_INSTALL +cp Graphs/ptest Graphs/mtest Graphs/parmetis Graphs/pometis $PRODUCT_INSTALL + +cp METISLib/*.h $PRODUCT_INSTALL"/METISLib" +cp ParMETISLib/*.h $PRODUCT_INSTALL"/ParMETISLib" + +echo +echo "########## END" + diff --git a/data/compil_scripts/ParaView-5.0.sh b/data/compil_scripts/ParaView-5.0.sh new file mode 100755 index 0000000..1a66bb0 --- /dev/null +++ b/data/compil_scripts/ParaView-5.0.sh @@ -0,0 +1,170 @@ +#!/bin/bash + +echo "##########################################################################" +echo "ParaView" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +PVLIBVERSION=`echo ${VERSION} | awk -F. '{printf("%d.%d",$1,$2)}'` +export python_name=python$PYTHON_VERSION + +CMAKE_OPTIONS="" + +### verbose log +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_VERBOSE_MAKEFILE=ON" + +### common settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_BUILD_TYPE:STRING=Release" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DBUILD_SHARED_LIBS:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DBUILD_TESTING:BOOL=OFF" + + +### compiler settings +if [[ $BITS == "64" ]] +then + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_CXX_FLAGS:STRING=-m64" + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_C_FLAGS:STRING=-m64" +fi + +### Paraview general settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_VISITBRIDGE=ON" + +if [ -n "$MPI_ROOT_DIR" ] +then + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_MPI:BOOL=ON" + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_CXX_COMPILER:STRING=${MPI_ROOT_DIR}/bin/mpic++" + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_C_COMPILER:STRING=${MPI_ROOT_DIR}/bin/mpicc" +else + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_MPI:BOOL=OFF" + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_CXX_COMPILER:STRING=`which g++`" + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_C_COMPILER:STRING=`which gcc`" +fi + +### VTK general settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_64BIT_IDS:BOOL=OFF" # issue 1779 +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_NO_PYTHON_THREADS:BOOL=OFF" # Make sure Python is thread-safe in ParaView +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_REPORT_OPENGL_ERRORS:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_PYTHON_FULL_THREADSAFE=ON" +### OpenGL2 backend for performance improvment +# https://blog.kitware.com/new-opengl-rendering-in-vtk/ +#CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_RENDERING_BACKEND=OpenGL2" +### OpenMP to speed computation of some filters +# https://blog.kitware.com/simple-parallel-computing-with-vtksmptools-2/ +# https://blog.kitware.com/accelerated-filters-in-paraview-5/ +#CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP" + +### Qt settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_QT_GUI:BOOL=ON" +if [ -n "$QT5_ROOT_DIR" ] +then + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_QT_VERSION=5" +fi + +### Python settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_PYTHON:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPYTHON_EXECUTABLE:STRING=${PYTHON_ROOT_DIR}/bin/${python_name}" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPYTHON_INCLUDE_DIR:STRING=${PYTHON_ROOT_DIR}/include/${python_name}" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPYTHON_LIBRARY:STRING=${PYTHON_ROOT_DIR}/lib/${python_name}/config/lib${python_name}.so" + +### No tcl tk wrap +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_WRAP_TCL:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_WRAP_JAVA:BOOL=OFF" + +### HDF5 settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_HDF5:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_DIR:PATH=${HDF5_ROOT_DIR}/share/cmake/hdf5" + + +### VisIt Database bridge settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_VISITBRIDGE=ON" + +### Boost settings (needed when activating VisIt bridge) +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DBOOST_ROOT=${BOOST_ROOT_DIR}" + +### gl2ps settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_GL2PS:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DGL2PS_INCLUDE_DIR:STRING=${GL2PS_ROOT_DIR}/include" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DGL2PS_LIBRARY:STRING=${GL2PS_ROOT_DIR}/lib/libgl2ps.so" + +### libxml2 settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_LIBXML2:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint" + +### freetype settings +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DFREETYPE_INCLUDE_DIRS:STRING=${FREETYPE_ROOT_DIR}/include/freetype2" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DFREETYPE_LIBRARY:STRING=${FREETYPE_ROOT_DIR}/lib/libfreetype.so" + +### Extra options since OCC presta to improve Paraview for Salome +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_3DGLYPH:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_EXTENDED_OPENFILEDIALOG:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_TIMECONTROL_SLIDER:BOOL=ON" + +### Extra options (switch off non-used Paraview plug-ins) +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_Moments:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_PrismPlugin:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SierraPlotTools:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_PacMan:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_MobileRemoteControl:BOOL=OFF" + +### Extra options (switch on required Paraview plug-ins) +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_ForceTime:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_H5PartReader:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_PointSprite:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SurfaceLIC:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_CATALYST:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_MATPLOTLIB:BOOL=ON" + +echo +echo "*** cmake" ${CMAKE_OPTIONS} +cmake ${CMAKE_OPTIONS} $SOURCE_DIR +if [ $? -ne 0 ] +then + echo "ERROR on cmake" + exit 1 +fi + +MAKE_OPTIONS="VERBOSE=1 "$MAKE_OPTIONS +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +cp -f ./VTK/VTKTargets.cmake $PRODUCT_INSTALL/lib/cmake/paraview-5.0/ && \ +sed -i "s%\(IMPORTED_LOCATION_RELEASE.*\"\).*/lib/\([^/]\+\"\)%\1${PRODUCT_INSTALL}/lib/paraview-${PVLIBVERSION}/\2%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \ +sed -i "s%\(IMPORTED_LOCATION_RELEASE.*\"\).*/bin/\([^/]\+\"\)%\1${PRODUCT_INSTALL}/bin/\2%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \ +sed -i "s%[^;\"]\+/qt-[0-9\.]\+/lib/\([^;]\+\)%${QTDIR}/lib/\1%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \ +sed -i "s%[^;\"]\+/Python-[0-9\.]\+/lib/\([^;]\+\)%${PYTHON_ROOT_DIR}/lib/\1%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \ +sed -i "s%[^;\"]\+/hdf5-[0-9\.]\+/lib/\([^;]\+\)%${HDF5_ROOT_DIR}/lib/\1%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \ +sed -i "s%[^;\"]\+/gl2ps-[0-9\.]\+/lib/\([^;]\+\)%${GL2PS_ROOT_DIR}/lib/\1%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \ + +if [ $? -ne 0 ] +then + echo "ERROR on cp" + exit 4 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/PyQt.sh b/data/compil_scripts/PyQt.sh new file mode 100755 index 0000000..83f70fe --- /dev/null +++ b/data/compil_scripts/PyQt.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +echo "##########################################################################" +echo "PyQt" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +python_name=python$PYTHON_VERSION + +echo +echo "*** configure" +python $SOURCE_DIR/configure.py --confirm-license --no-designer-plugin \ + --bindir=${PRODUCT_INSTALL}/bin \ + --destdir=${PRODUCT_INSTALL}/lib/$python_name/site-packages \ + --sipdir=${PRODUCT_INSTALL}/sip \ + --plugin-destdir=${PRODUCT_INSTALL}/qt 2>&1 +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + + +echo +echo "########## END" + diff --git a/data/compil_scripts/Pygments.sh b/data/compil_scripts/Pygments.sh new file mode 100755 index 0000000..acea62e --- /dev/null +++ b/data/compil_scripts/Pygments.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Pygments" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +mkdir -p ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} + +# unset PYTHONDONTWRITEBYTECODE set by default on MD10 +PYTHONDONTWRITEBYTECODE= + +echo +echo "*** setup.py" +python setup.py install --prefix=${PRODUCT_INSTALL} --install-lib ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +if [ $? -ne 0 ] +then + echo "ERROR on setup" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/Sphinx.sh b/data/compil_scripts/Sphinx.sh new file mode 100755 index 0000000..87e1f6e --- /dev/null +++ b/data/compil_scripts/Sphinx.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Sphinx" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +mkdir -p ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} + +# unset PYTHONDONTWRITEBYTECODE set by default on MD10 +PYTHONDONTWRITEBYTECODE= + +echo +echo "*** setup.py" +python setup.py install --prefix=${PRODUCT_INSTALL} --install-lib ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +if [ $? -ne 0 ] +then + echo "ERROR on setup" + exit 3 +fi + +echo +echo "*** fix binaires" +PYTHON_BIN="${PYTHONHOME}/bin/python" +echo "Replace '#!${PYTHON_BIN}' with '#!/usr/bin/env python'" +sed -i "s|#!${PYTHON_BIN}|#!/usr/bin/env python|g" ${PRODUCT_INSTALL}/bin/* + +echo +echo "########## END" + diff --git a/data/compil_scripts/boost.sh b/data/compil_scripts/boost.sh new file mode 100755 index 0000000..56d17d7 --- /dev/null +++ b/data/compil_scripts/boost.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +echo "##########################################################################" +echo "BOOST" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cd $SOURCE_DIR + +if [ -n "$MPI_ROOT" ] +then + cp tools/build/v2/user-config.jam . + echo "using mpi ;" >> user-config.jam +fi + +echo +echo "*** bootstrap.sh" +./bootstrap.sh --prefix=$PRODUCT_INSTALL +if [ $? -ne 0 ] +then + echo "ERROR on bootstrap" + exit 1 +fi + +echo "*** bjam install" +if [ -n "$MPI_ROOT" ] +then + ./bjam --user-config=user-config.jam --layout=tagged install +else + ./bjam install +fi +if [ $? -ne 0 ] +then + echo "ERROR on bjam install" + exit 3 +fi + +echo +echo "########## END" diff --git a/data/compil_scripts/cgns.sh b/data/compil_scripts/cgns.sh new file mode 100755 index 0000000..d4968af --- /dev/null +++ b/data/compil_scripts/cgns.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +echo "##########################################################################" +echo "cgnslib" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +# compilation +echo "cgnslib compilation" + +CMAKE_OPTIONS="" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_BUILD_TYPE:STRING=Release" +if [ -n "$MPI_ROOT" ] +then + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_NEEDS_MPI:BOOL=ON" +fi + +echo +echo "*** cmake" +cmake $CMAKE_OPTIONS $SOURCE_DIR +if [ $? -ne 0 ] +then + echo "ERROR on cmake" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/cmake.sh b/data/compil_scripts/cmake.sh new file mode 100755 index 0000000..625be57 --- /dev/null +++ b/data/compil_scripts/cmake.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +echo "##########################################################################" +echo "cmake" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +echo +echo "*** bootstrap" +$SOURCE_DIR/bootstrap --prefix=${PRODUCT_INSTALL} +if [ $? -ne 0 ] +then + echo "ERROR on bootstrap" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/cppunit.sh b/data/compil_scripts/cppunit.sh new file mode 100755 index 0000000..dd59454 --- /dev/null +++ b/data/compil_scripts/cppunit.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +echo "##########################################################################" +echo "cppunit" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +# compilation +echo "cppunit compilation" + +echo +echo "*** configure" +$SOURCE_DIR/configure --prefix=$PRODUCT_INSTALL --enable-static LDFLAGS="-ldl" +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/cython.sh b/data/compil_scripts/cython.sh new file mode 100755 index 0000000..33757af --- /dev/null +++ b/data/compil_scripts/cython.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +echo "##########################################################################" +echo "cython" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +echo `pwd` +echo "*** copy sources in BUILD directory" +cp -r $SOURCE_DIR/* . + +echo +echo "*** setup.py BUILD" +python setup.py build +if [ $? -ne 0 ] +then + echo "ERROR on build" + exit 2 +fi + +mkdir -p $PRODUCT_INSTALL +echo +echo "*** install" +python setup.py install --prefix=$PRODUCT_INSTALL +if [ $? -ne 0 ] +then + echo "ERROR on install" + exit 3 +fi + +echo +echo "########## END" diff --git a/data/compil_scripts/dateutil.sh b/data/compil_scripts/dateutil.sh new file mode 100755 index 0000000..8a4b661 --- /dev/null +++ b/data/compil_scripts/dateutil.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +echo "##########################################################################" +echo "python-dateutil" $VERSION +echo "##########################################################################" + +rm -rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +echo + +cp -r $SOURCE_DIR/* . + +# Making a directory that will be used in install +BUILD_DIR=`pwd` +cd $PRODUCT_INSTALL +mkdir -p lib/python2.7/site-packages +cd $BUILD_DIR +# Hack PYTHONPATH in order to make 'setup.py install' believe that PRODUCT_INSTALL is in PYTHONPATH +PYTHONPATH_SAVE=$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python2.7/site-packages:$PYTHONPATH + +echo "*** setup.py BUILD" +python setup.py build + + +echo "*** setup.py INSATALL" +python setup.py install --prefix=${PRODUCT_INSTALL} + +if [ $? -ne 0 ] +then + export PYTHONPATH=$PYTHONPATH_SAVE + echo "ERROR on setup" + exit 3 +fi + +export PYTHONPATH=$PYTHONPATH_SAVE + +echo +echo "########## END" + diff --git a/data/compil_scripts/distribute.sh b/data/compil_scripts/distribute.sh new file mode 100755 index 0000000..bbb6d15 --- /dev/null +++ b/data/compil_scripts/distribute.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +echo "##########################################################################" +echo "distribute" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +echo + +cp -r $SOURCE_DIR/* . + +# Making a directory that will be used in install +BUILD_DIR=`pwd` +cd $PRODUCT_INSTALL +mkdir -p lib/python2.7/site-packages +cd $BUILD_DIR +# Hack PYTHONPATH in order to make 'setup.py install' believe that PRODUCT_INSTALL is in PYTHONPATH +PYTHONPATH_SAVE=$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python2.7/site-packages:$PYTHONPATH + +echo "*** setup.py BUILD" +python setup.py build + + +echo "*** setup.py INSATALL" +python setup.py install --prefix=${PRODUCT_INSTALL} + +if [ $? -ne 0 ] +then + export PYTHONPATH=$PYTHONPATH_SAVE + echo "ERROR on setup" + exit 3 +fi + +export PYTHONPATH=$PYTHONPATH_SAVE + +echo +echo "########## END" + diff --git a/data/compil_scripts/docutils.sh b/data/compil_scripts/docutils.sh new file mode 100755 index 0000000..6cf3660 --- /dev/null +++ b/data/compil_scripts/docutils.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +echo "##########################################################################" +echo "docutil" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +mkdir -p ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} + +echo +echo "setup.py" +python setup.py install --prefix ${PRODUCT_INSTALL} +if [ $? -ne 0 ] +then + echo "ERROR on setup" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/doxygen.sh b/data/compil_scripts/doxygen.sh new file mode 100755 index 0000000..d0613df --- /dev/null +++ b/data/compil_scripts/doxygen.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +echo "##########################################################################" +echo "doxygen" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo "doxygen compilation" + +echo +echo "*** configure" +./configure --prefix $PRODUCT_INSTALL +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/fftw.sh b/data/compil_scripts/fftw.sh new file mode 100755 index 0000000..265d480 --- /dev/null +++ b/data/compil_scripts/fftw.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +echo "##########################################################################" +echo "fftw" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo +echo "*** configure" +./configure --prefix=$PRODUCT_INSTALL --enable-shared --disable-static +if [ $? -ne 0 ] +then + echo "ERROR on fftw" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" diff --git a/data/compil_scripts/freeimage-3.16.0.sh b/data/compil_scripts/freeimage-3.16.0.sh new file mode 100755 index 0000000..c9b866d --- /dev/null +++ b/data/compil_scripts/freeimage-3.16.0.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +echo "###############################################" +echo "freeimage" $VERSION +echo "###############################################" + +cp -r $SOURCE_DIR/* . + +# hack pour CO5.5 +if [[ $DIST_NAME == "CO" && $DIST_VERSION == "5.5" ]] +then + export CC=/usr/bin/gcc44 +fi + + +rm -Rf $PRODUCT_INSTALL +echo -n ".. Patching freeimage sources: fix build procedure..." && \ + sed -i "s%DESTDIR ?= /%DESTDIR ?= /usr%g;s%INCDIR ?= \$(DESTDIR)/usr/include%INCDIR ?= \$(DESTDIR)/include%g;s%INSTALLDIR ?= \$(DESTDIR)/usr/lib%INSTALLDIR ?= \$(DESTDIR)/lib%g;s%-o root -g root %%g" Makefile.gnu >& /dev/null && \ + sed -i "s%DESTDIR ?= /%DESTDIR ?= /usr%g;s%INCDIR ?= \$(DESTDIR)/usr/include%INCDIR ?= \$(DESTDIR)/include%g;s%INSTALLDIR ?= \$(DESTDIR)/usr/lib%INSTALLDIR ?= \$(DESTDIR)/lib%g;s%-o root -g root %%g" Makefile.fip >& /dev/null + if [ "$?" != "0" ] ; then + echo + echo "Error: problem patching freeimage sources" + echo + return 1 + fi + echo "OK" + + echo -n ".. Patching freeimage sources: gcc 4.7 compatibility..." && \ + sed -i 's%\(#include "OpenEXRConfig.h"\)%\1\n#include %g' Source/OpenEXR/IlmImf/ImfAutoArray.h + if [ "$?" != "0" ] ; then + echo + echo "Error: problem patching freeimage sources" + echo + fi + echo "OK" + +echo +echo "*** FreeImage: make" $MAKE_OPTIONS +make -f Makefile.gnu +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** FreeImage: make install" +make -f Makefile.gnu DESTDIR=$PRODUCT_INSTALL install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "*** FreeImage: make clean" +make -f Makefile.gnu clean + +echo +echo "*** FreeImagePlus: make" $MAKE_OPTIONS +make -f Makefile.fip +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** FreeImagePlus: make install" +make -f Makefile.fip DESTDIR=$PRODUCT_INSTALL install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "*** FreeImagePlus: make clean" +make -f Makefile.fip clean + +echo +echo "########## END" + diff --git a/data/compil_scripts/freetype.sh b/data/compil_scripts/freetype.sh new file mode 100755 index 0000000..a2e2f75 --- /dev/null +++ b/data/compil_scripts/freetype.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +echo "###############################################" +echo "freetype" $VERSION +echo "###############################################" + +rm -Rf $PRODUCT_INSTALL + +echo +echo "*** configure" +if [[ $BITS == "64" ]] +then + $SOURCE_DIR/configure CFLAGS="-fPIC -m64" --prefix=$PRODUCT_INSTALL +else + $SOURCE_DIR/configure --prefix=$PRODUCT_INSTALL +fi +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +cp $PRODUCT_INSTALL/include/ft2build.h $PRODUCT_INSTALL/include/freetype2 #Fix for ParaView detection of ft2build.h + +echo +echo "########## END" + diff --git a/data/compil_scripts/graphviz-2.38.0.sh b/data/compil_scripts/graphviz-2.38.0.sh new file mode 100755 index 0000000..9ba5e07 --- /dev/null +++ b/data/compil_scripts/graphviz-2.38.0.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +echo "##########################################################################" +echo "graphviz" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +if [ -e ${TCLHOME}/lib64/tcl${TCL_SHORT_VERSION}/graphviz ] +then + rm -rf ${TCLHOME}/lib64/tcl${TCL_SHORT_VERSION}/graphviz +fi + +echo "graphviz compilation" +# tcl natif +if [ ${#TCLHOME} -eq 0 ] +then + TCLHOME="/usr" +fi + +echo +echo "*** ./configure --prefix=${PRODUCT_INSTALL} --with-tcl=${TCLHOME}/lib --with-expat=no --with-qt=no --with-cgraph=no --enable-perl=no" +./configure --prefix=${PRODUCT_INSTALL} --with-tcl=${TCLHOME}/lib --with-expat=no --with-qt=no --with-cgraph=no --enable-perl=no + +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" ${MAKE_OPTIONS} +make ${MAKE_OPTIONS} +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/hdf5CMake.sh b/data/compil_scripts/hdf5CMake.sh new file mode 100755 index 0000000..6fd6086 --- /dev/null +++ b/data/compil_scripts/hdf5CMake.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +echo "##########################################################################" +echo "hdf5" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +CMAKE_OPTIONS="" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_BUILD_TYPE:STRING=Release" +#CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_USE_16_API_DEFAULT:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DBUILD_SHARED_LIBS:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_ALLOW_EXTERNAL_SUPPORT:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_BUILD_HL_LIB:BOOL=ON" + + +if [ -n "$MPI_ROOT" ] +then + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_ENABLE_PARALLEL:BOOL=ON" + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_BUILD_CPP_LIB:BOOL=OFF" +else + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_ENABLE_PARALLEL:BOOL=OFF" + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_BUILD_CPP_LIB:BOOL=ON" +fi + + +echo +echo "*** cmake" $CMAKE_OPTIONS +cmake $CMAKE_OPTIONS $SOURCE_DIR +if [ $? -ne 0 ] +then + echo "ERROR on CMake" + exit 1 +fi + +if [ -n "$MPI_ROOT" ] +then + sed -e 's/;//' -i src/CMakeFiles/H5make_libsettings.dir/link.txt + sed -e 's/;//' -i src/CMakeFiles/H5detect.dir/link.txt +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/lapack.sh b/data/compil_scripts/lapack.sh new file mode 100755 index 0000000..0cc2dd6 --- /dev/null +++ b/data/compil_scripts/lapack.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +echo "##########################################################################" +echo "lapack" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +#echo "copy file" +cp make.inc.example make.inc + +mkdir -p $PRODUCT_INSTALL +cp -rp $SOURCE_DIR/* $PRODUCT_INSTALL/ + + +CMAKE_OPTIONS="$SOURCE_DIR" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_INSTALL_PREFIX=$PRODUCT_INSTALL" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_BUILD_TYPE=Release" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=ON" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_CXX_FLAGS=-fPIC" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_C_FLAGS=-fPIC" + +echo +echo "*** cmake ${CMAKE_OPTIONS}" +cmake ${CMAKE_OPTIONS} +if [ $? -ne 0 ] +then + echo "ERROR on cmake" + exit 1 +fi + +echo +echo "*** make" +make +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" + +make install + +#cp lib/libblas.so $PRODUCT_INSTALL/lib/ +#cp lib/liblapack.so $PRODUCT_INSTALL/lib/ +#cp lib/libtmglib.so $PRODUCT_INSTALL/lib/ + +#ln -s $PRODUCT_INSTALL/lib/blas_LINUX.so $PRODUCT_INSTALL/lib/libblas.so +#ln -s $PRODUCT_INSTALL/lib/lapack_LINUX.so $PRODUCT_INSTALL/lib/liblapack.so + +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + + +#echo +#echo "*** make" +#make blaslib +#if [ $? -ne 0 ] +#then +# echo "ERROR on make" +# exit 2 +#fi + +#make lapacklib +#if [ $? -ne 0 ] +#then +# echo "ERROR on make" +# exit 2 +#fi +##ln -s blas_LINUX.a libblas.a +##ln -s lapack_LINUX.a liblapack.a + +#ln -s librefblas.a libblas.a + +echo +echo "########## END" + diff --git a/data/compil_scripts/libxml2_2_9_2.sh b/data/compil_scripts/libxml2_2_9_2.sh new file mode 100755 index 0000000..913abcd --- /dev/null +++ b/data/compil_scripts/libxml2_2_9_2.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +echo "##########################################################################" +echo "libxml2" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +export LDFLAGS=-L$PYTHON_ROOT_DIR/lib + +echo +echo "*** autogen" +$SOURCE_DIR/autogen.sh + +echo +echo "*** configure" +$SOURCE_DIR/configure --with-python=${PYTHON_ROOT_DIR} --prefix=$PRODUCT_INSTALL +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +if [[ $DIST_NAME == "MG" ]] +then + export PYTHON_LIBS="-L${PYTHON_ROOT_DIR}/lib" +fi + +echo +echo "*** make" $MAKE_OPTIONS +make -d $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "*** install python" +PWD = `pwd` +cd python +CFLAGS=-I${PWD}/include ${PYTHON_ROOT_DIR}/bin/python setup.py build +CFLAGS=-I${PWD}/include ${PYTHON_ROOT_DIR}/bin/python setup.py install + +echo +echo "########## END" + diff --git a/data/compil_scripts/markupsafe.sh b/data/compil_scripts/markupsafe.sh new file mode 100755 index 0000000..fe8d65d --- /dev/null +++ b/data/compil_scripts/markupsafe.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +echo "##########################################################################" +echo "markupsafe" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo +echo "*** setup.py BUILD" +python setup.py build +if [ $? -ne 0 ] +then + echo "ERROR on build" + exit 2 +fi + +dir_lib=$PRODUCT_INSTALL'/lib/python'$PYTHON_VERSION'/site-packages' + +# HACK +PYTHONPATH=$PYTHONPATH:$dir_lib + +mkdir -p $PRODUCT_INSTALL +mkdir -p $dir_lib + +echo +echo "*** install" +python setup.py install --prefix=$PRODUCT_INSTALL +if [ $? -ne 0 ] +then + echo "ERROR on install" + exit 3 +fi + +echo +echo "########## END" diff --git a/data/compil_scripts/matplotlib.sh b/data/compil_scripts/matplotlib.sh new file mode 100755 index 0000000..2e8be6b --- /dev/null +++ b/data/compil_scripts/matplotlib.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +echo "##########################################################################" +echo "matplotlib" $VERSION +echo "##########################################################################" + +rm -rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +echo +echo "*** setup.py" + +cp -r $SOURCE_DIR/* . + +# Making a directory that will be used in install +BUILD_DIR=`pwd` +cd $PRODUCT_INSTALL +mkdir -p lib/python2.7/site-packages +cd $BUILD_DIR +# Hack PYTHONPATH in order to make 'setup.py install' believe that PRODUCT_INSTALL is in PYTHONPATH +PYTHONPATH_SAVE=$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python2.7/site-packages:$PYTHONPATH + + +echo "*** setup.py BUILD" + +python setup.py build + +echo "*** setup.py INSTALL" + +python setup.py install --prefix=${PRODUCT_INSTALL} + +if [ $? -ne 0 ] +then + export PYTHONPATH=$PYTHONPATH_SAVE + echo "ERROR on setup" + exit 3 +fi +export PYTHONPATH=$PYTHONPATH_SAVE + +echo +echo "########## END" + diff --git a/data/compil_scripts/medCMake.sh b/data/compil_scripts/medCMake.sh new file mode 100755 index 0000000..6010b52 --- /dev/null +++ b/data/compil_scripts/medCMake.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +echo "##########################################################################" +echo "med" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +CMAKE_OPTIONS="" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_BUILD_TYPE:STRING=Release" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DMEDFILE_BUILD_STATIC_LIBS:BOOL=OFF" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DMEDFILE_BUILD_SHARED_LIBS:BOOL=ON" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_ROOT_DIR:STRING=${HDF5_ROOT_DIR}" + +if [ -n "$MPI_ROOT" ] +then + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DMEDFILE_USE_MPI:BOOL=ON" +else + CMAKE_OPTIONS=$CMAKE_OPTIONS" -DMEDFILE_USE_MPI:BOOL=OFF" +fi + +mkdir BUILD +cd BUILD + +cmake $CMAKE_OPTIONS $SOURCE_DIR + +if [ $? -ne 0 ] +then + echo "ERROR on CMake" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/metis.sh b/data/compil_scripts/metis.sh new file mode 100755 index 0000000..31197c4 --- /dev/null +++ b/data/compil_scripts/metis.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Metis" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo +echo "*** apply sed for 64bits platforms" +sed -e 's|COPTIONS =|& -fPIC|g' Makefile.in > Makefile.in_new +cp Makefile.in_new Makefile.in + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** copy build to install" +cp -ar * ${PRODUCT_INSTALL} +if [ $? -ne 0 ] +then + echo "ERROR on install" + exit 3 +fi + +echo +echo "*** Modification of access rights" +chmod -R g+rwX,o+rX ${PRODUCT_INSTALL} + +echo +echo "########## END" + diff --git a/data/compil_scripts/netgen.sh b/data/compil_scripts/netgen.sh new file mode 100755 index 0000000..f78617c --- /dev/null +++ b/data/compil_scripts/netgen.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +echo "##########################################################################" +echo "netgen" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo +echo "*** configure" +BFLAG="-m64" +OLEVEL="-O2" +echo ./configure --prefix=${PRODUCT_INSTALL} \ + --with-occ=${CASROOT} \ + --with-tcl=${TCLHOME}/lib \ + --with-tk=${TCLHOME}/lib \ + --with-togl=${TCLHOME}/lib \ + LDFLAGS="-L${TCLHOME}/lib" \ + CPPFLAGS="-I${TCLHOME}/include" \ + CXXFLAGS="${OLEVEL} ${BFLAG}" +./configure --prefix=${PRODUCT_INSTALL} \ + --with-occ=${CASROOT} \ + --with-tcl=${TCLHOME}/lib \ + --with-tk=${TCLHOME}/lib \ + --with-togl=${TCLHOME} \ + LDFLAGS="-L${TCLHOME}/lib" \ + CPPFLAGS="-I${TCLHOME}/include" \ + CXXFLAGS="${OLEVEL} ${BFLAG}" +if [ $? -ne 0 ] +then + echo "error on configure" + exit 1 +fi + +echo +echo "*** compile" +make +if [ $? -ne 0 ] +then + echo "error on make" + exit 2 +fi + +echo +echo "*** install" +make install +if [ $? -ne 0 ] +then + echo "error on make install" + exit 3 +fi + +echo +echo "*** copy headers" +for directory in general gprim linalg meshing ; do + cp -vf ${PRODUCT_BUILD}/libsrc/${directory}/*.hpp ${PRODUCT_INSTALL}/include +done +cp -vf ${PRODUCT_BUILD}/libsrc/include/mystdlib.h ${PRODUCT_BUILD}/libsrc/include/mydefs.hpp ${PRODUCT_INSTALL}/include +cp -vf ${PRODUCT_BUILD}/libsrc/occ/occ*.hpp ${PRODUCT_INSTALL}/include + + +echo +echo "########## END" diff --git a/data/compil_scripts/numpy.sh b/data/compil_scripts/numpy.sh new file mode 100755 index 0000000..3579c71 --- /dev/null +++ b/data/compil_scripts/numpy.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +echo "##########################################################################" +echo "numpy" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL + +echo +echo "*** setup.py" +## editer customize.py Pour LApack : using Atlas, Pour Blas : Using gsl +python $SOURCE_DIR/setup.py build +python $SOURCE_DIR/setup.py install --prefix=${PRODUCT_INSTALL} +if [ $? -ne 0 ] +then + echo "ERROR on setup" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/omniORB.sh b/data/compil_scripts/omniORB.sh new file mode 100755 index 0000000..4ad586c --- /dev/null +++ b/data/compil_scripts/omniORB.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +echo "##########################################################################" +echo "omniORB" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +PYTHON_HOME=$PYTHONHOME + +echo +echo "*** configure" +$SOURCE_DIR/configure --prefix=$PRODUCT_INSTALL --disable-ipv6 +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + + +# fix headers +echo +echo "*** fix headers" +cd $PRODUCT_INSTALL/bin +sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidl > _omniidl +mv -f _omniidl omniidl +chmod a+x omniidl +sed -e "s%#\!.*python%#\!/usr/bin/env python%" omniidlrun.py > _omniidlrun.py +mv -f _omniidlrun.py omniidlrun.py +chmod a+x omniidlrun.py + +echo +echo "########## END" + diff --git a/data/compil_scripts/omniORBpy.sh b/data/compil_scripts/omniORBpy.sh new file mode 100755 index 0000000..be12bdc --- /dev/null +++ b/data/compil_scripts/omniORBpy.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +echo "##########################################################################" +echo "omniORBpy" $VERSION +echo "##########################################################################" + +echo +echo "*** configure" +$SOURCE_DIR/configure --prefix=${OMNIORB_ROOT_DIR} +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +mkdir -p $PRODUCT_INSTALL +echo "omniORBpy is installed into omni dir ${OMNIORB_ROOT_DIR}" > $PRODUCT_INSTALL/README + +echo +echo "########## END" + diff --git a/data/compil_scripts/opencv.sh b/data/compil_scripts/opencv.sh new file mode 100755 index 0000000..6fb1790 --- /dev/null +++ b/data/compil_scripts/opencv.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +echo "##########################################################################" +echo "opencv" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +CMAKE_OPTIONS="" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_BUILD_TYPE:STRING=Release" +CMAKE_OPTIONS=$CMAKE_OPTIONS" -DWITH_CUDA:BOOL=OFF" + +mkdir BUILD +cd BUILD + +# hack pour CO5.5 +if [[ $DIST_NAME == "CO" && $DIST_VERSION == "5.5" ]] +then + env CC=/usr/bin/gcc44 CXX=/usr/bin/g++44 cmake $CMAKE_OPTIONS $SOURCE_DIR +else + cmake $CMAKE_OPTIONS $SOURCE_DIR +fi + +if [ $? -ne 0 ] +then + echo "ERROR on CMake" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/pyparsing.sh b/data/compil_scripts/pyparsing.sh new file mode 100755 index 0000000..6332f15 --- /dev/null +++ b/data/compil_scripts/pyparsing.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +echo "##########################################################################" +echo "pyparsing" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +echo + +cp -r $SOURCE_DIR/* . + +# Making a directory that will be used in install +BUILD_DIR=`pwd` +cd $PRODUCT_INSTALL +mkdir -p lib/python2.7/site-packages +cd $BUILD_DIR +# Hack PYTHONPATH in order to make 'setup.py install' believe that PRODUCT_INSTALL is in PYTHONPATH +PYTHONPATH_SAVE=$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python2.7/site-packages:$PYTHONPATH + +echo "*** setup.py BUILD" +python setup.py build + + +echo "*** setup.py INSATALL" +python setup.py install --prefix=${PRODUCT_INSTALL} + +if [ $? -ne 0 ] +then + export PYTHONPATH=$PYTHONPATH_SAVE + echo "ERROR on setup" + exit 3 +fi + +export PYTHONPATH=$PYTHONPATH_SAVE + +echo +echo "########## END" + diff --git a/data/compil_scripts/pyreadline.sh b/data/compil_scripts/pyreadline.sh new file mode 100755 index 0000000..d19480e --- /dev/null +++ b/data/compil_scripts/pyreadline.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +echo "##########################################################################" +echo "pyreadline" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +echo "pyreadline is a Windows porting of readline, a native module of Unix python" > $PRODUCT_INSTALL/README + +echo +echo "########## END" diff --git a/data/compil_scripts/pytz.sh b/data/compil_scripts/pytz.sh new file mode 100755 index 0000000..98337cc --- /dev/null +++ b/data/compil_scripts/pytz.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Pytz" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +echo + +cp -r $SOURCE_DIR/* . + +# Making a directory that will be used in install +BUILD_DIR=`pwd` +cd $PRODUCT_INSTALL +mkdir -p lib/python2.7/site-packages +cd $BUILD_DIR +# Hack PYTHONPATH in order to make 'setup.py install' believe that PRODUCT_INSTALL is in PYTHONPATH +PYTHONPATH_SAVE=$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python2.7/site-packages:$PYTHONPATH + +echo "*** setup.py BUILD" +python setup.py build + + +echo "*** setup.py INSATALL" +python setup.py install --prefix=${PRODUCT_INSTALL} + +if [ $? -ne 0 ] +then + export PYTHONPATH=$PYTHONPATH_SAVE + echo "ERROR on setup" + exit 3 +fi + +export PYTHONPATH=$PYTHONPATH_SAVE + +echo +echo "########## END" diff --git a/data/compil_scripts/qt.sh b/data/compil_scripts/qt.sh new file mode 100755 index 0000000..74b02d0 --- /dev/null +++ b/data/compil_scripts/qt.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Qt" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo +echo "*** configure" +CXXFLAGS="-fpermissive" ./configure -prefix $PRODUCT_INSTALL -release -opensource -no-rpath \ + -verbose -no-separate-debug-info -confirm-license -qt-libpng -no-sql-cli +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo "*** create link for lib64" +cd $PRODUCT_INSTALL +ln -s lib lib64 + + +echo "*** correction of a problem with webcore and jscore libraries" +cd ${PRODUCT_INSTALL}/lib && sed -i "s% -L../../WebCore/release%%g;s% -L../../JavaScriptCore/release%%g;s% -lwebcore%%g;s% -ljscore%%g" libQtWebKit.la + +echo "*** Adding qt.conf file in order to be able to compile using the moved Qt installation" +cd ${PRODUCT_INSTALL}/bin && echo -e "[Paths]\nPrefix=..\nBinaries=bin" > qt.conf + +echo +echo "########## END" + diff --git a/data/compil_scripts/qwt-6.1.0.sh b/data/compil_scripts/qwt-6.1.0.sh new file mode 100755 index 0000000..8cbf76e --- /dev/null +++ b/data/compil_scripts/qwt-6.1.0.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +echo "##########################################################################" +echo "qwt" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +export TMAKEPATH=${QTDIR}/bin +export PATH=${TMAKEPATH}:${PATH} + +echo +echo "*** copy source" +mkdir -p ${PRODUCT_INSTALL} +cp -r $SOURCE_DIR/* . + +echo +echo "*** prepare qmake" +sed -i "s|\(QWT_INSTALL_PREFIX[[:space:]]*\)=\([[:space:]]*\)\(.*\)|\1=\2${PRODUCT_INSTALL}|g" qwtconfig.pri +sed -i "s|#\(CONFIG[[:space:]]*+=[[:space:]]*QwtSVGItem\)|\1|g" qwtconfig.pri + +sed -i "s|\(target\.path[[:space:]]*\)=\([[:space:]]*\).*|\1=\2\$\$QWT_INSTALL_PREFIX/plugins/designer|g" designer/designer.pro + +echo +echo "** qmake" +qmake +if [ $? -ne 0 ] +then + echo "ERROR on qmake" + exit 1 +fi + +echo +echo "*** make" +make +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/scipy.sh b/data/compil_scripts/scipy.sh new file mode 100755 index 0000000..0c43800 --- /dev/null +++ b/data/compil_scripts/scipy.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +echo "##########################################################################" +echo "scipy" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo +echo "*** build" +python setup.py build +if [ $? -ne 0 ] +then + echo "ERROR on build" + exit 2 +fi + +mkdir -p $PRODUCT_INSTALL +echo +echo "*** install" +python setup.py install --prefix=${PRODUCT_INSTALL} +if [ $? -ne 0 ] +then + echo "ERROR on install" + exit 3 +fi + +#mkdir -p $PRODUCT_INSTALL +#echo "scipy is installed into python dir $PYTHON_ROOT_DIR" > $PRODUCT_INSTALL/README + +echo +echo "########## END" diff --git a/data/compil_scripts/scotch-5.1.12.sh b/data/compil_scripts/scotch-5.1.12.sh new file mode 100755 index 0000000..41276d9 --- /dev/null +++ b/data/compil_scripts/scotch-5.1.12.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Scotch" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +mkdir -p $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +echo +echo "*** copy BUILD to INSTALL : cp -ar ${PRODUCT_BUILD} ${PRODUCT_INSTALL}" +cp -ar * ${PRODUCT_INSTALL} +if [ $? -ne 0 ] +then + echo "ERROR on cp -ar ${SOURCE_DIR} ${PRODUCT_INSTALL}" + exit 1 +fi +echo "INSTALL :: ${PRODUCT_INSTALL}" + +cd ${PRODUCT_INSTALL}/src + +cp Make.inc/Makefile.inc.x86-64_pc_linux2 ./Makefile.inc.ori + +# add pthread for gcc > 4.4 +sed -e "s%LDFLAGS\([[:space:]]*\)=\([[:space:]]*\)\(.*\)%LDFLAGS\1=\2 \3 -lpthread%g" Makefile.inc.ori > Makefile.inc + +# add -fPIC +sed -e 's|CFLAGS[\t ]*=|& -fPIC|g' Makefile.inc > Makefile.in_new +cp Makefile.in_new Makefile.inc + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/setuptools.sh b/data/compil_scripts/setuptools.sh new file mode 100755 index 0000000..f0c1a62 --- /dev/null +++ b/data/compil_scripts/setuptools.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +echo "##########################################################################" +echo "setuptools" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +mkdir -p ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH} + +cp -r $SOURCE_DIR/* . + +# unset PYTHONDONTWRITEBYTECODE set by default on MD10 +PYTHONDONTWRITEBYTECODE= + +echo +echo "*** setup.py" +python setup.py install --prefix=${PRODUCT_INSTALL} --install-lib ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +if [ $? -ne 0 ] +then + echo "ERROR on setup" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/sip.sh b/data/compil_scripts/sip.sh new file mode 100755 index 0000000..f5105e7 --- /dev/null +++ b/data/compil_scripts/sip.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +echo "##########################################################################" +echo "sip" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp -r $SOURCE_DIR/* . + +python_name=python$PYTHON_VERSION + +echo +echo "*** configure" +if [[ $BITS == "64" ]] +then + python ./configure.py -b ${PRODUCT_INSTALL}/bin \ + -d ${PRODUCT_INSTALL}/lib/${python_name}/site-packages \ + -e ${PRODUCT_INSTALL}/include/${python_name} \ + -v ${PRODUCT_INSTALL}/sip -p linux-g++-64 +else + python ./configure.py -b ${PRODUCT_INSTALL}/bin \ + -d ${PRODUCT_INSTALL}/lib/${python_name}/site-packages \ + -e ${PRODUCT_INSTALL}/include/${python_name} \ + -v ${PRODUCT_INSTALL}/sip +fi +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/six.sh b/data/compil_scripts/six.sh new file mode 100755 index 0000000..7837bf0 --- /dev/null +++ b/data/compil_scripts/six.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +echo "##########################################################################" +echo "six" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL +mkdir -p $PRODUCT_INSTALL +echo + +cp -r $SOURCE_DIR/* . + +# Making a directory that will be used in install +BUILD_DIR=`pwd` +cd $PRODUCT_INSTALL +mkdir -p lib/python2.7/site-packages +cd $BUILD_DIR +# Hack PYTHONPATH in order to make 'setup.py install' believe that PRODUCT_INSTALL is in PYTHONPATH +PYTHONPATH_SAVE=$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python2.7/site-packages:$PYTHONPATH + +echo "*** setup.py BUILD" +python setup.py build + + +echo "*** setup.py INSTALL" +python setup.py install --prefix=${PRODUCT_INSTALL} + +if [ $? -ne 0 ] +then + export PYTHONPATH=$PYTHONPATH_SAVE + echo "ERROR on setup" + exit 3 +fi + +export PYTHONPATH=$PYTHONPATH_SAVE + +echo +echo "########## END" + diff --git a/data/compil_scripts/swig.sh b/data/compil_scripts/swig.sh new file mode 100755 index 0000000..00d4242 --- /dev/null +++ b/data/compil_scripts/swig.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +echo "##########################################################################" +echo "swig" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +#echo +#echo "*** autogen" +#./autogen.sh +#if [ $? -ne 0 ] +#then +# echo "ERROR on autogen" +# exit 1 +#fi + +echo +echo "*** configure" +$SOURCE_DIR/configure --prefix=${PRODUCT_INSTALL} --without-pcre --without-octave +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "*** link swig2.0 -> swig" +cd $PRODUCT_INSTALL/bin +ln -s swig swig2.0 +if [ $? -ne 0 ] +then + echo "ERROR on link swig2.0 -> swig" + exit 4 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/tcl.sh b/data/compil_scripts/tcl.sh new file mode 100755 index 0000000..76b8d97 --- /dev/null +++ b/data/compil_scripts/tcl.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +echo "##########################################################################" +echo "tcl" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +echo +echo "*** configure" +$SOURCE_DIR/unix/configure --prefix=$PRODUCT_INSTALL --enable-shared --enable-threads +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" + diff --git a/data/compil_scripts/tk.sh b/data/compil_scripts/tk.sh new file mode 100755 index 0000000..a05af81 --- /dev/null +++ b/data/compil_scripts/tk.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +echo "##########################################################################" +echo "tk" $VERSION +echo "##########################################################################" + +rm -Rf $PRODUCT_INSTALL + +cp $TCLHOME/include/*.h generic/ + +echo +echo "*** configure" +$SOURCE_DIR/unix/configure --prefix=$TCLHOME --enable-shared --enable-threads \ + --with-tcl=$TCLHOME/lib --with-tclinclude=$TCLHOME/include +if [ $? -ne 0 ] +then + echo "ERROR on configure" + exit 2 +fi + +echo +echo "*** make" +make +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +mkdir -p $PRODUCT_INSTALL +echo "Tk is installed into tcl dir $TCLHOME" > $PRODUCT_INSTALL/README +cp tkConfig.sh $TCLHOME/lib #Needed fot netgen + +echo +echo "########## END" + diff --git a/data/env_scripts/CAS.py b/data/env_scripts/CAS.py new file mode 100644 index 0000000..ada7cdf --- /dev/null +++ b/data/env_scripts/CAS.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('CASROOT', prereq_dir) + root = env.get('CASROOT') + + # [CMake GUI] Nouveau nom pour CASROOT = CAS_ROOT_DIR 22/03/2013 + env.set('CAS_ROOT_DIR', prereq_dir) + + env.prepend('PATH', os.path.join(root, 'bin')) + + l = [] + l.append(os.path.join(root, 'lib')) + l.append(os.path.join(root, 'lin', 'lib')) + if platform.system()=="Windows" : + l.append(os.path.join(root, 'win64', 'vc10' ,'lib')) + l.append(os.path.join(root, 'win64', 'vc10' ,'bin')) + l.append(os.path.join(root, 'inc')) + env.prepend('PATH', l) + else : + env.prepend('LD_LIBRARY_PATH', l) + + env.set('CSF_UnitsLexicon', os.path.join(root, 'src', 'UnitsAPI', 'Lexi_Expr.dat')) + env.set('CSF_UnitsDefinition', os.path.join(root, 'src', 'UnitsAPI', 'Units.dat')) + env.set('CSF_SHMessage', os.path.join(root, 'src', 'SHMessage')) + env.set('CSF_XSMessage', os.path.join(root, 'src', 'XSMessage')) + env.set('CSF_MDTVFontDirectory', os.path.join(root, 'src', 'FontMFT')) + env.set('CSF_MDTVTexturesDirectory', os.path.join(root, 'src', 'Textures')) + env.set('MMGT_REENTRANT', "1") + env.set('CSF_StandardDefaults', os.path.join(root, 'src', 'StdResource')) + env.set('CSF_PluginDefaults', os.path.join(root, 'src', 'StdResource')) + env.prepend('PATH', root) + + env.set('LIB', '$LD_LIBRARY_PATH') + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/Cython.py b/data/env_scripts/Cython.py new file mode 100644 index 0000000..103e3b6 --- /dev/null +++ b/data/env_scripts/Cython.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("CYTHON_ROOT_DIR",prereq_dir) + env.prepend('PATH', os.path.join(prereq_dir, 'bin')) + + versionPython = env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'lib', 'python' + versionPython, 'site-packages')) + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'bin')) + pass + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/Homard.py b/data/env_scripts/Homard.py new file mode 100755 index 0000000..9c49ae3 --- /dev/null +++ b/data/env_scripts/Homard.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +def set_env(env, prereq_dir, version): + env.set('HOMARD_REP_EXE', prereq_dir) + root = env.get('HOMARD_REP_EXE') + env.set('HOMARD_EXE', 'homard') + + env.prepend('PATH', root) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/Jinja2.py b/data/env_scripts/Jinja2.py new file mode 100755 index 0000000..17b9815 --- /dev/null +++ b/data/env_scripts/Jinja2.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('JINJADIR', prereq_dir) + env.set('JINJA_ROOT_DIR', prereq_dir) # update for cmake + root = env.get('JINJADIR') + pyver = 'python' + env.get('PYTHON_VERSION') + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib', pyver, 'site-packages')) + env.prepend('PYTHONPATH', os.path.join(root, 'lib', pyver, 'site-packages')) + +def set_nativ_env(env): + env.set('JINJA_ROOT_DIR', '/usr') # update for cmake + env.set('JINJADIR', '/usr') + pass diff --git a/data/env_scripts/MeshGems.py b/data/env_scripts/MeshGems.py new file mode 100644 index 0000000..bfc0634 --- /dev/null +++ b/data/env_scripts/MeshGems.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.add_comment("Here you can define your license parameters for MeshGems") + env.add_comment("DISTENE license") + + if not env.is_defined("LICENSE_FILE"): + script = os.path.join(os.path.dirname(os.path.realpath(__file__)), "distene_license.py") + assert os.path.exists(script), "distene_license.py not found!" + env.run_simple_env_script(script) + + env.set('MESHGEMSHOME', prereq_dir) + env.set('MESHGEMS_ROOT_DIR', prereq_dir) # update for cmake + root = env.get('MESHGEMSHOME') + + if platform.system() == "Windows" : + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + else : + + libdir = "Linux_64" + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('PATH', os.path.join(root, 'bin', libdir)) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib', libdir)) + + + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/ParMetis.py b/data/env_scripts/ParMetis.py new file mode 100644 index 0000000..d4b6857 --- /dev/null +++ b/data/env_scripts/ParMetis.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('PARMETISDIR', prereq_dir) + env.set('PARMETIS_ROOT_DIR', prereq_dir) # update for cmake + root = env.get('PARMETISDIR') + + env.prepend('LD_LIBRARY_PATH', root) + env.prepend('PATH', root) +# env.prepend('PATH', os.path.join(root, "Graphs")) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/ParaView.py b/data/env_scripts/ParaView.py new file mode 100644 index 0000000..8453482 --- /dev/null +++ b/data/env_scripts/ParaView.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + # keep only the first two version numbers + ver = '.'.join(version.replace('-', '.').split('.')[:2]) + + # BUG WITH 5.0_beta + if ver == '5.0_beta': + ver = '5.0' + + env.set('PVHOME', prereq_dir) + env.set('VTKHOME', prereq_dir) + + env.set('PVVERSION', ver) + # [CMake GUI] Nouveau nom pour PVHOME = PARAVIEW_ROOT_DIR 22/03/2013 + # [CMake GUI] Nouveau nom pour PVVERSION = PARAVIEW_VERSION 22/03/2013 + env.set('PARAVIEW_ROOT_DIR', prereq_dir) + + env.set('PARAVIEW_VERSION', ver) + version = env.get('PVVERSION') # = ${PVVERSION} + + set_paraview_env(env, version) + set_vtk_env(env, version) + +def set_nativ_env(env): + if os.getenv("PVHOME") is None: + raise Exception("PVHOME is not set") + + if os.getenv("PVVERSION") is None: + raise Exception("PVVERSION is not set") + + version = env.get("PVVERSION") + set_paraview_env(env, version) + +def set_paraview_env(env, version): + root = env.get('PVHOME') + + env.set('ParaView_DIR', os.path.join(root, 'lib', 'paraview-%s' % version)) + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('PATH', os.path.join(root, 'include', 'paraview-' + version)) + + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib', 'paraview-' + version)) + + paralib = os.path.join(root, 'lib', 'paraview-' + version) + env.prepend('PYTHONPATH', paralib) + env.set('PV_PLUGIN_PATH', paralib) + env.prepend('PYTHONPATH', os.path.join(paralib, 'site-packages')) + env.prepend('PYTHONPATH', os.path.join(paralib, 'site-packages', 'vtk')) + + +def set_vtk_env(env, version): + root = env.get('VTKHOME') + pyver = 'python' + env.get('PYTHON_VERSION') + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + env.prepend('PYTHONPATH', os.path.join(root, 'lib', pyver, 'site-packages')) + #http://computer-programming-forum.com/57-tcl/1dfddc136afccb94.htm + #Tcl treats the contents of that variable as a list. Be happy, for you can now use drive letters on windows. + env.prepend('TCLLIBPATH', os.path.join(root, 'lib', 'vtk-5.0', 'tcl'), sep=" ") + + env.set('VTK_ROOT_DIR', root) + if platform.system() == "Windows" : + env.set('VTK_DIR', os.path.join(root, 'lib', 'cmake', 'paraview-' + version)) + env.prepend('VTK_ROOT_DIR', os.path.join(root, 'lib', 'cmake', 'paraview-' + version)) + else : + env.set('VTK_DIR', os.path.join(root, 'lib', 'paraview-' + version)) + env.prepend('VTK_ROOT_DIR', os.path.join(root, 'lib', 'paraview-' + version)) + + # 20 03 2013 compilation de PARAVIS basé sur paraview 3.98.1 et VTK 6 + if version == '3.98': + cmake_dir = os.path.join(root, 'lib', 'cmake', 'paraview-' + version) + env.set('VTK_DIR', cmake_dir) + # fin + diff --git a/data/env_scripts/PyQt.py b/data/env_scripts/PyQt.py new file mode 100644 index 0000000..c93214b --- /dev/null +++ b/data/env_scripts/PyQt.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('PYQTDIR', prereq_dir) + version_table = version.split('.') + if version_table[0] == '5': + env.set('PYQT5_ROOT_DIR', prereq_dir) + else: + env.set('PYQT4_ROOT_DIR', prereq_dir) + root = env.get('PYQTDIR') + pyver = 'python' + env.get('PYTHON_VERSION') + + env.set('PYQT_SIPS', os.path.join(root, 'sip')) + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH', root) + + l = [] + l.append(root) # for old version of pyqt + l.append(os.path.join(root, 'lib', pyver, 'site-packages')) + env.prepend('PYTHONPATH', l) + +def set_nativ_env(env): + env.set('PYQTDIR', '/usr') + env.set('PYQT4_ROOT_DIR', '/usr') + pass diff --git a/data/env_scripts/Pygments.py b/data/env_scripts/Pygments.py new file mode 100755 index 0000000..dc7808e --- /dev/null +++ b/data/env_scripts/Pygments.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('PYGMENTS_ROOT_DIR', prereq_dir) # update for cmake + env.set('PYGMENTSDIR', prereq_dir) + root = env.get('PYGMENTSDIR') + pyver = 'python' + env.get('PYTHON_VERSION') + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('PYTHONPATH', os.path.join(root, 'lib', pyver, 'site-packages')) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/Python.py b/data/env_scripts/Python.py new file mode 100644 index 0000000..e95ee37 --- /dev/null +++ b/data/env_scripts/Python.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path, platform + +def set_env(env,prereq_dir,version,forBuild=None): + # keep only the first two version numbers + version = '.'.join(version.replace('-', '.').split('.')[:2]) + + env.set('PYTHONHOME', prereq_dir) + + # [CMake KERNEL] Nouveau nom pour PYTHONHOME = PYTHON_ROOT_DIR 22/03/2013 + env.set('PYTHON_ROOT_DIR', prereq_dir) + root = env.get('PYTHON_ROOT_DIR') + + env.prepend('PATH', root) + env.prepend('PATH', os.path.join(root, 'bin')) + + l = [] + l.append(os.path.join(root, 'lib')) + #l.append(os.path.join(root, 'lib', 'python' + version)) + + if platform.system() == "Windows" : + env.prepend('PATH', l) + env.set('PYTHON_INCLUDE', os.path.join(root, 'include')) + env.prepend('PYTHONPATH', os.path.join(root, 'Lib')) + env.prepend('PYTHONPATH', os.path.join(root, 'lib','site-packages')) + + env.set('PYTHONBIN', os.path.join(root, 'python.exe')) # needed for runSalome.py + else : + env.prepend('LD_LIBRARY_PATH', l) + env.set('PYTHON_INCLUDE', os.path.join(root, 'include', 'python' + version)) + env.prepend('PYTHONPATH', os.path.join(root, 'lib', 'python' + version)) + env.prepend('PYTHONPATH', os.path.join(root, 'lib', 'python' + version, 'site-packages')) + + env.set('PYTHONBIN', os.path.join(root, 'bin','python')) # needed for runSalome.py + + env.set('PYTHON_VERSION', version) + + +def set_nativ_env(env): + import sys + #env.set('PYTHONHOME',"%s.%s" % sys.version_info[0:2]) + env.set('PYTHON_ROOT_DIR', '/usr') + env.set('PYTHON_VERSION', "%s.%s" % sys.version_info[0:2]) + pass diff --git a/data/env_scripts/Sphinx.py b/data/env_scripts/Sphinx.py new file mode 100755 index 0000000..da5d9e1 --- /dev/null +++ b/data/env_scripts/Sphinx.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('SPHINXDIR', prereq_dir) + env.set('SPHINX_ROOT_DIR', prereq_dir) + root = env.get('SPHINXDIR') + pyver = 'python' + env.get('PYTHON_VERSION') + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('PYTHONPATH', os.path.join(root, 'lib', pyver, 'site-packages')) + +def set_nativ_env(env): + env.set('SPHINXDIR', '/usr') + env.set('SPHINX_ROOT_DIR', '/usr') + pass diff --git a/data/env_scripts/boost.py b/data/env_scripts/boost.py new file mode 100755 index 0000000..9b84ed5 --- /dev/null +++ b/data/env_scripts/boost.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('BOOSTDIR', prereq_dir) + env.set('BOOST_ROOT_DIR', prereq_dir) + root = env.get('BOOSTDIR') + + env.prepend('PATH', os.path.join(root, 'include')) + if platform.system() == "Windows" : + env.prepend('PATH', os.path.join(root, 'lib')) + else : + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('BOOSTDIR', '/usr') + env.set('BOOST_ROOT_DIR', '/usr') + pass diff --git a/data/env_scripts/cgns.py b/data/env_scripts/cgns.py new file mode 100644 index 0000000..0dae34c --- /dev/null +++ b/data/env_scripts/cgns.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path, platform + +def set_env(env, prereq_dir, version): + env.set('CGNS_ROOT_DIR', prereq_dir) + root = env.get('CGNS_ROOT_DIR') + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/cmake.py b/data/env_scripts/cmake.py new file mode 100755 index 0000000..e5a7a4b --- /dev/null +++ b/data/env_scripts/cmake.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('CMAKE_ROOT', prereq_dir) + root = env.get('CMAKE_ROOT') + + env.prepend('PATH', os.path.join(root, 'bin')) + +def set_nativ_env(env): + env.set('CMAKE_ROOT', '/usr') + diff --git a/data/env_scripts/cppunit.py b/data/env_scripts/cppunit.py new file mode 100644 index 0000000..eb8aeb2 --- /dev/null +++ b/data/env_scripts/cppunit.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('CPPUNITHOME', prereq_dir) + env.set('CPPUNIT_ROOT', prereq_dir) + env.set('CPPUNIT_ROOT_DIR', prereq_dir) # update for cmake + root = env.get('CPPUNITHOME') + + env.set('CPPUNITINSTDIR', root) + env.prepend('PATH', os.path.join(root, 'bin')) + import platform + if platform.system() == "Windows" : + env.prepend('PATH', os.path.join(root, 'lib')) + else : + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('CPPUNIT_ROOT_DIR', '/usr') # update for cmake + env.set('CPPUNITHOME','/usr') + env.set('CPPUNIT_ROOT','/usr') diff --git a/data/env_scripts/dateutil.py b/data/env_scripts/dateutil.py new file mode 100644 index 0000000..cf0f30c --- /dev/null +++ b/data/env_scripts/dateutil.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('DATEUTIL_ROOT_DIR', env.get('PYTHON_ROOT_DIR')) + + if platform.system() == "Windows" : + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'lib', 'site-packages')) + else: + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/distene_license.py b/data/env_scripts/distene_license.py new file mode 100644 index 0000000..f2ebe29 --- /dev/null +++ b/data/env_scripts/distene_license.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def load_env(env): + license_file = '/data/tmpsalome/salome/prerequis/install/LICENSE/dlim8.var.sh' + if os.path.exists(license_file): + env.add_line(1) + env.add_comment("Set DISTENE License") + env.set('DISTENE_LICENSE_FILE', 'Use global envvar: DLIM8VAR') + env.set('DISTENE_LICENCE_FILE_FOR_MGCLEANER', license_file) + env.set('DISTENE_LICENCE_FILE_FOR_YAMS', license_file) + + if os.access(license_file, os.R_OK): + lines = open(license_file, "r").readlines() + for line in lines: + if line[:8] == "DLIM8VAR": + # line is: DLIM8VAR=""\n + key = line.strip().split('=')[1] + key = key.strip().strip('"') + env.set("DLIM8VAR", key) + break diff --git a/data/env_scripts/distribute.py b/data/env_scripts/distribute.py new file mode 100644 index 0000000..202efac --- /dev/null +++ b/data/env_scripts/distribute.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('DISTRIBUTE_ROOT_DIR', env.get('PYTHON_ROOT_DIR')) + + if platform.system() == "Windows" : + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'lib', 'site-packages')) + else: + env.prepend('PATH', os.path.join(prereq_dir, 'bin')) + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'bin')) + pass + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/docutils.py b/data/env_scripts/docutils.py new file mode 100755 index 0000000..bf3d0c3 --- /dev/null +++ b/data/env_scripts/docutils.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('DOCUTILSDIR', prereq_dir) + env.set('DOCUTILS_ROOT_DIR', prereq_dir) # update for cmake + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PATH', os.path.join(env.get('DOCUTILSDIR'), 'bin')) + env.prepend('PYTHONPATH', os.path.join(env.get('DOCUTILSDIR'), 'lib', pyver, 'site-packages')) + +def set_nativ_env(env): + env.set('DOCUTILS_ROOT_DIR', '/usr') # update for cmake + env.set('DOCUTILSDIR', '/usr') + pass diff --git a/data/env_scripts/doxygen.py b/data/env_scripts/doxygen.py new file mode 100755 index 0000000..551bf83 --- /dev/null +++ b/data/env_scripts/doxygen.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('DOXYGENDIR', prereq_dir) + env.set('DOXYGEN_ROOT_DIR', prereq_dir) + env.prepend('PATH', os.path.join(env.get('DOXYGENDIR'), 'bin')) + +def set_nativ_env(env): + env.set('DOXYGENDIR', '/usr') + env.set('DOXYGEN_ROOT_DIR', '/usr') + pass diff --git a/data/env_scripts/fftw.py b/data/env_scripts/fftw.py new file mode 100644 index 0000000..8018811 --- /dev/null +++ b/data/env_scripts/fftw.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path, platform + +def set_env(env,prereq_dir,version,forBuild=None): + version = '.'.join(version.replace('-', '.').split('.')[:2]) + env.set('FFTW_VERSION', version) + + env.set('FFTWHOME', prereq_dir) + + env.set('FFTW_ROOT_DIR', prereq_dir) + root = env.get('FFTW_ROOT_DIR') + + env.prepend('PATH', root) + env.prepend('PATH', os.path.join(root, 'bin')) + + l = [] + l.append(os.path.join(root, 'lib')) + + if platform.system() == "Windows" : + env.prepend('PATH', l) + else: + env.prepend('LD_LIBRARY_PATH', l) + + env.set('FFTW_INCLUDE', os.path.join(root, 'include')) + env.prepend('FFTWPATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + import sys + pass + + diff --git a/data/env_scripts/freeimage.py b/data/env_scripts/freeimage.py new file mode 100644 index 0000000..b569fd6 --- /dev/null +++ b/data/env_scripts/freeimage.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('FREEIMAGEDIR', prereq_dir) + env.set('FREEIMAGE_ROOT_DIR', prereq_dir) # update for cmake + root = env.get('FREEIMAGEDIR') + + env.prepend('PATH', os.path.join(root, 'bin')) + if platform.system() == "Windows" : + env.prepend('PATH', os.path.join(root, 'lib')) + else: + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('FREEIMAGE_ROOT_DIR', '/usr') # update for cmake + env.set('FREEIMAGEDIR', '/usr') + pass diff --git a/data/env_scripts/freetype.py b/data/env_scripts/freetype.py new file mode 100644 index 0000000..c030029 --- /dev/null +++ b/data/env_scripts/freetype.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- +import os + +def set_env(env, prereq_dir, version): + env.set('FREETYPEDIR', prereq_dir) + env.set('FREETYPE_ROOT_DIR', prereq_dir) # update for cmake + env.prepend('PATH', os.path.join(env.get('FREETYPE_ROOT_DIR'), 'bin')) + env.prepend('INCLUDE', os.path.join(env.get('FREETYPE_ROOT_DIR'), 'include')) + env.prepend('CPLUS_INCLUDE_PATH', os.path.join(prereq_dir, 'include', 'freetype2')) + +def set_nativ_env(env): + env.set('FREETYPE_ROOT_DIR', '/usr') # update for cmake + env.set('FREETYPEDIR', '/usr') + pass diff --git a/data/env_scripts/gl2ps.py b/data/env_scripts/gl2ps.py new file mode 100755 index 0000000..0cb0e06 --- /dev/null +++ b/data/env_scripts/gl2ps.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('GL2PSDIR', prereq_dir) + env.set('GL2PS_ROOT_DIR', prereq_dir) + + root = env.get('GL2PSDIR') + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('GL2PSDIR', '/usr') + env.set('GL2PS_ROOT_DIR', '/usr') + pass diff --git a/data/env_scripts/graphviz.py b/data/env_scripts/graphviz.py new file mode 100644 index 0000000..44f4564 --- /dev/null +++ b/data/env_scripts/graphviz.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('GRAPHVIZROOT', prereq_dir) + env.set('GRAPHVIZ_ROOT_DIR', prereq_dir) + root = env.get('GRAPHVIZROOT') + + l = [] + l.append(os.path.join(root, 'bin')) + l.append(os.path.join(root, 'include', 'graphviz')) + env.prepend('PATH', l) + + l = [] + l.append(os.path.join(root, 'lib')) + l.append(os.path.join(root, 'lib', 'graphviz')) + + if platform.system() == "Windows" : + env.prepend('LIB', l) + env.prepend('INCLUDE', os.path.join(root, 'include')) + else : + env.prepend('LD_LIBRARY_PATH', l) + +def set_nativ_env(env): + env.set('GRAPHVIZROOT', '/usr') + env.set('GRAPHVIZ_ROOT_DIR', '/usr') + pass diff --git a/data/env_scripts/hdf5.py b/data/env_scripts/hdf5.py new file mode 100644 index 0000000..974b19d --- /dev/null +++ b/data/env_scripts/hdf5.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path, platform + +def set_env(env, prereq_dir, version): + env.set('HDF5HOME', prereq_dir) + env.set('HDF5_DIR', prereq_dir) + env.set('HDF5_ROOT', prereq_dir) + env.set('HDF5_ROOT_DIR', prereq_dir) + root = env.get('HDF5HOME') + + env.prepend('PATH', os.path.join(root, 'bin')) + + env.set('HDF5_LIBRARIES', os.path.join(root, 'lib')) + env.set('HDF5_INCLUDE_DIRS', os.path.join(root, 'include')) + env.set('HDF5_VERSION', version) + + if platform.system() == "Windows" : + env.prepend('PATH', os.path.join(root, 'lib')) + else : + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('HDF5HOME', '/usr') + env.set('HDF5_ROOT', '/usr') + env.set('HDF5_ROOT_DIR', '/usr') # update for cmake + pass diff --git a/data/env_scripts/lapack.py b/data/env_scripts/lapack.py new file mode 100644 index 0000000..5bc3941 --- /dev/null +++ b/data/env_scripts/lapack.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('LAPACKHOME', prereq_dir) + env.set('LAPACK_ROOT_DIR', prereq_dir) + env.set('LAPACK_SRC', os.path.join(prereq_dir,'SRC')) + #env.set('LAPACK', os.path.join(prereq_dir)) + env.set('BLAS_SRC', os.path.join(prereq_dir,'BLAS','SRC')) + root = env.get('LAPACKHOME') + + env.prepend('PATH', os.path.join(root, 'lapacke','include')) + env.prepend('PATH', os.path.join(root, 'lib')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + env.prepend('PYTHONPATH', os.path.join(root, 'Lib')) + + # FOR NUMPY AND SCIPY + env.set('BLAS', os.path.join(root, 'lib')) + env.set('LAPACK', os.path.join(root, 'lib')) + env.set('ATLAS', os.path.join(root, 'lib')) + + +def set_nativ_env(env): + env.set('LAPACKHOME', '/usr') + pass diff --git a/data/env_scripts/libxml2.py b/data/env_scripts/libxml2.py new file mode 100644 index 0000000..55985d1 --- /dev/null +++ b/data/env_scripts/libxml2.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('LIBXML_DIR', prereq_dir) + env.set('LIBXML2_ROOT_DIR', prereq_dir) + root = env.get('LIBXML_DIR') + pyver = 'python' + env.get('PYTHON_VERSION') + + env.prepend('INCLUDE', os.path.join(root, 'include')) + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('PATH', os.path.join(root, 'lib')) + env.prepend('PYTHONPATH', os.path.join(root, 'lib', pyver, 'site-packages')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('LIBXML_DIR', '/usr') + env.set('LIBXML2_ROOT_DIR', '/usr') + pass diff --git a/data/env_scripts/markupsafe.py b/data/env_scripts/markupsafe.py new file mode 100644 index 0000000..096a133 --- /dev/null +++ b/data/env_scripts/markupsafe.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os +import platform + +def set_env(env, prereq_dir, version): + env.set("MARKUPSAFE_ROOT_DIR",prereq_dir) + env.prepend('PATH', os.path.join(prereq_dir, 'bin')) + + if platform.system() == "Windows" : + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'lib', 'site-packages')) + else: + versionPython = env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'lib', 'python' + versionPython, 'site-packages')) + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'bin')) + pass + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/matplotlib.py b/data/env_scripts/matplotlib.py new file mode 100644 index 0000000..7399307 --- /dev/null +++ b/data/env_scripts/matplotlib.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('MATPLOTLIB_ROOT_DIR', prereq_dir) + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) + # FOR THE FILE CONFIG MATPLOTLIBRC + env.set('MPLCONFIGDIR', env.get('MATPLOTLIB_ROOT_DIR')) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/med.py b/data/env_scripts/med.py new file mode 100644 index 0000000..54ca550 --- /dev/null +++ b/data/env_scripts/med.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path, platform + +def set_env(env, prereq_dir, version): + env.set('MED3HOME', prereq_dir) + env.set('MED2HOME', prereq_dir) + env.set('MEDFILE_ROOT_DIR', prereq_dir) # update for cmake + root = env.get('MED3HOME') + + env.prepend('PATH', os.path.join(root, 'bin')) + + if platform.system() == "Windows" : + env.prepend('PATH', os.path.join(root, 'lib')) + else : + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + + +def set_nativ_env(env): + env.set('MEDFILE_ROOT_DIR', '/usr') # update for cmake + env.set('MED3HOME', '/usr') + env.set('MED2HOME', '/usr') + pass diff --git a/data/env_scripts/metis.py b/data/env_scripts/metis.py new file mode 100755 index 0000000..9d87c4c --- /dev/null +++ b/data/env_scripts/metis.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +def set_env(env, prereq_dir, version): + env.set('METISDIR', prereq_dir) + env.set('METIS_ROOT_DIR', prereq_dir) # update for cmake + +def set_nativ_env(env): + env.set('METISDIR', '/usr') + env.set('METIS_ROOT_DIR', '/usr') # update for cmake + pass diff --git a/data/env_scripts/netgen.py b/data/env_scripts/netgen.py new file mode 100644 index 0000000..9ef9716 --- /dev/null +++ b/data/env_scripts/netgen.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('NETGENHOME', prereq_dir) + + env.set('NETGEN_ROOT_DIR', prereq_dir) + root = env.get('NETGENHOME') + + env.set('NETGEN_INCLUDE_DIRS', os.path.join(root, 'include')) + env.set('NETGEN_LIBRARIES', os.path.join(root, 'lib')) + env.prepend('PATH', os.path.join(root, 'bin')) + + if platform.system() == "Windows" : + env.prepend('PATH', os.path.join(root, 'lib')) + else : + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('NETGEN_ROOT_DIR', '/usr') # update for cmake + env.set('NETGENHOME', '/usr') + pass diff --git a/data/env_scripts/numpy.py b/data/env_scripts/numpy.py new file mode 100644 index 0000000..4020307 --- /dev/null +++ b/data/env_scripts/numpy.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'bin')) + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) + #l0=os.path.join(prereq_dir, 'lib', pyver, 'site-packages','numpy') + #l=[os.path.join(l0,'core'),os.path.join(l0,'fft'),os.path.join(l0,'lib'),os.path.join(l0,'linalg'),os.path.join(l0,'numarray'),os.path.join(l0,'random')] + #env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages','numpy','linalg')) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/omniORB.py b/data/env_scripts/omniORB.py new file mode 100644 index 0000000..f7caaf5 --- /dev/null +++ b/data/env_scripts/omniORB.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('OMNIORB_ROOT_DIR', prereq_dir) # update for cmake + root = env.get('OMNIORB_ROOT_DIR') + pyver = 'python' + env.get('PYTHON_VERSION') + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH',os.path.join(root, 'lib')) + + env.prepend( 'PYTHONPATH', os.path.join(root, 'lib') ) + env.prepend( 'PYTHONPATH', os.path.join(root, 'lib', 'python') ) + env.prepend( 'PYTHONPATH', os.path.join(root, 'lib', pyver, 'site-packages') ) + env.prepend( 'PYTHONPATH', os.path.join(root, 'lib64', pyver, 'site-packages') ) + + if platform.system() == "Windows" : + env.prepend('PATH', os.path.join(root, 'bin', 'x86_win32')) + env.prepend('LD_LIBRARY_PATH',os.path.join(root, 'lib', 'x86_win32')) + env.prepend( 'PYTHONPATH', os.path.join(root, 'lib', 'x86_win32') ) + +def set_nativ_env(env): + env.set('OMNIORB_ROOT_DIR', "/usr") # update for cmake + env.set('OMNIORBDIR', "/usr") + env.set('OMNIORB_DIR', "/usr") + env.set('OMNIORBDIR_INC', "/usr/include/omniORB4") + pass diff --git a/data/env_scripts/omniORBpy.py b/data/env_scripts/omniORBpy.py new file mode 100644 index 0000000..21a7d14 --- /dev/null +++ b/data/env_scripts/omniORBpy.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +def set_env(env, prereq_dir, version): + omniorb_root_dir = env.get('OMNIORB_ROOT_DIR') + env.set('OMNIORBPY_ROOT_DIR', omniorb_root_dir) + +def set_nativ_env(env): + env.set('OMNIORBPY_ROOT_DIR',"/usr") + pass + diff --git a/data/env_scripts/opencv.py b/data/env_scripts/opencv.py new file mode 100755 index 0000000..37a1424 --- /dev/null +++ b/data/env_scripts/opencv.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('OPENCV_ROOT_DIR', prereq_dir) + env.set('OPENCV_HOME', prereq_dir) + root = env.get('OPENCV_ROOT_DIR') + + env.prepend('PATH', os.path.join(root, 'include')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('OPENCV_ROOT_DIR', '/usr') + env.set('OPENCV_HOME', '/usr') + diff --git a/data/env_scripts/pyparsing.py b/data/env_scripts/pyparsing.py new file mode 100644 index 0000000..b4bb3bb --- /dev/null +++ b/data/env_scripts/pyparsing.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('PYPARSING_ROOT_DIR', env.get('PYTHON_ROOT_DIR')) + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/pyreadline.py b/data/env_scripts/pyreadline.py new file mode 100755 index 0000000..2182e8a --- /dev/null +++ b/data/env_scripts/pyreadline.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +# pyreadline install dir is PYTHON_ROOT_DIR, environment is set in Python.py + +def set_env(env, prereq_dir, version): + env.set('PYREADLINE_ROOT_DIR', env.get('PYTHON_ROOT_DIR')) + +def set_nativ_env(env): + env.set('PYREADLINE_ROOT_DIR', env.get('PYTHON_ROOT_DIR')) + + diff --git a/data/env_scripts/pytz.py b/data/env_scripts/pytz.py new file mode 100644 index 0000000..6eb0876 --- /dev/null +++ b/data/env_scripts/pytz.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('PYTZ_ROOT_DIR', env.get('PYTHON_ROOT_DIR')) + + if platform.system() == "Windows" : + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', 'site-packages')) + else: + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/qt.py b/data/env_scripts/qt.py new file mode 100644 index 0000000..38c9a58 --- /dev/null +++ b/data/env_scripts/qt.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('QTDIR', prereq_dir) + version_table = version.split('.') + if version_table[0] == '5': + env.set('QT5_ROOT_DIR', prereq_dir) + else: + env.set('QT4_ROOT_DIR', prereq_dir) + + root = env.get('QTDIR') + + env.prepend('PATH', os.path.join(root, 'bin')) + + if version_table[0] == '5': + env.set('QT_PLUGIN_PATH', os.path.join(prereq_dir, 'plugins')) + env.set('QT_QPA_PLATFORM_PLUGIN_PATH', os.path.join(prereq_dir, 'plugins')) + + if platform.system() == "Windows" : + env.prepend('LIB', os.path.join(root, 'lib')) + env.prepend('PATH', os.path.join(root, 'lib')) + else : + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('QTDIR','/usr') + env.set('QT4_ROOT_DIR','/usr') + pass + + diff --git a/data/env_scripts/qwt.py b/data/env_scripts/qwt.py new file mode 100755 index 0000000..5074d17 --- /dev/null +++ b/data/env_scripts/qwt.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('QWTHOME', prereq_dir) + env.set('QWT_ROOT_DIR', prereq_dir) + root = env.get('QWTHOME') + + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + +def set_nativ_env(env): + env.set('QWTHOME', '/usr') + env.set('QWT_ROOT_DIR', '/usr') + pass diff --git a/data/env_scripts/scipy.py b/data/env_scripts/scipy.py new file mode 100644 index 0000000..1bc0214 --- /dev/null +++ b/data/env_scripts/scipy.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os + +def set_env(env, prereq_dir, version): + env.set("SCIPY_ROOT_DIR",prereq_dir) + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) + pass + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/scotch.py b/data/env_scripts/scotch.py new file mode 100755 index 0000000..6dca51c --- /dev/null +++ b/data/env_scripts/scotch.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +def set_env(env, prereq_dir, version): + env.set('SCOTCHDIR', prereq_dir) + env.set('SCOTCH_ROOT_DIR', prereq_dir) # update for cmake + +def set_nativ_env(env): + env.set('SCOTCH_ROOT_DIR', '/usr') # update for cmake + env.set('SCOTCHDIR', '/usr') + pass diff --git a/data/env_scripts/setuptools.py b/data/env_scripts/setuptools.py new file mode 100644 index 0000000..16c9f0b --- /dev/null +++ b/data/env_scripts/setuptools.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('SETUPTOOLDIR', prereq_dir) + env.set('SETUPTOOLS_ROOT_DIR', prereq_dir) # update for cmake + + env.prepend('PATH', os.path.join(prereq_dir, 'bin')) + + versionPython = env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH',os.path.join(prereq_dir, 'lib', 'python' + versionPython, 'site-packages')) + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'bin')) + +def set_nativ_env(env): + env.set('SETUPTOOLS_ROOT_DIR', '/usr') # update for cmake + env.set('SETUPTOOLDIR', '/usr') + pass diff --git a/data/env_scripts/sip.py b/data/env_scripts/sip.py new file mode 100644 index 0000000..a57c1f2 --- /dev/null +++ b/data/env_scripts/sip.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('SIPDIR', prereq_dir) + root = env.get('SIPDIR') + + # [CMake GUI] Nouveau nom pour SIPDIR = SIP_ROOT_DIR 22/03/2013 + env.set('SIP_ROOT_DIR', prereq_dir) + + pyver = 'python' + env.get('PYTHON_VERSION') + + env.prepend('CPLUS_INCLUDE_PATH', os.path.join(root, 'include', pyver)) + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('PYTHONPATH', os.path.join(root, 'lib', pyver, 'site-packages')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib', pyver, 'site-packages')) + + pyqt = env.get('PYQTDIR') + env.set('PYQT_SIPS_DIR', pyqt) + +def set_nativ_env(env): + env.set('SIPDIR', '/usr') + env.set('SIP_ROOT_DIR','/usr') + pass diff --git a/data/env_scripts/six.py b/data/env_scripts/six.py new file mode 100644 index 0000000..524dab9 --- /dev/null +++ b/data/env_scripts/six.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('SIX_ROOT_DIR', env.get('PYTHON_ROOT_DIR')) + + env.prepend('PATH', os.path.join(prereq_dir, 'bin')) + + if platform.system() == "Windows" : + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', 'site-packages')) + else : + pyver = 'python' + env.get('PYTHON_VERSION') + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) + env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'bin')) + +def set_nativ_env(env): + pass diff --git a/data/env_scripts/swig.py b/data/env_scripts/swig.py new file mode 100644 index 0000000..01c8c70 --- /dev/null +++ b/data/env_scripts/swig.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path +import platform + +def set_env(env, prereq_dir, version): + env.set('SWIG_ROOT', prereq_dir) + env.set('SWIG_ROOT_DIR', prereq_dir) + + if platform.system() == "Windows" : + env.set('SWIG_LIB', os.path.join( prereq_dir, "lib" ) ) + else : + env.set('SWIG_LIB', os.path.join( prereq_dir, "share", "swig", version) ) + + root = env.get('SWIG_ROOT') + env.prepend('PATH', os.path.join(root, 'bin')) + +def set_nativ_env(env): + env.set('SWIG_ROOT_DIR', '/usr') + env.set('SWIG_ROOT', '/usr') diff --git a/data/env_scripts/tcl.py b/data/env_scripts/tcl.py new file mode 100644 index 0000000..ef2b186 --- /dev/null +++ b/data/env_scripts/tcl.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('TCL_ROOT_DIR', prereq_dir) # update for cmake + env.set('TCLHOME', prereq_dir) + + root = env.get('TCLHOME') + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + env.prepend('INCLUDE', os.path.join(root, 'include')) + + l = [] + l.append(os.path.join(root, 'lib')) + l.append(os.path.join(root, 'lib', 'tcl')) + #http://computer-programming-forum.com/57-tcl/1dfddc136afccb94.htm + #Tcl treats the contents of that variable as a list. Be happy, for you can now use drive letters on windows. + env.prepend('TCLLIBPATH', l, sep=" ") + env.set('TCL_SHORT_VERSION', version[:version.rfind('.')]) + +def set_nativ_env(env): + env.set('TCL_ROOT_DIR', '/usr') # update for cmake + env.set('TCLHOME', '/usr') diff --git a/data/env_scripts/tk.py b/data/env_scripts/tk.py new file mode 100755 index 0000000..1f4846e --- /dev/null +++ b/data/env_scripts/tk.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import os.path + +def set_env(env, prereq_dir, version): + env.set('TK_ROOT_DIR', prereq_dir) # update for cmake + env.set('TKHOME', prereq_dir) + root = env.get('TKHOME') + + env.prepend('PATH', os.path.join(root, 'bin')) + env.prepend('LD_LIBRARY_PATH', os.path.join(root, 'lib')) + + l = [] + l.append(os.path.join(root, 'lib')) + l.append(os.path.join(root, 'lib', 'tk')) + #http://computer-programming-forum.com/57-tcl/1dfddc136afccb94.htm + #Tcl treats the contents of that variable as a list. Be happy, for you can now use drive letters on windows. + env.prepend('TKLIBPATH', l, sep=" ") + +def set_nativ_env(env): + env.set('TK_ROOT_DIR', '/usr') # update for cmake + env.set('TKHOME', '/usr') diff --git a/data/patches/doxygen-1.8.3.1.patch b/data/patches/doxygen-1.8.3.1.patch new file mode 100755 index 0000000..64930bd --- /dev/null +++ b/data/patches/doxygen-1.8.3.1.patch @@ -0,0 +1,65 @@ +diff -Naur doxygen-1.8.3.1_SRC_INIT/src/resize.js doxygen-1.8.3.1_SRC_MODIF/src/resize.js +--- doxygen-1.8.3.1_SRC_INIT/src/resize.js 2013-01-05 19:17:43.000000000 +0400 ++++ doxygen-1.8.3.1_SRC_MODIF/src/resize.js 2013-03-15 18:23:33.000000000 +0400 +@@ -1,5 +1,6 @@ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header; ++var navrows = new Array(); + + function readCookie(cookie) + { +@@ -39,24 +40,42 @@ + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+6+"px"}); //account for 6px-wide handle-bar ++ for(var i = 1; i <= 4;i++) { ++ if(navrows[i] != null) ++ navrows[i].css({marginLeft:parseInt(sidenavWidth)+6+"px"}); //account for 6px-wide handle-bar ++ navrows[i].css({width:windowWidth-parseInt(sidenavWidth) - 6 + "px"}); ++ } + writeCookie('width',sidenavWidth, null); + } + + function restoreWidth(navWidth) + { +- var windowWidth = $(window).width() + "px"; ++ var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+6+"px"}); + sidenav.css({width:navWidth + "px"}); ++ for(var i = 1; i <= 4;i++) { ++ if(navrows[i] != null) ++ navrows[i].css({marginLeft:parseInt(navWidth)+6+"px"}); ++ navrows[i].css({width:windowWidth-parseInt(navWidth) - 6 + "px"}); ++ } + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); ++ var navrowsH = 0; ++ for(var i = 1; i <= 4;i++) { ++ if(navrows[i] != null) ++ navrowsH = navrowsH + navrows[i].height(); ++ } + var windowHeight = $(window).height() - headerHeight - footerHeight; ++ var treeH = windowHeight + navrowsH; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px",top: headerHeight+"px"}); ++ navtree.css({height:treeH +"px"}); ++ sidenav.css({height:treeH +"px", top: headerHeight+"px"}); + } + + function initResizable() +@@ -66,6 +85,10 @@ + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); ++ for(var i = 1; i <= 4;i++) { ++ navrows[i] = $("#navrow"+i); ++ } ++ + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(window).resize(function() { resizeHeight(); }); + var width = readCookie('width'); diff --git a/data/patches/freetype-2.4.11_ft_export_FD20.patch b/data/patches/freetype-2.4.11_ft_export_FD20.patch new file mode 100644 index 0000000..7f582a1 --- /dev/null +++ b/data/patches/freetype-2.4.11_ft_export_FD20.patch @@ -0,0 +1,12 @@ +diff -rupN freetype-2.4.11/include/freetype/config/ftoption.h freetype-2.4.11_new/include/freetype/config/ftoption.h +--- freetype-2.4.11/include/freetype/config/ftoption.h 2014-07-28 10:56:26.000000000 +0200 ++++ freetype-2.4.11_new/include/freetype/config/ftoption.h 2014-12-19 11:20:43.838835547 +0100 +@@ -253,7 +253,7 @@ FT_BEGIN_HEADER + /* them for certain configurations only. */ + /* */ + /* #define FT_EXPORT(x) extern x */ +-#define FT_EXPORT(x) __declspec(dllexport) x ++/* #define FT_EXPORT(x) __declspec(dllexport) x */ + /* #define FT_EXPORT_DEF(x) x */ + + diff --git a/data/patches/gl2ps-1.3.8_link_libm_FD20.patch b/data/patches/gl2ps-1.3.8_link_libm_FD20.patch new file mode 100755 index 0000000..4c1fa9b --- /dev/null +++ b/data/patches/gl2ps-1.3.8_link_libm_FD20.patch @@ -0,0 +1,15 @@ +diff -rupN gl2ps-1.3.8/CMakeLists.txt gl2ps-1.3.8_new/CMakeLists.txt +--- gl2ps-1.3.8/CMakeLists.txt 2012-11-27 20:41:06.000000000 +0100 ++++ gl2ps-1.3.8_new/CMakeLists.txt 2014-12-18 16:33:26.479069652 +0100 +@@ -140,9 +140,9 @@ install(FILES ${CMAKE_SOURCE_DIR}/gl2psT + + if(GLUT_FOUND) + add_executable(gl2psTest WIN32 gl2psTest.c) +- target_link_libraries(gl2psTest lib ${EXTERNAL_LIBRARIES}) ++ target_link_libraries(gl2psTest lib ${EXTERNAL_LIBRARIES} -lm) + add_executable(gl2psTestSimple WIN32 gl2psTestSimple.c) +- target_link_libraries(gl2psTestSimple lib ${EXTERNAL_LIBRARIES}) ++ target_link_libraries(gl2psTestSimple lib ${EXTERNAL_LIBRARIES} -lm) + endif(GLUT_FOUND) + + find_package(LATEX) diff --git a/data/patches/matplotlib-1.4.3_no_auto_download.patch b/data/patches/matplotlib-1.4.3_no_auto_download.patch new file mode 100644 index 0000000..4f27014 --- /dev/null +++ b/data/patches/matplotlib-1.4.3_no_auto_download.patch @@ -0,0 +1,12 @@ +diff -pruN matplotlib-1.4.3_OLD/setup.py matplotlib-1.4.3/setup.py +--- matplotlib-1.4.3_OLD/setup.py 2015-11-19 10:20:21.819496459 +0100 ++++ matplotlib-1.4.3/setup.py 2015-11-19 10:21:19.792938308 +0100 +@@ -7,7 +7,7 @@ from __future__ import print_function, a + + # This needs to be the very first thing to use distribute + from distribute_setup import use_setuptools +-use_setuptools() ++#use_setuptools() + + import sys + diff --git a/data/patches/matplotlib_1_4_3_patch_freetype_detection_for_SAT.patch b/data/patches/matplotlib_1_4_3_patch_freetype_detection_for_SAT.patch new file mode 100644 index 0000000..ab5dc2e --- /dev/null +++ b/data/patches/matplotlib_1_4_3_patch_freetype_detection_for_SAT.patch @@ -0,0 +1,48 @@ +diff -rupN matplotlib-1.4.3p1_old/setupext.py matplotlib-1.4.3p1_new/setupext.py +--- matplotlib-1.4.3p1_old/setupext.py 2015-02-16 04:46:36.000000000 +0100 ++++ matplotlib-1.4.3p1_new/setupext.py 2015-04-02 11:09:28.623280000 +0200 +@@ -446,8 +446,14 @@ class SetupPackage(object): + raise CheckFailed( + "Requires %s %s or later. Found %s." % + (package, min_version, version)) +- +- ext = self.get_extension() ++ # BEGIN SALOME patch ++ if package=='freetype2': ++ include_dirs_hack = [os.path.join(os.environ['FREETYPE_ROOT_DIR'], 'include'), os.path.join(os.environ['FREETYPE_ROOT_DIR'], 'include', 'freetype2') ] ++ check_include_file(include_dirs_hack, include_file, package) ++ return 'version %s' % version ++ # END SALOME patch ++ ++ ext = self.get_extension() + if ext is None: + ext = make_extension('test', []) + pkg_config.setup_extension(ext, package) +@@ -983,16 +989,22 @@ class FreeType(SetupPackage): + return '.'.join([major, minor, patch]) + + def add_flags(self, ext): ++ ## BEGIN SALOME HACK ++ freetype_include_path = os.path.join(os.environ['FREETYPE_ROOT_DIR'], 'include') ++ freetype_include_freetype2_path = os.path.join(freetype_include_path, 'freetype2') ++ freetype_include_freetype2_freetype_path = os.path.join(freetype_include_path, 'freetype2', 'freetype') ++ freetype_lib_path = os.path.join(os.environ['FREETYPE_ROOT_DIR'], 'lib') ++ + pkg_config.setup_extension( + ext, 'freetype2', +- default_include_dirs=[ +- 'include/freetype2', 'freetype2', +- 'lib/freetype2/include', +- 'lib/freetype2/include/freetype2'], +- default_library_dirs=[ ++ default_include_dirs=[freetype_include_path, freetype_include_freetype2_path, freetype_include_freetype2_freetype_path, ++ 'freetype2', 'lib/freetype2/include', ++ 'lib/freetype2/include/freetype2'], ++ default_library_dirs=[ freetype_lib_path, + 'freetype2/lib'], + default_libraries=['freetype', 'z']) + ++ ## END SALOME HACK + + + class FT2Font(SetupPackage): diff --git a/data/patches/matplotlibrc-qt4.patch b/data/patches/matplotlibrc-qt4.patch new file mode 100644 index 0000000..625103f --- /dev/null +++ b/data/patches/matplotlibrc-qt4.patch @@ -0,0 +1,514 @@ +diff -pruN matplotlib-1.4.3/matplotlibrc matplotlib-1.4.3_NEW/matplotlibrc +--- matplotlib-1.4.3/matplotlibrc 1970-01-01 01:00:00.000000000 +0100 ++++ matplotlib-1.4.3_NEW/matplotlibrc 2016-05-20 14:08:25.109809135 +0200 +@@ -0,0 +1,510 @@ ++### MATPLOTLIBRC FORMAT ++ ++# This is a sample matplotlib configuration file - you can find a copy ++# of it on your system in ++# site-packages/matplotlib/mpl-data/matplotlibrc. If you edit it ++# there, please note that it will be overwritten in your next install. ++# If you want to keep a permanent local copy that will not be ++# overwritten, place it in the following location: ++# unix/linux: ++# $HOME/.config/matplotlib/matplotlibrc or ++# $XDG_CONFIG_HOME/matplotlib/matplotlibrc (if $XDG_CONFIG_HOME is set) ++# other platforms: ++# $HOME/.matplotlib/matplotlibrc ++# ++# See http://matplotlib.org/users/customizing.html#the-matplotlibrc-file for ++# more details on the paths which are checked for the configuration file. ++# ++# This file is best viewed in a editor which supports python mode ++# syntax highlighting. Blank lines, or lines starting with a comment ++# symbol, are ignored, as are trailing comments. Other lines must ++# have the format ++# key : val # optional comment ++# ++# Colors: for the color values below, you can either use - a ++# matplotlib color string, such as r, k, or b - an rgb tuple, such as ++# (1.0, 0.5, 0.0) - a hex string, such as ff00ff or #ff00ff - a scalar ++# grayscale intensity such as 0.75 - a legal html color name, e.g., red, ++# blue, darkslategray ++ ++#### CONFIGURATION BEGINS HERE ++ ++# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo ++# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG ++# Template. ++# You can also deploy your own backend outside of matplotlib by ++# referring to the module name (which must be in the PYTHONPATH) as ++# 'module://my_backend'. ++backend : qt4agg ++ ++# If you are using the Qt4Agg backend, you can choose here ++# to use the PyQt4 bindings or the newer PySide bindings to ++# the underlying Qt4 toolkit. ++#backend.qt4 : PyQt4 # PyQt4 | PySide ++ ++# Note that this can be overridden by the environment variable ++# QT_API used by Enthought Tool Suite (ETS); valid values are ++# "pyqt" and "pyside". The "pyqt" setting has the side effect of ++# forcing the use of Version 2 API for QString and QVariant. ++ ++# The port to use for the web server in the WebAgg backend. ++# webagg.port : 8888 ++ ++# If webagg.port is unavailable, a number of other random ports will ++# be tried until one that is available is found. ++# webagg.port_retries : 50 ++ ++# When True, open the webbrowser to the plot that is shown ++# webagg.open_in_browser : True ++ ++# When True, the figures rendered in the nbagg backend are created with ++# a transparent background. ++# nbagg.transparent : True ++ ++# if you are running pyplot inside a GUI and your backend choice ++# conflicts, we will automatically try to find a compatible one for ++# you if backend_fallback is True ++#backend_fallback: True ++ ++#interactive : False ++#toolbar : toolbar2 # None | toolbar2 ("classic" is deprecated) ++#timezone : UTC # a pytz timezone string, e.g., US/Central or Europe/Paris ++ ++# Where your matplotlib data lives if you installed to a non-default ++# location. This is where the matplotlib fonts, bitmaps, etc reside ++#datapath : /home/jdhunter/mpldata ++ ++ ++### LINES ++# See http://matplotlib.org/api/artist_api.html#module-matplotlib.lines for more ++# information on line properties. ++#lines.linewidth : 1.0 # line width in points ++#lines.linestyle : - # solid line ++#lines.color : blue # has no affect on plot(); see axes.prop_cycle ++#lines.marker : None # the default marker ++#lines.markeredgewidth : 0.5 # the line width around the marker symbol ++#lines.markersize : 6 # markersize, in points ++#lines.dash_joinstyle : miter # miter|round|bevel ++#lines.dash_capstyle : butt # butt|round|projecting ++#lines.solid_joinstyle : miter # miter|round|bevel ++#lines.solid_capstyle : projecting # butt|round|projecting ++#lines.antialiased : True # render lines in antialiased (no jaggies) ++ ++#markers.fillstyle: full # full|left|right|bottom|top|none ++ ++### PATCHES ++# Patches are graphical objects that fill 2D space, like polygons or ++# circles. See ++# http://matplotlib.org/api/artist_api.html#module-matplotlib.patches ++# information on patch properties ++#patch.linewidth : 1.0 # edge width in points ++#patch.facecolor : blue ++#patch.edgecolor : black ++#patch.antialiased : True # render patches in antialiased (no jaggies) ++ ++### FONT ++# ++# font properties used by text.Text. See ++# http://matplotlib.org/api/font_manager_api.html for more ++# information on font properties. The 6 font properties used for font ++# matching are given below with their default values. ++# ++# The font.family property has five values: 'serif' (e.g., Times), ++# 'sans-serif' (e.g., Helvetica), 'cursive' (e.g., Zapf-Chancery), ++# 'fantasy' (e.g., Western), and 'monospace' (e.g., Courier). Each of ++# these font families has a default list of font names in decreasing ++# order of priority associated with them. When text.usetex is False, ++# font.family may also be one or more concrete font names. ++# ++# The font.style property has three values: normal (or roman), italic ++# or oblique. The oblique style will be used for italic, if it is not ++# present. ++# ++# The font.variant property has two values: normal or small-caps. For ++# TrueType fonts, which are scalable fonts, small-caps is equivalent ++# to using a font size of 'smaller', or about 83% of the current font ++# size. ++# ++# The font.weight property has effectively 13 values: normal, bold, ++# bolder, lighter, 100, 200, 300, ..., 900. Normal is the same as ++# 400, and bold is 700. bolder and lighter are relative values with ++# respect to the current weight. ++# ++# The font.stretch property has 11 values: ultra-condensed, ++# extra-condensed, condensed, semi-condensed, normal, semi-expanded, ++# expanded, extra-expanded, ultra-expanded, wider, and narrower. This ++# property is not currently implemented. ++# ++# The font.size property is the default font size for text, given in pts. ++# 12pt is the standard value. ++# ++#font.family : sans-serif ++#font.style : normal ++#font.variant : normal ++#font.weight : medium ++#font.stretch : normal ++# note that font.size controls default text sizes. To configure ++# special text sizes tick labels, axes, labels, title, etc, see the rc ++# settings for axes and ticks. Special text sizes can be defined ++# relative to font.size, using the following values: xx-small, x-small, ++# small, medium, large, x-large, xx-large, larger, or smaller ++#font.size : 12.0 ++#font.serif : Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif ++#font.sans-serif : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif ++#font.cursive : Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, cursive ++#font.fantasy : Comic Sans MS, Chicago, Charcoal, Impact, Western, Humor Sans, fantasy ++#font.monospace : Bitstream Vera Sans Mono, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace ++ ++### TEXT ++# text properties used by text.Text. See ++# http://matplotlib.org/api/artist_api.html#module-matplotlib.text for more ++# information on text properties ++ ++#text.color : black ++ ++### LaTeX customizations. See http://wiki.scipy.org/Cookbook/Matplotlib/UsingTex ++#text.usetex : False # use latex for all text handling. The following fonts ++ # are supported through the usual rc parameter settings: ++ # new century schoolbook, bookman, times, palatino, ++ # zapf chancery, charter, serif, sans-serif, helvetica, ++ # avant garde, courier, monospace, computer modern roman, ++ # computer modern sans serif, computer modern typewriter ++ # If another font is desired which can loaded using the ++ # LaTeX \usepackage command, please inquire at the ++ # matplotlib mailing list ++#text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling ++ # unicode strings. ++#text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES ++ # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP ++ # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. ++ # preamble is a comma separated list of LaTeX statements ++ # that are included in the LaTeX document preamble. ++ # An example: ++ # text.latex.preamble : \usepackage{bm},\usepackage{euler} ++ # The following packages are always loaded with usetex, so ++ # beware of package collisions: color, geometry, graphicx, ++ # type1cm, textcomp. Adobe Postscript (PSSNFS) font packages ++ # may also be loaded, depending on your font settings ++ ++#text.dvipnghack : None # some versions of dvipng don't handle alpha ++ # channel properly. Use True to correct ++ # and flush ~/.matplotlib/tex.cache ++ # before testing and False to force ++ # correction off. None will try and ++ # guess based on your dvipng version ++ ++#text.hinting : auto # May be one of the following: ++ # 'none': Perform no hinting ++ # 'auto': Use freetype's autohinter ++ # 'native': Use the hinting information in the ++ # font file, if available, and if your ++ # freetype library supports it ++ # 'either': Use the native hinting information, ++ # or the autohinter if none is available. ++ # For backward compatibility, this value may also be ++ # True === 'auto' or False === 'none'. ++#text.hinting_factor : 8 # Specifies the amount of softness for hinting in the ++ # horizontal direction. A value of 1 will hint to full ++ # pixels. A value of 2 will hint to half pixels etc. ++ ++#text.antialiased : True # If True (default), the text will be antialiased. ++ # This only affects the Agg backend. ++ ++# The following settings allow you to select the fonts in math mode. ++# They map from a TeX font name to a fontconfig font pattern. ++# These settings are only used if mathtext.fontset is 'custom'. ++# Note that this "custom" mode is unsupported and may go away in the ++# future. ++#mathtext.cal : cursive ++#mathtext.rm : serif ++#mathtext.tt : monospace ++#mathtext.it : serif:italic ++#mathtext.bf : serif:bold ++#mathtext.sf : sans ++#mathtext.fontset : cm # Should be 'cm' (Computer Modern), 'stix', ++ # 'stixsans' or 'custom' ++#mathtext.fallback_to_cm : True # When True, use symbols from the Computer Modern ++ # fonts when a symbol can not be found in one of ++ # the custom math fonts. ++ ++#mathtext.default : it # The default font to use for math. ++ # Can be any of the LaTeX font names, including ++ # the special name "regular" for the same font ++ # used in regular text. ++ ++### AXES ++# default face and edge color, default tick sizes, ++# default fontsizes for ticklabels, and so on. See ++# http://matplotlib.org/api/axes_api.html#module-matplotlib.axes ++#axes.hold : True # whether to clear the axes by default on ++#axes.facecolor : white # axes background color ++#axes.edgecolor : black # axes edge color ++#axes.linewidth : 1.0 # edge linewidth ++#axes.grid : False # display grid or not ++#axes.titlesize : large # fontsize of the axes title ++#axes.labelsize : medium # fontsize of the x any y labels ++#axes.labelpad : 5.0 # space between label and axis ++#axes.labelweight : normal # weight of the x and y labels ++#axes.labelcolor : black ++#axes.axisbelow : False # whether axis gridlines and ticks are below ++ # the axes elements (lines, text, etc) ++ ++#axes.formatter.limits : -7, 7 # use scientific notation if log10 ++ # of the axis range is smaller than the ++ # first or larger than the second ++#axes.formatter.use_locale : False # When True, format tick labels ++ # according to the user's locale. ++ # For example, use ',' as a decimal ++ # separator in the fr_FR locale. ++#axes.formatter.use_mathtext : False # When True, use mathtext for scientific ++ # notation. ++#axes.formatter.useoffset : True # If True, the tick label formatter ++ # will default to labeling ticks relative ++ # to an offset when the data range is very ++ # small compared to the minimum absolute ++ # value of the data. ++ ++#axes.unicode_minus : True # use unicode for the minus symbol ++ # rather than hyphen. See ++ # http://en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes ++#axes.prop_cycle : cycler('color', 'bgrcmyk') ++ # color cycle for plot lines ++ # as list of string colorspecs: ++ # single letter, long name, or ++ # web-style hex ++#axes.xmargin : 0 # x margin. See `axes.Axes.margins` ++#axes.ymargin : 0 # y margin See `axes.Axes.margins` ++ ++#polaraxes.grid : True # display grid on polar axes ++#axes3d.grid : True # display grid on 3d axes ++ ++### TICKS ++# see http://matplotlib.org/api/axis_api.html#matplotlib.axis.Tick ++#xtick.major.size : 4 # major tick size in points ++#xtick.minor.size : 2 # minor tick size in points ++#xtick.major.width : 0.5 # major tick width in points ++#xtick.minor.width : 0.5 # minor tick width in points ++#xtick.major.pad : 4 # distance to major tick label in points ++#xtick.minor.pad : 4 # distance to the minor tick label in points ++#xtick.color : k # color of the tick labels ++#xtick.labelsize : medium # fontsize of the tick labels ++#xtick.direction : in # direction: in, out, or inout ++ ++#ytick.major.size : 4 # major tick size in points ++#ytick.minor.size : 2 # minor tick size in points ++#ytick.major.width : 0.5 # major tick width in points ++#ytick.minor.width : 0.5 # minor tick width in points ++#ytick.major.pad : 4 # distance to major tick label in points ++#ytick.minor.pad : 4 # distance to the minor tick label in points ++#ytick.color : k # color of the tick labels ++#ytick.labelsize : medium # fontsize of the tick labels ++#ytick.direction : in # direction: in, out, or inout ++ ++ ++### GRIDS ++#grid.color : black # grid color ++#grid.linestyle : : # dotted ++#grid.linewidth : 0.5 # in points ++#grid.alpha : 1.0 # transparency, between 0.0 and 1.0 ++ ++### Legend ++#legend.fancybox : False # if True, use a rounded box for the ++ # legend, else a rectangle ++#legend.isaxes : True ++#legend.numpoints : 2 # the number of points in the legend line ++#legend.fontsize : large ++#legend.borderpad : 0.5 # border whitespace in fontsize units ++#legend.markerscale : 1.0 # the relative size of legend markers vs. original ++# the following dimensions are in axes coords ++#legend.labelspacing : 0.5 # the vertical space between the legend entries in fraction of fontsize ++#legend.handlelength : 2. # the length of the legend lines in fraction of fontsize ++#legend.handleheight : 0.7 # the height of the legend handle in fraction of fontsize ++#legend.handletextpad : 0.8 # the space between the legend line and legend text in fraction of fontsize ++#legend.borderaxespad : 0.5 # the border between the axes and legend edge in fraction of fontsize ++#legend.columnspacing : 2. # the border between the axes and legend edge in fraction of fontsize ++#legend.shadow : False ++#legend.frameon : True # whether or not to draw a frame around legend ++#legend.framealpha : None # opacity of of legend frame ++#legend.scatterpoints : 3 # number of scatter points ++ ++### FIGURE ++# See http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure ++#figure.titlesize : medium # size of the figure title ++#figure.titleweight : normal # weight of the figure title ++#figure.figsize : 8, 6 # figure size in inches ++#figure.dpi : 80 # figure dots per inch ++#figure.facecolor : 0.75 # figure facecolor; 0.75 is scalar gray ++#figure.edgecolor : white # figure edgecolor ++#figure.autolayout : False # When True, automatically adjust subplot ++ # parameters to make the plot fit the figure ++#figure.max_open_warning : 20 # The maximum number of figures to open through ++ # the pyplot interface before emitting a warning. ++ # If less than one this feature is disabled. ++ ++# The figure subplot parameters. All dimensions are a fraction of the ++# figure width or height ++#figure.subplot.left : 0.125 # the left side of the subplots of the figure ++#figure.subplot.right : 0.9 # the right side of the subplots of the figure ++#figure.subplot.bottom : 0.1 # the bottom of the subplots of the figure ++#figure.subplot.top : 0.9 # the top of the subplots of the figure ++#figure.subplot.wspace : 0.2 # the amount of width reserved for blank space between subplots ++#figure.subplot.hspace : 0.2 # the amount of height reserved for white space between subplots ++ ++### IMAGES ++#image.aspect : equal # equal | auto | a number ++#image.interpolation : bilinear # see help(imshow) for options ++#image.cmap : jet # gray | jet etc... ++#image.lut : 256 # the size of the colormap lookup table ++#image.origin : upper # lower | upper ++#image.resample : False ++#image.composite_image : True # When True, all the images on a set of axes are ++ # combined into a single composite image before ++ # saving a figure as a vector graphics file, ++ # such as a PDF. ++ ++### CONTOUR PLOTS ++#contour.negative_linestyle : dashed # dashed | solid ++#contour.corner_mask : True # True | False | legacy ++ ++### ERRORBAR PLOTS ++#errorbar.capsize : 3 # length of end cap on error bars in pixels ++ ++### Agg rendering ++### Warning: experimental, 2008/10/10 ++#agg.path.chunksize : 0 # 0 to disable; values in the range ++ # 10000 to 100000 can improve speed slightly ++ # and prevent an Agg rendering failure ++ # when plotting very large data sets, ++ # especially if they are very gappy. ++ # It may cause minor artifacts, though. ++ # A value of 20000 is probably a good ++ # starting point. ++### SAVING FIGURES ++#path.simplify : True # When True, simplify paths by removing "invisible" ++ # points to reduce file size and increase rendering ++ # speed ++#path.simplify_threshold : 0.1 # The threshold of similarity below which ++ # vertices will be removed in the simplification ++ # process ++#path.snap : True # When True, rectilinear axis-aligned paths will be snapped to ++ # the nearest pixel when certain criteria are met. When False, ++ # paths will never be snapped. ++#path.sketch : None # May be none, or a 3-tuple of the form (scale, length, ++ # randomness). ++ # *scale* is the amplitude of the wiggle ++ # perpendicular to the line (in pixels). *length* ++ # is the length of the wiggle along the line (in ++ # pixels). *randomness* is the factor by which ++ # the length is randomly scaled. ++ ++# the default savefig params can be different from the display params ++# e.g., you may want a higher resolution, or to make the figure ++# background white ++#savefig.dpi : 100 # figure dots per inch ++#savefig.facecolor : white # figure facecolor when saving ++#savefig.edgecolor : white # figure edgecolor when saving ++#savefig.format : png # png, ps, pdf, svg ++#savefig.bbox : standard # 'tight' or 'standard'. ++ # 'tight' is incompatible with pipe-based animation ++ # backends but will workd with temporary file based ones: ++ # e.g. setting animation.writer to ffmpeg will not work, ++ # use ffmpeg_file instead ++#savefig.pad_inches : 0.1 # Padding to be used when bbox is set to 'tight' ++#savefig.jpeg_quality: 95 # when a jpeg is saved, the default quality parameter. ++#savefig.directory : ~ # default directory in savefig dialog box, ++ # leave empty to always use current working directory ++#savefig.transparent : False # setting that controls whether figures are saved with a ++ # transparent background by default ++ ++# tk backend params ++#tk.window_focus : False # Maintain shell focus for TkAgg ++ ++# ps backend params ++#ps.papersize : letter # auto, letter, legal, ledger, A0-A10, B0-B10 ++#ps.useafm : False # use of afm fonts, results in small files ++#ps.usedistiller : False # can be: None, ghostscript or xpdf ++ # Experimental: may produce smaller files. ++ # xpdf intended for production of publication quality files, ++ # but requires ghostscript, xpdf and ps2eps ++#ps.distiller.res : 6000 # dpi ++#ps.fonttype : 3 # Output Type 3 (Type3) or Type 42 (TrueType) ++ ++# pdf backend params ++#pdf.compression : 6 # integer from 0 to 9 ++ # 0 disables compression (good for debugging) ++#pdf.fonttype : 3 # Output Type 3 (Type3) or Type 42 (TrueType) ++ ++# svg backend params ++#svg.image_inline : True # write raster image data directly into the svg file ++#svg.image_noscale : False # suppress scaling of raster data embedded in SVG ++#svg.fonttype : 'path' # How to handle SVG fonts: ++# 'none': Assume fonts are installed on the machine where the SVG will be viewed. ++# 'path': Embed characters as paths -- supported by most SVG renderers ++# 'svgfont': Embed characters as SVG fonts -- supported only by Chrome, ++# Opera and Safari ++ ++# docstring params ++#docstring.hardcopy = False # set this when you want to generate hardcopy docstring ++ ++# Set the verbose flags. This controls how much information ++# matplotlib gives you at runtime and where it goes. The verbosity ++# levels are: silent, helpful, debug, debug-annoying. Any level is ++# inclusive of all the levels below it. If your setting is "debug", ++# you'll get all the debug and helpful messages. When submitting ++# problems to the mailing-list, please set verbose to "helpful" or "debug" ++# and paste the output into your report. ++# ++# The "fileo" gives the destination for any calls to verbose.report. ++# These objects can a filename, or a filehandle like sys.stdout. ++# ++# You can override the rc default verbosity from the command line by ++# giving the flags --verbose-LEVEL where LEVEL is one of the legal ++# levels, e.g., --verbose-helpful. ++# ++# You can access the verbose instance in your code ++# from matplotlib import verbose. ++#verbose.level : silent # one of silent, helpful, debug, debug-annoying ++#verbose.fileo : sys.stdout # a log filename, sys.stdout or sys.stderr ++ ++# Event keys to interact with figures/plots via keyboard. ++# Customize these settings according to your needs. ++# Leave the field(s) empty if you don't need a key-map. (i.e., fullscreen : '') ++ ++#keymap.fullscreen : f # toggling ++#keymap.home : h, r, home # home or reset mnemonic ++#keymap.back : left, c, backspace # forward / backward keys to enable ++#keymap.forward : right, v # left handed quick navigation ++#keymap.pan : p # pan mnemonic ++#keymap.zoom : o # zoom mnemonic ++#keymap.save : s # saving current figure ++#keymap.quit : ctrl+w, cmd+w # close the current figure ++#keymap.grid : g # switching on/off a grid in current axes ++#keymap.yscale : l # toggle scaling of y-axes ('log'/'linear') ++#keymap.xscale : L, k # toggle scaling of x-axes ('log'/'linear') ++#keymap.all_axes : a # enable all axes ++ ++# Control location of examples data files ++#examples.directory : '' # directory to look in for custom installation ++ ++###ANIMATION settings ++#animation.html : 'none' # How to display the animation as HTML in ++ # the IPython notebook. 'html5' uses ++ # HTML5 video tag. ++#animation.writer : ffmpeg # MovieWriter 'backend' to use ++#animation.codec : mpeg4 # Codec to use for writing movie ++#animation.bitrate: -1 # Controls size/quality tradeoff for movie. ++ # -1 implies let utility auto-determine ++#animation.frame_format: 'png' # Controls frame format used by temp files ++#animation.ffmpeg_path: 'ffmpeg' # Path to ffmpeg binary. Without full path ++ # $PATH is searched ++#animation.ffmpeg_args: '' # Additional arguments to pass to ffmpeg ++#animation.avconv_path: 'avconv' # Path to avconv binary. Without full path ++ # $PATH is searched ++#animation.avconv_args: '' # Additional arguments to pass to avconv ++#animation.mencoder_path: 'mencoder' ++ # Path to mencoder binary. Without full path ++ # $PATH is searched ++#animation.mencoder_args: '' # Additional arguments to pass to mencoder ++#animation.convert_path: 'convert' # Path to ImageMagick's convert binary. ++ # On Windows use the full path since convert ++ # is also the name of a system tool. diff --git a/data/patches/netgen-4.9.13_without_togl.patch b/data/patches/netgen-4.9.13_without_togl.patch new file mode 100644 index 0000000..91e4e4d --- /dev/null +++ b/data/patches/netgen-4.9.13_without_togl.patch @@ -0,0 +1,97 @@ +diff -pruN netgen-4.9.13-sources/configure netgen-4.9.13-2/configure +--- netgen-4.9.13-sources/configure 2015-08-24 12:15:29.560190846 +0200 ++++ netgen-4.9.13-2/configure 2015-08-25 11:39:07.485726666 +0200 +@@ -17837,7 +17837,7 @@ esac + + + +-ac_config_files="$ac_config_files Makefile libsrc/Makefile libsrc/csg/Makefile libsrc/general/Makefile libsrc/geom2d/Makefile libsrc/gprim/Makefile libsrc/include/Makefile libsrc/interface/Makefile libsrc/linalg/Makefile libsrc/meshing/Makefile libsrc/occ/Makefile libsrc/stlgeom/Makefile libsrc/visualization/Makefile ng/Makefile nglib/Makefile tutorials/Makefile doc/Makefile windows/Makefile" ++ac_config_files="$ac_config_files Makefile libsrc/Makefile libsrc/csg/Makefile libsrc/general/Makefile libsrc/geom2d/Makefile libsrc/gprim/Makefile libsrc/include/Makefile libsrc/interface/Makefile libsrc/linalg/Makefile libsrc/meshing/Makefile libsrc/occ/Makefile libsrc/stlgeom/Makefile libsrc/visualization/Makefile nglib/Makefile " + + + cat >confcache <<\_ACEOF +@@ -18905,7 +18905,8 @@ $debug || + if test -n "$CONFIG_FILES"; then + + +-ac_cr=' ' ++ac_cr=' ++' + ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` + if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +diff -pruN netgen-4.9.13-sources/configure.ac netgen-4.9.13-2/configure.ac +--- netgen-4.9.13-sources/configure.ac 2015-08-24 12:15:29.560190846 +0200 ++++ netgen-4.9.13-2/configure.ac 2015-08-25 10:48:08.236469725 +0200 +@@ -72,11 +72,11 @@ fi + + + +-AC_ARG_WITH([togl], +- [AC_HELP_STRING([--with-togl=dir],[directory containing libTogl1.7])], +- [togldir=$withval] +- [togllibfl="-L$withval$"] +- ) ++#AC_ARG_WITH([togl], ++# [AC_HELP_STRING([--with-togl=dir],[directory containing libTogl1.7])], ++# [togldir=$withval] ++# [togllibfl="-L$withval$"] ++# ) + # [togllibfl="-L$(TK_BIN_DIR)/Togl1.7"] + # [togllibfl="-L/usr/local/lib/Togl1.7"] + +@@ -124,7 +124,7 @@ AM_CONDITIONAL([NGLIB], [test x$nglibon + AC_SUBST([TOGLLIBDIR], ["$togllibfl"]) + + AC_CHECK_HEADER(pthread.h) +-AC_CHECK_HEADER([togl.h]) ++#AC_CHECK_HEADER([togl.h]) + AC_CHECK_HEADER([GL/gl.h]) + + AC_CHECK_FUNCS([pow]) +@@ -171,13 +171,7 @@ AC_SUBST(LIBGLU) + + + +-AC_CONFIG_FILES(Makefile libsrc/Makefile libsrc/csg/Makefile +-libsrc/general/Makefile libsrc/geom2d/Makefile libsrc/gprim/Makefile +-libsrc/include/Makefile libsrc/interface/Makefile +-libsrc/linalg/Makefile libsrc/meshing/Makefile libsrc/occ/Makefile +- libsrc/stlgeom/Makefile +- libsrc/visualization/Makefile ng/Makefile nglib/Makefile +- tutorials/Makefile doc/Makefile windows/Makefile ) ++AC_CONFIG_FILES(Makefile nglib/Makefile) + + AC_OUTPUT + +@@ -208,4 +202,4 @@ AC_MSG_RESULT([ + + Example programs will be built but not installed. + ------------------------------------------------------------------------ +-]) +\ Pas de fin de ligne à la fin du fichier ++]) +diff -pruN netgen-4.9.13-sources/Makefile.am netgen-4.9.13-2/Makefile.am +--- netgen-4.9.13-sources/Makefile.am 2015-08-24 12:15:29.564190971 +0200 ++++ netgen-4.9.13-2/Makefile.am 2015-08-25 11:36:11.111872678 +0200 +@@ -2,7 +2,7 @@ ACLOCAL_AMFLAGS = -I m4 + + METASOURCES = AUTO + +-SUBDIRS = libsrc ng nglib tutorials doc windows ++SUBDIRS = libsrc nglib + + # TESTS = ng/netgen -batchmode + +diff -pruN netgen-4.9.13-sources/Makefile.in netgen-4.9.13-2/Makefile.in +--- netgen-4.9.13-sources/Makefile.in 2015-08-24 12:15:29.564190971 +0200 ++++ netgen-4.9.13-2/Makefile.in 2015-08-25 11:46:41.932811373 +0200 +@@ -238,7 +238,7 @@ top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + ACLOCAL_AMFLAGS = -I m4 + METASOURCES = AUTO +-SUBDIRS = libsrc ng nglib tutorials doc windows ++SUBDIRS = libsrc nglib + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + diff --git a/data/patches/netgen49ForSalome.patch b/data/patches/netgen49ForSalome.patch new file mode 100644 index 0000000..0e78c4a --- /dev/null +++ b/data/patches/netgen49ForSalome.patch @@ -0,0 +1,1109 @@ +diff -Naur netgen-4.9.13_orig/libsrc/meshing/meshtype.cpp netgen-4.9.13_new/libsrc/meshing/meshtype.cpp +--- netgen-4.9.13_orig/libsrc/meshing/meshtype.cpp 2009-09-13 14:28:38.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/meshing/meshtype.cpp 2014-07-22 13:01:28.000000000 +0400 +@@ -1,4 +1,5 @@ + #include ++#include // to get DBL_MIN defined + + #include "meshing.hpp" + +@@ -650,7 +651,8 @@ + + double det = trans.Det(); + +- if (det <= 0) ++ // if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + err += frob * frob / det; +@@ -706,7 +708,8 @@ + + double det = trans(0,0)*trans(1,1)-trans(1,0)*trans(0,1); + +- if (det <= 0) ++ // if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + { + dd = 0; + return 1e12; +@@ -790,7 +793,8 @@ + = dtrans(0,0) * trans(1,1) - trans(0,1) * dtrans(1,0) + + trans(0,0) * dtrans(1,1) - dtrans(0,1) * trans(1,0); + +- if (det <= 0) ++ // if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + { +@@ -840,7 +844,8 @@ + frob /= 2; + + double det = trans.Det(); +- if (det <= 0) ++ //if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + err += frob * frob / det; +@@ -1857,7 +1862,8 @@ + case PYRAMID: + { + double noz = 1-p(2); +- if (noz == 0.0) noz = 1e-10; ++ //if (noz == 0.0) noz = 1e-10; ++ if (noz <= DBL_MIN) noz = 1e-10; // avoid FPE + + double xi = p(0) / noz; + double eta = p(1) / noz; +@@ -2035,7 +2041,8 @@ + + double det = -trans.Det(); + +- if (det <= 0) ++ //if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + err += frob * frob * frob / det; +@@ -2107,7 +2114,8 @@ + ddet *= -1; + + +- if (det <= 0) ++ //if (det <= 0) ++ if (det <= DBL_MIN) // avoid FPE + err += 1e12; + else + { +@@ -2189,7 +2197,7 @@ + + det *= -1; + +- if (det <= 0) ++ if (det <= DBL_MIN) + err += 1e12; + else + { +@@ -2522,10 +2530,10 @@ + + MeshingParameters :: MeshingParameters () + { +- optimize3d = "cmdmustm"; ++ optimize3d = (char*)"cmdmustm"; // optimize3d = "cmdmustm"; + //optimize3d = "cmdmstm"; + optsteps3d = 3; +- optimize2d = "smsmsmSmSmSm"; ++ optimize2d = (char*)"smsmsmSmSmSm"; // optimize2d = "smsmsmSmSmSm"; + optsteps2d = 3; + opterrpow = 2; + blockfill = 1; +diff -Naur netgen-4.9.13_orig/libsrc/meshing/meshtype.hpp netgen-4.9.13_new/libsrc/meshing/meshtype.hpp +--- netgen-4.9.13_orig/libsrc/meshing/meshtype.hpp 2009-11-09 13:50:43.000000000 +0300 ++++ netgen-4.9.13_new/libsrc/meshing/meshtype.hpp 2014-07-22 13:01:28.000000000 +0400 +@@ -12,6 +12,7 @@ + Classes for NETGEN + */ + ++class Mesh; // added due to compilation errors on some platforms + + enum ELEMENT_TYPE { + SEGMENT = 1, SEGMENT3 = 2, +diff -Naur netgen-4.9.13_orig/libsrc/meshing/smoothing2.cpp netgen-4.9.13_new/libsrc/meshing/smoothing2.cpp +--- netgen-4.9.13_orig/libsrc/meshing/smoothing2.cpp 2009-11-09 13:47:09.000000000 +0300 ++++ netgen-4.9.13_new/libsrc/meshing/smoothing2.cpp 2014-07-22 13:01:28.000000000 +0400 +@@ -302,7 +302,8 @@ + vgrad = 0; + badness = 0; + +- meshthis -> GetNormalVector (surfi, sp1, gi1, n); ++ //normal already computed: meshthis -> GetNormalVector (surfi, sp1, gi1, n); ++ n = normal; + pp1 = sp1 + x(0) * t1 + x(1) * t2; + + // meshthis -> ProjectPoint (surfi, pp1); +@@ -360,7 +361,8 @@ + vgrad = 0; + badness = 0; + +- meshthis -> GetNormalVector (surfi, sp1, gi1, n); ++ //normal already computed: meshthis -> GetNormalVector (surfi, sp1, gi1, n); ++ n = normal; + + pp1 = sp1 + x(0) * t1 + x(1) * t2; + +@@ -514,7 +516,8 @@ + vgrad = 0; + badness = 0; + +- meshthis -> GetNormalVector (surfi, sp1, gi1, n); ++ //normal already computed: meshthis -> GetNormalVector (surfi, sp1, gi1, n); ++ n = normal; + + pp1 = sp1 + x(0) * t1 + x(1) * t2; + +@@ -586,7 +589,8 @@ + vgrad = 0; + badness = 0; + +- meshthis -> GetNormalVector (surfi, sp1, gi1, n); ++ //normal already computed: meshthis -> GetNormalVector (surfi, sp1, gi1, n); ++ n = normal; + + // pp1 = sp1; + // pp1.Add2 (x.Get(1), t1, x.Get(2), t2); +@@ -973,7 +977,7 @@ + { + mesh[pi] = Point<3> (origp); + } +- ++ break; // exit as is not used anymore + } + } + +diff -Naur netgen-4.9.13_orig/libsrc/occ/occconstruction.cpp netgen-4.9.13_new/libsrc/occ/occconstruction.cpp +--- netgen-4.9.13_orig/libsrc/occ/occconstruction.cpp 2009-08-24 06:32:47.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/occconstruction.cpp 2014-07-22 13:01:28.000000000 +0400 +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include ++//#include + //#include + #include + #include +diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc/occ/occgenmesh.cpp +--- netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp 2010-03-16 09:30:07.000000000 +0300 ++++ netgen-4.9.13_new/libsrc/occ/occgenmesh.cpp 2014-07-22 13:01:28.000000000 +0400 +@@ -15,6 +15,8 @@ + + #define DIVIDEEDGESECTIONS 1000 + #define IGNORECURVELENGTH 1e-4 ++// a small value used to avoid FPE ++#define VSMALL 1e-10 + + + bool merge_solids = 1; +@@ -26,7 +28,8 @@ + double nq = n*q; + + Point<3> p = p0 + 0.5*n; +- double lambda = (p-l.p0)*n / nq; ++ // double lambda = (p-l.p0)*n / nq; -- avoid FPE ++ double lambda = (fabs(nq) > 1e-10) ? (p-l.p0)*n / nq : -1; + + if (lambda >= 0 && lambda <= 1) + { +@@ -54,6 +57,8 @@ + + + ++ ++ static // useless out of this file + double ComputeH (double kappa) + { + double hret; +@@ -62,7 +67,8 @@ + if (mparam.maxh * kappa < 1) + hret = mparam.maxh; + else +- hret = 1 / kappa; ++ // hret = 1 / kappa; -- avoid FPE ++ hret = 1 / (kappa + VSMALL); + + if (mparam.maxh < hret) + hret = mparam.maxh; +@@ -71,8 +77,7 @@ + } + + +- +- ++ static // useless out of this file + void RestrictHTriangle (gp_Pnt2d & par0, gp_Pnt2d & par1, gp_Pnt2d & par2, + BRepLProp_SLProps * prop, Mesh & mesh, int depth, double h = 0) + { +@@ -168,8 +173,8 @@ + if(h < 1e-4*maxside) + return; + +- +- if (h > 30) return; ++ // commented to restrict H on a large sphere for example ++ //if (h > 30) return; + } + + if (h < maxside && depth < 10) +@@ -228,6 +233,7 @@ + + + ++ static // useless out of this file + void DivideEdge (TopoDS_Edge & edge, Array & ps, + Array & params, Mesh & mesh) + { +@@ -247,8 +253,8 @@ + hvalue[0] = 0; + pnt = c->Value(s0); + +- double olddist = 0; +- double dist = 0; ++ //double olddist = 0; -- useless variables ++ //double dist = 0; + + int tmpVal = (int)(DIVIDEEDGESECTIONS); + +@@ -256,15 +262,19 @@ + { + oldpnt = pnt; + pnt = c->Value(s0+(i/double(DIVIDEEDGESECTIONS))*(s1-s0)); ++ // -- no more than 1 segment per /DIVIDEEDGESECTIONS + hvalue[i] = hvalue[i-1] + +- 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* +- pnt.Distance(oldpnt); ++ // 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* ++ // pnt.Distance(oldpnt); ++ min( 1.0, ++ 1.0/mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z()))* ++ pnt.Distance(oldpnt)); + + //(*testout) << "mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) " << mesh.GetH(Point3d(pnt.X(), pnt.Y(), pnt.Z())) + // << " pnt.Distance(oldpnt) " << pnt.Distance(oldpnt) << endl; + +- olddist = dist; +- dist = pnt.Distance(oldpnt); ++ //olddist = dist; -- useless variables ++ //dist = pnt.Distance(oldpnt); + } + + // nsubedges = int(ceil(hvalue[DIVIDEEDGESECTIONS])); +@@ -279,7 +289,10 @@ + { + if (hvalue[i1]/hvalue[DIVIDEEDGESECTIONS]*nsubedges >= i) + { +- params[i] = s0+(i1/double(DIVIDEEDGESECTIONS))*(s1-s0); ++ // -- for nsubedges comparable to DIVIDEEDGESECTIONS ++ //params[i] = s0+(i1/double(DIVIDEEDGESECTIONS))*(s1-s0); ++ double d1 = i1 - (hvalue[i1] - i*hvalue[DIVIDEEDGESECTIONS]/nsubedges)/(hvalue[i1]-hvalue[i1-1]); ++ params[i] = s0+(d1/double(DIVIDEEDGESECTIONS))*(s1-s0); + pnt = c->Value(params[i]); + ps[i-1] = MeshPoint (Point3d(pnt.X(), pnt.Y(), pnt.Z())); + i++; +@@ -323,6 +336,9 @@ + (*testout) << "nedges = " << nedges << endl; + + double eps = 1e-6 * geom.GetBoundingBox().Diam(); ++ const double eps2 = eps * eps; // -- small optimization ++ ++ int first_vp = mesh.GetNP()+1; // -- to support SALOME sub-meshes + + for (int i = 1; i <= nvertices; i++) + { +@@ -332,7 +348,8 @@ + bool exists = 0; + if (merge_solids) + for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++) +- if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps) ++ //if ( Dist2 (mesh[pi], Point<3>(mp)) < eps*eps) ++ if ( Dist2 (mesh[pi], Point<3>(mp)) < eps2 ) // -- small optimization + { + exists = 1; + break; +@@ -362,6 +379,7 @@ + { + TopoDS_Face face = TopoDS::Face(exp1.Current()); + int facenr = geom.fmap.FindIndex(face); ++ if ( facenr < 1 ) continue; // -- to support SALOME sub-meshes + + if (face2solid[0][facenr-1] == 0) + face2solid[0][facenr-1] = solidnr; +@@ -381,6 +399,7 @@ + int facenr = 0; + int edgenr = 0; + ++ edgenr = mesh.GetNSeg(); // to support SALOME sub-meshes + + (*testout) << "faces = " << geom.fmap.Extent() << endl; + int curr = 0; +@@ -442,6 +461,7 @@ + //(*testout) << "ignoring degenerated edge" << endl; + continue; + } ++ if ( geom.emap.FindIndex(edge) < 1 ) continue; // to support SALOME sub-meshes + + if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) == + geom.vmap.FindIndex(TopExp::LastVertex (edge))) +@@ -474,20 +494,104 @@ + + if (!merge_solids) + { +- pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge)); +- pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge)); ++ //pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge)); ++ //pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge)); ++ MeshPoint dfltP ( Point<3> ( 0, 0, 0 ) ); ++ int *ipp[] = { &pnums[0], &pnums[pnums.Size()-1] }; ++ TopoDS_Iterator vIt( edge, false ); ++ TopoDS_Vertex v[2]; ++ v[0] = TopoDS::Vertex( vIt.Value() ); vIt.Next(); ++ v[1] = TopoDS::Vertex( vIt.Value() ); ++ if ( v[0].Orientation() == TopAbs_REVERSED ) ++ std::swap( v[0], v[1] ); ++ for ( int i = 0; i < 2; ++i) ++ { ++ int &ip = *ipp[i]; ++ ip = geom.vmap.FindIndex ( v[i] ); ++ if ( ip == 0 || ip > nvertices ) ++ { ++ int iv = ip; ++ if ( ip == 0 ) ++ ip = iv = geom.vmap.Add( v[i] ); ++ gp_Pnt pnt = BRep_Tool::Pnt( v[i] ); ++ MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) ); ++ for (PointIndex pi = 1; pi < first_vp; pi++) ++ if ( Dist2 (mesh.Point(pi), Point<3>(mp)) < 1e-100 ) ++ { ++ ip = pi; ++ if ( mesh.Point(ip).GetLayer() != dfltP.GetLayer() && mesh.Point(ip).GetLayer() != iv ) ++ continue; ++ if ( mesh.Point(ip).GetLayer() == dfltP.GetLayer()) ++ mesh.Point(ip) = MeshPoint( mesh.Point(ip), iv ); ++ break; ++ } ++ } ++ else ++ { ++ ip += first_vp - 1; ++ } ++ } + } + else + { +- Point<3> fp = occ2ng (BRep_Tool::Pnt (TopExp::FirstVertex (edge))); +- Point<3> lp = occ2ng (BRep_Tool::Pnt (TopExp::LastVertex (edge))); ++ TopoDS_Iterator vIt( edge, false ); ++ TopoDS_Vertex v1 = TopoDS::Vertex( vIt.Value() ); vIt.Next(); ++ TopoDS_Vertex v2 = TopoDS::Vertex( vIt.Value() ); ++ if ( v1.Orientation() == TopAbs_REVERSED ) ++ std::swap( v1, v2 ); ++ const bool isClosedEdge = v1.IsSame( v2 ); ++ ++ Point<3> fp = occ2ng (BRep_Tool::Pnt (v1)); ++ Point<3> lp = occ2ng (BRep_Tool::Pnt (v2)); ++ double tol2 = std::min( eps*eps, 1e-6 * Dist2( fp, lp )); ++ if ( isClosedEdge ) ++ tol2 = BRep_Tool::Tolerance( v1 ) * BRep_Tool::Tolerance( v1 ); + + pnums[0] = -1; + pnums.Last() = -1; + for (PointIndex pi = 1; pi < first_ep; pi++) + { +- if (Dist2 (mesh[pi], fp) < eps*eps) pnums[0] = pi; +- if (Dist2 (mesh[pi], lp) < eps*eps) pnums.Last() = pi; ++ if (Dist2 (mesh[pi], fp) < tol2) pnums[0] = pi; ++ if (Dist2 (mesh[pi], lp) < tol2) pnums.Last() = pi; ++ } ++ if (( isClosedEdge && pnums[0] != pnums.Last() ) || ++ ( !isClosedEdge && pnums[0] == pnums.Last() )) ++ pnums[0] = pnums.Last() = -1; ++ if ( pnums[0] == -1 || pnums.Last() == -1 ) ++ { ++ // take into account a possible large gap between a vertex and an edge curve ++ // end and a large vertex tolerance covering the whole edge ++ if ( pnums[0] == -1 ) ++ { ++ double tol = BRep_Tool::Tolerance( v1 ); ++ for (PointIndex pi = 1; pi < first_ep; pi++) ++ if (pi != pnums.Last() && Dist2 (mesh[pi], fp) < 2*tol*tol) ++ pnums[0] = pi; ++ ++ if ( pnums[0] == -1 ) ++ pnums[0] = first_ep-1- nvertices + geom.vmap.FindIndex ( v1 ); ++ } ++ if ( isClosedEdge ) ++ { ++ pnums.Last() = pnums[0]; ++ } ++ else ++ { ++ if ( pnums.Last() == -1 ) ++ { ++ double tol = BRep_Tool::Tolerance( v2 ); ++ for (PointIndex pi = 1; pi < first_ep; pi++) ++ if (pi != pnums[0] && Dist2 (mesh[pi], lp) < 2*tol*tol) ++ pnums.Last() = pi; ++ ++ if ( pnums.Last() == -1 ) ++ pnums.Last() = first_ep-1-nvertices + geom.vmap.FindIndex ( v2 ); ++ } ++ ++ if ( Dist2( fp, mesh[PointIndex(pnums[0])]) > ++ Dist2( lp, mesh[PointIndex(pnums.Last())])) ++ std::swap( pnums[0], pnums.Last() ); ++ } + } + } + +@@ -497,17 +601,20 @@ + bool exists = 0; + int j; + for (j = first_ep; j <= mesh.GetNP(); j++) ++ { ++ if (!merge_solids && mesh.Point(j).GetLayer() != geomedgenr ) continue; // to support SALOME fuse edges + if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps) + { + exists = 1; + break; + } ++ } + + if (exists) + pnums[i] = j; + else + { +- mesh.AddPoint (mp[i-1]); ++ mesh.AddPoint (mp[i-1], geomedgenr); // to support SALOME fuse edges + (*testout) << "add meshpoint " << mp[i-1] << endl; + pnums[i] = mesh.GetNP(); + } +@@ -591,6 +698,8 @@ + // (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si + // << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl; + // exit(10); ++ for (int j = 1; j <= mesh.GetNP(); j++) // to support SALOME fuse edges: set level to zero ++ mesh.Point(j) = MeshPoint( (Point<3>&) mesh.Point(j) ); + + mesh.CalcSurfacesOfNode(); + multithread.task = savetask; +@@ -633,7 +742,8 @@ + } + + (*testout) << "mesh face " << k << endl; +- multithread.percent = 100 * k / (mesh.GetNFD()+1e-10); ++ // multithread.percent = 100 * k / (mesh.GetNFD()+1e-10); -- avoid FPE ++ multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL); + geom.facemeshstatus[k-1] = -1; + + +@@ -901,7 +1011,8 @@ + // if (k != 36) continue; + + // (*testout) << "optimize face " << k << endl; +- multithread.percent = 100 * k / (mesh.GetNFD()+1e-10); ++ //multithread.percent = 100 * k / (mesh.GetNFD()+1e-10); -- avoid FPE ++ multithread.percent = 100 * k / (mesh.GetNFD() + VSMALL); + + FaceDescriptor & fd = mesh.GetFaceDescriptor(k); + +@@ -1456,3 +1567,4 @@ + } + + #endif ++ +diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.cpp netgen-4.9.13_new/libsrc/occ/occgeom.cpp +--- netgen-4.9.13_orig/libsrc/occ/occgeom.cpp 2010-03-05 16:16:21.000000000 +0300 ++++ netgen-4.9.13_new/libsrc/occ/occgeom.cpp 2014-07-22 13:01:28.000000000 +0400 +@@ -8,6 +8,8 @@ + #include "ShapeAnalysis_CheckSmallFace.hxx" + #include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx" + #include "ShapeAnalysis_Surface.hxx" ++#include // -- to optimize Project() and FastProject() ++#include + #include "BRepAlgoAPI_Fuse.hxx" + #include "BRepCheck_Analyzer.hxx" + #include "BRepLib.hxx" +@@ -16,10 +18,17 @@ + #include "ShapeFix_FixSmallFace.hxx" + #include "Partition_Spliter.hxx" + +- + namespace netgen + { +- void OCCGeometry :: PrintNrShapes () ++ // free data used to optimize Project() and FastProject() ++ OCCGeometry::~OCCGeometry() ++ { ++ NCollection_DataMap::Iterator it(fclsmap); ++ for (; it.More(); it.Next()) ++ delete it.Value(); ++ } ++ ++ void OCCGeometry :: PrintNrShapes () + { + TopExp_Explorer e; + int count = 0; +@@ -951,25 +960,58 @@ + } + + ++ // returns a projector and a classifier for the given surface ++ void OCCGeometry::GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj, ++ BRepTopAdaptor_FClass2d*& cls) const ++ { ++ //MSV: organize caching projector in the map ++ if (fprjmap.IsBound(surfi)) ++ { ++ proj = fprjmap.Find(surfi); ++ cls = fclsmap.Find(surfi); ++ } ++ else ++ { ++ const TopoDS_Face& aFace = TopoDS::Face(fmap(surfi)); ++ Handle(Geom_Surface) aSurf = BRep_Tool::Surface(aFace); ++ proj = new ShapeAnalysis_Surface(aSurf); ++ fprjmap.Bind(surfi, proj); ++ cls = new BRepTopAdaptor_FClass2d(aFace,Precision::Confusion()); ++ fclsmap.Bind(surfi, cls); ++ } ++ } + +- +- void OCCGeometry :: Project (int surfi, Point<3> & p) const ++ // void OCCGeometry :: Project (int surfi, Point<3> & p) const ++ bool OCCGeometry :: Project (int surfi, Point<3> & p, double& u, double& v) const + { + static int cnt = 0; + if (++cnt % 1000 == 0) cout << "Project cnt = " << cnt << endl; + + gp_Pnt pnt(p(0), p(1), p(2)); + +- double u,v; +- Handle( Geom_Surface ) thesurf = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); +- Handle( ShapeAnalysis_Surface ) su = new ShapeAnalysis_Surface( thesurf ); +- gp_Pnt2d suval = su->ValueOfUV ( pnt, BRep_Tool::Tolerance( TopoDS::Face(fmap(surfi)) ) ); +- suval.Coord( u, v); +- pnt = thesurf->Value( u, v ); +- +- ++ // -- Optimization: use cached projector and classifier ++ // double u,v; ++ // Handle( Geom_Surface ) thesurf = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); ++ // Handle( ShapeAnalysis_Surface ) su = new ShapeAnalysis_Surface( thesurf ); ++ // gp_Pnt2d suval = su->ValueOfUV ( pnt, BRep_Tool::Tolerance( TopoDS::Face(fmap(surfi)) ) ); ++ // suval.Coord( u, v); ++ // pnt = thesurf->Value( u, v ); ++ ++ Handle(ShapeAnalysis_Surface) proj; ++ BRepTopAdaptor_FClass2d *cls; ++ GetFaceTools(surfi, proj, cls); ++ ++ gp_Pnt2d p2d = proj->ValueOfUV(pnt, Precision::Confusion()); ++ if (cls->Perform(p2d) == TopAbs_OUT) ++ { ++ return false; ++ } ++ pnt = proj->Value(p2d); ++ p2d.Coord(u, v); ++ + p = Point<3> (pnt.X(), pnt.Y(), pnt.Z()); + ++ return true; + } + + +@@ -979,54 +1021,69 @@ + { + gp_Pnt p(ap(0), ap(1), ap(2)); + +- Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); +- +- gp_Pnt x = surface->Value (u,v); +- +- if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true; +- +- gp_Vec du, dv; +- +- surface->D1(u,v,x,du,dv); +- +- int count = 0; +- +- gp_Pnt xold; +- gp_Vec n; +- double det, lambda, mu; +- +- do { +- count++; +- +- n = du^dv; +- +- det = Det3 (n.X(), du.X(), dv.X(), +- n.Y(), du.Y(), dv.Y(), +- n.Z(), du.Z(), dv.Z()); +- +- if (det < 1e-15) return false; +- +- lambda = Det3 (n.X(), p.X()-x.X(), dv.X(), +- n.Y(), p.Y()-x.Y(), dv.Y(), +- n.Z(), p.Z()-x.Z(), dv.Z())/det; +- +- mu = Det3 (n.X(), du.X(), p.X()-x.X(), +- n.Y(), du.Y(), p.Y()-x.Y(), +- n.Z(), du.Z(), p.Z()-x.Z())/det; +- +- u += lambda; +- v += mu; +- +- xold = x; +- surface->D1(u,v,x,du,dv); +- +- } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50); +- +- // (*testout) << "FastProject count: " << count << endl; +- +- if (count == 50) return false; +- +- ap = Point<3> (x.X(), x.Y(), x.Z()); ++ // -- Optimization: use cached projector and classifier ++ // Handle(Geom_Surface) surface = BRep_Tool::Surface(TopoDS::Face(fmap(surfi))); ++ // ++ // gp_Pnt x = surface->Value (u,v); ++ // ++ // if (p.SquareDistance(x) <= sqr(PROJECTION_TOLERANCE)) return true; ++ // ++ // gp_Vec du, dv; ++ // ++ // surface->D1(u,v,x,du,dv); ++ // ++ // int count = 0; ++ // ++ // gp_Pnt xold; ++ // gp_Vec n; ++ // double det, lambda, mu; ++ // ++ // do { ++ // count++; ++ // ++ // n = du^dv; ++ // ++ // det = Det3 (n.X(), du.X(), dv.X(), ++ // n.Y(), du.Y(), dv.Y(), ++ // n.Z(), du.Z(), dv.Z()); ++ // ++ // if (det < 1e-15) return false; ++ // ++ // lambda = Det3 (n.X(), p.X()-x.X(), dv.X(), ++ // n.Y(), p.Y()-x.Y(), dv.Y(), ++ // n.Z(), p.Z()-x.Z(), dv.Z())/det; ++ // ++ // mu = Det3 (n.X(), du.X(), p.X()-x.X(), ++ // n.Y(), du.Y(), p.Y()-x.Y(), ++ // n.Z(), du.Z(), p.Z()-x.Z())/det; ++ // ++ // u += lambda; ++ // v += mu; ++ // ++ // xold = x; ++ // surface->D1(u,v,x,du,dv); ++ // ++ // } while (xold.SquareDistance(x) > sqr(PROJECTION_TOLERANCE) && count < 50); ++ // ++ // // (*testout) << "FastProject count: " << count << endl; ++ // ++ // if (count == 50) return false; ++ // ++ // ap = Point<3> (x.X(), x.Y(), x.Z()); ++ Handle(ShapeAnalysis_Surface) proj; ++ BRepTopAdaptor_FClass2d *cls; ++ GetFaceTools(surfi, proj, cls); ++ ++ gp_Pnt2d p2d = proj->NextValueOfUV(gp_Pnt2d(u,v), p, Precision::Confusion()); ++ if (cls->Perform(p2d) == TopAbs_OUT) ++ { ++ //cout << "Projection fails" << endl; ++ return false; ++ } ++ ++ p = proj->Value(p2d); ++ p2d.Coord(u, v); ++ ap = Point<3> (p.X(), p.Y(), p.Z()); + + return true; + } +@@ -1038,9 +1095,9 @@ + { + cout << "writing stl..."; cout.flush(); + StlAPI_Writer writer; +- writer.RelativeMode() = Standard_False; ++ // writer.RelativeMode() = Standard_False; + +- writer.SetDeflection(0.02); ++ // writer.SetDeflection(0.02); + writer.Write(shape,filename); + + cout << "done" << endl; +diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.hpp netgen-4.9.13_new/libsrc/occ/occgeom.hpp +--- netgen-4.9.13_orig/libsrc/occ/occgeom.hpp 2010-01-14 19:56:19.000000000 +0300 ++++ netgen-4.9.13_new/libsrc/occ/occgeom.hpp 2014-07-22 13:09:03.000000000 +0400 +@@ -15,8 +15,8 @@ + #include "Geom_Curve.hxx" + #include "Geom2d_Curve.hxx" + #include "Geom_Surface.hxx" +-#include "GeomAPI_ProjectPointOnSurf.hxx" +-#include "GeomAPI_ProjectPointOnCurve.hxx" ++// #include "GeomAPI_ProjectPointOnSurf.hxx" ++// #include "GeomAPI_ProjectPointOnCurve.hxx" + #include "BRepTools.hxx" + #include "TopExp.hxx" + #include "BRepBuilderAPI_MakeVertex.hxx" +@@ -42,8 +42,8 @@ + #include "Geom_Curve.hxx" + #include "Geom2d_Curve.hxx" + #include "Geom_Surface.hxx" +-#include "GeomAPI_ProjectPointOnSurf.hxx" +-#include "GeomAPI_ProjectPointOnCurve.hxx" ++// #include "GeomAPI_ProjectPointOnSurf.hxx" ++// #include "GeomAPI_ProjectPointOnCurve.hxx" + #include "TopoDS_Wire.hxx" + #include "BRepTools_WireExplorer.hxx" + #include "BRepTools.hxx" +@@ -68,18 +68,26 @@ + #include "IGESToBRep_Reader.hxx" + #include "Interface_Static.hxx" + #include "GeomAPI_ExtremaCurveCurve.hxx" +-#include "Standard_ErrorHandler.hxx" ++//#include "Standard_ErrorHandler.hxx" + #include "Standard_Failure.hxx" + #include "ShapeUpgrade_ShellSewing.hxx" + #include "ShapeFix_Shape.hxx" + #include "ShapeFix_Wireframe.hxx" ++#include ++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) <= 0x060702 ++// porting to OCCT6.7.3 + #include "BRepMesh.hxx" ++#endif + #include "BRepMesh_IncrementalMesh.hxx" + #include "BRepBndLib.hxx" + #include "Bnd_Box.hxx" + #include "ShapeAnalysis.hxx" + #include "ShapeBuild_ReShape.hxx" + ++// -- Optimization: to use cached projector and classifier ++#include ++class Handle_ShapeAnalysis_Surface; ++class BRepTopAdaptor_FClass2d; + + // Philippose - 29/01/2009 + // OpenCascade XDE Support +@@ -190,6 +198,9 @@ + class OCCGeometry : public NetgenGeometry + { + Point<3> center; ++ // -- Optimization: to use cached projector and classifier ++ mutable NCollection_DataMap fprjmap; ++ mutable NCollection_DataMap fclsmap; + + public: + TopoDS_Shape shape; +@@ -241,6 +252,8 @@ + vmap.Clear(); + } + ++ ~OCCGeometry(); // -- to free cached projector and classifier ++ + void BuildFMap(); + + Box<3> GetBoundingBox() +@@ -260,9 +273,14 @@ + Point<3> Center() + { return center;} + +- void Project (int surfi, Point<3> & p) const; ++ // void Project (int surfi, Point<3> & p) const; -- optimization ++ bool Project (int surfi, Point<3> & p, double& u, double& v) const; + bool FastProject (int surfi, Point<3> & ap, double& u, double& v) const; + ++ // -- Optimization: to use cached projector and classifier ++ void GetFaceTools(int surfi, Handle(ShapeAnalysis_Surface)& proj, ++ BRepTopAdaptor_FClass2d*& cls) const; ++ + OCCSurface GetSurface (int surfi) + { + cout << "OCCGeometry::GetSurface using PLANESPACE" << endl; +diff -Naur netgen-4.9.13_orig/libsrc/occ/occmeshsurf.cpp netgen-4.9.13_new/libsrc/occ/occmeshsurf.cpp +--- netgen-4.9.13_orig/libsrc/occ/occmeshsurf.cpp 2009-08-24 06:32:47.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/occmeshsurf.cpp 2014-07-22 13:01:28.000000000 +0400 +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include // -- moved here from occgeom.hpp + + + namespace netgen +@@ -434,23 +435,33 @@ + + void MeshOptimize2dOCCSurfaces :: ProjectPoint (INDEX surfind, Point<3> & p) const + { +- geometry.Project (surfind, p); ++ // geometry.Project (surfind, p); -- signature of Project() changed for optimization ++ double u, v; ++ geometry.Project (surfind, p, u, v); + } + + + int MeshOptimize2dOCCSurfaces :: ProjectPointGI (INDEX surfind, Point<3> & p, PointGeomInfo & gi) const + { +- double u = gi.u; +- double v = gi.v; ++ //double u = gi.u; ++ //double v = gi.v; + + Point<3> hp = p; +- if (geometry.FastProject (surfind, hp, u, v)) +- { +- p = hp; +- return 1; +- } +- ProjectPoint (surfind, p); +- return CalcPointGeomInfo (surfind, gi, p); ++ // -- u and v are computed by FastProject() and Project(), no need to call CalcPointGeomInfo() ++ // if (geometry.FastProject (surfind, hp, u, v)) ++ // { ++ // p = hp; ++ // return 1; ++ // } ++ // ProjectPoint (surfind, p); ++ // return CalcPointGeomInfo (surfind, gi, p); ++ bool ok; ++ if (gi.trignum > 0) ++ ok = geometry.FastProject (surfind, hp, gi.u, gi.v); ++ else ++ ok = geometry.Project (surfind, hp, gi.u, gi.v); ++ p = hp; ++ return ok; + } + + +@@ -680,7 +691,8 @@ + if (!geometry.FastProject (surfi, hnewp, u, v)) + { + // cout << "Fast projection to surface fails! Using OCC projection" << endl; +- geometry.Project (surfi, hnewp); ++ // geometry.Project (surfi, hnewp); -- Project() changed for optimization ++ geometry.Project (surfi, hnewp, u, v); + } + + newgi.trignum = 1; +@@ -689,7 +701,7 @@ + } + + newp = hnewp; +- } ++ }//; -- to compile with -Wall -pedantic + + + void OCCRefinementSurfaces :: +@@ -708,14 +720,18 @@ + hnewp = Point<3> (pnt.X(), pnt.Y(), pnt.Z()); + newp = hnewp; + newgi = ap1; +- }; ++ } + + + void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi) + { + if (surfi > 0) +- geometry.Project (surfi, p); +- }; ++ // geometry.Project (surfi, p); -- Project() changed for optimization ++ { ++ double u, v; ++ geometry.Project (surfi, p, u, v); ++ } ++ }//; -- to compile with -Wall -pedantic + + void OCCRefinementSurfaces :: ProjectToSurface (Point<3> & p, int surfi, PointGeomInfo & gi) + { +@@ -723,9 +739,10 @@ + if (!geometry.FastProject (surfi, p, gi.u, gi.v)) + { + cout << "Fast projection to surface fails! Using OCC projection" << endl; +- geometry.Project (surfi, p); ++ double u, v; ++ geometry.Project (surfi, p, u, v); + } +- }; ++ } + + + +diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Inter3d.cxx netgen-4.9.13_new/libsrc/occ/Partition_Inter3d.cxx +--- netgen-4.9.13_orig/libsrc/occ/Partition_Inter3d.cxx 2009-08-24 06:12:24.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/Partition_Inter3d.cxx 2014-07-22 13:01:28.000000000 +0400 +@@ -86,6 +86,9 @@ + #include + #include + #include ++ ++#include ++ + #include + + //======================================================================= +@@ -243,7 +246,12 @@ + Standard_Integer i, nbExt = anExtPS.NbExt(); + Extrema_POnSurf aPOnSurf; + for (i = 1; i <= nbExt; ++i ) ++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400 ++// porting to OCCT6.5.1 ++ if (anExtPS.SquareDistance( i ) <= TolE * TolE) { ++#else + if (anExtPS.Value( i ) <= TolE) { ++#endif + aPOnSurf = anExtPS.Point( i ); + break; + } +diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Loop2d.cxx netgen-4.9.13_new/libsrc/occ/Partition_Loop2d.cxx +--- netgen-4.9.13_orig/libsrc/occ/Partition_Loop2d.cxx 2009-08-24 06:12:24.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/Partition_Loop2d.cxx 2014-07-22 13:01:28.000000000 +0400 +@@ -22,7 +22,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -51,6 +50,15 @@ + #include + #include + ++#include ++ ++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400 ++// porting to OCCT6.5.1 ++#include ++#else ++#include ++#endif ++ + //======================================================================= + //function : Partition_Loop2d + //purpose : +@@ -209,7 +217,7 @@ + Cc->D1(uc, PC, CTg1); + if (!isForward) CTg1.Reverse(); + +- Standard_Real anglemin = 3 * PI, tolAng = 1.e-8; ++ Standard_Real anglemin = 3 * M_PI, tolAng = 1.e-8; + + // select an edge whose first derivative is most left of CTg1 + // ie an angle between Tg1 and CTg1 is least +@@ -233,7 +241,7 @@ + // -PI < angle < PI + Standard_Real angle = Tg1.Angle(CTg1); + +- if (PI - Abs(angle) <= tolAng) ++ if (M_PI - Abs(angle) <= tolAng) + { + // an angle is too close to PI; assure that an angle sign really + // reflects an edge position: +PI - an edge is worst, +@@ -519,7 +527,12 @@ + DC.Initialize( DegEdge, F ); + + // avoid intersecting twice the same edge ++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400 ++// porting to OCCT6.5.1 ++ TopTools_DataMapOfShapeReal EUMap ( EdgesList.Extent() ); ++#else + BRepOffset_DataMapOfShapeReal EUMap ( EdgesList.Extent() ); ++#endif + + Standard_Real U, f, l; + BRep_Tool::Range (DegEdge, f, l); +diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Loop.cxx netgen-4.9.13_new/libsrc/occ/Partition_Loop.cxx +--- netgen-4.9.13_orig/libsrc/occ/Partition_Loop.cxx 2009-08-24 06:12:24.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/Partition_Loop.cxx 2014-07-22 13:01:28.000000000 +0400 +@@ -178,7 +178,7 @@ + } + } + +- Standard_Real anglemax = - PI; ++ Standard_Real anglemax = - M_PI; + TopoDS_Edge SelectedEdge; + for ( itl.Initialize(LE); itl.More(); itl.Next()) { + const TopoDS_Edge& E = TopoDS::Edge(itl.Value()); +diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Spliter.cxx netgen-4.9.13_new/libsrc/occ/Partition_Spliter.cxx +--- netgen-4.9.13_orig/libsrc/occ/Partition_Spliter.cxx 2009-08-24 06:12:24.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/Partition_Spliter.cxx 2014-07-22 13:01:28.000000000 +0400 +@@ -79,6 +79,8 @@ + #include + #include + ++#include ++ + #ifdef DEB + //# define PART_PERF + #endif +@@ -1169,7 +1171,12 @@ + for (; j<=nbj && ok; ++j) { + if (Extrema.IsMin(j)) { + hasMin = Standard_True; ++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400 ++// porting to OCCT6.5.1 ++ ok = Extrema.SquareDistance(j) <= tol * tol; ++#else + ok = Extrema.Value(j) <= tol; ++#endif + } + } + } +diff -Naur netgen-4.9.13_orig/libsrc/occ/utilities.h netgen-4.9.13_new/libsrc/occ/utilities.h +--- netgen-4.9.13_orig/libsrc/occ/utilities.h 2009-08-24 06:12:24.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/utilities.h 2014-07-22 13:01:28.000000000 +0400 +@@ -33,6 +33,7 @@ + + #include + #include ++#include + #include + // #include "SALOME_Log.hxx" + +diff -Naur netgen-4.9.13_orig/libsrc/stlgeom/stlgeommesh.cpp netgen-4.9.13_new/libsrc/stlgeom/stlgeommesh.cpp +--- netgen-4.9.13_orig/libsrc/stlgeom/stlgeommesh.cpp 2009-08-10 15:40:51.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/stlgeom/stlgeommesh.cpp 2014-07-22 13:01:28.000000000 +0400 +@@ -1435,7 +1435,8 @@ + + if (!optstring || strlen(optstring) == 0) + { +- mparam.optimize2d = "smcm"; ++ //mparam.optimize2d = (char*)"smcm"; ++ mparam.optimize2d = (char*)"smcm"; + } + else + { +@@ -1451,7 +1452,8 @@ + mparam.grading); + mesh -> LoadLocalMeshSize (mparam.meshsizefilename); + mesh -> CalcLocalHFromSurfaceCurvature (stlparam.resthsurfmeshcurvfac); +- mparam.optimize2d = "cmsmSm"; ++ //mparam.optimize2d = (char*)"cmsmSm"; ++ mparam.optimize2d = (char*)"cmsmSm"; + STLSurfaceOptimization (*stlgeometry, *mesh, mparam); + #ifdef STAT_STREAM + (*statout) << GetTime() << " & "; +@@ -1557,7 +1559,8 @@ + + if (!optstring || strlen(optstring) == 0) + { +- mparam.optimize3d = "cmdmstm"; ++ //mparam.optimize3d = "cmdmstm"; ++ mparam.optimize3d = (char*)"cmdmstm"; + } + else + { +diff -Naur netgen-4.9.13_orig/nglib/nglib.h netgen-4.9.13_new/nglib/nglib.h +--- netgen-4.9.13_orig/nglib/nglib.h 2010-05-18 15:20:25.000000000 +0400 ++++ netgen-4.9.13_new/nglib/nglib.h 2014-07-22 13:01:28.000000000 +0400 +@@ -24,7 +24,7 @@ + // Philippose - 14.02.2009 + // Modifications for creating a DLL in Windows + #ifdef WIN32 +- #ifdef NGLIB_EXPORTS || nglib_EXPORTS ++ #if defined NGLIB_EXPORTS || defined nglib_EXPORTS + #define DLL_HEADER __declspec(dllexport) + #else + #define DLL_HEADER __declspec(dllimport) diff --git a/data/patches/patchPyQt496noPhonon.patch b/data/patches/patchPyQt496noPhonon.patch new file mode 100755 index 0000000..425e4ea --- /dev/null +++ b/data/patches/patchPyQt496noPhonon.patch @@ -0,0 +1,14 @@ +diff -pruN PyQt-4.9.6/configure.py PyQt-4.9.6_new/configure.py +--- PyQt-4.9.6/configure.py 2012-12-08 10:51:13.000000000 +0100 ++++ PyQt-4.9.6_new/configure.py 2013-03-12 10:04:55.000000000 +0100 +@@ -390,8 +390,8 @@ class ConfigurePyQt4: + if qt_version < 0x050000: + check_module("QtXmlPatterns", "qxmlname.h", "new QXmlName()") + +- if qt_version < 0x050000: check_module("phonon", "phonon/videowidget.h", +- "new Phonon::VideoWidget()") ++ #if qt_version < 0x050000: check_module("phonon", "phonon/videowidget.h", ++ # "new Phonon::VideoWidget()") + check_module("QtAssistant", "qassistantclient.h", + "new QAssistantClient(\"foo\")", extra_lib_dirs=ass_lib_dirs, + extra_libs=ass_libs) diff --git a/data/patches/qt-4.8.4-enable-webkit-compilation-whith-gcc5.patch b/data/patches/qt-4.8.4-enable-webkit-compilation-whith-gcc5.patch new file mode 100644 index 0000000..9b2e14b --- /dev/null +++ b/data/patches/qt-4.8.4-enable-webkit-compilation-whith-gcc5.patch @@ -0,0 +1,12 @@ +diff -rupN qt-4.8.4_old/configure qt-4.8.4_new/configure +--- qt-4.8.4_old/configure 2012-11-23 11:11:23.000000000 +0100 ++++ qt-4.8.4_new/configure 2015-07-02 10:04:54.286480668 +0200 +@@ -7666,7 +7666,7 @@ case "$XPLATFORM" in + *-g++*) + # Check gcc's version + case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in +- 4*|3.4*) ++ 4*|3.4*|5*) + ;; + 3.3*) + canBuildWebKit="no" diff --git a/data/patches/scipy-0.14.1.patch b/data/patches/scipy-0.14.1.patch new file mode 100644 index 0000000..046c10b --- /dev/null +++ b/data/patches/scipy-0.14.1.patch @@ -0,0 +1,37 @@ +diff -rupN scipy-0.14.1_old/scipy/_build_utils/_fortran.py scipy-0.14.1_new/scipy/_build_utils/_fortran.py +--- scipy-0.14.1_old/scipy/_build_utils/_fortran.py 2014-11-23 21:41:04.000000000 +0100 ++++ scipy-0.14.1_new/scipy/_build_utils/_fortran.py 2015-04-02 10:04:31.334629000 +0200 +@@ -13,11 +13,11 @@ __all__ = ['needs_g77_abi_wrapper', 'spl + def uses_veclib(info): + if sys.platform != "darwin": + return False +- r_accelerate = re.compile("vecLib") +- extra_link_args = info.get('extra_link_args', '') +- for arg in extra_link_args: +- if r_accelerate.search(arg): +- return True ++ #r_accelerate = re.compile("vecLib") ++ #extra_link_args = info.get('extra_link_args', '') ++ #for arg in extra_link_args: ++ # if r_accelerate.search(arg): ++ # return True + return False + + +@@ -33,11 +33,11 @@ def uses_accelerate(info): + + + def uses_mkl(info): +- r_mkl = re.compile("mkl_core") +- libraries = info.get('libraries', '') +- for library in libraries: +- if r_mkl.search(library): +- return True ++ #r_mkl = re.compile("mkl_core") ++ #libraries = info.get('libraries', '') ++ #for library in libraries: ++ # if r_mkl.search(library): ++ # return True + + return False + diff --git a/data/products/CAS.pyconf b/data/products/CAS.pyconf new file mode 100644 index 0000000..610302b --- /dev/null +++ b/data/products/CAS.pyconf @@ -0,0 +1,19 @@ +CAS_6_9_1p1 : +{ + name : "CAS" + build_source : "autotools" + configure_options : "-without-tcl --without-tk --disable-draw --with-freetype=$FREETYPEDIR --enable-debug=no --enable-production=yes --with-gl2ps=$GL2PSDIR --with-freeimage=$FREEIMAGEDIR" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-6.9.1p1.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['freetype', 'freeimage', 'gl2ps', 'tcl', 'tk'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/Cython.pyconf b/data/products/Cython.pyconf new file mode 100644 index 0000000..3b15fcf --- /dev/null +++ b/data/products/Cython.pyconf @@ -0,0 +1,19 @@ +Cython_0_23_2 : +{ + name : "Cython" + build_source : "script" + compil_script : "cython.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + "Cython-0.23.2.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} \ No newline at end of file diff --git a/data/products/GEOM.pyconf b/data/products/GEOM.pyconf new file mode 100644 index 0000000..37f7918 --- /dev/null +++ b/data/products/GEOM.pyconf @@ -0,0 +1,38 @@ +GEOM : +{ + name : "GEOM" + build_source : "cmake" + get_source : "git" + git_info: + { + repo : "http://git.salome-platform.org/gitpub/modules/geom.git" + repo_dev : $SITE.prepare.default_git_server_dev + $VARS.sep + $name + } + environ : + { + } + depend : ["KERNEL", + "GUI", + "boost", + "CAS", + "Python", + "swig", + "hdf5", + "omniORB", + "qt", + "ParaView", + "doxygen", + "graphviz", + "docutils", + "Sphinx", + "Jinja2", + "setuptools", + "Pygments", + "cppunit", + "opencv", + "six", + "pytz"] + type : "salome" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name +} diff --git a/data/products/GUI.pyconf b/data/products/GUI.pyconf new file mode 100644 index 0000000..129501e --- /dev/null +++ b/data/products/GUI.pyconf @@ -0,0 +1,37 @@ +GUI : +{ + name : "GUI" + build_source : "cmake" + get_source : "git" + git_info: + { + repo : "http://git.salome-platform.org/gitpub/modules/gui.git" + repo_dev : $SITE.prepare.default_git_server_dev + $VARS.sep + $name + } + environ : + { + } + depend : ["KERNEL", + "Python", + "qt", + "sip", + "PyQt", + "boost", + "swig", + "CAS", + "qwt", + "hdf5", + "freetype", + "freeimage", + "gl2ps", + "ParaView", + "omniORB", + "doxygen", + "graphviz", + "docutils", + "libxml2", + "cppunit"] + type : "salome" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name +} diff --git a/data/products/Homard.pyconf b/data/products/Homard.pyconf new file mode 100644 index 0000000..a737fb5 --- /dev/null +++ b/data/products/Homard.pyconf @@ -0,0 +1,19 @@ +Homard_11_7 : +{ + name : "Homard" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-11.7.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/Jinja2.pyconf b/data/products/Jinja2.pyconf new file mode 100644 index 0000000..acd63c7 --- /dev/null +++ b/data/products/Jinja2.pyconf @@ -0,0 +1,19 @@ +Jinja2_2_7_3 : +{ + name : "Jinja2" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.7.3.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python', 'setuptools', 'markupsafe'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/KERNEL.pyconf b/data/products/KERNEL.pyconf index e543ea2..2814b9e 100644 --- a/data/products/KERNEL.pyconf +++ b/data/products/KERNEL.pyconf @@ -1,4 +1,4 @@ -KERNEL_V7_7_1 : +KERNEL : { name : "KERNEL" build_source : "cmake" @@ -10,12 +10,27 @@ KERNEL_V7_7_1 : } environ : { - } - depend : [] - opt_depend : [] - type : "sample" + depend : ["Python", + "boost", + "swig", + "numpy", + "lapack", + "hdf5", + "omniORB", + "omniORBpy", + "graphviz", + "docutils", + "doxygen", + "libxml2", + "Sphinx", + "Jinja2", + "setuptools", + "Pygments", + "cppunit", + "pytz"] + opt_depend : ["LIBBATCH"] + type : "salome" 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/data/products/LIBBATCH.pyconf b/data/products/LIBBATCH.pyconf new file mode 100644 index 0000000..6b6e337 --- /dev/null +++ b/data/products/LIBBATCH.pyconf @@ -0,0 +1,18 @@ +LIBBATCH : +{ + name : "LIBBATCH" + build_source : "cmake" + get_source : "git" + git_info: + { + repo : "http://git.salome-platform.org/gitpub/tools/libbatch.git" + repo_dev : "ssh://gitolite3@git.salome-platform.org/tools/libbatch.git" + } + environ : + { + } + depend : ["cmake", "Python", "swig", "cppunit"] + type : "salome" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name +} \ No newline at end of file diff --git a/data/products/MEDCOUPLING.pyconf b/data/products/MEDCOUPLING.pyconf new file mode 100644 index 0000000..e4a84aa --- /dev/null +++ b/data/products/MEDCOUPLING.pyconf @@ -0,0 +1,57 @@ +MEDCOUPLING : +{ + name : "MEDCOUPLING" + build_source : "cmake" + cmake_options : "-DMEDCOUPLING_PARTITIONER_METIS=OFF -DMEDCOUPLING_PARTITIONER_SCOTCH=OFF" + get_source : "git" + git_info: + { + repo : "http://git.salome-platform.org/gitpub/tools/medcoupling.git" + repo_dev : $SITE.prepare.default_git_server_dev + $VARS.sep + $name + } + environ : + { + MEDCOUPLING_ROOT_DIR : $install_dir + _LD_LIBRARY_PATH : + [ + '${MEDCOUPLING_ROOT_DIR}' + $VARS.sep + 'lib' + ] + _PYTHONPATH : + [ + '${MEDCOUPLING_ROOT_DIR}' + $VARS.sep + 'lib' + $VARS.sep + 'python2.7' + $VARS.sep + 'site-packages' + '${MEDCOUPLING_ROOT_DIR}' + $VARS.sep + 'bin' + ] + _PATH : + [ + '${MEDCOUPLING_ROOT_DIR}' + $VARS.sep + 'bin' + ] + } + depend : [ + "boost", + "CAS", + "Python", + "swig", + "hdf5", + "med", + "scotch", + "omniORB", + "qt", + "ParaView", + "doxygen", + "graphviz", + "metis", + "docutils", + "libxml2", + "cppunit", + "Sphinx", + "setuptools", + "six", + "pytz", + "numpy", + "scipy", + "lapack" + ] + type : "salome" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name +} diff --git a/data/products/MeshGems.pyconf b/data/products/MeshGems.pyconf new file mode 100644 index 0000000..bb64d7d --- /dev/null +++ b/data/products/MeshGems.pyconf @@ -0,0 +1,19 @@ +MeshGems_2_1_11 : +{ + name : "MeshGems" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.1-11.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/PRODUCT_ARCHIVE.pyconf b/data/products/PRODUCT_ARCHIVE.pyconf index a65e0a0..7727102 100644 --- a/data/products/PRODUCT_ARCHIVE.pyconf +++ b/data/products/PRODUCT_ARCHIVE.pyconf @@ -29,6 +29,7 @@ PRODUCT_ARCHIVE_4_4_2 : } environ : { + env_script : "/home/sr755891/SAT-ETENDU/00-DEV/RESOURCES/env_scripts/pytz.py" build: { "_LD_LIBRARY_PATH" : "COUCOU" @@ -37,7 +38,6 @@ PRODUCT_ARCHIVE_4_4_2 : "TEST" + $VARS.sep + "${PYTHON_LIBDIR1}"] } } - env_script : "/home/sr755891/SAT-ETENDU/00-DEV/RESOURCES/env_scripts/pytz.py" present_files : { source : ['my_test_file.txt', 'my_test_file.txt~'] diff --git a/data/products/ParMetis.pyconf b/data/products/ParMetis.pyconf new file mode 100644 index 0000000..22c50b1 --- /dev/null +++ b/data/products/ParMetis.pyconf @@ -0,0 +1,20 @@ +ParMetis_3_1_1 : +{ + name : "ParMetis" + build_source : "script" + compil_script : $name + "-3.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-3.1.1.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + opt_depend : ["openmpi"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/PyQt.pyconf b/data/products/PyQt.pyconf new file mode 100644 index 0000000..ec22b72 --- /dev/null +++ b/data/products/PyQt.pyconf @@ -0,0 +1,22 @@ +PyQt_4_9_6 : +{ + name : "PyQt" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-4.9.6.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python', 'qt', 'sip'] + patches : [ + $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + "patchPyQt496noPhonon.patch" + ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/Pygments.pyconf b/data/products/Pygments.pyconf new file mode 100644 index 0000000..55296ac --- /dev/null +++ b/data/products/Pygments.pyconf @@ -0,0 +1,19 @@ +Pygments_2_0_2 : +{ + name : "Pygments" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.0.2.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["Python", "setuptools"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/Python.pyconf b/data/products/Python.pyconf index ddd48b4..a4213ec 100644 --- a/data/products/Python.pyconf +++ b/data/products/Python.pyconf @@ -10,6 +10,7 @@ Python_2_7_10 : } environ : { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" } depend : [] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name diff --git a/data/products/SALOME_PROFILE.pyconf b/data/products/SALOME_PROFILE.pyconf new file mode 100644 index 0000000..c1ea8c2 --- /dev/null +++ b/data/products/SALOME_PROFILE.pyconf @@ -0,0 +1,18 @@ +SALOME_PROFILE : +{ + name : "SALOME_PROFILE" + build_source : "cmake" + get_source : "git" + git_info: + { + repo : "/home/salome/GitRepo/" + $name + ".git" + repo_dev : $repo + } + environ : + { + } + depend : ["KERNEL", "GUI", "Python", "Sphinx", "qt"] + type : "salome" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name +} \ No newline at end of file diff --git a/data/products/SMESH.pyconf b/data/products/SMESH.pyconf new file mode 100644 index 0000000..3ab13d0 --- /dev/null +++ b/data/products/SMESH.pyconf @@ -0,0 +1,46 @@ +SMESH : +{ + name : "SMESH" + build_source : "cmake" + cmake_options : "-DSALOME_SMESH_USE_CGNS:BOOL=ON" + get_source : "git" + git_info: + { + repo : "http://git.salome-platform.org/gitpub/modules/smesh.git" + repo_dev : $SITE.prepare.default_git_server_dev + $VARS.sep + $name + } + environ : + { + } + depend : ["KERNEL", + "GUI", + "GEOM", + "MEDCOUPLING", + "Python", + "qt", + "PyQt", + "boost", + "swig", + "CAS", + "hdf5", + "med", + "qwt", + "ParaView", + "libxml2", + "omniORB", + "doxygen", + "graphviz", + "docutils", + "Sphinx", + "Jinja2", + "setuptools", + "Pygments", + "cppunit", + "cgns", + "six", + "pytz" + ] + type : "salome" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name +} diff --git a/data/products/Sphinx.pyconf b/data/products/Sphinx.pyconf new file mode 100644 index 0000000..5d862ca --- /dev/null +++ b/data/products/Sphinx.pyconf @@ -0,0 +1,19 @@ +Sphinx_1_2_3 : +{ + name : "Sphinx" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.2.3.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["Python", "setuptools", "Pygments", "Jinja2", "docutils"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/boost.pyconf b/data/products/boost.pyconf new file mode 100644 index 0000000..ec4b0ee --- /dev/null +++ b/data/products/boost.pyconf @@ -0,0 +1,20 @@ +boost_1_58_0 : +{ + name : "boost" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.58.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python' ] + opt_depend : ['openmpi' ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/cgns.pyconf b/data/products/cgns.pyconf new file mode 100644 index 0000000..5eb94ae --- /dev/null +++ b/data/products/cgns.pyconf @@ -0,0 +1,20 @@ +cgns_3_1_3_4 : +{ + name : "cgns" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-3.1.3-4.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["hdf5", "cmake"] + opt_depend : ["openmpi"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/cmake.pyconf b/data/products/cmake.pyconf new file mode 100644 index 0000000..748b197 --- /dev/null +++ b/data/products/cmake.pyconf @@ -0,0 +1,19 @@ +cmake_3_5_2 : +{ + name : "cmake" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-3.5.2.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + 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/data/products/cppunit.pyconf b/data/products/cppunit.pyconf new file mode 100644 index 0000000..bc3482d --- /dev/null +++ b/data/products/cppunit.pyconf @@ -0,0 +1,19 @@ +cppunit_1_12_1 : +{ + name : "cppunit" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.12.1.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/dateutil.pyconf b/data/products/dateutil.pyconf new file mode 100644 index 0000000..674d1c3 --- /dev/null +++ b/data/products/dateutil.pyconf @@ -0,0 +1,19 @@ +dateutil_2_4_0 : +{ + name : "dateutil" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.4.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python', 'setuptools', 'six'] + 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/data/products/distribute.pyconf b/data/products/distribute.pyconf new file mode 100644 index 0000000..a13ce64 --- /dev/null +++ b/data/products/distribute.pyconf @@ -0,0 +1,19 @@ +distribute_0_6_28 : +{ + name : "distribute" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-0.6.28.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} \ No newline at end of file diff --git a/data/products/docutils.pyconf b/data/products/docutils.pyconf new file mode 100644 index 0000000..8181696 --- /dev/null +++ b/data/products/docutils.pyconf @@ -0,0 +1,19 @@ +docutils_0_12 : +{ + name : "docutils" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-0.12.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["Python", "setuptools"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/doxygen.pyconf b/data/products/doxygen.pyconf new file mode 100644 index 0000000..0d5b48d --- /dev/null +++ b/data/products/doxygen.pyconf @@ -0,0 +1,22 @@ +doxygen_1_8_3_1 : +{ + name : "doxygen" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.8.3.1.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["graphviz"] + patches : [ + $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + $name + "-1.8.3.1.patch" + ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/fftw.pyconf b/data/products/fftw.pyconf new file mode 100644 index 0000000..2902bc7 --- /dev/null +++ b/data/products/fftw.pyconf @@ -0,0 +1,19 @@ +fftw_3_3_4 : +{ + name : "fftw" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-3.3.4.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/freeimage.pyconf b/data/products/freeimage.pyconf new file mode 100644 index 0000000..bd8fac7 --- /dev/null +++ b/data/products/freeimage.pyconf @@ -0,0 +1,19 @@ +freeimage_3_16_0 : +{ + name : "freeimage" + build_source : "script" + compil_script : $name + "-3.16.0.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-3.16.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/freetype.pyconf b/data/products/freetype.pyconf new file mode 100644 index 0000000..ba97440 --- /dev/null +++ b/data/products/freetype.pyconf @@ -0,0 +1,20 @@ +freetype_2_4_11 : +{ + name : "freetype" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.4.11.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + patches : [$VARS.datadir + $VARS.sep + "patches" + $VARS.sep + $name + "-2.4.11_ft_export_FD20.patch" ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/gl2ps.pyconf b/data/products/gl2ps.pyconf new file mode 100644 index 0000000..bab810e --- /dev/null +++ b/data/products/gl2ps.pyconf @@ -0,0 +1,22 @@ +gl2ps_1_3_8 : +{ + name : "gl2ps" + build_source : "cmake" + cmake_options : "-DCMAKE_BUILD_TYPE=Release -DENABLE_ZLIB=OFF -DENABLE_PNG=OFF" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.3.8.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["cmake"] + patches : [ + $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + $name + "-1.3.8_link_libm_FD20.patch" + ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/graphviz.pyconf b/data/products/graphviz.pyconf new file mode 100644 index 0000000..e294399 --- /dev/null +++ b/data/products/graphviz.pyconf @@ -0,0 +1,19 @@ +graphviz_2_38_0 : +{ + name : "graphviz" + build_source : "script" + compil_script : $name + "-2.38.0.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.38.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["tcl", "tk"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/hdf5.pyconf b/data/products/hdf5.pyconf new file mode 100644 index 0000000..0c7ff92 --- /dev/null +++ b/data/products/hdf5.pyconf @@ -0,0 +1,20 @@ +hdf5_1_8_14 : +{ + name : "hdf5" + build_source : "script" + compil_script : $name + "CMake.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.8.14.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['cmake'] + opt_depend : [ 'openmpi'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/lapack.pyconf b/data/products/lapack.pyconf new file mode 100644 index 0000000..1793b7d --- /dev/null +++ b/data/products/lapack.pyconf @@ -0,0 +1,19 @@ +lapack_3_5_0 : +{ + name : "lapack" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-3.5.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python', 'cmake'] + 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/data/products/libxml2.pyconf b/data/products/libxml2.pyconf new file mode 100644 index 0000000..bcfb7c2 --- /dev/null +++ b/data/products/libxml2.pyconf @@ -0,0 +1,19 @@ +libxml2_2_9_0 : +{ + name : "libxml2" + build_source : "script" + compil_script : $name + "_2_9_2.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.9.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} \ No newline at end of file diff --git a/data/products/markupsafe.pyconf b/data/products/markupsafe.pyconf new file mode 100644 index 0000000..e565924 --- /dev/null +++ b/data/products/markupsafe.pyconf @@ -0,0 +1,19 @@ +markupsafe_0_23 : +{ + name : "markupsafe" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-0.23.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python', 'setuptools'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/matplotlib.pyconf b/data/products/matplotlib.pyconf new file mode 100644 index 0000000..55d3d9c --- /dev/null +++ b/data/products/matplotlib.pyconf @@ -0,0 +1,23 @@ +matplotlib_1_4_3 : +{ + name : "matplotlib" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.4.3.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python', 'numpy', 'freetype', 'six', 'pytz', 'distribute', 'pyparsing', 'dateutil'] + patches : [ + $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + $name + "_1_4_3_patch_freetype_detection_for_SAT.patch" + $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + $name + "-1.4.3_no_auto_download.patch" + ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/med.pyconf b/data/products/med.pyconf new file mode 100644 index 0000000..ee731a0 --- /dev/null +++ b/data/products/med.pyconf @@ -0,0 +1,19 @@ +med_3_2_0 : +{ + name : "med" + build_source : "script" + compil_script : $name + "CMake.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-3.2.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["hdf5", "cmake"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/metis.pyconf b/data/products/metis.pyconf new file mode 100644 index 0000000..f97f98f --- /dev/null +++ b/data/products/metis.pyconf @@ -0,0 +1,19 @@ +metis_5_1_0 : +{ + name : "metis" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-5.1.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/netgen.pyconf b/data/products/netgen.pyconf new file mode 100644 index 0000000..43dd80f --- /dev/null +++ b/data/products/netgen.pyconf @@ -0,0 +1,23 @@ +netgen_4_9_13 : +{ + name : "netgen" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-4.9.13.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['CAS', 'tcl', 'tk', "freetype"] + patches : [ + $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + $name + "49ForSalome.patch" + $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + $name + "-4.9.13_without_togl.patch" + ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/numpy.pyconf b/data/products/numpy.pyconf new file mode 100644 index 0000000..555d8a2 --- /dev/null +++ b/data/products/numpy.pyconf @@ -0,0 +1,19 @@ +numpy_1_9_2 : +{ + name : "numpy" + build_source : "script" + compil_script : "numpy.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + "numpy-1.9.2.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} diff --git a/data/products/omniORB.pyconf b/data/products/omniORB.pyconf new file mode 100644 index 0000000..c17a846 --- /dev/null +++ b/data/products/omniORB.pyconf @@ -0,0 +1,19 @@ +omniORB_4_1_6 : +{ + name : "omniORB" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-4.1.6.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} \ No newline at end of file diff --git a/data/products/omniORBpy.pyconf b/data/products/omniORBpy.pyconf new file mode 100644 index 0000000..0396db3 --- /dev/null +++ b/data/products/omniORBpy.pyconf @@ -0,0 +1,19 @@ +omniORBpy_3_6 : +{ + name : "omniORBpy" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-3.6.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['omniORB', 'Python' ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/opencv.pyconf b/data/products/opencv.pyconf new file mode 100644 index 0000000..ebafed0 --- /dev/null +++ b/data/products/opencv.pyconf @@ -0,0 +1,19 @@ +opencv_2_4_6_1 : +{ + name : "opencv" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.4.6.1.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["Python", "Sphinx", "cmake", "numpy"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/paraview.pyconf b/data/products/paraview.pyconf new file mode 100644 index 0000000..675015c --- /dev/null +++ b/data/products/paraview.pyconf @@ -0,0 +1,19 @@ +ParaView_5_0_1p1 : +{ + name : "ParaView" + build_source : "script" + compil_script : $name + "-5.0.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-5.0.1p1.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['cmake', 'Python', 'hdf5', 'qt', 'boost', 'gl2ps', 'libxml2', 'freetype', 'matplotlib'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/pyparsing.pyconf b/data/products/pyparsing.pyconf new file mode 100644 index 0000000..f260bf2 --- /dev/null +++ b/data/products/pyparsing.pyconf @@ -0,0 +1,19 @@ +pyparsing_1_5_6 : +{ + name : "pyparsing" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.5.6.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} diff --git a/data/products/pyreadline.pyconf b/data/products/pyreadline.pyconf new file mode 100644 index 0000000..ebfe5b7 --- /dev/null +++ b/data/products/pyreadline.pyconf @@ -0,0 +1,19 @@ +pyreadline_2_0 : +{ + name : "pyreadline" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} diff --git a/data/products/pytz.pyconf b/data/products/pytz.pyconf new file mode 100644 index 0000000..14c0cef --- /dev/null +++ b/data/products/pytz.pyconf @@ -0,0 +1,19 @@ +pytz_2014_10 : +{ + name : "pytz" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2014.10.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} \ No newline at end of file diff --git a/data/products/qt.pyconf b/data/products/qt.pyconf new file mode 100644 index 0000000..db907b1 --- /dev/null +++ b/data/products/qt.pyconf @@ -0,0 +1,22 @@ +qt_4_8_4 : +{ + name : "qt" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-4.8.4.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + patches : [ + $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + $name + "-4.8.4-enable-webkit-compilation-whith-gcc5.patch" + ] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/qwt.pyconf b/data/products/qwt.pyconf new file mode 100644 index 0000000..bd06bc3 --- /dev/null +++ b/data/products/qwt.pyconf @@ -0,0 +1,19 @@ +qwt_6_1_0 : +{ + name : "qwt" + build_source : "script" + compil_script : $name + "-6.1.0.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-6.1.0.tar.bz2" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['qt'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/scipy.pyconf b/data/products/scipy.pyconf new file mode 100644 index 0000000..e172b79 --- /dev/null +++ b/data/products/scipy.pyconf @@ -0,0 +1,20 @@ +scipy_0_15_1 : +{ + name : "scipy" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-0.15.1.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python','numpy','lapack', 'cmake'] + patches : [ $VARS.datadir + $VARS.sep + "patches" + $VARS.sep + "scipy-0.14.1.patch" ] + 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/data/products/scotch.pyconf b/data/products/scotch.pyconf new file mode 100644 index 0000000..5e05303 --- /dev/null +++ b/data/products/scotch.pyconf @@ -0,0 +1,19 @@ +scotch_5_1_12b : +{ + name : "scotch" + build_source : "script" + compil_script : $name + "-5.1.12.sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-5.1.12b.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/setuptools.pyconf b/data/products/setuptools.pyconf new file mode 100644 index 0000000..0c5d58f --- /dev/null +++ b/data/products/setuptools.pyconf @@ -0,0 +1,19 @@ +setuptools_0_6c11 : +{ + name : "setuptools" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-0.6c11.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} diff --git a/data/products/sip.pyconf b/data/products/sip.pyconf new file mode 100644 index 0000000..cc1c6a9 --- /dev/null +++ b/data/products/sip.pyconf @@ -0,0 +1,19 @@ +sip_4_14_2 : +{ + name : "sip" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-4.14.2.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ['Python', 'qt'] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/six.pyconf b/data/products/six.pyconf new file mode 100644 index 0000000..ccec6e5 --- /dev/null +++ b/data/products/six.pyconf @@ -0,0 +1,19 @@ +six_1_9_0 : +{ + name : "six" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-1.9.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $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' +} \ No newline at end of file diff --git a/data/products/swig.pyconf b/data/products/swig.pyconf new file mode 100644 index 0000000..c91e3e9 --- /dev/null +++ b/data/products/swig.pyconf @@ -0,0 +1,19 @@ +swig_2_0_8 : +{ + name : "swig" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-2.0.8.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/tcl.pyconf b/data/products/tcl.pyconf new file mode 100644 index 0000000..9094496 --- /dev/null +++ b/data/products/tcl.pyconf @@ -0,0 +1,19 @@ +tcl_8_6_0 : +{ + name : "tcl" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-8.6.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : [] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/data/products/tk.pyconf b/data/products/tk.pyconf new file mode 100644 index 0000000..02c6859 --- /dev/null +++ b/data/products/tk.pyconf @@ -0,0 +1,19 @@ +tk_8_6_0 : +{ + name : "tk" + build_source : "script" + compil_script : $name + ".sh" + get_source : "archive" + archive_info: + { + archive_name : $SITE.prepare.archive_dir + $name + "-8.6.0.tar.gz" + } + environ : + { + env_script : $VARS.datadir + $VARS.sep + "env_scripts" + $VARS.sep + $name + ".py" + } + depend : ["tcl"] + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' +} \ No newline at end of file diff --git a/src/compilation.py b/src/compilation.py index 009a0b8..86775f4 100644 --- a/src/compilation.py +++ b/src/compilation.py @@ -84,12 +84,13 @@ class Builder: # add products in depend and opt_depend list recursively environ_info = src.product.get_product_dependencies(self.config, self.product_info) + environ_info.append(self.product_info.name) # create build environment self.build_environ = src.environment.SalomeEnviron(self.config, src.environment.Environ(dict(os.environ)), True) self.build_environ.silent = (self.config.USER.output_verbose_level < 5) self.build_environ.set_full_environ(self.logger, environ_info) - + # create runtime environment self.launch_environ = src.environment.SalomeEnviron(self.config, src.environment.Environ(dict(os.environ)), False) self.launch_environ.silent = True # no need to show here -- 2.30.2