gnu: bc: Update to 1.08.2.

* gnu/packages/algebra.scm (bc): Update to 1.08.2.
  [source](origin): Remove patch.
  [license]: Change from gpl2+ to gpl3+.
* gnu/packages/patches/bc-fix-cross-compilation.patch: Delete.
* gnu/local.mk: Unregister deleted file.

Change-Id: Iada592d2deeeec91f875306a0fb6f8c4056ccfad
Signed-off-by: Andreas Enge <andreas@enge.fr>
This commit is contained in:
Andy Tai 2025-06-04 22:08:54 -07:00 committed by Andreas Enge
parent 60e7a9e9bd
commit 6b427adc63
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3
3 changed files with 4 additions and 195 deletions

View file

@ -1038,7 +1038,6 @@ dist_patch_DATA = \
%D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bash-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-linux-pgrp-pipe.patch \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bc-fix-cross-compilation.patch \
%D%/packages/patches/bdb-4-5-configure.patch \ %D%/packages/patches/bdb-4-5-configure.patch \
%D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \ %D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \
%D%/packages/patches/biboumi-cmake-ignore-git.patch \ %D%/packages/patches/biboumi-cmake-ignore-git.patch \

View file

@ -725,19 +725,18 @@ binary.")
(define-public bc (define-public bc
(package (package
(name "bc") (name "bc")
(version "1.07.1") (version "1.08.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz")) (uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2")) "11jzg23ks39k58bnb5y55wxqqz6h534ys5900hz6axcp8bn0yixf"))))
(patches (search-patches "bc-fix-cross-compilation.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list automake autoconf ed flex readline texinfo)) (list automake autoconf ed flex readline texinfo))
(inputs (inputs
(list readline)) (list readline ncurses))
(arguments (arguments
'(#:configure-flags '(#:configure-flags
(list "--with-readline") (list "--with-readline")
@ -753,7 +752,7 @@ binary.")
an interactive environment for evaluating mathematical statements. Its an interactive environment for evaluating mathematical statements. Its
syntax is similar to that of C, so basic usage is familiar. It also includes syntax is similar to that of C, so basic usage is familiar. It also includes
\"dc\", a reverse-polish calculator.") \"dc\", a reverse-polish calculator.")
(license license:gpl2+))) (license license:gpl3+)))
;; The original kiss-fft does not have a complete build system and does not ;; The original kiss-fft does not have a complete build system and does not
;; build any shared libraries. This is a fork used by Extempore. ;; build any shared libraries. This is a fork used by Extempore.

View file

@ -1,189 +0,0 @@
Patch adapted from Nix.
Upstream-status: Submitted to bug-bc@gnu.org.
diff --git a/bc/Makefile.am b/bc/Makefile.am
index d9d412e..13f2b1e 100644
--- a/bc/Makefile.am
+++ b/bc/Makefile.am
@@ -8,7 +8,7 @@ EXTRA_DIST = bc.h bcdefs.h const.h fix-libmath_h global.h libmath.b proto.h \
sbc.y
noinst_HEADERS = libmath.h
-DISTCLEANFILES = sbc sbc.c sbc.h libmath.h
+DISTCLEANFILES = fbc sbc sbc.c sbc.h libmath.h
MAINTAINERCLEANFILES = Makefile.in bc.c bc.h scan.c \
bc.y bcdefs.h const.h execute.c fix-libmath_h \
@@ -17,6 +17,7 @@ MAINTAINERCLEANFILES = Makefile.in bc.c bc.h scan.c \
AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../h
LIBBC = ../lib/libbc.a
+LIBBC_HOST = ../lib/libbc_host.a
LIBL = @LEXLIB@
LDADD = $(LIBBC) $(LIBL) @READLINELIB@
@@ -29,15 +30,22 @@ $(PROGRAMS): libmath.h $(LIBBC)
scan.o: bc.h
global.o: libmath.h
-fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o
+%.o_host: CC := $(CC_FOR_BUILD)
+%.o_host: %.c
+ $(COMPILE) -c -o $@ $<
-libmath.h: libmath.b $(fbcOBJ) $(LIBBC)
- echo '{0}' > libmath.h
- $(MAKE) global.o
- $(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS)
- ./fbc -c $(srcdir)/libmath.b </dev/null >libmath.h
+fbcOBJ = $(addsuffix _host,\
+ main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o)
+
+global_host.c: global.c
+ sed 's/#include "libmath.h"/{0}/' $< > $@
+
+fbc: $(fbcOBJ) global_host.o_host $(LIBBC_HOST) $(LIBS)
+ $(CC_FOR_BUILD) $(LIBL) $(READLINELIB) -o $@ $^
+
+libmath.h: libmath.b fbc $(LIBBC_HOST)
+ ./fbc -c $(srcdir)/libmath.b < /dev/null > libmath.h
$(srcdir)/fix-libmath_h
- rm -f ./fbc ./global.o
sbcOBJ = main.o sbc.o scan.o execute.o global.o load.o storage.o util.o \
warranty.o
diff --git a/configure.ac b/configure.ac
index fc74573..5cabb73 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,6 +20,7 @@ m4_define([dc_version], 1.4.1)
AC_INIT([bc],[bc_version])
AC_CONFIG_SRCDIR(doc/bc.1)
+AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([dist-bzip2])
AC_CONFIG_HEADERS(config.h)
@@ -35,6 +36,7 @@ AC_DEFINE([DC_COPYRIGHT],
[Define the dc copyright line.])
AC_PROG_CC
+AX_CC_FOR_BUILD
AC_USE_SYSTEM_EXTENSIONS
AM_PROG_LEX
diff --git a/lib/Makefile.am b/lib/Makefile.am
index ec4bf59..24c9f42 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in
-noinst_LIBRARIES = libbc.a
+noinst_LIBRARIES = libbc.a libbc_host.a
AM_CPPFLAGS = -I. -I.. -I$(srcdir)/../h
@@ -7,8 +7,6 @@ libbc_a_SOURCES = getopt.c getopt1.c vfprintf.c number.c
DEFS = @DEFS@ $(DEFSADD)
-AM_CFLAGS = @CFLAGS@
-
MAINTAINERCLEANFILES = Makefile.in number.c
CLEANFILES = testmul specialnumber muldigits.h
@@ -24,3 +22,11 @@ testmul: testmul.o number.o
specialnumber: newnumber.o
cp newnumber.o number.o
+
+%.o_host: CC := $(CC_FOR_BUILD)
+%.o_host : %.c
+ $(COMPILE) -c -o $@ $<
+
+libbc_host.a : $(addsuffix _host,$(libbc_a_OBJECTS))
+ ar cru $@ $+
+ ranlib $@
diff --git a/m4/cc_for_build.m4 b/m4/cc_for_build.m4
new file mode 100644
index 0000000..c62ffad
--- /dev/null
+++ b/m4/cc_for_build.m4
@@ -0,0 +1,77 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_cc_for_build.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CC_FOR_BUILD
+#
+# DESCRIPTION
+#
+# Find a build-time compiler. Sets CC_FOR_BUILD and EXEEXT_FOR_BUILD.
+#
+# LICENSE
+#
+# Copyright (c) 2010 Reuben Thomas <rrt@sc3d.org>
+# Copyright (c) 1999 Richard Henderson <rth@redhat.com>
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program 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 General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 3
+
+dnl Get a default for CC_FOR_BUILD to put into Makefile.
+AC_DEFUN([AX_CC_FOR_BUILD],
+[# Put a plausible default for CC_FOR_BUILD in Makefile.
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+AC_SUBST(CC_FOR_BUILD)
+# Also set EXEEXT_FOR_BUILD.
+if test "x$cross_compiling" = "xno"; then
+ EXEEXT_FOR_BUILD='$(EXEEXT)'
+else
+ AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext,
+ [rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.c
+ bfd_cv_build_exeext=
+ ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ rm -f conftest*
+ test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no])
+ EXEEXT_FOR_BUILD=""
+ test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext}
+fi
+AC_SUBST(EXEEXT_FOR_BUILD)])dnl