# Fixme: use gotcha Name: caliper Version: 1.9.1 Release: 1%{?dist} Summary: Flexible application introspection system License: BSD URL: https://llnl.github.io/Caliper/ Source0: https://github.com/LLNL/Caliper/archive/v%version/%name-%version.tar.gz BuildRequires: cmake3 >= 3.1 BuildRequires: gcc-c++ papi-devel libunwind-devel openmpi-devel BuildRequires: dyninst-devel gcc-gfortran libpfm-devel BuildRequires: doxygen python-sphinx dyninst-static graphviz %global desc \ Caliper is a program instrumentation and performance measurement\ framework. It is designed as a performance analysis toolbox in a\ library, allowing one to bake performance analysis capabilities\ directly into applications and activate them at runtime. Caliper is\ primarily aimed at HPC applications, but works for any C/C++/Fortran\ program on Unix/Linux.\ \ Caliper's data collection mechanisms and source-code annotation API\ support a variety of performance engineering use cases, such as\ performance profiling, tracing, monitoring, and auto-tuning.\ \ Features include:\ * Low-overhead source-code annotation API\ * Flexible key:value data model: capture application-specific features\ for performance analysis\ * Fully threadsafe implementation, support for parallel programming models\ like MPI\ * Synchronous (event-based) and asynchronous (sampling) performance data\ collection\ * Trace and profile recording\ * Connection to third-party tools\ * Measurement and profiling functionality such as timers, PAPI hardware\ counters, and Linux perf_events\ * Memory allocation annotations: associate performance measurements with\ named memory regions %description %desc %package openmpi Summary: Flexible application introspection system - openmpi Requires: openmpi%{?_isa} %description openmpi %desc This is the openmpi version. %package devel Summary: Development files for %name Requires: %name%{?_isa} = %version-%release %description devel Development files for %name. %prep %setup -q -n Caliper-%version %build %_openmpi_load # testing requires googletest %cmake3 . -DBUILD_DOCS=on -DWITH_TOOLS=on -DWITH_GOTCHA=off -DWITH_MPI=on -DWITH_PAPI=on -DWITH_CALLPATH=on -DWITH_FORTRAN=on -DWITH_SAMPLER=on -DWITH_DYNINST=on -DWITH_LIBPFM=on %make_build . %install %make_install mkdir -p %buildroot%_libdir/openmpi/lib mv %buildroot%_libdir/*-mpi* %buildroot%_libdir/openmpi/lib mv %buildroot%_datadir/fortran/caliper.f90 %buildroot%_includedir/caliper %ldconfig_scriptlets %files %license LICENSE %doc README.md %_bindir/* %_libdir/*.so.1* %files devel %_includedir/caliper %_libdir/*.so %dir %_libdir/pkgconfig %_libdir/pkgconfig/caliper.pc %dir %_datadir/cmake %_datadir/cmake/caliper %files openmpi %license LICENSE %doc README.md %_libdir/openmpi/lib/* %changelog * Fri Feb 8 2019 Dave Love - 1.9.1-1 - Initial packaging