From de4623e11894e78ed404055c5c7f5fac3ca35f49 Mon Sep 17 00:00:00 2001 From: adam Date: Sat, 24 Jun 2017 06:47:58 +0000 Subject: uvloop is a fast, drop-in replacement of the built-in asyncio event loop. uvloop and asyncio, combined with the power of async/await in Python 3.5, makes it easier than ever to write high-performance networking code in Python. uvloop makes asyncio fast. In fact, it is at least 2x faster than nodejs, gevent, as well as any other Python asynchronous framework. The performance of uvloop-based asyncio is close to that of Go programs. --- devel/Makefile | 3 +- devel/py-uvloop/DESCR | 8 ++++ devel/py-uvloop/Makefile | 29 +++++++++++++++ devel/py-uvloop/PLIST | 68 ++++++++++++++++++++++++++++++++++ devel/py-uvloop/distinfo | 7 ++++ devel/py-uvloop/patches/patch-setup.py | 15 ++++++++ 6 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 devel/py-uvloop/DESCR create mode 100644 devel/py-uvloop/Makefile create mode 100644 devel/py-uvloop/PLIST create mode 100644 devel/py-uvloop/distinfo create mode 100644 devel/py-uvloop/patches/patch-setup.py (limited to 'devel') diff --git a/devel/Makefile b/devel/Makefile index 3c8cd42d5b6..5dc8e3a492a 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2449 2017/06/23 23:20:07 markd Exp $ +# $NetBSD: Makefile,v 1.2450 2017/06/24 06:47:58 adam Exp $ # COMMENT= Development utilities @@ -2053,6 +2053,7 @@ SUBDIR+= py-unittest2py3k SUBDIR+= py-urwid SUBDIR+= py-usb SUBDIR+= py-uuid +SUBDIR+= py-uvloop SUBDIR+= py-vcversioner SUBDIR+= py-vine SUBDIR+= py-virtualenv diff --git a/devel/py-uvloop/DESCR b/devel/py-uvloop/DESCR new file mode 100644 index 00000000000..67982a9ad69 --- /dev/null +++ b/devel/py-uvloop/DESCR @@ -0,0 +1,8 @@ +uvloop is a fast, drop-in replacement of the built-in asyncio event loop. + +uvloop and asyncio, combined with the power of async/await in Python 3.5, +makes it easier than ever to write high-performance networking code in Python. + +uvloop makes asyncio fast. In fact, it is at least 2x faster than nodejs, +gevent, as well as any other Python asynchronous framework. The performance +of uvloop-based asyncio is close to that of Go programs. diff --git a/devel/py-uvloop/Makefile b/devel/py-uvloop/Makefile new file mode 100644 index 00000000000..780682c59d2 --- /dev/null +++ b/devel/py-uvloop/Makefile @@ -0,0 +1,29 @@ +# $NetBSD: Makefile,v 1.1 2017/06/24 06:47:58 adam Exp $ + +DISTNAME= uvloop-0.8.0 +PKGNAME= ${PYPKGPREFIX}-${DISTNAME} +CATEGORIES= devel +MASTER_SITES= ${MASTER_SITE_PYPI:=u/uvloop/} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://github.com/MagicStack/uvloop +COMMENT= Fast implementation of asyncio event loop on top of libuv +LICENSE= mit AND apache-2.0 + +BUILD_DEPENDS+= ${PYPKGPREFIX}-cython-[0-9]*:../../devel/py-cython +#BUILD_DEPENDS+= ${PYPKGPREFIX}-setuptools_scm-[0-9]*:../../devel/py-setuptools_scm +# TEST_DEPENDS + +PYTHON_VERSIONS_ACCEPTED= 36 35 + +USE_LANGUAGES= c + +#post-install: +# cd ${DESTDIR}${PREFIX}/bin && \ +# ${MV} py.test py.test-${PYVERSSUFFIX} && \ +# ${MV} pytest pytest-${PYVERSSUFFIX} || ${TRUE} + +.include "../../devel/libuv/buildlink3.mk" +#.include "../../lang/python/application.mk" +.include "../../lang/python/egg.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/devel/py-uvloop/PLIST b/devel/py-uvloop/PLIST new file mode 100644 index 00000000000..87e41713980 --- /dev/null +++ b/devel/py-uvloop/PLIST @@ -0,0 +1,68 @@ +@comment $NetBSD: PLIST,v 1.1 2017/06/24 06:47:58 adam Exp $ +${PYSITELIB}/${EGG_INFODIR}/PKG-INFO +${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt +${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt +${PYSITELIB}/${EGG_INFODIR}/top_level.txt +${PYSITELIB}/uvloop/__init__.py +${PYSITELIB}/uvloop/__init__.pyc +${PYSITELIB}/uvloop/__init__.pyo +${PYSITELIB}/uvloop/_noop.py +${PYSITELIB}/uvloop/_noop.pyc +${PYSITELIB}/uvloop/_noop.pyo +${PYSITELIB}/uvloop/_patch.py +${PYSITELIB}/uvloop/_patch.pyc +${PYSITELIB}/uvloop/_patch.pyo +${PYSITELIB}/uvloop/_testbase.py +${PYSITELIB}/uvloop/_testbase.pyc +${PYSITELIB}/uvloop/_testbase.pyo +${PYSITELIB}/uvloop/cbhandles.pxd +${PYSITELIB}/uvloop/cbhandles.pyx +${PYSITELIB}/uvloop/chain_futs.pyx +${PYSITELIB}/uvloop/dns.pyx +${PYSITELIB}/uvloop/errors.pyx +${PYSITELIB}/uvloop/future.pyx +${PYSITELIB}/uvloop/handles/async_.pxd +${PYSITELIB}/uvloop/handles/async_.pyx +${PYSITELIB}/uvloop/handles/basetransport.pxd +${PYSITELIB}/uvloop/handles/basetransport.pyx +${PYSITELIB}/uvloop/handles/check.pxd +${PYSITELIB}/uvloop/handles/check.pyx +${PYSITELIB}/uvloop/handles/handle.pxd +${PYSITELIB}/uvloop/handles/handle.pyx +${PYSITELIB}/uvloop/handles/idle.pxd +${PYSITELIB}/uvloop/handles/idle.pyx +${PYSITELIB}/uvloop/handles/pipe.pxd +${PYSITELIB}/uvloop/handles/pipe.pyx +${PYSITELIB}/uvloop/handles/poll.pxd +${PYSITELIB}/uvloop/handles/poll.pyx +${PYSITELIB}/uvloop/handles/process.pxd +${PYSITELIB}/uvloop/handles/process.pyx +${PYSITELIB}/uvloop/handles/stream.pxd +${PYSITELIB}/uvloop/handles/stream.pyx +${PYSITELIB}/uvloop/handles/streamserver.pxd +${PYSITELIB}/uvloop/handles/streamserver.pyx +${PYSITELIB}/uvloop/handles/tcp.pxd +${PYSITELIB}/uvloop/handles/tcp.pyx +${PYSITELIB}/uvloop/handles/timer.pxd +${PYSITELIB}/uvloop/handles/timer.pyx +${PYSITELIB}/uvloop/handles/udp.pxd +${PYSITELIB}/uvloop/handles/udp.pyx +${PYSITELIB}/uvloop/includes/__init__.py +${PYSITELIB}/uvloop/includes/__init__.pyc +${PYSITELIB}/uvloop/includes/__init__.pyo +${PYSITELIB}/uvloop/includes/compat.h +${PYSITELIB}/uvloop/includes/consts.pxi +${PYSITELIB}/uvloop/includes/debug.h +${PYSITELIB}/uvloop/includes/debug.pxd +${PYSITELIB}/uvloop/includes/python.pxd +${PYSITELIB}/uvloop/includes/stdlib.pxi +${PYSITELIB}/uvloop/includes/system.pxd +${PYSITELIB}/uvloop/includes/uv.pxd +${PYSITELIB}/uvloop/loop.c +${PYSITELIB}/uvloop/loop.pxd +${PYSITELIB}/uvloop/loop.pyx +${PYSITELIB}/uvloop/loop.so +${PYSITELIB}/uvloop/request.pxd +${PYSITELIB}/uvloop/request.pyx +${PYSITELIB}/uvloop/server.pxd +${PYSITELIB}/uvloop/server.pyx diff --git a/devel/py-uvloop/distinfo b/devel/py-uvloop/distinfo new file mode 100644 index 00000000000..cc81a971bb6 --- /dev/null +++ b/devel/py-uvloop/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1 2017/06/24 06:47:58 adam Exp $ + +SHA1 (uvloop-0.8.0.tar.gz) = 40b34525963ef411e3672f6fb6b14fda74831f5a +RMD160 (uvloop-0.8.0.tar.gz) = 029d7eec10d0fb9df7ec9dce4e4fa4ae1376fbd8 +SHA512 (uvloop-0.8.0.tar.gz) = 58fc8c7b372893a0d3ef257efb4d1c8165e05dbd0946fba54735490d543d858ae0cb9ce69b98452424d8461d74b898ea92825ddd4fc3436ecf00a4de5b95231a +Size (uvloop-0.8.0.tar.gz) = 1720356 bytes +SHA1 (patch-setup.py) = 5c554660825c3e3d0ee883b40d04453f9cc56cc5 diff --git a/devel/py-uvloop/patches/patch-setup.py b/devel/py-uvloop/patches/patch-setup.py new file mode 100644 index 00000000000..2679642c74d --- /dev/null +++ b/devel/py-uvloop/patches/patch-setup.py @@ -0,0 +1,15 @@ +$NetBSD: patch-setup.py,v 1.1 2017/06/24 06:47:59 adam Exp $ + +Use external libuv. + +--- setup.py.orig 2017-06-24 06:13:59.000000000 +0000 ++++ setup.py +@@ -81,7 +81,7 @@ class uvloop_build_ext(build_ext): + + def initialize_options(self): + super().initialize_options() +- self.use_system_libuv = False ++ self.use_system_libuv = True + self.cython_always = False + self.cython_annotate = None + self.cython_directives = None -- cgit v1.2.3