From kbyanc@kronos.alcnet.com  Fri Jun 23 03:35:16 2000
Return-Path: <kbyanc@kronos.alcnet.com>
Received: from tisch.mail.mindspring.net (tisch.mail.mindspring.net [207.69.200.157])
	by hub.freebsd.org (Postfix) with ESMTP id EC53B37B90C
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 23 Jun 2000 03:35:15 -0700 (PDT)
	(envelope-from kbyanc@kronos.alcnet.com)
Received: from gateway.posi.net (user-2inioa8.dialup.mindspring.com [165.121.97.72])
	by tisch.mail.mindspring.net (8.9.3/8.8.5) with ESMTP id GAA30255
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 23 Jun 2000 06:35:12 -0400 (EDT)
Received: (from kbyanc@localhost)
	by gateway.posi.net (8.9.3/8.9.3) id DAA11608;
	Fri, 23 Jun 2000 03:35:45 -0700 (PDT)
	(envelope-from kbyanc)
Message-Id: <200006231035.DAA11608@gateway.posi.net>
Date: Fri, 23 Jun 2000 03:35:45 -0700 (PDT)
From: kbyanc@posi.net
Sender: kbyanc@kronos.alcnet.com
Reply-To: kbyanc@posi.net
To: FreeBSD-gnats-submit@freebsd.org
Subject: new port: devel/py-coro
X-Send-Pr-Version: 3.2

>Number:         19466
>Category:       ports
>Synopsis:       new port: devel/py-coro
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 23 03:40:01 PDT 2000
>Closed-Date:    Fri Jul 7 06:28:20 PDT 2000
>Last-Modified:  Fri Jul 07 06:28:33 PDT 2000
>Originator:     Kelly Yancey
>Release:        FreeBSD 4.0-STABLE i386
>Organization:
>Environment:
>Description:

	Depends on PR 19463 being committed first.

	-Kelly

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	devel/py-coro
#	devel/py-coro/Makefile
#	devel/py-coro/pkg
#	devel/py-coro/pkg/COMMENT
#	devel/py-coro/pkg/DESCR
#	devel/py-coro/pkg/PLIST
#	devel/py-coro/files
#	devel/py-coro/files/md5
#	devel/py-coro/patches
#	devel/py-coro/patches/patch-aa
#
echo c - devel/py-coro
mkdir -p devel/py-coro > /dev/null 2>&1
echo x - devel/py-coro/Makefile
sed 's/^X//' >devel/py-coro/Makefile << 'END-of-devel/py-coro/Makefile'
X# Ports collection Makefile for:	py-coro
X# Date created:				06/22/2000
X# Whom:					kbyanc@posi.net
X#
X# $FreeBSD$
X#
X
XPORTNAME=		coro
XPORTVERSION=		20000424
XCATEGORIES=		devel python
XMASTER_SITES=		http://www.egroups.com/files/python-coro/egroups/
XPKGNAMEPREFIX=		py-
XDISTNAME=		egp-coro-20000424
X
XMAINTAINER=		kbyanc@posi.net
X
XLIB_DEPENDS=		coro.1:${PORTSDIR}/devel/libcoro
XBUILD_DEPENDS=		python:${PORTSDIR}/lang/python
X
XCORO_MODULES=		coroutinemodule.so sendfilemodule.so
XCORO_PACKAGE=		coro.py corodns.py coromysql.py corourl.py	\
X			coutil.py
XCORO_EXAMPLES= 		backdoor.py potato.py newpotato.py fringe.py	\
X			coro_ehttpd.py crawler.py fifo.py
XCORO_DOCS=		coro.txt
X
Xdo-install:
X	${MKDIR} ${PREFIX}/lib/python1.5/site-packages
X	@for i in ${CORO_MODULES}; do					\
X	    ${INSTALL_DATA} ${WRKSRC}/$$i				\
X		${PREFIX}/lib/python1.5/site-packages;			\
X	done
X	${MKDIR} ${PREFIX}/lib/python1.5/site-packages/coro
X	@for i in ${CORO_PACKAGE}; do					\
X	    ${INSTALL_DATA} ${WRKSRC}/$$i				\
X		${PREFIX}/lib/python1.5/site-packages/coro;		\
X	done
X	${MKDIR} ${PREFIX}/share/examples/py-coro
X	@for i in ${CORO_EXAMPLES}; do					\
X	    ${INSTALL_DATA} ${WRKSRC}/$$i				\
X		${PREFIX}/share/examples/py-coro;			\
X	done
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${PREFIX}/share/doc/py-coro
X	@for i in ${CORO_DOCS}; do					\
X	    ${INSTALL_DATA} ${WRKSRC}/$$i ${PREFIX}/share/doc/py-coro;	\
X	done
X.endif
X
X.include <bsd.port.mk>
END-of-devel/py-coro/Makefile
echo c - devel/py-coro/pkg
mkdir -p devel/py-coro/pkg > /dev/null 2>&1
echo x - devel/py-coro/pkg/COMMENT
sed 's/^X//' >devel/py-coro/pkg/COMMENT << 'END-of-devel/py-coro/pkg/COMMENT'
XPython coroutine implementation
END-of-devel/py-coro/pkg/COMMENT
echo x - devel/py-coro/pkg/DESCR
sed 's/^X//' >devel/py-coro/pkg/DESCR << 'END-of-devel/py-coro/pkg/DESCR'
XFrom the README:
X
X	Coroutines can be used to implement 'cooperative multitasking' (as
X	opposed to 'preemptive multitasking').  Coroutines are very
X	lightweight (on Win32, they are called 'fibers'), and when combined
X	with an I/O-based scheduling system, they can be used to build highly
X	scalable network servers.
X
X	Coroutines give you the best of both worlds: the efficiency of
X	asynchronous state-machine programming, with the simplicity of
X	threaded programming; straight-line, readable code.  And they don't
X	have the overhead of preemptive threads - nearly everything happens in
X	user-space.  Also, complexity is lower because you don't have to worry
X	about locking access to shared state.
X
X  -Kelly
X   kbyanc@posi.net
END-of-devel/py-coro/pkg/DESCR
echo x - devel/py-coro/pkg/PLIST
sed 's/^X//' >devel/py-coro/pkg/PLIST << 'END-of-devel/py-coro/pkg/PLIST'
Xlib/python1.5/site-packages/coroutinemodule.so
Xlib/python1.5/site-packages/sendfilemodule.so
Xlib/python1.5/site-packages/coro/coro.py
Xlib/python1.5/site-packages/coro/corodns.py
Xlib/python1.5/site-packages/coro/coromysql.py
Xlib/python1.5/site-packages/coro/corourl.py
Xlib/python1.5/site-packages/coro/coutil.py
Xshare/examples/py-coro/backdoor.py
Xshare/examples/py-coro/potato.py
Xshare/examples/py-coro/newpotato.py
Xshare/examples/py-coro/fringe.py
Xshare/examples/py-coro/coro_ehttpd.py
Xshare/examples/py-coro/crawler.py
Xshare/examples/py-coro/fifo.py
Xshare/doc/py-coro/coro.txt
X@dirrm lib/python1.5/site-packages/coro
X@dirrm share/examples/py-coro
X@dirrm share/doc/py-coro
END-of-devel/py-coro/pkg/PLIST
echo c - devel/py-coro/files
mkdir -p devel/py-coro/files > /dev/null 2>&1
echo x - devel/py-coro/files/md5
sed 's/^X//' >devel/py-coro/files/md5 << 'END-of-devel/py-coro/files/md5'
XMD5 (egp-coro-20000424.tar.gz) = 92c70dcb9a20c795fc488fc6595c896d
END-of-devel/py-coro/files/md5
echo c - devel/py-coro/patches
mkdir -p devel/py-coro/patches > /dev/null 2>&1
echo x - devel/py-coro/patches/patch-aa
sed 's/^X//' >devel/py-coro/patches/patch-aa << 'END-of-devel/py-coro/patches/patch-aa'
X--- Makefile.orig	Fri Jun 23 02:01:42 2000
X+++ Makefile	Fri Jun 23 02:08:57 2000
X@@ -1,13 +1,14 @@
X+PREFIX?=	/usr/local
X MODULES=	coroutinemodule.so sendfilemodule.so
X OBJS=		coroutinemodule.o sendfilemodule.o
X-INCLUDES=	-I/usr/local/include/python1.5 -I/usr/local/include
X+INCLUDES=	-I${PREFIX}/include/python1.5 -I${PREFIX}/include
X # the location of the coro archive:
X-COROLIB=	/usr/local/lib/libcoro.a
X-OPTS=	-g -Wall -O6
X-#OPTS=	-g -Wall
X+COROLIB=	${PREFIX}/lib/libcoro.so.1
X+CFLAGS?=	-g -Wall -O6
X+#CFLAGS?=	-g -Wall
X 
X-CC=	gcc
X-LD=	ld
X+CC?=	gcc
X+LD?=	ld
X RM=	rm -f
X 
X all: ${OBJS} ${MODULES}
X@@ -16,14 +17,13 @@
X 	${RM} ${OBJS} ${MODULES}
X 
X coroutinemodule.so: coroutinemodule.o
X-	${LD} coroutinemodule.o -shared -o coroutinemodule.so \
X-	--whole-archive ${COROLIB}
X+	${LD} coroutinemodule.o -shared -o coroutinemodule.so ${COROLIB}
X 
X sendfilemodule.so: sendfilemodule.o
X 	${LD} sendfilemodule.o -shared -o sendfilemodule.so
X 
X coroutinemodule.o: coroutinemodule.c
X-	${CC} ${INCLUDES} ${OPTS} -c coroutinemodule.c
X+	${CC} ${INCLUDES} -c coroutinemodule.c
X 
X sendfilemodule.o: sendfilemodule.c
X-	${CC} ${INCLUDES} ${OPTS} -c sendfilemodule.c
X+	${CC} ${INCLUDES} -c sendfilemodule.c
END-of-devel/py-coro/patches/patch-aa
exit


>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:

From: Kelly Yancey <kbyanc@egroups.net>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: ports/19466: new port: devel/py-coro
Date: Mon, 3 Jul 2000 13:54:20 -0700 (PDT)

   Per PR 19681, this patch fixes the py-coro port originally submitting in
 this PR to use the statically-linked libcoro.a.
 
   This patch should be applied from the /usr/ports/devel directory.
 
   Kelly
 
 diff -ruN py-coro.orig/Makefile py-coro/Makefile
 --- py-coro.orig/Makefile	Mon Jul  3 13:11:37 2000
 +++ py-coro/Makefile	Mon Jul  3 13:20:48 2000
 @@ -8,14 +8,14 @@
  PORTNAME=		coro
  PORTVERSION=		20000424
  CATEGORIES=		devel python
 -MASTER_SITES=		<A HREF="http://www.egroups.com/files/python-coro/egroups/">http://www.egroups.com/files/python-coro/egroups/</A>
 +MASTER_SITES=		http://www.egroups.com/files/python-coro/egroups/
  PKGNAMEPREFIX=		py-
  DISTNAME=		egp-coro-20000424
  
  MAINTAINER=		kbyanc@posi.net
  
 -LIB_DEPENDS=		coro.1:${PORTSDIR}/devel/libcoro
 -BUILD_DEPENDS=		python:${PORTSDIR}/lang/python
 +BUILD_DEPENDS=		python:${PORTSDIR}/lang/python			\
 +			${LOCALBASE}/lib/libcoro.a:${PORTSDIR}/devel/libcoro
  
  CORO_MODULES=		coroutinemodule.so sendfilemodule.so
  CORO_PACKAGE=		coro.py corodns.py coromysql.py corourl.py	\
 diff -ruN py-coro.orig/patches/patch-aa py-coro/patches/patch-aa
 --- py-coro.orig/patches/patch-aa	Mon Jul  3 13:11:37 2000
 +++ py-coro/patches/patch-aa	Mon Jul  3 13:26:12 2000
 @@ -1,5 +1,5 @@
 ---- Makefile.orig	Fri Jun 23 02:01:42 2000
 -+++ Makefile	Fri Jun 23 02:08:57 2000
 +--- Makefile.orig	Mon Apr 24 02:51:16 2000
 ++++ Makefile	Mon Jul  3 13:25:56 2000
  @@ -1,13 +1,14 @@
  +PREFIX?=	/usr/local
   MODULES=	coroutinemodule.so sendfilemodule.so
 @@ -10,7 +10,7 @@
  -COROLIB=	/usr/local/lib/libcoro.a
  -OPTS=	-g -Wall -O6
  -#OPTS=	-g -Wall
 -+COROLIB=	${PREFIX}/lib/libcoro.so.1
 ++COROLIB=	${PREFIX}/lib/libcoro.a
  +CFLAGS?=	-g -Wall -O6
  +#CFLAGS?=	-g -Wall
   
 @@ -21,15 +21,7 @@
   RM=	rm -f
   
   all: ${OBJS} ${MODULES}
 -@@ -16,14 +17,13 @@
 - 	${RM} ${OBJS} ${MODULES}
 - 
 - coroutinemodule.so: coroutinemodule.o
 --	${LD} coroutinemodule.o -shared -o coroutinemodule.so \
 --	--whole-archive ${COROLIB}
 -+	${LD} coroutinemodule.o -shared -o coroutinemodule.so ${COROLIB}
 - 
 - sendfilemodule.so: sendfilemodule.o
 +@@ -23,7 +24,7 @@
   	${LD} sendfilemodule.o -shared -o sendfilemodule.so
   
   coroutinemodule.o: coroutinemodule.c
 
 
State-Changed-From-To: open->closed 
State-Changed-By: sobomax 
State-Changed-When: Fri Jul 7 06:28:20 PDT 2000 
State-Changed-Why:  
Committed, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=19466 
>Unformatted:
 
