# Copyright (c) 2014, 2015 Dave Love, University of Liverpool # Copyright (c) 2018, 2019 Dave Love, University of Manchester # MIT licence, per Fedora policy. # fixme: appdata/desktop files? # fixme: make common package with non-MPI-specific contents # In case we can support el6 %if 0%{?el6} %ifarch ppc64 %bcond_with mpich %else %bcond_without mpich %endif %else %bcond_without mpich %endif %global shortver %(echo %version|awk -F. '{print $1 "." $2}') Name: scalasca Version: 2.6.1 Release: 1%{?dist} Summary: Toolset for performance analysis of large-scale parallel applications # ScoutPatternParser and SilasConfigParser are Bison-generated License: BSD-3-Clause AND GPL-3.0-or-later WITH Bison-exception-2.0 URL: http://www.scalasca.org/ Source0: http://apps.fz-juelich.de/scalasca/releases/scalasca/%shortver/dist/%name-%version.tar.gz BuildRequires: make BuildRequires: otf2-devel >= 3.0, cube-devel >= 4.8 BuildRequires: zlib-devel openmpi-devel chrpath gcc-c++ %if %{with mpich} BuildRequires: mpich-devel %endif # Needed by square, to be moved out of the scorep package. # (The -instrument option is deprecated, so don't require/recommend scorep.) Requires: %_bindir/scorep-config %global desc \ Scalasca is a software tool that supports the performance optimization\ of parallel programs by measuring and analyzing their runtime\ behavior. The analysis identifies potential performance bottlenecks –\ in particular those concerning communication and synchronization – and\ offers guidance in exploring their causes.\ \ Scalasca targets mainly scientific and engineering applications based\ on the programming interfaces MPI and OpenMP, including hybrid\ applications based on a combination of the two. The tool has been\ specifically designed for use on large-scale systems, but is also well\ suited for small- and medium-scale HPC platforms. %description %desc %package openmpi Summary: Toolset for performance analysis of large-scale parallel applications - openmpi Requires: openmpi%{?_isa} Requires: %_libdir/openmpi/bin/scorep-config %description openmpi %desc %if 0%{?el7} %package openmpi3 Summary: Toolset for performance analysis of large-scale parallel applications - openmpi3 BuildRequires: openmpi3-devel Requires: openmpi3%{?_isa} Requires: %_libdir/openmpi3/bin/scorep-config %description openmpi3 %desc This is the openmpi3 version. %endif %if %{with mpich} %package mpich Summary: Toolset for performance analysis of large-scale parallel applications - mpich Requires: mpich%{?_isa} Requires: %_libdir/mpich/bin/scorep-config %description mpich %desc This is the mpich version. %endif %package doc Summary: Documentation for %name BuildArch: noarch %description doc Documentation for %name %prep %setup -q mkdir openmpi mpich simple %{?el7:openmpi3} rm -r vendor/cubew vendor/otf2 # bundled libraries %build %global _configure ../configure %global do_build \ %configure --with-otf2 --with-cube --enable-shared --libdir=$MPI_LIB \\\ --bindir=$MPI_BIN --datadir=$MPI_HOME/share LDFLAGS=-Wl,--as-needed \\\ --enable-backend-test-runs --disable-silent-rules \\\ --mandir=$MPI_MAN --docdir=%_pkgdocdir \ %make_build pushd openmpi %_openmpi_load %do_build %_openmpi_unload popd %if 0%{?el7} pushd openmpi3 %_openmpi3_load %do_build %_openmpi3_unload popd %endif %if %{with mpich} pushd mpich %_mpich_load %do_build %_mpich_unload popd %endif pushd simple %configure --with-otf2 --with-cube --enable-shared LDFLAGS=-Wl,--as-needed \ --enable-backend-test-runs --disable-silent-rules --without-mpi \ --docdir=%_pkgdocdir %make_build popd %install %make_install -C openmpi %{?el7:%make_install -C openmpi3} %if %{with mpich} %make_install -C mpich %endif %make_install -C simple find $RPM_BUILD_ROOT%_libdir \( -name \*.la -o -name \*.a \) -exec rm -f {} \; chrpath -d $RPM_BUILD_ROOT%_bindir/scout.{ser,omp} chrpath -d $RPM_BUILD_ROOT%_libdir/{openmpi,mpich}/bin/scout.{ser,omp} %check %_openmpi_load cd openmpi OMPI_MCA_rmaps_base_oversubscribe=1 \ make check VERBOSE=1 %ldconfig_scriptlets %files %doc README %license COPYING %_datadir/%name %exclude %_libdir/*.so %_libdir/*.so.* %_bindir/* %_mandir/man1/* %files openmpi %doc README %license COPYING %_libdir/openmpi/share/%name %exclude %_libdir/openmpi/lib/*.so %_libdir/openmpi/lib/*.so.* %_libdir/openmpi/bin/* %_mandir/openmpi-*/man1/* %if 0%{?el7} %files openmpi3 %doc README %license COPYING %_libdir/openmpi3/share/%name %exclude %_libdir/openmpi3/lib/*.so %_libdir/openmpi3/lib/*.so.* %_libdir/openmpi3/bin/* %_mandir/openmpi3-*/man1/* %endif %if %{with mpich} %files mpich %doc README %license COPYING %_libdir/mpich/share/%name %exclude %_libdir/mpich/lib/*.so %_libdir/mpich/lib/*.so.* %_libdir/mpich/bin/* %_mandir/mpich*/man1/* %endif %files doc %license COPYING %_pkgdocdir %changelog * Mon Dec 19 2022 Dave Love - 2.6.1-1 - New version (#2153767) * Thu Sep 8 2022 Dave Love - 2.6-5 - Use SPDX licence TAG * Sat Jul 23 2022 Fedora Release Engineering - 2.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sat Jan 22 2022 Fedora Release Engineering - 2.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Jul 23 2021 Fedora Release Engineering - 2.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Apr 20 2021 Dave Love - 2.6-1 - New version * Wed Jan 27 2021 Fedora Release Engineering - 2.5-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sat Aug 01 2020 Fedora Release Engineering - 2.5-6 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jul 29 2020 Fedora Release Engineering - 2.5-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Thu Jan 30 2020 Fedora Release Engineering - 2.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Tue Sep 3 2019 Dave love - 2.5-3 - Modify for el7 * Fri Jul 26 2019 Fedora Release Engineering - 2.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri Mar 22 2019 Dave Love - 2.5-1 - New version - Drop patch - Adjust doc files * Thu Feb 14 2019 Orion Poplawski - 2.4-7 - Rebuild for openmpi 3.1.3 * Sat Feb 02 2019 Fedora Release Engineering - 2.4-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Mon Oct 29 2018 Dave Love - 2.4-5 - Require scorep-config, not .spec file - BR cube-devel >= 4.4 * Sat Oct 27 2018 Dave Love - 2.4-4 - Correct dependence on scorep.spec * Wed Oct 24 2018 Dave Love - 2.4-3 - Require scorep config [#1610849] - Fix finding scorep.spec in square - Some rpm spec cleanup * Sat Jul 21 2018 Dave Love - 2.4-2 - BR gcc-c++ (#1606306) - Remove unnecessary -std=gnu++98 * Sat Jul 14 2018 Fedora Release Engineering - 2.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Jun 19 2018 Dave Love - 2.4-1 - New version (#1578180) * Fri Feb 09 2018 Fedora Release Engineering - 2.3.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Aug 03 2017 Fedora Release Engineering - 2.3.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 2.3.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sat Feb 11 2017 Fedora Release Engineering - 2.3.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Fri Oct 21 2016 Orion Poplawski - 2.3.1-2 - Rebuild for openmpi 2.0 * Fri May 20 2016 Orion Poplawski - 2.3.1-1 - Update to 2.3.1 - Drop pearl patch applied upstream * Thu May 12 2016 Dave Love - 2.3-4 - Run ldconfig for main package too, and fix rpath * Wed May 11 2016 Dave Love - 2.3-3 - Build non-MPI version Resolves: rhbz#1334560 - Use separate datadirs; at least summary file is build-dependent * Sat Apr 16 2016 Orion Poplawski - 2.3-2 - Just fix test program linkage * Fri Apr 15 2016 Orion Poplawski - 2.3-1 - Update to 2.3 - Add patch to fix libpearl_base linkage * Sun Feb 14 2016 Dave Love - 2.2.2-6 - Set CXX flags to build with gcc6 - Disable silent make rules * Thu Feb 04 2016 Fedora Release Engineering - 2.2.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Sep 15 2015 Orion Poplawski - 2.2.2-4 - Rebuild for openmpi 1.10.0 * Sat Aug 22 2015 Dave Love - 2.2.2-3 - BR openssh-clients so test works in koji epel7 * Tue Jul 7 2015 Dave Love - 2.2.2-2 - Various spec tidying - Don't build devel package -- doesn't seem useful * Thu Jun 25 2015 Dave Love - 2.2.2-1 - New version * Thu May 28 2015 Dave Love - 2.2.1-1 - New version * Sun Feb 22 2015 Dave Love - 2.2-1 - New version * Sun Feb 22 2015 Dave Love - 2.1-6 - Configure and run tests - Avoid mpich on el6 ppc64 - Remove defattr * Wed Dec 24 2014 Dave Love - 2.1-5 - Don't install .a files * Tue Dec 16 2014 Dave Love - 2.1-4 - Modify requires * Sun Dec 14 2014 Dave Love - 2.1-4 - Fix copyright * Thu Dec 11 2014 Dave Love - 2.1-3 - Add mpich * Thu Nov 20 2014 Dave Love - 2.1-2 - Minor rpmlint fixes * Mon Oct 13 2014 Dave Love - 2.1-2 - Initial packaging