%global ldconfig /sbin/ldconfig %global ldconfig_post %{?ldconfig:%post -p %ldconfig} %global ldconfig_postun %{?ldconfig:%postun -p %ldconfig} %global ldconfig_scriptlets(n:) %{?ldconfig:\ %ldconfig_post %{?*} %{-n:-n %{-n*}}\ %end\ %ldconfig_postun %{?*} %{-n:-n %{-n*}}\ %end\ } ## START: Set by rpmautospec ## (rpmautospec version 0.2.5) %define autorelease(e:s:pb:) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{?dist}.1sunshine ## END: Set by rpmautospec # Enabling this option invokes section 3 of the LGPL, applying the terms of # the ordinary GNU General Public License version 2 instead of the LGPL. # See the included "calc-converted-to-gpl.txt" source file for details. %define with_readline 1 # This is disabled right now because it prevents correct linking. The issues # here are related to the issues with linking with readline, in that the # split between libraries is poorly defined. %define with_custom_interface 0 %if %{with_readline} License: GPLv2 %else License: LGPLv2 %endif Name: calc Version: 2.14.0.7 Release: %autorelease Summary: Arbitrary precision arithmetic system and calculator # Also, https://github.com/lcn2/calc URL: http://isthe.com/chongo/tech/comp/calc/ Source0: https://github.com/lcn2/calc/releases/download/v%{version}/calc-%{version}.tar.bz2 Source1: calc-converted-to-gpl.txt Source2: calc-COPYING-GPL BuildRequires: gcc, sed, util-linux # for compatibility with the Debian package name Provides: apcalc %if %{with_readline} # If readline-devel < 5.2-3, READLINE_EXTRAS must be set to # "-lhistory -lncurses" or some variant (e.g. -ltinfo). # If readline-devel < 4.2, something else goes horribly wrong. BuildRequires: ncurses-devel >= 5.2-26, readline-devel >= 5.2-3 %endif BuildRequires: make %if 0%{?fedora} >= 21 Recommends: less >= 358 Recommends: %{name}-stdrc %endif %description Calc is an arbitrary precision C-like arithmetic system that is a calculator, an algorithm-prototyper, and a mathematical research tool. Calc comes with a rich set of built-in mathematical and programmatic functions. %if %{with_readline} Note: this copy of Calc is linked against the GNU Readline library and has been converted to the ordinary GPL as per section 3 of the LGPL. See the included calc-converted-to-gpl.txt document for details. %endif %package libs Summary: Libraries for the calc arithmetic system %description libs Shared libraries used by the calc command line calculator and other programs using its arbitrary precision arithmetic routines. %package devel Summary: Development files for the calc arithmetic system Requires: %{name}-libs = %{version}-%{release} %description devel This package contains files necessary to build applications which use the calc arbitrary precision arithmetic system. %package stdrc Summary: Standard resource files the calc arithmetic system Requires: %{name} = %{version}-%{release} %description stdrc This package contains the standard calc resource files and several calc shell scripts. They serve as examples of the calc language and may also be useful in themselves. %prep %setup -q %if %{with_readline} for f in help.c version.c calc.man $( ls help/*|grep '^help/credit$' ) ; do sed -i -e's/version 2.1 \(.*GNU\)/version 2 \1/;s/COPYING\(.\)LGPL/COPYING\1GPL/;s/copying.lgpl/copying-gpl/;s/GNU LGPL/GNU GPL/;s/GNU Lesser General/GNU General/' $f done cp -p %{SOURCE1} COPYING cp -p %{SOURCE2} COPYING-GPL %endif %build # note parallel make (-j3, or whatever) doesn't work correctly. make DEBUG="%{optflags}" \ %if %{with_custom_interface} ALLOW_CUSTOM="-DCUSTOM" \ %else ALLOW_CUSTOM="" \ %endif LD_SHARE="" \ %if %{with_readline} USE_READLINE="-DUSE_READLINE" \ READLINE_LIB="-lreadline" \ READLINE_EXTRAS="" \ %else USE_READLINE="" \ %endif HAVE_FPOS="-DHAVE_NO_FPOS" \ ARCH_CFLAGS="" \ PREFIX=%{_prefix} \ LIBDIR=%{_libdir} \ Q="" V="@" \ all %install make T=%{buildroot} \ %if %{with_custom_interface} ALLOW_CUSTOM="-DCUSTOM" \ %else ALLOW_CUSTOM="" \ %endif PREFIX=%{_prefix} \ LIBDIR=%{_libdir} \ SCRIPTDIR=%{_datadir}/%{name}/cscript \ install %if %{with_readline} rm -f %{buildroot}/%{_datadir}/%{name}/help/COPYING-LGPL # mode 444 to match the other files install -p -m 444 COPYING-GPL %{buildroot}/%{_datadir}/%{name}/help/ rm -f %{buildroot}/%{_datadir}/%{name}/bindings %endif %if ! %{with_custom_interface} # if we don't enable the custom interface, don't ship symlinks to it rm -f %{buildroot}/%{_libdir}/libcustcalc.so* %endif # Changing permissions of executables to 755 to shut up rpmlint. chmod 755 %{buildroot}%{_datadir}/%{name}/cscript/* chmod 755 %{buildroot}%{_bindir}/calc # Fix permissions of libcalc, which upstream is now shipping non-executable # for some reason chmod 755 %{buildroot}/%{_libdir}/libcalc.so.%{version} # move these so the doc macro can find them mv %{buildroot}%{_datadir}/%{name}/README README-standard-resource mv cscript/README README-cscript %check make chk %ldconfig_scriptlets libs %files %{!?_licensedir:%global license %%doc} %if %{with_readline} %doc BUGS CHANGES README.FIRST README.md %license COPYING COPYING-GPL %else %doc BUGS CHANGES README.FIRST README.md %license COPYING-LGPL %endif %{_bindir}/calc %{_mandir}/man1/calc.1* %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/help %{_datadir}/%{name}/help/* %if %{with_custom_interface} %dir %{_datadir}/%{name}/custhelp %{_datadir}/%{name}/custhelp/* %endif %if ! %{with_readline} %{_datadir}/%{name}/bindings %endif %files libs %if %{with_readline} %doc BUGS CHANGES %license COPYING COPYING-GPL %else %doc BUGS CHANGES %license COPYING-LGPL %endif %{_libdir}/libcalc.so.* %if %{with_custom_interface} %{_libdir}/libcustcalc.so.* %endif %files devel %doc LIBRARY %{_libdir}/libcalc.so %if %{with_custom_interface} %{_libdir}/libcustcalc.so %endif %dir %{_includedir}/calc %{_includedir}/calc/*.h %files stdrc %doc README-standard-resource README-cscript %dir %{_datadir}/%{name}/cscript %{_datadir}/%{name}/cscript/* %if %{with_custom_interface} %dir %{_datadir}/%{name}/custom %{_datadir}/%{name}/custom/* %endif %{_datadir}/%{name}/*.cal %{_datadir}/%{name}/*.line %changelog * Thu Dec 02 2021 Moritz Barsnick 2.14.0.7-1.1sunshine - make Recommends: tag conditional (>= F21) - provide fallbacks for the %%license and %%ldconfig_scriptlets macros * Wed Nov 10 2021 Matthew Miller 2.14.0.7-1 - upstream very minor 2.14.0.7 feature release * Sun Nov 07 2021 Matthew Miller 2.14.0.6-1 - update to 2.14.0.6 experimental release * Sun Oct 03 2021 Matthew Miller 2.14.0.3-1 - Update to "unstable" 2.14.0.3 release in rawhide. See upstream changelog. * Sat Aug 07 2021 Matthew Miller 2.13.0.1-6 - auto, auth, whatever * Wed Jul 21 2021 Fedora Release Engineering - 2.13.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Apr 21 2021 Matthew Miller - 2.13.0.1-1 - update to new "stable" upstream release, which is the same as 2.13.0.0 but adds PREFIX to the makefile. So, change this spec file to use that instead of setting BINDIR, MANDIR, etc. separately. (Still need LIBDIR for lib64 though.) * Fri Apr 9 2021 Matthew Miller - 2.13.0.0-1 - update to new "unstable" upstream release. - Includes incompatible change to "argv()" function * Thu Mar 4 2021 Matthew Miller - 2.12.8.2-1 - new upstream stable release - the value of exponent expressins which equal zero (like 0^(0) or 0^zero where zero is a variable with value 0) is now 1, just like 0^0 - Calc shell scripts now need to be called with and -s -f at the end of the shebang #! line. - set ARCH_CFLAGS to nothing, because otherwise it will now default to putting -march=native in there, which reduces portability and may conflict with rpm opt flags. * Tue Jan 26 2021 Fedora Release Engineering - 2.12.7.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 2.12.7.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jan 28 2020 Fedora Release Engineering - 2.12.7.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Wed Jul 24 2019 Fedora Release Engineering - 2.12.7.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sun Feb 17 2019 Igor Gnatenko - 2.12.7.2-3 - Rebuild for readline 8.0 * Thu Jan 31 2019 Fedora Release Engineering - 2.12.7.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Wed Nov 28 2018 Matthew Miller - 2.12.7.2-1 - new upstream "unstable" release (building into rawhide) * Sun Jul 22 2018 Matthew Miller - 2.12.6.7-5 - add gcc to buildreqs * Thu Jul 12 2018 Fedora Release Engineering - 2.12.6.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed May 16 2018 Matthew Miller - 2.12.6.7-3 - add Provides: apcalc to match the package name in Debian * Wed May 16 2018 Matthew Miller - 2.12.6.7-2 - version bump for test rebuild * Mon Mar 05 2018 Matthew Miller - 2.12.6.7-1 - update to upstream "unstable" 2.12.6.7 for rawhide (code cleanups only) - * misc errors in help corrected - * various buffer sizes and stacks increased * Wed Feb 28 2018 Matthew Miller - 2.12.6.6-1 - update to upstream "unstable" 2.12.6.6 for rawhide: * Thu Feb 08 2018 Matthew Miller - 2.12.6.5-3 - spec file moderization * Wed Feb 07 2018 Fedora Release Engineering - 2.12.6.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Mon Jan 29 2018 Matthew Miller - 2.12.6.5-1 - new upstream stable release - minor fixes * Tue Jan 16 2018 Matthew Miller - 2.12.6.4-1 - new upstream devel release. - minor optimizations and fixes * Thu Sep 7 2017 Matthew Miller - 2.12.6.3-1 - new upstream devel release. - Changes all to lucas.cal, so if Lucas primality tests are your thing, this release is for you. * Fri Aug 18 2017 Matthew Miller - 2.12.6.1-1 - new upstream development release (minor bugfixes), build stuff changed around, and some changes to stdin handling. - add new readme files to docs * Wed Aug 02 2017 Fedora Release Engineering - 2.12.6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 2.12.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Jun 6 2017 Matthew Miller - 2.12.6.0-1 - new upstream development release (minor bugfixes) - github release url - recommend rather than require `less` * Mon May 22 2017 Matthew Miller - 2.12.5.6-1 - new upstream release 2.15.5.6 (2.15.5.5 only lasted a few hours) - primarily code cleanup to prepare for move to github - also, meaning of T in build seems to have inverted, so removing * Fri Feb 10 2017 Fedora Release Engineering - 2.12.5.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Thu Jan 12 2017 Igor Gnatenko - 2.12.5.4-2 - Rebuild for readline 7.x * Wed Sep 14 2016 Matthew Miller - 2.12.5.4-1 - upstream bump in version number but *no* code changes from 2.12.5.3 (apparently to support rebuild of upstream packages on RHEL 7.x) - add Recommends for stdrc subpackage to main package * Tue Feb 9 2016 Matthew Miller - 2.12.5.3-1 - update to 2.12.5.3 (new upstream UNstable version) - upstream is _only_ OS X file location changes; updating rawhide just for the formality * Sun Feb 7 2016 Matthew Miller - 2.12.5.2-1 - update to 2.12.5.2 (new upstream UNstable version) - upstream is primarily bugfixes * Wed Feb 03 2016 Fedora Release Engineering - 2.12.5.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Jan 25 2016 Matthew Miller - 2.12.5.0-3 - remove unnecessary defattr as part of cleanup effort * Wed Jun 17 2015 Fedora Release Engineering - 2.12.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Oct 13 2014 Matthew Miller - 2.12.5.0-1 - update to 2.12.5.0 (new upstream stable version) - upstream is primarily bugfixes * Mon Sep 22 2014 Matthew Miller - 2.12.4.14-1 - update to 2.12.4.14 - see CHANGES -- fixes at least one significant bug in complex number comparison, plus many other bugfixes which should mostly be operational, not in the math parts. - minor tweak to LGPL->GPL conversion logic in specfile - license tag for both subpackages - fix wrong versions in changelog going back a couple of years; oops. (Affects changelog only, and... retroactively. Sorry.) * Fri Aug 15 2014 Fedora Release Engineering - 2.12.4.13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 2.12.4.13-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Thu Mar 27 2014 Matthew Miller - 2.12.4.13-2 - use license tag for license instead of docs * Sun Feb 02 2014 Matthew Miller - 2.12.4.13-1 - update to new ultra-minor upstream version. This update includes a fix to lucas.cal; if you know what the Lucas primality test is, you may want this update, and otherwise you probably do not care. * Mon Sep 02 2013 Matthew Miller - 2.12.4.12-1 - yet more sample scripts + minor other changes, including ctype-like builtins - .cal scripts are not linked, so leave those LGPL - bz #959898. Also, happy Labor Day. * Sun Aug 11 2013 Matthew Miller - 2.12.4.10-1 - upstream includes more sample scripts + minor other changes * Sat Aug 03 2013 Fedora Release Engineering - 2.12.4.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Mon May 20 2013 Matthew Miller - 2.12.4.8-1 - update to newer development version (build system changes only) * Tue May 7 2013 Matthew Miller - 2.12.4.7-2 - libcalc.so needs to be executable. * Tue May 7 2013 Matthew Miller - 2.12.4.7-1 - update to newer development version (minor upstream changes) * Thu Feb 14 2013 Matthew Miller - 2.12.4.4-6 - make the license doc conditional more straightforward; old too-clever approach was confusing newer rpm - correct which license file is used when readline isn't selected, in case for some reason someone really really wants to avoid conversion to GPL - fix the date of the first changelog entry to make rpm not whine about it * Wed Feb 13 2013 Fedora Release Engineering - 2.12.4.4-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Wed Jul 18 2012 Fedora Release Engineering - 2.12.4.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Jan 12 2012 Fedora Release Engineering - 2.12.4.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Thu Aug 11 2011 Matthew Miller - 2.12.4.4-2 - update GPL to new address * Wed Aug 10 2011 Matthew Miller - 2.12.4.4-1 - update to 2.12.4.4 (latest unstable, but differences from stable are small bugfixes) - vsnprintf bug fix is accepted upstream, so remove patch * Tue Feb 08 2011 Fedora Release Engineering - 2.12.2.1-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Fri Jul 24 2009 Fedora Release Engineering - 2.12.2.1-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Mon Feb 23 2009 Fedora Release Engineering - 2.12.2.1-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Mon Nov 3 2008 Matthew Miller - 2.12.4.0-3 - fixed extra vsnprintf crash bug * Mon Oct 27 2008 Matthew Miller - 2.12.4.0-2 - entangled readline patch is made obsolete by linking changes in readline itself. (readline is still too entangled, but that's an upstream problem.) * Mon Oct 27 2008 Matthew Miller - 2.12.4.0-1 - update to 2.12.4.0 - upstream has switched to bz2 at my request :) - some of the entangled-readline-fix stuff is upstream, but for a complete fix some coding is needed. (Also, adding libedit as an option would be good -- talk to me for details.) - patch to disable the custom lib completely is upstream. cool. - add ALLOW_CUSTOM definition to make install section -- changes to upstream makefile mean that if that's missing it now tries to build the custom lib at that point. - upstream now doesn't create the custom dir if ALLOW_CUSTOM is off, so we no longer need to clean it up. And same with custhelp. There's still an upstream bug where libcustomcalc dangling symlinks are created, though. * Wed Feb 20 2008 Matthew Miller - 2.12.2.1-12 - add util-linux as a build prereq * Tue Feb 19 2008 Fedora Release Engineering - 2.12.2.1-11 - Autorebuild for GCC 4.3 * Fri Sep 21 2007 Matthew Miller - 2.12.2.1-10 - add HAVE_FPOS="-DHAVE_NO_FPOS" to make ppc build work properly. Thanks to Denis Leroy and David Woodhouse. RH Bug #299581. * Thu Sep 20 2007 Matthew Miller - 2.12.2.1-9 - Remove extra license choice information from package release field to properly comply with the packaging guidelines so as to not make Spot sad. Put a note in the description instead. - Today is Thursday. * Wed Sep 19 2007 Matthew Miller - 2.12.2.1-8 - initial package for Fedora - clear old and long pre-fedora changelog - review request rhbug #227570