File code_saturne.spec of Package code_saturne

#
# spec file for package code_saturne
#
# Copyright (c) 2012 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/
#


Name:           code_saturne
Version:        2.3.2
Release:        0
Summary:        An open source CFD solver
License:        GPL-2.0
Group:          Productivity/Scientific/Physics
Url:            http://code-saturne.org
Source0:        %{name}-%{version}.tar.bz2
Source1:        %{name}.png
BuildRequires:  cblas-devel
BuildRequires:  cgns-devel
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  hdf5-devel
BuildRequires:  lapack-devel
BuildRequires:  libmed-devel
BuildRequires:  libxml2-devel
BuildRequires:  python-Sphinx
BuildRequires:  python-qt4-devel
BuildRequires:  scotch-devel
BuildRequires:  update-desktop-files
BuildRequires:  zlib-devel
Requires:       python-code_saturne
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} <= 1110
%{!?python_sitelib:  %global python_sitelib  %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%endif

%description
Code_Saturne solves the Navier-Stokes equations for 2D, 2D-axisymmetric
and 3D flows, steady or unsteady, laminar or turbulent, incompressible
or weakly dilatable, isothermal or not, with scalars transport if required.

Several turbulence models are available, from Reynolds-Averaged models to
Large-Eddy Simulation models. In addition, a number of specific physical
models are also available as "modules": gas, coal and heavy-fuel oil
combustion, semi-transparent radiative transfer, particle-tracking with
Lagrangian modeling, Joule effect, electrics arcs, weakly compressible
flows, atmospheric flows, rotor/stator interaction for hydraulic machines.

%package -n libple0
Summary:        Libraries parts of the %{name} CFD solver
Group:          System/Libraries

%description -n libple0
Code_Saturne solves the Navier-Stokes equations for 2D, 2D-axisymmetric
and 3D flows, steady or unsteady, laminar or turbulent, incompressible
or weakly dilatable, isothermal or not, with scalars transport if required.

Several turbulence models are available, from Reynolds-Averaged models to
Large-Eddy Simulation models. In addition, a number of specific physical
models are also available as "modules": gas, coal and heavy-fuel oil
combustion, semi-transparent radiative transfer, particle-tracking with
Lagrangian modeling, Joule effect, electrics arcs, weakly compressible
flows, atmospheric flows, rotor/stator interaction for hydraulic machines.

%package -n libsaturne0
Summary:        Libraries parts of the %{name} CFD solver
Group:          System/Libraries

%description -n libsaturne0
Code_Saturne solves the Navier-Stokes equations for 2D, 2D-axisymmetric
and 3D flows, steady or unsteady, laminar or turbulent, incompressible
or weakly dilatable, isothermal or not, with scalars transport if required.

Several turbulence models are available, from Reynolds-Averaged models to
Large-Eddy Simulation models. In addition, a number of specific physical
models are also available as "modules": gas, coal and heavy-fuel oil
combustion, semi-transparent radiative transfer, particle-tracking with
Lagrangian modeling, Joule effect, electrics arcs, weakly compressible
flows, atmospheric flows, rotor/stator interaction for hydraulic machines.


%package -n python-code_saturne
Summary:        An open source CFD solver
Group:          Development/Languages/Python
Requires:       python-qt4
%if 0%{?suse_version} > 1110
BuildArch:      noarch
Requires:       python(abi) == %{py_ver}
%else
Requires:       python = %py_ver
%endif

%description -n python-code_saturne
Code_Saturne solves the Navier-Stokes equations for 2D, 2D-axisymmetric
and 3D flows, steady or unsteady, laminar or turbulent, incompressible
or weakly dilatable, isothermal or not, with scalars transport if required.

Several turbulence models are available, from Reynolds-Averaged models to
Large-Eddy Simulation models. In addition, a number of specific physical
models are also available as "modules": gas, coal and heavy-fuel oil
combustion, semi-transparent radiative transfer, particle-tracking with
Lagrangian modeling, Joule effect, electrics arcs, weakly compressible
flows, atmospheric flows, rotor/stator interaction for hydraulic machines.

%package devel
Summary:        Development and header files for %{name}
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Requires:       libple0 = %{version}
Requires:       libsaturne0 = %{version}

%description devel
This package contains the development and header files for %{name}.

%package doc
Summary:        Documentation files for %{name}
Group:          Documentation/Other
%if 0%{?suse_version} > 1110
BuildArch:      noarch
%endif

%description doc
This package contains the documentation files for %{name}.


%prep
%setup -q

%build
export SUSE_ASNEEDED=0
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure --with-blas-libs="-lcblas -lblas"
make %{?_smp_mflags}
make doc

%install
make install DESTDIR=%{buildroot}
make install-doc DESTDIR=%{buildroot}
for file in refcard theory tutorial user; do
    install -m644 docs/$file/$file.pdf %{buildroot}/%{_datadir}/doc/%{name}
done

install -m644 -D %{S:1} %{buildroot}/%{_datadir}/pixmaps/%{name}.png
%suse_update_desktop_file -c %{name} %{name} "An open source CFD solver" "code_saturne gui" %{name} Education Engineering

find %{buildroot} -type f -name '*.la' -exec rm {} \;

%fdupes -s %{buildroot}%{python_sitelib}
%fdupes -s %{buildroot}/%{_datadir}/doc/%{name}

%clean
rm -rf %{buildroot}

%post -n libsaturne0 -p /sbin/ldconfig
%postun -n libsaturne0 -p /sbin/ldconfig

%post -n libple0 -p /sbin/ldconfig
%postun -n libple0 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING README
%{_bindir}/code_saturne
%{_libexecdir}/code_saturne
%{_mandir}/man1/code_saturne.*
%dir %{_datadir}/code_saturne
%{_datadir}/code_saturne/batch
%{_datadir}/code_saturne/data
%{_datadir}/code_saturne/salome
%{_datadir}/code_saturne/cs_user_scripts.py
%{_datadir}/code_saturne/runcase*
%{_datadir}/code_saturne/SaturneGUI
%{_datadir}/locale/*/LC_MESSAGES/code_saturne.mo
%config %{_sysconfdir}/bash_completion.d/code_saturne
%config %{_sysconfdir}/code_saturne.cfg.template
%{_datadir}/pixmaps/code_saturne.png
%{_datadir}/applications/code_saturne.desktop

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

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

%files -n python-code_saturne
%defattr(-,root,root)
%{python_sitelib}/code_saturne

%files devel
%defattr(-,root,root)
%{_libdir}/*.so
%{_libdir}/*.a
%{_bindir}/ple-config
%{_mandir}/man1/ple-config.*
%{_includedir}/code_saturne
%{_includedir}/*.h
%{_datadir}/code_saturne/user*

%files doc
%defattr(-,root,root)
%{_datadir}/doc/%{name}

%changelog
openSUSE Build Service is sponsored by