Sophie

Sophie

distrib > Mandriva > 2007.1 > i586 > by-pkgid > cb5865f339513bdc2f53d3191f07c66c > files > 4

netcdf-devel-3.6.1-3mdv2007.1.src.rpm

%define name netcdf-devel%{?fortran:-%{fortran}}
%define version 3.6.1
%define realversion %{version}
%define release %mkrel 3

%define fortrancomp gfortran
%define isstdfortran %{?fortran:1}%{?!fortran:0}
%define foptflags %optflags

%if %{?_with_pgf:1}%{?!_with_pgf:0}
%define fortrancomp pgf90
%define fortran pgf
%define foptflags
%endif

%if %{?_with_g95:1}%{?!_with_g95:0}
%define fortrancomp g95
%define fortran g95
%endif

%if %{?_with_nag:1}%{?!_with_nag:0}
%define fortrancomp f95
%define fortran nag
%endif

Name: %{name}
Version: %{version}
Release: %{release}
Summary: Libraries to use the Unidata network Common Data Form (netCDF)
License: distributable (see COPYRIGHT)
Source0: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-%{realversion}.tar.bz2
Source1: ftp://ftp.unidata.ucar.edu/pub/netcdf/guidec.pdf.bz2
Source2: ftp://ftp.unidata.ucar.edu/pub/netcdf/guidec.html.tar.bz2
URL: http://www.unidata.ucar.edu/packages/netcdf/index.html
Group: Development/C
BuildRequires: gcc-gfortran
%if %{?fortran:1}%{?!fortran:0}
Requires: netcdf-devel >= %{version}
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-root

%description
NetCDF (network Common Data Form) is an interface for array-oriented data
access and a freely-distributed collection of software libraries for C, 
Fortran, C++, and perl that provides an implementation of the interface.
The netCDF library also defines a machine-independent format for representing
scientific data. Together, the interface, library, and format support the 
creation, access, and sharing of scientific data. The netCDF software was 
developed at the Unidata Program Center in Boulder, Colorado.

NetCDF data is: 

   o Self-Describing. A netCDF file includes information about the data it
     contains. 

   o Network-transparent. A netCDF file is represented in a form that can be 
     accessed by computers with different ways of storing integers, characters,
     and floating-point numbers. 

   o Direct-access. A small subset of a large dataset may be accessed 
     efficiently, without first reading through all the preceding data. 

   o Appendable. Data can be appended to a netCDF dataset along one dimension 
     without copying the dataset or redefining its structure. The structure of 
     a netCDF dataset can be changed, though this sometimes causes the dataset 
     to be copied. 

   o Sharable. One writer and multiple readers may simultaneously access the 
     same netCDF file. 

This package can be build with another fortran compiler than gfortran.
You can use rpm --rebuild with one of:
  --with pgf
  --with g95
  --with nag (warning: gfortran is also installed as f95 so it's conflict
	      with nag fortran )

%if %{isstdfortran}
This netcdf has been built with %{fortran}
%endif


%prep
%setup -q -n netcdf-%{realversion}
perl -pi -e "/^LIBDIR/ and s/\/lib/\/%_lib/g" src/macros.make.*

%build
cd src

export F77=%{fortrancomp}
export FC=%{fortrancomp}
export F90=%{fortrancomp}
export FFLAGS=-fPIC
export FCFLAGS=-fPIC
export F90FLAGS=-fPIC
export CFLAGS="%optflags -DpgiFortran -fPIC"
export CPPFLAGS="%optflags -DpgiFortran -fPIC"
export CXXFLAGS="%optflags -DpgiFortran -fPIC"
%if %{?_with_g95:1}%{?!_with_g95:0}
export CPPFLAGS="-DNDEBUG -Df2cFortran"
export CFLAGS="$RPM_OPT_FLAGS -fno-fast-math -Df2cFortran -fPIC"
export CXXFLAGS="$RPM_OPT_FLAGS -fno-fast-math -Df2cFortran -fPIC"
%endif
%if %{?_with_nag:1}%{?!_with_nag:0}
export CPPFLAGS="-DNDEBUG -DNAGf90Fortran"
export CFLAGS="$RPM_OPT_FLAGS -fno-fast-math -DNAGf90Fortran -fPIC"
export CXXFLAGS="$RPM_OPT_FLAGS -fno-fast-math -DNAGf90Fortran -fPIC"
%endif

%configure2_5x
make

%check
cd src
%if %{?_with_nag:0}%{?!_with_nag:1}
make test
%endif

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{_prefix} $RPM_BUILD_ROOT%{_mandir}
(cd src
%makeinstall

mv $RPM_BUILD_ROOT%{_prefix}/man/* $RPM_BUILD_ROOT%{_mandir}

%if %{?fortran:1}%{?!fortran:0}
mv %{buildroot}%{_libdir}/libnetcdf.a %{buildroot}%{_libdir}/libnetcdf-%{fortran}.a
(cd %{buildroot}%{_includedir}
 mkdir  %{fortran}
 mv netcdf.mod %{fortran}/netcdf.mod
 mv typesizes.mod %{fortran}/typesizes.mod
 rm %{buildroot}/%{_bindir}/*
 rm %{buildroot}/%{_libdir}/libnetcdf_c++.a
 rm -rf %{buildroot}/%{_mandir}
 rm %{buildroot}%{_includedir}/*
)
%endif

)
bzcat %{SOURCE1} > guidec.pdf
bzcat %{SOURCE2} | tar xvf -

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%{_libdir}/*.a
%if %{?fortran:0}%{?!fortran:1}
%doc src/COPYRIGHT src/README src/RELEASE_NOTES guidec.pdf guidec
%{_bindir}/ncgen
%{_bindir}/ncdump
%{_mandir}/man1/ncgen.1*
%{_mandir}/man1/ncdump.1*
%{_mandir}/man3/netcdf.3*
%endif
%if %{isstdfortran}
%dir %{_includedir}/%{fortran}
%{_includedir}/%{fortran}/*
%else
%{_includedir}/*
%endif


%changelog
* Mon Mar 19 2007 Giuseppe Ghibò <ghibo@mandriva.com> 3.6.1-3mdv2007.1
+ Revision: 146599
- Fixed Group (bug #28161).

* Sun Feb 18 2007 Giuseppe Ghibò <ghibo@mandriva.com> 3.6.1-2mdv2007.1
+ Revision: 122417
- rebuild.
- Import netcdf-devel



* Tue May 04 2006 Giuseppe Ghibò <ghibo@mandriva.com> 3.6.1-1mdk
- Release 3.6.1.

* Tue Dec 20 2005 Olivier Thauvin <nanardon@mandriva.org> 3.6.1-0.beta3.3mdk
- From Philippe Weill <Philippe.Weill@aero.jussieu.fr>
  - change false comments to change Fortran compiler
  - removing somes files when compiled with other than standard fortran
    to install more than one version without conflict
  - added dependancy to standard version when compiled with other fortran
  -removing test for nag fortran ( one test as syntax problem )

* Thu Oct 06 2005 Olivier Thauvin <nanardon@mandriva.org> 3.6.1-0.beta3.2mdk

* Thu Oct 06 2005 Olivier Thauvin <nanardon@mandriva.org> 3.6.1-0.beta3.1mdk
- From Philippe Weill <Philippe.Weill@aero.jussieu.fr>
  - allow build with pgf90, g95, fortran nag
  - 3.6.1beta3
  - -fPIC for x86_64
- re-add %%doc
- spec cleanup

* Sun May 22 2005 Laurent MONTEL <lmontel@mandriva.com> 3.6.1-0.beta3.1mdk
- 3.6.1-beta3

* Sun May 22 2005 Laurent MONTEL <lmontel@mandriva.com> 3.5.0-7mdk
- Fix

* Wed Mar 23 2005 Giuseppe Ghibò <ghibo@mandrakesoft.com> 3.5.0-6mdk
- Rebuilt.

* Thu Jan 29 2004 Giuseppe Ghibò <ghibo@mandrakesoft.com> 3.5.0-5mdk
- Rebuilt.

* Tue Feb 18 2003 Giuseppe Ghibò <ghibo@mandrakesoft.com> 3.5.0-4mdk
- Rebuilt.

* Wed Nov 27 2002 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 3.5.0-3mdk
- Make it lib64 aware, nuke installed but unpackaged files (duplicate man)

* Wed Aug 28 2002 Giuseppe Ghibò <ghibo@mandrakesoft.com> 3.5.0-2mdk
- Rebuilt.

* Sat Jun 23 2001 Giuseppe Ghibò <ghibo@mandrakesoft.com> 3.5.0-1mdk
- included changes to SPEC file from Thomas 
  Leclerc <leclerc@leannec.univ-lyon1.fr> (updates to version 3.5.0).

* Fri Dec 22 2000 Giuseppe Ghibo' <ghibo@mandrakesoft.com> 3.4-1mdk
- mandrake rebuilt.
- more macros.
- added PDF and HTML documentation.

* Mon Jul 24 2000 Prospector <prospector@redhat.com>
- rebuilt

* Mon Jul 17 2000 Tim Powers <timp@redhat.com>
- added defattr

* Mon Jul 10 2000 Tim Powers <timp@redhat.com>
- rebuilt

* Thu Jun 8 2000 Tim Powers <timp@redhat.com>
- fixed man page location to be FHS compliant
- use %%makeinstall and %%configure

* Tue Mar 28 2000 Tim Powers <timp@redhat.com>
- got package for contrib on ftp.redhat.com
- started changelog
- quiet setup
- changed buildroot and group
- RPM handles gzipping man pages now, no longer needed in spec file
- cleaned up files list
- bzip source