File yacas.spec of Package yacas
#
# spec file for package yacas
#
# Copyright (c) 2007-2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2014 SUSE LINUX 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: yacas
Version: 1.3.6
Release: 1
License: LGPL-2.0+
Summary: An easy to use, general purpose Computer Algebra System
Url: http://yacas.sourceforge.net/
Group: Productivity/Scientific/Math
BuildRequires: dejagnu
BuildRequires: fltk-devel
BuildRequires: gcc-c++
BuildRequires: gnuplot
BuildRequires: gperf
BuildRequires: gsl-devel
BuildRequires: libtool
BuildRequires: readline-devel
BuildRequires: gzip
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%else
BuildRequires: desktop-file-utils
%endif
# lynx is defined as help browser in /usr/share/yacas/yacasinit.ys
Requires: lynx
BuildRequires: gcc-fortran
# needed BuildRequires for proteus
BuildRequires: xorg-x11-devel
BuildRequires: texlive-latex
%if 0%{?suse_version}
BuildRequires: libbz2-1
BuildRequires: termcap
BuildRequires: xorg-x11-libX11-devel
BuildRequires: xorg-x11-libXext-devel
BuildRequires: xorg-x11-libXmu-devel
BuildRequires: xorg-x11-libXt-devel
BuildRequires: xorg-x11-libs
%endif
%if 0%{?suse_version} > 1220 || 0%{?fedora}
BuildRequires: texlive-amsfonts
BuildRequires: texlive-makeindex
BuildRequires: texlive-dvips
%endif
%if 0%{?fedora}
BuildRequires: texlive
BuildRequires: bzip2-libs
BuildRequires: ncurses-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libXmu-devel
BuildRequires: libXt-devel
%endif
# Fix files-duplicate
BuildRequires: fdupes
Source: %{name}-%{version}.tar.bz2
Source2: yacaslogo.xpm
Source3: yacas.desktop
Source4: yacas-rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#PATCH-FIX-UPSTREAM Fix incorrect fsf address
Patch1: yacas-incorrect-fsf-address.patch
%description
YACAS is an easy to use, general purpose Computer Algebra System, a
program for symbolic manipulation of mathematical expressions.
It uses its own programming language designed for symbolic as well as
arbitrary-precision numerical computations.
The system has a library of scripts that implement many of the symbolic
algebra operations; new algorithms can be easily added to the library.
YACAS comes with extensive documentation (320+ pages) covering the
scripting language, the functionality that is already implemented in
the system, and the algorithms we used.
%package devel
Summary: Development package for YACAS based software
Group: Development/Languages/Other
Requires: %{name} = %{version}
Requires: Mesa
Requires: glibc-devel
Requires: gsl-devel
Requires: xorg-x11-devel
%if 0%{?suse_version}
Requires: xorg-x11-libICE-devel
Requires: xorg-x11-libSM-devel
Requires: xorg-x11-libX11-devel
Requires: xorg-x11-libXau-devel
Requires: xorg-x11-libXext-devel
Requires: xorg-x11-libXmu-devel
Requires: xorg-x11-libXt-devel
Requires: xorg-x11-libxcb-devel
%else
Requires: libICE-devel
Requires: libSM-devel
Requires: libX11-devel
Requires: libXau-devel
Requires: libXext-devel
Requires: libXmu-devel
Requires: libXt-devel
Requires: libxcb-devel
%endif
%description devel
This package contains the header files and libraries needed to develop
programs that use YACAS.
%package doc
Summary: Additional YACAS documentation
Group: Productivity/Scientific/Math
%description doc
This package contains additional documentation and the books in pdf
format available for YACAS.
%prep
%setup -q
%patch1 -p1
%build
%configure \
--disable-static \
--with-html-dir=%{_defaultdocdir}/%{name}/html \
--enable-ps-doc \
--with-ps-dir=%{_defaultdocdir}/%{name}/ps \
--enable-pdf-doc \
--with-pdf-dir=%{_defaultdocdir}/%{name}/pdf \
--enable-server
make %{?_smp_mflags}
%check
make test
%install
make DESTDIR=%{buildroot} install
rm %{buildroot}/%{_libdir}/libyacas.la
#
# install documentation
install -d -m 755 %{buildroot}%{_defaultdocdir}/%{name}/{html,pdf,ps}
install -m 644 AUTHORS COPYING ChangeLog README* TODO %{buildroot}%{_defaultdocdir}/%{name}
install -m 644 manmake/*.pdf %{buildroot}/%{_defaultdocdir}/%{name}/pdf
test -f %{buildroot}%{_datadir}/%{name}/documentation/hints && \
mv %{buildroot}{%_datadir/%name/documentation/hints,%_defaultdocdir/%{name}/html/}
#
# install desktop entry
#
install -D -m 644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/yacaslogo.xpm
install -D -m 644 %{SOURCE3} %{buildroot}%{_datadir}/applications/yacas.desktop
%if 0%{?suse_version}
%suse_update_desktop_file %{name}
%else
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%endif
# Fix files-duplicate
%fdupes -s %{buildroot}%{_datadir}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%clean
rm -rf %{buildroot};
%files
%defattr(-,root,root)
%{_bindir}/%{name}*
%{_bindir}/ytxt2tex
%{_datadir}/%{name}
%{_libdir}/lib%{name}.so.*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/yacaslogo.xpm
%{_defaultdocdir}/%{name}
%exclude %{_defaultdocdir}/%{name}/html
%exclude %{_defaultdocdir}/%{name}/pdf
%exclude %{_defaultdocdir}/%{name}/ps
%defattr(755,root,root)
%{_datadir}/%{name}/manmake/txt2yacasdoc.pl
%{_datadir}/%{name}/manmake/book2TeX.sh
%files devel
%defattr(-,root,root)
%{_includedir}/%{name}/
%{_libdir}/libyacas.so
%files doc
%defattr(-,root,root)
%{_defaultdocdir}/%{name}/html
%{_defaultdocdir}/%{name}/pdf
%{_defaultdocdir}/%{name}/ps
%changelog