Skip site navigation (1)Skip section navigation (2)
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>