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