Dave Love b2bbf83
# Copyright (c) 2014, 2015  Dave Love, University of Liverpool
Dave Love b2bbf83
# MIT licence, per Fedora policy.
Dave Love b2bbf83
Dave Love b2bbf83
# NB many rpm warnings, mostly undefined-non-weak-symbol, which I
Dave Love b2bbf83
# think are ignorable.
Dave Love b2bbf83
Dave Love 24787ed
# fixme: Make common package for .spec data files and anything else common
Dave Love b2bbf83
#	 Check on ignored omp pragmas -- from newer openmp?
Dave Love b2bbf83
Dave Love b2bbf83
# In case we can support el6
Dave Love b2bbf83
%if 0%{?el6}
Dave Love b2bbf83
%ifarch ppc64
Dave Love b2bbf83
%bcond_with mpich
Dave Love b2bbf83
%else
Dave Love b2bbf83
%bcond_without mpich
Dave Love b2bbf83
%endif
Dave Love b2bbf83
%else
Dave Love b2bbf83
%bcond_without mpich
Dave Love b2bbf83
%endif
Dave Love b2bbf83
Orion Poplawski 5f54222
%global ver 2.3.1
Orion Poplawski 591554e
%global shortver 2.3
Dave Love b2bbf83
Dave Love b2bbf83
Name:		scalasca
Dave Love b2bbf83
Version:	%ver
4b4bdce
Release:	6%{?dist}
Dave Love b2bbf83
Summary:	Toolset for performance analysis of large-scale parallel applications
Dave Love b2bbf83
Dave Love b2bbf83
# ScoutPatternParser and SilasConfigParser are GPL
Dave Love b2bbf83
License:	BSD and GPLv3+
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
Dave Love b2bbf83
Orion Poplawski 591554e
BuildRequires:	otf2-devel >= 2.0, cube-devel >= 4.3
Dave Love 2f35561
BuildRequires:	zlib-devel openmpi-devel chrpath
Dave Love b2bbf83
%if %{with mpich}
Dave Love b2bbf83
BuildRequires:	mpich-devel
Dave Love b2bbf83
%endif
Dave Love f13d1bc
# Necessary to run tests in epel7
Dave Love f13d1bc
BuildRequires:	openssh-clients
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}
Dave Love b2bbf83
Dave Love b2bbf83
Dave Love b2bbf83
%description openmpi
Dave Love b2bbf83
%desc
Dave Love b2bbf83
Dave Love b2bbf83
This is the openmpi version.
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}
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
Dave Love 24787ed
mkdir openmpi mpich simple
Dave Love b2bbf83
rm -r vendor/cube vendor/otf2	# bundled libraries
Dave Love b2bbf83
Dave Love b2bbf83
Dave Love b2bbf83
%build
Dave Love b50661c
# -std=gnu++98 to enable build with gcc6
Dave Love b50661c
export MPI_CXXFLAGS=-std=gnu++98 CXXFLAGS=-std=gnu++98
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 \\\
Dave Love b50661c
	   --enable-backend-test-runs --disable-silent-rules \
Dave Love b2bbf83
	   make %{?_smp_mflags}
Dave Love b2bbf83
pushd openmpi
Dave Love b2bbf83
%_openmpi_load
Dave Love b2bbf83
%do_build
Dave Love b2bbf83
%_openmpi_unload
Dave Love b2bbf83
popd
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 \
Dave Love 24787ed
	   --enable-backend-test-runs --disable-silent-rules --without-mpi
Dave Love 24787ed
make %{?_smp_mflags}
Dave Love 24787ed
popd
Dave Love b2bbf83
Dave Love b2bbf83
Dave Love b2bbf83
%install
Dave Love b2bbf83
rm -rf $RPM_BUILD_ROOT
Dave Love b2bbf83
make install -C openmpi DESTDIR=$RPM_BUILD_ROOT
Dave Love b2bbf83
%if %{with mpich}
Dave Love b2bbf83
make install -C mpich DESTDIR=$RPM_BUILD_ROOT
Dave Love b2bbf83
%endif
Dave Love 24787ed
make install -C simple DESTDIR=$RPM_BUILD_ROOT
Dave Love b2bbf83
Dave Love 24787ed
find $RPM_BUILD_ROOT%_libdir \( -name \*.la -o -name \*.a \) -exec rm -f {} \;
Dave Love b2bbf83
Dave Love 2f35561
chrpath -d $RPM_BUILD_ROOT%_libdir/*/lib/libpearl.base.so.0 $RPM_BUILD_ROOT%_libdir/libpearl.base.so.0
Dave Love 2f35561
chrpath -d $RPM_BUILD_ROOT%_bindir/scout.{ser,omp}
Dave Love 2f35561
Dave Love b2bbf83
Dave Love b2bbf83
%check
Dave Love b2bbf83
%_openmpi_load
Dave Love b2bbf83
cd openmpi
Dave Love b2bbf83
OMPI_MCA_orte_allocation_required=0 OMPI_MCA_btl=sm,self \
Dave Love ac625a3
make check VERBOSE=1
Dave Love b2bbf83
Dave Love 2f35561
Dave Love 2f35561
%post -p /sbin/ldconfig
Dave Love 2f35561
%postun -p /sbin/ldconfig
Dave Love 2f35561
Dave Love b2bbf83
%{!?_licensedir:%global license %%doc}
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/*
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/*
Dave Love b2bbf83
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/*
Dave Love b2bbf83
%endif
Dave Love b2bbf83
Dave Love b2bbf83
%files doc
Dave Love b2bbf83
%_docdir/%name
Dave Love b2bbf83
Dave Love b2bbf83
Dave Love b2bbf83
%changelog
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