diff --git a/bc-1.06-dc_ibase.patch b/bc-1.06-dc_ibase.patch new file mode 100644 index 0000000..2648ece --- /dev/null +++ b/bc-1.06-dc_ibase.patch @@ -0,0 +1,60 @@ +Index: dc/numeric.c +=================================================================== +--- dc/numeric.c.orig ++++ dc/numeric.c +@@ -307,6 +307,8 @@ dc_getnum DC_DECLARG((input, ibase, read + int digit; + int decimal; + int c; ++ int c_buff = 0; ++ int multi = 0; + + bc_init_num(&tmp); + bc_init_num(&build); +@@ -324,6 +326,9 @@ dc_getnum DC_DECLARG((input, ibase, read + } + while (isspace(c)) + c = (*input)(); ++ c_buff = (*input)(); ++ if (isdigit(c_buff) || ('A' <= c_buff && c_buff <= 'F') || c_buff == '.') ++ multi = 1; + for (;;){ + if (isdigit(c)) + digit = c - '0'; +@@ -331,10 +336,15 @@ dc_getnum DC_DECLARG((input, ibase, read + digit = 10 + c - 'A'; + else + break; +- c = (*input)(); ++ digit = multi ? (digit >= ibase ? ibase -1 : digit) : digit; + bc_int2num(&tmp, digit); + bc_multiply(result, base, &result, 0); + bc_add(result, tmp, &result, 0); ++ if (c_buff) { ++ c = c_buff; ++ c_buff = 0; ++ } else ++ c = (*input)(); + } + if (c == '.'){ + bc_free_num(&build); +@@ -343,13 +353,18 @@ dc_getnum DC_DECLARG((input, ibase, read + build = bc_copy_num(_zero_); + decimal = 0; + for (;;){ +- c = (*input)(); ++ if (c_buff) { ++ c = c_buff; ++ c_buff = 0; ++ } else ++ c = (*input)(); + if (isdigit(c)) + digit = c - '0'; + else if ('A' <= c && c <= 'F') + digit = 10 + c - 'A'; + else + break; ++ digit = digit >= ibase ? ibase -1 : digit; + bc_int2num(&tmp, digit); + bc_multiply(build, base, &build, 0); + bc_add(build, tmp, &build, 0); diff --git a/bc-1.07.1.tar.gz b/bc-1.07.1.tar.gz new file mode 100644 index 0000000..a0bf323 --- /dev/null +++ b/bc-1.07.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a +size 419850 diff --git a/bc-1.07.1.tar.gz.sig b/bc-1.07.1.tar.gz.sig new file mode 100644 index 0000000..fcbaebd Binary files /dev/null and b/bc-1.07.1.tar.gz.sig differ diff --git a/bc.changes b/bc.changes index 70bb17c..f9f16ab 100644 --- a/bc.changes +++ b/bc.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Mon Apr 10 07:39:45 UTC 2017 - mpluskal@suse.com + +- Update to version 1.07.1: + * Fixed ibase extension causing problems for read() + * Fixed parallel make problem. + * Fixed dc "Q" comanmd bug. +- Changes for version 1.07: + * Added void functions. + * fixes bug in load_code introduced by mathlib string storage in 1.06. + * fix to get long options working. + * signal code clean-up. + * fixed a bug in the AVL tree routines. + * fixed math library to work properly when called with ibase not 10. + * fixed a symbol table bug when using more than 32 names. + * removed a double free. + * Added base 17 to 36 for ibase. + * Fixed some memory leaks. + * Various small tweaks and doc bug fixes. +- Drop no longer needed patches: + * bc-1.06.95-memleak.patch + * bc-1.06.95-matlib.patch + * bc-1.06.95-sigintmasking.patch +- Refresh bc-1.06-dc_ibase.patch +- Add gpg signature + ------------------------------------------------------------------- Mon Mar 16 18:42:48 UTC 2015 - mpluskal@suse.com diff --git a/bc.keyring b/bc.keyring new file mode 100644 index 0000000..c572a8d --- /dev/null +++ b/bc.keyring @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGiBEmwKfERBACiM/++m+F5//UyzoIZTd/gHxhpWDAQ1XD04P/FxNEOIPtn21MX +EGLJBdDL+k+SDwjIIwy9JbYSn6kCCL93kw2ZqqPQ6GQkjKkBE4YaOI7FKlIRgY5M +nHCwvFQQjpXz0U0tG2HuETIHQZPU308BTXIB6FpxERtiZjA1LdA9Un8lGwCg5CO9 +V81S/aOeYfzoyiwi8MwAH50D/2bhyKnsyxOlh/lBBQNn87/pDKUU8D5z9WUJgA5r +Lr+qBxxtlJK9MSWmZwcd3Sfd9bqJlKLbXPC7zgIg7p08H2A4WpelOL+EL5lG9GeI +e84ShTKLiI2TzsIlDHgvTzjCS7DBN44ILRrHHdvt1MlpE6mXCacYtTZATWbA8wAg ++FaRA/0fV4qnvj4CFBRyQa9sfxgtqYYp+A9bTeCuxzvel1k4WWWZUwe5UCRi6/+p +4ze9MAwmXT20b481rl3vkBVOg5WkgCjWSQDxokwig3geaJyFg47TkgG5rh4EWy7g +JbS0fCQ7ZL0qkaR5eKZsmNb0Tjqf+iiKmwtTBuB90tKXeIa3c7QgUGhpbCBOZWxz +b24gPHBoaWxuZWxzb25AYWNtLm9yZz6IYAQTEQIAIAUCSbAp8QIbAwYLCQgHAwIE +FQIIAwQWAgMBAh4BAheAAAoJEIHCT/Evt7FLQjgAn2Qbda57d9o9WqjiVqxJK2OR +QxRrAJ47zukl3u4kL0FT6e1pfllGPSIDiLkCDQRJsCnxEAgAqN9yTM4v/fZQaikv +Nm1MoG/Zp/gLpuib+46huz4zoKnuxzjMhSJLSD7u1gmMSDsP/5nrRElgfJg2xxvc +CD9SomQP7mRHRp2gMtMGdZf4FwunuJg0ZKj8FEdONwqsSyR8apowhZlC9Myh2oJm +cP14PP3z3QUoue1vxPHT1D6DCw7zd5DETWd9IdoW31wkC5P2YrOlgf6ar+JvVpll +7kC+f6FfjBBopSxjVWrufdSe4Iu9sKr55wasVye5pZGdlnD2tIoRrChsiQpjXD6T +Kw5JIXQi3MddE7wvdzj1PM4Mhk9yleH7yyppHWnL8PGokB3i48ly6EEuva1Sd3gJ +CbsTRwADBQf+OJsZLs3C4bQDfy/+ioVTz3dnEOrI/XNTlDgs926e0zf56Vso6joa +CdhDcjogC/nIvwVpAnW8LfIASTdDWyiAGWijGMlXaE/+o1e/CcU9GxrT8gy63jCg +gcJmnWKdLqxGKcxXMGXSt6Zq4WPPXMjcv7l3RIdfozwVal/I6bGdwcdSEIsbNcYo +HZghfN+efsaviT+iK8LMCRECYh788y+0TPo/7pMdKNAPoh8OzBk7VuwddSfq0CUf +WzOaj+MS3WB69dvduRwJu1Z4RabkKxQVFMMXljFqpZpufXQTqpnYM86ighddNqea +zlImRiB3R2wdTTb5LCVi2EjN9B4kLHV7zohJBBgRAgAJBQJJsCnxAhsMAAoJEIHC +T/Evt7FLAb4An1repSQe+r7u7FBK/0w1NP68xXF4AJ4jSRrErlQb5CHTWtl3DRBC +OuX0TA== +=gj0/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/bc.spec b/bc.spec index d19de4e..95cbc5a 100644 --- a/bc.spec +++ b/bc.spec @@ -1,7 +1,7 @@ # # spec file for package bc # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 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 @@ -17,17 +17,16 @@ Name: bc -Version: 1.06.95 +Version: 1.07.1 Release: 0 Summary: GNU Command Line Calculator License: GPL-2.0+ Group: Productivity/Scientific/Math -Url: http://www.gnu.org/software/bc/ -Source0: ftp://alpha.gnu.org/pub/gnu/bc/bc-%{version}.tar.bz2 +Url: https://www.gnu.org/software/bc/ +Source0: https://ftp.gnu.org/gnu/bc/bc-%{version}.tar.gz +Source1: https://ftp.gnu.org/gnu/bc/bc-%{version}.tar.gz.sig +Source2: %{name}.keyring Patch1: bc-1.06-dc_ibase.patch -Patch2: bc-1.06.95-memleak.patch -Patch3: bc-1.06.95-matlib.patch -Patch4: bc-1.06.95-sigintmasking.patch BuildRequires: bison BuildRequires: ed BuildRequires: flex @@ -36,7 +35,6 @@ BuildRequires: ncurses-devel BuildRequires: readline-devel Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description bc is an interpreter that supports numbers of arbitrary precision and @@ -58,34 +56,33 @@ and "pushes" its results back onto the stack. %prep %setup -q -%patch1 -p1 -b .dc_ibase -%patch2 -p1 -b .memleak -%patch3 -p1 -b .matlib -%patch4 -p1 -b .sigintmask +%patch1 %build %configure \ - --with-readline \ - --without-libedit + --with-readline \ + --without-libedit make %{?_smp_mflags} %install -make DESTDIR=%{buildroot} install %{?_smp_mflags} +%make_install %post -%install_info --info-dir=%{_infodir} %{_infodir}/bc.info.gz -%install_info --info-dir=%{_infodir} %{_infodir}/dc.info.gz +%install_info --info-dir=%{_infodir} %{_infodir}/bc.info%{ext_info} +%install_info --info-dir=%{_infodir} %{_infodir}/dc.info%{ext_info} %preun -%install_info_delete --info-dir=%{_infodir} %{_infodir}/bc.info.gz -%install_info_delete --info-dir=%{_infodir} %{_infodir}/dc.info.gz +%install_info_delete --info-dir=%{_infodir} %{_infodir}/bc.info%{ext_info} +%install_info_delete --info-dir=%{_infodir} %{_infodir}/dc.info%{ext_info} %files %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README COPYING.LIB FAQ %{_bindir}/bc %{_bindir}/dc -%{_infodir}/*.info* -%{_mandir}/man1/* +%{_infodir}/bc.info%{ext_info} +%{_infodir}/dc.info%{ext_info} +%{_mandir}/man1/bc.1%{ext_man} +%{_mandir}/man1/dc.1%{ext_man} %changelog