[Bug 294570] security/py-siphash24: New Port Streaming-capable SipHash-1-3 and SipHash-2-4 Implementation

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 16 Apr 2026 06:19:35 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294570

--- Comment #1 from Alastair Hogge <agh@riseup.net> ---
Created attachment 269835
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=269835&action=edit
[PATCH] security/py-siphash24: New Port


security/py-siphash24:
* New Port required for Python pytools

Streaming-capable SipHash Implementation

This module provides a C-based implementation of SipHash with an
interface compatible with the hash functions provided by the hashlib
standard library module. SipHash-1-3 and SipHash-2-4 variants are
currently implemented. The module documentation provides a detailed
description of the API.

This module differs from other similar modules by providing a
streaming-capable implementation and an interface compatible to the hash
functions provided by the hashlib standard library module and by
providing binary wheels for all supported Python releases on the most
common platforms. More platforms can be added to the build job as
needed.

Following the hashlib interface, the return value of the digest() method
is a bytes object. SipHash values are customarily stored as 64-bit
integers. This module extends the hashlib interface with an additional
intdigest() method that returns the hash values as a 64-bit signed int
object.

This module is implemented as a thin Cython-based wrapper around a C
language SipHash implementation copied, with minimal modifications to
allow compilation with MSCV, from the c-siphash library by David
Rheinsberg and co-authors. The c-siphash library is based on the SipHash
reference implementation by Jean-Philippe Aumasson and Daniel J.
Bernstein released to the Public Domain. This module is distributed with
the same license as the c-siphash library: Apache-2.0 or
LGPL-2.1-or-later.

poudriere-testport security/py-siphash24:
15_0-amd64-release: Pass
main-amd64-default: Pass

-- 
You are receiving this mail because:
You are the assignee for the bug.