diff --git a/Libraries/libfabric/build b/Libraries/libfabric/build index 0580efc..b6e33ef 100755 --- a/Libraries/libfabric/build +++ b/Libraries/libfabric/build @@ -1,7 +1,36 @@ #!/usr/bin/env modbuild -pbuild::set_download_url "https://github.com/ofiwg/libfabric/releases/download/v$V/$P-$V.tar.bz2" -pbuild::add_to_group 'Libraries' - -pbuild::install_docfiles 'COPYING' 'AUTHORS' 'README' 'NEWS.md' +# Check 'version-to-gitcommit.txt' +# - If version exists, we will compile directly from GIT cloned commit. +# - If version does not exist, install from GIT repository package (tag). +GITURL=$(grep -E "^${V}" files/from-git.txt | awk '{print $2}') +BRANCH=$(grep -E "^${V}" files/from-git.txt | awk '{print $3}') +CHERRY=$(grep -E "^${V}" files/from-git.txt | awk -F'cherry-pick:' '{print $2}') +CHERRY_COMMIT=$(echo "$CHERRY" | awk -F'|' '{print $1}') +CHERRY_REPO=$(echo "$CHERRY" | awk -F'|' '{print $2}') +if [[ -n ${GITURL} ]]; then + pbuild::pre_prep() { + if [[ ! -f ${PMODULES_DISTFILESDIR}/${P}-${V}.tar.bz2 ]]; then + git clone ${GITURL} ${P} + cd ${P} + if [[ -n ${BRANCH} ]]; then + git fetch -a + git checkout ${BRANCH} + fi + if [[ -n ${CHERRY_REPO} ]]; then + git remote add remotetmp $CHERRY_REPO + git fetch --all + fi + + if [[ -n ${CHERRY_COMMIT} ]]; then + git cherry-pick $CHERRY_COMMIT + fi + + ./autogen.sh + cd .. + tar --exclude-vcs --remove-files -cvf ${PMODULES_DISTFILESDIR}/${P}-${V}.tar ${P} + bzip2 ${PMODULES_DISTFILESDIR}/${P}-${V}.tar + fi + } +fi diff --git a/Libraries/libfabric/files/config.yaml b/Libraries/libfabric/files/config.yaml index 981efdc..cebfb3f 100644 --- a/Libraries/libfabric/files/config.yaml +++ b/Libraries/libfabric/files/config.yaml @@ -3,14 +3,14 @@ libfabric: defaults: group: Libraries relstage: stable - compile_in_sourcetree: yes + compile_in_sourcetree: true docfiles: - AUTHORS - README - COPYING - NEWS.md urls: - - url: https://github.com/ofiwg/libfabric/releases/download/v$V/$P-$V.tar.bz2 + - url: https://github.com/ofiwg/libfabric/releases/download/v${V}/${P}-${V}.tar.bz2 shasums: libfabric-1.13.0.tar.bz2: 0c68264ae18de5c31857724c754023351614330bd61a50b40cef2b5e8f63ab28 libfabric-1.18.0.tar.bz2: 912fb7c7b3cf2a91140520962b004a1c5d2f39184adbbd98ae5919b0178afd43 @@ -18,3 +18,27 @@ libfabric: 1.18.0: config: build_requires: [gcc/10.4.0] + 1.22.0: + config: + relstage: unstable + variants: + - systems: [.*.merlin7.psi.ch] + overlay: Alps + use_overlays: [PSI] + use_flags: [merlin7] + build_requires: [gcc/12.3.0, libfabric/1.15.2.0] + configure_args+: + - --enable-cxi + 2.0.0: + config: + relstage: unstable + urls: + - url: https://github.com/ofiwg/libfabric/releases/download/v${V}alpha/$P-${V}alpha.tar.bz2 + variants: + - systems: [.*.merlin7.psi.ch] + overlay: Alps + use_overlays: [PSI] + use_flags: [merlin7] + build_requires: [gcc/12.3.0, libfabric/1.15.2.0] + configure_args+: + - --enable-cxi diff --git a/Libraries/libfabric/files/from-git.txt b/Libraries/libfabric/files/from-git.txt new file mode 100644 index 0000000..9e55042 --- /dev/null +++ b/Libraries/libfabric/files/from-git.txt @@ -0,0 +1,2 @@ +1.22.0 https://github.com/thomasgillis/libfabric.git dev-cxi +# 1.22.0 https://github.com/ofiwg/libfabric.git main cherry-pick:5793243aec20c4fee126aa3093ff07bb5889f154|https://github.com/raffenet/libfabric.git