lang/qscheme: Remove expired port

2024-04-10 lang/qscheme: Unmaintained and there are more modern alternatives
This commit is contained in:
Rene Ladan 2024-04-10 21:11:35 +02:00
parent 3887897fba
commit 820bb223f0
25 changed files with 1 additions and 790 deletions

1
MOVED
View file

@ -3168,3 +3168,4 @@ lang/tcl85||2024-04-09|EOL
x11-toolkits/tk85||2024-04-09|EOL
audio/fasttracker2|audio/ft2-clone|2024-04-10|Renamed to match upstream
lang/ocaml-nox11|lang/ocaml|2024-04-10|X11 support removed upstream
lang/qscheme||2024-04-10|Has expired: Unmaintained and there are more modern alternatives

View file

@ -306,7 +306,6 @@
SUBDIR += python38
SUBDIR += python39
SUBDIR += qmasm
SUBDIR += qscheme
SUBDIR += quickjs
SUBDIR += quilc
SUBDIR += racket

View file

@ -1,51 +0,0 @@
PORTNAME= qscheme
PORTVERSION= 0.5.1
PORTREVISION= 10
CATEGORIES= lang scheme
MASTER_SITES= http://www.sof.ch/dan/qscheme/files/
MAINTAINER= bofh@FreeBSD.org
COMMENT= Small and fast Scheme interpreter
WWW= https://www.sof.ch/dan/qscheme/index-e.html
LICENSE= GPLv2
DEPRECATED= Unmaintained and there are more modern alternatives
EXPIRATION_DATE=2024-04-10
LIB_DEPENDS= libavcall.so:devel/libffcall \
libgmp.so:math/gmp \
libpcre.so:devel/pcre
USES= gmake localbase perl5 shebangfix
USE_PERL5= build
SHEBANG_FILES= mkoptable
GNU_CONFIGURE= yes
MAKE_ARGS= PCRE_LIB="-L${LOCALBASE}/lib -lpcre"
CFLAGS+= -fPIC
PLIST_SUB= VERSION="${PORTVERSION}"
PORTDOCS= *
OPTIONS_DEFINE= DOCS
.include <bsd.port.options.mk>
.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400079 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 ))
CFLAGS+= -Wno-error=int-conversion
.endif
post-patch:
@${REINPLACE_CMD} -e \
's|-lpthread|-pthread| ; \
/SCM_DEFAULT_LIB_PATH/s|$$datadir|$$prefix/lib|' \
${WRKSRC}/configure
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/qscheme/*/*.so
.include <bsd.port.mk>

View file

@ -1,2 +0,0 @@
SHA256 (qscheme-0.5.1.tar.gz) = 6d9f9574965af21b3c63c7b46caefcf4e06aa6fbbb02e5e5faf42f54851f1752
SIZE (qscheme-0.5.1.tar.gz) = 523516

View file

@ -1,43 +0,0 @@
--- Makefile.in.orig 2000-06-23 02:10:21.000000000 +0300
+++ Makefile.in 2009-03-03 18:30:51.000000000 +0200
@@ -111,11 +111,11 @@
EXTRA_DIST = mkoptable mkwhatis $(modsrc) $(scmsrc) CHANGES LICENCE_EXCEPTION
# other directories
-SUBDIRS = . doc sgtk
+SUBDIRS = . doc
noinst_LIBRARIES = libqs.a
-shared_dir = $(prefix)/share/qscheme/$(VERSION)
+shared_dir = $(prefix)/lib/qscheme/$(VERSION)
scmobjdir = $(shared_dir)
scmobj_DATA = $(modobj) $(scmsrc)
@@ -578,12 +578,12 @@
$(COMPILE) -o $@ -shared -fPIC -I$(incpcre) $(srcdir)/regex.c $(PCRE_LIB)
%.x:%.i
- mkoptable $< > $@
+ ./mkoptable $< > $@
-sproto.h: $(libqs_src)
- @cfunctions $(libqs_src) \
- | sed 's/^#include "c-extensions.h".*$$/#define PROTO(x) x/' > $@.new
- @if diff $@ $@.new >/dev/null ; then rm $@.new; else mv $@.new $@ ; fi
+#sproto.h: $(libqs_src)
+# @cfunctions $(libqs_src) \
+# | sed 's/^#include "c-extensions.h".*$$/#define PROTO(x) x/' > $@.new
+# @if diff $@ $@.new >/dev/null ; then rm $@.new; else mv $@.new $@ ; fi
# force sproto.h to be up to date. Otherwise compilation of
# distribution may fail, because sproto.h can trigger the cfunction
@@ -594,7 +594,7 @@
# force the x bit on the shared libraries
install-data-local:
- chmod +x $(shared_dir)/*.so
+ chmod +x $(DESTDIR)$(shared_dir)/*.so
whatis: whatis.qs

View file

@ -1,29 +0,0 @@
Fix build with clang
asm.c:1343:21: error: function definition is not allowed here
SOBJ prim(char *x) {
^
--- asm.c.orig 2017-06-24 19:10:34 UTC
+++ asm.c
@@ -1334,16 +1334,17 @@ static SOBJ scm_compile_quote(SOBJ icode, SOBJ argl, S
return(icode);
}
+static SOBJ prim(char *x) {
+ int dummy;
+ return(SCM_SYM_VALUE(lookup_atom(scm_mkatom(x),NULL,&dummy,FALSE)));
+}
+
/*-- KKK: should try to compile parial constant list */
SOBJ backquotify(SOBJ ic, SOBJ l, SOBJ env, int level)
{
static SOBJ sym_cons, sym_append, sym_list2, sym_list2vec;
if (sym_cons == NULL) {
- SOBJ prim(char *x) {
- int dummy;
- return(SCM_SYM_VALUE(lookup_atom(scm_mkatom(x),NULL,&dummy,FALSE)));
- }
sym_cons = prim("cons");
sym_list2 = prim("list2");
sym_append = prim("qq-append2");

View file

@ -1,14 +0,0 @@
--- chr.c.orig 2009-03-03 16:47:01.000000000 +0200
+++ chr.c 2009-03-03 16:47:09.000000000 +0200
@@ -15,11 +15,6 @@
#define BSLASH '\134'
-struct CHR_SYM {
- char *str;
- char chr;
-};
-
struct CHR_SYM csym[] = {
{ "null", 0 },
{ "bell", '\a' },

View file

@ -1,123 +0,0 @@
--- configure.orig Thu Jun 22 07:09:24 2000
+++ configure Mon Feb 16 22:18:46 2004
@@ -1156,47 +1156,6 @@
echo "$ac_t""no" 1>&6
fi
-
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1164: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$PERL" in
- /*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_PERL="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no"
- ;;
-esac
-fi
-PERL="$ac_cv_path_PERL"
-if test -n "$PERL"; then
- echo "$ac_t""$PERL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test "$PERL" = "no" ; then
- echo "configure: warning: Qscheme needs perl5 to rebuild sgtk interface from scratch" 1>&2
-fi
-
echo $ac_n "checking for stack growing direction""... $ac_c" 1>&6
echo "configure:1202: checking for stack growing direction" >&5
stackdir=down
@@ -1289,54 +1248,6 @@
fi
-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:1294: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-ldl $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1302 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo configure:1313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-ldl $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-{ echo "configure: error: needs libdl" 1>&2; exit 1; }
-fi
-
echo $ac_n "checking for atan in -lm""... $ac_c" 1>&6
echo "configure:1342: checking for atan in -lm" >&5
ac_lib_var=`echo m'_'atan | sed 'y%./+-%__p_%'`
@@ -2485,7 +2396,7 @@
ac_given_srcdir=$srcdir
ac_given_INSTALL="$INSTALL"
-trap 'rm -fr `echo "Makefile tst/Makefile doc/Makefile sgtk/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "Makefile doc/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
@@ -2585,7 +2496,7 @@
cat >> $CONFIG_STATUS <<EOF
-CONFIG_FILES=\${CONFIG_FILES-"Makefile tst/Makefile doc/Makefile sgtk/Makefile"}
+CONFIG_FILES=\${CONFIG_FILES-"Makefile doc/Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then

View file

@ -1,11 +0,0 @@
--- doc/Makefile.in.orig
+++ doc/Makefile.in
@@ -71,7 +71,7 @@
#
#
#
-docdir=$(DESTDIR)$(pkgdatadir)/$(VERSION)/doc
+docdir=$(DESTDIR)$(datadir)/doc/@PACKAGE@
HTMLDIR=$(srcdir)/html

View file

@ -1,27 +0,0 @@
--- file.c.orig 2009-03-03 17:38:43.000000000 +0200
+++ file.c 2009-03-03 17:40:53.000000000 +0200
@@ -7,11 +7,13 @@
#define SCM_FILE(x) (FILE *)(SCM_AUX(x))
#define SCM_FILEP(x) (SCM_OBJTYPE(x) == SOBJ_T_FILE)
+#define SCM_FILE_SET SCM_AUX_SET
SOBJ scm_file_new(FILE *fp)
{
SOBJ new = scm_newcell(SOBJ_T_FILE);
- SCM_FILE(new) = fp;
+ /*SCM_FILE(new) = fp;*/
+ SCM_FILE_SET(new, fp);
return(new);
}
@@ -77,7 +79,8 @@
int r;
if (!SCM_FILEP(x)) SCM_ERR("bad file", x);
r = fclose(SCM_FILE(x));
- SCM_FILE(x) = NULL;
+ /*SCM_FILE_SET(x) = NULL;*/
+ SCM_FILE_SET(x, NULL);
return(SCM_MKINUM(r));
}

View file

@ -1,42 +0,0 @@
--- number.i.orig 2000-06-10 01:41:00.000000000 +0300
+++ number.i 2009-03-03 17:04:01.000000000 +0200
@@ -562,7 +562,8 @@
Prim(plus1, "1+", 1)
{
if (SCM_INUMP(TOS) && (SCM_INUM(TOS) < SOBJ_INUM_MAX)) {
- (long)TOS += (1 << SOBJ_INUM_SHIFT);
+ /*(long)TOS += (1 << SOBJ_INUM_SHIFT);*/
+ TOS = (long)TOS + (long)(1 << SOBJ_INUM_SHIFT);
NEXT;
}
TOS = scm_add2(SCM_MKINUM(1), TOS);
@@ -574,7 +575,8 @@
Prim(plus2, "2+", 1)
{
if (SCM_INUMP(TOS) && (SCM_INUM(TOS) < SOBJ_INUM_MAX)) {
- (long)TOS += (2 << SOBJ_INUM_SHIFT);
+ /*(long)TOS += (2 << SOBJ_INUM_SHIFT);*/
+ TOS = (long)TOS + (long)(2 << SOBJ_INUM_SHIFT);
NEXT;
}
TOS = scm_add2(SCM_MKINUM(2), TOS);
@@ -586,7 +588,8 @@
Prim(minus1, "1-", 1)
{
if (SCM_INUMP(TOS) && (SCM_INUM(TOS) > SOBJ_INUM_MIN)) {
- (long)TOS += (-1 << SOBJ_INUM_SHIFT);
+ /*(long)TOS += (-1 << SOBJ_INUM_SHIFT);*/
+ TOS = (long)TOS + (long)(-1 << SOBJ_INUM_SHIFT);
NEXT;
}
TOS = scm_sub2(TOS, SCM_MKINUM(1));
@@ -598,7 +601,8 @@
Prim(minus2, "2-", 1)
{
if (SCM_INUMP(TOS) && (SCM_INUM(TOS) > SOBJ_INUM_MIN)) {
- (long)TOS += (-2 << SOBJ_INUM_SHIFT);
+ /*(long)TOS += (-2 << SOBJ_INUM_SHIFT);*/
+ TOS = (long)TOS + (long)(-2 << SOBJ_INUM_SHIFT);
NEXT;
}
TOS = scm_sub2(TOS, SCM_MKINUM(2));

View file

@ -1,107 +0,0 @@
--- object.c.orig 2009-03-03 17:41:46.000000000 +0200
+++ object.c 2009-03-03 17:58:19.000000000 +0200
@@ -20,8 +20,10 @@
SOBJ scm_mkobjdef(int ndefs)
{
SOBJ new = scm_newcell(SOBJ_T_OBJDEF);
- SCM_OBJDEF_AUX(new) =
- scm_must_alloc(sizeof(SCM_ObjDefAux) + ((ndefs - 1) * sizeof(SCM_ObjDef)));
+ /*SCM_OBJDEF_AUX(new) =
+ scm_must_alloc(sizeof(SCM_ObjDefAux) + ((ndefs - 1) * sizeof(SCM_ObjDef)));*/
+ SCM_OBJDEF_AUX_SET(new,
+ scm_must_alloc(sizeof(SCM_ObjDefAux) + ((ndefs - 1) * sizeof(SCM_ObjDef))));
SCM_OBJDEF_AUX(new)->ndefs = ndefs;
return(new);
@@ -43,7 +45,8 @@
{
if (SCM_OBJDEF_AUX(x)) {
scm_free(SCM_OBJDEF_AUX(x));
- SCM_OBJDEF_AUX(x) = NULL;
+ /*SCM_OBJDEF_AUX(x) = NULL;*/
+ SCM_OBJDEF_AUX_SET(x, NULL);
}
}
@@ -64,9 +67,12 @@
{
SOBJ new = scm_newcell(SOBJ_T_OBJECT);
- SCM_OBJECT_DEF(new) = def;
+ /*SCM_OBJECT_DEF(new) = def;
SCM_OBJECT_VAL(new) =
- scm_must_alloc(sizeof(SCM_ObjVal) + ((nslots - 1) * sizeof(SOBJ)));
+ scm_must_alloc(sizeof(SCM_ObjVal) + ((nslots - 1) * sizeof(SOBJ)));*/
+ SCM_OBJECT_DEF_SET(new, def);
+ SCM_OBJECT_VAL_SET(new,
+ scm_must_alloc(sizeof(SCM_ObjVal) + ((nslots - 1) * sizeof(SOBJ))));
SCM_OBJECT_VAL(new)->nslots = nslots;
return(new);
@@ -237,7 +243,8 @@
int nslots;
if (SCM_OBJECT_VAL(obj) == NULL) {
- SCM_OBJECT_VAL(obj) = scm_must_alloc(offsetof(SCM_ObjVal, slot[1]));
+ /*SCM_OBJECT_VAL(obj) = scm_must_alloc(offsetof(SCM_ObjVal, slot[1]));*/
+ SCM_OBJECT_VAL_SET(obj, scm_must_alloc(offsetof(SCM_ObjVal, slot[1])));
SCM_OBJECT_VAL(obj)->nslots = 1;
return(0);
}
@@ -246,7 +253,9 @@
memcpy(ov, SCM_OBJECT_VAL(obj), offsetof(SCM_ObjVal, slot[nslots]));
ov->nslots++;
ov->slot[nslots] = NULL;
- scm_free(SCM_OBJECT_VAL(obj)); SCM_OBJECT_VAL(obj) = ov;
+ scm_free(SCM_OBJECT_VAL(obj));
+ /*SCM_OBJECT_VAL(obj) = ov;*/
+ SCM_OBJECT_VAL_SET(obj, ov);
return(nslots);
}
@@ -284,11 +293,13 @@
int nslots, size;
SOBJ new = scm_newcell(SOBJ_T_OBJECT);
- SCM_OBJECT_DEF(new) = SCM_OBJECT_DEF(obj);
+ /*SCM_OBJECT_DEF(new) = SCM_OBJECT_DEF(obj);*/
+ SCM_OBJECT_DEF_SET(new, SCM_OBJECT_DEF(obj));
nslots = SCM_OBJECT_VAL(obj)->nslots;
size = offsetof(SCM_ObjVal, slot[nslots]);
- SCM_OBJECT_VAL(new) = scm_must_alloc(size);
+ /*SCM_OBJECT_VAL(new) = scm_must_alloc(size);*/
+ SCM_OBJECT_VAL_SET(new, scm_must_alloc(size));
memcpy(SCM_OBJECT_VAL(new), SCM_OBJECT_VAL(obj), size);
return(new);
}
@@ -377,7 +388,8 @@
/* make a new objdef with space for 2 more defs */
newdef = scm_newcell(SOBJ_T_OBJDEF);
d = objdef_append_fields(SCM_OBJDEF_AUX(olddef), 2);
- SCM_OBJDEF_AUX(newdef) = d;
+ /*SCM_OBJDEF_AUX(newdef) = d;*/
+ SCM_OBJDEF_AUX_SET(newdef, d);
/* prepare atom for the set! name */
i = strlen(SCM_ATOM_NAME(name));
@@ -414,7 +426,8 @@
if ((olddef = SCM_OBJECT_DEF(obj)) == NULL) SCM_ERR("bad objdef for object",obj);
newdef = scm_newcell(SOBJ_T_OBJDEF);
d = objdef_append_fields(SCM_OBJDEF_AUX(olddef), 1);
- SCM_OBJDEF_AUX(newdef) = d;
+ /*SCM_OBJDEF_AUX_SET(newdef) = d;*/
+ SCM_OBJDEF_AUX_SET(newdef, d);
slotnr = object_new_slot(obj); /* alloc new slot and get index */
@@ -424,7 +437,8 @@
d->def[i].type = type;
d->def[i].index= slotnr;
- SCM_OBJECT_DEF(obj) = newdef; /* adjust object def pointer */
+ /*SCM_OBJECT_DEF(obj) = newdef;*/
+ SCM_OBJECT_DEF_SET(obj, newdef); /* adjust object def pointer */
SCM_OBJECT_SLOT(obj,slotnr) = value;
return(obj);
}

View file

@ -1,16 +0,0 @@
--- object.h.orig 2009-03-03 17:43:57.000000000 +0200
+++ object.h 2009-03-03 17:54:10.000000000 +0200
@@ -51,10 +51,13 @@
#define SCM_OBJECT_VAL(x) ((SCM_ObjVal*)(SCM_CAR(x)))
#define SCM_OBJECT_DEF(x) SCM_CDR(x)
+#define SCM_OBJECT_VAL_SET(x,v) (SCM_CAR(x)=(v))
+#define SCM_OBJECT_DEF_SET(x,v) (SCM_CDR(x)=(v))
/*** Accessing objdef fields */
#define SCM_OBJDEF_AUX(x) ((SCM_ObjDefAux*)(SCM_AUX(x)))
+#define SCM_OBJDEF_AUX_SET SCM_AUX_SET
#define SCM_OBJDEF_NDEFS(x) SCM_OBJDEF_AUX(x)->ndefs
#define SCM_OBJDEF_DEF(x,i) (SCM_OBJDEF_AUX(x)->def + i)

View file

@ -1,20 +0,0 @@
--- process.c.orig 2000-06-01 22:30:18.000000000 +0300
+++ process.c 2009-03-03 17:37:30.000000000 +0200
@@ -38,6 +38,7 @@
#define SCM_PROCESS(x) ((SCM_ProcessAux*)SCM_AUX(x))
#define SCM_PROCESSP(x) (SCM_OBJTYPE(x) == SOBJ_T_PROCESS)
+#define SCM_PROCESS_SET SCM_AUX_SET
#define SCM_PROCESS_PID(x) (SCM_PROCESS(x)->pid)
#define SCM_PROCESS_PORT(x,i) (SCM_PROCESS(x)->port[i])
@@ -153,7 +154,8 @@
int i;
SOBJ new = scm_newcell(SOBJ_T_PROCESS);
- SCM_PROCESS(new) = scm_must_alloc(sizeof(SCM_ProcessAux));
+ /*SCM_PROCESS_SET(new) = scm_must_alloc(sizeof(SCM_ProcessAux));*/
+ SCM_PROCESS_SET(new, scm_must_alloc(sizeof(SCM_ProcessAux)));
SCM_PROCESS_PID(new) = 0;
for (i = 0; i < 3; i++)
SCM_PROCESS_PORT(new, i) = NULL;

View file

@ -1,40 +0,0 @@
--- s.h.orig 2000-06-16 00:15:42.000000000 +0300
+++ s.h 2009-03-03 17:35:11.000000000 +0200
@@ -203,7 +203,7 @@
#ifdef SCM_WITH_THREADS
/*** same as in Boehm's GC */
-#define SCM_SIG_SUSPEND SIGPWR
+#define SCM_SIG_SUSPEND SIGUSR1
#define SCM_SIG_RESUME SIGXCPU
#endif
@@ -539,6 +539,7 @@
#define SCM_CATCH_CONTEXT_UNWIND(x) SCM_CATCH_CONTEXT(x)->unwind
#define SCM_AUX(x) SCM_VALUE(x,aux,aux)
+#define SCM_AUX_SET(x,v) SCM_VALUE(x,aux,aux)=(v);
/*-- type predicates */
/*#define SCM_OBJTYPE(x) (SCM_INUMP(x)?SOBJ_T_INUM:(x?SCM_OBJREF(x)->type:-1)) */
@@ -656,6 +657,11 @@
SCM_ERR_THROW,
SCM_ERR_MAX };
+struct CHR_SYM {
+ char *str;
+ char chr;
+};
+
#include "sproto.h"
#define scm_sp scm_vmd()->reg.sp
@@ -668,6 +674,8 @@
#define SCM_THREAD(x) ((SCM_VMD*)(SCM_AUX(x)))
#define SCM_MUTEX(x) ((pthread_mutex_t *)SCM_AUX(x))
#define SCM_SEMAPHORE(x) ((sem_t *)SCM_AUX(x))
+#define SCM_MUTEX_SET SCM_AUX_SET
+#define SCM_SEMAPHORE_SET SCM_AUX_SET
#define SCM_THREADP(x) (SCM_OBJTYPE(x) == SOBJ_T_THREAD)
#define SCM_MUTEXP(x) (SCM_OBJTYPE(x) == SOBJ_T_MUTEX)

View file

@ -1,29 +0,0 @@
--- s.scm.orig Thu Dec 6 04:56:07 2001
+++ s.scm Thu Dec 6 04:56:26 2001
@@ -252,7 +252,26 @@
(define hset! hash-set!)
; General purpose functions
-(load "sgtk/defextern.scm")
+;(load "sgtk/defextern.scm")
+
+(define *lib* "")
+
+(define-macro (extern type name . args)
+ `(make-extfunc *lib* ,type ,(symbol->string name) (quote ,@args)))
+
+; simplified exteral declarator:
+;
+; (define-extern :RETURN-TYPE CFUNC-NAME :ARG1 :ARG2... [. :ANY])
+;
+(define (cname->scheme x)
+ (string->symbol (string-translate (symbol->string x) "_" "-")))
+
+(define-macro (define-extern t n . a)
+; (write
+ `(define ,(cname->scheme n)
+ (make-extfunc *lib* ,t ,(symbol->string n) (quote ,a))))
+; )
+
;; (load "repl.scm")

View file

@ -1,30 +0,0 @@
--- socket.c.orig 2009-03-03 18:05:10.000000000 +0200
+++ socket.c 2009-03-03 18:07:34.000000000 +0200
@@ -25,6 +25,7 @@
#define SCM_SOCKETP(x) (SCM_OBJTYPE(x) == SOBJ_T_SOCKET)
#define SCM_SOCKET(x) ((SCM_SocketAux*)SCM_AUX(x))
+#define SCM_SOCKET_SET SCM_AUX_SET
/* report system error */
static void system_error(char *msg)
@@ -39,7 +40,8 @@
{
SOBJ new;
new = scm_newcell(SOBJ_T_SOCKET);
- SCM_SOCKET(new) = scm_must_alloc(sizeof(SCM_SocketAux));
+ /*SCM_SOCKET(new) = scm_must_alloc(sizeof(SCM_SocketAux));*/
+ SCM_SOCKET_SET(new, scm_must_alloc(sizeof(SCM_SocketAux)));
memset(SCM_SOCKET(new), 0, sizeof(SCM_SocketAux));
return(new);
}
@@ -323,7 +325,8 @@
/* scm_puts("; sweeping socket "); scm_cprint(x); */
scm_socket_shutdown2(x, 1);
scm_free(SCM_SOCKET(x));
- SCM_SOCKET(x) = NULL;
+ /*SCM_SOCKET(x) = NULL;*/
+ SCM_SOCKET_SET(x, NULL);
}
}

View file

@ -1,11 +0,0 @@
--- sproto.h.orig 2000-06-23 03:10:23.000000000 +0400
+++ sproto.h 2009-04-01 20:17:48.000000000 +0400
@@ -619,7 +619,7 @@
void scm_dump_env (SOBJ e );
void scm_vmfunc_mark (SOBJ obj );
void scm_vmfunc_sweep (SOBJ obj );
-inline void scm_vm_move_stack (SOBJ *dst , SOBJ *src , int nitems );
+void scm_vm_move_stack (SOBJ *dst , SOBJ *src , int nitems );
void scm_vm (SCM_VMD *vm );
void scm_engine_init PROTO ((void));
SOBJ scm_run_engine (SOBJ *ip );

View file

@ -1,48 +0,0 @@
--- struct.c.orig 2009-03-03 17:58:54.000000000 +0200
+++ struct.c 2009-03-03 18:02:57.000000000 +0200
@@ -24,8 +24,10 @@
ptr = scm_must_alloc(size);
size |= SCM_DBLOCK_ALLOCATED;
}
- SCM_DBLOCK_ADDR(new) = ptr;
- SCM_DBLOCK_SIZE(new) = size;
+ /*SCM_DBLOCK_ADDR(new) = ptr;
+ SCM_DBLOCK_SIZE(new) = size;*/
+ SCM_DBLOCK_ADDR_SET(new, ptr);
+ SCM_DBLOCK_SIZE_SET(new, size);
return(new);
}
@@ -33,8 +35,10 @@
{
if (SCM_DBLOCK_SIZE(x) & SCM_DBLOCK_ALLOCATED) {
scm_free(SCM_DBLOCK_ADDR(x));
- SCM_DBLOCK_ADDR(x) = NULL;
- SCM_DBLOCK_SIZE(x) = 0;
+ /*SCM_DBLOCK_ADDR(x) = NULL;
+ SCM_DBLOCK_SIZE(x) = 0;*/
+ SCM_DBLOCK_ADDR_SET(x, NULL);
+ SCM_DBLOCK_SIZE_SET(x, 0);
}
}
@@ -136,7 +140,8 @@
SOBJ scm_struct_def_new(int nfields)
{
SOBJ new = scm_newcell(SOBJ_T_STRUCT_DEF);
- SCM_STRUCT_DEF(new) = scm_struct_def_alloc(nfields);
+ /*SCM_STRUCT_DEF(new) = scm_struct_def_alloc(nfields);*/
+ SCM_STRUCT_DEF_SET(new, scm_struct_def_alloc(nfields));
return(new);
}
@@ -156,7 +161,8 @@
{
if (SCM_STRUCT_DEF(x)) {
scm_free(SCM_STRUCT_DEF(x));
- SCM_STRUCT_DEF(x) = NULL;
+ /*SCM_STRUCT_DEF(x) = NULL;*/
+ SCM_STRUCT_DEF_SET(x, NULL);
}
}

View file

@ -1,19 +0,0 @@
--- struct.h.orig 2009-03-03 17:59:24.000000000 +0200
+++ struct.h 2009-03-03 18:02:41.000000000 +0200
@@ -10,6 +10,8 @@
#define SCM_DBLOCKP(x) (SCM_OBJTYPE(x) == SOBJ_T_DBLOCK)
#define SCM_DBLOCK_ADDR(x) ((void*)SCM_CAR(x))
#define SCM_DBLOCK_SIZE(x) ((long)(SCM_CDR(x)))
+#define SCM_DBLOCK_ADDR_SET(x,v) (SCM_CAR(x)=(v))
+#define SCM_DBLOCK_SIZE_SET(x,v) (SCM_CDR(x)=(v))
#define SCM_DBLOCK_ALLOCATED (1L << ((sizeof(long)*8)-1))
#define SCM_DBLOCK_SIZE_MASK ~(SCM_DBLOCK_ALLOCATED)
@@ -34,6 +36,7 @@
#define SCM_STRUCT_DEFP(x) (SCM_OBJTYPE(x) == SOBJ_T_STRUCT_DEF)
#define SCM_STRUCT_DEF(x) ((SCM_StructDefAux *)SCM_AUX(x))
+#define SCM_STRUCT_DEF_SET SCM_AUX_SET
/*** Instance of a struct:
* - car points to struct def object,

View file

@ -1,42 +0,0 @@
--- thread.c.orig 2009-03-03 17:22:45.000000000 +0200
+++ thread.c 2009-03-03 17:26:27.000000000 +0200
@@ -123,7 +123,8 @@
SOBJ scm_mutex_new()
{
SOBJ new = scm_newcell(SOBJ_T_MUTEX);
- SCM_MUTEX(new) = scm_must_alloc(sizeof(pthread_mutex_t));
+ /*SCM_MUTEX(new) = scm_must_alloc(sizeof(pthread_mutex_t));*/
+ SCM_MUTEX_SET(new, scm_must_alloc(sizeof(pthread_mutex_t)));
pthread_mutex_init(SCM_MUTEX(new), NULL);
return(new);
}
@@ -137,7 +138,8 @@
} else {
scm_free(SCM_MUTEX(x));
}
- SCM_MUTEX(x) = NULL;
+ /*SCM_MUTEX(x) = NULL;*/
+ SCM_MUTEX_SET(x, NULL);
}
}
@@ -201,7 +203,8 @@
{
int n = 0;
SOBJ new = scm_newcell(SOBJ_T_SEMAPHORE);
- SCM_SEMAPHORE(new) = scm_must_alloc(sizeof(sem_t));
+ /*SCM_SEMAPHORE_SET(new) = scm_must_alloc(sizeof(sem_t));*/
+ SCM_SEMAPHORE_SET(new, scm_must_alloc(sizeof(sem_t)));
if (nargs >= 1 && SCM_INUMP(arg[0])) {
n = SCM_INUM(n);
}
@@ -218,7 +221,8 @@
} else {
scm_free(SCM_SEMAPHORE(x));
}
- SCM_SEMAPHORE(x) = NULL;
+ /*SCM_SEMAPHORE(x) = NULL;*/
+ SCM_SEMAPHORE_SET(x, NULL);
}
}

View file

@ -1,38 +0,0 @@
--- unix.c.orig 2009-03-03 18:14:22.000000000 +0200
+++ unix.c 2009-03-03 18:17:18.000000000 +0200
@@ -283,12 +283,14 @@
#define SCM_DIRP(x) (SCM_OBJTYPE(x) == SOBJ_T_DIR)
#define SCM_DIR(x) (DIR *)SCM_AUX(x)
+#define SCM_DIR_SET SCM_AUX_SET
void scm_dir_sweep(SOBJ x)
{
if (SCM_DIR(x) != NULL) {
closedir(SCM_DIR(x));
- SCM_DIR(x) = NULL;
+ /*SCM_DIR(x) = NULL;*/
+ SCM_DIR_SET(x, NULL);
}
}
@@ -300,7 +302,8 @@
if (!SCM_STRINGP(name)) SCM_ERR("bad dir name", name);
if ((dir = opendir(SCM_STR_VALUE(name))) != NULL) {
new = scm_newcell(SOBJ_T_DIR);
- SCM_DIR(new) = dir;
+ /*SCM_DIR(new) = dir;*/
+ SCM_DIR_SET(new, dir);
return(new);
}
return(scm_false);
@@ -312,7 +315,8 @@
if (!SCM_DIRP(dir)) SCM_ERR("bad dir", dir);
if (SCM_DIR(dir) == NULL) SCM_ERR("already closed", dir);
r = closedir(SCM_DIR(dir));
- SCM_DIR(dir) = NULL;
+ /*SCM_DIR(dir) = NULL;*/
+ SCM_DIR_SET(dir, NULL);
return(SCM_MKBOOL(r == 0));
}

View file

@ -1,23 +0,0 @@
--- vm2.c.orig 2000-06-01 17:47:00.000000000 +0300
+++ vm2.c 2009-03-03 17:12:14.000000000 +0200
@@ -185,8 +185,8 @@
#define RETURN(value) { TOS=(value); NEXT; }
-#define Prim(name,str,nargs) l_##name##: /* str */
-#define PrimVarargs(name,str) l_##name##: /* str */
+#define Prim(name,str,nargs) l_##name: /* str */
+#define PrimVarargs(name,str) l_##name: /* str */
/****************************************************************
@@ -392,7 +392,8 @@
ef = (SCM_EnvFrame*)sp; \
/* alloc space on stack for an env object and fill it's frame and \
next fields */ \
- ((void*)sp) -= sizeof(Sobject); \
+ /*((void*)sp) -= sizeof(Sobject);*/ \
+ sp = ((void*)sp) - sizeof(Sobject); \
SCM_ENV_FRAME((SOBJ)sp) = ef; \
SCM_ENV_NEXT((SOBJ)sp) = nextenv; \
env = (SOBJ)sp; \

View file

@ -1,11 +0,0 @@
QScheme is a fast and small implementation of Scheme written in C.
QScheme is easy to interface and should be easy to use as an extension
language.
QScheme currently supports foreign function call and dynamic library. A
perl like regular expression module is provided as example.
QScheme is really fast: benchmarks (still a little old) shows that it is
generaly between 2 and 70 times faster than other scheme interpreters.
Documentation and GTK support has been disabled in this port.

View file

@ -1,13 +0,0 @@
bin/qscheme
lib/qscheme/%%VERSION%%/regex.so
lib/qscheme/%%VERSION%%/object.so
lib/qscheme/%%VERSION%%/process.so
lib/qscheme/%%VERSION%%/struct.so
lib/qscheme/%%VERSION%%/socket.so
lib/qscheme/%%VERSION%%/unix.so
lib/qscheme/%%VERSION%%/s.scm
lib/qscheme/%%VERSION%%/macro.scm
lib/qscheme/%%VERSION%%/loop.scm
lib/qscheme/%%VERSION%%/wloop.scm
lib/qscheme/%%VERSION%%/fib.scm
lib/qscheme/%%VERSION%%/cat.scm