mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 09:36:41 -04:00
lang/qscheme: Remove expired port
2024-04-10 lang/qscheme: Unmaintained and there are more modern alternatives
This commit is contained in:
parent
3887897fba
commit
820bb223f0
25 changed files with 1 additions and 790 deletions
1
MOVED
1
MOVED
|
@ -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
|
||||
|
|
|
@ -306,7 +306,6 @@
|
|||
SUBDIR += python38
|
||||
SUBDIR += python39
|
||||
SUBDIR += qmasm
|
||||
SUBDIR += qscheme
|
||||
SUBDIR += quickjs
|
||||
SUBDIR += quilc
|
||||
SUBDIR += racket
|
||||
|
|
|
@ -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>
|
|
@ -1,2 +0,0 @@
|
|||
SHA256 (qscheme-0.5.1.tar.gz) = 6d9f9574965af21b3c63c7b46caefcf4e06aa6fbbb02e5e5faf42f54851f1752
|
||||
SIZE (qscheme-0.5.1.tar.gz) = 523516
|
|
@ -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
|
||||
|
|
@ -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");
|
|
@ -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' },
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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));
|
||||
}
|
||||
|
|
@ -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));
|
|
@ -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);
|
||||
}
|
|
@ -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)
|
||||
|
|
@ -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;
|
|
@ -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)
|
|
@ -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")
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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 );
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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,
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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));
|
||||
}
|
||||
|
|
@ -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; \
|
|
@ -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.
|
|
@ -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
|
Loading…
Add table
Reference in a new issue