File HepMC.spec of Package HepMC
#
# spec file for package HepMC
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: HepMC
%define lname libHepMC-3_0_0
Version: 3.0.0
Release: 0
Summary: An event record for High Energy Physics Monte Carlo Generators in C++
License: GPL-2.0
Group: Development/Libraries/C and C++
Url: http://hepmc.web.cern.ch/hepmc/
Source: http://hepmc.web.cern.ch/hepmc/releases/hepmc%{version}.tgz
Patch1: sover.diff
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The HepMC package is an object oriented event record written in C++
for High Energy Physics Monte Carlo Generators. Many extensions from
HEPEVT, the Fortran HEP standard, are supported.
%package -n %{lname}
Summary: An event record for High Energy Physics Monte Carlo Generators
Group: System/Libraries
%description -n %{lname}
The HepMC package is an object oriented event record written in C++
for High Energy Physics Monte Carlo Generators. Many extensions from
HEPEVT, the Fortran HEP standard, are supported: the number of entries
is unlimited, spin density matrices can be stored with each vertex,
flow patterns (such as color) can be stored and traced, integers
representing random number generator states can be stored, and an
arbitrary number of event weights can be included. Particles and
vertices are kept separate in a graph structure, physically similar to
a physics event. The added information supports the modularisation of
event generators. Event information is accessed by means of iterators
supplied with the package.
%package devel
Summary: Header files for HepMC
Group: Development/Libraries/C and C++
Requires: %{lname} = %{version}
%description devel
The HepMC package is an object oriented event record written in C++
for High Energy Physics Monte Carlo Generators. Many extensions from
HEPEVT, the Fortran HEP standard, are supported.
This package provides the source and header files required for
developing with HepMC.
%prep
%setup -q -n hepmc%{version}
%patch -P 1 -p1
%build
%cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DHEPMC_ENABLE_ROOTIO:BOOL=OFF \
-DCONFIG_INSTALL_DIR:PATH=%{_libdir}/HepMC/
%make_jobs
cd ../doc/doxygen
make
%install
%cmake_install
# REMOVE STATIC LIBRARIES
rm -f %{buildroot}%{_libdir}/*.a
# Weird duplicated installation dir
rm -fr %{buildroot}%{_builddir}
chmod +x %{buildroot}%{_bindir}/HepMC-config
#Install examples manually so that fdupes can be run on them
mkdir -p %{buildroot}%{_docdir}/%{name}
cp -pr examples %{buildroot}%{_docdir}/%{name}/
%fdupes %{buildroot}%{_docdir}/%{name}/examples
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%files -n %{lname}
%defattr(-,root,root)
%{_libdir}/libHepMC-3.0.0.so
%files devel
%defattr(-,root,root)
%doc README* ChangeLog DESIGN doc/doxygen/html
%dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/examples
%{_bindir}/HepMC-config
%{_includedir}/%{name}/
%{_datadir}/%{name}/
%changelog