Index: head/lang/siod/Makefile =================================================================== --- head/lang/siod/Makefile (revision 565527) +++ head/lang/siod/Makefile (revision 565528) @@ -1,79 +1,86 @@ # Created by: jkoshy # $FreeBSD$ PORTNAME= siod PORTVERSION= 3.6.2 CATEGORIES= lang scheme MASTER_SITES= http://people.delphiforums.com/gjc/ DISTNAME= siod DIST_SUBDIR= ${PORTNAME}-${PORTVERSION} # Upstream aren't versioned :( MAINTAINER= mi@aldan.algebra.com COMMENT= Small footprint implementation of the Scheme programming language LICENSE= LGPL21 # Declared inside slib.c USES= uidfix tar:tgz dos2unix USE_LDCONFIG= ${PREFIX}/lib ${PREFIX}/lib/siod DOS2UNIX_FILES= sql_oracle.c ss.c -OPTIONS_DEFINE= SQL_SYBASE GD NDBM REGEX SS DOCS +OPTIONS_DEFINE= SQL_SYBASE GD NDBM REGEX SS STATFS DOCS OPTIONS_DEFINE_i386=SQL_ORACLE # oracle-client port only available for i386 OPTIONS_DEFAULT=NDBM REGEX SS +SQL_ORACLE_DESC=Build Oracle client-module (i386 only) SQL_SYBASE_DESC=Build Sybase (and MS-SQL) client-module (using FreeTDS) SS_DESC= Sockets support - required for any network programs NDBM_DESC= Support for NDBM-databases +STATFS_DESC= Module giving access to statfs(2) NO_WRKSUBDIR= yes EXTRACT_AFTER_ARGS=--exclude md5\* --exclude regex.h --exclude reg????*.c MAKE_ARGS= VPATH=${WRKSRC} MODULES=${MODULES:Q} MAKEFILE= ${FILESDIR}/BSDmakefile MAKE_ENV= MKDIR=${MKDIR:Q} STAGEDIR=${STAGEDIR:Q} MAKE_ENV+= MAN1PREFIX=${MAN1PREFIX} PREFIX=${PREFIX:Q} MAKE_ENV+= INSTALL_MAN=${INSTALL_MAN:Q} INSTALL_SCRIPT=${INSTALL_SCRIPT:Q} MAKE_ENV+= INSTALL_DATA=${INSTALL_DATA:Q} -MODULES= tar parser_pratt +MODULES= statfs tar parser_pratt SQL_SYBASE_LIB_DEPENDS= libct.so:databases/freetds # Or freetds-devel GD_LIB_DEPENDS= libgd.so:graphics/gd # Or ukrainian/gd REGEX_LIB_DEPENDS= libgnuregex.so:devel/libgnuregex OPTIONS_SUB= yes SQL_ORACLE_BUILD_DEPENDS=${LOCALBASE}/oracle8-client/lib/libclntsh.a:databases/oracle8-client .if "${PREFIX}" != "/usr/local" post-patch: ${REINPLACE_CMD} 's|/usr/local|${PREFIX}|g' ${WRKSRC}/slib.c \ ${WRKSRC}/*.man .endif post-build: ${REINPLACE_CMD} -e 's|\./siod|env LD_LIBRARY_PATH=lib siod/siod|g' \ -e 's|/usr/local|${PREFIX}|g' ${WRKSRC}/makefile ${MAKE} -C ${WRKSRC} -f makefile build_driver .include MODULES+= ${SELECTED_OPTIONS:NDOCS:tl} + +# XXX This should not be necessary: +.if ${ARCH} != i386 +PLIST_SUB+= SQL_ORACLE=@comment +.endif do-configure: ${MKDIR} ${WRKSRC}/lib ${LN} -sf ${FILESDIR}/BSDmakefile.lib ${WRKSRC}/lib/BSDmakefile .for s in ${MODULES} ${MKDIR} ${WRKSRC}/$s ${SED} "s,%%MODULE%%,$s,g" ${FILESDIR}/BSDmakefile.module > \ ${WRKSRC}/$s/BSDmakefile .endfor .for s in siod sample ${MKDIR} ${WRKSRC}/$s ${SED} "s,%%PROG%%,$s,g" ${FILESDIR}/BSDmakefile.prog > \ ${WRKSRC}/$s/BSDmakefile .endfor post-install-DOCS-off: ${RM} ${STAGEDIR}${PREFIX}/lib/siod/siod.html post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${MV} ${STAGEDIR}${PREFIX}/lib/siod/siod.html ${STAGEDIR}${DOCSDIR}/ .include Index: head/lang/siod/files/patch-statfs =================================================================== --- head/lang/siod/files/patch-statfs (nonexistent) +++ head/lang/siod/files/patch-statfs (revision 565528) @@ -0,0 +1,97 @@ +--- statfs.c 2014-03-25 04:10:42.000000000 -0400 ++++ statfs.c 2021-02-17 12:25:44.681462000 -0500 +@@ -4,9 +4,15 @@ + + #include ++#ifdef HAVE_SYS_PARAM_H ++#include ++#endif + #include ++#ifndef BSD + #include ++#endif + #include + #include "siod.h" + ++#ifndef BSD + #define MNT_NUMTYPES 128 + /* +@@ -14,16 +20,28 @@ + */ + extern char *mnt_names[]; ++#endif + +-LISP lstatfs(LISP path) ++static LISP lstatfs(LISP path) + {long iflag; + struct statfs s; + iflag = no_interrupt(1); +- if (statfs(get_c_string(path),&s,sizeof(s))) ++ if (statfs(get_c_string(path), &s ++#ifndef BSD ++ ,sizeof(s) ++#endif ++ )) + return(err("statfs",llast_c_errmsg(-1))); ++ + no_interrupt(iflag); +- return(symalist("type",(((s.f_type >= 0) && (s.f_type < MNT_NUMTYPES) && ++ return(symalist("type", ++#ifdef BSD ++ s.f_fstypename[0] != '\0' ++ ? rintern(s.f_fstypename) ++#else ++ ((s.f_type >= 0) && (s.f_type < MNT_NUMTYPES) && + mnt_names[s.f_type]) + ? rintern(mnt_names[s.f_type]) +- : flocons(s.f_type)), ++#endif ++ : flocons(s.f_type), + "bsize",flocons(s.f_bsize), + "blocks",flocons(s.f_blocks), +@@ -34,8 +52,16 @@ + "mntonname",strcons(-1,s.f_mntonname), + "mntfromname",strcons(-1,s.f_mntfromname), ++#ifdef BSD ++ "syncwrites", flocons(s.f_syncwrites), ++ "asyncwrites", flocons(s.f_asyncwrites), ++ "syncreads", flocons(s.f_syncreads), ++ "asyncreads", flocons(s.f_asyncreads), ++ "namemax", flocons(s.f_namemax), ++#endif ++ /* TODO: Add decoding of f_flags */ + NULL));} + + +-static LISP decode_fstab(struct fstab *p) ++static LISP decode_fstab(const struct fstab *p) + {if (p) + return(symalist("spec",strcons(-1,p->fs_spec), +@@ -50,5 +76,5 @@ + return(NIL);} + +-LISP lgetfsent(void) ++static LISP lgetfsent(void) + {long iflag; + LISP result; +@@ -58,5 +84,5 @@ + return(result);} + +-LISP lsetfsent(void) ++static LISP lsetfsent(void) + {long iflag; + LISP result; +@@ -66,5 +92,5 @@ + return(result);} + +-LISP lendfsent(void) ++static LISP lendfsent(void) + {long iflag; + iflag = no_interrupt(1); +@@ -73,4 +99,6 @@ + return(NIL);} + ++void init_statfs(void); /* The sole symbol exported from a SIOD-module */ ++ + void init_statfs(void) + {init_subr_1("statfs",lstatfs); Property changes on: head/lang/siod/files/patch-statfs ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/siod/pkg-plist =================================================================== --- head/lang/siod/pkg-plist (revision 565527) +++ head/lang/siod/pkg-plist (revision 565528) @@ -1,59 +1,60 @@ bin/csiod bin/snapshot-dir bin/snapshot-compare bin/http-get bin/cp-build bin/ftp-cp bin/ftp-put bin/ftp-test bin/ftp-get bin/http-stress bin/proxy-server bin/siod lib/siod/fork-test.scm lib/siod/http-server.scm lib/siod/http-stress.scm lib/siod/http.scm lib/siod/maze-support.scm lib/siod/pratt.scm lib/siod/siod.scm lib/siod/smtp.scm lib/siod/sql_oracle.scm lib/siod/sql_rdb.scm lib/siod/sql_sybase.scm lib/siod/cgi-echo.scm lib/siod/find-files.scm lib/siod/hello.scm lib/siod/parser_pratt.scm lib/siod/pop3.scm lib/siod/selfdoc.scm lib/siod/sample.c %%PORTDOCS%%%%DOCSDIR%%/siod.html lib/siod/piechart.scm lib/siod/cgi.scm lib/siod/ftp.scm lib/siod/sql_msql.scm %%GD%%lib/siod/gd.so %%NDBM%%lib/siod/ndbm.so %%SS%%lib/siod/ss.so +lib/siod/statfs.so lib/siod/tar.so %%SQL_ORACLE%%lib/siod/sql_oracle.so %%SQL_SYBASE%%lib/siod/sql_sybase.so %%REGEX%%lib/siod/regex.so lib/siod/parser_pratt.so lib/libsiod.a lib/libsiod.so lib/libsiod.so.3 include/siod.h man/man1/cp-build.1.gz man/man1/csiod.1.gz man/man1/ftp-cp.1.gz man/man1/ftp-get.1.gz man/man1/ftp-put.1.gz man/man1/ftp-test.1.gz man/man1/http-get.1.gz man/man1/http-stress.1.gz man/man1/proxy-server.1.gz man/man1/siod.1.gz man/man1/snapshot-compare.1.gz man/man1/snapshot-dir.1.gz