File Rivet.spec of Package Rivet

#
# spec file for package Rivet
#
# Copyright (c) 2014 SUSE LINUX Products 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/
#


%define so_name lib%{name}

Name:           Rivet
Version:        2.1.2
Release:        0
Summary:        A toolkit for validation of Monte Carlo event generators
License:        GPL-2.0
Group:          Development/Libraries/C and C++
Url:            http://rivet.hepforge.org/
Source:         http://www.hepforge.org/archive/rivet/%{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM Rivet-compatibility-with-old-boost.patch badshah400@gmail.com -- Fix foreach compatibility with boost < 1.50 and make Rivet build with openSUSE 12.3 again
Patch0:         Rivet-compatibility-with-old-boost.patch
# PATCH-FIX-UPSTREAM 0001-fix_YODA_Histo1D_includes.patch sfalken@opensuse.org -- Fix buildfailure in MathHeader.hh by updating for YODA changing from mean and stdDev to xMean and xStdDev
Patch1:         0001-fix_YODA_Histo1D_includes.patch	
BuildRequires:  HepMC-devel
BuildRequires:  YODA-devel >= 1.0.6
BuildRequires:  boost-devel
BuildRequires:  doxygen
BuildRequires:  fastjet-devel
BuildRequires:  fastjet-plugin-siscone-devel
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  pkg-config
BuildRequires:  python-devel
BuildRequires:  texlive-latex-bin
BuildRequires:  yaml-cpp-devel
BuildRequires:  pkgconfig(gsl)
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
The Rivet project (Robust Independent Validation of Experiment and
Theory) is a toolkit for validation of Monte Carlo event generators.
It provides a large (and ever growing) set of experimental analyses
useful for MC generator development, validation, and tuning, as well
as a convenient infrastructure for adding your own analyses. Rivet is
the most widespread way by which analysis code from the LHC and other
high-energy collider experiments is preserved for comparison to and
development of future theory models. 

%package -n %{so_name}
Summary:        A toolkit for validation of Monte Carlo event generators
Group:          Development/Libraries/C and C++

%description -n %{so_name}
The Rivet project (Robust Independent Validation of Experiment and
Theory) is a toolkit for validation of Monte Carlo event generators.
It provides a large (and ever growing) set of experimental analyses
useful for MC generator development, validation, and tuning, as well
as a convenient infrastructure for adding your own analyses. Rivet is
the most widespread way by which analysis code from the LHC and other
high-energy collider experiments is preserved for comparison to and
development of future theory models. 

This package provides the shared libraries for %{name}.

%package devel
Summary:        A toolkit for validation of Monte Carlo event generators
Group:          Development/Libraries/C and C++
Requires:       %{so_name} = %{version}

%description devel
The Rivet project (Robust Independent Validation of Experiment and
Theory) is a toolkit for validation of Monte Carlo event generators.
It provides a large (and ever growing) set of experimental analyses
useful for MC generator development, validation, and tuning, as well
as a convenient infrastructure for adding your own analyses. Rivet is
the most widespread way by which analysis code from the LHC and other
high-energy collider experiments is preserved for comparison to and
development of future theory models. 

This package provides the source files for development with %{name}.

%package -n python-%{name}
Summary:        A toolkit for validation of Monte Carlo event generators
Group:          Development/Libraries/C and C++
Requires:       %{so_name} = %{version}

%description -n python-%{name}
The Rivet project (Robust Independent Validation of Experiment and
Theory) is a toolkit for validation of Monte Carlo event generators.
It provides a large (and ever growing) set of experimental analyses
useful for MC generator development, validation, and tuning, as well
as a convenient infrastructure for adding your own analyses. Rivet is
the most widespread way by which analysis code from the LHC and other
high-energy collider experiments is preserved for comparison to and
development of future theory models. 

This package provides the python bindings for %{name}.

%
%prep
%setup -q
%patch0 -p1
%patch1 -p1

# REMOVE EXISTING rivet.pc FILE, ALLOW make TO GENERATE rivet.pc FROM rivet.pc.in
rm -f rivet.pc

# REMOVE INCORRECT LIBDIRS FROM .pc.in FILE (the right libdirs are already present)
sed -i "s| -L@GSLLIBPATH@||g" rivet.pc.in

%build
%configure --docdir=%{_docdir}/%{name}/
make %{?_smp_mflags}

%install
%make_install

# Remove traces of BUILDROOT from files
sed -i "s|%{buildroot}||g" %{buildroot}%{python_sitearch}/rivet/*.pyc

# MANUALLY REMOVE rpath FROM PKGCONFIG FILE AND rivet-config SCRIPT
sed -i "s|-Wl,-rpath,||g" %{buildroot}%{_libdir}/pkgconfig/rivet.pc
sed -i "s|-Wl,-rpath,||g" %{buildroot}%{_bindir}/rivet-config

find %{buildroot}%{_libdir}/ -name "*.la" -delete

%post -n %{so_name} -p /sbin/ldconfig

%postun -n %{so_name} -p /sbin/ldconfig

%files -n %{so_name}
%defattr(-,root,root)
%{_libdir}/*.so

%files devel
%defattr(-,root,root)
%doc AUTHORS ChangeLog README COPYING
%{_bindir}/rivet-config
%{_bindir}/rivet-buildplugin
%{_includedir}/%{name}/
%{_datadir}/%{name}/
%{_libdir}/pkgconfig/rivet.pc

%files -n python-%{name}
%defattr(-,root,root)
%{_bindir}/*
%exclude %{_bindir}/rivet-config
%exclude %{_bindir}/rivet-buildplugin
%{python_sitearch}/rivet/
%{python_sitearch}/rivet-*egg-info

%changelog
openSUSE Build Service is sponsored by