mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-16 19:50:19 +01:00
development/minimal-basic: Added (ECMA-55 Minimal BASIC compiler)
Signed-off-by: bedlam <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
86ce4f0549
commit
7f479b91f4
7 changed files with 494 additions and 0 deletions
20
development/minimal-basic/README
Normal file
20
development/minimal-basic/README
Normal file
|
@ -0,0 +1,20 @@
|
|||
minimal-basic (compiler for ECMA-55 Minimal BASIC)
|
||||
|
||||
This software is a compiler for 'Minimal BASIC' as specified by the
|
||||
ECMA-55 standard. The target is AMD64/EM64T/x86-64 machines running a
|
||||
modern Linux distribution.
|
||||
|
||||
The compiler is called ecma55, but it's normally called via wrapper
|
||||
scripts called BASICC, BASICCS, or BASICCW. Man pages are included for
|
||||
all of these commands.
|
||||
|
||||
There's sample code in /usr/share/minimal-basic, and quite a bit
|
||||
of documentation in /usr/doc/minimal-basic-$VERSION, including a
|
||||
copy of the language standard (ECMA-55.TXT) and a complete book
|
||||
(Learn_BASIC.pdf).
|
||||
|
||||
Note: This will only compile on x86_64 because it's partly written in
|
||||
x86_64 assembly. No way will it ever compile for 32-bit x86 (or any
|
||||
ARM). Even if it would build on 32-bit, it would be a cross compiler:
|
||||
it only generates x86_64 code, which would not be very useful on an
|
||||
x86 system.
|
117
development/minimal-basic/examples/BAGELS.BAS
Normal file
117
development/minimal-basic/examples/BAGELS.BAS
Normal file
|
@ -0,0 +1,117 @@
|
|||
1 RANDOMIZE
|
||||
5 PRINT TAB(33);"BAGELS"
|
||||
10 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
||||
12 PRINT TAB(10);"ECMA-55 PORT BY. B. WATSON, URCHLAY AT SLACKWARE.UK"
|
||||
14 PRINT
|
||||
16 PRINT
|
||||
20 REM *** BAGELS NUMBER GUESSING GAME
|
||||
22 REM *** ORIGINAL SOURCE UNKNOWN BUT SUSPECTED TO BE
|
||||
25 REM *** LAWRENCE HALL OF SCIENCE, U.C. BERKELEY
|
||||
29 REM A = ACTUAL ANSWER, G = USER'S GUESS
|
||||
30 DIM A(3),G(3)
|
||||
40 LET Y=0
|
||||
50 PRINT
|
||||
55 PRINT
|
||||
60 PRINT
|
||||
70 PRINT "WOULD YOU LIKE THE RULES (1=YES, 0=NO)";
|
||||
80 INPUT N
|
||||
90 IF N=0 THEN 150
|
||||
100 PRINT
|
||||
105 PRINT "I AM THINKING OF A THREE-DIGIT NUMBER. TRY TO GUESS"
|
||||
110 PRINT "MY NUMBER AND I WILL GIVE YOU CLUES AS FOLLOWS:"
|
||||
120 PRINT " PICO - ONE DIGIT CORRECT BUT IN THE WRONG POSITION"
|
||||
130 PRINT " FERMI - ONE DIGIT CORRECT AND IN THE RIGHT POSITION"
|
||||
140 PRINT " BAGELS - NO DIGITS CORRECT"
|
||||
150 FOR I=1 TO 3
|
||||
160 LET A(I)=INT(10*RND)
|
||||
165 IF I-1=0 THEN 200
|
||||
170 FOR J=1 TO I-1
|
||||
180 IF A(I)=A(J) THEN 160
|
||||
190 NEXT J
|
||||
200 NEXT I
|
||||
210 PRINT
|
||||
215 PRINT "O.K. I HAVE A NUMBER IN MIND."
|
||||
220 FOR I=1 TO 20
|
||||
230 PRINT "GUESS #";I,
|
||||
240 INPUT N
|
||||
243 IF N>=1000 THEN 247
|
||||
245 IF N<0 THEN 247
|
||||
246 GOTO 250
|
||||
247 GOSUB 630
|
||||
248 GOTO 230
|
||||
250 LET G(1)=INT(N/100)
|
||||
260 LET G(2)=INT((N-G(1)*100)/10)
|
||||
270 LET G(3)=N-(G(1)*100+G(2)*10)
|
||||
290 REM UNCOMMENT NEXT LINE FOR DEBUGGING
|
||||
300 REM GOSUB 800
|
||||
320 LET F=0
|
||||
322 IF G(1)<>G(2) THEN 330
|
||||
325 LET F=1
|
||||
330 IF G(2)<>G(3) THEN 340
|
||||
335 LET F=1
|
||||
340 IF G(3)<>G(1) THEN 345
|
||||
342 LET F=1
|
||||
345 IF F=0 THEN 350
|
||||
347 GOSUB 650
|
||||
349 GOTO 230
|
||||
350 LET C=0
|
||||
355 LET D=0
|
||||
360 FOR J=1 TO 2
|
||||
370 IF A(J)<>G(J+1) THEN 390
|
||||
380 LET C=C+1
|
||||
390 IF A(J+1)<>G(J) THEN 410
|
||||
400 LET C=C+1
|
||||
410 NEXT J
|
||||
420 IF A(1)<>G(3) THEN 440
|
||||
430 LET C=C+1
|
||||
440 IF A(3)<>G(1) THEN 460
|
||||
450 LET C=C+1
|
||||
460 FOR J=1 TO 3
|
||||
470 IF A(J)<>G(J) THEN 490
|
||||
480 LET D=D+1
|
||||
490 NEXT J
|
||||
500 IF D=3 THEN 680
|
||||
505 IF C=0 THEN 545
|
||||
520 FOR J=1 TO C
|
||||
530 PRINT "PICO ";
|
||||
540 NEXT J
|
||||
545 IF D=0 THEN 580
|
||||
550 FOR J=1 TO D
|
||||
560 PRINT "FERMI ";
|
||||
570 NEXT J
|
||||
580 IF C+D<>0 THEN 600
|
||||
590 PRINT "BAGELS";
|
||||
600 PRINT
|
||||
605 NEXT I
|
||||
610 PRINT "OH WELL."
|
||||
612 PRINT "THAT'S TWENTY GUESSES. MY NUMBER WAS";100*A(1)+10*A(2)+A(3)
|
||||
614 LET N=100*A(1)+10*A(2)+A(3)
|
||||
615 IF N>=100 THEN 620
|
||||
617 PRINT "0";
|
||||
618 IF N>=10 THEN 620
|
||||
619 PRINT "0";
|
||||
620 PRINT N
|
||||
622 GOTO 700
|
||||
630 PRINT "TRY GUESSING A THREE-DIGIT NUMBER."
|
||||
635 RETURN
|
||||
650 PRINT "OH, I FORGOT TO TELL YOU THAT THE NUMBER I HAVE IN MIND"
|
||||
660 PRINT "HAS NO TWO DIGITS THE SAME."
|
||||
670 RETURN
|
||||
680 PRINT "YOU GOT IT!!!"
|
||||
685 PRINT
|
||||
690 LET Y=Y+1
|
||||
700 PRINT "PLAY AGAIN (1=YES, 0=NO)";
|
||||
710 INPUT N
|
||||
720 IF N<>0 THEN 150
|
||||
730 IF Y=0 THEN 750
|
||||
740 PRINT
|
||||
745 PRINT "A";Y;"POINT BAGELS BUFF!!"
|
||||
750 PRINT "HOPE YOU HAD FUN. BYE."
|
||||
760 GOTO 999
|
||||
799 REM CHEAT/DEBUG MODE. UNCOMMENT LINE 300 TO ACTIVATE THIS CODE
|
||||
800 PRINT "GUESS","ANSWER"
|
||||
805 FOR X=1 TO 3
|
||||
810 PRINT G(X),A(X)
|
||||
820 NEXT X
|
||||
830 RETURN
|
||||
999 END
|
160
development/minimal-basic/examples/HAMURABI.BAS
Normal file
160
development/minimal-basic/examples/HAMURABI.BAS
Normal file
|
@ -0,0 +1,160 @@
|
|||
5 RANDOMIZE
|
||||
10 PRINT TAB(32);"HAMURABI"
|
||||
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
||||
30 PRINT
|
||||
40 PRINT TAB(11);"ECMA-55 PORT BY B. WATSON, URCHLAY AT SLACKWARE.UK"
|
||||
50 PRINT
|
||||
80 PRINT "TRY YOUR HAND AT GOVERNING ANCIENT SUMERIA"
|
||||
90 PRINT "FOR A TEN-YEAR TERM OF OFFICE."
|
||||
92 PRINT
|
||||
95 LET D1=0
|
||||
97 LET P1=0
|
||||
100 LET Z=0
|
||||
102 LET P=95
|
||||
104 LET S=2800
|
||||
106 LET H=3000
|
||||
107 LET E=H-S
|
||||
110 LET Y=3
|
||||
120 LET A=H/Y
|
||||
130 LET I=5
|
||||
140 LET Q=1
|
||||
210 LET D=0
|
||||
215 PRINT
|
||||
216 PRINT
|
||||
217 PRINT "HAMURABI: I BEG TO REPORT TO YOU,"
|
||||
218 LET Z=Z+1
|
||||
220 PRINT "IN YEAR";Z;",";D;"PEOPLE STARVED,";I;"CAME TO THE CITY,"
|
||||
225 LET P=P+I
|
||||
227 IF Q>0 THEN 230
|
||||
228 LET P=INT(P/2)
|
||||
229 PRINT "A HORRIBLE PLAGUE STRUCK! HALF THE PEOPLE DIED."
|
||||
230 PRINT "POPULATION IS NOW";P
|
||||
232 PRINT "THE CITY NOW OWNS";A;"ACRES."
|
||||
235 PRINT "YOU HARVESTED";Y;"BUSHELS PER ACRE."
|
||||
250 PRINT "THE RATS ATE";E;"BUSHELS."
|
||||
260 PRINT "YOU NOW HAVE";S;"BUSHELS IN STORE."
|
||||
261 PRINT
|
||||
270 IF Z=11 THEN 860
|
||||
310 LET C=INT(10*RND)
|
||||
311 LET Y=C+17
|
||||
312 PRINT "LAND IS TRADING AT";Y;"BUSHELS PER ACRE."
|
||||
320 PRINT "HOW MANY ACRES DO YOU WISH TO BUY";
|
||||
321 INPUT Q
|
||||
322 IF Q<0 THEN 850
|
||||
323 IF Y*Q<=S THEN 330
|
||||
324 GOSUB 710
|
||||
325 GOTO 320
|
||||
330 IF Q=0 THEN 340
|
||||
331 LET A=A+Q
|
||||
332 LET S=S-Y*Q
|
||||
333 LET C=0
|
||||
334 GOTO 400
|
||||
340 PRINT "HOW MANY ACRES DO YOU WISH TO SELL";
|
||||
341 INPUT Q
|
||||
343 IF Q<0 THEN 850
|
||||
345 IF Q<A THEN 360
|
||||
347 GOSUB 720
|
||||
350 GOTO 340
|
||||
360 LET A=A-Q
|
||||
370 LET S=S+Y*Q
|
||||
380 LET C=0
|
||||
400 PRINT
|
||||
410 PRINT "HOW MANY BUSHELS DO YOU WISH TO FEED YOUR PEOPLE";
|
||||
411 INPUT Q
|
||||
412 IF Q<0 THEN 850
|
||||
418 REM *** TRYING TO USE MORE GRAIN THAN IS IN SILOS?
|
||||
420 IF Q<=S THEN 430
|
||||
421 GOSUB 710
|
||||
422 GOTO 410
|
||||
430 LET S=S-Q
|
||||
433 LET C=1
|
||||
435 PRINT
|
||||
440 PRINT "HOW MANY ACRES DO YOU WISH TO PLANT WITH SEED";
|
||||
442 INPUT D
|
||||
443 IF D=0 THEN 511
|
||||
444 IF D<0 THEN 850
|
||||
445 REM *** TRYING TO PLANT MORE ACRES THAN YOU OWN?
|
||||
446 IF D<=A THEN 450
|
||||
447 GOSUB 720
|
||||
448 GOTO 440
|
||||
449 REM *** ENOUGH GRAIN FOR SEED?
|
||||
450 IF INT(D/2)<=S THEN 455
|
||||
452 GOSUB 710
|
||||
453 GOTO 440
|
||||
454 REM *** ENOUGH PEOPLE TO TEND THE CROPS?
|
||||
455 IF D<10*P THEN 510
|
||||
460 PRINT "BUT YOU HAVE ONLY";P;"PEOPLE TO TEND THE FIELDS! NOW THEN,"
|
||||
470 GOTO 440
|
||||
510 LET S=S-INT(D/2)
|
||||
511 GOSUB 800
|
||||
512 REM *** A BOUNTIFUL HARVEST!
|
||||
515 LET Y=C
|
||||
518 LET H=D*Y
|
||||
520 LET E=0
|
||||
521 GOSUB 800
|
||||
522 IF INT(C/2)<>C/2 THEN 530
|
||||
523 REM *** RATS ARE RUNNING WILD!!
|
||||
525 LET E=INT(S/C)
|
||||
530 LET S=S-E+H
|
||||
531 GOSUB 800
|
||||
532 REM *** LET'S HAVE SOME BABIES
|
||||
533 LET I=INT(C*(20*A+S)/P/100+1)
|
||||
539 REM *** HOW MANY PEOPLE HAD FULL TUMMIES?
|
||||
540 LET C=INT(Q/20)
|
||||
541 REM *** HORROS, A 15% CHANCE OF PLAGUE
|
||||
542 LET Q=INT(10*(2*RND-.3))
|
||||
550 IF P<C THEN 210
|
||||
551 REM *** STARVE ENOUGH FOR IMPEACHMENT?
|
||||
552 LET D=P-C
|
||||
553 IF D>.45*P THEN 560
|
||||
555 LET P1=((Z-1)*P1+D*100/P)/Z
|
||||
556 LET P=C
|
||||
557 LET D1=D1+D
|
||||
558 GOTO 215
|
||||
560 PRINT
|
||||
562 PRINT "YOU STARVED";D;"PEOPLE IN ONE YEAR!!!"
|
||||
565 PRINT "DUE TO THIS EXTREME MISMANAGEMENT YOU HAVE NOT ONLY"
|
||||
566 PRINT "BEEN IMPEACHED AND THROWN OUT OF OFFICE BUT YOU HAVE"
|
||||
567 PRINT "ALSO BEEN DECLARED NATIONAL FINK!!!!"
|
||||
569 GOTO 990
|
||||
710 PRINT "HAMURABI: THINK AGAIN. YOU HAVE ONLY"
|
||||
711 PRINT S;"BUSHELS OF GRAIN. NOW THEN,"
|
||||
712 RETURN
|
||||
720 PRINT "HAMURABI: THINK AGAIN. YOU OWN ONLY";A;"ACRES. NOW THEN,"
|
||||
730 RETURN
|
||||
800 LET C=INT(RND*5)+1
|
||||
801 RETURN
|
||||
850 PRINT
|
||||
852 PRINT "HAMURABI: I CANNOT DO WHAT YOU WISH."
|
||||
855 PRINT "GET YOURSELF ANOTHER STEWARD!!!!!"
|
||||
857 GOTO 990
|
||||
860 PRINT "IN YOUR 10-YEAR TERM OF OFFICE,";P1;"PERCENT OF THE"
|
||||
862 PRINT "POPULATION STARVED PER YEAR ON THE AVERAGE, I.E. A TOTAL OF"
|
||||
865 PRINT D1;"PEOPLE DIED!!"
|
||||
867 LET L=A/P
|
||||
870 PRINT "YOU STARTED WITH 10 ACRES PER PERSON AND ENDED WITH"
|
||||
875 PRINT L;"ACRES PER PERSON."
|
||||
877 PRINT
|
||||
880 IF P1>33 THEN 565
|
||||
885 IF L<7 THEN 565
|
||||
890 IF P1>10 THEN 940
|
||||
892 IF L<9 THEN 940
|
||||
895 IF P1>3 THEN 960
|
||||
896 IF L<10 THEN 960
|
||||
900 PRINT "A FANTASTIC PERFORMANCE!!! CHARLEMANGE, DISRAELI, AND"
|
||||
905 PRINT "JEFFERSON COMBINED COULD NOT HAVE DONE BETTER!"
|
||||
910 GOTO 990
|
||||
940 PRINT "YOUR HEAVY-HANDED PERFORMANCE SMACKS OF NERO AND IVAN IV."
|
||||
945 PRINT "THE PEOPLE (REMAINING) FIND YOU AN UNPLEASANT RULER, AND,"
|
||||
950 PRINT "FRANKLY, HATE YOUR GUTS!!"
|
||||
955 GOTO 990
|
||||
960 PRINT "YOUR PERFORMANCE COULD HAVE BEEN SOMEWHAT BETTER, BUT"
|
||||
965 PRINT "REALLY WASN'T TOO BAD AT ALL. ";INT(P*.8*RND);"PEOPLE"
|
||||
970 PRINT "WOULD DEARLY LIKE TO SEE YOU ASSASSINATED BUT WE ALL HAVE"
|
||||
975 PRINT "OUR TRIVIAL PROBLEMS."
|
||||
989 REM BAS55 HAS NO CHR$() FUNCTION, NO WAY TO RING A BELL.
|
||||
990 REM 990 PRINT: FOR N=1 TO 10: PRINT CHR$(7);: NEXT N
|
||||
991 PRINT
|
||||
995 PRINT "SO LONG FOR NOW."
|
||||
997 PRINT
|
||||
999 END
|
42
development/minimal-basic/examples/PI.BAS
Normal file
42
development/minimal-basic/examples/PI.BAS
Normal file
|
@ -0,0 +1,42 @@
|
|||
1 REM PI CALCULATOR, B. WATSON, URCHLAY AT SLACKWARE.UK
|
||||
3 REM PORTED FROM PYTHON3, FROM "LEARNPYTHON" PROJECT ON GITHUB
|
||||
5 REM THE PYTHON VERSION IS MIT-LICENSED.
|
||||
10 PRINT "CALCULATE HOW MANY DIGITS OF PI";
|
||||
20 INPUT P
|
||||
25 LET P=INT(P)
|
||||
30 IF P>=1 THEN 60
|
||||
40 PRINT "PLEASE ENTER A POSITIVE NUMBER."
|
||||
50 GOTO 10
|
||||
60 IF P<20 THEN 100
|
||||
70 PRINT "WARNING: PROGRAM ONLY ACCURATE TO 20 DIGITS OR SO."
|
||||
100 LET Q=1
|
||||
110 LET R=0
|
||||
120 LET T=1
|
||||
130 LET K=1
|
||||
140 LET N=3
|
||||
150 LET L=3
|
||||
160 LET C=0
|
||||
200 IF (4*Q+R-T)>=(N*T) THEN 300
|
||||
210 PRINT N;
|
||||
215 IF C>0 THEN 220
|
||||
217 PRINT ".";
|
||||
220 LET C=C+1
|
||||
230 IF C=P THEN 500
|
||||
240 LET R1=10*(R-N*T)
|
||||
250 LET N=INT((10*(3*Q+R))/T)-10*N
|
||||
260 LET Q=Q*10
|
||||
270 LET R=R1
|
||||
280 GOTO 200
|
||||
300 LET R1=(2*Q+R)*L
|
||||
310 LET N1=INT((Q*(7*K)+2+(R*L))/(T*L))
|
||||
320 LET Q=Q*K
|
||||
330 LET T=T*L
|
||||
340 LET L=L+2
|
||||
350 LET K=K+1
|
||||
360 LET N=N1
|
||||
370 LET R=R1
|
||||
380 GOTO 200
|
||||
500 PRINT
|
||||
510 REM THE PRINT ABOVE IS NEEDED TO MAKE MINIMALBASIC FLUSH ITS
|
||||
520 REM OUTPUT BUFFER. OTHERWISE WE GET NO OUTPUT!
|
||||
9999 END
|
126
development/minimal-basic/minimal-basic.SlackBuild
Normal file
126
development/minimal-basic/minimal-basic.SlackBuild
Normal file
|
@ -0,0 +1,126 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Slackware build script for minimal-basic
|
||||
|
||||
# Written by B. Watson (urchlay@slackware.uk)
|
||||
|
||||
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||||
|
||||
# Notes:
|
||||
|
||||
# Abandon all hope, ye who attempt to build this on non-x86_64
|
||||
# platforms. The ecma55 binary gets linked with a bunch of x86_64
|
||||
# object files in a directory named AMD64 (which ought to be a clue),
|
||||
# which are built from x86_64 assembly source (not C). Nothing you do
|
||||
# (hacking up the Makefile, etc) will let you link x86_64 objects with
|
||||
# non-x86_64 ones. Seriously. Do not email me asking for help with it.
|
||||
|
||||
# Building on multilib should be possible, but I haven't tested it.
|
||||
# If you do, you can only build an x86_64 binary. See above.
|
||||
|
||||
# There's a Makefile.clang, but it won't work on Slackware 15.0's
|
||||
# clang 13.x because it's too *new*. That's a rare situation in
|
||||
# Slackware...
|
||||
|
||||
# There's also a Makefile.tcc, which actually does work with the
|
||||
# tcc in our repo (20220221_308d8d1), but I see no advantage to
|
||||
# building with tcc. And no, using tcc won't get around the "only
|
||||
# builds on x86_64" rule, either.
|
||||
|
||||
cd $(dirname $0) ; CWD=$(pwd)
|
||||
|
||||
PRGNAM=minimal-basic
|
||||
SRCNAM=MinimalBASIC
|
||||
VERSION=${VERSION:-2.40}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
PKGTYPE=${PKGTYPE:-tgz}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i586 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
*) ARCH=$( uname -m ) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
|
||||
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
if [ "$ARCH" = "x86_64" ]; then
|
||||
SLKCFLAGS="-O2 -fPIC"
|
||||
else
|
||||
cat <<EOF
|
||||
|
||||
**************************************************
|
||||
* Unsupported ARCH: $ARCH
|
||||
* MinimalBASIC only builds on x86_64, by design.
|
||||
**************************************************
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $SRCNAM-$VERSION
|
||||
tar xvf $CWD/$SRCNAM-$VERSION.tar.xz
|
||||
cd $SRCNAM-$VERSION
|
||||
chown -R root:root .
|
||||
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
|
||||
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
|
||||
|
||||
runmake() {
|
||||
make -f Makefile.gcc \
|
||||
OPT="$SLKCFLAGS" \
|
||||
PIE=1 \
|
||||
LTO=1 \
|
||||
DESTDIR=$PKG \
|
||||
BINDIR=/usr/bin \
|
||||
MANDIR=/usr/man/man1 \
|
||||
"$@"
|
||||
}
|
||||
|
||||
runmake
|
||||
strip ecma55
|
||||
runmake install
|
||||
|
||||
# Sample code, including my own ports of Hamurabi and Bagels. They
|
||||
# came from http://vintage-basic.net/games.html (and before that, from
|
||||
# the book "101 BASIC Computer Games" by David Ahl, and before Ahl
|
||||
# collected them in his book, other people wrote them, but the mists
|
||||
# of time have obscured the details).
|
||||
|
||||
# I modified them slightly to make them ECMA-55 compatible. They also
|
||||
# work in bas55, and may show up in a future release of it.
|
||||
|
||||
# PI.BAS is my own BASIC port of pi.py from https://github.com/MrBlaise/learnpython/
|
||||
|
||||
EXTRA=$PKG/usr/share/$PRGNAM/examples
|
||||
mkdir -p $EXTRA
|
||||
cp -a CSCLASSICS $PKG/usr/share/$PRGNAM
|
||||
install -m0644 -o root -g root $CWD/examples/*.BAS $EXTRA
|
||||
|
||||
# *Lots* of documentation.
|
||||
PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
|
||||
mkdir -p $PKGDOC
|
||||
cp -a COPYING ChangeLog CC0-1.0-Universal NEWS \
|
||||
README TESTING THANKS TODO GNU_FDL \
|
||||
*.pdf *.txt *.TXT *.dot BOOK/*.pdf \
|
||||
$PKGDOC
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
|
10
development/minimal-basic/minimal-basic.info
Normal file
10
development/minimal-basic/minimal-basic.info
Normal file
|
@ -0,0 +1,10 @@
|
|||
PRGNAM="minimal-basic"
|
||||
VERSION="2.40"
|
||||
HOMEPAGE="https://buraphakit.sourceforge.io/BASIC.shtml"
|
||||
DOWNLOAD="UNSUPPORTED"
|
||||
MD5SUM=""
|
||||
DOWNLOAD_x86_64="https://downloads.sourceforge.net/project/buraphakit/ECMA55%20Minimal%20BASIC/MinimalBASIC-2.40.tar.xz"
|
||||
MD5SUM_x86_64="0276e6edcc70a6c343a9adb467df845b"
|
||||
REQUIRES=""
|
||||
MAINTAINER="B. Watson"
|
||||
EMAIL="urchlay@slackware.uk"
|
19
development/minimal-basic/slack-desc
Normal file
19
development/minimal-basic/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
|||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description.
|
||||
# Line up the first '|' above the ':' following the base package name, and
|
||||
# the '|' on the right side marks the last column you can put a character in.
|
||||
# You must make exactly 11 lines for the formatting to be correct. It's also
|
||||
# customary to leave one space after the ':' except on otherwise blank lines.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
minimal-basic: minimal-basic (compiler for ECMA-55 Minimal BASIC)
|
||||
minimal-basic:
|
||||
minimal-basic: This software is a compiler for 'Minimal BASIC' as specified by the
|
||||
minimal-basic: ECMA-55 standard. The target is AMD64/EM64T/x86-64 machines running a
|
||||
minimal-basic: modern Linux distribution.
|
||||
minimal-basic:
|
||||
minimal-basic:
|
||||
minimal-basic:
|
||||
minimal-basic:
|
||||
minimal-basic:
|
||||
minimal-basic:
|
Loading…
Reference in a new issue