File alglib.spec of Package alglib-interp_BR

Name:           alglib-interp
Version:        20090422
Release:        0
Summary:        Algorithmic library components from alglib.net

Group:          Productivity/Scientific/Math
License:        BSD-3-Clause
URL:            http://www.alglib.net
Source0:        interpolation.linearleastsquares.cpp.zip
Source1:	interpolation.polynomial.cpp.zip
Source2:	interpolation.rational.cpp.zip
Source3:	interpolation.spline2d.cpp.zip
Source4:	interpolation.spline3.cpp.zip
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  gcc-c++ ccache unzip pkg-config
%define parts	linearleastsquares polynomial rational spline2d spline3

%description 

ALGLIB is a project aimed at creating a convenient and efficient
multilingual scientific software library. This package contains the
interpolation routines.

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

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%debug_package

%prep

%setup -n alglib -c -T
%setup -n alglib/linearleastsquares -c -D -q -T -a 0
%setup -n alglib/polynomial -c -D -q -T -a 1
%setup -n alglib/rational -c -D -q -T -a 2
%setup -n alglib/spline2d -c -D -q -T -a 3
%setup -n alglib/spline3 -c -D -q -T -a 4
%setup -n alglib -D -T

%build 
pwd
for i in %{parts}; do
    cd $i
    cd libs && ccache g++ $RPM_OPT_FLAGS -c ap.cpp 
    cd ..
    for c in *.cpp; do
    	ccache g++ -Ilibs $RPM_OPT_FLAGS -c $c
    done
    cd ..
done

%install

rm -rf %{buildroot}
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mkdir -p %{buildroot}/%{_includedir}/alglib

ln -s spline3/libs ap
for i in %{parts} ap; do
    mkdir -p %{buildroot}/%{_includedir}/alglib/$i
    for h in $i/*.h; do
     	install -m 644 $h %{buildroot}/%{_includedir}/alglib/$h 
    done
    cd $i
    ar -rcs %{buildroot}/%{_libdir}/libalglib-$i.a *.o
    cd ..
    cat >%{buildroot}/%{_libdir}/pkgconfig/alglib-$i.pc <<EOF
# variables
prefix=%{_prefix}
exec_prefix=%{_prefix}
includedir=%{_includedir}
libdir=%{_libdir}

Name: alglib-$i
Description: Algorithmic library components from alglib.net - $i
Version: %{version}
Libs: -L\${libdir} -lalglib-$i -lalglib-ap
Cflags: -I\${includedir}/alglib/$i -I\${includedir}/alglib/ap
EOF
done

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


%clean
rm -rf %{buildroot}


%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc linearleastsquares/faq.english.html

%files devel
%defattr(-,root,root,-)
%doc
%{_includedir}/alglib
%{_libdir}/*.a
%{_libdir}/pkgconfig/*.pc

%changelog
* Wed Apr 22 2009 Rene van Paassen <Rene.vanPaassen@gmail.com> 20090422-2
- Should not have put version on pkgconfig file name
openSUSE Build Service is sponsored by