From 665c82cb8ff231f4753b14c0997f34a140eccc78 Mon Sep 17 00:00:00 2001 From: Fabian Castelli Date: Mon, 7 Jun 2021 17:21:29 +0200 Subject: [PATCH] Add package symengine --- candi.cfg | 1 + deal.II-toolchain/packages/dealii.package | 15 ++++++ deal.II-toolchain/packages/symengine.package | 49 +++++++++++++++++++ .../platforms/supported/ubuntu20.platform | 3 +- 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 deal.II-toolchain/packages/symengine.package diff --git a/candi.cfg b/candi.cfg index 8c3515d..93c4bd5 100644 --- a/candi.cfg +++ b/candi.cfg @@ -76,6 +76,7 @@ PACKAGES="${PACKAGES} once:p4est" PACKAGES="${PACKAGES} once:trilinos" PACKAGES="${PACKAGES} once:petsc" PACKAGES="${PACKAGES} once:slepc" +PACKAGES="${PACKAGES} once:symengine" PACKAGES="${PACKAGES} dealii" ######################################################################### diff --git a/deal.II-toolchain/packages/dealii.package b/deal.II-toolchain/packages/dealii.package index 761370f..1175822 100644 --- a/deal.II-toolchain/packages/dealii.package +++ b/deal.II-toolchain/packages/dealii.package @@ -241,6 +241,21 @@ if [ ! -z "${GINKGO_DIR}" ]; then -D GINKGO_DIR=${GINKGO_DIR}" fi +######################################## +# SYMENGINE +if [[ ${PACKAGES_OFF} =~ 'symengine' ]]; then + if [ ! -z "${SYMENGINE_DIR}" ]; then + cecho ${INFO} "deal.II: unset SYMENGINE_DIR due to forced DEAL_II_WITH_SYMENGINE:BOOL=OFF option" + unset SYMENGINE_DIR + fi +fi + +if [ ! -z "${SYMENGINE_DIR}" ]; then + cecho ${INFO} "deal.II: configuration with SYMENGINE" + CONFOPTS="${CONFOPTS} \ + -D DEAL_II_WITH_SYMENGINE:BOOL=ON" +fi + ################################################################################ package_specific_install() { diff --git a/deal.II-toolchain/packages/symengine.package b/deal.II-toolchain/packages/symengine.package new file mode 100644 index 0000000..066168a --- /dev/null +++ b/deal.II-toolchain/packages/symengine.package @@ -0,0 +1,49 @@ +################################################################################ +## SYMENGINE ## +################################################################################ + +# Option {ON|OFF}: Choose whether to load the tarball or the git repository. +CANDI_SYMENGINE_LOAD_TARBALL=OFF + +if [ ${CANDI_SYMENGINE_LOAD_TARBALL} = ON ]; then + # download release tarball + VERSION=0.7.0 + CHECKSUM=72b8f1442fd3084c96e59d9fe87eec1a + + NAME=symengine-${VERSION} + SOURCE=https://github.com/symengine/symengine/releases/download/v${VERSION}/ + EXTRACTSTO=${NAME} + PACKING=.tar.gz +else + # download git repository + VERSION=v0.7.0 + + NAME=symengine.git + SOURCE=https://github.com/symengine/ + EXTRACTSTO=symengine-${VERSION} + PACKING=git +fi +unset CANDI_SYMENGINE_LOAD_TARBALL + +BUILDCHAIN=cmake + +BUILDDIR=${BUILD_PATH}/symengine-${VERSION} +INSTALL_PATH=${INSTALL_PATH}/symengine-${VERSION} + +CONFOPTS="\ + -D BUILD_SHARED_LIBS:BOOL=ON \ + -D BUILD_TESTS:BOOL=OFF \ + -D BUILD_BENCHMARKS:BOOL=OFF" + +package_specific_register () { + export SYMENGINE_DIR=${INSTALL_PATH} +} + +package_specific_conf () { + # Generate configuration file + CONFIG_FILE=${CONFIGURATION_PATH}/${NAME} + rm -f ${CONFIG_FILE} + echo " +export SYMENGINE_DIR=${INSTALL_PATH} +" >> $CONFIG_FILE +} diff --git a/deal.II-toolchain/platforms/supported/ubuntu20.platform b/deal.II-toolchain/platforms/supported/ubuntu20.platform index c6c264a..527b827 100644 --- a/deal.II-toolchain/platforms/supported/ubuntu20.platform +++ b/deal.II-toolchain/platforms/supported/ubuntu20.platform @@ -7,7 +7,8 @@ # bc python automake autoconf gfortran \ # openmpi-bin openmpi-common libopenmpi-dev cmake subversion git \ # libblas-dev liblapack-dev libblas3 liblapack3 \ -# libsuitesparse-dev libtool libboost-all-dev zlib1g-dev +# libsuitesparse-dev libtool libboost-all-dev zlib1g-dev \ +# libgmp-dev # # Then run candi again. ## -- 2.39.5