Salome HOME
Add config files and some code update for compilation of SALOME-7.8.0
authorSerge Rehbinder <serge.rehbinder@cea.fr>
Wed, 1 Jun 2016 13:30:24 +0000 (15:30 +0200)
committerSerge Rehbinder <serge.rehbinder@cea.fr>
Wed, 1 Jun 2016 13:30:24 +0000 (15:30 +0200)
168 files changed:
commands/compile.py
complete_sat.sh
data/compil_scripts/CAS_6.7.sh [new file with mode: 0755]
data/compil_scripts/Homard.sh [new file with mode: 0755]
data/compil_scripts/Jinja2.sh [new file with mode: 0755]
data/compil_scripts/MeshGems.sh [new file with mode: 0755]
data/compil_scripts/ParMetis-3.sh [new file with mode: 0755]
data/compil_scripts/ParaView-5.0.sh [new file with mode: 0755]
data/compil_scripts/PyQt.sh [new file with mode: 0755]
data/compil_scripts/Pygments.sh [new file with mode: 0755]
data/compil_scripts/Sphinx.sh [new file with mode: 0755]
data/compil_scripts/boost.sh [new file with mode: 0755]
data/compil_scripts/cgns.sh [new file with mode: 0755]
data/compil_scripts/cmake.sh [new file with mode: 0755]
data/compil_scripts/cppunit.sh [new file with mode: 0755]
data/compil_scripts/cython.sh [new file with mode: 0755]
data/compil_scripts/dateutil.sh [new file with mode: 0755]
data/compil_scripts/distribute.sh [new file with mode: 0755]
data/compil_scripts/docutils.sh [new file with mode: 0755]
data/compil_scripts/doxygen.sh [new file with mode: 0755]
data/compil_scripts/fftw.sh [new file with mode: 0755]
data/compil_scripts/freeimage-3.16.0.sh [new file with mode: 0755]
data/compil_scripts/freetype.sh [new file with mode: 0755]
data/compil_scripts/graphviz-2.38.0.sh [new file with mode: 0755]
data/compil_scripts/hdf5CMake.sh [new file with mode: 0755]
data/compil_scripts/lapack.sh [new file with mode: 0755]
data/compil_scripts/libxml2_2_9_2.sh [new file with mode: 0755]
data/compil_scripts/markupsafe.sh [new file with mode: 0755]
data/compil_scripts/matplotlib.sh [new file with mode: 0755]
data/compil_scripts/medCMake.sh [new file with mode: 0755]
data/compil_scripts/metis.sh [new file with mode: 0755]
data/compil_scripts/netgen.sh [new file with mode: 0755]
data/compil_scripts/numpy.sh [new file with mode: 0755]
data/compil_scripts/omniORB.sh [new file with mode: 0755]
data/compil_scripts/omniORBpy.sh [new file with mode: 0755]
data/compil_scripts/opencv.sh [new file with mode: 0755]
data/compil_scripts/pyparsing.sh [new file with mode: 0755]
data/compil_scripts/pyreadline.sh [new file with mode: 0755]
data/compil_scripts/pytz.sh [new file with mode: 0755]
data/compil_scripts/qt.sh [new file with mode: 0755]
data/compil_scripts/qwt-6.1.0.sh [new file with mode: 0755]
data/compil_scripts/scipy.sh [new file with mode: 0755]
data/compil_scripts/scotch-5.1.12.sh [new file with mode: 0755]
data/compil_scripts/setuptools.sh [new file with mode: 0755]
data/compil_scripts/sip.sh [new file with mode: 0755]
data/compil_scripts/six.sh [new file with mode: 0755]
data/compil_scripts/swig.sh [new file with mode: 0755]
data/compil_scripts/tcl.sh [new file with mode: 0755]
data/compil_scripts/tk.sh [new file with mode: 0755]
data/env_scripts/CAS.py [new file with mode: 0644]
data/env_scripts/Cython.py [new file with mode: 0644]
data/env_scripts/Homard.py [new file with mode: 0755]
data/env_scripts/Jinja2.py [new file with mode: 0755]
data/env_scripts/MeshGems.py [new file with mode: 0644]
data/env_scripts/ParMetis.py [new file with mode: 0644]
data/env_scripts/ParaView.py [new file with mode: 0644]
data/env_scripts/PyQt.py [new file with mode: 0644]
data/env_scripts/Pygments.py [new file with mode: 0755]
data/env_scripts/Python.py [new file with mode: 0644]
data/env_scripts/Sphinx.py [new file with mode: 0755]
data/env_scripts/boost.py [new file with mode: 0755]
data/env_scripts/cgns.py [new file with mode: 0644]
data/env_scripts/cmake.py [new file with mode: 0755]
data/env_scripts/cppunit.py [new file with mode: 0644]
data/env_scripts/dateutil.py [new file with mode: 0644]
data/env_scripts/distene_license.py [new file with mode: 0644]
data/env_scripts/distribute.py [new file with mode: 0644]
data/env_scripts/docutils.py [new file with mode: 0755]
data/env_scripts/doxygen.py [new file with mode: 0755]
data/env_scripts/fftw.py [new file with mode: 0644]
data/env_scripts/freeimage.py [new file with mode: 0644]
data/env_scripts/freetype.py [new file with mode: 0644]
data/env_scripts/gl2ps.py [new file with mode: 0755]
data/env_scripts/graphviz.py [new file with mode: 0644]
data/env_scripts/hdf5.py [new file with mode: 0644]
data/env_scripts/lapack.py [new file with mode: 0644]
data/env_scripts/libxml2.py [new file with mode: 0644]
data/env_scripts/markupsafe.py [new file with mode: 0644]
data/env_scripts/matplotlib.py [new file with mode: 0644]
data/env_scripts/med.py [new file with mode: 0644]
data/env_scripts/metis.py [new file with mode: 0755]
data/env_scripts/netgen.py [new file with mode: 0644]
data/env_scripts/numpy.py [new file with mode: 0644]
data/env_scripts/omniORB.py [new file with mode: 0644]
data/env_scripts/omniORBpy.py [new file with mode: 0644]
data/env_scripts/opencv.py [new file with mode: 0755]
data/env_scripts/pyparsing.py [new file with mode: 0644]
data/env_scripts/pyreadline.py [new file with mode: 0755]
data/env_scripts/pytz.py [new file with mode: 0644]
data/env_scripts/qt.py [new file with mode: 0644]
data/env_scripts/qwt.py [new file with mode: 0755]
data/env_scripts/scipy.py [new file with mode: 0644]
data/env_scripts/scotch.py [new file with mode: 0755]
data/env_scripts/setuptools.py [new file with mode: 0644]
data/env_scripts/sip.py [new file with mode: 0644]
data/env_scripts/six.py [new file with mode: 0644]
data/env_scripts/swig.py [new file with mode: 0644]
data/env_scripts/tcl.py [new file with mode: 0644]
data/env_scripts/tk.py [new file with mode: 0755]
data/patches/doxygen-1.8.3.1.patch [new file with mode: 0755]
data/patches/freetype-2.4.11_ft_export_FD20.patch [new file with mode: 0644]
data/patches/gl2ps-1.3.8_link_libm_FD20.patch [new file with mode: 0755]
data/patches/matplotlib-1.4.3_no_auto_download.patch [new file with mode: 0644]
data/patches/matplotlib_1_4_3_patch_freetype_detection_for_SAT.patch [new file with mode: 0644]
data/patches/matplotlibrc-qt4.patch [new file with mode: 0644]
data/patches/netgen-4.9.13_without_togl.patch [new file with mode: 0644]
data/patches/netgen49ForSalome.patch [new file with mode: 0644]
data/patches/patchPyQt496noPhonon.patch [new file with mode: 0755]
data/patches/qt-4.8.4-enable-webkit-compilation-whith-gcc5.patch [new file with mode: 0644]
data/patches/scipy-0.14.1.patch [new file with mode: 0644]
data/products/CAS.pyconf [new file with mode: 0644]
data/products/Cython.pyconf [new file with mode: 0644]
data/products/GEOM.pyconf [new file with mode: 0644]
data/products/GUI.pyconf [new file with mode: 0644]
data/products/Homard.pyconf [new file with mode: 0644]
data/products/Jinja2.pyconf [new file with mode: 0644]
data/products/KERNEL.pyconf
data/products/LIBBATCH.pyconf [new file with mode: 0644]
data/products/MEDCOUPLING.pyconf [new file with mode: 0644]
data/products/MeshGems.pyconf [new file with mode: 0644]
data/products/PRODUCT_ARCHIVE.pyconf
data/products/ParMetis.pyconf [new file with mode: 0644]
data/products/PyQt.pyconf [new file with mode: 0644]
data/products/Pygments.pyconf [new file with mode: 0644]
data/products/Python.pyconf
data/products/SALOME_PROFILE.pyconf [new file with mode: 0644]
data/products/SMESH.pyconf [new file with mode: 0644]
data/products/Sphinx.pyconf [new file with mode: 0644]
data/products/boost.pyconf [new file with mode: 0644]
data/products/cgns.pyconf [new file with mode: 0644]
data/products/cmake.pyconf [new file with mode: 0644]
data/products/cppunit.pyconf [new file with mode: 0644]
data/products/dateutil.pyconf [new file with mode: 0644]
data/products/distribute.pyconf [new file with mode: 0644]
data/products/docutils.pyconf [new file with mode: 0644]
data/products/doxygen.pyconf [new file with mode: 0644]
data/products/fftw.pyconf [new file with mode: 0644]
data/products/freeimage.pyconf [new file with mode: 0644]
data/products/freetype.pyconf [new file with mode: 0644]
data/products/gl2ps.pyconf [new file with mode: 0644]
data/products/graphviz.pyconf [new file with mode: 0644]
data/products/hdf5.pyconf [new file with mode: 0644]
data/products/lapack.pyconf [new file with mode: 0644]
data/products/libxml2.pyconf [new file with mode: 0644]
data/products/markupsafe.pyconf [new file with mode: 0644]
data/products/matplotlib.pyconf [new file with mode: 0644]
data/products/med.pyconf [new file with mode: 0644]
data/products/metis.pyconf [new file with mode: 0644]
data/products/netgen.pyconf [new file with mode: 0644]
data/products/numpy.pyconf [new file with mode: 0644]
data/products/omniORB.pyconf [new file with mode: 0644]
data/products/omniORBpy.pyconf [new file with mode: 0644]
data/products/opencv.pyconf [new file with mode: 0644]
data/products/paraview.pyconf [new file with mode: 0644]
data/products/pyparsing.pyconf [new file with mode: 0644]
data/products/pyreadline.pyconf [new file with mode: 0644]
data/products/pytz.pyconf [new file with mode: 0644]
data/products/qt.pyconf [new file with mode: 0644]
data/products/qwt.pyconf [new file with mode: 0644]
data/products/scipy.pyconf [new file with mode: 0644]
data/products/scotch.pyconf [new file with mode: 0644]
data/products/setuptools.pyconf [new file with mode: 0644]
data/products/sip.pyconf [new file with mode: 0644]
data/products/six.pyconf [new file with mode: 0644]
data/products/swig.pyconf [new file with mode: 0644]
data/products/tcl.pyconf [new file with mode: 0644]
data/products/tk.pyconf [new file with mode: 0644]
src/compilation.py

index b1efa73397b6fca91a35b87d7ae49371ebd34ec0..532c88040f0f3272cde69333c760ccb90e721104 100644 (file)
@@ -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 = [
index ed6d121f2edf749794bebec9795167e0d64b033b..b06f85f9630e4c891df1ea22efb041781feefe5f 100755 (executable)
@@ -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 (executable)
index 0000000..7ad062a
--- /dev/null
@@ -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 (executable)
index 0000000..3ef29b9
--- /dev/null
@@ -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 (executable)
index 0000000..c556fa0
--- /dev/null
@@ -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 (executable)
index 0000000..c37e7c4
--- /dev/null
@@ -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 (executable)
index 0000000..b277272
--- /dev/null
@@ -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 (executable)
index 0000000..1a66bb0
--- /dev/null
@@ -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 (executable)
index 0000000..83f70fe
--- /dev/null
@@ -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 (executable)
index 0000000..acea62e
--- /dev/null
@@ -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 (executable)
index 0000000..87e1f6e
--- /dev/null
@@ -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 (executable)
index 0000000..56d17d7
--- /dev/null
@@ -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 (executable)
index 0000000..d4968af
--- /dev/null
@@ -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 (executable)
index 0000000..625be57
--- /dev/null
@@ -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 (executable)
index 0000000..dd59454
--- /dev/null
@@ -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 (executable)
index 0000000..33757af
--- /dev/null
@@ -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 (executable)
index 0000000..8a4b661
--- /dev/null
@@ -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 (executable)
index 0000000..bbb6d15
--- /dev/null
@@ -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 (executable)
index 0000000..6cf3660
--- /dev/null
@@ -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 (executable)
index 0000000..d0613df
--- /dev/null
@@ -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 (executable)
index 0000000..265d480
--- /dev/null
@@ -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 (executable)
index 0000000..c9b866d
--- /dev/null
@@ -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 <string.h>%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 (executable)
index 0000000..a2e2f75
--- /dev/null
@@ -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 (executable)
index 0000000..9ba5e07
--- /dev/null
@@ -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 (executable)
index 0000000..6fd6086
--- /dev/null
@@ -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 (executable)
index 0000000..0cc2dd6
--- /dev/null
@@ -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 (executable)
index 0000000..913abcd
--- /dev/null
@@ -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 (executable)
index 0000000..fe8d65d
--- /dev/null
@@ -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 (executable)
index 0000000..2e8be6b
--- /dev/null
@@ -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 (executable)
index 0000000..6010b52
--- /dev/null
@@ -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 (executable)
index 0000000..31197c4
--- /dev/null
@@ -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 (executable)
index 0000000..f78617c
--- /dev/null
@@ -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 (executable)
index 0000000..3579c71
--- /dev/null
@@ -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 (executable)
index 0000000..4ad586c
--- /dev/null
@@ -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 (executable)
index 0000000..be12bdc
--- /dev/null
@@ -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 (executable)
index 0000000..6fb1790
--- /dev/null
@@ -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 (executable)
index 0000000..6332f15
--- /dev/null
@@ -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 (executable)
index 0000000..d19480e
--- /dev/null
@@ -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 (executable)
index 0000000..98337cc
--- /dev/null
@@ -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 (executable)
index 0000000..74b02d0
--- /dev/null
@@ -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 (executable)
index 0000000..8cbf76e
--- /dev/null
@@ -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 (executable)
index 0000000..0c43800
--- /dev/null
@@ -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 (executable)
index 0000000..41276d9
--- /dev/null
@@ -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 (executable)
index 0000000..f0c1a62
--- /dev/null
@@ -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 (executable)
index 0000000..f5105e7
--- /dev/null
@@ -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 (executable)
index 0000000..7837bf0
--- /dev/null
@@ -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 (executable)
index 0000000..00d4242
--- /dev/null
@@ -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 (executable)
index 0000000..76b8d97
--- /dev/null
@@ -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 (executable)
index 0000000..a05af81
--- /dev/null
@@ -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 (file)
index 0000000..ada7cdf
--- /dev/null
@@ -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 (file)
index 0000000..103e3b6
--- /dev/null
@@ -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 (executable)
index 0000000..9c49ae3
--- /dev/null
@@ -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 (executable)
index 0000000..17b9815
--- /dev/null
@@ -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 (file)
index 0000000..bfc0634
--- /dev/null
@@ -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 (file)
index 0000000..d4b6857
--- /dev/null
@@ -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 (file)
index 0000000..8453482
--- /dev/null
@@ -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 (file)
index 0000000..c93214b
--- /dev/null
@@ -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 (executable)
index 0000000..dc7808e
--- /dev/null
@@ -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 (file)
index 0000000..e95ee37
--- /dev/null
@@ -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 (executable)
index 0000000..da5d9e1
--- /dev/null
@@ -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 (executable)
index 0000000..9b84ed5
--- /dev/null
@@ -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 (file)
index 0000000..0dae34c
--- /dev/null
@@ -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 (executable)
index 0000000..e5a7a4b
--- /dev/null
@@ -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 (file)
index 0000000..eb8aeb2
--- /dev/null
@@ -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 (file)
index 0000000..cf0f30c
--- /dev/null
@@ -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 (file)
index 0000000..f2ebe29
--- /dev/null
@@ -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="<key>"\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 (file)
index 0000000..202efac
--- /dev/null
@@ -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 (executable)
index 0000000..bf3d0c3
--- /dev/null
@@ -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 (executable)
index 0000000..551bf83
--- /dev/null
@@ -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 (file)
index 0000000..8018811
--- /dev/null
@@ -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 (file)
index 0000000..b569fd6
--- /dev/null
@@ -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 (file)
index 0000000..c030029
--- /dev/null
@@ -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 (executable)
index 0000000..0cb0e06
--- /dev/null
@@ -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 (file)
index 0000000..44f4564
--- /dev/null
@@ -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 (file)
index 0000000..974b19d
--- /dev/null
@@ -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 (file)
index 0000000..5bc3941
--- /dev/null
@@ -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 (file)
index 0000000..55985d1
--- /dev/null
@@ -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 (file)
index 0000000..096a133
--- /dev/null
@@ -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 (file)
index 0000000..7399307
--- /dev/null
@@ -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 (file)
index 0000000..54ca550
--- /dev/null
@@ -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 (executable)
index 0000000..9d87c4c
--- /dev/null
@@ -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 (file)
index 0000000..9ef9716
--- /dev/null
@@ -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 (file)
index 0000000..4020307
--- /dev/null
@@ -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 (file)
index 0000000..f7caaf5
--- /dev/null
@@ -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 (file)
index 0000000..21a7d14
--- /dev/null
@@ -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 (executable)
index 0000000..37a1424
--- /dev/null
@@ -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 (file)
index 0000000..b4bb3bb
--- /dev/null
@@ -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 (executable)
index 0000000..2182e8a
--- /dev/null
@@ -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 (file)
index 0000000..6eb0876
--- /dev/null
@@ -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 (file)
index 0000000..38c9a58
--- /dev/null
@@ -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 (executable)
index 0000000..5074d17
--- /dev/null
@@ -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 (file)
index 0000000..1bc0214
--- /dev/null
@@ -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 (executable)
index 0000000..6dca51c
--- /dev/null
@@ -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 (file)
index 0000000..16c9f0b
--- /dev/null
@@ -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 (file)
index 0000000..a57c1f2
--- /dev/null
@@ -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 (file)
index 0000000..524dab9
--- /dev/null
@@ -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 (file)
index 0000000..01c8c70
--- /dev/null
@@ -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 (file)
index 0000000..ef2b186
--- /dev/null
@@ -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 (executable)
index 0000000..1f4846e
--- /dev/null
@@ -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 (executable)
index 0000000..64930bd
--- /dev/null
@@ -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 (file)
index 0000000..7f582a1
--- /dev/null
@@ -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 (executable)
index 0000000..4c1fa9b
--- /dev/null
@@ -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 (file)
index 0000000..4f27014
--- /dev/null
@@ -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 (file)
index 0000000..ab5dc2e
--- /dev/null
@@ -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 (file)
index 0000000..625103f
--- /dev/null
@@ -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 (file)
index 0000000..91e4e4d
--- /dev/null
@@ -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='\r'
++ac_cr='
++'
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/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 (file)
index 0000000..0e78c4a
--- /dev/null
@@ -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 <mystdlib.h>
++#include <float.h> // 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 <fact> 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 <BRepAlgoAPI_Common.hxx>
+ #include <BRepAlgoAPI_Fuse.hxx>
+ #include <BRepAlgoAPI_Section.hxx>
+-#include <BRepOffsetAPI_Sewing.hxx>
++//#include <BRepOffsetAPI_Sewing.hxx>
+ //#include <BRepAlgo_Sewing.hxx>
+ #include <BRepOffsetAPI_MakeOffsetShape.hxx>
+ #include <ShapeFix_Shape.hxx>
+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<MeshPoint> & ps,
+                     Array<double> & 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 <edge length>/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 <BRepTopAdaptor_FClass2d.hxx> // -- to optimize Project() and FastProject()
++#include <TopAbs_State.hxx>
+ #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<int,BRepTopAdaptor_FClass2d*>::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 <Standard_Version.hxx>
++#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 <NCollection_DataMap.hxx>
++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<int,Handle_ShapeAnalysis_Surface> fprjmap;
++      mutable NCollection_DataMap<int,BRepTopAdaptor_FClass2d*> 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 <meshing.hpp>
+ #include <GeomLProp_SLProps.hxx>
+ #include <ShapeAnalysis_Surface.hxx>
++#include <GeomAPI_ProjectPointOnCurve.hxx> // -- 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 <TopOpeBRepTool_OutCurveType.hxx>
+ #include <TopOpeBRep_DSFiller.hxx>
+ #include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
++
++#include <Standard_Version.hxx>
++
+ #include <stdio.h>
+ //=======================================================================
+@@ -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 <BRepAdaptor_Surface.hxx>
+ #include <BRepAlgo_AsDes.hxx>
+ #include <BRepAlgo_FaceRestrictor.hxx>
+-#include <BRepOffset_DataMapOfShapeReal.hxx>
+ #include <BRepTopAdaptor_FClass2d.hxx>
+ #include <BRep_Builder.hxx>
+ #include <BRep_Tool.hxx>
+@@ -51,6 +50,15 @@
+ #include <gp_Pnt.hxx>
+ #include <gp_Pnt2d.hxx>
++#include <Standard_Version.hxx>
++
++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
++// porting to OCCT6.5.1
++#include <TopTools_DataMapOfShapeReal.hxx>
++#else
++#include <BRepOffset_DataMapOfShapeReal.hxx>
++#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 <GeomAdaptor_Curve.hxx>
+ #include <TopOpeBRepTool_CurveTool.hxx>
++#include <Standard_Version.hxx>
++
+ #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 <string>
+ #include <iostream>
++#include <iomanip>
+ #include <cstdlib>
+ // #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 (executable)
index 0000000..425e4ea
--- /dev/null
@@ -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 (file)
index 0000000..9b2e14b
--- /dev/null
@@ -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 (file)
index 0000000..046c10b
--- /dev/null
@@ -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 (file)
index 0000000..610302b
--- /dev/null
@@ -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 (file)
index 0000000..3b15fcf
--- /dev/null
@@ -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 (file)
index 0000000..37f7918
--- /dev/null
@@ -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 (file)
index 0000000..129501e
--- /dev/null
@@ -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 (file)
index 0000000..a737fb5
--- /dev/null
@@ -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 (file)
index 0000000..acd63c7
--- /dev/null
@@ -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
index e543ea2700b74ac4fb98b2bea7c188f3ff55ea9a..2814b9e631752070f97f88b4a0397f555fa8bb43 100644 (file)
@@ -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 (file)
index 0000000..6b6e337
--- /dev/null
@@ -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 (file)
index 0000000..e4a84aa
--- /dev/null
@@ -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 (file)
index 0000000..bb64d7d
--- /dev/null
@@ -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
index a65e0a02fac7aef93006da474f5f9dbb92f051f6..772710223ba2506d74f289a16e3c5d4854ffcf41 100644 (file)
@@ -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 (file)
index 0000000..22c50b1
--- /dev/null
@@ -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 (file)
index 0000000..ec22b72
--- /dev/null
@@ -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 (file)
index 0000000..55296ac
--- /dev/null
@@ -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
index ddd48b46cd402f1ba95de6ae896a01aa9cf2e897..a4213ecd742b11ad63c2f31b9c254b4018a1a54b 100644 (file)
@@ -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 (file)
index 0000000..c1ea8c2
--- /dev/null
@@ -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 (file)
index 0000000..3ab13d0
--- /dev/null
@@ -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 (file)
index 0000000..5d862ca
--- /dev/null
@@ -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 (file)
index 0000000..ec4b0ee
--- /dev/null
@@ -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 (file)
index 0000000..5eb94ae
--- /dev/null
@@ -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 (file)
index 0000000..748b197
--- /dev/null
@@ -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 (file)
index 0000000..bc3482d
--- /dev/null
@@ -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 (file)
index 0000000..674d1c3
--- /dev/null
@@ -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 (file)
index 0000000..a13ce64
--- /dev/null
@@ -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 (file)
index 0000000..8181696
--- /dev/null
@@ -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 (file)
index 0000000..0d5b48d
--- /dev/null
@@ -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 (file)
index 0000000..2902bc7
--- /dev/null
@@ -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 (file)
index 0000000..bd8fac7
--- /dev/null
@@ -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 (file)
index 0000000..ba97440
--- /dev/null
@@ -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 (file)
index 0000000..bab810e
--- /dev/null
@@ -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 (file)
index 0000000..e294399
--- /dev/null
@@ -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 (file)
index 0000000..0c7ff92
--- /dev/null
@@ -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 (file)
index 0000000..1793b7d
--- /dev/null
@@ -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 (file)
index 0000000..bcfb7c2
--- /dev/null
@@ -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 (file)
index 0000000..e565924
--- /dev/null
@@ -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 (file)
index 0000000..55d3d9c
--- /dev/null
@@ -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 (file)
index 0000000..ee731a0
--- /dev/null
@@ -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 (file)
index 0000000..f97f98f
--- /dev/null
@@ -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 (file)
index 0000000..43dd80f
--- /dev/null
@@ -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 (file)
index 0000000..555d8a2
--- /dev/null
@@ -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 (file)
index 0000000..c17a846
--- /dev/null
@@ -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 (file)
index 0000000..0396db3
--- /dev/null
@@ -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 (file)
index 0000000..ebafed0
--- /dev/null
@@ -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 (file)
index 0000000..675015c
--- /dev/null
@@ -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 (file)
index 0000000..f260bf2
--- /dev/null
@@ -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 (file)
index 0000000..ebfe5b7
--- /dev/null
@@ -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 (file)
index 0000000..14c0cef
--- /dev/null
@@ -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 (file)
index 0000000..db907b1
--- /dev/null
@@ -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 (file)
index 0000000..bd06bc3
--- /dev/null
@@ -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 (file)
index 0000000..e172b79
--- /dev/null
@@ -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 (file)
index 0000000..5e05303
--- /dev/null
@@ -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 (file)
index 0000000..0c5d58f
--- /dev/null
@@ -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 (file)
index 0000000..cc1c6a9
--- /dev/null
@@ -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 (file)
index 0000000..ccec6e5
--- /dev/null
@@ -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 (file)
index 0000000..c91e3e9
--- /dev/null
@@ -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 (file)
index 0000000..9094496
--- /dev/null
@@ -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 (file)
index 0000000..02c6859
--- /dev/null
@@ -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
index 009a0b81d4358b2434a0714376a30ec5960445f0..86775f4756b984a7468886e847ccff4681bc8c33 100644 (file)
@@ -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