Sophie

Sophie

distrib > Mandriva > current > i586 > media > contrib-release-src > by-pkgid > 69039768cf794aa965c340fd35b3367f > files > 2

code-aster-10.1.0-4mdv2010.1.src.rpm

%define		astver	10.1.0
%define		medver	2.3.6
%define		medlib	%mklibname med 1
%define		meddev	%mklibname med -d

%define		metisver 4.0
%define		metisdev %mklibname -d metis

%define		scotver 4.0
%define		scotdev	%mklibname scotch -d

Name:		code-aster
Group:		Sciences/Physics
Version:	%{astver}
Release:	%mkrel 4
Summary:	Analysis of of mechanical and civil engineering structures
Source0:	aster-full-src-10.1.0-4.noarch.tar.gz
License:	GPL
URL:		http://www.code-aster.org/
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot

BuildRequires:	flex bison
BuildRequires:	gcc-gfortran
BuildRequires:	hdf5
BuildRequires:	hdf5-devel
BuildRequires:	tcl-devel
BuildRequires:	tk-devel

Patch0:		med-build.patch
Patch1:		metis-string-format.patch
Patch2:		scotch-string-format.patch

#-----------------------------------------------------------------------
%description
Code_Aster: how and why?

Why?

EDF guarantees the technical and economical capabilities of its electricity
production means, from the conception to the end of operational life. The
safety and availability requirements infer the need to verify the correct
operation, maintenance and replacements conditions of machines through
numerical simulation. The analysis of real behaviour and the risks associated
with mechanical and civil engineering structures require knowledge over non
linear models of mechanical and thermal phenomena. Code_Aster has been
developed to satisfy these needs.

With Whom?

The main team is responsible for the coherence and quality (from the
architecture to the exploitation) of the code. A development network
provides models adapted to different materials and mechanical components
found in electrical industry equipment. Led by EDF-R&D, this network contains
industrial and university researchers as well as project coordinators. It
aims at giving on time the results of the innovations that are essential to
evaluate the problems of the system under use and of new projects. The
Code_Aster Users' Day shows the vitality of the network.

How?

The industrialisation of models, the adaptation of achievements and the
qualification take advantage of 18 years of development. The configuration
management tool allows the involved researchers to verify the coherence of
new modifications, their conformity with the rules and non-regression policy
of the modified code (over 1,800 tests performed in configuration). prior to
their integration within the code. The architecture of Code_Aster (a FORTRAN
base associated to object language) depends on a memory/disk image manager,
a command supervisor and a finite element calculation engine (the algorithms
are built independently from the elements formulation).

#-----------------------------------------------------------------------
%package	-n med
Summary:	Data exchanges in multi-physics simulation work
Group:		System/Libraries
Version:	%{medver}

%description	-n med
Data exchanges have become a necessity in the studies of multi-physics
simulation work by different scientific computing software. To achieve
these exchanges, it is necessary to develop code between gateways software.

%files		-n med
%defattr(-,root,root)
%{_bindir}/mdump
%{_bindir}/medconforme
%{_bindir}/medimport
%{_bindir}/xmdump
%dir %{_datadir}/med
%{_datadir}/med/*
%dir %{_docdir}/med
%{_docdir}/med/*

#-----------------------------------------------------------------------
%package	-n %{medlib}
Summary:	Data exchanges in multi-physics simulation work
Group:		Development/Other
Version:	%{medver}
Requires:	%{medlib} = %{medver}-%{release}

%description	-n %{medlib}
Data exchanges have become a necessity in the studies of multi-physics
simulation work by different scientific computing software. To achieve
these exchanges, it is necessary to develop code between gateways software.

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

#-----------------------------------------------------------------------
%package	-n %{meddev}
Summary:	Data exchanges in multi-physics simulation work
Group:		Development/Other
Version:	%{medver}
Provides:	med-devel = %{medver}-%{release}
Provides:	libmed-devel = %{medver}-%{release}
Requires:	%{medlib} = %{medver}-%{release}

%description	-n %{meddev}
Data exchanges have become a necessity in the studies of multi-physics
simulation work by different scientific computing software. To achieve
these exchanges, it is necessary to develop code between gateways software.

%files		-n %{meddev}
%defattr(-,root,root)
%{_includedir}/MED*
%{_includedir}/med*
%{_libdir}/*.la
%{_libdir}/*.so
%{_libdir}/*.settings


#-----------------------------------------------------------------------
%package	-n metis
Summary:	Partitioning unstructured graphs and meshes
Group:		Development/Other
License:	BSD like
Version:	%{metisver}

%description	-n metis
METIS is a software package for partitioning unstructured graphs, partitioning 
meshes, and computing fill-reducing orderings of sparse matrices. 

%files		-n metis
%defattr(-,root,root)
%{_bindir}/graphchk
%{_bindir}/kmetis
%{_bindir}/mesh2dual
%{_bindir}/mesh2nodal
%{_bindir}/oemetis
%{_bindir}/onmetis
%{_bindir}/partdmesh
%{_bindir}/partnmesh
%{_bindir}/pmetis
%{_docdir}/metis/manual.ps

#-----------------------------------------------------------------------
%package	-n %{metisdev}
Summary:	Partitioning unstructured graphs and meshes
Group:		Development/Other
License:	BSD like
Version:	%{metisver}
Provides:	metis-devel = %{metisver}-%{release}
Provides:	libmetis-devel = %{metisver}-%{release}

%description	-n %{metisdev}
METIS is a software package for partitioning unstructured graphs, partitioning 
meshes, and computing fill-reducing orderings of sparse matrices. 

%files		-n %{metisdev}
%defattr(-,root,root)
%{_includedir}/metis.h
%dir %{_includedir}/metis
%{_includedir}/metis/*
%{_libdir}/libmetis.a

#-----------------------------------------------------------------------
%package	-n scotch
Summary:	Mapping, partitioning, and sparse matrix block ordering
Group:		Development/Other
License:	LGPL
Version:	%{scotver}

%description	-n scotch
A software package and a software library devoted to static mapping,
partitioning, and sparse matrix block ordering of graphs and meshes.

%files		-n scotch
%defattr(-,root,root)
%dir %{_datadir}/scotch
%{_datadir}/scotch/*
%dir %{_docdir}/scotch
%{_docdir}/scotch/*

#-----------------------------------------------------------------------
%package	-n %{scotdev}
Summary:	Mapping, partitioning, and sparse matrix block ordering
Group:		Development/Other
License:	LGPL
Version:	%{scotver}
Provides:	scotch-devel = %{scotver}-%{release}
Provides:	libscotch-devel = %{scotver}-%{release}

%description	-n %{scotdev}
A software package and a software library devoted to static mapping,
partitioning, and sparse matrix block ordering of graphs and meshes.

%files		-n %{scotdev}
%defattr(-,root,root)
%dir %{_includedir}/scotch
%{_includedir}/scotch/*
%{_libdir}/scotch/*.a

#-----------------------------------------------------------------------
%prep
%setup -q -n aster-full-src-%{astver}/SRC
tar zxf med-%{medver}.tar.gz
tar zxf metis-%{metisver}.tar.gz
tar zxf scotch-%{scotver}-1.tar.gz

%patch0 -p2
%patch1 -p2
%patch2 -p2
pushd med-%{medver}
    autoreconf -ifs
popd


#-----------------------------------------------------------------------
%build
pushd med-%{medver}
    %configure --disable-static --enable-shared
    %make
popd

pushd metis-%{metisver}
    perl -pi								\
	-e 's|\?CC\?|%{__cc}|;'						\
	-e 's|\?CFLAGS\?|%{optflags} -fPIC|;'				\
	-e 's|\?LDFLAGS\?|%{ldflags}|;'					\
	Makefile.in
    %make default
popd

pushd scotch_%{scotver}/src
    perl -pi								\
	-e 's|\?CC\?|%{__cc}|;'						\
	-e 's|\?CFLAGS\?|%{optflags} -fPIC|;'				\
	-e 's|^LDFLAGS  = -L../../bin -lm|LDFLAGS = -L../../bin/ -lm %{ldflags}|;'\
	-e 's|\?RANLIB\?|ranlib|;'					\
	-e 's|\?FLEX\?|flex|;'						\
	-e 's|\?YACC\?|yacc|;'						\
	Makefile.inc
    %make
popd

#-----------------------------------------------------------------------
%clean
rm -rf %{buildroot}

#-----------------------------------------------------------------------
%install
pushd med-%{medver}
    %makeinstall_std							\
	docdir=%{_docdir}/med						\
	testcdir=%{_datadir}/med/bin/testc				\
	testfdir=%{_datadir}/med/bin/testf
popd

pushd metis-%{metisver}
    mkdir -p %{buildroot}%{_bindir} %{buildroot}%{_includedir}/metis	\
	%{buildroot}%{_libdir}  %{buildroot}%{_docdir}/metis
    cp -fa graphchk kmetis mesh2dual mesh2nodal oemetis onmetis		\
	partdmesh partnmesh pmetis %{buildroot}%{_bindir}
    cp -fa libmetis.a %{buildroot}%{_libdir}
    cp -fa Lib/metis.h %{buildroot}%{_includedir}
    cp -fa Lib/{defs,struct,macros,rename,proto}.h			\
	%{buildroot}%{_includedir}/metis
    cp -fa Doc/manual.ps %{buildroot}%{_docdir}/metis
popd

pushd scotch_%{scotver}
    mkdir -p %{buildroot}%{_datadir}/scotch/bin				\
	%{buildroot}%{_includedir}/scotch %{buildroot}%{_libdir}/scotch	\
	%{buildroot}%{_docdir}/scotch
    pushd bin
	cp -fa lib*.a %{buildroot}%{_libdir}/scotch
	cp -f *.h %{buildroot}%{_includedir}/scotch
	cp -f acpl atst gmk_m3 gtst mmk_m3 amk_ccc gmk_msh mord		\
	    amk_fft2 gmk_ub2 mtst amk_grf gcv gmtst amk_hy gmap gord	\
	    amk_m2 gmk_hy gotst mcv amk_p2 gmk_m2 gout mmk_m2		\
	    %{buildroot}%{_datadir}/scotch/bin
    popd
    cp -fa doc/scotch_user4.0.pdf %{buildroot}%{_docdir}/scotch
    cp -far tgt %{buildroot}%{_datadir}/scotch
popd


%changelog
* Wed Apr 28 2010 Paulo Andrade <pcpa@mandriva.com.br> 10.1.0-4mdv2010.1
+ Revision: 540657
- Build metis and scotch as position independent code libraries

* Thu Mar 18 2010 Paulo Andrade <pcpa@mandriva.com.br> 10.1.0-2mdv2010.1
+ Revision: 525110
- Enable metis and scotch build

* Tue Mar 16 2010 Paulo Andrade <pcpa@mandriva.com.br> 10.1.0-1mdv2010.1
+ Revision: 520653
- Refactorize configure.ac and med_check_hdf5.m4
- Import code-aster 10.1.0
- code-aster