view tool_dependencies.xml @ 3:0538fd672119 draft

Uploaded
author iuc
date Thu, 16 Jul 2015 05:43:42 -0400
parents b36c9ee883e9
children f27d2f8761ae
line wrap: on
line source

<tool_dependency>
    <package name="atlas" version="3.10.2">
        <install version="1.0">
            <actions_group>
                <actions architecture="x86_64" os="linux">
                    <action type="download_by_url">https://depot.galaxyproject.org/package/linux/x86_64/atlas/atlas-3.10.2-Linux-x86_64.tar.gz</action>
                    <action type="move_directory_files">
                        <source_directory>.</source_directory>
                        <destination_directory>$INSTALL_DIR</destination_directory>
                    </action>
                    <action type="set_environment">
                        <environment_variable action="set_to" name="ATLAS_LIB_DIR">$INSTALL_DIR/lib</environment_variable>
                        <environment_variable action="set_to" name="ATLAS_INCLUDE_DIR">$INSTALL_DIR/include</environment_variable>
                        <environment_variable action="set_to" name="ATLAS_BLAS_LIB_DIR">$INSTALL_DIR/lib/atlas</environment_variable>
                        <environment_variable action="set_to" name="ATLAS_LAPACK_LIB_DIR">$INSTALL_DIR/lib/atlas</environment_variable>
                        <environment_variable action="set_to" name="ATLAS_ROOT_PATH">$INSTALL_DIR</environment_variable>
                        <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$INSTALL_DIR/lib</environment_variable>
                        <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$INSTALL_DIR/lib/atlas</environment_variable>
                    </action>
                    <action type="shell_command"><![CDATA[
                        command -v gfortran || return 0
                        BUNDLED_LGF_CANON=$INSTALL_DIR/lib/libgfortran.so.3.0.0 &&
                        BUNDLED_LGF_VERS=`objdump -p $BUNDLED_LGF_CANON | grep GFORTRAN_1 | sed -r 's/.*GFORTRAN_1\.([0-9])+/\1/' | sort -n | tail -1` &&
                        echo 'program test; end program test' > test.f90 &&
                        gfortran -o test test.f90 &&
                        LGF=`ldd test | grep libgfortran | awk '{print $3}'` &&
                        LGF_CANON=`readlink -f $LGF` &&
                        LGF_VERS=`objdump -p $LGF_CANON | grep GFORTRAN_1 | sed -r 's/.*GFORTRAN_1\.([0-9])+/\1/' | sort -n | tail -1` &&
                        if [ $LGF_VERS -gt $BUNDLED_LGF_VERS ]; then
                            cp -p $BUNDLED_LGF_CANON ${BUNDLED_LGF_CANON}.bundled &&
                            cp -p $LGF_CANON $BUNDLED_LGF_CANON
                        fi
                    ]]></action>
                </actions>
                <actions architecture="x86_64" os="darwin">
                    <!-- NOOP: On OS X we will use Apple's vecLib -->
                </actions>
                <actions>
                    <action type="download_file">http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2</action>
                    <action type="download_file">http://www.netlib.org/lapack/lapack-3.5.0.tgz</action>
                    <action type="download_file">https://depot.galaxyproject.org/patch/atlas/static_full_blas_lapack.diff</action>
                    <action type="download_file">https://depot.galaxyproject.org/patch/atlas/shared_libraries.diff</action>
                    <action type="download_file">https://depot.galaxyproject.org/patch/atlas/cpu-throttling-check.diff</action>
                    <action type="shell_command">tar -jxvf atlas3.10.2.tar.bz2</action>
                    <!-- a 64-bit architecture is assumed for compilation -->
                    <action type="shell_command"><![CDATA[
                        cd ATLAS &&
                        mkdir ATLAS/build &&
                        patch -p1 </host/static_full_blas_lapack.diff &&
                        patch -p1 </host/shared_libraries.diff &&
                        patch -p1 </host/cpu-throttling-check.diff &&
                        cd build &&
                        ../configure --prefix="$INSTALL_DIR" -D c -DWALL -b 64 -Fa alg '-fPIC' --with-netlib-lapack-tarfile=../../lapack-3.5.0.tgz -v 2 -t 0 -Si cputhrchk 0 &&
                        make &&
                        make install
                    ]]></action>
                    <action type="set_environment">
                        <environment_variable action="set_to" name="ATLAS_LIB_DIR">$INSTALL_DIR/lib</environment_variable>
                        <environment_variable action="set_to" name="ATLAS_INCLUDE_DIR">$INSTALL_DIR/include</environment_variable>
                        <environment_variable action="set_to" name="ATLAS_BLAS_LIB_DIR">$INSTALL_DIR/lib/atlas</environment_variable>
                        <environment_variable action="set_to" name="ATLAS_LAPACK_LIB_DIR">$INSTALL_DIR/lib/atlas</environment_variable>
                        <environment_variable action="set_to" name="ATLAS_ROOT_PATH">$INSTALL_DIR</environment_variable>
                        <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$INSTALL_DIR/lib</environment_variable>
                        <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$INSTALL_DIR/lib/atlas</environment_variable>
                    </action>
                </actions>
            </actions_group>
        </install>
        <readme>Compiling ATLAS requires a C and Fortran compiler (typically gcc and gfortran). The base ATLAS installation path can be is exported as ATLAS_ROOT_PATH, libraries as ATLAS_LIB_DIR, and headers as ATLAS_INCLUDE_DIR.
        This ATLAS build includes patches from the Debian ATLAS packages which enable additional features:
            1. Shared versions of the standard ATLAS libraries are built in addition to the static versions
            2. Full BLAS and LAPACK libraries are built, which can be found in the ATLAS_BLAS_LIB_DIR and ATLAS_LAPACK_LIB_DIR directories
        This package also includes a bundled libgfortran and export LD_LIBRARY_PATH=$ATLAS_LIB_DIR so that any dependent packages which link to ATLAS will be able to resolve all necessary libraries at runtime.
        On Mac OS X, this package is a dummy package - BLAS and LAPACK libraries are already provided in Apple's vecLib.
        </readme>
    </package>
</tool_dependency>