From 08b78c5ae15483ff9823cbb6df901f53b629b512 Mon Sep 17 00:00:00 2001 From: agc Date: Mon, 2 Nov 1998 14:43:17 +0000 Subject: Initial import of sfio-1998, the Safe and Fast IO library from AT&T, into the NetBSD packages collection. This package includes a stdio-compatible library. --- devel/sfio/Makefile | 19 +++++++++++++++++++ devel/sfio/files/md5 | 3 +++ devel/sfio/patches/patch-aa | 22 ++++++++++++++++++++++ devel/sfio/patches/patch-ab | 20 ++++++++++++++++++++ devel/sfio/patches/patch-ac | 44 ++++++++++++++++++++++++++++++++++++++++++++ devel/sfio/pkg/COMMENT | 1 + devel/sfio/pkg/DESCR | 45 +++++++++++++++++++++++++++++++++++++++++++++ devel/sfio/pkg/PLIST | 9 +++++++++ 8 files changed, 163 insertions(+) create mode 100644 devel/sfio/Makefile create mode 100644 devel/sfio/files/md5 create mode 100644 devel/sfio/patches/patch-aa create mode 100644 devel/sfio/patches/patch-ab create mode 100644 devel/sfio/patches/patch-ac create mode 100644 devel/sfio/pkg/COMMENT create mode 100644 devel/sfio/pkg/DESCR create mode 100644 devel/sfio/pkg/PLIST (limited to 'devel/sfio') diff --git a/devel/sfio/Makefile b/devel/sfio/Makefile new file mode 100644 index 00000000000..fcd1d762ae3 --- /dev/null +++ b/devel/sfio/Makefile @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.1.1.1 1998/11/02 14:43:17 agc Exp $ +# + +DISTNAME= sfio_1998.src.unix +PKGNAME= sfio-1998 +CATEGORIES= devel +MASTER_SITES= ${MASTER_SITE_LOCAL} +EXTRACT_SUFX= .cpio + +MAINTAINER= packages@netbsd.org +HOMEPAGE= http://akpublic.research.att.com/sw/tools/sfio/ + +NO_WRKSUBDIR= yes + +do-extract: + @${MKDIR} ${WRKDIR} + cd ${WRKDIR} ; pax -r < ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} + +.include "../../mk/bsd.pkg.mk" diff --git a/devel/sfio/files/md5 b/devel/sfio/files/md5 new file mode 100644 index 00000000000..63460c5caca --- /dev/null +++ b/devel/sfio/files/md5 @@ -0,0 +1,3 @@ +$NetBSD: md5,v 1.1.1.1 1998/11/02 14:43:17 agc Exp $ + +MD5 (sfio_1998.src.unix.cpio) = 937a5bdafda8603d12b11341eebf6f49 diff --git a/devel/sfio/patches/patch-aa b/devel/sfio/patches/patch-aa new file mode 100644 index 00000000000..ce9f95e63db --- /dev/null +++ b/devel/sfio/patches/patch-aa @@ -0,0 +1,22 @@ +$NetBSD: patch-aa,v 1.1.1.1 1998/11/02 14:43:17 agc Exp $ + +--- src/lib/sfio/Makefile 1998/10/27 17:01:58 1.1 ++++ src/lib/sfio/Makefile 1998/10/27 17:03:57 +@@ -9,6 +9,8 @@ + + CCFLAGS = -O + ++BINDIR= ../../../bin ++ + SFIO= sfexit.c sfclose.c sfclrlock.c sfcvt.c sfdlen.c sfexcept.c sfextern.c \ + sffilbuf.c sfflsbuf.c sfprints.c sfgetd.c sfgetl.c sfgetr.c sfgetu.c \ + sfllen.c sfmode.c sfmove.c sfnew.c sfnputc.c sfopen.c sfpeek.c \ +@@ -41,7 +43,7 @@ + stdio $(VERSION) :LIBRARY: $(STDIO_B) + + ast_common.h : features/common +- iffe - run features/common > ast_common.h ++ ${BINDIR}/iffe - run features/common > ast_common.h + sfstdgen : sfstdio.c + $(CC) -I. $(*) -o sfstdgen + sfstdhdr.h : diff --git a/devel/sfio/patches/patch-ab b/devel/sfio/patches/patch-ab new file mode 100644 index 00000000000..7c33e6034eb --- /dev/null +++ b/devel/sfio/patches/patch-ab @@ -0,0 +1,20 @@ +$NetBSD: patch-ab,v 1.1.1.1 1998/11/02 14:43:17 agc Exp $ + +Installation commands, mainly. + +--- /dev/null Tue Oct 27 17:12:04 1998 ++++ Makefile Tue Oct 27 17:16:13 1998 +@@ -0,0 +1,13 @@ ++all: ++ cd src/lib/sfio; make ++ ++install: ++ ${INSTALL} -c -m 0644 lib/libsfio.a ${PREFIX}/lib ++ ${RANLIB} ${PREFIX}/lib/libsfio.a ++ ${INSTALL} -c -m 0644 lib/libstdio.a ${PREFIX}/lib ++ ${RANLIB} ${PREFIX}/lib/libstdio.a ++ ${INSTALL} -c -m 0644 man/man3/sfio.3 ${PREFIX}/man/man3 ++ -mkdir ${PREFIX}/include/sfio ++ for f in ast_common.h sfio.h sfio_t.h stdio.h; do \ ++ ${INSTALL} -c -m 0644 include/$$f ${PREFIX}/include/sfio; \ ++ done diff --git a/devel/sfio/patches/patch-ac b/devel/sfio/patches/patch-ac new file mode 100644 index 00000000000..82c1001cbf7 --- /dev/null +++ b/devel/sfio/patches/patch-ac @@ -0,0 +1,44 @@ +$NetBSD: patch-ac,v 1.1.1.1 1998/11/02 14:43:17 agc Exp $ + +We install the sfio header files into their own directory, to protect +any casual compilation which includes the standard include/ directory, +and so update the documentation to reflect this. + +--- man/man3/sfio.3 1998/11/02 14:29:31 1.1 ++++ man/man3/sfio.3 1998/11/02 14:29:57 +@@ -15,7 +15,7 @@ + .ta 1.0i 2.0i 3.0i 4.0i 5.0i + .nf + .ft 5 +-#include ++#include + .ft 1 + .fi + .Ss "DATA TYPES" +@@ -175,7 +175,7 @@ + .Ss "FULL STRUCTURE SFIO_T" + .nf + .ft 5 +-#include ++#include + #define SFNEW(buf,size,file,flags,disc) + .ft 1 + .fi +@@ -197,7 +197,7 @@ + .Ss "STDIO-COMPATIBILITY" + .nf + .ft 5 +-#include ++#include + cc ... -lstdio -lsfio + .ft 1 + .fi +@@ -1642,7 +1642,7 @@ + .PP + .Ss "FULL STRUCTURE SFIO_T" + .PP +-.Ss " #include " ++.Ss " #include " + Most applications based on \fISfio\fP only need to include + the header file \f5sfio.h\fP which defines an abbreviated \f5Sfio_t\fP + structure without certain fields private to \fISfio\fP. diff --git a/devel/sfio/pkg/COMMENT b/devel/sfio/pkg/COMMENT new file mode 100644 index 00000000000..f55f4951ff5 --- /dev/null +++ b/devel/sfio/pkg/COMMENT @@ -0,0 +1 @@ +Safe and Fast IO library. diff --git a/devel/sfio/pkg/DESCR b/devel/sfio/pkg/DESCR new file mode 100644 index 00000000000..f4dc40dcfa7 --- /dev/null +++ b/devel/sfio/pkg/DESCR @@ -0,0 +1,45 @@ +Sfio is a portable library for managing I/O streams. It provides +similar functionality to the ANSI C Standard I/O functions known +collectively as Stdio. However, it has a distinct interface and is +generally faster and more robust than most Stdio implementations. +Sfio also introduces a number of new features and concepts beyond +Stdio stream I/O processing: + ++ Automatic locking to avoid concurrent stream accesses, ++ I/O disciplines to pre/post-process read/write data from/to streams, ++ Stream stacking for recursive processing of nested streams, ++ Stream pooling for automatic stream synchronization when I/O + operations are performed on different streams, ++ Buffer reservation for safe access to the internal buffers of streams, ++ Robust handling of variable-sized records, and ++ Extensible printf/scanf-like formatting I/O operations. + +For backward compatibility, Sfio provides two Stdio emulation +packages. An application with source code can include the header file +stdio.h provided by Sfio instead of the native one to translate Stdio +calls to Sfio calls. An application already compiled with the native +header file stdio.h can make use of Sfio functionality by linking with +the library libstdio.a which emulates Stdio functions. In fact, it is +safe to mix and match modules that are compiled with either +Sfio-provided or native stdio.h. + +The current distribution of Sfio is Sfio1998. This version of the +library is portable to all known UNIX platforms including various +flavors of IRIX, SUNOS, Solaris, Ultrix, MVS/OpenEdition, Linux and +BSDI. The library handles 64-bit streams on platforms that support +64-bit files. The formatting family of functions (e.g., sfprintf() +and sfscanf()) have been extended so that applications can redefine +the meanings of predefined patterns as well as define new patterns. +The manual page has more details on recent changes. + +Below are papers related to Sfio: + +David G. Korn and Kiem-Phong Vo, ``Sfio: Safe/Fast String/File IO'', +Proceedings of the Summer '91 Usenix Conference, pp. 235-256, 1991. + +Glenn S. Fowler, David G. Korn and Kiem-Phong Vo, +``Feature-Based Portability'', Proceedings of the Usenix VHLL +Conference, pp. 197-207, 1994. + +Kiem-Phong Vo, ``An Architecture for Reusable Libraries'', +Proc. of the IEEE Fifth Int. Conf. on Software Reuse, 1998. diff --git a/devel/sfio/pkg/PLIST b/devel/sfio/pkg/PLIST new file mode 100644 index 00000000000..8cafdb0f630 --- /dev/null +++ b/devel/sfio/pkg/PLIST @@ -0,0 +1,9 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 1998/11/02 14:43:17 agc Exp $ +lib/libsfio.a +lib/libstdio.a +include/sfio/ast_common.h +include/sfio/sfio.h +include/sfio/sfio_t.h +include/sfio/stdio.h +man/man3/sfio.3 +@dirrm include/sfio -- cgit v1.2.3