diff options
author | Mikhail Teterin <mi@FreeBSD.org> | 2021-02-17 03:00:00 +0000 |
---|---|---|
committer | Mikhail Teterin <mi@FreeBSD.org> | 2021-02-17 03:00:00 +0000 |
commit | 91ea805744d8e128a60aa855445c1eb12c2ab1f4 (patch) | |
tree | f92294ee05f08b76963da98aef9ed4572c0cba7a /lang/siod/files/patch-parser_pratt | |
parent | 4f55fd65f06f110a5edaddf2c3e50d1c2cd8d2cd (diff) | |
download | ports-91ea805744d8e128a60aa855445c1eb12c2ab1f4.tar.gz ports-91ea805744d8e128a60aa855445c1eb12c2ab1f4.zip |
Upgrade from circa 2000 to circa 2014 code. Unfortunately, upstream
are somewhat sloppy about releases -- and do not publish versioned
files. I'm calling this one 3.6.2, because that's the last version
found in the change log.
The new build uses bsd.lib.mk and bsd.prog.mk -- in order to:
a) build shared libraries cleanly;
b) stand a chance of working on the hardware platforms,
where the author never tried it.
The large patches provide for warning-free compiles with WARNS=7 --
tested on FreeBSD-11/amd64.
We now take care to link with libgnuregex.so -- whether from base
or provided by devel/libgnuregex instead of using the bundled
(ancient) version of Henry Spencer's library.
Similarly, the port links with the base -lmd instead of compiling
its own MD5-implementation.
Additional new feature is options, which currently include:
. Socket support -- this used to be built unconditionally
and is still on by default. However, someone concerned
about the "network daemon" security warning may want to
to turn this off.
. Regex module -- also on by default. But, because it may,
depending on the OS version, drag in a dependency, it
can be turned off.
. NDBM -- a never-before built (not on FreeBSD) module
allowing work with NDBM databases. On by default now,
because it has no dependencies.
. GD -- the graphics library. Never built before by this
port, it remains off by default because it depends on
graphics/gd (or ukrainian/gd).
. SQL_SYBASE -- for interactions with Sybase (and MS-SQL)
database servers. Depends on databases/freetds and therefor
off by default.
There is also sql_oracle module, which is not enabled (for now),
because databases/oracle8-client is, unfortunately, i386-only.
The peculiarity of installing siod.html into ${PREFIX}/lib/siod
remains for now -- suggestions welcome.
Sponsored by: United Marsupials
Notes
Notes:
svn path=/head/; revision=565477
Diffstat (limited to 'lang/siod/files/patch-parser_pratt')
-rw-r--r-- | lang/siod/files/patch-parser_pratt | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/lang/siod/files/patch-parser_pratt b/lang/siod/files/patch-parser_pratt new file mode 100644 index 000000000000..2a58cc38c211 --- /dev/null +++ b/lang/siod/files/patch-parser_pratt @@ -0,0 +1,48 @@ +--- parser_pratt.c 2014-03-25 04:10:42.000000000 -0400 ++++ parser_pratt.c 2021-02-15 22:35:51.027451000 -0500 +@@ -27,9 +27,10 @@ + {return(err("token_overflow",NIL));} + +-LISP pratt_read_token(LISP buffer,LISP chars,LISP stream) ++static LISP pratt_read_token(LISP buffer, LISP chars, LISP stream) + {LISP c,tail; + char *tk; + long j=0,tkdim; +- tk = get_c_string_dim(buffer,&tkdim); ++ tk = get_string_data(buffer); ++ tkdim = buffer->storage_as.string.dim; + while(1) + if NULLP(c = lgetc(stream)) +@@ -39,5 +40,5 @@ + else if NEQ(sym_whitespace,tail) + break; +- if EQ(sym_string_delim,tail) ++ if EQ(sym_string_delim,tail) { + while(NNULLP(c = lgetc(stream))) + if EQ(sym_back_slash,aref1(chars,c)) +@@ -58,4 +59,5 @@ + else + err_token_overflow(); ++ } + if EQ(tail,sym_back_slash) + c = lgetc(stream); +@@ -66,5 +68,5 @@ + if NULLP(tail) + return(lreadtk(tk,j)); +- else if CONSP(tail) ++ else if CONSP(tail) { + while(1) + if NULLP(c = lgetc(stream)) +@@ -78,4 +80,5 @@ + {if NEQ(sym_whitespace,aref1(chars,c)) lungetc(c,stream); + return(lreadtk(tk,j));} ++ } + while(1) + if NULLP(c = lgetc(stream)) +@@ -96,4 +99,6 @@ + return(NIL);} + ++void init_parser_pratt(void); /* Our sole exported symbol */ ++ + void init_parser_pratt(void) + {init_subr_3("pratt_read_token",pratt_read_token); |