From nobody Tue Mar 10 02:41:02 2026 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVJ670clPz6VPyv for ; Tue, 10 Mar 2026 02:41:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVJ6701tLz48lJ for ; Tue, 10 Mar 2026 02:41:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773110463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PsiAJMReK3iOqUt4z/c7chsh+WcvHC7bHwEapNfxjnY=; b=LXccy2XphylsPjMKxrg3iJpdYTpV1v5fwpTTAaQAV0Sthwa9eMhCjvSyGChii1AaHVS7vk kkA2c2OUSHqE3BeFfHnTqTvIScyJT05syf9DlEeMr7AktOe0XNeOwQ1z+r0/mtMQ0XnyV1 koIumz9eW0V+p4a1Rb4GSd6tKsk8O7w8vmc9sDOxLS5hToXpFsLBV6D2yxOYuc7Uw+8Lcq W1u4g+gkHEVIEm5T43wTHn2bQCZtJtXJkmsVBChdoWqzZe+2MKPpRb/AYg3A6Ry9Dp/yc6 vlcV03zB0nZDgTL6wOIJm8crAIv7kthr6FL4LUcz88fvACq3sCG87gDLemC3QA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773110463; a=rsa-sha256; cv=none; b=SWRwF7dMWBSTXJ7heEm+y93Z8oNCfcONPhtIifA4Ilc5GEjBhiUp56H/v7CKODbxXnaM6w O4MOHa8H/aze+6m7iKumxtDzwmnz77iXauoYpr9IeoAvhiXqhRQRpsGqujnNAQpDXyPiId +FfRbmo7zxQsBKHE2lZAPHRwRCzP24aw62lOBrHeWKiQjd06VIb4ow9j2o/y6IpXErZN1U QbD2mmHAWkP/EHkrwKppUcwl9jQ+66iY6sE6PgowXZG02zQSReFrTS5ij4fBtQat7pYPdm FRHcMax71qYK+2TrJdtTKXeuyIEAX3Yf5nOINUeqjzt4HD0zRHU1pvCOIhvLCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773110463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PsiAJMReK3iOqUt4z/c7chsh+WcvHC7bHwEapNfxjnY=; b=kpXE4qBKT+gBwD7Ra7j8W7X1nleIrJp6dEfZW/2m0pO93Uc3JrxWUBLeUXwbOvHviofWqD UeZLkxzc5RTUbuppcWvL1Bo+N1Bu4n3/eimuR/ilFA7dnFHn40gpihDQj9Bwy+h4Jp4Z8v +SkclKkbzz3LfaPWkbLicITMGSI43ySowo3SDTyXFc4yrxy1YBTEdZ4ZYQKcH/qOEMGO36 +JfaWtiTrE/RKZTmusoIZb06eprfvbFuUPOWW2R2nOKdOkoJbGAH7Xq1hXkroA/LvrA4RI zLQl0myHk69D3XUHshL20fp19I0gWRX5FdhcPDYstuIUa/lR8wXkprfnDG4i2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fVJ666hJzztTb for ; Tue, 10 Mar 2026 02:41:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33a6d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Mar 2026 02:41:02 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Wen Heping Subject: git: fee31501d1bc - main - www/py-a2wsgi: New port List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wen X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fee31501d1bc34a8af6af558dd1dee14eb510ca5 Auto-Submitted: auto-generated Date: Tue, 10 Mar 2026 02:41:02 +0000 Message-Id: <69af84be.33a6d.1a414a76@gitrepo.freebsd.org> The branch main has been updated by wen: URL: https://cgit.FreeBSD.org/ports/commit/?id=fee31501d1bc34a8af6af558dd1dee14eb510ca5 commit fee31501d1bc34a8af6af558dd1dee14eb510ca5 Author: Wen Heping AuthorDate: 2026-03-10 02:40:22 +0000 Commit: Wen Heping CommitDate: 2026-03-10 02:40:22 +0000 www/py-a2wsgi: New port Convert WSGI app to ASGI app or ASGI app to WSGI app. Pure Python. Only depend on the standard library. Compared with other converters, the advantage is that a2wsgi will not accumulate the requested content or response content in the memory, so you don't have to worry about the memory limit caused by a2wsgi. This problem exists in converters implemented by uvicorn/startlette or hypercorn. --- www/Makefile | 1 + www/py-a2wsgi/Makefile | 25 +++++++++++++++++++++++++ www/py-a2wsgi/distinfo | 3 +++ www/py-a2wsgi/pkg-descr | 9 +++++++++ 4 files changed, 38 insertions(+) diff --git a/www/Makefile b/www/Makefile index 68dd7b737528..2d7ec7626f19 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1477,6 +1477,7 @@ SUBDIR += py-Tenjin SUBDIR += py-WebError SUBDIR += py-WebFlash + SUBDIR += py-a2wsgi SUBDIR += py-adblock SUBDIR += py-advocate SUBDIR += py-aiobreaker diff --git a/www/py-a2wsgi/Makefile b/www/py-a2wsgi/Makefile new file mode 100644 index 000000000000..26089927db6f --- /dev/null +++ b/www/py-a2wsgi/Makefile @@ -0,0 +1,25 @@ +PORTNAME= a2wsgi +PORTVERSION= 1.10.10 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= wen@FreeBSD.org +COMMENT= Convert WSGI app to ASGI app or ASGI app to WSGI app +WWW= https://github.com/abersheeran/a2wsgi + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pdm-backend>=0:devel/py-pdm-backend@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}baize>=0:www/py-baize@${PY_FLAVOR} + +USES= cpe python +CPE_VENDOR= ${PORTNAME}_project +USE_PYTHON= autoplist concurrent pep517 pytest + +NO_ARCH= yes + +.include diff --git a/www/py-a2wsgi/distinfo b/www/py-a2wsgi/distinfo new file mode 100644 index 000000000000..6795dde2cb41 --- /dev/null +++ b/www/py-a2wsgi/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1773108368 +SHA256 (a2wsgi-1.10.10.tar.gz) = a5bcffb52081ba39df0d5e9a884fc6f819d92e3a42389343ba77cbf809fe1f45 +SIZE (a2wsgi-1.10.10.tar.gz) = 18799 diff --git a/www/py-a2wsgi/pkg-descr b/www/py-a2wsgi/pkg-descr new file mode 100644 index 000000000000..2e1ce1ce9dfb --- /dev/null +++ b/www/py-a2wsgi/pkg-descr @@ -0,0 +1,9 @@ +Convert WSGI app to ASGI app or ASGI app to WSGI app. + +Pure Python. Only depend on the standard library. + +Compared with other converters, the advantage is that a2wsgi +will not accumulate the requested content or response content +in the memory, so you don't have to worry about the memory +limit caused by a2wsgi. This problem exists in converters +implemented by uvicorn/startlette or hypercorn.