notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
Port details
py-jh2 HTTP/2 State-Machine based protocol implementation
5.0.8 www on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout Package not present on quarterly.This is expected early in the quarter (because the new packaage repo has not been built yet.). Otherwise, this missing version is most likely a FreshPorts error.
Maintainer: sunpoet@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2024-12-31 16:03:17
Last Update: 2025-03-19 03:40:51
Commit Hash: c727b8d
Also Listed In: python
License: MIT
WWW:
https://python-hyper.org/projects/h2/en/stable/
https://github.com/jawah/h2
Description:
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.
HomepageHomepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
There is no configure plist information for this port.
Dependency lines:
  • ${PYTHON_PKGNAMEPREFIX}jh2>0:www/py-jh2@${PY_FLAVOR}
To install the port:
cd /usr/ports/www/py-jh2/ && make install clean
To add the package, run one of these commands:
  • pkg install www/py-jh2
  • pkg install py311-jh2
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
NOTE: This is a Python port. Instead of py311-jh2 listed in the above command, you can pick from the names under the Packages section.
PKGNAME: py311-jh2
Package flavors (<flavor>: <package>)
  • py311: py311-jh2
distinfo:
TIMESTAMP = 1742070482 SHA256 (jh2-5.0.8.tar.gz) = ad91f57c3485d87a8edee558dafab0f08c716857d748731c0998dcefe9d3fd5f SIZE (jh2-5.0.8.tar.gz) = 7301745

Expand this list (48 items)

Collapse this list.

SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26 SIZE (rust/crates/autocfg-1.4.0.crate) = 17712 SHA256 (rust/crates/cc-1.2.16.crate) = be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c SIZE (rust/crates/cc-1.2.16.crate) = 103847 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.6.crate) = f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd SIZE (rust/crates/indoc-2.0.6.crate) = 17164 SHA256 (rust/crates/libc-0.2.170.crate) = 875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828 SIZE (rust/crates/libc-0.2.170.crate) = 760076 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.3.crate) = 945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e SIZE (rust/crates/once_cell-1.20.3.crate) = 33456 SHA256 (rust/crates/portable-atomic-1.11.0.crate) = 350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e SIZE (rust/crates/portable-atomic-1.11.0.crate) = 181258 SHA256 (rust/crates/proc-macro2-1.0.94.crate) = a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84 SIZE (rust/crates/proc-macro2-1.0.94.crate) = 52391 SHA256 (rust/crates/pyo3-0.23.5.crate) = 7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872 SIZE (rust/crates/pyo3-0.23.5.crate) = 1088533 SHA256 (rust/crates/pyo3-build-config-0.23.5.crate) = 94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb SIZE (rust/crates/pyo3-build-config-0.23.5.crate) = 33885 SHA256 (rust/crates/pyo3-ffi-0.23.5.crate) = e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d SIZE (rust/crates/pyo3-ffi-0.23.5.crate) = 74867 SHA256 (rust/crates/pyo3-macros-0.23.5.crate) = fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da SIZE (rust/crates/pyo3-macros-0.23.5.crate) = 8856 SHA256 (rust/crates/pyo3-macros-backend-0.23.5.crate) = fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028 SIZE (rust/crates/pyo3-macros-backend-0.23.5.crate) = 70938 SHA256 (rust/crates/python3-dll-a-0.2.13.crate) = 49fe4227a288cf9493942ad0220ea3f185f4d1f2a14f197f7344d6d02f4ed4ed SIZE (rust/crates/python3-dll-a-0.2.13.crate) = 85018 SHA256 (rust/crates/quote-1.0.39.crate) = c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801 SIZE (rust/crates/quote-1.0.39.crate) = 31206 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 SIZE (rust/crates/shlex-1.3.0.crate) = 18713 SHA256 (rust/crates/syn-2.0.99.crate) = e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2 SIZE (rust/crates/syn-2.0.99.crate) = 297762 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.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512 SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743 SHA256 (rust/crates/unindent-0.2.4.crate) = 7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3 SIZE (rust/crates/unindent-0.2.4.crate) = 7422

Collapse this list.


Packages (timestamps in pop-ups are UTC):
py311-jh2
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest5.0.7_15.0.7_1--5.0.8---
FreeBSD:13:quarterly5.0.55.0.5-5.0.55.0.5---
FreeBSD:14:latest5.0.75.0.8-5.0.75.0.8---
FreeBSD:14:quarterly5.0.55.0.5-5.0.55.0.5---
FreeBSD:15:latest5.0.7_15.0.8n/a-n/a---
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. py311-maturin>=1.7<2.0 : devel/py-maturin@py311
  2. rust>=1.85.0 : lang/rust
  3. python3.11 : lang/python311
  4. py311-build>=0 : devel/py-build@py311
  5. py311-installer>=0 : devel/py-installer@py311
Test dependencies:
  1. python3.11 : lang/python311
Runtime dependencies:
  1. python3.11 : lang/python311
This port is required by:
for Run
  1. net/py-urllib3-future

Configuration Options:
No options to configure
Options name:
www_py-jh2
USES:
cargo python
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (3 items)
Collapse this list.
  1. https://files.pythonhosted.org/packages/source/j/jh2/
  2. https://github.com/jawah/h2/releases/download/v5.0.8/
  3. https://pypi.org/packages/source/j/jh2/
Collapse this list.

Number of commits found: 7

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
5.0.8
19 Mar 2025 03:40:51
commit hash: c727b8d2ff5a5fda2f2af0613ac94e19f0059115commit hash: c727b8d2ff5a5fda2f2af0613ac94e19f0059115commit hash: c727b8d2ff5a5fda2f2af0613ac94e19f0059115commit hash: c727b8d2ff5a5fda2f2af0613ac94e19f0059115 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
www/py-jh2: Update to 5.0.8

Changes:	https://github.com/jawah/h2/releases
5.0.7_1
11 Mar 2025 15:53:59
commit hash: 8447b93f3694aa645f2523d987e172f43d366ac2commit hash: 8447b93f3694aa645f2523d987e172f43d366ac2commit hash: 8447b93f3694aa645f2523d987e172f43d366ac2commit hash: 8447b93f3694aa645f2523d987e172f43d366ac2 files touched by this commit
Kai Knoblich (kai) search for other commits by this committer
www/py-jh2: Fix build after 75f9a60e9790

* The 1.8.2 release of devel/py-maturin uses a updated version of the
  "pyproject-toml" crate which is stricter with regard to license
  metadata:

[...]
maturin failed
  Caused by: pyproject.toml at
/wrkdirs/usr/ports/www/py-jh2/work-py311/jh2-5.0.7/pyproject.toml is invalid
  Caused by: TOML parse error at line 9, column 17
  |
9 | license-files = { paths = ["LICENSE"] }
  |                 ^^^^^^^^^^^^^^^^^^^^^^^
[...]

Approved by:	portmgr (build fix blanket)
5.0.7_1
24 Feb 2025 07:55:52
commit hash: cf7c4b037d7e9cadfa539f3b9cd45396c1a00dfbcommit hash: cf7c4b037d7e9cadfa539f3b9cd45396c1a00dfbcommit hash: cf7c4b037d7e9cadfa539f3b9cd45396c1a00dfbcommit hash: cf7c4b037d7e9cadfa539f3b9cd45396c1a00dfb files touched by this commit
Mikael Urankar (mikael) search for other commits by this committer
lang/rust: Bump revisions after 1.85.0

PR:		284884
5.0.7
03 Feb 2025 15:51:35
commit hash: ae501dcdaaac3ea4ad6e35b52bb166f022da6eafcommit hash: ae501dcdaaac3ea4ad6e35b52bb166f022da6eafcommit hash: ae501dcdaaac3ea4ad6e35b52bb166f022da6eafcommit hash: ae501dcdaaac3ea4ad6e35b52bb166f022da6eaf files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
www/py-jh2: Update to 5.0.7

- Add GitHub to MASTER_SITES

Changes:	https://github.com/jawah/h2/releases
5.0.5_1
20 Jan 2025 11:06:50
commit hash: fccaa1b326310b7f33556fe133b509260a90fe7fcommit hash: fccaa1b326310b7f33556fe133b509260a90fe7fcommit hash: fccaa1b326310b7f33556fe133b509260a90fe7fcommit hash: fccaa1b326310b7f33556fe133b509260a90fe7f files touched by this commit
Mikael Urankar (mikael) search for other commits by this committer
lang/rust: Bump revisions after 1.84.0

PR:		283962
5.0.5
02 Jan 2025 19:46:39
commit hash: dead4c59de17aa9ecd1852035866ceb3be4e0359commit hash: dead4c59de17aa9ecd1852035866ceb3be4e0359commit hash: dead4c59de17aa9ecd1852035866ceb3be4e0359commit hash: dead4c59de17aa9ecd1852035866ceb3be4e0359 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
www/py-jh2: Update to 5.0.5

Changes:	https://github.com/jawah/h2/releases
5.0.4
31 Dec 2024 15:38:21
commit hash: 42e11176fea137c595eacf70ee3d8bdd695c0af8commit hash: 42e11176fea137c595eacf70ee3d8bdd695c0af8commit hash: 42e11176fea137c595eacf70ee3d8bdd695c0af8commit hash: 42e11176fea137c595eacf70ee3d8bdd695c0af8 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
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.

Number of commits found: 7