ports/105503: [new port] www/py-qp: A python web framework to
use qpy and durus together
Dryice Liu
dryice at dryice.name
Tue Nov 14 14:50:19 UTC 2006
The following reply was made to PR ports/105503; it has been noted by GNATS.
From: Dryice Liu <dryice at dryice.name>
To: bug-followup at FreeBSD.org,dryice at dryice.name
Cc:
Subject: Re: ports/105503: [new port] www/py-qp: A python web framework to use qpy and durus together
Date: Tue, 14 Nov 2006 22:48:52 +0800
Sorry the CATEGORIES should be "www python". Please take this shar file
instead:
======================================================================
# 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:
#
# /usr/ports/www/py-qp/
# /usr/ports/www/py-qp/distinfo
# /usr/ports/www/py-qp/Makefile
# /usr/ports/www/py-qp/pkg-descr
# /usr/ports/www/py-qp/pkg-plist
# /usr/ports/www/py-qp/files
# /usr/ports/www/py-qp/files/pkg-message.in
#
echo c - /usr/ports/www/py-qp/
mkdir -p /usr/ports/www/py-qp/ > /dev/null 2>&1
echo x - /usr/ports/www/py-qp/distinfo
sed 's/^X//' >/usr/ports/www/py-qp/distinfo << 'END-of-/usr/ports/www/py-qp/distinfo'
XMD5 (qp-1.8.tar.gz) = 6181c2335068ac5ae3801c9c30715c84
XSHA256 (qp-1.8.tar.gz) = 8b72e14d905e96442bcba4f60b36195dd404d5d1db70cf1671efb32ad25df766
XSIZE (qp-1.8.tar.gz) = 84397
END-of-/usr/ports/www/py-qp/distinfo
echo x - /usr/ports/www/py-qp/Makefile
sed 's/^X//' >/usr/ports/www/py-qp/Makefile << 'END-of-/usr/ports/www/py-qp/Makefile'
X# New ports collection makefile for: py-qp
X# Date created: 14 Nov 2006
X# Whom: Dryice Liu <dryice at dryice.name>
X#
X# $FreeBSD$
X#
X
XPORTNAME= qp
XPORTVERSION= 1.8
XCATEGORIES= www python
XMASTER_SITES= http://www.mems-exchange.org/software/qp/ \
X http://dryice.name/computer/FreeBSD/distfiles/
X
XMAINTAINER= dryice at dryice.name
XCOMMENT= A python web framework to use qpy and durus together
X
XBUILD_DEPENDS+= qpcheck.py:${PORTSDIR}/devel/py-qpy
XBUILD_DEPENDS+= durus:${PORTSDIR}/devel/py-durus
XBUILD_DEPENDS+= pythoni:${PORTSDIR}/devel/py-repl
XRUN_DEPENDS+= ${BUILD_DEPENDS}
X
XUSE_PYTHON= 2.4+
XUSE_PYDISTUTILS= yes
XSUB_FILES+= pkg-message
XSUB_LIST+= PYTHON_VERSION=${PYTHON_VERSION}
X
X.include <bsd.port.pre.mk>
X
Xpost-install:
X @ PYTHONPATH=${PREFIX}/lib/${PYTHON_VERSION}/site-packages \
X ${PYTHON_CMD} -c "import qp.fill"; \
X cd ${WRKSRC}; \
X ${PYTHON_CMD} setup.py install_demo_sites ${EXAMPLESDIR}
X
X.if !defined(NOPORTDOCS)
X @ ${MKDIR} ${DOCSDIR}
X.for docfile in CHANGES.txt LICENSE.txt README.txt
X @ ${INSTALL_DATA} ${WRKSRC}/${docfile} ${DOCSDIR}
X.endfor
X.endif
X
X @${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.post.mk>
END-of-/usr/ports/www/py-qp/Makefile
echo x - /usr/ports/www/py-qp/pkg-descr
sed 's/^X//' >/usr/ports/www/py-qp/pkg-descr << 'END-of-/usr/ports/www/py-qp/pkg-descr'
XThis is QP, a package for defining and running multiple web
Xapplications based on Durus for persistence, standard persistent
XSession and User classes, easy interactive database sessions, qpy for
Xassembling html, and Quixote2-style forms and path traversal. QP makes
Xit easier than ever to use these tools together.
X
XWWW: http://www.mems-exchange.org/software/qp/
END-of-/usr/ports/www/py-qp/pkg-descr
echo x - /usr/ports/www/py-qp/pkg-plist
sed 's/^X//' >/usr/ports/www/py-qp/pkg-plist << 'END-of-/usr/ports/www/py-qp/pkg-plist'
Xbin/qp
Xbin/qpcensus.py
X%%PYTHON_SITELIBDIR%%/qp/__init__.py
X%%PYTHON_SITELIBDIR%%/qp/__init__.pyc
X%%PYTHON_SITELIBDIR%%/qp/__init__.pyo
X%%PYTHON_SITELIBDIR%%/qp/fill/__init__.py
X%%PYTHON_SITELIBDIR%%/qp/fill/__init__.pyc
X%%PYTHON_SITELIBDIR%%/qp/fill/__init__.pyo
X%%PYTHON_SITELIBDIR%%/qp/fill/css.py
X%%PYTHON_SITELIBDIR%%/qp/fill/css.pyc
X%%PYTHON_SITELIBDIR%%/qp/fill/css.pyo
X%%PYTHON_SITELIBDIR%%/qp/fill/directory.py
X%%PYTHON_SITELIBDIR%%/qp/fill/directory.pyc
X%%PYTHON_SITELIBDIR%%/qp/fill/directory.pyo
X%%PYTHON_SITELIBDIR%%/qp/fill/durus_directory.pyc
X%%PYTHON_SITELIBDIR%%/qp/fill/durus_directory.qpy
X%%PYTHON_SITELIBDIR%%/qp/fill/form.pyc
X%%PYTHON_SITELIBDIR%%/qp/fill/form.qpy
X%%PYTHON_SITELIBDIR%%/qp/fill/html.pyc
X%%PYTHON_SITELIBDIR%%/qp/fill/html.qpy
X%%PYTHON_SITELIBDIR%%/qp/fill/static.pyc
X%%PYTHON_SITELIBDIR%%/qp/fill/static.qpy
X%%PYTHON_SITELIBDIR%%/qp/fill/widget.pyc
X%%PYTHON_SITELIBDIR%%/qp/fill/widget.qpy
X%%PYTHON_SITELIBDIR%%/qp/http/__init__.py
X%%PYTHON_SITELIBDIR%%/qp/http/__init__.pyc
X%%PYTHON_SITELIBDIR%%/qp/http/__init__.pyo
X%%PYTHON_SITELIBDIR%%/qp/http/request.py
X%%PYTHON_SITELIBDIR%%/qp/http/request.pyc
X%%PYTHON_SITELIBDIR%%/qp/http/request.pyo
X%%PYTHON_SITELIBDIR%%/qp/http/response.py
X%%PYTHON_SITELIBDIR%%/qp/http/response.pyc
X%%PYTHON_SITELIBDIR%%/qp/http/response.pyo
X%%PYTHON_SITELIBDIR%%/qp/hub/__init__.py
X%%PYTHON_SITELIBDIR%%/qp/hub/__init__.pyc
X%%PYTHON_SITELIBDIR%%/qp/hub/__init__.pyo
X%%PYTHON_SITELIBDIR%%/qp/hub/dispatcher.py
X%%PYTHON_SITELIBDIR%%/qp/hub/dispatcher.pyc
X%%PYTHON_SITELIBDIR%%/qp/hub/dispatcher.pyo
X%%PYTHON_SITELIBDIR%%/qp/hub/passfd.so
X%%PYTHON_SITELIBDIR%%/qp/hub/scgi_util.py
X%%PYTHON_SITELIBDIR%%/qp/hub/scgi_util.pyc
X%%PYTHON_SITELIBDIR%%/qp/hub/scgi_util.pyo
X%%PYTHON_SITELIBDIR%%/qp/hub/test_passfd.py
X%%PYTHON_SITELIBDIR%%/qp/hub/test_passfd.pyc
X%%PYTHON_SITELIBDIR%%/qp/hub/test_passfd.pyo
X%%PYTHON_SITELIBDIR%%/qp/hub/web.py
X%%PYTHON_SITELIBDIR%%/qp/hub/web.pyc
X%%PYTHON_SITELIBDIR%%/qp/hub/web.pyo
X%%PYTHON_SITELIBDIR%%/qp/lib/__init__.py
X%%PYTHON_SITELIBDIR%%/qp/lib/__init__.pyc
X%%PYTHON_SITELIBDIR%%/qp/lib/__init__.pyo
X%%PYTHON_SITELIBDIR%%/qp/lib/delegation.py
X%%PYTHON_SITELIBDIR%%/qp/lib/delegation.pyc
X%%PYTHON_SITELIBDIR%%/qp/lib/delegation.pyo
X%%PYTHON_SITELIBDIR%%/qp/lib/keep.py
X%%PYTHON_SITELIBDIR%%/qp/lib/keep.pyc
X%%PYTHON_SITELIBDIR%%/qp/lib/keep.pyo
X%%PYTHON_SITELIBDIR%%/qp/lib/profiler.py
X%%PYTHON_SITELIBDIR%%/qp/lib/profiler.pyc
X%%PYTHON_SITELIBDIR%%/qp/lib/profiler.pyo
X%%PYTHON_SITELIBDIR%%/qp/lib/site.py
X%%PYTHON_SITELIBDIR%%/qp/lib/site.pyc
X%%PYTHON_SITELIBDIR%%/qp/lib/site.pyo
X%%PYTHON_SITELIBDIR%%/qp/lib/spec.py
X%%PYTHON_SITELIBDIR%%/qp/lib/spec.pyc
X%%PYTHON_SITELIBDIR%%/qp/lib/spec.pyo
X%%PYTHON_SITELIBDIR%%/qp/lib/util.py
X%%PYTHON_SITELIBDIR%%/qp/lib/util.pyc
X%%PYTHON_SITELIBDIR%%/qp/lib/util.pyo
X%%PYTHON_SITELIBDIR%%/qp/mail/__init__.py
X%%PYTHON_SITELIBDIR%%/qp/mail/__init__.pyc
X%%PYTHON_SITELIBDIR%%/qp/mail/__init__.pyo
X%%PYTHON_SITELIBDIR%%/qp/mail/rfc822_mailbox.py
X%%PYTHON_SITELIBDIR%%/qp/mail/rfc822_mailbox.pyc
X%%PYTHON_SITELIBDIR%%/qp/mail/rfc822_mailbox.pyo
X%%PYTHON_SITELIBDIR%%/qp/mail/send.py
X%%PYTHON_SITELIBDIR%%/qp/mail/send.pyc
X%%PYTHON_SITELIBDIR%%/qp/mail/send.pyo
X%%PYTHON_SITELIBDIR%%/qp/pub/__init__.py
X%%PYTHON_SITELIBDIR%%/qp/pub/__init__.pyc
X%%PYTHON_SITELIBDIR%%/qp/pub/__init__.pyo
X%%PYTHON_SITELIBDIR%%/qp/pub/common.py
X%%PYTHON_SITELIBDIR%%/qp/pub/common.pyc
X%%PYTHON_SITELIBDIR%%/qp/pub/common.pyo
X%%PYTHON_SITELIBDIR%%/qp/pub/hit.py
X%%PYTHON_SITELIBDIR%%/qp/pub/hit.pyc
X%%PYTHON_SITELIBDIR%%/qp/pub/hit.pyo
X%%PYTHON_SITELIBDIR%%/qp/pub/publish.py
X%%PYTHON_SITELIBDIR%%/qp/pub/publish.pyc
X%%PYTHON_SITELIBDIR%%/qp/pub/publish.pyo
X%%PYTHON_SITELIBDIR%%/qp/pub/session.py
X%%PYTHON_SITELIBDIR%%/qp/pub/session.pyc
X%%PYTHON_SITELIBDIR%%/qp/pub/session.pyo
X%%PYTHON_SITELIBDIR%%/qp/pub/user.py
X%%PYTHON_SITELIBDIR%%/qp/pub/user.pyc
X%%PYTHON_SITELIBDIR%%/qp/pub/user.pyo
X%%PYTHON_SITELIBDIR%%/qp/setup.py
X%%PYTHON_SITELIBDIR%%/qp/setup.pyc
X%%PYTHON_SITELIBDIR%%/qp/setup.pyo
X%%EXAMPLESDIR%%/__init__.py
X%%EXAMPLESDIR%%/echo/slash.qpy
X%%EXAMPLESDIR%%/echo/__init__.py
X%%EXAMPLESDIR%%/echo/var/here.txt
X%%EXAMPLESDIR%%/hello/slash.py
X%%EXAMPLESDIR%%/hello/__init__.py
X%%EXAMPLESDIR%%/hello/var/here.txt
X%%EXAMPLESDIR%%/proto/forms.qpy
X%%EXAMPLESDIR%%/proto/qwiki.qpy
X%%EXAMPLESDIR%%/proto/slash.qpy
X%%EXAMPLESDIR%%/proto/__init__.py
X%%EXAMPLESDIR%%/proto/static/all.css
X%%EXAMPLESDIR%%/proto/static/favicon.png
X%%EXAMPLESDIR%%/proto/static/proto.js
X%%EXAMPLESDIR%%/proto/var/here.txt
X at dirrm %%EXAMPLESDIR%%/echo/var
X at dirrm %%EXAMPLESDIR%%/echo
X at dirrm %%EXAMPLESDIR%%/hello/var
X at dirrm %%EXAMPLESDIR%%/hello
X at dirrm %%EXAMPLESDIR%%/proto/static
X at dirrm %%EXAMPLESDIR%%/proto/var
X at dirrm %%EXAMPLESDIR%%/proto
X at dirrm %%EXAMPLESDIR%%
X at dirrm %%PYTHON_SITELIBDIR%%/qp/pub
X at dirrm %%PYTHON_SITELIBDIR%%/qp/mail
X at dirrm %%PYTHON_SITELIBDIR%%/qp/lib
X at dirrm %%PYTHON_SITELIBDIR%%/qp/hub
X at dirrm %%PYTHON_SITELIBDIR%%/qp/http
X at dirrm %%PYTHON_SITELIBDIR%%/qp/fill
X at dirrm %%PYTHON_SITELIBDIR%%/qp
X%%PORTDOCS%%%%DOCSDIR%%/CHANGES.txt
X%%PORTDOCS%%%%DOCSDIR%%/LICENSE.txt
X%%PORTDOCS%%%%DOCSDIR%%/README.txt
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
END-of-/usr/ports/www/py-qp/pkg-plist
echo c - /usr/ports/www/py-qp/files
mkdir -p /usr/ports/www/py-qp/files > /dev/null 2>&1
echo x - /usr/ports/www/py-qp/files/pkg-message.in
sed 's/^X//' >/usr/ports/www/py-qp/files/pkg-message.in << 'END-of-/usr/ports/www/py-qp/files/pkg-message.in'
X******************************************************************
XTo run the demo:
X
X1. copy %%EXAMPLESDIR%% to ~/qp_sites
X2. link %%PREFIX%%/lib/%%PYTHON_VERSION%%/site-packages/qp/sites to
X ~/qp_sites
X3. run "qp start"
X4. point you browser to
X http://localhost:8000
X http://localhost:8001
X http://localhost:8002
X
XRead %%DOCSDIR%%/README.txt for more info.
X******************************************************************
END-of-/usr/ports/www/py-qp/files/pkg-message.in
exit
======================================================================
--
Dryice @ http://dryice.name
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/sylvester-response.html
More information about the freebsd-python
mailing list