default.specs 4.43 KiB
Newer Older
Ramon Nou's avatar
Ramon Nou committed
################################################################################
# Copyright 2018-2022, Barcelona Supercomputing Center (BSC), Spain            #
# Copyright 2015-2022, 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

# Variables to be imported into the scripts
declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args
declare -a order

# Comment that should be displayed when printing the profile
comment="All dependencies"

# Dependencies that must be downloaded directly
wgetdeps=(
    ["bzip2"]="1.0.6" 
    ["zstd"]="1.3.2" 
    ["lz4"]="1.8.0"
    ["snappy"]="1.1.7"
    ["capstone"]="4.0.1"
    ["argobots"]="1.0rc1"
    ["rocksdb"]="6.2.2"
    ["rocksdb%experimental"]="6.11.4"
    ["psm2"]="11.2.86"
)

# Dependencies that must be cloned
clonedeps=(
    ["bmi"]="6ea0b78fce1b964e45102828cdd05df7040a94c8"
    ["libfabric"]="HEAD@v1.8.1"
    ["libfabric%experimental"]="HEAD@v1.9.1"
    ["libfabric%verbs"]="HEAD@v1.7.2"
    ["mercury"]="41caa143a07ed179a3149cac4af0dc7aa3f946fd"
    ["margo"]="v0.6.3"
    ["syscall_intercept"]="f7cebb7b7e7512a19b78a31ce236ad6ca22636dd"
    ["date"]="e7e1482087f58913b80a20b04d5c58d9d6d90155"
    ["agios"]="c26a6544200f823ebb8f890dd94e653d148bf226@development"
    ["parallax"]="56e8b7b30908b1bc48f6c58ab03262498f44dad9"
)

# Extra arguments for git clone
clonedeps_args=(
    ["mercury"]="--recurse-submodules"
)

# Patches that should be applied post-clone
clonedeps_patches=(
    ["syscall_intercept"]="syscall_intercept.patch"
)

# Ordering that MUST be followed when downloading
order=(
    "bzip2" "zstd" "lz4" "snappy" "capstone" "bmi"
    "libfabric"
    "libfabric%experimental"
    "libfabric%verbs"
    "mercury" "argobots" "margo" "rocksdb" "rocksdb%experimental"
    "syscall_intercept" "date" "psm2" "agios" "parallax"
)

# Extra arguments passed to the installation script. As such, they can
# reference the following variables:
#  - 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
#  - 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"
)