Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ Until May 2022 (inclusive) no changelog was kept. We might try to reconstruct it

### Added

- GeoModel recipe (6.22.0) for detector description toolkit from CERN
- nlohmann-json recipe (v3.12.0) for JSON library support (required by GeoModel)

### Fixed

### Changed
Expand Down
52 changes: 52 additions & 0 deletions geomodel.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package: GeoModel
version: "%(tag_basename)s"
tag: "6.22.0"
source: https://gitlab.cern.ch/GeoModelDev/GeoModel.git
requires:
- boost
- Eigen3
- XercesC
- sqlite
- nlohmann-json
build_requires:
- CMake
env:
GEOMODEL_ROOT: "$GEOMODEL_ROOT"
prepend_path:
ROOT_INCLUDE_PATH: "$GEOMODEL_ROOT/include"
PATH: "$GEOMODEL_ROOT/bin"
LD_LIBRARY_PATH: "$GEOMODEL_ROOT/lib"
---
#!/bin/bash -e

cmake "$SOURCEDIR" \
-DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \
-DCMAKE_INSTALL_LIBDIR=lib \
${CMAKE_BUILD_TYPE:+-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE} \
${CXXSTD:+-DCMAKE_CXX_STANDARD=$CXXSTD} \
-DBUILD_SHARED_LIBS=ON \
-DGEOMODEL_BUILD_TOOLS=ON \
-DGEOMODEL_BUILD_VISUALIZATION=OFF \
-DGEOMODEL_BUILD_EXAMPLES=OFF \
-DGEOMODEL_BUILD_TESTING=OFF \
-DGEOMODEL_BUILD_GEOMODELG4=OFF \
-DGEOMODEL_USE_BUILTIN_JSON=OFF \
${BOOST_ROOT:+-DBoost_ROOT=$BOOST_ROOT} \
${EIGEN3_ROOT:+-DEigen3_DIR=$EIGEN3_ROOT/share/eigen3/cmake} \
${XERCESC_ROOT:+-DXercesC_DIR=$XERCESC_ROOT} \
${SQLITE_ROOT:+-DSQLite3_ROOT=$SQLITE_ROOT} \
${NLOHMANN_JSON_ROOT:+-Dnlohmann_json_DIR=$NLOHMANN_JSON_ROOT/share/cmake/nlohmann_json}

cmake --build . ${JOBS:+-j$JOBS}
cmake --install .

# Modulefile
MODULEDIR="$INSTALLROOT/etc/modulefiles"
MODULEFILE="$MODULEDIR/$PKGNAME"
mkdir -p "$MODULEDIR"
alibuild-generate-module --bin --lib > "$MODULEFILE"
cat >> "$MODULEFILE" <<EoF
prepend-path ROOT_INCLUDE_PATH \$PKG_ROOT/include
prepend-path CMAKE_PREFIX_PATH \$PKG_ROOT
setenv GEOMODEL_ROOT \$PKG_ROOT
EoF
39 changes: 39 additions & 0 deletions nlohmann-json.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package: nlohmann-json
version: "%(tag_basename)s"
tag: v3.12.0
source: https://github.com/nlohmann/json
build_requires:
- CMake
- alibuild-recipe-tools
---
#!/bin/bash -e

cmake "$SOURCEDIR" \
-DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \
${CMAKE_BUILD_TYPE:+-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE} \
-DJSON_BuildTests=OFF \
-DJSON_Install=ON

cmake --build . ${JOBS:+-j$JOBS}
cmake --install .

# Modulefile
MODULEDIR="$INSTALLROOT/etc/modulefiles"
MODULEFILE="$MODULEDIR/$PKGNAME"
mkdir -p "$MODULEDIR"
cat > "$MODULEFILE" <<EoF
#%Module1.0

Check notice on line 25 in nlohmann-json.sh

View workflow job for this annotation

GitHub Actions / alidistlint

Modulefile created manually here; consider using alibuild-generate-module [ali:consider-a-g-m]
proc ModulesHelp { } {
global version
puts stderr "ALICE Modulefile for $PKGNAME $PKGVERSION-@@PKGREVISION@$PKGHASH@@"
}
set version $PKGVERSION-@@PKGREVISION@$PKGHASH@@
module-whatis "ALICE Modulefile for $PKGNAME $PKGVERSION-@@PKGREVISION@$PKGHASH@@"
# Dependencies
module load BASE/1.0
# Our environment
set NLOHMANN_JSON_ROOT \$::env(BASEDIR)/$PKGNAME/\$version
setenv NLOHMANN_JSON_ROOT \$NLOHMANN_JSON_ROOT
prepend-path ROOT_INCLUDE_PATH \$NLOHMANN_JSON_ROOT/include
prepend-path CMAKE_PREFIX_PATH \$NLOHMANN_JSON_ROOT
EoF