#
# calc.spec.in - template specfile for calc
#
# Copyright (C) 2003-2014  Petteri Kettunen and Landon Curt Noll
#
# Calc is open software; you can redistribute it and/or modify it under
# the terms of the version 2.1 of the GNU Lesser General Public License
# as published by the Free Software Foundation.
#
# Calc is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU Lesser General
# Public License for more details.
#
# A copy of version 2.1 of the GNU Lesser General Public License is
# distributed with calc under the filename COPYING-LGPL.  You should have
# received a copy with calc; if not, write to Free Software Foundation, Inc.
# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#
# Under source code control:	2003/02/16 20:21:39
# File existed as early as:	2003
#
# calculator by David I. Bell with help/mods from others
# Makefile by Petteri Kettunen with modifications from Landon Curt Noll

# BUGS
#  - Uninstalling calc and calc-devel leaves empty dirs /usr/include/calc
#    and /usr/share/calc and its subdirs. In case e.g. %{_includedir}/calc
#    is defined in `files devel' section, then rpmbuild complains that
#    header files are defined twice - rpmbuild bug or bug in specfile conf???

Summary: Arbitrary precision calculator.
Name: calc
Version: <<<PROJECT_VERSION>>>
Release: 13
License: LGPL
Group: Applications/Engineering
Source: http://www.isthe.com/chongo/src/calc/%{name}-%{version}.tar.bz2
URL: http://www.isthe.com/chongo/tech/comp/calc/index.html
Vendor: Landon Noll and Associates
Packager: Landon Noll and Associates (http://www.isthe.com/chongo/index.html)
Requires: ncurses >= 5.5-24, readline >= 5.1-3, less >= 358
BuildRequires: ncurses-devel >= 5.5-24, readline-devel >= 5.1-3
Provides: libcalc.so.%{version}()(64bit)
Provides: libcustcalc.so.%{version}()(64bit)
BuildRoot: %{_tmppath}/build-root

%description
Calc is arbitrary precision C-like arithmetic system that is a
calculator, an algorithm prototype and mathematical research
tool. Calc comes with a rich set of builtin mathematical and
programmatic functions.

For the latest calc release, see the calc project home page:

    http://www.isthe.com/chongo/tech/comp/calc/index.html

%package devel
Summary: Development files and documentation for calc.
Group: Applications/Engineering
Requires: calc(x86-64) = %{version}-%{release}
Requires: libcalc.so.%{version}()(64bit)
Requires: libcustcalc.so.%{version}()(64bit)
Requires: ncurses >= 5.5-24, readline >= 5.1-3, less >= 358

%description devel
This package contains the header files and static libraries for developing
calc (arbitrary precision calculator).

For the latest calc release, see the project home page:

    http://www.isthe.com/chongo/tech/comp/calc/index.html

%prep
%setup -T -b 0

%build
echo '-=- calc.spec beginning make clobber -=-'
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ clobber
echo '-=- calc.spec ending make clobber -=-'
echo '-=- calc.spec beginning make calc-static-only -=-'
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ calc-static-only BLD_TYPE=calc-static-only
echo '-=- calc.spec ending make calc-static-only -=-'
echo '-=- calc.spec beginning make rpm-hide-static -=-'
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ rpm-hide-static
echo '-=- calc.spec ending make rpm-hide-static -=-'
echo '-=- calc.spec beginning make clobber (again) -=-'
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ clobber
echo '-=- calc.spec ending make clobber (again) -=-'
echo '-=- calc.spec beginning make calc-dynamic-only -=-'
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ calc-dynamic-only \
     BLD_TYPE=calc-dynamic-only LD_SHARE=
echo '-=- calc.spec ending make calc-dynamic-only -=-'
echo '-=- calc.spec beginning make chk -=-'
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ chk
echo '-=- calc.spec ending make chk -=-'
echo '-=- calc.spec beginning make rpm-unhide-static -=-'
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ rpm-unhide-static
echo '-=- calc.spec ending make rpm-unhide-static -=-'
echo '-=- calc.spec beginning make rpm-clean-static -=-'
make -j1 BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ rpm-clean-static
echo '-=- calc.spec ending make rpm-clean-static -=-'
echo '-=- calc.spec beginning make rpm-chk-static -=-'
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ rpm-chk-static
echo '-=- calc.spec ending make rpm-chk-static -=-'

%install
echo '-=- calc.spec beginning make install -=-'
mkdir -p %{_buildroot}
make -j1 T=%{_buildroot} BINDIR=%{_bindir} LIBDIR=%{_libdir} ARCH_CFLAGS= \
     CALC_SHAREDIR=%{_datadir}/%{name} CALC_INCDIR=%{_includedir}/calc \
     MANDIR=%{_mandir}/man1 EXT= V=@ install
echo '-=- calc.spec ending make install -=-'

%clean
echo '-=- calc.spec beginning make clean -=-'
rm -rf %{_tmppath}
rm -rf %{_builddir}
rm -rf %{_specdir}
rm -rf %{_buildrootdir}
echo '-=- calc.spec beginning make clean -=-'

%files
%defattr(-, root, root)
%doc BUGS CHANGES COPYING COPYING-LGPL
%attr(755, root, root) %{_bindir}/calc
%attr(755, root, root) %{_bindir}/cscript/*
%attr(644, root, root) %{_mandir}/man1/calc.1.gz
%attr(644, root, root) %{_datadir}/%{name}/README
%attr(644, root, root) %{_datadir}/%{name}/bindings
%attr(644, root, root) %{_datadir}/%{name}/custhelp/*
%attr(644, root, root) %{_datadir}/%{name}/custom/*.cal
%attr(644, root, root) %{_datadir}/%{name}/help/*
%attr(644, root, root) %{_datadir}/%{name}/*.cal
%attr(644, root, root) %{_datadir}/%{name}/set8700.line
%attr(644, root, root) %{_libdir}/libcalc.so
%attr(644, root, root) %{_libdir}/libcalc.so.%{version}
%attr(644, root, root) %{_libdir}/libcustcalc.so
%attr(644, root, root) %{_libdir}/libcustcalc.so.%{version}

%files devel
%defattr(-, root, root)
%doc BUGS COPYING COPYING-LGPL LIBRARY
%attr(755, root, root) %{_bindir}/calc-static
%attr(644, root, root) %{_includedir}/calc/*
%attr(644, root, root) %{_libdir}/libcalc.a
%attr(644, root, root) %{_libdir}/libcustcalc.a

%changelog
* Sun Mar 24 2019 cLandon Curt Noll http://www.isthe.com/chongo
- Release: 13
- Disable compiling with the default ARCH_CFLAGS= -march=native
  by clearking the ARCH_CFLAGS value in order to maximize
  the RPM binary protability.

* Mon Sep 01 2014 Landon Curt Noll http://www.isthe.com/chongo
- Release: 12
- Removed use of %{?_smp_mflags}.  On Ubuntu 14.04, the -j2
  was executing make lines within a rule out of order. Always
  use -j1 while building these RPMs to avoid this make bug.
  This only impacts the speed of building the rpms.
- Stopped removing %{_buildroot} at the beginning of install
  as this, acording to a number of sources, was asking for trouble.
- Clean removes tmp, BUILD, SPEC, and BUILDROOT dirs under topdir.
- Fixed the building of the calc-debuginfo rpm.
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
  by assuming the date is correct and changing the weekday via BogusDateBot.
  Sun May 20 2006 --> Sun May 14 2006
  Sun Sep 01 2007 --> Sun Aug 26 2007
  Sat May 05 2013 --> Sat May 04 2013

* Sun Sep 01 2013 Landon Curt Noll http://www.isthe.com/chongo
- Release: 11
- only list %{_datadir}/%{name}/set8700.line not *.line

* Sun May 05 2013 Landon Curt Noll http://www.isthe.com/chongo
- Release: 10
- Major bug rpm build process bug fix
- Source: is a URL as per rpm requirements
- Requires: ncurses >= 5.5-24, readline >= 5.1-3, less >= 358
- BuildRequires: ncurses-devel >= 5.5-24, readline-devel >= 5.1-3
- BuildRoot: %{_tmppath}/build-root
- Fixed use of %{_buildroot}
- Fixed permissions so that rpm build services can modify libraries
- Added missing files to files section

* Mon Mar 25 2013 Landon Curt Noll http://www.isthe.com/chongo
- Release: 9 (was 1.1)
- Removed deprecated PreReq for calc-devel, using Requires

* Sat Sep 01 2007 Landon Curt Noll http://www.isthe.com/chongo
- Release: 8
- Release of calc-2.12.2
- Calc builds with shared libraries

* Sun Jun 25 2006 Landon Curt Noll http://www.isthe.com/chongo
- Release: 7
- Changed Copyright to License as per new rpm v4.4 syntax

* Sat May 20 2006 Landon Curt Noll http://www.isthe.com/chongo
- Release: 6
- Release of calc-2.12.0
- Added *.line set files to the list of packaged files

* Sun Dec 11 2005 Landon Curt Noll http://www.isthe.com/chongo
- Release: 5
- Release of calc-2.11.11
- Fixed description in spec file

* Wed Feb 26 2003 Landon Curt Noll http://www.isthe.com/chongo
- Release: 4
- Release of calc-2.11.7-2
- Fixed attributes on include and lib calc-devel files
- Added BUGS to calc-devel as well as calc

* Tue Feb 25 2003 Landon Curt Noll http://www.isthe.com/chongo
- Release: 3
- Release of calc-2.11.7-1
- Require ncurses, readline and less to install.
- Require ncurses-devel and readline-devel to build.

* Tue Feb 18 2003 Landon Curt Noll http://www.isthe.com/chongo
- Release: 2
- Misc changes to fit local directory setup

* Sun Feb 16 2003 Petteri Kettunen <petterik@users.sourceforge.net>
- Release: 1
- initial RPM build

#****
