]> SALOME platform Git repositories - tools/install.git/blobdiff - config_files/Sphinx.sh
Salome HOME
Minor fix
[tools/install.git] / config_files / Sphinx.sh
index ecb16a5c9f3630f86070263a69354708e45889db..0e2fd9aff4c79524b6a36020445c39a6945a9b57 100755 (executable)
@@ -1,24 +1,25 @@
 #!/bin/bash -noprofile
 
 ####################################################################################
-#  File      : sphinx-1.0.7.sh
+#  File      : Sphinx.sh
 #  Created   : Thu Dec 18 12:01:00 2002
 #  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
 #  Project   : SALOME
 #  Module    : Installation Wizard
-#  Copyright : 2002-2008 CEA
+#  Copyright : 2002-2013 CEA
 #
 #  This script is the part of the SALOME installation procedure.
 #
 ####################################################################################
 
 #
-# Sphinx version
+# Sphinx and prereqs versions
 #
-SPHINX_VERSION=1.1.3
-SETUPTOOLS_VERSION=0.6c11
-JINJA2_VERSION=2.6
-PYGMENTS_VERSION=1.5
+VERSION_SPHINX=1.1.3
+VERSION_DOCUTILS=0.10
+VERSION_SETUPTOOLS=0.6c11
+VERSION_JINJA2=2.6
+VERSION_PYGMENTS=1.5
 
 check_version(){
 # It is not necessary to check version!
@@ -27,9 +28,10 @@ return 0
 
 print_env_bin(){
 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
-#$DELIM ${PRODUCT_TYPE} $DELIM
-export PYTHONPATH=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}/lib/python\${PYTHON_VERSION}/site-packages:\${PYTHONPATH}
-export PATH=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}/bin:\${PATH}
+#${DELIM} ${PRODUCT_TYPE} ${DELIM}
+export SPHINX_ROOT_DIR=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export PYTHONPATH=\${SPHINX_ROOT_DIR}/lib/python\${PYTHON_VERSION}/site-packages:\${PYTHONPATH}
+export PATH=\${SPHINX_ROOT_DIR}/bin:\${PATH}
 ##
 EOF
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
@@ -39,7 +41,7 @@ make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}
 print_env_src()
 {
 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
-#$DELIM ${PRODUCT_TYPE}_src $DELIM
+#${DELIM} ${PRODUCT_TYPE}_src ${DELIM}
 # nothing to do
 ##
 EOF
@@ -56,14 +58,15 @@ return $?
 install_source()
 {
 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-source ${INSTALL_WORK}/$SHRC
+source ${INSTALL_WORK}/${SHRC}
 
 makedir ${PRODUCT_SRC_DIR}
 # unpack
-check_jb tar xfz ${SOURCE_DIR}/Sphinx-${SPHINX_VERSION}.tar.gz -C ${PRODUCT_SRC_DIR}
-check_jb tar xfz ${SOURCE_DIR}/setuptools-${SETUPTOOLS_VERSION}.tar.gz -C ${PRODUCT_SRC_DIR}
-check_jb tar xfz ${SOURCE_DIR}/Jinja2-${JINJA2_VERSION}.tar.gz -C ${PRODUCT_SRC_DIR}
-check_jb tar xfz ${SOURCE_DIR}/Pygments-${PYGMENTS_VERSION}.tar.gz -C ${PRODUCT_SRC_DIR}
+check_jb tar xfz ${SOURCE_DIR}/Sphinx-${VERSION_SPHINX}.tar.gz -C ${PRODUCT_SRC_DIR}
+check_jb tar xfz ${SOURCE_DIR}/docutils-${VERSION_DOCUTILS}.tar.gz -C ${PRODUCT_SRC_DIR}
+check_jb tar xfz ${SOURCE_DIR}/setuptools-${VERSION_SETUPTOOLS}.tar.gz -C ${PRODUCT_SRC_DIR}
+check_jb tar xfz ${SOURCE_DIR}/Jinja2-${VERSION_JINJA2}.tar.gz -C ${PRODUCT_SRC_DIR}
+check_jb tar xfz ${SOURCE_DIR}/Pygments-${VERSION_PYGMENTS}.tar.gz -C ${PRODUCT_SRC_DIR}
 
 # to generate environment scripts
 try_preinstalled
@@ -77,56 +80,53 @@ install_source
 # build sources
 test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
 
-mkdir ${PRODUCT_DIR}/bin
-mkdir ${PRODUCT_DIR}/lib
-mkdir ${PRODUCT_DIR}/lib/python${PYTHON_VERSION}
-mkdir ${PRODUCT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+mkdir -p ${PRODUCT_DIR}/bin
+mkdir -p ${PRODUCT_DIR}/lib/python${PYTHON_VERSION}/site-packages
 
-export PYTHONPATH=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
-export PATH=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}/bin:${PATH}
+export PYTHONPATH=${PRODUCT_DIR}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
+export PATH=${PRODUCT_DIR}/bin:${PATH}
 
 export PYTHONDONTWRITEBYTECODE=
 
-# install omniORB
 GCC=`which gcc`
 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
-used gcc=$GCC
+used gcc=${GCC}
 EOF
-cd ${PRODUCT_SRC_DIR}/setuptools-${SETUPTOOLS_VERSION}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
-cd ${PRODUCT_SRC_DIR}/Pygments-${PYGMENTS_VERSION}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
-cd ${PRODUCT_SRC_DIR}/Jinja2-${JINJA2_VERSION}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
-cd ${PRODUCT_SRC_DIR}/Sphinx-${SPHINX_VERSION}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
-
-cd ${PRODUCT_DIR}/bin; 
-
-sed -e "s%#\!.*python%#\!/usr/bin/env python%" easy_install  > _easy_install
-mv -f _easy_install easy_install
-chmod a+x easy_install
-
-sed -e "s%#\!.*python%#\!/usr/bin/env python%" easy_install-${PYTHON_VERSION}  > _easy_install-${PYTHON_VERSION}
-mv -f _easy_install-${PYTHON_VERSION} easy_install-${PYTHON_VERSION}
-chmod a+x easy_install-${PYTHON_VERSION}
-
-sed -e "s%#\!.*python%#\!/usr/bin/env python%" pygmentize  > _pygmentize
-mv -f _pygmentize pygmentize
-chmod a+x pygmentize
-
-sed -e "s%#\!.*python%#\!/usr/bin/env python%" sphinx-build  > _sphinx-build
-mv -f _sphinx-build sphinx-build
-chmod a+x sphinx-build
-
-sed -e "s%#\!.*python%#\!/usr/bin/env python%" sphinx-quickstart  > _sphinx-quickstart
-mv -f _sphinx-quickstart sphinx-quickstart
-chmod a+x sphinx-quickstart
-
-sed -e "s%#\!.*python%#\!/usr/bin/env python%" sphinx-autogen > _sphinx-autogen
-mv -f _sphinx-autogen sphinx-autogen
-chmod a+x sphinx-autogen
+# install docutils
+cd ${PRODUCT_SRC_DIR}/docutils-${VERSION_DOCUTILS}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
+cd ${PRODUCT_DIR}/bin
+for f in X `find . -name "*.py" -exec basename {} ";" | awk -F. '{print $1}'` ; do
+    case ${f} in
+       X ) ;;
+       * ) sed -i "s%#\!.*python%#\!/usr/bin/env python%" ${f}.py ; ln -sf ${f}.py ${f} ;;
+    esac
+done
+
+# install setuptools
+cd ${PRODUCT_SRC_DIR}/setuptools-${VERSION_SETUPTOOLS}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
+
+# install Pygments
+cd ${PRODUCT_SRC_DIR}/Pygments-${VERSION_PYGMENTS}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
+
+# install Jinja2
+cd ${PRODUCT_SRC_DIR}/Jinja2-${VERSION_JINJA2}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
+
+# install Sphinx
+cd ${PRODUCT_SRC_DIR}/Sphinx-${VERSION_SPHINX}_SRC ; check_job ${PRODUCT_DIR}/MAKE.LOG python ./setup.py install --prefix=${PRODUCT_DIR}
+
+# fix Python exec path
+cd ${PRODUCT_DIR}/bin
+for f in X `find . -type f` ; do
+    case ${f} in
+       X ) ;; 
+       * ) sed -i "s%#\!.*python%#\!/usr/bin/env python%" ${f} ;;
+    esac
+done
 
 cd ${PRODUCT_DIR}
 
 # remove sources and temporary files after building
-if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
+if [ ${REMOVE_SRC_TMP} = "TRUE" ] ; then
     test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
 fi
 
@@ -137,7 +137,7 @@ try_preinstalled
 install_binary()
 {
 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-source ${INSTALL_WORK}/$SHRC
+source ${INSTALL_WORK}/${SHRC}
 
 # create a product directory
 test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
@@ -157,10 +157,10 @@ export PRODUCT_TYPE=$6;
 export INSTALL_PRODUCTS=$7;
 shift
 REMOVE_SRC_TMP=$8;
-test $# == 10 && shift && SINGLE_DIR=$9
-export PRODUCT="Sphinx-${SPHINX_VERSION}"
+test $# = 10 && shift && SINGLE_DIR=$9
+export PRODUCT="Sphinx-${VERSION_SPHINX}"
 export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
 source ./common.sh
-$PROCEDURE 
+${PROCEDURE}