Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > c06744c31c9566583820eca48a0c2f3f > files > 7

maxima-5.29.1-4.mga3.src.rpm

%define enable_clisp    1
%define enable_gcl      1
%define enable_sbcl     1
%define enable_ecl      1
%define defaultlisp     clisp

%if %enable_clisp
%define clisp_flags	--enable-clisp
%else
%define clisp_flags	--disable-clisp
%endif

%if %enable_gcl
%define gcl_flags	--enable-gcl
%else
%define gcl_flags	--disable-gcl
%endif

%if %enable_sbcl
%define sbcl_flags	--enable-sbcl
%else
%define sbcl_flags	--disable-sbcl
%endif

%if %enable_ecl
%define ecl_flags	--enable-ecl
%else
%define ecl_flags	--disable-ecl
%endif

Name:           maxima
Version:        5.29.1
Release:        %mkrel 4
Summary:        Symbolic Computation Program
License:        GPLv2
Group:          Sciences/Mathematics
URL:            http://maxima.sourceforge.net
Source0:        http://prdownloads.sourceforge.net/maxima/%{name}-%{version}.tar.gz
Source1:        icons-%{name}.tar.bz2
Patch0:         %{name}-5.22.0-xdg-utils.patch
Patch2:         %{name}-fix-contrib-docs.patch
Patch3:         %{name}-5.23.0-clisp-noreadline.patch
Patch4:         %{name}-5.22.0-ecl-ldflags.patch
BuildRequires:  texinfo
BuildRequires:  texlive
BuildRequires:  texinfo-tex
BuildRequires:  python
BuildRequires:  time
BuildRequires:  desktop-file-utils
BuildRequires:  tk
Suggests:       tk
Suggests:       tcl
Requires:       %{name}-runtime
Requires:       gnuplot
%if %{enable_clisp}
BuildRequires:  clisp
%endif
%if %{enable_gcl}
BuildRequires:  gcl
%endif
%if %{enable_sbcl}
BuildRequires:  sbcl
# || echo 0 is a hack as src.rpm is generated on BS without BUildRequires installed
%define sbcl_version %((sbcl --version || echo 0) | sed 's/SBCL //')
%endif
%if %{enable_ecl}
BuildRequires:  ecl
%else
Obsoletes:	%{name}-runtime-ecl < %{version}-%{release}
%endif

%description
Maxima is a full symbolic computation program.  It is full featured doing
symbolic manipulation of polynomials, matrices, rational functions,
integration, Todd-coxeter, graphing, bigfloats.  It has a symbolic debugger
source level debugger for maxima code.  Maxima is based on the original Macsyma
developed at MIT in the 1970's. It is quite reliable, and has good garbage
collection, and no memory leaks. It comes with hundreds of self tests.


#--------------------------------------------------------------------

%package gui
Summary:        Tcl/Tk GUI interface to Maxima
Group:          Sciences/Mathematics
Requires:       %{name}
Requires:       tk
Provides:       x%{name} = %{version}-%{release}

%description gui
Tcl/Tk GUI interface to Maxima.


%files gui
%{_bindir}/x%{name}
%{_datadir}/applications/mageia-%{name}.desktop
%{_iconsdir}/hicolor/*/apps/*.png

#--------------------------------------------------------------------

%if %{enable_clisp}
%package runtime-clisp
Summary:        Maxima compiled with clisp
Group:          Sciences/Mathematics
Requires:       clisp
Requires:       %{name} = %{version}-%{release}
Provides:       %{name}-runtime = %{version}-%{release}

%description runtime-clisp
Maxima compiled with clisp.


%files runtime-clisp
%dir %{_libdir}/%{name}/%{version}/binary-clisp
%{_libdir}/%{name}/%{version}/binary-clisp/*
%endif

#--------------------------------------------------------------------

%if %{enable_gcl}
%package runtime-gcl
Summary:        Maxima compiled with GCL
Group:          Sciences/Mathematics
Requires:       %{name} = %{version}-%{release}
Suggests:       rlwrap
Provides:       %{name}-runtime = %{version}-%{release}

%description runtime-gcl
Maxima compiled with Gnu Common Lisp.


%files runtime-gcl
%{_bindir}/r%{name}
%dir %{_libdir}/%{name}/%{version}/binary-gcl
%{_libdir}/%{name}/%{version}/binary-gcl/*
%endif

#--------------------------------------------------------------------
%if %{enable_sbcl}
%package runtime-sbcl
Summary:        Maxima compiled with SBCL
Group:          Sciences/Mathematics
Requires:       sbcl = %{sbcl_version}
Requires:       %{name} = %{version}-%{release}
Provides:       %{name}-runtime = %{version}-%{release}

%description runtime-sbcl
Maxima compiled with SBCL.


%files runtime-sbcl
%dir %{_libdir}/%{name}/%{version}/binary-sbcl
%{_libdir}/%{name}/%{version}/binary-sbcl/*
%endif

%if %{enable_ecl}
%package runtime-ecl
Summary:        Maxima compiled with ECL
Group:          Sciences/Mathematics
Requires:       %{name} = %{version}-%{release}
Provides:       %{name}-runtime = %{version}-%{release}

%description runtime-ecl
Maxima compiled with ECL.


%files runtime-ecl
%dir %{_libdir}/%{name}/%{version}/binary-ecl
%{_libdir}/%{name}/%{version}/binary-ecl/*
%endif

#--------------------------------------------------------------------

%prep
%setup -q
%patch0 -p1
%patch2 -p1
#patch3 -p1
%patch4 -p1

%build
export GCL_ANSI=y
%if %{enable_sbcl}
export SBCL_HOME=%{_libdir}/sbcl
%endif
CFLAGS="%optflags -fno-fast-math" \
CXXFLAGS="%optflags -fno-fast-math" \
%configure2_5x \
	%{clisp_flags} \
	%{gcl_flags} \
	%{sbcl_flags} \
	%{ecl_flags} \
	--with-default-lisp=%{defaultlisp}

make
make check

(cd doc/info
texi2dvi -p -t @afourpaper -t @finalout %{name}.texi
)

%install
export EXCLUDE_FROM_COMPRESS=1
%makeinstall 

rm -f %{buildroot}%{_infodir}/dir

# menu
mkdir -p %{buildroot}%{_datadir}/applications
cat > %{buildroot}%{_datadir}/applications/%{_real_vendor}-%{name}.desktop << EOF
[Desktop Entry]
Name=Maxima
Comment=Tcl/Tk interface to Maxima
Exec=%{_bindir}/x%{name}
Icon=%{name}
Terminal=false
Type=Application
Categories=Science;Math;
EOF

# icons
mkdir -p %{buildroot}%{_iconsdir}
tar xjf %{SOURCE1} -C %{buildroot}%{_iconsdir}

%post
if [[ -f /usr/share/info/%{name}.info ]]; then /sbin/install-info /usr/share/info/%{name}.info --dir=/usr/share/info/dir; fi

%postun
if [ "$1" = "0" ]; then if [[ -f /usr/share/info/%{name}.info ]]; then /sbin/install-info /usr/share/info/%{name}.info --dir=/usr/share/info/dir --remove ; fi; fi 

%files
%doc AUTHORS COPYING README README.lisps
%doc doc/info/%{name}.pdf
%{_bindir}/%{name}
%{_bindir}/r%{name}
%{_libexecdir}/%{name}/%{version}/mgnuplot
%{_datadir}/%{name}/%{version}/*
%{_infodir}/*.info*
%{_infodir}/%{name}-index.lisp*
%{_mandir}/man1/%{name}.*


%changelog

* Sun Feb 03 2013 kamil <kamil> 5.29.1-4.mga3
+ Revision: 394229
- rebuild against sbcl 1.1.4

* Mon Jan 14 2013 umeabot <umeabot> 5.29.1-3.mga3
+ Revision: 386058
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Thu Dec 20 2012 kamil <kamil> 5.29.1-2.mga3
+ Revision: 333427
- rebuild against new ecl

* Sun Dec 16 2012 kamil <kamil> 5.29.1-1.mga3
+ Revision: 331826
- disable P3
- new version 5.29.1

* Thu Dec 13 2012 kamil <kamil> 5.27.0-4.mga3
+ Revision: 330542
- reeaneble ecl build

* Tue Dec 11 2012 kamil <kamil> 5.27.0-3.mga3
+ Revision: 329817
- add texinfo-tex as BR
- rebuild against new sbcl

* Mon May 28 2012 kamil <kamil> 5.27.0-2.mga3
+ Revision: 247737
- new version 5.27.0

* Sat Apr 07 2012 pterjan <pterjan> 5.26.0-2.mga2
+ Revision: 229449
- Obsolete runtime-ecl
- Do not compress info pages, this breaks internal help
- Disable ecl
- Require sbcl version used to build. If a given one is needed it should be a BuildRequires

  + kamil <kamil>
    - reenable 'make check'

* Wed Jan 18 2012 kamil <kamil> 5.26.0-0.3.mga2
+ Revision: 197753
- reenable gcl build
- drop missed-extract-categories.patch (merged upstream)

* Wed Jan 18 2012 kamil <kamil> 5.26.0-0.2.mga2
+ Revision: 197747
- reenable ecl build
- remove EXCLUDE_FROM_COMPRESS for info-pages

* Wed Jan 18 2012 kamil <kamil> 5.26.0-0.1.mga2
+ Revision: 197742
- reenable sbcl build

* Wed Jan 11 2012 kamil <kamil> 5.26.0-0.mga2
+ Revision: 194948
- temporarily disable gcl and ecl build
- add tk, desktop-file-utils and time to BR
- disable make check
- new version
- spec cleaning a bit

* Thu May 05 2011 grenoya <grenoya> 5.24.0-1.mga1
+ Revision: 95217
- clean old Mdv syntax
- diseable sbcl

  + tv <tv>
    - fix texlive BR
    - new release

  + dmorgan <dmorgan>
    - Fix desktop file name
    - imported package maxima