Date: Tue, 31 Dec 2024 16:00:23 GMT From: Po-Chuan Hsieh <sunpoet@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 42e11176fea1 - main - www/py-jh2: Add py-jh2 5.0.4 Message-ID: <202412311600.4BVG0NUO081401@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=42e11176fea137c595eacf70ee3d8bdd695c0af8 commit 42e11176fea137c595eacf70ee3d8bdd695c0af8 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2024-12-31 15:38:21 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2024-12-31 15:38:21 +0000 www/py-jh2: Add py-jh2 5.0.4 jh2, HTTP/2 Protocol Stack, is a fork of the well known hyper/h2 package. We want to provide a cleaner and faster HTTP/2 state machine while keeping a pure Python implementation. We decided to embed the leaf dependencies as we want a neater dependency tree and along with that a easier maintenance burden. We believe it was a mistake to ship three packages (h2, hpack, and hyperframe). Analysis shown that h2 spend a lot of time doing hpack encode and decode operations, this is why we decided to offer a complementary optimized build. The pure Python version will still be available. This repository contains a pure-Python implementation of a HTTP/2 protocol stack. It's written from the ground up to be embeddable in whatever program you choose to use, ensuring that you can speak HTTP/2 regardless of your programming paradigm. --- www/Makefile | 1 + www/py-jh2/Makefile | 24 ++++++++++++++++++++++++ www/py-jh2/Makefile.crates | 21 +++++++++++++++++++++ www/py-jh2/distinfo | 45 +++++++++++++++++++++++++++++++++++++++++++++ www/py-jh2/pkg-descr | 14 ++++++++++++++ 5 files changed, 105 insertions(+) diff --git a/www/Makefile b/www/Makefile index 5b100a096cc9..7884b15bc14d 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1769,6 +1769,7 @@ SUBDIR += py-inlinestyler SUBDIR += py-instabot SUBDIR += py-internetarchive + SUBDIR += py-jh2 SUBDIR += py-jonpy SUBDIR += py-jsonfield SUBDIR += py-kiss-headers diff --git a/www/py-jh2/Makefile b/www/py-jh2/Makefile new file mode 100644 index 000000000000..4281307920a2 --- /dev/null +++ b/www/py-jh2/Makefile @@ -0,0 +1,24 @@ +PORTNAME= jh2 +PORTVERSION= 5.0.4 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= HTTP/2 State-Machine based protocol implementation +WWW= https://python-hyper.org/projects/h2/en/stable/ \ + https://github.com/jawah/h2 + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1.2<2.0:devel/py-maturin@${PY_FLAVOR} + +USES= cargo python +USE_PYTHON= autoplist concurrent pep517 + +CARGO_BUILD= no +CARGO_INSTALL= no + +.include <bsd.port.mk> diff --git a/www/py-jh2/Makefile.crates b/www/py-jh2/Makefile.crates new file mode 100644 index 000000000000..63e9308aa1fb --- /dev/null +++ b/www/py-jh2/Makefile.crates @@ -0,0 +1,21 @@ +CARGO_CRATES= autocfg-1.4.0 \ + cfg-if-1.0.0 \ + heck-0.5.0 \ + httlib-hpack-0.1.3 \ + httlib-huffman-0.3.4 \ + indoc-2.0.5 \ + libc-0.2.161 \ + memoffset-0.9.1 \ + once_cell-1.20.2 \ + portable-atomic-1.9.0 \ + proc-macro2-1.0.89 \ + pyo3-0.22.5 \ + pyo3-build-config-0.22.5 \ + pyo3-ffi-0.22.5 \ + pyo3-macros-0.22.5 \ + pyo3-macros-backend-0.22.5 \ + quote-1.0.37 \ + syn-2.0.85 \ + target-lexicon-0.12.16 \ + unicode-ident-1.0.13 \ + unindent-0.2.3 diff --git a/www/py-jh2/distinfo b/www/py-jh2/distinfo new file mode 100644 index 000000000000..ce487cc84ae4 --- /dev/null +++ b/www/py-jh2/distinfo @@ -0,0 +1,45 @@ +TIMESTAMP = 1735227774 +SHA256 (jh2-5.0.4.tar.gz) = c8d864106e84d8878ce685af1176b4cf10b196752c7437b0faa8ece214fb2cf5 +SIZE (jh2-5.0.4.tar.gz) = 7299146 +SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26 +SIZE (rust/crates/autocfg-1.4.0.crate) = 17712 +SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea +SIZE (rust/crates/heck-0.5.0.crate) = 11517 +SHA256 (rust/crates/httlib-hpack-0.1.3.crate) = 40cf60e5e8567c6ff914a590f1452821de9377a560338a562e570a6ff052aae3 +SIZE (rust/crates/httlib-hpack-0.1.3.crate) = 6141856 +SHA256 (rust/crates/httlib-huffman-0.3.4.crate) = 1a9fcbcc408c5526c3ab80d534e5c86e7967c1fb7aa0a8c76abd1edc27deb877 +SIZE (rust/crates/httlib-huffman-0.3.4.crate) = 32157 +SHA256 (rust/crates/indoc-2.0.5.crate) = b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5 +SIZE (rust/crates/indoc-2.0.5.crate) = 14396 +SHA256 (rust/crates/libc-0.2.161.crate) = 8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1 +SIZE (rust/crates/libc-0.2.161.crate) = 765389 +SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a +SIZE (rust/crates/memoffset-0.9.1.crate) = 9032 +SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775 +SIZE (rust/crates/once_cell-1.20.2.crate) = 33394 +SHA256 (rust/crates/portable-atomic-1.9.0.crate) = cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2 +SIZE (rust/crates/portable-atomic-1.9.0.crate) = 166365 +SHA256 (rust/crates/proc-macro2-1.0.89.crate) = f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e +SIZE (rust/crates/proc-macro2-1.0.89.crate) = 49446 +SHA256 (rust/crates/pyo3-0.22.5.crate) = 3d922163ba1f79c04bc49073ba7b32fd5a8d3b76a87c955921234b8e77333c51 +SIZE (rust/crates/pyo3-0.22.5.crate) = 546700 +SHA256 (rust/crates/pyo3-build-config-0.22.5.crate) = bc38c5feeb496c8321091edf3d63e9a6829eab4b863b4a6a65f26f3e9cc6b179 +SIZE (rust/crates/pyo3-build-config-0.22.5.crate) = 31293 +SHA256 (rust/crates/pyo3-ffi-0.22.5.crate) = 94845622d88ae274d2729fcefc850e63d7a3ddff5e3ce11bd88486db9f1d357d +SIZE (rust/crates/pyo3-ffi-0.22.5.crate) = 69354 +SHA256 (rust/crates/pyo3-macros-0.22.5.crate) = e655aad15e09b94ffdb3ce3d217acf652e26bbc37697ef012f5e5e348c716e5e +SIZE (rust/crates/pyo3-macros-0.22.5.crate) = 8186 +SHA256 (rust/crates/pyo3-macros-backend-0.22.5.crate) = ae1e3f09eecd94618f60a455a23def79f79eba4dc561a97324bf9ac8c6df30ce +SIZE (rust/crates/pyo3-macros-backend-0.22.5.crate) = 66308 +SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af +SIZE (rust/crates/quote-1.0.37.crate) = 28558 +SHA256 (rust/crates/syn-2.0.85.crate) = 5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56 +SIZE (rust/crates/syn-2.0.85.crate) = 275231 +SHA256 (rust/crates/target-lexicon-0.12.16.crate) = 61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1 +SIZE (rust/crates/target-lexicon-0.12.16.crate) = 26488 +SHA256 (rust/crates/unicode-ident-1.0.13.crate) = e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe +SIZE (rust/crates/unicode-ident-1.0.13.crate) = 43279 +SHA256 (rust/crates/unindent-0.2.3.crate) = c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce +SIZE (rust/crates/unindent-0.2.3.crate) = 7306 diff --git a/www/py-jh2/pkg-descr b/www/py-jh2/pkg-descr new file mode 100644 index 000000000000..dde705c4e8a8 --- /dev/null +++ b/www/py-jh2/pkg-descr @@ -0,0 +1,14 @@ +jh2, HTTP/2 Protocol Stack, is a fork of the well known hyper/h2 package. We +want to provide a cleaner and faster HTTP/2 state machine while keeping a pure +Python implementation. We decided to embed the leaf dependencies as we want a +neater dependency tree and along with that a easier maintenance burden. We +believe it was a mistake to ship three packages (h2, hpack, and hyperframe). + +Analysis shown that h2 spend a lot of time doing hpack encode and decode +operations, this is why we decided to offer a complementary optimized build. The +pure Python version will still be available. + +This repository contains a pure-Python implementation of a HTTP/2 protocol +stack. It's written from the ground up to be embeddable in whatever program you +choose to use, ensuring that you can speak HTTP/2 regardless of your programming +paradigm.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202412311600.4BVG0NUO081401>