logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 1f05b9a1a093accaee5ff20433d86876125c4671
parent 54df165fdacbbd46a69eefa2e9aa6de25a04a037
Author: Michael Forney <mforney@mforney.org>
Date:   Thu,  3 Dec 2020 01:16:58 -0800

bc: Switch back to GNU bc

The 1.07 release means we don't have to apply a bunch of patches,
and it is a smaller binary anyway.

Diffstat:

M.gitmodules3---
MREADME.md1-
Mpkg/bc/.gitignore3++-
Mpkg/bc/config.h64++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
Mpkg/bc/gen.lua69+++++++++------------------------------------------------------------
Apkg/bc/libmath.h46++++++++++++++++++++++++++++++++++++++++++++++
Apkg/bc/sha2561+
Dpkg/bc/src1-
Apkg/bc/url1+
Mpkg/bc/ver2+-
Mscripts/outdated.py1-
11 files changed, 116 insertions(+), 76 deletions(-)

diff --git a/.gitmodules b/.gitmodules @@ -19,9 +19,6 @@ [submodule "pkg/b3sum/src"] path = pkg/b3sum/src url = https://git.sr.ht/~mcf/b3sum -[submodule "pkg/bc/src"] - path = pkg/bc/src - url = https://git.yzena.com/gavin/bc.git [submodule "pkg/bearssl/src"] path = pkg/bearssl/src url = https://www.bearssl.org/git/BearSSL diff --git a/README.md b/README.md @@ -145,7 +145,6 @@ tools whenever possible: - oksh instead of bash - sdhcp instead of dhclient or dhcpcd - vis instead of vim or emacs -- bc-gh instead of GNU bc - byacc instead of bison - perp and sinit instead of sysvinit or systemd - netsurf instead of chromium or firefox diff --git a/pkg/bc/.gitignore b/pkg/bc/.gitignore @@ -1 +1,2 @@ -/tools.ninja +/bc-1.07.1.tar.gz +/src diff --git a/pkg/bc/config.h b/pkg/bc/config.h @@ -1,8 +1,56 @@ -#define BC_ENABLED 1 -#define DC_ENABLED 0 - -#define BC_ENABLE_EXTRA_MATH 1 -#define BC_ENABLE_HISTORY 1 -#define BC_ENABLE_NLS 0 -#define BC_ENABLE_PROMPT 1 -#define BC_NUM_KARATSUBA_LEN 32 +#define BC_COPYRIGHT "Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc." +#define DC_COPYRIGHT "Copyright 1994, 1997, 1998, 2000, 2001, 2003-2006, 2008, 2010, 2012-2017 Free Software Foundation, Inc." +#define DC_VERSION "1.4.1" +/* #undef HAVE_DOPRNT */ +#define HAVE_ERRNO_H 1 +#define HAVE_FSTAT 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_ISGRAPH 1 +/* #undef HAVE_LIB_H */ +#define HAVE_LIMITS_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_SETVBUF 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRTOL 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_VPRINTF 1 +/* #undef LIBEDIT */ +#define PACKAGE "bc" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "bc" +#define PACKAGE_STRING "bc 1.07.1" +#define PACKAGE_TARNAME "bc" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "1.07.1" +/* #undef READLINE */ +#define STDC_HEADERS 1 +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "1.07.1" +/* #undef YYTEXT_POINTER */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +/* #undef const */ +/* #undef ptrdiff_t */ +/* #undef size_t */ diff --git a/pkg/bc/gen.lua b/pkg/bc/gen.lua @@ -1,69 +1,18 @@ cflags{ - '-D NDEBUG', - '-D VERSION=3.1.6', + '-std=c99', '-Wall', '-Wpedantic', '-D _POSIX_C_SOURCE=200809L', - '-I $srcdir/include', - '-include $dir/config.h', + '-I $dir', + '-I $srcdir/h', } -sub('tools.ninja', function() - toolchain(config.host) - exe('strgen', {'gen/strgen.c'}) - rule('strgen', [[$outdir/strgen $in $out $name $header '$label' '$define' $removetabs]]) - build('strgen', '$outdir/bc_help.c', {'$srcdir/gen/bc_help.txt', '|', '$outdir/strgen'}, { - name='bc_help', header='bc.h', label='', define='BC_ENABLED', removetabs='', - }) - build('strgen', '$outdir/dc_help.c', {'$srcdir/gen/dc_help.txt', '|', '$outdir/strgen'}, { - name='dc_help', header='dc.h', label='', define='DC_ENABLED', removetabs='', - }) - build('strgen', '$outdir/lib.c', {'$srcdir/gen/lib.bc', '|', '$outdir/strgen'}, { - name='bc_lib', header='bc.h', label='bc_lib_name', define='BC_ENABLED', removetabs='1', - }) - build('strgen', '$outdir/lib2.c', {'$srcdir/gen/lib2.bc', '|', '$outdir/strgen'}, { - name='bc_lib2', header='bc.h', label='bc_lib2_name', define='BC_ENABLED && BC_ENABLE_EXTRA_MATH', removetabs='1', - }) -end) - exe('bin/bc', [[ - src/( - args.c - data.c - file.c - lang.c - lex.c - main.c - num.c - opt.c - parse.c - program.c - read.c - vector.c - vm.c - bc/(bc.c lex.c parse.c) - dc/(dc.c lex.c parse.c) - history/history.c - rand/rand.c + bc/( + main.c bc.c scan.c execute.c load.c storage.c util.c global.c + warranty.c ) - $outdir/(bc_help.c dc_help.c lib.c lib2.c) + lib/number.c ]]) file('bin/bc', '755', '$outdir/bin/bc') +man{'doc/bc.1'} -local opts = {} -for line in iterlines('config.h', 1) do - local var, val = line:match('^define ([^ ]+) ([^ ]+)') - if var and val == '1' then - opts[var] = true - end -end - -local manfile = '' -if not opts.BC_ENABLE_EXTRA_MATH then manfile = manfile..'E' end -if not opts.BC_ENABLE_HISTORY then manfile = manfile..'H' end -if not opts.BC_ENABLE_NLS then manfile = manfile..'N' end -if not opts.BC_ENABLE_PROMPT then manfile = manfile..'P' end -if manfile == '' then manfile = 'A' end - -build('copy', '$outdir/bc.1', '$srcdir/manuals/bc/'..manfile..'.1') -man{'$outdir/bc.1'} - -fetch 'git' +fetch 'curl' diff --git a/pkg/bc/libmath.h b/pkg/bc/libmath.h @@ -0,0 +1,46 @@ +{"@iK20:s2:p@r", +"@iF1,5.6,7,8,9,10,11,12,13,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C1,0:", +"s14:pl7:s0:pl14:RN1:l5:0<Z2:1s12:pl5:ns5:pN2:l2:s15:pK6:l15:+", +"K.44:l5:*+s13:pl5:cS1+s2:pN3:l5:1>Z4:l10:1+s10:pl5:K2:/s5:pl2:", +"1+s2:pJ3:N4:l13:s2:p1l5:+s14:pl5:s6:p1s8:pK2:s11:pN6:1B7:J5:N8:", +"l11:i11:pJ6:N7:l6:l5:*s6:l8:l11:*s8:/s9:pl9:0=Z9:l10:0>Z10:N11:", +"l10:d10:Z12:l14:l14:*s14:pJ11:N12:N10:l15:s2:pl12:Z13:1l14:/R", +"N13:l14:1/RN9:l14:l9:+s14:pJ8:N5:0R]@r", +"@iF2,5.7,9,10,11,12,13,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C2,0:", +"s14:pl7:s0:pl14:RN1:l5:0{Z2:1K10:l2:^-1/RN2:l2:s15:pK6:l2:+s2:", +"pK2:s10:p0s11:pN3:l5:K2:}Z4:l10:K2:*s10:pl5:cRs5:pJ3:N4:N5:l5:", +"K.5:{Z6:l10:K2:*s10:pl5:cRs5:pJ5:N6:l5:1-l5:1+/s13:s14:pl13:l13:", +"*s12:pK3:s11:pN8:1B9:J7:N10:l11:K2:+s11:pJ8:N9:l13:l12:*s13:l11:", +"/s9:pl9:0=Z11:l10:l14:*s14:pl15:s2:pl14:1/RN11:l14:l9:+s14:pJ10:N7:", +"0R]@r", +"@iF3,5.7,9,11,12,13,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C3,0:", +"s14:pl7:s0:pl14:RN1:l2:s15:pK1.1:l15:*K2:+s2:p1C4,0:s14:pl5:0", +"<Z2:1s12:pl5:ns5:pN2:0s2:pl5:l14:/K2:+K4:/s13:pl5:K4:l13:*l14:", +"*-s5:pl13:K2:%Z3:l5:ns5:pN3:l15:K2:+s2:pl5:s9:s14:pl5:nl5:*s16:", +"pK3:s11:pN5:1B6:J4:N7:l11:K2:+s11:pJ5:N6:l9:l16:l11:l11:1-*/*", +"s9:pl9:0=Z8:l15:s2:pl12:Z9:l14:n1/RN9:l14:1/RN8:l14:l9:+s14:p", +"J7:N4:0R]@r", +"@iF5,5.7,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C5,0:s14:pl7:s0:pl14:", +"RN1:l2:s15:pl2:K1.2:*s2:pl5:1C4,0:K2:*+C3,0:s14:pl15:s2:pl14:", +"1/R0R]@r", +"@iF4,5.6,7,9,10,11,12,13,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:", +"C4,0:s14:pl7:s0:pl14:RN1:1s12:pl5:0<Z2:1ns12:pl5:ns5:pN2:l5:1", +"=Z3:l2:K25:{Z4:K.7853981633974483096156608:l12:/RN4:l2:K40:{Z5:", +"K.7853981633974483096156608458198757210492:l12:/RN5:l2:K60:{Z6:", +"K.785398163397448309615660845819875721049292349843776455243736", +":l12:/RN6:N3:l5:K.2:=Z7:l2:K25:{Z8:K.1973955598498807583700497", +":l12:/RN8:l2:K40:{Z9:K.1973955598498807583700497651947902934475", +":l12:/RN9:l2:K60:{Z10:K.197395559849880758370049765194790293447585103787852101517688", +":l12:/RN10:N7:l2:s15:pl5:K.2:>Z11:l15:K5:+s2:pK.2:C4,0:s6:pN11:", +"l15:K3:+s2:pN12:l5:K.2:>Z13:l10:1+s10:pl5:K.2:-1l5:K.2:*+/s5:", +"pJ12:N13:l5:s13:s14:pl5:nl5:*s16:pK3:s11:pN15:1B16:J14:N17:l11:", +"K2:+s11:pJ15:N16:l13:l16:*s13:l11:/s9:pl9:0=Z18:l15:s2:pl10:l6:", +"*l14:+l12:/RN18:l14:l9:+s14:pJ17:N14:0R]@r", +"@iF6,13,5.6,7,8,9,10,11,12,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl13:", +"l5:C6,00:s14:pl7:s0:pl14:RN1:l2:s15:p0s2:pl13:1/s13:pl13:0<Z2:", +"l13:ns13:pl13:K2:%1=Z3:1s12:pN3:N2:1s10:pK2:s11:pN5:l11:l13:{", +"B6:J4:N7:l11:i11:pJ5:N6:l10:l11:*s10:pJ7:N4:K1.5:l15:*s2:pl5:", +"l13:^K2:l13:^/l10:/s10:p1s9:s14:pl5:nl5:*K4:/s16:pK1.5:l15:*l10:", +"cL+l10:cS-s2:p1s11:pN9:1B10:J8:N11:l11:i11:pJ9:N10:l9:l16:*l11:", +"/l13:l11:+/s9:pl9:0=Z12:l15:s2:pl12:Z13:l10:nl14:*1/RN13:l10:", +"l14:*1/RN12:l14:l9:+s14:pJ11:N8:0R]@r",0} diff --git a/pkg/bc/sha256 b/pkg/bc/sha256 @@ -0,0 +1 @@ +62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a bc-1.07.1.tar.gz diff --git a/pkg/bc/src b/pkg/bc/src @@ -1 +0,0 @@ -Subproject commit 2f91e8ee0047366efca1af78c02d0e4f50097218 diff --git a/pkg/bc/url b/pkg/bc/url @@ -0,0 +1 @@ +url = "https://ftp.gnu.org/gnu/bc/bc-1.07.1.tar.gz" diff --git a/pkg/bc/ver b/pkg/bc/ver @@ -1 +1 @@ -3.1.6 r0 +1.07.1 r0 diff --git a/scripts/outdated.py b/scripts/outdated.py @@ -7,7 +7,6 @@ import urllib.request names = { 'awk': 'nawk', - 'bc': 'bc-gh', 'lpeg': 'lua:lpeg', 'sshfs': 'fusefs:sshfs', 'st': 'st-term',