Verified Commit 82edc706 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

dep_scripts: Support suffixes to identify multiple dependency flavors

parent 57a502ea
Loading
Loading
Loading
Loading
+7 −13
Original line number Diff line number Diff line
@@ -502,31 +502,24 @@ for dep_name in "${PROFILE_DEP_LIST[@]}"; do

    if [[ ! -z "${PROFILE_WGETDEPS[${dep_name}]:-}" ]]; then

        # dependency names can include a TAG after a colon (e.g. ofi:verbs),
        # remove it
        dep_id=${dep_name%%:*}

        # find required version for dependency
        dep_version="${PROFILE_WGETDEPS[${dep_name}]}"

        # build URL for dependency
        dep_url="${PROFILE_SOURCES[${dep_id}]}"
        dep_url="${PROFILE_SOURCES[${dep_name}]}"

        if [[ -z "${dep_url}" ]]; then
            echo "Missing source URL for '${dep_id}'. Verify ${SOURCES_FILE}."
            echo "Missing source URL for '${dep_name}'. Verify ${SOURCES_FILE}."
            wait
            exit 1
        fi

        dep_url="${dep_url/\{\{VERSION\}\}/${dep_version}}"

        wgetdeps "${dep_id}" "${dep_url}" &
        wgetdeps "${dep_name}" "${dep_url}" &

    elif [[ ! -z "${PROFILE_CLONEDEPS[${dep_name}]:-}" ]]; then

        # dependency names can include a TAG after a colon (e.g. ofi:verbs),
        # remove it
        dep_id=${dep_name%%:*}

        dep_args=""

        # find required version for dependency
@@ -540,10 +533,11 @@ for dep_name in "${PROFILE_DEP_LIST[@]}"; do
        fi

        # build URL for dependency
        dep_url="${PROFILE_SOURCES[${dep_id}]}"
        dep_url="${PROFILE_SOURCES[${dep_name}]}"

        if [[ -z "${dep_url}" ]]; then
            echo "Missing source URL for '${dep_id}'. Verify ${SOURCES_FILE}."
            echo "Missing source URL for '${dep_name}'. Verify ${SOURCES_FILE}."
            wait
            exit 1
        fi

+6 −6
Original line number Diff line number Diff line
@@ -52,8 +52,8 @@ wgetdeps=(
clonedeps=(
    ["bmi"]="6ea0b78fce1b964e45102828cdd05df7040a94c8"
    ["libfabric"]="HEAD@v1.8.1"
#    ["libfabric:experimental"]="HEAD@v1.9.1"
#    ["libfabric:verbs"]="HEAD@v1.7.2"
    ["libfabric:experimental"]="HEAD@v1.9.1"
    ["libfabric:verbs"]="HEAD@v1.7.2"
    ["mercury"]="41caa143a07ed179a3149cac4af0dc7aa3f946fd"
    ["margo"]="v0.6.3"
    ["syscall_intercept"]="f7cebb7b7e7512a19b78a31ce236ad6ca22636dd"
@@ -75,8 +75,8 @@ clonedeps_patches=(
order=(
    "bzip2" "zstd" "lz4" "snappy" "capstone" "bmi"
    "libfabric"
    #"libfabric:experimental"
    #"libfabric:verbs"
    "libfabric:experimental"
    "libfabric:verbs"
    "mercury" "argobots" "margo" "rocksdb" "rocksdb:experimental"
    "syscall_intercept" "date" "psm2" "agios"
)
@@ -91,6 +91,6 @@ order=(
#  - PERFORM_TEST: whether tests for the package should be executed
extra_install_args=(
    ["libfabric"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2"
    #["libfabric:verbs"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2 --enable-verbs=yes"
    #["libfabric:experimental"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2 --enable-verbs=yes"
    ["libfabric:verbs"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2 --enable-verbs=yes"
    ["libfabric:experimental"]="--enable-psm2=yes --with-psm2-src=${SOURCE_DIR}/psm2 --enable-verbs=yes"
)
+4 −1
Original line number Diff line number Diff line
@@ -37,11 +37,14 @@
##               downloaded
## - INSTALL_DIR: the directory where the package should be installed
## - CORES: the number of cores to use when building
## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.)
## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0)
## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9)
## - PERFORM_TEST: whether tests for the package should be executed
################################################################################

pkg_install() {
    CURR="${SOURCE_DIR}/libfabric"
    CURR="${SOURCE_DIR}/libfabric:experimental"
    prepare_build_dir "${CURR}"
    cd "${CURR}"
    ./autogen.sh
+4 −1
Original line number Diff line number Diff line
@@ -37,11 +37,14 @@
##               downloaded
## - INSTALL_DIR: the directory where the package should be installed
## - CORES: the number of cores to use when building
## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.)
## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0)
## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9)
## - PERFORM_TEST: whether tests for the package should be executed
################################################################################

pkg_install() {
    CURR="${SOURCE_DIR}/libfabric"
    CURR="${SOURCE_DIR}/libfabric:verbs"
    prepare_build_dir "${CURR}"
    cd "${CURR}"
    ./autogen.sh
+56 −0
Original line number Diff line number Diff line
################################################################################
# Copyright 2018-2021, Barcelona Supercomputing Center (BSC), Spain            #
# Copyright 2015-2021, Johannes Gutenberg Universitaet Mainz, Germany          #
#                                                                              #
# This software was partially supported by the                                 #
# EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu).    #
#                                                                              #
# This software was partially supported by the                                 #
# ADA-FS project under the SPPEXA project funded by the DFG.                   #
#                                                                              #
# This file is part of GekkoFS.                                                #
#                                                                              #
# GekkoFS is free software: you can redistribute it and/or modify              #
# it under the terms of the GNU General Public License as published by         #
# the Free Software Foundation, either version 3 of the License, or            #
# (at your option) any later version.                                          #
#                                                                              #
# GekkoFS is distributed in the hope that it will be useful,                   #
# but WITHOUT ANY WARRANTY; without even the implied warranty of               #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                #
# GNU General Public License for more details.                                 #
#                                                                              #
# You should have received a copy of the GNU General Public License            #
# along with GekkoFS.  If not, see <https://www.gnu.org/licenses/>.            #
#                                                                              #
# SPDX-License-Identifier: GPL-3.0-or-later                                    #
################################################################################
# vi: ft=bash

################################################################################
## The installation script must define both a pkg_install function and
## pkg_check function that, as their name implies, must specify how
## a dependency package should be installed and tested.  ## ## The following
## variables can be used in the installation script:
## - CMAKE: a variable that expands to the cmake binary
## - SOURCE_DIR: the directory where the sources for the package were
##               downloaded
## - INSTALL_DIR: the directory where the package should be installed
## - CORES: the number of cores to use when building
## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.)
## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0)
## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9)
## - PERFORM_TEST: whether tests for the package should be executed
################################################################################

pkg_install() {
    CURR=${SOURCE_DIR}/rocksdb:experimental
    cd "${CURR}"
    make clean
    PORTABLE=1 USE_SSE=1 USE_RTTI=1 make -j"${CORES}" static_lib
    INSTALL_PATH="${INSTALL_DIR}/rocksdb:experimental" make install
}

pkg_check() {
    :
}
Loading